All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: u_int_sum
    functionSourceFile: /src/libpcap/pcap-usb-linux-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int
    signature: u_int u_int_sum(u_int a, u_int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - pcap_usb_header_mmapped*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: is_isochronous_transfer_completion
    functionSourceFile: /src/libpcap/pcap-usb-linux-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_isochronous_transfer_completion(const pcap_usb_header_mmapped
      *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - usb_hdr
    argTypes:
    - pcap_usb_header_mmapped*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: iso_pseudo_header_len
    functionSourceFile: /src/libpcap/pcap-usb-linux-common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t iso_pseudo_header_len(const pcap_usb_header_mmapped *usb_hdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: u_int_sum
      Src: /src/libpcap/pcap-usb-linux-common.h:109,1
    - Dst: u_int_sum
      Src: /src/libpcap/pcap-usb-linux-common.h:126,1
    - Dst: iso_pseudo_header_len
      Src: /src/libpcap/pcap-usb-linux-common.h:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - phdr
    - bp
    argTypes:
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 127
    functionName: incoming_isochronous_transfer_completed_len
    functionSourceFile: /src/libpcap/pcap-usb-linux-common.h
    functionUses: 0
    functionsReached:
    - u_int_sum
    - iso_pseudo_header_len
    linkageType: ''
    returnType: u_int
    signature: "u_int incoming_isochronous_transfer_completed_len(struct pcap_pkthdr
      *phdr,\n    const u_char *bp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: SA_LEN
    functionSourceFile: /src/libpcap/fad-gifc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SA_LEN(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: SA_LEN
    functionSourceFile: /src/libpcap/fad-gifc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SA_LEN(addr)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpcap/fad-gifc.c:151,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-gifc.c:153,1
    - Dst: snprintf
      Src: /src/libpcap/fad-gifc.c:171,1
    - Dst: close
      Src: /src/libpcap/fad-gifc.c:174,1
    - Dst: calloc
      Src: /src/libpcap/fad-gifc.c:177,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-gifc.c:179,1
    - Dst: close
      Src: /src/libpcap/fad-gifc.c:181,1
    - Dst: ioctl
      Src: /src/libpcap/fad-gifc.c:187,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-gifc.c:189,1
    - Dst: close
      Src: /src/libpcap/fad-gifc.c:191,1
    - Dst: free
      Src: /src/libpcap/fad-gifc.c:192,1
    - Dst: free
      Src: /src/libpcap/fad-gifc.c:198,1
    - Dst: SA_LEN
      Src: /src/libpcap/fad-gifc.c:216,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/fad-gifc.c:249,1
    - Dst: ioctl
      Src: /src/libpcap/fad-gifc.c:251,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-gifc.c:254,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/fad-gifc.c:265,1
    - Dst: memcpy
      Src: /src/libpcap/fad-gifc.c:267,1
    - Dst: ioctl
      Src: /src/libpcap/fad-gifc.c:269,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-gifc.c:277,1
    - Dst: SA_LEN
      Src: /src/libpcap/fad-gifc.c:287,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/fad-gifc.c:295,1
    - Dst: memcpy
      Src: /src/libpcap/fad-gifc.c:297,1
    - Dst: ioctl
      Src: /src/libpcap/fad-gifc.c:299,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-gifc.c:308,1
    - Dst: SA_LEN
      Src: /src/libpcap/fad-gifc.c:318,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/fad-gifc.c:334,1
    - Dst: memcpy
      Src: /src/libpcap/fad-gifc.c:336,1
    - Dst: ioctl
      Src: /src/libpcap/fad-gifc.c:338,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-gifc.c:347,1
    - Dst: SA_LEN
      Src: /src/libpcap/fad-gifc.c:357,1
    - Dst: strchr
      Src: /src/libpcap/fad-gifc.c:377,1
    - Dst: PCAP_ISDIGIT
      Src: /src/libpcap/fad-gifc.c:383,1
    - Dst: pcapint_add_addr_to_if
      Src: /src/libpcap/fad-gifc.c:399,1
    - Dst: SA_LEN
      Src: /src/libpcap/fad-gifc.c:401,1
    - Dst: free
      Src: /src/libpcap/fad-gifc.c:408,1
    - Dst: close
      Src: /src/libpcap/fad-gifc.c:409,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 124
    argCount: 3
    argNames:
    - devlistp
    - errbuf
    - get_flags_func
    argTypes:
    - pcap_if_list_t*
    - char*
    - get_if_flags_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 412
    functionName: pcapint_findalldevs_interfaces
    functionSourceFile: /src/libpcap/fad-gifc.c
    functionUses: 0
    functionsReached:
    - calloc
    - close
    - ioctl
    - pcapint_fmt_errmsg_for_errno
    - socket
    - strchr
    - PCAP_ISDIGIT
    - SA_LEN
    - memcpy
    - pcapint_strlcpy
    - snprintf
    - free
    - pcapint_add_addr_to_if
    linkageType: ''
    returnType: int
    signature: "int pcapint_findalldevs_interfaces(pcap_if_list_t *devlistp, char
      *errbuf,\n    int (*check_usable)(const char *), get_if_flags_func get_flags_func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - opts
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: pcapint_fmt_set_encoding
    functionSourceFile: /src/libpcap/fmtutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pcapint_fmt_set_encoding(unsigned int opts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opts
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: pcapint_fmt_set_encoding
    functionSourceFile: /src/libpcap/fmtutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pcapint_fmt_set_encoding(unsigned int opts _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: IS_LEADING_SURROGATE
    functionSourceFile: /src/libpcap/fmtutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_LEADING_SURROGATE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: IS_TRAILING_SURROGATE
    functionSourceFile: /src/libpcap/fmtutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TRAILING_SURROGATE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - leading
    - ','
    - trailing
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: SURROGATE_VALUE
    functionSourceFile: /src/libpcap/fmtutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SURROGATE_VALUE(leading, trailing)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IS_LEADING_SURROGATE
      Src: /src/libpcap/fmtutils.c:117,1
    - Dst: IS_TRAILING_SURROGATE
      Src: /src/libpcap/fmtutils.c:140,1
    - Dst: SURROGATE_VALUE
      Src: /src/libpcap/fmtutils.c:152,1
    - Dst: IS_TRAILING_SURROGATE
      Src: /src/libpcap/fmtutils.c:166,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 3
    argNames:
    - utf_16
    - utf_8
    - utf_8_len
    argTypes:
    - wchar_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 259
    functionName: utf_16le_to_utf_8_truncated
    functionSourceFile: /src/libpcap/fmtutils.c
    functionUses: 0
    functionsReached:
    - IS_LEADING_SURROGATE
    - IS_TRAILING_SURROGATE
    - SURROGATE_VALUE
    linkageType: ''
    returnType: char
    signature: "char *\nutf_16le_to_utf_8_truncated(const wchar_t *utf_16, char *utf_8,\n
      \   size_t utf_8_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libpcap/fmtutils.c:272,1
    - Dst: pcapint_vfmt_errmsg_for_errno
      Src: /src/libpcap/fmtutils.c:273,1
    - Dst: va_end
      Src: /src/libpcap/fmtutils.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - errbuf
    - errbuflen
    - errnum
    - fmt
    argTypes:
    - char*
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: pcapint_fmt_errmsg_for_errno
    functionSourceFile: /src/libpcap/fmtutils.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - pcapint_vfmt_errmsg_for_errno
    linkageType: ''
    returnType: void
    signature: "void pcapint_fmt_errmsg_for_errno(char *errbuf, size_t errbuflen,
      int errnum,\n    const char *fmt, ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/libpcap/fmtutils.c:285,1
    - Dst: strlen
      Src: /src/libpcap/fmtutils.c:286,1
    - Dst: _wcserror_s
      Src: /src/libpcap/fmtutils.c:312,1
    - Dst: snprintf
      Src: /src/libpcap/fmtutils.c:318,1
    - Dst: utf_16le_to_utf_8_truncated
      Src: /src/libpcap/fmtutils.c:327,1
    - Dst: utf_8_to_acp_truncated
      Src: /src/libpcap/fmtutils.c:334,1
    - Dst: snprintf
      Src: /src/libpcap/fmtutils.c:340,1
    - Dst: pcap_strerror
      Src: /src/libpcap/fmtutils.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - errbuf
    - errbuflen
    - errnum
    - fmt
    - ap
    argTypes:
    - char*
    - size_t
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 342
    functionName: pcapint_vfmt_errmsg_for_errno
    functionSourceFile: /src/libpcap/fmtutils.c
    functionUses: 1
    functionsReached:
    - utf_8_to_acp_truncated
    - vsnprintf
    - utf_16le_to_utf_8_truncated
    - _wcserror_s
    - snprintf
    - strlen
    - pcap_strerror
    linkageType: ''
    returnType: void
    signature: "void pcapint_vfmt_errmsg_for_errno(char *errbuf, size_t errbuflen,
      int errnum,\n    const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libpcap/fmtutils.c:355,1
    - Dst: pcapint_vfmt_errmsg_for_win32_err
      Src: /src/libpcap/fmtutils.c:356,1
    - Dst: va_end
      Src: /src/libpcap/fmtutils.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - errbuf
    - errbuflen
    - errnum
    - fmt
    argTypes:
    - char*
    - size_t
    - DWORD
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 358
    functionName: pcapint_fmt_errmsg_for_win32_err
    functionSourceFile: /src/libpcap/fmtutils.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - pcapint_vfmt_errmsg_for_win32_err
    linkageType: ''
    returnType: void
    signature: "void pcapint_fmt_errmsg_for_win32_err(char *errbuf, size_t errbuflen,
      DWORD errnum,\n    const char *fmt, ...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/libpcap/fmtutils.c:371,1
    - Dst: strlen
      Src: /src/libpcap/fmtutils.c:372,1
    - Dst: FormatMessageW
      Src: /src/libpcap/fmtutils.c:406,1
    - Dst: MAKELANGID
      Src: /src/libpcap/fmtutils.c:407,1
    - Dst: snprintf
      Src: /src/libpcap/fmtutils.c:413,1
    - Dst: utf_16le_to_utf_8_truncated
      Src: /src/libpcap/fmtutils.c:421,1
    - Dst: snprintf
      Src: /src/libpcap/fmtutils.c:430,1
    - Dst: snprintf
      Src: /src/libpcap/fmtutils.c:432,1
    - Dst: utf_8_to_acp_truncated
      Src: /src/libpcap/fmtutils.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - errbuf
    - errbuflen
    - errnum
    - fmt
    - ap
    argTypes:
    - char*
    - size_t
    - DWORD
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 440
    functionName: pcapint_vfmt_errmsg_for_win32_err
    functionSourceFile: /src/libpcap/fmtutils.c
    functionUses: 1
    functionsReached:
    - utf_8_to_acp_truncated
    - vsnprintf
    - strlen
    - utf_16le_to_utf_8_truncated
    - MAKELANGID
    - snprintf
    - FormatMessageW
    linkageType: ''
    returnType: void
    signature: "void pcapint_vfmt_errmsg_for_win32_err(char *errbuf, size_t errbuflen,
      DWORD errnum,\n    const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: TX_ONLY
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TX_ONLY(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: RX_ONLY
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RX_ONLY(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: RXTX_STR
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RXTX_STR(stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libpcap/pcap-dag.c:137,1
    - Dst: pcapint_get_decuint
      Src: /src/libpcap/pcap-dag.c:148,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:151,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:155,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - envname
    - val
    - defaultval
    argTypes:
    - char*
    - unsigned*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 168
    functionName: get_decuint_from_env
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - pcapint_get_decuint
    - pcapint_fmt_errmsg_for_errno
    - getenv
    - snprintf
    linkageType: ''
    returnType: int
    signature: int get_decuint_from_env(const char *envname, unsigned *val, unsigned
      defaultval)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 186
    functionName: delete_pcap_dag
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void delete_pcap_dag(const pcap_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TX_ONLY
      Src: /src/libpcap/pcap-dag.c:203,1
    - Dst: dag_get_stream_buffer_level64
      Src: /src/libpcap/pcap-dag.c:204,1
    - Dst: usleep
      Src: /src/libpcap/pcap-dag.c:205,1
    - Dst: dag_stop_stream
      Src: /src/libpcap/pcap-dag.c:207,1
    - Dst: fprintf
      Src: /src/libpcap/pcap-dag.c:208,1
    - Dst: strerror
      Src: /src/libpcap/pcap-dag.c:208,1
    - Dst: dag_detach_stream
      Src: /src/libpcap/pcap-dag.c:210,1
    - Dst: fprintf
      Src: /src/libpcap/pcap-dag.c:211,1
    - Dst: strerror
      Src: /src/libpcap/pcap-dag.c:211,1
    - Dst: dag_config_dispose
      Src: /src/libpcap/pcap-dag.c:214,1
    - Dst: delete_pcap_dag
      Src: /src/libpcap/pcap-dag.c:225,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-dag.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 227
    functionName: dag_platform_cleanup
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - TX_ONLY
    - fprintf
    - dag_config_dispose
    - dag_stop_stream
    - dag_get_stream_buffer_level64
    - usleep
    - dag_detach_stream
    - strerror
    - delete_pcap_dag
    - pcapint_cleanup_live_common
    linkageType: ''
    returnType: void
    signature: void dag_platform_cleanup(pcap_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/libpcap/pcap-dag.c:233,1
    - Dst: dag_platform_cleanup
      Src: /src/libpcap/pcap-dag.c:235,1
    - Dst: delete_pcap_dag
      Src: /src/libpcap/pcap-dag.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: atexit_handler
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - dag_platform_cleanup
    - getpid
    - delete_pcap_dag
    linkageType: ''
    returnType: void
    signature: void atexit_handler(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/pcap-dag.c:247,1
    - Dst: atexit
      Src: /src/libpcap/pcap-dag.c:252,1
    - Dst: getpid
      Src: /src/libpcap/pcap-dag.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 263
    functionName: new_pcap_dag
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - atexit
    - malloc
    - getpid
    linkageType: ''
    returnType: int
    signature: int new_pcap_dag(pcap_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - erf
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 295
    functionName: dag_erf_ext_header_count
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dag_erf_ext_header_count(const uint8_t *erf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:302,1
    - Dst: RXTX_STR
      Src: /src/libpcap/pcap-dag.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - func
    - p
    argTypes:
    - char*
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: dag_rxtx_mismatch
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - RXTX_STR
    - snprintf
    linkageType: ''
    returnType: int
    signature: int dag_rxtx_mismatch(const char *func, pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dag_rxtx_mismatch
      Src: /src/libpcap/pcap-dag.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - cnt
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: dag_read_notimpl
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - dag_rxtx_mismatch
    linkageType: ''
    returnType: int
    signature: int dag_read_notimpl(pcap_t *p, int cnt _U_, pcap_handler callback
      _U_, u_char *user _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dag_rxtx_mismatch
      Src: /src/libpcap/pcap-dag.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: dag_getnonblock_fd_notimpl
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - dag_rxtx_mismatch
    linkageType: ''
    returnType: int
    signature: int dag_getnonblock_fd_notimpl(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dag_rxtx_mismatch
      Src: /src/libpcap/pcap-dag.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - _U_
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: dag_stats_notimpl
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - dag_rxtx_mismatch
    linkageType: ''
    returnType: int
    signature: int dag_stats_notimpl(pcap_t *p, struct pcap_stat *ps _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dag_rxtx_mismatch
      Src: /src/libpcap/pcap-dag.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - nonblock
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: dag_setnonblock_notimpl
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - dag_rxtx_mismatch
    linkageType: ''
    returnType: int
    signature: int dag_setnonblock_notimpl(pcap_t *p, int nonblock _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dag_rxtx_mismatch
      Src: /src/libpcap/pcap-dag.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: dag_inject_notimpl
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - dag_rxtx_mismatch
    linkageType: ''
    returnType: int
    signature: int dag_inject_notimpl(pcap_t *p, const void *buf _U_, int size _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dag_rxtx_mismatch
      Src: /src/libpcap/pcap-dag.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - _U_
    argTypes:
    - pcap_t*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: dag_install_bpf_program_notimpl
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - dag_rxtx_mismatch
    linkageType: ''
    returnType: int
    signature: int dag_install_bpf_program_notimpl(pcap_t *p, struct bpf_program *fp
      _U_)
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: dag_advance_stream
      Src: /src/libpcap/pcap-dag.c:386,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-dag.c:436,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:439,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-dag.c:461,1
    - Dst: dag_erf_ext_header_count
      Src: /src/libpcap/pcap-dag.c:469,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-dag.c:486,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-dag.c:525,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-dag.c:537,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-dag.c:551,1
    - Dst: htons
      Src: /src/libpcap/pcap-dag.c:552,1
    - Dst: htons
      Src: /src/libpcap/pcap-dag.c:555,1
    - Dst: htons
      Src: /src/libpcap/pcap-dag.c:556,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-dag.c:576,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-dag.c:595,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-dag.c:614,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-dag.c:633,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-dag.c:642,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-dag.c:655,1
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap-dag.c:692,1
    - Dst: SWAPLL
      Src: /src/libpcap/pcap-dag.c:698,1
    - Dst: min
      Src: /src/libpcap/pcap-dag.c:723,1
    - Dst: callback
      Src: /src/libpcap/pcap-dag.c:730,1
    - Dst: PACKET_COUNT_IS_UNLIMITED
      Src: /src/libpcap/pcap-dag.c:734,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 221
    argCount: 4
    argNames:
    - p
    - cnt
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 743
    functionName: dag_read
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - ntohl
    - callback
    - ntohs
    - memcpy
    - pcapint_filter
    - htons
    - PACKET_COUNT_IS_UNLIMITED
    - snprintf
    - SWAPLL
    - min
    - dag_erf_ext_header_count
    - dag_advance_stream
    linkageType: ''
    returnType: int
    signature: int dag_read(pcap_t *p, int cnt, pcap_handler callback, u_char *user)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:776,1
    - Dst: min
      Src: /src/libpcap/pcap-dag.c:798,1
    - Dst: htons
      Src: /src/libpcap/pcap-dag.c:806,1
    - Dst: htons
      Src: /src/libpcap/pcap-dag.c:807,1
    - Dst: DAG_ERF_SET_IFACE
      Src: /src/libpcap/pcap-dag.c:811,1
    - Dst: dag_tx_stream_copy_bytes64
      Src: /src/libpcap/pcap-dag.c:819,1
    - Dst: dag_tx_stream_copy_bytes64
      Src: /src/libpcap/pcap-dag.c:820,1
    - Dst: dag_tx_stream_copy_bytes64
      Src: /src/libpcap/pcap-dag.c:828,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:833,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - p
    - packet
    - plen
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 836
    functionName: dag_inject
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - dag_tx_stream_copy_bytes64
    - pcapint_fmt_errmsg_for_errno
    - htons
    - DAG_ERF_SET_IFACE
    - snprintf
    - min
    linkageType: ''
    returnType: int
    signature: int dag_inject(pcap_t *p, const void *packet, const int plen)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: get_decuint_from_env
      Src: /src/libpcap/pcap-dag.c:846,1
    - Dst: dag_config_get_interface_count
      Src: /src/libpcap/pcap-dag.c:848,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:850,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:856,1
    - Dst: dag_pciinfo
      Src: /src/libpcap/pcap-dag.c:862,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:864,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:870,1
    - Dst: dag_component_get_subcomponent
      Src: /src/libpcap/pcap-dag.c:886,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:889,1
    - Dst: dag_component_get_config_attribute_uuid
      Src: /src/libpcap/pcap-dag.c:895,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:898,1
    - Dst: dag_config_get_uint32_attribute_ex
      Src: /src/libpcap/pcap-dag.c:905,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:908,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:919,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:926,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 938
    functionName: dag_activate_tx
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - dag_component_get_subcomponent
    - dag_component_get_config_attribute_uuid
    - dag_pciinfo
    - snprintf
    - dag_config_get_interface_count
    - get_decuint_from_env
    - dag_config_get_uint32_attribute_ex
    linkageType: ''
    returnType: int
    signature: int dag_activate_tx(pcap_t *p)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:964,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:970,1
    - Dst: TX_ONLY
      Src: /src/libpcap/pcap-dag.c:976,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:983,1
    - Dst: dag_config_init
      Src: /src/libpcap/pcap-dag.c:989,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1002,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1007,1
    - Dst: dag_config_get_card_fd
      Src: /src/libpcap/pcap-dag.c:1013,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1018,1
    - Dst: dag_attach_stream64
      Src: /src/libpcap/pcap-dag.c:1024,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1026,1
    - Dst: RXTX_STR
      Src: /src/libpcap/pcap-dag.c:1028,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1037,1
    - Dst: RXTX_STR
      Src: /src/libpcap/pcap-dag.c:1039,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1044,1
    - Dst: dag_config_get_root_component
      Src: /src/libpcap/pcap-dag.c:1051,1
    - Dst: dag_component_get_subcomponent
      Src: /src/libpcap/pcap-dag.c:1052,1
    - Dst: dag_config_get_indexed_attribute_uuid
      Src: /src/libpcap/pcap-dag.c:1054,1
    - Dst: dag_config_get_uint64_attribute
      Src: /src/libpcap/pcap-dag.c:1056,1
    - Dst: dag_get_stream_poll64
      Src: /src/libpcap/pcap-dag.c:1063,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1066,1
    - Dst: dag_set_stream_poll64
      Src: /src/libpcap/pcap-dag.c:1108,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1111,1
    - Dst: dag_start_stream
      Src: /src/libpcap/pcap-dag.c:1116,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1118,1
    - Dst: get_decuint_from_env
      Src: /src/libpcap/pcap-dag.c:1136,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1148,1
    - Dst: get_decuint_from_env
      Src: /src/libpcap/pcap-dag.c:1157,1
    - Dst: LT_FCS_DATALINK_EXT
      Src: /src/libpcap/pcap-dag.c:1167,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1174,1
    - Dst: TX_ONLY
      Src: /src/libpcap/pcap-dag.c:1180,1
    - Dst: dag_activate_tx
      Src: /src/libpcap/pcap-dag.c:1180,1
    - Dst: dag_get_datalink
      Src: /src/libpcap/pcap-dag.c:1187,1
    - Dst: new_pcap_dag
      Src: /src/libpcap/pcap-dag.c:1194,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1196,1
    - Dst: RX_ONLY
      Src: /src/libpcap/pcap-dag.c:1206,1
    - Dst: TX_ONLY
      Src: /src/libpcap/pcap-dag.c:1209,1
    - Dst: RX_ONLY
      Src: /src/libpcap/pcap-dag.c:1212,1
    - Dst: RX_ONLY
      Src: /src/libpcap/pcap-dag.c:1217,1
    - Dst: RX_ONLY
      Src: /src/libpcap/pcap-dag.c:1220,1
    - Dst: RX_ONLY
      Src: /src/libpcap/pcap-dag.c:1223,1
    - Dst: dag_stop_stream
      Src: /src/libpcap/pcap-dag.c:1233,1
    - Dst: fprintf
      Src: /src/libpcap/pcap-dag.c:1234,1
    - Dst: strerror
      Src: /src/libpcap/pcap-dag.c:1234,1
    - Dst: dag_detach_stream
      Src: /src/libpcap/pcap-dag.c:1238,1
    - Dst: fprintf
      Src: /src/libpcap/pcap-dag.c:1239,1
    - Dst: strerror
      Src: /src/libpcap/pcap-dag.c:1239,1
    - Dst: dag_config_dispose
      Src: /src/libpcap/pcap-dag.c:1242,1
    - Dst: delete_pcap_dag
      Src: /src/libpcap/pcap-dag.c:1251,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-dag.c:1254,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 182
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 947
    functionDepth: 4
    functionLinenumber: 947
    functionLinenumberEnd: 1257
    functionName: dag_activate
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - dag_activate_tx
    - fprintf
    - dag_detach_stream
    - pcapint_cleanup_live_common
    - dag_start_stream
    - dag_config_get_card_fd
    - dag_config_get_indexed_attribute_uuid
    - dag_config_dispose
    - dag_config_init
    - dag_attach_stream64
    - dag_component_get_subcomponent
    - LT_FCS_DATALINK_EXT
    - strerror
    - get_decuint_from_env
    - dag_config_get_uint64_attribute
    - RXTX_STR
    - dag_stop_stream
    - dag_get_stream_poll64
    - delete_pcap_dag
    - snprintf
    - new_pcap_dag
    - dag_set_stream_poll64
    - TX_ONLY
    - pcapint_fmt_errmsg_for_errno
    - dag_config_get_root_component
    - RX_ONLY
    - dag_get_datalink
    linkageType: ''
    returnType: int
    signature: int dag_activate(pcap_t* p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libpcap/pcap-dag.c:1280,1
    - Dst: pcapint_get_decuint
      Src: /src/libpcap/pcap-dag.c:1286,1
    - Dst: pcapint_get_decuint
      Src: /src/libpcap/pcap-dag.c:1292,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1308,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1322,1
    - Dst: strcmp
      Src: /src/libpcap/pcap-dag.c:1323,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1325,1
    - Dst: strcmp
      Src: /src/libpcap/pcap-dag.c:1326,1
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-dag.c:1338,1
    - Dst: malloc
      Src: /src/libpcap/pcap-dag.c:1351,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1353,1
    - Dst: pcap_close
      Src: /src/libpcap/pcap-dag.c:1355,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - device
    - ebuf
    - is_ours
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1365
    functionName: dag_create
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - strcmp
    - snprintf
    - pcapint_get_decuint
    - PCAP_CREATE_COMMON
    - strncmp
    - malloc
    - pcap_close
    linkageType: ''
    returnType: pcap_t
    signature: pcap_t *dag_create(const char *device, char *ebuf, int *is_ours)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dag_config_get_uint64_attribute_ex
      Src: /src/libpcap/pcap-dag.c:1384,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1387,1
    - Dst: dag_config_strerror
      Src: /src/libpcap/pcap-dag.c:1388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p
    - ps
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1396
    functionName: dag_stats
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - dag_config_strerror
    - dag_config_get_uint64_attribute_ex
    - snprintf
    linkageType: ''
    returnType: int
    signature: int dag_stats(pcap_t *p, struct pcap_stat *ps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - strbuf
    - strbufsize
    - dagid
    argTypes:
    - char*
    - size_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1403
    functionName: dag_device_description
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void dag_device_description(char *strbuf, const size_t strbufsize,\n
      \   const unsigned dagid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1409,1
    - Dst: RXTX_STR
      Src: /src/libpcap/pcap-dag.c:1409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - strbuf
    - strbufsize
    - stream
    argTypes:
    - char*
    - size_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1410
    functionName: dag_stream_short_description
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - RXTX_STR
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void dag_stream_short_description(char *strbuf, const size_t strbufsize,\n
      \   const unsigned stream)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1417,1
    - Dst: RXTX_STR
      Src: /src/libpcap/pcap-dag.c:1419,1
    - Dst: dag_device_name
      Src: /src/libpcap/pcap-dag.c:1422,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1424,1
    - Dst: PCAP_ISUPPER
      Src: /src/libpcap/pcap-dag.c:1426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - strbuf
    - strbufsize
    - stream
    - dagbufsize
    - inf
    argTypes:
    - char*
    - size_t
    - unsigned
    - dag_size_t
    - dag_card_inf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1428
    functionName: dag_stream_long_description
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - RXTX_STR
    - PCAP_ISUPPER
    - dag_device_name
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void dag_stream_long_description(char *strbuf, const size_t strbufsize,\n
      \   const unsigned stream, const dag_size_t dagbufsize,\n    const dag_card_inf_t
      *inf)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1453,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1455,1
    - Dst: dag_open
      Src: /src/libpcap/pcap-dag.c:1456,1
    - Dst: dag_pciinfo
      Src: /src/libpcap/pcap-dag.c:1459,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1461,1
    - Dst: dag_rx_get_stream_count
      Src: /src/libpcap/pcap-dag.c:1466,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1468,1
    - Dst: dag_tx_get_stream_count
      Src: /src/libpcap/pcap-dag.c:1474,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1476,1
    - Dst: TX_ONLY
      Src: /src/libpcap/pcap-dag.c:1485,1
    - Dst: dag_get_stream_buffer_size64
      Src: /src/libpcap/pcap-dag.c:1499,1
    - Dst: RX_ONLY
      Src: /src/libpcap/pcap-dag.c:1504,1
    - Dst: dag_device_description
      Src: /src/libpcap/pcap-dag.c:1505,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-dag.c:1508,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1511,1
    - Dst: dag_stream_long_description
      Src: /src/libpcap/pcap-dag.c:1512,1
    - Dst: dag_get_stream_buffer_size64
      Src: /src/libpcap/pcap-dag.c:1513,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-dag.c:1514,1
    - Dst: RX_ONLY
      Src: /src/libpcap/pcap-dag.c:1518,1
    - Dst: dag_close
      Src: /src/libpcap/pcap-dag.c:1523,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1533,1
    - Dst: fopen
      Src: /src/libpcap/pcap-dag.c:1534,1
    - Dst: fgets
      Src: /src/libpcap/pcap-dag.c:1536,1
    - Dst: sscanf
      Src: /src/libpcap/pcap-dag.c:1537,1
    - Dst: TX_ONLY
      Src: /src/libpcap/pcap-dag.c:1539,1
    - Dst: dag_device_description
      Src: /src/libpcap/pcap-dag.c:1543,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-dag.c:1545,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1548,1
    - Dst: dag_stream_short_description
      Src: /src/libpcap/pcap-dag.c:1550,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-dag.c:1551,1
    - Dst: fclose
      Src: /src/libpcap/pcap-dag.c:1554,1
    - Dst: dag_close
      Src: /src/libpcap/pcap-dag.c:1564,1
    - Dst: fclose
      Src: /src/libpcap/pcap-dag.c:1566,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 76
    argCount: 2
    argNames:
    - devlistp
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1433
    functionDepth: 2
    functionLinenumber: 1433
    functionLinenumberEnd: 1568
    functionName: dag_findalldevs
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - dag_tx_get_stream_count
    - dag_rx_get_stream_count
    - TX_ONLY
    - dag_stream_long_description
    - fgets
    - fopen
    - pcapint_add_dev
    - dag_get_stream_buffer_size64
    - fclose
    - pcapint_fmt_errmsg_for_errno
    - sscanf
    - dag_open
    - dag_pciinfo
    - dag_stream_short_description
    - RX_ONLY
    - snprintf
    - dag_device_description
    - dag_close
    linkageType: ''
    returnType: int
    signature: int dag_findalldevs(pcap_if_list_t *devlistp, char *errbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - dlt
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1576
    functionName: dag_set_datalink
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dag_set_datalink(pcap_t *p, int dlt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_setnonblock_fd
      Src: /src/libpcap/pcap-dag.c:1592,1
    - Dst: dag_get_stream_poll64
      Src: /src/libpcap/pcap-dag.c:1595,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1597,1
    - Dst: dag_set_stream_poll64
      Src: /src/libpcap/pcap-dag.c:1611,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - p
    - nonblock
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1578
    functionDepth: 2
    functionLinenumber: 1578
    functionLinenumberEnd: 1624
    functionName: dag_setnonblock
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - dag_set_stream_poll64
    - dag_get_stream_poll64
    - pcapint_setnonblock_fd
    - pcapint_fmt_errmsg_for_errno
    linkageType: ''
    returnType: int
    signature: int dag_setnonblock(pcap_t *p, int nonblock)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: TX_ONLY
      Src: /src/libpcap/pcap-dag.c:1636,1
    - Dst: memset
      Src: /src/libpcap/pcap-dag.c:1642,1
    - Dst: malloc
      Src: /src/libpcap/pcap-dag.c:1644,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1645,1
    - Dst: dag_get_stream_erf_types
      Src: /src/libpcap/pcap-dag.c:1653,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dag.c:1654,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 85
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1626
    functionDepth: 2
    functionLinenumber: 1626
    functionLinenumberEnd: 1756
    functionName: dag_get_datalink
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 1
    functionsReached:
    - TX_ONLY
    - pcapint_fmt_errmsg_for_errno
    - dag_get_stream_erf_types
    - memset
    - malloc
    linkageType: ''
    returnType: int
    signature: int dag_get_datalink(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-dag.c:1779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - device
    - errbuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1781
    functionName: pcapint_create_interface
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcapint_create_interface(const char *device _U_, char *errbuf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO
      Src: /src/libpcap/pcap-dag.c:1789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1786
    functionDepth: 1
    functionLinenumber: 1786
    functionLinenumberEnd: 1790
    functionName: pcap_lib_version
    functionSourceFile: /src/libpcap/pcap-dag.c
    functionUses: 0
    functionsReached:
    - PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_lib_version(void)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/rpcap-protocol.c:88,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/rpcap-protocol.c:93,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcap-protocol.c:95,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcap-protocol.c:99,1
    - Dst: sock_send
      Src: /src/libpcap/rpcap-protocol.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 6
    argNames:
    - sock
    - ssl
    - ver
    - errcode
    - error
    - errbuf
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - uint8_t
    - unsigned short
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: rpcap_senderror
    functionSourceFile: /src/libpcap/rpcap-protocol.c
    functionUses: 0
    functionsReached:
    - sock_send
    - sock_bufferize
    - rpcap_createhdr
    - strlen
    linkageType: ''
    returnType: int
    signature: int rpcap_senderror(PCAP_SOCKET sock, SSL *ssl, uint8_t ver, unsigned
      short errcode, const char *error, char *errbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/rpcap-protocol.c:138,1
    - Dst: htons
      Src: /src/libpcap/rpcap-protocol.c:142,1
    - Dst: htonl
      Src: /src/libpcap/rpcap-protocol.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - header
    - ver
    - type
    - value
    - length
    argTypes:
    - struct rpcap_header*
    - uint8_t
    - uint8_t
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: rpcap_createhdr
    functionSourceFile: /src/libpcap/rpcap-protocol.c
    functionUses: 1
    functionsReached:
    - memset
    - htons
    - htonl
    linkageType: ''
    returnType: void
    signature: void rpcap_createhdr(struct rpcap_header *header, uint8_t ver, uint8_t
      type, uint16_t value, uint32_t length)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 196
    functionName: rpcap_msg_type_string
    functionSourceFile: /src/libpcap/rpcap-protocol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rpcap_msg_type_string(uint8_t type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: pcap_set_optimizer_debug
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCAP_API_DEF
    signature: PCAP_API_DEF pcap_set_optimizer_debug(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: pcap_set_print_dot_graph
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCAP_API_DEF
    signature: PCAP_API_DEF pcap_set_print_dot_graph(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: lowest_set_bit
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lowest_set_bit(mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanForward
      Src: /src/libpcap/optimize.c:138,1
    - Dst: abort
      Src: /src/libpcap/optimize.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mask
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: lowest_set_bit
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - _BitScanForward
    - abort
    linkageType: ''
    returnType: u_int
    signature: u_int lowest_set_bit(int mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: lowest_set_bit
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lowest_set_bit(mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: K
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: K(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: SET_MEMBER
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_MEMBER(p, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: SET_INSERT
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_INSERT(p, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: SET_DELETE
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_DELETE(p, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: SET_INTERSECT
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_INTERSECT(a, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 280
    functionName: SET_SUBTRACT
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_SUBTRACT(a, b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: SET_UNION
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_UNION(a, b, n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isMarked
      Src: /src/libpcap/optimize.c:346,1
    - Dst: Mark
      Src: /src/libpcap/optimize.c:349,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:352,1
    - Dst: find_levels_r
      Src: /src/libpcap/optimize.c:353,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:353,1
    - Dst: find_levels_r
      Src: /src/libpcap/optimize.c:354,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:354,1
    - Dst: max
      Src: /src/libpcap/optimize.c:355,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:355,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - opt_state
    - ic
    - b
    argTypes:
    - opt_state_t*
    - struct icode*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 361
    functionName: find_levels_r
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 1
    functionsReached:
    - isMarked
    - max
    - find_levels_r
    - JF
    - JT
    - Mark
    linkageType: ''
    returnType: void
    signature: void find_levels_r(opt_state_t *opt_state, struct icode *ic, struct
      block *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/optimize.c:372,1
    - Dst: unMarkAll
      Src: /src/libpcap/optimize.c:373,1
    - Dst: find_levels_r
      Src: /src/libpcap/optimize.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - opt_state
    - ic
    argTypes:
    - opt_state_t*
    - struct icode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: find_levels
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - memset
    - unMarkAll
    - find_levels_r
    linkageType: ''
    returnType: void
    signature: void find_levels(opt_state_t *opt_state, struct icode *ic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_INSERT
      Src: /src/libpcap/optimize.c:410,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:411,1
    - Dst: SET_INTERSECT
      Src: /src/libpcap/optimize.c:413,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:413,1
    - Dst: SET_INTERSECT
      Src: /src/libpcap/optimize.c:414,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - opt_state
    - root
    argTypes:
    - opt_state_t*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 417
    functionName: find_dom
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - SET_INTERSECT
    - JF
    - SET_INSERT
    - JT
    linkageType: ''
    returnType: void
    signature: void find_dom(opt_state_t *opt_state, struct block *root)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_INSERT
      Src: /src/libpcap/optimize.c:422,1
    - Dst: SET_INTERSECT
      Src: /src/libpcap/optimize.c:424,1
    - Dst: SET_INTERSECT
      Src: /src/libpcap/optimize.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - opt_state
    - ep
    argTypes:
    - opt_state_t*
    - struct edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 427
    functionName: propedom
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - SET_INTERSECT
    - SET_INSERT
    linkageType: ''
    returnType: void
    signature: void propedom(opt_state_t *opt_state, struct edge *ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/optimize.c:451,1
    - Dst: memset
      Src: /src/libpcap/optimize.c:452,1
    - Dst: propedom
      Src: /src/libpcap/optimize.c:455,1
    - Dst: propedom
      Src: /src/libpcap/optimize.c:456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - opt_state
    - root
    argTypes:
    - opt_state_t*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 459
    functionName: find_edom
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - propedom
    - memset
    linkageType: ''
    returnType: void
    signature: void find_edom(opt_state_t *opt_state, struct block *root)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/optimize.c:477,1
    - Dst: SET_INSERT
      Src: /src/libpcap/optimize.c:483,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:484,1
    - Dst: SET_UNION
      Src: /src/libpcap/optimize.c:486,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:486,1
    - Dst: SET_UNION
      Src: /src/libpcap/optimize.c:487,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - opt_state
    - root
    argTypes:
    - opt_state_t*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 490
    functionName: find_closure
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - JF
    - SET_INSERT
    - JT
    - SET_UNION
    - memset
    linkageType: ''
    returnType: void
    signature: void find_closure(opt_state_t *opt_state, struct block *root)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BPF_CLASS
      Src: /src/libpcap/optimize.c:509,1
    - Dst: BPF_RVAL
      Src: /src/libpcap/optimize.c:512,1
    - Dst: BPF_MODE
      Src: /src/libpcap/optimize.c:520,1
    - Dst: BPF_MODE
      Src: /src/libpcap/optimize.c:521,1
    - Dst: BPF_SRC
      Src: /src/libpcap/optimize.c:531,1
    - Dst: BPF_MISCOP
      Src: /src/libpcap/optimize.c:536,1
    - Dst: abort
      Src: /src/libpcap/optimize.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 540
    functionName: atomuse
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - BPF_MISCOP
    - BPF_CLASS
    - BPF_RVAL
    - abort
    - BPF_SRC
    - BPF_MODE
    linkageType: ''
    returnType: int
    signature: int atomuse(struct stmt *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: BPF_CLASS
      Src: /src/libpcap/optimize.c:555,1
    - Dst: BPF_MISCOP
      Src: /src/libpcap/optimize.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 572
    functionName: atomdef
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - BPF_CLASS
    - BPF_MISCOP
    linkageType: ''
    returnType: int
    signature: int atomdef(struct stmt *s)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: atomuse
      Src: /src/libpcap/optimize.c:595,1
    - Dst: ATOMELEM
      Src: /src/libpcap/optimize.c:598,1
    - Dst: ATOMMASK
      Src: /src/libpcap/optimize.c:599,1
    - Dst: ATOMELEM
      Src: /src/libpcap/optimize.c:600,1
    - Dst: ATOMMASK
      Src: /src/libpcap/optimize.c:601,1
    - Dst: ATOMELEM
      Src: /src/libpcap/optimize.c:604,1
    - Dst: ATOMMASK
      Src: /src/libpcap/optimize.c:605,1
    - Dst: abort
      Src: /src/libpcap/optimize.c:608,1
    - Dst: atomdef
      Src: /src/libpcap/optimize.c:610,1
    - Dst: ATOMELEM
      Src: /src/libpcap/optimize.c:612,1
    - Dst: ATOMMASK
      Src: /src/libpcap/optimize.c:613,1
    - Dst: ATOMMASK
      Src: /src/libpcap/optimize.c:614,1
    - Dst: BPF_CLASS
      Src: /src/libpcap/optimize.c:617,1
    - Dst: atomuse
      Src: /src/libpcap/optimize.c:621,1
    - Dst: ATOMELEM
      Src: /src/libpcap/optimize.c:624,1
    - Dst: ATOMMASK
      Src: /src/libpcap/optimize.c:625,1
    - Dst: ATOMELEM
      Src: /src/libpcap/optimize.c:626,1
    - Dst: ATOMMASK
      Src: /src/libpcap/optimize.c:627,1
    - Dst: ATOMELEM
      Src: /src/libpcap/optimize.c:630,1
    - Dst: ATOMMASK
      Src: /src/libpcap/optimize.c:631,1
    - Dst: abort
      Src: /src/libpcap/optimize.c:634,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 641
    functionName: compute_local_ud
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - atomuse
    - ATOMELEM
    - BPF_CLASS
    - atomdef
    - abort
    - ATOMMASK
    linkageType: ''
    returnType: void
    signature: void compute_local_ud(struct block *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compute_local_ud
      Src: /src/libpcap/optimize.c:659,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:665,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:665,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - opt_state
    - root
    argTypes:
    - opt_state_t*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 646
    functionDepth: 3
    functionLinenumber: 646
    functionLinenumberEnd: 669
    functionName: find_ud
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - JT
    - JF
    - compute_local_ud
    linkageType: ''
    returnType: void
    signature: void find_ud(opt_state_t *opt_state, struct block *root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/optimize.c:675,1
    - Dst: memset
      Src: /src/libpcap/optimize.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - opt_state
    argTypes:
    - opt_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 677
    functionName: init_val
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void init_val(opt_state_t *opt_state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BPF_MODE
      Src: /src/libpcap/optimize.c:714,1
    - Dst: BPF_CLASS
      Src: /src/libpcap/optimize.c:715,1
    - Dst: BPF_CLASS
      Src: /src/libpcap/optimize.c:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - opt_state
    - code
    - v0
    - v1
    argTypes:
    - opt_state_t*
    - int
    - bpf_u_int32
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 728
    functionName: F
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 4
    functionsReached:
    - BPF_CLASS
    - BPF_MODE
    linkageType: ''
    returnType: bpf_u_int32
    signature: bpf_u_int32 F(opt_state_t *opt_state, int code, bpf_u_int32 v0, bpf_u_int32
      v1)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - s
    - valp
    - newval
    - alter
    argTypes:
    - struct stmt*
    - bpf_u_int32*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 737
    functionName: vstore
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vstore(struct stmt *s, bpf_u_int32 *valp, bpf_u_int32 newval,
      int alter)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BPF_OP
      Src: /src/libpcap/optimize.c:751,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:766,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:772,1
    - Dst: abort
      Src: /src/libpcap/optimize.c:825,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 4
    argNames:
    - opt_state
    - s
    - v0
    - v1
    argTypes:
    - opt_state_t*
    - struct stmt*
    - bpf_u_int32
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 834
    functionName: fold_op
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - abort
    - BPF_OP
    - opt_error
    linkageType: ''
    returnType: void
    signature: void fold_op(opt_state_t *opt_state, struct stmt *s, bpf_u_int32 v0,
      bpf_u_int32 v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 842
    functionName: this_op
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct slist
    signature: 'struct slist *

      this_op(struct slist *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JT
      Src: /src/libpcap/optimize.c:847,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:849,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:849,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 851
    functionName: opt_not
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - JF
    - JT
    linkageType: ''
    returnType: void
    signature: void opt_not(struct block *b)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: this_op
      Src: /src/libpcap/optimize.c:869,1
    - Dst: this_op
      Src: /src/libpcap/optimize.c:877,1
    - Dst: ATOMELEM
      Src: /src/libpcap/optimize.c:923,1
    - Dst: this_op
      Src: /src/libpcap/optimize.c:936,1
    - Dst: this_op
      Src: /src/libpcap/optimize.c:944,1
    - Dst: this_op
      Src: /src/libpcap/optimize.c:953,1
    - Dst: BPF_CLASS
      Src: /src/libpcap/optimize.c:954,1
    - Dst: BPF_MODE
      Src: /src/libpcap/optimize.c:955,1
    - Dst: ATOMELEM
      Src: /src/libpcap/optimize.c:1004,1
    - Dst: opt_not
      Src: /src/libpcap/optimize.c:1075,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1092,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:1092,1
    - Dst: opt_not
      Src: /src/libpcap/optimize.c:1103,1
    - Dst: BPF_SRC
      Src: /src/libpcap/optimize.c:1117,1
    - Dst: BPF_SRC
      Src: /src/libpcap/optimize.c:1127,1
    - Dst: BPF_OP
      Src: /src/libpcap/optimize.c:1129,1
    - Dst: abort
      Src: /src/libpcap/optimize.c:1148,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:1150,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1150,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:1158,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1158,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1160,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:1160,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 119
    argCount: 2
    argNames:
    - opt_state
    - b
    argTypes:
    - opt_state_t*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 1162
    functionName: opt_peep
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - this_op
    - ATOMELEM
    - BPF_CLASS
    - JF
    - JT
    - opt_not
    - BPF_OP
    - abort
    - BPF_SRC
    - BPF_MODE
    linkageType: ''
    returnType: void
    signature: void opt_peep(opt_state_t *opt_state, struct block *b)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/libpcap/optimize.c:1181,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1182,1
    - Dst: BPF_SIZE
      Src: /src/libpcap/optimize.c:1190,1
    - Dst: F
      Src: /src/libpcap/optimize.c:1192,1
    - Dst: F
      Src: /src/libpcap/optimize.c:1200,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1201,1
    - Dst: F
      Src: /src/libpcap/optimize.c:1205,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1206,1
    - Dst: K
      Src: /src/libpcap/optimize.c:1210,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1211,1
    - Dst: K
      Src: /src/libpcap/optimize.c:1215,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1216,1
    - Dst: F
      Src: /src/libpcap/optimize.c:1220,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1221,1
    - Dst: K
      Src: /src/libpcap/optimize.c:1244,1
    - Dst: F
      Src: /src/libpcap/optimize.c:1247,1
    - Dst: BPF_OP
      Src: /src/libpcap/optimize.c:1260,1
    - Dst: K
      Src: /src/libpcap/optimize.c:1282,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:1286,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:1289,1
    - Dst: fold_op
      Src: /src/libpcap/optimize.c:1293,1
    - Dst: K
      Src: /src/libpcap/optimize.c:1293,1
    - Dst: K
      Src: /src/libpcap/optimize.c:1294,1
    - Dst: F
      Src: /src/libpcap/optimize.c:1298,1
    - Dst: K
      Src: /src/libpcap/optimize.c:1298,1
    - Dst: BPF_OP
      Src: /src/libpcap/optimize.c:1311,1
    - Dst: fold_op
      Src: /src/libpcap/optimize.c:1314,1
    - Dst: K
      Src: /src/libpcap/optimize.c:1315,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:1322,1
    - Dst: F
      Src: /src/libpcap/optimize.c:1326,1
    - Dst: K
      Src: /src/libpcap/optimize.c:1326,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1345,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1352,1
    - Dst: K
      Src: /src/libpcap/optimize.c:1352,1
    - Dst: F
      Src: /src/libpcap/optimize.c:1360,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1364,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1378,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1382,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1396,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1400,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1404,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 159
    argCount: 4
    argNames:
    - opt_state
    - s
    - val
    - alter
    argTypes:
    - opt_state_t*
    - struct stmt*
    - bpf_u_int32[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1407
    functionName: opt_stmt
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - F
    - opt_error
    - K
    - vstore
    - BPF_SIZE
    - BPF_OP
    - fold_op
    linkageType: ''
    returnType: void
    signature: void opt_stmt(opt_state_t *opt_state, struct stmt *s, bpf_u_int32 val[],
      int alter)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomuse
      Src: /src/libpcap/optimize.c:1414,1
    - Dst: atomdef
      Src: /src/libpcap/optimize.c:1423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - opt_state
    - s
    - last
    argTypes:
    - opt_state_t*
    - struct stmt*
    - struct stmt*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1409
    functionDepth: 2
    functionLinenumber: 1409
    functionLinenumberEnd: 1435
    functionName: deadstmt
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - atomdef
    - atomuse
    linkageType: ''
    returnType: void
    signature: void deadstmt(opt_state_t *opt_state, struct stmt *s, struct stmt *last[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/optimize.c:1444,1
    - Dst: deadstmt
      Src: /src/libpcap/optimize.c:1447,1
    - Dst: deadstmt
      Src: /src/libpcap/optimize.c:1448,1
    - Dst: ATOMELEM
      Src: /src/libpcap/optimize.c:1451,1
    - Dst: vstore
      Src: /src/libpcap/optimize.c:1458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - opt_state
    - b
    argTypes:
    - opt_state_t*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1437
    functionDepth: 3
    functionLinenumber: 1437
    functionLinenumberEnd: 1465
    functionName: opt_deadstores
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - memset
    - deadstmt
    - vstore
    - ATOMELEM
    linkageType: ''
    returnType: void
    signature: void opt_deadstores(opt_state_t *opt_state, struct block *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BPF_CLASS
      Src: /src/libpcap/optimize.c:1477,1
    - Dst: memset
      Src: /src/libpcap/optimize.c:1492,1
    - Dst: memcpy
      Src: /src/libpcap/optimize.c:1500,1
    - Dst: opt_stmt
      Src: /src/libpcap/optimize.c:1518,1
    - Dst: BPF_CLASS
      Src: /src/libpcap/optimize.c:1550,1
    - Dst: opt_peep
      Src: /src/libpcap/optimize.c:1560,1
    - Dst: opt_deadstores
      Src: /src/libpcap/optimize.c:1561,1
    - Dst: BPF_SRC
      Src: /src/libpcap/optimize.c:1566,1
    - Dst: K
      Src: /src/libpcap/optimize.c:1567,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 3
    argNames:
    - opt_state
    - b
    - do_stmts
    argTypes:
    - opt_state_t*
    - struct block*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1467
    functionDepth: 4
    functionLinenumber: 1467
    functionLinenumberEnd: 1572
    functionName: opt_blk
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - opt_peep
    - BPF_CLASS
    - opt_deadstores
    - K
    - memcpy
    - memset
    - opt_stmt
    - BPF_SRC
    linkageType: ''
    returnType: void
    signature: void opt_blk(opt_state_t *opt_state, struct block *b, int do_stmts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ATOMELEM
      Src: /src/libpcap/optimize.c:1589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - b
    - succ
    argTypes:
    - struct block*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1593
    functionName: use_conflict
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - ATOMELEM
    linkageType: ''
    returnType: int
    signature: int use_conflict(struct block *b, struct block *succ)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JT
      Src: /src/libpcap/optimize.c:1655,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:1655,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:1672,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - child
    - ep
    argTypes:
    - struct block*
    - struct edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1675
    functionName: fold_edge
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - JF
    - JT
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      fold_edge(struct block *child, struct edge *ep)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JT
      Src: /src/libpcap/optimize.c:1694,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1702,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:1702,1
    - Dst: use_conflict
      Src: /src/libpcap/optimize.c:1719,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1719,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1727,1
    - Dst: lowest_set_bit
      Src: /src/libpcap/optimize.c:1748,1
    - Dst: fold_edge
      Src: /src/libpcap/optimize.c:1752,1
    - Dst: use_conflict
      Src: /src/libpcap/optimize.c:1765,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1777,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - opt_state
    - ep
    argTypes:
    - opt_state_t*
    - struct edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1681
    functionDepth: 2
    functionLinenumber: 1681
    functionLinenumberEnd: 1786
    functionName: opt_j
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - lowest_set_bit
    - JF
    - JT
    - use_conflict
    - fold_edge
    linkageType: ''
    returnType: void
    signature: void opt_j(opt_state_t *opt_state, struct edge *ep)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JT
      Src: /src/libpcap/optimize.c:1834,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1835,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:1837,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1867,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1867,1
    - Dst: SET_MEMBER
      Src: /src/libpcap/optimize.c:1876,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:1890,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:1901,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1913,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1913,1
    - Dst: SET_MEMBER
      Src: /src/libpcap/optimize.c:1922,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:1935,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:1945,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:1946,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1955,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1956,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:1958,1
    - Dst: find_dom
      Src: /src/libpcap/optimize.c:1973,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 3
    argNames:
    - opt_state
    - b
    - root
    argTypes:
    - opt_state_t*
    - struct block*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1807
    functionDepth: 2
    functionLinenumber: 1807
    functionLinenumberEnd: 1974
    functionName: or_pullup
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - find_dom
    - JF
    - JT
    - SET_MEMBER
    linkageType: ''
    returnType: void
    signature: void or_pullup(opt_state_t *opt_state, struct block *b, struct block
      *root)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JT
      Src: /src/libpcap/optimize.c:1997,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:1998,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2000,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2007,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2007,1
    - Dst: SET_MEMBER
      Src: /src/libpcap/optimize.c:2010,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2016,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2019,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2024,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2024,1
    - Dst: SET_MEMBER
      Src: /src/libpcap/optimize.c:2027,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2036,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2046,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2047,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2056,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2057,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2059,1
    - Dst: find_dom
      Src: /src/libpcap/optimize.c:2074,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 3
    argNames:
    - opt_state
    - b
    - root
    argTypes:
    - opt_state_t*
    - struct block*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 1976
    functionDepth: 2
    functionLinenumber: 1976
    functionLinenumberEnd: 2075
    functionName: and_pullup
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - find_dom
    - JF
    - JT
    - SET_MEMBER
    linkageType: ''
    returnType: void
    signature: void and_pullup(opt_state_t *opt_state, struct block *b, struct block
      *root)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_val
      Src: /src/libpcap/optimize.c:2083,1
    - Dst: find_inedges
      Src: /src/libpcap/optimize.c:2086,1
    - Dst: opt_blk
      Src: /src/libpcap/optimize.c:2089,1
    - Dst: opt_j
      Src: /src/libpcap/optimize.c:2113,1
    - Dst: opt_j
      Src: /src/libpcap/optimize.c:2114,1
    - Dst: find_inedges
      Src: /src/libpcap/optimize.c:2118,1
    - Dst: or_pullup
      Src: /src/libpcap/optimize.c:2121,1
    - Dst: and_pullup
      Src: /src/libpcap/optimize.c:2122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - opt_state
    - ic
    - do_stmts
    argTypes:
    - opt_state_t*
    - struct icode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2077
    functionDepth: 5
    functionLinenumber: 2077
    functionLinenumberEnd: 2125
    functionName: opt_blks
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - opt_blk
    - init_val
    - and_pullup
    - find_inedges
    - or_pullup
    - opt_j
    linkageType: ''
    returnType: void
    signature: void opt_blks(opt_state_t *opt_state, struct icode *ic, int do_stmts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - struct edge*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2132
    functionName: link_inedge
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void link_inedge(struct edge *parent, struct block *child)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: link_inedge
      Src: /src/libpcap/optimize.c:2150,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2150,1
    - Dst: link_inedge
      Src: /src/libpcap/optimize.c:2151,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - opt_state
    - root
    argTypes:
    - opt_state_t*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2134
    functionDepth: 1
    functionLinenumber: 2134
    functionLinenumberEnd: 2154
    functionName: find_inedges
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 1
    functionsReached:
    - link_inedge
    - JF
    - JT
    linkageType: ''
    returnType: void
    signature: void find_inedges(opt_state_t *opt_state, struct block *root)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BPF_CLASS
      Src: /src/libpcap/optimize.c:2163,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2163,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2163,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2164,1
    - Dst: sappend
      Src: /src/libpcap/optimize.c:2168,1
    - Dst: BPF_CLASS
      Src: /src/libpcap/optimize.c:2176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct block**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2156
    functionDepth: 1
    functionLinenumber: 2156
    functionLinenumberEnd: 2178
    functionName: opt_root
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - BPF_CLASS
    - JF
    - sappend
    - JT
    linkageType: ''
    returnType: void
    signature: void opt_root(struct block **b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libpcap/optimize.c:2186,1
    - Dst: opt_dump
      Src: /src/libpcap/optimize.c:2187,1
    - Dst: find_levels
      Src: /src/libpcap/optimize.c:2201,1
    - Dst: find_dom
      Src: /src/libpcap/optimize.c:2202,1
    - Dst: find_closure
      Src: /src/libpcap/optimize.c:2203,1
    - Dst: find_ud
      Src: /src/libpcap/optimize.c:2204,1
    - Dst: find_edom
      Src: /src/libpcap/optimize.c:2205,1
    - Dst: opt_blks
      Src: /src/libpcap/optimize.c:2206,1
    - Dst: printf
      Src: /src/libpcap/optimize.c:2209,1
    - Dst: opt_dump
      Src: /src/libpcap/optimize.c:2210,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - opt_state
    - ic
    - do_stmts
    argTypes:
    - opt_state_t*
    - struct icode*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2180
    functionDepth: 6
    functionLinenumber: 2180
    functionLinenumberEnd: 2258
    functionName: opt_loop
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - find_ud
    - opt_dump
    - find_edom
    - opt_blks
    - find_levels
    - find_closure
    - printf
    - find_dom
    linkageType: ''
    returnType: void
    signature: void opt_loop(opt_state_t *opt_state, struct icode *ic, int do_stmts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/optimize.c:2269,1
    - Dst: setjmp
      Src: /src/libpcap/optimize.c:2271,1
    - Dst: opt_cleanup
      Src: /src/libpcap/optimize.c:2272,1
    - Dst: opt_init
      Src: /src/libpcap/optimize.c:2275,1
    - Dst: opt_loop
      Src: /src/libpcap/optimize.c:2276,1
    - Dst: opt_loop
      Src: /src/libpcap/optimize.c:2277,1
    - Dst: intern_blocks
      Src: /src/libpcap/optimize.c:2278,1
    - Dst: printf
      Src: /src/libpcap/optimize.c:2281,1
    - Dst: opt_dump
      Src: /src/libpcap/optimize.c:2282,1
    - Dst: opt_root
      Src: /src/libpcap/optimize.c:2285,1
    - Dst: printf
      Src: /src/libpcap/optimize.c:2288,1
    - Dst: opt_dump
      Src: /src/libpcap/optimize.c:2289,1
    - Dst: opt_cleanup
      Src: /src/libpcap/optimize.c:2292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ic
    - errbuf
    argTypes:
    - struct icode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2264
    functionDepth: 7
    functionLinenumber: 2264
    functionLinenumberEnd: 2294
    functionName: bpf_optimize
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - opt_loop
    - opt_dump
    - opt_init
    - setjmp
    - printf
    - opt_cleanup
    - opt_root
    - memset
    - intern_blocks
    linkageType: ''
    returnType: int
    signature: int bpf_optimize(struct icode *ic, char *errbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isMarked
      Src: /src/libpcap/optimize.c:2299,1
    - Dst: Mark
      Src: /src/libpcap/optimize.c:2300,1
    - Dst: BPF_CLASS
      Src: /src/libpcap/optimize.c:2301,1
    - Dst: make_marks
      Src: /src/libpcap/optimize.c:2302,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2302,1
    - Dst: make_marks
      Src: /src/libpcap/optimize.c:2303,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ic
    - p
    argTypes:
    - struct icode*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2296
    functionDepth: 1
    functionLinenumber: 2296
    functionLinenumberEnd: 2306
    functionName: make_marks
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 1
    functionsReached:
    - isMarked
    - BPF_CLASS
    - JF
    - JT
    - Mark
    - make_marks
    linkageType: ''
    returnType: void
    signature: void make_marks(struct icode *ic, struct block *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_marks
      Src: /src/libpcap/optimize.c:2316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ic
    argTypes:
    - struct icode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2312
    functionDepth: 2
    functionLinenumber: 2312
    functionLinenumberEnd: 2317
    functionName: mark_code
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - make_marks
    linkageType: ''
    returnType: void
    signature: void mark_code(struct icode *ic)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - struct slist*
    - struct slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2323
    functionDepth: 0
    functionLinenumber: 2323
    functionLinenumberEnd: 2340
    functionName: eq_slist
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eq_slist(struct slist *x, struct slist *y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eq_slist
      Src: /src/libpcap/optimize.c:2349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - b0
    - b1
    argTypes:
    - struct block*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2342
    functionDepth: 1
    functionLinenumber: 2342
    functionLinenumberEnd: 2351
    functionName: eq_blk
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - eq_slist
    linkageType: ''
    returnType: int
    signature: int eq_blk(struct block *b0, struct block *b1)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mark_code
      Src: /src/libpcap/optimize.c:2364,1
    - Dst: isMarked
      Src: /src/libpcap/optimize.c:2368,1
    - Dst: isMarked
      Src: /src/libpcap/optimize.c:2371,1
    - Dst: eq_blk
      Src: /src/libpcap/optimize.c:2373,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2382,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2384,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2386,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2386,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2388,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2390,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2390,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - opt_state
    - ic
    argTypes:
    - opt_state_t*
    - struct icode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2353
    functionDepth: 3
    functionLinenumber: 2353
    functionLinenumberEnd: 2395
    functionName: intern_blocks
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 1
    functionsReached:
    - isMarked
    - eq_blk
    - JF
    - JT
    - mark_code
    linkageType: ''
    returnType: void
    signature: void intern_blocks(opt_state_t *opt_state, struct icode *ic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpcap/optimize.c:2400,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2401,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2402,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2403,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2404,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - opt_state
    argTypes:
    - opt_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2406
    functionName: opt_cleanup
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void opt_cleanup(opt_state_t *opt_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libpcap/optimize.c:2417,1
    - Dst: vsnprintf
      Src: /src/libpcap/optimize.c:2418,1
    - Dst: va_end
      Src: /src/libpcap/optimize.c:2420,1
    - Dst: longjmp
      Src: /src/libpcap/optimize.c:2422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - opt_state
    - fmt
    argTypes:
    - opt_state_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2411
    functionDepth: 0
    functionLinenumber: 2411
    functionLinenumberEnd: 2427
    functionName: PCAP_NORETURN::opt_error
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_start
    - longjmp
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void PCAP_NORETURN

      opt_error(opt_state_t *opt_state, const char *fmt, ...)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2441
    functionName: slength
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int
    signature: u_int slength(struct slist *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isMarked
      Src: /src/libpcap/optimize.c:2450,1
    - Dst: Mark
      Src: /src/libpcap/optimize.c:2452,1
    - Dst: count_blocks
      Src: /src/libpcap/optimize.c:2453,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2453,1
    - Dst: count_blocks
      Src: /src/libpcap/optimize.c:2453,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ic
    - p
    argTypes:
    - struct icode*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2447
    functionDepth: 1
    functionLinenumber: 2447
    functionLinenumberEnd: 2454
    functionName: count_blocks
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 1
    functionsReached:
    - isMarked
    - count_blocks
    - JF
    - JT
    - Mark
    linkageType: ''
    returnType: int
    signature: int count_blocks(struct icode *ic, struct block *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isMarked
      Src: /src/libpcap/optimize.c:2465,1
    - Dst: Mark
      Src: /src/libpcap/optimize.c:2468,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:2474,1
    - Dst: number_blks_r
      Src: /src/libpcap/optimize.c:2479,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2479,1
    - Dst: number_blks_r
      Src: /src/libpcap/optimize.c:2480,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - opt_state
    - ic
    - p
    argTypes:
    - opt_state_t*
    - struct icode*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2460
    functionDepth: 1
    functionLinenumber: 2460
    functionLinenumberEnd: 2481
    functionName: number_blks_r
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 1
    functionsReached:
    - isMarked
    - opt_error
    - JF
    - JT
    - Mark
    - number_blks_r
    linkageType: ''
    returnType: void
    signature: void number_blks_r(opt_state_t *opt_state, struct icode *ic, struct
      block *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isMarked
      Src: /src/libpcap/optimize.c:2506,1
    - Dst: Mark
      Src: /src/libpcap/optimize.c:2508,1
    - Dst: count_stmts
      Src: /src/libpcap/optimize.c:2509,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2509,1
    - Dst: count_stmts
      Src: /src/libpcap/optimize.c:2509,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2509,1
    - Dst: slength
      Src: /src/libpcap/optimize.c:2510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ic
    - p
    argTypes:
    - struct icode*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2501
    functionDepth: 1
    functionLinenumber: 2501
    functionLinenumberEnd: 2511
    functionName: count_stmts
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 1
    functionsReached:
    - isMarked
    - count_stmts
    - slength
    - JF
    - JT
    - Mark
    linkageType: ''
    returnType: u_int
    signature: u_int count_stmts(struct icode *ic, struct block *p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: unMarkAll
      Src: /src/libpcap/optimize.c:2530,1
    - Dst: count_blocks
      Src: /src/libpcap/optimize.c:2531,1
    - Dst: calloc
      Src: /src/libpcap/optimize.c:2532,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:2534,1
    - Dst: unMarkAll
      Src: /src/libpcap/optimize.c:2535,1
    - Dst: number_blks_r
      Src: /src/libpcap/optimize.c:2537,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:2543,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:2550,1
    - Dst: calloc
      Src: /src/libpcap/optimize.c:2552,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:2554,1
    - Dst: calloc
      Src: /src/libpcap/optimize.c:2560,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:2562,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:2580,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:2589,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:2599,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:2608,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:2616,1
    - Dst: malloc
      Src: /src/libpcap/optimize.c:2620,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:2622,1
    - Dst: slength
      Src: /src/libpcap/optimize.c:2652,1
    - Dst: calloc
      Src: /src/libpcap/optimize.c:2659,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:2661,1
    - Dst: calloc
      Src: /src/libpcap/optimize.c:2663,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:2665,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 84
    argCount: 2
    argNames:
    - opt_state
    - ic
    argTypes:
    - opt_state_t*
    - struct icode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2667
      start: 2518
    functionDepth: 2
    functionLinenumber: 2518
    functionLinenumberEnd: 2667
    functionName: opt_init
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 1
    functionsReached:
    - count_blocks
    - calloc
    - slength
    - opt_error
    - number_blks_r
    - unMarkAll
    - malloc
    linkageType: ''
    returnType: void
    signature: void opt_init(opt_state_t *opt_state, struct icode *ic)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: isMarked
      Src: /src/libpcap/optimize.c:2693,1
    - Dst: Mark
      Src: /src/libpcap/optimize.c:2695,1
    - Dst: convert_code_r
      Src: /src/libpcap/optimize.c:2697,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2697,1
    - Dst: convert_code_r
      Src: /src/libpcap/optimize.c:2699,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2699,1
    - Dst: slength
      Src: /src/libpcap/optimize.c:2702,1
    - Dst: calloc
      Src: /src/libpcap/optimize.c:2710,1
    - Dst: conv_error
      Src: /src/libpcap/optimize.c:2712,1
    - Dst: printf
      Src: /src/libpcap/optimize.c:2719,1
    - Dst: BPF_CLASS
      Src: /src/libpcap/optimize.c:2733,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2736,1
    - Dst: conv_error
      Src: /src/libpcap/optimize.c:2737,1
    - Dst: printf
      Src: /src/libpcap/optimize.c:2752,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2757,1
    - Dst: conv_error
      Src: /src/libpcap/optimize.c:2758,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2766,1
    - Dst: conv_error
      Src: /src/libpcap/optimize.c:2767,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2772,1
    - Dst: conv_error
      Src: /src/libpcap/optimize.c:2773,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2781,1
    - Dst: conv_error
      Src: /src/libpcap/optimize.c:2782,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2786,1
    - Dst: conv_error
      Src: /src/libpcap/optimize.c:2787,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2795,1
    - Dst: conv_error
      Src: /src/libpcap/optimize.c:2796,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2805,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2813,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2816,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:2831,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 115
    argCount: 3
    argNames:
    - conv_state
    - ic
    - p
    argTypes:
    - conv_state_t*
    - struct icode*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2684
    functionDepth: 1
    functionLinenumber: 2684
    functionLinenumberEnd: 2850
    functionName: convert_code_r
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 1
    functionsReached:
    - isMarked
    - conv_error
    - calloc
    - slength
    - BPF_CLASS
    - JF
    - printf
    - JT
    - Mark
    - free
    - convert_code_r
    linkageType: ''
    returnType: int
    signature: int convert_code_r(conv_state_t *conv_state, struct icode *ic, struct
      block *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/optimize.c:2881,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2882,1
    - Dst: unMarkAll
      Src: /src/libpcap/optimize.c:2891,1
    - Dst: count_stmts
      Src: /src/libpcap/optimize.c:2892,1
    - Dst: malloc
      Src: /src/libpcap/optimize.c:2894,1
    - Dst: snprintf
      Src: /src/libpcap/optimize.c:2896,1
    - Dst: memset
      Src: /src/libpcap/optimize.c:2900,1
    - Dst: unMarkAll
      Src: /src/libpcap/optimize.c:2904,1
    - Dst: convert_code_r
      Src: /src/libpcap/optimize.c:2905,1
    - Dst: free
      Src: /src/libpcap/optimize.c:2907,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - ic
    - root
    - lenp
    - errbuf
    argTypes:
    - struct icode*
    - struct block*
    - u_int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2911
      start: 2871
    functionDepth: 2
    functionLinenumber: 2871
    functionLinenumberEnd: 2911
    functionName: icode_to_fcode
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - count_stmts
    - setjmp
    - snprintf
    - free
    - memset
    - unMarkAll
    - malloc
    - convert_code_r
    linkageType: ''
    returnType: struct bpf_insn
    signature: "struct bpf_insn *\nicode_to_fcode(struct icode *ic, struct block *root,
      u_int *lenp,\n    char *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libpcap/optimize.c:2921,1
    - Dst: vsnprintf
      Src: /src/libpcap/optimize.c:2922,1
    - Dst: va_end
      Src: /src/libpcap/optimize.c:2924,1
    - Dst: longjmp
      Src: /src/libpcap/optimize.c:2925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - conv_state
    - fmt
    argTypes:
    - conv_state_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2930
      start: 2916
    functionDepth: 0
    functionLinenumber: 2916
    functionLinenumberEnd: 2930
    functionName: PCAP_NORETURN::conv_error
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_start
    - longjmp
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void PCAP_NORETURN

      conv_error(conv_state_t *conv_state, const char *fmt, ...)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_validate_filter
      Src: /src/libpcap/optimize.c:2948,1
    - Dst: snprintf
      Src: /src/libpcap/optimize.c:2949,1
    - Dst: pcap_freecode
      Src: /src/libpcap/optimize.c:2957,1
    - Dst: malloc
      Src: /src/libpcap/optimize.c:2961,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/optimize.c:2963,1
    - Dst: memcpy
      Src: /src/libpcap/optimize.c:2967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - p
    - fp
    argTypes:
    - pcap_t*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2969
      start: 2940
    functionDepth: 2
    functionLinenumber: 2940
    functionLinenumberEnd: 2969
    functionName: pcapint_install_bpf_program
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - pcap_freecode
    - pcapint_fmt_errmsg_for_errno
    - memcpy
    - snprintf
    - pcapint_validate_filter
    - malloc
    linkageType: ''
    returnType: int
    signature: int pcapint_install_bpf_program(pcap_t *p, struct bpf_program *fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isMarked
      Src: /src/libpcap/optimize.c:2979,1
    - Dst: Mark
      Src: /src/libpcap/optimize.c:2981,1
    - Dst: slength
      Src: /src/libpcap/optimize.c:2983,1
    - Dst: min
      Src: /src/libpcap/optimize.c:2984,1
    - Dst: fprintf
      Src: /src/libpcap/optimize.c:2986,1
    - Dst: fprintf
      Src: /src/libpcap/optimize.c:2988,1
    - Dst: bpf_image
      Src: /src/libpcap/optimize.c:2988,1
    - Dst: fprintf
      Src: /src/libpcap/optimize.c:2990,1
    - Dst: fprintf
      Src: /src/libpcap/optimize.c:2993,1
    - Dst: fprintf
      Src: /src/libpcap/optimize.c:2994,1
    - Dst: fprintf
      Src: /src/libpcap/optimize.c:2995,1
    - Dst: fprintf
      Src: /src/libpcap/optimize.c:2996,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:2997,1
    - Dst: fprintf
      Src: /src/libpcap/optimize.c:2998,1
    - Dst: fprintf
      Src: /src/libpcap/optimize.c:2999,1
    - Dst: dot_dump_node
      Src: /src/libpcap/optimize.c:3001,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:3001,1
    - Dst: dot_dump_node
      Src: /src/libpcap/optimize.c:3002,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:3002,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - ic
    - block
    - prog
    - out
    argTypes:
    - struct icode*
    - struct block*
    - struct bpf_program*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3003
      start: 2972
    functionDepth: 1
    functionLinenumber: 2972
    functionLinenumberEnd: 3003
    functionName: dot_dump_node
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 1
    functionsReached:
    - isMarked
    - slength
    - fprintf
    - JF
    - JT
    - dot_dump_node
    - Mark
    - bpf_image
    - min
    linkageType: ''
    returnType: void
    signature: "void dot_dump_node(struct icode *ic, struct block *block, struct bpf_program
      *prog,\n    FILE *out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isMarked
      Src: /src/libpcap/optimize.c:3008,1
    - Dst: Mark
      Src: /src/libpcap/optimize.c:3010,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:3012,1
    - Dst: fprintf
      Src: /src/libpcap/optimize.c:3013,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:3014,1
    - Dst: fprintf
      Src: /src/libpcap/optimize.c:3015,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:3016,1
    - Dst: dot_dump_edge
      Src: /src/libpcap/optimize.c:3018,1
    - Dst: JT
      Src: /src/libpcap/optimize.c:3018,1
    - Dst: dot_dump_edge
      Src: /src/libpcap/optimize.c:3019,1
    - Dst: JF
      Src: /src/libpcap/optimize.c:3019,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ic
    - block
    - out
    argTypes:
    - struct icode*
    - struct block*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3020
      start: 3005
    functionDepth: 1
    functionLinenumber: 3005
    functionLinenumberEnd: 3020
    functionName: dot_dump_edge
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 1
    functionsReached:
    - isMarked
    - fprintf
    - JF
    - dot_dump_edge
    - JT
    - Mark
    linkageType: ''
    returnType: void
    signature: void dot_dump_edge(struct icode *ic, struct block *block, FILE *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/optimize.c:3047,1
    - Dst: icode_to_fcode
      Src: /src/libpcap/optimize.c:3048,1
    - Dst: fprintf
      Src: /src/libpcap/optimize.c:3052,1
    - Dst: unMarkAll
      Src: /src/libpcap/optimize.c:3053,1
    - Dst: dot_dump_node
      Src: /src/libpcap/optimize.c:3054,1
    - Dst: unMarkAll
      Src: /src/libpcap/optimize.c:3055,1
    - Dst: dot_dump_edge
      Src: /src/libpcap/optimize.c:3056,1
    - Dst: fprintf
      Src: /src/libpcap/optimize.c:3057,1
    - Dst: free
      Src: /src/libpcap/optimize.c:3059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ic
    - errbuf
    argTypes:
    - struct icode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 3041
    functionDepth: 3
    functionLinenumber: 3041
    functionLinenumberEnd: 3061
    functionName: dot_dump
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - icode_to_fcode
    - fprintf
    - dot_dump_edge
    - dot_dump_node
    - free
    - memset
    - unMarkAll
    linkageType: ''
    returnType: int
    signature: int dot_dump(struct icode *ic, char *errbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/optimize.c:3068,1
    - Dst: icode_to_fcode
      Src: /src/libpcap/optimize.c:3069,1
    - Dst: bpf_dump
      Src: /src/libpcap/optimize.c:3072,1
    - Dst: putchar
      Src: /src/libpcap/optimize.c:3073,1
    - Dst: free
      Src: /src/libpcap/optimize.c:3074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ic
    - errbuf
    argTypes:
    - struct icode*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3076
      start: 3063
    functionDepth: 3
    functionLinenumber: 3063
    functionLinenumberEnd: 3076
    functionName: plain_dump
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 0
    functionsReached:
    - icode_to_fcode
    - bpf_dump
    - putchar
    - free
    - memset
    linkageType: ''
    returnType: int
    signature: int plain_dump(struct icode *ic, char *errbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dot_dump
      Src: /src/libpcap/optimize.c:3089,1
    - Dst: plain_dump
      Src: /src/libpcap/optimize.c:3091,1
    - Dst: opt_error
      Src: /src/libpcap/optimize.c:3093,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - opt_state
    - ic
    argTypes:
    - opt_state_t*
    - struct icode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 3078
    functionDepth: 4
    functionLinenumber: 3078
    functionLinenumberEnd: 3094
    functionName: opt_dump
    functionSourceFile: /src/libpcap/optimize.c
    functionUses: 2
    functionsReached:
    - dot_dump
    - opt_error
    - plain_dump
    linkageType: ''
    returnType: void
    signature: void opt_dump(opt_state_t *opt_state, struct icode *ic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/libpcap/etherent.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: skip_space
    functionSourceFile: /src/libpcap/etherent.c
    functionUses: 0
    functionsReached:
    - getc
    linkageType: ''
    returnType: int
    signature: int skip_space(FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/libpcap/etherent.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: skip_line
    functionSourceFile: /src/libpcap/etherent.c
    functionUses: 0
    functionsReached:
    - getc
    linkageType: ''
    returnType: int
    signature: int skip_line(FILE *f)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/etherent.c:81,1
    - Dst: skip_space
      Src: /src/libpcap/etherent.c:84,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/etherent.c:92,1
    - Dst: skip_line
      Src: /src/libpcap/etherent.c:93,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/etherent.c:101,1
    - Dst: getc
      Src: /src/libpcap/etherent.c:102,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/etherent.c:105,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/etherent.c:107,1
    - Dst: getc
      Src: /src/libpcap/etherent.c:108,1
    - Dst: getc
      Src: /src/libpcap/etherent.c:115,1
    - Dst: skip_line
      Src: /src/libpcap/etherent.c:122,1
    - Dst: skip_space
      Src: /src/libpcap/etherent.c:127,1
    - Dst: skip_line
      Src: /src/libpcap/etherent.c:136,1
    - Dst: getc
      Src: /src/libpcap/etherent.c:148,1
    - Dst: skip_line
      Src: /src/libpcap/etherent.c:157,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 63
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 161
    functionName: pcap_next_etherent
    functionSourceFile: /src/libpcap/etherent.c
    functionUses: 0
    functionsReached:
    - skip_space
    - PCAP_ISXDIGIT
    - pcapint_xdtoi
    - skip_line
    - memset
    - getc
    linkageType: ''
    returnType: struct pcap_etherent
    signature: 'struct pcap_etherent *

      pcap_next_etherent(FILE *fp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/libpcap/pcap.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: internal_wsockfini
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: void internal_wsockfini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errbuf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: internal_wsockinit
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int internal_wsockinit(char *errbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_wsockinit
      Src: /src/libpcap/pcap.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: wsockinit
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 1
    functionsReached:
    - internal_wsockinit
    linkageType: ''
    returnType: int
    signature: int wsockinit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_wsockinit
      Src: /src/libpcap/pcap.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: pcap_wsockinit
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - internal_wsockinit
    linkageType: ''
    returnType: int
    signature: int pcap_wsockinit(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:236,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:247,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:260,1
    - Dst: pcapint_fmt_set_encoding
      Src: /src/libpcap/pcap.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - opts
    - errbuf
    argTypes:
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 286
    functionName: pcap_init
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_set_encoding
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_init(unsigned int opts, char *errbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:306,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pcap
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 313
    functionName: pcap_set_not_initialized_message
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void pcap_set_not_initialized_message(pcap_t *pcap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pcap
    - cnt
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: pcap_read_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: "int pcap_read_not_initialized(pcap_t *pcap, int cnt _U_, pcap_handler
      callback _U_,\n    u_char *user _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pcap
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: pcap_inject_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: int pcap_inject_not_initialized(pcap_t *pcap, const void * buf _U_,
      int size _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcap
    - _U_
    argTypes:
    - pcap_t*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: pcap_setfilter_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: int pcap_setfilter_not_initialized(pcap_t *pcap, struct bpf_program
      *fp _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcap
    - _U_
    argTypes:
    - pcap_t*
    - pcap_direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: pcap_setdirection_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: int pcap_setdirection_not_initialized(pcap_t *pcap, pcap_direction_t
      d _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcap
    - dlt
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: pcap_set_datalink_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: int pcap_set_datalink_not_initialized(pcap_t *pcap, int dlt _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pcap
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: pcap_getnonblock_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: int pcap_getnonblock_not_initialized(pcap_t *pcap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcap
    - _U_
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: pcap_stats_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: int pcap_stats_not_initialized(pcap_t *pcap, struct pcap_stat *ps _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcap
    - pcap_stat_size
    argTypes:
    - pcap_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: pcap_stats_ex_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: struct pcap_stat
    signature: 'struct pcap_stat *

      pcap_stats_ex_not_initialized(pcap_t *pcap, int *pcap_stat_size _U_)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcap
    - dim
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: pcap_setbuff_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: int pcap_setbuff_not_initialized(pcap_t *pcap, int dim _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcap
    - mode
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: pcap_setmode_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: int pcap_setmode_not_initialized(pcap_t *pcap, int mode _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcap
    - size
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 402
    functionName: pcap_setmintocopy_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: int pcap_setmintocopy_not_initialized(pcap_t *pcap, int size _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pcap
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: pcap_getevent_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE pcap_getevent_not_initialized(pcap_t *pcap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pcap
    - oid
    - data
    - lenp
    argTypes:
    - pcap_t*
    - bpf_u_int32
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 417
    functionName: pcap_oid_get_request_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: "int pcap_oid_get_request_not_initialized(pcap_t *pcap, bpf_u_int32
      oid _U_,\n    void *data _U_, size_t *lenp _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pcap
    - oid
    - data
    - lenp
    argTypes:
    - pcap_t*
    - bpf_u_int32
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 425
    functionName: pcap_oid_set_request_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: "int pcap_oid_set_request_not_initialized(pcap_t *pcap, bpf_u_int32
      oid _U_,\n    const void *data _U_, size_t *lenp _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pcap
    - queue
    - sync
    argTypes:
    - pcap_t*
    - pcap_send_queue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: pcap_sendqueue_transmit_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: u_int
    signature: "u_int pcap_sendqueue_transmit_not_initialized(pcap_t *pcap, pcap_send_queue*
      queue _U_,\n    int sync _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcap
    - size
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: pcap_setuserbuffer_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: int pcap_setuserbuffer_not_initialized(pcap_t *pcap, int size _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pcap
    - filename
    - maxsize
    - maxpacks
    argTypes:
    - pcap_t*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 448
    functionName: pcap_live_dump_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: "int pcap_live_dump_not_initialized(pcap_t *pcap, char *filename _U_,
      int maxsize _U_,\n    int maxpacks _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_not_initialized_message
      Src: /src/libpcap/pcap.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcap
    - sync
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 455
    functionName: pcap_live_dump_ended_not_initialized
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_set_not_initialized_message
    linkageType: ''
    returnType: int
    signature: int pcap_live_dump_ended_not_initialized(pcap_t *pcap, int sync _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::can_set_rfmon_op
      Src: /src/libpcap/pcap.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: pcap_can_set_rfmon
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::can_set_rfmon_op
    linkageType: ''
    returnType: int
    signature: int pcap_can_set_rfmon(pcap_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/pcap.c:497,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:499,1
    - Dst: calloc
      Src: /src/libpcap/pcap.c:506,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:509,1
    - Dst: memcpy
      Src: /src/libpcap/pcap.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - p
    - tstamp_typesp
    argTypes:
    - pcap_t*
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 517
    functionName: pcap_list_tstamp_types
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    - pcapint_fmt_errmsg_for_errno
    - malloc
    linkageType: ''
    returnType: int
    signature: int pcap_list_tstamp_types(pcap_t *p, int **tstamp_typesp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpcap/pcap.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tstamp_type_list
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: pcap_free_tstamp_types
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void pcap_free_tstamp_types(int *tstamp_type_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - user
    - h
    - pkt
    argTypes:
    - u_char*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: pcapint_oneshot
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pcapint_oneshot(u_char *user, const struct pcap_pkthdr *h, const
      u_char *pkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_dispatch
      Src: /src/libpcap/pcap.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p
    - h
    argTypes:
    - pcap_t*
    - struct pcap_pkthdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 562
    functionName: pcap_next
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_dispatch
    linkageType: ''
    returnType: u_char
    signature: 'u_char *

      pcap_next(pcap_t *p, struct pcap_pkthdr *h)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_offline_read
      Src: /src/libpcap/pcap.c:581,1
    - Dst: pcap_t*::read_op
      Src: /src/libpcap/pcap.c:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - p
    - pkt_header
    - pkt_data
    argTypes:
    - pcap_t*
    - struct pcap_pkthdr**
    - u_char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 616
    functionName: pcap_next_ex
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::read_op
    - pcapint_offline_read
    linkageType: ''
    returnType: int
    signature: "int pcap_next_ex(pcap_t *p, struct pcap_pkthdr **pkt_header,\n    const
      u_char **pkt_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_platform_finddevs
      Src: /src/libpcap/pcap.c:676,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/pcap.c:682,1
    - Dst: findalldevs_op
      Src: /src/libpcap/pcap.c:692,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/pcap.c:698,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - alldevsp
    - errbuf
    argTypes:
    - pcap_if_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 709
    functionName: pcap_findalldevs
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_platform_finddevs
    - pcap_freealldevs
    - findalldevs_op
    linkageType: ''
    returnType: int
    signature: int pcap_findalldevs(pcap_if_t **alldevsp, char *errbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/pcap.c:716,1
    - Dst: memcpy
      Src: /src/libpcap/pcap.c:718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sa
    - sa_length
    argTypes:
    - struct sockaddr*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 719
    functionName: dup_sockaddr
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    linkageType: ''
    returnType: struct sockaddr
    signature: 'struct sockaddr *

      dup_sockaddr(struct sockaddr *sa, size_t sa_length)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libpcap/pcap.c:785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - dev
    argTypes:
    - pcap_if_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 789
    functionName: get_figure_of_merit
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: u_int
    signature: u_int get_figure_of_merit(pcap_if_t *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 955
    functionName: get_if_description
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void get_if_description(const char *name _U_)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_ISDIGIT
      Src: /src/libpcap/pcap.c:985,1
    - Dst: pcapint_find_or_add_dev
      Src: /src/libpcap/pcap.c:1001,1
    - Dst: get_if_description
      Src: /src/libpcap/pcap.c:1002,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - devlistp
    - name
    - if_flags
    - get_flags_func
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    - uint64_t
    - get_if_flags_func
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 1003
    functionName: pcapint_find_or_add_if
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_find_or_add_dev
    - PCAP_ISDIGIT
    - get_if_description
    linkageType: ''
    returnType: pcap_if_t
    signature: "pcap_if_t *\npcapint_find_or_add_if(pcap_if_list_t *devlistp, const
      char *name,\n    uint64_t if_flags, get_if_flags_func get_flags_func, char *errbuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_find_or_add_if
      Src: /src/libpcap/pcap.c:1037,1
    - Dst: pcapint_add_addr_to_dev
      Src: /src/libpcap/pcap.c:1059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 13
    argNames:
    - devlistp
    - name
    - if_flags
    - get_flags_func
    - addr
    - addr_size
    - netmask
    - netmask_size
    - broadaddr
    - broadaddr_size
    - dstaddr
    - dstaddr_size
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    - uint64_t
    - get_if_flags_func
    - struct sockaddr*
    - size_t
    - struct sockaddr*
    - size_t
    - struct sockaddr*
    - size_t
    - struct sockaddr*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1062
    functionName: pcapint_add_addr_to_if
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 1
    functionsReached:
    - pcapint_find_or_add_if
    - pcapint_add_addr_to_dev
    linkageType: ''
    returnType: int
    signature: "int pcapint_add_addr_to_if(pcap_if_list_t *devlistp, const char *name,\n
      \   uint64_t if_flags, get_if_flags_func get_flags_func,\n    struct sockaddr
      *addr, size_t addr_size,\n    struct sockaddr *netmask, size_t netmask_size,\n
      \   struct sockaddr *broadaddr, size_t broadaddr_size,\n    struct sockaddr
      *dstaddr, size_t dstaddr_size,\n    char *errbuf)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/pcap.c:1082,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:1084,1
    - Dst: dup_sockaddr
      Src: /src/libpcap/pcap.c:1091,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:1093,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1095,1
    - Dst: dup_sockaddr
      Src: /src/libpcap/pcap.c:1102,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:1104,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1107,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1108,1
    - Dst: dup_sockaddr
      Src: /src/libpcap/pcap.c:1115,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:1117,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1120,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1122,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1123,1
    - Dst: dup_sockaddr
      Src: /src/libpcap/pcap.c:1130,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:1132,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1135,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1137,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1139,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1140,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 10
    argNames:
    - curdev
    - addr
    - addr_size
    - netmask
    - netmask_size
    - broadaddr
    - broadaddr_size
    - dstaddr
    - dstaddr_size
    - errbuf
    argTypes:
    - pcap_if_t*
    - struct sockaddr*
    - size_t
    - struct sockaddr*
    - size_t
    - struct sockaddr*
    - size_t
    - struct sockaddr*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1069
    functionDepth: 2
    functionLinenumber: 1069
    functionLinenumberEnd: 1173
    functionName: pcapint_add_addr_to_dev
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 1
    functionsReached:
    - free
    - pcapint_fmt_errmsg_for_errno
    - malloc
    - dup_sockaddr
    linkageType: ''
    returnType: int
    signature: "int pcapint_add_addr_to_dev(pcap_if_t *curdev,\n    struct sockaddr
      *addr, size_t addr_size,\n    struct sockaddr *netmask, size_t netmask_size,\n
      \   struct sockaddr *broadaddr, size_t broadaddr_size,\n    struct sockaddr
      *dstaddr, size_t dstaddr_size,\n    char *errbuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_find_dev
      Src: /src/libpcap/pcap.c:1193,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap.c:1218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - devlistp
    - name
    - flags
    - get_flags_func
    - description
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    - bpf_u_int32
    - get_if_flags_func
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1219
    functionName: pcapint_find_or_add_dev
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 1
    functionsReached:
    - pcapint_add_dev
    - pcapint_find_dev
    linkageType: ''
    returnType: pcap_if_t
    signature: "pcap_if_t *\npcapint_find_or_add_dev(pcap_if_list_t *devlistp, const
      char *name, bpf_u_int32 flags,\n    get_if_flags_func get_flags_func, const
      char *description, char *errbuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libpcap/pcap.c:1235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - devlistp
    - name
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1249
    functionName: pcapint_find_dev
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: pcap_if_t
    signature: 'pcap_if_t *

      pcapint_find_dev(pcap_if_list_t *devlistp, const char *name)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/pcap.c:1266,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:1268,1
    - Dst: strdup
      Src: /src/libpcap/pcap.c:1277,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:1279,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1281,1
    - Dst: strdup
      Src: /src/libpcap/pcap.c:1293,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:1295,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1297,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1298,1
    - Dst: get_figure_of_merit
      Src: /src/libpcap/pcap.c:1313,1
    - Dst: get_figure_of_merit
      Src: /src/libpcap/pcap.c:1351,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 5
    argNames:
    - devlistp
    - name
    - flags
    - description
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    - bpf_u_int32
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1381
    functionName: pcapint_add_dev
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 2
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - strdup
    - get_figure_of_merit
    - free
    - malloc
    linkageType: ''
    returnType: pcap_if_t
    signature: "pcap_if_t *\npcapint_add_dev(pcap_if_list_t *devlistp, const char
      *name, bpf_u_int32 flags,\n    const char *description, char *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap.c:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - devlistp
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1386
    functionDepth: 3
    functionLinenumber: 1386
    functionLinenumberEnd: 1399
    functionName: pcapint_add_any_dev
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_add_dev
    linkageType: ''
    returnType: pcap_if_t
    signature: 'pcap_if_t *

      pcapint_add_any_dev(pcap_if_list_t *devlistp, char *errbuf)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpcap/pcap.c:1419,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1421,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1423,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1425,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1426,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1432,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1438,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - alldevs
    argTypes:
    - pcap_if_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1445
    functionName: pcap_freealldevs
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void pcap_freealldevs(pcap_if_t *alldevs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:1492,1
    - Dst: pcap_findalldevs
      Src: /src/libpcap/pcap.c:1497,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:1512,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:1519,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/pcap.c:1523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - errbuf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1461
    functionDepth: 2
    functionLinenumber: 1461
    functionLinenumberEnd: 1525
    functionName: pcap_lookupdev
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    - pcap_findalldevs
    - snprintf
    - pcap_freealldevs
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_lookupdev(char *errbuf)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/pcap.c:1656,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:1658,1
    - Dst: memcpy
      Src: /src/libpcap/pcap.c:1662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p
    - len
    - ebuf
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1651
    functionDepth: 2
    functionLinenumber: 1651
    functionLinenumberEnd: 1665
    functionName: get_substring
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - memcpy
    - pcapint_fmt_errmsg_for_errno
    - malloc
    linkageType: ''
    returnType: char
    signature: 'char *

      get_substring(const char *p, size_t len, char *ebuf)'
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:1716,1
    - Dst: strcmp
      Src: /src/libpcap/pcap.c:1720,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:1721,1
    - Dst: strchr
      Src: /src/libpcap/pcap.c:1755,1
    - Dst: strdup
      Src: /src/libpcap/pcap.c:1762,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:1764,1
    - Dst: strncmp
      Src: /src/libpcap/pcap.c:1781,1
    - Dst: strdup
      Src: /src/libpcap/pcap.c:1787,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:1789,1
    - Dst: malloc
      Src: /src/libpcap/pcap.c:1805,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:1807,1
    - Dst: memcpy
      Src: /src/libpcap/pcap.c:1811,1
    - Dst: pcapint_strcasecmp
      Src: /src/libpcap/pcap.c:1830,1
    - Dst: strdup
      Src: /src/libpcap/pcap.c:1831,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:1833,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1835,1
    - Dst: pcapint_strcasecmp
      Src: /src/libpcap/pcap.c:1850,1
    - Dst: pcapint_strcasecmp
      Src: /src/libpcap/pcap.c:1851,1
    - Dst: strchr
      Src: /src/libpcap/pcap.c:1852,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1859,1
    - Dst: strdup
      Src: /src/libpcap/pcap.c:1860,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:1862,1
    - Dst: strcspn
      Src: /src/libpcap/pcap.c:1874,1
    - Dst: get_substring
      Src: /src/libpcap/pcap.c:1875,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1880,1
    - Dst: strchr
      Src: /src/libpcap/pcap.c:1893,1
    - Dst: get_substring
      Src: /src/libpcap/pcap.c:1901,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1906,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1907,1
    - Dst: strchr
      Src: /src/libpcap/pcap.c:1949,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:1954,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1956,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1957,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1958,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:1967,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1969,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1970,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1971,1
    - Dst: get_substring
      Src: /src/libpcap/pcap.c:1975,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1980,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1981,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1982,1
    - Dst: strcspn
      Src: /src/libpcap/pcap.c:1992,1
    - Dst: get_substring
      Src: /src/libpcap/pcap.c:1993,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1998,1
    - Dst: free
      Src: /src/libpcap/pcap.c:1999,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2000,1
    - Dst: strlen
      Src: /src/libpcap/pcap.c:2016,1
    - Dst: get_substring
      Src: /src/libpcap/pcap.c:2017,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2022,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2023,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2024,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2025,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2035,1
    - Dst: strdup
      Src: /src/libpcap/pcap.c:2041,1
    - Dst: strdup
      Src: /src/libpcap/pcap.c:2043,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:2045,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2047,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2048,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2049,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2050,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 152
    argCount: 7
    argNames:
    - source
    - schemep
    - userinfop
    - hostp
    - portp
    - pathp
    - ebuf
    argTypes:
    - char*
    - char**
    - char**
    - char**
    - char**
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 1702
    functionDepth: 3
    functionLinenumber: 1702
    functionLinenumberEnd: 2059
    functionName: pcap_parse_source
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - get_substring
    - strlen
    - strchr
    - pcapint_fmt_errmsg_for_errno
    - pcapint_strcasecmp
    - memcpy
    - strdup
    - strcmp
    - snprintf
    - strcspn
    - free
    - strncmp
    - malloc
    linkageType: ''
    returnType: int
    signature: "int pcap_parse_source(const char *source, char **schemep, char **userinfop,\n
      \   char **hostp, char **portp, char **pathp, char *ebuf)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2068,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/pcap.c:2070,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:2073,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2079,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/pcap.c:2084,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/pcap.c:2085,1
    - Dst: strchr
      Src: /src/libpcap/pcap.c:2088,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/pcap.c:2094,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/pcap.c:2095,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/pcap.c:2096,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/pcap.c:2098,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/pcap.c:2101,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/pcap.c:2102,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/pcap.c:2105,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:2107,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/pcap.c:2113,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2118,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/pcap.c:2121,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:2126,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 8
    argNames:
    - source
    - type
    - userinfo
    - host
    - port
    - name
    - uses_ssl
    - errbuf
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - unsigned char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2130
    functionName: pcapint_createsrcstr_ex
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - strchr
    - pcapint_strlcat
    - pcapint_strlcpy
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int pcapint_createsrcstr_ex(char *source, int type, const char *userinfo,
      const char *host,\n    const char *port, const char *name, unsigned char uses_ssl,
      char *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_createsrcstr_ex
      Src: /src/libpcap/pcap.c:2137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - source
    - type
    - host
    - port
    - name
    - errbuf
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2138
      start: 2133
    functionDepth: 1
    functionLinenumber: 2133
    functionLinenumberEnd: 2138
    functionName: pcap_createsrcstr
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_createsrcstr_ex
    linkageType: ''
    returnType: int
    signature: "int pcap_createsrcstr(char *source, int type, const char *host, const
      char *port,\n    const char *name, char *errbuf)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: pcap_parse_source
      Src: /src/libpcap/pcap.c:2159,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2172,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2175,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2176,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2177,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2178,1
    - Dst: strcmp
      Src: /src/libpcap/pcap.c:2183,1
    - Dst: strcmp
      Src: /src/libpcap/pcap.c:2186,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2198,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2200,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2202,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2204,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2207,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2208,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2209,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2210,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2211,1
    - Dst: strcmp
      Src: /src/libpcap/pcap.c:2215,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2220,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2223,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2224,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2225,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2226,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2227,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:2235,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2236,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2237,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2238,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2239,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2240,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 8
    argNames:
    - source
    - type
    - userinfo
    - host
    - port
    - name
    - uses_ssl
    - errbuf
    argTypes:
    - char*
    - int*
    - char*
    - char*
    - char*
    - char*
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2140
    functionDepth: 4
    functionLinenumber: 2140
    functionLinenumberEnd: 2242
    functionName: pcapint_parsesrcstr_ex
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_parse_source
    - strcmp
    - pcapint_strlcpy
    - snprintf
    - free
    linkageType: ''
    returnType: int
    signature: "int pcapint_parsesrcstr_ex(const char *source, int *type, char *userinfo,
      char *host,\n    char *port, char *name, unsigned char *uses_ssl, char *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_parsesrcstr_ex
      Src: /src/libpcap/pcap.c:2248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - source
    - type
    - host
    - port
    - name
    - errbuf
    argTypes:
    - char*
    - int*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2244
    functionDepth: 5
    functionLinenumber: 2244
    functionLinenumberEnd: 2249
    functionName: pcap_parsesrcstr
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_parsesrcstr_ex
    linkageType: ''
    returnType: int
    signature: "int pcap_parsesrcstr(const char *source, int *type, char *host, char
      *port,\n    char *name, char *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - source
    - type
    - userinfo
    - host
    - port
    - name
    - uses_ssl
    - errbuf
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - unsigned char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2261
    functionName: pcapint_createsrcstr_ex
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 1
    functionsReached:
    - pcapint_strlcpy
    linkageType: ''
    returnType: int
    signature: "int pcapint_createsrcstr_ex(char *source _U_, int type _U_, const
      char *userinfo _U_,\n   const char *host _U_, const char *port _U_, const char
      *name _U_,\n   unsigned char uses_ssl _U_, char *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - source
    - type
    - host
    - port
    - name
    - errbuf
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2263
    functionDepth: 0
    functionLinenumber: 2263
    functionLinenumberEnd: 2270
    functionName: pcap_createsrcstr
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    linkageType: ''
    returnType: int
    signature: "int pcap_createsrcstr(char *source _U_, int type _U_, const char *host
      _U_,\n    const char *port _U_, const char *name _U_, char *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - source
    - type
    - userinfo
    - host
    - port
    - name
    - uses_ssl
    - errbuf
    argTypes:
    - char*
    - int*
    - char*
    - char*
    - char*
    - char*
    - unsigned char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2272
    functionDepth: 0
    functionLinenumber: 2272
    functionLinenumberEnd: 2280
    functionName: pcapint_parsesrcstr_ex
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 1
    functionsReached:
    - pcapint_strlcpy
    linkageType: ''
    returnType: int
    signature: "int pcapint_parsesrcstr_ex(const char *source _U_, int *type _U_,\n
      \   char *userinfo _U_, char *host _U_, char *port _U_, char *name _U_,\n    unsigned
      char *uses_ssl _U_, char *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - source
    - type
    - host
    - port
    - name
    - errbuf
    argTypes:
    - char*
    - int*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2282
    functionDepth: 0
    functionLinenumber: 2282
    functionLinenumberEnd: 2289
    functionName: pcap_parsesrcstr
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    linkageType: ''
    returnType: int
    signature: "int pcap_parsesrcstr(const char *source _U_, int *type _U_, char *host
      _U_,\n    char *port _U_, char *name _U_, char *errbuf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libpcap/pcap.c:2309,1
    - Dst: wcslen
      Src: /src/libpcap/pcap.c:2351,1
    - Dst: malloc
      Src: /src/libpcap/pcap.c:2352,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:2354,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:2360,1
    - Dst: strdup
      Src: /src/libpcap/pcap.c:2364,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:2367,1
    - Dst: create_op
      Src: /src/libpcap/pcap.c:2379,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2395,1
    - Dst: pcapint_create_interface
      Src: /src/libpcap/pcap.c:2406,1
    - Dst: free
      Src: /src/libpcap/pcap.c:2411,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - device
    - errbuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2293
    functionDepth: 2
    functionLinenumber: 2293
    functionLinenumberEnd: 2416
    functionName: pcap_create
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_create_interface
    - create_op
    - wcslen
    - pcapint_fmt_errmsg_for_errno
    - strdup
    - snprintf
    - free
    - malloc
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcap_create(const char *device, char *errbuf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - nonblock
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2423
    functionDepth: 0
    functionLinenumber: 2423
    functionLinenumberEnd: 2428
    functionName: pcap_setnonblock_unactivated
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_setnonblock_unactivated(pcap_t *p, int nonblock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2478
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2478
    functionName: initialize_ops
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initialize_ops(pcap_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libpcap/pcap.c:2490,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:2492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - ebuf
    - total_size
    - private_offset
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2480
    functionDepth: 2
    functionLinenumber: 2480
    functionLinenumberEnd: 2520
    functionName: pcap_alloc_pcap_t
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - calloc
    - pcapint_fmt_errmsg_for_errno
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcap_alloc_pcap_t(char *ebuf, size_t total_size, size_t private_offset)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_alloc_pcap_t
      Src: /src/libpcap/pcap.c:2527,1
    - Dst: initialize_ops
      Src: /src/libpcap/pcap.c:2546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - ebuf
    - total_size
    - private_offset
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2522
    functionDepth: 3
    functionLinenumber: 2522
    functionLinenumberEnd: 2573
    functionName: pcapint_create_common
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - initialize_ops
    - pcap_alloc_pcap_t
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcapint_create_common(char *ebuf, size_t total_size, size_t private_offset)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:2579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2575
    functionDepth: 0
    functionLinenumber: 2575
    functionLinenumberEnd: 2584
    functionName: pcapint_check_activated
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcapint_check_activated(pcap_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_check_activated
      Src: /src/libpcap/pcap.c:2589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - snaplen
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2586
    functionDepth: 1
    functionLinenumber: 2586
    functionLinenumberEnd: 2593
    functionName: pcap_set_snaplen
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_check_activated
    linkageType: ''
    returnType: int
    signature: int pcap_set_snaplen(pcap_t *p, int snaplen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_check_activated
      Src: /src/libpcap/pcap.c:2598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - promisc
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2595
    functionDepth: 1
    functionLinenumber: 2595
    functionLinenumberEnd: 2602
    functionName: pcap_set_promisc
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_check_activated
    linkageType: ''
    returnType: int
    signature: int pcap_set_promisc(pcap_t *p, int promisc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_check_activated
      Src: /src/libpcap/pcap.c:2607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - rfmon
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2604
    functionDepth: 1
    functionLinenumber: 2604
    functionLinenumberEnd: 2611
    functionName: pcap_set_rfmon
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_check_activated
    linkageType: ''
    returnType: int
    signature: int pcap_set_rfmon(pcap_t *p, int rfmon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_check_activated
      Src: /src/libpcap/pcap.c:2616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - timeout_ms
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2620
      start: 2613
    functionDepth: 1
    functionLinenumber: 2613
    functionLinenumberEnd: 2620
    functionName: pcap_set_timeout
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_check_activated
    linkageType: ''
    returnType: int
    signature: int pcap_set_timeout(pcap_t *p, int timeout_ms)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_check_activated
      Src: /src/libpcap/pcap.c:2627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - p
    - tstamp_type
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2622
    functionDepth: 1
    functionLinenumber: 2622
    functionLinenumberEnd: 2665
    functionName: pcap_set_tstamp_type
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_check_activated
    linkageType: ''
    returnType: int
    signature: int pcap_set_tstamp_type(pcap_t *p, int tstamp_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_check_activated
      Src: /src/libpcap/pcap.c:2670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - immediate
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2667
    functionDepth: 1
    functionLinenumber: 2667
    functionLinenumberEnd: 2674
    functionName: pcap_set_immediate_mode
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_check_activated
    linkageType: ''
    returnType: int
    signature: int pcap_set_immediate_mode(pcap_t *p, int immediate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_check_activated
      Src: /src/libpcap/pcap.c:2679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - buffer_size
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2676
    functionDepth: 1
    functionLinenumber: 2676
    functionLinenumberEnd: 2689
    functionName: pcap_set_buffer_size
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_check_activated
    linkageType: ''
    returnType: int
    signature: int pcap_set_buffer_size(pcap_t *p, int buffer_size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_check_activated
      Src: /src/libpcap/pcap.c:2696,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - p
    - tstamp_precision
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2691
    functionDepth: 1
    functionLinenumber: 2691
    functionLinenumberEnd: 2738
    functionName: pcap_set_tstamp_precision
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_check_activated
    linkageType: ''
    returnType: int
    signature: int pcap_set_tstamp_precision(pcap_t *p, int tstamp_precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2744
      start: 2740
    functionDepth: 0
    functionLinenumber: 2740
    functionLinenumberEnd: 2744
    functionName: pcap_get_tstamp_precision
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_get_tstamp_precision(pcap_t *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_check_activated
      Src: /src/libpcap/pcap.c:2758,1
    - Dst: pcap_t*::activate_op
      Src: /src/libpcap/pcap.c:2760,1
    - Dst: pcap_t*::setnonblock_op
      Src: /src/libpcap/pcap.c:2767,1
    - Dst: pcap_t*::cleanup_op
      Src: /src/libpcap/pcap.c:2773,1
    - Dst: initialize_ops
      Src: /src/libpcap/pcap.c:2774,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:2787,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/pcap.c:2788,1
    - Dst: initialize_ops
      Src: /src/libpcap/pcap.c:2795,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2798
      start: 2746
    functionDepth: 1
    functionLinenumber: 2746
    functionLinenumberEnd: 2798
    functionName: pcap_activate
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - initialize_ops
    - pcap_statustostr
    - pcap_t*::setnonblock_op
    - pcap_t*::cleanup_op
    - snprintf
    - pcapint_check_activated
    - pcap_t*::activate_op
    linkageType: ''
    returnType: int
    signature: int pcap_activate(pcap_t *p)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pcap_parsesrcstr
      Src: /src/libpcap/pcap.c:2830,1
    - Dst: pcap_open_rpcap
      Src: /src/libpcap/pcap.c:2840,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:2845,1
    - Dst: strncmp
      Src: /src/libpcap/pcap.c:2854,1
    - Dst: strlen
      Src: /src/libpcap/pcap.c:2854,1
    - Dst: strlen
      Src: /src/libpcap/pcap.c:2855,1
    - Dst: strlen
      Src: /src/libpcap/pcap.c:2855,1
    - Dst: strlen
      Src: /src/libpcap/pcap.c:2858,1
    - Dst: pcap_create
      Src: /src/libpcap/pcap.c:2863,1
    - Dst: pcap_set_snaplen
      Src: /src/libpcap/pcap.c:2866,1
    - Dst: pcap_set_promisc
      Src: /src/libpcap/pcap.c:2869,1
    - Dst: pcap_set_timeout
      Src: /src/libpcap/pcap.c:2872,1
    - Dst: pcap_activate
      Src: /src/libpcap/pcap.c:2886,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2898,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:2899,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:2914,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:2915,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/pcap.c:2916,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:2919,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/pcap.c:2920,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:2923,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/pcap.c:2924,1
    - Dst: pcap_close
      Src: /src/libpcap/pcap.c:2926,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 5
    argNames:
    - device
    - snaplen
    - promisc
    - to_ms
    - errbuf
    argTypes:
    - char*
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2928
      start: 2800
    functionDepth: 6
    functionLinenumber: 2800
    functionLinenumberEnd: 2928
    functionName: pcap_open_live
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_parsesrcstr
    - pcap_statustostr
    - pcap_close
    - pcap_open_rpcap
    - pcap_set_promisc
    - pcap_set_timeout
    - pcapint_strlcpy
    - pcap_activate
    - snprintf
    - strlen
    - pcap_set_snaplen
    - strncmp
    - pcap_create
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, char
      *errbuf)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_alloc_pcap_t
      Src: /src/libpcap/pcap.c:2935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ebuf
    - total_size
    - private_offset
    argTypes:
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2942
      start: 2930
    functionDepth: 3
    functionLinenumber: 2930
    functionLinenumberEnd: 2942
    functionName: pcapint_open_offline_common
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_alloc_pcap_t
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcapint_open_offline_common(char *ebuf, size_t total_size, size_t private_offset)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::read_op
      Src: /src/libpcap/pcap.c:2947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - cnt
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2948
      start: 2944
    functionDepth: 0
    functionLinenumber: 2944
    functionLinenumberEnd: 2948
    functionName: pcap_dispatch
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 1
    functionsReached:
    - pcap_t*::read_op
    linkageType: ''
    returnType: int
    signature: int pcap_dispatch(pcap_t *p, int cnt, pcap_handler callback, u_char
      *user)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_offline_read
      Src: /src/libpcap/pcap.c:2960,1
    - Dst: pcap_t*::read_op
      Src: /src/libpcap/pcap.c:2967,1
    - Dst: PACKET_COUNT_IS_UNLIMITED
      Src: /src/libpcap/pcap.c:2972,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - p
    - cnt
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2978
      start: 2950
    functionDepth: 1
    functionLinenumber: 2950
    functionLinenumberEnd: 2978
    functionName: pcap_loop
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - PACKET_COUNT_IS_UNLIMITED
    - pcap_t*::read_op
    - pcapint_offline_read
    linkageType: ''
    returnType: int
    signature: int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::breakloop_op
      Src: /src/libpcap/pcap.c:2986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2987
      start: 2983
    functionDepth: 0
    functionLinenumber: 2983
    functionLinenumberEnd: 2987
    functionName: pcap_breakloop
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::breakloop_op
    linkageType: ''
    returnType: void
    signature: void pcap_breakloop(pcap_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2989
    functionDepth: 0
    functionLinenumber: 2989
    functionLinenumberEnd: 2995
    functionName: pcap_datalink
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_datalink(pcap_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3003
      start: 2997
    functionDepth: 0
    functionLinenumber: 2997
    functionLinenumberEnd: 3003
    functionName: pcap_datalink_ext
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_datalink_ext(pcap_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/pcap.c:3017,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:3019,1
    - Dst: calloc
      Src: /src/libpcap/pcap.c:3026,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:3028,1
    - Dst: memcpy
      Src: /src/libpcap/pcap.c:3032,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - p
    - dlt_buffer
    argTypes:
    - pcap_t*
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3036
      start: 3005
    functionDepth: 2
    functionLinenumber: 3005
    functionLinenumberEnd: 3036
    functionName: pcap_list_datalinks
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    - pcapint_fmt_errmsg_for_errno
    - malloc
    linkageType: ''
    returnType: int
    signature: int pcap_list_datalinks(pcap_t *p, int **dlt_buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpcap/pcap.c:3052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dlt_list
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3049
    functionDepth: 0
    functionLinenumber: 3049
    functionLinenumberEnd: 3053
    functionName: pcap_free_datalinks
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void pcap_free_datalinks(int *dlt_list)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::set_datalink_op
      Src: /src/libpcap/pcap.c:3101,1
    - Dst: pcap_datalink_val_to_name
      Src: /src/libpcap/pcap.c:3107,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:3109,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:3113,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - p
    - dlt
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3118
      start: 3055
    functionDepth: 1
    functionLinenumber: 3055
    functionLinenumberEnd: 3118
    functionName: pcap_set_datalink
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_datalink_val_to_name
    - snprintf
    - pcap_t*::set_datalink_op
    linkageType: ''
    returnType: int
    signature: int pcap_set_datalink(pcap_t *p, int dlt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3192
    functionDepth: 0
    functionLinenumber: 3192
    functionLinenumberEnd: 3202
    functionName: pcapint_strcasecmp
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcapint_strcasecmp(const char *s1, const char *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - description
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3210
    functionDepth: 0
    functionLinenumber: 3210
    functionLinenumberEnd: 3211
    functionName: DLT_CHOICE
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DLT_CHOICE(code, description)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strcasecmp
      Src: /src/libpcap/pcap.c:3411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3415
      start: 3405
    functionDepth: 1
    functionLinenumber: 3405
    functionLinenumberEnd: 3415
    functionName: pcap_datalink_name_to_val
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_strcasecmp
    linkageType: ''
    returnType: int
    signature: int pcap_datalink_name_to_val(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dlt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3427
      start: 3417
    functionDepth: 0
    functionLinenumber: 3417
    functionLinenumberEnd: 3427
    functionName: pcap_datalink_val_to_name
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_datalink_val_to_name(int dlt)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dlt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3439
      start: 3429
    functionDepth: 0
    functionLinenumber: 3429
    functionLinenumberEnd: 3439
    functionName: pcap_datalink_val_to_description
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_datalink_val_to_description(int dlt)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_datalink_val_to_description
      Src: /src/libpcap/pcap.c:3447,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:3451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dlt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3454
      start: 3441
    functionDepth: 1
    functionLinenumber: 3441
    functionLinenumberEnd: 3454
    functionName: pcap_datalink_val_to_description_or_dlt
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_datalink_val_to_description
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_datalink_val_to_description_or_dlt(int dlt)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strcasecmp
      Src: /src/libpcap/pcap.c:3478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3482
      start: 3472
    functionDepth: 1
    functionLinenumber: 3472
    functionLinenumberEnd: 3482
    functionName: pcap_tstamp_type_name_to_val
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_strcasecmp
    linkageType: ''
    returnType: int
    signature: int pcap_tstamp_type_name_to_val(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tstamp_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3494
      start: 3484
    functionDepth: 0
    functionLinenumber: 3484
    functionLinenumberEnd: 3494
    functionName: pcap_tstamp_type_val_to_name
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_tstamp_type_val_to_name(int tstamp_type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tstamp_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3506
      start: 3496
    functionDepth: 0
    functionLinenumber: 3496
    functionLinenumberEnd: 3506
    functionName: pcap_tstamp_type_val_to_description
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_tstamp_type_val_to_description(int tstamp_type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3514
      start: 3508
    functionDepth: 0
    functionLinenumber: 3508
    functionLinenumberEnd: 3514
    functionName: pcap_snapshot
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_snapshot(pcap_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3522
      start: 3516
    functionDepth: 0
    functionLinenumber: 3516
    functionLinenumberEnd: 3522
    functionName: pcap_is_swapped
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_is_swapped(pcap_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3530
      start: 3524
    functionDepth: 0
    functionLinenumber: 3524
    functionLinenumberEnd: 3530
    functionName: pcap_major_version
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_major_version(pcap_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3538
      start: 3532
    functionDepth: 0
    functionLinenumber: 3532
    functionLinenumberEnd: 3538
    functionName: pcap_minor_version
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_minor_version(pcap_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3546
      start: 3540
    functionDepth: 0
    functionLinenumber: 3540
    functionLinenumberEnd: 3546
    functionName: pcap_bufsize
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_bufsize(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3552
      start: 3548
    functionDepth: 0
    functionLinenumber: 3548
    functionLinenumberEnd: 3552
    functionName: pcap_file
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      pcap_file(pcap_t *p)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3573
      start: 3555
    functionDepth: 0
    functionLinenumber: 3555
    functionLinenumberEnd: 3573
    functionName: pcap_fileno
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_fileno(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3579
      start: 3575
    functionDepth: 0
    functionLinenumber: 3575
    functionLinenumberEnd: 3579
    functionName: pcap_fileno
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_fileno(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3587
      start: 3583
    functionDepth: 0
    functionLinenumber: 3583
    functionLinenumberEnd: 3587
    functionName: pcap_get_selectable_fd
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_get_selectable_fd(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3593
      start: 3589
    functionDepth: 0
    functionLinenumber: 3589
    functionLinenumberEnd: 3593
    functionName: pcap_get_required_select_timeout
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct timeval
    signature: 'struct timeval *

      pcap_get_required_select_timeout(pcap_t *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/pcap.c:3599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - prefix
    argTypes:
    - pcap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3600
      start: 3596
    functionDepth: 0
    functionLinenumber: 3596
    functionLinenumberEnd: 3600
    functionName: pcap_perror
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void pcap_perror(pcap_t *p, const char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3606
      start: 3602
    functionDepth: 0
    functionLinenumber: 3602
    functionLinenumberEnd: 3606
    functionName: pcap_geterr
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_geterr(pcap_t *p)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::getnonblock_op
      Src: /src/libpcap/pcap.c:3613,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:3624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - errbuf
    argTypes:
    - pcap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3608
    functionDepth: 0
    functionLinenumber: 3608
    functionLinenumberEnd: 3627
    functionName: pcap_getnonblock
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    - pcap_t*::getnonblock_op
    linkageType: ''
    returnType: int
    signature: int pcap_getnonblock(pcap_t *p, char *errbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/libpcap/pcap.c:3639,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:3641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3649
      start: 3634
    functionDepth: 2
    functionLinenumber: 3634
    functionLinenumberEnd: 3649
    functionName: pcapint_getnonblock_fd
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - fcntl
    - pcapint_fmt_errmsg_for_errno
    linkageType: ''
    returnType: int
    signature: int pcapint_getnonblock_fd(pcap_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::setnonblock_op
      Src: /src/libpcap/pcap.c:3657,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:3668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p
    - nonblock
    - errbuf
    argTypes:
    - pcap_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3671
      start: 3652
    functionDepth: 0
    functionLinenumber: 3652
    functionLinenumberEnd: 3671
    functionName: pcap_setnonblock
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    - pcap_t*::setnonblock_op
    linkageType: ''
    returnType: int
    signature: int pcap_setnonblock(pcap_t *p, int nonblock, char *errbuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/libpcap/pcap.c:3685,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:3687,1
    - Dst: fcntl
      Src: /src/libpcap/pcap.c:3695,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:3696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - p
    - nonblock
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3701
      start: 3680
    functionDepth: 2
    functionLinenumber: 3680
    functionLinenumberEnd: 3701
    functionName: pcapint_setnonblock_fd
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 1
    functionsReached:
    - fcntl
    - pcapint_fmt_errmsg_for_errno
    linkageType: ''
    returnType: int
    signature: int pcapint_setnonblock_fd(pcap_t *p, int nonblock)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:3762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3764
      start: 3707
    functionDepth: 0
    functionLinenumber: 3707
    functionLinenumberEnd: 3764
    functionName: pcap_statustostr
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 2
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_statustostr(int errnum)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strerror_s
      Src: /src/libpcap/pcap.c:3779,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:3782,1
    - Dst: strerror_r
      Src: /src/libpcap/pcap.c:3802,1
    - Dst: strerror_r
      Src: /src/libpcap/pcap.c:3821,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:3832,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:3840,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:3844,1
    - Dst: strerror
      Src: /src/libpcap/pcap.c:3856,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3858
      start: 3774
    functionDepth: 0
    functionLinenumber: 3774
    functionLinenumberEnd: 3858
    functionName: pcap_strerror
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 1
    functionsReached:
    - strerror_r
    - strerror
    - pcapint_strlcpy
    - snprintf
    - strerror_s
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_strerror(int errnum)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/libpcap/pcap.c:3891,1
    - Dst: strtoul
      Src: /src/libpcap/pcap.c:3907,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 3
    argNames:
    - cp
    - endptr
    - nump
    argTypes:
    - char*
    - char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3936
      start: 3880
    functionDepth: 0
    functionLinenumber: 3880
    functionLinenumberEnd: 3936
    functionName: pcapint_get_decuint
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 2
    functionsReached:
    - strtoul
    - isspace
    linkageType: ''
    returnType: int
    signature: int pcapint_get_decuint(const char *cp, char **endptr, unsigned *nump)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::setfilter_op
      Src: /src/libpcap/pcap.c:3941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - fp
    argTypes:
    - pcap_t*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3942
      start: 3938
    functionDepth: 0
    functionLinenumber: 3938
    functionLinenumberEnd: 3942
    functionName: pcap_setfilter
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::setfilter_op
    linkageType: ''
    returnType: int
    signature: int pcap_setfilter(pcap_t *p, struct bpf_program *fp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:3954,1
    - Dst: pcap_t*::setdirection_op
      Src: /src/libpcap/pcap.c:3966,1
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:3972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - pcap_t*
    - pcap_direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3977
      start: 3950
    functionDepth: 0
    functionLinenumber: 3950
    functionLinenumberEnd: 3977
    functionName: pcap_setdirection
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::setdirection_op
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_setdirection(pcap_t *p, pcap_direction_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::stats_op
      Src: /src/libpcap/pcap.c:3982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - ps
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3983
      start: 3979
    functionDepth: 0
    functionLinenumber: 3979
    functionLinenumberEnd: 3983
    functionName: pcap_stats
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::stats_op
    linkageType: ''
    returnType: int
    signature: int pcap_stats(pcap_t *p, struct pcap_stat *ps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::stats_ex_op
      Src: /src/libpcap/pcap.c:3989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pcap_stat_size
    argTypes:
    - pcap_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3990
      start: 3986
    functionDepth: 0
    functionLinenumber: 3986
    functionLinenumberEnd: 3990
    functionName: pcap_stats_ex
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::stats_ex_op
    linkageType: ''
    returnType: struct pcap_stat
    signature: 'struct pcap_stat *

      pcap_stats_ex(pcap_t *p, int *pcap_stat_size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::setbuff_op
      Src: /src/libpcap/pcap.c:3995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dim
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3996
      start: 3992
    functionDepth: 0
    functionLinenumber: 3992
    functionLinenumberEnd: 3996
    functionName: pcap_setbuff
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::setbuff_op
    linkageType: ''
    returnType: int
    signature: int pcap_setbuff(pcap_t *p, int dim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::setmode_op
      Src: /src/libpcap/pcap.c:4001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - mode
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4002
      start: 3998
    functionDepth: 0
    functionLinenumber: 3998
    functionLinenumberEnd: 4002
    functionName: pcap_setmode
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::setmode_op
    linkageType: ''
    returnType: int
    signature: int pcap_setmode(pcap_t *p, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::setmintocopy_op
      Src: /src/libpcap/pcap.c:4007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4008
      start: 4004
    functionDepth: 0
    functionLinenumber: 4004
    functionLinenumberEnd: 4008
    functionName: pcap_setmintocopy
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::setmintocopy_op
    linkageType: ''
    returnType: int
    signature: int pcap_setmintocopy(pcap_t *p, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::getevent_op
      Src: /src/libpcap/pcap.c:4013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4014
      start: 4010
    functionDepth: 0
    functionLinenumber: 4010
    functionLinenumberEnd: 4014
    functionName: pcap_getevent
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::getevent_op
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE pcap_getevent(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::oid_get_request_op
      Src: /src/libpcap/pcap.c:4019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - oid
    - data
    - lenp
    argTypes:
    - pcap_t*
    - bpf_u_int32
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4020
      start: 4016
    functionDepth: 0
    functionLinenumber: 4016
    functionLinenumberEnd: 4020
    functionName: pcap_oid_get_request
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::oid_get_request_op
    linkageType: ''
    returnType: int
    signature: int pcap_oid_get_request(pcap_t *p, bpf_u_int32 oid, void *data, size_t
      *lenp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::oid_set_request_op
      Src: /src/libpcap/pcap.c:4025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - oid
    - data
    - lenp
    argTypes:
    - pcap_t*
    - bpf_u_int32
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4026
      start: 4022
    functionDepth: 0
    functionLinenumber: 4022
    functionLinenumberEnd: 4026
    functionName: pcap_oid_set_request
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::oid_set_request_op
    linkageType: ''
    returnType: int
    signature: int pcap_oid_set_request(pcap_t *p, bpf_u_int32 oid, const void *data,
      size_t *lenp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/pcap.c:4034,1
    - Dst: malloc
      Src: /src/libpcap/pcap.c:4040,1
    - Dst: free
      Src: /src/libpcap/pcap.c:4042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - memsize
    argTypes:
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4050
      start: 4028
    functionDepth: 0
    functionLinenumber: 4028
    functionLinenumberEnd: 4050
    functionName: pcap_sendqueue_alloc
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: pcap_send_queue
    signature: 'pcap_send_queue *

      pcap_sendqueue_alloc(u_int memsize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpcap/pcap.c:4055,1
    - Dst: free
      Src: /src/libpcap/pcap.c:4056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - pcap_send_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4057
      start: 4052
    functionDepth: 0
    functionLinenumber: 4052
    functionLinenumberEnd: 4057
    functionName: pcap_sendqueue_destroy
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void pcap_sendqueue_destroy(pcap_send_queue *queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpcap/pcap.c:4067,1
    - Dst: memcpy
      Src: /src/libpcap/pcap.c:4071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - queue
    - pkt_header
    - pkt_data
    argTypes:
    - pcap_send_queue*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4075
      start: 4059
    functionDepth: 0
    functionLinenumber: 4059
    functionLinenumberEnd: 4075
    functionName: pcap_sendqueue_queue
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pcap_sendqueue_queue(pcap_send_queue *queue, const struct pcap_pkthdr
      *pkt_header, const u_char *pkt_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::sendqueue_transmit_op
      Src: /src/libpcap/pcap.c:4080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - queue
    - sync
    argTypes:
    - pcap_t*
    - pcap_send_queue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4081
      start: 4077
    functionDepth: 0
    functionLinenumber: 4077
    functionLinenumberEnd: 4081
    functionName: pcap_sendqueue_transmit
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::sendqueue_transmit_op
    linkageType: ''
    returnType: u_int
    signature: u_int pcap_sendqueue_transmit(pcap_t *p, pcap_send_queue *queue, int
      sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::setuserbuffer_op
      Src: /src/libpcap/pcap.c:4086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4087
      start: 4083
    functionDepth: 0
    functionLinenumber: 4083
    functionLinenumberEnd: 4087
    functionName: pcap_setuserbuffer
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::setuserbuffer_op
    linkageType: ''
    returnType: int
    signature: int pcap_setuserbuffer(pcap_t *p, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::live_dump_op
      Src: /src/libpcap/pcap.c:4092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - filename
    - maxsize
    - maxpacks
    argTypes:
    - pcap_t*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 4089
    functionDepth: 0
    functionLinenumber: 4089
    functionLinenumberEnd: 4093
    functionName: pcap_live_dump
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::live_dump_op
    linkageType: ''
    returnType: int
    signature: int pcap_live_dump(pcap_t *p, char *filename, int maxsize, int maxpacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::live_dump_ended_op
      Src: /src/libpcap/pcap.c:4098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - sync
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4099
      start: 4095
    functionDepth: 0
    functionLinenumber: 4095
    functionLinenumberEnd: 4099
    functionName: pcap_live_dump_ended
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::live_dump_ended_op
    linkageType: ''
    returnType: int
    signature: int pcap_live_dump_ended(pcap_t *p, int sync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4108
      start: 4101
    functionDepth: 0
    functionLinenumber: 4101
    functionLinenumberEnd: 4108
    functionName: pcap_get_airpcap_handle
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: PAirpcapHandle
    signature: PAirpcapHandle pcap_get_airpcap_handle(pcap_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_close
      Src: /src/libpcap/pcap.c:4142,1
    - Dst: abort
      Src: /src/libpcap/pcap.c:4161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4163
      start: 4136
    functionDepth: 1
    functionLinenumber: 4136
    functionLinenumberEnd: 4163
    functionName: pcap_close_all
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - abort
    - pcap_close
    linkageType: ''
    returnType: void
    signature: void pcap_close_all(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/libpcap/pcap.c:4173,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap.c:4177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4183
      start: 4165
    functionDepth: 0
    functionLinenumber: 4165
    functionLinenumberEnd: 4183
    functionName: pcapint_do_addexit
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    - atexit
    linkageType: ''
    returnType: int
    signature: int pcapint_do_addexit(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4190
      start: 4185
    functionDepth: 0
    functionLinenumber: 4185
    functionLinenumberEnd: 4190
    functionName: pcapint_add_to_pcaps_to_close
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pcapint_add_to_pcaps_to_close(pcap_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4217
      start: 4192
    functionDepth: 0
    functionLinenumber: 4192
    functionLinenumberEnd: 4217
    functionName: pcapint_remove_from_pcaps_to_close
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pcapint_remove_from_pcaps_to_close(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4223
      start: 4219
    functionDepth: 0
    functionLinenumber: 4219
    functionLinenumberEnd: 4223
    functionName: pcapint_breakloop_common
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pcapint_breakloop_common(pcap_t *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpcap/pcap.c:4239,1
    - Dst: free
      Src: /src/libpcap/pcap.c:4243,1
    - Dst: free
      Src: /src/libpcap/pcap.c:4248,1
    - Dst: free
      Src: /src/libpcap/pcap.c:4253,1
    - Dst: pcap_freecode
      Src: /src/libpcap/pcap.c:4257,1
    - Dst: close
      Src: /src/libpcap/pcap.c:4260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4265
      start: 4226
    functionDepth: 1
    functionLinenumber: 4226
    functionLinenumberEnd: 4265
    functionName: pcapint_cleanup_live_common
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 2
    functionsReached:
    - free
    - pcap_freecode
    - close
    linkageType: ''
    returnType: void
    signature: void pcapint_cleanup_live_common(pcap_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:4277,1
    - Dst: pcap_t*::inject_op
      Src: /src/libpcap/pcap.c:4282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p
    - buf
    - size
    argTypes:
    - pcap_t*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4285
      start: 4273
    functionDepth: 2
    functionLinenumber: 4273
    functionLinenumberEnd: 4285
    functionName: pcap_sendpacket
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::inject_op
    - pcapint_fmt_errmsg_for_errno
    linkageType: ''
    returnType: int
    signature: int pcap_sendpacket(pcap_t *p, const u_char *buf, int size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:4299,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap.c:4305,1
    - Dst: pcap_t*::inject_op
      Src: /src/libpcap/pcap.c:4310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4311
      start: 4291
    functionDepth: 2
    functionLinenumber: 4291
    functionLinenumberEnd: 4311
    functionName: pcap_inject
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_t*::inject_op
    - pcapint_fmt_errmsg_for_errno
    linkageType: ''
    returnType: int
    signature: int pcap_inject(pcap_t *p, const void *buf, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_t*::cleanup_op
      Src: /src/libpcap/pcap.c:4316,1
    - Dst: free
      Src: /src/libpcap/pcap.c:4325,1
    - Dst: free
      Src: /src/libpcap/pcap.c:4328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4329
      start: 4313
    functionDepth: 0
    functionLinenumber: 4313
    functionLinenumberEnd: 4329
    functionName: pcap_close
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 3
    functionsReached:
    - free
    - pcap_t*::cleanup_op
    linkageType: ''
    returnType: void
    signature: void pcap_close(pcap_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemDirectoryA
      Src: /src/libpcap/pcap.c:4368,1
    - Dst: SetLastError
      Src: /src/libpcap/pcap.c:4381,1
    - Dst: strlen
      Src: /src/libpcap/pcap.c:4385,1
    - Dst: memcpy
      Src: /src/libpcap/pcap.c:4386,1
    - Dst: memcpy
      Src: /src/libpcap/pcap.c:4388,1
    - Dst: strlen
      Src: /src/libpcap/pcap.c:4388,1
    - Dst: LoadLibraryA
      Src: /src/libpcap/pcap.c:4390,1
    - Dst: SetLastError
      Src: /src/libpcap/pcap.c:4392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4397
      start: 4354
    functionDepth: 0
    functionLinenumber: 4354
    functionLinenumberEnd: 4397
    functionName: pcapint_load_code
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - GetSystemDirectoryA
    - SetLastError
    - memcpy
    - strlen
    - LoadLibraryA
    linkageType: ''
    returnType: pcap_code_handle_t
    signature: pcap_code_handle_t pcapint_load_code(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetProcAddress
      Src: /src/libpcap/pcap.c:4415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - func
    argTypes:
    - pcap_code_handle_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4416
      start: 4412
    functionDepth: 0
    functionLinenumber: 4412
    functionLinenumberEnd: 4416
    functionName: pcapint_find_function
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - GetProcAddress
    linkageType: ''
    returnType: void
    signature: 'void *

      pcapint_find_function(pcap_code_handle_t code, const char *func)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap.c:4432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fp
    - h
    - pkt
    argTypes:
    - struct bpf_program*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4435
      start: 4425
    functionDepth: 1
    functionLinenumber: 4425
    functionLinenumberEnd: 4435
    functionName: pcap_offline_filter
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_filter
    linkageType: ''
    returnType: int
    signature: "int pcap_offline_filter(const struct bpf_program *fp, const struct
      pcap_pkthdr *h,\n    const u_char *pkt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4443
      start: 4437
    functionDepth: 0
    functionLinenumber: 4437
    functionLinenumberEnd: 4443
    functionName: pcap_can_set_rfmon_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_can_set_rfmon_dead(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - cnt
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4452
      start: 4445
    functionDepth: 0
    functionLinenumber: 4445
    functionLinenumberEnd: 4452
    functionName: pcap_read_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int pcap_read_dead(pcap_t *p, int cnt _U_, pcap_handler callback _U_,\n
      \   u_char *user _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4474
      start: 4468
    functionDepth: 0
    functionLinenumber: 4468
    functionLinenumberEnd: 4474
    functionName: pcap_inject_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_inject_dead(pcap_t *p, const void *buf _U_, int size _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - _U_
    argTypes:
    - pcap_t*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4482
      start: 4476
    functionDepth: 0
    functionLinenumber: 4476
    functionLinenumberEnd: 4482
    functionName: pcap_setfilter_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_setfilter_dead(pcap_t *p, struct bpf_program *fp _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - _U_
    argTypes:
    - pcap_t*
    - pcap_direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4490
      start: 4484
    functionDepth: 0
    functionLinenumber: 4484
    functionLinenumberEnd: 4490
    functionName: pcap_setdirection_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_setdirection_dead(pcap_t *p, pcap_direction_t d _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - dlt
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4498
      start: 4492
    functionDepth: 0
    functionLinenumber: 4492
    functionLinenumberEnd: 4498
    functionName: pcap_set_datalink_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_set_datalink_dead(pcap_t *p, int dlt _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4506
      start: 4500
    functionDepth: 0
    functionLinenumber: 4500
    functionLinenumberEnd: 4506
    functionName: pcap_getnonblock_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_getnonblock_dead(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - nonblock
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4514
      start: 4508
    functionDepth: 0
    functionLinenumber: 4508
    functionLinenumberEnd: 4514
    functionName: pcap_setnonblock_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_setnonblock_dead(pcap_t *p, int nonblock _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - _U_
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4522
      start: 4516
    functionDepth: 0
    functionLinenumber: 4516
    functionLinenumberEnd: 4522
    functionName: pcap_stats_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_stats_dead(pcap_t *p, struct pcap_stat *ps _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - pcap_stat_size
    argTypes:
    - pcap_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4531
      start: 4525
    functionDepth: 0
    functionLinenumber: 4525
    functionLinenumberEnd: 4531
    functionName: pcap_stats_ex_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: struct pcap_stat
    signature: 'struct pcap_stat *

      pcap_stats_ex_dead(pcap_t *p, int *pcap_stat_size _U_)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - dim
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4539
      start: 4533
    functionDepth: 0
    functionLinenumber: 4533
    functionLinenumberEnd: 4539
    functionName: pcap_setbuff_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_setbuff_dead(pcap_t *p, int dim _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - mode
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4547
      start: 4541
    functionDepth: 0
    functionLinenumber: 4541
    functionLinenumberEnd: 4547
    functionName: pcap_setmode_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_setmode_dead(pcap_t *p, int mode _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4555
      start: 4549
    functionDepth: 0
    functionLinenumber: 4549
    functionLinenumberEnd: 4555
    functionName: pcap_setmintocopy_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_setmintocopy_dead(pcap_t *p, int size _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4563
      start: 4557
    functionDepth: 0
    functionLinenumber: 4557
    functionLinenumberEnd: 4563
    functionName: pcap_getevent_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE pcap_getevent_dead(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - oid
    - data
    - lenp
    argTypes:
    - pcap_t*
    - bpf_u_int32
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4572
      start: 4565
    functionDepth: 0
    functionLinenumber: 4565
    functionLinenumberEnd: 4572
    functionName: pcap_oid_get_request_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int pcap_oid_get_request_dead(pcap_t *p, bpf_u_int32 oid _U_, void
      *data _U_,\n    size_t *lenp _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - oid
    - data
    - lenp
    argTypes:
    - pcap_t*
    - bpf_u_int32
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4581
      start: 4574
    functionDepth: 0
    functionLinenumber: 4574
    functionLinenumberEnd: 4581
    functionName: pcap_oid_set_request_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int pcap_oid_set_request_dead(pcap_t *p, bpf_u_int32 oid _U_, const
      void *data _U_,\n    size_t *lenp _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - queue
    - sync
    argTypes:
    - pcap_t*
    - pcap_send_queue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4590
      start: 4583
    functionDepth: 0
    functionLinenumber: 4583
    functionLinenumberEnd: 4590
    functionName: pcap_sendqueue_transmit_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: u_int
    signature: "u_int pcap_sendqueue_transmit_dead(pcap_t *p, pcap_send_queue *queue
      _U_,\n    int sync _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4598
      start: 4592
    functionDepth: 0
    functionLinenumber: 4592
    functionLinenumberEnd: 4598
    functionName: pcap_setuserbuffer_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_setuserbuffer_dead(pcap_t *p, int size _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - filename
    - maxsize
    - maxpacks
    argTypes:
    - pcap_t*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4607
      start: 4600
    functionDepth: 0
    functionLinenumber: 4600
    functionLinenumberEnd: 4607
    functionName: pcap_live_dump_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int pcap_live_dump_dead(pcap_t *p, char *filename _U_, int maxsize
      _U_,\n    int maxpacks _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap.c:4612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - sync
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4615
      start: 4609
    functionDepth: 0
    functionLinenumber: 4609
    functionLinenumberEnd: 4615
    functionName: pcap_live_dump_ended_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_live_dump_ended_dead(pcap_t *p, int sync _U_)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/pcap.c:4645,1
    - Dst: memset
      Src: /src/libpcap/pcap.c:4648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 3
    argNames:
    - linktype
    - snaplen
    - precision
    argTypes:
    - int
    - int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4684
      start: 4624
    functionDepth: 0
    functionLinenumber: 4624
    functionLinenumberEnd: 4684
    functionName: pcap_open_dead_with_tstamp_precision
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - memset
    - malloc
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcap_open_dead_with_tstamp_precision(int linktype, int snaplen, u_int precision)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_open_dead_with_tstamp_precision
      Src: /src/libpcap/pcap.c:4689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - linktype
    - snaplen
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4691
      start: 4686
    functionDepth: 1
    functionLinenumber: 4686
    functionLinenumberEnd: 4691
    functionName: pcap_open_dead
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached:
    - pcap_open_dead_with_tstamp_precision
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcap_open_dead(int linktype, int snaplen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4712
      start: 4708
    functionDepth: 0
    functionLinenumber: 4708
    functionLinenumberEnd: 4712
    functionName: pcap_set_parser_debug
    functionSourceFile: /src/libpcap/pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCAP_API_DEF
    signature: PCAP_API_DEF pcap_set_parser_debug(int value)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/libpcap/pcap-rpcap.c:302,1
    - Dst: malloc
      Src: /src/libpcap/pcap-rpcap.c:311,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rpcap.c:314,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-rpcap.c:321,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-rpcap.c:322,1
    - Dst: memset
      Src: /src/libpcap/pcap-rpcap.c:323,1
    - Dst: malloc
      Src: /src/libpcap/pcap-rpcap.c:340,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rpcap.c:343,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-rpcap.c:350,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:351,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-rpcap.c:352,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 3
    argNames:
    - sockaddrin
    - sockaddrout
    - errbuf
    argTypes:
    - struct rpcap_sockaddr*
    - struct sockaddr**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 366
    functionName: rpcap_deseraddr
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - ntohl
    - pcapint_fmt_errmsg_for_errno
    - ntohs
    - memcpy
    - memset
    - malloc
    linkageType: ''
    returnType: int
    signature: int rpcap_deseraddr(struct rpcap_sockaddr *sockaddrin, struct sockaddr
      **sockaddrout, char *errbuf)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: SSL_pending
      Src: /src/libpcap/pcap-rpcap.c:411,1
    - Dst: FD_ZERO
      Src: /src/libpcap/pcap-rpcap.c:416,1
    - Dst: FD_SET
      Src: /src/libpcap/pcap-rpcap.c:422,1
    - Dst: select
      Src: /src/libpcap/pcap-rpcap.c:427,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/pcap-rpcap.c:439,1
    - Dst: sock_recv_dgram
      Src: /src/libpcap/pcap-rpcap.c:460,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:477,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:481,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:488,1
    - Dst: rpcap_read_packet_msg
      Src: /src/libpcap/pcap-rpcap.c:504,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:523,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:532,1
    - Dst: rpcap_read_packet_msg
      Src: /src/libpcap/pcap-rpcap.c:536,1
    - Dst: rpcap_check_msg_ver
      Src: /src/libpcap/pcap-rpcap.c:565,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:579,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:581,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:587,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:588,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:589,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:590,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:606,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 89
    argCount: 3
    argNames:
    - p
    - pkt_header
    - pkt_data
    argTypes:
    - pcap_t*
    - struct pcap_pkthdr*
    - u_char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 617
    functionName: pcap_read_nocb_remote
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - ntohl
    - rpcap_read_packet_msg
    - select
    - FD_SET
    - FD_ZERO
    - sock_recv_dgram
    - snprintf
    - sock_geterrmsg
    - rpcap_check_msg_ver
    - SSL_pending
    linkageType: ''
    returnType: int
    signature: int pcap_read_nocb_remote(pcap_t *p, struct pcap_pkthdr *pkt_header,
      u_char **pkt_data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pcap_startcapture_remote
      Src: /src/libpcap/pcap-rpcap.c:647,1
    - Dst: PACKET_COUNT_IS_UNLIMITED
      Src: /src/libpcap/pcap-rpcap.c:664,1
    - Dst: PACKET_COUNT_IS_UNLIMITED
      Src: /src/libpcap/pcap-rpcap.c:667,1
    - Dst: pcap_read_nocb_remote
      Src: /src/libpcap/pcap-rpcap.c:685,1
    - Dst: pcapint_post_process
      Src: /src/libpcap/pcap-rpcap.c:695,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - p
    - cnt
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 726
    functionName: pcap_read_rpcap
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - pcapint_post_process
    - PACKET_COUNT_IS_UNLIMITED
    - pcap_startcapture_remote
    - pcap_read_nocb_remote
    linkageType: ''
    returnType: int
    signature: int pcap_read_rpcap(pcap_t *p, int cnt, pcap_handler callback, u_char
      *user)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rpcap_createhdr
      Src: /src/libpcap/pcap-rpcap.c:759,1
    - Dst: sock_send
      Src: /src/libpcap/pcap-rpcap.c:767,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/pcap-rpcap.c:772,1
    - Dst: sock_send
      Src: /src/libpcap/pcap-rpcap.c:780,1
    - Dst: rpcap_process_msg_header
      Src: /src/libpcap/pcap-rpcap.c:788,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:792,1
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:805,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:809,1
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:820,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:824,1
    - Dst: free
      Src: /src/libpcap/pcap-rpcap.c:832,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-rpcap.c:836,1
    - Dst: sock_cleanup
      Src: /src/libpcap/pcap-rpcap.c:839,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - fp
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 738
    functionDepth: 2
    functionLinenumber: 738
    functionLinenumberEnd: 840
    functionName: pcap_cleanup_rpcap
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - rpcap_discard
    - sock_cleanup
    - ssl_finish
    - rpcap_createhdr
    - sock_send
    - free
    - rpcap_process_msg_header
    - pcapint_cleanup_live_common
    - sock_close
    linkageType: ''
    returnType: void
    signature: void pcap_cleanup_rpcap(pcap_t *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcap_stats_rpcap
      Src: /src/libpcap/pcap-rpcap.c:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - ps
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 856
    functionName: pcap_stats_rpcap
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 1
    functionsReached:
    - rpcap_stats_rpcap
    linkageType: ''
    returnType: int
    signature: int pcap_stats_rpcap(pcap_t *p, struct pcap_stat *ps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcap_stats_rpcap
      Src: /src/libpcap/pcap-rpcap.c:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - pcap_stat_size
    argTypes:
    - pcap_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 869
    functionName: pcap_stats_ex_rpcap
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - rpcap_stats_rpcap
    linkageType: ''
    returnType: struct pcap_stat
    signature: struct pcap_stat *pcap_stats_ex_rpcap(pcap_t *p, int *pcap_stat_size)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:922,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/pcap-rpcap.c:949,1
    - Dst: sock_send
      Src: /src/libpcap/pcap-rpcap.c:953,1
    - Dst: rpcap_process_msg_header
      Src: /src/libpcap/pcap-rpcap.c:958,1
    - Dst: rpcap_recv
      Src: /src/libpcap/pcap-rpcap.c:965,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:969,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:970,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:971,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:977,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:982,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:993,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - p
    - ps
    - mode
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 997
    functionName: rpcap_stats_rpcap
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 2
    functionsReached:
    - rpcap_recv
    - ntohl
    - rpcap_discard
    - rpcap_createhdr
    - sock_send
    - snprintf
    - rpcap_process_msg_header
    linkageType: ''
    returnType: struct pcap_stat
    signature: struct pcap_stat *rpcap_stats_rpcap(pcap_t *p, struct pcap_stat *ps,
      int mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-rpcap.c:1026,1
    - Dst: sock_initaddress
      Src: /src/libpcap/pcap-rpcap.c:1030,1
    - Dst: sock_cmpaddr
      Src: /src/libpcap/pcap-rpcap.c:1045,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/pcap-rpcap.c:1048,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/pcap-rpcap.c:1058,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - host
    - error
    - errbuf
    argTypes:
    - char*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1066
    functionName: rpcap_remoteact_getsock
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - sock_initaddress
    - memset
    - freeaddrinfo
    - sock_cmpaddr
    linkageType: ''
    returnType: struct activehosts
    signature: 'struct activehosts *

      rpcap_remoteact_getsock(const char *host, int *error, char *errbuf)'
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: pcap_setsampling_remote
      Src: /src/libpcap/pcap-rpcap.c:1123,1
    - Dst: getpeername
      Src: /src/libpcap/pcap-rpcap.c:1148,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/pcap-rpcap.c:1150,1
    - Dst: getnameinfo
      Src: /src/libpcap/pcap-rpcap.c:1157,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/pcap-rpcap.c:1160,1
    - Dst: memset
      Src: /src/libpcap/pcap-rpcap.c:1177,1
    - Dst: sock_initaddress
      Src: /src/libpcap/pcap-rpcap.c:1184,1
    - Dst: sock_open
      Src: /src/libpcap/pcap-rpcap.c:1189,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/pcap-rpcap.c:1194,1
    - Dst: getsockname
      Src: /src/libpcap/pcap-rpcap.c:1199,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/pcap-rpcap.c:1201,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:1219,1
    - Dst: sock_bufferize
      Src: /src/libpcap/pcap-rpcap.c:1230,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/pcap-rpcap.c:1234,1
    - Dst: sock_bufferize
      Src: /src/libpcap/pcap-rpcap.c:1241,1
    - Dst: memset
      Src: /src/libpcap/pcap-rpcap.c:1245,1
    - Dst: htonl
      Src: /src/libpcap/pcap-rpcap.c:1249,1
    - Dst: htonl
      Src: /src/libpcap/pcap-rpcap.c:1257,1
    - Dst: htons
      Src: /src/libpcap/pcap-rpcap.c:1267,1
    - Dst: pcap_pack_bpffilter
      Src: /src/libpcap/pcap-rpcap.c:1270,1
    - Dst: sock_send
      Src: /src/libpcap/pcap-rpcap.c:1273,1
    - Dst: rpcap_process_msg_header
      Src: /src/libpcap/pcap-rpcap.c:1278,1
    - Dst: rpcap_recv
      Src: /src/libpcap/pcap-rpcap.c:1284,1
    - Dst: memset
      Src: /src/libpcap/pcap-rpcap.c:1305,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:1308,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-rpcap.c:1308,1
    - Dst: sock_initaddress
      Src: /src/libpcap/pcap-rpcap.c:1311,1
    - Dst: sock_open
      Src: /src/libpcap/pcap-rpcap.c:1316,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/pcap-rpcap.c:1320,1
    - Dst: accept
      Src: /src/libpcap/pcap-rpcap.c:1330,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/pcap-rpcap.c:1334,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:1340,1
    - Dst: ssl_promotion
      Src: /src/libpcap/pcap-rpcap.c:1351,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:1361,1
    - Dst: getsockopt
      Src: /src/libpcap/pcap-rpcap.c:1366,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/pcap-rpcap.c:1369,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-rpcap.c:1396,1
    - Dst: malloc
      Src: /src/libpcap/pcap-rpcap.c:1429,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rpcap.c:1432,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:1444,1
    - Dst: pcap_createfilter_norpcappkt
      Src: /src/libpcap/pcap-rpcap.c:1457,1
    - Dst: pcap_updatefilter_remote
      Src: /src/libpcap/pcap-rpcap.c:1462,1
    - Dst: pcap_freecode
      Src: /src/libpcap/pcap-rpcap.c:1465,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:1484,1
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:1492,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:1499,1
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:1508,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:1512,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/pcap-rpcap.c:1516,1
    - Dst: pcap_close
      Src: /src/libpcap/pcap-rpcap.c:1525,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 201
    argCount: 1
    argNames:
    - fp
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1531
    functionName: pcap_startcapture_remote
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 1
    functionsReached:
    - ntohl
    - getsockname
    - rpcap_discard
    - rpcap_createhdr
    - getsockopt
    - sock_send
    - sock_geterrmsg
    - rpcap_process_msg_header
    - pcap_createfilter_norpcappkt
    - pcap_close
    - getnameinfo
    - accept
    - rpcap_recv
    - sock_close
    - pcap_freecode
    - sock_open
    - getpeername
    - sock_bufferize
    - snprintf
    - freeaddrinfo
    - sock_initaddress
    - memset
    - ssl_promotion
    - pcap_pack_bpffilter
    - pcap_setsampling_remote
    - pcapint_fmt_errmsg_for_errno
    - ssl_finish
    - ntohs
    - htons
    - htonl
    - malloc
    - pcap_updatefilter_remote
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int pcap_startcapture_remote(pcap_t *fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcap_compile
      Src: /src/libpcap/pcap-rpcap.c:1567,1
    - Dst: sock_bufferize
      Src: /src/libpcap/pcap-rpcap.c:1575,1
    - Dst: htons
      Src: /src/libpcap/pcap-rpcap.c:1579,1
    - Dst: htonl
      Src: /src/libpcap/pcap-rpcap.c:1580,1
    - Dst: sock_bufferize
      Src: /src/libpcap/pcap-rpcap.c:1582,1
    - Dst: htons
      Src: /src/libpcap/pcap-rpcap.c:1591,1
    - Dst: htonl
      Src: /src/libpcap/pcap-rpcap.c:1594,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - fp
    - sendbuf
    - sendbufidx
    - prog
    argTypes:
    - pcap_t*
    - char*
    - int*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1601
    functionName: pcap_pack_bpffilter
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 1
    functionsReached:
    - htons
    - htonl
    - pcap_compile
    - sock_bufferize
    linkageType: ''
    returnType: int
    signature: int pcap_pack_bpffilter(pcap_t *fp, char *sendbuf, int *sendbufidx,
      struct bpf_program *prog)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sock_bufferize
      Src: /src/libpcap/pcap-rpcap.c:1635,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/pcap-rpcap.c:1639,1
    - Dst: pcap_pack_bpffilter
      Src: /src/libpcap/pcap-rpcap.c:1643,1
    - Dst: sock_send
      Src: /src/libpcap/pcap-rpcap.c:1646,1
    - Dst: rpcap_process_msg_header
      Src: /src/libpcap/pcap-rpcap.c:1651,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:1658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - fp
    - prog
    argTypes:
    - pcap_t*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1628
    functionDepth: 2
    functionLinenumber: 1628
    functionLinenumberEnd: 1662
    functionName: pcap_updatefilter_remote
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 1
    functionsReached:
    - rpcap_discard
    - rpcap_createhdr
    - sock_bufferize
    - sock_send
    - rpcap_process_msg_header
    - pcap_pack_bpffilter
    linkageType: ''
    returnType: int
    signature: int pcap_updatefilter_remote(pcap_t *fp, struct bpf_program *prog)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpcap/pcap-rpcap.c:1681,1
    - Dst: strdup
      Src: /src/libpcap/pcap-rpcap.c:1686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - fp
    - filter
    argTypes:
    - pcap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1688
    functionName: pcap_save_current_filter_rpcap
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - free
    - strdup
    linkageType: ''
    returnType: void
    signature: void pcap_save_current_filter_rpcap(pcap_t *fp, const char *filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_install_bpf_program
      Src: /src/libpcap/pcap-rpcap.c:1706,1
    - Dst: pcap_updatefilter_remote
      Src: /src/libpcap/pcap-rpcap.c:1712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - prog
    argTypes:
    - pcap_t*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1699
    functionDepth: 3
    functionLinenumber: 1699
    functionLinenumberEnd: 1716
    functionName: pcap_setfilter_rpcap
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - pcap_updatefilter_remote
    - pcapint_install_bpf_program
    linkageType: ''
    returnType: int
    signature: int pcap_setfilter_rpcap(pcap_t *fp, struct bpf_program *prog)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getpeername
      Src: /src/libpcap/pcap-rpcap.c:1747,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/pcap-rpcap.c:1749,1
    - Dst: getnameinfo
      Src: /src/libpcap/pcap-rpcap.c:1754,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/pcap-rpcap.c:1757,1
    - Dst: getsockname
      Src: /src/libpcap/pcap-rpcap.c:1764,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/pcap-rpcap.c:1766,1
    - Dst: getnameinfo
      Src: /src/libpcap/pcap-rpcap.c:1772,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/pcap-rpcap.c:1775,1
    - Dst: getsockname
      Src: /src/libpcap/pcap-rpcap.c:1781,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/pcap-rpcap.c:1783,1
    - Dst: getnameinfo
      Src: /src/libpcap/pcap-rpcap.c:1789,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/pcap-rpcap.c:1791,1
    - Dst: pcapint_asprintf
      Src: /src/libpcap/pcap-rpcap.c:1802,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:1809,1
    - Dst: pcapint_asprintf
      Src: /src/libpcap/pcap-rpcap.c:1820,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:1826,1
    - Dst: pcap_compile
      Src: /src/libpcap/pcap-rpcap.c:1839,1
    - Dst: free
      Src: /src/libpcap/pcap-rpcap.c:1845,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - fp
    - prog
    argTypes:
    - pcap_t*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1849
    functionName: pcap_createfilter_norpcappkt
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 1
    functionsReached:
    - getsockname
    - getpeername
    - pcap_compile
    - snprintf
    - pcapint_asprintf
    - free
    - sock_geterrmsg
    - getnameinfo
    linkageType: ''
    returnType: int
    signature: int pcap_createfilter_norpcappkt(pcap_t *fp, struct bpf_program *prog)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:1882,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:1887,1
    - Dst: sock_bufferize
      Src: /src/libpcap/pcap-rpcap.c:1892,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/pcap-rpcap.c:1896,1
    - Dst: sock_bufferize
      Src: /src/libpcap/pcap-rpcap.c:1903,1
    - Dst: memset
      Src: /src/libpcap/pcap-rpcap.c:1907,1
    - Dst: htonl
      Src: /src/libpcap/pcap-rpcap.c:1910,1
    - Dst: sock_send
      Src: /src/libpcap/pcap-rpcap.c:1912,1
    - Dst: rpcap_process_msg_header
      Src: /src/libpcap/pcap-rpcap.c:1917,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:1924,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - fp
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1864
    functionDepth: 2
    functionLinenumber: 1864
    functionLinenumberEnd: 1928
    functionName: pcap_setsampling_remote
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 1
    functionsReached:
    - rpcap_discard
    - rpcap_createhdr
    - sock_bufferize
    - sock_send
    - snprintf
    - htonl
    - memset
    - rpcap_process_msg_header
    linkageType: ''
    returnType: int
    signature: int pcap_setsampling_remote(pcap_t *fp)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/pcap-rpcap.c:2000,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2003,1
    - Dst: strlen
      Src: /src/libpcap/pcap-rpcap.c:2010,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2013,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2021,1
    - Dst: sock_bufferize
      Src: /src/libpcap/pcap-rpcap.c:2033,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/pcap-rpcap.c:2037,1
    - Dst: sock_bufferize
      Src: /src/libpcap/pcap-rpcap.c:2042,1
    - Dst: memset
      Src: /src/libpcap/pcap-rpcap.c:2046,1
    - Dst: htons
      Src: /src/libpcap/pcap-rpcap.c:2048,1
    - Dst: strlen
      Src: /src/libpcap/pcap-rpcap.c:2053,1
    - Dst: sock_bufferize
      Src: /src/libpcap/pcap-rpcap.c:2057,1
    - Dst: strlen
      Src: /src/libpcap/pcap-rpcap.c:2062,1
    - Dst: sock_bufferize
      Src: /src/libpcap/pcap-rpcap.c:2066,1
    - Dst: htons
      Src: /src/libpcap/pcap-rpcap.c:2070,1
    - Dst: htons
      Src: /src/libpcap/pcap-rpcap.c:2071,1
    - Dst: sock_send
      Src: /src/libpcap/pcap-rpcap.c:2074,1
    - Dst: rpcap_process_msg_header
      Src: /src/libpcap/pcap-rpcap.c:2079,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2097,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:2099,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2122,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:2124,1
    - Dst: rpcap_recv
      Src: /src/libpcap/pcap-rpcap.c:2129,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:2132,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:2137,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2149,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2227,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2239,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 125
    argCount: 6
    argNames:
    - sockctrl
    - ssl
    - ver
    - byte_swapped
    - auth
    - errbuf
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - uint8_t*
    - int*
    - struct pcap_rmtauth*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 1972
    functionDepth: 2
    functionLinenumber: 1972
    functionLinenumberEnd: 2242
    functionName: rpcap_doauth
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - rpcap_recv
    - rpcap_discard
    - rpcap_createhdr
    - sock_bufferize
    - sock_send
    - htons
    - snprintf
    - strlen
    - memset
    - rpcap_process_msg_header
    linkageType: ''
    returnType: int
    signature: "int rpcap_doauth(PCAP_SOCKET sockctrl, SSL *ssl, uint8_t *ver,\n    int
      *byte_swapped, struct pcap_rmtauth *auth, char *errbuf)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libpcap/pcap-rpcap.c:2278,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2283,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2303,1
    - Dst: strchr
      Src: /src/libpcap/pcap-rpcap.c:2306,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2308,1
    - Dst: rpcap_doauth
      Src: /src/libpcap/pcap-rpcap.c:2313,1
    - Dst: rpcap_doauth
      Src: /src/libpcap/pcap-rpcap.c:2317,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 6
    argNames:
    - sockctrl
    - ssl
    - ver
    - byte_swapped
    - userinfo
    - errbuf
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - uint8_t*
    - int*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2253
    functionDepth: 3
    functionLinenumber: 2253
    functionLinenumberEnd: 2318
    functionName: rpcap_doauth_userinfo
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - rpcap_doauth
    - strchr
    - snprintf
    - sscanf
    linkageType: ''
    returnType: int
    signature: "int rpcap_doauth_userinfo(PCAP_SOCKET sockctrl, SSL *ssl, uint8_t
      *ver,\n    int *byte_swapped, const char *userinfo, char *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2323
    functionDepth: 0
    functionLinenumber: 2323
    functionLinenumberEnd: 2329
    functionName: pcap_getnonblock_rpcap
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_getnonblock_rpcap(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - nonblock
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2337
    functionName: pcap_setnonblock_rpcap
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_setnonblock_rpcap(pcap_t *p, int nonblock _U_)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_parsesrcstr_ex
      Src: /src/libpcap/pcap-rpcap.c:2358,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2367,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2379,1
    - Dst: sock_init
      Src: /src/libpcap/pcap-rpcap.c:2386,1
    - Dst: rpcap_remoteact_getsock
      Src: /src/libpcap/pcap-rpcap.c:2390,1
    - Dst: memset
      Src: /src/libpcap/pcap-rpcap.c:2417,1
    - Dst: sock_initaddress
      Src: /src/libpcap/pcap-rpcap.c:2424,1
    - Dst: sock_initaddress
      Src: /src/libpcap/pcap-rpcap.c:2429,1
    - Dst: sock_open
      Src: /src/libpcap/pcap-rpcap.c:2435,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/pcap-rpcap.c:2438,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/pcap-rpcap.c:2443,1
    - Dst: ssl_promotion
      Src: /src/libpcap/pcap-rpcap.c:2449,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:2453,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2457,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:2459,1
    - Dst: rpcap_doauth_userinfo
      Src: /src/libpcap/pcap-rpcap.c:2467,1
    - Dst: rpcap_doauth
      Src: /src/libpcap/pcap-rpcap.c:2473,1
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:2485,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:2488,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 13
    argNames:
    - source
    - auth
    - activep
    - sockctrlp
    - uses_sslp
    - sslp
    - rmt_flags
    - protocol_versionp
    - byte_swappedp
    - host
    - port
    - iface
    - errbuf
    argTypes:
    - char*
    - struct pcap_rmtauth*
    - int*
    - PCAP_SOCKET*
    - uint8_t*
    - SSL**
    - int
    - uint8_t*
    - int*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2339
    functionDepth: 5
    functionLinenumber: 2339
    functionLinenumberEnd: 2493
    functionName: rpcap_setup_session
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - pcapint_parsesrcstr_ex
    - rpcap_doauth
    - sock_open
    - sock_init
    - rpcap_doauth_userinfo
    - ssl_finish
    - snprintf
    - freeaddrinfo
    - sock_initaddress
    - memset
    - ssl_promotion
    - rpcap_remoteact_getsock
    - sock_close
    linkageType: ''
    returnType: int
    signature: "int rpcap_setup_session(const char *source, struct pcap_rmtauth *auth,\n
      \   int *activep, PCAP_SOCKET *sockctrlp, uint8_t *uses_sslp, SSL **sslp,\n
      \   int rmt_flags, uint8_t *protocol_versionp, int *byte_swappedp,\n    char
      *host, char *port, char *iface, char *errbuf)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-rpcap.c:2553,1
    - Dst: strdup
      Src: /src/libpcap/pcap-rpcap.c:2558,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rpcap.c:2560,1
    - Dst: rpcap_setup_session
      Src: /src/libpcap/pcap-rpcap.c:2588,1
    - Dst: pcap_close
      Src: /src/libpcap/pcap-rpcap.c:2593,1
    - Dst: sock_bufferize
      Src: /src/libpcap/pcap-rpcap.c:2604,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/pcap-rpcap.c:2608,1
    - Dst: strlen
      Src: /src/libpcap/pcap-rpcap.c:2609,1
    - Dst: sock_bufferize
      Src: /src/libpcap/pcap-rpcap.c:2611,1
    - Dst: strlen
      Src: /src/libpcap/pcap-rpcap.c:2611,1
    - Dst: sock_send
      Src: /src/libpcap/pcap-rpcap.c:2615,1
    - Dst: rpcap_process_msg_header
      Src: /src/libpcap/pcap-rpcap.c:2620,1
    - Dst: rpcap_recv
      Src: /src/libpcap/pcap-rpcap.c:2626,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:2631,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:2635,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:2670,1
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:2680,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:2683,1
    - Dst: pcap_close
      Src: /src/libpcap/pcap-rpcap.c:2686,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 6
    argNames:
    - source
    - snaplen
    - flags
    - read_timeout
    - auth
    - errbuf
    argTypes:
    - char*
    - int
    - int
    - int
    - struct pcap_rmtauth*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2688
      start: 2534
    functionDepth: 6
    functionLinenumber: 2534
    functionLinenumberEnd: 2688
    functionName: pcap_open_rpcap
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 1
    functionsReached:
    - rpcap_recv
    - ntohl
    - rpcap_setup_session
    - rpcap_discard
    - pcapint_fmt_errmsg_for_errno
    - rpcap_createhdr
    - ssl_finish
    - sock_bufferize
    - sock_send
    - strdup
    - strlen
    - PCAP_CREATE_COMMON
    - rpcap_process_msg_header
    - pcap_close
    - sock_close
    linkageType: ''
    returnType: pcap_t
    signature: pcap_t *pcap_open_rpcap(const char *source, int snaplen, int flags,
      int read_timeout, struct pcap_rmtauth *auth, char *errbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpcap/pcap-rpcap.c:2700,1
    - Dst: free
      Src: /src/libpcap/pcap-rpcap.c:2701,1
    - Dst: free
      Src: /src/libpcap/pcap-rpcap.c:2702,1
    - Dst: free
      Src: /src/libpcap/pcap-rpcap.c:2703,1
    - Dst: free
      Src: /src/libpcap/pcap-rpcap.c:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct pcap_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2697
    functionDepth: 0
    functionLinenumber: 2697
    functionLinenumberEnd: 2705
    functionName: freeaddr
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void freeaddr(struct pcap_addr *addr)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: rpcap_setup_session
      Src: /src/libpcap/pcap-rpcap.c:2732,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/pcap-rpcap.c:2741,1
    - Dst: sock_send
      Src: /src/libpcap/pcap-rpcap.c:2744,1
    - Dst: rpcap_process_msg_header
      Src: /src/libpcap/pcap-rpcap.c:2749,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-rpcap.c:2756,1
    - Dst: rpcap_recv
      Src: /src/libpcap/pcap-rpcap.c:2768,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-rpcap.c:2772,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-rpcap.c:2773,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-rpcap.c:2774,1
    - Dst: malloc
      Src: /src/libpcap/pcap-rpcap.c:2777,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rpcap.c:2780,1
    - Dst: memset
      Src: /src/libpcap/pcap-rpcap.c:2786,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2812,1
    - Dst: rpcap_recv
      Src: /src/libpcap/pcap-rpcap.c:2817,1
    - Dst: pcapint_createsrcstr_ex
      Src: /src/libpcap/pcap-rpcap.c:2824,1
    - Dst: strdup
      Src: /src/libpcap/pcap-rpcap.c:2828,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rpcap.c:2831,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:2841,1
    - Dst: rpcap_recv
      Src: /src/libpcap/pcap-rpcap.c:2846,1
    - Dst: pcapint_asprintf
      Src: /src/libpcap/pcap-rpcap.c:2852,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rpcap.c:2856,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:2862,1
    - Dst: rpcap_recv
      Src: /src/libpcap/pcap-rpcap.c:2871,1
    - Dst: malloc
      Src: /src/libpcap/pcap-rpcap.c:2879,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rpcap.c:2882,1
    - Dst: rpcap_deseraddr
      Src: /src/libpcap/pcap-rpcap.c:2892,1
    - Dst: freeaddr
      Src: /src/libpcap/pcap-rpcap.c:2895,1
    - Dst: rpcap_deseraddr
      Src: /src/libpcap/pcap-rpcap.c:2898,1
    - Dst: freeaddr
      Src: /src/libpcap/pcap-rpcap.c:2901,1
    - Dst: rpcap_deseraddr
      Src: /src/libpcap/pcap-rpcap.c:2904,1
    - Dst: freeaddr
      Src: /src/libpcap/pcap-rpcap.c:2907,1
    - Dst: rpcap_deseraddr
      Src: /src/libpcap/pcap-rpcap.c:2910,1
    - Dst: freeaddr
      Src: /src/libpcap/pcap-rpcap.c:2913,1
    - Dst: free
      Src: /src/libpcap/pcap-rpcap.c:2924,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:2945,1
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:2957,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:2960,1
    - Dst: sock_cleanup
      Src: /src/libpcap/pcap-rpcap.c:2965,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:2983,1
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:2994,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:2997,1
    - Dst: sock_cleanup
      Src: /src/libpcap/pcap-rpcap.c:3001,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/pcap-rpcap.c:3004,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 147
    argCount: 4
    argNames:
    - source
    - auth
    - alldevs
    - errbuf
    argTypes:
    - char*
    - struct pcap_rmtauth*
    - pcap_if_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3007
      start: 2707
    functionDepth: 6
    functionLinenumber: 2707
    functionLinenumberEnd: 3007
    functionName: pcap_findalldevs_ex_remote
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - ntohl
    - sock_cleanup
    - pcapint_createsrcstr_ex
    - freeaddr
    - rpcap_setup_session
    - rpcap_discard
    - rpcap_createhdr
    - sock_send
    - rpcap_process_msg_header
    - sock_close
    - rpcap_recv
    - pcap_freealldevs
    - strdup
    - snprintf
    - pcapint_asprintf
    - memset
    - rpcap_deseraddr
    - pcapint_fmt_errmsg_for_errno
    - ssl_finish
    - ntohs
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int pcap_findalldevs_ex_remote(const char *source, struct pcap_rmtauth
      *auth, pcap_if_t **alldevs, char *errbuf)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-rpcap.c:3032,1
    - Dst: sock_init
      Src: /src/libpcap/pcap-rpcap.c:3040,1
    - Dst: sock_initaddress
      Src: /src/libpcap/pcap-rpcap.c:3046,1
    - Dst: sock_initaddress
      Src: /src/libpcap/pcap-rpcap.c:3052,1
    - Dst: sock_open
      Src: /src/libpcap/pcap-rpcap.c:3060,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/pcap-rpcap.c:3062,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/pcap-rpcap.c:3065,1
    - Dst: accept
      Src: /src/libpcap/pcap-rpcap.c:3070,1
    - Dst: closesocket
      Src: /src/libpcap/pcap-rpcap.c:3074,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/pcap-rpcap.c:3079,1
    - Dst: ssl_promotion
      Src: /src/libpcap/pcap-rpcap.c:3087,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:3090,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:3094,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:3095,1
    - Dst: getnameinfo
      Src: /src/libpcap/pcap-rpcap.c:3101,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/pcap-rpcap.c:3103,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/pcap-rpcap.c:3105,1
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:3111,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:3114,1
    - Dst: sock_check_hostlist
      Src: /src/libpcap/pcap-rpcap.c:3119,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/pcap-rpcap.c:3121,1
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:3127,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:3130,1
    - Dst: rpcap_doauth
      Src: /src/libpcap/pcap-rpcap.c:3137,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/pcap-rpcap.c:3141,1
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:3147,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:3150,1
    - Dst: sock_cmpaddr
      Src: /src/libpcap/pcap-rpcap.c:3163,1
    - Dst: malloc
      Src: /src/libpcap/pcap-rpcap.c:3173,1
    - Dst: malloc
      Src: /src/libpcap/pcap-rpcap.c:3178,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rpcap.c:3184,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/pcap-rpcap.c:3186,1
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:3192,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:3195,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-rpcap.c:3199,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 95
    argCount: 7
    argNames:
    - address
    - port
    - hostlist
    - connectinghost
    - auth
    - uses_ssl
    - errbuf
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - struct pcap_rmtauth*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3207
      start: 3016
    functionDepth: 3
    functionLinenumber: 3016
    functionLinenumberEnd: 3207
    functionName: pcap_remoteact_accept_ex
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - rpcap_doauth
    - sock_cmpaddr
    - sock_check_hostlist
    - sock_geterrmsg
    - getnameinfo
    - sock_close
    - accept
    - sock_open
    - sock_init
    - memcpy
    - snprintf
    - freeaddrinfo
    - sock_initaddress
    - memset
    - ssl_promotion
    - rpcap_senderror
    - ssl_finish
    - pcapint_fmt_errmsg_for_errno
    - closesocket
    - malloc
    linkageType: ''
    returnType: PCAP_SOCKET
    signature: PCAP_SOCKET pcap_remoteact_accept_ex(const char *address, const char
      *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth,
      int uses_ssl, char *errbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_remoteact_accept_ex
      Src: /src/libpcap/pcap-rpcap.c:3211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - address
    - port
    - hostlist
    - connectinghost
    - auth
    - errbuf
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - struct pcap_rmtauth*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3212
      start: 3209
    functionDepth: 4
    functionLinenumber: 3209
    functionLinenumberEnd: 3212
    functionName: pcap_remoteact_accept
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - pcap_remoteact_accept_ex
    linkageType: ''
    returnType: PCAP_SOCKET
    signature: PCAP_SOCKET pcap_remoteact_accept(const char *address, const char *port,
      const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char
      *errbuf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-rpcap.c:3224,1
    - Dst: sock_initaddress
      Src: /src/libpcap/pcap-rpcap.c:3228,1
    - Dst: sock_cmpaddr
      Src: /src/libpcap/pcap-rpcap.c:3240,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/pcap-rpcap.c:3246,1
    - Dst: sock_send
      Src: /src/libpcap/pcap-rpcap.c:3253,1
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:3269,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:3272,1
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:3285,1
    - Dst: sock_close
      Src: /src/libpcap/pcap-rpcap.c:3288,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/pcap-rpcap.c:3302,1
    - Dst: free
      Src: /src/libpcap/pcap-rpcap.c:3304,1
    - Dst: sock_cleanup
      Src: /src/libpcap/pcap-rpcap.c:3307,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/pcap-rpcap.c:3319,1
    - Dst: sock_cleanup
      Src: /src/libpcap/pcap-rpcap.c:3322,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:3324,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 2
    argNames:
    - host
    - errbuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3326
      start: 3214
    functionDepth: 2
    functionLinenumber: 3214
    functionLinenumberEnd: 3326
    functionName: pcap_remoteact_close
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - sock_cleanup
    - sock_cmpaddr
    - ssl_finish
    - rpcap_createhdr
    - sock_send
    - free
    - snprintf
    - freeaddrinfo
    - sock_initaddress
    - memset
    - sock_close
    linkageType: ''
    returnType: int
    signature: int pcap_remoteact_close(const char *host, char *errbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ssl_finish
      Src: /src/libpcap/pcap-rpcap.c:3335,1
    - Dst: closesocket
      Src: /src/libpcap/pcap-rpcap.c:3343,1
    - Dst: sock_cleanup
      Src: /src/libpcap/pcap-rpcap.c:3346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3348
      start: 3328
    functionDepth: 1
    functionLinenumber: 3328
    functionLinenumberEnd: 3348
    functionName: pcap_remoteact_cleanup
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - ssl_finish
    - closesocket
    - sock_cleanup
    linkageType: ''
    returnType: void
    signature: void pcap_remoteact_cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sock_getascii_addrport
      Src: /src/libpcap/pcap-rpcap.c:3366,1
    - Dst: strlen
      Src: /src/libpcap/pcap-rpcap.c:3376,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:3380,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/pcap-rpcap.c:3385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - hostlist
    - sep
    - size
    - errbuf
    argTypes:
    - char*
    - char
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3350
    functionDepth: 1
    functionLinenumber: 3350
    functionLinenumberEnd: 3393
    functionName: pcap_remoteact_list
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcat
    - sock_getascii_addrport
    - snprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: int pcap_remoteact_list(char *hostlist, char sep, int size, char *errbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sock_recv
      Src: /src/libpcap/pcap-rpcap.c:3402,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-rpcap.c:3410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - sock
    - ssl
    - header
    - errbuf
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - struct rpcap_header*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3412
      start: 3398
    functionDepth: 1
    functionLinenumber: 3398
    functionLinenumberEnd: 3412
    functionName: rpcap_recv_msg_header
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - ntohl
    - sock_recv
    linkageType: ''
    returnType: int
    signature: int rpcap_recv_msg_header(PCAP_SOCKET sock, SSL *ssl, struct rpcap_header
      *header, char *errbuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:3428,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:3436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - sock
    - ssl
    - expected_ver
    - header
    - errbuf
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - uint8_t
    - struct rpcap_header*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3418
    functionDepth: 1
    functionLinenumber: 3418
    functionLinenumberEnd: 3443
    functionName: rpcap_check_msg_ver
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 1
    functionsReached:
    - rpcap_discard
    - snprintf
    linkageType: ''
    returnType: int
    signature: int rpcap_check_msg_ver(PCAP_SOCKET sock, SSL *ssl, uint8_t expected_ver,
      struct rpcap_header *header, char *errbuf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/libpcap/pcap-rpcap.c:3463,1
    - Dst: rpcap_msg_err
      Src: /src/libpcap/pcap-rpcap.c:3464,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:3483,1
    - Dst: rpcap_msg_type_string
      Src: /src/libpcap/pcap-rpcap.c:3489,1
    - Dst: rpcap_msg_type_string
      Src: /src/libpcap/pcap-rpcap.c:3490,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:3496,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:3502,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:3506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - sock
    - ssl
    - request_type
    - header
    - errcode
    - errbuf
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - uint8_t
    - struct rpcap_header*
    - uint16_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3514
      start: 3449
    functionDepth: 1
    functionLinenumber: 3449
    functionLinenumberEnd: 3514
    functionName: rpcap_check_msg_type
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 0
    functionsReached:
    - rpcap_msg_type_string
    - ntohs
    - rpcap_msg_err
    - snprintf
    - rpcap_discard
    linkageType: ''
    returnType: int
    signature: int rpcap_check_msg_type(PCAP_SOCKET sock, SSL *ssl, uint8_t request_type,
      struct rpcap_header *header, uint16_t *errcode, char *errbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcap_recv_msg_header
      Src: /src/libpcap/pcap-rpcap.c:3523,1
    - Dst: rpcap_check_msg_ver
      Src: /src/libpcap/pcap-rpcap.c:3532,1
    - Dst: rpcap_check_msg_type
      Src: /src/libpcap/pcap-rpcap.c:3538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - sock
    - ssl
    - expected_ver
    - request_type
    - header
    - errbuf
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - uint8_t
    - uint8_t
    - struct rpcap_header*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3540
      start: 3519
    functionDepth: 2
    functionLinenumber: 3519
    functionLinenumberEnd: 3540
    functionName: rpcap_process_msg_header
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 8
    functionsReached:
    - rpcap_check_msg_type
    - rpcap_recv_msg_header
    - rpcap_check_msg_ver
    linkageType: ''
    returnType: int
    signature: int rpcap_process_msg_header(PCAP_SOCKET sock, SSL *ssl, uint8_t expected_ver,
      uint8_t request_type, struct rpcap_header *header, char *errbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:3558,1
    - Dst: sock_recv
      Src: /src/libpcap/pcap-rpcap.c:3561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - sock
    - ssl
    - buffer
    - toread
    - plen
    - errbuf
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - void*
    - size_t
    - uint32_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3569
      start: 3551
    functionDepth: 1
    functionLinenumber: 3551
    functionLinenumberEnd: 3569
    functionName: rpcap_recv
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 5
    functionsReached:
    - sock_recv
    - snprintf
    linkageType: ''
    returnType: int
    signature: int rpcap_recv(PCAP_SOCKET sock, SSL *ssl, void *buffer, size_t toread,
      uint32_t *plen, char *errbuf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sock_recv
      Src: /src/libpcap/pcap-rpcap.c:3584,1
    - Dst: utf_8_to_acp_truncated
      Src: /src/libpcap/pcap-rpcap.c:3606,1
    - Dst: rpcap_discard
      Src: /src/libpcap/pcap-rpcap.c:3612,1
    - Dst: sock_recv
      Src: /src/libpcap/pcap-rpcap.c:3621,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - sockctrl
    - ssl
    - plen
    - remote_errbuf
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3637
      start: 3574
    functionDepth: 1
    functionLinenumber: 3574
    functionLinenumberEnd: 3637
    functionName: rpcap_msg_err
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 1
    functionsReached:
    - utf_8_to_acp_truncated
    - rpcap_discard
    - sock_recv
    linkageType: ''
    returnType: void
    signature: void rpcap_msg_err(PCAP_SOCKET sockctrl, SSL *ssl, uint32_t plen, char
      *remote_errbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sock_discard
      Src: /src/libpcap/pcap-rpcap.c:3649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - sock
    - ssl
    - len
    - errbuf
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3656
      start: 3645
    functionDepth: 1
    functionLinenumber: 3645
    functionLinenumberEnd: 3656
    functionName: rpcap_discard
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 11
    functionsReached:
    - sock_discard
    linkageType: ''
    returnType: int
    signature: int rpcap_discard(PCAP_SOCKET sock, SSL *ssl, uint32_t len, char *errbuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sock_recv
      Src: /src/libpcap/pcap-rpcap.c:3681,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rpcap.c:3713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - rp
    - p
    - size
    argTypes:
    - struct pcap_rpcap*
    - pcap_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3723
      start: 3662
    functionDepth: 1
    functionLinenumber: 3662
    functionLinenumberEnd: 3723
    functionName: rpcap_read_packet_msg
    functionSourceFile: /src/libpcap/pcap-rpcap.c
    functionUses: 1
    functionsReached:
    - sock_recv
    - snprintf
    linkageType: ''
    returnType: int
    signature: int rpcap_read_packet_msg(struct pcap_rpcap const *rp, pcap_t *p, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - max_snaplen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: MAX_BLOCKSIZE_FOR_SNAPLEN
    functionSourceFile: /src/libpcap/sf-pcapng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX_BLOCKSIZE_FOR_SNAPLEN(max_snaplen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libpcap/sf-pcapng.c:261,1
    - Dst: ferror
      Src: /src/libpcap/sf-pcapng.c:263,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcapng.c:264,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - fp
    - buf
    - bytes_to_read
    - fail_on_eof
    - errbuf
    argTypes:
    - FILE*
    - void*
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 276
    functionName: read_bytes
    functionSourceFile: /src/libpcap/sf-pcapng.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - fread
    - snprintf
    - ferror
    linkageType: ''
    returnType: int
    signature: "int read_bytes(FILE *fp, void *buf, size_t bytes_to_read, int fail_on_eof,\n
      \   char *errbuf)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: read_bytes
      Src: /src/libpcap/sf-pcapng.c:290,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:295,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:296,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:305,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:319,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:336,1
    - Dst: realloc
      Src: /src/libpcap/sf-pcapng.c:340,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:342,1
    - Dst: memcpy
      Src: /src/libpcap/sf-pcapng.c:352,1
    - Dst: read_bytes
      Src: /src/libpcap/sf-pcapng.c:355,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:363,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:373,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 4
    argNames:
    - fp
    - p
    - cursor
    - errbuf
    argTypes:
    - FILE*
    - pcap_t*
    - struct block_cursor*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 386
    functionName: read_block
    functionSourceFile: /src/libpcap/sf-pcapng.c
    functionUses: 0
    functionsReached:
    - SWAPLONG
    - memcpy
    - snprintf
    - read_bytes
    - realloc
    linkageType: ''
    returnType: int
    signature: int read_block(FILE *fp, pcap_t *p, struct block_cursor *cursor, char
      *errbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - cursor
    - chunk_size
    - errbuf
    argTypes:
    - struct block_cursor*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 412
    functionName: get_from_block_data
    functionSourceFile: /src/libpcap/sf-pcapng.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void *\nget_from_block_data(struct block_cursor *cursor, size_t chunk_size,\n
      \   char *errbuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_from_block_data
      Src: /src/libpcap/sf-pcapng.c:419,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/sf-pcapng.c:431,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/sf-pcapng.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p
    - cursor
    - errbuf
    argTypes:
    - pcap_t*
    - struct block_cursor*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 436
    functionName: get_opthdr_from_block_data
    functionSourceFile: /src/libpcap/sf-pcapng.c
    functionUses: 0
    functionsReached:
    - SWAPSHORT
    - get_from_block_data
    linkageType: ''
    returnType: struct option_header
    signature: 'struct option_header *

      get_opthdr_from_block_data(pcap_t *p, struct block_cursor *cursor, char *errbuf)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_from_block_data
      Src: /src/libpcap/sf-pcapng.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cursor
    - opthdr
    - errbuf
    argTypes:
    - struct block_cursor*
    - struct option_header*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 458
    functionName: get_optvalue_from_block_data
    functionSourceFile: /src/libpcap/sf-pcapng.c
    functionUses: 0
    functionsReached:
    - get_from_block_data
    linkageType: ''
    returnType: void
    signature: "void *\nget_optvalue_from_block_data(struct block_cursor *cursor,\n
      \   struct option_header *opthdr, char *errbuf)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: get_opthdr_from_block_data
      Src: /src/libpcap/sf-pcapng.c:476,1
    - Dst: get_optvalue_from_block_data
      Src: /src/libpcap/sf-pcapng.c:487,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:500,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:509,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:515,1
    - Dst: memcpy
      Src: /src/libpcap/sf-pcapng.c:520,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:532,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:552,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:566,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:572,1
    - Dst: memcpy
      Src: /src/libpcap/sf-pcapng.c:577,1
    - Dst: SWAPLL
      Src: /src/libpcap/sf-pcapng.c:579,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 6
    argNames:
    - p
    - cursor
    - tsresol
    - tsoffset
    - is_binary
    - errbuf
    argTypes:
    - pcap_t*
    - struct block_cursor*
    - uint64_t*
    - int64_t*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 589
    functionName: process_idb_options
    functionSourceFile: /src/libpcap/sf-pcapng.c
    functionUses: 0
    functionsReached:
    - memcpy
    - snprintf
    - SWAPLL
    - get_optvalue_from_block_data
    - get_opthdr_from_block_data
    linkageType: ''
    returnType: int
    signature: "int process_idb_options(pcap_t *p, struct block_cursor *cursor, uint64_t
      *tsresol,\n    int64_t *tsoffset, int *is_binary, char *errbuf)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/sf-pcapng.c:635,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:650,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:681,1
    - Dst: realloc
      Src: /src/libpcap/sf-pcapng.c:686,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:693,1
    - Dst: process_idb_options
      Src: /src/libpcap/sf-pcapng.c:715,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 4
    argNames:
    - p
    - idbp
    - cursor
    - errbuf
    argTypes:
    - pcap_t*
    - struct interface_description_block*
    - struct block_cursor*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 591
    functionDepth: 3
    functionLinenumber: 591
    functionLinenumberEnd: 762
    functionName: add_interface
    functionSourceFile: /src/libpcap/sf-pcapng.c
    functionUses: 0
    functionsReached:
    - realloc
    - process_idb_options
    - malloc
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int add_interface(pcap_t *p, struct interface_description_block *idbp,\n
      \   struct block_cursor *cursor, char *errbuf)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpcap/sf-pcapng.c:794,1
    - Dst: fread
      Src: /src/libpcap/sf-pcapng.c:819,1
    - Dst: ferror
      Src: /src/libpcap/sf-pcapng.c:821,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcapng.c:822,1
    - Dst: fread
      Src: /src/libpcap/sf-pcapng.c:834,1
    - Dst: ferror
      Src: /src/libpcap/sf-pcapng.c:836,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcapng.c:837,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:850,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:858,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:866,1
    - Dst: PCAP_OPEN_OFFLINE_COMMON
      Src: /src/libpcap/sf-pcapng.c:880,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:903,1
    - Dst: free
      Src: /src/libpcap/sf-pcapng.c:905,1
    - Dst: malloc
      Src: /src/libpcap/sf-pcapng.c:931,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:933,1
    - Dst: free
      Src: /src/libpcap/sf-pcapng.c:934,1
    - Dst: read_bytes
      Src: /src/libpcap/sf-pcapng.c:949,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/sf-pcapng.c:959,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/sf-pcapng.c:960,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:983,1
    - Dst: read_block
      Src: /src/libpcap/sf-pcapng.c:1003,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:1006,1
    - Dst: get_from_block_data
      Src: /src/libpcap/sf-pcapng.c:1019,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/sf-pcapng.c:1028,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:1029,1
    - Dst: add_interface
      Src: /src/libpcap/sf-pcapng.c:1035,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:1048,1
    - Dst: linktype_to_dlt
      Src: /src/libpcap/sf-pcapng.c:1061,1
    - Dst: pcapint_adjust_snapshot
      Src: /src/libpcap/sf-pcapng.c:1062,1
    - Dst: MAX_BLOCKSIZE_FOR_SNAPLEN
      Src: /src/libpcap/sf-pcapng.c:1070,1
    - Dst: max_snaplen_for_dlt
      Src: /src/libpcap/sf-pcapng.c:1070,1
    - Dst: MAX_BLOCKSIZE_FOR_SNAPLEN
      Src: /src/libpcap/sf-pcapng.c:1071,1
    - Dst: max_snaplen_for_dlt
      Src: /src/libpcap/sf-pcapng.c:1071,1
    - Dst: free
      Src: /src/libpcap/sf-pcapng.c:1079,1
    - Dst: free
      Src: /src/libpcap/sf-pcapng.c:1080,1
    - Dst: free
      Src: /src/libpcap/sf-pcapng.c:1081,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 141
    argCount: 5
    argNames:
    - magic
    - fp
    - precision
    - errbuf
    - err
    argTypes:
    - uint8_t*
    - FILE*
    - u_int
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 768
    functionDepth: 4
    functionLinenumber: 768
    functionLinenumberEnd: 1084
    functionName: pcap_ng_check_header
    functionSourceFile: /src/libpcap/sf-pcapng.c
    functionUses: 0
    functionsReached:
    - linktype_to_dlt
    - MAX_BLOCKSIZE_FOR_SNAPLEN
    - SWAPLONG
    - read_block
    - pcapint_fmt_errmsg_for_errno
    - max_snaplen_for_dlt
    - pcapint_adjust_snapshot
    - ferror
    - memcpy
    - fread
    - PCAP_OPEN_OFFLINE_COMMON
    - snprintf
    - read_bytes
    - free
    - SWAPSHORT
    - add_interface
    - malloc
    - get_from_block_data
    linkageType: ''
    returnType: pcap_t
    signature: "pcap_t *\npcap_ng_check_header(const uint8_t *magic, FILE *fp, u_int
      precision,\n    char *errbuf, int *err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpcap/sf-pcapng.c:1091,1
    - Dst: pcapint_sf_cleanup
      Src: /src/libpcap/sf-pcapng.c:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1093
    functionName: pcap_ng_cleanup
    functionSourceFile: /src/libpcap/sf-pcapng.c
    functionUses: 0
    functionsReached:
    - free
    - pcapint_sf_cleanup
    linkageType: ''
    returnType: void
    signature: void pcap_ng_cleanup(pcap_t *p)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: read_block
      Src: /src/libpcap/sf-pcapng.c:1124,1
    - Dst: get_from_block_data
      Src: /src/libpcap/sf-pcapng.c:1136,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:1146,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:1147,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:1148,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:1149,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:1150,1
    - Dst: get_from_block_data
      Src: /src/libpcap/sf-pcapng.c:1165,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:1181,1
    - Dst: get_from_block_data
      Src: /src/libpcap/sf-pcapng.c:1201,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/sf-pcapng.c:1211,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:1212,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:1213,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:1214,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:1215,1
    - Dst: get_from_block_data
      Src: /src/libpcap/sf-pcapng.c:1230,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/sf-pcapng.c:1239,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:1240,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:1252,1
    - Dst: pcapint_adjust_snapshot
      Src: /src/libpcap/sf-pcapng.c:1263,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:1264,1
    - Dst: add_interface
      Src: /src/libpcap/sf-pcapng.c:1273,1
    - Dst: get_from_block_data
      Src: /src/libpcap/sf-pcapng.c:1282,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:1294,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/sf-pcapng.c:1296,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcapng.c:1312,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:1316,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:1324,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:1334,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:1368,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcapng.c:1375,1
    - Dst: get_from_block_data
      Src: /src/libpcap/sf-pcapng.c:1510,1
    - Dst: pcapint_post_process
      Src: /src/libpcap/sf-pcapng.c:1514,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 143
    argCount: 3
    argNames:
    - p
    - hdr
    - data
    argTypes:
    - pcap_t*
    - struct pcap_pkthdr*
    - u_char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1100
    functionDepth: 4
    functionLinenumber: 1100
    functionLinenumberEnd: 1517
    functionName: pcap_ng_next_packet
    functionSourceFile: /src/libpcap/sf-pcapng.c
    functionUses: 0
    functionsReached:
    - pcapint_post_process
    - read_block
    - SWAPLONG
    - pcapint_adjust_snapshot
    - SWAPSHORT
    - add_interface
    - snprintf
    - get_from_block_data
    linkageType: ''
    returnType: int
    signature: int pcap_ng_next_packet(pcap_t *p, struct pcap_pkthdr *hdr, u_char
      **data)
  - 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: PCAP_DO_PRAGMA
    functionSourceFile: /src/libpcap/diag-control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_DO_PRAGMA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - dlt
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: snf_set_datalink
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int snf_set_datalink(pcap_t *p, int dlt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snf_ring_getstats
      Src: /src/libpcap/pcap-snf.c:50,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-snf.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p
    - ps
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: snf_pcap_stats
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - snf_ring_getstats
    linkageType: ''
    returnType: int
    signature: int snf_pcap_stats(pcap_t *p, struct pcap_stat *ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snf_inject_close
      Src: /src/libpcap/pcap-snf.c:67,1
    - Dst: snf_ring_close
      Src: /src/libpcap/pcap-snf.c:68,1
    - Dst: snf_close
      Src: /src/libpcap/pcap-snf.c:69,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-snf.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: snf_platform_cleanup
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached:
    - pcapint_cleanup_live_common
    - snf_ring_close
    - snf_close
    - snf_inject_close
    linkageType: ''
    returnType: void
    signature: void snf_platform_cleanup(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: snf_getnonblock
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int snf_getnonblock(pcap_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - nonblock
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: snf_setnonblock
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int snf_setnonblock(pcap_t *p, int nonblock)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ts_nanosec
    - tstamp_precision
    argTypes:
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 120
    functionName: snf_timestamp_to_timeval
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval snf_timestamp_to_timeval(const int64_t ts_nanosec, const
      int tstamp_precision)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_COUNT_IS_UNLIMITED
      Src: /src/libpcap/pcap-snf.c:143,1
    - Dst: snf_ring_recv
      Src: /src/libpcap/pcap-snf.c:161,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-snf.c:172,1
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap-snf.c:192,1
    - Dst: snf_timestamp_to_timeval
      Src: /src/libpcap/pcap-snf.c:193,1
    - Dst: callback
      Src: /src/libpcap/pcap-snf.c:196,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - p
    - cnt
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 206
    functionName: snf_read
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached:
    - snf_timestamp_to_timeval
    - pcapint_fmt_errmsg_for_errno
    - callback
    - snf_ring_recv
    - pcapint_filter
    - PACKET_COUNT_IS_UNLIMITED
    linkageType: ''
    returnType: int
    signature: int snf_read(pcap_t *p, int cnt, pcap_handler callback, u_char *user)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snf_inject_open
      Src: /src/libpcap/pcap-snf.c:214,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-snf.c:216,1
    - Dst: snf_inject_send
      Src: /src/libpcap/pcap-snf.c:222,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-snf.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - p
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: snf_inject
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - snf_inject_send
    - snf_inject_open
    linkageType: ''
    returnType: int
    signature: int snf_inject(pcap_t *p, const void *buf, int size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libpcap/pcap-snf.c:243,1
    - Dst: strtol
      Src: /src/libpcap/pcap-snf.c:244,1
    - Dst: getenv
      Src: /src/libpcap/pcap-snf.c:245,1
    - Dst: atoi
      Src: /src/libpcap/pcap-snf.c:245,1
    - Dst: snf_open
      Src: /src/libpcap/pcap-snf.c:257,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-snf.c:264,1
    - Dst: getenv
      Src: /src/libpcap/pcap-snf.c:269,1
    - Dst: strtol
      Src: /src/libpcap/pcap-snf.c:270,1
    - Dst: snf_ring_open_id
      Src: /src/libpcap/pcap-snf.c:272,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-snf.c:274,1
    - Dst: snf_start
      Src: /src/libpcap/pcap-snf.c:295,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-snf.c:297,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 320
    functionName: snf_activate
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached:
    - snf_ring_open_id
    - snf_start
    - pcapint_fmt_errmsg_for_errno
    - atoi
    - strtol
    - getenv
    - snf_open
    linkageType: ''
    returnType: int
    signature: int snf_activate(pcap_t* p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: snf_init
      Src: /src/libpcap/pcap-snf.c:336,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-snf.c:337,1
    - Dst: snf_getifaddrs
      Src: /src/libpcap/pcap-snf.c:342,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-snf.c:344,1
    - Dst: getenv
      Src: /src/libpcap/pcap-snf.c:348,1
    - Dst: strtol
      Src: /src/libpcap/pcap-snf.c:350,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-snf.c:352,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-snf.c:385,1
    - Dst: pcapint_find_dev
      Src: /src/libpcap/pcap-snf.c:400,1
    - Dst: strdup
      Src: /src/libpcap/pcap-snf.c:415,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-snf.c:417,1
    - Dst: free
      Src: /src/libpcap/pcap-snf.c:422,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-snf.c:438,1
    - Dst: inet_pton
      Src: /src/libpcap/pcap-snf.c:446,1
    - Dst: pcapint_add_addr_to_dev
      Src: /src/libpcap/pcap-snf.c:453,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-snf.c:460,1
    - Dst: snf_freeifaddrs
      Src: /src/libpcap/pcap-snf.c:468,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-snf.c:476,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-snf.c:477,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-snf.c:488,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 2
    argNames:
    - devlistp
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 499
    functionName: snf_findalldevs
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached:
    - pcapint_add_dev
    - snf_getifaddrs
    - pcapint_fmt_errmsg_for_errno
    - strdup
    - inet_pton
    - snf_freeifaddrs
    - snprintf
    - free
    - strtol
    - pcapint_add_addr_to_dev
    - pcapint_find_dev
    - getenv
    - snf_init
    linkageType: ''
    returnType: int
    signature: int snf_findalldevs(pcap_if_list_t *devlistp, char *errbuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snf_init
      Src: /src/libpcap/pcap-snf.c:513,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-snf.c:514,1
    - Dst: snf_getifaddrs
      Src: /src/libpcap/pcap-snf.c:519,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-snf.c:520,1
    - Dst: strcmp
      Src: /src/libpcap/pcap-snf.c:526,1
    - Dst: snf_freeifaddrs
      Src: /src/libpcap/pcap-snf.c:532,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - device
    - out
    - errbuf
    argTypes:
    - char*
    - struct snf_ifaddrs*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: snf_device_exists
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached:
    - snf_getifaddrs
    - pcapint_fmt_errmsg_for_errno
    - strcmp
    - snf_freeifaddrs
    - snf_init
    linkageType: ''
    returnType: int
    signature: int snf_device_exists(const char *device, struct snf_ifaddrs *out,
      char *errbuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snf_device_exists
      Src: /src/libpcap/pcap-snf.c:557,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-snf.c:570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - device
    - flags
    - errbuf
    argTypes:
    - char*
    - bpf_u_int32*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 576
    functionName: snf_get_if_flags
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached:
    - snf_device_exists
    - snprintf
    linkageType: ''
    returnType: int
    signature: int snf_get_if_flags(const char *device, bpf_u_int32 *flags, char *errbuf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snf_device_exists
      Src: /src/libpcap/pcap-snf.c:590,1
    - Dst: sscanf
      Src: /src/libpcap/pcap-snf.c:602,1
    - Dst: sscanf
      Src: /src/libpcap/pcap-snf.c:603,1
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-snf.c:613,1
    - Dst: malloc
      Src: /src/libpcap/pcap-snf.c:621,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-snf.c:623,1
    - Dst: pcap_close
      Src: /src/libpcap/pcap-snf.c:625,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - device
    - ebuf
    - is_ours
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 635
    functionName: snf_create
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached:
    - snf_device_exists
    - pcapint_fmt_errmsg_for_errno
    - sscanf
    - PCAP_CREATE_COMMON
    - malloc
    - pcap_close
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      snf_create(const char *device, char *ebuf, int *is_ours)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snf_device_exists
      Src: /src/libpcap/pcap-snf.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 646
    functionDepth: 3
    functionLinenumber: 646
    functionLinenumberEnd: 651
    functionName: can_be_bound
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached:
    - snf_device_exists
    linkageType: ''
    returnType: int
    signature: int can_be_bound(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_findalldevs_interfaces
      Src: /src/libpcap/pcap-snf.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - devlistp
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 663
    functionName: pcapint_platform_finddevs
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 1
    functionsReached:
    - pcapint_findalldevs_interfaces
    linkageType: ''
    returnType: int
    signature: int pcapint_platform_finddevs(pcap_if_list_t *devlistp, char *errbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-snf.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - device
    - errbuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: pcapint_create_interface
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcapint_create_interface(const char *device _U_, char *errbuf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO
      Src: /src/libpcap/pcap-snf.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 682
    functionName: pcap_lib_version
    functionSourceFile: /src/libpcap/pcap-snf.c
    functionUses: 0
    functionsReached:
    - PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_lib_version(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:123,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - bufsize
    - p
    argTypes:
    - char*
    - size_t
    - struct bpf_insn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 127
    functionName: bpf_print_abs_load_operand
    functionSourceFile: /src/libpcap/bpf_image.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void bpf_print_abs_load_operand(char *buf, size_t bufsize, const struct
      bpf_insn *p)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:141,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:147,1
    - Dst: bpf_print_abs_load_operand
      Src: /src/libpcap/bpf_image.c:158,1
    - Dst: bpf_print_abs_load_operand
      Src: /src/libpcap/bpf_image.c:164,1
    - Dst: bpf_print_abs_load_operand
      Src: /src/libpcap/bpf_image.c:170,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:186,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:192,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:198,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:204,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:210,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:216,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:222,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:228,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:234,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:240,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:246,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:252,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:258,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:264,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:270,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:346,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:352,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:358,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:364,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:370,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:376,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:382,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:388,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:394,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:400,1
    - Dst: BPF_CLASS
      Src: /src/libpcap/bpf_image.c:419,1
    - Dst: BPF_OP
      Src: /src/libpcap/bpf_image.c:419,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:420,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:424,1
    - Dst: snprintf
      Src: /src/libpcap/bpf_image.c:428,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 242
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - struct bpf_insn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 433
    functionName: bpf_image
    functionSourceFile: /src/libpcap/bpf_image.c
    functionUses: 1
    functionsReached:
    - BPF_CLASS
    - BPF_OP
    - bpf_print_abs_load_operand
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      bpf_image(const struct bpf_insn *p, int n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: SA_LEN
    functionSourceFile: /src/libpcap/fad-getad.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SA_LEN(addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 127
    functionName: get_sa_len
    functionSourceFile: /src/libpcap/fad-getad.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t get_sa_len(struct sockaddr *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: SA_LEN
    functionSourceFile: /src/libpcap/fad-getad.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SA_LEN(addr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getifaddrs
      Src: /src/libpcap/fad-getad.c:162,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-getad.c:163,1
    - Dst: strchr
      Src: /src/libpcap/fad-getad.c:179,1
    - Dst: PCAP_ISDIGIT
      Src: /src/libpcap/fad-getad.c:185,1
    - Dst: SA_LEN
      Src: /src/libpcap/fad-getad.c:216,1
    - Dst: SA_LEN
      Src: /src/libpcap/fad-getad.c:219,1
    - Dst: SA_LEN
      Src: /src/libpcap/fad-getad.c:249,1
    - Dst: SA_LEN
      Src: /src/libpcap/fad-getad.c:257,1
    - Dst: pcapint_add_addr_to_if
      Src: /src/libpcap/fad-getad.c:266,1
    - Dst: freeifaddrs
      Src: /src/libpcap/fad-getad.c:276,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - devlistp
    - errbuf
    - get_flags_func
    argTypes:
    - pcap_if_list_t*
    - char*
    - get_if_flags_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 279
    functionName: pcapint_findalldevs_interfaces
    functionSourceFile: /src/libpcap/fad-getad.c
    functionUses: 1
    functionsReached:
    - PCAP_ISDIGIT
    - pcapint_fmt_errmsg_for_errno
    - strchr
    - freeifaddrs
    - SA_LEN
    - getifaddrs
    - pcapint_add_addr_to_if
    linkageType: ''
    returnType: int
    signature: "int pcapint_findalldevs_interfaces(pcap_if_list_t *devlistp, char
      *errbuf,\n    int (*check_usable)(const char *), get_if_flags_func get_flags_func)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/libpcap/pcap-netfilter-linux.c:118,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-netfilter-linux.c:128,1
    - Dst: NLMSG_SPACE
      Src: /src/libpcap/pcap-netfilter-linux.c:185,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-netfilter-linux.c:194,1
    - Dst: NFNL_SUBSYS_ID
      Src: /src/libpcap/pcap-netfilter-linux.c:198,1
    - Dst: NFNL_MSG_TYPE
      Src: /src/libpcap/pcap-netfilter-linux.c:199,1
    - Dst: NFNL_SUBSYS_ID
      Src: /src/libpcap/pcap-netfilter-linux.c:201,1
    - Dst: NFNL_MSG_TYPE
      Src: /src/libpcap/pcap-netfilter-linux.c:202,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-netfilter-linux.c:216,1
    - Dst: NLMSG_DATA
      Src: /src/libpcap/pcap-netfilter-linux.c:220,1
    - Dst: NFM_NFA
      Src: /src/libpcap/pcap-netfilter-linux.c:222,1
    - Dst: NLMSG_ALIGN
      Src: /src/libpcap/pcap-netfilter-linux.c:223,1
    - Dst: NFA_OK
      Src: /src/libpcap/pcap-netfilter-linux.c:225,1
    - Dst: NFA_TYPE
      Src: /src/libpcap/pcap-netfilter-linux.c:227,1
    - Dst: NFA_DATA
      Src: /src/libpcap/pcap-netfilter-linux.c:230,1
    - Dst: ntohl
      Src: /src/libpcap/pcap-netfilter-linux.c:232,1
    - Dst: NFA_TYPE
      Src: /src/libpcap/pcap-netfilter-linux.c:241,1
    - Dst: NFA_NEXT
      Src: /src/libpcap/pcap-netfilter-linux.c:247,1
    - Dst: NFA_DATA
      Src: /src/libpcap/pcap-netfilter-linux.c:252,1
    - Dst: NFA_PAYLOAD
      Src: /src/libpcap/pcap-netfilter-linux.c:253,1
    - Dst: NLMSG_DATA
      Src: /src/libpcap/pcap-netfilter-linux.c:257,1
    - Dst: NLMSG_ALIGN
      Src: /src/libpcap/pcap-netfilter-linux.c:258,1
    - Dst: gettimeofday
      Src: /src/libpcap/pcap-netfilter-linux.c:264,1
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap-netfilter-linux.c:266,1
    - Dst: callback
      Src: /src/libpcap/pcap-netfilter-linux.c:269,1
    - Dst: nfqueue_send_verdict
      Src: /src/libpcap/pcap-netfilter-linux.c:279,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-netfilter-linux.c:279,1
    - Dst: NLMSG_ALIGN
      Src: /src/libpcap/pcap-netfilter-linux.c:283,1
    - Dst: PACKET_COUNT_IS_UNLIMITED
      Src: /src/libpcap/pcap-netfilter-linux.c:300,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 109
    argCount: 4
    argNames:
    - handle
    - max_packets
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 309
    functionName: netfilter_read_linux
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached:
    - ntohl
    - nfqueue_send_verdict
    - NFA_PAYLOAD
    - NFA_OK
    - NFA_DATA
    - NLMSG_SPACE
    - callback
    - NFNL_MSG_TYPE
    - gettimeofday
    - pcapint_filter
    - PACKET_COUNT_IS_UNLIMITED
    - snprintf
    - NLMSG_DATA
    - NFA_TYPE
    - NFA_NEXT
    - recv
    - NLMSG_ALIGN
    - pcapint_fmt_errmsg_for_errno
    - NFM_NFA
    - ntohs
    - NFNL_SUBSYS_ID
    linkageType: ''
    returnType: int
    signature: int netfilter_read_linux(pcap_t *handle, int max_packets, pcap_handler
      callback, u_char *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - handle
    - dlt
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: netfilter_set_datalink
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int netfilter_set_datalink(pcap_t *handle, int dlt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - stats
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: netfilter_stats_linux
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int netfilter_stats_linux(pcap_t *handle, struct pcap_stat *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-netfilter-linux.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - handle
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: netfilter_inject_linux
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int netfilter_inject_linux(pcap_t *handle, const void *buf _U_, int
      size _U_)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-netfilter-linux.c:347,1
    - Dst: time
      Src: /src/libpcap/pcap-netfilter-linux.c:357,1
    - Dst: NLMSG_LENGTH
      Src: /src/libpcap/pcap-netfilter-linux.c:361,1
    - Dst: htons
      Src: /src/libpcap/pcap-netfilter-linux.c:369,1
    - Dst: NLMSG_ALIGN
      Src: /src/libpcap/pcap-netfilter-linux.c:372,1
    - Dst: NFA_LENGTH
      Src: /src/libpcap/pcap-netfilter-linux.c:375,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-netfilter-linux.c:376,1
    - Dst: NFA_DATA
      Src: /src/libpcap/pcap-netfilter-linux.c:376,1
    - Dst: NLMSG_ALIGN
      Src: /src/libpcap/pcap-netfilter-linux.c:377,1
    - Dst: NFA_ALIGN
      Src: /src/libpcap/pcap-netfilter-linux.c:377,1
    - Dst: memset
      Src: /src/libpcap/pcap-netfilter-linux.c:380,1
    - Dst: sendto
      Src: /src/libpcap/pcap-netfilter-linux.c:383,1
    - Dst: recvfrom
      Src: /src/libpcap/pcap-netfilter-linux.c:400,1
    - Dst: NLMSG_SPACE
      Src: /src/libpcap/pcap-netfilter-linux.c:415,1
    - Dst: NLMSG_OK
      Src: /src/libpcap/pcap-netfilter-linux.c:415,1
    - Dst: NLMSG_ALIGN
      Src: /src/libpcap/pcap-netfilter-linux.c:417,1
    - Dst: NLMSG_DATA
      Src: /src/libpcap/pcap-netfilter-linux.c:421,1
    - Dst: NLMSG_NEXT
      Src: /src/libpcap/pcap-netfilter-linux.c:424,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 6
    argNames:
    - handle
    - msg_type
    - ack
    - family
    - res_id
    - mynfa
    argTypes:
    - pcap_t*
    - uint16_t
    - int
    - uint8_t
    - uint16_t
    - struct my_nfattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 429
    functionName: netfilter_send_config_msg
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached:
    - NLMSG_NEXT
    - NFA_DATA
    - NFA_LENGTH
    - NLMSG_SPACE
    - NLMSG_OK
    - memcpy
    - NFA_ALIGN
    - htons
    - recvfrom
    - NLMSG_LENGTH
    - time
    - memset
    - NLMSG_DATA
    - sendto
    - NLMSG_ALIGN
    linkageType: ''
    returnType: int
    signature: int netfilter_send_config_msg(const pcap_t *handle, uint16_t msg_type,
      int ack, uint8_t family, uint16_t res_id, const struct my_nfattr *mynfa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: netfilter_send_config_msg
      Src: /src/libpcap/pcap-netfilter-linux.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - family
    - group_id
    - mynfa
    argTypes:
    - pcap_t*
    - uint8_t
    - uint16_t
    - struct my_nfattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 435
    functionName: nflog_send_config_msg
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached:
    - netfilter_send_config_msg
    linkageType: ''
    returnType: int
    signature: int nflog_send_config_msg(const pcap_t *handle, uint8_t family, uint16_t
      group_id, const struct my_nfattr *mynfa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nflog_send_config_msg
      Src: /src/libpcap/pcap-netfilter-linux.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - handle
    - group_id
    - cmd
    - family
    argTypes:
    - pcap_t*
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 450
    functionName: nflog_send_config_cmd
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached:
    - nflog_send_config_msg
    linkageType: ''
    returnType: int
    signature: int nflog_send_config_cmd(const pcap_t *handle, uint16_t group_id,
      uint8_t cmd, uint8_t family)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/libpcap/pcap-netfilter-linux.c:458,1
    - Dst: nflog_send_config_msg
      Src: /src/libpcap/pcap-netfilter-linux.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - group_id
    - copy_mode
    - copy_range
    argTypes:
    - pcap_t*
    - uint16_t
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 466
    functionName: nflog_send_config_mode
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached:
    - nflog_send_config_msg
    - htonl
    linkageType: ''
    returnType: int
    signature: int nflog_send_config_mode(const pcap_t *handle, uint16_t group_id,
      uint8_t copy_mode, uint32_t copy_range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/libpcap/pcap-netfilter-linux.c:474,1
    - Dst: htonl
      Src: /src/libpcap/pcap-netfilter-linux.c:475,1
    - Dst: netfilter_send_config_msg
      Src: /src/libpcap/pcap-netfilter-linux.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - group_id
    - id
    - verdict
    argTypes:
    - pcap_t*
    - uint16_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 482
    functionName: nfqueue_send_verdict
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 1
    functionsReached:
    - netfilter_send_config_msg
    - htonl
    linkageType: ''
    returnType: int
    signature: int nfqueue_send_verdict(const pcap_t *handle, uint16_t group_id, uint32_t
      id, uint32_t verdict)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: netfilter_send_config_msg
      Src: /src/libpcap/pcap-netfilter-linux.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - family
    - group_id
    - mynfa
    argTypes:
    - pcap_t*
    - uint8_t
    - uint16_t
    - struct my_nfattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 488
    functionName: nfqueue_send_config_msg
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached:
    - netfilter_send_config_msg
    linkageType: ''
    returnType: int
    signature: int nfqueue_send_config_msg(const pcap_t *handle, uint8_t family, uint16_t
      group_id, const struct my_nfattr *mynfa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/libpcap/pcap-netfilter-linux.c:497,1
    - Dst: nfqueue_send_config_msg
      Src: /src/libpcap/pcap-netfilter-linux.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - group_id
    - cmd
    - pf
    argTypes:
    - pcap_t*
    - uint16_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 504
    functionName: nfqueue_send_config_cmd
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached:
    - htons
    - nfqueue_send_config_msg
    linkageType: ''
    returnType: int
    signature: int nfqueue_send_config_cmd(const pcap_t *handle, uint16_t group_id,
      uint8_t cmd, uint16_t pf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/libpcap/pcap-netfilter-linux.c:512,1
    - Dst: nfqueue_send_config_msg
      Src: /src/libpcap/pcap-netfilter-linux.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - group_id
    - copy_mode
    - copy_range
    argTypes:
    - pcap_t*
    - uint16_t
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 520
    functionName: nfqueue_send_config_mode
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached:
    - nfqueue_send_config_msg
    - htonl
    linkageType: ''
    returnType: int
    signature: int nfqueue_send_config_mode(const pcap_t *handle, uint16_t group_id,
      uint8_t copy_mode, uint32_t copy_range)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-netfilter-linux.c:532,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-netfilter-linux.c:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - tag
    argTypes:
    - pcap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 542
    functionName: netfilter_handle_send_msg_error
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - snprintf
    linkageType: ''
    returnType: int
    signature: int netfilter_handle_send_msg_error(pcap_t *handle, const char *tag)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libpcap/pcap-netfilter-linux.c:554,1
    - Dst: strlen
      Src: /src/libpcap/pcap-netfilter-linux.c:554,1
    - Dst: strlen
      Src: /src/libpcap/pcap-netfilter-linux.c:555,1
    - Dst: strncmp
      Src: /src/libpcap/pcap-netfilter-linux.c:558,1
    - Dst: strlen
      Src: /src/libpcap/pcap-netfilter-linux.c:558,1
    - Dst: strlen
      Src: /src/libpcap/pcap-netfilter-linux.c:559,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-netfilter-linux.c:570,1
    - Dst: strtol
      Src: /src/libpcap/pcap-netfilter-linux.c:576,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-netfilter-linux.c:579,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-netfilter-linux.c:595,1
    - Dst: socket
      Src: /src/libpcap/pcap-netfilter-linux.c:631,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-netfilter-linux.c:633,1
    - Dst: malloc
      Src: /src/libpcap/pcap-netfilter-linux.c:640,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-netfilter-linux.c:642,1
    - Dst: malloc
      Src: /src/libpcap/pcap-netfilter-linux.c:654,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-netfilter-linux.c:656,1
    - Dst: nflog_send_config_cmd
      Src: /src/libpcap/pcap-netfilter-linux.c:663,1
    - Dst: netfilter_handle_send_msg_error
      Src: /src/libpcap/pcap-netfilter-linux.c:664,1
    - Dst: nflog_send_config_cmd
      Src: /src/libpcap/pcap-netfilter-linux.c:668,1
    - Dst: netfilter_handle_send_msg_error
      Src: /src/libpcap/pcap-netfilter-linux.c:669,1
    - Dst: nflog_send_config_cmd
      Src: /src/libpcap/pcap-netfilter-linux.c:675,1
    - Dst: netfilter_handle_send_msg_error
      Src: /src/libpcap/pcap-netfilter-linux.c:676,1
    - Dst: nflog_send_config_mode
      Src: /src/libpcap/pcap-netfilter-linux.c:680,1
    - Dst: netfilter_handle_send_msg_error
      Src: /src/libpcap/pcap-netfilter-linux.c:681,1
    - Dst: nfqueue_send_config_cmd
      Src: /src/libpcap/pcap-netfilter-linux.c:687,1
    - Dst: netfilter_handle_send_msg_error
      Src: /src/libpcap/pcap-netfilter-linux.c:688,1
    - Dst: nfqueue_send_config_cmd
      Src: /src/libpcap/pcap-netfilter-linux.c:692,1
    - Dst: netfilter_handle_send_msg_error
      Src: /src/libpcap/pcap-netfilter-linux.c:693,1
    - Dst: nfqueue_send_config_cmd
      Src: /src/libpcap/pcap-netfilter-linux.c:699,1
    - Dst: netfilter_handle_send_msg_error
      Src: /src/libpcap/pcap-netfilter-linux.c:700,1
    - Dst: nfqueue_send_config_mode
      Src: /src/libpcap/pcap-netfilter-linux.c:704,1
    - Dst: netfilter_handle_send_msg_error
      Src: /src/libpcap/pcap-netfilter-linux.c:705,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-netfilter-linux.c:715,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-netfilter-linux.c:723,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-netfilter-linux.c:724,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-netfilter-linux.c:735,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 141
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 544
    functionDepth: 4
    functionLinenumber: 544
    functionLinenumberEnd: 737
    functionName: netfilter_activate
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached:
    - nflog_send_config_cmd
    - nfqueue_send_config_cmd
    - netfilter_handle_send_msg_error
    - socket
    - pcapint_fmt_errmsg_for_errno
    - nfqueue_send_config_mode
    - snprintf
    - strlen
    - nflog_send_config_mode
    - strtol
    - strncmp
    - malloc
    - pcapint_cleanup_live_common
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int netfilter_activate(pcap_t* handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libpcap/pcap-netfilter-linux.c:749,1
    - Dst: strncmp
      Src: /src/libpcap/pcap-netfilter-linux.c:751,1
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-netfilter-linux.c:772,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - device
    - ebuf
    - is_ours
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 778
    functionName: netfilter_create
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached:
    - PCAP_CREATE_COMMON
    - strncmp
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      netfilter_create(const char *device, char *ebuf, int *is_ours)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpcap/pcap-netfilter-linux.c:785,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-netfilter-linux.c:790,1
    - Dst: close
      Src: /src/libpcap/pcap-netfilter-linux.c:794,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-netfilter-linux.c:800,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-netfilter-linux.c:804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - devlistp
    - err_str
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 780
    functionDepth: 3
    functionLinenumber: 780
    functionLinenumberEnd: 809
    functionName: netfilter_findalldevs
    functionSourceFile: /src/libpcap/pcap-netfilter-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - socket
    - close
    - pcapint_add_dev
    linkageType: ''
    returnType: int
    signature: int netfilter_findalldevs(pcap_if_list_t *devlistp, char *err_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: closesocket
    functionSourceFile: /src/libpcap/sockutils.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: closesocket(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libpcap/pcap-libdlpi.c:77,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-libdlpi.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - linkname
    - arg
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: list_interfaces
    functionSourceFile: /src/libpcap/pcap-libdlpi.c
    functionUses: 0
    functionsReached:
    - calloc
    - pcapint_strlcpy
    linkageType: ''
    returnType: boolean_t
    signature: boolean_t list_interfaces(const char *linkname, void *arg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: dlpi_open
      Src: /src/libpcap/pcap-libdlpi.c:107,1
    - Dst: handle_nonexistent_dlpi_device
      Src: /src/libpcap/pcap-libdlpi.c:126,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-libdlpi.c:135,1
    - Dst: pcap_libdlpi_err
      Src: /src/libpcap/pcap-libdlpi.c:151,1
    - Dst: dlpi_bind
      Src: /src/libpcap/pcap-libdlpi.c:168,1
    - Dst: pcap_libdlpi_err
      Src: /src/libpcap/pcap-libdlpi.c:170,1
    - Dst: dlpromiscon
      Src: /src/libpcap/pcap-libdlpi.c:187,1
    - Dst: dlpromiscon
      Src: /src/libpcap/pcap-libdlpi.c:210,1
    - Dst: dlpromiscon
      Src: /src/libpcap/pcap-libdlpi.c:218,1
    - Dst: dlpi_info
      Src: /src/libpcap/pcap-libdlpi.c:233,1
    - Dst: pcap_libdlpi_err
      Src: /src/libpcap/pcap-libdlpi.c:235,1
    - Dst: pcap_process_mactype
      Src: /src/libpcap/pcap-libdlpi.c:239,1
    - Dst: dlpi_fd
      Src: /src/libpcap/pcap-libdlpi.c:244,1
    - Dst: pcap_conf_bufmod
      Src: /src/libpcap/pcap-libdlpi.c:247,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-libdlpi.c:255,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-libdlpi.c:257,1
    - Dst: pcap_alloc_databuf
      Src: /src/libpcap/pcap-libdlpi.c:263,1
    - Dst: pcap_cleanup_libdlpi
      Src: /src/libpcap/pcap-libdlpi.c:286,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 102
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 288
    functionName: pcap_activate_libdlpi
    functionSourceFile: /src/libpcap/pcap-libdlpi.c
    functionUses: 0
    functionsReached:
    - handle_nonexistent_dlpi_device
    - dlpromiscon
    - ioctl
    - dlpi_bind
    - pcap_libdlpi_err
    - dlpi_info
    - dlpi_open
    - pcapint_fmt_errmsg_for_errno
    - pcap_cleanup_libdlpi
    - pcap_process_mactype
    - pcap_conf_bufmod
    - snprintf
    - dlpi_fd
    - pcap_alloc_databuf
    linkageType: ''
    returnType: int
    signature: int pcap_activate_libdlpi(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: STRINGIFY
    functionSourceFile: /src/libpcap/pcap-libdlpi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dlpi_promiscon
      Src: /src/libpcap/pcap-libdlpi.c:299,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-libdlpi.c:305,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-libdlpi.c:310,1
    - Dst: pcap_libdlpi_err
      Src: /src/libpcap/pcap-libdlpi.c:317,1
    - Dst: STRINGIFY
      Src: /src/libpcap/pcap-libdlpi.c:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - p
    - level
    argTypes:
    - pcap_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 324
    functionName: dlpromiscon
    functionSourceFile: /src/libpcap/pcap-libdlpi.c
    functionUses: 1
    functionsReached:
    - pcap_libdlpi_err
    - STRINGIFY
    - snprintf
    - dlpi_promiscon
    linkageType: ''
    returnType: int
    signature: int dlpromiscon(pcap_t *p, bpf_u_int32 level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: is_dlpi_interface
    functionSourceFile: /src/libpcap/pcap-libdlpi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_dlpi_interface(const char *name _U_)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - flags
    - errbuf
    argTypes:
    - char*
    - bpf_u_int32*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 358
    functionName: get_if_flags
    functionSourceFile: /src/libpcap/pcap-libdlpi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_if_flags(const char *name _U_, bpf_u_int32 *flags _U_, char
      *errbuf _U_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_findalldevs_interfaces
      Src: /src/libpcap/pcap-libdlpi.c:377,1
    - Dst: dlpi_walk
      Src: /src/libpcap/pcap-libdlpi.c:390,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-libdlpi.c:393,1
    - Dst: pcapint_find_or_add_dev
      Src: /src/libpcap/pcap-libdlpi.c:405,1
    - Dst: free
      Src: /src/libpcap/pcap-libdlpi.c:413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - devlistp
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 418
    functionName: pcapint_platform_finddevs
    functionSourceFile: /src/libpcap/pcap-libdlpi.c
    functionUses: 1
    functionsReached:
    - pcapint_find_or_add_dev
    - pcapint_fmt_errmsg_for_errno
    - free
    - pcapint_findalldevs_interfaces
    - dlpi_walk
    linkageType: ''
    returnType: int
    signature: int pcapint_platform_finddevs(pcap_if_list_t *devlistp, char *errbuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dlpi_recv
      Src: /src/libpcap/pcap-libdlpi.c:453,1
    - Dst: pcap_libdlpi_err
      Src: /src/libpcap/pcap-libdlpi.c:465,1
    - Dst: dlpi_linkname
      Src: /src/libpcap/pcap-libdlpi.c:465,1
    - Dst: pcap_process_pkts
      Src: /src/libpcap/pcap-libdlpi.c:473,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - p
    - count
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 474
    functionName: pcap_read_libdlpi
    functionSourceFile: /src/libpcap/pcap-libdlpi.c
    functionUses: 0
    functionsReached:
    - pcap_libdlpi_err
    - dlpi_recv
    - dlpi_linkname
    - pcap_process_pkts
    linkageType: ''
    returnType: int
    signature: int pcap_read_libdlpi(pcap_t *p, int count, pcap_handler callback,
      u_char *user)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlpi_send
      Src: /src/libpcap/pcap-libdlpi.c:482,1
    - Dst: pcap_libdlpi_err
      Src: /src/libpcap/pcap-libdlpi.c:484,1
    - Dst: dlpi_linkname
      Src: /src/libpcap/pcap-libdlpi.c:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 494
    functionName: pcap_inject_libdlpi
    functionSourceFile: /src/libpcap/pcap-libdlpi.c
    functionUses: 0
    functionsReached:
    - pcap_libdlpi_err
    - dlpi_send
    - dlpi_linkname
    linkageType: ''
    returnType: int
    signature: int pcap_inject_libdlpi(pcap_t *p, const void *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlpi_close
      Src: /src/libpcap/pcap-libdlpi.c:505,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-libdlpi.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 510
    functionName: pcap_cleanup_libdlpi
    functionSourceFile: /src/libpcap/pcap-libdlpi.c
    functionUses: 1
    functionsReached:
    - pcapint_cleanup_live_common
    - dlpi_close
    linkageType: ''
    returnType: void
    signature: void pcap_cleanup_libdlpi(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-libdlpi.c:518,1
    - Dst: dlpi_strerror
      Src: /src/libpcap/pcap-libdlpi.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - linkname
    - func
    - err
    - errbuf
    argTypes:
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 520
    functionName: pcap_libdlpi_err
    functionSourceFile: /src/libpcap/pcap-libdlpi.c
    functionUses: 4
    functionsReached:
    - dlpi_strerror
    - snprintf
    linkageType: ''
    returnType: void
    signature: void pcap_libdlpi_err(const char *linkname, const char *func, int err,
      char *errbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-libdlpi.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - device
    - ebuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 533
    functionName: pcapint_create_interface
    functionSourceFile: /src/libpcap/pcap-libdlpi.c
    functionUses: 1
    functionsReached:
    - PCAP_CREATE_COMMON
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcapint_create_interface(const char *device _U_, char *ebuf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: pcap_lib_version
    functionSourceFile: /src/libpcap/pcap-libdlpi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_lib_version(void)'
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 1
    argNames:
    - dlt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1485
    functionName: dlt_to_linktype
    functionSourceFile: /src/libpcap/pcap-common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dlt_to_linktype(int dlt)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - linktype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1654
    functionName: linktype_to_dlt
    functionSourceFile: /src/libpcap/pcap-common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int linktype_to_dlt(int linktype)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - dlt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1690
    functionName: max_snaplen_for_dlt
    functionSourceFile: /src/libpcap/pcap-common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u_int
    signature: u_int max_snaplen_for_dlt(int dlt)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/libpcap/bpf_filter.c:106,1
    - Dst: EXTRACT_LONG
      Src: /src/libpcap/bpf_filter.c:118,1
    - Dst: EXTRACT_SHORT
      Src: /src/libpcap/bpf_filter.c:126,1
    - Dst: EXTRACT_LONG
      Src: /src/libpcap/bpf_filter.c:177,1
    - Dst: EXTRACT_SHORT
      Src: /src/libpcap/bpf_filter.c:186,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 206
    argCount: 5
    argNames:
    - pc
    - p
    - wirelen
    - buflen
    - aux_data
    argTypes:
    - struct bpf_insn*
    - u_char*
    - u_int
    - u_int
    - struct pcap_bpf_aux_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 380
    functionName: pcapint_filter_with_aux_data
    functionSourceFile: /src/libpcap/bpf_filter.c
    functionUses: 0
    functionsReached:
    - abort
    - EXTRACT_SHORT
    - EXTRACT_LONG
    linkageType: ''
    returnType: u_int
    signature: "u_int pcapint_filter_with_aux_data(const struct bpf_insn *pc, const
      u_char *p,\n    u_int wirelen, u_int buflen, const struct pcap_bpf_aux_data
      *aux_data _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_filter_with_aux_data
      Src: /src/libpcap/bpf_filter.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pc
    - p
    - wirelen
    - buflen
    argTypes:
    - struct bpf_insn*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: pcapint_filter
    functionSourceFile: /src/libpcap/bpf_filter.c
    functionUses: 4
    functionsReached:
    - pcapint_filter_with_aux_data
    linkageType: ''
    returnType: u_int
    signature: "u_int pcapint_filter(const struct bpf_insn *pc, const u_char *p, u_int
      wirelen,\n    u_int buflen)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: BPF_CLASS
      Src: /src/libpcap/bpf_filter.c:411,1
    - Dst: BPF_MODE
      Src: /src/libpcap/bpf_filter.c:417,1
    - Dst: BPF_OP
      Src: /src/libpcap/bpf_filter.c:445,1
    - Dst: BPF_SRC
      Src: /src/libpcap/bpf_filter.c:462,1
    - Dst: BPF_OP
      Src: /src/libpcap/bpf_filter.c:497,1
    - Dst: BPF_CLASS
      Src: /src/libpcap/bpf_filter.c:521,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 78
    argCount: 2
    argNames:
    - f
    - len
    argTypes:
    - struct bpf_insn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 522
    functionName: pcapint_validate_filter
    functionSourceFile: /src/libpcap/bpf_filter.c
    functionUses: 1
    functionsReached:
    - BPF_CLASS
    - BPF_OP
    - BPF_SRC
    - BPF_MODE
    linkageType: ''
    returnType: int
    signature: int pcapint_validate_filter(const struct bpf_insn *f, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_filter
      Src: /src/libpcap/bpf_filter.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pc
    - p
    - wirelen
    - buflen
    argTypes:
    - struct bpf_insn*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: bpf_filter
    functionSourceFile: /src/libpcap/bpf_filter.c
    functionUses: 0
    functionsReached:
    - pcapint_filter
    linkageType: ''
    returnType: u_int
    signature: "u_int bpf_filter(const struct bpf_insn *pc, const u_char *p, u_int
      wirelen,\n    u_int buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_validate_filter
      Src: /src/libpcap/bpf_filter.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - len
    argTypes:
    - struct bpf_insn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 538
    functionName: bpf_validate
    functionSourceFile: /src/libpcap/bpf_filter.c
    functionUses: 0
    functionsReached:
    - pcapint_validate_filter
    linkageType: ''
    returnType: int
    signature: int bpf_validate(const struct bpf_insn *f, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/libpcap/extract.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: EXTRACT_BE_U_2
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_U_2(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/libpcap/extract.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: EXTRACT_BE_S_2
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_S_2(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/libpcap/extract.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: EXTRACT_BE_U_4
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_U_4(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/libpcap/extract.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: EXTRACT_BE_S_4
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_S_4(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/libpcap/extract.h:103,1
    - Dst: ntohl
      Src: /src/libpcap/extract.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: EXTRACT_BE_U_8
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_U_8(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/libpcap/extract.h:111,1
    - Dst: ntohl
      Src: /src/libpcap/extract.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: EXTRACT_BE_S_8
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_S_8(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/libpcap/extract.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: EXTRACT_BE_U_2
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_U_2(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/libpcap/extract.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: EXTRACT_BE_S_2
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_S_2(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/libpcap/extract.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: EXTRACT_BE_U_4
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_U_4(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/libpcap/extract.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: EXTRACT_BE_S_4
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_S_4(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/libpcap/extract.h:213,1
    - Dst: ntohl
      Src: /src/libpcap/extract.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: EXTRACT_BE_U_8
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_U_8(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/libpcap/extract.h:220,1
    - Dst: ntohl
      Src: /src/libpcap/extract.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: EXTRACT_BE_S_8
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_S_8(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: EXTRACT_BE_U_2
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_U_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: EXTRACT_BE_S_2
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_S_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: EXTRACT_BE_U_4
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_U_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: EXTRACT_BE_S_4
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_S_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 267
    functionName: EXTRACT_BE_U_8
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_U_8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: EXTRACT_BE_S_8
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_S_8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: EXTRACT_IPV4_TO_HOST_ORDER
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_IPV4_TO_HOST_ORDER(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: EXTRACT_BE_U_3
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_U_3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: EXTRACT_BE_S_3
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_S_3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: EXTRACT_BE_U_5
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_U_5(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 326
    functionName: EXTRACT_BE_S_5
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_S_5(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: EXTRACT_BE_U_6
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_U_6(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 350
    functionName: EXTRACT_BE_S_6
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_S_6(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: EXTRACT_BE_U_7
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_U_7(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 377
    functionName: EXTRACT_BE_S_7
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_S_7(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: EXTRACT_LE_U_2
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_U_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: EXTRACT_LE_S_2
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_S_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: EXTRACT_LE_U_4
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_U_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: EXTRACT_LE_S_4
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_S_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: EXTRACT_LE_U_3
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_U_3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: EXTRACT_LE_S_3
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_S_3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: EXTRACT_LE_U_8
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_U_8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: EXTRACT_LE_S_8
    functionSourceFile: /src/libpcap/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_S_8(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-bt-monitor-linux.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - devlistp
    - err_str
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: bt_monitor_findalldevs
    functionSourceFile: /src/libpcap/pcap-bt-monitor-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_add_dev
    linkageType: ''
    returnType: int
    signature: int bt_monitor_findalldevs(pcap_if_list_t *devlistp, char *err_str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-bt-monitor-linux.c:112,1
    - Dst: memset
      Src: /src/libpcap/pcap-bt-monitor-linux.c:113,1
    - Dst: recvmsg
      Src: /src/libpcap/pcap-bt-monitor-linux.c:125,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-monitor-linux.c:133,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/libpcap/pcap-bt-monitor-linux.c:143,1
    - Dst: CMSG_NXTHDR
      Src: /src/libpcap/pcap-bt-monitor-linux.c:143,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-bt-monitor-linux.c:148,1
    - Dst: CMSG_DATA
      Src: /src/libpcap/pcap-bt-monitor-linux.c:148,1
    - Dst: htons
      Src: /src/libpcap/pcap-bt-monitor-linux.c:152,1
    - Dst: htons
      Src: /src/libpcap/pcap-bt-monitor-linux.c:153,1
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap-bt-monitor-linux.c:156,1
    - Dst: callback
      Src: /src/libpcap/pcap-bt-monitor-linux.c:157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 4
    argNames:
    - handle
    - max_packets
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 161
    functionName: bt_monitor_read
    functionSourceFile: /src/libpcap/pcap-bt-monitor-linux.c
    functionUses: 0
    functionsReached:
    - CMSG_FIRSTHDR
    - recvmsg
    - pcapint_fmt_errmsg_for_errno
    - callback
    - CMSG_NXTHDR
    - memcpy
    - CMSG_DATA
    - htons
    - pcapint_filter
    - memset
    linkageType: ''
    returnType: int
    signature: int bt_monitor_read(pcap_t *handle, int max_packets _U_, pcap_handler
      callback, u_char *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-bt-monitor-linux.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - handle
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: bt_monitor_inject
    functionSourceFile: /src/libpcap/pcap-bt-monitor-linux.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int bt_monitor_inject(pcap_t *handle, const void *buf _U_, int size
      _U_)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpcap/pcap-bt-monitor-linux.c:216,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-monitor-linux.c:218,1
    - Dst: malloc
      Src: /src/libpcap/pcap-bt-monitor-linux.c:223,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-monitor-linux.c:225,1
    - Dst: bind
      Src: /src/libpcap/pcap-bt-monitor-linux.c:236,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bt-monitor-linux.c:238,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-monitor-linux.c:242,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-bt-monitor-linux.c:250,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-monitor-linux.c:251,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-bt-monitor-linux.c:262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 264
    functionName: bt_monitor_activate
    functionSourceFile: /src/libpcap/pcap-bt-monitor-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - socket
    - bind
    - snprintf
    - pcapint_cleanup_live_common
    - malloc
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int bt_monitor_activate(pcap_t* handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libpcap/pcap-bt-monitor-linux.c:271,1
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-bt-monitor-linux.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - device
    - ebuf
    - is_ours
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 284
    functionName: bt_monitor_create
    functionSourceFile: /src/libpcap/pcap-bt-monitor-linux.c
    functionUses: 0
    functionsReached:
    - strcmp
    - PCAP_CREATE_COMMON
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      bt_monitor_create(const char *device, char *ebuf, int *is_ours)'
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpcap/fad-glifc.c:92,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-glifc.c:94,1
    - Dst: socket
      Src: /src/libpcap/fad-glifc.c:102,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-glifc.c:104,1
    - Dst: close
      Src: /src/libpcap/fad-glifc.c:106,1
    - Dst: ioctl
      Src: /src/libpcap/fad-glifc.c:116,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-glifc.c:117,1
    - Dst: close
      Src: /src/libpcap/fad-glifc.c:119,1
    - Dst: close
      Src: /src/libpcap/fad-glifc.c:120,1
    - Dst: calloc
      Src: /src/libpcap/fad-glifc.c:128,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-glifc.c:130,1
    - Dst: close
      Src: /src/libpcap/fad-glifc.c:132,1
    - Dst: close
      Src: /src/libpcap/fad-glifc.c:133,1
    - Dst: ioctl
      Src: /src/libpcap/fad-glifc.c:144,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-glifc.c:145,1
    - Dst: close
      Src: /src/libpcap/fad-glifc.c:147,1
    - Dst: close
      Src: /src/libpcap/fad-glifc.c:148,1
    - Dst: free
      Src: /src/libpcap/fad-glifc.c:149,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/fad-glifc.c:181,1
    - Dst: ioctl
      Src: /src/libpcap/fad-glifc.c:183,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-glifc.c:186,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/fad-glifc.c:197,1
    - Dst: memcpy
      Src: /src/libpcap/fad-glifc.c:199,1
    - Dst: ioctl
      Src: /src/libpcap/fad-glifc.c:201,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-glifc.c:208,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/fad-glifc.c:224,1
    - Dst: memcpy
      Src: /src/libpcap/fad-glifc.c:226,1
    - Dst: ioctl
      Src: /src/libpcap/fad-glifc.c:228,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-glifc.c:236,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/fad-glifc.c:259,1
    - Dst: memcpy
      Src: /src/libpcap/fad-glifc.c:261,1
    - Dst: ioctl
      Src: /src/libpcap/fad-glifc.c:263,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/fad-glifc.c:271,1
    - Dst: strchr
      Src: /src/libpcap/fad-glifc.c:292,1
    - Dst: PCAP_ISDIGIT
      Src: /src/libpcap/fad-glifc.c:298,1
    - Dst: pcapint_add_addr_to_if
      Src: /src/libpcap/fad-glifc.c:313,1
    - Dst: free
      Src: /src/libpcap/fad-glifc.c:324,1
    - Dst: close
      Src: /src/libpcap/fad-glifc.c:325,1
    - Dst: close
      Src: /src/libpcap/fad-glifc.c:326,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 118
    argCount: 3
    argNames:
    - devlistp
    - errbuf
    - get_flags_func
    argTypes:
    - pcap_if_list_t*
    - char*
    - get_if_flags_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 329
    functionName: pcapint_findalldevs_interfaces
    functionSourceFile: /src/libpcap/fad-glifc.c
    functionUses: 2
    functionsReached:
    - calloc
    - close
    - ioctl
    - pcapint_fmt_errmsg_for_errno
    - socket
    - strchr
    - PCAP_ISDIGIT
    - memcpy
    - pcapint_strlcpy
    - free
    - pcapint_add_addr_to_if
    linkageType: ''
    returnType: int
    signature: "int pcapint_findalldevs_interfaces(pcap_if_list_t *devlistp, char
      *errbuf,\n    int (*check_usable)(const char *), get_if_flags_func get_flags_func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - stat
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: rdmasniff_stats
    functionSourceFile: /src/libpcap/pcap-rdmasniff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rdmasniff_stats(pcap_t *handle, struct pcap_stat *stat)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ibv_destroy_flow
      Src: /src/libpcap/pcap-rdmasniff.c:82,1
    - Dst: ibv_destroy_qp
      Src: /src/libpcap/pcap-rdmasniff.c:87,1
    - Dst: ibv_destroy_cq
      Src: /src/libpcap/pcap-rdmasniff.c:92,1
    - Dst: ibv_dereg_mr
      Src: /src/libpcap/pcap-rdmasniff.c:97,1
    - Dst: ibv_dealloc_pd
      Src: /src/libpcap/pcap-rdmasniff.c:102,1
    - Dst: ibv_destroy_comp_channel
      Src: /src/libpcap/pcap-rdmasniff.c:107,1
    - Dst: ibv_close_device
      Src: /src/libpcap/pcap-rdmasniff.c:112,1
    - Dst: free
      Src: /src/libpcap/pcap-rdmasniff.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct pcap_rdmasniff*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 120
    functionName: rdmasniff_free_resources
    functionSourceFile: /src/libpcap/pcap-rdmasniff.c
    functionUses: 0
    functionsReached:
    - ibv_close_device
    - ibv_destroy_cq
    - ibv_dereg_mr
    - ibv_dealloc_pd
    - ibv_destroy_qp
    - free
    - ibv_destroy_comp_channel
    - ibv_destroy_flow
    linkageType: ''
    returnType: void
    signature: void rdmasniff_free_resources(struct pcap_rdmasniff *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdmasniff_free_resources
      Src: /src/libpcap/pcap-rdmasniff.c:127,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-rdmasniff.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: rdmasniff_cleanup
    functionSourceFile: /src/libpcap/pcap-rdmasniff.c
    functionUses: 0
    functionsReached:
    - pcapint_cleanup_live_common
    - rdmasniff_free_resources
    linkageType: ''
    returnType: void
    signature: void rdmasniff_cleanup(pcap_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ibv_post_recv
      Src: /src/libpcap/pcap-rdmasniff.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - wr_id
    argTypes:
    - pcap_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: rdmasniff_post_recv
    functionSourceFile: /src/libpcap/pcap-rdmasniff.c
    functionUses: 0
    functionsReached:
    - ibv_post_recv
    linkageType: ''
    returnType: void
    signature: void rdmasniff_post_recv(pcap_t *handle, uint64_t wr_id)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ibv_get_cq_event
      Src: /src/libpcap/pcap-rdmasniff.c:162,1
    - Dst: ibv_ack_cq_events
      Src: /src/libpcap/pcap-rdmasniff.c:171,1
    - Dst: ibv_req_notify_cq
      Src: /src/libpcap/pcap-rdmasniff.c:172,1
    - Dst: PACKET_COUNT_IS_UNLIMITED
      Src: /src/libpcap/pcap-rdmasniff.c:188,1
    - Dst: ibv_poll_cq
      Src: /src/libpcap/pcap-rdmasniff.c:192,1
    - Dst: fprintf
      Src: /src/libpcap/pcap-rdmasniff.c:198,1
    - Dst: ibv_wc_status_str
      Src: /src/libpcap/pcap-rdmasniff.c:200,1
    - Dst: min
      Src: /src/libpcap/pcap-rdmasniff.c:205,1
    - Dst: gettimeofday
      Src: /src/libpcap/pcap-rdmasniff.c:206,1
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap-rdmasniff.c:211,1
    - Dst: callback
      Src: /src/libpcap/pcap-rdmasniff.c:212,1
    - Dst: rdmasniff_post_recv
      Src: /src/libpcap/pcap-rdmasniff.c:217,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 4
    argNames:
    - handle
    - max_packets
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 226
    functionName: rdmasniff_read
    functionSourceFile: /src/libpcap/pcap-rdmasniff.c
    functionUses: 0
    functionsReached:
    - ibv_wc_status_str
    - fprintf
    - gettimeofday
    - callback
    - ibv_ack_cq_events
    - pcapint_filter
    - PACKET_COUNT_IS_UNLIMITED
    - ibv_poll_cq
    - min
    - ibv_req_notify_cq
    - ibv_get_cq_event
    - rdmasniff_post_recv
    linkageType: ''
    returnType: int
    signature: int rdmasniff_read(pcap_t *handle, int max_packets, pcap_handler callback,
      u_char *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpcap/pcap-rdmasniff.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - user
    - h
    - bytes
    argTypes:
    - u_char*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: rdmasniff_oneshot
    functionSourceFile: /src/libpcap/pcap-rdmasniff.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void rdmasniff_oneshot(u_char *user, const struct pcap_pkthdr *h, const
      u_char *bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-rdmasniff.c:248,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rdmasniff.c:270,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rdmasniff.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - errbuf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 278
    functionName: handle_get_device_list_error
    functionSourceFile: /src/libpcap/pcap-rdmasniff.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - snprintf
    linkageType: ''
    returnType: int
    signature: int handle_get_device_list_error(char *errbuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libpcap/pcap-rdmasniff.c:293,1
    - Dst: strlen
      Src: /src/libpcap/pcap-rdmasniff.c:306,1
    - Dst: strlen
      Src: /src/libpcap/pcap-rdmasniff.c:314,1
    - Dst: strncmp
      Src: /src/libpcap/pcap-rdmasniff.c:315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - dev_list
    - numdev
    - device
    - portp
    argTypes:
    - struct ibv_device**
    - int
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 323
    functionName: rdma_find_device_in_list
    functionSourceFile: /src/libpcap/pcap-rdmasniff.c
    functionUses: 0
    functionsReached:
    - strchr
    - strncmp
    - strlen
    linkageType: ''
    returnType: struct ibv_device
    signature: "struct ibv_device *\nrdma_find_device_in_list(struct ibv_device **dev_list,
      int numdev,\n    const char *device, const char **portp)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ibv_get_device_list
      Src: /src/libpcap/pcap-rdmasniff.c:341,1
    - Dst: handle_get_device_list_error
      Src: /src/libpcap/pcap-rdmasniff.c:343,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rdmasniff.c:347,1
    - Dst: rdma_find_device_in_list
      Src: /src/libpcap/pcap-rdmasniff.c:353,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rdmasniff.c:357,1
    - Dst: pcapint_get_decuint
      Src: /src/libpcap/pcap-rdmasniff.c:377,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rdmasniff.c:381,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rdmasniff.c:386,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rdmasniff.c:391,1
    - Dst: ibv_open_device
      Src: /src/libpcap/pcap-rdmasniff.c:411,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rdmasniff.c:413,1
    - Dst: ibv_free_device_list
      Src: /src/libpcap/pcap-rdmasniff.c:424,1
    - Dst: ibv_query_port
      Src: /src/libpcap/pcap-rdmasniff.c:427,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rdmasniff.c:438,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rdmasniff.c:442,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rdmasniff.c:474,1
    - Dst: ibv_alloc_pd
      Src: /src/libpcap/pcap-rdmasniff.c:480,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rdmasniff.c:482,1
    - Dst: ibv_create_comp_channel
      Src: /src/libpcap/pcap-rdmasniff.c:489,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rdmasniff.c:491,1
    - Dst: ibv_create_cq
      Src: /src/libpcap/pcap-rdmasniff.c:498,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rdmasniff.c:501,1
    - Dst: ibv_req_notify_cq
      Src: /src/libpcap/pcap-rdmasniff.c:508,1
    - Dst: memset
      Src: /src/libpcap/pcap-rdmasniff.c:510,1
    - Dst: ibv_create_qp
      Src: /src/libpcap/pcap-rdmasniff.c:515,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rdmasniff.c:518,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rdmasniff.c:527,1
    - Dst: memset
      Src: /src/libpcap/pcap-rdmasniff.c:535,1
    - Dst: ibv_modify_qp
      Src: /src/libpcap/pcap-rdmasniff.c:538,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rdmasniff.c:540,1
    - Dst: memset
      Src: /src/libpcap/pcap-rdmasniff.c:547,1
    - Dst: ibv_modify_qp
      Src: /src/libpcap/pcap-rdmasniff.c:549,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rdmasniff.c:551,1
    - Dst: memset
      Src: /src/libpcap/pcap-rdmasniff.c:558,1
    - Dst: ibv_create_flow
      Src: /src/libpcap/pcap-rdmasniff.c:562,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rdmasniff.c:564,1
    - Dst: malloc
      Src: /src/libpcap/pcap-rdmasniff.c:572,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rdmasniff.c:574,1
    - Dst: malloc
      Src: /src/libpcap/pcap-rdmasniff.c:580,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-rdmasniff.c:582,1
    - Dst: ibv_reg_mr
      Src: /src/libpcap/pcap-rdmasniff.c:588,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-rdmasniff.c:590,1
    - Dst: rdmasniff_post_recv
      Src: /src/libpcap/pcap-rdmasniff.c:598,1
    - Dst: ibv_free_device_list
      Src: /src/libpcap/pcap-rdmasniff.c:620,1
    - Dst: rdmasniff_free_resources
      Src: /src/libpcap/pcap-rdmasniff.c:621,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 192
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 623
    functionName: rdmasniff_activate
    functionSourceFile: /src/libpcap/pcap-rdmasniff.c
    functionUses: 0
    functionsReached:
    - ibv_create_comp_channel
    - ibv_create_cq
    - rdmasniff_free_resources
    - ibv_req_notify_cq
    - rdma_find_device_in_list
    - ibv_modify_qp
    - ibv_query_port
    - ibv_alloc_pd
    - ibv_create_flow
    - handle_get_device_list_error
    - snprintf
    - ibv_free_device_list
    - memset
    - ibv_open_device
    - rdmasniff_post_recv
    - ibv_create_qp
    - ibv_get_device_list
    - pcapint_fmt_errmsg_for_errno
    - ibv_reg_mr
    - pcapint_get_decuint
    - malloc
    linkageType: ''
    returnType: int
    signature: int rdmasniff_activate(pcap_t *handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ibv_get_device_list
      Src: /src/libpcap/pcap-rdmasniff.c:634,1
    - Dst: ibv_free_device_list
      Src: /src/libpcap/pcap-rdmasniff.c:659,1
    - Dst: rdma_find_device_in_list
      Src: /src/libpcap/pcap-rdmasniff.c:670,1
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-rdmasniff.c:679,1
    - Dst: ibv_free_device_list
      Src: /src/libpcap/pcap-rdmasniff.c:702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - device
    - ebuf
    - is_ours
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 704
    functionName: rdmasniff_create
    functionSourceFile: /src/libpcap/pcap-rdmasniff.c
    functionUses: 0
    functionsReached:
    - ibv_free_device_list
    - PCAP_CREATE_COMMON
    - ibv_get_device_list
    - rdma_find_device_in_list
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      rdmasniff_create(const char *device, char *ebuf, int *is_ours)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ibv_get_device_list
      Src: /src/libpcap/pcap-rdmasniff.c:714,1
    - Dst: handle_get_device_list_error
      Src: /src/libpcap/pcap-rdmasniff.c:716,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-rdmasniff.c:743,1
    - Dst: ibv_free_device_list
      Src: /src/libpcap/pcap-rdmasniff.c:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - devlistp
    - err_str
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 706
    functionDepth: 3
    functionLinenumber: 706
    functionLinenumberEnd: 751
    functionName: rdmasniff_findalldevs
    functionSourceFile: /src/libpcap/pcap-rdmasniff.c
    functionUses: 0
    functionsReached:
    - pcapint_add_dev
    - ibv_free_device_list
    - ibv_get_device_list
    - handle_get_device_list_error
    linkageType: ''
    returnType: int
    signature: int rdmasniff_findalldevs(pcap_if_list_t *devlistp, char *err_str)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:70,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:81,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:92,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:103,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - hdr
    - buf
    argTypes:
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 104
    functionName: swap_pflog_header
    functionSourceFile: /src/libpcap/pcap-util.c
    functionUses: 0
    functionsReached:
    - SWAPLONG
    linkageType: ''
    returnType: void
    signature: void swap_pflog_header(const struct pcap_pkthdr *hdr, u_char *buf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:142,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:157,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/pcap-util.c:163,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - protocol
    - caplen
    - length
    - buf
    argTypes:
    - uint16_t
    - u_int
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 178
    functionName: swap_socketcan_header
    functionSourceFile: /src/libpcap/pcap-util.c
    functionUses: 0
    functionsReached:
    - SWAPLONG
    - SWAPSHORT
    linkageType: ''
    returnType: void
    signature: "void swap_socketcan_header(uint16_t protocol, u_int caplen, u_int
      length,\n    u_char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swap_socketcan_header
      Src: /src/libpcap/pcap-util.c:205,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/libpcap/pcap-util.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - hdr
    - buf
    argTypes:
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 209
    functionName: swap_linux_sll_socketcan_header
    functionSourceFile: /src/libpcap/pcap-util.c
    functionUses: 0
    functionsReached:
    - EXTRACT_BE_U_2
    - swap_socketcan_header
    linkageType: ''
    returnType: void
    signature: void swap_linux_sll_socketcan_header(const struct pcap_pkthdr *hdr,
      u_char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swap_socketcan_header
      Src: /src/libpcap/pcap-util.c:230,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/libpcap/pcap-util.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - hdr
    - buf
    argTypes:
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 234
    functionName: swap_linux_sll2_socketcan_header
    functionSourceFile: /src/libpcap/pcap-util.c
    functionUses: 0
    functionsReached:
    - EXTRACT_BE_U_2
    - swap_socketcan_header
    linkageType: ''
    returnType: void
    signature: void swap_linux_sll2_socketcan_header(const struct pcap_pkthdr *hdr,
      u_char *buf)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: swap_4_byte_aligned_uint64
      Src: /src/libpcap/pcap-util.c:265,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/pcap-util.c:272,1
    - Dst: swap_4_byte_aligned_int64
      Src: /src/libpcap/pcap-util.c:279,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:284,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:289,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:294,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:299,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:305,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:310,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:337,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:342,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:347,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:352,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:364,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:369,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.c:374,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 79
    argCount: 3
    argNames:
    - hdr
    - buf
    - header_len_64_bytes
    argTypes:
    - struct pcap_pkthdr*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 382
    functionName: swap_linux_usb_header
    functionSourceFile: /src/libpcap/pcap-util.c
    functionUses: 0
    functionsReached:
    - swap_4_byte_aligned_int64
    - SWAPLONG
    - swap_4_byte_aligned_uint64
    - SWAPSHORT
    linkageType: ''
    returnType: void
    signature: "void swap_linux_usb_header(const struct pcap_pkthdr *hdr, u_char *buf,\n
      \   int header_len_64_bytes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SWAPSHORT
      Src: /src/libpcap/pcap-util.c:424,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/pcap-util.c:425,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - hdr
    - buf
    argTypes:
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 449
    functionName: swap_nflog_header
    functionSourceFile: /src/libpcap/pcap-util.c
    functionUses: 0
    functionsReached:
    - SWAPSHORT
    linkageType: ''
    returnType: void
    signature: void swap_nflog_header(const struct pcap_pkthdr *hdr, u_char *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: swap_pflog_header
      Src: /src/libpcap/pcap-util.c:462,1
    - Dst: swap_linux_sll_socketcan_header
      Src: /src/libpcap/pcap-util.c:466,1
    - Dst: swap_linux_sll2_socketcan_header
      Src: /src/libpcap/pcap-util.c:470,1
    - Dst: swap_linux_usb_header
      Src: /src/libpcap/pcap-util.c:474,1
    - Dst: swap_linux_usb_header
      Src: /src/libpcap/pcap-util.c:478,1
    - Dst: swap_nflog_header
      Src: /src/libpcap/pcap-util.c:482,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - linktype
    - hdr
    - data
    argTypes:
    - int
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 485
    functionName: swap_pseudo_headers
    functionSourceFile: /src/libpcap/pcap-util.c
    functionUses: 0
    functionsReached:
    - swap_linux_sll_socketcan_header
    - swap_nflog_header
    - swap_pflog_header
    - swap_linux_usb_header
    - swap_linux_sll2_socketcan_header
    linkageType: ''
    returnType: void
    signature: void swap_pseudo_headers(int linktype, struct pcap_pkthdr *hdr, u_char
      *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iso_pseudo_header_len
      Src: /src/libpcap/pcap-util.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hdr
    - usb_hdr
    argTypes:
    - struct pcap_pkthdr*
    - pcap_usb_header_mmapped*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 503
    functionName: packet_length_might_be_wrong
    functionSourceFile: /src/libpcap/pcap-util.c
    functionUses: 0
    functionsReached:
    - iso_pseudo_header_len
    linkageType: ''
    returnType: int
    signature: "int packet_length_might_be_wrong(struct pcap_pkthdr *hdr,\n    const
      pcap_usb_header_mmapped *usb_hdr)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: swap_pseudo_headers
      Src: /src/libpcap/pcap-util.c:510,1
    - Dst: is_isochronous_transfer_completion
      Src: /src/libpcap/pcap-util.c:571,1
    - Dst: packet_length_might_be_wrong
      Src: /src/libpcap/pcap-util.c:572,1
    - Dst: iso_pseudo_header_len
      Src: /src/libpcap/pcap-util.c:582,1
    - Dst: incoming_isochronous_transfer_completed_len
      Src: /src/libpcap/pcap-util.c:588,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - linktype
    - swapped
    - hdr
    - data
    argTypes:
    - int
    - int
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 505
    functionDepth: 4
    functionLinenumber: 505
    functionLinenumberEnd: 629
    functionName: pcapint_post_process
    functionSourceFile: /src/libpcap/pcap-util.c
    functionUses: 2
    functionsReached:
    - is_isochronous_transfer_completion
    - swap_pseudo_headers
    - iso_pseudo_header_len
    - incoming_isochronous_transfer_completed_len
    - packet_length_might_be_wrong
    linkageType: ''
    returnType: void
    signature: "void pcapint_post_process(int linktype, int swapped, struct pcap_pkthdr
      *hdr,\n    u_char *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libpcap/bpf_dump.c:38,1
    - Dst: printf
      Src: /src/libpcap/bpf_dump.c:40,1
    - Dst: printf
      Src: /src/libpcap/bpf_dump.c:47,1
    - Dst: printf
      Src: /src/libpcap/bpf_dump.c:54,1
    - Dst: printf
      Src: /src/libpcap/bpf_dump.c:56,1
    - Dst: puts
      Src: /src/libpcap/bpf_dump.c:58,1
    - Dst: bpf_image
      Src: /src/libpcap/bpf_dump.c:58,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - p
    - option
    argTypes:
    - struct bpf_program*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: bpf_dump
    functionSourceFile: /src/libpcap/bpf_dump.c
    functionUses: 1
    functionsReached:
    - puts
    - bpf_image
    - printf
    linkageType: ''
    returnType: void
    signature: void bpf_dump(const struct bpf_program *p, int option)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpcap/pcap-bt-linux.c:80,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-linux.c:86,1
    - Dst: malloc
      Src: /src/libpcap/pcap-bt-linux.c:91,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bt-linux.c:94,1
    - Dst: memset
      Src: /src/libpcap/pcap-bt-linux.c:107,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bt-linux.c:110,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-linux.c:112,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bt-linux.c:122,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bt-linux.c:123,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-bt-linux.c:133,1
    - Dst: free
      Src: /src/libpcap/pcap-bt-linux.c:141,1
    - Dst: close
      Src: /src/libpcap/pcap-bt-linux.c:144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - devlistp
    - err_str
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 146
    functionName: bt_findalldevs
    functionSourceFile: /src/libpcap/pcap-bt-linux.c
    functionUses: 0
    functionsReached:
    - close
    - ioctl
    - pcapint_add_dev
    - pcapint_fmt_errmsg_for_errno
    - socket
    - snprintf
    - free
    - memset
    - malloc
    linkageType: ''
    returnType: int
    signature: int bt_findalldevs(pcap_if_list_t *devlistp, char *err_str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libpcap/pcap-bt-linux.c:158,1
    - Dst: pcapint_get_decuint
      Src: /src/libpcap/pcap-bt-linux.c:165,1
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-bt-linux.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - device
    - ebuf
    - is_ours
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 183
    functionName: bt_create
    functionSourceFile: /src/libpcap/pcap-bt-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_get_decuint
    - PCAP_CREATE_COMMON
    - strncmp
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      bt_create(const char *device, char *ebuf, int *is_ours)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpcap/pcap-bt-linux.c:219,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-linux.c:221,1
    - Dst: malloc
      Src: /src/libpcap/pcap-bt-linux.c:226,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-linux.c:228,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-bt-linux.c:234,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-linux.c:235,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-bt-linux.c:241,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-linux.c:242,1
    - Dst: memset
      Src: /src/libpcap/pcap-bt-linux.c:249,1
    - Dst: memset
      Src: /src/libpcap/pcap-bt-linux.c:250,1
    - Dst: memset
      Src: /src/libpcap/pcap-bt-linux.c:251,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-bt-linux.c:252,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-linux.c:253,1
    - Dst: bind
      Src: /src/libpcap/pcap-bt-linux.c:265,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-linux.c:266,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-bt-linux.c:283,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-linux.c:286,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-bt-linux.c:296,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 298
    functionName: bt_activate
    functionSourceFile: /src/libpcap/pcap-bt-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - socket
    - bind
    - pcapint_cleanup_live_common
    - memset
    - malloc
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int bt_activate(pcap_t* handle)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-bt-linux.c:317,1
    - Dst: recvmsg
      Src: /src/libpcap/pcap-bt-linux.c:330,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-linux.c:338,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/libpcap/pcap-bt-linux.c:346,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-bt-linux.c:350,1
    - Dst: CMSG_DATA
      Src: /src/libpcap/pcap-bt-linux.c:350,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-bt-linux.c:353,1
    - Dst: CMSG_DATA
      Src: /src/libpcap/pcap-bt-linux.c:353,1
    - Dst: CMSG_NXTHDR
      Src: /src/libpcap/pcap-bt-linux.c:359,1
    - Dst: htonl
      Src: /src/libpcap/pcap-bt-linux.c:378,1
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap-bt-linux.c:382,1
    - Dst: callback
      Src: /src/libpcap/pcap-bt-linux.c:383,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 4
    argNames:
    - handle
    - max_packets
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 387
    functionName: bt_read_linux
    functionSourceFile: /src/libpcap/pcap-bt-linux.c
    functionUses: 0
    functionsReached:
    - CMSG_FIRSTHDR
    - recvmsg
    - pcapint_fmt_errmsg_for_errno
    - callback
    - memcpy
    - CMSG_DATA
    - CMSG_NXTHDR
    - pcapint_filter
    - htonl
    - memset
    linkageType: ''
    returnType: int
    signature: int bt_read_linux(pcap_t *handle, int max_packets _U_, pcap_handler
      callback, u_char *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-bt-linux.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - handle
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: bt_inject_linux
    functionSourceFile: /src/libpcap/pcap-bt-linux.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int bt_inject_linux(pcap_t *handle, const void *buf _U_, int size _U_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libpcap/pcap-bt-linux.c:409,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bt-linux.c:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - handle
    - stats
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 425
    functionName: bt_stats_linux
    functionSourceFile: /src/libpcap/pcap-bt-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - ioctl
    linkageType: ''
    returnType: int
    signature: int bt_stats_linux(pcap_t *handle, struct pcap_stat *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - pcap_t*
    - pcap_direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 436
    functionName: bt_setdirection_linux
    functionSourceFile: /src/libpcap/pcap-bt-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bt_setdirection_linux(pcap_t *p, pcap_direction_t d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: device_set_filter
      Src: /src/libpcap/pcap-hurd.c:56,1
    - Dst: pcapint_fmt_errmsg_for_kern_return_t
      Src: /src/libpcap/pcap-hurd.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p
    - filter_array
    - filter_count
    argTypes:
    - pcap_t*
    - filter_array_t
    - mach_msg_type_number_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: PCAP_WARN_UNUSED_RESULT::pcap_device_set_filter
    functionSourceFile: /src/libpcap/pcap-hurd.c
    functionUses: 0
    functionsReached:
    - device_set_filter
    - pcapint_fmt_errmsg_for_kern_return_t
    linkageType: ''
    returnType: int
    signature: "int PCAP_WARN_UNUSED_RESULT\npcap_device_set_filter(pcap_t *p, filter_array_t
      filter_array,\n                       const mach_msg_type_number_t filter_count)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_install_bpf_program
      Src: /src/libpcap/pcap-hurd.c:69,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-hurd.c:70,1
    - Dst: BPF_CLASS
      Src: /src/libpcap/pcap-hurd.c:86,1
    - Dst: BPF_OP
      Src: /src/libpcap/pcap-hurd.c:87,1
    - Dst: BPF_OP
      Src: /src/libpcap/pcap-hurd.c:87,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-hurd.c:102,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-hurd.c:103,1
    - Dst: pcap_device_set_filter
      Src: /src/libpcap/pcap-hurd.c:105,1
    - Dst: pcap_device_set_filter
      Src: /src/libpcap/pcap-hurd.c:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - p
    - program
    argTypes:
    - pcap_t*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 120
    functionName: pcap_setfilter_hurd
    functionSourceFile: /src/libpcap/pcap-hurd.c
    functionUses: 0
    functionsReached:
    - pcap_device_set_filter
    - pcapint_install_bpf_program
    - BPF_CLASS
    - memcpy
    - pcapint_strlcpy
    - BPF_OP
    linkageType: ''
    returnType: int
    signature: int pcap_setfilter_hurd(pcap_t *p, struct bpf_program *program)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mach_msg
      Src: /src/libpcap/pcap-hurd.c:142,1
    - Dst: clock_gettime
      Src: /src/libpcap/pcap-hurd.c:145,1
    - Dst: pcapint_fmt_errmsg_for_kern_return_t
      Src: /src/libpcap/pcap-hurd.c:151,1
    - Dst: memmove
      Src: /src/libpcap/pcap-hurd.c:169,1
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap-hurd.c:188,1
    - Dst: callback
      Src: /src/libpcap/pcap-hurd.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - p
    - cnt
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 199
    functionName: pcap_read_hurd
    functionSourceFile: /src/libpcap/pcap-hurd.c
    functionUses: 0
    functionsReached:
    - memmove
    - callback
    - clock_gettime
    - mach_msg
    - pcapint_filter
    - pcapint_fmt_errmsg_for_kern_return_t
    linkageType: ''
    returnType: int
    signature: int pcap_read_hurd(pcap_t *p, int cnt _U_, pcap_handler callback, u_char
      *user)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: device_write
      Src: /src/libpcap/pcap-hurd.c:209,1
    - Dst: pcapint_fmt_errmsg_for_kern_return_t
      Src: /src/libpcap/pcap-hurd.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - p
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 219
    functionName: pcap_inject_hurd
    functionSourceFile: /src/libpcap/pcap-hurd.c
    functionUses: 0
    functionsReached:
    - device_write
    - pcapint_fmt_errmsg_for_kern_return_t
    linkageType: ''
    returnType: int
    signature: int pcap_inject_hurd(pcap_t *p, const void *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - ps
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: pcap_stats_hurd
    functionSourceFile: /src/libpcap/pcap-hurd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_stats_hurd(pcap_t *p, struct pcap_stat *ps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mach_port_deallocate
      Src: /src/libpcap/pcap-hurd.c:239,1
    - Dst: mach_task_self
      Src: /src/libpcap/pcap-hurd.c:239,1
    - Dst: device_close
      Src: /src/libpcap/pcap-hurd.c:244,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-hurd.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 249
    functionName: pcap_cleanup_hurd
    functionSourceFile: /src/libpcap/pcap-hurd.c
    functionUses: 0
    functionsReached:
    - pcapint_cleanup_live_common
    - device_close
    - mach_task_self
    - mach_port_deallocate
    linkageType: ''
    returnType: void
    signature: void pcap_cleanup_hurd(pcap_t *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: file_name_lookup
      Src: /src/libpcap/pcap-hurd.c:265,1
    - Dst: device_open
      Src: /src/libpcap/pcap-hurd.c:268,1
    - Dst: get_privileged_ports
      Src: /src/libpcap/pcap-hurd.c:271,1
    - Dst: pcapint_fmt_errmsg_for_kern_return_t
      Src: /src/libpcap/pcap-hurd.c:274,1
    - Dst: device_open
      Src: /src/libpcap/pcap-hurd.c:281,1
    - Dst: mach_port_deallocate
      Src: /src/libpcap/pcap-hurd.c:285,1
    - Dst: mach_task_self
      Src: /src/libpcap/pcap-hurd.c:285,1
    - Dst: pcapint_fmt_errmsg_for_kern_return_t
      Src: /src/libpcap/pcap-hurd.c:288,1
    - Dst: mach_port_allocate
      Src: /src/libpcap/pcap-hurd.c:295,1
    - Dst: mach_task_self
      Src: /src/libpcap/pcap-hurd.c:295,1
    - Dst: pcapint_fmt_errmsg_for_kern_return_t
      Src: /src/libpcap/pcap-hurd.c:299,1
    - Dst: malloc
      Src: /src/libpcap/pcap-hurd.c:305,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-hurd.c:308,1
    - Dst: pcap_cleanup_hurd
      Src: /src/libpcap/pcap-hurd.c:339,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 341
    functionName: pcap_activate_hurd
    functionSourceFile: /src/libpcap/pcap-hurd.c
    functionUses: 0
    functionsReached:
    - get_privileged_ports
    - pcapint_fmt_errmsg_for_errno
    - mach_port_deallocate
    - mach_task_self
    - file_name_lookup
    - mach_port_allocate
    - pcap_cleanup_hurd
    - device_open
    - pcapint_fmt_errmsg_for_kern_return_t
    - malloc
    linkageType: ''
    returnType: int
    signature: int pcap_activate_hurd(pcap_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-hurd.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - device
    - ebuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 358
    functionName: pcapint_create_interface
    functionSourceFile: /src/libpcap/pcap-hurd.c
    functionUses: 1
    functionsReached:
    - PCAP_CREATE_COMMON
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcapint_create_interface(const char *device _U_, char *ebuf)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libpcap/pcap-hurd.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: can_be_bound
    functionSourceFile: /src/libpcap/pcap-hurd.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int can_be_bound(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - name
    - flags
    - errbuf
    argTypes:
    - char*
    - bpf_u_int32*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 381
    functionName: get_if_flags
    functionSourceFile: /src/libpcap/pcap-hurd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_if_flags(const char *name _U_, bpf_u_int32 *flags, char *errbuf
      _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_findalldevs_interfaces
      Src: /src/libpcap/pcap-hurd.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - devlistp
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 388
    functionName: pcapint_platform_finddevs
    functionSourceFile: /src/libpcap/pcap-hurd.c
    functionUses: 1
    functionsReached:
    - pcapint_findalldevs_interfaces
    linkageType: ''
    returnType: int
    signature: int pcapint_platform_finddevs(pcap_if_list_t *devlistp, char *errbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: pcap_lib_version
    functionSourceFile: /src/libpcap/pcap-hurd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_lib_version(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - additional_info
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO
    functionSourceFile: /src/libpcap/pcap-int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO(additional_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: PCAP_ISDIGIT
    functionSourceFile: /src/libpcap/pcap-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_ISDIGIT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: PCAP_ISXDIGIT
    functionSourceFile: /src/libpcap/pcap-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_ISXDIGIT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: PCAP_ISUPPER
    functionSourceFile: /src/libpcap/pcap-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_ISUPPER(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: PCAP_ISLOWER
    functionSourceFile: /src/libpcap/pcap-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_ISLOWER(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: PCAP_ISALPHA
    functionSourceFile: /src/libpcap/pcap-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_ISALPHA(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: PCAP_ISALNUM
    functionSourceFile: /src/libpcap/pcap-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_ISALNUM(c)
  - 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: 420
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 420
    functionName: min
    functionSourceFile: /src/libpcap/pcap-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(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: 423
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 423
    functionName: max
    functionSourceFile: /src/libpcap/pcap-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: PACKET_COUNT_IS_UNLIMITED
    functionSourceFile: /src/libpcap/pcap-int.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACKET_COUNT_IS_UNLIMITED(count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ebuf
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: PCAP_CREATE_COMMON
    functionSourceFile: /src/libpcap/pcap-int.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_CREATE_COMMON(ebuf, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ebuf
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: PCAP_OPEN_OFFLINE_COMMON
    functionSourceFile: /src/libpcap/pcap-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_OPEN_OFFLINE_COMMON(ebuf, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - path
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: pcapint_charset_fopen
    functionSourceFile: /src/libpcap/pcap-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pcapint_charset_fopen(path, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: htols
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htols(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: htoll
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htoll(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ll
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: htol64
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htol64(ll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: htols
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htols(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: htoll
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htoll(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ll
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: htol64
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htol64(ll)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-usb-linux.c:144,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-usb-linux.c:154,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-usb-linux.c:165,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-usb-linux.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - devlistp
    - n
    - err_str
    argTypes:
    - pcap_if_list_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 171
    functionName: usb_dev_add
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_add_dev
    - snprintf
    linkageType: ''
    returnType: int
    signature: int usb_dev_add(pcap_if_list_t *devlistp, int n, char *err_str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/libpcap/pcap-usb-linux.c:187,1
    - Dst: readdir
      Src: /src/libpcap/pcap-usb-linux.c:189,1
    - Dst: strncmp
      Src: /src/libpcap/pcap-usb-linux.c:195,1
    - Dst: sscanf
      Src: /src/libpcap/pcap-usb-linux.c:202,1
    - Dst: usb_dev_add
      Src: /src/libpcap/pcap-usb-linux.c:205,1
    - Dst: closedir
      Src: /src/libpcap/pcap-usb-linux.c:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - devlistp
    - err_str
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 211
    functionName: usb_findalldevs
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached:
    - closedir
    - opendir
    - usb_dev_add
    - readdir
    - sscanf
    - strncmp
    linkageType: ''
    returnType: int
    signature: int usb_findalldevs(pcap_if_list_t *devlistp, char *err_str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libpcap/pcap-usb-linux.c:273,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-usb-linux.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - handle
    - header_size
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 279
    functionName: usb_set_ring_size
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - ioctl
    linkageType: ''
    returnType: int
    signature: int usb_set_ring_size(pcap_t* handle, int header_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: usb_set_ring_size
      Src: /src/libpcap/pcap-usb-linux.c:292,1
    - Dst: mmap
      Src: /src/libpcap/pcap-usb-linux.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 309
    functionName: usb_mmap
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached:
    - usb_set_ring_size
    - mmap
    linkageType: ''
    returnType: int
    signature: int usb_mmap(pcap_t* handle)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-usb-linux.c:343,1
    - Dst: opendir
      Src: /src/libpcap/pcap-usb-linux.c:344,1
    - Dst: readdir
      Src: /src/libpcap/pcap-usb-linux.c:348,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-usb-linux.c:355,1
    - Dst: open
      Src: /src/libpcap/pcap-usb-linux.c:357,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-usb-linux.c:381,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-usb-linux.c:392,1
    - Dst: EXTRACT_LE_U_2
      Src: /src/libpcap/pcap-usb-linux.c:395,1
    - Dst: malloc
      Src: /src/libpcap/pcap-usb-linux.c:401,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-usb-linux.c:403,1
    - Dst: free
      Src: /src/libpcap/pcap-usb-linux.c:404,1
    - Dst: close
      Src: /src/libpcap/pcap-usb-linux.c:407,1
    - Dst: closedir
      Src: /src/libpcap/pcap-usb-linux.c:409,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - bus
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 410
    functionName: probe_devices
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached:
    - closedir
    - close
    - ioctl
    - open
    - opendir
    - EXTRACT_LE_U_2
    - readdir
    - snprintf
    - free
    - malloc
    linkageType: ''
    returnType: void
    signature: void probe_devices(int bus)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libpcap/pcap-usb-linux.c:423,1
    - Dst: pcapint_get_decuint
      Src: /src/libpcap/pcap-usb-linux.c:430,1
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-usb-linux.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - device
    - ebuf
    - is_ours
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 448
    functionName: usb_create
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_get_decuint
    - PCAP_CREATE_COMMON
    - strncmp
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      usb_create(const char *device, char *ebuf, int *is_ours)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-usb-linux.c:483,1
    - Dst: open
      Src: /src/libpcap/pcap-usb-linux.c:485,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-usb-linux.c:527,1
    - Dst: close
      Src: /src/libpcap/pcap-usb-linux.c:539,1
    - Dst: usb_mmap
      Src: /src/libpcap/pcap-usb-linux.c:544,1
    - Dst: probe_devices
      Src: /src/libpcap/pcap-usb-linux.c:552,1
    - Dst: usb_set_ring_size
      Src: /src/libpcap/pcap-usb-linux.c:571,1
    - Dst: close
      Src: /src/libpcap/pcap-usb-linux.c:573,1
    - Dst: probe_devices
      Src: /src/libpcap/pcap-usb-linux.c:579,1
    - Dst: malloc
      Src: /src/libpcap/pcap-usb-linux.c:590,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-usb-linux.c:592,1
    - Dst: close
      Src: /src/libpcap/pcap-usb-linux.c:594,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 450
    functionDepth: 4
    functionLinenumber: 450
    functionLinenumberEnd: 598
    functionName: usb_activate
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached:
    - probe_devices
    - close
    - usb_set_ring_size
    - open
    - pcapint_fmt_errmsg_for_errno
    - snprintf
    - usb_mmap
    - malloc
    linkageType: ''
    returnType: int
    signature: int usb_activate(pcap_t* handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-usb-linux.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - handle
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: usb_inject_linux
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int usb_inject_linux(pcap_t *handle, const void *buf _U_, int size
      _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - pcap_t*
    - pcap_direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: usb_setdirection_linux
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int usb_setdirection_linux(pcap_t *p, pcap_direction_t d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libpcap/pcap-usb-linux.c:625,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-usb-linux.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - handle
    - stats
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 637
    functionName: usb_stats_linux_bin
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - ioctl
    linkageType: ''
    returnType: int
    signature: int usb_stats_linux_bin(pcap_t *handle, struct pcap_stat *stats)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libpcap/pcap-usb-linux.c:659,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-usb-linux.c:671,1
    - Dst: pcap_4_byte_aligned_int64_val
      Src: /src/libpcap/pcap-usb-linux.c:714,1
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap-usb-linux.c:718,1
    - Dst: callback
      Src: /src/libpcap/pcap-usb-linux.c:721,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - handle
    - max_packets
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 726
    functionName: usb_read_linux_bin
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached:
    - pcap_4_byte_aligned_int64_val
    - ioctl
    - pcapint_fmt_errmsg_for_errno
    - callback
    - pcapint_filter
    linkageType: ''
    returnType: int
    signature: int usb_read_linux_bin(pcap_t *handle, int max_packets _U_, pcap_handler
      callback, u_char *user)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_COUNT_IS_UNLIMITED
      Src: /src/libpcap/pcap-usb-linux.c:752,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-usb-linux.c:789,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-usb-linux.c:801,1
    - Dst: u_int_sum
      Src: /src/libpcap/pcap-usb-linux.c:866,1
    - Dst: is_isochronous_transfer_completion
      Src: /src/libpcap/pcap-usb-linux.c:872,1
    - Dst: incoming_isochronous_transfer_completed_len
      Src: /src/libpcap/pcap-usb-linux.c:884,1
    - Dst: u_int_sum
      Src: /src/libpcap/pcap-usb-linux.c:898,1
    - Dst: pcap_4_byte_aligned_int64_val
      Src: /src/libpcap/pcap-usb-linux.c:902,1
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap-usb-linux.c:906,1
    - Dst: callback
      Src: /src/libpcap/pcap-usb-linux.c:909,1
    - Dst: PACKET_COUNT_IS_UNLIMITED
      Src: /src/libpcap/pcap-usb-linux.c:918,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-usb-linux.c:924,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-usb-linux.c:925,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 4
    argNames:
    - handle
    - max_packets
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 930
    functionName: usb_read_linux_mmap
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached:
    - is_isochronous_transfer_completion
    - ioctl
    - u_int_sum
    - pcap_4_byte_aligned_int64_val
    - pcapint_fmt_errmsg_for_errno
    - callback
    - incoming_isochronous_transfer_completed_len
    - pcapint_filter
    - PACKET_COUNT_IS_UNLIMITED
    linkageType: ''
    returnType: int
    signature: int usb_read_linux_mmap(pcap_t *handle, int max_packets, pcap_handler
      callback, u_char *user)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/libpcap/pcap-usb-linux.c:939,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-usb-linux.c:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 943
    functionName: usb_cleanup_linux_mmap
    functionSourceFile: /src/libpcap/pcap-usb-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_cleanup_live_common
    - munmap
    linkageType: ''
    returnType: void
    signature: void usb_cleanup_linux_mmap(pcap_t* handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - ps
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 122
    functionName: pcap_stats_dlpi
    functionSourceFile: /src/libpcap/dlpisubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_stats_dlpi(pcap_t *p, struct pcap_stat *ps)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/dlpisubs.c:256,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/dlpisubs.c:258,1
    - Dst: snprintf
      Src: /src/libpcap/dlpisubs.c:316,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 2
    argNames:
    - p
    - mactype
    argTypes:
    - pcap_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 322
    functionName: pcap_process_mactype
    functionSourceFile: /src/libpcap/dlpisubs.c
    functionUses: 1
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - malloc
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_process_mactype(pcap_t *p, u_int mactype)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libpcap/dlpisubs.c:335,1
    - Dst: pcap_stream_err
      Src: /src/libpcap/dlpisubs.c:336,1
    - Dst: strioctl
      Src: /src/libpcap/dlpisubs.c:342,1
    - Dst: pcap_stream_err
      Src: /src/libpcap/dlpisubs.c:343,1
    - Dst: strioctl
      Src: /src/libpcap/dlpisubs.c:351,1
    - Dst: pcap_stream_err
      Src: /src/libpcap/dlpisubs.c:352,1
    - Dst: strioctl
      Src: /src/libpcap/dlpisubs.c:360,1
    - Dst: pcap_stream_err
      Src: /src/libpcap/dlpisubs.c:361,1
    - Dst: strioctl
      Src: /src/libpcap/dlpisubs.c:368,1
    - Dst: pcap_stream_err
      Src: /src/libpcap/dlpisubs.c:370,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - p
    - snaplen
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 376
    functionName: pcap_conf_bufmod
    functionSourceFile: /src/libpcap/dlpisubs.c
    functionUses: 1
    functionsReached:
    - pcap_stream_err
    - strioctl
    - ioctl
    linkageType: ''
    returnType: int
    signature: int pcap_conf_bufmod(pcap_t *p, int snaplen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/dlpisubs.c:386,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/dlpisubs.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 394
    functionName: pcap_alloc_databuf
    functionSourceFile: /src/libpcap/dlpisubs.c
    functionUses: 1
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - malloc
    linkageType: ''
    returnType: int
    signature: int pcap_alloc_databuf(pcap_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libpcap/dlpisubs.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - fd
    - cmd
    - len
    - dp
    argTypes:
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 414
    functionName: strioctl
    functionSourceFile: /src/libpcap/dlpisubs.c
    functionUses: 1
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: int
    signature: int strioctl(int fd, int cmd, int len, char *dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/dlpisubs.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - func
    - err
    - errbuf
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: pcap_stream_err
    functionSourceFile: /src/libpcap/dlpisubs.c
    functionUses: 1
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    linkageType: ''
    returnType: void
    signature: void pcap_stream_err(const char *func, int err, char *errbuf)
  - 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: SWAPS
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAPS(_X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - AdapterName
    argTypes:
    - PCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: PacketIsMonitorModeSupported
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PacketIsMonitorModeSupported(PCHAR AdapterName _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - AdapterName
    - mode
    argTypes:
    - PCHAR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: PacketSetMonitorMode
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PacketSetMonitorMode(PCHAR AdapterName _U_, int mode _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - AdapterName
    argTypes:
    - PCHAR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: PacketGetMonitorMode
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PacketGetMonitorMode(PCHAR AdapterName _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _DataLength
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: PACKET_OID_DATA_LENGTH
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACKET_OID_DATA_LENGTH(_DataLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/pcap-npf.c:202,1
    - Dst: PACKET_OID_DATA_LENGTH
      Src: /src/libpcap/pcap-npf.c:202,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:204,1
    - Dst: PacketRequest
      Src: /src/libpcap/pcap-npf.c:214,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:215,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:216,1
    - Dst: free
      Src: /src/libpcap/pcap-npf.c:217,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-npf.c:229,1
    - Dst: free
      Src: /src/libpcap/pcap-npf.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - adapter
    - oid
    - data
    - lenp
    - errbuf
    argTypes:
    - ADAPTER*
    - bpf_u_int32
    - void*
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 232
    functionName: oid_get_request
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - PACKET_OID_DATA_LENGTH
    - memcpy
    - snprintf
    - free
    - PacketRequest
    - pcapint_fmt_errmsg_for_win32_err
    - malloc
    linkageType: ''
    returnType: int
    signature: "int oid_get_request(ADAPTER *adapter, bpf_u_int32 oid, void *data,
      size_t *lenp,\n    char *errbuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PacketGetStats
      Src: /src/libpcap/pcap-npf.c:253,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:254,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - p
    - ps
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 272
    functionName: pcap_stats_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - pcapint_fmt_errmsg_for_win32_err
    - PacketGetStats
    linkageType: ''
    returnType: int
    signature: int pcap_stats_npf(pcap_t *p, struct pcap_stat *ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PacketGetStatsEx
      Src: /src/libpcap/pcap-npf.c:310,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:311,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - p
    - pcap_stat_size
    argTypes:
    - pcap_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 327
    functionName: pcap_stats_ex_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - pcapint_fmt_errmsg_for_win32_err
    - PacketGetStatsEx
    linkageType: ''
    returnType: struct pcap_stat
    signature: 'struct pcap_stat *

      pcap_stats_ex_npf(pcap_t *p, int *pcap_stat_size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PacketSetBuff
      Src: /src/libpcap/pcap-npf.c:335,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - dim
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 341
    functionName: pcap_setbuff_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - PacketSetBuff
    linkageType: ''
    returnType: int
    signature: int pcap_setbuff_npf(pcap_t *p, int dim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PacketSetMode
      Src: /src/libpcap/pcap-npf.c:349,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - mode
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 356
    functionName: pcap_setmode_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - PacketSetMode
    linkageType: ''
    returnType: int
    signature: int pcap_setmode_npf(pcap_t *p, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PacketSetMinToCopy
      Src: /src/libpcap/pcap-npf.c:364,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 370
    functionName: pcap_setmintocopy_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - PacketSetMinToCopy
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_setmintocopy_npf(pcap_t *p, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PacketGetReadEvent
      Src: /src/libpcap/pcap-npf.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 378
    functionName: pcap_getevent_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - PacketGetReadEvent
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE pcap_getevent_npf(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oid_get_request
      Src: /src/libpcap/pcap-npf.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - oid
    - data
    - lenp
    argTypes:
    - pcap_t*
    - bpf_u_int32
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: pcap_oid_get_request_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - oid_get_request
    linkageType: ''
    returnType: int
    signature: int pcap_oid_get_request_npf(pcap_t *p, bpf_u_int32 oid, void *data,
      size_t *lenp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/pcap-npf.c:399,1
    - Dst: PACKET_OID_DATA_LENGTH
      Src: /src/libpcap/pcap-npf.c:399,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:401,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-npf.c:408,1
    - Dst: PacketRequest
      Src: /src/libpcap/pcap-npf.c:409,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:410,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:411,1
    - Dst: free
      Src: /src/libpcap/pcap-npf.c:412,1
    - Dst: free
      Src: /src/libpcap/pcap-npf.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - p
    - oid
    - data
    - lenp
    argTypes:
    - pcap_t*
    - bpf_u_int32
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 426
    functionName: pcap_oid_set_request_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - PACKET_OID_DATA_LENGTH
    - memcpy
    - snprintf
    - free
    - PacketRequest
    - pcapint_fmt_errmsg_for_win32_err
    - malloc
    linkageType: ''
    returnType: int
    signature: "int pcap_oid_set_request_npf(pcap_t *p, bpf_u_int32 oid, const void
      *data,\n    size_t *lenp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PacketSendPackets
      Src: /src/libpcap/pcap-npf.c:434,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:440,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - p
    - queue
    - sync
    argTypes:
    - pcap_t*
    - pcap_send_queue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 445
    functionName: pcap_sendqueue_transmit_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - PacketSendPackets
    - pcapint_fmt_errmsg_for_win32_err
    linkageType: ''
    returnType: u_int
    signature: u_int pcap_sendqueue_transmit_npf(pcap_t *p, pcap_send_queue *queue,
      int sync)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:454,1
    - Dst: malloc
      Src: /src/libpcap/pcap-npf.c:460,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:463,1
    - Dst: free
      Src: /src/libpcap/pcap-npf.c:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 474
    functionName: pcap_setuserbuffer_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_setuserbuffer_npf(pcap_t *p, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - filename
    - maxsize
    - maxpacks
    argTypes:
    - pcap_t*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 492
    functionName: pcap_live_dump_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int pcap_live_dump_npf(pcap_t *p, char *filename _U_, int maxsize
      _U_,\n    int maxpacks _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - sync
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 499
    functionName: pcap_live_dump_ended_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_live_dump_ended_npf(pcap_t *p, int sync)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PacketSetMode
      Src: /src/libpcap/pcap-npf.c:508,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:510,1
    - Dst: PacketSetDumpName
      Src: /src/libpcap/pcap-npf.c:516,1
    - Dst: strlen
      Src: /src/libpcap/pcap-npf.c:516,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:518,1
    - Dst: PacketSetDumpLimits
      Src: /src/libpcap/pcap-npf.c:524,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - p
    - filename
    - maxsize
    - maxpacks
    argTypes:
    - pcap_t*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 532
    functionName: pcap_live_dump_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - PacketSetDumpLimits
    - PacketSetMode
    - PacketSetDumpName
    - snprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: int pcap_live_dump_npf(pcap_t *p, char *filename, int maxsize, int
      maxpacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PacketIsDumpEnded
      Src: /src/libpcap/pcap-npf.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - sync
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: pcap_live_dump_ended_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - PacketIsDumpEnded
    linkageType: ''
    returnType: int
    signature: int pcap_live_dump_ended_npf(pcap_t *p, int sync)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PacketInitPacket
      Src: /src/libpcap/pcap-npf.c:580,1
    - Dst: PacketReceivePacket
      Src: /src/libpcap/pcap-npf.c:581,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:587,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:628,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:632,1
    - Dst: min
      Src: /src/libpcap/pcap-npf.c:699,1
    - Dst: Packet_WORDALIGN
      Src: /src/libpcap/pcap-npf.c:699,1
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap-npf.c:712,1
    - Dst: PACKET_COUNT_IS_UNLIMITED
      Src: /src/libpcap/pcap-npf.c:759,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 76
    argCount: 4
    argNames:
    - p
    - cnt
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 774
    functionName: pcap_read_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - PacketInitPacket
    - PacketReceivePacket
    - Packet_WORDALIGN
    - pcapint_filter
    - PACKET_COUNT_IS_UNLIMITED
    - snprintf
    - min
    - pcapint_fmt_errmsg_for_win32_err
    linkageType: ''
    returnType: int
    signature: int pcap_read_npf(pcap_t *p, int cnt, pcap_handler callback, u_char
      *user)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PacketInitPacket
      Src: /src/libpcap/pcap-npf.c:783,1
    - Dst: PacketSendPacket
      Src: /src/libpcap/pcap-npf.c:784,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:785,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 796
    functionName: pcap_inject_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - PacketInitPacket
    - PacketSendPacket
    - pcapint_fmt_errmsg_for_win32_err
    linkageType: ''
    returnType: int
    signature: int pcap_inject_npf(pcap_t *p, const void *buf, int size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PacketCloseAdapter
      Src: /src/libpcap/pcap-npf.c:804,1
    - Dst: PacketSetMonitorMode
      Src: /src/libpcap/pcap-npf.c:809,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-npf.c:811,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 812
    functionName: pcap_cleanup_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - PacketCloseAdapter
    - pcapint_cleanup_live_common
    - PacketSetMonitorMode
    linkageType: ''
    returnType: void
    signature: void pcap_cleanup_npf(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_breakloop_common
      Src: /src/libpcap/pcap-npf.c:817,1
    - Dst: SetEvent
      Src: /src/libpcap/pcap-npf.c:821,1
    - Dst: PacketGetReadEvent
      Src: /src/libpcap/pcap-npf.c:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 822
    functionName: pcap_breakloop_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - pcapint_breakloop_common
    - PacketGetReadEvent
    - SetEvent
    linkageType: ''
    returnType: void
    signature: void pcap_breakloop_npf(pcap_t *p)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_OID_DATA_LENGTH
      Src: /src/libpcap/pcap-npf.c:834,1
    - Dst: PacketGetMonitorMode
      Src: /src/libpcap/pcap-npf.c:842,1
    - Dst: PacketSetMonitorMode
      Src: /src/libpcap/pcap-npf.c:848,1
    - Dst: PacketOpenAdapter
      Src: /src/libpcap/pcap-npf.c:868,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:872,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:896,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:904,1
    - Dst: PacketSetMonitorMode
      Src: /src/libpcap/pcap-npf.c:908,1
    - Dst: PacketGetNetType
      Src: /src/libpcap/pcap-npf.c:915,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:917,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:918,1
    - Dst: malloc
      Src: /src/libpcap/pcap-npf.c:940,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-npf.c:943,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:1027,1
    - Dst: PacketSetTimestampMode
      Src: /src/libpcap/pcap-npf.c:1051,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:1053,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:1054,1
    - Dst: PacketSetTimestampMode
      Src: /src/libpcap/pcap-npf.c:1063,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:1065,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:1066,1
    - Dst: PacketSetTimestampMode
      Src: /src/libpcap/pcap-npf.c:1075,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:1077,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:1078,1
    - Dst: PacketSetMode
      Src: /src/libpcap/pcap-npf.c:1103,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:1105,1
    - Dst: PacketGetInfo
      Src: /src/libpcap/pcap-npf.c:1117,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:1124,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:1125,1
    - Dst: PacketSetHwFilter
      Src: /src/libpcap/pcap-npf.c:1149,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:1151,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:1203,1
    - Dst: PacketSetHwFilter
      Src: /src/libpcap/pcap-npf.c:1220,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:1226,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:1234,1
    - Dst: PacketSetBuff
      Src: /src/libpcap/pcap-npf.c:1257,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:1259,1
    - Dst: malloc
      Src: /src/libpcap/pcap-npf.c:1263,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-npf.c:1266,1
    - Dst: PacketSetMinToCopy
      Src: /src/libpcap/pcap-npf.c:1274,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:1276,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:1277,1
    - Dst: PacketSetMinToCopy
      Src: /src/libpcap/pcap-npf.c:1285,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:1287,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:1288,1
    - Dst: PacketSetBpf
      Src: /src/libpcap/pcap-npf.c:1313,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:1314,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:1315,1
    - Dst: PacketSetReadTimeout
      Src: /src/libpcap/pcap-npf.c:1320,1
    - Dst: PacketSetLoopbackBehavior
      Src: /src/libpcap/pcap-npf.c:1325,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:1327,1
    - Dst: pcap_cleanup_npf
      Src: /src/libpcap/pcap-npf.c:1372,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 240
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 824
    functionDepth: 3
    functionLinenumber: 824
    functionLinenumberEnd: 1374
    functionName: pcap_activate_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - PacketSetHwFilter
    - PacketSetBpf
    - PacketGetNetType
    - PacketSetMode
    - PacketSetBuff
    - PacketSetMonitorMode
    - PacketOpenAdapter
    - PacketGetInfo
    - PacketSetLoopbackBehavior
    - PACKET_OID_DATA_LENGTH
    - PacketSetReadTimeout
    - GetLastError
    - PacketSetMinToCopy
    - PacketSetTimestampMode
    - PacketGetMonitorMode
    - snprintf
    - pcap_cleanup_npf
    - pcapint_fmt_errmsg_for_errno
    - pcapint_fmt_errmsg_for_win32_err
    - malloc
    linkageType: ''
    returnType: int
    signature: int pcap_activate_npf(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PacketIsMonitorModeSupported
      Src: /src/libpcap/pcap-npf.c:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1383
    functionName: pcap_can_set_rfmon_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - PacketIsMonitorModeSupported
    linkageType: ''
    returnType: int
    signature: int pcap_can_set_rfmon_npf(pcap_t *p)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libpcap/pcap-npf.c:1420,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-npf.c:1422,1
    - Dst: PacketOpenAdapter
      Src: /src/libpcap/pcap-npf.c:1427,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:1430,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:1464,1
    - Dst: PacketGetTimestampModes
      Src: /src/libpcap/pcap-npf.c:1499,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:1505,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:1524,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:1533,1
    - Dst: malloc
      Src: /src/libpcap/pcap-npf.c:1548,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-npf.c:1551,1
    - Dst: PacketGetTimestampModes
      Src: /src/libpcap/pcap-npf.c:1556,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:1557,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:1558,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:1564,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:1582,1
    - Dst: malloc
      Src: /src/libpcap/pcap-npf.c:1593,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-npf.c:1595,1
    - Dst: PacketSetMode
      Src: /src/libpcap/pcap-npf.c:1651,1
    - Dst: malloc
      Src: /src/libpcap/pcap-npf.c:1652,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-npf.c:1654,1
    - Dst: pcap_close
      Src: /src/libpcap/pcap-npf.c:1656,1
    - Dst: free
      Src: /src/libpcap/pcap-npf.c:1670,1
    - Dst: free
      Src: /src/libpcap/pcap-npf.c:1673,1
    - Dst: PacketCloseAdapter
      Src: /src/libpcap/pcap-npf.c:1676,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 110
    argCount: 3
    argNames:
    - device
    - p
    - ebuf
    argTypes:
    - char*
    - pcap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1389
    functionDepth: 2
    functionLinenumber: 1389
    functionLinenumberEnd: 1680
    functionName: get_ts_support
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - PacketCloseAdapter
    - PacketOpenAdapter
    - pcapint_fmt_errmsg_for_errno
    - PacketSetMode
    - strdup
    - snprintf
    - free
    - pcapint_fmt_errmsg_for_win32_err
    - malloc
    - PacketGetTimestampModes
    - pcap_close
    linkageType: ''
    returnType: int
    signature: int get_ts_support(const char *device, pcap_t *p, char *ebuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - device
    - _U_
    - ebuf
    argTypes:
    - char*
    - pcap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1689
    functionName: get_ts_support
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ts_support(const char *device _U_, pcap_t *p _U_, char *ebuf
      _U_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-npf.c:1697,1
    - Dst: get_ts_support
      Src: /src/libpcap/pcap-npf.c:1704,1
    - Dst: pcap_close
      Src: /src/libpcap/pcap-npf.c:1705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - device
    - ebuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1692
    functionDepth: 3
    functionLinenumber: 1692
    functionLinenumberEnd: 1710
    functionName: pcapint_create_interface
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 1
    functionsReached:
    - PCAP_CREATE_COMMON
    - get_ts_support
    - pcap_close
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcapint_create_interface(const char *device _U_, char *ebuf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PacketSetBpf
      Src: /src/libpcap/pcap-npf.c:1717,1
    - Dst: pcapint_install_bpf_program
      Src: /src/libpcap/pcap-npf.c:1749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p
    - fp
    argTypes:
    - pcap_t*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1712
    functionDepth: 3
    functionLinenumber: 1712
    functionLinenumberEnd: 1768
    functionName: pcap_setfilter_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - PacketSetBpf
    - pcapint_install_bpf_program
    linkageType: ''
    returnType: int
    signature: int pcap_setfilter_npf(pcap_t *p, struct bpf_program *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-npf.c:1778,1
    - Dst: pcapint_install_bpf_program
      Src: /src/libpcap/pcap-npf.c:1783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - fp
    argTypes:
    - pcap_t*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1773
    functionDepth: 3
    functionLinenumber: 1773
    functionLinenumberEnd: 1787
    functionName: pcap_setfilter_win32_dag
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    - pcapint_install_bpf_program
    linkageType: ''
    returnType: int
    signature: int pcap_setfilter_win32_dag(pcap_t *p, struct bpf_program *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1800
    functionName: pcap_getnonblock_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_getnonblock_npf(pcap_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PacketSetReadTimeout
      Src: /src/libpcap/pcap-npf.c:1825,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:1826,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:1827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p
    - nonblock
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1802
    functionDepth: 2
    functionLinenumber: 1802
    functionLinenumberEnd: 1832
    functionName: pcap_setnonblock_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - pcapint_fmt_errmsg_for_win32_err
    - PacketSetReadTimeout
    linkageType: ''
    returnType: int
    signature: int pcap_setnonblock_npf(pcap_t *p, int nonblock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-npf.c:1848,1
    - Dst: PacketGetNetInfoEx
      Src: /src/libpcap/pcap-npf.c:1859,1
    - Dst: pcapint_add_addr_to_dev
      Src: /src/libpcap/pcap-npf.c:1880,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - devlistp
    - name
    - flags
    - description
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    - bpf_u_int32
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1834
    functionDepth: 3
    functionLinenumber: 1834
    functionLinenumberEnd: 1899
    functionName: pcap_add_if_npf
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - pcapint_add_dev
    - pcapint_add_addr_to_dev
    - PacketGetNetInfoEx
    linkageType: ''
    returnType: int
    signature: "int pcap_add_if_npf(pcap_if_list_t *devlistp, char *name, bpf_u_int32
      flags,\n    const char *description, char *errbuf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2034
    functionDepth: 0
    functionLinenumber: 2034
    functionLinenumberEnd: 2054
    functionName: switch
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DIAG_OFF_ENUM_SWITCH
    signature: DIAG_OFF_ENUM_SWITCH switch (phys_medium)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PacketGetAdapterNames
      Src: /src/libpcap/pcap-npf.c:2158,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:2160,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:2164,1
    - Dst: malloc
      Src: /src/libpcap/pcap-npf.c:2172,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:2175,1
    - Dst: PacketGetAdapterNames
      Src: /src/libpcap/pcap-npf.c:2179,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:2180,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:2181,1
    - Dst: free
      Src: /src/libpcap/pcap-npf.c:2182,1
    - Dst: PacketIsLoopbackAdapter
      Src: /src/libpcap/pcap-npf.c:2221,1
    - Dst: get_if_flags
      Src: /src/libpcap/pcap-npf.c:2229,1
    - Dst: pcap_add_if_npf
      Src: /src/libpcap/pcap-npf.c:2240,1
    - Dst: strlen
      Src: /src/libpcap/pcap-npf.c:2248,1
    - Dst: strlen
      Src: /src/libpcap/pcap-npf.c:2249,1
    - Dst: free
      Src: /src/libpcap/pcap-npf.c:2252,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - devlistp
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2131
    functionDepth: 4
    functionLinenumber: 2131
    functionLinenumberEnd: 2254
    functionName: pcapint_platform_finddevs
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 1
    functionsReached:
    - GetLastError
    - PacketIsLoopbackAdapter
    - get_if_flags
    - PacketGetAdapterNames
    - pcap_add_if_npf
    - snprintf
    - strlen
    - free
    - pcapint_fmt_errmsg_for_win32_err
    - malloc
    linkageType: ''
    returnType: int
    signature: int pcapint_platform_finddevs(pcap_if_list_t *devlistp, char *errbuf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:2283,1
    - Dst: GetVersion
      Src: /src/libpcap/pcap-npf.c:2290,1
    - Dst: LOBYTE
      Src: /src/libpcap/pcap-npf.c:2292,1
    - Dst: LOWORD
      Src: /src/libpcap/pcap-npf.c:2292,1
    - Dst: PacketGetAdapterNames
      Src: /src/libpcap/pcap-npf.c:2301,1
    - Dst: malloc
      Src: /src/libpcap/pcap-npf.c:2317,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-npf.c:2322,1
    - Dst: PacketGetAdapterNames
      Src: /src/libpcap/pcap-npf.c:2326,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/pcap-npf.c:2328,1
    - Dst: GetLastError
      Src: /src/libpcap/pcap-npf.c:2329,1
    - Dst: free
      Src: /src/libpcap/pcap-npf.c:2330,1
    - Dst: strlen
      Src: /src/libpcap/pcap-npf.c:2347,1
    - Dst: strlen
      Src: /src/libpcap/pcap-npf.c:2384,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-npf.c:2402,1
    - Dst: free
      Src: /src/libpcap/pcap-npf.c:2409,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - errbuf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2266
    functionDepth: 2
    functionLinenumber: 2266
    functionLinenumberEnd: 2412
    functionName: pcap_lookupdev
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - malloc
    - strlen
    - LOBYTE
    - memcpy
    - GetVersion
    - LOWORD
    - snprintf
    - free
    - pcapint_fmt_errmsg_for_win32_err
    - PacketGetAdapterNames
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_lookupdev(char *errbuf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PacketGetNetInfoEx
      Src: /src/libpcap/pcap-npf.c:2435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - device
    - netp
    - maskp
    - errbuf
    argTypes:
    - char*
    - bpf_u_int32*
    - bpf_u_int32*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2457
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2457
    functionName: pcap_lookupnet
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - PacketGetNetInfoEx
    linkageType: ''
    returnType: int
    signature: "int pcap_lookupnet(const char *device, bpf_u_int32 *netp, bpf_u_int32
      *maskp,\n    char *errbuf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PacketGetVersion
      Src: /src/libpcap/pcap-npf.c:2483,1
    - Dst: strcmp
      Src: /src/libpcap/pcap-npf.c:2485,1
    - Dst: pcapint_asprintf
      Src: /src/libpcap/pcap-npf.c:2502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2511
    functionName: pcap_lib_version
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - PacketGetVersion
    - strcmp
    - pcapint_asprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_lib_version(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_asprintf
      Src: /src/libpcap/pcap-npf.c:2529,1
    - Dst: PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO
      Src: /src/libpcap/pcap-npf.c:2530,1
    - Dst: PacketGetVersion
      Src: /src/libpcap/pcap-npf.c:2531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2519
    functionDepth: 1
    functionLinenumber: 2519
    functionLinenumberEnd: 2537
    functionName: pcap_lib_version
    functionSourceFile: /src/libpcap/pcap-npf.c
    functionUses: 0
    functionsReached:
    - PacketGetVersion
    - PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO
    - pcapint_asprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_lib_version(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: MAKE_DL_PRIMITIVES
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_DL_PRIMITIVES(ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getmsg
      Src: /src/libpcap/pcap-dlpi.c:201,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:212,1
    - Dst: pcap_process_pkts
      Src: /src/libpcap/pcap-dlpi.c:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - p
    - cnt
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 223
    functionName: pcap_read_dlpi
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached:
    - pcap_process_pkts
    - pcapint_fmt_errmsg_for_errno
    - getmsg
    linkageType: ''
    returnType: int
    signature: int pcap_read_dlpi(pcap_t *p, int cnt, pcap_handler callback, u_char
      *user)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libpcap/pcap-dlpi.c:234,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:236,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:242,1
    - Dst: dlrawdatareq
      Src: /src/libpcap/pcap-dlpi.c:246,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:248,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-dlpi.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - p
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 286
    functionName: pcap_inject_dlpi
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached:
    - write
    - dlrawdatareq
    - pcapint_fmt_errmsg_for_errno
    - pcapint_strlcpy
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_inject_dlpi(pcap_t *p, const void *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libpcap/pcap-dlpi.c:311,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-dlpi.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 316
    functionName: pcap_cleanup_dlpi
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached:
    - pcapint_cleanup_live_common
    - close
    linkageType: ''
    returnType: void
    signature: void pcap_cleanup_dlpi(pcap_t *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:332,1
    - Dst: strlen
      Src: /src/libpcap/pcap-dlpi.c:345,1
    - Dst: socket
      Src: /src/libpcap/pcap-dlpi.c:361,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:364,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-dlpi.c:369,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-dlpi.c:370,1
    - Dst: close
      Src: /src/libpcap/pcap-dlpi.c:382,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:389,1
    - Dst: close
      Src: /src/libpcap/pcap-dlpi.c:391,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:398,1
    - Dst: close
      Src: /src/libpcap/pcap-dlpi.c:401,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:407,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - ifname
    - error
    - errbuf
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 411
    functionName: handle_dev_dlpi_open_error
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached:
    - close
    - ioctl
    - pcapint_fmt_errmsg_for_errno
    - socket
    - pcapint_strlcpy
    - snprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: int handle_dev_dlpi_open_error(const char *ifname, int error, char
      *errbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:429,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:444,1
    - Dst: handle_nonexistent_dlpi_device
      Src: /src/libpcap/pcap-dlpi.c:456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ifname
    - device
    - error
    - errbuf
    argTypes:
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 457
    functionName: handle_dlpi_device_open_error
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached:
    - handle_nonexistent_dlpi_device
    - pcapint_fmt_errmsg_for_errno
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int handle_dlpi_device_open_error(const char *ifname, const char *device,\n
      \   int error, char *errbuf)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libpcap/pcap-dlpi.c:477,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-dlpi.c:479,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-dlpi.c:481,1
    - Dst: strchr
      Src: /src/libpcap/pcap-dlpi.c:491,1
    - Dst: PCAP_ISDIGIT
      Src: /src/libpcap/pcap-dlpi.c:497,1
    - Dst: split_dname
      Src: /src/libpcap/pcap-dlpi.c:513,1
    - Dst: open
      Src: /src/libpcap/pcap-dlpi.c:533,1
    - Dst: handle_dev_dlpi_open_error
      Src: /src/libpcap/pcap-dlpi.c:534,1
    - Dst: get_dlpi_ppa
      Src: /src/libpcap/pcap-dlpi.c:540,1
    - Dst: close
      Src: /src/libpcap/pcap-dlpi.c:542,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-dlpi.c:553,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:555,1
    - Dst: strchr
      Src: /src/libpcap/pcap-dlpi.c:566,1
    - Dst: PCAP_ISDIGIT
      Src: /src/libpcap/pcap-dlpi.c:572,1
    - Dst: split_dname
      Src: /src/libpcap/pcap-dlpi.c:588,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-dlpi.c:600,1
    - Dst: open
      Src: /src/libpcap/pcap-dlpi.c:604,1
    - Dst: handle_dlpi_device_open_error
      Src: /src/libpcap/pcap-dlpi.c:606,1
    - Dst: open
      Src: /src/libpcap/pcap-dlpi.c:616,1
    - Dst: handle_dlpi_device_open_error
      Src: /src/libpcap/pcap-dlpi.c:617,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 3
    argNames:
    - name
    - ppa
    - errbuf
    argTypes:
    - char*
    - u_int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 624
    functionName: open_dlpi_device
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached:
    - get_dlpi_ppa
    - close
    - strrchr
    - open
    - handle_dlpi_device_open_error
    - split_dname
    - strchr
    - PCAP_ISDIGIT
    - handle_dev_dlpi_open_error
    - pcapint_strlcpy
    - snprintf
    linkageType: ''
    returnType: int
    signature: int open_dlpi_device(const char *name, u_int *ppa, char *errbuf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/pcap-dlpi.c:965,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:967,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:976,1
    - Dst: pcapint_get_decuint
      Src: /src/libpcap/pcap-dlpi.c:981,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:984,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:986,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:989,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - device
    - unitp
    - ebuf
    argTypes:
    - char*
    - u_int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 999
    functionName: split_dname
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 1
    functionsReached:
    - pcapint_get_decuint
    - pcapint_fmt_errmsg_for_errno
    - snprintf
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      split_dname(char *device, u_int *unitp, char *ebuf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send_request
      Src: /src/libpcap/pcap-dlpi.c:1010,1
    - Dst: dlokack
      Src: /src/libpcap/pcap-dlpi.c:1013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - ppa
    - ebuf
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1001
    functionDepth: 1
    functionLinenumber: 1001
    functionLinenumberEnd: 1017
    functionName: dl_doattach
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached:
    - send_request
    - dlokack
    linkageType: ''
    returnType: int
    signature: int dl_doattach(int fd, int ppa, char *ebuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dlbindreq
      Src: /src/libpcap/pcap-dlpi.c:1036,1
    - Dst: dlbindack
      Src: /src/libpcap/pcap-dlpi.c:1038,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-dlpi.c:1060,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - fd
    - ebuf
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1020
    functionDepth: 1
    functionLinenumber: 1020
    functionLinenumberEnd: 1067
    functionName: dl_dohpuxbind
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached:
    - dlbindreq
    - pcapint_strlcpy
    - dlbindack
    linkageType: ''
    returnType: int
    signature: int dl_dohpuxbind(int fd, char *ebuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1071
    functionName: STRINGIFY
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: send_request
      Src: /src/libpcap/pcap-dlpi.c:1082,1
    - Dst: dlokack
      Src: /src/libpcap/pcap-dlpi.c:1085,1
    - Dst: STRINGIFY
      Src: /src/libpcap/pcap-dlpi.c:1085,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - p
    - level
    argTypes:
    - pcap_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1097
    functionName: dlpromiscon
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 1
    functionsReached:
    - STRINGIFY
    - send_request
    - snprintf
    - dlokack
    linkageType: ''
    returnType: int
    signature: int dlpromiscon(pcap_t *p, bpf_u_int32 level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1111
    functionName: show_them_all
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int show_them_all(const char *name _U_)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - flags
    - errbuf
    argTypes:
    - char*
    - bpf_u_int32*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1134
    functionName: get_if_flags
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_if_flags(const char *name _U_, bpf_u_int32 *flags _U_, char
      *errbuf _U_)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_findalldevs_interfaces
      Src: /src/libpcap/pcap-dlpi.c:1153,1
    - Dst: open
      Src: /src/libpcap/pcap-dlpi.c:1161,1
    - Dst: strioctl
      Src: /src/libpcap/pcap-dlpi.c:1173,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:1174,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1179,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-dlpi.c:1185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - devlistp
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1136
    functionDepth: 3
    functionLinenumber: 1136
    functionLinenumberEnd: 1191
    functionName: pcapint_platform_finddevs
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 1
    functionsReached:
    - strioctl
    - open
    - pcapint_add_dev
    - pcapint_fmt_errmsg_for_errno
    - snprintf
    - pcapint_findalldevs_interfaces
    linkageType: ''
    returnType: int
    signature: int pcapint_platform_finddevs(pcap_if_list_t *devlistp, char *errbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: putmsg
      Src: /src/libpcap/pcap-dlpi.c:1204,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:1205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - fd
    - ptr
    - len
    - what
    - ebuf
    argTypes:
    - int
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1193
    functionDepth: 2
    functionLinenumber: 1193
    functionLinenumberEnd: 1210
    functionName: send_request
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 2
    functionsReached:
    - putmsg
    - pcapint_fmt_errmsg_for_errno
    linkageType: ''
    returnType: int
    signature: int send_request(int fd, char *ptr, int len, char *what, char *ebuf)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getmsg
      Src: /src/libpcap/pcap-dlpi.c:1233,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:1234,1
    - Dst: MAKE_DL_PRIMITIVES
      Src: /src/libpcap/pcap-dlpi.c:1239,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:1257,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1269,1
    - Dst: dlstrerror
      Src: /src/libpcap/pcap-dlpi.c:1271,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1281,1
    - Dst: dlprim
      Src: /src/libpcap/pcap-dlpi.c:1283,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1288,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 6
    argNames:
    - fd
    - size
    - what
    - bufp
    - ebuf
    - uerror
    argTypes:
    - int
    - int
    - char*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1294
    functionName: recv_ack
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached:
    - dlstrerror
    - dlprim
    - getmsg
    - pcapint_fmt_errmsg_for_errno
    - MAKE_DL_PRIMITIVES
    - snprintf
    linkageType: ''
    returnType: int
    signature: int recv_ack(int fd, int size, const char *what, char *bufp, char *ebuf,
      int *uerror)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 63
    argCount: 3
    argNames:
    - errbuf
    - errbufsize
    - dl_errno
    argTypes:
    - char*
    - size_t
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1402
    functionName: dlstrerror
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      dlstrerror(char *errbuf, size_t errbufsize, bpf_u_int32 dl_errno)'
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 60
    argCount: 3
    argNames:
    - primbuf
    - primbufsize
    - prim
    argTypes:
    - char*
    - size_t
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1495
    functionName: dlprim
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      dlprim(char *primbuf, size_t primbufsize, bpf_u_int32 prim)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-dlpi.c:1503,1
    - Dst: send_request
      Src: /src/libpcap/pcap-dlpi.c:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - sap
    - ebuf
    argTypes:
    - int
    - bpf_u_int32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1497
    functionDepth: 3
    functionLinenumber: 1497
    functionLinenumberEnd: 1515
    functionName: dlbindreq
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 1
    functionsReached:
    - memset
    - send_request
    linkageType: ''
    returnType: int
    signature: int dlbindreq(int fd, bpf_u_int32 sap, char *ebuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recv_ack
      Src: /src/libpcap/pcap-dlpi.c:1521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fd
    - bufp
    - ebuf
    - uerror
    argTypes:
    - int
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1522
    functionName: dlbindack
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 1
    functionsReached:
    - recv_ack
    linkageType: ''
    returnType: int
    signature: int dlbindack(int fd, char *bufp, char *ebuf, int *uerror)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recv_ack
      Src: /src/libpcap/pcap-dlpi.c:1528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - fd
    - what
    - bufp
    - ebuf
    - uerror
    argTypes:
    - int
    - char*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1524
    functionDepth: 3
    functionLinenumber: 1524
    functionLinenumberEnd: 1529
    functionName: dlokack
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 2
    functionsReached:
    - recv_ack
    linkageType: ''
    returnType: int
    signature: int dlokack(int fd, const char *what, char *bufp, char *ebuf, int *uerror)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_request
      Src: /src/libpcap/pcap-dlpi.c:1539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - ebuf
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1532
    functionDepth: 3
    functionLinenumber: 1532
    functionLinenumberEnd: 1540
    functionName: dlinforeq
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached:
    - send_request
    linkageType: ''
    returnType: int
    signature: int dlinforeq(int fd, char *ebuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recv_ack
      Src: /src/libpcap/pcap-dlpi.c:1546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - bufp
    - ebuf
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1547
    functionName: dlinfoack
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached:
    - recv_ack
    linkageType: ''
    returnType: int
    signature: int dlinfoack(int fd, char *bufp, char *ebuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_request
      Src: /src/libpcap/pcap-dlpi.c:1562,1
    - Dst: dlokack
      Src: /src/libpcap/pcap-dlpi.c:1563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - ebuf
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1554
    functionDepth: 4
    functionLinenumber: 1554
    functionLinenumberEnd: 1564
    functionName: dlpassive
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached:
    - send_request
    - dlokack
    linkageType: ''
    returnType: void
    signature: void dlpassive(int fd, char *ebuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAKE_DL_PRIMITIVES
      Src: /src/libpcap/pcap-dlpi.c:1579,1
    - Dst: putmsg
      Src: /src/libpcap/pcap-dlpi.c:1599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - datap
    - datalen
    argTypes:
    - int
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1571
    functionDepth: 1
    functionLinenumber: 1571
    functionLinenumberEnd: 1600
    functionName: dlrawdatareq
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 1
    functionsReached:
    - putmsg
    - MAKE_DL_PRIMITIVES
    linkageType: ''
    returnType: int
    signature: int dlrawdatareq(int fd, const u_char *datap, int datalen)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-dlpi.c:1660,1
    - Dst: memset
      Src: /src/libpcap/pcap-dlpi.c:1663,1
    - Dst: send_request
      Src: /src/libpcap/pcap-dlpi.c:1664,1
    - Dst: getmsg
      Src: /src/libpcap/pcap-dlpi.c:1685,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:1686,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1691,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1698,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1705,1
    - Dst: malloc
      Src: /src/libpcap/pcap-dlpi.c:1712,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:1713,1
    - Dst: getmsg
      Src: /src/libpcap/pcap-dlpi.c:1721,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:1722,1
    - Dst: free
      Src: /src/libpcap/pcap-dlpi.c:1724,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1728,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1733,1
    - Dst: free
      Src: /src/libpcap/pcap-dlpi.c:1736,1
    - Dst: strcmp
      Src: /src/libpcap/pcap-dlpi.c:1759,1
    - Dst: strcmp
      Src: /src/libpcap/pcap-dlpi.c:1760,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1790,1
    - Dst: stat
      Src: /src/libpcap/pcap-dlpi.c:1791,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-dlpi.c:1792,1
    - Dst: major
      Src: /src/libpcap/pcap-dlpi.c:1796,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1809,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dlpi.c:1814,1
    - Dst: free
      Src: /src/libpcap/pcap-dlpi.c:1816,1
    - Dst: free
      Src: /src/libpcap/pcap-dlpi.c:1820,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 83
    argCount: 5
    argNames:
    - fd
    - device
    - unit
    - ppa
    - ebuf
    argTypes:
    - int
    - char*
    - u_int
    - u_int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1643
    functionDepth: 3
    functionLinenumber: 1643
    functionLinenumberEnd: 1822
    functionName: get_dlpi_ppa
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 1
    functionsReached:
    - getmsg
    - major
    - pcapint_fmt_errmsg_for_errno
    - send_request
    - strcmp
    - stat
    - snprintf
    - free
    - memset
    - malloc
    linkageType: ''
    returnType: int
    signature: "int get_dlpi_ppa(int fd, const char *device, u_int unit,\n    u_int
      *ppa, char *ebuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-dlpi.c:1833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - device
    - ebuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1825
    functionDepth: 1
    functionLinenumber: 1825
    functionLinenumberEnd: 1844
    functionName: pcapint_create_interface
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 1
    functionsReached:
    - PCAP_CREATE_COMMON
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcapint_create_interface(const char *device _U_, char *ebuf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1853
    functionName: pcap_lib_version
    functionSourceFile: /src/libpcap/pcap-dlpi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_lib_version(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: sock_initfuzz
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sock_initfuzz(const uint8_t *Data, size_t Size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpcap/sockutils.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bufp
    - remaining
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: fuzz_recv
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int fuzz_recv(char *bufp, int remaining)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLastError
      Src: /src/libpcap/sockutils.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: sock_geterrcode
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 0
    functionsReached:
    - GetLastError
    linkageType: ''
    returnType: int
    signature: int sock_geterrcode(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_vfmt_errmsg_for_win32_err
      Src: /src/libpcap/sockutils.c:162,1
    - Dst: pcapint_vfmt_errmsg_for_errno
      Src: /src/libpcap/sockutils.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - errbuf
    - errbuflen
    - errcode
    - fmt
    - ap
    argTypes:
    - char*
    - size_t
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: sock_vfmterrmsg
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 0
    functionsReached:
    - pcapint_vfmt_errmsg_for_win32_err
    - pcapint_vfmt_errmsg_for_errno
    linkageType: ''
    returnType: void
    signature: "void sock_vfmterrmsg(char *errbuf, size_t errbuflen, int errcode,\n
      \   const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libpcap/sockutils.c:175,1
    - Dst: sock_vfmterrmsg
      Src: /src/libpcap/sockutils.c:176,1
    - Dst: va_end
      Src: /src/libpcap/sockutils.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - errbuf
    - errbuflen
    - errcode
    - fmt
    argTypes:
    - char*
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 4
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: sock_fmterrmsg
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - sock_vfmterrmsg
    linkageType: ''
    returnType: void
    signature: "void sock_fmterrmsg(char *errbuf, size_t errbuflen, int errcode,\n
      \   const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libpcap/sockutils.c:187,1
    - Dst: sock_vfmterrmsg
      Src: /src/libpcap/sockutils.c:188,1
    - Dst: sock_geterrcode
      Src: /src/libpcap/sockutils.c:188,1
    - Dst: va_end
      Src: /src/libpcap/sockutils.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - errbuf
    - errbuflen
    - fmt
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: sock_geterrmsg
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 4
    functionsReached:
    - va_start
    - sock_geterrcode
    - va_end
    - sock_vfmterrmsg
    linkageType: ''
    returnType: void
    signature: void sock_geterrmsg(char *errbuf, size_t errbuflen, const char *fmt,
      ...)
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - errcode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 300
    functionName: sock_geterrtype
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: sock_errtype
    signature: sock_errtype sock_geterrtype(int errcode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/libpcap/sockutils.c:326,1
    - Dst: MAKEWORD
      Src: /src/libpcap/sockutils.c:326,1
    - Dst: sock_fmterrmsg
      Src: /src/libpcap/sockutils.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - errbuf
    - errbuflen
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 338
    functionName: sock_init
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 2
    functionsReached:
    - MAKEWORD
    - WSAStartup
    - sock_fmterrmsg
    linkageType: ''
    returnType: int
    signature: int sock_init(char *errbuf, int errbuflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - errbuf
    - errbuflen
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: sock_init
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sock_init(char *errbuf _U_, int errbuflen _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/libpcap/sockutils.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: sock_cleanup
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 4
    functionsReached:
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: void sock_cleanup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IN_MULTICAST
      Src: /src/libpcap/sockutils.c:374,1
    - Dst: ntohl
      Src: /src/libpcap/sockutils.c:374,1
    - Dst: IN6_IS_ADDR_MULTICAST
      Src: /src/libpcap/sockutils.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - saddr
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 383
    functionName: sock_ismcastaddr
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 0
    functionsReached:
    - ntohl
    - IN6_IS_ADDR_MULTICAST
    - IN_MULTICAST
    linkageType: ''
    returnType: int
    signature: int sock_ismcastaddr(const struct sockaddr *saddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: compare_addrs_to_try_by_address_family
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_addrs_to_try_by_address_family(const void *a, const void
      *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 421
    functionName: compare_addrs_to_try_by_status
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_addrs_to_try_by_status(const void *a, const void *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpcap/sockutils.c:431,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/sockutils.c:435,1
    - Dst: setsockopt
      Src: /src/libpcap/sockutils.c:446,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/sockutils.c:449,1
    - Dst: closesocket
      Src: /src/libpcap/sockutils.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - addrinfo
    - errbuf
    - errbuflen
    argTypes:
    - struct addrinfo*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 423
    functionDepth: 5
    functionLinenumber: 423
    functionLinenumberEnd: 456
    functionName: sock_create_socket
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 0
    functionsReached:
    - sock_geterrmsg
    - socket
    - closesocket
    - setsockopt
    linkageType: ''
    returnType: PCAP_SOCKET
    signature: "PCAP_SOCKET sock_create_socket(struct addrinfo *addrinfo, char *errbuf,\n
      \   int errbuflen)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: sock_create_socket
      Src: /src/libpcap/sockutils.c:505,1
    - Dst: setsockopt
      Src: /src/libpcap/sockutils.c:518,1
    - Dst: setsockopt
      Src: /src/libpcap/sockutils.c:557,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:561,1
    - Dst: closesocket
      Src: /src/libpcap/sockutils.c:562,1
    - Dst: bind
      Src: /src/libpcap/sockutils.c:569,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/sockutils.c:571,1
    - Dst: closesocket
      Src: /src/libpcap/sockutils.c:572,1
    - Dst: listen
      Src: /src/libpcap/sockutils.c:577,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/sockutils.c:579,1
    - Dst: closesocket
      Src: /src/libpcap/sockutils.c:581,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:613,1
    - Dst: calloc
      Src: /src/libpcap/sockutils.c:621,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:624,1
    - Dst: qsort
      Src: /src/libpcap/sockutils.c:645,1
    - Dst: closesocket
      Src: /src/libpcap/sockutils.c:667,1
    - Dst: sock_create_socket
      Src: /src/libpcap/sockutils.c:677,1
    - Dst: free
      Src: /src/libpcap/sockutils.c:681,1
    - Dst: connect
      Src: /src/libpcap/sockutils.c:685,1
    - Dst: sock_geterrcode
      Src: /src/libpcap/sockutils.c:687,1
    - Dst: sock_geterrtype
      Src: /src/libpcap/sockutils.c:689,1
    - Dst: closesocket
      Src: /src/libpcap/sockutils.c:706,1
    - Dst: qsort
      Src: /src/libpcap/sockutils.c:713,1
    - Dst: sock_fmterrmsg
      Src: /src/libpcap/sockutils.c:741,1
    - Dst: sock_fmterrmsg
      Src: /src/libpcap/sockutils.c:746,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:759,1
    - Dst: strlen
      Src: /src/libpcap/sockutils.c:762,1
    - Dst: sock_getascii_addrport
      Src: /src/libpcap/sockutils.c:774,1
    - Dst: strlen
      Src: /src/libpcap/sockutils.c:777,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:794,1
    - Dst: sock_fmterrmsg
      Src: /src/libpcap/sockutils.c:811,1
    - Dst: strlen
      Src: /src/libpcap/sockutils.c:815,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:825,1
    - Dst: strlen
      Src: /src/libpcap/sockutils.c:830,1
    - Dst: free
      Src: /src/libpcap/sockutils.c:835,1
    - Dst: free
      Src: /src/libpcap/sockutils.c:840,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 120
    argCount: 6
    argNames:
    - host
    - addrinfo
    - server
    - nconn
    - errbuf
    - errbuflen
    argTypes:
    - char*
    - struct addrinfo*
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 492
    functionDepth: 6
    functionLinenumber: 492
    functionLinenumberEnd: 844
    functionName: sock_open
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 3
    functionsReached:
    - calloc
    - listen
    - qsort
    - strlen
    - sock_geterrtype
    - bind
    - sock_getascii_addrport
    - connect
    - closesocket
    - snprintf
    - sock_create_socket
    - free
    - sock_fmterrmsg
    - sock_geterrmsg
    - sock_geterrcode
    - setsockopt
    linkageType: ''
    returnType: PCAP_SOCKET
    signature: "PCAP_SOCKET sock_open(const char *host, struct addrinfo *addrinfo,\n
      \   int server, int nconn, char *errbuf, int errbuflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/libpcap/sockutils.c:871,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/sockutils.c:873,1
    - Dst: closesocket
      Src: /src/libpcap/sockutils.c:875,1
    - Dst: closesocket
      Src: /src/libpcap/sockutils.c:879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - sock
    - errbuf
    - errbuflen
    argTypes:
    - PCAP_SOCKET
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 864
    functionDepth: 5
    functionLinenumber: 864
    functionLinenumberEnd: 881
    functionName: sock_close
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 7
    functionsReached:
    - shutdown
    - sock_geterrmsg
    - closesocket
    linkageType: ''
    returnType: int
    signature: int sock_close(PCAP_SOCKET sock, char *errbuf, int errbuflen)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:905,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:908,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:911,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:914,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:919,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:926,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:932,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:938,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:944,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:950,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:967,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:974,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:980,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:986,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sockutils.c:996,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:1004,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:1012,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:1020,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:1027,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 6
    argNames:
    - errbuf
    - errbuflen
    - prefix
    - err
    - hostname
    - portname
    argTypes:
    - char*
    - int
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 1032
    functionName: get_gai_errstring
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void get_gai_errstring(char *errbuf, int errbuflen, const char *prefix,
      int err,\n    const char *hostname, const char *portname)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getaddrinfo
      Src: /src/libpcap/sockutils.c:1087,1
    - Dst: getaddrinfo
      Src: /src/libpcap/sockutils.c:1104,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/sockutils.c:1114,1
    - Dst: get_gai_errstring
      Src: /src/libpcap/sockutils.c:1115,1
    - Dst: get_gai_errstring
      Src: /src/libpcap/sockutils.c:1125,1
    - Dst: get_gai_errstring
      Src: /src/libpcap/sockutils.c:1134,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:1157,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/sockutils.c:1158,1
    - Dst: sock_ismcastaddr
      Src: /src/libpcap/sockutils.c:1166,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:1169,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/sockutils.c:1170,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - host
    - port
    - hints
    - errbuf
    - errbuflen
    argTypes:
    - char*
    - char*
    - struct addrinfo*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1072
    functionDepth: 3
    functionLinenumber: 1072
    functionLinenumberEnd: 1175
    functionName: sock_initaddress
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 5
    functionsReached:
    - sock_ismcastaddr
    - getaddrinfo
    - snprintf
    - freeaddrinfo
    - get_gai_errstring
    linkageType: ''
    returnType: struct addrinfo
    signature: "struct addrinfo *sock_initaddress(const char *host, const char *port,\n
      \   struct addrinfo *hints, char *errbuf, int errbuflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:1214,1
    - Dst: ssl_send
      Src: /src/libpcap/sockutils.c:1224,1
    - Dst: send
      Src: /src/libpcap/sockutils.c:1237,1
    - Dst: send
      Src: /src/libpcap/sockutils.c:1239,1
    - Dst: GetLastError
      Src: /src/libpcap/sockutils.c:1253,1
    - Dst: sock_fmterrmsg
      Src: /src/libpcap/sockutils.c:1265,1
    - Dst: sock_fmterrmsg
      Src: /src/libpcap/sockutils.c:1278,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 6
    argNames:
    - sock
    - _U_NOSSL_
    - buffer
    - size
    - errbuf
    - errbuflen
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - char*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1204
    functionDepth: 5
    functionLinenumber: 1204
    functionLinenumberEnd: 1289
    functionName: sock_send
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 10
    functionsReached:
    - GetLastError
    - ssl_send
    - sock_fmterrmsg
    - snprintf
    - send
    linkageType: ''
    returnType: int
    signature: "int sock_send(PCAP_SOCKET sock, SSL *ssl _U_NOSSL_, const char *buffer,\n
      \   size_t size, char *errbuf, int errbuflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:1350,1
    - Dst: memcpy
      Src: /src/libpcap/sockutils.c:1355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 8
    argNames:
    - data
    - size
    - outbuf
    - offset
    - totsize
    - checkonly
    - errbuf
    - errbuflen
    argTypes:
    - void*
    - int
    - char*
    - int*
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1360
    functionName: sock_bufferize
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 7
    functionsReached:
    - memcpy
    - snprintf
    linkageType: ''
    returnType: int
    signature: int sock_bufferize(const void *data, int size, char *outbuf, int *offset,
      int totsize, int checkonly, char *errbuf, int errbuflen)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:1424,1
    - Dst: fuzz_recv
      Src: /src/libpcap/sockutils.c:1443,1
    - Dst: ssl_recv
      Src: /src/libpcap/sockutils.c:1450,1
    - Dst: recv
      Src: /src/libpcap/sockutils.c:1454,1
    - Dst: recv
      Src: /src/libpcap/sockutils.c:1456,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/sockutils.c:1465,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:1481,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 7
    argNames:
    - sock
    - _U_NOSSL_
    - buffer
    - size
    - flags
    - errbuf
    - errbuflen
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - void*
    - size_t
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1408
    functionDepth: 5
    functionLinenumber: 1408
    functionLinenumberEnd: 1508
    functionName: sock_recv
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 4
    functionsReached:
    - recv
    - ssl_recv
    - snprintf
    - sock_geterrmsg
    - fuzz_recv
    linkageType: ''
    returnType: int
    signature: "int sock_recv(PCAP_SOCKET sock, SSL *ssl _U_NOSSL_, void *buffer,
      size_t size,\n    int flags, char *errbuf, int errbuflen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:1532,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:1543,1
    - Dst: recv
      Src: /src/libpcap/sockutils.c:1554,1
    - Dst: sock_fmterrmsg
      Src: /src/libpcap/sockutils.c:1570,1
    - Dst: sock_geterrcode
      Src: /src/libpcap/sockutils.c:1570,1
    - Dst: fuzz_recv
      Src: /src/libpcap/sockutils.c:1600,1
    - Dst: recvmsg
      Src: /src/libpcap/sockutils.c:1602,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/sockutils.c:1608,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:1625,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 6
    argNames:
    - sock
    - _U_NOSSL_
    - buffer
    - size
    - errbuf
    - errbuflen
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1515
    functionDepth: 5
    functionLinenumber: 1515
    functionLinenumberEnd: 1636
    functionName: sock_recv_dgram
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 1
    functionsReached:
    - recv
    - recvmsg
    - sock_fmterrmsg
    - snprintf
    - sock_geterrmsg
    - sock_geterrcode
    - fuzz_recv
    linkageType: ''
    returnType: int
    signature: "int sock_recv_dgram(PCAP_SOCKET sock, SSL *ssl _U_NOSSL_, void *buffer,\n
      \   size_t size, char *errbuf, int errbuflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sock_recv
      Src: /src/libpcap/sockutils.c:1680,1
    - Dst: sock_recv
      Src: /src/libpcap/sockutils.c:1692,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - sock
    - ssl
    - size
    - errbuf
    - errbuflen
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1663
    functionDepth: 6
    functionLinenumber: 1663
    functionLinenumberEnd: 1697
    functionName: sock_discard
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 1
    functionsReached:
    - sock_recv
    linkageType: ''
    returnType: int
    signature: "int sock_discard(PCAP_SOCKET sock, SSL *ssl, int size, char *errbuf,\n
      \   int errbuflen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libpcap/sockutils.c:1742,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/sockutils.c:1745,1
    - Dst: pcapint_strtok_r
      Src: /src/libpcap/sockutils.c:1750,1
    - Dst: memset
      Src: /src/libpcap/sockutils.c:1761,1
    - Dst: getaddrinfo
      Src: /src/libpcap/sockutils.c:1765,1
    - Dst: get_gai_errstring
      Src: /src/libpcap/sockutils.c:1769,1
    - Dst: pcapint_strtok_r
      Src: /src/libpcap/sockutils.c:1780,1
    - Dst: sock_cmpaddr
      Src: /src/libpcap/sockutils.c:1788,1
    - Dst: free
      Src: /src/libpcap/sockutils.c:1790,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/sockutils.c:1791,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/sockutils.c:1802,1
    - Dst: pcapint_strtok_r
      Src: /src/libpcap/sockutils.c:1806,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/sockutils.c:1811,1
    - Dst: free
      Src: /src/libpcap/sockutils.c:1815,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:1831,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 5
    argNames:
    - hostlist
    - sep
    - from
    - errbuf
    - errbuflen
    argTypes:
    - char*
    - char*
    - struct sockaddr_storage*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1727
    functionDepth: 5
    functionLinenumber: 1727
    functionLinenumberEnd: 1838
    functionName: sock_check_hostlist
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 1
    functionsReached:
    - sock_cmpaddr
    - pcapint_strtok_r
    - getaddrinfo
    - get_gai_errstring
    - strdup
    - snprintf
    - freeaddrinfo
    - free
    - memset
    - sock_geterrmsg
    linkageType: ''
    returnType: int
    signature: int sock_check_hostlist(const char *hostlist, const char *sep, struct
      sockaddr_storage *from, char *errbuf, int errbuflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libpcap/sockutils.c:1864,1
    - Dst: memcmp
      Src: /src/libpcap/sockutils.c:1871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1879
    functionName: sock_cmpaddr
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 4
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int sock_cmpaddr(struct sockaddr_storage *first, struct sockaddr_storage
      *second)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/libpcap/sockutils.c:1931,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/sockutils.c:1933,1
    - Dst: sock_getascii_addrport
      Src: /src/libpcap/sockutils.c:1938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - sock
    - address
    - addrlen
    - port
    - portlen
    - flags
    - errbuf
    - errbuflen
    argTypes:
    - PCAP_SOCKET
    - char*
    - int
    - char*
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1922
    functionDepth: 5
    functionLinenumber: 1922
    functionLinenumberEnd: 1939
    functionName: sock_getmyinfo
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 0
    functionsReached:
    - sock_getascii_addrport
    - sock_geterrmsg
    - getsockname
    linkageType: ''
    returnType: int
    signature: "int sock_getmyinfo(PCAP_SOCKET sock, char *address, int addrlen, char
      *port,\n    int portlen, int flags, char *errbuf, int errbuflen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libpcap/sockutils.c:2008,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/sockutils.c:2011,1
    - Dst: getnameinfo
      Src: /src/libpcap/sockutils.c:2016,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/sockutils.c:2021,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/sockutils.c:2028,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/sockutils.c:2034,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 8
    argNames:
    - sockaddr
    - address
    - addrlen
    - port
    - portlen
    - flags
    - errbuf
    - errbuflen
    argTypes:
    - struct sockaddr_storage*
    - char*
    - int
    - char*
    - int
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 1989
    functionDepth: 5
    functionLinenumber: 1989
    functionLinenumberEnd: 2042
    functionName: sock_getascii_addrport
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 3
    functionsReached:
    - sock_geterrmsg
    - pcapint_strlcpy
    - memcmp
    - getnameinfo
    linkageType: ''
    returnType: int
    signature: int sock_getascii_addrport(const struct sockaddr_storage *sockaddr,
      char *address, int addrlen, char *port, int portlen, int flags, char *errbuf,
      size_t errbuflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/sockutils.c:2085,1
    - Dst: sock_initaddress
      Src: /src/libpcap/sockutils.c:2089,1
    - Dst: memcpy
      Src: /src/libpcap/sockutils.c:2095,1
    - Dst: memcpy
      Src: /src/libpcap/sockutils.c:2097,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/sockutils.c:2101,1
    - Dst: snprintf
      Src: /src/libpcap/sockutils.c:2104,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/sockutils.c:2108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - address
    - sockaddr
    - addr_family
    - errbuf
    - errbuflen
    argTypes:
    - char*
    - struct sockaddr_storage*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2080
    functionDepth: 4
    functionLinenumber: 2080
    functionLinenumberEnd: 2110
    functionName: sock_present2network
    functionSourceFile: /src/libpcap/sockutils.c
    functionUses: 0
    functionsReached:
    - memcpy
    - snprintf
    - freeaddrinfo
    - sock_initaddress
    - memset
    linkageType: ''
    returnType: int
    signature: int sock_present2network(const char *address, struct sockaddr_storage
      *sockaddr, int addr_family, char *errbuf, int errbuflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - certfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: ssl_set_certfile
    functionSourceFile: /src/libpcap/sslutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ssl_set_certfile(const char *certfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - keyfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: ssl_set_keyfile
    functionSourceFile: /src/libpcap/sslutils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ssl_set_keyfile(const char *keyfile)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_library_init
      Src: /src/libpcap/sslutils.c:65,1
    - Dst: SSL_load_error_strings
      Src: /src/libpcap/sslutils.c:66,1
    - Dst: OpenSSL_add_ssl_algorithms
      Src: /src/libpcap/sslutils.c:67,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/libpcap/sslutils.c:69,1
    - Dst: SSLv23_server_method
      Src: /src/libpcap/sslutils.c:72,1
    - Dst: SSLv23_client_method
      Src: /src/libpcap/sslutils.c:72,1
    - Dst: SSL_CTX_new
      Src: /src/libpcap/sslutils.c:73,1
    - Dst: snprintf
      Src: /src/libpcap/sslutils.c:76,1
    - Dst: ERR_error_string
      Src: /src/libpcap/sslutils.c:76,1
    - Dst: ERR_get_error
      Src: /src/libpcap/sslutils.c:76,1
    - Dst: SSL_CTX_set_mode
      Src: /src/libpcap/sslutils.c:80,1
    - Dst: SSL_CTX_use_certificate_file
      Src: /src/libpcap/sslutils.c:85,1
    - Dst: snprintf
      Src: /src/libpcap/sslutils.c:87,1
    - Dst: ERR_error_string
      Src: /src/libpcap/sslutils.c:87,1
    - Dst: ERR_get_error
      Src: /src/libpcap/sslutils.c:87,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/libpcap/sslutils.c:92,1
    - Dst: snprintf
      Src: /src/libpcap/sslutils.c:94,1
    - Dst: ERR_error_string
      Src: /src/libpcap/sslutils.c:94,1
    - Dst: ERR_get_error
      Src: /src/libpcap/sslutils.c:94,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/libpcap/sslutils.c:102,1
    - Dst: snprintf
      Src: /src/libpcap/sslutils.c:104,1
    - Dst: SSL_CTX_set_verify
      Src: /src/libpcap/sslutils.c:110,1
    - Dst: RAND_load_file
      Src: /src/libpcap/sslutils.c:115,1
    - Dst: snprintf
      Src: /src/libpcap/sslutils.c:117,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/libpcap/sslutils.c:123,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 4
    argNames:
    - is_server
    - enable_compression
    - errbuf
    - errbuflen
    argTypes:
    - int
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 132
    functionName: ssl_init_once
    functionSourceFile: /src/libpcap/sslutils.c
    functionUses: 0
    functionsReached:
    - SSLv23_client_method
    - SSL_COMP_get_compression_methods
    - SSL_load_error_strings
    - SSL_CTX_new
    - SSL_CTX_use_PrivateKey_file
    - ERR_get_error
    - SSL_CTX_load_verify_locations
    - SSL_library_init
    - RAND_load_file
    - OpenSSL_add_ssl_algorithms
    - ERR_error_string
    - SSL_CTX_set_mode
    - SSL_CTX_set_session_id_context
    - snprintf
    - SSL_CTX_use_certificate_file
    - SSL_CTX_set_verify
    - SSLv23_server_method
    linkageType: ''
    returnType: int
    signature: int ssl_init_once(int is_server, int enable_compression, char *errbuf,
      size_t errbuflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ssl_init_once
      Src: /src/libpcap/sslutils.c:136,1
    - Dst: SSL_new
      Src: /src/libpcap/sslutils.c:140,1
    - Dst: SSL_set_fd
      Src: /src/libpcap/sslutils.c:141,1
    - Dst: SSL_accept
      Src: /src/libpcap/sslutils.c:144,1
    - Dst: snprintf
      Src: /src/libpcap/sslutils.c:145,1
    - Dst: ERR_error_string
      Src: /src/libpcap/sslutils.c:146,1
    - Dst: ERR_get_error
      Src: /src/libpcap/sslutils.c:146,1
    - Dst: SSL_connect
      Src: /src/libpcap/sslutils.c:150,1
    - Dst: snprintf
      Src: /src/libpcap/sslutils.c:151,1
    - Dst: ERR_error_string
      Src: /src/libpcap/sslutils.c:152,1
    - Dst: ERR_get_error
      Src: /src/libpcap/sslutils.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - is_server
    - s
    - errbuf
    - errbuflen
    argTypes:
    - int
    - PCAP_SOCKET
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 158
    functionName: ssl_promotion
    functionSourceFile: /src/libpcap/sslutils.c
    functionUses: 3
    functionsReached:
    - SSL_set_fd
    - ERR_get_error
    - ERR_error_string
    - SSL_new
    - SSL_connect
    - snprintf
    - ssl_init_once
    - SSL_accept
    linkageType: ''
    returnType: SSL
    signature: SSL *ssl_promotion(int is_server, PCAP_SOCKET s, char *errbuf, size_t
      errbuflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_shutdown
      Src: /src/libpcap/sslutils.c:175,1
    - Dst: SSL_free
      Src: /src/libpcap/sslutils.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 177
    functionName: ssl_finish
    functionSourceFile: /src/libpcap/sslutils.c
    functionUses: 8
    functionsReached:
    - SSL_free
    - SSL_shutdown
    linkageType: ''
    returnType: void
    signature: void ssl_finish(SSL *ssl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_write
      Src: /src/libpcap/sslutils.c:183,1
    - Dst: SSL_get_error
      Src: /src/libpcap/sslutils.c:191,1
    - Dst: snprintf
      Src: /src/libpcap/sslutils.c:202,1
    - Dst: ERR_error_string
      Src: /src/libpcap/sslutils.c:203,1
    - Dst: ERR_get_error
      Src: /src/libpcap/sslutils.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - ssl
    - buffer
    - size
    - errbuf
    - errbuflen
    argTypes:
    - SSL*
    - char*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 206
    functionName: ssl_send
    functionSourceFile: /src/libpcap/sslutils.c
    functionUses: 1
    functionsReached:
    - SSL_get_error
    - ERR_get_error
    - ERR_error_string
    - snprintf
    - SSL_write
    linkageType: ''
    returnType: int
    signature: int ssl_send(SSL *ssl, char const *buffer, int size, char *errbuf,
      size_t errbuflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_read
      Src: /src/libpcap/sslutils.c:211,1
    - Dst: SSL_get_error
      Src: /src/libpcap/sslutils.c:214,1
    - Dst: snprintf
      Src: /src/libpcap/sslutils.c:226,1
    - Dst: ERR_error_string
      Src: /src/libpcap/sslutils.c:227,1
    - Dst: ERR_get_error
      Src: /src/libpcap/sslutils.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - ssl
    - buffer
    - size
    - errbuf
    - errbuflen
    argTypes:
    - SSL*
    - char*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 235
    functionName: ssl_recv
    functionSourceFile: /src/libpcap/sslutils.c
    functionUses: 1
    functionsReached:
    - SSL_get_error
    - SSL_read
    - ERR_get_error
    - ERR_error_string
    - snprintf
    linkageType: ''
    returnType: int
    signature: int ssl_recv(SSL *ssl, char *buffer, int size, char *errbuf, size_t
      errbuflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_getnonblock_fd
      Src: /src/libpcap/pcap-bpf.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: pcap_getnonblock_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - pcapint_getnonblock_fd
    linkageType: ''
    returnType: int
    signature: int pcap_getnonblock_bpf(pcap_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_setnonblock_fd
      Src: /src/libpcap/pcap-bpf.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - nonblock
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 286
    functionName: pcap_setnonblock_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - pcapint_setnonblock_fd
    linkageType: ''
    returnType: int
    signature: int pcap_setnonblock_bpf(pcap_t *p, int nonblock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_acq_int
      Src: /src/libpcap/pcap-bpf.c:307,1
    - Dst: atomic_load_acq_int
      Src: /src/libpcap/pcap-bpf.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - p
    - cc
    argTypes:
    - pcap_t*
    - u_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 327
    functionName: pcap_next_zbuf_shm
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - atomic_load_acq_int
    linkageType: ''
    returnType: int
    signature: int pcap_next_zbuf_shm(pcap_t *p, u_int *cc)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pcap_next_zbuf_shm
      Src: /src/libpcap/pcap-bpf.c:352,1
    - Dst: clock_gettime
      Src: /src/libpcap/pcap-bpf.c:365,1
    - Dst: TSTOMILLI
      Src: /src/libpcap/pcap-bpf.c:367,1
    - Dst: TSTOMILLI
      Src: /src/libpcap/pcap-bpf.c:368,1
    - Dst: pcap_next_zbuf_shm
      Src: /src/libpcap/pcap-bpf.c:372,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:375,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:376,1
    - Dst: pcap_next_zbuf_shm
      Src: /src/libpcap/pcap-bpf.c:380,1
    - Dst: FD_ZERO
      Src: /src/libpcap/pcap-bpf.c:389,1
    - Dst: FD_SET
      Src: /src/libpcap/pcap-bpf.c:390,1
    - Dst: select
      Src: /src/libpcap/pcap-bpf.c:395,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:404,1
    - Dst: pcap_next_zbuf_shm
      Src: /src/libpcap/pcap-bpf.c:415,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:422,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:423,1
    - Dst: pcap_next_zbuf_shm
      Src: /src/libpcap/pcap-bpf.c:427,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - p
    - cc
    argTypes:
    - pcap_t*
    - u_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 428
    functionName: pcap_next_zbuf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - pcap_next_zbuf_shm
    - ioctl
    - TSTOMILLI
    - select
    - pcapint_fmt_errmsg_for_errno
    - clock_gettime
    - FD_SET
    - FD_ZERO
    linkageType: ''
    returnType: int
    signature: int pcap_next_zbuf(pcap_t *p, u_int *cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ts
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: TSTOMILLI
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSTOMILLI(ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_rel_int
      Src: /src/libpcap/pcap-bpf.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 444
    functionName: pcap_ack_zbuf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - atomic_store_rel_int
    linkageType: ''
    returnType: int
    signature: int pcap_ack_zbuf(pcap_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-bpf.c:452,1
    - Dst: malloc
      Src: /src/libpcap/pcap-bpf.c:463,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:465,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - device
    - ebuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 475
    functionName: pcapint_create_interface
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 1
    functionsReached:
    - free
    - PCAP_CREATE_COMMON
    - pcapint_fmt_errmsg_for_errno
    - malloc
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcapint_create_interface(const char *device _U_, char *ebuf)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/pcap-bpf.c:493,1
    - Dst: socket
      Src: /src/libpcap/pcap-bpf.c:502,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:505,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-bpf.c:510,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:511,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:524,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - name
    - errbuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 536
    functionName: check_device_exists
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - close
    - ioctl
    - pcapint_fmt_errmsg_for_errno
    - socket
    - pcapint_strlcpy
    - strlen
    linkageType: ''
    returnType: int
    signature: int check_device_exists(const char *name, char *errbuf)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bpf_load
      Src: /src/libpcap/pcap-bpf.c:558,1
    - Dst: open
      Src: /src/libpcap/pcap-bpf.c:569,1
    - Dst: open
      Src: /src/libpcap/pcap-bpf.c:571,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:575,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:580,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:596,1
    - Dst: open
      Src: /src/libpcap/pcap-bpf.c:611,1
    - Dst: open
      Src: /src/libpcap/pcap-bpf.c:613,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:631,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:641,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:653,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:663,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 1
    argNames:
    - errbuf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 670
    functionName: bpf_open
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - bpf_load
    - snprintf
    - open
    linkageType: ''
    returnType: int
    signature: int bpf_open(char *errbuf)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: getzoneid
      Src: /src/libpcap/pcap-bpf.c:712,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:713,1
    - Dst: strchr
      Src: /src/libpcap/pcap-bpf.c:725,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:750,1
    - Dst: malloc
      Src: /src/libpcap/pcap-bpf.c:755,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:757,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-bpf.c:761,1
    - Dst: getzoneidbyname
      Src: /src/libpcap/pcap-bpf.c:763,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:777,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:789,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:795,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:798,1
    - Dst: strlen
      Src: /src/libpcap/pcap-bpf.c:810,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-bpf.c:814,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:815,1
    - Dst: strlen
      Src: /src/libpcap/pcap-bpf.c:819,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-bpf.c:823,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:824,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:870,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:876,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 3
    argNames:
    - fd
    - name
    - errbuf
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 883
    functionName: bpf_bind
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - ioctl
    - getzoneid
    - pcapint_fmt_errmsg_for_errno
    - strchr
    - memcpy
    - pcapint_strlcpy
    - snprintf
    - strlen
    - free
    - malloc
    - getzoneidbyname
    linkageType: ''
    returnType: int
    signature: int bpf_bind(int fd, const char *name, char *errbuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bpf_open
      Src: /src/libpcap/pcap-bpf.c:902,1
    - Dst: bpf_bind
      Src: /src/libpcap/pcap-bpf.c:909,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - name
    - errbuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 893
    functionDepth: 3
    functionLinenumber: 893
    functionLinenumberEnd: 927
    functionName: bpf_open_and_bind
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - bpf_open
    - bpf_bind
    - close
    linkageType: ''
    returnType: int
    signature: int bpf_open_and_bind(const char *name, char *errbuf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-bpf.c:933,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:934,1
    - Dst: malloc
      Src: /src/libpcap/pcap-bpf.c:938,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:940,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:945,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:946,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:948,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:1001,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - fd
    - v
    - bdlp
    - ebuf
    argTypes:
    - int
    - int
    - struct bpf_dltlist*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 930
    functionDepth: 2
    functionLinenumber: 930
    functionLinenumberEnd: 1007
    functionName: get_dlt_list
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - ioctl
    - pcapint_fmt_errmsg_for_errno
    - free
    - memset
    - malloc
    linkageType: ''
    returnType: int
    signature: int get_dlt_list(int fd, int v, struct bpf_dltlist *bdlp, char *ebuf)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/libpcap/pcap-bpf.c:1038,1
    - Dst: strncmp
      Src: /src/libpcap/pcap-bpf.c:1063,1
    - Dst: pcapint_asprintf
      Src: /src/libpcap/pcap-bpf.c:1069,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:1070,1
    - Dst: check_device_exists
      Src: /src/libpcap/pcap-bpf.c:1074,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:1075,1
    - Dst: bpf_open
      Src: /src/libpcap/pcap-bpf.c:1096,1
    - Dst: bpf_bind
      Src: /src/libpcap/pcap-bpf.c:1103,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:1105,1
    - Dst: get_dlt_list
      Src: /src/libpcap/pcap-bpf.c:1124,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:1125,1
    - Dst: find_802_11
      Src: /src/libpcap/pcap-bpf.c:1128,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:1132,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:1133,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:1136,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:1137,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1011
    functionDepth: 3
    functionLinenumber: 1011
    functionLinenumberEnd: 1140
    functionName: pcap_can_set_rfmon_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - get_dlt_list
    - close
    - find_802_11
    - bpf_bind
    - pcapint_fmt_errmsg_for_errno
    - check_device_exists
    - bpf_open
    - uname
    - pcapint_asprintf
    - free
    - strncmp
    linkageType: ''
    returnType: int
    signature: int pcap_can_set_rfmon_bpf(pcap_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: monitor_mode
      Src: /src/libpcap/pcap-bpf.c:1147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1153
    functionName: pcap_can_set_rfmon_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - monitor_mode
    linkageType: ''
    returnType: int
    signature: int pcap_can_set_rfmon_bpf(pcap_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:1180,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:1181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p
    - ps
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1162
    functionDepth: 2
    functionLinenumber: 1162
    functionLinenumberEnd: 1194
    functionName: pcap_stats_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - ioctl
    linkageType: ''
    returnType: int
    signature: int pcap_stats_bpf(pcap_t *p, struct pcap_stat *ps)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: pcap_ack_zbuf
      Src: /src/libpcap/pcap-bpf.c:1236,1
    - Dst: pcap_next_zbuf
      Src: /src/libpcap/pcap-bpf.c:1237,1
    - Dst: read
      Src: /src/libpcap/pcap-bpf.c:1247,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:1301,1
    - Dst: lseek
      Src: /src/libpcap/pcap-bpf.c:1313,1
    - Dst: lseek
      Src: /src/libpcap/pcap-bpf.c:1315,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:1321,1
    - Dst: min
      Src: /src/libpcap/pcap-bpf.c:1394,1
    - Dst: BPF_WORDALIGN
      Src: /src/libpcap/pcap-bpf.c:1394,1
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap-bpf.c:1410,1
    - Dst: bintime2timespec
      Src: /src/libpcap/pcap-bpf.c:1420,1
    - Dst: bintime2timeval
      Src: /src/libpcap/pcap-bpf.c:1426,1
    - Dst: PACKET_COUNT_IS_UNLIMITED
      Src: /src/libpcap/pcap-bpf.c:1464,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 102
    argCount: 4
    argNames:
    - p
    - cnt
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1196
    functionDepth: 3
    functionLinenumber: 1196
    functionLinenumberEnd: 1479
    functionName: pcap_read_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - pcap_ack_zbuf
    - bintime2timespec
    - pcapint_fmt_errmsg_for_errno
    - read
    - BPF_WORDALIGN
    - pcapint_filter
    - PACKET_COUNT_IS_UNLIMITED
    - snprintf
    - bintime2timeval
    - min
    - lseek
    - pcap_next_zbuf
    linkageType: ''
    returnType: int
    signature: int pcap_read_bpf(pcap_t *p, int cnt, pcap_handler callback, u_char
      *user)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libpcap/pcap-bpf.c:1486,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:1509,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:1510,1
    - Dst: write
      Src: /src/libpcap/pcap-bpf.c:1518,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:1522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - p
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1481
    functionDepth: 2
    functionLinenumber: 1481
    functionLinenumberEnd: 1527
    functionName: pcap_inject_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - write
    - ioctl
    linkageType: ''
    returnType: int
    signature: int pcap_inject_bpf(pcap_t *p, const void *buf, int size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: odm_initialize
      Src: /src/libpcap/pcap-bpf.c:1535,1
    - Dst: odm_err_msg
      Src: /src/libpcap/pcap-bpf.c:1536,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:1538,1
    - Dst: odm_lock
      Src: /src/libpcap/pcap-bpf.c:1545,1
    - Dst: odm_err_msg
      Src: /src/libpcap/pcap-bpf.c:1546,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:1548,1
    - Dst: odm_terminate
      Src: /src/libpcap/pcap-bpf.c:1552,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - errbuf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1557
    functionName: bpf_odminit
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - odm_err_msg
    - odm_terminate
    - odm_initialize
    - odm_lock
    - snprintf
    linkageType: ''
    returnType: int
    signature: int bpf_odminit(char *errbuf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: odm_unlock
      Src: /src/libpcap/pcap-bpf.c:1564,1
    - Dst: odm_err_msg
      Src: /src/libpcap/pcap-bpf.c:1566,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:1568,1
    - Dst: odm_terminate
      Src: /src/libpcap/pcap-bpf.c:1576,1
    - Dst: odm_err_msg
      Src: /src/libpcap/pcap-bpf.c:1578,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:1580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - errbuf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1589
    functionName: bpf_odmcleanup
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - odm_terminate
    - odm_unlock
    - odm_err_msg
    - snprintf
    linkageType: ''
    returnType: int
    signature: int bpf_odmcleanup(char *errbuf)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: bpf_odminit
      Src: /src/libpcap/pcap-bpf.c:1610,1
    - Dst: genmajor
      Src: /src/libpcap/pcap-bpf.c:1613,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:1615,1
    - Dst: bpf_odmcleanup
      Src: /src/libpcap/pcap-bpf.c:1617,1
    - Dst: getminor
      Src: /src/libpcap/pcap-bpf.c:1621,1
    - Dst: genminor
      Src: /src/libpcap/pcap-bpf.c:1623,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:1625,1
    - Dst: bpf_odmcleanup
      Src: /src/libpcap/pcap-bpf.c:1627,1
    - Dst: bpf_odmcleanup
      Src: /src/libpcap/pcap-bpf.c:1632,1
    - Dst: stat
      Src: /src/libpcap/pcap-bpf.c:1635,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:1637,1
    - Dst: getmajor
      Src: /src/libpcap/pcap-bpf.c:1642,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:1644,1
    - Dst: unlink
      Src: /src/libpcap/pcap-bpf.c:1645,1
    - Dst: mknod
      Src: /src/libpcap/pcap-bpf.c:1646,1
    - Dst: domakedev
      Src: /src/libpcap/pcap-bpf.c:1646,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:1647,1
    - Dst: memset
      Src: /src/libpcap/pcap-bpf.c:1656,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:1657,1
    - Dst: sysconfig
      Src: /src/libpcap/pcap-bpf.c:1659,1
    - Dst: sysconfig
      Src: /src/libpcap/pcap-bpf.c:1662,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:1663,1
    - Dst: domakedev
      Src: /src/libpcap/pcap-bpf.c:1675,1
    - Dst: sysconfig
      Src: /src/libpcap/pcap-bpf.c:1676,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:1677,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 1
    argNames:
    - errbuf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1591
    functionDepth: 2
    functionLinenumber: 1591
    functionLinenumberEnd: 1686
    functionName: bpf_load
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 1
    functionsReached:
    - getminor
    - bpf_odminit
    - domakedev
    - genminor
    - sysconfig
    - pcapint_fmt_errmsg_for_errno
    - unlink
    - getmajor
    - memset
    - genmajor
    - stat
    - snprintf
    - mknod
    - bpf_odmcleanup
    linkageType: ''
    returnType: int
    signature: int bpf_load(char *errbuf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpcap/pcap-bpf.c:1717,1
    - Dst: fprintf
      Src: /src/libpcap/pcap-bpf.c:1719,1
    - Dst: strerror
      Src: /src/libpcap/pcap-bpf.c:1722,1
    - Dst: memset
      Src: /src/libpcap/pcap-bpf.c:1724,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-bpf.c:1725,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:1727,1
    - Dst: fprintf
      Src: /src/libpcap/pcap-bpf.c:1728,1
    - Dst: strerror
      Src: /src/libpcap/pcap-bpf.c:1731,1
    - Dst: memset
      Src: /src/libpcap/pcap-bpf.c:1738,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-bpf.c:1739,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:1744,1
    - Dst: fprintf
      Src: /src/libpcap/pcap-bpf.c:1746,1
    - Dst: strerror
      Src: /src/libpcap/pcap-bpf.c:1749,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:1753,1
    - Dst: if_nametoindex
      Src: /src/libpcap/pcap-bpf.c:1763,1
    - Dst: socket
      Src: /src/libpcap/pcap-bpf.c:1766,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-bpf.c:1768,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:1770,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:1771,1
    - Dst: pcapint_remove_from_pcaps_to_close
      Src: /src/libpcap/pcap-bpf.c:1780,1
    - Dst: munmap
      Src: /src/libpcap/pcap-bpf.c:1794,1
    - Dst: munmap
      Src: /src/libpcap/pcap-bpf.c:1796,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:1801,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-bpf.c:1804,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1692
    functionDepth: 2
    functionLinenumber: 1692
    functionLinenumberEnd: 1805
    functionName: pcap_cleanup_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - close
    - if_nametoindex
    - ioctl
    - fprintf
    - socket
    - strerror
    - munmap
    - pcapint_strlcpy
    - free
    - memset
    - pcapint_remove_from_pcaps_to_close
    - pcapint_cleanup_live_common
    linkageType: ''
    returnType: void
    signature: void pcap_cleanup_bpf(pcap_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libpcap/pcap-bpf.c:1817,1
    - Dst: pcapint_asprintf
      Src: /src/libpcap/pcap-bpf.c:1827,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:1834,1
    - Dst: check_device_exists
      Src: /src/libpcap/pcap-bpf.c:1839,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:1840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p
    - error
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1808
    functionDepth: 3
    functionLinenumber: 1808
    functionLinenumberEnd: 1866
    functionName: check_setif_failure
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - check_device_exists
    - pcapint_asprintf
    - free
    - strncmp
    linkageType: ''
    returnType: int
    signature: int check_setif_failure(pcap_t *p, int error)
  - 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: 2153
      start: 2152
    functionDepth: 0
    functionLinenumber: 2152
    functionLinenumberEnd: 2153
    functionName: roundup
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roundup(x, y)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libpcap/pcap-bpf.c:2788,1
    - Dst: strlen
      Src: /src/libpcap/pcap-bpf.c:2796,1
    - Dst: malloc
      Src: /src/libpcap/pcap-bpf.c:2797,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:2799,1
    - Dst: strcpy
      Src: /src/libpcap/pcap-bpf.c:2803,1
    - Dst: strcat
      Src: /src/libpcap/pcap-bpf.c:2804,1
    - Dst: bpf_open_and_bind
      Src: /src/libpcap/pcap-bpf.c:2805,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:2806,1
    - Dst: bpf_open_and_bind
      Src: /src/libpcap/pcap-bpf.c:2809,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:2837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2839
      start: 2765
    functionDepth: 4
    functionLinenumber: 2765
    functionLinenumberEnd: 2839
    functionName: check_bpf_bindable
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - strcpy
    - close
    - pcapint_fmt_errmsg_for_errno
    - bpf_open_and_bind
    - strcat
    - strlen
    - free
    - strncmp
    - malloc
    linkageType: ''
    returnType: int
    signature: int check_bpf_bindable(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - name
    - flags
    - errbuf
    argTypes:
    - char*
    - bpf_u_int32*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2846
      start: 2842
    functionDepth: 0
    functionLinenumber: 2842
    functionLinenumberEnd: 2846
    functionName: get_flags_stub
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_flags_stub(const char *name _U_, bpf_u_int32 *flags _U_, char
      *errbuf _U_)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bpf_open
      Src: /src/libpcap/pcap-bpf.c:2856,1
    - Dst: memset
      Src: /src/libpcap/pcap-bpf.c:2865,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:2866,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:2867,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:2869,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:2879,1
    - Dst: malloc
      Src: /src/libpcap/pcap-bpf.c:2883,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:2884,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:2886,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:2890,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:2891,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:2893,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:2894,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:2897,1
    - Dst: strlen
      Src: /src/libpcap/pcap-bpf.c:2900,1
    - Dst: pcapint_find_or_add_dev
      Src: /src/libpcap/pcap-bpf.c:2905,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:2907,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:2911,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - devlistp
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2913
      start: 2849
    functionDepth: 3
    functionLinenumber: 2849
    functionLinenumberEnd: 2913
    functionName: finddevs_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - close
    - ioctl
    - pcapint_find_or_add_dev
    - pcapint_fmt_errmsg_for_errno
    - bpf_open
    - strlen
    - free
    - memset
    - malloc
    linkageType: ''
    returnType: int
    signature: int finddevs_bpf(pcap_if_list_t *devlistp, char *errbuf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/libpcap/pcap-bpf.c:2934,1
    - Dst: malloc
      Src: /src/libpcap/pcap-bpf.c:2948,1
    - Dst: closedir
      Src: /src/libpcap/pcap-bpf.c:2950,1
    - Dst: readdir
      Src: /src/libpcap/pcap-bpf.c:2953,1
    - Dst: strcmp
      Src: /src/libpcap/pcap-bpf.c:2957,1
    - Dst: strcmp
      Src: /src/libpcap/pcap-bpf.c:2958,1
    - Dst: strchr
      Src: /src/libpcap/pcap-bpf.c:2964,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-bpf.c:2968,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-bpf.c:2969,1
    - Dst: pcapint_find_or_add_dev
      Src: /src/libpcap/pcap-bpf.c:2978,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:2980,1
    - Dst: closedir
      Src: /src/libpcap/pcap-bpf.c:2981,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:2985,1
    - Dst: closedir
      Src: /src/libpcap/pcap-bpf.c:2986,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - devlistp
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2988
      start: 2915
    functionDepth: 2
    functionLinenumber: 2915
    functionLinenumberEnd: 2988
    functionName: finddevs_usb
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - closedir
    - opendir
    - pcapint_find_or_add_dev
    - strchr
    - readdir
    - memcpy
    - strcmp
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int finddevs_usb(pcap_if_list_t *devlistp, char *errbuf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpcap/pcap-bpf.c:3002,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:3004,1
    - Dst: memset
      Src: /src/libpcap/pcap-bpf.c:3009,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-bpf.c:3010,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:3011,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:3046,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:3049,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:3051,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:3054,1
    - Dst: IFM_TYPE
      Src: /src/libpcap/pcap-bpf.c:3059,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - name
    - flags
    - errbuf
    argTypes:
    - char*
    - bpf_u_int32*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3089
      start: 2996
    functionDepth: 2
    functionLinenumber: 2996
    functionLinenumberEnd: 3089
    functionName: get_if_flags
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 1
    functionsReached:
    - close
    - ioctl
    - IFM_TYPE
    - pcapint_fmt_errmsg_for_errno
    - socket
    - pcapint_strlcpy
    - memset
    linkageType: ''
    returnType: int
    signature: int get_if_flags(const char *name, bpf_u_int32 *flags, char *errbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - flags
    - errbuf
    argTypes:
    - char*
    - bpf_u_int32*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3112
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3112
    functionName: get_if_flags
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_if_flags(const char *name _U_, bpf_u_int32 *flags, char *errbuf
      _U_)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_findalldevs_interfaces
      Src: /src/libpcap/pcap-bpf.c:3121,1
    - Dst: pcapint_add_any_dev
      Src: /src/libpcap/pcap-bpf.c:3129,1
    - Dst: finddevs_bpf
      Src: /src/libpcap/pcap-bpf.c:3135,1
    - Dst: finddevs_usb
      Src: /src/libpcap/pcap-bpf.c:3138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - devlistp
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3144
      start: 3115
    functionDepth: 4
    functionLinenumber: 3115
    functionLinenumberEnd: 3144
    functionName: pcapint_platform_finddevs
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 1
    functionsReached:
    - finddevs_bpf
    - pcapint_add_any_dev
    - pcapint_findalldevs_interfaces
    - finddevs_usb
    linkageType: ''
    returnType: int
    signature: int pcapint_platform_finddevs(pcap_if_list_t *devlistp, char *errbuf)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpcap/pcap-bpf.c:3158,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:3160,1
    - Dst: memset
      Src: /src/libpcap/pcap-bpf.c:3165,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-bpf.c:3166,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:3171,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:3185,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:3192,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:3196,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:3198,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:3206,1
    - Dst: malloc
      Src: /src/libpcap/pcap-bpf.c:3214,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:3216,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:3218,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:3222,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:3223,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:3225,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:3226,1
    - Dst: IFM_TYPE
      Src: /src/libpcap/pcap-bpf.c:3237,1
    - Dst: IFM_SUBTYPE
      Src: /src/libpcap/pcap-bpf.c:3238,1
    - Dst: free
      Src: /src/libpcap/pcap-bpf.c:3246,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:3251,1
    - Dst: pcapint_do_addexit
      Src: /src/libpcap/pcap-bpf.c:3271,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:3277,1
    - Dst: memset
      Src: /src/libpcap/pcap-bpf.c:3280,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-bpf.c:3281,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:3284,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:3285,1
    - Dst: close
      Src: /src/libpcap/pcap-bpf.c:3287,1
    - Dst: pcapint_add_to_pcaps_to_close
      Src: /src/libpcap/pcap-bpf.c:3296,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 2
    argNames:
    - p
    - set
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3300
      start: 3147
    functionDepth: 2
    functionLinenumber: 3147
    functionLinenumberEnd: 3300
    functionName: monitor_mode
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 1
    functionsReached:
    - close
    - pcapint_do_addexit
    - ioctl
    - IFM_TYPE
    - pcapint_fmt_errmsg_for_errno
    - socket
    - IFM_SUBTYPE
    - pcapint_add_to_pcaps_to_close
    - pcapint_strlcpy
    - free
    - memset
    - malloc
    linkageType: ''
    returnType: int
    signature: int monitor_mode(pcap_t *p, int set)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - bdlp
    argTypes:
    - struct bpf_dltlist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3375
      start: 3314
    functionDepth: 0
    functionLinenumber: 3314
    functionLinenumberEnd: 3375
    functionName: find_802_11
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_802_11(struct bpf_dltlist *bdlp)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3420
      start: 3383
    functionDepth: 0
    functionLinenumber: 3383
    functionLinenumberEnd: 3420
    functionName: remove_non_802_11
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_non_802_11(pcap_t *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3474
      start: 3427
    functionDepth: 0
    functionLinenumber: 3427
    functionLinenumberEnd: 3474
    functionName: remove_802_11
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_802_11(pcap_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcap_freecode
      Src: /src/libpcap/pcap-bpf.c:3485,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:3490,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:3522,1
    - Dst: pcapint_install_bpf_program
      Src: /src/libpcap/pcap-bpf.c:3532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - fp
    argTypes:
    - pcap_t*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3536
      start: 3477
    functionDepth: 3
    functionLinenumber: 3477
    functionLinenumberEnd: 3536
    functionName: pcap_setfilter_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - pcap_freecode
    - pcapint_fmt_errmsg_for_errno
    - pcapint_install_bpf_program
    - ioctl
    linkageType: ''
    returnType: int
    signature: int pcap_setfilter_bpf(pcap_t *p, struct bpf_program *fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:3586,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:3587,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - pcap_t*
    - pcap_direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3592
      start: 3543
    functionDepth: 2
    functionLinenumber: 3543
    functionLinenumberEnd: 3592
    functionName: pcap_setdirection_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - ioctl
    linkageType: ''
    returnType: int
    signature: int pcap_setdirection_bpf(pcap_t *p, pcap_direction_t d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:3639,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:3640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - pcap_t*
    - pcap_direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3645
      start: 3594
    functionDepth: 2
    functionLinenumber: 3594
    functionLinenumberEnd: 3645
    functionName: pcap_setdirection_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - ioctl
    linkageType: ''
    returnType: int
    signature: int pcap_setdirection_bpf(pcap_t *p, pcap_direction_t d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:3671,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:3689,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:3690,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - p
    - d
    argTypes:
    - pcap_t*
    - pcap_direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3695
      start: 3647
    functionDepth: 2
    functionLinenumber: 3647
    functionLinenumberEnd: 3695
    functionName: pcap_setdirection_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - snprintf
    - ioctl
    linkageType: ''
    returnType: int
    signature: int pcap_setdirection_bpf(pcap_t *p, pcap_direction_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-bpf.c:3700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - _U_
    argTypes:
    - pcap_t*
    - pcap_direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3703
      start: 3697
    functionDepth: 0
    functionLinenumber: 3697
    functionLinenumberEnd: 3703
    functionName: pcap_setdirection_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_setdirection_bpf(pcap_t *p, pcap_direction_t d _U_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libpcap/pcap-bpf.c:3710,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-bpf.c:3711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - dlt
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3716
      start: 3707
    functionDepth: 2
    functionLinenumber: 3707
    functionLinenumberEnd: 3716
    functionName: pcap_set_datalink_bpf
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - ioctl
    linkageType: ''
    returnType: int
    signature: int pcap_set_datalink_bpf(pcap_t *p, int dlt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO
      Src: /src/libpcap/pcap-bpf.c:3740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3736
    functionDepth: 1
    functionLinenumber: 3736
    functionLinenumberEnd: 3744
    functionName: pcap_lib_version
    functionSourceFile: /src/libpcap/pcap-bpf.c
    functionUses: 0
    functionsReached:
    - PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_lib_version(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/pcap-options.c:49,1
    - Dst: memset
      Src: /src/libpcap/pcap-options.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: pcap_alloc_option
    functionSourceFile: /src/libpcap/pcap-options.c
    functionUses: 0
    functionsReached:
    - memset
    - malloc
    linkageType: ''
    returnType: pcap_options
    signature: pcap_options *pcap_alloc_option(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpcap/pcap-options.c:57,1
    - Dst: free
      Src: /src/libpcap/pcap-options.c:58,1
    - Dst: free
      Src: /src/libpcap/pcap-options.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - po
    argTypes:
    - pcap_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: pcap_free_option
    functionSourceFile: /src/libpcap/pcap-options.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void pcap_free_option(pcap_options *po)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libpcap/pcap-options.c:68,1
    - Dst: free
      Src: /src/libpcap/pcap-options.c:71,1
    - Dst: free
      Src: /src/libpcap/pcap-options.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - po
    - pon
    - value
    argTypes:
    - pcap_options*
    - enum   pcap_option_name
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 85
    functionName: pcap_set_option_string
    functionSourceFile: /src/libpcap/pcap-options.c
    functionUses: 0
    functionsReached:
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: "int pcap_set_option_string(pcap_options *po,\n                           enum
      \  pcap_option_name pon,\n                           const char *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - po
    - pon
    - value
    argTypes:
    - pcap_options*
    - enum   pcap_option_name
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: pcap_set_option_int
    functionSourceFile: /src/libpcap/pcap-options.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pcap_set_option_int(pcap_options *po,\n                        enum
      \  pcap_option_name pon,\n                        const int value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - po
    - pon
    argTypes:
    - pcap_options*
    - enum   pcap_option_name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: pcap_get_option_string
    functionSourceFile: /src/libpcap/pcap-options.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *pcap_get_option_string(pcap_options *po,\n                                   enum
      \  pcap_option_name pon)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - po
    - pon
    argTypes:
    - pcap_options*
    - enum   pcap_option_name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: pcap_get_option_int
    functionSourceFile: /src/libpcap/pcap-options.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pcap_get_option_int(pcap_options *po,\n                        enum
      \  pcap_option_name pon)"
  - 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: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: pcapint_strlcat
    functionSourceFile: /src/libpcap/portability.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pcapint_strlcat(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: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: pcapint_strlcpy
    functionSourceFile: /src/libpcap/portability.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pcapint_strlcpy(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: timeradd
    functionSourceFile: /src/libpcap/portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timeradd(a, b, result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: timersub
    functionSourceFile: /src/libpcap/portability.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: timersub(a, b, result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MultiByteToWideChar
      Src: /src/libpcap/charconv.c:53,1
    - Dst: malloc
      Src: /src/libpcap/charconv.c:66,1
    - Dst: MultiByteToWideChar
      Src: /src/libpcap/charconv.c:78,1
    - Dst: free
      Src: /src/libpcap/charconv.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - codepage
    - cp_string
    - flags
    argTypes:
    - UINT
    - char*
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 93
    functionName: cp_to_utf_16le
    functionSourceFile: /src/libpcap/charconv.c
    functionUses: 0
    functionsReached:
    - free
    - MultiByteToWideChar
    - malloc
    linkageType: ''
    returnType: wchar_t
    signature: 'wchar_t *

      cp_to_utf_16le(UINT codepage, const char *cp_string, DWORD flags)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WideCharToMultiByte
      Src: /src/libpcap/charconv.c:107,1
    - Dst: malloc
      Src: /src/libpcap/charconv.c:120,1
    - Dst: WideCharToMultiByte
      Src: /src/libpcap/charconv.c:132,1
    - Dst: free
      Src: /src/libpcap/charconv.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - codepage
    - utf16le_string
    argTypes:
    - UINT
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 147
    functionName: utf_16le_to_cp
    functionSourceFile: /src/libpcap/charconv.c
    functionUses: 0
    functionsReached:
    - free
    - malloc
    - WideCharToMultiByte
    linkageType: ''
    returnType: char
    signature: 'char *

      utf_16le_to_cp(UINT codepage, const wchar_t *utf16le_string)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cp_to_utf_16le
      Src: /src/libpcap/charconv.c:176,1
    - Dst: snprintf
      Src: /src/libpcap/charconv.c:181,1
    - Dst: WideCharToMultiByte
      Src: /src/libpcap/charconv.c:202,1
    - Dst: GetLastError
      Src: /src/libpcap/charconv.c:205,1
    - Dst: free
      Src: /src/libpcap/charconv.c:206,1
    - Dst: snprintf
      Src: /src/libpcap/charconv.c:208,1
    - Dst: snprintf
      Src: /src/libpcap/charconv.c:211,1
    - Dst: free
      Src: /src/libpcap/charconv.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - errbuf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 216
    functionName: utf_8_to_acp_truncated
    functionSourceFile: /src/libpcap/charconv.c
    functionUses: 3
    functionsReached:
    - GetLastError
    - cp_to_utf_16le
    - WideCharToMultiByte
    - snprintf
    - free
    linkageType: ''
    returnType: void
    signature: void utf_8_to_acp_truncated(char *errbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: pcap_setsampling
    functionSourceFile: /src/libpcap/pcap-new.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct pcap_samp
    signature: struct pcap_samp *pcap_setsampling(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-new.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - source
    - auth
    - alldevs
    - errbuf
    argTypes:
    - char*
    - struct pcap_rmtauth*
    - pcap_if_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 547
    functionName: pcap_findalldevs_ex
    functionSourceFile: /src/libpcap/pcap-new.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    linkageType: ''
    returnType: int
    signature: "int pcap_findalldevs_ex(const char *source _U_, struct pcap_rmtauth
      *auth _U_,\n    pcap_if_t **alldevs _U_, char *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-new.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - source
    - snaplen
    - flags
    - read_timeout
    - auth
    - errbuf
    argTypes:
    - char*
    - int
    - int
    - int
    - struct pcap_rmtauth*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 556
    functionName: pcap_open
    functionSourceFile: /src/libpcap/pcap-new.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    linkageType: ''
    returnType: pcap_t
    signature: "pcap_t *\npcap_open(const char *source _U_, int snaplen _U_, int flags
      _U_,\n    int read_timeout _U_, struct pcap_rmtauth *auth _U_, char *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-new.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 564
    functionName: pcap_setsampling
    functionSourceFile: /src/libpcap/pcap-new.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    linkageType: ''
    returnType: struct pcap_samp
    signature: 'struct pcap_samp *

      pcap_setsampling(pcap_t *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: SET_BINMODE
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINMODE(f)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpcap/sf-pcap.c:238,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcap.c:242,1
    - Dst: fread
      Src: /src/libpcap/sf-pcap.c:255,1
    - Dst: ferror
      Src: /src/libpcap/sf-pcap.c:258,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcap.c:259,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:262,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/sf-pcap.c:274,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/sf-pcap.c:275,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcap.c:276,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcap.c:277,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcap.c:278,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcap.c:279,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:290,1
    - Dst: LT_RESERVED1
      Src: /src/libpcap/sf-pcap.c:300,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:301,1
    - Dst: LT_RESERVED1
      Src: /src/libpcap/sf-pcap.c:303,1
    - Dst: PCAP_OPEN_OFFLINE_COMMON
      Src: /src/libpcap/sf-pcap.c:312,1
    - Dst: linktype_to_dlt
      Src: /src/libpcap/sf-pcap.c:321,1
    - Dst: LT_LINKTYPE
      Src: /src/libpcap/sf-pcap.c:321,1
    - Dst: LT_LINKTYPE_EXT
      Src: /src/libpcap/sf-pcap.c:322,1
    - Dst: pcapint_adjust_snapshot
      Src: /src/libpcap/sf-pcap.c:323,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:372,1
    - Dst: free
      Src: /src/libpcap/sf-pcap.c:374,1
    - Dst: malloc
      Src: /src/libpcap/sf-pcap.c:473,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:475,1
    - Dst: free
      Src: /src/libpcap/sf-pcap.c:476,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 109
    argCount: 5
    argNames:
    - magic
    - fp
    - precision
    - errbuf
    - err
    argTypes:
    - uint8_t*
    - FILE*
    - u_int
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 484
    functionName: pcap_check_header
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - linktype_to_dlt
    - SWAPLONG
    - LT_RESERVED1
    - pcapint_fmt_errmsg_for_errno
    - LT_LINKTYPE
    - pcapint_adjust_snapshot
    - ferror
    - memcpy
    - LT_LINKTYPE_EXT
    - fread
    - SWAPSHORT
    - snprintf
    - PCAP_OPEN_OFFLINE_COMMON
    - free
    - malloc
    linkageType: ''
    returnType: pcap_t
    signature: "pcap_t *\npcap_check_header(const uint8_t *magic, FILE *fp, u_int
      precision, char *errbuf,\n\t\t  int *err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libpcap/sf-pcap.c:494,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - p
    - bufsize
    argTypes:
    - pcap_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 502
    functionName: grow_buffer
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - realloc
    - snprintf
    linkageType: ''
    returnType: int
    signature: int grow_buffer(pcap_t *p, u_int bufsize)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libpcap/sf-pcap.c:525,1
    - Dst: ferror
      Src: /src/libpcap/sf-pcap.c:527,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcap.c:528,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:533,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcap.c:545,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcap.c:546,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcap.c:547,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcap.c:548,1
    - Dst: max_snaplen_for_dlt
      Src: /src/libpcap/sf-pcap.c:607,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:617,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:621,1
    - Dst: max_snaplen_for_dlt
      Src: /src/libpcap/sf-pcap.c:624,1
    - Dst: grow_buffer
      Src: /src/libpcap/sf-pcap.c:672,1
    - Dst: fread
      Src: /src/libpcap/sf-pcap.c:679,1
    - Dst: ferror
      Src: /src/libpcap/sf-pcap.c:681,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcap.c:682,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:693,1
    - Dst: fread
      Src: /src/libpcap/sf-pcap.c:709,1
    - Dst: ferror
      Src: /src/libpcap/sf-pcap.c:712,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcap.c:713,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:717,1
    - Dst: grow_buffer
      Src: /src/libpcap/sf-pcap.c:757,1
    - Dst: fread
      Src: /src/libpcap/sf-pcap.c:762,1
    - Dst: ferror
      Src: /src/libpcap/sf-pcap.c:764,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcap.c:765,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:769,1
    - Dst: pcapint_post_process
      Src: /src/libpcap/sf-pcap.c:778,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 117
    argCount: 3
    argNames:
    - p
    - hdr
    - data
    argTypes:
    - pcap_t*
    - struct pcap_pkthdr*
    - u_char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 509
    functionDepth: 5
    functionLinenumber: 509
    functionLinenumberEnd: 781
    functionName: pcap_next_packet
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_post_process
    - grow_buffer
    - SWAPLONG
    - pcapint_fmt_errmsg_for_errno
    - max_snaplen_for_dlt
    - ferror
    - fread
    - snprintf
    linkageType: ''
    returnType: int
    signature: int pcap_next_packet(pcap_t *p, struct pcap_pkthdr *hdr, u_char **data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libpcap/sf-pcap.c:802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - p
    - fp
    - linktype
    - snaplen
    argTypes:
    - pcap_t*
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 806
    functionName: sf_write_header
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: int sf_write_header(pcap_t *p, FILE *fp, int linktype, int snaplen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/libpcap/sf-pcap.c:834,1
    - Dst: fwrite
      Src: /src/libpcap/sf-pcap.c:859,1
    - Dst: fwrite
      Src: /src/libpcap/sf-pcap.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - user
    - h
    - sp
    argTypes:
    - u_char*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 862
    functionName: pcap_dump
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - fwrite
    - ferror
    linkageType: ''
    returnType: void
    signature: void pcap_dump(u_char *user, const struct pcap_pkthdr *h, const u_char
      *sp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SET_BINMODE
      Src: /src/libpcap/sf-pcap.c:877,1
    - Dst: setvbuf
      Src: /src/libpcap/sf-pcap.c:879,1
    - Dst: sf_write_header
      Src: /src/libpcap/sf-pcap.c:881,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcap.c:882,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - p
    - linktype
    - f
    - fname
    argTypes:
    - pcap_t*
    - int
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 889
    functionName: pcap_setup_dump
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - setvbuf
    - fclose
    - pcapint_fmt_errmsg_for_errno
    - sf_write_header
    - SET_BINMODE
    linkageType: ''
    returnType: pcap_dumper_t
    signature: 'pcap_dumper_t *

      pcap_setup_dump(pcap_t *p, int linktype, FILE *f, const char *fname)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:905,1
    - Dst: dlt_to_linktype
      Src: /src/libpcap/sf-pcap.c:910,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:912,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:920,1
    - Dst: pcapint_charset_fopen
      Src: /src/libpcap/sf-pcap.c:934,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcap.c:936,1
    - Dst: pcap_setup_dump
      Src: /src/libpcap/sf-pcap.c:941,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - p
    - fname
    argTypes:
    - pcap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 894
    functionDepth: 3
    functionLinenumber: 894
    functionLinenumberEnd: 942
    functionName: pcap_dump_open
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_charset_fopen
    - pcap_setup_dump
    - pcapint_fmt_errmsg_for_errno
    - snprintf
    - dlt_to_linktype
    linkageType: ''
    returnType: pcap_dumper_t
    signature: 'pcap_dumper_t *

      pcap_dump_open(pcap_t *p, const char *fname)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _open_osfhandle
      Src: /src/libpcap/sf-pcap.c:955,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcap.c:957,1
    - Dst: _fdopen
      Src: /src/libpcap/sf-pcap.c:962,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcap.c:964,1
    - Dst: _close
      Src: /src/libpcap/sf-pcap.c:966,1
    - Dst: pcap_dump_fopen
      Src: /src/libpcap/sf-pcap.c:970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - p
    - osfd
    argTypes:
    - pcap_t*
    - intptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 949
    functionDepth: 2
    functionLinenumber: 949
    functionLinenumberEnd: 971
    functionName: pcap_dump_hopen
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - _close
    - _fdopen
    - pcap_dump_fopen
    - _open_osfhandle
    linkageType: ''
    returnType: pcap_dumper_t
    signature: 'pcap_dumper_t *

      pcap_dump_hopen(pcap_t *p, intptr_t osfd)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlt_to_linktype
      Src: /src/libpcap/sf-pcap.c:985,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:987,1
    - Dst: pcap_setup_dump
      Src: /src/libpcap/sf-pcap.c:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - f
    argTypes:
    - pcap_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 980
    functionDepth: 3
    functionLinenumber: 980
    functionLinenumberEnd: 995
    functionName: pcap_dump_fopen
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 1
    functionsReached:
    - snprintf
    - pcap_setup_dump
    - dlt_to_linktype
    linkageType: ''
    returnType: pcap_dumper_t
    signature: 'pcap_dumper_t *

      pcap_dump_fopen(pcap_t *p, FILE *f)'
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: dlt_to_linktype
      Src: /src/libpcap/sf-pcap.c:1005,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:1007,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:1014,1
    - Dst: pcap_setup_dump
      Src: /src/libpcap/sf-pcap.c:1019,1
    - Dst: pcapint_charset_fopen
      Src: /src/libpcap/sf-pcap.c:1034,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcap.c:1036,1
    - Dst: fseek
      Src: /src/libpcap/sf-pcap.c:1053,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcap.c:1054,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:1056,1
    - Dst: fread
      Src: /src/libpcap/sf-pcap.c:1059,1
    - Dst: ferror
      Src: /src/libpcap/sf-pcap.c:1061,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcap.c:1062,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:1064,1
    - Dst: feof
      Src: /src/libpcap/sf-pcap.c:1066,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:1067,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:1069,1
    - Dst: setvbuf
      Src: /src/libpcap/sf-pcap.c:1079,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:1103,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:1105,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:1112,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:1114,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcap.c:1119,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcap.c:1120,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:1121,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:1123,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcap.c:1127,1
    - Dst: SWAPLONG
      Src: /src/libpcap/sf-pcap.c:1129,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:1130,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:1132,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:1136,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:1138,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:1147,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:1150,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:1154,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:1156,1
    - Dst: snprintf
      Src: /src/libpcap/sf-pcap.c:1160,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:1162,1
    - Dst: sf_write_header
      Src: /src/libpcap/sf-pcap.c:1169,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcap.c:1170,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:1172,1
    - Dst: fseek
      Src: /src/libpcap/sf-pcap.c:1184,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/sf-pcap.c:1185,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:1187,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 97
    argCount: 2
    argNames:
    - p
    - fname
    argTypes:
    - pcap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 997
    functionDepth: 3
    functionLinenumber: 997
    functionLinenumberEnd: 1191
    functionName: pcap_dump_open_append
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - setvbuf
    - fseek
    - pcapint_charset_fopen
    - fclose
    - pcap_setup_dump
    - pcapint_fmt_errmsg_for_errno
    - SWAPLONG
    - sf_write_header
    - ferror
    - fread
    - snprintf
    - dlt_to_linktype
    - feof
    linkageType: ''
    returnType: pcap_dumper_t
    signature: 'pcap_dumper_t *

      pcap_dump_open_append(pcap_t *p, const char *fname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_dumper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1197
    functionName: pcap_dump_file
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      pcap_dump_file(pcap_dumper_t *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/libpcap/sf-pcap.c:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_dumper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1203
    functionName: pcap_dump_ftell
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - ftell
    linkageType: ''
    returnType: long
    signature: long pcap_dump_ftell(pcap_dumper_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftello
      Src: /src/libpcap/sf-pcap.c:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_dumper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    functionName: pcap_dump_ftell64
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - ftello
    linkageType: ''
    returnType: int64_t
    signature: int64_t pcap_dump_ftell64(pcap_dumper_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ftelli64
      Src: /src/libpcap/sf-pcap.c:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_dumper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1226
    functionName: pcap_dump_ftell64
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - _ftelli64
    linkageType: ''
    returnType: int64_t
    signature: int64_t pcap_dump_ftell64(pcap_dumper_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/libpcap/sf-pcap.c:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_dumper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1241
    functionName: pcap_dump_ftell64
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - ftell
    linkageType: ''
    returnType: int64_t
    signature: int64_t pcap_dump_ftell64(pcap_dumper_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libpcap/sf-pcap.c:1248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_dumper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1252
    functionName: pcap_dump_flush
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - fflush
    linkageType: ''
    returnType: int
    signature: int pcap_dump_flush(pcap_dumper_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/libpcap/sf-pcap.c:1260,1
    - Dst: fflush
      Src: /src/libpcap/sf-pcap.c:1266,1
    - Dst: fclose
      Src: /src/libpcap/sf-pcap.c:1268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_dumper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1269
    functionName: pcap_dump_close
    functionSourceFile: /src/libpcap/sf-pcap.c
    functionUses: 0
    functionsReached:
    - fclose
    - fflush
    - ferror
    linkageType: ''
    returnType: void
    signature: void pcap_dump_close(pcap_dumper_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: SWAPLL
    functionSourceFile: /src/libpcap/pcap-util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAPLL(y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: SWAPLONG
    functionSourceFile: /src/libpcap/pcap-util.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAPLONG(y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: SWAPSHORT
    functionSourceFile: /src/libpcap/pcap-util.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAPSHORT(y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.h:67,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - pcap_4_byte_aligned_uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: swap_4_byte_aligned_uint64
    functionSourceFile: /src/libpcap/pcap-util.h
    functionUses: 1
    functionsReached:
    - SWAPLONG
    linkageType: ''
    returnType: pcap_4_byte_aligned_uint64
    signature: pcap_4_byte_aligned_uint64 swap_4_byte_aligned_uint64(pcap_4_byte_aligned_uint64
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.h:75,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-util.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - pcap_4_byte_aligned_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: swap_4_byte_aligned_int64
    functionSourceFile: /src/libpcap/pcap-util.h
    functionUses: 1
    functionsReached:
    - SWAPLONG
    linkageType: ''
    returnType: pcap_4_byte_aligned_int64
    signature: pcap_4_byte_aligned_int64 swap_4_byte_aligned_int64(pcap_4_byte_aligned_int64
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: ATOMMASK
    functionSourceFile: /src/libpcap/gencode.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATOMMASK(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: ATOMELEM
    functionSourceFile: /src/libpcap/gencode.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATOMELEM(d, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - icp
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 413
    functionName: isMarked
    functionSourceFile: /src/libpcap/gencode.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isMarked(icp, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - icp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 414
    functionName: unMarkAll
    functionSourceFile: /src/libpcap/gencode.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unMarkAll(icp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - icp
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 415
    functionName: Mark
    functionSourceFile: /src/libpcap/gencode.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Mark(icp, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    functionName: JT
    functionSourceFile: /src/libpcap/gencode.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JT(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 441
    functionName: JF
    functionSourceFile: /src/libpcap/gencode.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JF(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-null.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - device
    - ebuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: pcapint_create_interface
    functionSourceFile: /src/libpcap/pcap-null.c
    functionUses: 1
    functionsReached:
    - pcapint_strlcpy
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcapint_create_interface(const char *device _U_, char *ebuf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-null.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - device
    - netp
    - maskp
    - errbuf
    argTypes:
    - char*
    - bpf_u_int32*
    - bpf_u_int32*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: pcap_lookupnet
    functionSourceFile: /src/libpcap/pcap-null.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    linkageType: ''
    returnType: int
    signature: "int pcap_lookupnet(const char *device _U_, bpf_u_int32 *netp _U_,\n
      \   bpf_u_int32 *maskp _U_, char *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: pcap_lib_version
    functionSourceFile: /src/libpcap/pcap-null.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_lib_version(void)'
  - 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: NTOHL
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NTOHL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gethostbyname
      Src: /src/libpcap/nametoaddr.c:161,1
    - Dst: NTOHL
      Src: /src/libpcap/nametoaddr.c:165,1
    - Dst: NTOHL
      Src: /src/libpcap/nametoaddr.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 175
    functionName: pcap_nametoaddr
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - NTOHL
    - gethostbyname
    linkageType: ''
    returnType: bpf_u_int32
    signature: 'bpf_u_int32 **

      pcap_nametoaddr(const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/nametoaddr.c:183,1
    - Dst: getaddrinfo
      Src: /src/libpcap/nametoaddr.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: pcap_nametoaddrinfo
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - memset
    - getaddrinfo
    linkageType: ''
    returnType: struct addrinfo
    signature: 'struct addrinfo *

      pcap_nametoaddrinfo(const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 217
    functionName: pcap_nametonetaddr
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bpf_u_int32
    signature: bpf_u_int32 pcap_nametonetaddr(const char *name _U_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getnetbyname_r
      Src: /src/libpcap/nametoaddr.c:250,1
    - Dst: getnetbyname_r
      Src: /src/libpcap/nametoaddr.c:266,1
    - Dst: getnetbyname_r
      Src: /src/libpcap/nametoaddr.c:274,1
    - Dst: getnetbyname
      Src: /src/libpcap/nametoaddr.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 295
    functionName: pcap_nametonetaddr
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - getnetbyname_r
    - getnetbyname
    linkageType: ''
    returnType: bpf_u_int32
    signature: bpf_u_int32 pcap_nametonetaddr(const char *name)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/nametoaddr.c:317,1
    - Dst: getaddrinfo
      Src: /src/libpcap/nametoaddr.c:321,1
    - Dst: ntohs
      Src: /src/libpcap/nametoaddr.c:346,1
    - Dst: ntohs
      Src: /src/libpcap/nametoaddr.c:351,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/nametoaddr.c:356,1
    - Dst: memset
      Src: /src/libpcap/nametoaddr.c:359,1
    - Dst: getaddrinfo
      Src: /src/libpcap/nametoaddr.c:363,1
    - Dst: ntohs
      Src: /src/libpcap/nametoaddr.c:388,1
    - Dst: ntohs
      Src: /src/libpcap/nametoaddr.c:393,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/nametoaddr.c:398,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 3
    argNames:
    - name
    - port
    - proto
    argTypes:
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 429
    functionName: pcap_nametoport
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - freeaddrinfo
    - memset
    - getaddrinfo
    - ntohs
    linkageType: ''
    returnType: int
    signature: int pcap_nametoport(const char *name, int *port, int *proto)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libpcap/nametoaddr.c:442,1
    - Dst: strchr
      Src: /src/libpcap/nametoaddr.c:445,1
    - Dst: free
      Src: /src/libpcap/nametoaddr.c:446,1
    - Dst: pcap_nametoport
      Src: /src/libpcap/nametoaddr.c:452,1
    - Dst: free
      Src: /src/libpcap/nametoaddr.c:453,1
    - Dst: pcap_nametoport
      Src: /src/libpcap/nametoaddr.c:458,1
    - Dst: free
      Src: /src/libpcap/nametoaddr.c:459,1
    - Dst: free
      Src: /src/libpcap/nametoaddr.c:462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - name
    - port1
    - port2
    - proto
    argTypes:
    - char*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 468
    functionName: pcap_nametoportrange
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - free
    - strdup
    - strchr
    - pcap_nametoport
    linkageType: ''
    returnType: int
    signature: int pcap_nametoportrange(const char *name, int *port1, int *port2,
      int *proto)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getprotobyname_r
      Src: /src/libpcap/nametoaddr.c:486,1
    - Dst: getprotobyname_r
      Src: /src/libpcap/nametoaddr.c:515,1
    - Dst: getprotobyname_r
      Src: /src/libpcap/nametoaddr.c:524,1
    - Dst: getprotobyname
      Src: /src/libpcap/nametoaddr.c:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 545
    functionName: pcap_nametoproto
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - getprotobyname
    - getprotobyname_r
    linkageType: ''
    returnType: int
    signature: int pcap_nametoproto(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libpcap/nametoaddr.c:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - struct eproto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 593
    functionName: proto_or_undef
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int proto_or_undef(const struct eproto *p, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proto_or_undef
      Src: /src/libpcap/nametoaddr.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: pcap_nametoeproto
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - proto_or_undef
    linkageType: ''
    returnType: int
    signature: int pcap_nametoeproto(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proto_or_undef
      Src: /src/libpcap/nametoaddr.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 616
    functionName: pcap_nametollc
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - proto_or_undef
    linkageType: ''
    returnType: int
    signature: int pcap_nametollc(const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 628
    functionName: pcapint_xdtoi
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u_char
    signature: u_char pcapint_xdtoi(const u_char c)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - s
    - addr
    argTypes:
    - char*
    - bpf_u_int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 657
    functionName: pcapint_atoin
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcapint_atoin(const char *s, bpf_u_int32 *addr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_ISDIGIT
      Src: /src/libpcap/nametoaddr.c:696,1
    - Dst: PCAP_ISDIGIT
      Src: /src/libpcap/nametoaddr.c:708,1
    - Dst: PCAP_ISDIGIT
      Src: /src/libpcap/nametoaddr.c:716,1
    - Dst: PCAP_ISDIGIT
      Src: /src/libpcap/nametoaddr.c:724,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 2
    argNames:
    - s
    - addr
    argTypes:
    - char*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 746
    functionName: pcapint_atodn
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - PCAP_ISDIGIT
    linkageType: ''
    returnType: int
    signature: int pcapint_atodn(const char *s, uint16_t *addr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:780,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:782,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:786,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:789,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - s
    - addr
    argTypes:
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 804
    functionName: pcapint_atoan
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - PCAP_ISXDIGIT
    - pcapint_xdtoi
    linkageType: ''
    returnType: int
    signature: int pcapint_atoan(const char *s, uint8_t *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/nametoaddr.c:810,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:811,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:812,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:813,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:814,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:815,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:816,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:817,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:818,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:819,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:820,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:821,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:822,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:823,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:823,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:824,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:824,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:825,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:825,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:826,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:826,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:827,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:827,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:828,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:828,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 2
    argNames:
    - s
    - addr
    argTypes:
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 832
    functionName: pcapint_atomac48_xxxxxxxxxxxx
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - PCAP_ISXDIGIT
    - pcapint_xdtoi
    - strlen
    linkageType: ''
    returnType: u_char
    signature: u_char pcapint_atomac48_xxxxxxxxxxxx(const char *s, uint8_t *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/nametoaddr.c:839,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:840,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:841,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:842,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:843,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:845,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:846,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:847,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:848,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:850,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:851,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:852,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:853,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:854,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:854,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:855,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:855,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:856,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:856,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:857,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:857,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:858,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:858,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:859,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:859,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 2
    argNames:
    - s
    - addr
    argTypes:
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 863
    functionName: pcapint_atomac48_xxxx_3_times
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - PCAP_ISXDIGIT
    - pcapint_xdtoi
    - strlen
    linkageType: ''
    returnType: u_char
    signature: u_char pcapint_atomac48_xxxx_3_times(const char *s, uint8_t *addr)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:989,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:990,1
    - Dst: strchr
      Src: /src/libpcap/nametoaddr.c:996,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:1001,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:1002,1
    - Dst: strchr
      Src: /src/libpcap/nametoaddr.c:1008,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:1015,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:1016,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:1026,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:1027,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:1039,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:1040,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:1050,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:1051,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:1063,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:1064,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:1074,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:1075,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:1087,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:1088,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:1098,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:1099,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:1111,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:1112,1
    - Dst: PCAP_ISXDIGIT
      Src: /src/libpcap/nametoaddr.c:1118,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/nametoaddr.c:1119,1
    - Dst: memcpy
      Src: /src/libpcap/nametoaddr.c:1132,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 169
    argCount: 2
    argNames:
    - s
    - addr
    argTypes:
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 1138
    functionName: pcapint_atomac48_x_xx_6_times
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - PCAP_ISXDIGIT
    - strchr
    - pcapint_xdtoi
    linkageType: ''
    returnType: u_char
    signature: u_char pcapint_atomac48_x_xx_6_times(const char *s, uint8_t *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_atomac48_xxxxxxxxxxxx
      Src: /src/libpcap/nametoaddr.c:1145,1
    - Dst: pcapint_atomac48_xxxx_3_times
      Src: /src/libpcap/nametoaddr.c:1146,1
    - Dst: pcapint_atomac48_x_xx_6_times
      Src: /src/libpcap/nametoaddr.c:1147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - s
    - addr
    argTypes:
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1149
    functionName: pcapint_atomac48
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - pcapint_atomac48_xxxx_3_times
    - pcapint_atomac48_xxxxxxxxxxxx
    - pcapint_atomac48_x_xx_6_times
    linkageType: ''
    returnType: int
    signature: int pcapint_atomac48(const char *s, uint8_t *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_atomac48
      Src: /src/libpcap/nametoaddr.c:1160,1
    - Dst: malloc
      Src: /src/libpcap/nametoaddr.c:1163,1
    - Dst: memcpy
      Src: /src/libpcap/nametoaddr.c:1166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1156
    functionDepth: 3
    functionLinenumber: 1156
    functionLinenumberEnd: 1168
    functionName: pcap_ether_aton
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - pcapint_atomac48
    - malloc
    linkageType: ''
    returnType: u_char
    signature: 'u_char *

      pcap_ether_aton(const char *s)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libpcap/nametoaddr.c:1187,1
    - Dst: rewind
      Src: /src/libpcap/nametoaddr.c:1194,1
    - Dst: pcap_next_etherent
      Src: /src/libpcap/nametoaddr.c:1196,1
    - Dst: strcmp
      Src: /src/libpcap/nametoaddr.c:1197,1
    - Dst: malloc
      Src: /src/libpcap/nametoaddr.c:1198,1
    - Dst: memcpy
      Src: /src/libpcap/nametoaddr.c:1200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1178
    functionDepth: 2
    functionLinenumber: 1178
    functionLinenumberEnd: 1207
    functionName: pcap_ether_hostton
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - fopen
    - memcpy
    - strcmp
    - rewind
    - pcap_next_etherent
    - malloc
    linkageType: ''
    returnType: u_char
    signature: 'u_char *

      pcap_ether_hostton(const char *name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/nametoaddr.c:1223,1
    - Dst: ether_hostton
      Src: /src/libpcap/nametoaddr.c:1225,1
    - Dst: malloc
      Src: /src/libpcap/nametoaddr.c:1226,1
    - Dst: memcpy
      Src: /src/libpcap/nametoaddr.c:1228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1231
    functionName: pcap_ether_hostton
    functionSourceFile: /src/libpcap/nametoaddr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - pcapint_strlcpy
    - malloc
    - ether_hostton
    linkageType: ''
    returnType: u_char
    signature: 'u_char *

      pcap_ether_hostton(const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - ps
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: pcap_netmap_stats
    functionSourceFile: /src/libpcap/pcap-netmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_netmap_stats(pcap_t *p, struct pcap_stat *ps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap-netmap.c:85,1
    - Dst: struct pcap_netmap*::cb
      Src: /src/libpcap/pcap-netmap.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - h
    - buf
    argTypes:
    - u_char*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 93
    functionName: pcap_netmap_filter
    functionSourceFile: /src/libpcap/pcap-netmap.c
    functionUses: 0
    functionsReached:
    - pcapint_filter
    - struct pcap_netmap*::cb
    linkageType: ''
    returnType: void
    signature: void pcap_netmap_filter(u_char *arg, struct pcap_pkthdr *h, const u_char
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nm_dispatch
      Src: /src/libpcap/pcap-netmap.c:114,1
    - Dst: poll
      Src: /src/libpcap/pcap-netmap.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - p
    - cnt
    - cb
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 121
    functionName: pcap_netmap_dispatch
    functionSourceFile: /src/libpcap/pcap-netmap.c
    functionUses: 0
    functionsReached:
    - poll
    - nm_dispatch
    linkageType: ''
    returnType: int
    signature: int pcap_netmap_dispatch(pcap_t *p, int cnt, pcap_handler cb, u_char
      *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nm_inject
      Src: /src/libpcap/pcap-netmap.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: pcap_netmap_inject
    functionSourceFile: /src/libpcap/pcap-netmap.c
    functionUses: 0
    functionsReached:
    - nm_inject
    linkageType: ''
    returnType: int
    signature: int pcap_netmap_inject(pcap_t *p, const void *buf, int size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpcap/pcap-netmap.c:144,1
    - Dst: fprintf
      Src: /src/libpcap/pcap-netmap.c:146,1
    - Dst: memset
      Src: /src/libpcap/pcap-netmap.c:150,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-netmap.c:155,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-netmap.c:181,1
    - Dst: close
      Src: /src/libpcap/pcap-netmap.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - p
    - what
    - if_flags
    argTypes:
    - pcap_t*
    - u_long
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 212
    functionName: pcap_netmap_ioctl
    functionSourceFile: /src/libpcap/pcap-netmap.c
    functionUses: 0
    functionsReached:
    - close
    - ioctl
    - fprintf
    - socket
    - pcapint_strlcpy
    - memset
    linkageType: ''
    returnType: int
    signature: int pcap_netmap_ioctl(pcap_t *p, u_long what, uint32_t *if_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcap_netmap_ioctl
      Src: /src/libpcap/pcap-netmap.c:223,1
    - Dst: pcap_netmap_ioctl
      Src: /src/libpcap/pcap-netmap.c:226,1
    - Dst: nm_close
      Src: /src/libpcap/pcap-netmap.c:229,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-netmap.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: pcap_netmap_close
    functionSourceFile: /src/libpcap/pcap-netmap.c
    functionUses: 0
    functionsReached:
    - pcapint_cleanup_live_common
    - nm_close
    - pcap_netmap_ioctl
    linkageType: ''
    returnType: void
    signature: void pcap_netmap_close(pcap_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nm_open
      Src: /src/libpcap/pcap-netmap.c:241,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-netmap.c:243,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-netmap.c:246,1
    - Dst: fprintf
      Src: /src/libpcap/pcap-netmap.c:250,1
    - Dst: pcap_netmap_ioctl
      Src: /src/libpcap/pcap-netmap.c:269,1
    - Dst: pcap_netmap_ioctl
      Src: /src/libpcap/pcap-netmap.c:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 289
    functionName: pcap_netmap_activate
    functionSourceFile: /src/libpcap/pcap-netmap.c
    functionUses: 0
    functionsReached:
    - fprintf
    - pcapint_fmt_errmsg_for_errno
    - nm_open
    - pcap_netmap_ioctl
    - pcapint_cleanup_live_common
    linkageType: ''
    returnType: int
    signature: int pcap_netmap_activate(pcap_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libpcap/pcap-netmap.c:297,1
    - Dst: strncmp
      Src: /src/libpcap/pcap-netmap.c:297,1
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-netmap.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - device
    - ebuf
    - is_ours
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 305
    functionName: pcap_netmap_create
    functionSourceFile: /src/libpcap/pcap-netmap.c
    functionUses: 0
    functionsReached:
    - PCAP_CREATE_COMMON
    - strncmp
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcap_netmap_create(const char *device, char *ebuf, int *is_ours)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: SET_BINMODE
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINMODE(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - nonblock
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: sf_setnonblock
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int sf_setnonblock(pcap_t *p, int nonblock _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - _U_
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: sf_stats
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int sf_stats(pcap_t *p, struct pcap_stat *ps _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - pcap_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: sf_stats_ex
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: struct pcap_stat
    signature: 'struct pcap_stat *

      sf_stats_ex(pcap_t *p, int *size _U_)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - dim
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: sf_setbuff
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int sf_setbuff(pcap_t *p, int dim _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - mode
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: sf_setmode
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int sf_setmode(pcap_t *p, int mode _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: sf_setmintocopy
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int sf_setmintocopy(pcap_t *p, int size _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pcap
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: sf_getevent
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE sf_getevent(pcap_t *pcap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - oid
    - data
    - lenp
    argTypes:
    - pcap_t*
    - bpf_u_int32
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: sf_oid_get_request
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int sf_oid_get_request(pcap_t *p, bpf_u_int32 oid _U_, void *data
      _U_,\n    size_t *lenp _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - oid
    - data
    - lenp
    argTypes:
    - pcap_t*
    - bpf_u_int32
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: sf_oid_set_request
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int sf_oid_set_request(pcap_t *p, bpf_u_int32 oid _U_, const void
      *data _U_,\n    size_t *lenp _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/savefile.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - queue
    - sync
    argTypes:
    - pcap_t*
    - pcap_send_queue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: sf_sendqueue_transmit
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    linkageType: ''
    returnType: u_int
    signature: u_int sf_sendqueue_transmit(pcap_t *p, pcap_send_queue *queue _U_,
      int sync _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - size
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: sf_setuserbuffer
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int sf_setuserbuffer(pcap_t *p, int size _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - p
    - filename
    - maxsize
    - maxpacks
    argTypes:
    - pcap_t*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: sf_live_dump
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int sf_live_dump(pcap_t *p, char *filename _U_, int maxsize _U_, int
      maxpacks _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - sync
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: sf_live_dump_ended
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int sf_live_dump_ended(pcap_t *p, int sync _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/savefile.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: sf_inject
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    linkageType: ''
    returnType: int
    signature: int sf_inject(pcap_t *p, const void *buf _U_, int size _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - _U_
    argTypes:
    - pcap_t*
    - pcap_direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: sf_setdirection
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int sf_setdirection(pcap_t *p, pcap_direction_t d _U_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libpcap/savefile.c:240,1
    - Dst: free
      Src: /src/libpcap/savefile.c:242,1
    - Dst: pcap_freecode
      Src: /src/libpcap/savefile.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: pcapint_sf_cleanup
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 1
    functionsReached:
    - free
    - fclose
    - pcap_freecode
    linkageType: ''
    returnType: void
    signature: void pcapint_sf_cleanup(pcap_t *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cp_to_utf_16le
      Src: /src/libpcap/savefile.c:276,1
    - Dst: free
      Src: /src/libpcap/savefile.c:295,1
    - Dst: free
      Src: /src/libpcap/savefile.c:301,1
    - Dst: _wfopen
      Src: /src/libpcap/savefile.c:313,1
    - Dst: free
      Src: /src/libpcap/savefile.c:320,1
    - Dst: fopen
      Src: /src/libpcap/savefile.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 331
    functionName: pcapint_charset_fopen
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 2
    functionsReached:
    - free
    - _wfopen
    - fopen
    - cp_to_utf_16le
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      pcapint_charset_fopen(const char *path, const char *mode)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:342,1
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:350,1
    - Dst: SET_BINMODE
      Src: /src/libpcap/savefile.c:359,1
    - Dst: pcapint_charset_fopen
      Src: /src/libpcap/savefile.c:372,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/savefile.c:374,1
    - Dst: pcap_fopen_offline_with_tstamp_precision
      Src: /src/libpcap/savefile.c:379,1
    - Dst: fclose
      Src: /src/libpcap/savefile.c:382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - fname
    - precision
    - errbuf
    argTypes:
    - char*
    - u_int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 385
    functionName: pcap_open_offline_with_tstamp_precision
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - pcapint_charset_fopen
    - fclose
    - pcapint_fmt_errmsg_for_errno
    - pcap_fopen_offline_with_tstamp_precision
    - snprintf
    - SET_BINMODE
    linkageType: ''
    returnType: pcap_t
    signature: "pcap_t *\npcap_open_offline_with_tstamp_precision(const char *fname,
      u_int precision,\n\t\t\t\t\tchar *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_open_offline_with_tstamp_precision
      Src: /src/libpcap/savefile.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - errbuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: pcap_open_offline
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - pcap_open_offline_with_tstamp_precision
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcap_open_offline(const char *fname, char *errbuf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _open_osfhandle
      Src: /src/libpcap/savefile.c:401,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/savefile.c:404,1
    - Dst: _fdopen
      Src: /src/libpcap/savefile.c:409,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/savefile.c:412,1
    - Dst: _close
      Src: /src/libpcap/savefile.c:414,1
    - Dst: pcap_fopen_offline_with_tstamp_precision
      Src: /src/libpcap/savefile.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - osfd
    - precision
    - errbuf
    argTypes:
    - intptr_t
    - u_int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 420
    functionName: pcap_hopen_offline_with_tstamp_precision
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - pcap_fopen_offline_with_tstamp_precision
    - _close
    - _fdopen
    - _open_osfhandle
    linkageType: ''
    returnType: pcap_t
    signature: "pcap_t * pcap_hopen_offline_with_tstamp_precision(intptr_t osfd, u_int
      precision,\n    char *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_hopen_offline_with_tstamp_precision
      Src: /src/libpcap/savefile.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - osfd
    - errbuf
    argTypes:
    - intptr_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 3
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: pcap_hopen_offline
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - pcap_hopen_offline_with_tstamp_precision
    linkageType: ''
    returnType: pcap_t
    signature: pcap_t * pcap_hopen_offline(intptr_t osfd, char *errbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max_snaplen_for_dlt
      Src: /src/libpcap/savefile.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - linktype
    - snaplen
    argTypes:
    - bpf_u_int32
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 454
    functionName: pcapint_adjust_snapshot
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 3
    functionsReached:
    - max_snaplen_for_dlt
    linkageType: ''
    returnType: bpf_u_int32
    signature: bpf_u_int32 pcapint_adjust_snapshot(bpf_u_int32 linktype, bpf_u_int32
      snaplen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:484,1
    - Dst: fread
      Src: /src/libpcap/savefile.c:496,1
    - Dst: ferror
      Src: /src/libpcap/savefile.c:498,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/savefile.c:499,1
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:502,1
    - Dst: snprintf
      Src: /src/libpcap/savefile.c:529,1
    - Dst: fileno
      Src: /src/libpcap/savefile.c:546,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 56
    argCount: 3
    argNames:
    - fp
    - precision
    - errbuf
    argTypes:
    - FILE*
    - u_int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 601
    functionName: pcap_fopen_offline_with_tstamp_precision
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 2
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - ferror
    - fread
    - snprintf
    - fileno
    linkageType: ''
    returnType: pcap_t
    signature: "pcap_t *\npcap_fopen_offline_with_tstamp_precision(FILE *fp, u_int
      precision,\n    char *errbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_fopen_offline_with_tstamp_precision
      Src: /src/libpcap/savefile.c:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fp
    - errbuf
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 614
    functionName: pcap_fopen_offline
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 0
    functionsReached:
    - pcap_fopen_offline_with_tstamp_precision
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcap_fopen_offline(FILE *fp, char *errbuf)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PACKET_COUNT_IS_UNLIMITED
      Src: /src/libpcap/savefile.c:641,1
    - Dst: pcap_t*::next_packet_op
      Src: /src/libpcap/savefile.c:665,1
    - Dst: pcapint_filter
      Src: /src/libpcap/savefile.c:684,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - p
    - cnt
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 693
    functionName: pcapint_offline_read
    functionSourceFile: /src/libpcap/savefile.c
    functionUses: 2
    functionsReached:
    - pcap_t*::next_packet_op
    - PACKET_COUNT_IS_UNLIMITED
    - pcapint_filter
    linkageType: ''
    returnType: int
    signature: int pcapint_offline_read(pcap_t *p, int cnt, pcap_handler callback,
      u_char *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sa_prefix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: __SOCKADDR_COMMON
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __SOCKADDR_COMMON(sa_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - jtype
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: JMP
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JMP(jtype, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - cs
    - ','
    - new_linktype
    - ','
    - new_is_variable
    - ','
    - new_constant_part
    - ','
    - new_reg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 362
    functionName: PUSH_LINKHDR
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUSH_LINKHDR(cs, new_linktype, new_is_variable, new_constant_part,
      new_reg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 420
    functionName: CHUNKSIZE
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHUNKSIZE(idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libpcap/gencode.c:641,1
    - Dst: vsnprintf
      Src: /src/libpcap/gencode.c:642,1
    - Dst: va_end
      Src: /src/libpcap/gencode.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cstate
    - fmt
    argTypes:
    - compiler_state_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 647
    functionName: bpf_set_error
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void bpf_set_error(compiler_state_t *cstate, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libpcap/gencode.c:661,1
    - Dst: vsnprintf
      Src: /src/libpcap/gencode.c:662,1
    - Dst: va_end
      Src: /src/libpcap/gencode.c:664,1
    - Dst: longjmp
      Src: /src/libpcap/gencode.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cstate
    - fmt
    argTypes:
    - compiler_state_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 670
    functionName: PCAP_NORETURN::bpf_error
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_start
    - longjmp
    - va_end
    linkageType: ''
    returnType: void
    signature: 'void PCAP_NORETURN

      bpf_error(compiler_state_t *cstate, const char *fmt, ...)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bpf_set_error
      Src: /src/libpcap/gencode.c:809,1
    - Dst: CHUNKSIZE
      Src: /src/libpcap/gencode.c:813,1
    - Dst: calloc
      Src: /src/libpcap/gencode.c:814,1
    - Dst: bpf_set_error
      Src: /src/libpcap/gencode.c:816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 821
    functionName: initcurrentchunk_ok
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - CHUNKSIZE
    - calloc
    - bpf_set_error
    linkageType: ''
    returnType: bool
    signature: bool initcurrentchunk_ok(compiler_state_t *cstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initcurrentchunk_ok
      Src: /src/libpcap/gencode.c:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 834
    functionName: initchunks_ok
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - initcurrentchunk_ok
    linkageType: ''
    returnType: bool
    signature: bool initchunks_ok(compiler_state_t *cstate)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bpf_set_error
      Src: /src/libpcap/gencode.c:844,1
    - Dst: CHUNKSIZE
      Src: /src/libpcap/gencode.c:848,1
    - Dst: bpf_set_error
      Src: /src/libpcap/gencode.c:849,1
    - Dst: initcurrentchunk_ok
      Src: /src/libpcap/gencode.c:855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - cstate
    - n
    argTypes:
    - compiler_state_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 861
    functionName: newchunk_nolongjmp
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - CHUNKSIZE
    - initcurrentchunk_ok
    - bpf_set_error
    linkageType: ''
    returnType: void
    signature: 'void *

      newchunk_nolongjmp(compiler_state_t *cstate, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: newchunk_nolongjmp
      Src: /src/libpcap/gencode.c:868,1
    - Dst: longjmp
      Src: /src/libpcap/gencode.c:870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cstate
    - n
    argTypes:
    - compiler_state_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 863
    functionDepth: 3
    functionLinenumber: 863
    functionLinenumberEnd: 874
    functionName: newchunk
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - longjmp
    - newchunk_nolongjmp
    linkageType: ''
    returnType: void
    signature: 'void *

      newchunk(compiler_state_t *cstate, size_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpcap/gencode.c:883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 884
    functionName: freechunks
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void freechunks(compiler_state_t *cstate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/gencode.c:895,1
    - Dst: newchunk_nolongjmp
      Src: /src/libpcap/gencode.c:896,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/gencode.c:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cstate
    - s
    argTypes:
    - compiler_state_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 892
    functionDepth: 3
    functionLinenumber: 892
    functionLinenumberEnd: 902
    functionName: sdup
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    - newchunk_nolongjmp
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      sdup(compiler_state_t *cstate, const char *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: newchunk
      Src: /src/libpcap/gencode.c:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cstate
    - code
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 904
    functionDepth: 4
    functionLinenumber: 904
    functionLinenumberEnd: 914
    functionName: new_block
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - newchunk
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      new_block(compiler_state_t *cstate, int code)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: newchunk
      Src: /src/libpcap/gencode.c:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cstate
    - code
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 916
    functionDepth: 4
    functionLinenumber: 916
    functionLinenumberEnd: 925
    functionName: new_stmt
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - newchunk
    linkageType: ''
    returnType: struct slist
    signature: 'struct slist *

      new_stmt(compiler_state_t *cstate, int code)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_block
      Src: /src/libpcap/gencode.c:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cstate
    - v
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 927
    functionDepth: 5
    functionLinenumber: 927
    functionLinenumberEnd: 934
    functionName: gen_retblk_internal
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - new_block
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_retblk_internal(compiler_state_t *cstate, int v)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:939,1
    - Dst: gen_retblk_internal
      Src: /src/libpcap/gencode.c:949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cstate
    - v
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 936
    functionDepth: 6
    functionLinenumber: 936
    functionLinenumberEnd: 950
    functionName: gen_retblk
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_retblk_internal
    - setjmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_retblk(compiler_state_t *cstate, int v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 956
    functionName: syntax
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - bpf_error
    linkageType: ''
    returnType: PCAP_NORETURN_DEF
    signature: PCAP_NORETURN_DEF syntax(compiler_state_t *cstate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/gencode.c:977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - kind
    - id
    - tokens
    - size
    argTypes:
    - char*
    - unsigned
    - char*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 979
    functionName: qual2kw
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\nqual2kw(const char *kind, const unsigned id, const char *tokens[],\n
      \   const size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qual2kw
      Src: /src/libpcap/gencode.c:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 1027
    functionName: pqkw
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - qual2kw
    linkageType: ''
    returnType: char
    signature: 'char *

      pqkw(const unsigned id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qual2kw
      Src: /src/libpcap/gencode.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1046
    functionName: dqkw
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - qual2kw
    linkageType: ''
    returnType: char
    signature: 'char *

      dqkw(const unsigned id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qual2kw
      Src: /src/libpcap/gencode.c:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1062
    functionName: tqkw
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - qual2kw
    linkageType: ''
    returnType: char
    signature: 'char *

      tqkw(const unsigned id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qual2kw
      Src: /src/libpcap/gencode.c:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1084
    functionName: atmkw
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - qual2kw
    linkageType: ''
    returnType: char
    signature: 'char *

      atmkw(const unsigned id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qual2kw
      Src: /src/libpcap/gencode.c:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1107
    functionName: ss7kw
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - qual2kw
    linkageType: ''
    returnType: char
    signature: 'char *

      ss7kw(const unsigned id)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcap_datalink_val_to_name
      Src: /src/libpcap/gencode.c:1114,1
    - Dst: pcap_datalink_val_to_description
      Src: /src/libpcap/gencode.c:1115,1
    - Dst: snprintf
      Src: /src/libpcap/gencode.c:1123,1
    - Dst: snprintf
      Src: /src/libpcap/gencode.c:1125,1
    - Dst: snprintf
      Src: /src/libpcap/gencode.c:1130,1
    - Dst: pcap_datalink_val_to_description_or_dlt
      Src: /src/libpcap/gencode.c:1134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - dlt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1110
    functionDepth: 2
    functionLinenumber: 1110
    functionLinenumberEnd: 1135
    functionName: pcapint_datalink_val_to_string
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pcap_datalink_val_to_name
    - pcap_datalink_val_to_description
    - snprintf
    - pcap_datalink_val_to_description_or_dlt
    linkageType: ''
    returnType: char
    signature: 'char *

      pcapint_datalink_val_to_string(const int dlt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:1140,1
    - Dst: pcapint_datalink_val_to_string
      Src: /src/libpcap/gencode.c:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstate
    - keyword
    argTypes:
    - compiler_state_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1137
    functionDepth: 3
    functionLinenumber: 1137
    functionLinenumberEnd: 1142
    functionName: fail_kw_on_dlt
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pcapint_datalink_val_to_string
    - bpf_error
    linkageType: ''
    returnType: PCAP_NORETURN_DEF
    signature: PCAP_NORETURN_DEF fail_kw_on_dlt(compiler_state_t *cstate, const char
      *keyword)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:1148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cstate
    - kw
    argTypes:
    - compiler_state_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1149
    functionName: assert_pflog
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - bpf_error
    linkageType: ''
    returnType: void
    signature: void assert_pflog(compiler_state_t *cstate, const char *kw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:1164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - cstate
    - kw
    argTypes:
    - compiler_state_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1165
    functionName: assert_atm
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - bpf_error
    linkageType: ''
    returnType: void
    signature: void assert_atm(compiler_state_t *cstate, const char *kw)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:1181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - cstate
    - kw
    argTypes:
    - compiler_state_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1182
    functionName: assert_ss7
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - bpf_error
    linkageType: ''
    returnType: void
    signature: void assert_ss7(compiler_state_t *cstate, const char *kw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - cstate
    - name
    - val
    - maxval
    argTypes:
    - compiler_state_t*
    - char*
    - bpf_u_int32
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1191
    functionName: assert_maxval
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - bpf_error
    linkageType: ''
    returnType: void
    signature: "void assert_maxval(compiler_state_t *cstate, const char *name,\n    const
      bpf_u_int32 val, const bpf_u_int32 maxval)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:1204,1
    - Dst: dqkw
      Src: /src/libpcap/gencode.c:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cstate
    - dir
    argTypes:
    - compiler_state_t*
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1193
    functionDepth: 2
    functionLinenumber: 1193
    functionLinenumberEnd: 1206
    functionName: assert_nonwlan_dqual
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - dqkw
    - bpf_error
    linkageType: ''
    returnType: void
    signature: void assert_nonwlan_dqual(compiler_state_t *cstate, const u_char dir)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:1227,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:1227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - cstate
    - proto
    - kw
    argTypes:
    - compiler_state_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1228
    functionName: port_pq_to_ipproto
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pqkw
    - bpf_error
    linkageType: ''
    returnType: int
    signature: int port_pq_to_ipproto(compiler_state_t *cstate, const int proto, const
      char *kw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:1249,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cstate
    - pqual
    argTypes:
    - compiler_state_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1251
    functionName: pq_to_ipproto
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pqkw
    - bpf_error
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t pq_to_ipproto(compiler_state_t *cstate, const uint8_t pqual)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:1264,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cstate
    - pqual
    argTypes:
    - compiler_state_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1253
    functionDepth: 2
    functionLinenumber: 1253
    functionLinenumberEnd: 1265
    functionName: pq_to_llcsap
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pqkw
    - bpf_error
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t pq_to_llcsap(compiler_state_t *cstate, const uint8_t pqual)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:1285,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:1285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cstate
    - pqual
    argTypes:
    - compiler_state_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1267
    functionDepth: 2
    functionLinenumber: 1267
    functionLinenumberEnd: 1286
    functionName: pq_to_ethertype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pqkw
    - bpf_error
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t pq_to_ethertype(compiler_state_t *cstate, const uint8_t pqual)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:1298,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:1298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cstate
    - pqual
    argTypes:
    - compiler_state_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1288
    functionDepth: 2
    functionLinenumber: 1288
    functionLinenumberEnd: 1299
    functionName: pq_to_nlpid
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pqkw
    - bpf_error
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t pq_to_nlpid(compiler_state_t *cstate, const uint8_t pqual)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/gencode.c:1320,1
    - Dst: WSAStartup
      Src: /src/libpcap/gencode.c:1331,1
    - Dst: MAKEWORD
      Src: /src/libpcap/gencode.c:1331,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/gencode.c:1333,1
    - Dst: init_regs
      Src: /src/libpcap/gencode.c:1366,1
    - Dst: initchunks_ok
      Src: /src/libpcap/gencode.c:1369,1
    - Dst: pcap_snapshot
      Src: /src/libpcap/gencode.c:1377,1
    - Dst: snprintf
      Src: /src/libpcap/gencode.c:1379,1
    - Dst: pcap_lex_init
      Src: /src/libpcap/gencode.c:1385,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/gencode.c:1386,1
    - Dst: pcap__scan_string
      Src: /src/libpcap/gencode.c:1391,1
    - Dst: pcap_set_extra
      Src: /src/libpcap/gencode.c:1397,1
    - Dst: init_linktype
      Src: /src/libpcap/gencode.c:1399,1
    - Dst: pcap_parse
      Src: /src/libpcap/gencode.c:1403,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/gencode.c:1405,1
    - Dst: gen_retblk
      Src: /src/libpcap/gencode.c:1411,1
    - Dst: bpf_optimize
      Src: /src/libpcap/gencode.c:1423,1
    - Dst: snprintf
      Src: /src/libpcap/gencode.c:1430,1
    - Dst: icode_to_fcode
      Src: /src/libpcap/gencode.c:1436,1
    - Dst: pcap__delete_buffer
      Src: /src/libpcap/gencode.c:1452,1
    - Dst: pcap_lex_destroy
      Src: /src/libpcap/gencode.c:1454,1
    - Dst: freechunks
      Src: /src/libpcap/gencode.c:1459,1
    - Dst: WSACleanup
      Src: /src/libpcap/gencode.c:1462,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 90
    argCount: 5
    argNames:
    - p
    - program
    - buf
    - optimize
    - mask
    argTypes:
    - pcap_t*
    - struct bpf_program*
    - char*
    - int
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1301
    functionDepth: 8
    functionLinenumber: 1301
    functionLinenumberEnd: 1466
    functionName: pcap_compile
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 2
    functionsReached:
    - pcap_set_extra
    - init_regs
    - MAKEWORD
    - init_linktype
    - pcap_parse
    - pcap_snapshot
    - bpf_optimize
    - icode_to_fcode
    - freechunks
    - pcap_lex_init
    - gen_retblk
    - pcap__delete_buffer
    - snprintf
    - freeaddrinfo
    - WSAStartup
    - pcap__scan_string
    - WSACleanup
    - initchunks_ok
    - pcapint_fmt_errmsg_for_errno
    - pcap_lex_destroy
    - pcapint_fmt_errmsg_for_win32_err
    linkageType: ''
    returnType: int
    signature: "int pcap_compile(pcap_t *p, struct bpf_program *program,\n\t     const
      char *buf, int optimize, bpf_u_int32 mask)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_open_dead
      Src: /src/libpcap/gencode.c:1480,1
    - Dst: pcap_compile
      Src: /src/libpcap/gencode.c:1483,1
    - Dst: pcap_close
      Src: /src/libpcap/gencode.c:1484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - snaplen_arg
    - linktype_arg
    - program
    - buf
    - optimize
    - mask
    argTypes:
    - int
    - int
    - struct bpf_program*
    - char*
    - int
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1472
    functionDepth: 9
    functionLinenumber: 1472
    functionLinenumberEnd: 1486
    functionName: pcap_compile_nopcap
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pcap_compile
    - pcap_open_dead
    - pcap_close
    linkageType: ''
    returnType: int
    signature: "int pcap_compile_nopcap(int snaplen_arg, int linktype_arg,\n\t\t    struct
      bpf_program *program,\n\t\t    const char *buf, int optimize, bpf_u_int32 mask)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpcap/gencode.c:1497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - program
    argTypes:
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1500
    functionName: pcap_freecode
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 5
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void pcap_freecode(struct bpf_program *program)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JT
      Src: /src/libpcap/gencode.c:1515,1
    - Dst: JT
      Src: /src/libpcap/gencode.c:1516,1
    - Dst: JF
      Src: /src/libpcap/gencode.c:1518,1
    - Dst: JF
      Src: /src/libpcap/gencode.c:1519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - list
    - target
    argTypes:
    - struct block*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1508
    functionDepth: 1
    functionLinenumber: 1508
    functionLinenumberEnd: 1523
    functionName: backpatch
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - JF
    - JT
    linkageType: ''
    returnType: void
    signature: void backpatch(struct block *list, struct block *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JT
      Src: /src/libpcap/gencode.c:1536,1
    - Dst: JF
      Src: /src/libpcap/gencode.c:1536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b0
    - b1
    argTypes:
    - struct block*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1540
    functionName: merge
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - JF
    - JT
    linkageType: ''
    returnType: void
    signature: void merge(struct block *b0, struct block *b1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:1549,1
    - Dst: insert_compute_vloffsets
      Src: /src/libpcap/gencode.c:1573,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:1589,1
    - Dst: SWAPLONG
      Src: /src/libpcap/gencode.c:1590,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:1591,1
    - Dst: backpatch
      Src: /src/libpcap/gencode.c:1594,1
    - Dst: gen_retblk_internal
      Src: /src/libpcap/gencode.c:1594,1
    - Dst: backpatch
      Src: /src/libpcap/gencode.c:1596,1
    - Dst: gen_retblk_internal
      Src: /src/libpcap/gencode.c:1596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cstate
    - p_arg
    argTypes:
    - compiler_state_t*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1542
    functionDepth: 6
    functionLinenumber: 1542
    functionLinenumberEnd: 1599
    functionName: finish_parse
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_retblk_internal
    - backpatch
    - SWAPLONG
    - setjmp
    - insert_compute_vloffsets
    - gen_cmp
    - gen_and
    linkageType: ''
    returnType: int
    signature: int finish_parse(compiler_state_t *cstate, struct block *p_arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: backpatch
      Src: /src/libpcap/gencode.c:1618,1
    - Dst: merge
      Src: /src/libpcap/gencode.c:1621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - b0
    - b1
    argTypes:
    - struct block*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1601
    functionDepth: 2
    functionLinenumber: 1601
    functionLinenumberEnd: 1625
    functionName: gen_and
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - backpatch
    - merge
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_and(struct block *b0, struct block *b1)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: backpatch
      Src: /src/libpcap/gencode.c:1645,1
    - Dst: merge
      Src: /src/libpcap/gencode.c:1647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - b0
    - b1
    argTypes:
    - struct block*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1627
    functionDepth: 2
    functionLinenumber: 1627
    functionLinenumberEnd: 1650
    functionName: gen_or
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - backpatch
    - merge
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_or(struct block *b0, struct block *b1)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1662
    functionName: gen_not
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_not(struct block *b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:1668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cstate
    - offrel
    - offset
    - size
    - v
    argTypes:
    - compiler_state_t*
    - enum e_offrel
    - u_int
    - u_int
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1664
    functionDepth: 1
    functionLinenumber: 1664
    functionLinenumberEnd: 1669
    functionName: gen_cmp
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - gen_ncmp
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_cmp(compiler_state_t *cstate, enum e_offrel offrel,
      u_int offset,\n    u_int size, bpf_u_int32 v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:1675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cstate
    - offrel
    - offset
    - size
    - v
    argTypes:
    - compiler_state_t*
    - enum e_offrel
    - u_int
    - u_int
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1671
    functionDepth: 1
    functionLinenumber: 1671
    functionLinenumberEnd: 1676
    functionName: gen_cmp_gt
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_ncmp
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_cmp_gt(compiler_state_t *cstate, enum e_offrel
      offrel, u_int offset,\n    u_int size, bpf_u_int32 v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:1682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cstate
    - offrel
    - offset
    - size
    - v
    argTypes:
    - compiler_state_t*
    - enum e_offrel
    - u_int
    - u_int
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1678
    functionDepth: 1
    functionLinenumber: 1678
    functionLinenumberEnd: 1683
    functionName: gen_cmp_ge
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_ncmp
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_cmp_ge(compiler_state_t *cstate, enum e_offrel
      offrel, u_int offset,\n    u_int size, bpf_u_int32 v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:1689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cstate
    - offrel
    - offset
    - size
    - v
    argTypes:
    - compiler_state_t*
    - enum e_offrel
    - u_int
    - u_int
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1690
    functionName: gen_cmp_lt
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_ncmp
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_cmp_lt(compiler_state_t *cstate, enum e_offrel
      offrel, u_int offset,\n    u_int size, bpf_u_int32 v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:1696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cstate
    - offrel
    - offset
    - size
    - v
    argTypes:
    - compiler_state_t*
    - enum e_offrel
    - u_int
    - u_int
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1692
    functionDepth: 1
    functionLinenumber: 1692
    functionLinenumberEnd: 1697
    functionName: gen_cmp_le
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_ncmp
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_cmp_le(compiler_state_t *cstate, enum e_offrel
      offrel, u_int offset,\n    u_int size, bpf_u_int32 v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:1703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cstate
    - offrel
    - offset
    - size
    - v
    argTypes:
    - compiler_state_t*
    - enum e_offrel
    - u_int
    - u_int
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1704
    functionName: gen_cmp_ne
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_ncmp
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_cmp_ne(compiler_state_t *cstate, enum e_offrel
      offrel, u_int offset,\n    u_int size, bpf_u_int32 v)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gen_false
      Src: /src/libpcap/gencode.c:1721,1
    - Dst: gen_true
      Src: /src/libpcap/gencode.c:1721,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:1723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - cstate
    - offrel
    - offset
    - size
    - v
    - mask
    argTypes:
    - compiler_state_t*
    - enum e_offrel
    - u_int
    - u_int
    - bpf_u_int32
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1706
    functionDepth: 1
    functionLinenumber: 1706
    functionLinenumberEnd: 1724
    functionName: gen_mcmp
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_true
    - gen_ncmp
    - gen_false
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_mcmp(compiler_state_t *cstate, enum e_offrel offrel,
      u_int offset,\n    u_int size, bpf_u_int32 v, bpf_u_int32 mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:1730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - cstate
    - offrel
    - offset
    - size
    - v
    - mask
    argTypes:
    - compiler_state_t*
    - enum e_offrel
    - u_int
    - u_int
    - bpf_u_int32
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1731
    functionName: gen_mcmp_ne
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_ncmp
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_mcmp_ne(compiler_state_t *cstate, enum e_offrel
      offrel, u_int offset,\n    u_int size, bpf_u_int32 v, bpf_u_int32 mask)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:1749,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:1753,1
    - Dst: EXTRACT_BE_U_4
      Src: /src/libpcap/gencode.c:1754,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:1755,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:1761,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/libpcap/gencode.c:1762,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:1763,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:1767,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:1768,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - cstate
    - offrel
    - offset
    - size
    - v
    argTypes:
    - compiler_state_t*
    - enum e_offrel
    - u_int
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1733
    functionDepth: 3
    functionLinenumber: 1733
    functionLinenumberEnd: 1771
    functionName: gen_bcmp
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - EXTRACT_BE_U_4
    - gen_cmp
    - gen_and
    - EXTRACT_BE_U_2
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_bcmp(compiler_state_t *cstate, enum e_offrel offrel,
      u_int offset,\n    u_int size, const u_char *v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_block
      Src: /src/libpcap/gencode.c:1781,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:1781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - cstate
    - jtype
    - v
    - stmts
    argTypes:
    - compiler_state_t*
    - int
    - bpf_u_int32
    - struct slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1777
    functionDepth: 5
    functionLinenumber: 1777
    functionLinenumberEnd: 1785
    functionName: gen_jmp_k
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - new_block
    - JMP
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_jmp_k(compiler_state_t *cstate, const int jtype,
      const bpf_u_int32 v,\n          struct slist *stmts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_block
      Src: /src/libpcap/gencode.c:1794,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:1794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cstate
    - jtype
    - stmts
    argTypes:
    - compiler_state_t*
    - int
    - struct slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1791
    functionDepth: 5
    functionLinenumber: 1791
    functionLinenumberEnd: 1797
    functionName: gen_jmp_x
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - new_block
    - JMP
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_jmp_x(compiler_state_t *cstate, const int jtype, struct slist *stmts)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_jmp_k
      Src: /src/libpcap/gencode.c:1802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cstate
    - v
    - stmts
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - struct slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1799
    functionDepth: 6
    functionLinenumber: 1799
    functionLinenumberEnd: 1803
    functionName: gen_set
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_jmp_k
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_set(compiler_state_t *cstate, bpf_u_int32 v, struct slist *stmts)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_not
      Src: /src/libpcap/gencode.c:1808,1
    - Dst: gen_set
      Src: /src/libpcap/gencode.c:1808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cstate
    - v
    - stmts
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - struct slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1805
    functionDepth: 7
    functionLinenumber: 1805
    functionLinenumberEnd: 1809
    functionName: gen_unset
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_not
    - gen_set
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_unset(compiler_state_t *cstate, bpf_u_int32 v, struct slist *stmts)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:1825,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:1828,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:1830,1
    - Dst: gen_jmp_k
      Src: /src/libpcap/gencode.c:1833,1
    - Dst: gen_not
      Src: /src/libpcap/gencode.c:1834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 8
    argNames:
    - cstate
    - offrel
    - offset
    - size
    - mask
    - jtype
    - reverse
    - v
    argTypes:
    - compiler_state_t*
    - enum e_offrel
    - u_int
    - u_int
    - bpf_u_int32
    - int
    - int
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1817
    functionDepth: 6
    functionLinenumber: 1817
    functionLinenumberEnd: 1835
    functionName: gen_ncmp
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 8
    functionsReached:
    - sappend
    - gen_jmp_k
    - gen_load_a
    - gen_not
    - new_stmt
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_ncmp(compiler_state_t *cstate, enum e_offrel offrel,
      u_int offset,\n    u_int size, bpf_u_int32 mask, int jtype, int reverse,\n    bpf_u_int32
      v)"
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: pcap_datalink
      Src: /src/libpcap/gencode.c:1845,1
    - Dst: bpf_set_error
      Src: /src/libpcap/gencode.c:2466,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 404
    argCount: 2
    argNames:
    - cstate
    - p
    argTypes:
    - compiler_state_t*
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 1837
    functionDepth: 1
    functionLinenumber: 1837
    functionLinenumberEnd: 2475
    functionName: init_linktype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - pcap_datalink
    - bpf_set_error
    linkageType: ''
    returnType: int
    signature: int init_linktype(compiler_state_t *cstate, pcap_t *p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:2490,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:2510,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:2512,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:2518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - cstate
    - s
    - offset
    - size
    argTypes:
    - compiler_state_t*
    - struct slist*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2480
    functionDepth: 5
    functionLinenumber: 2480
    functionLinenumberEnd: 2522
    functionName: gen_load_absoffsetrel
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - sappend
    - bpf_error
    - new_stmt
    linkageType: ''
    returnType: struct slist
    signature: "struct slist *\ngen_load_absoffsetrel(compiler_state_t *cstate, struct
      slist *s,\n    const u_int offset, const u_int size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xfer_to_x
      Src: /src/libpcap/gencode.c:2554,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:2556,1
    - Dst: xfer_to_a
      Src: /src/libpcap/gencode.c:2556,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:2557,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:2557,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:2558,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:2558,1
    - Dst: gen_load_absoffsetrel
      Src: /src/libpcap/gencode.c:2560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - cstate
    - varpart
    - constpart
    - arthpart
    - bpf_size
    argTypes:
    - compiler_state_t*
    - struct slist*
    - bpf_u_int32
    - struct arth*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2528
    functionDepth: 6
    functionLinenumber: 2528
    functionLinenumberEnd: 2561
    functionName: gen_load_absoffsetarthrel
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - sappend
    - xfer_to_x
    - xfer_to_a
    - gen_load_absoffsetrel
    - new_stmt
    linkageType: ''
    returnType: struct slist
    signature: "struct slist *\ngen_load_absoffsetarthrel(compiler_state_t *cstate,
      struct slist *varpart,\n    const bpf_u_int32 constpart, const struct arth *arthpart,\n
      \   const u_int bpf_size)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gen_abs_offset_varpart
      Src: /src/libpcap/gencode.c:2591,1
    - Dst: gen_abs_offset_varpart
      Src: /src/libpcap/gencode.c:2596,1
    - Dst: gen_abs_offset_varpart
      Src: /src/libpcap/gencode.c:2601,1
    - Dst: gen_abs_offset_varpart
      Src: /src/libpcap/gencode.c:2606,1
    - Dst: gen_abs_offset_varpart
      Src: /src/libpcap/gencode.c:2612,1
    - Dst: gen_abs_offset_varpart
      Src: /src/libpcap/gencode.c:2617,1
    - Dst: gen_abs_offset_varpart
      Src: /src/libpcap/gencode.c:2623,1
    - Dst: gen_loadx_iphdrlen
      Src: /src/libpcap/gencode.c:2634,1
    - Dst: gen_abs_offset_varpart
      Src: /src/libpcap/gencode.c:2651,1
    - Dst: gen_load_absoffsetrel
      Src: /src/libpcap/gencode.c:2656,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 4
    argNames:
    - cstate
    - offrel
    - offset
    - size
    argTypes:
    - compiler_state_t*
    - enum e_offrel
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2566
    functionDepth: 6
    functionLinenumber: 2566
    functionLinenumberEnd: 2657
    functionName: gen_load_a
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - gen_load_absoffsetrel
    - gen_abs_offset_varpart
    - gen_loadx_iphdrlen
    linkageType: ''
    returnType: struct slist
    signature: "struct slist *\ngen_load_a(compiler_state_t *cstate, const enum e_offrel
      offrel, u_int offset,\n    const u_int size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gen_abs_offset_varpart
      Src: /src/libpcap/gencode.c:2669,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:2681,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:2683,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:2684,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:2686,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:2687,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:2689,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:2697,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:2697,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:2698,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:2698,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:2712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2716
      start: 2664
    functionDepth: 5
    functionLinenumber: 2664
    functionLinenumberEnd: 2716
    functionName: gen_loadx_iphdrlen
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - sappend
    - gen_abs_offset_varpart
    - new_stmt
    linkageType: ''
    returnType: struct slist
    signature: 'struct slist *

      gen_loadx_iphdrlen(compiler_state_t *cstate)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:2730,1
    - Dst: gen_jmp_k
      Src: /src/libpcap/gencode.c:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cstate
    - rsense
    argTypes:
    - compiler_state_t*
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2725
    functionDepth: 6
    functionLinenumber: 2725
    functionLinenumberEnd: 2735
    functionName: gen_uncond
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_jmp_k
    - new_stmt
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_uncond(compiler_state_t *cstate, const u_char rsense)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_uncond
      Src: /src/libpcap/gencode.c:2740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2741
      start: 2737
    functionDepth: 7
    functionLinenumber: 2737
    functionLinenumberEnd: 2741
    functionName: gen_true
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - gen_uncond
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_true(compiler_state_t *cstate)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_uncond
      Src: /src/libpcap/gencode.c:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2743
    functionDepth: 7
    functionLinenumber: 2743
    functionLinenumberEnd: 2747
    functionName: gen_false
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - gen_uncond
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_false(compiler_state_t *cstate)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gen_cmp_le
      Src: /src/libpcap/gencode.c:2780,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:2781,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:2782,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:2817,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:2818,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:2819,1
    - Dst: gen_snap
      Src: /src/libpcap/gencode.c:2825,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:2826,1
    - Dst: gen_cmp_le
      Src: /src/libpcap/gencode.c:2832,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:2840,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:2847,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:2848,1
    - Dst: gen_cmp_le
      Src: /src/libpcap/gencode.c:2862,1
    - Dst: gen_snap
      Src: /src/libpcap/gencode.c:2876,1
    - Dst: gen_snap
      Src: /src/libpcap/gencode.c:2878,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:2879,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:2886,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:2888,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:2892,1
    - Dst: gen_cmp_le
      Src: /src/libpcap/gencode.c:2901,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:2902,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:2903,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:2905,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:2915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 2
    argNames:
    - cstate
    - ll_proto
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2758
    functionDepth: 3
    functionLinenumber: 2758
    functionLinenumberEnd: 2918
    functionName: gen_ether_linktype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - assert_maxval
    - gen_cmp_le
    - gen_cmp
    - gen_and
    - gen_snap
    - gen_or
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_ether_linktype(compiler_state_t *cstate, bpf_u_int32 ll_proto)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:2947,1
    - Dst: SWAPLONG
      Src: /src/libpcap/gencode.c:2948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cstate
    - offset
    - size
    - ll_proto
    - swapped
    argTypes:
    - compiler_state_t*
    - u_int
    - u_int
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2943
    functionDepth: 2
    functionLinenumber: 2943
    functionLinenumberEnd: 2949
    functionName: gen_endian_linktype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - SWAPLONG
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_endian_linktype(compiler_state_t *cstate, u_int
      offset, u_int size,\n    bpf_u_int32 ll_proto, int swapped)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gen_endian_linktype
      Src: /src/libpcap/gencode.c:2958,1
    - Dst: gen_endian_linktype
      Src: /src/libpcap/gencode.c:2962,1
    - Dst: gen_false
      Src: /src/libpcap/gencode.c:2971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - cstate
    - offset
    - size
    - ll_proto
    - swapped
    argTypes:
    - compiler_state_t*
    - u_int
    - u_int
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2973
      start: 2951
    functionDepth: 8
    functionLinenumber: 2951
    functionLinenumberEnd: 2973
    functionName: gen_bsd_af_linktype_live
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_endian_linktype
    - gen_false
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_bsd_af_linktype_live(compiler_state_t *cstate,
      u_int offset, u_int size,\n    bpf_u_int32 ll_proto, int swapped)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gen_endian_linktype
      Src: /src/libpcap/gencode.c:2992,1
    - Dst: gen_endian_linktype
      Src: /src/libpcap/gencode.c:3015,1
    - Dst: gen_endian_linktype
      Src: /src/libpcap/gencode.c:3017,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:3019,1
    - Dst: gen_endian_linktype
      Src: /src/libpcap/gencode.c:3020,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:3022,1
    - Dst: gen_false
      Src: /src/libpcap/gencode.c:3030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - cstate
    - offset
    - size
    - ll_proto
    - swapped
    argTypes:
    - compiler_state_t*
    - u_int
    - u_int
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 2975
    functionDepth: 8
    functionLinenumber: 2975
    functionLinenumberEnd: 3032
    functionName: gen_bsd_af_linktype_offline
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_endian_linktype
    - gen_or
    - gen_false
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_bsd_af_linktype_offline(compiler_state_t *cstate,
      u_int offset, u_int size,\n    bpf_u_int32 ll_proto, int swapped)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3061,1
    - Dst: htonl
      Src: /src/libpcap/gencode.c:3061,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3068,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:3072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - cstate
    - ll_proto
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3075
      start: 3038
    functionDepth: 2
    functionLinenumber: 3038
    functionLinenumberEnd: 3075
    functionName: gen_loopback_linktype_live
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - htonl
    - bpf_error
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_loopback_linktype_live(compiler_state_t *cstate, bpf_u_int32 ll_proto)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gen_bsd_af_linktype_offline
      Src: /src/libpcap/gencode.c:3085,1
    - Dst: gen_bsd_af_linktype_live
      Src: /src/libpcap/gencode.c:3088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cstate
    - ll_proto
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3081
    functionDepth: 9
    functionLinenumber: 3081
    functionLinenumberEnd: 3090
    functionName: gen_pflog_linktype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_bsd_af_linktype_live
    - gen_bsd_af_linktype_offline
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_pflog_linktype(compiler_state_t *cstate, bpf_u_int32 ll_proto)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gen_loopback_linktype_live
      Src: /src/libpcap/gencode.c:3123,1
    - Dst: gen_loopback_linktype_live
      Src: /src/libpcap/gencode.c:3133,1
    - Dst: gen_loopback_linktype_live
      Src: /src/libpcap/gencode.c:3135,1
    - Dst: gen_false
      Src: /src/libpcap/gencode.c:3144,1
    - Dst: gen_bsd_af_linktype_offline
      Src: /src/libpcap/gencode.c:3175,1
    - Dst: gen_bsd_af_linktype_offline
      Src: /src/libpcap/gencode.c:3177,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:3179,1
    - Dst: gen_bsd_af_linktype_offline
      Src: /src/libpcap/gencode.c:3182,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:3185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - cstate
    - ll_proto
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3092
    functionDepth: 9
    functionLinenumber: 3092
    functionLinenumberEnd: 3188
    functionName: gen_loopback_linktype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_bsd_af_linktype_offline
    - gen_false
    - gen_loopback_linktype_live
    - gen_or
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_loopback_linktype(compiler_state_t *cstate, bpf_u_int32 ll_proto)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3200,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3204,1
    - Dst: gen_false
      Src: /src/libpcap/gencode.c:3211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - cstate
    - ll_proto
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3212
      start: 3194
    functionDepth: 8
    functionLinenumber: 3194
    functionLinenumberEnd: 3212
    functionName: gen_ipnet_linktype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_false
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_ipnet_linktype(compiler_state_t *cstate, bpf_u_int32 ll_proto)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3244,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3245,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:3246,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3274,1
    - Dst: gen_snap
      Src: /src/libpcap/gencode.c:3275,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:3276,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3277,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:3278,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3284,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:3285,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3292,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:3293,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3307,1
    - Dst: gen_snap
      Src: /src/libpcap/gencode.c:3321,1
    - Dst: gen_snap
      Src: /src/libpcap/gencode.c:3323,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:3324,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3331,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:3333,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:3337,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3345,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3346,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:3348,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:3350,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:3360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 2
    argNames:
    - cstate
    - ll_proto
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3363
      start: 3222
    functionDepth: 3
    functionLinenumber: 3222
    functionLinenumberEnd: 3363
    functionName: gen_linux_sll_linktype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - assert_maxval
    - gen_cmp
    - gen_and
    - gen_snap
    - gen_or
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_linux_sll_linktype(compiler_state_t *cstate, bpf_u_int32 ll_proto)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3385,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3392,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3394,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3395,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3397,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3403,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3405,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3410,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3416
      start: 3369
    functionDepth: 5
    functionLinenumber: 3369
    functionLinenumberEnd: 3416
    functionName: gen_load_pflog_llprefixlen
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - sappend
    - new_stmt
    linkageType: ''
    returnType: struct slist
    signature: 'struct slist *

      gen_load_pflog_llprefixlen(compiler_state_t *cstate)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3455,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3461,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3463,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3468,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:3468,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3470,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3479,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3481,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3492,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:3492,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3494,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3502,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3504,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3512,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3514,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3520,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3526
      start: 3418
    functionDepth: 5
    functionLinenumber: 3418
    functionLinenumberEnd: 3526
    functionName: gen_load_prism_llprefixlen
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - sappend
    - JMP
    - new_stmt
    linkageType: ''
    returnType: struct slist
    signature: 'struct slist *

      gen_load_prism_llprefixlen(compiler_state_t *cstate)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3546,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3553,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3555,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3560,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3566
      start: 3528
    functionDepth: 5
    functionLinenumber: 3528
    functionLinenumberEnd: 3566
    functionName: gen_load_avs_llprefixlen
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - sappend
    - new_stmt
    linkageType: ''
    returnType: struct slist
    signature: 'struct slist *

      gen_load_avs_llprefixlen(compiler_state_t *cstate)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3592,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3594,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3595,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3597,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3598,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3604,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3605,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3607,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3608,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3614,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3616,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3621,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3568
    functionDepth: 5
    functionLinenumber: 3568
    functionLinenumberEnd: 3627
    functionName: gen_load_radiotap_llprefixlen
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - sappend
    - new_stmt
    linkageType: ''
    returnType: struct slist
    signature: 'struct slist *

      gen_load_radiotap_llprefixlen(compiler_state_t *cstate)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3660,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3662,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3663,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3665,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3666,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3672,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3673,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3675,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3676,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3682,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3684,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3689,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3695
      start: 3638
    functionDepth: 5
    functionLinenumber: 3638
    functionLinenumberEnd: 3695
    functionName: gen_load_ppi_llprefixlen
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - sappend
    - new_stmt
    linkageType: ''
    returnType: struct slist
    signature: 'struct slist *

      gen_load_ppi_llprefixlen(compiler_state_t *cstate)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3752,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3763,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3764,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3765,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3767,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3768,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3770,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3772,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3774,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3781,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:3781,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3783,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3789,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:3789,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3791,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3800,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:3800,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3802,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3810,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3812,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3813,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3815,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3816,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3818,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3844,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3846,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3848,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:3848,1
    - Dst: SWAPLONG
      Src: /src/libpcap/gencode.c:3849,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3850,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3860,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:3860,1
    - Dst: SWAPLONG
      Src: /src/libpcap/gencode.c:3861,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3862,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3873,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:3873,1
    - Dst: SWAPLONG
      Src: /src/libpcap/gencode.c:3874,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3875,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3887,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3889,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3892,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:3892,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3894,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3904,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3906,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3909,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:3909,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3911,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3920,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3922,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3923,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3925,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3926,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3928,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:3929,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:3931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 90
    argCount: 3
    argNames:
    - cstate
    - s
    - snext
    argTypes:
    - compiler_state_t*
    - struct slist*
    - struct slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3941
      start: 3704
    functionDepth: 5
    functionLinenumber: 3704
    functionLinenumberEnd: 3941
    functionName: gen_load_802_11_header_len
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - SWAPLONG
    - sappend
    - JMP
    - new_stmt
    linkageType: ''
    returnType: struct slist
    signature: 'struct slist *

      gen_load_802_11_header_len(compiler_state_t *cstate, struct slist *s, struct
      slist *snext)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:3955,1
    - Dst: gen_load_prism_llprefixlen
      Src: /src/libpcap/gencode.c:3971,1
    - Dst: gen_load_avs_llprefixlen
      Src: /src/libpcap/gencode.c:3975,1
    - Dst: gen_load_radiotap_llprefixlen
      Src: /src/libpcap/gencode.c:3979,1
    - Dst: gen_load_ppi_llprefixlen
      Src: /src/libpcap/gencode.c:3983,1
    - Dst: gen_load_802_11_header_len
      Src: /src/libpcap/gencode.c:4003,1
    - Dst: gen_load_pflog_llprefixlen
      Src: /src/libpcap/gencode.c:4013,1
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:4025,1
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:4027,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:4029,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:4031,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:4033,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:4034,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:4036,1
    - Dst: sprepend_to_block
      Src: /src/libpcap/gencode.c:4045,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - cstate
    - b
    argTypes:
    - compiler_state_t*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4046
      start: 3943
    functionDepth: 6
    functionLinenumber: 3943
    functionLinenumberEnd: 4046
    functionName: insert_compute_vloffsets
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - gen_load_802_11_header_len
    - sappend
    - gen_load_ppi_llprefixlen
    - alloc_reg
    - gen_load_prism_llprefixlen
    - sprepend_to_block
    - gen_load_pflog_llprefixlen
    - gen_load_avs_llprefixlen
    - gen_load_radiotap_llprefixlen
    - new_stmt
    linkageType: ''
    returnType: void
    signature: void insert_compute_vloffsets(compiler_state_t *cstate, struct block
      *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:4073,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:4080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cstate
    - 'off'
    argTypes:
    - compiler_state_t*
    - bpf_abs_offset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4090
      start: 4061
    functionDepth: 5
    functionLinenumber: 4061
    functionLinenumberEnd: 4090
    functionName: gen_abs_offset_varpart
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 2
    functionsReached:
    - alloc_reg
    - new_stmt
    linkageType: ''
    returnType: struct slist
    signature: 'struct slist *

      gen_abs_offset_varpart(compiler_state_t *cstate, bpf_abs_offset *off)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:4129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - cstate
    - ll_proto
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4131
      start: 4095
    functionDepth: 1
    functionLinenumber: 4095
    functionLinenumberEnd: 4131
    functionName: ethertype_to_ppptype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - assert_maxval
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ethertype_to_ppptype(compiler_state_t *cstate, bpf_u_int32
      ll_proto)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gen_encap_ll_check
      Src: /src/libpcap/gencode.c:4143,1
    - Dst: gen_cmp_ne
      Src: /src/libpcap/gencode.c:4155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4164
      start: 4139
    functionDepth: 2
    functionLinenumber: 4139
    functionLinenumberEnd: 4164
    functionName: gen_prevlinkhdr_check
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_encap_ll_check
    - gen_cmp_ne
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_prevlinkhdr_check(compiler_state_t *cstate)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:4174,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:4176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cstate
    - offrel
    - ver
    argTypes:
    - compiler_state_t*
    - enum e_offrel
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4178
      start: 4167
    functionDepth: 2
    functionLinenumber: 4167
    functionLinenumberEnd: 4178
    functionName: gen_ip_version
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_mcmp
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_ip_version(compiler_state_t *cstate, const enum
      e_offrel offrel,\n    const uint8_t ver)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstate
    - nlpid
    argTypes:
    - compiler_state_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4195
      start: 4191
    functionDepth: 2
    functionLinenumber: 4191
    functionLinenumberEnd: 4195
    functionName: gen_frelay_nlpid
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_frelay_nlpid(compiler_state_t *cstate, const uint8_t nlpid)'
  - BBCount: 87
    BranchProfiles: []
    Callsites:
    - Dst: gen_mpls_linktype
      Src: /src/libpcap/gencode.c:4211,1
    - Dst: gen_prevlinkhdr_check
      Src: /src/libpcap/gencode.c:4223,1
    - Dst: gen_ether_linktype
      Src: /src/libpcap/gencode.c:4227,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:4228,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:4233,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4241,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:4253,1
    - Dst: gen_llc_linktype
      Src: /src/libpcap/gencode.c:4260,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:4261,1
    - Dst: gen_llc_linktype
      Src: /src/libpcap/gencode.c:4268,1
    - Dst: gen_llc_linktype
      Src: /src/libpcap/gencode.c:4275,1
    - Dst: gen_llc_linktype
      Src: /src/libpcap/gencode.c:4281,1
    - Dst: gen_atm_prototype
      Src: /src/libpcap/gencode.c:4292,1
    - Dst: gen_llc_linktype
      Src: /src/libpcap/gencode.c:4293,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:4294,1
    - Dst: gen_linux_sll_linktype
      Src: /src/libpcap/gencode.c:4298,1
    - Dst: gen_ip_version
      Src: /src/libpcap/gencode.c:4313,1
    - Dst: gen_ip_version
      Src: /src/libpcap/gencode.c:4316,1
    - Dst: gen_false
      Src: /src/libpcap/gencode.c:4319,1
    - Dst: gen_true
      Src: /src/libpcap/gencode.c:4328,1
    - Dst: gen_false
      Src: /src/libpcap/gencode.c:4331,1
    - Dst: gen_true
      Src: /src/libpcap/gencode.c:4339,1
    - Dst: gen_false
      Src: /src/libpcap/gencode.c:4342,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4353,1
    - Dst: ethertype_to_ppptype
      Src: /src/libpcap/gencode.c:4354,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4369,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4370,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:4371,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4372,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:4373,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4376,1
    - Dst: ethertype_to_ppptype
      Src: /src/libpcap/gencode.c:4377,1
    - Dst: gen_loopback_linktype
      Src: /src/libpcap/gencode.c:4387,1
    - Dst: gen_pflog_linktype
      Src: /src/libpcap/gencode.c:4393,1
    - Dst: gen_false
      Src: /src/libpcap/gencode.c:4426,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4429,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4433,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4437,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4441,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4445,1
    - Dst: gen_true
      Src: /src/libpcap/gencode.c:4453,1
    - Dst: gen_false
      Src: /src/libpcap/gencode.c:4455,1
    - Dst: gen_frelay_nlpid
      Src: /src/libpcap/gencode.c:4463,1
    - Dst: gen_frelay_nlpid
      Src: /src/libpcap/gencode.c:4466,1
    - Dst: gen_frelay_nlpid
      Src: /src/libpcap/gencode.c:4476,1
    - Dst: gen_frelay_nlpid
      Src: /src/libpcap/gencode.c:4477,1
    - Dst: gen_frelay_nlpid
      Src: /src/libpcap/gencode.c:4478,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:4479,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:4480,1
    - Dst: gen_false
      Src: /src/libpcap/gencode.c:4483,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:4520,1
    - Dst: gen_ipnet_linktype
      Src: /src/libpcap/gencode.c:4523,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:4538,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4539,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:4548,1
    - Dst: pcapint_datalink_val_to_string
      Src: /src/libpcap/gencode.c:4549,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 158
    argCount: 2
    argNames:
    - cstate
    - ll_proto
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4550
      start: 4204
    functionDepth: 10
    functionLinenumber: 4204
    functionLinenumberEnd: 4550
    functionName: gen_linktype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_atm_prototype
    - gen_mcmp
    - gen_ip_version
    - gen_mpls_linktype
    - ethertype_to_ppptype
    - gen_true
    - gen_cmp
    - pcapint_datalink_val_to_string
    - gen_loopback_linktype
    - gen_linux_sll_linktype
    - gen_llc_linktype
    - gen_ether_linktype
    - gen_pflog_linktype
    - gen_frelay_nlpid
    - gen_ipnet_linktype
    - assert_maxval
    - gen_false
    - gen_and
    - gen_or
    - gen_prevlinkhdr_check
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_linktype(compiler_state_t *cstate, bpf_u_int32 ll_proto)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:4572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - cstate
    - orgcode
    - ptype
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4573
      start: 4559
    functionDepth: 4
    functionLinenumber: 4559
    functionLinenumberEnd: 4573
    functionName: gen_snap
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 2
    functionsReached:
    - gen_bcmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_snap(compiler_state_t *cstate, bpf_u_int32 orgcode, bpf_u_int32 ptype)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gen_cmp_le
      Src: /src/libpcap/gencode.c:4592,1
    - Dst: gen_cmp_ne
      Src: /src/libpcap/gencode.c:4598,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:4600,1
    - Dst: gen_atmtype_llc
      Src: /src/libpcap/gencode.c:4606,1
    - Dst: gen_true
      Src: /src/libpcap/gencode.c:4612,1
    - Dst: gen_true
      Src: /src/libpcap/gencode.c:4618,1
    - Dst: gen_true
      Src: /src/libpcap/gencode.c:4629,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:4639,1
    - Dst: fail_kw_on_dlt
      Src: /src/libpcap/gencode.c:4644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4647
      start: 4578
    functionDepth: 8
    functionLinenumber: 4578
    functionLinenumberEnd: 4647
    functionName: gen_llc_internal
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_atmtype_llc
    - fail_kw_on_dlt
    - gen_true
    - gen_mcmp
    - gen_cmp_le
    - gen_cmp_ne
    - gen_and
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_llc_internal(compiler_state_t *cstate)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:4656,1
    - Dst: gen_llc_internal
      Src: /src/libpcap/gencode.c:4659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4660
      start: 4649
    functionDepth: 9
    functionLinenumber: 4649
    functionLinenumberEnd: 4660
    functionName: gen_llc
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - gen_llc_internal
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_llc(compiler_state_t *cstate)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:4672,1
    - Dst: gen_llc_internal
      Src: /src/libpcap/gencode.c:4678,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:4684,1
    - Dst: gen_unset
      Src: /src/libpcap/gencode.c:4685,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:4687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4688
      start: 4662
    functionDepth: 9
    functionLinenumber: 4662
    functionLinenumberEnd: 4688
    functionName: gen_llc_i
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - gen_load_a
    - gen_and
    - gen_unset
    - gen_llc_internal
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_llc_i(compiler_state_t *cstate)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:4699,1
    - Dst: gen_llc_internal
      Src: /src/libpcap/gencode.c:4705,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:4711,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:4713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4714
      start: 4690
    functionDepth: 9
    functionLinenumber: 4690
    functionLinenumberEnd: 4714
    functionName: gen_llc_s
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_and
    - gen_mcmp
    - setjmp
    - gen_llc_internal
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_llc_s(compiler_state_t *cstate)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:4725,1
    - Dst: gen_llc_internal
      Src: /src/libpcap/gencode.c:4731,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:4737,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:4739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4740
      start: 4716
    functionDepth: 9
    functionLinenumber: 4716
    functionLinenumberEnd: 4740
    functionName: gen_llc_u
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_and
    - gen_mcmp
    - setjmp
    - gen_llc_internal
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_llc_u(compiler_state_t *cstate)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:4751,1
    - Dst: gen_llc_internal
      Src: /src/libpcap/gencode.c:4757,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:4762,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:4764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cstate
    - subtype
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4765
      start: 4742
    functionDepth: 9
    functionLinenumber: 4742
    functionLinenumberEnd: 4765
    functionName: gen_llc_s_subtype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_and
    - gen_mcmp
    - setjmp
    - gen_llc_internal
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_llc_s_subtype(compiler_state_t *cstate, bpf_u_int32 subtype)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:4776,1
    - Dst: gen_llc_internal
      Src: /src/libpcap/gencode.c:4782,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:4787,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:4789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cstate
    - subtype
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4790
      start: 4767
    functionDepth: 9
    functionLinenumber: 4767
    functionLinenumberEnd: 4790
    functionName: gen_llc_u_subtype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_and
    - gen_mcmp
    - setjmp
    - gen_llc_internal
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_llc_u_subtype(compiler_state_t *cstate, bpf_u_int32 subtype)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4820,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4828,1
    - Dst: gen_snap
      Src: /src/libpcap/gencode.c:4840,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:4848,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4853,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:4855,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:4875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - cstate
    - ll_proto
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4878
      start: 4804
    functionDepth: 5
    functionLinenumber: 4804
    functionLinenumberEnd: 4878
    functionName: gen_llc_linktype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - gen_snap
    - assert_maxval
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_llc_linktype(compiler_state_t *cstate, bpf_u_int32 ll_proto)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gen_hostop
      Src: /src/libpcap/gencode.c:4898,1
    - Dst: gen_hostop
      Src: /src/libpcap/gencode.c:4899,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:4900,1
    - Dst: gen_hostop
      Src: /src/libpcap/gencode.c:4904,1
    - Dst: gen_hostop
      Src: /src/libpcap/gencode.c:4905,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:4906,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:4910,1
    - Dst: dqkw
      Src: /src/libpcap/gencode.c:4910,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:4913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 6
    argNames:
    - cstate
    - addr
    - mask
    - dir
    - src_off
    - dst_off
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - bpf_u_int32
    - int
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4914
      start: 4880
    functionDepth: 3
    functionLinenumber: 4880
    functionLinenumberEnd: 4914
    functionName: gen_hostop
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - dqkw
    - gen_mcmp
    - gen_and
    - gen_or
    - gen_hostop
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_hostop(compiler_state_t *cstate, bpf_u_int32 addr,
      bpf_u_int32 mask,\n    int dir, u_int src_off, u_int dst_off)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gen_hostop6
      Src: /src/libpcap/gencode.c:4944,1
    - Dst: gen_hostop6
      Src: /src/libpcap/gencode.c:4945,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:4946,1
    - Dst: gen_hostop6
      Src: /src/libpcap/gencode.c:4950,1
    - Dst: gen_hostop6
      Src: /src/libpcap/gencode.c:4951,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:4952,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:4956,1
    - Dst: dqkw
      Src: /src/libpcap/gencode.c:4956,1
    - Dst: memcpy
      Src: /src/libpcap/gencode.c:4960,1
    - Dst: memcpy
      Src: /src/libpcap/gencode.c:4961,1
    - Dst: gen_true
      Src: /src/libpcap/gencode.c:4962,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:4964,1
    - Dst: ntohl
      Src: /src/libpcap/gencode.c:4965,1
    - Dst: ntohl
      Src: /src/libpcap/gencode.c:4965,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:4966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - cstate
    - addr
    - mask
    - dir
    argTypes:
    - compiler_state_t*
    - struct in6_addr*
    - struct in6_addr*
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4969
      start: 4916
    functionDepth: 8
    functionLinenumber: 4916
    functionLinenumberEnd: 4969
    functionName: gen_hostop6
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - ntohl
    - gen_true
    - dqkw
    - gen_mcmp
    - gen_and
    - memcpy
    - gen_hostop6
    - gen_or
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_hostop6(compiler_state_t *cstate, const struct
      in6_addr *addr,\n    const struct in6_addr *mask, const u_char dir)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5018,1
    - Dst: gen_set
      Src: /src/libpcap/gencode.c:5019,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5024,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5025,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5031,1
    - Dst: gen_unset
      Src: /src/libpcap/gencode.c:5032,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5037,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5038,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5045,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5051,1
    - Dst: gen_set
      Src: /src/libpcap/gencode.c:5052,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5053,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5058,1
    - Dst: gen_unset
      Src: /src/libpcap/gencode.c:5059,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5064,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5065,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5072,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5078,1
    - Dst: gen_set
      Src: /src/libpcap/gencode.c:5079,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5084,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5091,1
    - Dst: gen_unset
      Src: /src/libpcap/gencode.c:5092,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5097,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5098,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5105,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5115,1
    - Dst: gen_unset
      Src: /src/libpcap/gencode.c:5116,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5122,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5146,1
    - Dst: gen_set
      Src: /src/libpcap/gencode.c:5147,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5152,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5153,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5159,1
    - Dst: gen_unset
      Src: /src/libpcap/gencode.c:5160,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5165,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5166,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5172,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5178,1
    - Dst: gen_set
      Src: /src/libpcap/gencode.c:5179,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5184,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5191,1
    - Dst: gen_unset
      Src: /src/libpcap/gencode.c:5192,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5197,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5198,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5205,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5215,1
    - Dst: gen_unset
      Src: /src/libpcap/gencode.c:5216,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5222,1
    - Dst: gen_wlanhostop
      Src: /src/libpcap/gencode.c:5225,1
    - Dst: gen_wlanhostop
      Src: /src/libpcap/gencode.c:5226,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5227,1
    - Dst: gen_wlanhostop
      Src: /src/libpcap/gencode.c:5231,1
    - Dst: gen_wlanhostop
      Src: /src/libpcap/gencode.c:5232,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5233,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5239,1
    - Dst: gen_mcmp_ne
      Src: /src/libpcap/gencode.c:5245,1
    - Dst: gen_mcmp_ne
      Src: /src/libpcap/gencode.c:5247,1
    - Dst: gen_mcmp_ne
      Src: /src/libpcap/gencode.c:5249,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5251,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5252,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5253,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5254,1
    - Dst: gen_mcmp_ne
      Src: /src/libpcap/gencode.c:5260,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5262,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5263,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:5272,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5274,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5275,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5288,1
    - Dst: gen_set
      Src: /src/libpcap/gencode.c:5289,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5294,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5299,1
    - Dst: gen_mcmp_ne
      Src: /src/libpcap/gencode.c:5310,1
    - Dst: gen_mcmp_ne
      Src: /src/libpcap/gencode.c:5312,1
    - Dst: gen_mcmp_ne
      Src: /src/libpcap/gencode.c:5314,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5316,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5317,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5324,1
    - Dst: gen_set
      Src: /src/libpcap/gencode.c:5325,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5331,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5336,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5337,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 98
    argCount: 3
    argNames:
    - cstate
    - eaddr
    - dir
    argTypes:
    - compiler_state_t*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5341
      start: 4975
    functionDepth: 8
    functionLinenumber: 4975
    functionLinenumberEnd: 5341
    functionName: gen_wlanhostop
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - gen_set
    - gen_wlanhostop
    - gen_mcmp_ne
    - gen_load_a
    - gen_mcmp
    - gen_and
    - gen_bcmp
    - gen_unset
    - gen_or
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_wlanhostop(compiler_state_t *cstate, const u_char *eaddr, int dir)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gen_dnhostop
      Src: /src/libpcap/gencode.c:5382,1
    - Dst: gen_dnhostop
      Src: /src/libpcap/gencode.c:5383,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5384,1
    - Dst: gen_dnhostop
      Src: /src/libpcap/gencode.c:5389,1
    - Dst: gen_dnhostop
      Src: /src/libpcap/gencode.c:5390,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5391,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5395,1
    - Dst: dqkw
      Src: /src/libpcap/gencode.c:5395,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:5427,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:5428,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/gencode.c:5429,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5430,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:5432,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:5433,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/gencode.c:5434,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5435,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5436,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:5439,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/gencode.c:5440,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:5443,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:5444,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/gencode.c:5445,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5446,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5448,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:5451,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/gencode.c:5452,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:5455,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:5456,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/gencode.c:5457,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5458,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 3
    argNames:
    - cstate
    - addr
    - dir
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5462
      start: 5361
    functionDepth: 3
    functionLinenumber: 5361
    functionLinenumberEnd: 5462
    functionName: gen_dnhostop
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - dqkw
    - gen_mcmp
    - gen_cmp
    - gen_and
    - gen_dnhostop
    - SWAPSHORT
    - gen_or
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_dnhostop(compiler_state_t *cstate, bpf_u_int32 addr, int dir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_set
      Src: /src/libpcap/gencode.c:5471,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:5471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5472
      start: 5468
    functionDepth: 7
    functionLinenumber: 5468
    functionLinenumberEnd: 5472
    functionName: gen_just_after_mpls_stack
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_set
    - gen_load_a
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_just_after_mpls_stack(compiler_state_t *cstate)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gen_just_after_mpls_stack
      Src: /src/libpcap/gencode.c:5491,1
    - Dst: gen_ip_version
      Src: /src/libpcap/gencode.c:5492,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5493,1
    - Dst: gen_just_after_mpls_stack
      Src: /src/libpcap/gencode.c:5496,1
    - Dst: gen_ip_version
      Src: /src/libpcap/gencode.c:5497,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5498,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - cstate
    - ll_proto
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5505
      start: 5479
    functionDepth: 8
    functionLinenumber: 5479
    functionLinenumberEnd: 5505
    functionName: gen_mpls_linktype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - gen_and
    - gen_ip_version
    - bpf_error
    - gen_just_after_mpls_stack
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_mpls_linktype(compiler_state_t *cstate, bpf_u_int32 ll_proto)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert_nonwlan_dqual
      Src: /src/libpcap/gencode.c:5518,1
    - Dst: gen_host
      Src: /src/libpcap/gencode.c:5527,1
    - Dst: gen_host
      Src: /src/libpcap/gencode.c:5533,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5534,1
    - Dst: gen_host
      Src: /src/libpcap/gencode.c:5535,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5536,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5559,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:5559,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:5561,1
    - Dst: gen_false
      Src: /src/libpcap/gencode.c:5579,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5581,1
    - Dst: gen_hostop
      Src: /src/libpcap/gencode.c:5582,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5583,1
    - Dst: gen_not
      Src: /src/libpcap/gencode.c:5583,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 8
    argNames:
    - cstate
    - n
    - a
    - m
    - proto
    - dir
    - not
    - context
    argTypes:
    - compiler_state_t*
    - size_t
    - bpf_u_int32*
    - bpf_u_int32*
    - u_char
    - u_char
    - u_char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5584
      start: 5507
    functionDepth: 11
    functionLinenumber: 5507
    functionLinenumberEnd: 5584
    functionName: gen_host
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - pqkw
    - gen_host
    - assert_nonwlan_dqual
    - gen_linktype
    - gen_false
    - gen_and
    - gen_or
    - gen_not
    - gen_hostop
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_host(compiler_state_t *cstate, const size_t n,
      const bpf_u_int32 *a,\n    const bpf_u_int32 *m, const u_char proto, const u_char
      dir,\n    const u_char not, const char *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_nonwlan_dqual
      Src: /src/libpcap/gencode.c:5593,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5596,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:5596,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:5598,1
    - Dst: gen_false
      Src: /src/libpcap/gencode.c:5599,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5601,1
    - Dst: gen_hostop6
      Src: /src/libpcap/gencode.c:5601,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5602,1
    - Dst: gen_not
      Src: /src/libpcap/gencode.c:5602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 8
    argNames:
    - cstate
    - n
    - a
    - m
    - proto
    - dir
    - not
    - context
    argTypes:
    - compiler_state_t*
    - size_t
    - struct in6_addr*
    - struct in6_addr*
    - u_char
    - u_char
    - u_char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5603
      start: 5586
    functionDepth: 11
    functionLinenumber: 5586
    functionLinenumberEnd: 5603
    functionName: gen_host6
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pqkw
    - gen_linktype
    - assert_nonwlan_dqual
    - gen_false
    - gen_and
    - gen_hostop6
    - gen_or
    - gen_not
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_host6(compiler_state_t *cstate, const size_t n,\n
      \   const struct in6_addr *a, const struct in6_addr *m,\n    const u_char proto,
      const u_char dir, const u_char not,\n    const char *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5620
      start: 5605
    functionDepth: 0
    functionLinenumber: 5605
    functionLinenumberEnd: 5620
    functionName: uint32_t_cmp
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uint32_t_cmp(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libpcap/gencode.c:5626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5627
      start: 5622
    functionDepth: 0
    functionLinenumber: 5622
    functionLinenumberEnd: 5627
    functionName: in6_addr_cmp
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int in6_addr_cmp(const void *a, const void *b)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pcap_nametoaddrinfo
      Src: /src/libpcap/gencode.c:5650,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5651,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5679,1
    - Dst: ntohl
      Src: /src/libpcap/gencode.c:5684,1
    - Dst: qsort
      Src: /src/libpcap/gencode.c:5689,1
    - Dst: gen_host
      Src: /src/libpcap/gencode.c:5691,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5710,1
    - Dst: qsort
      Src: /src/libpcap/gencode.c:5720,1
    - Dst: gen_host6
      Src: /src/libpcap/gencode.c:5723,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5725,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/gencode.c:5729,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5733,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 6
    argNames:
    - cstate
    - name
    - proto4
    - proto6
    - dir
    - not
    argTypes:
    - compiler_state_t*
    - char*
    - u_char
    - u_char
    - u_char
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5738
      start: 5635
    functionDepth: 12
    functionLinenumber: 5635
    functionLinenumberEnd: 5738
    functionName: gen_host46_byname
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_host6
    - ntohl
    - gen_host
    - qsort
    - gen_or
    - freeaddrinfo
    - pcap_nametoaddrinfo
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_host46_byname(compiler_state_t *cstate, const
      char *name,\n    const u_char proto4, const u_char proto6, const u_char dir,\n
      \   const u_char not)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert_nonwlan_dqual
      Src: /src/libpcap/gencode.c:5747,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5754,1
    - Dst: tqkw
      Src: /src/libpcap/gencode.c:5754,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5767,1
    - Dst: pcapint_atodn
      Src: /src/libpcap/gencode.c:5776,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5777,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:5779,1
    - Dst: gen_dnhostop
      Src: /src/libpcap/gencode.c:5780,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - cstate
    - s
    - v
    - q
    argTypes:
    - compiler_state_t*
    - char*
    - bpf_u_int32
    - struct qual
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5782
      start: 5742
    functionDepth: 11
    functionLinenumber: 5742
    functionLinenumberEnd: 5782
    functionName: gen_dnhost
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_linktype
    - assert_nonwlan_dqual
    - tqkw
    - pcapint_atodn
    - gen_and
    - gen_dnhostop
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_dnhost(compiler_state_t *cstate, const char *s,
      bpf_u_int32 v,\n    const struct qual q)"
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - linktype
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5805
      start: 5784
    functionDepth: 0
    functionLinenumber: 5784
    functionLinenumberEnd: 5805
    functionName: is_mac48_linktype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char is_mac48_linktype(const int linktype)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gen_prevlinkhdr_check
      Src: /src/libpcap/gencode.c:5824,1
    - Dst: gen_wlanhostop
      Src: /src/libpcap/gencode.c:5841,1
    - Dst: fail_kw_on_dlt
      Src: /src/libpcap/gencode.c:5858,1
    - Dst: assert_nonwlan_dqual
      Src: /src/libpcap/gencode.c:5861,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5867,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5870,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5873,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5874,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5875,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5879,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:5880,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5881,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5885,1
    - Dst: dqkw
      Src: /src/libpcap/gencode.c:5885,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5888,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 4
    argNames:
    - cstate
    - eaddr
    - dir
    - keyword
    argTypes:
    - compiler_state_t*
    - u_char*
    - u_char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5889
      start: 5807
    functionDepth: 9
    functionLinenumber: 5807
    functionLinenumberEnd: 5889
    functionName: gen_mac48host
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_wlanhostop
    - fail_kw_on_dlt
    - assert_nonwlan_dqual
    - dqkw
    - gen_and
    - gen_bcmp
    - gen_or
    - gen_prevlinkhdr_check
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_mac48host(compiler_state_t *cstate, const u_char
      *eaddr, const u_char dir,\n    const char *keyword)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_mac48_linktype
      Src: /src/libpcap/gencode.c:5895,1
    - Dst: fail_kw_on_dlt
      Src: /src/libpcap/gencode.c:5896,1
    - Dst: pcap_ether_hostton
      Src: /src/libpcap/gencode.c:5898,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5900,1
    - Dst: memcpy
      Src: /src/libpcap/gencode.c:5902,1
    - Dst: free
      Src: /src/libpcap/gencode.c:5903,1
    - Dst: gen_mac48host
      Src: /src/libpcap/gencode.c:5905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - cstate
    - name
    - dir
    - context
    argTypes:
    - compiler_state_t*
    - char*
    - u_char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5906
      start: 5891
    functionDepth: 10
    functionLinenumber: 5891
    functionLinenumberEnd: 5906
    functionName: gen_mac48host_byname
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - is_mac48_linktype
    - fail_kw_on_dlt
    - memcpy
    - pcap_ether_hostton
    - free
    - gen_mac48host
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_mac48host_byname(compiler_state_t *cstate, const
      char *name,\n    const u_char dir, const char *context)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fail_kw_on_dlt
      Src: /src/libpcap/gencode.c:5938,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:5945,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:5947,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:5949,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:5950,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5951,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:5954,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:5955,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:5956,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5959,1
    - Dst: dqkw
      Src: /src/libpcap/gencode.c:5959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 4
    argNames:
    - cstate
    - mac8
    - dir
    - context
    argTypes:
    - compiler_state_t*
    - uint8_t
    - u_char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5961
      start: 5908
    functionDepth: 4
    functionLinenumber: 5908
    functionLinenumberEnd: 5961
    functionName: gen_mac8host
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - fail_kw_on_dlt
    - dqkw
    - gen_cmp
    - gen_and
    - gen_or
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_mac8host(compiler_state_t *cstate, const uint8_t
      mac8, const u_char dir,\n    const char *context)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5977,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:5977,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5980,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:5982,1
    - Dst: gen_mac48host_byname
      Src: /src/libpcap/gencode.c:5984,1
    - Dst: gen_host46_byname
      Src: /src/libpcap/gencode.c:5990,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:5991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - cstate
    - name
    - proto
    argTypes:
    - compiler_state_t*
    - char*
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5992
      start: 5967
    functionDepth: 13
    functionLinenumber: 5967
    functionLinenumberEnd: 5992
    functionName: gen_gateway
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pqkw
    - gen_host46_byname
    - gen_mac48host_byname
    - gen_and
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_gateway(compiler_state_t *cstate, const char *name, const u_char proto)'
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6009,1
    - Dst: pq_to_ipproto
      Src: /src/libpcap/gencode.c:6010,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6018,1
    - Dst: pq_to_ipproto
      Src: /src/libpcap/gencode.c:6019,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6023,1
    - Dst: pq_to_ipproto
      Src: /src/libpcap/gencode.c:6024,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:6038,1
    - Dst: pq_to_ethertype
      Src: /src/libpcap/gencode.c:6039,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:6046,1
    - Dst: pq_to_llcsap
      Src: /src/libpcap/gencode.c:6047,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6053,1
    - Dst: pq_to_nlpid
      Src: /src/libpcap/gencode.c:6054,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6057,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6058,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6059,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6060,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6061,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6062,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6063,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6064,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6065,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6068,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6069,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6070,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6071,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6072,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6073,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6074,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6075,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6076,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6079,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6080,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6081,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6082,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6083,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6086,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6087,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6088,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6091,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6092,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6093,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6094,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6095,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6096,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6097,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6100,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6101,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6102,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6105,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6106,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6107,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:6109,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:6109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 86
    argCount: 2
    argNames:
    - cstate
    - proto
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6110
      start: 5994
    functionDepth: 11
    functionLinenumber: 5994
    functionLinenumberEnd: 6110
    functionName: gen_proto_abbrev_internal
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pqkw
    - gen_linktype
    - pq_to_nlpid
    - pq_to_llcsap
    - pq_to_ethertype
    - pq_to_ipproto
    - gen_or
    - bpf_error
    - gen_proto
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_proto_abbrev_internal(compiler_state_t *cstate, int proto)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:6119,1
    - Dst: gen_proto_abbrev_internal
      Src: /src/libpcap/gencode.c:6122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cstate
    - proto
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6123
      start: 6112
    functionDepth: 12
    functionLinenumber: 6112
    functionLinenumberEnd: 6123
    functionName: gen_proto_abbrev
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - gen_proto_abbrev_internal
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_proto_abbrev(compiler_state_t *cstate, int proto)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:6128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstate
    - proto
    argTypes:
    - compiler_state_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6129
      start: 6125
    functionDepth: 2
    functionLinenumber: 6125
    functionLinenumberEnd: 6129
    functionName: gen_ip_proto
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_ip_proto(compiler_state_t *cstate, const uint8_t proto)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:6134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstate
    - proto
    argTypes:
    - compiler_state_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6135
      start: 6131
    functionDepth: 2
    functionLinenumber: 6131
    functionLinenumberEnd: 6135
    functionName: gen_ip6_proto
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_ip6_proto(compiler_state_t *cstate, const uint8_t proto)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:6143,1
    - Dst: gen_unset
      Src: /src/libpcap/gencode.c:6144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6145
      start: 6137
    functionDepth: 8
    functionLinenumber: 6137
    functionLinenumberEnd: 6145
    functionName: gen_ipfrag
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_load_a
    - gen_unset
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_ipfrag(compiler_state_t *cstate)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:6159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cstate
    - 'off'
    - v
    argTypes:
    - compiler_state_t*
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6160
      start: 6156
    functionDepth: 2
    functionLinenumber: 6156
    functionLinenumberEnd: 6160
    functionName: gen_portatom
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_portatom(compiler_state_t *cstate, int off, uint16_t v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:6165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cstate
    - 'off'
    - v
    argTypes:
    - compiler_state_t*
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6166
      start: 6162
    functionDepth: 2
    functionLinenumber: 6162
    functionLinenumberEnd: 6166
    functionName: gen_portatom6
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_portatom6(compiler_state_t *cstate, int off, uint16_t v)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gen_portatom
      Src: /src/libpcap/gencode.c:6176,1
    - Dst: gen_portatom
      Src: /src/libpcap/gencode.c:6180,1
    - Dst: gen_portatom
      Src: /src/libpcap/gencode.c:6184,1
    - Dst: gen_portatom
      Src: /src/libpcap/gencode.c:6185,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6186,1
    - Dst: gen_portatom
      Src: /src/libpcap/gencode.c:6191,1
    - Dst: gen_portatom
      Src: /src/libpcap/gencode.c:6192,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6193,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:6197,1
    - Dst: dqkw
      Src: /src/libpcap/gencode.c:6197,1
    - Dst: tqkw
      Src: /src/libpcap/gencode.c:6197,1
    - Dst: gen_port_common
      Src: /src/libpcap/gencode.c:6201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - cstate
    - port
    - proto
    - dir
    - addr
    argTypes:
    - compiler_state_t*
    - uint16_t
    - int
    - u_char
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6202
      start: 6168
    functionDepth: 3
    functionLinenumber: 6168
    functionLinenumberEnd: 6202
    functionName: gen_port
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_port_common
    - tqkw
    - dqkw
    - gen_portatom
    - gen_and
    - gen_or
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_port(compiler_state_t *cstate, const uint16_t
      port, const int proto,\n    const u_char dir, const u_char addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gen_ip_proto
      Src: /src/libpcap/gencode.c:6241,1
    - Dst: gen_ip_proto
      Src: /src/libpcap/gencode.c:6245,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6246,1
    - Dst: gen_ip_proto
      Src: /src/libpcap/gencode.c:6246,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6247,1
    - Dst: gen_ip_proto
      Src: /src/libpcap/gencode.c:6247,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:6251,1
    - Dst: gen_ipfrag
      Src: /src/libpcap/gencode.c:6254,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6255,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6256,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6258,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:6258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - cstate
    - proto
    - b1
    argTypes:
    - compiler_state_t*
    - int
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6259
      start: 6204
    functionDepth: 11
    functionLinenumber: 6204
    functionLinenumberEnd: 6259
    functionName: gen_port_common
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - gen_ipfrag
    - gen_linktype
    - gen_ip_proto
    - gen_and
    - gen_or
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_port_common(compiler_state_t *cstate, int proto, struct block *b1)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gen_portatom6
      Src: /src/libpcap/gencode.c:6269,1
    - Dst: gen_portatom6
      Src: /src/libpcap/gencode.c:6273,1
    - Dst: gen_portatom6
      Src: /src/libpcap/gencode.c:6277,1
    - Dst: gen_portatom6
      Src: /src/libpcap/gencode.c:6278,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6279,1
    - Dst: gen_portatom6
      Src: /src/libpcap/gencode.c:6284,1
    - Dst: gen_portatom6
      Src: /src/libpcap/gencode.c:6285,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6286,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:6290,1
    - Dst: dqkw
      Src: /src/libpcap/gencode.c:6290,1
    - Dst: tqkw
      Src: /src/libpcap/gencode.c:6290,1
    - Dst: gen_port6_common
      Src: /src/libpcap/gencode.c:6294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - cstate
    - port
    - proto
    - dir
    - addr
    argTypes:
    - compiler_state_t*
    - uint16_t
    - int
    - u_char
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6295
      start: 6261
    functionDepth: 3
    functionLinenumber: 6261
    functionLinenumberEnd: 6295
    functionName: gen_port6
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - tqkw
    - dqkw
    - gen_and
    - gen_portatom6
    - gen_port6_common
    - gen_or
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_port6(compiler_state_t *cstate, const uint16_t
      port, const int proto,\n    const u_char dir, const u_char addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gen_ip6_proto
      Src: /src/libpcap/gencode.c:6307,1
    - Dst: gen_ip6_proto
      Src: /src/libpcap/gencode.c:6312,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6313,1
    - Dst: gen_ip6_proto
      Src: /src/libpcap/gencode.c:6313,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6314,1
    - Dst: gen_ip6_proto
      Src: /src/libpcap/gencode.c:6314,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:6318,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6321,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6323,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:6323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cstate
    - proto
    - b1
    argTypes:
    - compiler_state_t*
    - int
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6324
      start: 6297
    functionDepth: 11
    functionLinenumber: 6297
    functionLinenumberEnd: 6324
    functionName: gen_port6_common
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - gen_linktype
    - gen_ip6_proto
    - gen_and
    - gen_or
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_port6_common(compiler_state_t *cstate, int proto, struct block *b1)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gen_portatom
      Src: /src/libpcap/gencode.c:6332,1
    - Dst: gen_cmp_ge
      Src: /src/libpcap/gencode.c:6336,1
    - Dst: min
      Src: /src/libpcap/gencode.c:6336,1
    - Dst: gen_cmp_le
      Src: /src/libpcap/gencode.c:6337,1
    - Dst: max
      Src: /src/libpcap/gencode.c:6337,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cstate
    - 'off'
    - v1
    - v2
    argTypes:
    - compiler_state_t*
    - u_int
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6340
      start: 6327
    functionDepth: 3
    functionLinenumber: 6327
    functionLinenumberEnd: 6340
    functionName: gen_portrangeatom
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - max
    - gen_cmp_le
    - gen_portatom
    - gen_cmp_ge
    - gen_and
    - min
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_portrangeatom(compiler_state_t *cstate, u_int
      off, uint16_t v1,\n    uint16_t v2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gen_portrangeatom
      Src: /src/libpcap/gencode.c:6350,1
    - Dst: gen_portrangeatom
      Src: /src/libpcap/gencode.c:6354,1
    - Dst: gen_portrangeatom
      Src: /src/libpcap/gencode.c:6358,1
    - Dst: gen_portrangeatom
      Src: /src/libpcap/gencode.c:6359,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6360,1
    - Dst: gen_portrangeatom
      Src: /src/libpcap/gencode.c:6365,1
    - Dst: gen_portrangeatom
      Src: /src/libpcap/gencode.c:6366,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6367,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:6371,1
    - Dst: dqkw
      Src: /src/libpcap/gencode.c:6371,1
    - Dst: gen_port_common
      Src: /src/libpcap/gencode.c:6375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - cstate
    - port1
    - port2
    - proto
    - dir
    argTypes:
    - compiler_state_t*
    - uint16_t
    - uint16_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6376
      start: 6342
    functionDepth: 12
    functionLinenumber: 6342
    functionLinenumberEnd: 6376
    functionName: gen_portrange
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_port_common
    - dqkw
    - gen_portrangeatom
    - gen_and
    - gen_or
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_portrange(compiler_state_t *cstate, uint16_t port1,
      uint16_t port2,\n    int proto, int dir)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gen_portatom6
      Src: /src/libpcap/gencode.c:6383,1
    - Dst: gen_cmp_ge
      Src: /src/libpcap/gencode.c:6387,1
    - Dst: min
      Src: /src/libpcap/gencode.c:6387,1
    - Dst: gen_cmp_le
      Src: /src/libpcap/gencode.c:6388,1
    - Dst: max
      Src: /src/libpcap/gencode.c:6388,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - cstate
    - 'off'
    - v1
    - v2
    argTypes:
    - compiler_state_t*
    - u_int
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6391
      start: 6378
    functionDepth: 3
    functionLinenumber: 6378
    functionLinenumberEnd: 6391
    functionName: gen_portrangeatom6
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - max
    - gen_cmp_le
    - gen_cmp_ge
    - gen_and
    - gen_portatom6
    - min
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_portrangeatom6(compiler_state_t *cstate, u_int
      off, uint16_t v1,\n    uint16_t v2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gen_portrangeatom6
      Src: /src/libpcap/gencode.c:6401,1
    - Dst: gen_portrangeatom6
      Src: /src/libpcap/gencode.c:6405,1
    - Dst: gen_portrangeatom6
      Src: /src/libpcap/gencode.c:6409,1
    - Dst: gen_portrangeatom6
      Src: /src/libpcap/gencode.c:6410,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6411,1
    - Dst: gen_portrangeatom6
      Src: /src/libpcap/gencode.c:6416,1
    - Dst: gen_portrangeatom6
      Src: /src/libpcap/gencode.c:6417,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6418,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:6422,1
    - Dst: dqkw
      Src: /src/libpcap/gencode.c:6422,1
    - Dst: gen_port6_common
      Src: /src/libpcap/gencode.c:6426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - cstate
    - port1
    - port2
    - proto
    - dir
    argTypes:
    - compiler_state_t*
    - uint16_t
    - uint16_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6427
      start: 6393
    functionDepth: 12
    functionLinenumber: 6393
    functionLinenumberEnd: 6427
    functionName: gen_portrange6
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - dqkw
    - gen_and
    - gen_port6_common
    - gen_or
    - gen_portrangeatom6
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_portrange6(compiler_state_t *cstate, uint16_t
      port1, uint16_t port2,\n    int proto, int dir)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcap_nametoproto
      Src: /src/libpcap/gencode.c:6453,1
    - Dst: pcap_nametoeproto
      Src: /src/libpcap/gencode.c:6458,1
    - Dst: pcap_nametollc
      Src: /src/libpcap/gencode.c:6460,1
    - Dst: strcmp
      Src: /src/libpcap/gencode.c:6464,1
    - Dst: strcmp
      Src: /src/libpcap/gencode.c:6466,1
    - Dst: strcmp
      Src: /src/libpcap/gencode.c:6468,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:6479,1
    - Dst: tqkw
      Src: /src/libpcap/gencode.c:6480,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:6481,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:6482,1
    - Dst: tqkw
      Src: /src/libpcap/gencode.c:6482,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - cstate
    - name
    - q
    argTypes:
    - compiler_state_t*
    - char*
    - struct qual
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6483
      start: 6429
    functionDepth: 2
    functionLinenumber: 6429
    functionLinenumberEnd: 6483
    functionName: lookup_proto
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pcap_nametoproto
    - pqkw
    - pcap_nametollc
    - pcap_nametoeproto
    - tqkw
    - strcmp
    - bpf_error
    linkageType: ''
    returnType: int
    signature: int lookup_proto(compiler_state_t *cstate, const char *name, const
      struct qual q)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:6498,1
    - Dst: memset
      Src: /src/libpcap/gencode.c:6500,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:6506,1
    - Dst: gen_protochain
      Src: /src/libpcap/gencode.c:6509,1
    - Dst: gen_protochain
      Src: /src/libpcap/gencode.c:6510,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6511,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:6513,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:6513,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:6533,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6554,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:6559,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:6562,1
    - Dst: gen_loadx_iphdrlen
      Src: /src/libpcap/gencode.c:6565,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:6570,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:6573,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6576,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:6582,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6588,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:6588,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6596,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:6596,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6609,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:6609,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6616,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:6616,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6622,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:6622,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6628,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:6628,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6645,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6649,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6653,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6657,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6661,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6665,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6669,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6672,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6677,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:6677,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6687,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6696,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:6696,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6711,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6716,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6720,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6723,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6727,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6730,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6734,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6738,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6742,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6745,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6750,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:6750,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:6756,1
    - Dst: gen_jmp_k
      Src: /src/libpcap/gencode.c:6775,1
    - Dst: free_reg
      Src: /src/libpcap/gencode.c:6777,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6779,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 169
    argCount: 3
    argNames:
    - cstate
    - v
    - proto
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6780
      start: 6490
    functionDepth: 11
    functionLinenumber: 6490
    functionLinenumberEnd: 6780
    functionName: gen_protochain
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - gen_protochain
    - pqkw
    - assert_maxval
    - alloc_reg
    - gen_linktype
    - gen_loadx_iphdrlen
    - gen_load_a
    - gen_and
    - JMP
    - gen_or
    - free_reg
    - memset
    - gen_jmp_k
    - bpf_error
    - new_stmt
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_protochain(compiler_state_t *cstate, bpf_u_int32 v, int proto)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6803,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6804,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6805,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:6808,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:6811,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:6827,1
    - Dst: gen_ip_proto
      Src: /src/libpcap/gencode.c:6829,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6830,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:6833,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:6834,1
    - Dst: gen_ip6_proto
      Src: /src/libpcap/gencode.c:6839,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:6840,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6841,1
    - Dst: gen_ip6_proto
      Src: /src/libpcap/gencode.c:6843,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:6844,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6845,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:6848,1
    - Dst: gen_frelay_nlpid
      Src: /src/libpcap/gencode.c:6863,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:6872,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:6874,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6875,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:6878,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:6879,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6880,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:6884,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:6885,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:6900,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:6902,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:6904,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:6904,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 3
    argNames:
    - cstate
    - v
    - proto
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6906
      start: 6795
    functionDepth: 11
    functionLinenumber: 6795
    functionLinenumberEnd: 6906
    functionName: gen_proto
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 2
    functionsReached:
    - pqkw
    - bpf_error
    - assert_maxval
    - gen_linktype
    - gen_ip6_proto
    - gen_mcmp
    - gen_ip_proto
    - gen_and
    - gen_cmp
    - gen_or
    - gen_frelay_nlpid
    - gen_proto
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_proto(compiler_state_t *cstate, bpf_u_int32 v, int proto)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/gencode.c:6924,1
    - Dst: getaddrinfo
      Src: /src/libpcap/gencode.c:6928,1
    - Dst: bpf_set_error
      Src: /src/libpcap/gencode.c:6950,1
    - Dst: bpf_set_error
      Src: /src/libpcap/gencode.c:6969,1
    - Dst: ntohs
      Src: /src/libpcap/gencode.c:6988,1
    - Dst: ntohs
      Src: /src/libpcap/gencode.c:6993,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/gencode.c:6998,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - cstate
    - name
    - ipproto
    argTypes:
    - compiler_state_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7001
      start: 6911
    functionDepth: 1
    functionLinenumber: 6911
    functionLinenumberEnd: 7001
    functionName: nametoport
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - getaddrinfo
    - ntohs
    - bpf_set_error
    - freeaddrinfo
    - memset
    linkageType: ''
    returnType: int
    signature: int nametoport(compiler_state_t *cstate, const char *name, int ipproto)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: stoulen
      Src: /src/libpcap/gencode.c:7019,1
    - Dst: malloc
      Src: /src/libpcap/gencode.c:7033,1
    - Dst: memcpy
      Src: /src/libpcap/gencode.c:7034,1
    - Dst: nametoport
      Src: /src/libpcap/gencode.c:7036,1
    - Dst: free
      Src: /src/libpcap/gencode.c:7042,1
    - Dst: longjmp
      Src: /src/libpcap/gencode.c:7043,1
    - Dst: nametoport
      Src: /src/libpcap/gencode.c:7046,1
    - Dst: free
      Src: /src/libpcap/gencode.c:7052,1
    - Dst: longjmp
      Src: /src/libpcap/gencode.c:7053,1
    - Dst: free
      Src: /src/libpcap/gencode.c:7077,1
    - Dst: free
      Src: /src/libpcap/gencode.c:7083,1
    - Dst: bpf_set_error
      Src: /src/libpcap/gencode.c:7086,1
    - Dst: free
      Src: /src/libpcap/gencode.c:7087,1
    - Dst: longjmp
      Src: /src/libpcap/gencode.c:7088,1
    - Dst: longjmp
      Src: /src/libpcap/gencode.c:7096,1
    - Dst: bpf_set_error
      Src: /src/libpcap/gencode.c:7104,1
    - Dst: longjmp
      Src: /src/libpcap/gencode.c:7105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 4
    argNames:
    - cstate
    - string
    - string_size
    - proto
    argTypes:
    - compiler_state_t*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7109
      start: 7006
    functionDepth: 2
    functionLinenumber: 7006
    functionLinenumberEnd: 7109
    functionName: stringtoport
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - nametoport
    - stoulen
    - longjmp
    - memcpy
    - bpf_set_error
    - free
    - malloc
    linkageType: ''
    returnType: bpf_u_int32
    signature: "bpf_u_int32 stringtoport(compiler_state_t *cstate, const char *string,
      size_t string_size,\n    int *proto)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libpcap/gencode.c:7124,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7125,1
    - Dst: strchr
      Src: /src/libpcap/gencode.c:7134,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7135,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7145,1
    - Dst: stringtoport
      Src: /src/libpcap/gencode.c:7151,1
    - Dst: strlen
      Src: /src/libpcap/gencode.c:7158,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7161,1
    - Dst: stringtoport
      Src: /src/libpcap/gencode.c:7167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - cstate
    - string
    - port1
    - port2
    - proto
    argTypes:
    - compiler_state_t*
    - char*
    - bpf_u_int32*
    - bpf_u_int32*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7170
      start: 7115
    functionDepth: 3
    functionLinenumber: 7115
    functionLinenumberEnd: 7170
    functionName: stringtoportrange
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - strlen
    - strchr
    - bpf_error
    - stringtoport
    linkageType: ''
    returnType: void
    signature: "void stringtoportrange(compiler_state_t *cstate, const char *string,\n
      \   bpf_u_int32 *port1, bpf_u_int32 *port2, int *proto)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:7185,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7196,1
    - Dst: tqkw
      Src: /src/libpcap/gencode.c:7197,1
    - Dst: pcap_nametonetaddr
      Src: /src/libpcap/gencode.c:7204,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7206,1
    - Dst: gen_host
      Src: /src/libpcap/gencode.c:7213,1
    - Dst: gen_mac48host_byname
      Src: /src/libpcap/gencode.c:7219,1
    - Dst: gen_host46_byname
      Src: /src/libpcap/gencode.c:7221,1
    - Dst: port_pq_to_ipproto
      Src: /src/libpcap/gencode.c:7226,1
    - Dst: pcap_nametoport
      Src: /src/libpcap/gencode.c:7227,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7228,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7231,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7233,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7240,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7243,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7250,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7253,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7267,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7269,1
    - Dst: gen_port
      Src: /src/libpcap/gencode.c:7272,1
    - Dst: gen_port6
      Src: /src/libpcap/gencode.c:7273,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:7274,1
    - Dst: port_pq_to_ipproto
      Src: /src/libpcap/gencode.c:7277,1
    - Dst: stringtoportrange
      Src: /src/libpcap/gencode.c:7278,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7281,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7283,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7290,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7292,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7299,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7301,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:7319,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:7320,1
    - Dst: gen_portrange
      Src: /src/libpcap/gencode.c:7323,1
    - Dst: gen_portrange6
      Src: /src/libpcap/gencode.c:7325,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:7327,1
    - Dst: gen_gateway
      Src: /src/libpcap/gencode.c:7330,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:7333,1
    - Dst: lookup_proto
      Src: /src/libpcap/gencode.c:7333,1
    - Dst: gen_protochain
      Src: /src/libpcap/gencode.c:7337,1
    - Dst: lookup_proto
      Src: /src/libpcap/gencode.c:7337,1
    - Dst: syntax
      Src: /src/libpcap/gencode.c:7341,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7344,1
    - Dst: tqkw
      Src: /src/libpcap/gencode.c:7344,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 95
    argCount: 3
    argNames:
    - cstate
    - name
    - q
    argTypes:
    - compiler_state_t*
    - char*
    - struct qual
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7346
      start: 7172
    functionDepth: 14
    functionLinenumber: 7172
    functionLinenumberEnd: 7346
    functionName: gen_scode
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_host46_byname
    - gen_gateway
    - gen_portrange6
    - gen_port6
    - gen_mac48host_byname
    - lookup_proto
    - syntax
    - gen_port
    - gen_protochain
    - pcap_nametoport
    - gen_host
    - pcap_nametonetaddr
    - stringtoportrange
    - port_pq_to_ipproto
    - gen_proto
    - assert_maxval
    - tqkw
    - setjmp
    - gen_portrange
    - gen_or
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_scode(compiler_state_t *cstate, const char *name, struct qual q)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:7360,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7369,1
    - Dst: tqkw
      Src: /src/libpcap/gencode.c:7370,1
    - Dst: pcapint_atoin
      Src: /src/libpcap/gencode.c:7373,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7375,1
    - Dst: pcapint_atoin
      Src: /src/libpcap/gencode.c:7381,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7383,1
    - Dst: snprintf
      Src: /src/libpcap/gencode.c:7386,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:7389,1
    - Dst: UINT64_C
      Src: /src/libpcap/gencode.c:7390,1
    - Dst: snprintf
      Src: /src/libpcap/gencode.c:7392,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7395,1
    - Dst: gen_host
      Src: /src/libpcap/gencode.c:7400,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7404,1
    - Dst: tqkw
      Src: /src/libpcap/gencode.c:7404,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - cstate
    - s1
    - s2
    - masklen
    - q
    argTypes:
    - compiler_state_t*
    - char*
    - char*
    - bpf_u_int32
    - struct qual
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7408
      start: 7348
    functionDepth: 12
    functionLinenumber: 7348
    functionLinenumberEnd: 7408
    functionName: gen_mcode
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - assert_maxval
    - gen_host
    - pcapint_atoin
    - UINT64_C
    - tqkw
    - setjmp
    - snprintf
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_mcode(compiler_state_t *cstate, const char *s1,
      const char *s2,\n    bpf_u_int32 masklen, struct qual q)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:7421,1
    - Dst: gen_dnhost
      Src: /src/libpcap/gencode.c:7425,1
    - Dst: snprintf
      Src: /src/libpcap/gencode.c:7436,1
    - Dst: pcapint_atoin
      Src: /src/libpcap/gencode.c:7443,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7445,1
    - Dst: snprintf
      Src: /src/libpcap/gencode.c:7446,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7456,1
    - Dst: gen_host
      Src: /src/libpcap/gencode.c:7470,1
    - Dst: port_pq_to_ipproto
      Src: /src/libpcap/gencode.c:7477,1
    - Dst: tqkw
      Src: /src/libpcap/gencode.c:7477,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:7480,1
    - Dst: gen_port
      Src: /src/libpcap/gencode.c:7483,1
    - Dst: gen_port6
      Src: /src/libpcap/gencode.c:7484,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:7485,1
    - Dst: gen_proto
      Src: /src/libpcap/gencode.c:7488,1
    - Dst: gen_protochain
      Src: /src/libpcap/gencode.c:7492,1
    - Dst: syntax
      Src: /src/libpcap/gencode.c:7496,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7500,1
    - Dst: tqkw
      Src: /src/libpcap/gencode.c:7500,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 4
    argNames:
    - cstate
    - s
    - v
    - q
    argTypes:
    - compiler_state_t*
    - char*
    - bpf_u_int32
    - struct qual
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7504
      start: 7410
    functionDepth: 12
    functionLinenumber: 7410
    functionLinenumberEnd: 7504
    functionName: gen_ncode
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_port
    - gen_protochain
    - assert_maxval
    - gen_host
    - pcapint_atoin
    - tqkw
    - setjmp
    - gen_port6
    - gen_dnhost
    - port_pq_to_ipproto
    - syntax
    - snprintf
    - gen_or
    - bpf_error
    - gen_proto
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_ncode(compiler_state_t *cstate, const char *s, bpf_u_int32 v, struct qual
      q)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:7518,1
    - Dst: inet_pton
      Src: /src/libpcap/gencode.c:7526,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7527,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7530,1
    - Dst: memset
      Src: /src/libpcap/gencode.c:7531,1
    - Dst: memset
      Src: /src/libpcap/gencode.c:7532,1
    - Dst: memcpy
      Src: /src/libpcap/gencode.c:7538,1
    - Dst: memcpy
      Src: /src/libpcap/gencode.c:7539,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7542,1
    - Dst: snprintf
      Src: /src/libpcap/gencode.c:7551,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7552,1
    - Dst: gen_host6
      Src: /src/libpcap/gencode.c:7557,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7563,1
    - Dst: tqkw
      Src: /src/libpcap/gencode.c:7563,1
    - Dst: snprintf
      Src: /src/libpcap/gencode.c:7565,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7566,1
    - Dst: tqkw
      Src: /src/libpcap/gencode.c:7566,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - cstate
    - s
    - masklen
    - q
    argTypes:
    - compiler_state_t*
    - char*
    - bpf_u_int32
    - struct qual
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7570
      start: 7506
    functionDepth: 12
    functionLinenumber: 7506
    functionLinenumberEnd: 7570
    functionName: gen_mcode6
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_host6
    - tqkw
    - setjmp
    - memcpy
    - inet_pton
    - snprintf
    - memset
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_mcode6(compiler_state_t *cstate, const char *s,
      bpf_u_int32 masklen,\n    struct qual q)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:7579,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7585,1
    - Dst: is_mac48_linktype
      Src: /src/libpcap/gencode.c:7586,1
    - Dst: fail_kw_on_dlt
      Src: /src/libpcap/gencode.c:7587,1
    - Dst: pcapint_atomac48
      Src: /src/libpcap/gencode.c:7594,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7595,1
    - Dst: gen_mac48host
      Src: /src/libpcap/gencode.c:7597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - cstate
    - s
    - q
    argTypes:
    - compiler_state_t*
    - char*
    - struct qual
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7598
      start: 7572
    functionDepth: 10
    functionLinenumber: 7572
    functionLinenumberEnd: 7598
    functionName: gen_ecode
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - is_mac48_linktype
    - fail_kw_on_dlt
    - setjmp
    - pcapint_atomac48
    - gen_mac48host
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_ecode(compiler_state_t *cstate, const char *s, struct qual q)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:7608,1
    - Dst: assert_nonwlan_dqual
      Src: /src/libpcap/gencode.c:7612,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7615,1
    - Dst: tqkw
      Src: /src/libpcap/gencode.c:7615,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7617,1
    - Dst: pcapint_atoan
      Src: /src/libpcap/gencode.c:7625,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7626,1
    - Dst: gen_mac8host
      Src: /src/libpcap/gencode.c:7628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - cstate
    - s
    - q
    argTypes:
    - compiler_state_t*
    - char*
    - struct qual
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7629
      start: 7601
    functionDepth: 5
    functionLinenumber: 7601
    functionLinenumberEnd: 7629
    functionName: gen_acode
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - assert_nonwlan_dqual
    - tqkw
    - setjmp
    - pcapint_atoan
    - gen_mac8host
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_acode(compiler_state_t *cstate, const char *s, struct qual q)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s0
    - s1
    argTypes:
    - struct slist*
    - struct slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7641
      start: 7631
    functionDepth: 0
    functionLinenumber: 7631
    functionLinenumberEnd: 7641
    functionName: sappend
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sappend(struct slist *s0, struct slist *s1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sappend
      Src: /src/libpcap/gencode.c:7653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - s
    - b
    argTypes:
    - struct slist*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7662
      start: 7648
    functionDepth: 1
    functionLinenumber: 7648
    functionLinenumberEnd: 7662
    functionName: sprepend_to_block
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - sappend
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      sprepend_to_block(struct slist *s, struct block *b)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:7669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cstate
    - a
    argTypes:
    - compiler_state_t*
    - struct arth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7672
      start: 7664
    functionDepth: 5
    functionLinenumber: 7664
    functionLinenumberEnd: 7672
    functionName: xfer_to_x
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - new_stmt
    linkageType: ''
    returnType: struct slist
    signature: 'struct slist *

      xfer_to_x(compiler_state_t *cstate, const struct arth *a)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:7679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cstate
    - a
    argTypes:
    - compiler_state_t*
    - struct arth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7682
      start: 7674
    functionDepth: 5
    functionLinenumber: 7674
    functionLinenumberEnd: 7682
    functionName: xfer_to_a
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - new_stmt
    linkageType: ''
    returnType: struct slist
    signature: 'struct slist *

      xfer_to_a(compiler_state_t *cstate, const struct arth *a)'
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:7696,1
    - Dst: free_reg
      Src: /src/libpcap/gencode.c:7698,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7702,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7722,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:7722,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:7735,1
    - Dst: gen_abs_offset_varpart
      Src: /src/libpcap/gencode.c:7763,1
    - Dst: gen_abs_offset_varpart
      Src: /src/libpcap/gencode.c:7802,1
    - Dst: gen_proto_abbrev_internal
      Src: /src/libpcap/gencode.c:7825,1
    - Dst: gen_loadx_iphdrlen
      Src: /src/libpcap/gencode.c:7853,1
    - Dst: gen_proto_abbrev_internal
      Src: /src/libpcap/gencode.c:7881,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:7882,1
    - Dst: gen_ip_proto
      Src: /src/libpcap/gencode.c:7882,1
    - Dst: pq_to_ipproto
      Src: /src/libpcap/gencode.c:7882,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:7884,1
    - Dst: gen_ipfrag
      Src: /src/libpcap/gencode.c:7884,1
    - Dst: gen_proto_abbrev_internal
      Src: /src/libpcap/gencode.c:7897,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:7902,1
    - Dst: gen_ip6_proto
      Src: /src/libpcap/gencode.c:7902,1
    - Dst: gen_abs_offset_varpart
      Src: /src/libpcap/gencode.c:7904,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:7926,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:7928,1
    - Dst: gen_load_absoffsetarthrel
      Src: /src/libpcap/gencode.c:7928,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:7932,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:7934,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 4
    argNames:
    - cstate
    - proto
    - inst
    - size
    argTypes:
    - compiler_state_t*
    - int
    - struct arth*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7937
      start: 7691
    functionDepth: 12
    functionLinenumber: 7691
    functionLinenumberEnd: 7937
    functionName: gen_load_internal
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pqkw
    - sappend
    - alloc_reg
    - gen_loadx_iphdrlen
    - gen_ipfrag
    - gen_ip6_proto
    - gen_ip_proto
    - gen_and
    - gen_proto_abbrev_internal
    - gen_abs_offset_varpart
    - free_reg
    - pq_to_ipproto
    - gen_load_absoffsetarthrel
    - bpf_error
    - new_stmt
    linkageType: ''
    returnType: struct arth
    signature: "struct arth *\ngen_load_internal(compiler_state_t *cstate, int proto,
      struct arth *inst,\n    bpf_u_int32 size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:7947,1
    - Dst: gen_load_internal
      Src: /src/libpcap/gencode.c:7950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - cstate
    - proto
    - inst
    - size
    argTypes:
    - compiler_state_t*
    - int
    - struct arth*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7951
      start: 7939
    functionDepth: 13
    functionLinenumber: 7939
    functionLinenumberEnd: 7951
    functionName: gen_load
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_load_internal
    - setjmp
    linkageType: ''
    returnType: struct arth
    signature: "struct arth *\ngen_load(compiler_state_t *cstate, int proto, struct
      arth *inst,\n    bpf_u_int32 size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xfer_to_x
      Src: /src/libpcap/gencode.c:7960,1
    - Dst: xfer_to_a
      Src: /src/libpcap/gencode.c:7961,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:7962,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:7963,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:7964,1
    - Dst: gen_jmp_x
      Src: /src/libpcap/gencode.c:7966,1
    - Dst: gen_not
      Src: /src/libpcap/gencode.c:7968,1
    - Dst: free_reg
      Src: /src/libpcap/gencode.c:7970,1
    - Dst: free_reg
      Src: /src/libpcap/gencode.c:7971,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:7975,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:7977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - cstate
    - code
    - a0
    - a1
    - reversed
    argTypes:
    - compiler_state_t*
    - int
    - struct arth*
    - struct arth*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7979
      start: 7953
    functionDepth: 6
    functionLinenumber: 7953
    functionLinenumberEnd: 7979
    functionName: gen_relation_internal
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_jmp_x
    - sappend
    - xfer_to_x
    - gen_and
    - free_reg
    - xfer_to_a
    - gen_not
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_relation_internal(compiler_state_t *cstate, int
      code, struct arth *a0,\n    struct arth *a1, int reversed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:7989,1
    - Dst: gen_relation_internal
      Src: /src/libpcap/gencode.c:7992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - cstate
    - code
    - a0
    - a1
    - reversed
    argTypes:
    - compiler_state_t*
    - int
    - struct arth*
    - struct arth*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7993
      start: 7981
    functionDepth: 7
    functionLinenumber: 7981
    functionLinenumberEnd: 7993
    functionName: gen_relation
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - gen_relation_internal
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_relation(compiler_state_t *cstate, int code, struct
      arth *a0,\n    struct arth *a1, int reversed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8006,1
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:8009,1
    - Dst: newchunk
      Src: /src/libpcap/gencode.c:8010,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8011,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8018
      start: 7995
    functionDepth: 5
    functionLinenumber: 7995
    functionLinenumberEnd: 8018
    functionName: gen_loadlen
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - new_stmt
    - alloc_reg
    - newchunk
    linkageType: ''
    returnType: struct arth
    signature: 'struct arth *

      gen_loadlen(compiler_state_t *cstate)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: newchunk
      Src: /src/libpcap/gencode.c:8027,1
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:8029,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8031,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - cstate
    - val
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8039
      start: 8020
    functionDepth: 5
    functionLinenumber: 8020
    functionLinenumberEnd: 8039
    functionName: gen_loadi_internal
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - new_stmt
    - alloc_reg
    - newchunk
    linkageType: ''
    returnType: struct arth
    signature: 'struct arth *

      gen_loadi_internal(compiler_state_t *cstate, bpf_u_int32 val)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8048,1
    - Dst: gen_loadi_internal
      Src: /src/libpcap/gencode.c:8051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cstate
    - val
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8052
      start: 8041
    functionDepth: 6
    functionLinenumber: 8041
    functionLinenumberEnd: 8052
    functionName: gen_loadi
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - gen_loadi_internal
    linkageType: ''
    returnType: struct arth
    signature: 'struct arth *

      gen_loadi(compiler_state_t *cstate, bpf_u_int32 val)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8069,1
    - Dst: xfer_to_a
      Src: /src/libpcap/gencode.c:8072,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8073,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8074,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8076,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8077,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - cstate
    - a_arg
    argTypes:
    - compiler_state_t*
    - struct arth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8082
      start: 8059
    functionDepth: 6
    functionLinenumber: 8059
    functionLinenumberEnd: 8082
    functionName: gen_neg
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - sappend
    - new_stmt
    - xfer_to_a
    linkageType: ''
    returnType: struct arth
    signature: 'struct arth *

      gen_neg(compiler_state_t *cstate, struct arth *a_arg)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8100,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:8112,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:8115,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:8118,1
    - Dst: xfer_to_x
      Src: /src/libpcap/gencode.c:8120,1
    - Dst: xfer_to_a
      Src: /src/libpcap/gencode.c:8121,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8122,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8124,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8125,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8126,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8127,1
    - Dst: free_reg
      Src: /src/libpcap/gencode.c:8129,1
    - Dst: free_reg
      Src: /src/libpcap/gencode.c:8130,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8132,1
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:8133,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - cstate
    - code
    - a0_arg
    - a1
    argTypes:
    - compiler_state_t*
    - int
    - struct arth*
    - struct arth*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8137
      start: 8089
    functionDepth: 6
    functionLinenumber: 8089
    functionLinenumberEnd: 8137
    functionName: gen_arth
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - bpf_error
    - sappend
    - alloc_reg
    - setjmp
    - xfer_to_x
    - free_reg
    - xfer_to_a
    - new_stmt
    linkageType: ''
    returnType: struct arth
    signature: "struct arth *\ngen_arth(compiler_state_t *cstate, int code, struct
      arth *a0_arg,\n    struct arth *a1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/gencode.c:8146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8147
      start: 8142
    functionDepth: 0
    functionLinenumber: 8142
    functionLinenumberEnd: 8147
    functionName: init_regs
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void init_regs(compiler_state_t *cstate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:8165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8167
      start: 8152
    functionDepth: 0
    functionLinenumber: 8152
    functionLinenumberEnd: 8167
    functionName: alloc_reg
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 7
    functionsReached:
    - bpf_error
    linkageType: ''
    returnType: int
    signature: int alloc_reg(compiler_state_t *cstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstate
    - n
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8177
      start: 8173
    functionDepth: 0
    functionLinenumber: 8173
    functionLinenumberEnd: 8177
    functionName: free_reg
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void free_reg(compiler_state_t *cstate, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8184,1
    - Dst: gen_jmp_k
      Src: /src/libpcap/gencode.c:8185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cstate
    - jmp
    - n
    argTypes:
    - compiler_state_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8186
      start: 8179
    functionDepth: 6
    functionLinenumber: 8179
    functionLinenumberEnd: 8186
    functionName: gen_len
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_jmp_k
    - new_stmt
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_len(compiler_state_t *cstate, int jmp, int n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8195,1
    - Dst: gen_len
      Src: /src/libpcap/gencode.c:8198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cstate
    - n
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8199
      start: 8188
    functionDepth: 7
    functionLinenumber: 8188
    functionLinenumberEnd: 8199
    functionName: gen_greater
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - gen_len
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_greater(compiler_state_t *cstate, int n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8211,1
    - Dst: gen_not
      Src: /src/libpcap/gencode.c:8214,1
    - Dst: gen_len
      Src: /src/libpcap/gencode.c:8214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cstate
    - n
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8215
      start: 8204
    functionDepth: 7
    functionLinenumber: 8204
    functionLinenumberEnd: 8215
    functionName: gen_less
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_not
    - setjmp
    - gen_len
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_less(compiler_state_t *cstate, int n)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8231,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:8234,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:8238,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8241,1
    - Dst: gen_cmp_lt
      Src: /src/libpcap/gencode.c:8244,1
    - Dst: gen_cmp_gt
      Src: /src/libpcap/gencode.c:8247,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8250,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8254,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:8259,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8260,1
    - Dst: gen_jmp_k
      Src: /src/libpcap/gencode.c:8261,1
    - Dst: gen_not
      Src: /src/libpcap/gencode.c:8263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - cstate
    - op
    - idx
    - val
    argTypes:
    - compiler_state_t*
    - int
    - int
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8264
      start: 8221
    functionDepth: 7
    functionLinenumber: 8221
    functionLinenumberEnd: 8264
    functionName: gen_byteop
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - assert_maxval
    - gen_cmp_gt
    - sappend
    - gen_not
    - setjmp
    - gen_load_a
    - gen_cmp_lt
    - gen_cmp
    - gen_jmp_k
    - bpf_error
    - new_stmt
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_byteop(compiler_state_t *cstate, int op, int idx, bpf_u_int32 val)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8277,1
    - Dst: gen_mac8host
      Src: /src/libpcap/gencode.c:8288,1
    - Dst: gen_mac8host
      Src: /src/libpcap/gencode.c:8291,1
    - Dst: gen_mac48host
      Src: /src/libpcap/gencode.c:8293,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:8303,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:8304,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:8306,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:8308,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:8310,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:8310,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:8312,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:8312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - cstate
    - proto
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8314
      start: 8266
    functionDepth: 11
    functionLinenumber: 8266
    functionLinenumberEnd: 8314
    functionName: gen_broadcast
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pqkw
    - gen_linktype
    - setjmp
    - gen_mcmp
    - gen_mac8host
    - gen_and
    - gen_or
    - gen_mac48host
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_broadcast(compiler_state_t *cstate, int proto)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:8326,1
    - Dst: gen_set
      Src: /src/libpcap/gencode.c:8327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cstate
    - offset
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8328
      start: 8320
    functionDepth: 7
    functionLinenumber: 8320
    functionLinenumberEnd: 8328
    functionName: gen_mac_multicast
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_set
    - gen_load_a
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_mac_multicast(compiler_state_t *cstate, int offset)'
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8340,1
    - Dst: gen_mac8host
      Src: /src/libpcap/gencode.c:8351,1
    - Dst: gen_prevlinkhdr_check
      Src: /src/libpcap/gencode.c:8357,1
    - Dst: gen_mac_multicast
      Src: /src/libpcap/gencode.c:8359,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:8360,1
    - Dst: gen_mac_multicast
      Src: /src/libpcap/gencode.c:8368,1
    - Dst: gen_mac_multicast
      Src: /src/libpcap/gencode.c:8371,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:8398,1
    - Dst: gen_set
      Src: /src/libpcap/gencode.c:8399,1
    - Dst: gen_mac_multicast
      Src: /src/libpcap/gencode.c:8404,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:8405,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:8411,1
    - Dst: gen_unset
      Src: /src/libpcap/gencode.c:8412,1
    - Dst: gen_mac_multicast
      Src: /src/libpcap/gencode.c:8417,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:8418,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:8424,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:8430,1
    - Dst: gen_set
      Src: /src/libpcap/gencode.c:8431,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:8436,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:8443,1
    - Dst: gen_unset
      Src: /src/libpcap/gencode.c:8444,1
    - Dst: gen_mac_multicast
      Src: /src/libpcap/gencode.c:8449,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:8450,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:8457,1
    - Dst: gen_load_a
      Src: /src/libpcap/gencode.c:8467,1
    - Dst: gen_unset
      Src: /src/libpcap/gencode.c:8468,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:8474,1
    - Dst: gen_mac_multicast
      Src: /src/libpcap/gencode.c:8476,1
    - Dst: fail_kw_on_dlt
      Src: /src/libpcap/gencode.c:8480,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:8484,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:8489,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:8492,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:8495,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8496,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:8497,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:8499,1
    - Dst: pqkw
      Src: /src/libpcap/gencode.c:8499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 63
    argCount: 2
    argNames:
    - cstate
    - proto
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8501
      start: 8330
    functionDepth: 11
    functionLinenumber: 8330
    functionLinenumberEnd: 8501
    functionName: gen_multicast
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pqkw
    - gen_set
    - fail_kw_on_dlt
    - gen_linktype
    - setjmp
    - gen_load_a
    - gen_mcmp
    - gen_cmp
    - gen_mac8host
    - gen_and
    - gen_mac_multicast
    - gen_unset
    - gen_or
    - gen_prevlinkhdr_check
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_multicast(compiler_state_t *cstate, int proto)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:8516,1
    - Dst: pcapint_datalink_val_to_string
      Src: /src/libpcap/gencode.c:8518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cstate
    - keyword
    argTypes:
    - compiler_state_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8519
      start: 8511
    functionDepth: 3
    functionLinenumber: 8511
    functionLinenumberEnd: 8519
    functionName: require_basic_bpf_extensions
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - pcapint_datalink_val_to_string
    - bpf_error
    linkageType: ''
    returnType: void
    signature: void require_basic_bpf_extensions(compiler_state_t *cstate, const char
      *keyword)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8529,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8538,1
    - Dst: require_basic_bpf_extensions
      Src: /src/libpcap/gencode.c:8541,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8543,1
    - Dst: fail_kw_on_dlt
      Src: /src/libpcap/gencode.c:8546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cstate
    - ifindex
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8550
      start: 8522
    functionDepth: 4
    functionLinenumber: 8522
    functionLinenumberEnd: 8550
    functionName: gen_ifindex
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - require_basic_bpf_extensions
    - fail_kw_on_dlt
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_ifindex(compiler_state_t *cstate, int ifindex)'
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8570,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8578,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8582,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8587,1
    - Dst: gen_not
      Src: /src/libpcap/gencode.c:8589,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8593,1
    - Dst: gen_not
      Src: /src/libpcap/gencode.c:8595,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8598,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8602,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:8628,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:8637,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:8653,1
    - Dst: require_basic_bpf_extensions
      Src: /src/libpcap/gencode.c:8674,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8676,1
    - Dst: gen_not
      Src: /src/libpcap/gencode.c:8679,1
    - Dst: fail_kw_on_dlt
      Src: /src/libpcap/gencode.c:8681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 2
    argNames:
    - cstate
    - outbound
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8685
      start: 8561
    functionDepth: 4
    functionLinenumber: 8561
    functionLinenumberEnd: 8685
    functionName: gen_inbound_outbound
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - require_basic_bpf_extensions
    - fail_kw_on_dlt
    - setjmp
    - gen_mcmp
    - gen_cmp
    - gen_not
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_inbound_outbound(compiler_state_t *cstate, const int outbound)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8697,1
    - Dst: assert_pflog
      Src: /src/libpcap/gencode.c:8700,1
    - Dst: strlen
      Src: /src/libpcap/gencode.c:8704,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:8705,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:8709,1
    - Dst: strlen
      Src: /src/libpcap/gencode.c:8709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - cstate
    - ifname
    argTypes:
    - compiler_state_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8711
      start: 8688
    functionDepth: 4
    functionLinenumber: 8688
    functionLinenumberEnd: 8711
    functionName: gen_pf_ifname
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - gen_bcmp
    - assert_pflog
    - strlen
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_pf_ifname(compiler_state_t *cstate, const char *ifname)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8721,1
    - Dst: assert_pflog
      Src: /src/libpcap/gencode.c:8724,1
    - Dst: strlen
      Src: /src/libpcap/gencode.c:8726,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:8727,1
    - Dst: gen_bcmp
      Src: /src/libpcap/gencode.c:8732,1
    - Dst: strlen
      Src: /src/libpcap/gencode.c:8733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cstate
    - ruleset
    argTypes:
    - compiler_state_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8734
      start: 8714
    functionDepth: 4
    functionLinenumber: 8714
    functionLinenumberEnd: 8734
    functionName: gen_pf_ruleset
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - gen_bcmp
    - assert_pflog
    - strlen
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_pf_ruleset(compiler_state_t *cstate, char *ruleset)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8744,1
    - Dst: assert_pflog
      Src: /src/libpcap/gencode.c:8747,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cstate
    - rnr
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8751
      start: 8737
    functionDepth: 2
    functionLinenumber: 8737
    functionLinenumberEnd: 8751
    functionName: gen_pf_rnr
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - assert_pflog
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_pf_rnr(compiler_state_t *cstate, int rnr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8761,1
    - Dst: assert_pflog
      Src: /src/libpcap/gencode.c:8764,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cstate
    - srnr
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8768
      start: 8754
    functionDepth: 2
    functionLinenumber: 8754
    functionLinenumberEnd: 8768
    functionName: gen_pf_srnr
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - assert_pflog
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_pf_srnr(compiler_state_t *cstate, int srnr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8778,1
    - Dst: assert_pflog
      Src: /src/libpcap/gencode.c:8781,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cstate
    - reason
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8785
      start: 8771
    functionDepth: 2
    functionLinenumber: 8771
    functionLinenumberEnd: 8785
    functionName: gen_pf_reason
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - assert_pflog
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_pf_reason(compiler_state_t *cstate, int reason)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8795,1
    - Dst: assert_pflog
      Src: /src/libpcap/gencode.c:8798,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:8800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cstate
    - action
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8802
      start: 8788
    functionDepth: 2
    functionLinenumber: 8788
    functionLinenumberEnd: 8802
    functionName: gen_pf_action
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - assert_pflog
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_pf_action(compiler_state_t *cstate, int action)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8812,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:8822,1
    - Dst: fail_kw_on_dlt
      Src: /src/libpcap/gencode.c:8825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - cstate
    - type
    - mask
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8828
      start: 8805
    functionDepth: 4
    functionLinenumber: 8805
    functionLinenumberEnd: 8828
    functionName: gen_p80211_type
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - gen_mcmp
    - fail_kw_on_dlt
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_p80211_type(compiler_state_t *cstate, bpf_u_int32 type, bpf_u_int32 mask)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:8837,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:8847,1
    - Dst: fail_kw_on_dlt
      Src: /src/libpcap/gencode.c:8851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - cstate
    - fcdir
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8854
      start: 8830
    functionDepth: 4
    functionLinenumber: 8830
    functionLinenumberEnd: 8854
    functionName: gen_p80211_fcdir
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - gen_mcmp
    - fail_kw_on_dlt
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_p80211_fcdir(compiler_state_t *cstate, bpf_u_int32 fcdir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:8862,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:8863,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:8864,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:8865,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:8867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8868
      start: 8856
    functionDepth: 11
    functionLinenumber: 8856
    functionLinenumberEnd: 8868
    functionName: gen_vlan_tpid_test
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_or
    - gen_linktype
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_vlan_tpid_test(compiler_state_t *cstate)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:8873,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:8874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cstate
    - vlan_num
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8875
      start: 8870
    functionDepth: 2
    functionLinenumber: 8870
    functionLinenumberEnd: 8875
    functionName: gen_vlan_vid_test
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_mcmp
    - assert_maxval
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_vlan_vid_test(compiler_state_t *cstate, bpf_u_int32 vlan_num)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gen_vlan_tpid_test
      Src: /src/libpcap/gencode.c:8883,1
    - Dst: gen_vlan_vid_test
      Src: /src/libpcap/gencode.c:8886,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:8887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - cstate
    - vlan_num
    - has_vlan_tag
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8898
      start: 8877
    functionDepth: 12
    functionLinenumber: 8877
    functionLinenumberEnd: 8898
    functionName: gen_vlan_no_bpf_extensions
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_and
    - gen_vlan_tpid_test
    - gen_vlan_vid_test
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_vlan_no_bpf_extensions(compiler_state_t *cstate,
      bpf_u_int32 vlan_num,\n    int has_vlan_tag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:8911,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8913,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8915,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8916,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8918,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8919,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - cstate
    - 'off'
    - v
    - s
    argTypes:
    - compiler_state_t*
    - bpf_abs_offset*
    - bpf_u_int32
    - struct slist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8922
      start: 8902
    functionDepth: 5
    functionLinenumber: 8902
    functionLinenumberEnd: 8922
    functionName: gen_vlan_vloffset_add
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - sappend
    - alloc_reg
    - new_stmt
    linkageType: ''
    returnType: void
    signature: "void gen_vlan_vloffset_add(compiler_state_t *cstate, bpf_abs_offset
      *off,\n    bpf_u_int32 v, struct slist *s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_vlan_vloffset_add
      Src: /src/libpcap/gencode.c:8936,1
    - Dst: gen_vlan_vloffset_add
      Src: /src/libpcap/gencode.c:8937,1
    - Dst: sprepend_to_block
      Src: /src/libpcap/gencode.c:8940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cstate
    - b_tpid
    argTypes:
    - compiler_state_t*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8941
      start: 8928
    functionDepth: 6
    functionLinenumber: 8928
    functionLinenumberEnd: 8941
    functionName: gen_vlan_patch_tpid_test
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_vlan_vloffset_add
    - sprepend_to_block
    linkageType: ''
    returnType: void
    signature: void gen_vlan_patch_tpid_test(compiler_state_t *cstate, struct block
      *b_tpid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8953,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8957,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:8957,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8960,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8962,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8964,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8974,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:8974,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:8976,1
    - Dst: sprepend_to_block
      Src: /src/libpcap/gencode.c:8979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - cstate
    - b_vid
    argTypes:
    - compiler_state_t*
    - struct block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8980
      start: 8947
    functionDepth: 5
    functionLinenumber: 8947
    functionLinenumberEnd: 8980
    functionName: gen_vlan_patch_vid_test
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - sappend
    - JMP
    - new_stmt
    - sprepend_to_block
    linkageType: ''
    returnType: void
    signature: void gen_vlan_patch_vid_test(compiler_state_t *cstate, struct block
      *b_vid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:8999,1
    - Dst: gen_jmp_k
      Src: /src/libpcap/gencode.c:9002,1
    - Dst: gen_vlan_tpid_test
      Src: /src/libpcap/gencode.c:9014,1
    - Dst: gen_vlan_vid_test
      Src: /src/libpcap/gencode.c:9016,1
    - Dst: gen_vlan_patch_tpid_test
      Src: /src/libpcap/gencode.c:9018,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:9019,1
    - Dst: gen_vlan_patch_vid_test
      Src: /src/libpcap/gencode.c:9022,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9023,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cstate
    - vlan_num
    - has_vlan_tag
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9027
      start: 8990
    functionDepth: 12
    functionLinenumber: 8990
    functionLinenumberEnd: 9027
    functionName: gen_vlan_bpf_extensions
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_vlan_patch_tpid_test
    - gen_vlan_tpid_test
    - gen_and
    - gen_vlan_vid_test
    - gen_or
    - gen_jmp_k
    - gen_vlan_patch_vid_test
    - new_stmt
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_vlan_bpf_extensions(compiler_state_t *cstate,
      bpf_u_int32 vlan_num,\n    int has_vlan_tag)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:9042,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:9047,1
    - Dst: gen_vlan_bpf_extensions
      Src: /src/libpcap/gencode.c:9100,1
    - Dst: gen_vlan_no_bpf_extensions
      Src: /src/libpcap/gencode.c:9103,1
    - Dst: gen_vlan_no_bpf_extensions
      Src: /src/libpcap/gencode.c:9107,1
    - Dst: gen_vlan_no_bpf_extensions
      Src: /src/libpcap/gencode.c:9131,1
    - Dst: fail_kw_on_dlt
      Src: /src/libpcap/gencode.c:9135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - cstate
    - vlan_num
    - has_vlan_tag
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9142
      start: 9033
    functionDepth: 13
    functionLinenumber: 9033
    functionLinenumberEnd: 9142
    functionName: gen_vlan
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - fail_kw_on_dlt
    - gen_vlan_no_bpf_extensions
    - setjmp
    - gen_vlan_bpf_extensions
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_vlan(compiler_state_t *cstate, bpf_u_int32 vlan_num, int has_vlan_tag)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gen_not
      Src: /src/libpcap/gencode.c:9158,1
    - Dst: gen_just_after_mpls_stack
      Src: /src/libpcap/gencode.c:9158,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:9173,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:9177,1
    - Dst: fail_kw_on_dlt
      Src: /src/libpcap/gencode.c:9185,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:9192,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:9193,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - cstate
    - label_num
    - has_label_num
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9217
      start: 9151
    functionDepth: 11
    functionLinenumber: 9151
    functionLinenumberEnd: 9217
    functionName: gen_mpls_internal
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - assert_maxval
    - fail_kw_on_dlt
    - gen_linktype
    - gen_mcmp
    - gen_just_after_mpls_stack
    - gen_and
    - gen_not
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_mpls_internal(compiler_state_t *cstate, bpf_u_int32
      label_num,\n    int has_label_num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:9226,1
    - Dst: gen_mpls_internal
      Src: /src/libpcap/gencode.c:9229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cstate
    - label_num
    - has_label_num
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9230
      start: 9219
    functionDepth: 12
    functionLinenumber: 9219
    functionLinenumberEnd: 9230
    functionName: gen_mpls
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - gen_mpls_internal
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_mpls(compiler_state_t *cstate, bpf_u_int32 label_num, int has_label_num)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:9242,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:9246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9247
      start: 9235
    functionDepth: 11
    functionLinenumber: 9235
    functionLinenumberEnd: 9247
    functionName: gen_pppoed
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - gen_linktype
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_pppoed(compiler_state_t *cstate)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:9271,1
    - Dst: gen_linktype
      Src: /src/libpcap/gencode.c:9277,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:9281,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:9282,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9283,1
    - Dst: PUSH_LINKHDR
      Src: /src/libpcap/gencode.c:9304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - cstate
    - sess_num
    - has_sess_num
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9315
      start: 9262
    functionDepth: 11
    functionLinenumber: 9262
    functionLinenumberEnd: 9315
    functionName: gen_pppoes
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - assert_maxval
    - gen_linktype
    - setjmp
    - gen_cmp
    - gen_and
    - PUSH_LINKHDR
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_pppoes(compiler_state_t *cstate, bpf_u_int32 sess_num, int has_sess_num)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gen_portfn
      Src: /src/libpcap/gencode.c:9326,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:9331,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9332,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:9335,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:9337,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - cstate
    - (*gen_portfn)(compiler_state_t *, const uint16_t, const int, const u_char, const
      u_char)
    - offrel
    - vni
    - has_vni
    argTypes:
    - compiler_state_t*
    - struct block*
    - enum e_offrel
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9342
      start: 9319
    functionDepth: 3
    functionLinenumber: 9319
    functionLinenumberEnd: 9342
    functionName: gen_geneve_check
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_and
    - assert_maxval
    - gen_mcmp
    - gen_portfn
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_geneve_check(compiler_state_t *cstate,\n    struct
      block *(*gen_portfn)(compiler_state_t *, const uint16_t, const int, const u_char,
      const u_char),\n    enum e_offrel offrel, bpf_u_int32 vni, int has_vni)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_geneve_check
      Src: /src/libpcap/gencode.c:9355,1
    - Dst: gen_loadx_iphdrlen
      Src: /src/libpcap/gencode.c:9358,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9360,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9361,1
    - Dst: gen_jmp_x
      Src: /src/libpcap/gencode.c:9366,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - cstate
    - vni
    - has_vni
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9369
      start: 9349
    functionDepth: 6
    functionLinenumber: 9349
    functionLinenumberEnd: 9369
    functionName: gen_geneve4
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_jmp_x
    - sappend
    - gen_loadx_iphdrlen
    - gen_and
    - gen_geneve_check
    - new_stmt
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_geneve4(compiler_state_t *cstate, bpf_u_int32 vni, int has_vni)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gen_geneve_check
      Src: /src/libpcap/gencode.c:9377,1
    - Dst: gen_abs_offset_varpart
      Src: /src/libpcap/gencode.c:9381,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9383,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9385,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9387,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9389,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9391,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9398,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9399,1
    - Dst: gen_jmp_x
      Src: /src/libpcap/gencode.c:9401,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - cstate
    - vni
    - has_vni
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9404
      start: 9371
    functionDepth: 6
    functionLinenumber: 9371
    functionLinenumberEnd: 9404
    functionName: gen_geneve6
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_jmp_x
    - sappend
    - gen_and
    - gen_geneve_check
    - gen_abs_offset_varpart
    - new_stmt
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_geneve6(compiler_state_t *cstate, bpf_u_int32 vni, int has_vni)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9420,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9424,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9425,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9429,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9431,1
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:9433,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9437,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9439,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9444,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9446,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9448,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9450,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9452,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9454,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9457,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9459,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9462,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9464,1
    - Dst: PUSH_LINKHDR
      Src: /src/libpcap/gencode.c:9474,1
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:9474,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9476,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9478,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9489,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9491,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9494,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9496,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9501,1
    - Dst: JMP
      Src: /src/libpcap/gencode.c:9501,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9503,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9505,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9506,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9511,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9513,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9515,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9517,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9521,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9523,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9526,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9527,1
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:9530,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9534,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9542
      start: 9410
    functionDepth: 5
    functionLinenumber: 9410
    functionLinenumberEnd: 9542
    functionName: gen_geneve_offsets
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - sappend
    - alloc_reg
    - JMP
    - PUSH_LINKHDR
    - new_stmt
    linkageType: ''
    returnType: struct slist
    signature: 'struct slist *

      gen_geneve_offsets(compiler_state_t *cstate)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:9554,1
    - Dst: gen_geneve4
      Src: /src/libpcap/gencode.c:9557,1
    - Dst: gen_geneve6
      Src: /src/libpcap/gencode.c:9558,1
    - Dst: sprepend_to_block
      Src: /src/libpcap/gencode.c:9564,1
    - Dst: gen_geneve_offsets
      Src: /src/libpcap/gencode.c:9564,1
    - Dst: gen_true
      Src: /src/libpcap/gencode.c:9564,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9568,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:9568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cstate
    - vni
    - has_vni
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9569
      start: 9545
    functionDepth: 8
    functionLinenumber: 9545
    functionLinenumberEnd: 9569
    functionName: gen_geneve
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_geneve_offsets
    - gen_true
    - setjmp
    - sprepend_to_block
    - gen_and
    - gen_geneve4
    - gen_or
    - gen_geneve6
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_geneve(compiler_state_t *cstate, bpf_u_int32 vni, int has_vni)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gen_portfn
      Src: /src/libpcap/gencode.c:9580,1
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:9584,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9585,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:9588,1
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:9590,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - cstate
    - (*gen_portfn)(compiler_state_t *, const uint16_t, const int, const u_char, const
      u_char)
    - offrel
    - vni
    - has_vni
    argTypes:
    - compiler_state_t*
    - struct block*
    - enum e_offrel
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9595
      start: 9573
    functionDepth: 3
    functionLinenumber: 9573
    functionLinenumberEnd: 9595
    functionName: gen_vxlan_check
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - assert_maxval
    - gen_mcmp
    - gen_cmp
    - gen_and
    - gen_portfn
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_vxlan_check(compiler_state_t *cstate,\n    struct
      block *(*gen_portfn)(compiler_state_t *, const uint16_t, const int, const u_char,
      const u_char),\n    enum e_offrel offrel, bpf_u_int32 vni, int has_vni)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_vxlan_check
      Src: /src/libpcap/gencode.c:9608,1
    - Dst: gen_loadx_iphdrlen
      Src: /src/libpcap/gencode.c:9611,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9613,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9614,1
    - Dst: gen_jmp_x
      Src: /src/libpcap/gencode.c:9619,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - cstate
    - vni
    - has_vni
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9622
      start: 9602
    functionDepth: 6
    functionLinenumber: 9602
    functionLinenumberEnd: 9622
    functionName: gen_vxlan4
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_jmp_x
    - gen_vxlan_check
    - sappend
    - gen_loadx_iphdrlen
    - gen_and
    - new_stmt
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_vxlan4(compiler_state_t *cstate, bpf_u_int32 vni, int has_vni)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gen_vxlan_check
      Src: /src/libpcap/gencode.c:9630,1
    - Dst: gen_abs_offset_varpart
      Src: /src/libpcap/gencode.c:9634,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9636,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9638,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9640,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9642,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9644,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9651,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9652,1
    - Dst: gen_jmp_x
      Src: /src/libpcap/gencode.c:9654,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - cstate
    - vni
    - has_vni
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9657
      start: 9624
    functionDepth: 6
    functionLinenumber: 9624
    functionLinenumberEnd: 9657
    functionName: gen_vxlan6
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_jmp_x
    - gen_vxlan_check
    - sappend
    - gen_and
    - gen_abs_offset_varpart
    - new_stmt
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_vxlan6(compiler_state_t *cstate, bpf_u_int32 vni, int has_vni)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9672,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9676,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9678,1
    - Dst: PUSH_LINKHDR
      Src: /src/libpcap/gencode.c:9682,1
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:9682,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9684,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9686,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9690,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9692,1
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:9694,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9698,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9700,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9704,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9706,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9709,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9710,1
    - Dst: alloc_reg
      Src: /src/libpcap/gencode.c:9713,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9717,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9724
      start: 9663
    functionDepth: 5
    functionLinenumber: 9663
    functionLinenumberEnd: 9724
    functionName: gen_vxlan_offsets
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - alloc_reg
    - sappend
    - new_stmt
    - PUSH_LINKHDR
    linkageType: ''
    returnType: struct slist
    signature: 'struct slist *

      gen_vxlan_offsets(compiler_state_t *cstate)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:9736,1
    - Dst: gen_vxlan4
      Src: /src/libpcap/gencode.c:9739,1
    - Dst: gen_vxlan6
      Src: /src/libpcap/gencode.c:9740,1
    - Dst: sprepend_to_block
      Src: /src/libpcap/gencode.c:9746,1
    - Dst: gen_vxlan_offsets
      Src: /src/libpcap/gencode.c:9746,1
    - Dst: gen_true
      Src: /src/libpcap/gencode.c:9746,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9750,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:9750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cstate
    - vni
    - has_vni
    argTypes:
    - compiler_state_t*
    - bpf_u_int32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9751
      start: 9727
    functionDepth: 8
    functionLinenumber: 9727
    functionLinenumberEnd: 9751
    functionName: gen_vxlan
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_vxlan6
    - gen_true
    - gen_vxlan4
    - setjmp
    - sprepend_to_block
    - gen_and
    - gen_vxlan_offsets
    - gen_or
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_vxlan(compiler_state_t *cstate, bpf_u_int32 vni, int has_vni)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9767,1
    - Dst: new_stmt
      Src: /src/libpcap/gencode.c:9770,1
    - Dst: sappend
      Src: /src/libpcap/gencode.c:9772,1
    - Dst: gen_jmp_x
      Src: /src/libpcap/gencode.c:9774,1
    - Dst: gen_not
      Src: /src/libpcap/gencode.c:9776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9777
      start: 9755
    functionDepth: 6
    functionLinenumber: 9755
    functionLinenumberEnd: 9777
    functionName: gen_encap_ll_check
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - gen_not
    - gen_jmp_x
    - sappend
    - new_stmt
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_encap_ll_check(compiler_state_t *cstate)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert_atm
      Src: /src/libpcap/gencode.c:9783,1
    - Dst: atmkw
      Src: /src/libpcap/gencode.c:9783,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:9788,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:9789,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:9793,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:9794,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:9798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - cstate
    - atmfield
    - jvalue
    - jtype
    - reverse
    argTypes:
    - compiler_state_t*
    - int
    - bpf_u_int32
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9800
      start: 9779
    functionDepth: 7
    functionLinenumber: 9779
    functionLinenumberEnd: 9800
    functionName: gen_atmfield_code_internal
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - assert_maxval
    - atmkw
    - assert_atm
    - gen_ncmp
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_atmfield_code_internal(compiler_state_t *cstate,
      int atmfield,\n    bpf_u_int32 jvalue, int jtype, int reverse)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_atmfield_code_internal
      Src: /src/libpcap/gencode.c:9805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstate
    - v
    argTypes:
    - compiler_state_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9806
      start: 9802
    functionDepth: 8
    functionLinenumber: 9802
    functionLinenumberEnd: 9806
    functionName: gen_atm_vpi
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_atmfield_code_internal
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_atm_vpi(compiler_state_t *cstate, const uint8_t v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_atmfield_code_internal
      Src: /src/libpcap/gencode.c:9811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstate
    - v
    argTypes:
    - compiler_state_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9812
      start: 9808
    functionDepth: 8
    functionLinenumber: 9808
    functionLinenumberEnd: 9812
    functionName: gen_atm_vci
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_atmfield_code_internal
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_atm_vci(compiler_state_t *cstate, const uint16_t v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_mcmp
      Src: /src/libpcap/gencode.c:9817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstate
    - v
    argTypes:
    - compiler_state_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9818
      start: 9814
    functionDepth: 2
    functionLinenumber: 9814
    functionLinenumberEnd: 9818
    functionName: gen_atm_prototype
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - gen_mcmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_atm_prototype(compiler_state_t *cstate, const uint8_t v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_atm_prototype
      Src: /src/libpcap/gencode.c:9825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cstate
    argTypes:
    - compiler_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9828
      start: 9820
    functionDepth: 3
    functionLinenumber: 9820
    functionLinenumberEnd: 9828
    functionName: gen_atmtype_llc
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 1
    functionsReached:
    - gen_atm_prototype
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_atmtype_llc(compiler_state_t *cstate)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:9838,1
    - Dst: gen_atmfield_code_internal
      Src: /src/libpcap/gencode.c:9841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - cstate
    - atmfield
    - jvalue
    - jtype
    - reverse
    argTypes:
    - compiler_state_t*
    - int
    - bpf_u_int32
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9843
      start: 9830
    functionDepth: 8
    functionLinenumber: 9830
    functionLinenumberEnd: 9843
    functionName: gen_atmfield_code
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - setjmp
    - gen_atmfield_code_internal
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_atmfield_code(compiler_state_t *cstate, int atmfield,\n
      \   bpf_u_int32 jvalue, int jtype, int reverse)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:9854,1
    - Dst: assert_atm
      Src: /src/libpcap/gencode.c:9857,1
    - Dst: atmkw
      Src: /src/libpcap/gencode.c:9857,1
    - Dst: gen_atm_vpi
      Src: /src/libpcap/gencode.c:9863,1
    - Dst: gen_atm_vci
      Src: /src/libpcap/gencode.c:9864,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9865,1
    - Dst: gen_atm_vpi
      Src: /src/libpcap/gencode.c:9869,1
    - Dst: gen_atm_vci
      Src: /src/libpcap/gencode.c:9870,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9871,1
    - Dst: gen_atm_vpi
      Src: /src/libpcap/gencode.c:9875,1
    - Dst: gen_atm_vci
      Src: /src/libpcap/gencode.c:9876,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9877,1
    - Dst: gen_atm_vpi
      Src: /src/libpcap/gencode.c:9881,1
    - Dst: gen_atm_vci
      Src: /src/libpcap/gencode.c:9882,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9883,1
    - Dst: gen_atm_vpi
      Src: /src/libpcap/gencode.c:9887,1
    - Dst: gen_atm_vci
      Src: /src/libpcap/gencode.c:9888,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9889,1
    - Dst: gen_atm_vpi
      Src: /src/libpcap/gencode.c:9893,1
    - Dst: gen_atm_vci
      Src: /src/libpcap/gencode.c:9894,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9895,1
    - Dst: gen_atm_prototype
      Src: /src/libpcap/gencode.c:9899,1
    - Dst: PUSH_LINKHDR
      Src: /src/libpcap/gencode.c:9909,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:9919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 2
    argNames:
    - cstate
    - type
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9921
      start: 9845
    functionDepth: 9
    functionLinenumber: 9845
    functionLinenumberEnd: 9921
    functionName: gen_atmtype_abbrev
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - atmkw
    - gen_atm_prototype
    - assert_atm
    - setjmp
    - gen_atm_vpi
    - gen_and
    - PUSH_LINKHDR
    - gen_atm_vci
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_atmtype_abbrev(compiler_state_t *cstate, int type)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:9939,1
    - Dst: assert_ss7
      Src: /src/libpcap/gencode.c:9942,1
    - Dst: ss7kw
      Src: /src/libpcap/gencode.c:9942,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:9947,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:9951,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:9953,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9955,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:9958,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:9962,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:9966,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:9968,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:9970,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:9973,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:9977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - cstate
    - type
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9979
      start: 9930
    functionDepth: 7
    functionLinenumber: 9930
    functionLinenumberEnd: 9979
    functionName: gen_mtp2type_abbrev
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - assert_ss7
    - ss7kw
    - setjmp
    - gen_ncmp
    - gen_and
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_mtp2type_abbrev(compiler_state_t *cstate, int type)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert_ss7
      Src: /src/libpcap/gencode.c:10003,1
    - Dst: ss7kw
      Src: /src/libpcap/gencode.c:10003,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:10019,1
    - Dst: ss7kw
      Src: /src/libpcap/gencode.c:10019,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:10021,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:10058,1
    - Dst: ss7kw
      Src: /src/libpcap/gencode.c:10058,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:10059,1
    - Dst: SWAPLONG
      Src: /src/libpcap/gencode.c:10060,1
    - Dst: SWAPLONG
      Src: /src/libpcap/gencode.c:10061,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:10068,1
    - Dst: ss7kw
      Src: /src/libpcap/gencode.c:10068,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:10069,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/gencode.c:10070,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/gencode.c:10071,1
    - Dst: assert_maxval
      Src: /src/libpcap/gencode.c:10078,1
    - Dst: ss7kw
      Src: /src/libpcap/gencode.c:10078,1
    - Dst: gen_ncmp
      Src: /src/libpcap/gencode.c:10079,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:10084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 5
    argNames:
    - cstate
    - mtp3field
    - jvalue
    - jtype
    - reverse
    argTypes:
    - compiler_state_t*
    - int
    - bpf_u_int32
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10086
      start: 9989
    functionDepth: 7
    functionLinenumber: 9989
    functionLinenumberEnd: 10086
    functionName: gen_mtp3field_code_internal
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - assert_ss7
    - ss7kw
    - assert_maxval
    - SWAPLONG
    - gen_ncmp
    - SWAPSHORT
    - bpf_error
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_mtp3field_code_internal(compiler_state_t *cstate,
      int mtp3field,\n    bpf_u_int32 jvalue, int jtype, int reverse)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:10096,1
    - Dst: gen_mtp3field_code_internal
      Src: /src/libpcap/gencode.c:10099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - cstate
    - mtp3field
    - jvalue
    - jtype
    - reverse
    argTypes:
    - compiler_state_t*
    - int
    - bpf_u_int32
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10101
      start: 10088
    functionDepth: 8
    functionLinenumber: 10088
    functionLinenumberEnd: 10101
    functionName: gen_mtp3field_code
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_mtp3field_code_internal
    - setjmp
    linkageType: ''
    returnType: struct block
    signature: "struct block *\ngen_mtp3field_code(compiler_state_t *cstate, int mtp3field,\n
      \   bpf_u_int32 jvalue, int jtype, int reverse)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_cmp
      Src: /src/libpcap/gencode.c:10110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstate
    - type
    argTypes:
    - compiler_state_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10112
      start: 10103
    functionDepth: 2
    functionLinenumber: 10103
    functionLinenumberEnd: 10112
    functionName: gen_msg_abbrev
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - gen_cmp
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_msg_abbrev(compiler_state_t *cstate, const uint8_t type)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libpcap/gencode.c:10123,1
    - Dst: assert_atm
      Src: /src/libpcap/gencode.c:10126,1
    - Dst: atmkw
      Src: /src/libpcap/gencode.c:10126,1
    - Dst: gen_atm_vci
      Src: /src/libpcap/gencode.c:10132,1
    - Dst: gen_atm_vci
      Src: /src/libpcap/gencode.c:10133,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:10134,1
    - Dst: gen_atm_vpi
      Src: /src/libpcap/gencode.c:10135,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:10136,1
    - Dst: gen_atm_vci
      Src: /src/libpcap/gencode.c:10140,1
    - Dst: gen_atm_vci
      Src: /src/libpcap/gencode.c:10141,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:10142,1
    - Dst: gen_atm_vpi
      Src: /src/libpcap/gencode.c:10143,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:10144,1
    - Dst: gen_msg_abbrev
      Src: /src/libpcap/gencode.c:10151,1
    - Dst: gen_msg_abbrev
      Src: /src/libpcap/gencode.c:10152,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:10153,1
    - Dst: gen_msg_abbrev
      Src: /src/libpcap/gencode.c:10154,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:10155,1
    - Dst: gen_msg_abbrev
      Src: /src/libpcap/gencode.c:10156,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:10157,1
    - Dst: gen_msg_abbrev
      Src: /src/libpcap/gencode.c:10158,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:10159,1
    - Dst: gen_msg_abbrev
      Src: /src/libpcap/gencode.c:10160,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:10161,1
    - Dst: gen_atmtype_abbrev
      Src: /src/libpcap/gencode.c:10162,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:10163,1
    - Dst: gen_msg_abbrev
      Src: /src/libpcap/gencode.c:10166,1
    - Dst: gen_msg_abbrev
      Src: /src/libpcap/gencode.c:10167,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:10168,1
    - Dst: gen_msg_abbrev
      Src: /src/libpcap/gencode.c:10169,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:10170,1
    - Dst: gen_msg_abbrev
      Src: /src/libpcap/gencode.c:10171,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:10172,1
    - Dst: gen_msg_abbrev
      Src: /src/libpcap/gencode.c:10173,1
    - Dst: gen_or
      Src: /src/libpcap/gencode.c:10174,1
    - Dst: gen_atmtype_abbrev
      Src: /src/libpcap/gencode.c:10175,1
    - Dst: gen_and
      Src: /src/libpcap/gencode.c:10176,1
    - Dst: bpf_error
      Src: /src/libpcap/gencode.c:10179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 2
    argNames:
    - cstate
    - type
    argTypes:
    - compiler_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10181
      start: 10114
    functionDepth: 10
    functionLinenumber: 10114
    functionLinenumberEnd: 10181
    functionName: gen_atmmulti_abbrev
    functionSourceFile: /src/libpcap/gencode.c
    functionUses: 0
    functionsReached:
    - bpf_error
    - atmkw
    - assert_atm
    - setjmp
    - gen_atm_vpi
    - gen_msg_abbrev
    - gen_and
    - gen_or
    - gen_atm_vci
    - gen_atmtype_abbrev
    linkageType: ''
    returnType: struct block
    signature: 'struct block *

      gen_atmmulti_abbrev(compiler_state_t *cstate, int type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - memory_model
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: __atomic_load_n
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __atomic_load_n(ptr, memory_model)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - val
    - ','
    - memory_model
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: __atomic_store_n
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __atomic_store_n(ptr, val, memory_model)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: packet_mmap_acquire
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: packet_mmap_acquire(pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: packet_mmap_release
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: packet_mmap_release(pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: packet_mmap_v3_acquire
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: packet_mmap_v3_acquire(pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: packet_mmap_v3_release
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: packet_mmap_v3_release(pkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: RING_GET_FRAME_AT
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RING_GET_FRAME_AT(h, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: RING_GET_CURRENT_FRAME
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RING_GET_CURRENT_FRAME(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hdr
    - ','
    - hv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: VLAN_VALID
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLAN_VALID(hdr, hv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hdr
    - ','
    - hv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: VLAN_VALID
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLAN_VALID(hdr, hv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hdr
    - ','
    - hv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: VLAN_TPID
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLAN_TPID(hdr, hv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hdr
    - ','
    - hv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    functionName: VLAN_TPID
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLAN_TPID(hdr, hv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-linux.c:372,1
    - Dst: iface_get_ts_types
      Src: /src/libpcap/pcap-linux.c:382,1
    - Dst: pcap_close
      Src: /src/libpcap/pcap-linux.c:383,1
    - Dst: malloc
      Src: /src/libpcap/pcap-linux.c:395,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:397,1
    - Dst: pcap_close
      Src: /src/libpcap/pcap-linux.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - device
    - ebuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 414
    functionName: pcapint_create_interface
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - iface_get_ts_types
    - PCAP_CREATE_COMMON
    - malloc
    - pcap_close
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcapint_create_interface(const char *device, char *ebuf)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/libpcap/pcap-linux.c:481,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:482,1
    - Dst: readlink
      Src: /src/libpcap/pcap-linux.c:487,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:503,1
    - Dst: asprintf
      Src: /src/libpcap/pcap-linux.c:504,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:505,1
    - Dst: stat
      Src: /src/libpcap/pcap-linux.c:510,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:515,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:518,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:521,1
    - Dst: strerror
      Src: /src/libpcap/pcap-linux.c:523,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:524,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:534,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:542,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:545,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:547,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - handle
    - device
    - phydev_path
    - phydev_max_pathlen
    argTypes:
    - pcap_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 553
    functionName: get_mac80211_phydev
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - readlink
    - pcapint_fmt_errmsg_for_errno
    - stat
    - strerror
    - snprintf
    - free
    - asprintf
    linkageType: ''
    returnType: int
    signature: "int get_mac80211_phydev(pcap_t *handle, const char *device, char *phydev_path,\n
      \   size_t phydev_max_pathlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nl_socket_alloc
      Src: /src/libpcap/pcap-linux.c:566,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:568,1
    - Dst: genl_connect
      Src: /src/libpcap/pcap-linux.c:573,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:574,1
    - Dst: genl_ctrl_alloc_cache
      Src: /src/libpcap/pcap-linux.c:579,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:581,1
    - Dst: nl_geterror
      Src: /src/libpcap/pcap-linux.c:583,1
    - Dst: genl_ctrl_search_by_name
      Src: /src/libpcap/pcap-linux.c:587,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:589,1
    - Dst: nl_cache_free
      Src: /src/libpcap/pcap-linux.c:597,1
    - Dst: nl_socket_free
      Src: /src/libpcap/pcap-linux.c:599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - handle
    - state
    - device
    argTypes:
    - pcap_t*
    - struct nl80211_state*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 601
    functionName: nl80211_init
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - nl_cache_free
    - genl_ctrl_alloc_cache
    - genl_ctrl_search_by_name
    - nl_geterror
    - genl_connect
    - nl_socket_free
    - snprintf
    - nl_socket_alloc
    linkageType: ''
    returnType: int
    signature: int nl80211_init(pcap_t *handle, struct nl80211_state *state, const
      char *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: genl_family_put
      Src: /src/libpcap/pcap-linux.c:606,1
    - Dst: nl_cache_free
      Src: /src/libpcap/pcap-linux.c:607,1
    - Dst: nl_socket_free
      Src: /src/libpcap/pcap-linux.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct nl80211_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 609
    functionName: nl80211_cleanup
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - genl_family_put
    - nl_socket_free
    - nl_cache_free
    linkageType: ''
    returnType: void
    signature: void nl80211_cleanup(struct nl80211_state *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nlmsg_hdr
      Src: /src/libpcap/pcap-linux.c:618,1
    - Dst: nlmsg_data
      Src: /src/libpcap/pcap-linux.c:622,1
    - Dst: nla_parse
      Src: /src/libpcap/pcap-linux.c:624,1
    - Dst: genlmsg_attrdata
      Src: /src/libpcap/pcap-linux.c:624,1
    - Dst: genlmsg_attrlen
      Src: /src/libpcap/pcap-linux.c:625,1
    - Dst: nla_get_u32
      Src: /src/libpcap/pcap-linux.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - arg
    argTypes:
    - struct nl_msg*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 638
    functionName: if_type_cb
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - nlmsg_data
    - genlmsg_attrdata
    - genlmsg_attrlen
    - nla_parse
    - nla_get_u32
    - nlmsg_hdr
    linkageType: ''
    returnType: int
    signature: int if_type_cb(struct nl_msg *msg, void* arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: iface_get_id
      Src: /src/libpcap/pcap-linux.c:648,1
    - Dst: nlmsg_alloc
      Src: /src/libpcap/pcap-linux.c:652,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:654,1
    - Dst: genlmsg_put
      Src: /src/libpcap/pcap-linux.c:659,1
    - Dst: genl_family_get_id
      Src: /src/libpcap/pcap-linux.c:660,1
    - Dst: NLA_PUT_U32
      Src: /src/libpcap/pcap-linux.c:662,1
    - Dst: nl_send_auto
      Src: /src/libpcap/pcap-linux.c:664,1
    - Dst: nlmsg_free
      Src: /src/libpcap/pcap-linux.c:665,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:681,1
    - Dst: nl_geterror
      Src: /src/libpcap/pcap-linux.c:683,1
    - Dst: nl_cb_alloc
      Src: /src/libpcap/pcap-linux.c:688,1
    - Dst: nl_cb_set
      Src: /src/libpcap/pcap-linux.c:689,1
    - Dst: nl_recvmsgs
      Src: /src/libpcap/pcap-linux.c:690,1
    - Dst: nl_cb_put
      Src: /src/libpcap/pcap-linux.c:691,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:694,1
    - Dst: nl_geterror
      Src: /src/libpcap/pcap-linux.c:696,1
    - Dst: nl_wait_for_ack
      Src: /src/libpcap/pcap-linux.c:706,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:708,1
    - Dst: nl_geterror
      Src: /src/libpcap/pcap-linux.c:710,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:720,1
    - Dst: nlmsg_free
      Src: /src/libpcap/pcap-linux.c:723,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 5
    argNames:
    - handle
    - sock_fd
    - state
    - device
    - type
    argTypes:
    - pcap_t*
    - int
    - struct nl80211_state*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 726
    functionName: get_if_type
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - nl_cb_put
    - NLA_PUT_U32
    - genlmsg_put
    - genl_family_get_id
    - nlmsg_alloc
    - nl_send_auto
    - nl_geterror
    - nl_recvmsgs
    - nl_wait_for_ack
    - nlmsg_free
    - snprintf
    - iface_get_id
    - nl_cb_alloc
    - nl_cb_set
    linkageType: ''
    returnType: int
    signature: "int get_if_type(pcap_t *handle, int sock_fd, struct nl80211_state
      *state,\n    const char *device, int *type)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: iface_get_id
      Src: /src/libpcap/pcap-linux.c:737,1
    - Dst: nlmsg_alloc
      Src: /src/libpcap/pcap-linux.c:741,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:743,1
    - Dst: genlmsg_put
      Src: /src/libpcap/pcap-linux.c:748,1
    - Dst: genl_family_get_id
      Src: /src/libpcap/pcap-linux.c:749,1
    - Dst: NLA_PUT_U32
      Src: /src/libpcap/pcap-linux.c:751,1
    - Dst: nl_send_sync
      Src: /src/libpcap/pcap-linux.c:757,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:786,1
    - Dst: nl_geterror
      Src: /src/libpcap/pcap-linux.c:788,1
    - Dst: strdup
      Src: /src/libpcap/pcap-linux.c:800,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:802,1
    - Dst: del_mon_if
      Src: /src/libpcap/pcap-linux.c:807,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:813,1
    - Dst: nlmsg_free
      Src: /src/libpcap/pcap-linux.c:816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 5
    argNames:
    - handle
    - sock_fd
    - state
    - device
    - mondevice
    argTypes:
    - pcap_t*
    - int
    - struct nl80211_state*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 818
    functionName: add_mon_if
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - del_mon_if
    - NLA_PUT_U32
    - pcapint_fmt_errmsg_for_errno
    - nl_send_sync
    - genlmsg_put
    - genl_family_get_id
    - nlmsg_alloc
    - nl_geterror
    - strdup
    - nlmsg_free
    - snprintf
    - iface_get_id
    linkageType: ''
    returnType: int
    signature: "int add_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state,\n
      \   const char *device, const char *mondevice)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: iface_get_id
      Src: /src/libpcap/pcap-linux.c:828,1
    - Dst: nlmsg_alloc
      Src: /src/libpcap/pcap-linux.c:832,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:834,1
    - Dst: genlmsg_put
      Src: /src/libpcap/pcap-linux.c:839,1
    - Dst: genl_family_get_id
      Src: /src/libpcap/pcap-linux.c:840,1
    - Dst: NLA_PUT_U32
      Src: /src/libpcap/pcap-linux.c:842,1
    - Dst: nl_send_sync
      Src: /src/libpcap/pcap-linux.c:844,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:846,1
    - Dst: nl_geterror
      Src: /src/libpcap/pcap-linux.c:848,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:858,1
    - Dst: nlmsg_free
      Src: /src/libpcap/pcap-linux.c:861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - handle
    - sock_fd
    - state
    - device
    - mondevice
    argTypes:
    - pcap_t*
    - int
    - struct nl80211_state*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 863
    functionName: del_mon_if
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - NLA_PUT_U32
    - nl_send_sync
    - genlmsg_put
    - genl_family_get_id
    - nlmsg_alloc
    - nl_geterror
    - nlmsg_free
    - snprintf
    - iface_get_id
    linkageType: ''
    returnType: int
    signature: "int del_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state,\n
      \   const char *device, const char *mondevice)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/libpcap/pcap-linux.c:874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 875
    functionName: pcap_protocol
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - htons
    linkageType: ''
    returnType: int
    signature: int pcap_protocol(pcap_t *handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libpcap/pcap-linux.c:885,1
    - Dst: get_mac80211_phydev
      Src: /src/libpcap/pcap-linux.c:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 877
    functionDepth: 3
    functionLinenumber: 877
    functionLinenumberEnd: 909
    functionName: pcap_can_set_rfmon_linux
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - strcmp
    - get_mac80211_phydev
    linkageType: ''
    returnType: int
    signature: int pcap_can_set_rfmon_linux(pcap_t *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:925,1
    - Dst: open
      Src: /src/libpcap/pcap-linux.c:926,1
    - Dst: read
      Src: /src/libpcap/pcap-linux.c:930,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:931,1
    - Dst: strtoll
      Src: /src/libpcap/pcap-linux.c:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - if_name
    - stat_name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 937
    functionName: linux_get_stat
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - close
    - open
    - read
    - snprintf
    - strtoll
    linkageType: ''
    returnType: long long int
    signature: long long int linux_get_stat(const char * if_name, const char * stat_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_get_stat
      Src: /src/libpcap/pcap-linux.c:942,1
    - Dst: linux_get_stat
      Src: /src/libpcap/pcap-linux.c:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - if_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 945
    functionName: linux_if_drops
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - linux_get_stat
    linkageType: ''
    returnType: long long int
    signature: long long int linux_if_drops(const char * if_name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nl80211_init
      Src: /src/libpcap/pcap-linux.c:973,1
    - Dst: del_mon_if
      Src: /src/libpcap/pcap-linux.c:975,1
    - Dst: nl80211_cleanup
      Src: /src/libpcap/pcap-linux.c:977,1
    - Dst: fprintf
      Src: /src/libpcap/pcap-linux.c:980,1
    - Dst: pcapint_remove_from_pcaps_to_close
      Src: /src/libpcap/pcap-linux.c:992,1
    - Dst: destroy_ring
      Src: /src/libpcap/pcap-linux.c:1000,1
    - Dst: munmap
      Src: /src/libpcap/pcap-linux.c:1004,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:1009,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:1013,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:1018,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-linux.c:1021,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 1022
    functionName: pcap_cleanup_linux
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - nl80211_cleanup
    - del_mon_if
    - close
    - fprintf
    - free
    - munmap
    - nl80211_init
    - destroy_ring
    - pcapint_remove_from_pcaps_to_close
    - pcapint_cleanup_live_common
    linkageType: ''
    returnType: void
    signature: void pcap_cleanup_linux( pcap_t *handle )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/libpcap/pcap-linux.c:1042,1
    - Dst: sscanf
      Src: /src/libpcap/pcap-linux.c:1047,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1059
    functionName: has_broken_tpacket_v3
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - uname
    - sscanf
    linkageType: ''
    returnType: int
    signature: int has_broken_tpacket_v3(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_broken_tpacket_v3
      Src: /src/libpcap/pcap-linux.c:1069,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - handlep
    argTypes:
    - struct pcap_linux*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1110
    functionName: set_poll_timeout
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - has_broken_tpacket_v3
    linkageType: ''
    returnType: void
    signature: void set_poll_timeout(struct pcap_linux *handlep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_breakloop_common
      Src: /src/libpcap/pcap-linux.c:1114,1
    - Dst: write
      Src: /src/libpcap/pcap-linux.c:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1112
    functionDepth: 1
    functionLinenumber: 1112
    functionLinenumberEnd: 1128
    functionName: pcap_breakloop_linux
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_breakloop_common
    - write
    linkageType: ''
    returnType: void
    signature: void pcap_breakloop_linux(pcap_t *handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1161
    functionName: set_vlan_offset
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_vlan_offset(pcap_t *handle)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/pcap-linux.c:1191,1
    - Dst: strdup
      Src: /src/libpcap/pcap-linux.c:1212,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:1214,1
    - Dst: strcmp
      Src: /src/libpcap/pcap-linux.c:1225,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:1230,1
    - Dst: linux_if_drops
      Src: /src/libpcap/pcap-linux.c:1246,1
    - Dst: setup_socket
      Src: /src/libpcap/pcap-linux.c:1252,1
    - Dst: eventfd
      Src: /src/libpcap/pcap-linux.c:1277,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:1282,1
    - Dst: setup_mmapped
      Src: /src/libpcap/pcap-linux.c:1293,1
    - Dst: iface_bind
      Src: /src/libpcap/pcap-linux.c:1322,1
    - Dst: pcap_protocol
      Src: /src/libpcap/pcap-linux.c:1323,1
    - Dst: pcap_cleanup_linux
      Src: /src/libpcap/pcap-linux.c:1355,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 85
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1163
    functionDepth: 3
    functionLinenumber: 1163
    functionLinenumberEnd: 1357
    functionName: pcap_activate_linux
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - linux_if_drops
    - eventfd
    - pcapint_fmt_errmsg_for_errno
    - iface_bind
    - strcmp
    - strdup
    - setup_socket
    - pcap_cleanup_linux
    - snprintf
    - strlen
    - setup_mmapped
    - pcap_protocol
    linkageType: ''
    returnType: int
    signature: int pcap_activate_linux(pcap_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_vlan_offset
      Src: /src/libpcap/pcap-linux.c:1368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - dlt
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1371
    functionName: pcap_set_datalink_linux
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - set_vlan_offset
    linkageType: ''
    returnType: int
    signature: int pcap_set_datalink_linux(pcap_t *handle, int dlt)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - handle
    - sll
    argTypes:
    - pcap_t*
    - struct sockaddr_ll*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1424
    functionName: linux_check_direction
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int linux_check_direction(const pcap_t *handle, const struct sockaddr_ll
      *sll)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/libpcap/pcap-linux.c:1452,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:1456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1432
    functionDepth: 2
    functionLinenumber: 1432
    functionLinenumberEnd: 1471
    functionName: device_still_exists
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - getsockname
    linkageType: ''
    returnType: int
    signature: int device_still_exists(pcap_t *handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-linux.c:1483,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-linux.c:1497,1
    - Dst: send
      Src: /src/libpcap/pcap-linux.c:1503,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:1505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - handle
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1473
    functionDepth: 2
    functionLinenumber: 1473
    functionLinenumberEnd: 1510
    functionName: pcap_inject_linux
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - pcapint_strlcpy
    - send
    linkageType: ''
    returnType: int
    signature: int pcap_inject_linux(pcap_t *handle, const void *buf, int size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: linux_if_drops
      Src: /src/libpcap/pcap-linux.c:1577,1
    - Dst: getsockopt
      Src: /src/libpcap/pcap-linux.c:1584,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:1636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - handle
    - stats
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1515
    functionDepth: 2
    functionLinenumber: 1515
    functionLinenumberEnd: 1639
    functionName: pcap_stats_linux
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - linux_if_drops
    - pcapint_fmt_errmsg_for_errno
    - getsockopt
    linkageType: ''
    returnType: int
    signature: int pcap_stats_linux(pcap_t *handle, struct pcap_stat *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1648
    functionName: can_be_bound
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int can_be_bound(const char *name _U_)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpcap/pcap-linux.c:1712,1
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:1720,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-linux.c:1721,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:1737,1
    - Dst: socket
      Src: /src/libpcap/pcap-linux.c:1743,1
    - Dst: socket
      Src: /src/libpcap/pcap-linux.c:1754,1
    - Dst: socket
      Src: /src/libpcap/pcap-linux.c:1767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1768
    functionName: get_if_ioctl_socket
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - memset
    - socket
    - close
    - ioctl
    linkageType: ''
    returnType: int
    signature: int get_if_ioctl_socket(void)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: get_if_ioctl_socket
      Src: /src/libpcap/pcap-linux.c:1791,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:1793,1
    - Dst: is_wifi
      Src: /src/libpcap/pcap-linux.c:1803,1
    - Dst: asprintf
      Src: /src/libpcap/pcap-linux.c:1817,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:1818,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:1821,1
    - Dst: fopen
      Src: /src/libpcap/pcap-linux.c:1824,1
    - Dst: fscanf
      Src: /src/libpcap/pcap-linux.c:1826,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:1841,1
    - Dst: fclose
      Src: /src/libpcap/pcap-linux.c:1842,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:1843,1
    - Dst: fclose
      Src: /src/libpcap/pcap-linux.c:1860,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:1862,1
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:1866,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-linux.c:1867,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-linux.c:1881,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:1898,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:1908,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:1921,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:1928,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:1932,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:1953,1
    - Dst: snf_get_if_flags
      Src: /src/libpcap/pcap-linux.c:1959,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 75
    argCount: 3
    argNames:
    - name
    - flags
    - errbuf
    argTypes:
    - char*
    - bpf_u_int32*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1773
    functionDepth: 4
    functionLinenumber: 1773
    functionLinenumberEnd: 1964
    functionName: get_if_flags
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 2
    functionsReached:
    - fscanf
    - close
    - fopen
    - ioctl
    - fclose
    - get_if_ioctl_socket
    - pcapint_fmt_errmsg_for_errno
    - is_wifi
    - pcapint_strlcpy
    - snprintf
    - free
    - memset
    - snf_get_if_flags
    - asprintf
    linkageType: ''
    returnType: int
    signature: int get_if_flags(const char *name, bpf_u_int32 *flags, char *errbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_findalldevs_interfaces
      Src: /src/libpcap/pcap-linux.c:1972,1
    - Dst: pcapint_add_any_dev
      Src: /src/libpcap/pcap-linux.c:1979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - devlistp
    - errbuf
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1966
    functionDepth: 4
    functionLinenumber: 1966
    functionLinenumberEnd: 1983
    functionName: pcapint_platform_finddevs
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - pcapint_add_any_dev
    - pcapint_findalldevs_interfaces
    linkageType: ''
    returnType: int
    signature: int pcapint_platform_finddevs(pcap_if_list_t *devlistp, char *errbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - handle
    - d
    argTypes:
    - pcap_t*
    - pcap_direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 1998
    functionName: pcap_setdirection_linux
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_setdirection_linux(pcap_t *handle, pcap_direction_t d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/libpcap/pcap-linux.c:2010,1
    - Dst: stat
      Src: /src/libpcap/pcap-linux.c:2016,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:2017,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:2020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - device
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2023
    functionName: is_wifi
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - free
    - stat
    - asprintf
    linkageType: ''
    returnType: int
    signature: int is_wifi(const char *device)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libpcap/pcap-linux.c:2065,1
    - Dst: is_wifi
      Src: /src/libpcap/pcap-linux.c:2088,1
    - Dst: iface_dsa_get_proto_info
      Src: /src/libpcap/pcap-linux.c:2095,1
    - Dst: malloc
      Src: /src/libpcap/pcap-linux.c:2113,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:2115,1
    - Dst: malloc
      Src: /src/libpcap/pcap-linux.c:2364,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:2366,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 137
    argCount: 4
    argNames:
    - handle
    - arptype
    - device
    - cooked_ok
    argTypes:
    - pcap_t*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2045
    functionDepth: 2
    functionLinenumber: 2045
    functionLinenumberEnd: 2424
    functionName: map_arphrd_to_dlt
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - iface_dsa_get_proto_info
    - pcapint_fmt_errmsg_for_errno
    - is_wifi
    - strncmp
    - malloc
    linkageType: ''
    returnType: int
    signature: "int map_arphrd_to_dlt(pcap_t *handle, int arptype,\n\t\t\t     const
      char *device, int cooked_ok)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpcap/pcap-linux.c:2453,1
    - Dst: socket
      Src: /src/libpcap/pcap-linux.c:2454,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:2463,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:2473,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:2480,1
    - Dst: iface_get_id
      Src: /src/libpcap/pcap-linux.c:2497,1
    - Dst: enter_rfmon_mode
      Src: /src/libpcap/pcap-linux.c:2521,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:2524,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:2532,1
    - Dst: iface_get_arptype
      Src: /src/libpcap/pcap-linux.c:2546,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:2548,1
    - Dst: map_arphrd_to_dlt
      Src: /src/libpcap/pcap-linux.c:2551,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:2553,1
    - Dst: strncmp
      Src: /src/libpcap/pcap-linux.c:2562,1
    - Dst: strncmp
      Src: /src/libpcap/pcap-linux.c:2563,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:2577,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:2578,1
    - Dst: socket
      Src: /src/libpcap/pcap-linux.c:2582,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:2592,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:2604,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:2616,1
    - Dst: iface_get_id
      Src: /src/libpcap/pcap-linux.c:2636,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:2639,1
    - Dst: iface_bind
      Src: /src/libpcap/pcap-linux.c:2643,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:2645,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:2656,1
    - Dst: malloc
      Src: /src/libpcap/pcap-linux.c:2666,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:2668,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:2670,1
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:2710,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-linux.c:2713,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:2715,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:2717,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-linux.c:2732,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:2734,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:2736,1
    - Dst: set_vlan_offset
      Src: /src/libpcap/pcap-linux.c:2760,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-linux.c:2765,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:2766,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:2767,1
    - Dst: getsockopt
      Src: /src/libpcap/pcap-linux.c:2800,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 131
    argCount: 2
    argNames:
    - handle
    - is_any_device
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2431
    functionDepth: 3
    functionLinenumber: 2431
    functionLinenumberEnd: 2812
    functionName: setup_socket
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - close
    - set_vlan_offset
    - iface_get_arptype
    - pcapint_fmt_errmsg_for_errno
    - socket
    - memset
    - getsockopt
    - iface_bind
    - snprintf
    - iface_get_id
    - free
    - enter_rfmon_mode
    - map_arphrd_to_dlt
    - strncmp
    - malloc
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int setup_socket(pcap_t *handle, int is_any_device)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/libpcap/pcap-linux.c:2837,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:2839,1
    - Dst: prepare_tpacket_socket
      Src: /src/libpcap/pcap-linux.c:2848,1
    - Dst: munmap
      Src: /src/libpcap/pcap-linux.c:2850,1
    - Dst: create_ring
      Src: /src/libpcap/pcap-linux.c:2854,1
    - Dst: munmap
      Src: /src/libpcap/pcap-linux.c:2860,1
    - Dst: set_poll_timeout
      Src: /src/libpcap/pcap-linux.c:2876,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2823
    functionDepth: 2
    functionLinenumber: 2823
    functionLinenumberEnd: 2879
    functionName: setup_mmapped
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - create_ring
    - mmap
    - prepare_tpacket_socket
    - pcapint_fmt_errmsg_for_errno
    - set_poll_timeout
    - munmap
    linkageType: ''
    returnType: int
    signature: int setup_mmapped(pcap_t *handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/libpcap/pcap-linux.c:2902,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:2923,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:2929,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-linux.c:2938,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:2940,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - handle
    - version
    - version_str
    argTypes:
    - pcap_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2947
      start: 2888
    functionDepth: 2
    functionLinenumber: 2888
    functionLinenumberEnd: 2947
    functionName: init_tpacket
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - snprintf
    - pcapint_fmt_errmsg_for_errno
    - getsockopt
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int init_tpacket(pcap_t *handle, int version, const char *version_str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: init_tpacket
      Src: /src/libpcap/pcap-linux.c:2974,1
    - Dst: init_tpacket
      Src: /src/libpcap/pcap-linux.c:2999,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:3012,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3020
      start: 2956
    functionDepth: 3
    functionLinenumber: 2956
    functionLinenumberEnd: 3020
    functionName: prepare_tpacket_socket
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - init_tpacket
    - snprintf
    linkageType: ''
    returnType: int
    signature: int prepare_tpacket_socket(pcap_t *handle)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libpcap/pcap-linux.c:3085,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:3087,1
    - Dst: iface_get_mtu
      Src: /src/libpcap/pcap-linux.c:3133,1
    - Dst: iface_get_offload
      Src: /src/libpcap/pcap-linux.c:3137,1
    - Dst: max
      Src: /src/libpcap/pcap-linux.c:3141,1
    - Dst: getsockopt
      Src: /src/libpcap/pcap-linux.c:3154,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:3156,1
    - Dst: TPACKET_ALIGN
      Src: /src/libpcap/pcap-linux.c:3175,1
    - Dst: TPACKET_ALIGN
      Src: /src/libpcap/pcap-linux.c:3176,1
    - Dst: TPACKET_ALIGN
      Src: /src/libpcap/pcap-linux.c:3189,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:3220,1
    - Dst: getpagesize
      Src: /src/libpcap/pcap-linux.c:3230,1
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:3267,1
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:3271,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-linux.c:3272,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-linux.c:3278,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:3289,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:3313,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-linux.c:3338,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:3340,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-linux.c:3384,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:3402,1
    - Dst: mmap
      Src: /src/libpcap/pcap-linux.c:3412,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:3414,1
    - Dst: destroy_ring
      Src: /src/libpcap/pcap-linux.c:3418,1
    - Dst: malloc
      Src: /src/libpcap/pcap-linux.c:3424,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:3426,1
    - Dst: destroy_ring
      Src: /src/libpcap/pcap-linux.c:3429,1
    - Dst: RING_GET_CURRENT_FRAME
      Src: /src/libpcap/pcap-linux.c:3438,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 134
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3446
      start: 3031
    functionDepth: 2
    functionLinenumber: 3031
    functionLinenumberEnd: 3446
    functionName: create_ring
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - max
    - mmap
    - iface_get_offload
    - ioctl
    - RING_GET_CURRENT_FRAME
    - pcapint_fmt_errmsg_for_errno
    - getsockopt
    - pcapint_strlcpy
    - iface_get_mtu
    - snprintf
    - memset
    - destroy_ring
    - getpagesize
    - malloc
    - TPACKET_ALIGN
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int create_ring(pcap_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:3461,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-linux.c:3462,1
    - Dst: munmap
      Src: /src/libpcap/pcap-linux.c:3468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3471
      start: 3449
    functionDepth: 0
    functionLinenumber: 3449
    functionLinenumberEnd: 3471
    functionName: destroy_ring
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 2
    functionsReached:
    - memset
    - munmap
    - setsockopt
    linkageType: ''
    returnType: void
    signature: void destroy_ring(pcap_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpcap/pcap-linux.c:3499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - user
    - h
    - bytes
    argTypes:
    - u_char*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3501
      start: 3490
    functionDepth: 0
    functionLinenumber: 3490
    functionLinenumberEnd: 3501
    functionName: pcapint_oneshot_linux
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void pcapint_oneshot_linux(u_char *user, const struct pcap_pkthdr
      *h,\n    const u_char *bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3510
      start: 3503
    functionDepth: 0
    functionLinenumber: 3503
    functionLinenumberEnd: 3510
    functionName: pcap_getnonblock_linux
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcap_getnonblock_linux(pcap_t *handle)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_setnonblock_fd
      Src: /src/libpcap/pcap-linux.c:3521,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:3541,1
    - Dst: eventfd
      Src: /src/libpcap/pcap-linux.c:3550,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:3551,1
    - Dst: set_poll_timeout
      Src: /src/libpcap/pcap-linux.c:3562,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - handle
    - nonblock
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3564
      start: 3512
    functionDepth: 3
    functionLinenumber: 3512
    functionLinenumberEnd: 3564
    functionName: pcap_setnonblock_linux
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - close
    - eventfd
    - pcapint_fmt_errmsg_for_errno
    - set_poll_timeout
    - pcapint_setnonblock_fd
    linkageType: ''
    returnType: int
    signature: int pcap_setnonblock_linux(pcap_t *handle, int nonblock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RING_GET_FRAME_AT
      Src: /src/libpcap/pcap-linux.c:3575,1
    - Dst: __atomic_load_n
      Src: /src/libpcap/pcap-linux.c:3578,1
    - Dst: __atomic_load_n
      Src: /src/libpcap/pcap-linux.c:3581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - offset
    argTypes:
    - pcap_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3586
      start: 3569
    functionDepth: 1
    functionLinenumber: 3569
    functionLinenumberEnd: 3586
    functionName: pcap_get_ring_frame_status
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - __atomic_load_n
    - RING_GET_FRAME_AT
    linkageType: ''
    returnType: u_int
    signature: u_int pcap_get_ring_frame_status(pcap_t *handle, u_int offset)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/libpcap/pcap-linux.c:3680,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:3686,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:3722,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:3728,1
    - Dst: getsockopt
      Src: /src/libpcap/pcap-linux.c:3741,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:3783,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:3788,1
    - Dst: read
      Src: /src/libpcap/pcap-linux.c:3807,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:3810,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:3835,1
    - Dst: device_still_exists
      Src: /src/libpcap/pcap-linux.c:3877,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:3888,1
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:3896,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-linux.c:3897,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-linux.c:3899,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:3906,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:3911,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 100
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3941
      start: 3591
    functionDepth: 3
    functionLinenumber: 3591
    functionLinenumberEnd: 3941
    functionName: pcap_wait_for_frames_mmap
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - device_still_exists
    - ioctl
    - pcapint_fmt_errmsg_for_errno
    - poll
    - getsockopt
    - read
    - pcapint_strlcpy
    - snprintf
    - memset
    linkageType: ''
    returnType: int
    signature: int pcap_wait_for_frames_mmap(pcap_t *handle)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/libpcap/pcap-linux.c:3970,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:3971,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:3979,1
    - Dst: TPACKET_ALIGN
      Src: /src/libpcap/pcap-linux.c:3999,1
    - Dst: TPACKET_ALIGN
      Src: /src/libpcap/pcap-linux.c:4021,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:4023,1
    - Dst: htonl
      Src: /src/libpcap/pcap-linux.c:4034,1
    - Dst: htons
      Src: /src/libpcap/pcap-linux.c:4035,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-linux.c:4038,1
    - Dst: TPACKET_ALIGN
      Src: /src/libpcap/pcap-linux.c:4061,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:4063,1
    - Dst: htons
      Src: /src/libpcap/pcap-linux.c:4072,1
    - Dst: htons
      Src: /src/libpcap/pcap-linux.c:4073,1
    - Dst: htons
      Src: /src/libpcap/pcap-linux.c:4074,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-linux.c:4075,1
    - Dst: ntohs
      Src: /src/libpcap/pcap-linux.c:4092,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-linux.c:4207,1
    - Dst: SWAPSHORT
      Src: /src/libpcap/pcap-linux.c:4217,1
    - Dst: SWAPLONG
      Src: /src/libpcap/pcap-linux.c:4225,1
    - Dst: htonl
      Src: /src/libpcap/pcap-linux.c:4239,1
    - Dst: pcapint_filter_with_aux_data
      Src: /src/libpcap/pcap-linux.c:4250,1
    - Dst: linux_check_direction
      Src: /src/libpcap/pcap-linux.c:4258,1
    - Dst: memmove
      Src: /src/libpcap/pcap-linux.c:4314,1
    - Dst: htons
      Src: /src/libpcap/pcap-linux.c:4320,1
    - Dst: htons
      Src: /src/libpcap/pcap-linux.c:4321,1
    - Dst: callback
      Src: /src/libpcap/pcap-linux.c:4350,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 99
    argCount: 12
    argNames:
    - handle
    - callback
    - user
    - frame
    - tp_len
    - tp_mac
    - tp_snaplen
    - tp_sec
    - tp_usec
    - tp_vlan_tci_valid
    - tp_vlan_tci
    - tp_vlan_tpid
    argTypes:
    - pcap_t*
    - pcap_handler
    - u_char*
    - unsigned char*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - int
    - __u16
    - __u16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4353
      start: 3944
    functionDepth: 1
    functionLinenumber: 3944
    functionLinenumberEnd: 4353
    functionName: pcap_handle_packet_mmap
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - SWAPLONG
    - memmove
    - callback
    - ntohs
    - memcpy
    - htons
    - uname
    - SWAPSHORT
    - snprintf
    - htonl
    - linux_check_direction
    - pcapint_filter_with_aux_data
    - TPACKET_ALIGN
    linkageType: ''
    returnType: int
    signature: "int pcap_handle_packet_mmap(\n\t\tpcap_t *handle,\n\t\tpcap_handler
      callback,\n\t\tu_char *user,\n\t\tunsigned char *frame,\n\t\tunsigned int tp_len,\n\t\tunsigned
      int tp_mac,\n\t\tunsigned int tp_snaplen,\n\t\tunsigned int tp_sec,\n\t\tunsigned
      int tp_usec,\n\t\tint tp_vlan_tci_valid,\n\t\t__u16 tp_vlan_tci,\n\t\t__u16
      tp_vlan_tpid)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RING_GET_CURRENT_FRAME
      Src: /src/libpcap/pcap-linux.c:4365,1
    - Dst: packet_mmap_acquire
      Src: /src/libpcap/pcap-linux.c:4366,1
    - Dst: pcap_wait_for_frames_mmap
      Src: /src/libpcap/pcap-linux.c:4371,1
    - Dst: PACKET_COUNT_IS_UNLIMITED
      Src: /src/libpcap/pcap-linux.c:4389,1
    - Dst: RING_GET_CURRENT_FRAME
      Src: /src/libpcap/pcap-linux.c:4397,1
    - Dst: packet_mmap_acquire
      Src: /src/libpcap/pcap-linux.c:4398,1
    - Dst: pcap_handle_packet_mmap
      Src: /src/libpcap/pcap-linux.c:4401,1
    - Dst: VLAN_VALID
      Src: /src/libpcap/pcap-linux.c:4411,1
    - Dst: VLAN_TPID
      Src: /src/libpcap/pcap-linux.c:4413,1
    - Dst: packet_mmap_release
      Src: /src/libpcap/pcap-linux.c:4426,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - handle
    - max_packets
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4449
      start: 4355
    functionDepth: 4
    functionLinenumber: 4355
    functionLinenumberEnd: 4449
    functionName: pcap_read_linux_mmap_v2
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - VLAN_VALID
    - packet_mmap_acquire
    - RING_GET_CURRENT_FRAME
    - pcap_wait_for_frames_mmap
    - PACKET_COUNT_IS_UNLIMITED
    - VLAN_TPID
    - pcap_handle_packet_mmap
    - packet_mmap_release
    linkageType: ''
    returnType: int
    signature: "int pcap_read_linux_mmap_v2(pcap_t *handle, int max_packets, pcap_handler
      callback,\n\t\tu_char *user)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: RING_GET_CURRENT_FRAME
      Src: /src/libpcap/pcap-linux.c:4464,1
    - Dst: packet_mmap_v3_acquire
      Src: /src/libpcap/pcap-linux.c:4465,1
    - Dst: pcap_wait_for_frames_mmap
      Src: /src/libpcap/pcap-linux.c:4470,1
    - Dst: RING_GET_CURRENT_FRAME
      Src: /src/libpcap/pcap-linux.c:4476,1
    - Dst: packet_mmap_v3_acquire
      Src: /src/libpcap/pcap-linux.c:4477,1
    - Dst: PACKET_COUNT_IS_UNLIMITED
      Src: /src/libpcap/pcap-linux.c:4497,1
    - Dst: RING_GET_CURRENT_FRAME
      Src: /src/libpcap/pcap-linux.c:4504,1
    - Dst: packet_mmap_v3_acquire
      Src: /src/libpcap/pcap-linux.c:4505,1
    - Dst: pcap_handle_packet_mmap
      Src: /src/libpcap/pcap-linux.c:4526,1
    - Dst: VLAN_VALID
      Src: /src/libpcap/pcap-linux.c:4536,1
    - Dst: VLAN_TPID
      Src: /src/libpcap/pcap-linux.c:4538,1
    - Dst: packet_mmap_v3_release
      Src: /src/libpcap/pcap-linux.c:4557,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 4
    argNames:
    - handle
    - max_packets
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4587
      start: 4452
    functionDepth: 4
    functionLinenumber: 4452
    functionLinenumberEnd: 4587
    functionName: pcap_read_linux_mmap_v3
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - VLAN_VALID
    - packet_mmap_v3_acquire
    - RING_GET_CURRENT_FRAME
    - pcap_wait_for_frames_mmap
    - PACKET_COUNT_IS_UNLIMITED
    - VLAN_TPID
    - packet_mmap_v3_release
    - pcap_handle_packet_mmap
    linkageType: ''
    returnType: int
    signature: "int pcap_read_linux_mmap_v3(pcap_t *handle, int max_packets, pcap_handler
      callback,\n\t\tu_char *user)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-linux.c:4605,1
    - Dst: pcapint_install_bpf_program
      Src: /src/libpcap/pcap-linux.c:4614,1
    - Dst: fprintf
      Src: /src/libpcap/pcap-linux.c:4633,1
    - Dst: fix_program
      Src: /src/libpcap/pcap-linux.c:4652,1
    - Dst: set_kernel_filter
      Src: /src/libpcap/pcap-linux.c:4705,1
    - Dst: fprintf
      Src: /src/libpcap/pcap-linux.c:4729,1
    - Dst: fprintf
      Src: /src/libpcap/pcap-linux.c:4732,1
    - Dst: pcap_strerror
      Src: /src/libpcap/pcap-linux.c:4734,1
    - Dst: reset_kernel_filter
      Src: /src/libpcap/pcap-linux.c:4748,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:4749,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:4760,1
    - Dst: pcap_get_ring_frame_status
      Src: /src/libpcap/pcap-linux.c:4790,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 2
    argNames:
    - handle
    - filter
    argTypes:
    - pcap_t*
    - struct bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4826
      start: 4593
    functionDepth: 3
    functionLinenumber: 4593
    functionLinenumberEnd: 4826
    functionName: pcap_setfilter_linux
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - pcap_get_ring_frame_status
    - pcapint_install_bpf_program
    - set_kernel_filter
    - fprintf
    - pcapint_fmt_errmsg_for_errno
    - pcapint_strlcpy
    - free
    - fix_program
    - reset_kernel_filter
    - pcap_strerror
    linkageType: ''
    returnType: int
    signature: int pcap_setfilter_linux(pcap_t *handle, struct bpf_program *filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:4837,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-linux.c:4838,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-linux.c:4840,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:4841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - device
    - ebuf
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4847
      start: 4832
    functionDepth: 2
    functionLinenumber: 4832
    functionLinenumberEnd: 4847
    functionName: iface_get_id
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 4
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - memset
    - pcapint_strlcpy
    - ioctl
    linkageType: ''
    returnType: int
    signature: int iface_get_id(int fd, const char *device, char *ebuf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:4860,1
    - Dst: bind
      Src: /src/libpcap/pcap-linux.c:4865,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:4885,1
    - Dst: getsockopt
      Src: /src/libpcap/pcap-linux.c:4893,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:4894,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:4909,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - fd
    - ifindex
    - ebuf
    - protocol
    argTypes:
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4915
      start: 4853
    functionDepth: 2
    functionLinenumber: 4853
    functionLinenumberEnd: 4915
    functionName: iface_bind
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 2
    functionsReached:
    - memset
    - pcapint_fmt_errmsg_for_errno
    - getsockopt
    - bind
    linkageType: ''
    returnType: int
    signature: int iface_bind(int fd, int ifindex, char *ebuf, int protocol)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_mac80211_phydev
      Src: /src/libpcap/pcap-linux.c:4936,1
    - Dst: nl80211_init
      Src: /src/libpcap/pcap-linux.c:4942,1
    - Dst: get_if_type
      Src: /src/libpcap/pcap-linux.c:4951,1
    - Dst: nl80211_cleanup
      Src: /src/libpcap/pcap-linux.c:4959,1
    - Dst: nl80211_cleanup
      Src: /src/libpcap/pcap-linux.c:4968,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:4982,1
    - Dst: add_mon_if
      Src: /src/libpcap/pcap-linux.c:4983,1
    - Dst: nl80211_cleanup
      Src: /src/libpcap/pcap-linux.c:4996,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-linux.c:5001,1
    - Dst: nl80211_cleanup
      Src: /src/libpcap/pcap-linux.c:5003,1
    - Dst: nanosleep
      Src: /src/libpcap/pcap-linux.c:5014,1
    - Dst: pcapint_do_addexit
      Src: /src/libpcap/pcap-linux.c:5021,1
    - Dst: del_mon_if
      Src: /src/libpcap/pcap-linux.c:5027,1
    - Dst: nl80211_cleanup
      Src: /src/libpcap/pcap-linux.c:5029,1
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:5036,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-linux.c:5037,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-linux.c:5038,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:5039,1
    - Dst: del_mon_if
      Src: /src/libpcap/pcap-linux.c:5042,1
    - Dst: nl80211_cleanup
      Src: /src/libpcap/pcap-linux.c:5044,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-linux.c:5048,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:5049,1
    - Dst: del_mon_if
      Src: /src/libpcap/pcap-linux.c:5052,1
    - Dst: nl80211_cleanup
      Src: /src/libpcap/pcap-linux.c:5054,1
    - Dst: nl80211_cleanup
      Src: /src/libpcap/pcap-linux.c:5061,1
    - Dst: pcapint_add_to_pcaps_to_close
      Src: /src/libpcap/pcap-linux.c:5072,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 3
    argNames:
    - handle
    - sock_fd
    - device
    argTypes:
    - pcap_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5075
      start: 4923
    functionDepth: 3
    functionLinenumber: 4923
    functionLinenumberEnd: 5075
    functionName: enter_rfmon_mode
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - nl80211_cleanup
    - del_mon_if
    - get_if_type
    - pcapint_do_addexit
    - ioctl
    - add_mon_if
    - pcapint_fmt_errmsg_for_errno
    - nanosleep
    - pcapint_add_to_pcaps_to_close
    - pcapint_strlcpy
    - snprintf
    - nl80211_init
    - memset
    - get_mac80211_phydev
    linkageType: ''
    returnType: int
    signature: int enter_rfmon_mode(pcap_t *handle, int sock_fd, const char *device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/pcap-linux.c:5109,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:5111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - handle
    - ebuf
    argTypes:
    - pcap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5119
      start: 5104
    functionDepth: 2
    functionLinenumber: 5104
    functionLinenumberEnd: 5119
    functionName: iface_set_all_ts_types
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - malloc
    linkageType: ''
    returnType: int
    signature: int iface_set_all_ts_types(pcap_t *handle, char *ebuf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libpcap/pcap-linux.c:5141,1
    - Dst: get_if_ioctl_socket
      Src: /src/libpcap/pcap-linux.c:5149,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:5151,1
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:5156,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-linux.c:5157,1
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:5158,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-linux.c:5161,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:5164,1
    - Dst: iface_set_all_ts_types
      Src: /src/libpcap/pcap-linux.c:5174,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:5192,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:5199,1
    - Dst: malloc
      Src: /src/libpcap/pcap-linux.c:5226,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:5228,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 3
    argNames:
    - device
    - handle
    - ebuf
    argTypes:
    - char*
    - pcap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5243
      start: 5125
    functionDepth: 3
    functionLinenumber: 5125
    functionLinenumberEnd: 5243
    functionName: iface_get_ts_types
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - close
    - ioctl
    - get_if_ioctl_socket
    - pcapint_fmt_errmsg_for_errno
    - strcmp
    - iface_set_all_ts_types
    - pcapint_strlcpy
    - memset
    - malloc
    linkageType: ''
    returnType: int
    signature: int iface_get_ts_types(const char *device, pcap_t *handle, char *ebuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libpcap/pcap-linux.c:5255,1
    - Dst: iface_set_all_ts_types
      Src: /src/libpcap/pcap-linux.c:5264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - device
    - handle
    - ebuf
    argTypes:
    - char*
    - pcap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5267
      start: 5245
    functionDepth: 3
    functionLinenumber: 5245
    functionLinenumberEnd: 5267
    functionName: iface_get_ts_types
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - strcmp
    - iface_set_all_ts_types
    linkageType: ''
    returnType: int
    signature: int iface_get_ts_types(const char *device, pcap_t *handle, char *ebuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - device
    - _U_
    - ebuf
    argTypes:
    - char*
    - pcap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5277
      start: 5270
    functionDepth: 0
    functionLinenumber: 5270
    functionLinenumberEnd: 5277
    functionName: iface_get_ts_types
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int iface_get_ts_types(const char *device _U_, pcap_t *p _U_, char
      *ebuf _U_)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:5308,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-linux.c:5309,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-linux.c:5313,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:5324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - handle
    - cmd
    - cmdname
    - eperm_ok
    argTypes:
    - pcap_t*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5330
      start: 5301
    functionDepth: 2
    functionLinenumber: 5301
    functionLinenumberEnd: 5330
    functionName: iface_ethtool_flag_ioctl
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - memset
    - pcapint_strlcpy
    - ioctl
    linkageType: ''
    returnType: int
    signature: "int iface_ethtool_flag_ioctl(pcap_t *handle, int cmd, const char *cmdname,\n
      \   int eperm_ok)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: iface_ethtool_flag_ioctl
      Src: /src/libpcap/pcap-linux.c:5353,1
    - Dst: iface_ethtool_flag_ioctl
      Src: /src/libpcap/pcap-linux.c:5366,1
    - Dst: iface_ethtool_flag_ioctl
      Src: /src/libpcap/pcap-linux.c:5374,1
    - Dst: iface_ethtool_flag_ioctl
      Src: /src/libpcap/pcap-linux.c:5387,1
    - Dst: iface_ethtool_flag_ioctl
      Src: /src/libpcap/pcap-linux.c:5401,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5409
      start: 5347
    functionDepth: 3
    functionLinenumber: 5347
    functionLinenumberEnd: 5409
    functionName: iface_get_offload
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - iface_ethtool_flag_ioctl
    linkageType: ''
    returnType: int
    signature: int iface_get_offload(pcap_t *handle)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: asprintf
      Src: /src/libpcap/pcap-linux.c:5726,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:5728,1
    - Dst: open
      Src: /src/libpcap/pcap-linux.c:5733,1
    - Dst: free
      Src: /src/libpcap/pcap-linux.c:5734,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:5744,1
    - Dst: read
      Src: /src/libpcap/pcap-linux.c:5749,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:5751,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:5753,1
    - Dst: close
      Src: /src/libpcap/pcap-linux.c:5756,1
    - Dst: strcmp
      Src: /src/libpcap/pcap-linux.c:5770,1
    - Dst: strcmp
      Src: /src/libpcap/pcap-linux.c:5793,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - device
    - handle
    argTypes:
    - char*
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5800
      start: 5710
    functionDepth: 2
    functionLinenumber: 5710
    functionLinenumberEnd: 5800
    functionName: iface_dsa_get_proto_info
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - close
    - open
    - pcapint_fmt_errmsg_for_errno
    - read
    - strcmp
    - free
    - asprintf
    linkageType: ''
    returnType: int
    signature: int iface_dsa_get_proto_info(const char *device, pcap_t *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:5813,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-linux.c:5814,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-linux.c:5816,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:5817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - device
    - ebuf
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5823
      start: 5805
    functionDepth: 2
    functionLinenumber: 5805
    functionLinenumberEnd: 5823
    functionName: iface_get_mtu
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - memset
    - pcapint_strlcpy
    - ioctl
    linkageType: ''
    returnType: int
    signature: int iface_get_mtu(int fd, const char *device, char *ebuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/pcap-linux.c:5834,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-linux.c:5835,1
    - Dst: ioctl
      Src: /src/libpcap/pcap-linux.c:5837,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:5849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - device
    - ebuf
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5856
      start: 5828
    functionDepth: 2
    functionLinenumber: 5828
    functionLinenumberEnd: 5856
    functionName: iface_get_arptype
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - memset
    - pcapint_strlcpy
    - ioctl
    linkageType: ''
    returnType: int
    signature: int iface_get_arptype(int fd, const char *device, char *ebuf)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - len
    - insn
    argTypes:
    - u_int
    - struct bpf_insn[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5905
      start: 5866
    functionDepth: 0
    functionLinenumber: 5866
    functionLinenumberEnd: 5905
    functionName: fix_dlt_can_socketcan
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fix_dlt_can_socketcan(const u_int len, struct bpf_insn insn[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - len
    - insn
    argTypes:
    - u_int
    - struct bpf_insn[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5911
      start: 5907
    functionDepth: 0
    functionLinenumber: 5907
    functionLinenumberEnd: 5911
    functionName: fix_dlt_can_socketcan
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fix_dlt_can_socketcan(const u_int len _U_, struct bpf_insn insn[]
      _U_)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libpcap/pcap-linux.c:5930,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:5932,1
    - Dst: memcpy
      Src: /src/libpcap/pcap-linux.c:5936,1
    - Dst: fix_dlt_can_socketcan
      Src: /src/libpcap/pcap-linux.c:5948,1
    - Dst: BPF_CLASS
      Src: /src/libpcap/pcap-linux.c:5956,1
    - Dst: BPF_MODE
      Src: /src/libpcap/pcap-linux.c:5964,1
    - Dst: fix_offset
      Src: /src/libpcap/pcap-linux.c:5977,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - handle
    - fcode
    argTypes:
    - pcap_t*
    - struct sock_fprog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5992
      start: 5914
    functionDepth: 2
    functionLinenumber: 5914
    functionLinenumberEnd: 5992
    functionName: fix_program
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached:
    - fix_dlt_can_socketcan
    - BPF_CLASS
    - pcapint_fmt_errmsg_for_errno
    - memcpy
    - fix_offset
    - malloc
    - BPF_MODE
    linkageType: ''
    returnType: int
    signature: int fix_program(pcap_t *handle, struct sock_fprog *fcode)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - handle
    - p
    argTypes:
    - pcap_t*
    - struct bpf_insn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6077
      start: 5994
    functionDepth: 0
    functionLinenumber: 5994
    functionLinenumberEnd: 6077
    functionName: fix_offset
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fix_offset(pcap_t *handle, struct bpf_insn *p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libpcap/pcap-linux.c:6118,1
    - Dst: fcntl
      Src: /src/libpcap/pcap-linux.c:6133,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:6135,1
    - Dst: fcntl
      Src: /src/libpcap/pcap-linux.c:6140,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:6141,1
    - Dst: recv
      Src: /src/libpcap/pcap-linux.c:6146,1
    - Dst: fcntl
      Src: /src/libpcap/pcap-linux.c:6156,1
    - Dst: reset_kernel_filter
      Src: /src/libpcap/pcap-linux.c:6157,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:6158,1
    - Dst: fcntl
      Src: /src/libpcap/pcap-linux.c:6163,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:6164,1
    - Dst: setsockopt
      Src: /src/libpcap/pcap-linux.c:6174,1
    - Dst: reset_kernel_filter
      Src: /src/libpcap/pcap-linux.c:6194,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-linux.c:6195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - handle
    - fcode
    argTypes:
    - pcap_t*
    - struct sock_fprog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6204
      start: 6079
    functionDepth: 2
    functionLinenumber: 6079
    functionLinenumberEnd: 6204
    functionName: set_kernel_filter
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 2
    functionsReached:
    - recv
    - fcntl
    - pcapint_fmt_errmsg_for_errno
    - reset_kernel_filter
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int set_kernel_filter(pcap_t *handle, struct sock_fprog *fcode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libpcap/pcap-linux.c:6218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6230
      start: 6206
    functionDepth: 0
    functionLinenumber: 6206
    functionLinenumberEnd: 6230
    functionName: reset_kernel_filter
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 2
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int reset_kernel_filter(pcap_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_check_activated
      Src: /src/libpcap/pcap-linux.c:6235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - protocol
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6239
      start: 6232
    functionDepth: 1
    functionLinenumber: 6232
    functionLinenumberEnd: 6239
    functionName: pcap_set_protocol_linux
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - pcapint_check_activated
    linkageType: ''
    returnType: int
    signature: int pcap_set_protocol_linux(pcap_t *p, int protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO
      Src: /src/libpcap/pcap-linux.c:6257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6258
      start: 6254
    functionDepth: 1
    functionLinenumber: 6254
    functionLinenumberEnd: 6258
    functionName: pcap_lib_version
    functionSourceFile: /src/libpcap/pcap-linux.c
    functionUses: 0
    functionsReached:
    - PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_lib_version(void)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/libpcap/pcap-haiku.c:68,1
    - Dst: real_time_clock_usecs
      Src: /src/libpcap/pcap-haiku.c:74,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-haiku.c:82,1
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap-haiku.c:115,1
    - Dst: callback
      Src: /src/libpcap/pcap-haiku.c:130,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - handle
    - maxPackets
    - callback
    - userdata
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 135
    functionName: pcap_read_haiku
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - callback
    - recvfrom
    - real_time_clock_usecs
    - pcapint_filter
    linkageType: ''
    returnType: int
    signature: "int pcap_read_haiku(pcap_t* handle, int maxPackets _U_, pcap_handler
      callback,\n\tu_char* userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libpcap/pcap-haiku.c:142,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-haiku.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - af
    - errbuf
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: PCAP_WARN_UNUSED_RESULT::dgram_socket
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - socket
    linkageType: ''
    returnType: int
    signature: 'int PCAP_WARN_UNUSED_RESULT

      dgram_socket(const int af, char *errbuf)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libpcap/pcap-haiku.c:157,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-haiku.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - fd
    - op
    - name
    - ifreq
    - errbuf
    argTypes:
    - int
    - unsigned long
    - char*
    - struct ifreq*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: PCAP_WARN_UNUSED_RESULT::ioctl_ifreq
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 0
    functionsReached:
    - pcapint_fmt_errmsg_for_errno
    - ioctl
    linkageType: ''
    returnType: int
    signature: "int PCAP_WARN_UNUSED_RESULT\nioctl_ifreq(const int fd, const unsigned
      long op, const char *name,\n             struct ifreq *ifreq, char *errbuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCAP_WARN_UNUSED_RESULT::ioctl_ifreq
      Src: /src/libpcap/pcap-haiku.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: PCAP_WARN_UNUSED_RESULT::get_promisc
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 0
    functionsReached:
    - PCAP_WARN_UNUSED_RESULT::ioctl_ifreq
    linkageType: ''
    returnType: int
    signature: 'int PCAP_WARN_UNUSED_RESULT

      get_promisc(pcap_t *handle)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl_ifreq
      Src: /src/libpcap/pcap-haiku.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - enable
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: set_promisc
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 1
    functionsReached:
    - ioctl_ifreq
    linkageType: ''
    returnType: int
    signature: int set_promisc(pcap_t *handle, const int enable)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_promisc
      Src: /src/libpcap/pcap-haiku.c:204,1
    - Dst: set_promisc
      Src: /src/libpcap/pcap-haiku.c:205,1
    - Dst: close
      Src: /src/libpcap/pcap-haiku.c:206,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-haiku.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: pcap_cleanup_haiku
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 0
    functionsReached:
    - pcapint_cleanup_live_common
    - set_promisc
    - get_promisc
    - close
    linkageType: ''
    returnType: void
    signature: void pcap_cleanup_haiku(pcap_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-haiku.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - handle
    - buffer
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: pcap_inject_haiku
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 0
    functionsReached:
    - pcapint_strlcpy
    linkageType: ''
    returnType: int
    signature: int pcap_inject_haiku(pcap_t *handle, const void *buffer _U_, int size
      _U_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctl_ifreq
      Src: /src/libpcap/pcap-haiku.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - stats
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 239
    functionName: pcap_stats_haiku
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 0
    functionsReached:
    - ioctl_ifreq
    linkageType: ''
    returnType: int
    signature: int pcap_stats_haiku(pcap_t *handle, struct pcap_stat *stats)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dgram_socket
      Src: /src/libpcap/pcap-haiku.c:249,1
    - Dst: ioctl_ifreq
      Src: /src/libpcap/pcap-haiku.c:255,1
    - Dst: dgram_socket
      Src: /src/libpcap/pcap-haiku.c:266,1
    - Dst: ioctl_ifreq
      Src: /src/libpcap/pcap-haiku.c:274,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-haiku.c:279,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-haiku.c:300,1
    - Dst: ioctl_ifreq
      Src: /src/libpcap/pcap-haiku.c:307,1
    - Dst: malloc
      Src: /src/libpcap/pcap-haiku.c:355,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/pcap-haiku.c:357,1
    - Dst: get_promisc
      Src: /src/libpcap/pcap-haiku.c:365,1
    - Dst: set_promisc
      Src: /src/libpcap/pcap-haiku.c:367,1
    - Dst: pcap_cleanup_haiku
      Src: /src/libpcap/pcap-haiku.c:372,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 374
    functionName: pcap_activate_haiku
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 0
    functionsReached:
    - pcap_cleanup_haiku
    - ioctl_ifreq
    - get_promisc
    - pcapint_fmt_errmsg_for_errno
    - set_promisc
    - dgram_socket
    - snprintf
    - malloc
    linkageType: ''
    returnType: int
    signature: int pcap_activate_haiku(pcap_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/pcap-haiku.c:381,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-haiku.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - device
    - errbuf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: PCAP_WARN_UNUSED_RESULT::validate_ifname
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int PCAP_WARN_UNUSED_RESULT

      validate_ifname(const char *device, char *errbuf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libpcap/pcap-haiku.c:396,1
    - Dst: uname
      Src: /src/libpcap/pcap-haiku.c:416,1
    - Dst: strncmp
      Src: /src/libpcap/pcap-haiku.c:418,1
    - Dst: strlen
      Src: /src/libpcap/pcap-haiku.c:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 421
    functionName: can_be_bound
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    - uname
    - strncmp
    linkageType: ''
    returnType: int
    signature: int can_be_bound(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: validate_ifname
      Src: /src/libpcap/pcap-haiku.c:427,1
    - Dst: can_be_bound
      Src: /src/libpcap/pcap-haiku.c:429,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-haiku.c:430,1
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-haiku.c:435,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-haiku.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - device
    - errorBuffer
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 446
    functionName: pcapint_create_interface
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 1
    functionsReached:
    - validate_ifname
    - pcapint_strlcpy
    - snprintf
    - PCAP_CREATE_COMMON
    - can_be_bound
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      pcapint_create_interface(const char *device, char *errorBuffer)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: validate_ifname
      Src: /src/libpcap/pcap-haiku.c:452,1
    - Dst: strncmp
      Src: /src/libpcap/pcap-haiku.c:456,1
    - Dst: strlen
      Src: /src/libpcap/pcap-haiku.c:456,1
    - Dst: strncmp
      Src: /src/libpcap/pcap-haiku.c:457,1
    - Dst: strlen
      Src: /src/libpcap/pcap-haiku.c:457,1
    - Dst: dgram_socket
      Src: /src/libpcap/pcap-haiku.c:472,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/pcap-haiku.c:477,1
    - Dst: ioctl_ifreq
      Src: /src/libpcap/pcap-haiku.c:478,1
    - Dst: close
      Src: /src/libpcap/pcap-haiku.c:479,1
    - Dst: ioctl_ifreq
      Src: /src/libpcap/pcap-haiku.c:485,1
    - Dst: close
      Src: /src/libpcap/pcap-haiku.c:486,1
    - Dst: IFM_TYPE
      Src: /src/libpcap/pcap-haiku.c:489,1
    - Dst: close
      Src: /src/libpcap/pcap-haiku.c:491,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - name
    - flags
    - errbuf
    argTypes:
    - char*
    - bpf_u_int32*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 494
    functionName: get_if_flags
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 2
    functionsReached:
    - ioctl_ifreq
    - close
    - IFM_TYPE
    - validate_ifname
    - pcapint_strlcpy
    - dgram_socket
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: int get_if_flags(const char *name, bpf_u_int32 *flags, char *errbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_findalldevs_interfaces
      Src: /src/libpcap/pcap-haiku.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _allDevices
    - errorBuffer
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: pcapint_platform_finddevs
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 1
    functionsReached:
    - pcapint_findalldevs_interfaces
    linkageType: ''
    returnType: int
    signature: int pcapint_platform_finddevs(pcap_if_list_t* _allDevices, char* errorBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: pcap_lib_version
    functionSourceFile: /src/libpcap/pcap-haiku.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pcap_lib_version(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_debug
      Src: /src/libpcap/instrument-functions.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - this_fn
    - call_site
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: __cyg_profile_func_enter
    functionSourceFile: /src/libpcap/instrument-functions.c
    functionUses: 0
    functionsReached:
    - print_debug
    linkageType: ''
    returnType: void
    signature: void __cyg_profile_func_enter(void *this_fn, void *call_site)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_debug
      Src: /src/libpcap/instrument-functions.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - this_fn
    - call_site
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: __cyg_profile_func_exit
    functionSourceFile: /src/libpcap/instrument-functions.c
    functionUses: 0
    functionsReached:
    - print_debug
    linkageType: ''
    returnType: void
    signature: void __cyg_profile_func_exit(void *this_fn, void *call_site)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libpcap/instrument-functions.c:103,1
    - Dst: strncmp
      Src: /src/libpcap/instrument-functions.c:106,1
    - Dst: strncmp
      Src: /src/libpcap/instrument-functions.c:110,1
    - Dst: strncmp
      Src: /src/libpcap/instrument-functions.c:111,1
    - Dst: strncmp
      Src: /src/libpcap/instrument-functions.c:113,1
    - Dst: strncmp
      Src: /src/libpcap/instrument-functions.c:114,1
    - Dst: fprintf
      Src: /src/libpcap/instrument-functions.c:115,1
    - Dst: exit
      Src: /src/libpcap/instrument-functions.c:117,1
    - Dst: readlink
      Src: /src/libpcap/instrument-functions.c:131,1
    - Dst: perror
      Src: /src/libpcap/instrument-functions.c:133,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:138,1
    - Dst: bfd_init
      Src: /src/libpcap/instrument-functions.c:143,1
    - Dst: bfd_openr
      Src: /src/libpcap/instrument-functions.c:145,1
    - Dst: bfd_perror
      Src: /src/libpcap/instrument-functions.c:147,1
    - Dst: bfd_check_format
      Src: /src/libpcap/instrument-functions.c:151,1
    - Dst: bfd_perror
      Src: /src/libpcap/instrument-functions.c:152,1
    - Dst: bfd_get_symtab_upper_bound
      Src: /src/libpcap/instrument-functions.c:156,1
    - Dst: bfd_perror
      Src: /src/libpcap/instrument-functions.c:157,1
    - Dst: malloc
      Src: /src/libpcap/instrument-functions.c:161,1
    - Dst: bfd_canonicalize_symtab
      Src: /src/libpcap/instrument-functions.c:162,1
    - Dst: free
      Src: /src/libpcap/instrument-functions.c:164,1
    - Dst: bfd_perror
      Src: /src/libpcap/instrument-functions.c:165,1
    - Dst: bfd_get_section_by_name
      Src: /src/libpcap/instrument-functions.c:169,1
    - Dst: bfd_perror
      Src: /src/libpcap/instrument-functions.c:170,1
    - Dst: bfd_get_symbol_info
      Src: /src/libpcap/instrument-functions.c:184,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:197,1
    - Dst: bfd_find_nearest_line
      Src: /src/libpcap/instrument-functions.c:203,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:205,1
    - Dst: putchar
      Src: /src/libpcap/instrument-functions.c:213,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:215,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:217,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:220,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:222,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:223,1
    - Dst: strncmp
      Src: /src/libpcap/instrument-functions.c:226,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:229,1
    - Dst: bfd_find_nearest_line
      Src: /src/libpcap/instrument-functions.c:231,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:234,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:236,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:239,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:241,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:244,1
    - Dst: strrchr
      Src: /src/libpcap/instrument-functions.c:246,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:249,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:253,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:255,1
    - Dst: printf
      Src: /src/libpcap/instrument-functions.c:256,1
    - Dst: putchar
      Src: /src/libpcap/instrument-functions.c:260,1
    - Dst: fflush
      Src: /src/libpcap/instrument-functions.c:265,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 114
    argCount: 3
    argNames:
    - this_fn
    - call_site
    - action
    argTypes:
    - void*
    - void*
    - action_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 266
    functionName: print_debug
    functionSourceFile: /src/libpcap/instrument-functions.c
    functionUses: 2
    functionsReached:
    - fprintf
    - printf
    - bfd_get_symtab_upper_bound
    - bfd_check_format
    - bfd_perror
    - bfd_get_symbol_info
    - perror
    - bfd_find_nearest_line
    - getenv
    - bfd_get_section_by_name
    - strrchr
    - putchar
    - bfd_init
    - exit
    - bfd_openr
    - readlink
    - bfd_canonicalize_symtab
    - free
    - strncmp
    - malloc
    - fflush
    linkageType: ''
    returnType: void
    signature: void print_debug(void *this_fn, void *call_site, action_type action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - is
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: LLC_IS_NR
    functionSourceFile: /src/libpcap/llc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LLC_IS_NR(is)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - is
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: LLC_I_NS
    functionSourceFile: /src/libpcap/llc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LLC_I_NS(is)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dbus_connection_pop_message
      Src: /src/libpcap/pcap-dbus.c:64,1
    - Dst: dbus_connection_read_write
      Src: /src/libpcap/pcap-dbus.c:68,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dbus.c:69,1
    - Dst: dbus_connection_pop_message
      Src: /src/libpcap/pcap-dbus.c:78,1
    - Dst: dbus_message_is_signal
      Src: /src/libpcap/pcap-dbus.c:81,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dbus.c:82,1
    - Dst: dbus_message_unref
      Src: /src/libpcap/pcap-dbus.c:83,1
    - Dst: dbus_message_marshal
      Src: /src/libpcap/pcap-dbus.c:87,1
    - Dst: gettimeofday
      Src: /src/libpcap/pcap-dbus.c:91,1
    - Dst: pcapint_filter
      Src: /src/libpcap/pcap-dbus.c:93,1
    - Dst: callback
      Src: /src/libpcap/pcap-dbus.c:95,1
    - Dst: dbus_free
      Src: /src/libpcap/pcap-dbus.c:99,1
    - Dst: dbus_message_unref
      Src: /src/libpcap/pcap-dbus.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - handle
    - max_packets
    - callback
    - user
    argTypes:
    - pcap_t*
    - int
    - pcap_handler
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 105
    functionName: dbus_read
    functionSourceFile: /src/libpcap/pcap-dbus.c
    functionUses: 0
    functionsReached:
    - dbus_message_is_signal
    - dbus_connection_read_write
    - dbus_free
    - gettimeofday
    - callback
    - dbus_message_unref
    - pcapint_filter
    - dbus_message_marshal
    - snprintf
    - dbus_connection_pop_message
    linkageType: ''
    returnType: int
    signature: int dbus_read(pcap_t *handle, int max_packets _U_, pcap_handler callback,
      u_char *user)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dbus_message_demarshal
      Src: /src/libpcap/pcap-dbus.c:116,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dbus.c:117,1
    - Dst: dbus_error_free
      Src: /src/libpcap/pcap-dbus.c:118,1
    - Dst: dbus_connection_send
      Src: /src/libpcap/pcap-dbus.c:122,1
    - Dst: dbus_connection_flush
      Src: /src/libpcap/pcap-dbus.c:123,1
    - Dst: dbus_message_unref
      Src: /src/libpcap/pcap-dbus.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - buf
    - size
    argTypes:
    - pcap_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 127
    functionName: dbus_write
    functionSourceFile: /src/libpcap/pcap-dbus.c
    functionUses: 0
    functionsReached:
    - dbus_connection_send
    - dbus_message_unref
    - dbus_message_demarshal
    - dbus_connection_flush
    - snprintf
    - dbus_error_free
    linkageType: ''
    returnType: int
    signature: int dbus_write(pcap_t *handle, const void *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - stats
    argTypes:
    - pcap_t*
    - struct pcap_stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: dbus_stats
    functionSourceFile: /src/libpcap/pcap-dbus.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dbus_stats(pcap_t *handle, struct pcap_stat *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dbus_connection_unref
      Src: /src/libpcap/pcap-dbus.c:145,1
    - Dst: pcapint_cleanup_live_common
      Src: /src/libpcap/pcap-dbus.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: dbus_cleanup
    functionSourceFile: /src/libpcap/pcap-dbus.c
    functionUses: 0
    functionsReached:
    - pcapint_cleanup_live_common
    - dbus_connection_unref
    linkageType: ''
    returnType: void
    signature: void dbus_cleanup(pcap_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-dbus.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: dbus_getnonblock
    functionSourceFile: /src/libpcap/pcap-dbus.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int dbus_getnonblock(pcap_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/pcap-dbus.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - nonblock
    argTypes:
    - pcap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: dbus_setnonblock
    functionSourceFile: /src/libpcap/pcap-dbus.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: int dbus_setnonblock(pcap_t *p, int nonblock _U_)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libpcap/pcap-dbus.c:192,1
    - Dst: dbus_bus_get
      Src: /src/libpcap/pcap-dbus.c:193,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dbus.c:194,1
    - Dst: dbus_error_free
      Src: /src/libpcap/pcap-dbus.c:195,1
    - Dst: strcmp
      Src: /src/libpcap/pcap-dbus.c:199,1
    - Dst: dbus_bus_get
      Src: /src/libpcap/pcap-dbus.c:200,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dbus.c:201,1
    - Dst: dbus_error_free
      Src: /src/libpcap/pcap-dbus.c:202,1
    - Dst: strncmp
      Src: /src/libpcap/pcap-dbus.c:206,1
    - Dst: dbus_connection_open
      Src: /src/libpcap/pcap-dbus.c:209,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dbus.c:210,1
    - Dst: dbus_error_free
      Src: /src/libpcap/pcap-dbus.c:211,1
    - Dst: dbus_bus_register
      Src: /src/libpcap/pcap-dbus.c:215,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dbus.c:216,1
    - Dst: dbus_error_free
      Src: /src/libpcap/pcap-dbus.c:217,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dbus.c:222,1
    - Dst: dbus_cleanup
      Src: /src/libpcap/pcap-dbus.c:270,1
    - Dst: dbus_connection_set_max_received_size
      Src: /src/libpcap/pcap-dbus.c:284,1
    - Dst: dbus_bus_add_match
      Src: /src/libpcap/pcap-dbus.c:287,1
    - Dst: dbus_error_is_set
      Src: /src/libpcap/pcap-dbus.c:288,1
    - Dst: dbus_error_free
      Src: /src/libpcap/pcap-dbus.c:289,1
    - Dst: dbus_bus_add_match
      Src: /src/libpcap/pcap-dbus.c:292,1
    - Dst: strlen
      Src: /src/libpcap/pcap-dbus.c:292,1
    - Dst: dbus_error_is_set
      Src: /src/libpcap/pcap-dbus.c:293,1
    - Dst: snprintf
      Src: /src/libpcap/pcap-dbus.c:294,1
    - Dst: dbus_error_free
      Src: /src/libpcap/pcap-dbus.c:295,1
    - Dst: dbus_cleanup
      Src: /src/libpcap/pcap-dbus.c:296,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 1
    argNames:
    - handle
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 303
    functionName: dbus_activate
    functionSourceFile: /src/libpcap/pcap-dbus.c
    functionUses: 0
    functionsReached:
    - dbus_connection_set_max_received_size
    - dbus_connection_open
    - dbus_cleanup
    - dbus_error_is_set
    - dbus_bus_get
    - strcmp
    - dbus_bus_add_match
    - dbus_bus_register
    - snprintf
    - strlen
    - strncmp
    - dbus_error_free
    linkageType: ''
    returnType: int
    signature: int dbus_activate(pcap_t *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libpcap/pcap-dbus.c:310,1
    - Dst: strcmp
      Src: /src/libpcap/pcap-dbus.c:311,1
    - Dst: strncmp
      Src: /src/libpcap/pcap-dbus.c:312,1
    - Dst: PCAP_CREATE_COMMON
      Src: /src/libpcap/pcap-dbus.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - device
    - ebuf
    - is_ours
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 334
    functionName: dbus_create
    functionSourceFile: /src/libpcap/pcap-dbus.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strncmp
    - PCAP_CREATE_COMMON
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      dbus_create(const char *device, char *ebuf, int *is_ours)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-dbus.c:343,1
    - Dst: pcapint_add_dev
      Src: /src/libpcap/pcap-dbus.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - devlistp
    - err_str
    argTypes:
    - pcap_if_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 352
    functionName: dbus_findalldevs
    functionSourceFile: /src/libpcap/pcap-dbus.c
    functionUses: 0
    functionsReached:
    - pcapint_add_dev
    linkageType: ''
    returnType: int
    signature: int dbus_findalldevs(pcap_if_list_t *devlistp, char *err_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: RPCAP_VERSION_IS_SUPPORTED
    functionSourceFile: /src/libpcap/rpcap-protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RPCAP_VERSION_IS_SUPPORTED(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: RPCAP_VERSION_IS_SUPPORTED
    functionSourceFile: /src/libpcap/rpcap-protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RPCAP_VERSION_IS_SUPPORTED(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libpcap/testprogs/versiontest.c:28,1
    - Dst: pcap_lib_version
      Src: /src/libpcap/testprogs/versiontest.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/versiontest.c
    functionUses: 0
    functionsReached:
    - pcap_lib_version
    - printf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_breakloop
      Src: /src/libpcap/testprogs/capturetest.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: sigint_handler
    functionSourceFile: /src/libpcap/testprogs/capturetest.c
    functionUses: 0
    functionsReached:
    - pcap_breakloop
    linkageType: ''
    returnType: void
    signature: void sigint_handler(int signum _U_)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libpcap/testprogs/capturetest.c:127,1
    - Dst: getopt
      Src: /src/libpcap/testprogs/capturetest.c:133,1
    - Dst: strtol
      Src: /src/libpcap/testprogs/capturetest.c:167,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:169,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:174,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:178,1
    - Dst: usage
      Src: /src/libpcap/testprogs/capturetest.c:186,1
    - Dst: pcap_findalldevs
      Src: /src/libpcap/testprogs/capturetest.c:192,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:193,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:195,1
    - Dst: strdup
      Src: /src/libpcap/testprogs/capturetest.c:196,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/testprogs/capturetest.c:197,1
    - Dst: sigemptyset
      Src: /src/libpcap/testprogs/capturetest.c:209,1
    - Dst: sigaction
      Src: /src/libpcap/testprogs/capturetest.c:220,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:221,1
    - Dst: strerror
      Src: /src/libpcap/testprogs/capturetest.c:222,1
    - Dst: pcap_create
      Src: /src/libpcap/testprogs/capturetest.c:226,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:228,1
    - Dst: pcap_set_snaplen
      Src: /src/libpcap/testprogs/capturetest.c:229,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:231,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/capturetest.c:232,1
    - Dst: pcap_set_immediate_mode
      Src: /src/libpcap/testprogs/capturetest.c:234,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:236,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/capturetest.c:237,1
    - Dst: pcap_set_timeout
      Src: /src/libpcap/testprogs/capturetest.c:239,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:241,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/capturetest.c:242,1
    - Dst: pcap_activate
      Src: /src/libpcap/testprogs/capturetest.c:243,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:248,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/capturetest.c:249,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/capturetest.c:249,1
    - Dst: warning
      Src: /src/libpcap/testprogs/capturetest.c:255,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/capturetest.c:256,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/capturetest.c:256,1
    - Dst: pcap_lookupnet
      Src: /src/libpcap/testprogs/capturetest.c:258,1
    - Dst: warning
      Src: /src/libpcap/testprogs/capturetest.c:261,1
    - Dst: copy_argv
      Src: /src/libpcap/testprogs/capturetest.c:263,1
    - Dst: pcap_compile
      Src: /src/libpcap/testprogs/capturetest.c:265,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:266,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/capturetest.c:266,1
    - Dst: pcap_setfilter
      Src: /src/libpcap/testprogs/capturetest.c:268,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:269,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/capturetest.c:269,1
    - Dst: pcap_setnonblock
      Src: /src/libpcap/testprogs/capturetest.c:270,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:271,1
    - Dst: printf
      Src: /src/libpcap/testprogs/capturetest.c:272,1
    - Dst: pcap_dispatch
      Src: /src/libpcap/testprogs/capturetest.c:275,1
    - Dst: printf
      Src: /src/libpcap/testprogs/capturetest.c:280,1
    - Dst: pcap_stats
      Src: /src/libpcap/testprogs/capturetest.c:283,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/capturetest.c:284,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/capturetest.c:285,1
    - Dst: printf
      Src: /src/libpcap/testprogs/capturetest.c:287,1
    - Dst: putchar
      Src: /src/libpcap/testprogs/capturetest.c:298,1
    - Dst: printf
      Src: /src/libpcap/testprogs/capturetest.c:299,1
    - Dst: fflush
      Src: /src/libpcap/testprogs/capturetest.c:301,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/capturetest.c:306,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/capturetest.c:307,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/capturetest.c:309,1
    - Dst: pcap_freecode
      Src: /src/libpcap/testprogs/capturetest.c:310,1
    - Dst: free
      Src: /src/libpcap/testprogs/capturetest.c:311,1
    - Dst: exit
      Src: /src/libpcap/testprogs/capturetest.c:312,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 120
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 103
    functionDepth: 9
    functionLinenumber: 103
    functionLinenumberEnd: 313
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/capturetest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - usage
    - printf
    - pcap_create
    - sigemptyset
    - pcap_lookupnet
    - strerror
    - pcap_set_immediate_mode
    - pcap_findalldevs
    - getopt
    - pcap_close
    - pcap_freecode
    - pcap_statustostr
    - strrchr
    - pcap_freealldevs
    - copy_argv
    - putchar
    - strdup
    - pcap_activate
    - pcap_stats
    - strtol
    - pcap_dispatch
    - pcap_setfilter
    - exit
    - sigaction
    - pcap_geterr
    - pcap_set_timeout
    - pcap_compile
    - pcap_setnonblock
    - free
    - pcap_set_snaplen
    - error
    - warning
    - fflush
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - user
    - _U_
    - _U_
    argTypes:
    - u_char*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: countme
    functionSourceFile: /src/libpcap/testprogs/capturetest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void countme(u_char *user, const struct pcap_pkthdr *h _U_, const u_char
      *sp _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/capturetest.c:326,1
    - Dst: exit
      Src: /src/libpcap/testprogs/capturetest.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: usage
    functionSourceFile: /src/libpcap/testprogs/capturetest.c
    functionUses: 1
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/capturetest.c:337,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/capturetest.c:338,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/capturetest.c:339,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/capturetest.c:340,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/capturetest.c:342,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/capturetest.c:344,1
    - Dst: exit
      Src: /src/libpcap/testprogs/capturetest.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 348
    functionName: error
    functionSourceFile: /src/libpcap/testprogs/capturetest.c
    functionUses: 107
    functionsReached:
    - exit
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void error(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/capturetest.c:356,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/capturetest.c:357,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/capturetest.c:358,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/capturetest.c:359,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/capturetest.c:361,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/capturetest.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 365
    functionName: warning
    functionSourceFile: /src/libpcap/testprogs/capturetest.c
    functionUses: 1
    functionsReached:
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void warning(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/testprogs/capturetest.c:383,1
    - Dst: malloc
      Src: /src/libpcap/testprogs/capturetest.c:385,1
    - Dst: error
      Src: /src/libpcap/testprogs/capturetest.c:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 399
    functionName: copy_argv
    functionSourceFile: /src/libpcap/testprogs/capturetest.c
    functionUses: 1
    functionsReached:
    - error
    - malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      copy_argv(char **argv)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:52,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:58,1
    - Dst: pcap_create
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:62,1
    - Dst: error
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:64,1
    - Dst: pcap_can_set_rfmon
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:65,1
    - Dst: error
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:68,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:69,1
    - Dst: error
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:71,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:72,1
    - Dst: printf
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/can_set_rfmon_test.c
    functionUses: 0
    functionsReached:
    - pcap_statustostr
    - strrchr
    - fprintf
    - pcap_geterr
    - printf
    - pcap_create
    - error
    - pcap_can_set_rfmon
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:84,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:85,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:86,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:87,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:89,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:91,1
    - Dst: exit
      Src: /src/libpcap/testprogs/can_set_rfmon_test.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: error
    functionSourceFile: /src/libpcap/testprogs/can_set_rfmon_test.c
    functionUses: 109
    functionsReached:
    - exit
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void error(const char *fmt, ...)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libpcap/testprogs/valgrindtest.c:145,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:147,1
    - Dst: pcap_strerror
      Src: /src/libpcap/testprogs/valgrindtest.c:147,1
    - Dst: fstat
      Src: /src/libpcap/testprogs/valgrindtest.c:149,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:150,1
    - Dst: pcap_strerror
      Src: /src/libpcap/testprogs/valgrindtest.c:150,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:160,1
    - Dst: malloc
      Src: /src/libpcap/testprogs/valgrindtest.c:162,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:164,1
    - Dst: pcap_strerror
      Src: /src/libpcap/testprogs/valgrindtest.c:165,1
    - Dst: read
      Src: /src/libpcap/testprogs/valgrindtest.c:166,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:168,1
    - Dst: pcap_strerror
      Src: /src/libpcap/testprogs/valgrindtest.c:168,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:170,1
    - Dst: close
      Src: /src/libpcap/testprogs/valgrindtest.c:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 181
    functionName: read_infile
    functionSourceFile: /src/libpcap/testprogs/valgrindtest.c
    functionUses: 0
    functionsReached:
    - error
    - close
    - open
    - read
    - fstat
    - malloc
    - pcap_strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_infile(char *fname)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/valgrindtest.c:189,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/valgrindtest.c:190,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/valgrindtest.c:191,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/valgrindtest.c:192,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/valgrindtest.c:194,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/valgrindtest.c:196,1
    - Dst: exit
      Src: /src/libpcap/testprogs/valgrindtest.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: error
    functionSourceFile: /src/libpcap/testprogs/valgrindtest.c
    functionUses: 110
    functionsReached:
    - exit
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void error(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/valgrindtest.c:208,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/valgrindtest.c:209,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/valgrindtest.c:210,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/valgrindtest.c:211,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/valgrindtest.c:213,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/valgrindtest.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 217
    functionName: warning
    functionSourceFile: /src/libpcap/testprogs/valgrindtest.c
    functionUses: 1
    functionsReached:
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void warning(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/testprogs/valgrindtest.c:235,1
    - Dst: malloc
      Src: /src/libpcap/testprogs/valgrindtest.c:237,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 251
    functionName: copy_argv
    functionSourceFile: /src/libpcap/testprogs/valgrindtest.c
    functionUses: 1
    functionsReached:
    - error
    - malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      copy_argv(char **argv)'
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libpcap/testprogs/valgrindtest.c:282,1
    - Dst: getopt
      Src: /src/libpcap/testprogs/valgrindtest.c:288,1
    - Dst: usage
      Src: /src/libpcap/testprogs/valgrindtest.c:309,1
    - Dst: pcap_findalldevs
      Src: /src/libpcap/testprogs/valgrindtest.c:319,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:320,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:322,1
    - Dst: strdup
      Src: /src/libpcap/testprogs/valgrindtest.c:323,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/testprogs/valgrindtest.c:324,1
    - Dst: read_infile
      Src: /src/libpcap/testprogs/valgrindtest.c:332,1
    - Dst: copy_argv
      Src: /src/libpcap/testprogs/valgrindtest.c:339,1
    - Dst: pcap_create
      Src: /src/libpcap/testprogs/valgrindtest.c:350,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:352,1
    - Dst: pcap_set_snaplen
      Src: /src/libpcap/testprogs/valgrindtest.c:353,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:355,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/valgrindtest.c:356,1
    - Dst: pcap_set_promisc
      Src: /src/libpcap/testprogs/valgrindtest.c:357,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:359,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/valgrindtest.c:360,1
    - Dst: pcap_set_rfmon
      Src: /src/libpcap/testprogs/valgrindtest.c:362,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:364,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/valgrindtest.c:365,1
    - Dst: pcap_set_timeout
      Src: /src/libpcap/testprogs/valgrindtest.c:367,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:369,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/valgrindtest.c:370,1
    - Dst: pcap_activate
      Src: /src/libpcap/testprogs/valgrindtest.c:371,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:376,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/valgrindtest.c:377,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/valgrindtest.c:377,1
    - Dst: warning
      Src: /src/libpcap/testprogs/valgrindtest.c:383,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/valgrindtest.c:384,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/valgrindtest.c:384,1
    - Dst: pcap_open_live
      Src: /src/libpcap/testprogs/valgrindtest.c:388,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:390,1
    - Dst: warning
      Src: /src/libpcap/testprogs/valgrindtest.c:392,1
    - Dst: pcap_fileno
      Src: /src/libpcap/testprogs/valgrindtest.c:395,1
    - Dst: ioctl
      Src: /src/libpcap/testprogs/valgrindtest.c:406,1
    - Dst: ioctl
      Src: /src/libpcap/testprogs/valgrindtest.c:430,1
    - Dst: setsockopt
      Src: /src/libpcap/testprogs/valgrindtest.c:434,1
    - Dst: pcap_compile
      Src: /src/libpcap/testprogs/valgrindtest.c:443,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:444,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/valgrindtest.c:444,1
    - Dst: pcap_setfilter
      Src: /src/libpcap/testprogs/valgrindtest.c:445,1
    - Dst: error
      Src: /src/libpcap/testprogs/valgrindtest.c:446,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/valgrindtest.c:446,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/valgrindtest.c:448,1
    - Dst: exit
      Src: /src/libpcap/testprogs/valgrindtest.c:449,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 92
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 255
    functionDepth: 9
    functionLinenumber: 255
    functionLinenumberEnd: 450
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/valgrindtest.c
    functionUses: 0
    functionsReached:
    - usage
    - pcap_open_live
    - pcap_create
    - pcap_set_promisc
    - pcap_findalldevs
    - getopt
    - pcap_close
    - pcap_statustostr
    - strrchr
    - pcap_freealldevs
    - copy_argv
    - pcap_fileno
    - strdup
    - pcap_activate
    - read_infile
    - pcap_setfilter
    - exit
    - pcap_set_rfmon
    - ioctl
    - pcap_geterr
    - pcap_set_timeout
    - pcap_compile
    - pcap_set_snaplen
    - error
    - warning
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/valgrindtest.c:455,1
    - Dst: pcap_lib_version
      Src: /src/libpcap/testprogs/valgrindtest.c:456,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/valgrindtest.c:457,1
    - Dst: exit
      Src: /src/libpcap/testprogs/valgrindtest.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 461
    functionName: usage
    functionSourceFile: /src/libpcap/testprogs/valgrindtest.c
    functionUses: 2
    functionsReached:
    - fprintf
    - pcap_lib_version
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_breakloop
      Src: /src/libpcap/testprogs/writecaptest.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctrltype
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: stop_capture
    functionSourceFile: /src/libpcap/testprogs/writecaptest.c
    functionUses: 0
    functionsReached:
    - pcap_breakloop
    linkageType: ''
    returnType: BOOL
    signature: BOOL stop_capture(DWORD ctrltype _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_breakloop
      Src: /src/libpcap/testprogs/writecaptest.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: stop_capture
    functionSourceFile: /src/libpcap/testprogs/writecaptest.c
    functionUses: 0
    functionsReached:
    - pcap_breakloop
    linkageType: ''
    returnType: void
    signature: void stop_capture(int signum _U_)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libpcap/testprogs/writecaptest.c:90,1
    - Dst: strncmp
      Src: /src/libpcap/testprogs/writecaptest.c:96,1
    - Dst: strchr
      Src: /src/libpcap/testprogs/writecaptest.c:102,1
    - Dst: strtol
      Src: /src/libpcap/testprogs/writecaptest.c:111,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - device
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 130
    functionName: parse_interface_number
    functionSourceFile: /src/libpcap/testprogs/writecaptest.c
    functionUses: 0
    functionsReached:
    - strtol
    - strchr
    - error
    - strncmp
    linkageType: ''
    returnType: long
    signature: long parse_interface_number(const char *device)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcap_findalldevs
      Src: /src/libpcap/testprogs/writecaptest.c:141,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:143,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:151,1
    - Dst: strdup
      Src: /src/libpcap/testprogs/writecaptest.c:152,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/testprogs/writecaptest.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - devnum
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 155
    functionName: find_interface_by_number
    functionSourceFile: /src/libpcap/testprogs/writecaptest.c
    functionUses: 0
    functionsReached:
    - strdup
    - error
    - pcap_findalldevs
    - pcap_freealldevs
    linkageType: ''
    returnType: char
    signature: 'char *

      find_interface_by_number(long devnum)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pcap_create
      Src: /src/libpcap/testprogs/writecaptest.c:164,1
    - Dst: strstr
      Src: /src/libpcap/testprogs/writecaptest.c:172,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:174,1
    - Dst: pcap_set_snaplen
      Src: /src/libpcap/testprogs/writecaptest.c:177,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:179,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/writecaptest.c:180,1
    - Dst: pcap_set_timeout
      Src: /src/libpcap/testprogs/writecaptest.c:182,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:184,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/writecaptest.c:185,1
    - Dst: pcap_activate
      Src: /src/libpcap/testprogs/writecaptest.c:186,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/writecaptest.c:191,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:193,1
    - Dst: snprintf
      Src: /src/libpcap/testprogs/writecaptest.c:198,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/writecaptest.c:199,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:201,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/writecaptest.c:202,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:204,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/writecaptest.c:205,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/writecaptest.c:206,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/writecaptest.c:213,1
    - Dst: warning
      Src: /src/libpcap/testprogs/writecaptest.c:215,1
    - Dst: warning
      Src: /src/libpcap/testprogs/writecaptest.c:218,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/writecaptest.c:219,1
    - Dst: warning
      Src: /src/libpcap/testprogs/writecaptest.c:221,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/writecaptest.c:222,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - device
    - snaplen_set
    - snaplen
    - ebuf
    argTypes:
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 225
    functionName: open_interface
    functionSourceFile: /src/libpcap/testprogs/writecaptest.c
    functionUses: 0
    functionsReached:
    - strstr
    - pcap_statustostr
    - pcap_close
    - pcap_geterr
    - pcap_set_timeout
    - pcap_activate
    - snprintf
    - pcap_set_snaplen
    - error
    - warning
    - pcap_create
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      open_interface(const char *device, int snaplen_set, int snaplen, char *ebuf)'
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libpcap/testprogs/writecaptest.c:254,1
    - Dst: getopt
      Src: /src/libpcap/testprogs/writecaptest.c:260,1
    - Dst: strtol
      Src: /src/libpcap/testprogs/writecaptest.c:276,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:278,1
    - Dst: usage
      Src: /src/libpcap/testprogs/writecaptest.c:292,1
    - Dst: pcap_findalldevs
      Src: /src/libpcap/testprogs/writecaptest.c:301,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:302,1
    - Dst: printf
      Src: /src/libpcap/testprogs/writecaptest.c:304,1
    - Dst: printf
      Src: /src/libpcap/testprogs/writecaptest.c:306,1
    - Dst: printf
      Src: /src/libpcap/testprogs/writecaptest.c:307,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/testprogs/writecaptest.c:309,1
    - Dst: pcap_findalldevs
      Src: /src/libpcap/testprogs/writecaptest.c:314,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:315,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:317,1
    - Dst: strdup
      Src: /src/libpcap/testprogs/writecaptest.c:318,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/testprogs/writecaptest.c:319,1
    - Dst: pcap_create
      Src: /src/libpcap/testprogs/writecaptest.c:322,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:324,1
    - Dst: pcap_activate
      Src: /src/libpcap/testprogs/writecaptest.c:325,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:330,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/writecaptest.c:331,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/writecaptest.c:331,1
    - Dst: pcap_list_datalinks
      Src: /src/libpcap/testprogs/writecaptest.c:333,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:338,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/writecaptest.c:339,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/writecaptest.c:339,1
    - Dst: pcap_datalink_val_to_name
      Src: /src/libpcap/testprogs/writecaptest.c:342,1
    - Dst: printf
      Src: /src/libpcap/testprogs/writecaptest.c:344,1
    - Dst: printf
      Src: /src/libpcap/testprogs/writecaptest.c:346,1
    - Dst: printf
      Src: /src/libpcap/testprogs/writecaptest.c:347,1
    - Dst: pcap_free_datalinks
      Src: /src/libpcap/testprogs/writecaptest.c:349,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/writecaptest.c:350,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:355,1
    - Dst: open_interface
      Src: /src/libpcap/testprogs/writecaptest.c:359,1
    - Dst: parse_interface_number
      Src: /src/libpcap/testprogs/writecaptest.c:368,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:374,1
    - Dst: find_interface_by_number
      Src: /src/libpcap/testprogs/writecaptest.c:385,1
    - Dst: open_interface
      Src: /src/libpcap/testprogs/writecaptest.c:386,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:388,1
    - Dst: pcap_lookupnet
      Src: /src/libpcap/testprogs/writecaptest.c:391,1
    - Dst: warning
      Src: /src/libpcap/testprogs/writecaptest.c:394,1
    - Dst: pcap_datalink_name_to_val
      Src: /src/libpcap/testprogs/writecaptest.c:398,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:400,1
    - Dst: pcap_set_datalink
      Src: /src/libpcap/testprogs/writecaptest.c:401,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:402,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/writecaptest.c:402,1
    - Dst: copy_argv
      Src: /src/libpcap/testprogs/writecaptest.c:412,1
    - Dst: pcap_compile
      Src: /src/libpcap/testprogs/writecaptest.c:414,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:415,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/writecaptest.c:415,1
    - Dst: pcap_setfilter
      Src: /src/libpcap/testprogs/writecaptest.c:417,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:418,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/writecaptest.c:418,1
    - Dst: pcap_dump_open
      Src: /src/libpcap/testprogs/writecaptest.c:421,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:423,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/writecaptest.c:423,1
    - Dst: SetConsoleCtrlHandler
      Src: /src/libpcap/testprogs/writecaptest.c:426,1
    - Dst: sigemptyset
      Src: /src/libpcap/testprogs/writecaptest.c:429,1
    - Dst: sigaction
      Src: /src/libpcap/testprogs/writecaptest.c:431,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:432,1
    - Dst: strerror
      Src: /src/libpcap/testprogs/writecaptest.c:432,1
    - Dst: printf
      Src: /src/libpcap/testprogs/writecaptest.c:435,1
    - Dst: pcap_datalink
      Src: /src/libpcap/testprogs/writecaptest.c:436,1
    - Dst: pcap_datalink_val_to_name
      Src: /src/libpcap/testprogs/writecaptest.c:437,1
    - Dst: printf
      Src: /src/libpcap/testprogs/writecaptest.c:439,1
    - Dst: printf
      Src: /src/libpcap/testprogs/writecaptest.c:441,1
    - Dst: printf
      Src: /src/libpcap/testprogs/writecaptest.c:442,1
    - Dst: pcap_dispatch
      Src: /src/libpcap/testprogs/writecaptest.c:444,1
    - Dst: printf
      Src: /src/libpcap/testprogs/writecaptest.c:448,1
    - Dst: pcap_stats
      Src: /src/libpcap/testprogs/writecaptest.c:450,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/writecaptest.c:451,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/writecaptest.c:452,1
    - Dst: printf
      Src: /src/libpcap/testprogs/writecaptest.c:454,1
    - Dst: putchar
      Src: /src/libpcap/testprogs/writecaptest.c:465,1
    - Dst: printf
      Src: /src/libpcap/testprogs/writecaptest.c:466,1
    - Dst: fflush
      Src: /src/libpcap/testprogs/writecaptest.c:468,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/writecaptest.c:473,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/writecaptest.c:474,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/writecaptest.c:476,1
    - Dst: pcap_freecode
      Src: /src/libpcap/testprogs/writecaptest.c:478,1
    - Dst: free
      Src: /src/libpcap/testprogs/writecaptest.c:479,1
    - Dst: exit
      Src: /src/libpcap/testprogs/writecaptest.c:481,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 152
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 229
    functionDepth: 9
    functionLinenumber: 229
    functionLinenumberEnd: 482
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/writecaptest.c
    functionUses: 0
    functionsReached:
    - pcap_set_datalink
    - fprintf
    - usage
    - printf
    - pcap_free_datalinks
    - pcap_create
    - find_interface_by_number
    - parse_interface_number
    - sigemptyset
    - pcap_lookupnet
    - pcap_datalink_val_to_name
    - strerror
    - pcap_findalldevs
    - pcap_datalink
    - getopt
    - pcap_close
    - SetConsoleCtrlHandler
    - pcap_statustostr
    - pcap_freecode
    - strrchr
    - pcap_freealldevs
    - pcap_dump_open
    - copy_argv
    - putchar
    - strdup
    - pcap_datalink_name_to_val
    - pcap_activate
    - pcap_stats
    - strtol
    - pcap_dispatch
    - pcap_setfilter
    - exit
    - sigaction
    - pcap_geterr
    - pcap_compile
    - pcap_list_datalinks
    - open_interface
    - free
    - error
    - warning
    - fflush
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/writecaptest.c:487,1
    - Dst: exit
      Src: /src/libpcap/testprogs/writecaptest.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 490
    functionName: usage
    functionSourceFile: /src/libpcap/testprogs/writecaptest.c
    functionUses: 3
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/writecaptest.c:498,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/writecaptest.c:499,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/writecaptest.c:500,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/writecaptest.c:501,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/writecaptest.c:503,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/writecaptest.c:505,1
    - Dst: exit
      Src: /src/libpcap/testprogs/writecaptest.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 509
    functionName: error
    functionSourceFile: /src/libpcap/testprogs/writecaptest.c
    functionUses: 116
    functionsReached:
    - exit
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void error(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/writecaptest.c:517,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/writecaptest.c:518,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/writecaptest.c:519,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/writecaptest.c:520,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/writecaptest.c:522,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/writecaptest.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 526
    functionName: warning
    functionSourceFile: /src/libpcap/testprogs/writecaptest.c
    functionUses: 4
    functionsReached:
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void warning(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/testprogs/writecaptest.c:544,1
    - Dst: malloc
      Src: /src/libpcap/testprogs/writecaptest.c:546,1
    - Dst: error
      Src: /src/libpcap/testprogs/writecaptest.c:548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 560
    functionName: copy_argv
    functionSourceFile: /src/libpcap/testprogs/writecaptest.c
    functionUses: 3
    functionsReached:
    - error
    - malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      copy_argv(char **argv)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/nonblocktest.c:58,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/nonblocktest.c:59,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/nonblocktest.c:60,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/nonblocktest.c:61,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/nonblocktest.c:63,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/nonblocktest.c:65,1
    - Dst: exit
      Src: /src/libpcap/testprogs/nonblocktest.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: error
    functionSourceFile: /src/libpcap/testprogs/nonblocktest.c
    functionUses: 117
    functionsReached:
    - exit
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void error(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/nonblocktest.c:77,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/nonblocktest.c:78,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/nonblocktest.c:79,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/nonblocktest.c:80,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/nonblocktest.c:82,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/nonblocktest.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: warning
    functionSourceFile: /src/libpcap/testprogs/nonblocktest.c
    functionUses: 4
    functionsReached:
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void warning(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/nonblocktest.c:91,1
    - Dst: exit
      Src: /src/libpcap/testprogs/nonblocktest.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: usage
    functionSourceFile: /src/libpcap/testprogs/nonblocktest.c
    functionUses: 3
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libpcap/testprogs/nonblocktest.c:112,1
    - Dst: usage
      Src: /src/libpcap/testprogs/nonblocktest.c:120,1
    - Dst: pcap_findalldevs
      Src: /src/libpcap/testprogs/nonblocktest.c:125,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:126,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:128,1
    - Dst: strdup
      Src: /src/libpcap/testprogs/nonblocktest.c:129,1
    - Dst: warning
      Src: /src/libpcap/testprogs/nonblocktest.c:130,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/testprogs/nonblocktest.c:131,1
    - Dst: pcap_create
      Src: /src/libpcap/testprogs/nonblocktest.c:134,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:136,1
    - Dst: warning
      Src: /src/libpcap/testprogs/nonblocktest.c:138,1
    - Dst: pcap_setnonblock
      Src: /src/libpcap/testprogs/nonblocktest.c:140,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:141,1
    - Dst: pcap_getnonblock
      Src: /src/libpcap/testprogs/nonblocktest.c:143,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:145,1
    - Dst: pcap_activate
      Src: /src/libpcap/testprogs/nonblocktest.c:146,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:147,1
    - Dst: pcap_getnonblock
      Src: /src/libpcap/testprogs/nonblocktest.c:148,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:150,1
    - Dst: pcap_setnonblock
      Src: /src/libpcap/testprogs/nonblocktest.c:154,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:155,1
    - Dst: pcap_getnonblock
      Src: /src/libpcap/testprogs/nonblocktest.c:156,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:158,1
    - Dst: pcap_setnonblock
      Src: /src/libpcap/testprogs/nonblocktest.c:162,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:163,1
    - Dst: pcap_getnonblock
      Src: /src/libpcap/testprogs/nonblocktest.c:164,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:166,1
    - Dst: pcap_loop
      Src: /src/libpcap/testprogs/nonblocktest.c:171,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:174,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:175,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/nonblocktest.c:175,1
    - Dst: pcap_setnonblock
      Src: /src/libpcap/testprogs/nonblocktest.c:180,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:181,1
    - Dst: open
      Src: /src/libpcap/testprogs/nonblocktest.c:183,1
    - Dst: pcap_setnonblock
      Src: /src/libpcap/testprogs/nonblocktest.c:187,1
    - Dst: error
      Src: /src/libpcap/testprogs/nonblocktest.c:189,1
    - Dst: warning
      Src: /src/libpcap/testprogs/nonblocktest.c:191,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 192
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/nonblocktest.c
    functionUses: 0
    functionsReached:
    - pcap_getnonblock
    - error
    - pcap_freealldevs
    - pcap_loop
    - open
    - usage
    - pcap_geterr
    - pcap_setnonblock
    - strdup
    - pcap_activate
    - pcap_findalldevs
    - getopt
    - warning
    - pcap_create
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpcap/testprogs/filtertest.c:128,1
    - Dst: pcap_freecode
      Src: /src/libpcap/testprogs/filtertest.c:129,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/filtertest.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: cleanup
    functionSourceFile: /src/libpcap/testprogs/filtertest.c
    functionUses: 11
    functionsReached:
    - free
    - pcap_freecode
    - pcap_close
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - cp
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: blank_comments
    functionSourceFile: /src/libpcap/testprogs/filtertest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void blank_comments(char *cp, const size_t size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libpcap/testprogs/filtertest.c:152,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:154,1
    - Dst: pcap_strerror
      Src: /src/libpcap/testprogs/filtertest.c:154,1
    - Dst: fstat
      Src: /src/libpcap/testprogs/filtertest.c:156,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:157,1
    - Dst: pcap_strerror
      Src: /src/libpcap/testprogs/filtertest.c:157,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:167,1
    - Dst: malloc
      Src: /src/libpcap/testprogs/filtertest.c:169,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:172,1
    - Dst: pcap_strerror
      Src: /src/libpcap/testprogs/filtertest.c:173,1
    - Dst: read
      Src: /src/libpcap/testprogs/filtertest.c:174,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:176,1
    - Dst: pcap_strerror
      Src: /src/libpcap/testprogs/filtertest.c:176,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:178,1
    - Dst: close
      Src: /src/libpcap/testprogs/filtertest.c:180,1
    - Dst: blank_comments
      Src: /src/libpcap/testprogs/filtertest.c:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 183
    functionName: read_infile
    functionSourceFile: /src/libpcap/testprogs/filtertest.c
    functionUses: 1
    functionsReached:
    - error
    - close
    - open
    - read
    - fstat
    - blank_comments
    - malloc
    - pcap_strerror
    linkageType: ''
    returnType: void
    signature: void read_infile(char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libpcap/testprogs/filtertest.c:189,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:192,1
    - Dst: fread
      Src: /src/libpcap/testprogs/filtertest.c:193,1
    - Dst: feof
      Src: /src/libpcap/testprogs/filtertest.c:194,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:195,1
    - Dst: ferror
      Src: /src/libpcap/testprogs/filtertest.c:196,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:197,1
    - Dst: fclose
      Src: /src/libpcap/testprogs/filtertest.c:198,1
    - Dst: blank_comments
      Src: /src/libpcap/testprogs/filtertest.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 201
    functionName: read_stdin
    functionSourceFile: /src/libpcap/testprogs/filtertest.c
    functionUses: 0
    functionsReached:
    - calloc
    - fclose
    - ferror
    - fread
    - blank_comments
    - error
    - feof
    linkageType: ''
    returnType: void
    signature: void read_stdin(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:209,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/filtertest.c:210,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/filtertest.c:211,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/filtertest.c:212,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/filtertest.c:214,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/filtertest.c:216,1
    - Dst: cleanup
      Src: /src/libpcap/testprogs/filtertest.c:218,1
    - Dst: exit
      Src: /src/libpcap/testprogs/filtertest.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - status
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 221
    functionName: error
    functionSourceFile: /src/libpcap/testprogs/filtertest.c
    functionUses: 120
    functionsReached:
    - exit
    - vfprintf
    - fputc
    - cleanup
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void error(const int status, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:230,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/filtertest.c:231,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/filtertest.c:232,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/filtertest.c:233,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/filtertest.c:235,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/filtertest.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 239
    functionName: warn
    functionSourceFile: /src/libpcap/testprogs/filtertest.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: _U_
    signature: _U_ warn(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/testprogs/filtertest.c:257,1
    - Dst: malloc
      Src: /src/libpcap/testprogs/filtertest.c:259,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 272
    functionName: copy_argv
    functionSourceFile: /src/libpcap/testprogs/filtertest.c
    functionUses: 3
    functionsReached:
    - error
    - malloc
    - strlen
    linkageType: ''
    returnType: void
    signature: void copy_argv(char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BPF_CLASS
      Src: /src/libpcap/testprogs/filtertest.c:294,1
    - Dst: bpf_image
      Src: /src/libpcap/testprogs/filtertest.c:295,1
    - Dst: strstr
      Src: /src/libpcap/testprogs/filtertest.c:296,1
    - Dst: printf
      Src: /src/libpcap/testprogs/filtertest.c:297,1
    - Dst: BPF_CLASS
      Src: /src/libpcap/testprogs/filtertest.c:303,1
    - Dst: bpf_image
      Src: /src/libpcap/testprogs/filtertest.c:304,1
    - Dst: strstr
      Src: /src/libpcap/testprogs/filtertest.c:305,1
    - Dst: printf
      Src: /src/libpcap/testprogs/filtertest.c:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 311
    functionName: enumerate_bpf_image
    functionSourceFile: /src/libpcap/testprogs/filtertest.c
    functionUses: 0
    functionsReached:
    - BPF_CLASS
    - strstr
    - bpf_image
    - printf
    linkageType: ''
    returnType: void
    signature: void enumerate_bpf_image(void)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/libpcap/testprogs/filtertest.c:340,1
    - Dst: MAKEWORD
      Src: /src/libpcap/testprogs/filtertest.c:340,1
    - Dst: strrchr
      Src: /src/libpcap/testprogs/filtertest.c:344,1
    - Dst: getopt
      Src: /src/libpcap/testprogs/filtertest.c:350,1
    - Dst: usage
      Src: /src/libpcap/testprogs/filtertest.c:354,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:366,1
    - Dst: inet_pton
      Src: /src/libpcap/testprogs/filtertest.c:384,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:387,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:390,1
    - Dst: pcap_strerror
      Src: /src/libpcap/testprogs/filtertest.c:391,1
    - Dst: ntohl
      Src: /src/libpcap/testprogs/filtertest.c:395,1
    - Dst: strtol
      Src: /src/libpcap/testprogs/filtertest.c:405,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:409,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:425,1
    - Dst: strcmp
      Src: /src/libpcap/testprogs/filtertest.c:433,1
    - Dst: strcmp
      Src: /src/libpcap/testprogs/filtertest.c:435,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:438,1
    - Dst: usage
      Src: /src/libpcap/testprogs/filtertest.c:442,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:449,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:452,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:456,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:459,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:461,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:463,1
    - Dst: pcap_open_offline
      Src: /src/libpcap/testprogs/filtertest.c:466,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:467,1
    - Dst: usage
      Src: /src/libpcap/testprogs/filtertest.c:471,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:475,1
    - Dst: pcap_datalink_name_to_val
      Src: /src/libpcap/testprogs/filtertest.c:476,1
    - Dst: strtol
      Src: /src/libpcap/testprogs/filtertest.c:478,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:480,1
    - Dst: pcap_open_dead
      Src: /src/libpcap/testprogs/filtertest.c:484,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:486,1
    - Dst: pcap_set_optimizer_debug
      Src: /src/libpcap/testprogs/filtertest.c:503,1
    - Dst: pcap_set_print_dot_graph
      Src: /src/libpcap/testprogs/filtertest.c:504,1
    - Dst: copy_argv
      Src: /src/libpcap/testprogs/filtertest.c:517,1
    - Dst: strcmp
      Src: /src/libpcap/testprogs/filtertest.c:518,1
    - Dst: read_infile
      Src: /src/libpcap/testprogs/filtertest.c:519,1
    - Dst: read_stdin
      Src: /src/libpcap/testprogs/filtertest.c:521,1
    - Dst: strcmp
      Src: /src/libpcap/testprogs/filtertest.c:524,1
    - Dst: enumerate_bpf_image
      Src: /src/libpcap/testprogs/filtertest.c:525,1
    - Dst: cleanup
      Src: /src/libpcap/testprogs/filtertest.c:526,1
    - Dst: exit
      Src: /src/libpcap/testprogs/filtertest.c:527,1
    - Dst: pcap_compile
      Src: /src/libpcap/testprogs/filtertest.c:530,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:531,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/filtertest.c:531,1
    - Dst: bpf_validate
      Src: /src/libpcap/testprogs/filtertest.c:533,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:534,1
    - Dst: printf
      Src: /src/libpcap/testprogs/filtertest.c:539,1
    - Dst: printf
      Src: /src/libpcap/testprogs/filtertest.c:541,1
    - Dst: printf
      Src: /src/libpcap/testprogs/filtertest.c:547,1
    - Dst: printf
      Src: /src/libpcap/testprogs/filtertest.c:549,1
    - Dst: bpf_dump
      Src: /src/libpcap/testprogs/filtertest.c:552,1
    - Dst: pcap_next_ex
      Src: /src/libpcap/testprogs/filtertest.c:557,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:559,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/filtertest.c:559,1
    - Dst: printf
      Src: /src/libpcap/testprogs/filtertest.c:561,1
    - Dst: pcap_offline_filter
      Src: /src/libpcap/testprogs/filtertest.c:561,1
    - Dst: error
      Src: /src/libpcap/testprogs/filtertest.c:563,1
    - Dst: cleanup
      Src: /src/libpcap/testprogs/filtertest.c:566,1
    - Dst: WSACleanup
      Src: /src/libpcap/testprogs/filtertest.c:568,1
    - Dst: exit
      Src: /src/libpcap/testprogs/filtertest.c:570,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 146
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 313
    functionDepth: 9
    functionLinenumber: 313
    functionLinenumberEnd: 571
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/filtertest.c
    functionUses: 0
    functionsReached:
    - bpf_validate
    - ntohl
    - pcap_offline_filter
    - usage
    - printf
    - inet_pton
    - pcap_open_offline
    - MAKEWORD
    - bpf_dump
    - pcap_strerror
    - pcap_next_ex
    - pcap_set_print_dot_graph
    - strcmp
    - pcap_open_dead
    - pcap_set_optimizer_debug
    - getopt
    - strrchr
    - copy_argv
    - pcap_datalink_name_to_val
    - strtol
    - WSAStartup
    - read_infile
    - exit
    - WSACleanup
    - cleanup
    - pcap_compile
    - pcap_geterr
    - read_stdin
    - enumerate_bpf_image
    - error
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:576,1
    - Dst: pcap_lib_version
      Src: /src/libpcap/testprogs/filtertest.c:577,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:578,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:589,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:590,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:592,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:593,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:594,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:595,1
    - Dst: exit
      Src: /src/libpcap/testprogs/filtertest.c:597,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:598,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:599,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:600,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:602,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:605,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:607,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:608,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:609,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:610,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:611,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:612,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:613,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:614,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:615,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:616,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:617,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:618,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:619,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:620,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:621,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:622,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:623,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:624,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:625,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:626,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:627,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:628,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/filtertest.c:629,1
    - Dst: exit
      Src: /src/libpcap/testprogs/filtertest.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 631
    functionName: usage
    functionSourceFile: /src/libpcap/testprogs/filtertest.c
    functionUses: 5
    functionsReached:
    - fprintf
    - pcap_lib_version
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(FILE *f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/libpcap/testprogs/reactivatetest.c:49,1
    - Dst: pcap_open_live
      Src: /src/libpcap/testprogs/reactivatetest.c:52,1
    - Dst: error
      Src: /src/libpcap/testprogs/reactivatetest.c:54,1
    - Dst: pcap_activate
      Src: /src/libpcap/testprogs/reactivatetest.c:58,1
    - Dst: error
      Src: /src/libpcap/testprogs/reactivatetest.c:61,1
    - Dst: error
      Src: /src/libpcap/testprogs/reactivatetest.c:63,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/reactivatetest.c:64,1
    - Dst: error
      Src: /src/libpcap/testprogs/reactivatetest.c:66,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/reactivatetest.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 41
    functionDepth: 7
    functionLinenumber: 41
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/reactivatetest.c
    functionUses: 0
    functionsReached:
    - pcap_statustostr
    - pcap_open_live
    - pcap_geterr
    - pcap_activate
    - error
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/reactivatetest.c:78,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/reactivatetest.c:79,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/reactivatetest.c:80,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/reactivatetest.c:81,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/reactivatetest.c:83,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/reactivatetest.c:85,1
    - Dst: exit
      Src: /src/libpcap/testprogs/reactivatetest.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: error
    functionSourceFile: /src/libpcap/testprogs/reactivatetest.c
    functionUses: 123
    functionsReached:
    - exit
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void error(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessage
      Src: /src/libpcap/testprogs/threadsignaltest.c:88,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/threadsignaltest.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - error
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 102
    functionName: win32_strerror
    functionSourceFile: /src/libpcap/testprogs/threadsignaltest.c
    functionUses: 0
    functionsReached:
    - FormatMessage
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      win32_strerror(DWORD error)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libpcap/testprogs/threadsignaltest.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: catch_sigusr1
    functionSourceFile: /src/libpcap/testprogs/threadsignaltest.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void catch_sigusr1(int sig _U_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/libpcap/testprogs/threadsignaltest.c:115,1
    - Dst: sleep
      Src: /src/libpcap/testprogs/threadsignaltest.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - secs
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: sleep_secs
    functionSourceFile: /src/libpcap/testprogs/threadsignaltest.c
    functionUses: 0
    functionsReached:
    - Sleep
    - sleep
    linkageType: ''
    returnType: void
    signature: void sleep_secs(int secs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/libpcap/testprogs/threadsignaltest.c:139,1
    - Dst: sigaction
      Src: /src/libpcap/testprogs/threadsignaltest.c:143,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:144,1
    - Dst: strerror
      Src: /src/libpcap/testprogs/threadsignaltest.c:144,1
    - Dst: printf
      Src: /src/libpcap/testprogs/threadsignaltest.c:147,1
    - Dst: pcap_dispatch
      Src: /src/libpcap/testprogs/threadsignaltest.c:150,1
    - Dst: printf
      Src: /src/libpcap/testprogs/threadsignaltest.c:155,1
    - Dst: printf
      Src: /src/libpcap/testprogs/threadsignaltest.c:158,1
    - Dst: putchar
      Src: /src/libpcap/testprogs/threadsignaltest.c:166,1
    - Dst: printf
      Src: /src/libpcap/testprogs/threadsignaltest.c:167,1
    - Dst: fflush
      Src: /src/libpcap/testprogs/threadsignaltest.c:169,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/threadsignaltest.c:174,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/threadsignaltest.c:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - arg
    argTypes:
    - THREAD_FUNC_ARG_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 178
    functionName: capture_thread_func
    functionSourceFile: /src/libpcap/testprogs/threadsignaltest.c
    functionUses: 0
    functionsReached:
    - sigaction
    - fprintf
    - sigemptyset
    - printf
    - putchar
    - pcap_geterr
    - strerror
    - pcap_dispatch
    - error
    - fflush
    linkageType: ''
    returnType: THREAD_FUNC_RETURN_TYPE
    signature: THREAD_FUNC_RETURN_TYPE capture_thread_func(THREAD_FUNC_ARG_TYPE arg)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libpcap/testprogs/threadsignaltest.c:197,1
    - Dst: getopt
      Src: /src/libpcap/testprogs/threadsignaltest.c:203,1
    - Dst: usage
      Src: /src/libpcap/testprogs/threadsignaltest.c:215,1
    - Dst: pcap_findalldevs
      Src: /src/libpcap/testprogs/threadsignaltest.c:221,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:222,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:224,1
    - Dst: strdup
      Src: /src/libpcap/testprogs/threadsignaltest.c:225,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/testprogs/threadsignaltest.c:226,1
    - Dst: pcap_create
      Src: /src/libpcap/testprogs/threadsignaltest.c:229,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:231,1
    - Dst: pcap_set_snaplen
      Src: /src/libpcap/testprogs/threadsignaltest.c:232,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:234,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/threadsignaltest.c:235,1
    - Dst: pcap_set_timeout
      Src: /src/libpcap/testprogs/threadsignaltest.c:236,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:238,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/threadsignaltest.c:239,1
    - Dst: pcap_activate
      Src: /src/libpcap/testprogs/threadsignaltest.c:240,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:245,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/threadsignaltest.c:246,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/threadsignaltest.c:246,1
    - Dst: warning
      Src: /src/libpcap/testprogs/threadsignaltest.c:252,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/threadsignaltest.c:253,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/threadsignaltest.c:253,1
    - Dst: pcap_lookupnet
      Src: /src/libpcap/testprogs/threadsignaltest.c:255,1
    - Dst: warning
      Src: /src/libpcap/testprogs/threadsignaltest.c:258,1
    - Dst: copy_argv
      Src: /src/libpcap/testprogs/threadsignaltest.c:260,1
    - Dst: pcap_compile
      Src: /src/libpcap/testprogs/threadsignaltest.c:262,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:263,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/threadsignaltest.c:263,1
    - Dst: pcap_setfilter
      Src: /src/libpcap/testprogs/threadsignaltest.c:265,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:266,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/threadsignaltest.c:266,1
    - Dst: CreateThread
      Src: /src/libpcap/testprogs/threadsignaltest.c:269,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:272,1
    - Dst: win32_strerror
      Src: /src/libpcap/testprogs/threadsignaltest.c:273,1
    - Dst: GetLastError
      Src: /src/libpcap/testprogs/threadsignaltest.c:273,1
    - Dst: pthread_create
      Src: /src/libpcap/testprogs/threadsignaltest.c:275,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:278,1
    - Dst: strerror
      Src: /src/libpcap/testprogs/threadsignaltest.c:278,1
    - Dst: sleep_secs
      Src: /src/libpcap/testprogs/threadsignaltest.c:280,1
    - Dst: printf
      Src: /src/libpcap/testprogs/threadsignaltest.c:281,1
    - Dst: pcap_breakloop
      Src: /src/libpcap/testprogs/threadsignaltest.c:282,1
    - Dst: printf
      Src: /src/libpcap/testprogs/threadsignaltest.c:292,1
    - Dst: SetEvent
      Src: /src/libpcap/testprogs/threadsignaltest.c:293,1
    - Dst: pcap_getevent
      Src: /src/libpcap/testprogs/threadsignaltest.c:293,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:294,1
    - Dst: win32_strerror
      Src: /src/libpcap/testprogs/threadsignaltest.c:295,1
    - Dst: GetLastError
      Src: /src/libpcap/testprogs/threadsignaltest.c:295,1
    - Dst: printf
      Src: /src/libpcap/testprogs/threadsignaltest.c:297,1
    - Dst: pthread_kill
      Src: /src/libpcap/testprogs/threadsignaltest.c:298,1
    - Dst: warning
      Src: /src/libpcap/testprogs/threadsignaltest.c:300,1
    - Dst: strerror
      Src: /src/libpcap/testprogs/threadsignaltest.c:301,1
    - Dst: WaitForSingleObject
      Src: /src/libpcap/testprogs/threadsignaltest.c:309,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:310,1
    - Dst: win32_strerror
      Src: /src/libpcap/testprogs/threadsignaltest.c:311,1
    - Dst: GetLastError
      Src: /src/libpcap/testprogs/threadsignaltest.c:311,1
    - Dst: CloseHandle
      Src: /src/libpcap/testprogs/threadsignaltest.c:312,1
    - Dst: pthread_join
      Src: /src/libpcap/testprogs/threadsignaltest.c:314,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:316,1
    - Dst: strerror
      Src: /src/libpcap/testprogs/threadsignaltest.c:317,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/threadsignaltest.c:320,1
    - Dst: pcap_freecode
      Src: /src/libpcap/testprogs/threadsignaltest.c:321,1
    - Dst: exit
      Src: /src/libpcap/testprogs/threadsignaltest.c:322,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 180
    functionDepth: 9
    functionLinenumber: 180
    functionLinenumberEnd: 323
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/threadsignaltest.c
    functionUses: 0
    functionsReached:
    - pcap_breakloop
    - usage
    - printf
    - pthread_create
    - pcap_create
    - pcap_getevent
    - CloseHandle
    - CreateThread
    - win32_strerror
    - WaitForSingleObject
    - pcap_lookupnet
    - SetEvent
    - strerror
    - pcap_findalldevs
    - getopt
    - pcap_close
    - GetLastError
    - pthread_join
    - pcap_freecode
    - pcap_statustostr
    - strrchr
    - pcap_freealldevs
    - copy_argv
    - strdup
    - pthread_kill
    - pcap_activate
    - pcap_setfilter
    - exit
    - pcap_geterr
    - pcap_set_timeout
    - pcap_compile
    - sleep_secs
    - pcap_set_snaplen
    - error
    - warning
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - user
    - _U_
    - _U_
    argTypes:
    - u_char*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: countme
    functionSourceFile: /src/libpcap/testprogs/threadsignaltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void countme(u_char *user, const struct pcap_pkthdr *h _U_, const u_char
      *sp _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/threadsignaltest.c:336,1
    - Dst: exit
      Src: /src/libpcap/testprogs/threadsignaltest.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: usage
    functionSourceFile: /src/libpcap/testprogs/threadsignaltest.c
    functionUses: 6
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/threadsignaltest.c:347,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/threadsignaltest.c:348,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/threadsignaltest.c:349,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/threadsignaltest.c:350,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/threadsignaltest.c:352,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/threadsignaltest.c:354,1
    - Dst: exit
      Src: /src/libpcap/testprogs/threadsignaltest.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 358
    functionName: error
    functionSourceFile: /src/libpcap/testprogs/threadsignaltest.c
    functionUses: 125
    functionsReached:
    - exit
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void error(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/threadsignaltest.c:366,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/threadsignaltest.c:367,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/threadsignaltest.c:368,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/threadsignaltest.c:369,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/threadsignaltest.c:371,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/threadsignaltest.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: warning
    functionSourceFile: /src/libpcap/testprogs/threadsignaltest.c
    functionUses: 6
    functionsReached:
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void warning(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/testprogs/threadsignaltest.c:393,1
    - Dst: malloc
      Src: /src/libpcap/testprogs/threadsignaltest.c:395,1
    - Dst: error
      Src: /src/libpcap/testprogs/threadsignaltest.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 409
    functionName: copy_argv
    functionSourceFile: /src/libpcap/testprogs/threadsignaltest.c
    functionUses: 5
    functionsReached:
    - error
    - malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      copy_argv(char **argv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessage
      Src: /src/libpcap/testprogs/findalldevstest.c:63,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/findalldevstest.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - error
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 77
    functionName: win32_strerror
    functionSourceFile: /src/libpcap/testprogs/findalldevstest.c
    functionUses: 1
    functionsReached:
    - FormatMessage
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      win32_strerror(DWORD error)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/libpcap/testprogs/findalldevstest.c:82,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest.c:87,1
    - Dst: GetConsoleMode
      Src: /src/libpcap/testprogs/findalldevstest.c:92,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest.c:93,1
    - Dst: win32_strerror
      Src: /src/libpcap/testprogs/findalldevstest.c:94,1
    - Dst: GetLastError
      Src: /src/libpcap/testprogs/findalldevstest.c:94,1
    - Dst: exit
      Src: /src/libpcap/testprogs/findalldevstest.c:95,1
    - Dst: SetConsoleMode
      Src: /src/libpcap/testprogs/findalldevstest.c:99,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest.c:100,1
    - Dst: win32_strerror
      Src: /src/libpcap/testprogs/findalldevstest.c:101,1
    - Dst: GetLastError
      Src: /src/libpcap/testprogs/findalldevstest.c:101,1
    - Dst: exit
      Src: /src/libpcap/testprogs/findalldevstest.c:102,1
    - Dst: fgets
      Src: /src/libpcap/testprogs/findalldevstest.c:104,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest.c:105,1
    - Dst: SetConsoleMode
      Src: /src/libpcap/testprogs/findalldevstest.c:106,1
    - Dst: exit
      Src: /src/libpcap/testprogs/findalldevstest.c:107,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest.c:109,1
    - Dst: SetConsoleMode
      Src: /src/libpcap/testprogs/findalldevstest.c:110,1
    - Dst: strchr
      Src: /src/libpcap/testprogs/findalldevstest.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - prompt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 115
    functionName: getpass
    functionSourceFile: /src/libpcap/testprogs/findalldevstest.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - exit
    - SetConsoleMode
    - GetConsoleMode
    - fgets
    - fprintf
    - win32_strerror
    - GetStdHandle
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      getpass(const char *prompt)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pcap_findalldevs_ex
      Src: /src/libpcap/testprogs/findalldevstest.c:132,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest.c:137,1
    - Dst: fgets
      Src: /src/libpcap/testprogs/findalldevstest.c:138,1
    - Dst: exit
      Src: /src/libpcap/testprogs/findalldevstest.c:139,1
    - Dst: strchr
      Src: /src/libpcap/testprogs/findalldevstest.c:140,1
    - Dst: getpass
      Src: /src/libpcap/testprogs/findalldevstest.c:143,1
    - Dst: pcap_findalldevs_ex
      Src: /src/libpcap/testprogs/findalldevstest.c:147,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest.c:149,1
    - Dst: exit
      Src: /src/libpcap/testprogs/findalldevstest.c:150,1
    - Dst: pcap_findalldevs
      Src: /src/libpcap/testprogs/findalldevstest.c:156,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest.c:158,1
    - Dst: exit
      Src: /src/libpcap/testprogs/findalldevstest.c:159,1
    - Dst: ifprint
      Src: /src/libpcap/testprogs/findalldevstest.c:164,1
    - Dst: pcap_lookupnet
      Src: /src/libpcap/testprogs/findalldevstest.c:170,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/findalldevstest.c:181,1
    - Dst: strncmp
      Src: /src/libpcap/testprogs/findalldevstest.c:182,1
    - Dst: strncmp
      Src: /src/libpcap/testprogs/findalldevstest.c:183,1
    - Dst: strcmp
      Src: /src/libpcap/testprogs/findalldevstest.c:184,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:185,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest.c:187,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:193,1
    - Dst: iptos
      Src: /src/libpcap/testprogs/findalldevstest.c:193,1
    - Dst: iptos
      Src: /src/libpcap/testprogs/findalldevstest.c:193,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/testprogs/findalldevstest.c:197,1
    - Dst: exit
      Src: /src/libpcap/testprogs/findalldevstest.c:198,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 199
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/findalldevstest.c
    functionUses: 0
    functionsReached:
    - exit
    - fgets
    - pcap_findalldevs_ex
    - fprintf
    - pcap_freealldevs
    - iptos
    - strchr
    - pcap_lookupnet
    - printf
    - ifprint
    - strcmp
    - pcap_findalldevs
    - strlen
    - getpass
    - strncmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/testprogs/findalldevstest.c:206,1
    - Dst: snprintf
      Src: /src/libpcap/testprogs/findalldevstest.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - addr
    - buffer
    - size
    - mask
    argTypes:
    - u_char[]
    - char*
    - size_t
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: ether_ntop
    functionSourceFile: /src/libpcap/testprogs/findalldevstest.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      ether_ntop(const u_char addr[], char *buffer, size_t size, u_char mask)'
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:220,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:222,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:223,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:226,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:230,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:234,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:238,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:242,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:246,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:250,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:260,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:264,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:268,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:275,1
    - Dst: getenv
      Src: /src/libpcap/testprogs/findalldevstest.c:277,1
    - Dst: strcmp
      Src: /src/libpcap/testprogs/findalldevstest.c:278,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest.c:283,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:291,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:293,1
    - Dst: inet_ntop
      Src: /src/libpcap/testprogs/findalldevstest.c:294,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:298,1
    - Dst: inet_ntop
      Src: /src/libpcap/testprogs/findalldevstest.c:299,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:303,1
    - Dst: inet_ntop
      Src: /src/libpcap/testprogs/findalldevstest.c:304,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:308,1
    - Dst: inet_ntop
      Src: /src/libpcap/testprogs/findalldevstest.c:309,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:317,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:319,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:320,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:322,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:324,1
    - Dst: ether_ntop
      Src: /src/libpcap/testprogs/findalldevstest.c:325,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:332,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:334,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:335,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:337,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:344,1
    - Dst: ether_ntop
      Src: /src/libpcap/testprogs/findalldevstest.c:345,1
    - Dst: LLADDR
      Src: /src/libpcap/testprogs/findalldevstest.c:345,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:352,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:354,1
    - Dst: inet_ntop
      Src: /src/libpcap/testprogs/findalldevstest.c:355,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:359,1
    - Dst: inet_ntop
      Src: /src/libpcap/testprogs/findalldevstest.c:360,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:364,1
    - Dst: inet_ntop
      Src: /src/libpcap/testprogs/findalldevstest.c:365,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:369,1
    - Dst: inet_ntop
      Src: /src/libpcap/testprogs/findalldevstest.c:370,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:376,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest.c:381,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 101
    argCount: 1
    argNames:
    - d
    argTypes:
    - pcap_if_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 383
    functionName: ifprint
    functionSourceFile: /src/libpcap/testprogs/findalldevstest.c
    functionUses: 1
    functionsReached:
    - fprintf
    - printf
    - strcmp
    - inet_ntop
    - getenv
    - ether_ntop
    - LLADDR
    linkageType: ''
    returnType: int
    signature: int ifprint(pcap_if_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/testprogs/findalldevstest.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - in
    argTypes:
    - bpf_u_int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 397
    functionName: iptos
    functionSourceFile: /src/libpcap/testprogs/findalldevstest.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: char *iptos(bpf_u_int32 in)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetProcessTimes
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:37,1
    - Dst: GetCurrentProcess
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:37,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:40,1
    - Dst: exit
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:41,1
    - Dst: getrusage
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:48,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:49,1
    - Dst: exit
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:50,1
    - Dst: pcap_findalldevs
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:55,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:57,1
    - Dst: exit
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:58,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:60,1
    - Dst: GetProcessTimes
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:64,1
    - Dst: GetCurrentProcess
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:64,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:67,1
    - Dst: exit
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:68,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:77,1
    - Dst: getrusage
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:82,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:83,1
    - Dst: exit
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:84,1
    - Dst: timersub
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:86,1
    - Dst: timersub
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:87,1
    - Dst: timeradd
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:88,1
    - Dst: printf
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:89,1
    - Dst: exit
      Src: /src/libpcap/testprogs/findalldevstest-perf.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/findalldevstest-perf.c
    functionUses: 0
    functionsReached:
    - exit
    - GetProcessTimes
    - pcap_freealldevs
    - getrusage
    - fprintf
    - printf
    - pcap_findalldevs
    - timeradd
    - timersub
    - GetCurrentProcess
    linkageType: ''
    returnType: int
    signature: int main(int argc _U_, char **argv _U_)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libpcap/testprogs/activatetest.c:18,1
    - Dst: pcap_create
      Src: /src/libpcap/testprogs/activatetest.c:19,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/activatetest.c:21,1
    - Dst: pcap_activate
      Src: /src/libpcap/testprogs/activatetest.c:26,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/activatetest.c:29,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/activatetest.c:32,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/activatetest.c:35,1
    - Dst: printf
      Src: /src/libpcap/testprogs/activatetest.c:39,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/activatetest.c:43,1
    - Dst: pcap_can_set_rfmon
      Src: /src/libpcap/testprogs/activatetest.c:53,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/activatetest.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 6
    functionDepth: 3
    functionLinenumber: 6
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/activatetest.c
    functionUses: 0
    functionsReached:
    - pcap_close
    - fprintf
    - printf
    - pcap_create
    - pcap_activate
    - pcap_can_set_rfmon
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libpcap/testprogs/selpolltest.c:85,1
    - Dst: getopt
      Src: /src/libpcap/testprogs/selpolltest.c:91,1
    - Dst: usage
      Src: /src/libpcap/testprogs/selpolltest.c:121,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/selpolltest.c:127,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/selpolltest.c:131,1
    - Dst: pcap_findalldevs
      Src: /src/libpcap/testprogs/selpolltest.c:135,1
    - Dst: error
      Src: /src/libpcap/testprogs/selpolltest.c:136,1
    - Dst: error
      Src: /src/libpcap/testprogs/selpolltest.c:138,1
    - Dst: strdup
      Src: /src/libpcap/testprogs/selpolltest.c:139,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/testprogs/selpolltest.c:140,1
    - Dst: pcap_open_live
      Src: /src/libpcap/testprogs/selpolltest.c:143,1
    - Dst: error
      Src: /src/libpcap/testprogs/selpolltest.c:145,1
    - Dst: warning
      Src: /src/libpcap/testprogs/selpolltest.c:147,1
    - Dst: pcap_lookupnet
      Src: /src/libpcap/testprogs/selpolltest.c:148,1
    - Dst: warning
      Src: /src/libpcap/testprogs/selpolltest.c:151,1
    - Dst: copy_argv
      Src: /src/libpcap/testprogs/selpolltest.c:153,1
    - Dst: pcap_compile
      Src: /src/libpcap/testprogs/selpolltest.c:155,1
    - Dst: error
      Src: /src/libpcap/testprogs/selpolltest.c:156,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/selpolltest.c:156,1
    - Dst: pcap_setfilter
      Src: /src/libpcap/testprogs/selpolltest.c:157,1
    - Dst: error
      Src: /src/libpcap/testprogs/selpolltest.c:158,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/selpolltest.c:158,1
    - Dst: pcap_get_selectable_fd
      Src: /src/libpcap/testprogs/selpolltest.c:166,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:168,1
    - Dst: pcap_get_required_select_timeout
      Src: /src/libpcap/testprogs/selpolltest.c:170,1
    - Dst: error
      Src: /src/libpcap/testprogs/selpolltest.c:172,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:185,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:190,1
    - Dst: pcap_setnonblock
      Src: /src/libpcap/testprogs/selpolltest.c:193,1
    - Dst: error
      Src: /src/libpcap/testprogs/selpolltest.c:194,1
    - Dst: FD_ZERO
      Src: /src/libpcap/testprogs/selpolltest.c:202,1
    - Dst: FD_SET
      Src: /src/libpcap/testprogs/selpolltest.c:204,1
    - Dst: FD_ZERO
      Src: /src/libpcap/testprogs/selpolltest.c:205,1
    - Dst: FD_SET
      Src: /src/libpcap/testprogs/selpolltest.c:206,1
    - Dst: pcap_get_required_select_timeout
      Src: /src/libpcap/testprogs/selpolltest.c:208,1
    - Dst: select
      Src: /src/libpcap/testprogs/selpolltest.c:223,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:227,1
    - Dst: strerror
      Src: /src/libpcap/testprogs/selpolltest.c:228,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:232,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:234,1
    - Dst: FD_ISSET
      Src: /src/libpcap/testprogs/selpolltest.c:235,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:236,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:238,1
    - Dst: FD_ISSET
      Src: /src/libpcap/testprogs/selpolltest.c:239,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:240,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:242,1
    - Dst: pcap_dispatch
      Src: /src/libpcap/testprogs/selpolltest.c:246,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:259,1
    - Dst: pcap_get_required_select_timeout
      Src: /src/libpcap/testprogs/selpolltest.c:271,1
    - Dst: poll
      Src: /src/libpcap/testprogs/selpolltest.c:279,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:281,1
    - Dst: strerror
      Src: /src/libpcap/testprogs/selpolltest.c:282,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:286,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:288,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:290,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:292,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:294,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:296,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:298,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:300,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:302,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:304,1
    - Dst: pcap_dispatch
      Src: /src/libpcap/testprogs/selpolltest.c:308,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:321,1
    - Dst: pcap_dispatch
      Src: /src/libpcap/testprogs/selpolltest.c:329,1
    - Dst: printf
      Src: /src/libpcap/testprogs/selpolltest.c:333,1
    - Dst: putchar
      Src: /src/libpcap/testprogs/selpolltest.c:343,1
    - Dst: fflush
      Src: /src/libpcap/testprogs/selpolltest.c:345,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/selpolltest.c:350,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/selpolltest.c:351,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/selpolltest.c:353,1
    - Dst: exit
      Src: /src/libpcap/testprogs/selpolltest.c:354,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 195
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 62
    functionDepth: 9
    functionLinenumber: 62
    functionLinenumberEnd: 355
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/selpolltest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - usage
    - pcap_open_live
    - printf
    - FD_ZERO
    - pcap_lookupnet
    - strerror
    - pcap_findalldevs
    - pcap_get_required_select_timeout
    - getopt
    - pcap_close
    - strrchr
    - pcap_freealldevs
    - FD_ISSET
    - copy_argv
    - poll
    - FD_SET
    - putchar
    - strdup
    - pcap_get_selectable_fd
    - pcap_dispatch
    - pcap_setfilter
    - exit
    - select
    - pcap_compile
    - pcap_geterr
    - pcap_setnonblock
    - error
    - warning
    - fflush
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - user
    - _U_
    - _U_
    argTypes:
    - u_char*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: countme
    functionSourceFile: /src/libpcap/testprogs/selpolltest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void countme(u_char *user, const struct pcap_pkthdr *h _U_, const u_char
      *sp _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/selpolltest.c:368,1
    - Dst: exit
      Src: /src/libpcap/testprogs/selpolltest.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: usage
    functionSourceFile: /src/libpcap/testprogs/selpolltest.c
    functionUses: 8
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/selpolltest.c:379,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/selpolltest.c:380,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/selpolltest.c:381,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/selpolltest.c:382,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/selpolltest.c:384,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/selpolltest.c:386,1
    - Dst: exit
      Src: /src/libpcap/testprogs/selpolltest.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 390
    functionName: error
    functionSourceFile: /src/libpcap/testprogs/selpolltest.c
    functionUses: 128
    functionsReached:
    - exit
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void error(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/selpolltest.c:398,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/selpolltest.c:399,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/selpolltest.c:400,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/selpolltest.c:401,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/selpolltest.c:403,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/selpolltest.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 407
    functionName: warning
    functionSourceFile: /src/libpcap/testprogs/selpolltest.c
    functionUses: 7
    functionsReached:
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void warning(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/testprogs/selpolltest.c:425,1
    - Dst: malloc
      Src: /src/libpcap/testprogs/selpolltest.c:427,1
    - Dst: error
      Src: /src/libpcap/testprogs/selpolltest.c:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 441
    functionName: copy_argv
    functionSourceFile: /src/libpcap/testprogs/selpolltest.c
    functionUses: 6
    functionsReached:
    - error
    - malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      copy_argv(char **argv)'
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libpcap/testprogs/opentest.c:75,1
    - Dst: getopt
      Src: /src/libpcap/testprogs/opentest.c:81,1
    - Dst: strdup
      Src: /src/libpcap/testprogs/opentest.c:85,1
    - Dst: strtol
      Src: /src/libpcap/testprogs/opentest.c:105,1
    - Dst: error
      Src: /src/libpcap/testprogs/opentest.c:109,1
    - Dst: atoi
      Src: /src/libpcap/testprogs/opentest.c:120,1
    - Dst: error
      Src: /src/libpcap/testprogs/opentest.c:122,1
    - Dst: usage
      Src: /src/libpcap/testprogs/opentest.c:131,1
    - Dst: pcap_findalldevs
      Src: /src/libpcap/testprogs/opentest.c:137,1
    - Dst: error
      Src: /src/libpcap/testprogs/opentest.c:138,1
    - Dst: error
      Src: /src/libpcap/testprogs/opentest.c:140,1
    - Dst: strdup
      Src: /src/libpcap/testprogs/opentest.c:141,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/testprogs/opentest.c:142,1
    - Dst: pcap_create
      Src: /src/libpcap/testprogs/opentest.c:145,1
    - Dst: error
      Src: /src/libpcap/testprogs/opentest.c:147,1
    - Dst: pcap_set_snaplen
      Src: /src/libpcap/testprogs/opentest.c:148,1
    - Dst: error
      Src: /src/libpcap/testprogs/opentest.c:150,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/opentest.c:151,1
    - Dst: pcap_set_promisc
      Src: /src/libpcap/testprogs/opentest.c:153,1
    - Dst: error
      Src: /src/libpcap/testprogs/opentest.c:155,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/opentest.c:156,1
    - Dst: pcap_set_rfmon
      Src: /src/libpcap/testprogs/opentest.c:159,1
    - Dst: error
      Src: /src/libpcap/testprogs/opentest.c:161,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/opentest.c:162,1
    - Dst: pcap_set_timeout
      Src: /src/libpcap/testprogs/opentest.c:164,1
    - Dst: error
      Src: /src/libpcap/testprogs/opentest.c:166,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/opentest.c:167,1
    - Dst: pcap_set_buffer_size
      Src: /src/libpcap/testprogs/opentest.c:169,1
    - Dst: error
      Src: /src/libpcap/testprogs/opentest.c:171,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/opentest.c:172,1
    - Dst: pcap_activate
      Src: /src/libpcap/testprogs/opentest.c:174,1
    - Dst: error
      Src: /src/libpcap/testprogs/opentest.c:179,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/opentest.c:180,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/opentest.c:180,1
    - Dst: warning
      Src: /src/libpcap/testprogs/opentest.c:186,1
    - Dst: pcap_statustostr
      Src: /src/libpcap/testprogs/opentest.c:187,1
    - Dst: pcap_geterr
      Src: /src/libpcap/testprogs/opentest.c:187,1
    - Dst: printf
      Src: /src/libpcap/testprogs/opentest.c:189,1
    - Dst: pcap_open
      Src: /src/libpcap/testprogs/opentest.c:192,1
    - Dst: error
      Src: /src/libpcap/testprogs/opentest.c:195,1
    - Dst: warning
      Src: /src/libpcap/testprogs/opentest.c:197,1
    - Dst: printf
      Src: /src/libpcap/testprogs/opentest.c:199,1
    - Dst: pcap_open_live
      Src: /src/libpcap/testprogs/opentest.c:202,1
    - Dst: error
      Src: /src/libpcap/testprogs/opentest.c:204,1
    - Dst: warning
      Src: /src/libpcap/testprogs/opentest.c:206,1
    - Dst: printf
      Src: /src/libpcap/testprogs/opentest.c:208,1
    - Dst: free
      Src: /src/libpcap/testprogs/opentest.c:210,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/opentest.c:211,1
    - Dst: exit
      Src: /src/libpcap/testprogs/opentest.c:212,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 112
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 57
    functionDepth: 7
    functionLinenumber: 57
    functionLinenumberEnd: 213
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/opentest.c
    functionUses: 0
    functionsReached:
    - usage
    - pcap_open_live
    - printf
    - pcap_create
    - pcap_set_promisc
    - pcap_open
    - pcap_findalldevs
    - getopt
    - pcap_close
    - pcap_statustostr
    - strrchr
    - pcap_freealldevs
    - strdup
    - pcap_activate
    - pcap_set_buffer_size
    - strtol
    - exit
    - pcap_set_rfmon
    - pcap_geterr
    - pcap_set_timeout
    - free
    - atoi
    - pcap_set_snaplen
    - error
    - warning
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/opentest.c:218,1
    - Dst: exit
      Src: /src/libpcap/testprogs/opentest.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: usage
    functionSourceFile: /src/libpcap/testprogs/opentest.c
    functionUses: 9
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/opentest.c:230,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/opentest.c:231,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/opentest.c:232,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/opentest.c:233,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/opentest.c:235,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/opentest.c:237,1
    - Dst: exit
      Src: /src/libpcap/testprogs/opentest.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 241
    functionName: error
    functionSourceFile: /src/libpcap/testprogs/opentest.c
    functionUses: 130
    functionsReached:
    - exit
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void error(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/opentest.c:249,1
    - Dst: va_start
      Src: /src/libpcap/testprogs/opentest.c:250,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/opentest.c:251,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/opentest.c:252,1
    - Dst: strlen
      Src: /src/libpcap/testprogs/opentest.c:254,1
    - Dst: fputc
      Src: /src/libpcap/testprogs/opentest.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 258
    functionName: warning
    functionSourceFile: /src/libpcap/testprogs/opentest.c
    functionUses: 8
    functionsReached:
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void warning(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_nametoeproto
      Src: /src/libpcap/testprogs/translatetest.c:39,1
    - Dst: printf
      Src: /src/libpcap/testprogs/translatetest.c:40,1
    - Dst: printf
      Src: /src/libpcap/testprogs/translatetest.c:42,1
    - Dst: printf
      Src: /src/libpcap/testprogs/translatetest.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: test_pcap_nametoeproto
    functionSourceFile: /src/libpcap/testprogs/translatetest.c
    functionUses: 0
    functionsReached:
    - pcap_nametoeproto
    - printf
    linkageType: ''
    returnType: int
    signature: int test_pcap_nametoeproto(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_nametollc
      Src: /src/libpcap/testprogs/translatetest.c:52,1
    - Dst: printf
      Src: /src/libpcap/testprogs/translatetest.c:53,1
    - Dst: printf
      Src: /src/libpcap/testprogs/translatetest.c:55,1
    - Dst: printf
      Src: /src/libpcap/testprogs/translatetest.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: test_pcap_nametollc
    functionSourceFile: /src/libpcap/testprogs/translatetest.c
    functionUses: 0
    functionsReached:
    - printf
    - pcap_nametollc
    linkageType: ''
    returnType: int
    signature: int test_pcap_nametollc(const char *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libpcap/testprogs/translatetest.c:68,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:70,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:74,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:78,1
    - Dst: snprintf
      Src: /src/libpcap/testprogs/translatetest.c:82,1
    - Dst: strcmp
      Src: /src/libpcap/testprogs/translatetest.c:83,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:84,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - arg
    - maxval
    - output
    argTypes:
    - char*
    - unsigned long
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 93
    functionName: valid_unsigned_long
    functionSourceFile: /src/libpcap/testprogs/translatetest.c
    functionUses: 0
    functionsReached:
    - strtoul
    - strcmp
    - fprintf
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int valid_unsigned_long(const char *arg, const unsigned long maxval,\n
      \   unsigned long *output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valid_unsigned_long
      Src: /src/libpcap/testprogs/translatetest.c:100,1
    - Dst: printf
      Src: /src/libpcap/testprogs/translatetest.c:102,1
    - Dst: pcapint_xdtoi
      Src: /src/libpcap/testprogs/translatetest.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: test_pcapint_xdtoi
    functionSourceFile: /src/libpcap/testprogs/translatetest.c
    functionUses: 0
    functionsReached:
    - pcapint_xdtoi
    - valid_unsigned_long
    - printf
    linkageType: ''
    returnType: int
    signature: int test_pcapint_xdtoi(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_atodn
      Src: /src/libpcap/testprogs/translatetest.c:111,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:112,1
    - Dst: printf
      Src: /src/libpcap/testprogs/translatetest.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: test_pcapint_atodn
    functionSourceFile: /src/libpcap/testprogs/translatetest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - pcapint_atodn
    - printf
    linkageType: ''
    returnType: int
    signature: int test_pcapint_atodn(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_atoan
      Src: /src/libpcap/testprogs/translatetest.c:124,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:125,1
    - Dst: printf
      Src: /src/libpcap/testprogs/translatetest.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: test_pcapint_atoan
    functionSourceFile: /src/libpcap/testprogs/translatetest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - printf
    - pcapint_atoan
    linkageType: ''
    returnType: int
    signature: int test_pcapint_atoan(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_ether_aton
      Src: /src/libpcap/testprogs/translatetest.c:135,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:137,1
    - Dst: printf
      Src: /src/libpcap/testprogs/translatetest.c:140,1
    - Dst: free
      Src: /src/libpcap/testprogs/translatetest.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 4
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: test_pcap_ether_aton
    functionSourceFile: /src/libpcap/testprogs/translatetest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - pcap_ether_aton
    - printf
    - free
    linkageType: ''
    returnType: int
    signature: int test_pcap_ether_aton(const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_parsesrcstr_ex
      Src: /src/libpcap/testprogs/translatetest.c:158,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:159,1
    - Dst: pcapint_createsrcstr_ex
      Src: /src/libpcap/testprogs/translatetest.c:164,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:165,1
    - Dst: printf
      Src: /src/libpcap/testprogs/translatetest.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 150
    functionDepth: 5
    functionLinenumber: 150
    functionLinenumberEnd: 170
    functionName: test_pcapint_parsesrcstr_ex
    functionSourceFile: /src/libpcap/testprogs/translatetest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - pcapint_createsrcstr_ex
    - pcapint_parsesrcstr_ex
    - printf
    linkageType: ''
    returnType: int
    signature: int test_pcapint_parsesrcstr_ex(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: errcode
    functionSourceFile: /src/libpcap/testprogs/translatetest.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      errcode(const int e)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_get_decuint
      Src: /src/libpcap/testprogs/translatetest.c:185,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:187,1
    - Dst: errcode
      Src: /src/libpcap/testprogs/translatetest.c:187,1
    - Dst: printf
      Src: /src/libpcap/testprogs/translatetest.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: test_pcapint_get_decuint_endp
    functionSourceFile: /src/libpcap/testprogs/translatetest.c
    functionUses: 0
    functionsReached:
    - pcapint_get_decuint
    - errcode
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_pcapint_get_decuint_endp(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcapint_get_decuint
      Src: /src/libpcap/testprogs/translatetest.c:199,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:201,1
    - Dst: errcode
      Src: /src/libpcap/testprogs/translatetest.c:201,1
    - Dst: printf
      Src: /src/libpcap/testprogs/translatetest.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: test_pcapint_get_decuint_noendp
    functionSourceFile: /src/libpcap/testprogs/translatetest.c
    functionUses: 0
    functionsReached:
    - pcapint_get_decuint
    - errcode
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int test_pcapint_get_decuint_noendp(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:229,1
    - Dst: pcap_lib_version
      Src: /src/libpcap/testprogs/translatetest.c:229,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:230,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:231,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:232,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: usage_short
    functionSourceFile: /src/libpcap/testprogs/translatetest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - pcap_lib_version
    linkageType: ''
    returnType: void
    signature: void usage_short(FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: usage_short
      Src: /src/libpcap/testprogs/translatetest.c:239,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:240,1
    - Dst: printf
      Src: /src/libpcap/testprogs/translatetest.c:242,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:245,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:246,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:247,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:248,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:249,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 251
    functionName: usage_long
    functionSourceFile: /src/libpcap/testprogs/translatetest.c
    functionUses: 0
    functionsReached:
    - usage_short
    - printf
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage_long(FILE *f)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libpcap/testprogs/translatetest.c:257,1
    - Dst: getopt
      Src: /src/libpcap/testprogs/translatetest.c:288,1
    - Dst: usage_long
      Src: /src/libpcap/testprogs/translatetest.c:291,1
    - Dst: exit
      Src: /src/libpcap/testprogs/translatetest.c:292,1
    - Dst: usage_short
      Src: /src/libpcap/testprogs/translatetest.c:294,1
    - Dst: exit
      Src: /src/libpcap/testprogs/translatetest.c:295,1
    - Dst: usage_short
      Src: /src/libpcap/testprogs/translatetest.c:304,1
    - Dst: exit
      Src: /src/libpcap/testprogs/translatetest.c:305,1
    - Dst: strcmp
      Src: /src/libpcap/testprogs/translatetest.c:313,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:320,1
    - Dst: usage_long
      Src: /src/libpcap/testprogs/translatetest.c:321,1
    - Dst: exit
      Src: /src/libpcap/testprogs/translatetest.c:322,1
    - Dst: usage_short
      Src: /src/libpcap/testprogs/translatetest.c:331,1
    - Dst: exit
      Src: /src/libpcap/testprogs/translatetest.c:332,1
    - Dst: exit
      Src: /src/libpcap/testprogs/translatetest.c:334,1
    - Dst: runner
      Src: /src/libpcap/testprogs/translatetest.c:334,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/translatetest.c:336,1
    - Dst: usage_long
      Src: /src/libpcap/testprogs/translatetest.c:337,1
    - Dst: exit
      Src: /src/libpcap/testprogs/translatetest.c:338,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 339
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/translatetest.c
    functionUses: 0
    functionsReached:
    - exit
    - usage_short
    - runner
    - usage_long
    - strrchr
    - fprintf
    - strcmp
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libpcap/testprogs/fuzz/fuzz_rserver.c:14,1
    - Dst: fopen
      Src: /src/libpcap/testprogs/fuzz/fuzz_rserver.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: fuzz_openFile
    functionSourceFile: /src/libpcap/testprogs/fuzz/fuzz_rserver.c
    functionUses: 0
    functionsReached:
    - fclose
    - fopen
    linkageType: ''
    returnType: void
    signature: void fuzz_openFile(const char * name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libpcap/testprogs/fuzz/fuzz_rserver.c:30,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/fuzz/fuzz_rserver.c:31,1
    - Dst: vfprintf
      Src: /src/libpcap/testprogs/fuzz/fuzz_rserver.c:32,1
    - Dst: putc
      Src: /src/libpcap/testprogs/fuzz/fuzz_rserver.c:33,1
    - Dst: va_end
      Src: /src/libpcap/testprogs/fuzz/fuzz_rserver.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - priority
    - message
    argTypes:
    - log_priority
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: rpcapd_log
    functionSourceFile: /src/libpcap/testprogs/fuzz/fuzz_rserver.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - fprintf
    - va_end
    - putc
    - va_start
    linkageType: ''
    returnType: void
    signature: void rpcapd_log(log_priority priority, const char *message, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_openFile
      Src: /src/libpcap/testprogs/fuzz/fuzz_rserver.c:44,1
    - Dst: sock_initfuzz
      Src: /src/libpcap/testprogs/fuzz/fuzz_rserver.c:47,1
    - Dst: socket
      Src: /src/libpcap/testprogs/fuzz/fuzz_rserver.c:48,1
    - Dst: abort
      Src: /src/libpcap/testprogs/fuzz/fuzz_rserver.c:50,1
    - Dst: daemon_serviceloop
      Src: /src/libpcap/testprogs/fuzz/fuzz_rserver.c:53,1
    - Dst: malloc
      Src: /src/libpcap/testprogs/fuzz/fuzz_rserver.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/libpcap/testprogs/fuzz/fuzz_rserver.c
    functionUses: 0
    functionsReached:
    - fuzz_openFile
    - socket
    - sock_initfuzz
    - daemon_serviceloop
    - abort
    - malloc
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:14,1
    - Dst: printf
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:16,1
    - Dst: fopen
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:20,1
    - Dst: printf
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:22,1
    - Dst: fwrite
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:25,1
    - Dst: fclose
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:26,1
    - Dst: fclose
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - name
    - Data
    - Size
    argTypes:
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 31
    functionName: bufferToFile
    functionSourceFile: /src/libpcap/testprogs/fuzz/fuzz_both.c
    functionUses: 0
    functionsReached:
    - fwrite
    - fopen
    - fclose
    - remove
    - printf
    linkageType: ''
    returnType: int
    signature: int bufferToFile(const char * name, const uint8_t *Data, size_t Size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:35,1
    - Dst: fopen
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: fuzz_openFile
    functionSourceFile: /src/libpcap/testprogs/fuzz/fuzz_both.c
    functionUses: 1
    functionsReached:
    - fclose
    - fopen
    linkageType: ''
    returnType: void
    signature: void fuzz_openFile(const char * name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:54,1
    - Dst: snprintf
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:69,1
    - Dst: mkstemp
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:70,1
    - Dst: close
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:73,1
    - Dst: bufferToFile
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:76,1
    - Dst: unlink
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:77,1
    - Dst: pcap_open_offline
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:82,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:84,1
    - Dst: unlink
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:85,1
    - Dst: malloc
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:89,1
    - Dst: memcpy
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:90,1
    - Dst: pcap_compile
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:94,1
    - Dst: pcap_next_ex
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:96,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:99,1
    - Dst: pcap_offline_filter
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:99,1
    - Dst: pcap_next_ex
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:100,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:103,1
    - Dst: pcap_freecode
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:104,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:107,1
    - Dst: free
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:109,1
    - Dst: unlink
      Src: /src/libpcap/testprogs/fuzz/fuzz_both.c:111,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 40
    functionDepth: 9
    functionLinenumber: 40
    functionLinenumberEnd: 113
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/libpcap/testprogs/fuzz/fuzz_both.c
    functionUses: 0
    functionsReached:
    - pcap_freecode
    - close
    - pcap_next_ex
    - fopen
    - fprintf
    - pcap_offline_filter
    - unlink
    - mkstemp
    - pcap_compile
    - memcpy
    - bufferToFile
    - snprintf
    - free
    - pcap_open_offline
    - malloc
    - pcap_close
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 10
    functionName: fuzz_openFile
    functionSourceFile: /src/libpcap/testprogs/fuzz/fuzz_filter.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fuzz_openFile(const char * name _U_)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcap_open_dead
      Src: /src/libpcap/testprogs/fuzz/fuzz_filter.c:23,1
    - Dst: printf
      Src: /src/libpcap/testprogs/fuzz/fuzz_filter.c:25,1
    - Dst: malloc
      Src: /src/libpcap/testprogs/fuzz/fuzz_filter.c:28,1
    - Dst: memcpy
      Src: /src/libpcap/testprogs/fuzz/fuzz_filter.c:29,1
    - Dst: pcap_compile
      Src: /src/libpcap/testprogs/fuzz/fuzz_filter.c:33,1
    - Dst: pcap_setfilter
      Src: /src/libpcap/testprogs/fuzz/fuzz_filter.c:34,1
    - Dst: pcap_perror
      Src: /src/libpcap/testprogs/fuzz/fuzz_filter.c:35,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/fuzz/fuzz_filter.c:36,1
    - Dst: pcap_freecode
      Src: /src/libpcap/testprogs/fuzz/fuzz_filter.c:37,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/fuzz/fuzz_filter.c:40,1
    - Dst: free
      Src: /src/libpcap/testprogs/fuzz/fuzz_filter.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 12
    functionDepth: 9
    functionLinenumber: 12
    functionLinenumberEnd: 45
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/libpcap/testprogs/fuzz/fuzz_filter.c
    functionUses: 0
    functionsReached:
    - pcap_freecode
    - pcap_close
    - pcap_perror
    - pcap_compile
    - printf
    - memcpy
    - pcap_open_dead
    - free
    - malloc
    - pcap_setfilter
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_openFile
      Src: /src/libpcap/testprogs/fuzz/onefile.c:15,1
    - Dst: fopen
      Src: /src/libpcap/testprogs/fuzz/onefile.c:20,1
    - Dst: fseek
      Src: /src/libpcap/testprogs/fuzz/onefile.c:24,1
    - Dst: fclose
      Src: /src/libpcap/testprogs/fuzz/onefile.c:25,1
    - Dst: ftell
      Src: /src/libpcap/testprogs/fuzz/onefile.c:28,1
    - Dst: fclose
      Src: /src/libpcap/testprogs/fuzz/onefile.c:30,1
    - Dst: fseek
      Src: /src/libpcap/testprogs/fuzz/onefile.c:33,1
    - Dst: fclose
      Src: /src/libpcap/testprogs/fuzz/onefile.c:34,1
    - Dst: malloc
      Src: /src/libpcap/testprogs/fuzz/onefile.c:37,1
    - Dst: fclose
      Src: /src/libpcap/testprogs/fuzz/onefile.c:39,1
    - Dst: fread
      Src: /src/libpcap/testprogs/fuzz/onefile.c:42,1
    - Dst: fclose
      Src: /src/libpcap/testprogs/fuzz/onefile.c:43,1
    - Dst: free
      Src: /src/libpcap/testprogs/fuzz/onefile.c:44,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/libpcap/testprogs/fuzz/onefile.c:49,1
    - Dst: free
      Src: /src/libpcap/testprogs/fuzz/onefile.c:50,1
    - Dst: fclose
      Src: /src/libpcap/testprogs/fuzz/onefile.c:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/libpcap/testprogs/fuzz/onefile.c
    functionUses: 0
    functionsReached:
    - fuzz_openFile
    - fseek
    - fopen
    - fclose
    - ftell
    - LLVMFuzzerTestOneInput
    - fread
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:14,1
    - Dst: printf
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:16,1
    - Dst: fopen
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:20,1
    - Dst: printf
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:22,1
    - Dst: fwrite
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:25,1
    - Dst: fclose
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:26,1
    - Dst: fclose
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - name
    - Data
    - Size
    argTypes:
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 31
    functionName: bufferToFile
    functionSourceFile: /src/libpcap/testprogs/fuzz/fuzz_pcap.c
    functionUses: 1
    functionsReached:
    - fwrite
    - fopen
    - fclose
    - remove
    - printf
    linkageType: ''
    returnType: int
    signature: int bufferToFile(const char * name, const uint8_t *Data, size_t Size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:35,1
    - Dst: fopen
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: fuzz_openFile
    functionSourceFile: /src/libpcap/testprogs/fuzz/fuzz_pcap.c
    functionUses: 2
    functionsReached:
    - fclose
    - fopen
    linkageType: ''
    returnType: void
    signature: void fuzz_openFile(const char * name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:51,1
    - Dst: snprintf
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:58,1
    - Dst: mkstemp
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:59,1
    - Dst: close
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:62,1
    - Dst: bufferToFile
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:65,1
    - Dst: unlink
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:66,1
    - Dst: pcap_open_offline
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:71,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:73,1
    - Dst: unlink
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:74,1
    - Dst: pcap_next_ex
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:79,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:82,1
    - Dst: pcap_next_ex
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:83,1
    - Dst: pcap_stats
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:85,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:86,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:89,1
    - Dst: unlink
      Src: /src/libpcap/testprogs/fuzz/fuzz_pcap.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 93
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/libpcap/testprogs/fuzz/fuzz_pcap.c
    functionUses: 1
    functionsReached:
    - close
    - pcap_next_ex
    - fopen
    - fprintf
    - unlink
    - mkstemp
    - bufferToFile
    - pcap_stats
    - snprintf
    - pcap_open_offline
    - pcap_close
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libpcap/testprogs/fuzz/fuzz_rclient.c:13,1
    - Dst: fopen
      Src: /src/libpcap/testprogs/fuzz/fuzz_rclient.c:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: fuzz_openFile
    functionSourceFile: /src/libpcap/testprogs/fuzz/fuzz_rclient.c
    functionUses: 2
    functionsReached:
    - fclose
    - fopen
    linkageType: ''
    returnType: void
    signature: void fuzz_openFile(const char * name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_openFile
      Src: /src/libpcap/testprogs/fuzz/fuzz_rclient.c:32,1
    - Dst: sock_initfuzz
      Src: /src/libpcap/testprogs/fuzz/fuzz_rclient.c:35,1
    - Dst: pcap_open
      Src: /src/libpcap/testprogs/fuzz/fuzz_rclient.c:37,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/fuzz/fuzz_rclient.c:39,1
    - Dst: pcap_next_ex
      Src: /src/libpcap/testprogs/fuzz/fuzz_rclient.c:44,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/fuzz/fuzz_rclient.c:46,1
    - Dst: pcap_next_ex
      Src: /src/libpcap/testprogs/fuzz/fuzz_rclient.c:47,1
    - Dst: pcap_stats
      Src: /src/libpcap/testprogs/fuzz/fuzz_rclient.c:49,1
    - Dst: fprintf
      Src: /src/libpcap/testprogs/fuzz/fuzz_rclient.c:50,1
    - Dst: pcap_close
      Src: /src/libpcap/testprogs/fuzz/fuzz_rclient.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - Data
    - Size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 56
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/libpcap/testprogs/fuzz/fuzz_rclient.c
    functionUses: 1
    functionsReached:
    - fuzz_openFile
    - pcap_next_ex
    - fprintf
    - sock_initfuzz
    - pcap_open
    - pcap_stats
    - pcap_close
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libpcap/cmake/have_siocglifconf.c:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 6
    functionName: main
    functionSourceFile: /src/libpcap/cmake/have_siocglifconf.c
    functionUses: 0
    functionsReached:
    - ioctl
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: BPF_WORDALIGN
    functionSourceFile: /src/libpcap/pcap/bpf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_WORDALIGN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: BPF_CLASS
    functionSourceFile: /src/libpcap/pcap/bpf.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_CLASS(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: BPF_SIZE
    functionSourceFile: /src/libpcap/pcap/bpf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_SIZE(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: BPF_MODE
    functionSourceFile: /src/libpcap/pcap/bpf.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_MODE(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: BPF_OP
    functionSourceFile: /src/libpcap/pcap/bpf.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_OP(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: BPF_SRC
    functionSourceFile: /src/libpcap/pcap/bpf.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_SRC(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: BPF_RVAL
    functionSourceFile: /src/libpcap/pcap/bpf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_RVAL(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: BPF_MISCOP
    functionSourceFile: /src/libpcap/pcap/bpf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_MISCOP(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: BPF_STMT
    functionSourceFile: /src/libpcap/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_STMT(code, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - k
    - ','
    - jt
    - ','
    - jf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: BPF_JUMP
    functionSourceFile: /src/libpcap/pcap/bpf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BPF_JUMP(code, k, jt, jf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpcap/pcap/pcap-inttypes.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - pcap_4_byte_aligned_uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: pcap_4_byte_aligned_uint64_val
    functionSourceFile: /src/libpcap/pcap/pcap-inttypes.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t pcap_4_byte_aligned_uint64_val(pcap_4_byte_aligned_uint64
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libpcap/pcap/pcap-inttypes.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - pcap_4_byte_aligned_int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: pcap_4_byte_aligned_int64_val
    functionSourceFile: /src/libpcap/pcap/pcap-inttypes.h
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int64_t
    signature: int64_t pcap_4_byte_aligned_int64_val(pcap_4_byte_aligned_int64 val)
  - 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: LT_LINKTYPE
    functionSourceFile: /src/libpcap/pcap/pcap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LT_LINKTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: LT_LINKTYPE_EXT
    functionSourceFile: /src/libpcap/pcap/pcap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LT_LINKTYPE_EXT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: LT_RESERVED1
    functionSourceFile: /src/libpcap/pcap/pcap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LT_RESERVED1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: LT_FCS_LENGTH_PRESENT
    functionSourceFile: /src/libpcap/pcap/pcap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LT_FCS_LENGTH_PRESENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: LT_FCS_LENGTH
    functionSourceFile: /src/libpcap/pcap/pcap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LT_FCS_LENGTH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: LT_FCS_DATALINK_EXT
    functionSourceFile: /src/libpcap/pcap/pcap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LT_FCS_DATALINK_EXT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - p
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 579
    functionName: pcap_fopen_offline_with_tstamp_precision
    functionSourceFile: /src/libpcap/pcap/pcap.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pcap_fopen_offline_with_tstamp_precision(f,p,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: pcap_fopen_offline
    functionSourceFile: /src/libpcap/pcap/pcap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pcap_fopen_offline(f,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 756
    functionName: pcap_dump_fopen
    functionSourceFile: /src/libpcap/pcap/pcap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pcap_dump_fopen(p,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: __has_attribute
    functionSourceFile: /src/libpcap/pcap/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_attribute(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: PCAP_IS_AT_LEAST_GNUC_VERSION
    functionSourceFile: /src/libpcap/pcap/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_IS_AT_LEAST_GNUC_VERSION(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: PCAP_IS_AT_LEAST_GNUC_VERSION
    functionSourceFile: /src/libpcap/pcap/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_IS_AT_LEAST_GNUC_VERSION(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: PCAP_IS_AT_LEAST_CLANG_VERSION
    functionSourceFile: /src/libpcap/pcap/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_IS_AT_LEAST_CLANG_VERSION(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: PCAP_IS_AT_LEAST_CLANG_VERSION
    functionSourceFile: /src/libpcap/pcap/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_IS_AT_LEAST_CLANG_VERSION(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: PCAP_IS_AT_LEAST_SUNC_VERSION
    functionSourceFile: /src/libpcap/pcap/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_IS_AT_LEAST_SUNC_VERSION(major,minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: PCAP_SUNPRO_VERSION_TO_BCD
    functionSourceFile: /src/libpcap/pcap/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_SUNPRO_VERSION_TO_BCD(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: PCAP_IS_AT_LEAST_SUNC_VERSION
    functionSourceFile: /src/libpcap/pcap/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_IS_AT_LEAST_SUNC_VERSION(major,minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: PCAP_IS_AT_LEAST_XL_C_VERSION
    functionSourceFile: /src/libpcap/pcap/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_IS_AT_LEAST_XL_C_VERSION(major,minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: PCAP_IS_AT_LEAST_XL_C_VERSION
    functionSourceFile: /src/libpcap/pcap/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_IS_AT_LEAST_XL_C_VERSION(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: PCAP_IS_AT_LEAST_XL_C_VERSION
    functionSourceFile: /src/libpcap/pcap/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_IS_AT_LEAST_XL_C_VERSION(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: PCAP_IS_AT_LEAST_HP_C_CXX_VERSION
    functionSourceFile: /src/libpcap/pcap/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_IS_AT_LEAST_HP_C_CXX_VERSION(major,minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: PCAP_IS_AT_LEAST_HP_C_CXX_VERSION
    functionSourceFile: /src/libpcap/pcap/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_IS_AT_LEAST_HP_C_CXX_VERSION(major,minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: PCAP_IS_AT_LEAST_HP_C_CXX_VERSION
    functionSourceFile: /src/libpcap/pcap/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_IS_AT_LEAST_HP_C_CXX_VERSION(major,minor)
  - 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: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: PCAP_PRINTFLIKE
    functionSourceFile: /src/libpcap/pcap/funcattrs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_PRINTFLIKE(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: PCAP_NONNULL
    functionSourceFile: /src/libpcap/pcap/funcattrs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_NONNULL(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 360
    functionName: PCAP_DEPRECATED
    functionSourceFile: /src/libpcap/pcap/funcattrs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_DEPRECATED(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 368
    functionName: PCAP_DEPRECATED
    functionSourceFile: /src/libpcap/pcap/funcattrs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_DEPRECATED(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: PCAP_DEPRECATED
    functionSourceFile: /src/libpcap/pcap/funcattrs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_DEPRECATED(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 387
    functionName: PCAP_FORMAT_STRING
    functionSourceFile: /src/libpcap/pcap/funcattrs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_FORMAT_STRING(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 389
    functionName: PCAP_FORMAT_STRING
    functionSourceFile: /src/libpcap/pcap/funcattrs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAP_FORMAT_STRING(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartServiceCtrlDispatcher
      Src: /src/libpcap/rpcapd/win32-svc.c:62,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/rpcapd/win32-svc.c:63,1
    - Dst: GetLastError
      Src: /src/libpcap/rpcapd/win32-svc.c:64,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/win32-svc.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: svc_start
    functionSourceFile: /src/libpcap/rpcapd/win32-svc.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - StartServiceCtrlDispatcher
    - rpcapd_log
    - pcapint_fmt_errmsg_for_win32_err
    linkageType: ''
    returnType: BOOL
    signature: BOOL svc_start(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: send_shutdown_notification
      Src: /src/libpcap/rpcapd/win32-svc.c:91,1
    - Dst: update_svc_status
      Src: /src/libpcap/rpcapd/win32-svc.c:93,1
    - Dst: update_svc_status
      Src: /src/libpcap/rpcapd/win32-svc.c:107,1
    - Dst: update_svc_status
      Src: /src/libpcap/rpcapd/win32-svc.c:111,1
    - Dst: send_reread_configuration_notification
      Src: /src/libpcap/rpcapd/win32-svc.c:115,1
    - Dst: update_svc_status
      Src: /src/libpcap/rpcapd/win32-svc.c:121,1
    - Dst: MessageBox
      Src: /src/libpcap/rpcapd/win32-svc.c:122,1
    - Dst: send_reread_configuration_notification
      Src: /src/libpcap/rpcapd/win32-svc.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - Opcode
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 135
    functionName: svc_control_handler
    functionSourceFile: /src/libpcap/rpcapd/win32-svc.c
    functionUses: 0
    functionsReached:
    - send_reread_configuration_notification
    - send_shutdown_notification
    - update_svc_status
    - MessageBox
    linkageType: ''
    returnType: void
    signature: void svc_control_handler(DWORD Opcode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RegisterServiceCtrlHandler
      Src: /src/libpcap/rpcapd/win32-svc.c:140,1
    - Dst: update_svc_status
      Src: /src/libpcap/rpcapd/win32-svc.c:148,1
    - Dst: main_startup
      Src: /src/libpcap/rpcapd/win32-svc.c:153,1
    - Dst: update_svc_status
      Src: /src/libpcap/rpcapd/win32-svc.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - DWORD
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: svc_main
    functionSourceFile: /src/libpcap/rpcapd/win32-svc.c
    functionUses: 0
    functionsReached:
    - update_svc_status
    - RegisterServiceCtrlHandler
    - main_startup
    linkageType: ''
    returnType: void
    signature: void svc_main(DWORD argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetServiceStatus
      Src: /src/libpcap/rpcapd/win32-svc.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - state
    - progress_indicator
    argTypes:
    - DWORD
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: update_svc_status
    functionSourceFile: /src/libpcap/rpcapd/win32-svc.c
    functionUses: 2
    functionsReached:
    - SetServiceStatus
    linkageType: ''
    returnType: void
    signature: void update_svc_status(DWORD state, DWORD progress_indicator)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libpcap/rpcapd/fileconf.c:65,1
    - Dst: fgets
      Src: /src/libpcap/rpcapd/fileconf.c:74,1
    - Dst: strlen
      Src: /src/libpcap/rpcapd/fileconf.c:84,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:95,1
    - Dst: getc
      Src: /src/libpcap/rpcapd/fileconf.c:102,1
    - Dst: skipws
      Src: /src/libpcap/rpcapd/fileconf.c:118,1
    - Dst: PCAP_ISALPHA
      Src: /src/libpcap/rpcapd/fileconf.c:136,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:138,1
    - Dst: PCAP_ISALNUM
      Src: /src/libpcap/rpcapd/fileconf.c:150,1
    - Dst: skipws
      Src: /src/libpcap/rpcapd/fileconf.c:156,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:167,1
    - Dst: skipws
      Src: /src/libpcap/rpcapd/fileconf.c:182,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:188,1
    - Dst: strcmp
      Src: /src/libpcap/rpcapd/fileconf.c:197,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:214,1
    - Dst: strcspn
      Src: /src/libpcap/rpcapd/fileconf.c:229,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:245,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:258,1
    - Dst: skipws
      Src: /src/libpcap/rpcapd/fileconf.c:275,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:282,1
    - Dst: strcspn
      Src: /src/libpcap/rpcapd/fileconf.c:296,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:304,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/rpcapd/fileconf.c:315,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:321,1
    - Dst: strcmp
      Src: /src/libpcap/rpcapd/fileconf.c:327,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/rpcapd/fileconf.c:329,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/rpcapd/fileconf.c:332,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:338,1
    - Dst: strcmp
      Src: /src/libpcap/rpcapd/fileconf.c:347,1
    - Dst: strcspn
      Src: /src/libpcap/rpcapd/fileconf.c:360,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:370,1
    - Dst: strlen
      Src: /src/libpcap/rpcapd/fileconf.c:385,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/rpcapd/fileconf.c:392,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:402,1
    - Dst: pcapint_strlcat
      Src: /src/libpcap/rpcapd/fileconf.c:408,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:416,1
    - Dst: strcmp
      Src: /src/libpcap/rpcapd/fileconf.c:422,1
    - Dst: strcspn
      Src: /src/libpcap/rpcapd/fileconf.c:434,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:445,1
    - Dst: strcmp
      Src: /src/libpcap/rpcapd/fileconf.c:456,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:463,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/fileconf.c:479,1
    - Dst: fclose
      Src: /src/libpcap/rpcapd/fileconf.c:480,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 138
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 482
    functionName: fileconf_read
    functionSourceFile: /src/libpcap/rpcapd/fileconf.c
    functionUses: 0
    functionsReached:
    - rpcapd_log
    - fgets
    - fopen
    - fclose
    - PCAP_ISALPHA
    - skipws
    - PCAP_ISALNUM
    - strcmp
    - pcapint_strlcpy
    - strcspn
    - strlen
    - pcapint_strlcat
    - getc
    linkageType: ''
    returnType: void
    signature: void fileconf_read(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libpcap/rpcapd/fileconf.c:488,1
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/fileconf.c:495,1
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/fileconf.c:498,1
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/fileconf.c:499,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/rpcapd/fileconf.c:501,1
    - Dst: pcapint_strtok_r
      Src: /src/libpcap/rpcapd/fileconf.c:503,1
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/fileconf.c:506,1
    - Dst: pcapint_strtok_r
      Src: /src/libpcap/rpcapd/fileconf.c:507,1
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/fileconf.c:512,1
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/fileconf.c:513,1
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/fileconf.c:514,1
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/fileconf.c:519,1
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/fileconf.c:525,1
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/fileconf.c:526,1
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/fileconf.c:528,1
    - Dst: fclose
      Src: /src/libpcap/rpcapd/fileconf.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - savefile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 539
    functionName: fileconf_save
    functionSourceFile: /src/libpcap/rpcapd/fileconf.c
    functionUses: 0
    functionsReached:
    - fopen
    - fprintf
    - fclose
    - pcapint_strtok_r
    - pcapint_strlcpy
    linkageType: ''
    returnType: int
    signature: int fileconf_save(const char *savefile)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 556
    functionName: skipws
    functionSourceFile: /src/libpcap/rpcapd/fileconf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *skipws(char *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to
      Src: /src/libpcap/rpcapd/rpcapd.c:138,1
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/rpcapd.c:174,1
    - Dst: pcap_lib_version
      Src: /src/libpcap/rpcapd/rpcapd.c:175,1
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/rpcapd.c:177,1
    - Dst: SSLeay_version
      Src: /src/libpcap/rpcapd/rpcapd.c:177,1
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/rpcapd.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 180
    functionName: printusage
    functionSourceFile: /src/libpcap/rpcapd/rpcapd.c
    functionUses: 0
    functionsReached:
    - fprintf
    - pcap_lib_version
    - to
    - SSLeay_version
    linkageType: ''
    returnType: void
    signature: void printusage(FILE * f)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/rpcapd/rpcapd.c:587,1
    - Dst: _beginthreadex
      Src: /src/libpcap/rpcapd/rpcapd.c:595,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:599,1
    - Dst: CloseHandle
      Src: /src/libpcap/rpcapd/rpcapd.c:602,1
    - Dst: fork
      Src: /src/libpcap/rpcapd/rpcapd.c:604,1
    - Dst: main_active
      Src: /src/libpcap/rpcapd/rpcapd.c:606,1
    - Dst: exit
      Src: /src/libpcap/rpcapd/rpcapd.c:607,1
    - Dst: sock_initaddress
      Src: /src/libpcap/rpcapd/rpcapd.c:632,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:636,1
    - Dst: sock_open
      Src: /src/libpcap/rpcapd/rpcapd.c:646,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:656,1
    - Dst: inet_ntop
      Src: /src/libpcap/rpcapd/rpcapd.c:657,1
    - Dst: ntohs
      Src: /src/libpcap/rpcapd/rpcapd.c:659,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:670,1
    - Dst: inet_ntop
      Src: /src/libpcap/rpcapd/rpcapd.c:671,1
    - Dst: ntohs
      Src: /src/libpcap/rpcapd/rpcapd.c:673,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:679,1
    - Dst: malloc
      Src: /src/libpcap/rpcapd/rpcapd.c:687,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:690,1
    - Dst: exit
      Src: /src/libpcap/rpcapd/rpcapd.c:691,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/rpcapd/rpcapd.c:698,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:702,1
    - Dst: exit
      Src: /src/libpcap/rpcapd/rpcapd.c:703,1
    - Dst: accept_connections
      Src: /src/libpcap/rpcapd/rpcapd.c:709,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:715,1
    - Dst: kill
      Src: /src/libpcap/rpcapd/rpcapd.c:726,1
    - Dst: exit
      Src: /src/libpcap/rpcapd/rpcapd.c:748,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 574
    functionDepth: 7
    functionLinenumber: 574
    functionLinenumberEnd: 749
    functionName: main_startup
    functionSourceFile: /src/libpcap/rpcapd/rpcapd.c
    functionUses: 1
    functionsReached:
    - exit
    - rpcapd_log
    - CloseHandle
    - sock_open
    - accept_connections
    - _beginthreadex
    - ntohs
    - main_active
    - inet_ntop
    - freeaddrinfo
    - sock_initaddress
    - memset
    - fork
    - kill
    - malloc
    linkageType: ''
    returnType: void
    signature: void main_startup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetEvent
      Src: /src/libpcap/rpcapd/rpcapd.c:757,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/rpcapd.c:759,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 752
    functionDepth: 5
    functionLinenumber: 752
    functionLinenumberEnd: 763
    functionName: send_state_change_event
    functionSourceFile: /src/libpcap/rpcapd/rpcapd.c
    functionUses: 0
    functionsReached:
    - sock_geterrmsg
    - rpcapd_log
    - SetEvent
    linkageType: ''
    returnType: void
    signature: void send_state_change_event(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchange
      Src: /src/libpcap/rpcapd/rpcapd.c:771,1
    - Dst: send_state_change_event
      Src: /src/libpcap/rpcapd/rpcapd.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 765
    functionDepth: 6
    functionLinenumber: 765
    functionLinenumberEnd: 777
    functionName: send_shutdown_notification
    functionSourceFile: /src/libpcap/rpcapd/rpcapd.c
    functionUses: 1
    functionsReached:
    - send_state_change_event
    - _InterlockedExchange
    linkageType: ''
    returnType: void
    signature: void send_shutdown_notification(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedExchange
      Src: /src/libpcap/rpcapd/rpcapd.c:785,1
    - Dst: send_state_change_event
      Src: /src/libpcap/rpcapd/rpcapd.c:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 779
    functionDepth: 6
    functionLinenumber: 779
    functionLinenumberEnd: 791
    functionName: send_reread_configuration_notification
    functionSourceFile: /src/libpcap/rpcapd/rpcapd.c
    functionUses: 1
    functionsReached:
    - send_state_change_event
    - _InterlockedExchange
    linkageType: ''
    returnType: void
    signature: void send_reread_configuration_notification(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: send_shutdown_notification
      Src: /src/libpcap/rpcapd/rpcapd.c:818,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctrltype
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 793
    functionDepth: 7
    functionLinenumber: 793
    functionLinenumberEnd: 829
    functionName: main_ctrl_event
    functionSourceFile: /src/libpcap/rpcapd/rpcapd.c
    functionUses: 0
    functionsReached:
    - send_shutdown_notification
    linkageType: ''
    returnType: BOOL
    signature: BOOL main_ctrl_event(DWORD ctrltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sign
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 839
    functionName: main_terminate
    functionSourceFile: /src/libpcap/rpcapd/rpcapd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void main_terminate(int sign _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sign
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 849
    functionName: main_reread_config
    functionSourceFile: /src/libpcap/rpcapd/rpcapd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void main_reread_config(int sign _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: waitpid
      Src: /src/libpcap/rpcapd/rpcapd.c:859,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sign
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 863
    functionName: main_reap_children
    functionSourceFile: /src/libpcap/rpcapd/rpcapd.c
    functionUses: 0
    functionsReached:
    - rpcapd_log
    - waitpid
    linkageType: ''
    returnType: void
    signature: void main_reap_children(int sign _U_)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:895,1
    - Dst: exit
      Src: /src/libpcap/rpcapd/rpcapd.c:896,1
    - Dst: malloc
      Src: /src/libpcap/rpcapd/rpcapd.c:904,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:907,1
    - Dst: exit
      Src: /src/libpcap/rpcapd/rpcapd.c:908,1
    - Dst: WSACreateEvent
      Src: /src/libpcap/rpcapd/rpcapd.c:924,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/rpcapd.c:927,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:929,1
    - Dst: exit
      Src: /src/libpcap/rpcapd/rpcapd.c:930,1
    - Dst: WSAEventSelect
      Src: /src/libpcap/rpcapd/rpcapd.c:932,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/rpcapd.c:934,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:936,1
    - Dst: exit
      Src: /src/libpcap/rpcapd/rpcapd.c:937,1
    - Dst: WSAWaitForMultipleEvents
      Src: /src/libpcap/rpcapd/rpcapd.c:949,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/rpcapd.c:953,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:955,1
    - Dst: exit
      Src: /src/libpcap/rpcapd/rpcapd.c:956,1
    - Dst: _InterlockedExchange
      Src: /src/libpcap/rpcapd/rpcapd.c:964,1
    - Dst: _InterlockedExchange
      Src: /src/libpcap/rpcapd/rpcapd.c:971,1
    - Dst: fileconf_read
      Src: /src/libpcap/rpcapd/rpcapd.c:977,1
    - Dst: WSAEnumNetworkEvents
      Src: /src/libpcap/rpcapd/rpcapd.c:989,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/rpcapd.c:992,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:994,1
    - Dst: exit
      Src: /src/libpcap/rpcapd/rpcapd.c:995,1
    - Dst: sock_fmterrmsg
      Src: /src/libpcap/rpcapd/rpcapd.c:1007,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1011,1
    - Dst: accept_connection
      Src: /src/libpcap/rpcapd/rpcapd.c:1018,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1038,1
    - Dst: exit
      Src: /src/libpcap/rpcapd/rpcapd.c:1039,1
    - Dst: FD_ZERO
      Src: /src/libpcap/rpcapd/rpcapd.c:1057,1
    - Dst: FD_SET
      Src: /src/libpcap/rpcapd/rpcapd.c:1061,1
    - Dst: select
      Src: /src/libpcap/rpcapd/rpcapd.c:1067,1
    - Dst: fileconf_read
      Src: /src/libpcap/rpcapd/rpcapd.c:1091,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1101,1
    - Dst: strerror
      Src: /src/libpcap/rpcapd/rpcapd.c:1102,1
    - Dst: exit
      Src: /src/libpcap/rpcapd/rpcapd.c:1103,1
    - Dst: FD_ISSET
      Src: /src/libpcap/rpcapd/rpcapd.c:1113,1
    - Dst: accept_connection
      Src: /src/libpcap/rpcapd/rpcapd.c:1118,1
    - Dst: closesocket
      Src: /src/libpcap/rpcapd/rpcapd.c:1129,1
    - Dst: sock_cleanup
      Src: /src/libpcap/rpcapd/rpcapd.c:1131,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 869
    functionDepth: 5
    functionLinenumber: 869
    functionLinenumberEnd: 1132
    functionName: accept_connections
    functionSourceFile: /src/libpcap/rpcapd/rpcapd.c
    functionUses: 1
    functionsReached:
    - fileconf_read
    - _InterlockedExchange
    - FD_ZERO
    - sock_cleanup
    - WSAWaitForMultipleEvents
    - strerror
    - sock_geterrmsg
    - rpcapd_log
    - FD_ISSET
    - FD_SET
    - WSAEnumNetworkEvents
    - sock_fmterrmsg
    - accept_connection
    - WSAEventSelect
    - exit
    - WSACreateEvent
    - select
    - closesocket
    - malloc
    linkageType: ''
    returnType: void
    signature: void accept_connections(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/rpcapd/rpcapd.c:1169,1
    - Dst: accept
      Src: /src/libpcap/rpcapd/rpcapd.c:1176,1
    - Dst: WSAGetLastError
      Src: /src/libpcap/rpcapd/rpcapd.c:1188,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/rpcapd.c:1196,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1197,1
    - Dst: WSAEventSelect
      Src: /src/libpcap/rpcapd/rpcapd.c:1218,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/rpcapd.c:1220,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1222,1
    - Dst: sock_close
      Src: /src/libpcap/rpcapd/rpcapd.c:1223,1
    - Dst: ioctlsocket
      Src: /src/libpcap/rpcapd/rpcapd.c:1226,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/rpcapd.c:1228,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1230,1
    - Dst: sock_close
      Src: /src/libpcap/rpcapd/rpcapd.c:1231,1
    - Dst: strdup
      Src: /src/libpcap/rpcapd/rpcapd.c:1242,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1245,1
    - Dst: sock_close
      Src: /src/libpcap/rpcapd/rpcapd.c:1246,1
    - Dst: malloc
      Src: /src/libpcap/rpcapd/rpcapd.c:1255,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1258,1
    - Dst: free
      Src: /src/libpcap/rpcapd/rpcapd.c:1259,1
    - Dst: sock_close
      Src: /src/libpcap/rpcapd/rpcapd.c:1260,1
    - Dst: _beginthreadex
      Src: /src/libpcap/rpcapd/rpcapd.c:1266,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1270,1
    - Dst: free
      Src: /src/libpcap/rpcapd/rpcapd.c:1271,1
    - Dst: free
      Src: /src/libpcap/rpcapd/rpcapd.c:1272,1
    - Dst: sock_close
      Src: /src/libpcap/rpcapd/rpcapd.c:1273,1
    - Dst: CloseHandle
      Src: /src/libpcap/rpcapd/rpcapd.c:1276,1
    - Dst: fork
      Src: /src/libpcap/rpcapd/rpcapd.c:1278,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1281,1
    - Dst: strerror
      Src: /src/libpcap/rpcapd/rpcapd.c:1282,1
    - Dst: sock_close
      Src: /src/libpcap/rpcapd/rpcapd.c:1283,1
    - Dst: closesocket
      Src: /src/libpcap/rpcapd/rpcapd.c:1294,1
    - Dst: pthread_setcancelstate
      Src: /src/libpcap/rpcapd/rpcapd.c:1304,1
    - Dst: pthread_setcanceltype
      Src: /src/libpcap/rpcapd/rpcapd.c:1306,1
    - Dst: strdup
      Src: /src/libpcap/rpcapd/rpcapd.c:1315,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1318,1
    - Dst: exit
      Src: /src/libpcap/rpcapd/rpcapd.c:1319,1
    - Dst: daemon_serviceloop
      Src: /src/libpcap/rpcapd/rpcapd.c:1321,1
    - Dst: exit
      Src: /src/libpcap/rpcapd/rpcapd.c:1324,1
    - Dst: closesocket
      Src: /src/libpcap/rpcapd/rpcapd.c:1329,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 1
    argNames:
    - listen_sock
    argTypes:
    - PCAP_SOCKET
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1152
    functionDepth: 6
    functionLinenumber: 1152
    functionLinenumberEnd: 1331
    functionName: accept_connection
    functionSourceFile: /src/libpcap/rpcapd/rpcapd.c
    functionUses: 1
    functionsReached:
    - daemon_serviceloop
    - pthread_setcanceltype
    - fork
    - CloseHandle
    - _beginthreadex
    - strerror
    - sock_geterrmsg
    - sock_close
    - accept
    - rpcapd_log
    - strdup
    - memset
    - WSAEventSelect
    - ioctlsocket
    - exit
    - pthread_setcancelstate
    - WSAGetLastError
    - closesocket
    - free
    - malloc
    linkageType: ''
    returnType: void
    signature: void accept_connection(PCAP_SOCKET listen_sock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/rpcapd/rpcapd.c:1358,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1364,1
    - Dst: memset
      Src: /src/libpcap/rpcapd/rpcapd.c:1369,1
    - Dst: sock_initaddress
      Src: /src/libpcap/rpcapd/rpcapd.c:1372,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1376,1
    - Dst: sock_open
      Src: /src/libpcap/rpcapd/rpcapd.c:1384,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1386,1
    - Dst: sleep_secs
      Src: /src/libpcap/rpcapd/rpcapd.c:1396,1
    - Dst: strdup
      Src: /src/libpcap/rpcapd/rpcapd.c:1401,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/rpcapd.c:1404,1
    - Dst: sock_close
      Src: /src/libpcap/rpcapd/rpcapd.c:1406,1
    - Dst: daemon_serviceloop
      Src: /src/libpcap/rpcapd/rpcapd.c:1413,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/rpcapd/rpcapd.c:1424,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1345
    functionDepth: 7
    functionLinenumber: 1345
    functionLinenumberEnd: 1426
    functionName: main_active
    functionSourceFile: /src/libpcap/rpcapd/rpcapd.c
    functionUses: 1
    functionsReached:
    - rpcapd_log
    - sock_open
    - strdup
    - daemon_serviceloop
    - sleep_secs
    - freeaddrinfo
    - sock_initaddress
    - memset
    - sock_close
    linkageType: ''
    returnType: void
    signature: 'void *

      #endif

      main_active(void *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libpcap/rpcapd/rpcapd.c:1435,1
    - Dst: daemon_serviceloop
      Src: /src/libpcap/rpcapd/rpcapd.c:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1446
    functionName: main_passive_serviceloop_thread
    functionSourceFile: /src/libpcap/rpcapd/rpcapd.c
    functionUses: 0
    functionsReached:
    - free
    - daemon_serviceloop
    linkageType: ''
    returnType: unsigned
    signature: unsigned main_passive_serviceloop_thread(void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libpcap/rpcapd/log.c:83,1
    - Dst: vfprintf
      Src: /src/libpcap/rpcapd/log.c:84,1
    - Dst: putc
      Src: /src/libpcap/rpcapd/log.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - priority
    - message
    - ap
    argTypes:
    - log_priority
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 86
    functionName: rpcapd_vlog_stderr
    functionSourceFile: /src/libpcap/rpcapd/log.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vfprintf
    - putc
    linkageType: ''
    returnType: void
    signature: void rpcapd_vlog_stderr(log_priority priority, const char *message,
      va_list ap)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RegCreateKey
      Src: /src/libpcap/rpcapd/log.c:115,1
    - Dst: rpcapd_vlog_stderr
      Src: /src/libpcap/rpcapd/log.c:124,1
    - Dst: RegisterEventSource
      Src: /src/libpcap/rpcapd/log.c:127,1
    - Dst: vsprintf
      Src: /src/libpcap/rpcapd/log.c:161,1
    - Dst: ReportEvent
      Src: /src/libpcap/rpcapd/log.c:167,1
    - Dst: rpcapd_vlog_stderr
      Src: /src/libpcap/rpcapd/log.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - priority
    - message
    - ap
    argTypes:
    - log_priority
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 172
    functionName: rpcapd_vlog_systemlog
    functionSourceFile: /src/libpcap/rpcapd/log.c
    functionUses: 0
    functionsReached:
    - rpcapd_vlog_stderr
    - RegisterEventSource
    - vsprintf
    - RegCreateKey
    - ReportEvent
    linkageType: ''
    returnType: void
    signature: "void rpcapd_vlog_systemlog(log_priority priority, const char *message,\n
      \   va_list ap)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: openlog
      Src: /src/libpcap/rpcapd/log.c:184,1
    - Dst: vsyslog
      Src: /src/libpcap/rpcapd/log.c:212,1
    - Dst: vsnprintf
      Src: /src/libpcap/rpcapd/log.c:233,1
    - Dst: syslog
      Src: /src/libpcap/rpcapd/log.c:234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - priority
    - message
    - ap
    argTypes:
    - log_priority
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 236
    functionName: rpcapd_vlog_systemlog
    functionSourceFile: /src/libpcap/rpcapd/log.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - syslog
    - vsyslog
    - openlog
    linkageType: ''
    returnType: void
    signature: "void rpcapd_vlog_systemlog(log_priority priority, const char *message,\n
      \   va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - log_to_systemlog_arg
    - log_debug_messages_arg
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: rpcapd_log_set
    functionSourceFile: /src/libpcap/rpcapd/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rpcapd_log_set(int log_to_systemlog_arg, int log_debug_messages_arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libpcap/rpcapd/log.c:250,1
    - Dst: rpcapd_vlog_systemlog
      Src: /src/libpcap/rpcapd/log.c:253,1
    - Dst: rpcapd_vlog_stderr
      Src: /src/libpcap/rpcapd/log.c:257,1
    - Dst: va_end
      Src: /src/libpcap/rpcapd/log.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - priority
    - message
    argTypes:
    - log_priority
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 261
    functionName: rpcapd_log
    functionSourceFile: /src/libpcap/rpcapd/log.c
    functionUses: 8
    functionsReached:
    - rpcapd_vlog_stderr
    - va_start
    - va_end
    - rpcapd_vlog_systemlog
    linkageType: ''
    returnType: void
    signature: void rpcapd_log(log_priority priority, const char *message, ...)
  - BBCount: 114
    BranchProfiles: []
    Callsites:
    - Dst: sock_recv
      Src: /src/libpcap/rpcapd/daemon.c:261,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:266,1
    - Dst: rpcapd_recv_msg_header
      Src: /src/libpcap/rpcapd/daemon.c:301,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:315,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:325,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:330,1
    - Dst: ssl_promotion
      Src: /src/libpcap/rpcapd/daemon.c:337,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:340,1
    - Dst: sock_recv
      Src: /src/libpcap/rpcapd/daemon.c:362,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:368,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:379,1
    - Dst: sock_send
      Src: /src/libpcap/rpcapd/daemon.c:393,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:397,1
    - Dst: sock_send
      Src: /src/libpcap/rpcapd/daemon.c:403,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:407,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:435,1
    - Dst: getpeername
      Src: /src/libpcap/rpcapd/daemon.c:447,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/daemon.c:450,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:452,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:453,1
    - Dst: sock_check_hostlist
      Src: /src/libpcap/rpcapd/daemon.c:460,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:461,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:469,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:475,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:476,1
    - Dst: memset
      Src: /src/libpcap/rpcapd/daemon.c:491,1
    - Dst: sigemptyset
      Src: /src/libpcap/rpcapd/daemon.c:494,1
    - Dst: sigaction
      Src: /src/libpcap/rpcapd/daemon.c:495,1
    - Dst: FD_ZERO
      Src: /src/libpcap/rpcapd/daemon.c:515,1
    - Dst: FD_SET
      Src: /src/libpcap/rpcapd/daemon.c:520,1
    - Dst: select
      Src: /src/libpcap/rpcapd/daemon.c:522,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/daemon.c:525,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:527,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:528,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:536,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:537,1
    - Dst: rpcapd_recv_msg_header
      Src: /src/libpcap/rpcapd/daemon.c:545,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:568,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:574,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:580,1
    - Dst: daemon_msg_auth_req
      Src: /src/libpcap/rpcapd/daemon.c:587,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:613,1
    - Dst: daemon_msg_err
      Src: /src/libpcap/rpcapd/daemon.c:625,1
    - Dst: rpcap_msg_type_string
      Src: /src/libpcap/rpcapd/daemon.c:639,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:642,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:646,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:648,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:652,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:656,1
    - Dst: rpcap_msg_type_string
      Src: /src/libpcap/rpcapd/daemon.c:675,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:678,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:682,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:684,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:688,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:692,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:703,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:704,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:708,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:712,1
    - Dst: FD_ZERO
      Src: /src/libpcap/rpcapd/daemon.c:753,1
    - Dst: FD_SET
      Src: /src/libpcap/rpcapd/daemon.c:758,1
    - Dst: select
      Src: /src/libpcap/rpcapd/daemon.c:762,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/daemon.c:766,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:768,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:771,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:779,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:783,1
    - Dst: rpcapd_recv_msg_header
      Src: /src/libpcap/rpcapd/daemon.c:791,1
    - Dst: RPCAP_VERSION_IS_SUPPORTED
      Src: /src/libpcap/rpcapd/daemon.c:809,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:817,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:823,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:828,1
    - Dst: daemon_msg_err
      Src: /src/libpcap/rpcapd/daemon.c:837,1
    - Dst: daemon_msg_findallif_req
      Src: /src/libpcap/rpcapd/daemon.c:845,1
    - Dst: daemon_msg_open_req
      Src: /src/libpcap/rpcapd/daemon.c:865,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:883,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:891,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:894,1
    - Dst: daemon_msg_startcap_req
      Src: /src/libpcap/rpcapd/daemon.c:901,1
    - Dst: daemon_msg_updatefilter_req
      Src: /src/libpcap/rpcapd/daemon.c:916,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:926,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:933,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:948,1
    - Dst: daemon_msg_stats_req
      Src: /src/libpcap/rpcapd/daemon.c:954,1
    - Dst: pcap_stats
      Src: /src/libpcap/rpcapd/daemon.c:969,1
    - Dst: daemon_msg_endcap_req
      Src: /src/libpcap/rpcapd/daemon.c:981,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:984,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:990,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:995,1
    - Dst: daemon_msg_setsampling_req
      Src: /src/libpcap/rpcapd/daemon.c:1006,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1022,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:1023,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1029,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:1033,1
    - Dst: rpcap_msg_type_string
      Src: /src/libpcap/rpcapd/daemon.c:1052,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1055,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:1056,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1060,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:1061,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:1063,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1067,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:1071,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1082,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:1083,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:1084,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1088,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:1092,1
    - Dst: session_close
      Src: /src/libpcap/rpcapd/daemon.c:1107,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:1108,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:1113,1
    - Dst: ssl_finish
      Src: /src/libpcap/rpcapd/daemon.c:1124,1
    - Dst: sock_close
      Src: /src/libpcap/rpcapd/daemon.c:1127,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1130,1
    CyclomaticComplexity: 150
    EdgeCount: 150
    ICount: 454
    argCount: 6
    argNames:
    - sockctrl
    - isactive
    - passiveClients
    - nullAuthAllowed
    - data_port
    - uses_ssl
    argTypes:
    - PCAP_SOCKET
    - int
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 211
    functionDepth: 6
    functionLinenumber: 211
    functionLinenumberEnd: 1133
    functionName: daemon_serviceloop
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 4
    functionsReached:
    - rpcapd_recv_msg_header
    - daemon_msg_stats_req
    - FD_ZERO
    - session_close
    - daemon_msg_auth_req
    - daemon_msg_updatefilter_req
    - sigemptyset
    - sock_check_hostlist
    - sock_send
    - daemon_msg_open_req
    - daemon_msg_endcap_req
    - sock_geterrmsg
    - daemon_msg_setsampling_req
    - sock_close
    - rpcapd_log
    - daemon_msg_findallif_req
    - rpcapd_discard
    - getpeername
    - FD_SET
    - rpcap_msg_type_string
    - pcap_stats
    - sock_recv
    - snprintf
    - daemon_msg_startcap_req
    - memset
    - ssl_promotion
    - sigaction
    - select
    - rpcap_senderror
    - RPCAP_VERSION_IS_SUPPORTED
    - ssl_finish
    - free
    - daemon_msg_err
    linkageType: ''
    returnType: int
    signature: "int daemon_serviceloop(PCAP_SOCKET sockctrl, int isactive, char *passiveClients,\n
      \   int nullAuthAllowed, const char *data_port, int uses_ssl)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sock_recv
      Src: /src/libpcap/rpcapd/daemon.c:1150,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1155,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:1158,1
    - Dst: sock_recv
      Src: /src/libpcap/rpcapd/daemon.c:1176,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1181,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - sockctrl
    - ssl
    - plen
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1138
    functionDepth: 6
    functionLinenumber: 1138
    functionLinenumberEnd: 1193
    functionName: daemon_msg_err
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 1
    functionsReached:
    - rpcapd_log
    - rpcapd_discard
    - sock_recv
    linkageType: ''
    returnType: int
    signature: int daemon_msg_err(PCAP_SOCKET sockctrl, SSL *ssl, uint32_t plen)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: rpcapd_recv
      Src: /src/libpcap/rpcapd/daemon.c:1228,1
    - Dst: ntohs
      Src: /src/libpcap/rpcapd/daemon.c:1238,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:1245,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:1247,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1251,1
    - Dst: ntohs
      Src: /src/libpcap/rpcapd/daemon.c:1264,1
    - Dst: malloc
      Src: /src/libpcap/rpcapd/daemon.c:1265,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/rpcapd/daemon.c:1268,1
    - Dst: rpcapd_recv
      Src: /src/libpcap/rpcapd/daemon.c:1272,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:1275,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:1280,1
    - Dst: ntohs
      Src: /src/libpcap/rpcapd/daemon.c:1285,1
    - Dst: malloc
      Src: /src/libpcap/rpcapd/daemon.c:1286,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/rpcapd/daemon.c:1289,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:1291,1
    - Dst: rpcapd_recv
      Src: /src/libpcap/rpcapd/daemon.c:1294,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:1297,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:1298,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:1303,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:1304,1
    - Dst: daemon_AuthUserPwd
      Src: /src/libpcap/rpcapd/daemon.c:1309,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:1315,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:1316,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:1317,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1321,1
    - Dst: sleep_secs
      Src: /src/libpcap/rpcapd/daemon.c:1335,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:1339,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:1340,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:1345,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:1347,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1351,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:1358,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/rpcapd/daemon.c:1362,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:1367,1
    - Dst: memset
      Src: /src/libpcap/rpcapd/daemon.c:1378,1
    - Dst: sock_send
      Src: /src/libpcap/rpcapd/daemon.c:1384,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1387,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:1392,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:1400,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1404,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:1410,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 118
    argCount: 2
    argNames:
    - pars
    - plen
    argTypes:
    - struct daemon_slpars*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1217
    functionDepth: 6
    functionLinenumber: 1217
    functionLinenumberEnd: 1416
    functionName: daemon_msg_auth_req
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 1
    functionsReached:
    - daemon_AuthUserPwd
    - rpcapd_log
    - rpcap_senderror
    - pcapint_fmt_errmsg_for_errno
    - rpcap_createhdr
    - rpcapd_discard
    - ntohs
    - sock_bufferize
    - sock_send
    - rpcapd_recv
    - snprintf
    - sleep_secs
    - free
    - memset
    - malloc
    linkageType: ''
    returnType: int
    signature: int daemon_msg_auth_req(struct daemon_slpars *pars, uint32_t plen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LogonUser
      Src: /src/libpcap/rpcapd/daemon.c:1444,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:1446,1
    - Dst: GetLastError
      Src: /src/libpcap/rpcapd/daemon.c:1447,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/rpcapd/daemon.c:1452,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1454,1
    - Dst: ImpersonateLoggedOnUser
      Src: /src/libpcap/rpcapd/daemon.c:1461,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:1463,1
    - Dst: pcapint_fmt_errmsg_for_win32_err
      Src: /src/libpcap/rpcapd/daemon.c:1464,1
    - Dst: GetLastError
      Src: /src/libpcap/rpcapd/daemon.c:1465,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1466,1
    - Dst: CloseHandle
      Src: /src/libpcap/rpcapd/daemon.c:1467,1
    - Dst: CloseHandle
      Src: /src/libpcap/rpcapd/daemon.c:1471,1
    - Dst: getpwnam
      Src: /src/libpcap/rpcapd/daemon.c:1503,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:1505,1
    - Dst: getspnam
      Src: /src/libpcap/rpcapd/daemon.c:1511,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:1513,1
    - Dst: crypt
      Src: /src/libpcap/rpcapd/daemon.c:1537,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:1541,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1545,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1549,1
    - Dst: strerror
      Src: /src/libpcap/rpcapd/daemon.c:1550,1
    - Dst: strcmp
      Src: /src/libpcap/rpcapd/daemon.c:1554,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:1556,1
    - Dst: setuid
      Src: /src/libpcap/rpcapd/daemon.c:1560,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/rpcapd/daemon.c:1563,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1565,1
    - Dst: strerror
      Src: /src/libpcap/rpcapd/daemon.c:1566,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 3
    argNames:
    - username
    - password
    - errbuf
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1418
    functionDepth: 2
    functionLinenumber: 1418
    functionLinenumberEnd: 1584
    functionName: daemon_AuthUserPwd
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 1
    functionsReached:
    - LogonUser
    - GetLastError
    - getspnam
    - rpcapd_log
    - CloseHandle
    - pcapint_fmt_errmsg_for_errno
    - crypt
    - ImpersonateLoggedOnUser
    - setuid
    - strerror
    - strcmp
    - snprintf
    - getpwnam
    - pcapint_fmt_errmsg_for_win32_err
    linkageType: ''
    returnType: int
    signature: int daemon_AuthUserPwd(char *username, char *password, char *errbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - itemlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1600
    functionName: CHECK_AND_INCREASE_REPLY_LEN
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_AND_INCREASE_REPLY_LEN(itemlen)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:1615,1
    - Dst: pcap_findalldevs
      Src: /src/libpcap/rpcapd/daemon.c:1622,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:1627,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1633,1
    - Dst: strlen
      Src: /src/libpcap/rpcapd/daemon.c:1647,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/rpcapd/daemon.c:1649,1
    - Dst: CHECK_AND_INCREASE_REPLY_LEN
      Src: /src/libpcap/rpcapd/daemon.c:1654,1
    - Dst: strlen
      Src: /src/libpcap/rpcapd/daemon.c:1657,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/rpcapd/daemon.c:1659,1
    - Dst: CHECK_AND_INCREASE_REPLY_LEN
      Src: /src/libpcap/rpcapd/daemon.c:1664,1
    - Dst: CHECK_AND_INCREASE_REPLY_LEN
      Src: /src/libpcap/rpcapd/daemon.c:1667,1
    - Dst: CHECK_AND_INCREASE_REPLY_LEN
      Src: /src/libpcap/rpcapd/daemon.c:1679,1
    - Dst: pcapint_strlcpy
      Src: /src/libpcap/rpcapd/daemon.c:1681,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:1696,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/rpcapd/daemon.c:1701,1
    - Dst: strlen
      Src: /src/libpcap/rpcapd/daemon.c:1726,1
    - Dst: strlen
      Src: /src/libpcap/rpcapd/daemon.c:1730,1
    - Dst: htons
      Src: /src/libpcap/rpcapd/daemon.c:1734,1
    - Dst: htons
      Src: /src/libpcap/rpcapd/daemon.c:1735,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:1736,1
    - Dst: htons
      Src: /src/libpcap/rpcapd/daemon.c:1755,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:1758,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:1763,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:1768,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:1786,1
    - Dst: daemon_seraddr
      Src: /src/libpcap/rpcapd/daemon.c:1789,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:1792,1
    - Dst: daemon_seraddr
      Src: /src/libpcap/rpcapd/daemon.c:1795,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:1798,1
    - Dst: daemon_seraddr
      Src: /src/libpcap/rpcapd/daemon.c:1801,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:1804,1
    - Dst: daemon_seraddr
      Src: /src/libpcap/rpcapd/daemon.c:1807,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/rpcapd/daemon.c:1817,1
    - Dst: sock_send
      Src: /src/libpcap/rpcapd/daemon.c:1820,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1822,1
    - Dst: pcap_freealldevs
      Src: /src/libpcap/rpcapd/daemon.c:1830,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:1832,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1835,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 131
    argCount: 3
    argNames:
    - ver
    - pars
    - plen
    argTypes:
    - uint8_t
    - struct daemon_slpars*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1601
    functionDepth: 6
    functionLinenumber: 1601
    functionLinenumberEnd: 1839
    functionName: daemon_msg_findallif_req
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 1
    functionsReached:
    - rpcapd_log
    - pcap_freealldevs
    - rpcap_senderror
    - rpcapd_discard
    - rpcap_createhdr
    - sock_bufferize
    - daemon_seraddr
    - sock_send
    - htons
    - pcapint_strlcpy
    - htonl
    - pcap_findalldevs
    - CHECK_AND_INCREASE_REPLY_LEN
    - strlen
    linkageType: ''
    returnType: int
    signature: int daemon_msg_findallif_req(uint8_t ver, struct daemon_slpars *pars,
      uint32_t plen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:1859,1
    - Dst: sock_recv
      Src: /src/libpcap/rpcapd/daemon.c:1863,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1867,1
    - Dst: is_url
      Src: /src/libpcap/rpcapd/daemon.c:1875,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:1877,1
    - Dst: pcap_open_live
      Src: /src/libpcap/rpcapd/daemon.c:1883,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:1891,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/rpcapd/daemon.c:1895,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:1900,1
    - Dst: memset
      Src: /src/libpcap/rpcapd/daemon.c:1904,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:1905,1
    - Dst: pcap_datalink
      Src: /src/libpcap/rpcapd/daemon.c:1905,1
    - Dst: pcap_close
      Src: /src/libpcap/rpcapd/daemon.c:1916,1
    - Dst: sock_send
      Src: /src/libpcap/rpcapd/daemon.c:1919,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1921,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:1927,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:1931,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:1936,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 5
    argNames:
    - ver
    - pars
    - plen
    - source
    - sourcelen
    argTypes:
    - uint8_t
    - struct daemon_slpars*
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1845
    functionDepth: 7
    functionLinenumber: 1845
    functionLinenumberEnd: 1941
    functionName: daemon_msg_open_req
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 1
    functionsReached:
    - rpcapd_log
    - rpcap_senderror
    - pcap_open_live
    - rpcap_createhdr
    - rpcapd_discard
    - sock_bufferize
    - sock_send
    - sock_recv
    - snprintf
    - htonl
    - is_url
    - memset
    - pcap_datalink
    - pcap_close
    linkageType: ''
    returnType: int
    signature: "int daemon_msg_open_req(uint8_t ver, struct daemon_slpars *pars, uint32_t
      plen,\n    char *source, size_t sourcelen)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: rpcapd_recv
      Src: /src/libpcap/rpcapd/daemon.c:1975,1
    - Dst: ntohs
      Src: /src/libpcap/rpcapd/daemon.c:1986,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:1992,1
    - Dst: malloc
      Src: /src/libpcap/rpcapd/daemon.c:1998,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:2001,1
    - Dst: memset
      Src: /src/libpcap/rpcapd/daemon.c:2021,1
    - Dst: pcap_open_live
      Src: /src/libpcap/rpcapd/daemon.c:2025,1
    - Dst: ntohl
      Src: /src/libpcap/rpcapd/daemon.c:2026,1
    - Dst: ntohl
      Src: /src/libpcap/rpcapd/daemon.c:2028,1
    - Dst: getpeername
      Src: /src/libpcap/rpcapd/daemon.c:2055,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/daemon.c:2057,1
    - Dst: memset
      Src: /src/libpcap/rpcapd/daemon.c:2062,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:2069,1
    - Dst: ntohs
      Src: /src/libpcap/rpcapd/daemon.c:2069,1
    - Dst: getnameinfo
      Src: /src/libpcap/rpcapd/daemon.c:2072,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/daemon.c:2075,1
    - Dst: sock_initaddress
      Src: /src/libpcap/rpcapd/daemon.c:2080,1
    - Dst: sock_open
      Src: /src/libpcap/rpcapd/daemon.c:2085,1
    - Dst: sock_initaddress
      Src: /src/libpcap/rpcapd/daemon.c:2095,1
    - Dst: sock_initaddress
      Src: /src/libpcap/rpcapd/daemon.c:2101,1
    - Dst: sock_open
      Src: /src/libpcap/rpcapd/daemon.c:2107,1
    - Dst: getsockname
      Src: /src/libpcap/rpcapd/daemon.c:2112,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/daemon.c:2114,1
    - Dst: getnameinfo
      Src: /src/libpcap/rpcapd/daemon.c:2120,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/daemon.c:2123,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/rpcapd/daemon.c:2130,1
    - Dst: daemon_unpackapplyfilter
      Src: /src/libpcap/rpcapd/daemon.c:2139,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:2152,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/rpcapd/daemon.c:2156,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:2161,1
    - Dst: memset
      Src: /src/libpcap/rpcapd/daemon.c:2165,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2166,1
    - Dst: pcap_bufsize
      Src: /src/libpcap/rpcapd/daemon.c:2166,1
    - Dst: strtoul
      Src: /src/libpcap/rpcapd/daemon.c:2170,1
    - Dst: htons
      Src: /src/libpcap/rpcapd/daemon.c:2171,1
    - Dst: sock_send
      Src: /src/libpcap/rpcapd/daemon.c:2174,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2177,1
    - Dst: accept
      Src: /src/libpcap/rpcapd/daemon.c:2188,1
    - Dst: sock_geterrmsg
      Src: /src/libpcap/rpcapd/daemon.c:2192,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2194,1
    - Dst: sock_close
      Src: /src/libpcap/rpcapd/daemon.c:2200,1
    - Dst: ssl_promotion
      Src: /src/libpcap/rpcapd/daemon.c:2211,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2214,1
    - Dst: _beginthreadex
      Src: /src/libpcap/rpcapd/daemon.c:2223,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:2227,1
    - Dst: pthread_create
      Src: /src/libpcap/rpcapd/daemon.c:2231,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/rpcapd/daemon.c:2235,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:2243,1
    - Dst: freeaddrinfo
      Src: /src/libpcap/rpcapd/daemon.c:2257,1
    - Dst: session_close
      Src: /src/libpcap/rpcapd/daemon.c:2261,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:2262,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:2265,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2269,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:2274,1
    - Dst: session_close
      Src: /src/libpcap/rpcapd/daemon.c:2291,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:2292,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 178
    argCount: 8
    argNames:
    - ver
    - pars
    - plen
    - source
    - data_port
    - sessionp
    - samp_param
    - uses_ssl
    argTypes:
    - uint8_t
    - struct daemon_slpars*
    - uint32_t
    - char*
    - char*
    - struct session**
    - struct rpcap_sampling*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 1947
    functionDepth: 7
    functionLinenumber: 1947
    functionLinenumberEnd: 2296
    functionName: daemon_msg_startcap_req
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 1
    functionsReached:
    - ntohl
    - pcap_open_live
    - session_close
    - pthread_create
    - strtoul
    - getsockname
    - pcap_bufsize
    - rpcap_createhdr
    - _beginthreadex
    - sock_send
    - daemon_unpackapplyfilter
    - sock_geterrmsg
    - getnameinfo
    - accept
    - sock_close
    - rpcapd_log
    - sock_open
    - getpeername
    - rpcapd_discard
    - sock_bufferize
    - snprintf
    - freeaddrinfo
    - sock_initaddress
    - memset
    - ssl_promotion
    - rpcap_senderror
    - pcapint_fmt_errmsg_for_errno
    - ntohs
    - rpcapd_recv
    - htons
    - htonl
    - free
    - malloc
    linkageType: ''
    returnType: int
    signature: "int daemon_msg_startcap_req(uint8_t ver, struct daemon_slpars *pars,
      uint32_t plen,\n    const char *source, const char *data_port, struct session
      **sessionp,\n    struct rpcap_sampling *samp_param _U_, int uses_ssl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: session_close
      Src: /src/libpcap/rpcapd/daemon.c:2305,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/rpcapd/daemon.c:2307,1
    - Dst: sock_send
      Src: /src/libpcap/rpcapd/daemon.c:2309,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ver
    - pars
    - session
    argTypes:
    - uint8_t
    - struct daemon_slpars*
    - struct session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2298
    functionDepth: 6
    functionLinenumber: 2298
    functionLinenumberEnd: 2317
    functionName: daemon_msg_endcap_req
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 1
    functionsReached:
    - sock_send
    - rpcap_createhdr
    - rpcapd_log
    - session_close
    linkageType: ''
    returnType: int
    signature: "int daemon_msg_endcap_req(uint8_t ver, struct daemon_slpars *pars,\n
      \   struct session *session)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rpcapd_recv
      Src: /src/libpcap/rpcapd/daemon.c:2346,1
    - Dst: ntohl
      Src: /src/libpcap/rpcapd/daemon.c:2357,1
    - Dst: ntohs
      Src: /src/libpcap/rpcapd/daemon.c:2359,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:2361,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:2367,1
    - Dst: malloc
      Src: /src/libpcap/rpcapd/daemon.c:2372,1
    - Dst: pcapint_fmt_errmsg_for_errno
      Src: /src/libpcap/rpcapd/daemon.c:2375,1
    - Dst: rpcapd_recv
      Src: /src/libpcap/rpcapd/daemon.c:2384,1
    - Dst: ntohs
      Src: /src/libpcap/rpcapd/daemon.c:2395,1
    - Dst: ntohl
      Src: /src/libpcap/rpcapd/daemon.c:2398,1
    - Dst: bpf_validate
      Src: /src/libpcap/rpcapd/daemon.c:2406,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:2408,1
    - Dst: pcap_setfilter
      Src: /src/libpcap/rpcapd/daemon.c:2412,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:2414,1
    - Dst: pcap_geterr
      Src: /src/libpcap/rpcapd/daemon.c:2414,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 5
    argNames:
    - sockctrl
    - ctrl_ssl
    - session
    - plenp
    - errmsgbuf
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - struct session*
    - uint32_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2419
      start: 2336
    functionDepth: 3
    functionLinenumber: 2336
    functionLinenumberEnd: 2419
    functionName: daemon_unpackapplyfilter
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 1
    functionsReached:
    - bpf_validate
    - ntohl
    - pcapint_fmt_errmsg_for_errno
    - pcap_geterr
    - ntohs
    - rpcapd_recv
    - snprintf
    - malloc
    - pcap_setfilter
    linkageType: ''
    returnType: int
    signature: int daemon_unpackapplyfilter(PCAP_SOCKET sockctrl, SSL *ctrl_ssl, struct
      session *session, uint32_t *plenp, char *errmsgbuf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: daemon_unpackapplyfilter
      Src: /src/libpcap/rpcapd/daemon.c:2430,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:2443,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/rpcapd/daemon.c:2450,1
    - Dst: sock_send
      Src: /src/libpcap/rpcapd/daemon.c:2452,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2455,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:2462,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:2466,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - ver
    - pars
    - session
    - plen
    argTypes:
    - uint8_t
    - struct daemon_slpars*
    - struct session*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2421
    functionDepth: 6
    functionLinenumber: 2421
    functionLinenumberEnd: 2470
    functionName: daemon_msg_updatefilter_req
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 1
    functionsReached:
    - rpcapd_log
    - rpcap_senderror
    - rpcap_createhdr
    - rpcapd_discard
    - sock_send
    - daemon_unpackapplyfilter
    linkageType: ''
    returnType: int
    signature: "int daemon_msg_updatefilter_req(uint8_t ver, struct daemon_slpars
      *pars,\n    struct session *session, uint32_t plen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rpcapd_recv
      Src: /src/libpcap/rpcapd/daemon.c:2485,1
    - Dst: ntohl
      Src: /src/libpcap/rpcapd/daemon.c:2497,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/rpcapd/daemon.c:2500,1
    - Dst: sock_send
      Src: /src/libpcap/rpcapd/daemon.c:2502,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2505,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:2509,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:2517,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2521,1
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:2526,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - ver
    - pars
    - plen
    - samp_param
    argTypes:
    - uint8_t
    - struct daemon_slpars*
    - uint32_t
    - struct rpcap_sampling*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2475
    functionDepth: 6
    functionLinenumber: 2475
    functionLinenumberEnd: 2532
    functionName: daemon_msg_setsampling_req
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 1
    functionsReached:
    - ntohl
    - rpcapd_log
    - rpcap_senderror
    - rpcap_createhdr
    - rpcapd_discard
    - sock_send
    - rpcapd_recv
    linkageType: ''
    returnType: int
    signature: "int daemon_msg_setsampling_req(uint8_t ver, struct daemon_slpars *pars,
      uint32_t plen,\n    struct rpcap_sampling *samp_param)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rpcapd_discard
      Src: /src/libpcap/rpcapd/daemon.c:2546,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:2552,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/rpcapd/daemon.c:2556,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:2561,1
    - Dst: pcap_stats
      Src: /src/libpcap/rpcapd/daemon.c:2567,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:2569,1
    - Dst: pcap_geterr
      Src: /src/libpcap/rpcapd/daemon.c:2569,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2573,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2574,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2575,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2576,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2583,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2584,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2585,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2586,1
    - Dst: sock_send
      Src: /src/libpcap/rpcapd/daemon.c:2590,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2592,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:2599,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 6
    argNames:
    - ver
    - pars
    - session
    - plen
    - stats
    - svrcapt
    argTypes:
    - uint8_t
    - struct daemon_slpars*
    - struct session*
    - uint32_t
    - struct pcap_stat*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2534
    functionDepth: 6
    functionLinenumber: 2534
    functionLinenumberEnd: 2602
    functionName: daemon_msg_stats_req
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 1
    functionsReached:
    - rpcapd_log
    - rpcap_senderror
    - rpcap_createhdr
    - rpcapd_discard
    - pcap_geterr
    - sock_bufferize
    - sock_send
    - pcap_stats
    - snprintf
    - htonl
    linkageType: ''
    returnType: int
    signature: "int daemon_msg_stats_req(uint8_t ver, struct daemon_slpars *pars,\n
      \   struct session *session, uint32_t plen, struct pcap_stat *stats,\n    unsigned
      int svrcapt)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/rpcapd/daemon.c:2630,1
    - Dst: pcap_snapshot
      Src: /src/libpcap/rpcapd/daemon.c:2636,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2642,1
    - Dst: pcap_snapshot
      Src: /src/libpcap/rpcapd/daemon.c:2644,1
    - Dst: pcap_snapshot
      Src: /src/libpcap/rpcapd/daemon.c:2664,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2667,1
    - Dst: malloc
      Src: /src/libpcap/rpcapd/daemon.c:2673,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2676,1
    - Dst: sigemptyset
      Src: /src/libpcap/rpcapd/daemon.c:2689,1
    - Dst: sigaddset
      Src: /src/libpcap/rpcapd/daemon.c:2690,1
    - Dst: pthread_sigmask
      Src: /src/libpcap/rpcapd/daemon.c:2691,1
    - Dst: pthread_sigmask
      Src: /src/libpcap/rpcapd/daemon.c:2701,1
    - Dst: pcap_next_ex
      Src: /src/libpcap/rpcapd/daemon.c:2703,1
    - Dst: pthread_sigmask
      Src: /src/libpcap/rpcapd/daemon.c:2708,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:2718,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2722,1
    - Dst: rpcap_createhdr
      Src: /src/libpcap/rpcapd/daemon.c:2728,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:2735,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2739,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2745,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2746,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2747,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2752,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2753,1
    - Dst: sock_bufferize
      Src: /src/libpcap/rpcapd/daemon.c:2756,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2760,1
    - Dst: sock_send
      Src: /src/libpcap/rpcapd/daemon.c:2769,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2779,1
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:2800,1
    - Dst: pcap_geterr
      Src: /src/libpcap/rpcapd/daemon.c:2800,1
    - Dst: rpcap_senderror
      Src: /src/libpcap/rpcapd/daemon.c:2801,1
    - Dst: free
      Src: /src/libpcap/rpcapd/daemon.c:2809,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2607
    functionDepth: 6
    functionLinenumber: 2607
    functionLinenumberEnd: 2812
    functionName: daemon_thrdatamain
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 0
    functionsReached:
    - rpcapd_log
    - pcap_snapshot
    - pcap_next_ex
    - rpcap_senderror
    - sigemptyset
    - pthread_sigmask
    - rpcap_createhdr
    - sock_bufferize
    - sock_send
    - pcap_geterr
    - sigaddset
    - snprintf
    - htonl
    - free
    - memset
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      #endif

      daemon_thrdatamain(void *ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sign
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2822
    functionName: noop_handler
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void noop_handler(int sign _U_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libpcap/rpcapd/daemon.c:2843,1
    - Dst: htons
      Src: /src/libpcap/rpcapd/daemon.c:2863,1
    - Dst: htons
      Src: /src/libpcap/rpcapd/daemon.c:2864,1
    - Dst: memcpy
      Src: /src/libpcap/rpcapd/daemon.c:2865,1
    - Dst: memset
      Src: /src/libpcap/rpcapd/daemon.c:2866,1
    - Dst: memcpy
      Src: /src/libpcap/rpcapd/daemon.c:2867,1
    - Dst: htons
      Src: /src/libpcap/rpcapd/daemon.c:2878,1
    - Dst: htons
      Src: /src/libpcap/rpcapd/daemon.c:2879,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2880,1
    - Dst: memcpy
      Src: /src/libpcap/rpcapd/daemon.c:2881,1
    - Dst: htonl
      Src: /src/libpcap/rpcapd/daemon.c:2882,1
    - Dst: memcpy
      Src: /src/libpcap/rpcapd/daemon.c:2883,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - sockaddrin
    - sockaddrout
    argTypes:
    - struct sockaddr_storage*
    - struct rpcap_sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2887
      start: 2840
    functionDepth: 1
    functionLinenumber: 2840
    functionLinenumberEnd: 2887
    functionName: daemon_seraddr
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 1
    functionsReached:
    - memcpy
    - memset
    - htons
    - htonl
    linkageType: ''
    returnType: void
    signature: void daemon_seraddr(struct sockaddr_storage *sockaddrin, struct rpcap_sockaddr
      *sockaddrout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - secs
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2897
      start: 2895
    functionDepth: 0
    functionLinenumber: 2895
    functionLinenumberEnd: 2897
    functionName: sleep_secs
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sleep_secs(int secs _U_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/libpcap/rpcapd/daemon.c:2902,1
    - Dst: sleep
      Src: /src/libpcap/rpcapd/daemon.c:2910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - secs
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2912
      start: 2899
    functionDepth: 0
    functionLinenumber: 2899
    functionLinenumberEnd: 2912
    functionName: sleep_secs
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 3
    functionsReached:
    - Sleep
    - sleep
    linkageType: ''
    returnType: void
    signature: void sleep_secs(int secs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sock_recv
      Src: /src/libpcap/rpcapd/daemon.c:2924,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2929,1
    - Dst: ntohl
      Src: /src/libpcap/rpcapd/daemon.c:2937,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - sock
    - ssl
    - headerp
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - struct rpcap_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2939
      start: 2918
    functionDepth: 6
    functionLinenumber: 2918
    functionLinenumberEnd: 2939
    functionName: rpcapd_recv_msg_header
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 1
    functionsReached:
    - rpcapd_log
    - ntohl
    - sock_recv
    linkageType: ''
    returnType: int
    signature: int rpcapd_recv_msg_header(PCAP_SOCKET sock, SSL *ssl, struct rpcap_header
      *headerp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libpcap/rpcapd/daemon.c:2959,1
    - Dst: sock_recv
      Src: /src/libpcap/rpcapd/daemon.c:2962,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2966,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - sock
    - ssl
    - buffer
    - toread
    - plen
    - errmsgbuf
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - char*
    - size_t
    - uint32_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2950
    functionDepth: 6
    functionLinenumber: 2950
    functionLinenumberEnd: 2971
    functionName: rpcapd_recv
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 4
    functionsReached:
    - rpcapd_log
    - sock_recv
    - snprintf
    linkageType: ''
    returnType: int
    signature: int rpcapd_recv(PCAP_SOCKET sock, SSL *ssl, char *buffer, size_t toread,
      uint32_t *plen, char *errmsgbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sock_discard
      Src: /src/libpcap/rpcapd/daemon.c:2986,1
    - Dst: rpcapd_log
      Src: /src/libpcap/rpcapd/daemon.c:2989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sock
    - ssl
    - len
    argTypes:
    - PCAP_SOCKET
    - SSL*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2979
    functionDepth: 7
    functionLinenumber: 2979
    functionLinenumberEnd: 2994
    functionName: rpcapd_discard
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 9
    functionsReached:
    - sock_discard
    - rpcapd_log
    linkageType: ''
    returnType: int
    signature: int rpcapd_discard(PCAP_SOCKET sock, SSL *ssl, uint32_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcap_breakloop
      Src: /src/libpcap/rpcapd/daemon.c:3016,1
    - Dst: SetEvent
      Src: /src/libpcap/rpcapd/daemon.c:3030,1
    - Dst: pcap_getevent
      Src: /src/libpcap/rpcapd/daemon.c:3030,1
    - Dst: WaitForSingleObject
      Src: /src/libpcap/rpcapd/daemon.c:3038,1
    - Dst: CloseHandle
      Src: /src/libpcap/rpcapd/daemon.c:3044,1
    - Dst: pthread_kill
      Src: /src/libpcap/rpcapd/daemon.c:3055,1
    - Dst: pthread_join
      Src: /src/libpcap/rpcapd/daemon.c:3063,1
    - Dst: memset
      Src: /src/libpcap/rpcapd/daemon.c:3065,1
    - Dst: ssl_finish
      Src: /src/libpcap/rpcapd/daemon.c:3074,1
    - Dst: sock_close
      Src: /src/libpcap/rpcapd/daemon.c:3081,1
    - Dst: pcap_close
      Src: /src/libpcap/rpcapd/daemon.c:3087,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - session
    argTypes:
    - struct session*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3005
    functionDepth: 6
    functionLinenumber: 3005
    functionLinenumberEnd: 3090
    functionName: session_close
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 3
    functionsReached:
    - pthread_join
    - pcap_getevent
    - CloseHandle
    - pcap_breakloop
    - WaitForSingleObject
    - ssl_finish
    - SetEvent
    - pthread_kill
    - memset
    - pcap_close
    - sock_close
    linkageType: ''
    returnType: void
    signature: void session_close(struct session *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libpcap/rpcapd/daemon.c:3123,1
    - Dst: strncmp
      Src: /src/libpcap/rpcapd/daemon.c:3142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - source
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3154
      start: 3098
    functionDepth: 0
    functionLinenumber: 3098
    functionLinenumberEnd: 3154
    functionName: is_url
    functionSourceFile: /src/libpcap/rpcapd/daemon.c
    functionUses: 1
    functionsReached:
    - strchr
    - strncmp
    linkageType: ''
    returnType: int
    signature: int is_url(const char *source)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - dst
    - src
    - dsize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 54
    functionName: pcapint_strlcpy
    functionSourceFile: /src/libpcap/missing/strlcpy.c
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pcapint_strlcpy(char * restrict dst, const char * restrict src,
      size_t dsize)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libpcap/missing/getopt.c:67,1
    - Dst: fprintf
      Src: /src/libpcap/missing/getopt.c:89,1
    - Dst: strchr
      Src: /src/libpcap/missing/getopt.c:93,1
    - Dst: fprintf
      Src: /src/libpcap/missing/getopt.c:104,1
    - Dst: fprintf
      Src: /src/libpcap/missing/getopt.c:121,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 3
    argNames:
    - nargc
    - nargv
    - ostr
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 132
    functionName: getopt
    functionSourceFile: /src/libpcap/missing/getopt.c
    functionUses: 9
    functionsReached:
    - fprintf
    - strchr
    - strrchr
    linkageType: ''
    returnType: int
    signature: int getopt(int nargc, char * const *nargv, const char *ostr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libpcap/missing/strlcat.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - dst
    - src
    - dsize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: pcapint_strlcat
    functionSourceFile: /src/libpcap/missing/strlcat.c
    functionUses: 3
    functionsReached:
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t pcapint_strlcat(char * restrict dst, const char * restrict src,
      size_t dsize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/libpcap/missing/asprintf.c:64,1
    - Dst: malloc
      Src: /src/libpcap/missing/asprintf.c:70,1
    - Dst: vsnprintf
      Src: /src/libpcap/missing/asprintf.c:75,1
    - Dst: free
      Src: /src/libpcap/missing/asprintf.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - strp
    - format
    - args
    argTypes:
    - char**
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 88
    functionName: pcapint_vasprintf
    functionSourceFile: /src/libpcap/missing/asprintf.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - malloc
    - free
    linkageType: ''
    returnType: int
    signature: int pcapint_vasprintf(char **strp, const char *format, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libpcap/missing/asprintf.c:96,1
    - Dst: pcapint_vasprintf
      Src: /src/libpcap/missing/asprintf.c:97,1
    - Dst: va_end
      Src: /src/libpcap/missing/asprintf.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - strp
    - format
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: pcapint_asprintf
    functionSourceFile: /src/libpcap/missing/asprintf.c
    functionUses: 6
    functionsReached:
    - va_start
    - pcapint_vasprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int pcapint_asprintf(char **strp, const char *format, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - s
    - delim
    - last
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 85
    functionName: pcapint_strtok_r
    functionSourceFile: /src/libpcap/missing/strtok_r.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      pcapint_strtok_r(char *s, const char *delim, char **last)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _vscprintf
      Src: /src/libpcap/missing/win_asprintf.c:15,1
    - Dst: malloc
      Src: /src/libpcap/missing/win_asprintf.c:21,1
    - Dst: vsnprintf
      Src: /src/libpcap/missing/win_asprintf.c:26,1
    - Dst: free
      Src: /src/libpcap/missing/win_asprintf.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - strp
    - format
    - args
    argTypes:
    - char**
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 39
    functionName: pcapint_vasprintf
    functionSourceFile: /src/libpcap/missing/win_asprintf.c
    functionUses: 1
    functionsReached:
    - vsnprintf
    - _vscprintf
    - malloc
    - free
    linkageType: ''
    returnType: int
    signature: int pcapint_vasprintf(char **strp, const char *format, va_list args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libpcap/missing/win_asprintf.c:47,1
    - Dst: pcapint_vasprintf
      Src: /src/libpcap/missing/win_asprintf.c:48,1
    - Dst: va_end
      Src: /src/libpcap/missing/win_asprintf.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - strp
    - format
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: pcapint_asprintf
    functionSourceFile: /src/libpcap/missing/win_asprintf.c
    functionUses: 6
    functionsReached:
    - va_start
    - pcapint_vasprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int pcapint_asprintf(char **strp, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 584
    functionName: RPL_DIO_GROUNDED
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RPL_DIO_GROUNDED(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 585
    functionName: RPL_DIO_MOP
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RPL_DIO_MOP(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 586
    functionName: RPL_DIO_PRF
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RPL_DIO_PRF(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 640
    functionName: RPL_DAO_K
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RPL_DAO_K(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 645
    functionName: RPL_DAO_D
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RPL_DAO_D(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 669
    functionName: RPL_DAOACK_D
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RPL_DAOACK_D(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 772
    functionName: get_rtpref
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_rtpref(u_int v)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp6.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 785
    functionName: get_lifetime
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      get_lifetime(uint32_t v)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 799
    functionName: get_pref64_len_repr
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_pref64_len_repr(uint16_t v)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:810,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:811,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - p
    - l
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 815
    functionName: print_lladdr
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void print_lladdr(netdissect_options *ndo, const uint8_t *p, u_int
      l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nextproto6_cksum
      Src: /src/tcpdump/print-icmp6.c:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ndo
    - ip6
    - icp
    - len
    argTypes:
    - netdissect_options*
    - struct ip6_hdr*
    - struct icmp6_hdr*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 822
    functionName: icmp6_cksum
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached:
    - nextproto6_cksum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t icmp6_cksum(netdissect_options *ndo, const struct ip6_hdr
      *ip6,\n\tconst struct icmp6_hdr *icp, u_int len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:854,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:857,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:861,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:862,1
    - Dst: tok2str
      Src: /src/tcpdump/print-icmp6.c:863,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-icmp6.c:865,1
    - Dst: hex_print
      Src: /src/tcpdump/print-icmp6.c:869,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-icmp6.c:880,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - ndo
    - opts
    - length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 881
    functionName: rpl_printopts
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - nd_print_trunc
    - hex_print
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    linkageType: ''
    returnType: void
    signature: void rpl_printopts(netdissect_options *ndo, const uint8_t *opts, u_int
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-icmp6.c:889,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:890,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:891,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:892,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:893,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:894,1
    - Dst: RPL_DIO_GROUNDED
      Src: /src/tcpdump/print-icmp6.c:895,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:895,1
    - Dst: tok2str
      Src: /src/tcpdump/print-icmp6.c:896,1
    - Dst: RPL_DIO_MOP
      Src: /src/tcpdump/print-icmp6.c:897,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:897,1
    - Dst: RPL_DIO_PRF
      Src: /src/tcpdump/print-icmp6.c:898,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:898,1
    - Dst: rpl_printopts
      Src: /src/tcpdump/print-icmp6.c:901,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-icmp6.c:906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 907
    functionName: rpl_dio_print
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - RPL_DIO_GROUNDED
    - GET_IP6ADDR_STRING
    - GET_BE_U_2
    - ND_PRINT
    - RPL_DIO_MOP
    - ND_ICHECK_ZU
    - rpl_printopts
    - nd_print_invalid
    - tok2str
    - RPL_DIO_PRF
    linkageType: ''
    returnType: void
    signature: "void rpl_dio_print(netdissect_options *ndo,\n              const u_char
      *bp, u_int length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-icmp6.c:917,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:921,1
    - Dst: RPL_DAO_D
      Src: /src/tcpdump/print-icmp6.c:922,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-icmp6.c:923,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:924,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:929,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:931,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:932,1
    - Dst: RPL_DAO_K
      Src: /src/tcpdump/print-icmp6.c:933,1
    - Dst: RPL_DAO_D
      Src: /src/tcpdump/print-icmp6.c:934,1
    - Dst: rpl_printopts
      Src: /src/tcpdump/print-icmp6.c:938,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-icmp6.c:942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 943
    functionName: rpl_dao_print
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached:
    - RPL_DAO_D
    - GET_U_1
    - GET_IP6ADDR_STRING
    - ND_PRINT
    - RPL_DAO_K
    - rpl_printopts
    - nd_print_invalid
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: "void rpl_dao_print(netdissect_options *ndo,\n              const u_char
      *bp, u_int length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-icmp6.c:952,1
    - Dst: RPL_DAOACK_D
      Src: /src/tcpdump/print-icmp6.c:956,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:956,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-icmp6.c:957,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:958,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:963,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:965,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:966,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:967,1
    - Dst: rpl_printopts
      Src: /src/tcpdump/print-icmp6.c:971,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-icmp6.c:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 945
    functionDepth: 2
    functionLinenumber: 945
    functionLinenumberEnd: 976
    functionName: rpl_daoack_print
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached:
    - RPL_DAOACK_D
    - GET_U_1
    - GET_IP6ADDR_STRING
    - ND_PRINT
    - rpl_printopts
    - nd_print_invalid
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: "void rpl_daoack_print(netdissect_options *ndo,\n                 const
      u_char *bp, u_int length)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:987,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:994,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:999,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1004,1
    - Dst: rpl_dio_print
      Src: /src/tcpdump/print-icmp6.c:1006,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1010,1
    - Dst: rpl_dao_print
      Src: /src/tcpdump/print-icmp6.c:1012,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1016,1
    - Dst: rpl_daoack_print
      Src: /src/tcpdump/print-icmp6.c:1018,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1022,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-icmp6.c:1029,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - ndo
    - icmp6_code
    - bp
    - length
    argTypes:
    - netdissect_options*
    - uint8_t
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 978
    functionDepth: 3
    functionLinenumber: 978
    functionLinenumberEnd: 1033
    functionName: rpl_print
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached:
    - nd_print_trunc
    - rpl_dao_print
    - ND_PRINT
    - rpl_daoack_print
    - rpl_dio_print
    linkageType: ''
    returnType: void
    signature: "void rpl_print(netdissect_options *ndo,\n          uint8_t icmp6_code,\n
      \         const u_char *bp, u_int length)"
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1055,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-icmp6.c:1056,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-icmp6.c:1063,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1064,1
    - Dst: icmp6_cksum
      Src: /src/tcpdump/print-icmp6.c:1065,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1067,1
    - Dst: in_cksum_shouldbe
      Src: /src/tcpdump/print-icmp6.c:1069,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1071,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1075,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1076,1
    - Dst: tok2str
      Src: /src/tcpdump/print-icmp6.c:1076,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1086,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1088,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1092,1
    - Dst: tok2str
      Src: /src/tcpdump/print-icmp6.c:1092,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1098,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1098,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1101,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1102,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1103,1
    - Dst: get_upperlayer
      Src: /src/tcpdump/print-icmp6.c:1106,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1110,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1113,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1114,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-icmp6.c:1115,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1118,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1119,1
    - Dst: udpport_string
      Src: /src/tcpdump/print-icmp6.c:1120,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1123,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1124,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-icmp6.c:1131,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1138,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1138,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1143,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1144,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1147,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1150,1
    - Dst: ND_TCHECK_16
      Src: /src/tcpdump/print-icmp6.c:1155,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1158,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1159,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1162,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1163,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1166,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1167,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1170,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1171,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1174,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1181,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1181,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1182,1
    - Dst: mld6_print
      Src: /src/tcpdump/print-icmp6.c:1186,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1188,1
    - Dst: mldv2_query_print
      Src: /src/tcpdump/print-icmp6.c:1189,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1191,1
    - Dst: mld6_print
      Src: /src/tcpdump/print-icmp6.c:1195,1
    - Dst: mld6_print
      Src: /src/tcpdump/print-icmp6.c:1198,1
    - Dst: icmp6_opt_print
      Src: /src/tcpdump/print-icmp6.c:1203,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1214,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1216,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-icmp6.c:1217,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1217,1
    - Dst: get_rtpref
      Src: /src/tcpdump/print-icmp6.c:1218,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1218,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1219,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1220,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1221,1
    - Dst: icmp6_opt_print
      Src: /src/tcpdump/print-icmp6.c:1223,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1232,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1232,1
    - Dst: icmp6_opt_print
      Src: /src/tcpdump/print-icmp6.c:1235,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1246,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1247,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1249,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-icmp6.c:1250,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1252,1
    - Dst: icmp6_opt_print
      Src: /src/tcpdump/print-icmp6.c:1254,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1266,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1266,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1267,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1267,1
    - Dst: icmp6_opt_print
      Src: /src/tcpdump/print-icmp6.c:1270,1
    - Dst: icmp6_rrenum_print
      Src: /src/tcpdump/print-icmp6.c:1278,1
    - Dst: icmp6_nodeinfo_print
      Src: /src/tcpdump/print-icmp6.c:1282,1
    - Dst: mldv2_report_print
      Src: /src/tcpdump/print-icmp6.c:1288,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1292,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1292,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1299,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1300,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-icmp6.c:1302,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-icmp6.c:1302,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1305,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1305,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1314,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1315,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1316,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1318,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1320,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1322,1
    - Dst: icmp6_opt_print
      Src: /src/tcpdump/print-icmp6.c:1324,1
    - Dst: rpl_print
      Src: /src/tcpdump/print-icmp6.c:1331,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1335,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1335,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1336,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1340,1
    - Dst: print_icmp_rfc8335
      Src: /src/tcpdump/print-icmp6.c:1341,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1345,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-icmp6.c:1347,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1351,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-icmp6.c:1354,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 232
    argCount: 5
    argNames:
    - ndo
    - bp
    - length
    - bp2
    - fragmented
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1035
    functionDepth: 4
    functionLinenumber: 1035
    functionLinenumberEnd: 1355
    functionName: icmp6_print
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached:
    - print_icmp_rfc8335
    - bittok2str
    - GET_U_1
    - GET_IP6ADDR_STRING
    - nd_print_invalid
    - rpl_print
    - GET_BE_U_4
    - icmp6_opt_print
    - ND_TCHECK_16
    - ND_PRINT
    - mld6_print
    - ND_BYTES_AVAILABLE_AFTER
    - get_rtpref
    - in_cksum_shouldbe
    - icmp6_cksum
    - udpport_string
    - print_unknown_data
    - mldv2_report_print
    - get_upperlayer
    - GET_BE_U_2
    - icmp6_rrenum_print
    - tok2str
    - ND_MIN
    - nd_print_trunc
    - ND_TTEST_LEN
    - tcpport_string
    - mldv2_query_print
    - icmp6_nodeinfo_print
    linkageType: ''
    returnType: void
    signature: "void icmp6_print(netdissect_options *ndo,\n            const u_char
      *bp, u_int length, const u_char *bp2, int fragmented)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-icmp6.c:1372,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1375,1
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-icmp6.c:1385,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-icmp6.c:1396,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1398,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1399,1
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-icmp6.c:1404,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1407,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1409,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-icmp6.c:1415,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1417,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1418,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 3
    argNames:
    - ndo
    - bp
    - prot
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1357
    functionDepth: 1
    functionLinenumber: 1357
    functionLinenumberEnd: 1428
    functionName: get_upperlayer
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - ND_TTEST_1
    - GET_BE_U_2
    - ND_TTEST_2
    linkageType: ''
    returnType: struct udphdr
    signature: 'struct udphdr *

      get_upperlayer(netdissect_options *ndo, const u_char *bp, u_int *prot)'
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-icmp6.c:1457,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1460,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1461,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1467,1
    - Dst: tok2str
      Src: /src/tcpdump/print-icmp6.c:1468,1
    - Dst: print_lladdr
      Src: /src/tcpdump/print-icmp6.c:1476,1
    - Dst: print_lladdr
      Src: /src/tcpdump/print-icmp6.c:1480,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1484,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1485,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1486,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-icmp6.c:1488,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1488,1
    - Dst: get_lifetime
      Src: /src/tcpdump/print-icmp6.c:1489,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1489,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1490,1
    - Dst: get_lifetime
      Src: /src/tcpdump/print-icmp6.c:1491,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1491,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-icmp6.c:1494,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1499,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1500,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1506,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1507,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1509,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1510,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1515,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1516,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1518,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1519,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-icmp6.c:1520,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1526,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1527,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1531,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1532,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1533,1
    - Dst: nd_print_bytes_hex
      Src: /src/tcpdump/print-icmp6.c:1537,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-icmp6.c:1541,1
    - Dst: memset
      Src: /src/tcpdump/print-icmp6.c:1542,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-icmp6.c:1547,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-icmp6.c:1550,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1555,1
    - Dst: ip6addr_string
      Src: /src/tcpdump/print-icmp6.c:1555,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1556,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1557,1
    - Dst: get_rtpref
      Src: /src/tcpdump/print-icmp6.c:1558,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1558,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1559,1
    - Dst: get_lifetime
      Src: /src/tcpdump/print-icmp6.c:1560,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1560,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1565,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1566,1
    - Dst: memset
      Src: /src/tcpdump/print-icmp6.c:1567,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-icmp6.c:1568,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1570,1
    - Dst: ip6addr_string
      Src: /src/tcpdump/print-icmp6.c:1571,1
    - Dst: get_pref64_len_repr
      Src: /src/tcpdump/print-icmp6.c:1572,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-icmp6.c:1578,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-icmp6.c:1585,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 115
    argCount: 3
    argNames:
    - ndo
    - bp
    - resid
    argTypes:
    - netdissect_options*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1430
    functionDepth: 2
    functionLinenumber: 1430
    functionLinenumberEnd: 1594
    functionName: icmp6_opt_print
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 1
    functionsReached:
    - bittok2str
    - nd_print_bytes_hex
    - GET_U_1
    - GET_IP6ADDR_STRING
    - get_lifetime
    - fqdn_print
    - GET_BE_U_4
    - ND_PRINT
    - get_rtpref
    - print_unknown_data
    - GET_BE_U_2
    - memset
    - tok2str
    - GET_CPY_BYTES
    - get_pref64_len_repr
    - ip6addr_string
    - ND_TCHECK_1
    - print_lladdr
    - ND_TCHECK_4
    linkageType: ''
    returnType: int
    signature: int icmp6_opt_print(netdissect_options *ndo, const u_char *bp, int
      resid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1608,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1608,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1609,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1610
    functionName: mld6_print
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 1
    functionsReached:
    - GET_BE_U_2
    - GET_IP6ADDR_STRING
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void mld6_print(netdissect_options *ndo, const u_char *bp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1621,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1625,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1626,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1633,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1636,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1636,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1637,1
    - Dst: tok2str
      Src: /src/tcpdump/print-icmp6.c:1637,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1638,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1639,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1642,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1646,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1649,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1651,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1651,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1653,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1657,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1612
    functionDepth: 1
    functionLinenumber: 1612
    functionLinenumberEnd: 1660
    functionName: mldv2_report_print
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - GET_IP6ADDR_STRING
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: void
    signature: void mldv2_report_print(netdissect_options *ndo, const u_char *bp,
      u_int len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1673,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1676,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1683,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1685,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1685,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1688,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1689,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1691,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1692,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1692,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1694,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1695,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1697,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1698,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1700,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1703,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1706,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1708,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1710,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1710,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1712,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1714,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1716,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1662
    functionDepth: 1
    functionLinenumber: 1662
    functionLinenumberEnd: 1717
    functionName: mldv2_query_print
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 1
    functionsReached:
    - GET_BE_U_2
    - GET_IP6ADDR_STRING
    - ND_PRINT
    - GET_U_1
    linkageType: ''
    returnType: void
    signature: void mldv2_query_print(netdissect_options *ndo, const u_char *bp, u_int
      len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1725,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1727,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1731,1
    - Dst: fn_print_char
      Src: /src/tcpdump/print-icmp6.c:1735,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1735,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1738,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1739,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1743,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1744,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1748,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1753,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - ndo
    - cp
    - ep
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1754
    functionName: dnsname_print
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - fn_print_char
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void dnsname_print(netdissect_options *ndo, const u_char *cp, const
      u_char *ep)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1772,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1776,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-icmp6.c:1780,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1782,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1783,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1785,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1788,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1791,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1792,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1794,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-icmp6.c:1795,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1798,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1801,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1802,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1804,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-icmp6.c:1805,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1808,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1811,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1815,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1818,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1820,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1825,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-icmp6.c:1827,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1831,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1834,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1835,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1838,1
    - Dst: dnsname_print
      Src: /src/tcpdump/print-icmp6.c:1839,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-icmp6.c:1842,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1846,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1849,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1850,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1853,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1858,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-icmp6.c:1867,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1869,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1870,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1873,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1878,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1882,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1885,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1889,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1893,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1895,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1899,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1902,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1903,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1906,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1910,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1911,1
    - Dst: dnsname_print
      Src: /src/tcpdump/print-icmp6.c:1913,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1914,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1915,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1915,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1919,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1920,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1921,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1923,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-icmp6.c:1924,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1930,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1931,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1932,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1938,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1939,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:1940,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1942,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-icmp6.c:1943,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:1949,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1951,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp6.c:1951,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1957,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1958,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1963,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-icmp6.c:1969,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 176
    argCount: 4
    argNames:
    - ndo
    - icmp6len
    - bp
    - ep
    argTypes:
    - netdissect_options*
    - u_int
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1756
    functionDepth: 2
    functionLinenumber: 1756
    functionLinenumberEnd: 1970
    functionName: icmp6_nodeinfo_print
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 1
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - GET_IP6ADDR_STRING
    - nd_print_trunc
    - ND_TTEST_LEN
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - dnsname_print
    - GET_BE_U_4
    - bittok2str_nosep
    linkageType: ''
    returnType: void
    signature: void icmp6_nodeinfo_print(netdissect_options *ndo, u_int icmp6len,
      const u_char *bp, const u_char *ep)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-icmp6.c:1987,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1988,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1990,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1993,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1996,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:1999,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:1999,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2003,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:2003,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2006,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2007,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2009,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-icmp6.c:2010,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2013,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2013,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2014,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp6.c:2014,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:2015,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2016,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:2016,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2018,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2021,1
    - Dst: ND_TCHECK_16
      Src: /src/tcpdump/print-icmp6.c:2025,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2028,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2030,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2031,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2032,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2033,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2034,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2035,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2036,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2037,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2041,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2041,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2042,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2042,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2043,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2043,1
    - Dst: addrtostr6
      Src: /src/tcpdump/print-icmp6.c:2045,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2046,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2046,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2048,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2048,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2050,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2052,1
    - Dst: ND_TCHECK_16
      Src: /src/tcpdump/print-icmp6.c:2060,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2063,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2065,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2066,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2067,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2069,1
    - Dst: F
      Src: /src/tcpdump/print-icmp6.c:2070,1
    - Dst: F
      Src: /src/tcpdump/print-icmp6.c:2071,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2075,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2076,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2077,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2078,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:2079,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2080,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2082,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:2083,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:2084,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2085,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2087,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp6.c:2088,1
    - Dst: addrtostr6
      Src: /src/tcpdump/print-icmp6.c:2090,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2091,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2092,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2093,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2095,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2095,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp6.c:2096,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp6.c:2098,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-icmp6.c:2105,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 99
    argCount: 3
    argNames:
    - ndo
    - bp
    - ep
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 1972
    functionDepth: 1
    functionLinenumber: 1972
    functionLinenumberEnd: 2106
    functionName: icmp6_rrenum_print
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 1
    functionsReached:
    - F
    - GET_U_1
    - nd_print_trunc
    - ND_TCHECK_16
    - GET_BE_U_2
    - addrtostr6
    - ND_PRINT
    - ND_TCHECK_4
    - GET_BE_U_4
    - bittok2str_nosep
    linkageType: ''
    returnType: void
    signature: void icmp6_rrenum_print(netdissect_options *ndo, const u_char *bp,
      const u_char *ep)
  - 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: 2069
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2069
    functionName: F
    functionSourceFile: /src/tcpdump/print-icmp6.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(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: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: roundup2
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roundup2(x, y)
  - 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: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: ND_MIN
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_MIN(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: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: ND_MAX
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_MAX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: IS_SRC_OR_DST_PORT
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SRC_OR_DST_PORT(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: IS_NOT_NEGATIVE
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NOT_NEGATIVE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: ND_TTEST_LEN
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TTEST_LEN(p, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: ND_TTEST_SIZE
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TTEST_SIZE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: ND_TCHECK_LEN
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TCHECK_LEN(p, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: ND_TCHECK_LEN
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TCHECK_LEN(p, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: ND_TCHECK_SIZE
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TCHECK_SIZE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 409
    functionName: ND_BYTES_BETWEEN
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_BYTES_BETWEEN(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 417
    functionName: ND_BYTES_AVAILABLE_AFTER
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_BYTES_AVAILABLE_AFTER(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - message
    - ','
    - expression_1
    - ','
    - operator
    - ','
    - expression_2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: ND_ICHECKMSG_U
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_ICHECKMSG_U(message, expression_1, operator, expression_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expression_1
    - ','
    - operator
    - ','
    - expression_2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: ND_ICHECK_U
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_ICHECK_U(expression_1, operator, expression_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - message
    - ','
    - expression_1
    - ','
    - operator
    - ','
    - expression_2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 448
    functionName: ND_ICHECKMSG_ZU
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_ICHECKMSG_ZU(message, expression_1, operator, expression_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expression_1
    - ','
    - operator
    - ','
    - expression_2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: ND_ICHECK_ZU
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_ICHECK_ZU(expression_1, operator, expression_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: ND_PRINT
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_PRINT(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ap
    - ','
    - length
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 458
    functionName: ND_DEFAULTPRINT
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_DEFAULTPRINT(ap, length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - q
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: UNALIGNED_MEMCPY
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_MEMCPY(p, q, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - q
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 505
    functionName: UNALIGNED_MEMCMP
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_MEMCMP(p, q, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - q
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 520
    functionName: UNALIGNED_MEMCPY
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_MEMCPY(p, q, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - q
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 521
    functionName: UNALIGNED_MEMCMP
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_MEMCMP(p, q, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: PLURAL_SUFFIX
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLURAL_SUFFIX(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - f
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 528
    functionName: tok2strary
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tok2strary(a,f,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 537
    functionName: uint2tokary
    functionSourceFile: /src/tcpdump/netdissect.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uint2tokary(a, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ap1394.c:60,1
    - Dst: eui64_string
      Src: /src/tcpdump/print-ap1394.c:61,1
    - Dst: eui64_string
      Src: /src/tcpdump/print-ap1394.c:62,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ap1394.c:64,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ap1394.c:66,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ap1394.c:67,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ap1394.c:70,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ap1394.c:70,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ap1394.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 74
    functionName: ap1394_hdr_print
    functionSourceFile: /src/tcpdump/print-ap1394.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - tok2str
    - ND_PRINT
    - eui64_string
    linkageType: ''
    returnType: void
    signature: void ap1394_hdr_print(netdissect_options *ndo, const u_char *bp, u_int
      length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ap1394.c:92,1
    - Dst: ap1394_hdr_print
      Src: /src/tcpdump/print-ap1394.c:96,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ap1394.c:103,1
    - Dst: ethertype_print
      Src: /src/tcpdump/print-ap1394.c:108,1
    - Dst: ap1394_hdr_print
      Src: /src/tcpdump/print-ap1394.c:111,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-ap1394.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 116
    functionName: ap1394_if_print
    functionSourceFile: /src/tcpdump/print-ap1394.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    - ethertype_print
    - ap1394_hdr_print
    linkageType: ''
    returnType: void
    signature: void ap1394_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - indent
    argTypes:
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 166
    functionName: indent_string
    functionSourceFile: /src/tcpdump/print-rpki-rtr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      indent_string (u_int indent)'
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rpki-rtr.c:181,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rpki-rtr.c:185,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rpki-rtr.c:193,1
    - Dst: indent_string
      Src: /src/tcpdump/print-rpki-rtr.c:193,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rpki-rtr.c:196,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rpki-rtr.c:197,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rpki-rtr.c:204,1
    - Dst: indent_string
      Src: /src/tcpdump/print-rpki-rtr.c:205,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rpki-rtr.c:207,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rpki-rtr.c:223,1
    - Dst: indent_string
      Src: /src/tcpdump/print-rpki-rtr.c:224,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rpki-rtr.c:225,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rpki-rtr.c:226,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rpki-rtr.c:247,1
    - Dst: indent_string
      Src: /src/tcpdump/print-rpki-rtr.c:248,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rpki-rtr.c:249,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rpki-rtr.c:259,1
    - Dst: indent_string
      Src: /src/tcpdump/print-rpki-rtr.c:260,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rpki-rtr.c:261,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rpki-rtr.c:262,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rpki-rtr.c:262,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rpki-rtr.c:263,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rpki-rtr.c:263,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rpki-rtr.c:274,1
    - Dst: indent_string
      Src: /src/tcpdump/print-rpki-rtr.c:275,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rpki-rtr.c:276,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rpki-rtr.c:277,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rpki-rtr.c:277,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rpki-rtr.c:278,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rpki-rtr.c:278,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rpki-rtr.c:292,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rpki-rtr.c:298,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rpki-rtr.c:299,1
    - Dst: indent_string
      Src: /src/tcpdump/print-rpki-rtr.c:300,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rpki-rtr.c:301,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rpki-rtr.c:320,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rpki-rtr.c:322,1
    - Dst: indent_string
      Src: /src/tcpdump/print-rpki-rtr.c:322,1
    - Dst: rpki_rtr_pdu_print
      Src: /src/tcpdump/print-rpki-rtr.c:323,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rpki-rtr.c:334,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rpki-rtr.c:343,1
    - Dst: indent_string
      Src: /src/tcpdump/print-rpki-rtr.c:343,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-rpki-rtr.c:344,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rpki-rtr.c:350,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-rpki-rtr.c:360,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-rpki-rtr.c:365,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rpki-rtr.c:366,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 106
    argCount: 5
    argNames:
    - ndo
    - tptr
    - len
    - recurse
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 368
    functionName: rpki_rtr_pdu_print
    functionSourceFile: /src/tcpdump/print-rpki-rtr.c
    functionUses: 1
    functionsReached:
    - GET_IPADDR_STRING
    - print_unknown_data
    - nd_printjn
    - tok2str
    - nd_print_invalid
    - GET_U_1
    - GET_IP6ADDR_STRING
    - GET_BE_U_2
    - ND_PRINT
    - rpki_rtr_pdu_print
    - ND_TCHECK_LEN
    - indent_string
    - GET_BE_U_4
    linkageType: ''
    returnType: u_int
    signature: "u_int rpki_rtr_pdu_print(netdissect_options *ndo, const u_char *tptr,
      const u_int len,\n\t\t   const u_char recurse, const u_int indent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rpki-rtr.c:375,1
    - Dst: rpki_rtr_pdu_print
      Src: /src/tcpdump/print-rpki-rtr.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 383
    functionName: rpki_rtr_print
    functionSourceFile: /src/tcpdump/print-rpki-rtr.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - rpki_rtr_pdu_print
    linkageType: ''
    returnType: void
    signature: void rpki_rtr_print(netdissect_options *ndo, const u_char *pptr, u_int
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-vxlan.c:56,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-vxlan.c:57,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vxlan.c:59,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vxlan.c:61,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-vxlan.c:62,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vxlan.c:71,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-vxlan.c:71,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vxlan.c:73,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-vxlan.c:77,1
    - Dst: ether_print
      Src: /src/tcpdump/print-vxlan.c:80,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-vxlan.c:80,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-vxlan.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 86
    functionName: vxlan_print
    functionSourceFile: /src/tcpdump/print-vxlan.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - nd_print_protocol_caps
    - ND_TCHECK_1
    - ND_PRINT
    - ether_print
    - GET_BE_U_3
    - ND_BYTES_AVAILABLE_AFTER
    - nd_print_invalid
    - ND_ICHECK_U
    - bittok2str_nosep
    linkageType: ''
    returnType: void
    signature: void vxlan_print(netdissect_options *ndo, const u_char *bp, u_int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipcomp.c:45,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipcomp.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: ipcomp_print
    functionSourceFile: /src/tcpdump/print-ipcomp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void ipcomp_print(netdissect_options *ndo, const u_char *bp)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:302,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:303,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bootp.c:304,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:306,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:307,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:309,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-bootp.c:309,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:312,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-bootp.c:317,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:321,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:325,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:328,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:329,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:329,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bootp.c:330,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:331,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bootp.c:331,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bootp.c:332,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:333,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bootp.c:333,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:335,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-bootp.c:336,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bootp.c:336,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:338,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bootp.c:338,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-bootp.c:341,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:342,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bootp.c:342,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-bootp.c:345,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:346,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bootp.c:346,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-bootp.c:349,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:350,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bootp.c:350,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-bootp.c:353,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:354,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bootp.c:354,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:358,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-bootp.c:358,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:361,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:362,1
    - Dst: nd_printztn
      Src: /src/tcpdump/print-bootp.c:363,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:366,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:369,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:371,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:372,1
    - Dst: nd_printztn
      Src: /src/tcpdump/print-bootp.c:373,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:376,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:379,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-bootp.c:383,1
    - Dst: memcmp
      Src: /src/tcpdump/print-bootp.c:384,1
    - Dst: rfc1048_print
      Src: /src/tcpdump/print-bootp.c:386,1
    - Dst: memcmp
      Src: /src/tcpdump/print-bootp.c:387,1
    - Dst: cmu_print
      Src: /src/tcpdump/print-bootp.c:389,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bootp.c:393,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:395,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:399,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 400
    functionName: bootp_print
    functionSourceFile: /src/tcpdump/print-bootp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - bittok2str
    - ND_TCHECK_2
    - cmu_print
    - GET_U_1
    - nd_printztn
    - nd_print_invalid
    - memcmp
    - rfc1048_print
    - GET_BE_U_2
    - GET_MAC48_STRING
    - ND_PRINT
    - GET_IPV4_TO_NETWORK_ORDER
    - tok2str
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void bootp_print(netdissect_options *ndo,\n\t    const u_char *cp,
      u_int length)"
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:605,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:608,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bootp.c:608,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-bootp.c:612,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:613,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bootp.c:619,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:626,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:630,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-bootp.c:635,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:636,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:641,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bootp.c:645,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:648,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bootp.c:649,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:649,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:657,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bootp.c:660,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:662,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:664,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:665,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:686,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-bootp.c:687,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:688,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:699,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:701,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bootp.c:701,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:703,1
    - Dst: GET_BE_S_4
      Src: /src/tcpdump/print-bootp.c:703,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:705,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bootp.c:705,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:716,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:724,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:725,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bootp.c:725,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:728,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bootp.c:728,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:739,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:740,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bootp.c:740,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:752,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:753,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:760,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:763,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:766,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:769,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:784,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:785,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:787,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:789,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:803,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:804,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:807,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:810,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bootp.c:810,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:816,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:817,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:820,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:823,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bootp.c:823,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:829,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:830,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:835,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:836,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:837,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:838,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:840,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:841,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-bootp.c:842,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:842,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:844,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:844,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:845,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:845,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:846,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:848,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-bootp.c:849,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:850,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:861,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:862,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:865,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:869,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-bootp.c:870,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:871,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:876,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bootp.c:876,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:879,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:880,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:880,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:891,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:892,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:896,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bootp.c:897,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:904,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bootp.c:905,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-bootp.c:913,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-bootp.c:917,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:932,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:933,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:940,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:941,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:946,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:947,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:955,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:956,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:961,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:963,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:967,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:968,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:969,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:973,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:974,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:976,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bootp.c:976,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:990,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:991,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:997,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1000,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1001,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1003,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:1004,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1010,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:1012,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1017,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-bootp.c:1018,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1019,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1020,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bootp.c:1041,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1044,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1045,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1047,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1052,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-bootp.c:1053,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1054,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1059,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:1060,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1067,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bootp.c:1068,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1073,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bootp.c:1073,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1079,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1089,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 389
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 1093
    functionName: rfc1048_print
    functionSourceFile: /src/tcpdump/print-bootp.c
    functionUses: 1
    functionsReached:
    - ND_TTEST_1
    - GET_IPADDR_STRING
    - print_unknown_data
    - nd_printjn
    - nd_print_invalid
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_S_4
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    - bittok2str_nosep
    linkageType: ''
    returnType: void
    signature: "void rfc1048_print(netdissect_options *ndo,\n\t      const u_char
      *bp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1098
    functionName: PRINTCMUADDR
    functionSourceFile: /src/tcpdump/print-bootp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTCMUADDR(m, s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1106,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-bootp.c:1110,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bootp.c:1111,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bootp.c:1113,1
    - Dst: PRINTCMUADDR
      Src: /src/tcpdump/print-bootp.c:1114,1
    - Dst: PRINTCMUADDR
      Src: /src/tcpdump/print-bootp.c:1115,1
    - Dst: PRINTCMUADDR
      Src: /src/tcpdump/print-bootp.c:1116,1
    - Dst: PRINTCMUADDR
      Src: /src/tcpdump/print-bootp.c:1117,1
    - Dst: PRINTCMUADDR
      Src: /src/tcpdump/print-bootp.c:1118,1
    - Dst: PRINTCMUADDR
      Src: /src/tcpdump/print-bootp.c:1119,1
    - Dst: PRINTCMUADDR
      Src: /src/tcpdump/print-bootp.c:1120,1
    - Dst: PRINTCMUADDR
      Src: /src/tcpdump/print-bootp.c:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1099
    functionDepth: 1
    functionLinenumber: 1099
    functionLinenumberEnd: 1122
    functionName: cmu_print
    functionSourceFile: /src/tcpdump/print-bootp.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - PRINTCMUADDR
    - ND_PRINT
    - ND_TCHECK_4
    linkageType: ''
    returnType: void
    signature: "void cmu_print(netdissect_options *ndo,\n\t  const u_char *bp)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msdp.c:38,1
    - Dst: nd_print_protocol
      Src: /src/tcpdump/print-msdp.c:39,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-msdp.c:41,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-msdp.c:42,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-msdp.c:43,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-msdp.c:44,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-msdp.c:45,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-msdp.c:46,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-msdp.c:50,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-msdp.c:51,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-msdp.c:52,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msdp.c:54,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-msdp.c:55,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-msdp.c:56,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msdp.c:61,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msdp.c:63,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-msdp.c:66,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-msdp.c:67,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msdp.c:68,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-msdp.c:71,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-msdp.c:73,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-msdp.c:76,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msdp.c:80,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msdp.c:82,1
    - Dst: ip_print
      Src: /src/tcpdump/print-msdp.c:83,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msdp.c:90,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-msdp.c:93,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-msdp.c:94,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-msdp.c:97,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msdp.c:99,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msdp.c:100,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-msdp.c:100,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msdp.c:103,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msdp.c:105,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msdp.c:108,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msdp.c:111,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-msdp.c:114,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-msdp.c:121,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 3
    argNames:
    - ndo
    - sp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 123
    functionName: msdp_print
    functionSourceFile: /src/tcpdump/print-msdp.c
    functionUses: 0
    functionsReached:
    - nd_print_protocol
    - GET_IPADDR_STRING
    - nd_print_invalid
    - GET_U_1
    - ip_print
    - GET_BE_U_2
    - ND_TCHECK_1
    - ND_PRINT
    - ND_TCHECK_LEN
    - ND_ICHECK_U
    - ND_TCHECK_4
    linkageType: ''
    returnType: void
    signature: void msdp_print(netdissect_options *ndo, const u_char *sp, u_int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 624
    functionName: DECLARE_PRINTER
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_PRINTER(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - tab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 775
    functionName: STR_OR_ID
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_OR_ID(x, tab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 776
    functionName: PROTOIDSTR
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOIDSTR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 777
    functionName: NPSTR
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NPSTR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 778
    functionName: ETYPESTR
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ETYPESTR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - np
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 784
    functionName: CHECKLEN
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKLEN(p, np)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 789
    functionName: NPFUNC
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NPFUNC(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ndo
    - p
    - l
    argTypes:
    - netdissect_options*
    - u_char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 800
    functionName: iszero
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    linkageType: ''
    returnType: int
    signature: int iszero(netdissect_options *ndo, const u_char *p, size_t l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tcpdump/print-isakmp.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - cookie_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 814
    functionName: cookie_find
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int cookie_find(const cookie_t *in)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cookie_find
      Src: /src/tcpdump/print-isakmp.c:824,1
    - Dst: IP_V
      Src: /src/tcpdump/print-isakmp.c:831,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-isakmp.c:834,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-isakmp.c:836,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-isakmp.c:842,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-isakmp.c:844,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-isakmp.c:850,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - ndo
    - in
    - bp2
    argTypes:
    - netdissect_options*
    - cookie_t*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 852
    functionName: cookie_record
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - UNALIGNED_MEMCPY
    - cookie_find
    - IP_V
    linkageType: ''
    returnType: void
    signature: void cookie_record(netdissect_options *ndo, const cookie_t *in, const
      u_char *bp2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ndo
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 855
    functionName: cookie_isinitiator
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cookie_isinitiator(ndo, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ndo
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 856
    functionName: cookie_isresponder
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cookie_isresponder(ndo, x, y)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: IP_V
      Src: /src/tcpdump/print-isakmp.c:863,1
    - Dst: UNALIGNED_MEMCMP
      Src: /src/tcpdump/print-isakmp.c:868,1
    - Dst: UNALIGNED_MEMCMP
      Src: /src/tcpdump/print-isakmp.c:871,1
    - Dst: UNALIGNED_MEMCMP
      Src: /src/tcpdump/print-isakmp.c:880,1
    - Dst: UNALIGNED_MEMCMP
      Src: /src/tcpdump/print-isakmp.c:883,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - ndo
    - i
    - bp2
    - initiator
    argTypes:
    - netdissect_options*
    - int
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 892
    functionName: cookie_sidecheck
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - UNALIGNED_MEMCMP
    - IP_V
    linkageType: ''
    returnType: int
    signature: int cookie_sidecheck(netdissect_options *ndo, int i, const u_char *bp2,
      int initiator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ndo
    - loc
    - len
    argTypes:
    - netdissect_options*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 903
    functionName: hexprint
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void hexprint(netdissect_options *ndo, const uint8_t *loc, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isakmp.c:908,1
    - Dst: hexprint
      Src: /src/tcpdump/print-isakmp.c:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - loc
    - len
    argTypes:
    - netdissect_options*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 914
    functionName: rawprint
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - hexprint
    linkageType: ''
    returnType: int
    signature: int rawprint(netdissect_options *ndo, const uint8_t *loc, size_t len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:937,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:938,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:939,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:941,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:943,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - ndo
    - cp
    - ep
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 948
    functionName: ike_show_somedata
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - rawprint
    linkageType: ''
    returnType: int
    signature: "int ike_show_somedata(netdissect_options *ndo,\n\t\t\t     const u_char
      *cp, const u_char *ep)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:964,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:967,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:970,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:974,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:975,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:977,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:979,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:980,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:981,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:982,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:984,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:986,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:987,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:992,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:993,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:994,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:998,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 5
    argNames:
    - ndo
    - p
    - ep2
    - map
    - nmap
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - struct attrmap*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 1003
    functionName: ikev1_attrmap_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - rawprint
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_attrmap_print(netdissect_options *ndo,\n\t\t    const
      u_char *p, const u_char *ep2,\n\t\t    const struct attrmap *map, size_t nmap)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1011,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:1014,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1017,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1021,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:1022,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1023,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1024,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1025,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1026,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1027,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1028,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1032,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1033,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1034,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1038,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - ndo
    - p
    - ep2
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1005
    functionDepth: 2
    functionLinenumber: 1005
    functionLinenumberEnd: 1043
    functionName: ikev1_attr_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - rawprint
    linkageType: ''
    returnType: u_char
    signature: 'u_char *

      ikev1_attr_print(netdissect_options *ndo, const u_char *p, const u_char *ep2)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1057,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1057,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1060,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isakmp.c:1061,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isakmp.c:1062,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1064,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1065,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1069,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1070,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1073,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1077,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1081,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isakmp.c:1085,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1086,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1091,1
    - Dst: ikev1_sub_print
      Src: /src/tcpdump/print-isakmp.c:1093,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1098,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - ep
    - phase
    - doi0
    - proto0
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1100
    functionName: ikev1_sa_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - NPSTR
    - ikev1_sub_print
    - ND_PRINT
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_sa_print(netdissect_options *ndo, u_char tpay _U_,\n\t
      \      const struct isakmp_gen *ext,\n\t\tu_int item_len _U_,\n\t\tconst u_char
      *ep, uint32_t phase, uint32_t doi0 _U_,\n\t\tuint32_t proto0, int depth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1112,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1112,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1115,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1116,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1117,1
    - Dst: PROTOIDSTR
      Src: /src/tcpdump/print-isakmp.c:1117,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1117,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1118,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1119,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1121,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1122,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1127,1
    - Dst: ikev1_sub_print
      Src: /src/tcpdump/print-isakmp.c:1129,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1130,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1134,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - ep
    - phase
    - doi0
    - proto0
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1102
    functionDepth: 2
    functionLinenumber: 1102
    functionLinenumberEnd: 1136
    functionName: ikev1_p_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - NPSTR
    - ikev1_sub_print
    - PROTOIDSTR
    - ND_PRINT
    - rawprint
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_p_print(netdissect_options *ndo, u_char tpay _U_,\n\t
      \     const struct isakmp_gen *ext, u_int item_len _U_,\n\t       const u_char
      *ep, uint32_t phase, uint32_t doi0,\n\t       uint32_t proto0 _U_, int depth)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1279,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1279,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1282,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:1286,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1286,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:1291,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1291,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:1296,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1296,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:1301,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1301,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1313,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1313,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1315,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1315,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1315,1
    - Dst: ikev1_attrmap_print
      Src: /src/tcpdump/print-isakmp.c:1320,1
    - Dst: ikev1_attr_print
      Src: /src/tcpdump/print-isakmp.c:1322,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1327,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1330,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1330,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - ep
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1266
    functionDepth: 3
    functionLinenumber: 1266
    functionLinenumberEnd: 1332
    functionName: ikev1_t_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - STR_OR_ID
    - GET_U_1
    - NPSTR
    - ikev1_attrmap_print
    - ikev1_attr_print
    - ND_PRINT
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_t_print(netdissect_options *ndo, u_char tpay _U_,\n\t
      \     const struct isakmp_gen *ext, u_int item_len,\n\t      const u_char *ep,
      uint32_t phase _U_, uint32_t doi _U_,\n\t      uint32_t proto, int depth _U_)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1340,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1340,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1342,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1346,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1349,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1350,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1355,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1334
    functionDepth: 2
    functionLinenumber: 1334
    functionLinenumberEnd: 1357
    functionName: ikev1_ke_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - NPSTR
    - ND_PRINT
    - rawprint
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_ke_print(netdissect_options *ndo, u_char tpay _U_,\n\t
      \      const struct isakmp_gen *ext, u_int item_len,\n\t       const u_char
      *ep _U_, uint32_t phase _U_, uint32_t doi _U_,\n\t       uint32_t proto _U_,
      int depth _U_)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1378,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1378,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1381,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1391,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1398,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:1399,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1399,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1400,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isakmp.c:1401,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1414,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1415,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1416,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:1416,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1418,1
    - Dst: netdb_protoname
      Src: /src/tcpdump/print-isakmp.c:1419,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1420,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1422,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1423,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:1423,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isakmp.c:1428,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1432,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1434,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-isakmp.c:1434,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1440,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-isakmp.c:1441,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1449,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1452,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-isakmp.c:1453,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1454,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1454,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1455,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1456,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1463,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1465,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-isakmp.c:1465,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1472,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1476,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-isakmp.c:1477,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1478,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1478,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1479,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1480,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1481,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1482,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1483,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1484,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1485,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1486,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1487,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1488,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1489,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1490,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1491,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1492,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1499,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1501,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-isakmp.c:1502,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-isakmp.c:1503,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1509,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1511,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-isakmp.c:1512,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-isakmp.c:1513,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1526,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1528,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1529,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1535,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1535,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 109
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1359
    functionDepth: 2
    functionLinenumber: 1359
    functionLinenumberEnd: 1537
    functionName: ikev1_id_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - nd_printjn
    - STR_OR_ID
    - GET_U_1
    - NPSTR
    - GET_BE_U_4
    - GET_IP6ADDR_STRING
    - GET_BE_U_2
    - netdb_protoname
    - ND_PRINT
    - rawprint
    - ND_TCHECK_LEN
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_id_print(netdissect_options *ndo, u_char tpay _U_,\n\t
      \      const struct isakmp_gen *ext, u_int item_len,\n\t       const u_char
      *ep _U_, uint32_t phase, uint32_t doi _U_,\n\t       uint32_t proto _U_, int
      depth _U_)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1553,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1553,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1556,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1560,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1561,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:1561,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1561,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1564,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1565,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1570,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi0
    - proto0
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1539
    functionDepth: 2
    functionLinenumber: 1539
    functionLinenumberEnd: 1572
    functionName: ikev1_cert_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - STR_OR_ID
    - GET_U_1
    - NPSTR
    - ND_PRINT
    - rawprint
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_cert_print(netdissect_options *ndo, u_char tpay _U_,\n\t\t
      const struct isakmp_gen *ext, u_int item_len,\n\t\t const u_char *ep _U_, uint32_t
      phase _U_,\n\t\t uint32_t doi0 _U_,\n\t\t uint32_t proto0 _U_, int depth _U_)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1587,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1587,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1590,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1594,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1595,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:1595,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1595,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1598,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1599,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1604,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi0
    - proto0
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1574
    functionDepth: 2
    functionLinenumber: 1574
    functionLinenumberEnd: 1606
    functionName: ikev1_cr_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - STR_OR_ID
    - GET_U_1
    - NPSTR
    - ND_PRINT
    - rawprint
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_cr_print(netdissect_options *ndo, u_char tpay _U_,\n\t
      \      const struct isakmp_gen *ext, u_int item_len,\n\t       const u_char
      *ep _U_, uint32_t phase _U_, uint32_t doi0 _U_,\n\t       uint32_t proto0 _U_,
      int depth _U_)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1614,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1614,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1616,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1620,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1623,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1624,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1629,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1608
    functionDepth: 2
    functionLinenumber: 1608
    functionLinenumberEnd: 1631
    functionName: ikev1_hash_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - NPSTR
    - ND_PRINT
    - rawprint
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_hash_print(netdissect_options *ndo, u_char tpay _U_,\n\t\t
      const struct isakmp_gen *ext, u_int item_len,\n\t\t const u_char *ep _U_, uint32_t
      phase _U_, uint32_t doi _U_,\n\t\t uint32_t proto _U_, int depth _U_)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1639,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1639,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1641,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1645,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1648,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1649,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1654,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1633
    functionDepth: 2
    functionLinenumber: 1633
    functionLinenumberEnd: 1656
    functionName: ikev1_sig_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - NPSTR
    - ND_PRINT
    - rawprint
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_sig_print(netdissect_options *ndo, u_char tpay _U_,\n\t\tconst
      struct isakmp_gen *ext, u_int item_len,\n\t\tconst u_char *ep _U_, uint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth _U_)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1666,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1666,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1668,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1672,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1675,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1676,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1679,1
    - Dst: ike_show_somedata
      Src: /src/tcpdump/print-isakmp.c:1680,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1686,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - ep
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1658
    functionDepth: 3
    functionLinenumber: 1658
    functionLinenumberEnd: 1688
    functionName: ikev1_nonce_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - NPSTR
    - ike_show_somedata
    - ND_PRINT
    - rawprint
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_nonce_print(netdissect_options *ndo, u_char tpay _U_,\n\t\t
      \ const struct isakmp_gen *ext,\n\t\t  u_int item_len,\n\t\t  const u_char *ep,\n\t\t
      \ uint32_t phase _U_, uint32_t doi _U_,\n\t\t  uint32_t proto _U_, int depth
      _U_)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1749,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1749,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1752,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isakmp.c:1753,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1754,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1756,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1757,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:1758,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1760,1
    - Dst: NOTIFY_ERROR_STR
      Src: /src/tcpdump/print-isakmp.c:1760,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1762,1
    - Dst: numstr
      Src: /src/tcpdump/print-isakmp.c:1762,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1764,1
    - Dst: NOTIFY_STATUS_STR
      Src: /src/tcpdump/print-isakmp.c:1764,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1766,1
    - Dst: numstr
      Src: /src/tcpdump/print-isakmp.c:1766,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1767,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1769,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1770,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1776,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1777,1
    - Dst: PROTOIDSTR
      Src: /src/tcpdump/print-isakmp.c:1777,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:1778,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1780,1
    - Dst: NOTIFY_ERROR_STR
      Src: /src/tcpdump/print-isakmp.c:1780,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1782,1
    - Dst: IPSEC_NOTIFY_ERROR_STR
      Src: /src/tcpdump/print-isakmp.c:1782,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1784,1
    - Dst: NOTIFY_STATUS_STR
      Src: /src/tcpdump/print-isakmp.c:1784,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1786,1
    - Dst: IPSEC_NOTIFY_STATUS_STR
      Src: /src/tcpdump/print-isakmp.c:1786,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1788,1
    - Dst: numstr
      Src: /src/tcpdump/print-isakmp.c:1788,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1789,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1791,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1792,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1805,1
    - Dst: ikev1_attrmap_print
      Src: /src/tcpdump/print-isakmp.c:1807,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1809,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1813,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1817,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1818,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isakmp.c:1819,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1820,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1828,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1829,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1831,1
    - Dst: ike_show_somedata
      Src: /src/tcpdump/print-isakmp.c:1833,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1841,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1841,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 87
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - ep
    - phase
    - doi0
    - proto0
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1690
    functionDepth: 3
    functionLinenumber: 1690
    functionLinenumberEnd: 1843
    functionName: ikev1_n_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - numstr
    - IPSEC_NOTIFY_ERROR_STR
    - GET_U_1
    - NPSTR
    - ikev1_attrmap_print
    - ike_show_somedata
    - GET_BE_U_2
    - NOTIFY_ERROR_STR
    - PROTOIDSTR
    - IPSEC_NOTIFY_STATUS_STR
    - ND_PRINT
    - rawprint
    - NOTIFY_STATUS_STR
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_n_print(netdissect_options *ndo, u_char tpay _U_,\n\t
      \     const struct isakmp_gen *ext, u_int item_len,\n\t      const u_char *ep,
      uint32_t phase _U_, uint32_t doi0 _U_,\n\t      uint32_t proto0 _U_, int depth
      _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1736
    functionName: NOTIFY_ERROR_STR
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOTIFY_ERROR_STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1740
    functionName: IPSEC_NOTIFY_ERROR_STR
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IPSEC_NOTIFY_ERROR_STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1744
    functionName: NOTIFY_STATUS_STR
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOTIFY_STATUS_STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1748
    functionName: IPSEC_NOTIFY_STATUS_STR
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IPSEC_NOTIFY_STATUS_STR(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1859,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1859,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1862,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isakmp.c:1863,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1864,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1866,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1867,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1869,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1870,1
    - Dst: PROTOIDSTR
      Src: /src/tcpdump/print-isakmp.c:1870,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1872,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1873,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:1874,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1875,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1878,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1881,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1882,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1889,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1889,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi0
    - proto0
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1845
    functionDepth: 2
    functionLinenumber: 1845
    functionLinenumberEnd: 1891
    functionName: ikev1_d_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - NPSTR
    - GET_BE_U_2
    - PROTOIDSTR
    - ND_PRINT
    - rawprint
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_d_print(netdissect_options *ndo, u_char tpay _U_,\n\t
      \     const struct isakmp_gen *ext, u_int item_len _U_,\n\t      const u_char
      *ep _U_, uint32_t phase _U_, uint32_t doi0 _U_,\n\t      uint32_t proto0 _U_,
      int depth _U_)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1900,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1900,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1902,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1906,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1909,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1910,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1915,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1915,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1893
    functionDepth: 2
    functionLinenumber: 1893
    functionLinenumberEnd: 1917
    functionName: ikev1_vid_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - NPSTR
    - ND_PRINT
    - rawprint
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_vid_print(netdissect_options *ndo, u_char tpay _U_,\n\t\tconst
      struct isakmp_gen *ext,\n\t\tu_int item_len, const u_char *ep _U_,\n\t\tuint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - payname
    - critical
    argTypes:
    - netdissect_options*
    - char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 1929
    functionName: ikev2_pay_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void ikev2_pay_print(netdissect_options *ndo, const char *payname,
      uint8_t critical)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1937,1
    - Dst: ikev2_pay_print
      Src: /src/tcpdump/print-isakmp.c:1938,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1938,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1938,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1943,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1946,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:1947,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:1952,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1952,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1931
    functionDepth: 2
    functionLinenumber: 1931
    functionLinenumberEnd: 1954
    functionName: ikev2_gen_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_pay_print
    - GET_U_1
    - NPSTR
    - ND_PRINT
    - rawprint
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_gen_print(netdissect_options *ndo, u_char tpay,\n\t\tconst
      struct isakmp_gen *ext, u_int item_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:1971,1
    - Dst: ikev2_pay_print
      Src: /src/tcpdump/print-isakmp.c:1972,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:1972,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1972,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:1974,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:1979,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:1982,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:1988,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:1992,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:1996,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:2000,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2009,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:2010,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2013,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:2014,1
    - Dst: ikev1_attrmap_print
      Src: /src/tcpdump/print-isakmp.c:2020,1
    - Dst: ikev1_attr_print
      Src: /src/tcpdump/print-isakmp.c:2022,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2027,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2030,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2030,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 5
    argNames:
    - ndo
    - tcount
    - ext
    - item_len
    - ep
    argTypes:
    - netdissect_options*
    - int
    - struct isakmp_gen*
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1956
    functionDepth: 3
    functionLinenumber: 1956
    functionLinenumberEnd: 2032
    functionName: ikev2_t_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_pay_print
    - STR_OR_ID
    - GET_U_1
    - NPSTR
    - ikev1_attrmap_print
    - ikev1_attr_print
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_t_print(netdissect_options *ndo, int tcount,\n\t      const
      struct isakmp_gen *ext, u_int item_len,\n\t      const u_char *ep)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:2049,1
    - Dst: ikev2_pay_print
      Src: /src/tcpdump/print-isakmp.c:2051,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2051,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2051,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2057,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2058,1
    - Dst: PROTOIDSTR
      Src: /src/tcpdump/print-isakmp.c:2058,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2058,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2059,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2062,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2066,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:2067,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2077,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:2082,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:2090,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isakmp.c:2096,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2099,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2101,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2102,1
    - Dst: ikev2_t_print
      Src: /src/tcpdump/print-isakmp.c:2104,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2110,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2110,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2113,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2123,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2123,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2126,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2126,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 7
    argNames:
    - ndo
    - tpay
    - pcount
    - ext
    - oprop_length
    - ep
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - int
    - struct isakmp_gen*
    - u_int
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2034
    functionDepth: 4
    functionLinenumber: 2034
    functionLinenumberEnd: 2128
    functionName: ikev2_p_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_t_print
    - ikev2_pay_print
    - GET_U_1
    - NPSTR
    - GET_BE_U_2
    - PROTOIDSTR
    - ND_PRINT
    - rawprint
    - ND_TCHECK_LEN
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_p_print(netdissect_options *ndo, u_char tpay _U_,
      int pcount _U_,\n\t      const struct isakmp_gen *ext, u_int oprop_length,\n\t
      \     const u_char *ep, int depth)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:2145,1
    - Dst: ikev2_pay_print
      Src: /src/tcpdump/print-isakmp.c:2146,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2146,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:2151,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2153,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2160,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:2165,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:2173,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isakmp.c:2179,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2182,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2184,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2185,1
    - Dst: ikev2_p_print
      Src: /src/tcpdump/print-isakmp.c:2187,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2194,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2194,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2197,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2207,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2207,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2210,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2210,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext1
    - osa_length
    - ep
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2130
    functionDepth: 5
    functionLinenumber: 2130
    functionLinenumberEnd: 2212
    functionName: ikev2_sa_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_pay_print
    - GET_U_1
    - NPSTR
    - GET_BE_U_2
    - ND_PRINT
    - ikev2_p_print
    - ND_TCHECK_LEN
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_sa_print(netdissect_options *ndo, u_char tpay,\n\t\tconst
      struct isakmp_gen *ext1,\n\t\tu_int osa_length, const u_char *ep,\n\t\tuint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:2224,1
    - Dst: ikev2_pay_print
      Src: /src/tcpdump/print-isakmp.c:2225,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2225,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2225,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2228,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2231,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:2232,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:2232,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2235,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:2236,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2241,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2214
    functionDepth: 2
    functionLinenumber: 2214
    functionLinenumberEnd: 2243
    functionName: ikev2_ke_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_pay_print
    - STR_OR_ID
    - GET_U_1
    - NPSTR
    - GET_BE_U_2
    - ND_PRINT
    - rawprint
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_ke_print(netdissect_options *ndo, u_char tpay,\n\t\tconst
      struct isakmp_gen *ext,\n\t\tu_int item_len, const u_char *ep _U_,\n\t\tuint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth _U_)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:2258,1
    - Dst: ikev2_pay_print
      Src: /src/tcpdump/print-isakmp.c:2259,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2259,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2259,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2264,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2267,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:2268,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2273,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2281,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2283,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2287,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2291,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2295,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2299,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2303,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2307,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isakmp.c:2313,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-isakmp.c:2314,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:2317,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2323,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2323,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2245
    functionDepth: 2
    functionLinenumber: 2245
    functionLinenumberEnd: 2325
    functionName: ikev2_ID_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_pay_print
    - nd_printjn
    - GET_U_1
    - NPSTR
    - ND_PRINT
    - rawprint
    - ND_TCHECK_LEN
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_ID_print(netdissect_options *ndo, u_char tpay,\n\t\tconst
      struct isakmp_gen *ext,\n\t\tu_int item_len, const u_char *ep _U_,\n\t\tuint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_gen_print
      Src: /src/tcpdump/print-isakmp.c:2334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2327
    functionDepth: 3
    functionLinenumber: 2327
    functionLinenumberEnd: 2335
    functionName: ikev2_cert_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_gen_print
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_cert_print(netdissect_options *ndo, u_char tpay,\n\t\tconst
      struct isakmp_gen *ext,\n\t\tu_int item_len, const u_char *ep _U_,\n\t\tuint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_gen_print
      Src: /src/tcpdump/print-isakmp.c:2344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2337
    functionDepth: 3
    functionLinenumber: 2337
    functionLinenumberEnd: 2345
    functionName: ikev2_cr_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_gen_print
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_cr_print(netdissect_options *ndo, u_char tpay,\n\t\tconst
      struct isakmp_gen *ext,\n\t\tu_int item_len, const u_char *ep _U_,\n\t\tuint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth _U_)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isakmp.c:2359,1
    - Dst: ikev2_pay_print
      Src: /src/tcpdump/print-isakmp.c:2361,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2361,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2361,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2366,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-isakmp.c:2367,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2367,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2370,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:2371,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2373,1
    - Dst: ike_show_somedata
      Src: /src/tcpdump/print-isakmp.c:2375,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2382,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - ep
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2347
    functionDepth: 3
    functionLinenumber: 2347
    functionLinenumberEnd: 2384
    functionName: ikev2_auth_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_pay_print
    - STR_OR_ID
    - GET_U_1
    - NPSTR
    - ike_show_somedata
    - ND_PRINT
    - rawprint
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_auth_print(netdissect_options *ndo, u_char tpay,\n\t\tconst
      struct isakmp_gen *ext,\n\t\tu_int item_len, const u_char *ep,\n\t\tuint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth _U_)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:2393,1
    - Dst: ikev2_pay_print
      Src: /src/tcpdump/print-isakmp.c:2394,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2394,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2399,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2401,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:2402,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2404,1
    - Dst: ike_show_somedata
      Src: /src/tcpdump/print-isakmp.c:2406,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2411,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - ep
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2413
      start: 2386
    functionDepth: 3
    functionLinenumber: 2386
    functionLinenumberEnd: 2413
    functionName: ikev2_nonce_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_pay_print
    - GET_U_1
    - NPSTR
    - ike_show_somedata
    - ND_PRINT
    - rawprint
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_nonce_print(netdissect_options *ndo, u_char tpay,\n\t\tconst
      struct isakmp_gen *ext,\n\t\tu_int item_len, const u_char *ep,\n\t\tuint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth _U_)"
  - BBCount: 95
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:2431,1
    - Dst: ikev2_pay_print
      Src: /src/tcpdump/print-isakmp.c:2432,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2432,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2432,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2438,1
    - Dst: PROTOIDSTR
      Src: /src/tcpdump/print-isakmp.c:2438,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2438,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:2440,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2799,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2803,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2805,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:2806,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2814,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:2815,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2818,1
    - Dst: ike_show_somedata
      Src: /src/tcpdump/print-isakmp.c:2820,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2827,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2827,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 313
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - ep
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2416
    functionDepth: 3
    functionLinenumber: 2416
    functionLinenumberEnd: 2829
    functionName: ikev2_n_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_pay_print
    - GET_U_1
    - NPSTR
    - ike_show_somedata
    - GET_BE_U_2
    - PROTOIDSTR
    - ND_PRINT
    - rawprint
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_n_print(netdissect_options *ndo, u_char tpay _U_,\n\t\tconst
      struct isakmp_gen *ext,\n\t\tu_int item_len, const u_char *ep,\n\t\tuint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_gen_print
      Src: /src/tcpdump/print-isakmp.c:2838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2839
      start: 2831
    functionDepth: 3
    functionLinenumber: 2831
    functionLinenumberEnd: 2839
    functionName: ikev2_d_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_gen_print
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_d_print(netdissect_options *ndo, u_char tpay,\n\t\tconst
      struct isakmp_gen *ext,\n\t\tu_int item_len, const u_char *ep _U_,\n\t\tuint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth _U_)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:2851,1
    - Dst: ikev2_pay_print
      Src: /src/tcpdump/print-isakmp.c:2852,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2852,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2852,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2857,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isakmp.c:2861,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-isakmp.c:2862,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2865,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:2866,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2871,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2873
      start: 2841
    functionDepth: 2
    functionLinenumber: 2841
    functionLinenumberEnd: 2873
    functionName: ikev2_vid_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_pay_print
    - nd_printjn
    - GET_U_1
    - NPSTR
    - ND_PRINT
    - rawprint
    - ND_TCHECK_LEN
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_vid_print(netdissect_options *ndo, u_char tpay,\n\t\tconst
      struct isakmp_gen *ext,\n\t\tu_int item_len, const u_char *ep _U_,\n\t\tuint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_gen_print
      Src: /src/tcpdump/print-isakmp.c:2882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2883
      start: 2875
    functionDepth: 3
    functionLinenumber: 2875
    functionLinenumberEnd: 2883
    functionName: ikev2_TS_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_gen_print
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_TS_print(netdissect_options *ndo, u_char tpay,\n\t\tconst
      struct isakmp_gen *ext,\n\t\tu_int item_len, const u_char *ep _U_,\n\t\tuint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth _U_)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:2917,1
    - Dst: ikev2_pay_print
      Src: /src/tcpdump/print-isakmp.c:2918,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2918,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2918,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2922,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2924,1
    - Dst: rawprint
      Src: /src/tcpdump/print-isakmp.c:2925,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isakmp.c:2930,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2933,1
    - Dst: esp_decrypt_buffer_by_ikev2_print
      Src: /src/tcpdump/print-isakmp.c:2936,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:2937,1
    - Dst: ikev2_sub_print
      Src: /src/tcpdump/print-isakmp.c:2944,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-isakmp.c:2952,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:2962,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:2962,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 10
    argNames:
    - ndo
    - base
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - struct isakmp*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2964
      start: 2885
    functionDepth: 2
    functionLinenumber: 2885
    functionLinenumberEnd: 2964
    functionName: ikev2_e_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_pay_print
    - nd_pop_packet_info
    - GET_U_1
    - ikev2_sub_print
    - NPSTR
    - esp_decrypt_buffer_by_ikev2_print
    - ND_PRINT
    - rawprint
    - ND_TCHECK_LEN
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_e_print(netdissect_options *ndo,\n#ifndef HAVE_LIBCRYPTO\n\t
      \     _U_\n#endif\n\t      const struct isakmp *base,\n\t      u_char tpay,\n\t
      \     const struct isakmp_gen *ext,\n\t      u_int item_len, const u_char *ep
      _U_,\n#ifndef HAVE_LIBCRYPTO\n\t      _U_\n#endif\n\t      uint32_t phase,\n#ifndef
      HAVE_LIBCRYPTO\n\t      _U_\n#endif\n\t      uint32_t doi,\n#ifndef HAVE_LIBCRYPTO\n\t
      \     _U_\n#endif\n\t      uint32_t proto,\n#ifndef HAVE_LIBCRYPTO\n\t      _U_\n#endif\n\t
      \     int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_gen_print
      Src: /src/tcpdump/print-isakmp.c:2973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2974
      start: 2966
    functionDepth: 3
    functionLinenumber: 2966
    functionLinenumberEnd: 2974
    functionName: ikev2_cp_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_gen_print
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_cp_print(netdissect_options *ndo, u_char tpay,\n\t\tconst
      struct isakmp_gen *ext,\n\t\tu_int item_len, const u_char *ep _U_,\n\t\tuint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ikev2_gen_print
      Src: /src/tcpdump/print-isakmp.c:2983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - ndo
    - tpay
    - ext
    - item_len
    - _U_
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_int
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2984
      start: 2976
    functionDepth: 3
    functionLinenumber: 2976
    functionLinenumberEnd: 2984
    functionName: ikev2_eap_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_gen_print
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_eap_print(netdissect_options *ndo, u_char tpay,\n\t\tconst
      struct isakmp_gen *ext,\n\t\tu_int item_len, const u_char *ep _U_,\n\t\tuint32_t
      phase _U_, uint32_t doi _U_,\n\t\tuint32_t proto _U_, int depth _U_)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:2996,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:3004,1
    - Dst: NPFUNC
      Src: /src/tcpdump/print-isakmp.c:3008,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3015,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:3015,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-isakmp.c:3021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 8
    argNames:
    - ndo
    - np
    - ext
    - ep
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3023
      start: 2986
    functionDepth: 1
    functionLinenumber: 2986
    functionLinenumberEnd: 3023
    functionName: ike_sub0_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - NPSTR
    - NPFUNC
    - nd_print_trunc
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nike_sub0_print(netdissect_options *ndo,\n\t\t u_char np,
      const struct isakmp_gen *ext, const u_char *ep,\n\n\t       uint32_t phase,
      uint32_t doi, uint32_t proto, int depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:3037,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:3039,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isakmp.c:3040,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3043,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3045,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3046,1
    - Dst: ike_sub0_print
      Src: /src/tcpdump/print-isakmp.c:3047,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3048,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:3056,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3061,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:3061,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 8
    argNames:
    - ndo
    - np
    - ext
    - ep
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - u_char
    - struct isakmp_gen*
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3063
      start: 3025
    functionDepth: 2
    functionLinenumber: 3025
    functionLinenumberEnd: 3063
    functionName: ikev1_sub_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 2
    functionsReached:
    - ike_sub0_print
    - GET_U_1
    - NPSTR
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev1_sub_print(netdissect_options *ndo,\n\t\tu_char np,
      const struct isakmp_gen *ext, const u_char *ep,\n\t\tuint32_t phase, uint32_t
      doi, uint32_t proto, int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-isakmp.c:3069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3071
      start: 3065
    functionDepth: 0
    functionLinenumber: 3065
    functionLinenumberEnd: 3071
    functionName: numstr
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      numstr(u_int x)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isakmp.c:3088,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3090,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3092,1
    - Dst: cookie_find
      Src: /src/tcpdump/print-isakmp.c:3094,1
    - Dst: iszero
      Src: /src/tcpdump/print-isakmp.c:3096,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3098,1
    - Dst: cookie_record
      Src: /src/tcpdump/print-isakmp.c:3100,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3102,1
    - Dst: cookie_isinitiator
      Src: /src/tcpdump/print-isakmp.c:3104,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3105,1
    - Dst: cookie_isresponder
      Src: /src/tcpdump/print-isakmp.c:3106,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3107,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3109,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3112,1
    - Dst: ETYPESTR
      Src: /src/tcpdump/print-isakmp.c:3112,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:3112,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:3113,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3115,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3122,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:3124,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3132,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:3132,1
    - Dst: CHECKLEN
      Src: /src/tcpdump/print-isakmp.c:3136,1
    - Dst: ikev1_sub_print
      Src: /src/tcpdump/print-isakmp.c:3138,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isakmp.c:3143,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3144,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isakmp.c:3145,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 5
    argNames:
    - ndo
    - bp
    - length
    - bp2
    - base
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    - struct isakmp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3148
      start: 3073
    functionDepth: 3
    functionLinenumber: 3073
    functionLinenumberEnd: 3148
    functionName: ikev1_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - CHECKLEN
    - ETYPESTR
    - GET_U_1
    - NPSTR
    - ikev1_sub_print
    - cookie_isresponder
    - ND_PRINT
    - cookie_record
    - cookie_find
    - iszero
    - GET_BE_U_4
    - cookie_isinitiator
    linkageType: ''
    returnType: void
    signature: "void ikev1_print(netdissect_options *ndo,\n\t    const u_char *bp,
      \ u_int length,\n\t    const u_char *bp2, const struct isakmp *base)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:3160,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:3168,1
    - Dst: ikev2_e_print
      Src: /src/tcpdump/print-isakmp.c:3173,1
    - Dst: NPFUNC
      Src: /src/tcpdump/print-isakmp.c:3175,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3183,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:3183,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-isakmp.c:3189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 9
    argNames:
    - ndo
    - base
    - np
    - ext
    - ep
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - struct isakmp*
    - u_char
    - struct isakmp_gen*
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3191
      start: 3150
    functionDepth: 3
    functionLinenumber: 3150
    functionLinenumberEnd: 3191
    functionName: ikev2_sub0_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - NPSTR
    - NPFUNC
    - nd_print_trunc
    - GET_BE_U_2
    - ND_PRINT
    - ikev2_e_print
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_sub0_print(netdissect_options *ndo, const struct isakmp
      *base,\n\t\t u_char np,\n\t\t const struct isakmp_gen *ext, const u_char *ep,\n\t\t
      uint32_t phase, uint32_t doi, uint32_t proto, int depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isakmp.c:3204,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isakmp.c:3206,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isakmp.c:3206,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3209,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3211,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3212,1
    - Dst: ikev2_sub0_print
      Src: /src/tcpdump/print-isakmp.c:3213,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3215,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:3223,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3228,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:3228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 9
    argNames:
    - ndo
    - base
    - np
    - ext
    - ep
    - phase
    - doi
    - proto
    - depth
    argTypes:
    - netdissect_options*
    - struct isakmp*
    - u_char
    - struct isakmp_gen*
    - u_char*
    - uint32_t
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3230
      start: 3193
    functionDepth: 4
    functionLinenumber: 3193
    functionLinenumberEnd: 3230
    functionName: ikev2_sub_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - NPSTR
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - ikev2_sub0_print
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nikev2_sub_print(netdissect_options *ndo,\n\t\tconst struct
      isakmp *base,\n\t\tu_char np, const struct isakmp_gen *ext, const u_char *ep,\n\t\tuint32_t
      phase, uint32_t doi, uint32_t proto, int depth)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isakmp.c:3246,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3248,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3250,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3252,1
    - Dst: ETYPESTR
      Src: /src/tcpdump/print-isakmp.c:3252,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:3252,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:3253,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3255,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3264,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:3266,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3274,1
    - Dst: NPSTR
      Src: /src/tcpdump/print-isakmp.c:3274,1
    - Dst: CHECKLEN
      Src: /src/tcpdump/print-isakmp.c:3278,1
    - Dst: ikev2_sub_print
      Src: /src/tcpdump/print-isakmp.c:3280,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isakmp.c:3285,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3286,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isakmp.c:3287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - ndo
    - bp
    - length
    - bp2
    - base
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    - struct isakmp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3290
      start: 3232
    functionDepth: 5
    functionLinenumber: 3232
    functionLinenumberEnd: 3290
    functionName: ikev2_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 1
    functionsReached:
    - CHECKLEN
    - ETYPESTR
    - GET_U_1
    - ikev2_sub_print
    - NPSTR
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void ikev2_print(netdissect_options *ndo,\n\t    const u_char *bp,
      \ u_int length,\n\t    const u_char *bp2 _U_, const struct isakmp *base)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: esp_decodesecret_print
      Src: /src/tcpdump/print-isakmp.c:3306,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-isakmp.c:3314,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3318,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:3319,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:3321,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3325,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3329,1
    - Dst: hexprint
      Src: /src/tcpdump/print-isakmp.c:3330,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3334,1
    - Dst: hexprint
      Src: /src/tcpdump/print-isakmp.c:3335,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3336,1
    - Dst: hexprint
      Src: /src/tcpdump/print-isakmp.c:3337,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3339,1
    - Dst: ikev1_print
      Src: /src/tcpdump/print-isakmp.c:3343,1
    - Dst: ikev2_print
      Src: /src/tcpdump/print-isakmp.c:3347,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - bp2
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3292
    functionDepth: 6
    functionLinenumber: 3292
    functionLinenumberEnd: 3350
    functionName: isakmp_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - ikev2_print
    - hexprint
    - GET_U_1
    - nd_print_trunc
    - esp_decodesecret_print
    - ND_PRINT
    - ikev1_print
    linkageType: ''
    returnType: void
    signature: "void isakmp_print(netdissect_options *ndo,\n\t     const u_char *bp,
      u_int length,\n\t     const u_char *bp2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isakmp.c:3358,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3359,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isakmp.c:3370,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3371,1
    - Dst: isakmp_print
      Src: /src/tcpdump/print-isakmp.c:3372,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isakmp.c:3378,1
    - Dst: esp_print
      Src: /src/tcpdump/print-isakmp.c:3380,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-isakmp.c:3392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 7
    argNames:
    - ndo
    - bp
    - length
    - bp2
    - ver
    - fragmented
    - ttl_hl
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    - int
    - int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3352
    functionDepth: 7
    functionLinenumber: 3352
    functionLinenumberEnd: 3393
    functionName: isakmp_rfc3948_print
    functionSourceFile: /src/tcpdump/print-isakmp.c
    functionUses: 0
    functionsReached:
    - isakmp_print
    - GET_U_1
    - nd_print_trunc
    - esp_print
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void isakmp_rfc3948_print(netdissect_options *ndo,\n\t\t     const
      u_char *bp, u_int length,\n\t\t     const u_char *bp2, int ver, int fragmented,
      u_int ttl_hl)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bcm-li.c:70,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bcm-li.c:73,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bcm-li.c:83,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bcm-li.c:85,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bcm-li.c:86,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bcm-li.c:87,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bcm-li.c:92,1
    - Dst: ether_print
      Src: /src/tcpdump/print-bcm-li.c:98,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-bcm-li.c:98,1
    - Dst: ip_print
      Src: /src/tcpdump/print-bcm-li.c:101,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-bcm-li.c:104,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bcm-li.c:111,1
    - Dst: ip_print
      Src: /src/tcpdump/print-bcm-li.c:112,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bcm-li.c:113,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-bcm-li.c:114,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bcm-li.c:116,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bcm-li.c:126,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 127
    functionName: bcm_li_print
    functionSourceFile: /src/tcpdump/print-bcm-li.c
    functionUses: 0
    functionsReached:
    - nd_print_invalid
    - ip_print
    - GET_U_1
    - ND_PRINT
    - ether_print
    - ip6_print
    - ND_BYTES_AVAILABLE_AFTER
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void bcm_li_print(netdissect_options *ndo,\n             const u_char
      *bp, u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MAKEWORD
      Src: /src/tcpdump/netdissect.c:60,1
    - Dst: WSAStartup
      Src: /src/tcpdump/netdissect.c:61,1
    - Dst: strlcpy
      Src: /src/tcpdump/netdissect.c:63,1
    - Dst: smiInit
      Src: /src/tcpdump/netdissect.c:74,1
    - Dst: strlcpy
      Src: /src/tcpdump/netdissect.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - errbuf
    - errbuf_size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 83
    functionName: nd_init
    functionSourceFile: /src/tcpdump/netdissect.c
    functionUses: 0
    functionsReached:
    - smiInit
    - MAKEWORD
    - WSAStartup
    - strlcpy
    linkageType: ''
    returnType: int
    signature: int nd_init(char *errbuf, size_t errbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smiExit
      Src: /src/tcpdump/netdissect.c:96,1
    - Dst: WSACleanup
      Src: /src/tcpdump/netdissect.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: nd_cleanup
    functionSourceFile: /src/tcpdump/netdissect.c
    functionUses: 0
    functionsReached:
    - smiExit
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: void nd_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcpdump/netdissect.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ndo
    - new_buffer
    - new_packetp
    - newlen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: nd_push_buffer
    functionSourceFile: /src/tcpdump/netdissect.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: "int nd_push_buffer(netdissect_options *ndo, u_char *new_buffer,\n\t
      \      const u_char *new_packetp, const u_int newlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcpdump/netdissect.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ndo
    - bp
    - newlen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 189
    functionName: nd_push_snaplen
    functionSourceFile: /src/tcpdump/netdissect.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: int nd_push_snaplen(netdissect_options *ndo, const u_char *bp, const
      u_int newlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ndo
    - bp
    - newlen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 243
    functionName: nd_change_snaplen
    functionSourceFile: /src/tcpdump/netdissect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nd_change_snaplen(netdissect_options *ndo, const u_char *bp, const
      u_int newlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcpdump/netdissect.c:255,1
    - Dst: free
      Src: /src/tcpdump/netdissect.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: nd_pop_packet_info
    functionSourceFile: /src/tcpdump/netdissect.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void nd_pop_packet_info(netdissect_options *ndo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/netdissect.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: nd_pop_all_packet_info
    functionSourceFile: /src/tcpdump/netdissect.c
    functionUses: 0
    functionsReached:
    - nd_pop_packet_info
    linkageType: ''
    returnType: void
    signature: void nd_pop_all_packet_info(netdissect_options *ndo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/tcpdump/netdissect.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 278
    functionName: nd_trunc_longjmp
    functionSourceFile: /src/tcpdump/netdissect.c
    functionUses: 0
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: NORETURN
    signature: NORETURN nd_trunc_longjmp(netdissect_options *ndo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:486,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:488,1
    - Dst: EXTRACT_U_1
      Src: /src/tcpdump/print-juniper.c:497,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:499,1
    - Dst: tok2str
      Src: /src/tcpdump/print-juniper.c:500,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/tcpdump/print-juniper.c:502,1
    - Dst: ip_print
      Src: /src/tcpdump/print-juniper.c:507,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-juniper.c:510,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 518
    functionName: juniper_ggsn_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - EXTRACT_U_1
    - ip_print
    - juniper_parse_header
    - EXTRACT_BE_U_2
    - ND_PRINT
    - ip6_print
    - memset
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void juniper_ggsn_if_print(netdissect_options *ndo,\n                      const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:539,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:541,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-juniper.c:549,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:550,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:563,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:564,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:575,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-juniper.c:576,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:577,1
    - Dst: tok2str
      Src: /src/tcpdump/print-juniper.c:578,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:578,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:579,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-juniper.c:580,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-juniper.c:581,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-juniper.c:582,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:585,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-juniper.c:586,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:587,1
    - Dst: tok2str
      Src: /src/tcpdump/print-juniper.c:588,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:588,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:589,1
    - Dst: ip_print
      Src: /src/tcpdump/print-juniper.c:594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 596
    functionName: juniper_es_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - ip_print
    - GET_BE_U_4
    - juniper_parse_header
    - GET_BE_U_2
    - ND_PRINT
    - memset
    - tok2str
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void juniper_es_if_print(netdissect_options *ndo,\n                    const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:614,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:616,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-juniper.c:624,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:626,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-juniper.c:627,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-juniper.c:628,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:629,1
    - Dst: ip_heuristic_guess
      Src: /src/tcpdump/print-juniper.c:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 635
    functionName: juniper_monitor_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - juniper_parse_header
    - GET_BE_U_2
    - ND_PRINT
    - ip_heuristic_guess
    - memset
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void juniper_monitor_if_print(netdissect_options *ndo,\n                         const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:654,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:656,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-juniper.c:664,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:666,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:667,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:668,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-juniper.c:669,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-juniper.c:670,1
    - Dst: ip_heuristic_guess
      Src: /src/tcpdump/print-juniper.c:673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 676
    functionName: juniper_services_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - juniper_parse_header
    - GET_BE_U_2
    - ND_PRINT
    - ip_heuristic_guess
    - GET_BE_U_3
    - memset
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void juniper_services_if_print(netdissect_options *ndo,\n                          const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:687,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:689,1
    - Dst: ether_print
      Src: /src/tcpdump/print-juniper.c:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 698
    functionName: juniper_pppoe_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - memset
    - ether_print
    - juniper_parse_header
    linkageType: ''
    returnType: void
    signature: "void juniper_pppoe_if_print(netdissect_options *ndo,\n                       const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:709,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:711,1
    - Dst: ether_print
      Src: /src/tcpdump/print-juniper.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 721
    functionName: juniper_ether_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - memset
    - ether_print
    - juniper_parse_header
    linkageType: ''
    returnType: void
    signature: "void juniper_ether_if_print(netdissect_options *ndo,\n                       const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:732,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:734,1
    - Dst: ppp_print
      Src: /src/tcpdump/print-juniper.c:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 743
    functionName: juniper_ppp_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - memset
    - ppp_print
    - juniper_parse_header
    linkageType: ''
    returnType: void
    signature: "void juniper_ppp_if_print(netdissect_options *ndo,\n                     const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:754,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:756,1
    - Dst: fr_print
      Src: /src/tcpdump/print-juniper.c:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 765
    functionName: juniper_frelay_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - memset
    - fr_print
    - juniper_parse_header
    linkageType: ''
    returnType: void
    signature: "void juniper_frelay_if_print(netdissect_options *ndo,\n                        const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:776,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:778,1
    - Dst: chdlc_print
      Src: /src/tcpdump/print-juniper.c:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 787
    functionName: juniper_chdlc_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - memset
    - chdlc_print
    - juniper_parse_header
    linkageType: ''
    returnType: void
    signature: "void juniper_chdlc_if_print(netdissect_options *ndo,\n                       const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:799,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:801,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-juniper.c:808,1
    - Dst: ethertype_print
      Src: /src/tcpdump/print-juniper.c:811,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 820
    functionName: juniper_pppoe_atm_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - juniper_parse_header
    - GET_BE_U_2
    - ND_PRINT
    - memset
    - ethertype_print
    linkageType: ''
    returnType: void
    signature: "void juniper_pppoe_atm_if_print(netdissect_options *ndo,\n                           const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:831,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:833,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/tcpdump/print-juniper.c:842,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/tcpdump/print-juniper.c:844,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:845,1
    - Dst: ppp_print
      Src: /src/tcpdump/print-juniper.c:856,1
    - Dst: ip_print
      Src: /src/tcpdump/print-juniper.c:858,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-juniper.c:862,1
    - Dst: mpls_print
      Src: /src/tcpdump/print-juniper.c:866,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-juniper.c:870,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/tcpdump/print-juniper.c:879,1
    - Dst: ppp_print
      Src: /src/tcpdump/print-juniper.c:881,1
    - Dst: ppp_print
      Src: /src/tcpdump/print-juniper.c:885,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 890
    functionName: juniper_mlppp_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - ip_print
    - mpls_print
    - juniper_parse_header
    - EXTRACT_BE_U_2
    - isoclns_print
    - ND_PRINT
    - ppp_print
    - ip6_print
    - memset
    linkageType: ''
    returnType: void
    signature: "void juniper_mlppp_if_print(netdissect_options *ndo,\n                       const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:901,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:903,1
    - Dst: mfr_print
      Src: /src/tcpdump/print-juniper.c:912,1
    - Dst: ip_print
      Src: /src/tcpdump/print-juniper.c:921,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-juniper.c:925,1
    - Dst: mpls_print
      Src: /src/tcpdump/print-juniper.c:929,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-juniper.c:933,1
    - Dst: EXTRACT_BE_U_4
      Src: /src/tcpdump/print-juniper.c:945,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:946,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-juniper.c:950,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-juniper.c:951,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-juniper.c:957,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:960,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 964
    functionName: juniper_mfr_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - mfr_print
    - EXTRACT_BE_U_4
    - ip_print
    - mpls_print
    - juniper_parse_header
    - ND_TCHECK_1
    - isoclns_print
    - ip6_print
    - ND_PRINT
    - memset
    linkageType: ''
    returnType: void
    signature: "void juniper_mfr_if_print(netdissect_options *ndo,\n                     const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:975,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:977,1
    - Dst: EXTRACT_BE_U_4
      Src: /src/tcpdump/print-juniper.c:986,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:987,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-juniper.c:991,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-juniper.c:997,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1000,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 1004
    functionName: juniper_mlfr_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - EXTRACT_BE_U_4
    - juniper_parse_header
    - isoclns_print
    - ND_PRINT
    - memset
    linkageType: ''
    returnType: void
    signature: "void juniper_mlfr_if_print(netdissect_options *ndo,\n                      const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:1025,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:1027,1
    - Dst: oam_print
      Src: /src/tcpdump/print-juniper.c:1035,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-juniper.c:1040,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-juniper.c:1041,1
    - Dst: llc_print
      Src: /src/tcpdump/print-juniper.c:1043,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:1050,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-juniper.c:1052,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-juniper.c:1053,1
    - Dst: ip_heuristic_guess
      Src: /src/tcpdump/print-juniper.c:1059,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1065
    functionName: juniper_atm1_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - juniper_parse_header
    - ND_TCHECK_1
    - isoclns_print
    - ip_heuristic_guess
    - GET_BE_U_3
    - memset
    - oam_print
    - llc_print
    linkageType: ''
    returnType: void
    signature: "void juniper_atm1_if_print(netdissect_options *ndo,\n                      const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-juniper.c:1086,1
    - Dst: juniper_parse_header
      Src: /src/tcpdump/print-juniper.c:1088,1
    - Dst: oam_print
      Src: /src/tcpdump/print-juniper.c:1096,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-juniper.c:1101,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-juniper.c:1102,1
    - Dst: llc_print
      Src: /src/tcpdump/print-juniper.c:1104,1
    - Dst: EXTRACT_BE_U_4
      Src: /src/tcpdump/print-juniper.c:1113,1
    - Dst: ether_print
      Src: /src/tcpdump/print-juniper.c:1114,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:1119,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-juniper.c:1121,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-juniper.c:1122,1
    - Dst: juniper_ppp_heuristic_guess
      Src: /src/tcpdump/print-juniper.c:1128,1
    - Dst: ip_heuristic_guess
      Src: /src/tcpdump/print-juniper.c:1133,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1139
    functionName: juniper_atm2_if_print
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - EXTRACT_BE_U_4
    - GET_U_1
    - juniper_ppp_heuristic_guess
    - juniper_parse_header
    - ND_TCHECK_1
    - isoclns_print
    - ip_heuristic_guess
    - ether_print
    - GET_BE_U_3
    - memset
    - oam_print
    - llc_print
    linkageType: ''
    returnType: void
    signature: "void juniper_atm2_if_print(netdissect_options *ndo,\n                      const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-juniper.c:1147,1
    - Dst: ppp_print
      Src: /src/tcpdump/print-juniper.c:1161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1168
    functionName: juniper_ppp_heuristic_guess
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 1
    functionsReached:
    - GET_BE_U_2
    - ppp_print
    linkageType: ''
    returnType: int
    signature: "int juniper_ppp_heuristic_guess(netdissect_options *ndo,\n                            const
      u_char *p, u_int length)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:1175,1
    - Dst: ip_print
      Src: /src/tcpdump/print-juniper.c:1187,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-juniper.c:1205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1211
    functionName: ip_heuristic_guess
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 4
    functionsReached:
    - GET_U_1
    - ip6_print
    - ip_print
    linkageType: ''
    returnType: int
    signature: "int ip_heuristic_guess(netdissect_options *ndo,\n                   const
      u_char *p, u_int length)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:1223,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-juniper.c:1226,1
    - Dst: GET_LE_U_3
      Src: /src/tcpdump/print-juniper.c:1229,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-juniper.c:1232,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:1242,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-juniper.c:1245,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-juniper.c:1248,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-juniper.c:1251,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - ndo
    - p
    - tlv_type
    - tlv_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1259
    functionName: juniper_read_tlv_value
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - GET_U_1
    - GET_LE_U_4
    - GET_BE_U_2
    - GET_BE_U_3
    - GET_LE_U_3
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int juniper_read_tlv_value(netdissect_options *ndo,\n\t\t       const
      u_char *p, u_int tlv_type, u_int tlv_len)"
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:1280,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:1281,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-juniper.c:1283,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1284,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1289,1
    - Dst: tok2str
      Src: /src/tcpdump/print-juniper.c:1289,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1295,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-juniper.c:1296,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-juniper.c:1304,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1314,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-juniper.c:1316,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:1318,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:1320,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-juniper.c:1327,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1331,1
    - Dst: tok2str
      Src: /src/tcpdump/print-juniper.c:1332,1
    - Dst: juniper_read_tlv_value
      Src: /src/tcpdump/print-juniper.c:1336,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1345,1
    - Dst: tok2str
      Src: /src/tcpdump/print-juniper.c:1346,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1354,1
    - Dst: tok2str
      Src: /src/tcpdump/print-juniper.c:1355,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1365,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1375,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1380,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-juniper.c:1386,1
    - Dst: ip_heuristic_guess
      Src: /src/tcpdump/print-juniper.c:1387,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1389,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:1414,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:1432,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1442,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-juniper.c:1446,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-juniper.c:1449,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1451,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:1453,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1454,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-juniper.c:1454,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1458,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-juniper.c:1460,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/tcpdump/print-juniper.c:1474,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-juniper.c:1488,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/tcpdump/print-juniper.c:1495,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-juniper.c:1512,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/tcpdump/print-juniper.c:1519,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-juniper.c:1530,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-juniper.c:1533,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1546,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1596,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-juniper.c:1601,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-juniper.c:1605,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 234
    argCount: 4
    argNames:
    - ndo
    - p
    - h
    - l2info
    argTypes:
    - netdissect_options*
    - u_char*
    - struct pcap_pkthdr*
    - struct juniper_l2info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1261
    functionDepth: 2
    functionLinenumber: 1261
    functionLinenumberEnd: 1607
    functionName: juniper_parse_header
    functionSourceFile: /src/tcpdump/print-juniper.c
    functionUses: 15
    functionsReached:
    - bittok2str
    - ND_ICHECKMSG_U
    - nd_print_invalid
    - GET_U_1
    - juniper_read_tlv_value
    - GET_BE_U_2
    - ND_TCHECK_1
    - EXTRACT_BE_U_2
    - ND_TCHECK_4
    - ND_PRINT
    - ip_heuristic_guess
    - GET_BE_U_3
    - ND_TCHECK_LEN
    - tok2str
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int juniper_parse_header(netdissect_options *ndo,\n                     const
      u_char *p, const struct pcap_pkthdr *h, struct juniper_l2info_t *l2info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - th
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: TH_OFF
    functionSourceFile: /src/tcpdump/tcp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TH_OFF(th)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - th
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: tcp_get_flags
    functionSourceFile: /src/tcpdump/tcp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tcp_get_flags(th)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vjc.c:90,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vjc.c:93,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vjc.c:97,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vjc.c:101,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vjc.c:103,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vjc.c:104,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vjc.c:106,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vjc.c:107,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vjc.c:108,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vjc.c:108,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vjc.c:109,1
    - Dst: GET_HE_U_2
      Src: /src/tcpdump/print-vjc.c:109,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vjc.c:113,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vjc.c:117,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vjc.c:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - ndo
    - bp
    - proto
    argTypes:
    - netdissect_options*
    - u_char*
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 120
    functionName: vjc_print
    functionSourceFile: /src/tcpdump/print-vjc.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    - GET_HE_U_2
    linkageType: ''
    returnType: int
    signature: int vjc_print(netdissect_options *ndo, const u_char *bp, u_short proto
      _U_)
  - BBCount: 97
    BranchProfiles: []
    Callsites:
    - Dst: IP_V
      Src: /src/tcpdump/print-pgm.c:194,1
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-pgm.c:198,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:200,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-pgm.c:201,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-pgm.c:202,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:204,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pgm.c:205,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pgm.c:206,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-pgm.c:208,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:211,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:212,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pgm.c:215,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:216,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-pgm.c:217,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-pgm.c:218,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-pgm.c:219,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-pgm.c:220,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:222,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-pgm.c:223,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-pgm.c:223,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pgm.c:226,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:227,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pgm.c:228,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-pgm.c:229,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pgm.c:230,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-pgm.c:231,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:233,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-pgm.c:234,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-pgm.c:234,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-pgm.c:238,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:240,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:240,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pgm.c:245,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:246,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-pgm.c:259,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:262,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:264,1
    - Dst: addrtostr
      Src: /src/tcpdump/print-pgm.c:265,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:269,1
    - Dst: addrtostr6
      Src: /src/tcpdump/print-pgm.c:270,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:277,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:278,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:279,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:280,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-pgm.c:290,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:293,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:295,1
    - Dst: addrtostr
      Src: /src/tcpdump/print-pgm.c:296,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:300,1
    - Dst: addrtostr6
      Src: /src/tcpdump/print-pgm.c:301,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:308,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:311,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:314,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:317,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:318,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:319,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-pgm.c:327,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:328,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:329,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:330,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:338,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:339,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:340,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:349,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:350,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:351,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-pgm.c:363,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:370,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:372,1
    - Dst: addrtostr
      Src: /src/tcpdump/print-pgm.c:373,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:377,1
    - Dst: addrtostr6
      Src: /src/tcpdump/print-pgm.c:378,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:390,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:392,1
    - Dst: addrtostr
      Src: /src/tcpdump/print-pgm.c:393,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:397,1
    - Dst: addrtostr6
      Src: /src/tcpdump/print-pgm.c:398,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:410,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:413,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:416,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:421,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:422,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-pgm.c:431,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:432,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:433,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:439,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:443,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pgm.c:447,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:452,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pgm.c:458,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:461,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pgm.c:464,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:467,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:470,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:473,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:476,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:481,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pgm.c:484,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pgm.c:486,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:489,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:494,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:497,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:503,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:507,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:507,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:515,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:520,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:522,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:524,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:526,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:533,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:536,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:539,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:539,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:549,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:554,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:556,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:563,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:568,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:570,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:572,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:579,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:584,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:586,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:588,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:595,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:600,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:605,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:609,1
    - Dst: addrtostr
      Src: /src/tcpdump/print-pgm.c:610,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:616,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:620,1
    - Dst: addrtostr6
      Src: /src/tcpdump/print-pgm.c:621,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:629,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:635,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:640,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:642,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:649,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:654,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:656,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:663,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:668,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:670,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:677,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:682,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:687,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:695,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:700,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:707,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:712,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:719,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:724,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:729,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:737,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:742,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:749,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:754,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:756,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:761,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:765,1
    - Dst: addrtostr
      Src: /src/tcpdump/print-pgm.c:766,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:772,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:776,1
    - Dst: addrtostr6
      Src: /src/tcpdump/print-pgm.c:777,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:785,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:791,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pgm.c:796,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:798,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:803,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:807,1
    - Dst: addrtostr
      Src: /src/tcpdump/print-pgm.c:808,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:814,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pgm.c:818,1
    - Dst: addrtostr6
      Src: /src/tcpdump/print-pgm.c:819,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:827,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:831,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pgm.c:842,1
    - Dst: zmtp1_datagram_print
      Src: /src/tcpdump/print-pgm.c:845,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pgm.c:846,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-pgm.c:850,1
    CyclomaticComplexity: 109
    EdgeCount: 109
    ICount: 506
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - bp2
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 851
    functionName: pgm_print
    functionSourceFile: /src/tcpdump/print-pgm.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - nd_trunc_longjmp
    - ND_TCHECK_LEN
    - nd_print_invalid
    - GET_U_1
    - GET_IP6ADDR_STRING
    - GET_BE_U_4
    - tcpport_string
    - GET_BE_U_2
    - addrtostr
    - addrtostr6
    - ND_PRINT
    - IP_V
    - ND_TTEST_2
    - zmtp1_datagram_print
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void pgm_print(netdissect_options *ndo,\n          const u_char *bp,
      u_int length,\n          const u_char *bp2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-gre.c:107,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:108,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-gre.c:109,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:110,1
    - Dst: gre_print_0
      Src: /src/tcpdump/print-gre.c:114,1
    - Dst: gre_print_1
      Src: /src/tcpdump/print-gre.c:117,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:120,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-gre.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 127
    functionName: gre_print
    functionSourceFile: /src/tcpdump/print-gre.c
    functionUses: 0
    functionsReached:
    - nd_print_protocol_caps
    - gre_print_1
    - GET_BE_U_2
    - ND_PRINT
    - gre_print_0
    - nd_print_invalid
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: void gre_print(netdissect_options *ndo, const u_char *bp, u_int length)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:135,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-gre.c:136,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:138,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-gre.c:139,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:144,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-gre.c:145,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:152,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-gre.c:153,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:155,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:159,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:160,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-gre.c:160,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:168,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-gre.c:169,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:180,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:184,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:185,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-gre.c:185,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:196,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-gre.c:197,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-gre.c:198,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-gre.c:199,1
    - Dst: gre_sre_print
      Src: /src/tcpdump/print-gre.c:206,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:209,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:216,1
    - Dst: tok2str
      Src: /src/tcpdump/print-gre.c:217,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:219,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:222,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:224,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:233,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:252,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:254,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-gre.c:255,1
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-gre.c:262,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-gre.c:264,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:266,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-gre.c:270,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-gre.c:271,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-gre.c:272,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:277,1
    - Dst: ip_print
      Src: /src/tcpdump/print-gre.c:281,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-gre.c:284,1
    - Dst: mpls_print
      Src: /src/tcpdump/print-gre.c:288,1
    - Dst: ipx_print
      Src: /src/tcpdump/print-gre.c:291,1
    - Dst: atalk_print
      Src: /src/tcpdump/print-gre.c:294,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-gre.c:297,1
    - Dst: ether_print
      Src: /src/tcpdump/print-gre.c:300,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-gre.c:300,1
    - Dst: nsh_print
      Src: /src/tcpdump/print-gre.c:303,1
    - Dst: erspan_i_ii_print
      Src: /src/tcpdump/print-gre.c:306,1
    - Dst: erspan_iii_print
      Src: /src/tcpdump/print-gre.c:309,1
    - Dst: cdp_print
      Src: /src/tcpdump/print-gre.c:312,1
    - Dst: nhrp_print
      Src: /src/tcpdump/print-gre.c:315,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:318,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-gre.c:323,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 120
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 324
    functionName: gre_print_0
    functionSourceFile: /src/tcpdump/print-gre.c
    functionUses: 1
    functionsReached:
    - bittok2str
    - GET_U_1
    - ip6_print
    - nd_print_invalid
    - atalk_print
    - GET_BE_U_4
    - nsh_print
    - ipx_print
    - ND_PRINT
    - ether_print
    - ND_BYTES_AVAILABLE_AFTER
    - ND_ICHECK_U
    - ip_print
    - GET_BE_U_2
    - nhrp_print
    - ND_ICHECK_ZU
    - tok2str
    - gre_sre_print
    - mpls_print
    - erspan_iii_print
    - isoclns_print
    - erspan_i_ii_print
    - cdp_print
    linkageType: ''
    returnType: void
    signature: void gre_print_0(netdissect_options *ndo, const u_char *bp, u_int length)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:332,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-gre.c:333,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:338,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-gre.c:339,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:341,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-gre.c:342,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:360,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:373,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-gre.c:374,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:378,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:381,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-gre.c:381,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:383,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-gre.c:383,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:387,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:390,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:391,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-gre.c:391,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:397,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:398,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-gre.c:398,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:407,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:410,1
    - Dst: tok2str
      Src: /src/tcpdump/print-gre.c:411,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:413,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:422,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:424,1
    - Dst: ppp_print
      Src: /src/tcpdump/print-gre.c:428,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:433,1
    - Dst: ether_print
      Src: /src/tcpdump/print-gre.c:435,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-gre.c:435,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:438,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-gre.c:444,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 74
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 445
    functionName: gre_print_1
    functionSourceFile: /src/tcpdump/print-gre.c
    functionUses: 1
    functionsReached:
    - bittok2str
    - ND_TCHECK_2
    - tok2str
    - GET_BE_U_2
    - ND_PRINT
    - ppp_print
    - ether_print
    - ND_BYTES_AVAILABLE_AFTER
    - nd_print_invalid
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void gre_print_1(netdissect_options *ndo, const u_char *bp, u_int length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:455,1
    - Dst: gre_sre_ip_print
      Src: /src/tcpdump/print-gre.c:456,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:457,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:460,1
    - Dst: gre_sre_asn_print
      Src: /src/tcpdump/print-gre.c:461,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:462,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - ndo
    - af
    - sreoff
    - srelen
    - bp
    - len
    argTypes:
    - netdissect_options*
    - uint16_t
    - uint8_t
    - uint8_t
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 469
    functionName: gre_sre_print
    functionSourceFile: /src/tcpdump/print-gre.c
    functionUses: 1
    functionsReached:
    - gre_sre_asn_print
    - ND_PRINT
    - gre_sre_ip_print
    linkageType: ''
    returnType: int
    signature: "int gre_sre_print(netdissect_options *ndo, uint16_t af, uint8_t sreoff,\n\t
      \     uint8_t srelen, const u_char *bp, u_int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:479,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:483,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:487,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:492,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-gre.c:494,1
    - Dst: addrtostr
      Src: /src/tcpdump/print-gre.c:495,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - ndo
    - sreoff
    - srelen
    - bp
    - len
    argTypes:
    - netdissect_options*
    - uint8_t
    - uint8_t
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 507
    functionName: gre_sre_ip_print
    functionSourceFile: /src/tcpdump/print-gre.c
    functionUses: 1
    functionsReached:
    - ND_TCHECK_LEN
    - ND_ICHECK_U
    - ND_PRINT
    - addrtostr
    linkageType: ''
    returnType: int
    signature: "int gre_sre_ip_print(netdissect_options *ndo, uint8_t sreoff, uint8_t
      srelen,\n\t\t const u_char *bp, u_int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:516,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:520,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:524,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-gre.c:529,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-gre.c:531,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-gre.c:532,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 5
    argNames:
    - ndo
    - sreoff
    - srelen
    - bp
    - len
    argTypes:
    - netdissect_options*
    - uint8_t
    - uint8_t
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 542
    functionName: gre_sre_asn_print
    functionSourceFile: /src/tcpdump/print-gre.c
    functionUses: 1
    functionsReached:
    - GET_BE_U_2
    - ND_ICHECK_U
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: "int gre_sre_asn_print(netdissect_options *ndo, uint8_t sreoff, uint8_t
      srelen,\n\t\t  const u_char *bp, u_int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-hsrp.c:101,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hsrp.c:103,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hsrp.c:104,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hsrp.c:107,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hsrp.c:108,1
    - Dst: tok2strary
      Src: /src/tcpdump/print-hsrp.c:109,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hsrp.c:109,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hsrp.c:110,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hsrp.c:111,1
    - Dst: tok2str
      Src: /src/tcpdump/print-hsrp.c:112,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hsrp.c:112,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hsrp.c:113,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hsrp.c:113,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hsrp.c:114,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hsrp.c:115,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hsrp.c:115,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hsrp.c:117,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-hsrp.c:117,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hsrp.c:119,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-hsrp.c:120,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hsrp.c:120,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hsrp.c:121,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-hsrp.c:122,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hsrp.c:122,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hsrp.c:123,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hsrp.c:123,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hsrp.c:124,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-hsrp.c:130,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hsrp.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 133
    functionName: hsrp_print
    functionSourceFile: /src/tcpdump/print-hsrp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - unsigned_relts_print
    - GET_U_1
    - nd_print_protocol_caps
    - tok2strary
    - nd_printjnp
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: void
    signature: void hsrp_print(netdissect_options *ndo, const u_char *bp, u_int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: ZEROLENOPT
    functionSourceFile: /src/tcpdump/print-tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEROLENOPT(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nextproto4_cksum
      Src: /src/tcpdump/print-tcp.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ndo
    - ip
    - tp
    - len
    argTypes:
    - netdissect_options*
    - struct ip*
    - struct tcphdr*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: tcp_cksum
    functionSourceFile: /src/tcpdump/print-tcp.c
    functionUses: 0
    functionsReached:
    - nextproto4_cksum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t tcp_cksum(netdissect_options *ndo,\n          const struct
      ip *ip,\n          const struct tcphdr *tp,\n          u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nextproto6_cksum
      Src: /src/tcpdump/print-tcp.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ndo
    - ip6
    - tp
    - len
    argTypes:
    - netdissect_options*
    - struct ip6_hdr*
    - struct tcphdr*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: tcp6_cksum
    functionSourceFile: /src/tcpdump/print-tcp.c
    functionUses: 0
    functionsReached:
    - nextproto6_cksum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t tcp6_cksum(netdissect_options *ndo,\n           const struct
      ip6_hdr *ip6,\n           const struct tcphdr *tp,\n           u_int len)"
  - BBCount: 120
    BranchProfiles: []
    Callsites:
    - Dst: IP_V
      Src: /src/tcpdump/print-tcp.c:204,1
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-tcp.c:209,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:211,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-tcp.c:212,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-tcp.c:213,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:215,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-tcp.c:216,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-tcp.c:217,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-tcp.c:219,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tcp.c:222,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tcp.c:223,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tcp.c:226,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:227,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-tcp.c:228,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-tcp.c:229,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-tcp.c:230,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-tcp.c:231,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:233,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-tcp.c:234,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-tcp.c:234,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tcp.c:237,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:238,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-tcp.c:239,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-tcp.c:240,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-tcp.c:241,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-tcp.c:242,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:244,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-tcp.c:245,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-tcp.c:245,1
    - Dst: TH_OFF
      Src: /src/tcpdump/print-tcp.c:249,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:252,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tcp.c:257,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tcp.c:258,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tcp.c:259,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tcp.c:260,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:263,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:265,1
    - Dst: tcp_get_flags
      Src: /src/tcpdump/print-tcp.c:272,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:273,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-tcp.c:273,1
    - Dst: UNALIGNED_MEMCMP
      Src: /src/tcpdump/print-tcp.c:295,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-tcp.c:299,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-tcp.c:300,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-tcp.c:303,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-tcp.c:304,1
    - Dst: memcmp
      Src: /src/tcpdump/print-tcp.c:310,1
    - Dst: calloc
      Src: /src/tcpdump/print-tcp.c:320,1
    - Dst: UNALIGNED_MEMCMP
      Src: /src/tcpdump/print-tcp.c:355,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-tcp.c:359,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-tcp.c:361,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-tcp.c:365,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-tcp.c:367,1
    - Dst: memcmp
      Src: /src/tcpdump/print-tcp.c:374,1
    - Dst: calloc
      Src: /src/tcpdump/print-tcp.c:384,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:416,1
    - Dst: IP_V
      Src: /src/tcpdump/print-tcp.c:425,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-tcp.c:426,1
    - Dst: tcp_cksum
      Src: /src/tcpdump/print-tcp.c:427,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tcp.c:428,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:430,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:432,1
    - Dst: in_cksum_shouldbe
      Src: /src/tcpdump/print-tcp.c:433,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:435,1
    - Dst: IP_V
      Src: /src/tcpdump/print-tcp.c:437,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-tcp.c:438,1
    - Dst: tcp6_cksum
      Src: /src/tcpdump/print-tcp.c:439,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tcp.c:440,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:442,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:444,1
    - Dst: in_cksum_shouldbe
      Src: /src/tcpdump/print-tcp.c:445,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:447,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:455,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:458,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:463,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:466,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:468,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:471,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:474,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:485,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:488,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tcp.c:489,1
    - Dst: ZEROLENOPT
      Src: /src/tcpdump/print-tcp.c:491,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tcp.c:494,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:507,1
    - Dst: tok2str
      Src: /src/tcpdump/print-tcp.c:507,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:513,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:514,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tcp.c:514,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:519,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:520,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tcp.c:520,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:526,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:530,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:532,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tcp.c:533,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:534,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tcp.c:535,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:543,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:559,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:560,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tcp.c:560,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:565,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:566,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tcp.c:567,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tcp.c:568,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:573,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-tcp.c:574,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:575,1
    - Dst: tcp_verify_signature
      Src: /src/tcpdump/print-tcp.c:577,1
    - Dst: TH_OFF
      Src: /src/tcpdump/print-tcp.c:578,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:581,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-tcp.c:585,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:589,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:591,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tcp.c:592,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:597,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tcp.c:597,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:603,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:604,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tcp.c:604,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tcp.c:605,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-tcp.c:616,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:618,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:619,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tcp.c:619,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:620,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:621,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tcp.c:622,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:624,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:626,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:627,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tcp.c:628,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:645,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tcp.c:646,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:647,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:652,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:661,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-tcp.c:666,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-tcp.c:675,1
    - Dst: mptcp_print
      Src: /src/tcpdump/print-tcp.c:677,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:686,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-tcp.c:687,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:688,1
    - Dst: print_tcp_fastopen_option
      Src: /src/tcpdump/print-tcp.c:689,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:694,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-tcp.c:695,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tcp.c:699,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:700,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:705,1
    - Dst: print_tcp_fastopen_option
      Src: /src/tcpdump/print-tcp.c:706,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:711,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:719,1
    - Dst: LENCHECK
      Src: /src/tcpdump/print-tcp.c:721,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:722,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tcp.c:722,1
    - Dst: ZEROLENOPT
      Src: /src/tcpdump/print-tcp.c:733,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:736,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:741,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:747,1
    - Dst: TH_OFF
      Src: /src/tcpdump/print-tcp.c:755,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-tcp.c:760,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:761,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-tcp.c:762,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-tcp.c:763,1
    - Dst: print_tcp_rst_data
      Src: /src/tcpdump/print-tcp.c:768,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-tcp.c:770,1
    - Dst: zmtp1_print
      Src: /src/tcpdump/print-tcp.c:777,1
    - Dst: resp_print
      Src: /src/tcpdump/print-tcp.c:780,1
    - Dst: domain_print
      Src: /src/tcpdump/print-tcp.c:784,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:790,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:791,1
    - Dst: ftp_print
      Src: /src/tcpdump/print-tcp.c:792,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:793,1
    - Dst: ssh_print
      Src: /src/tcpdump/print-tcp.c:794,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:795,1
    - Dst: telnet_print
      Src: /src/tcpdump/print-tcp.c:796,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:797,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:798,1
    - Dst: smtp_print
      Src: /src/tcpdump/print-tcp.c:799,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:800,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:801,1
    - Dst: whois_print
      Src: /src/tcpdump/print-tcp.c:802,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:803,1
    - Dst: domain_print
      Src: /src/tcpdump/print-tcp.c:805,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:806,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:807,1
    - Dst: http_print
      Src: /src/tcpdump/print-tcp.c:808,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:810,1
    - Dst: nbt_tcp_print
      Src: /src/tcpdump/print-tcp.c:811,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:813,1
    - Dst: bgp_print
      Src: /src/tcpdump/print-tcp.c:814,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:815,1
    - Dst: rpki_rtr_print
      Src: /src/tcpdump/print-tcp.c:816,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:818,1
    - Dst: smb_tcp_print
      Src: /src/tcpdump/print-tcp.c:819,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:821,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:822,1
    - Dst: rtsp_print
      Src: /src/tcpdump/print-tcp.c:823,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:824,1
    - Dst: msdp_print
      Src: /src/tcpdump/print-tcp.c:825,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:826,1
    - Dst: ldp_print
      Src: /src/tcpdump/print-tcp.c:827,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:828,1
    - Dst: pptp_print
      Src: /src/tcpdump/print-tcp.c:829,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:830,1
    - Dst: resp_print
      Src: /src/tcpdump/print-tcp.c:831,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:832,1
    - Dst: beep_print
      Src: /src/tcpdump/print-tcp.c:833,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:834,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:834,1
    - Dst: openflow_print
      Src: /src/tcpdump/print-tcp.c:835,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:836,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:837,1
    - Dst: http_print
      Src: /src/tcpdump/print-tcp.c:838,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-tcp.c:839,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:840,1
    - Dst: rtsp_print
      Src: /src/tcpdump/print-tcp.c:841,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tcp.c:854,1
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/print-tcp.c:858,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tcp.c:859,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:861,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tcp.c:862,1
    - Dst: nfsreq_noaddr_print
      Src: /src/tcpdump/print-tcp.c:863,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:867,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tcp.c:868,1
    - Dst: nfsreply_noaddr_print
      Src: /src/tcpdump/print-tcp.c:869,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:877,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:879,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-tcp.c:882,1
    CyclomaticComplexity: 147
    EdgeCount: 147
    ICount: 503
    argCount: 5
    argNames:
    - ndo
    - bp
    - length
    - bp2
    - fragmented
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 883
    functionName: tcp_print
    functionSourceFile: /src/tcpdump/print-tcp.c
    functionUses: 1
    functionsReached:
    - nbt_tcp_print
    - tcp_cksum
    - GET_U_1
    - ZEROLENOPT
    - rpki_rtr_print
    - GET_IP6ADDR_STRING
    - TH_OFF
    - whois_print
    - ND_TTEST_4
    - rtsp_print
    - IP_V
    - nd_print_invalid
    - GET_BE_U_4
    - zmtp1_print
    - ldp_print
    - ssh_print
    - bgp_print
    - ND_PRINT
    - tcp6_cksum
    - ND_BYTES_AVAILABLE_AFTER
    - nfsreply_noaddr_print
    - LENCHECK
    - http_print
    - in_cksum_shouldbe
    - openflow_print
    - GET_IPADDR_STRING
    - calloc
    - UNALIGNED_MEMCPY
    - print_tcp_rst_data
    - resp_print
    - ftp_print
    - domain_print
    - GET_BE_U_2
    - print_tcp_fastopen_option
    - UNALIGNED_MEMCMP
    - ND_TCHECK_LEN
    - mptcp_print
    - tok2str
    - ND_MIN
    - smb_tcp_print
    - tcp_verify_signature
    - tcp_get_flags
    - msdp_print
    - nd_trunc_longjmp
    - pptp_print
    - smtp_print
    - telnet_print
    - memcmp
    - beep_print
    - tcpport_string
    - ND_TTEST_LEN
    - ND_TTEST_2
    - nfsreq_noaddr_print
    - IS_SRC_OR_DST_PORT
    - bittok2str_nosep
    linkageType: ''
    returnType: void
    signature: "void tcp_print(netdissect_options *ndo,\n          const u_char *bp,
      u_int length,\n          const u_char *bp2, int fragmented)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 505
    functionName: LENCHECK
    functionSourceFile: /src/tcpdump/print-tcp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LENCHECK(l)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:920,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:922,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tcp.c:923,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:924,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tcp.c:925,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tcp.c:926,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:928,1
    - Dst: tok2str
      Src: /src/tcpdump/print-tcp.c:928,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:930,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:932,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-tcp.c:933,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-tcp.c:933,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:935,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-tcp.c:936,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ndo
    - sp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 937
    functionName: print_tcp_rst_data
    functionSourceFile: /src/tcpdump/print-tcp.c
    functionUses: 1
    functionsReached:
    - nd_printjn
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - ND_MIN
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void print_tcp_rst_data(netdissect_options *ndo,\n                   const
      u_char *sp, u_int length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:947,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-tcp.c:951,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:953,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:955,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tcp.c:955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ndo
    - cp
    - datalen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 958
    functionName: print_tcp_fastopen_option
    functionSourceFile: /src/tcpdump/print-tcp.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - nd_print_invalid
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void print_tcp_fastopen_option(netdissect_options *ndo, const u_char
      *cp,\n                          u_int datalen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-tcp.c:976,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:977,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:984,1
    - Dst: MD5_Init
      Src: /src/tcpdump/print-tcp.c:988,1
    - Dst: IP_V
      Src: /src/tcpdump/print-tcp.c:992,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:993,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:994,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:995,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:996,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tcp.c:997,1
    - Dst: IP_HL
      Src: /src/tcpdump/print-tcp.c:997,1
    - Dst: htons
      Src: /src/tcpdump/print-tcp.c:998,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:999,1
    - Dst: IP_V
      Src: /src/tcpdump/print-tcp.c:1000,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:1002,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:1003,1
    - Dst: htonl
      Src: /src/tcpdump/print-tcp.c:1004,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tcp.c:1004,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:1005,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:1007,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:1008,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:1009,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:1011,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tcp.c:1013,1
    - Dst: memcpy
      Src: /src/tcpdump/print-tcp.c:1021,1
    - Dst: memset
      Src: /src/tcpdump/print-tcp.c:1022,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:1023,1
    - Dst: memcpy
      Src: /src/tcpdump/print-tcp.c:1024,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:1029,1
    - Dst: MD5_Update
      Src: /src/tcpdump/print-tcp.c:1033,1
    - Dst: strlen
      Src: /src/tcpdump/print-tcp.c:1033,1
    - Dst: MD5_Final
      Src: /src/tcpdump/print-tcp.c:1034,1
    - Dst: memcmp
      Src: /src/tcpdump/print-tcp.c:1036,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 6
    argNames:
    - ndo
    - ip
    - tp
    - data
    - length
    - rcvsig
    argTypes:
    - netdissect_options*
    - struct ip*
    - struct tcphdr*
    - u_char*
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 1040
    functionName: tcp_verify_signature
    functionSourceFile: /src/tcpdump/print-tcp.c
    functionUses: 1
    functionsReached:
    - MD5_Final
    - strlen
    - IP_HL
    - memcmp
    - ND_TTEST_LEN
    - GET_BE_U_2
    - memcpy
    - htons
    - htonl
    - ND_PRINT
    - IP_V
    - MD5_Init
    - memset
    - MD5_Update
    linkageType: ''
    returnType: DIAG_OFF_DEPRECATION
    signature: "DIAG_OFF_DEPRECATION tcp_verify_signature(netdissect_options *ndo,\n
      \                    const struct ip *ip, const struct tcphdr *tp,\n                     const
      u_char *data, u_int length, const u_char *rcvsig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: hexprint
    functionSourceFile: /src/tcpdump/print-quic.c
    functionUses: 2
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void hexprint(netdissect_options *ndo, const uint8_t *cp, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tcpdump/print-quic.c:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - cid
    - length
    argTypes:
    - u_char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 89
    functionName: lookup_quic_cid
    functionSourceFile: /src/tcpdump/print-quic.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: struct quic_cid_array
    signature: 'struct quic_cid_array *

      lookup_quic_cid(const u_char *cid, size_t length)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_quic_cid
      Src: /src/tcpdump/print-quic.c:97,1
    - Dst: memcpy
      Src: /src/tcpdump/print-quic.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - cid
    - length
    argTypes:
    - quic_cid
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: register_quic_cid
    functionSourceFile: /src/tcpdump/print-quic.c
    functionUses: 0
    functionsReached:
    - memcpy
    - lookup_quic_cid
    linkageType: ''
    returnType: void
    signature: void register_quic_cid(const quic_cid cid, uint8_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-quic.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - p
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: quic_detect
    functionSourceFile: /src/tcpdump/print-quic.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    linkageType: ''
    returnType: int
    signature: int quic_detect(netdissect_options *ndo, const u_char *p, const u_int
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-quic.c:129,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-quic.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ndo
    - p
    - out_length
    argTypes:
    - netdissect_options*
    - u_char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 143
    functionName: get_be_vli
    functionSourceFile: /src/tcpdump/print-quic.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_be_vli(netdissect_options *ndo, const u_char *p, uint8_t
      *out_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: GET_BE_VLI
    functionSourceFile: /src/tcpdump/print-quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_VLI(p, l)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-quic.c:161,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-quic.c:166,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:170,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:172,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:174,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:176,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:178,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:180,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-quic.c:181,1
    - Dst: memset
      Src: /src/tcpdump/print-quic.c:184,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-quic.c:185,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:187,1
    - Dst: hexprint
      Src: /src/tcpdump/print-quic.c:188,1
    - Dst: register_quic_cid
      Src: /src/tcpdump/print-quic.c:189,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-quic.c:191,1
    - Dst: memset
      Src: /src/tcpdump/print-quic.c:194,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-quic.c:195,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:197,1
    - Dst: hexprint
      Src: /src/tcpdump/print-quic.c:198,1
    - Dst: register_quic_cid
      Src: /src/tcpdump/print-quic.c:199,1
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/print-quic.c:204,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-quic.c:205,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-quic.c:208,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:210,1
    - Dst: GET_BE_VLI
      Src: /src/tcpdump/print-quic.c:215,1
    - Dst: nd_malloc
      Src: /src/tcpdump/print-quic.c:218,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-quic.c:219,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:221,1
    - Dst: hexprint
      Src: /src/tcpdump/print-quic.c:222,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:226,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-quic.c:228,1
    - Dst: nd_malloc
      Src: /src/tcpdump/print-quic.c:230,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-quic.c:231,1
    - Dst: hexprint
      Src: /src/tcpdump/print-quic.c:233,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-quic.c:235,1
    - Dst: GET_BE_VLI
      Src: /src/tcpdump/print-quic.c:241,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:243,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-quic.c:244,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-quic.c:245,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:253,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-quic.c:255,1
    - Dst: lookup_quic_cid
      Src: /src/tcpdump/print-quic.c:257,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-quic.c:259,1
    - Dst: hexprint
      Src: /src/tcpdump/print-quic.c:260,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-quic.c:264,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 3
    argNames:
    - ndo
    - bp
    - end
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 270
    functionName: quic_print_packet
    functionSourceFile: /src/tcpdump/print-quic.c
    functionUses: 0
    functionsReached:
    - GET_BE_VLI
    - hexprint
    - GET_U_1
    - nd_print_trunc
    - ND_TTEST_4
    - ND_TTEST_LEN
    - register_quic_cid
    - ND_PRINT
    - memset
    - nd_malloc
    - lookup_quic_cid
    - GET_CPY_BYTES
    - GET_BE_U_4
    linkageType: ''
    returnType: u_char
    signature: 'u_char *

      quic_print_packet(netdissect_options *ndo, const u_char *bp, const u_char *end)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-quic.c:275,1
    - Dst: nd_print_protocol
      Src: /src/tcpdump/print-quic.c:278,1
    - Dst: quic_print_packet
      Src: /src/tcpdump/print-quic.c:281,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-quic.c:286,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-quic.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 289
    functionName: quic_print
    functionSourceFile: /src/tcpdump/print-quic.c
    functionUses: 0
    functionsReached:
    - nd_print_protocol
    - ND_TTEST_1
    - GET_U_1
    - quic_print_packet
    - ND_BYTES_AVAILABLE_AFTER
    linkageType: ''
    returnType: void
    signature: void quic_print(netdissect_options *ndo, const u_char *bp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:320,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:321,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:322,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-sflow.c:323,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:324,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sflow.c:325,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:326,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:327,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:328,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:329,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:330,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:331,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-sflow.c:333,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:334,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:335,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:336,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:337,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:338,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:339,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:340,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:341,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-sflow.c:343,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:344,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:345,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:346,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:347,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:348,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:349,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - pointer
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 353
    functionName: print_sflow_counter_generic
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_8
    - tok2str
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int print_sflow_counter_generic(netdissect_options *ndo,\n                            const
      u_char *pointer, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:365,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:366,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:367,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:368,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:369,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:370,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:371,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:372,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:373,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:374,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:375,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:376,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:377,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:378,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:379,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ndo
    - pointer
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 383
    functionName: print_sflow_counter_ethernet
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int print_sflow_counter_ethernet(netdissect_options *ndo,\n                             const
      u_char *pointer, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:402,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:403,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-sflow.c:404,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:405,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:406,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-sflow.c:407,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:408,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:409,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:410,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:411,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:412,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:413,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:415,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-sflow.c:416,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:417,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:418,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-sflow.c:421,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-sflow.c:422,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-sflow.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - pointer
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 426
    functionName: print_sflow_counter_basevg
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_8
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int print_sflow_counter_basevg(netdissect_options *ndo,\n                           const
      u_char *pointer, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:438,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:440,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-sflow.c:441,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:442,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:443,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:444,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - pointer
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 448
    functionName: print_sflow_counter_vlan
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_8
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int print_sflow_counter_vlan(netdissect_options *ndo,\n                         const
      u_char *pointer, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:468,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:470,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:471,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:472,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-sflow.c:473,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-sflow.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - pointer
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 477
    functionName: print_sflow_counter_processor
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_8
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int print_sflow_counter_processor(netdissect_options *ndo,\n                              const
      u_char *pointer, u_int len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:501,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:504,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:505,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sflow.c:507,1
    - Dst: print_sflow_counter_generic
      Src: /src/tcpdump/print-sflow.c:519,1
    - Dst: print_sflow_counter_ethernet
      Src: /src/tcpdump/print-sflow.c:523,1
    - Dst: print_sflow_counter_token_ring
      Src: /src/tcpdump/print-sflow.c:527,1
    - Dst: print_sflow_counter_basevg
      Src: /src/tcpdump/print-sflow.c:531,1
    - Dst: print_sflow_counter_vlan
      Src: /src/tcpdump/print-sflow.c:535,1
    - Dst: print_sflow_counter_processor
      Src: /src/tcpdump/print-sflow.c:539,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-sflow.c:544,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 4
    argNames:
    - ndo
    - pointer
    - len
    - records
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 555
    functionName: sflow_print_counter_records
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - print_sflow_counter_vlan
    - print_sflow_counter_basevg
    - GET_BE_U_4
    - print_sflow_counter_token_ring
    - print_sflow_counter_processor
    - ND_PRINT
    - print_sflow_counter_ethernet
    - tok2str
    - print_sflow_counter_generic
    linkageType: ''
    returnType: int
    signature: "int sflow_print_counter_records(netdissect_options *ndo,\n                            const
      u_char *pointer, u_int len, u_int records)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:569,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:571,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:572,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sflow.c:573,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-sflow.c:574,1
    - Dst: sflow_print_counter_records
      Src: /src/tcpdump/print-sflow.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - pointer
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 580
    functionName: sflow_print_counter_sample
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - sflow_print_counter_records
    - ND_PRINT
    - GET_BE_U_3
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int sflow_print_counter_sample(netdissect_options *ndo,\n                           const
      u_char *pointer, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:595,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:597,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:598,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:599,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:600,1
    - Dst: sflow_print_counter_records
      Src: /src/tcpdump/print-sflow.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - pointer
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 582
    functionDepth: 3
    functionLinenumber: 582
    functionLinenumberEnd: 606
    functionName: sflow_print_expanded_counter_sample
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - sflow_print_counter_records
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int sflow_print_expanded_counter_sample(netdissect_options *ndo,\n
      \                                   const u_char *pointer, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:618,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sflow.c:619,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:619,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:620,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:621,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:622,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - pointer
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 629
    functionName: print_sflow_raw_packet
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - tok2str
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int print_sflow_raw_packet(netdissect_options *ndo,\n                       const
      u_char *pointer, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:642,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:643,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - pointer
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 647
    functionName: print_sflow_ethernet_frame
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int print_sflow_ethernet_frame(netdissect_options *ndo,\n                           const
      u_char *pointer, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:659,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:660,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:661,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:662,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - pointer
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 666
    functionName: print_sflow_extended_switch_data
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int print_sflow_extended_switch_data(netdissect_options *ndo,\n                                 const
      u_char *pointer, u_int len)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:694,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:697,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:698,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sflow.c:700,1
    - Dst: print_sflow_raw_packet
      Src: /src/tcpdump/print-sflow.c:713,1
    - Dst: print_sflow_extended_switch_data
      Src: /src/tcpdump/print-sflow.c:717,1
    - Dst: print_sflow_ethernet_frame
      Src: /src/tcpdump/print-sflow.c:721,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-sflow.c:741,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 4
    argNames:
    - ndo
    - pointer
    - len
    - records
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 752
    functionName: sflow_print_flow_records
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - print_sflow_ethernet_frame
    - ND_PRINT
    - print_sflow_extended_switch_data
    - print_sflow_raw_packet
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int sflow_print_flow_records(netdissect_options *ndo,\n                         const
      u_char *pointer, u_int len, u_int records)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:766,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:768,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:769,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sflow.c:770,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-sflow.c:771,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:772,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:773,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:774,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:775,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:776,1
    - Dst: sflow_print_flow_records
      Src: /src/tcpdump/print-sflow.c:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - pointer
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 754
    functionDepth: 3
    functionLinenumber: 754
    functionLinenumberEnd: 782
    functionName: sflow_print_flow_sample
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    - GET_BE_U_3
    - sflow_print_flow_records
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int sflow_print_flow_sample(netdissect_options *ndo,\n                        const
      u_char *pointer, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:796,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:798,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:799,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:800,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:801,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:802,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:803,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:804,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:805,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:806,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:807,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:808,1
    - Dst: sflow_print_flow_records
      Src: /src/tcpdump/print-sflow.c:811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - pointer
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 784
    functionDepth: 3
    functionLinenumber: 784
    functionLinenumberEnd: 814
    functionName: sflow_print_expanded_flow_sample
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - sflow_print_flow_records
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int sflow_print_expanded_flow_sample(netdissect_options *ndo,\n                                 const
      u_char *pointer, u_int len)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:835,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:839,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:839,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:840,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-sflow.c:841,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-sflow.c:844,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:849,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:850,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:851,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:856,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:857,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-sflow.c:859,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-sflow.c:860,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:861,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:862,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:869,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:870,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:871,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-sflow.c:873,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:874,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:875,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:876,1
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-sflow.c:881,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:885,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:886,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:887,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-sflow.c:889,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:890,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:891,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:892,1
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-sflow.c:897,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:904,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sflow.c:905,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sflow.c:913,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sflow.c:914,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-sflow.c:927,1
    - Dst: sflow_print_flow_sample
      Src: /src/tcpdump/print-sflow.c:931,1
    - Dst: sflow_print_counter_sample
      Src: /src/tcpdump/print-sflow.c:936,1
    - Dst: sflow_print_expanded_flow_sample
      Src: /src/tcpdump/print-sflow.c:941,1
    - Dst: sflow_print_expanded_counter_sample
      Src: /src/tcpdump/print-sflow.c:946,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-sflow.c:952,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-sflow.c:962,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-sflow.c:963,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 87
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 816
    functionDepth: 4
    functionLinenumber: 816
    functionLinenumberEnd: 964
    functionName: sflow_print
    functionSourceFile: /src/tcpdump/print-sflow.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - print_unknown_data
    - sflow_print_expanded_flow_sample
    - ND_TCHECK_LEN
    - GET_IP6ADDR_STRING
    - sflow_print_flow_sample
    - sflow_print_counter_sample
    - ND_PRINT
    - sflow_print_expanded_counter_sample
    - ND_ICHECK_ZU
    - nd_print_invalid
    - tok2str
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void sflow_print(netdissect_options *ndo,\n            const u_char
      *pptr, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-domain.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rcode
    argTypes:
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: ns_rcode
    functionSourceFile: /src/tcpdump/print-domain.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      ns_rcode(u_int rcode)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-domain.c:70,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:72,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-domain.c:85,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:87,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-domain.c:102,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:104,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 108
    functionName: ns_nskip
    functionSourceFile: /src/tcpdump/print-domain.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TTEST_1
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nns_nskip(netdissect_options *ndo,\n         const u_char
      *cp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-domain.c:118,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:120,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:126,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:128,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:128,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:131,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:133,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:135,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:137,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 141
    functionName: blabel_print
    functionSourceFile: /src/tcpdump/print-domain.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TTEST_1
    - ND_PRINT
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nblabel_print(netdissect_options *ndo,\n             const
      u_char *cp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-domain.c:149,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:151,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:157,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-domain.c:160,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:162,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 179
    functionName: labellen
    functionSourceFile: /src/tcpdump/print-domain.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TTEST_1
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: "int labellen(netdissect_options *ndo,\n         const u_char *cp)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: labellen
      Src: /src/tcpdump/print-domain.c:193,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-domain.c:195,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:198,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-domain.c:214,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:216,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:228,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-domain.c:233,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:235,1
    - Dst: labellen
      Src: /src/tcpdump/print-domain.c:236,1
    - Dst: blabel_print
      Src: /src/tcpdump/print-domain.c:245,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:250,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:256,1
    - Dst: nd_printn
      Src: /src/tcpdump/print-domain.c:261,1
    - Dst: nd_printn
      Src: /src/tcpdump/print-domain.c:264,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:274,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-domain.c:276,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:278,1
    - Dst: labellen
      Src: /src/tcpdump/print-domain.c:279,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:286,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:288,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 3
    argNames:
    - ndo
    - cp
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 290
    functionName: fqdn_print
    functionSourceFile: /src/tcpdump/print-domain.c
    functionUses: 1
    functionsReached:
    - blabel_print
    - ND_TTEST_1
    - nd_printn
    - GET_U_1
    - ND_PRINT
    - labellen
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nfqdn_print(netdissect_options *ndo,\n          const u_char
      *cp, const u_char *bp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-domain.c:299,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:301,1
    - Dst: nd_printn
      Src: /src/tcpdump/print-domain.c:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 306
    functionName: ns_cprint
    functionSourceFile: /src/tcpdump/print-domain.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TTEST_1
    - nd_printn
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nns_cprint(netdissect_options *ndo,\n          const u_char
      *cp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-domain.c:319,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:323,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:325,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:327,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-domain.c:335,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-domain.c:340,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-domain.c:345,1
    - Dst: memset
      Src: /src/tcpdump/print-domain.c:350,1
    - Dst: memcpy
      Src: /src/tcpdump/print-domain.c:351,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:355,1
    - Dst: addrtostr
      Src: /src/tcpdump/print-domain.c:355,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:358,1
    - Dst: addrtostr6
      Src: /src/tcpdump/print-domain.c:358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - ndo
    - cp
    - data_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 361
    functionName: print_eopt_ecs
    functionSourceFile: /src/tcpdump/print-domain.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - addrtostr
    - GET_BE_U_2
    - memcpy
    - addrtostr6
    - ND_PRINT
    - nd_print_invalid
    - memset
    linkageType: ''
    returnType: void
    signature: "void print_eopt_ecs(netdissect_options *ndo, const u_char *cp,\n               u_int
      data_len)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-domain.c:376,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:378,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:380,1
    - Dst: tok2str
      Src: /src/tcpdump/print-domain.c:380,1
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-domain.c:381,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:383,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-domain.c:386,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:389,1
    - Dst: print_eopt_ecs
      Src: /src/tcpdump/print-domain.c:393,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-domain.c:397,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:402,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:403,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:403,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-domain.c:409,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:412,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:412,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-domain.c:416,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:418,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-domain.c:418,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:422,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-domain.c:426,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:430,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:431,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:431,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:437,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:438,1
    - Dst: tok2str
      Src: /src/tcpdump/print-domain.c:438,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:438,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:444,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:445,1
    - Dst: tok2str
      Src: /src/tcpdump/print-domain.c:445,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:445,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:451,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:452,1
    - Dst: tok2str
      Src: /src/tcpdump/print-domain.c:452,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:452,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-domain.c:456,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:462,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:462,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 84
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 471
    functionName: eopt_print
    functionSourceFile: /src/tcpdump/print-domain.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - print_eopt_ecs
    - nd_print_invalid
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - ND_TTEST_2
    - fqdn_print
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: u_char
    signature: "u_char *\neopt_print(netdissect_options *ndo,\n          const u_char
      *cp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ns_nskip
      Src: /src/tcpdump/print-domain.c:642,1
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/print-domain.c:644,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:648,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:650,1
    - Dst: tok2str
      Src: /src/tcpdump/print-domain.c:650,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:652,1
    - Dst: tok2str
      Src: /src/tcpdump/print-domain.c:659,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:661,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:664,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-domain.c:665,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ndo
    - cp
    - bp
    - is_mdns
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 635
    functionDepth: 3
    functionLinenumber: 635
    functionLinenumberEnd: 667
    functionName: ns_qprint
    functionSourceFile: /src/tcpdump/print-domain.c
    functionUses: 0
    functionsReached:
    - ND_TTEST_4
    - GET_BE_U_2
    - ND_PRINT
    - fqdn_print
    - tok2str
    - ns_nskip
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nns_qprint(netdissect_options *ndo,\n          const u_char
      *cp, const u_char *bp, int is_mdns)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:679,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-domain.c:680,1
    - Dst: ns_nskip
      Src: /src/tcpdump/print-domain.c:683,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-domain.c:685,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:689,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:692,1
    - Dst: tok2str
      Src: /src/tcpdump/print-domain.c:699,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:702,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:708,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:713,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-domain.c:714,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-domain.c:714,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:715,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:722,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:725,1
    - Dst: tok2str
      Src: /src/tcpdump/print-domain.c:725,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-domain.c:727,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-domain.c:732,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:734,1
    - Dst: intoa
      Src: /src/tcpdump/print-domain.c:734,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-domain.c:734,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:741,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-domain.c:742,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:749,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-domain.c:750,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:752,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-domain.c:753,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-domain.c:755,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:757,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-domain.c:757,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:759,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-domain.c:759,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:761,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-domain.c:761,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:763,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-domain.c:763,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:765,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-domain.c:765,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:769,1
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-domain.c:770,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-domain.c:772,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:774,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:774,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:779,1
    - Dst: ns_cprint
      Src: /src/tcpdump/print-domain.c:780,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:783,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:788,1
    - Dst: ND_TTEST_6
      Src: /src/tcpdump/print-domain.c:789,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-domain.c:791,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:793,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:793,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:794,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:794,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-domain.c:801,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:803,1
    - Dst: addrtostr6
      Src: /src/tcpdump/print-domain.c:804,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-domain.c:815,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:817,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:820,1
    - Dst: memset
      Src: /src/tcpdump/print-domain.c:823,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-domain.c:824,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:825,1
    - Dst: addrtostr6
      Src: /src/tcpdump/print-domain.c:826,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:829,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-domain.c:830,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-domain.c:837,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:840,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:843,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:843,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:843,1
    - Dst: nd_printn
      Src: /src/tcpdump/print-domain.c:844,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:849,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:851,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:853,1
    - Dst: eopt_print
      Src: /src/tcpdump/print-domain.c:855,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:859,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:861,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:871,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-domain.c:872,1
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-domain.c:875,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:877,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:877,1
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-domain.c:879,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:881,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:881,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:882,1
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-domain.c:883,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:885,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:885,1
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-domain.c:887,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:889,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:889,1
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-domain.c:891,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:893,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:893,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 190
    argCount: 4
    argNames:
    - ndo
    - cp
    - bp
    - is_mdns
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 670
    functionDepth: 4
    functionLinenumber: 670
    functionLinenumberEnd: 901
    functionName: ns_rprint
    functionSourceFile: /src/tcpdump/print-domain.c
    functionUses: 0
    functionsReached:
    - ns_cprint
    - GET_U_1
    - intoa
    - fqdn_print
    - ns_nskip
    - GET_BE_U_4
    - unsigned_relts_print
    - ND_TTEST_2
    - ND_PRINT
    - eopt_print
    - ND_TTEST_6
    - GET_BE_U_2
    - ND_TCHECK_LEN
    - memset
    - tok2str
    - GET_CPY_BYTES
    - ND_TTEST_1
    - nd_printn
    - ND_TTEST_LEN
    - addrtostr6
    - GET_IPV4_TO_NETWORK_ORDER
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nns_rprint(netdissect_options *ndo,\n          const u_char
      *cp, const u_char *bp, int is_mdns)"
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:923,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-domain.c:924,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:928,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:929,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:930,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-domain.c:931,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:938,1
    - Dst: nd_print_protocol
      Src: /src/tcpdump/print-domain.c:946,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:947,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-domain.c:948,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-domain.c:952,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:953,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:955,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:956,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:957,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:958,1
    - Dst: DNS_RCODE
      Src: /src/tcpdump/print-domain.c:962,1
    - Dst: ns_nskip
      Src: /src/tcpdump/print-domain.c:964,1
    - Dst: ns_nskip
      Src: /src/tcpdump/print-domain.c:971,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:976,1
    - Dst: ns_nskip
      Src: /src/tcpdump/print-domain.c:982,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:986,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-domain.c:991,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:997,1
    - Dst: DNS_QR
      Src: /src/tcpdump/print-domain.c:1004,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1006,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:1007,1
    - Dst: DNS_OPCODE
      Src: /src/tcpdump/print-domain.c:1008,1
    - Dst: ns_rcode
      Src: /src/tcpdump/print-domain.c:1009,1
    - Dst: DNS_AA
      Src: /src/tcpdump/print-domain.c:1010,1
    - Dst: DNS_RA
      Src: /src/tcpdump/print-domain.c:1011,1
    - Dst: DNS_TC
      Src: /src/tcpdump/print-domain.c:1012,1
    - Dst: DNS_AD
      Src: /src/tcpdump/print-domain.c:1013,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1016,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1021,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1023,1
    - Dst: ns_qprint
      Src: /src/tcpdump/print-domain.c:1024,1
    - Dst: ns_nskip
      Src: /src/tcpdump/print-domain.c:1027,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1032,1
    - Dst: ns_rprint
      Src: /src/tcpdump/print-domain.c:1034,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1038,1
    - Dst: ns_rprint
      Src: /src/tcpdump/print-domain.c:1039,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1049,1
    - Dst: ns_rprint
      Src: /src/tcpdump/print-domain.c:1050,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1054,1
    - Dst: ns_rprint
      Src: /src/tcpdump/print-domain.c:1055,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1063,1
    - Dst: ns_rprint
      Src: /src/tcpdump/print-domain.c:1064,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1068,1
    - Dst: ns_rprint
      Src: /src/tcpdump/print-domain.c:1069,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1079,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:1079,1
    - Dst: DNS_OPCODE
      Src: /src/tcpdump/print-domain.c:1080,1
    - Dst: DNS_RD
      Src: /src/tcpdump/print-domain.c:1081,1
    - Dst: DNS_CD
      Src: /src/tcpdump/print-domain.c:1082,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-domain.c:1085,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1087,1
    - Dst: DNS_OPCODE
      Src: /src/tcpdump/print-domain.c:1089,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1091,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1093,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1096,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1098,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1101,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1103,1
    - Dst: ns_qprint
      Src: /src/tcpdump/print-domain.c:1107,1
    - Dst: ns_qprint
      Src: /src/tcpdump/print-domain.c:1112,1
    - Dst: ns_rprint
      Src: /src/tcpdump/print-domain.c:1126,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1130,1
    - Dst: ns_rprint
      Src: /src/tcpdump/print-domain.c:1131,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1139,1
    - Dst: ns_rprint
      Src: /src/tcpdump/print-domain.c:1140,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1144,1
    - Dst: ns_rprint
      Src: /src/tcpdump/print-domain.c:1145,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1153,1
    - Dst: ns_rprint
      Src: /src/tcpdump/print-domain.c:1154,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1158,1
    - Dst: ns_rprint
      Src: /src/tcpdump/print-domain.c:1159,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-domain.c:1168,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-domain.c:1172,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 255
    argCount: 5
    argNames:
    - ndo
    - bp
    - length
    - over_tcp
    - is_mdns
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 903
    functionDepth: 5
    functionLinenumber: 903
    functionLinenumberEnd: 1173
    functionName: domain_print
    functionSourceFile: /src/tcpdump/print-domain.c
    functionUses: 1
    functionsReached:
    - nd_print_protocol
    - DNS_RD
    - GET_U_1
    - DNS_RCODE
    - nd_print_invalid
    - DNS_OPCODE
    - ns_nskip
    - ns_rprint
    - ns_qprint
    - ND_TCHECK_SIZE
    - DNS_AA
    - ND_PRINT
    - DNS_AD
    - DNS_CD
    - DNS_QR
    - GET_BE_U_2
    - DNS_RA
    - DNS_TC
    - nd_print_trunc
    - ns_rcode
    linkageType: ''
    returnType: void
    signature: "void domain_print(netdissect_options *ndo,\n             const u_char
      *bp, u_int length, int over_tcp, int is_mdns)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-ntp.c:248,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ntp.c:250,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:251,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ntp.c:253,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:255,1
    - Dst: GET_S_1
      Src: /src/tcpdump/print-ntp.c:255,1
    - Dst: p_poll
      Src: /src/tcpdump/print-ntp.c:256,1
    - Dst: GET_S_1
      Src: /src/tcpdump/print-ntp.c:256,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:258,1
    - Dst: GET_S_1
      Src: /src/tcpdump/print-ntp.c:258,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:260,1
    - Dst: p_sfix
      Src: /src/tcpdump/print-ntp.c:261,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:263,1
    - Dst: p_sfix
      Src: /src/tcpdump/print-ntp.c:264,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:266,1
    - Dst: ND_ASCII_ISPRINT
      Src: /src/tcpdump/print-ntp.c:279,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ntp.c:279,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:280,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-ntp.c:281,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-ntp.c:283,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-ntp.c:288,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:292,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ntp.c:292,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:297,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ntp.c:297,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:304,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:304,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:308,1
    - Dst: p_ntp_time
      Src: /src/tcpdump/print-ntp.c:309,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:311,1
    - Dst: p_ntp_time
      Src: /src/tcpdump/print-ntp.c:312,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:314,1
    - Dst: p_ntp_time
      Src: /src/tcpdump/print-ntp.c:315,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:317,1
    - Dst: p_ntp_time
      Src: /src/tcpdump/print-ntp.c:318,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:320,1
    - Dst: p_ntp_delta
      Src: /src/tcpdump/print-ntp.c:321,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:323,1
    - Dst: p_ntp_delta
      Src: /src/tcpdump/print-ntp.c:324,1
    - Dst: p_ext_fields
      Src: /src/tcpdump/print-ntp.c:327,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:334,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:334,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:336,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:336,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:337,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:338,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:339,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:340,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:341,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:343,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:343,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:344,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:345,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:346,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:347,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:348,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:349,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:351,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ntp.c:357,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ntp.c:358,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 69
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - version
    argTypes:
    - netdissect_options*
    - struct ntp_time_data*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 359
    functionName: ntp_time_print
    functionSourceFile: /src/tcpdump/print-ntp.c
    functionUses: 0
    functionsReached:
    - ND_ASCII_ISPRINT
    - GET_IPADDR_STRING
    - p_ntp_time
    - ND_TCHECK_LEN
    - nd_printjn
    - tok2str
    - p_poll
    - GET_U_1
    - p_ext_fields
    - p_ntp_delta
    - p_sfix
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - GET_S_1
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void ntp_time_print(netdissect_options *ndo,\n\t       const struct
      ntp_time_data *bp, u_int length, u_int version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-ntp.c:371,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ntp.c:373,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:378,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ntp.c:382,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:383,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ntp.c:385,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:386,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ntp.c:388,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:389,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ntp.c:391,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:392,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ntp.c:394,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:395,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-ntp.c:397,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ntp.c:399,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:400,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ntp.c:405,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ntp.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 3
    argNames:
    - ndo
    - cd
    - length
    argTypes:
    - netdissect_options*
    - struct ntp_control_data*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 407
    functionName: ntp_control_print
    functionSourceFile: /src/tcpdump/print-ntp.c
    functionUses: 0
    functionsReached:
    - nd_print_invalid
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: "void ntp_control_print(netdissect_options *ndo,\n\t\t  const struct
      ntp_control_data *cd, u_int length)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-ntp.c:426,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ntp.c:428,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:431,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:435,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ntp.c:436,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:441,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ntp.c:442,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:446,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ntp.c:447,1
    - Dst: ntp_time_print
      Src: /src/tcpdump/print-ntp.c:458,1
    - Dst: ntp_control_print
      Src: /src/tcpdump/print-ntp.c:462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 468
    functionName: ntp_print
    functionSourceFile: /src/tcpdump/print-ntp.c
    functionUses: 0
    functionsReached:
    - ntp_time_print
    - GET_U_1
    - ntp_control_print
    - nd_print_protocol_caps
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void ntp_print(netdissect_options *ndo,\n\t  const u_char *cp, u_int
      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ntp.c:478,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ntp.c:479,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ndo
    - sfp
    argTypes:
    - netdissect_options*
    - struct s_fixedpt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 483
    functionName: p_sfix
    functionSourceFile: /src/tcpdump/print-ntp.c
    functionUses: 1
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void p_sfix(netdissect_options *ndo,\n       const struct s_fixedpt
      *sfp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:498,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:499,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:500,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ntp.c:501,1
    - Dst: p_ntp_time
      Src: /src/tcpdump/print-ntp.c:503,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:535,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - ndo
    - olfp
    - lfp
    argTypes:
    - netdissect_options*
    - struct l_fixedpt*
    - struct l_fixedpt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 536
    functionName: p_ntp_delta
    functionSourceFile: /src/tcpdump/print-ntp.c
    functionUses: 1
    functionsReached:
    - ND_PRINT
    - p_ntp_time
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void p_ntp_delta(netdissect_options *ndo,\n\t    const struct l_fixedpt
      *olfp,\n\t    const struct l_fixedpt *lfp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:547,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ndo
    - poll_interval
    argTypes:
    - netdissect_options*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 550
    functionName: p_poll
    functionSourceFile: /src/tcpdump/print-ntp.c
    functionUses: 1
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void p_poll(netdissect_options *ndo,\n       const int poll_interval)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:556,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ntp.c:556,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:557,1
    - Dst: hex_print
      Src: /src/tcpdump/print-ntp.c:560,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ntp.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ndo
    - type
    - length
    - ef_body
    argTypes:
    - netdissect_options*
    - u_int
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 569
    functionName: p_ntp_ef
    functionSourceFile: /src/tcpdump/print-ntp.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - hex_print
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void p_ntp_ef(netdissect_options *ndo, u_int type, u_int length, const
      u_char *ef_body)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ntp.c:586,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ntp.c:587,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ntp.c:590,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ntp.c:595,1
    - Dst: p_ntp_ef
      Src: /src/tcpdump/print-ntp.c:599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 615
    functionName: p_ext_fields
    functionSourceFile: /src/tcpdump/print-ntp.c
    functionUses: 1
    functionsReached:
    - GET_BE_U_2
    - nd_print_invalid
    - p_ntp_ef
    - ND_PRINT
    linkageType: ''
    returnType: u_int
    signature: u_int p_ext_fields(netdissect_options *ndo, const u_char *cp, u_int
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: DNS_QR
    functionSourceFile: /src/tcpdump/nameser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_QR(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: DNS_OPCODE
    functionSourceFile: /src/tcpdump/nameser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_OPCODE(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: DNS_AA
    functionSourceFile: /src/tcpdump/nameser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_AA(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: DNS_TC
    functionSourceFile: /src/tcpdump/nameser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_TC(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: DNS_RD
    functionSourceFile: /src/tcpdump/nameser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RD(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: DNS_RA
    functionSourceFile: /src/tcpdump/nameser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RA(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: DNS_AD
    functionSourceFile: /src/tcpdump/nameser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_AD(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: DNS_CD
    functionSourceFile: /src/tcpdump/nameser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_CD(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: DNS_RCODE
    functionSourceFile: /src/tcpdump/nameser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RCODE(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: ICMP_ADVLEN
    functionSourceFile: /src/tcpdump/print-icmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ICMP_ADVLEN(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: ICMP_ERRTYPE
    functionSourceFile: /src/tcpdump/print-icmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ICMP_ERRTYPE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: ICMP_MULTIPART_EXT_TYPE
    functionSourceFile: /src/tcpdump/print-icmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ICMP_MULTIPART_EXT_TYPE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: ICMP_EXTENDED_ECHO_TYPE
    functionSourceFile: /src/tcpdump/print-icmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ICMP_EXTENDED_ECHO_TYPE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: ICMP_EXT_EXTRACT_VERSION
    functionSourceFile: /src/tcpdump/print-icmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ICMP_EXT_EXTRACT_VERSION(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tstamp
    argTypes:
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 411
    functionName: icmp_tstamp_print
    functionSourceFile: /src/tcpdump/print-icmp.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      icmp_tstamp_print(u_int tstamp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 418
    functionName: CHECK_TLEN
    functionSourceFile: /src/tcpdump/print-icmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_TLEN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: UPDATE_TLEN
    functionSourceFile: /src/tcpdump/print-icmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_TLEN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: UPDATE_TPTR_AND_TLEN
    functionSourceFile: /src/tcpdump/print-icmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_TPTR_AND_TLEN(len)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:435,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:436,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:437,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:439,1
    - Dst: tok2str
      Src: /src/tcpdump/print-icmp.c:440,1
    - Dst: CHECK_TLEN
      Src: /src/tcpdump/print-icmp.c:460,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp.c:461,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:462,1
    - Dst: MPLS_LABEL
      Src: /src/tcpdump/print-icmp.c:462,1
    - Dst: MPLS_TC
      Src: /src/tcpdump/print-icmp.c:462,1
    - Dst: MPLS_STACK
      Src: /src/tcpdump/print-icmp.c:463,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:464,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:465,1
    - Dst: MPLS_TTL
      Src: /src/tcpdump/print-icmp.c:465,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-icmp.c:469,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:491,1
    - Dst: tok2str
      Src: /src/tcpdump/print-icmp.c:492,1
    - Dst: CHECK_TLEN
      Src: /src/tcpdump/print-icmp.c:496,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:497,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp.c:497,1
    - Dst: UPDATE_TPTR_AND_TLEN
      Src: /src/tcpdump/print-icmp.c:498,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:504,1
    - Dst: CHECK_TLEN
      Src: /src/tcpdump/print-icmp.c:507,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:510,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-icmp.c:513,1
    - Dst: UPDATE_TPTR_AND_TLEN
      Src: /src/tcpdump/print-icmp.c:515,1
    - Dst: CHECK_TLEN
      Src: /src/tcpdump/print-icmp.c:519,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:520,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:520,1
    - Dst: UPDATE_TPTR_AND_TLEN
      Src: /src/tcpdump/print-icmp.c:521,1
    - Dst: CHECK_TLEN
      Src: /src/tcpdump/print-icmp.c:524,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:525,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp.c:525,1
    - Dst: UPDATE_TPTR_AND_TLEN
      Src: /src/tcpdump/print-icmp.c:526,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:529,1
    - Dst: CHECK_TLEN
      Src: /src/tcpdump/print-icmp.c:538,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:539,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:541,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:543,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-icmp.c:544,1
    - Dst: CHECK_TLEN
      Src: /src/tcpdump/print-icmp.c:547,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:549,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-icmp.c:550,1
    - Dst: UPDATE_TPTR_AND_TLEN
      Src: /src/tcpdump/print-icmp.c:551,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:555,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-icmp.c:556,1
    - Dst: UPDATE_TPTR_AND_TLEN
      Src: /src/tcpdump/print-icmp.c:557,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:560,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-icmp.c:561,1
    - Dst: UPDATE_TPTR_AND_TLEN
      Src: /src/tcpdump/print-icmp.c:563,1
    - Dst: CHECK_TLEN
      Src: /src/tcpdump/print-icmp.c:566,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:567,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp.c:567,1
    - Dst: UPDATE_TPTR_AND_TLEN
      Src: /src/tcpdump/print-icmp.c:568,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:576,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-icmp.c:577,1
    - Dst: CHECK_TLEN
      Src: /src/tcpdump/print-icmp.c:580,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:581,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp.c:581,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:589,1
    - Dst: CHECK_TLEN
      Src: /src/tcpdump/print-icmp.c:591,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:592,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:593,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-icmp.c:594,1
    - Dst: UPDATE_TLEN
      Src: /src/tcpdump/print-icmp.c:595,1
    - Dst: CHECK_TLEN
      Src: /src/tcpdump/print-icmp.c:597,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:601,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:603,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:603,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:607,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:609,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-icmp.c:609,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:612,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-icmp.c:618,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-icmp.c:624,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 144
    argCount: 2
    argNames:
    - ndo
    - obj_ptr
    argTypes:
    - netdissect_options*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 628
    functionName: print_icmp_multipart_ext_object
    functionSourceFile: /src/tcpdump/print-icmp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - print_unknown_data
    - MPLS_STACK
    - MPLS_TC
    - CHECK_TLEN
    - GET_U_1
    - MPLS_TTL
    - UPDATE_TLEN
    - GET_IP6ADDR_STRING
    - GET_BE_U_2
    - ND_TCHECK_1
    - nd_printjnp
    - ND_PRINT
    - nd_print_invalid
    - UPDATE_TPTR_AND_TLEN
    - tok2str
    - MPLS_LABEL
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: int print_icmp_multipart_ext_object(netdissect_options *ndo, const
      uint8_t *obj_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:635,1
    - Dst: ICMP_EXT_EXTRACT_VERSION
      Src: /src/tcpdump/print-icmp.c:636,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:636,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-icmp.c:637,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:642,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:643,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-icmp.c:649,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:650,1
    - Dst: in_cksum
      Src: /src/tcpdump/print-icmp.c:652,1
    - Dst: print_icmp_multipart_ext_object
      Src: /src/tcpdump/print-icmp.c:655,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:659,1
    - Dst: tok2str
      Src: /src/tcpdump/print-icmp.c:660,1
    - Dst: tok2str
      Src: /src/tcpdump/print-icmp.c:661,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - ndo
    - xinfo
    - isrequest
    - icmp_code
    - data
    argTypes:
    - netdissect_options*
    - uint8_t
    - int
    - uint8_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 666
    functionName: print_icmp_rfc8335
    functionSourceFile: /src/tcpdump/print-icmp.c
    functionUses: 1
    functionsReached:
    - tok2str
    - print_icmp_multipart_ext_object
    - GET_U_1
    - in_cksum
    - ND_TTEST_LEN
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - ICMP_EXT_EXTRACT_VERSION
    linkageType: ''
    returnType: void
    signature: void print_icmp_rfc8335(netdissect_options *ndo, uint8_t xinfo, int
      isrequest, uint8_t icmp_code, const uint8_t *data)
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:686,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:687,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:692,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:695,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:696,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:703,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:705,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:709,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:711,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:715,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:717,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:718,1
    - Dst: IP_HL
      Src: /src/tcpdump/print-icmp.c:729,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:731,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:732,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:736,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:738,1
    - Dst: tcpport_string
      Src: /src/tcpdump/print-icmp.c:739,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:743,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:745,1
    - Dst: udpport_string
      Src: /src/tcpdump/print-icmp.c:746,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:750,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:752,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:765,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:767,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:769,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:771,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:773,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:779,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:781,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:785,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:787,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:791,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:793,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:797,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:799,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:803,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:805,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:809,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:811,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:815,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:817,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:821,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:823,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:827,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:829,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:833,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:835,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:839,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:841,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:845,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:847,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:857,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:859,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:860,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:864,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:866,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:867,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:871,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:873,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:874,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:878,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:880,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:881,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:885,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:887,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:888,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:900,1
    - Dst: strlen
      Src: /src/tcpdump/print-icmp.c:901,1
    - Dst: strncpy
      Src: /src/tcpdump/print-icmp.c:904,1
    - Dst: strlen
      Src: /src/tcpdump/print-icmp.c:905,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:906,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:908,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:911,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:914,1
    - Dst: strlen
      Src: /src/tcpdump/print-icmp.c:920,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:922,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:923,1
    - Dst: strlen
      Src: /src/tcpdump/print-icmp.c:924,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:926,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:928,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:934,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-icmp.c:935,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp.c:936,1
    - Dst: strlen
      Src: /src/tcpdump/print-icmp.c:937,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-icmp.c:945,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:957,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:965,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:968,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:970,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:975,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp.c:976,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:980,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:982,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:983,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:987,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:989,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:990,1
    - Dst: icmp_tstamp_print
      Src: /src/tcpdump/print-icmp.c:991,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp.c:991,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:993,1
    - Dst: strlen
      Src: /src/tcpdump/print-icmp.c:993,1
    - Dst: strlen
      Src: /src/tcpdump/print-icmp.c:993,1
    - Dst: icmp_tstamp_print
      Src: /src/tcpdump/print-icmp.c:994,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp.c:994,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:995,1
    - Dst: strlen
      Src: /src/tcpdump/print-icmp.c:995,1
    - Dst: strlen
      Src: /src/tcpdump/print-icmp.c:995,1
    - Dst: icmp_tstamp_print
      Src: /src/tcpdump/print-icmp.c:996,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-icmp.c:996,1
    - Dst: snprintf
      Src: /src/tcpdump/print-icmp.c:1002,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:1005,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:1006,1
    - Dst: tok2str
      Src: /src/tcpdump/print-icmp.c:1010,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:1013,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-icmp.c:1015,1
    - Dst: in_cksum
      Src: /src/tcpdump/print-icmp.c:1020,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:1022,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:1023,1
    - Dst: in_cksum_shouldbe
      Src: /src/tcpdump/print-icmp.c:1025,1
    - Dst: ICMP_ERRTYPE
      Src: /src/tcpdump/print-icmp.c:1034,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:1039,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-icmp.c:1051,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:1051,1
    - Dst: ip_print
      Src: /src/tcpdump/print-icmp.c:1053,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:1053,1
    - Dst: ICMP_MULTIPART_EXT_TYPE
      Src: /src/tcpdump/print-icmp.c:1063,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-icmp.c:1064,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:1072,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-icmp.c:1073,1
    - Dst: in_cksum
      Src: /src/tcpdump/print-icmp.c:1076,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:1081,1
    - Dst: ICMP_EXT_EXTRACT_VERSION
      Src: /src/tcpdump/print-icmp.c:1082,1
    - Dst: ICMP_EXT_EXTRACT_VERSION
      Src: /src/tcpdump/print-icmp.c:1087,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:1089,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-icmp.c:1094,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-icmp.c:1097,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-icmp.c:1098,1
    - Dst: in_cksum
      Src: /src/tcpdump/print-icmp.c:1099,1
    - Dst: print_icmp_multipart_ext_object
      Src: /src/tcpdump/print-icmp.c:1107,1
    - Dst: ICMP_EXTENDED_ECHO_TYPE
      Src: /src/tcpdump/print-icmp.c:1119,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-icmp.c:1120,1
    - Dst: print_icmp_rfc8335
      Src: /src/tcpdump/print-icmp.c:1122,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 238
    argCount: 4
    argNames:
    - ndo
    - bp
    - plen
    - fragmented
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 1126
    functionName: icmp_print
    functionSourceFile: /src/tcpdump/print-icmp.c
    functionUses: 0
    functionsReached:
    - print_icmp_rfc8335
    - ICMP_MULTIPART_EXT_TYPE
    - GET_U_1
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    - print_icmp_multipart_ext_object
    - ICMP_ERRTYPE
    - IP_HL
    - ND_PRINT
    - strlen
    - ICMP_EXTENDED_ECHO_TYPE
    - in_cksum_shouldbe
    - udpport_string
    - GET_IPADDR_STRING
    - ip_print
    - GET_BE_U_2
    - snprintf
    - in_cksum
    - tok2str
    - ND_MIN
    - ICMP_EXT_EXTRACT_VERSION
    - strncpy
    - tcpport_string
    - ND_TTEST_LEN
    - icmp_tstamp_print
    - ND_TCHECK_4
    linkageType: ''
    returnType: void
    signature: "void icmp_print(netdissect_options *ndo, const u_char *bp, u_int plen,\n
      \          int fragmented)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arista.c:96,1
    - Dst: nd_format_time
      Src: /src/tcpdump/print-arista.c:97,1
    - Dst: gmtime
      Src: /src/tcpdump/print-arista.c:98,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arista.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ndo
    - seconds
    - nanoseconds
    argTypes:
    - netdissect_options*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: arista_print_date_hms_time
    functionSourceFile: /src/tcpdump/print-arista.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - nd_format_time
    - gmtime
    linkageType: ''
    returnType: void
    signature: "void arista_print_date_hms_time(netdissect_options *ndo, const uint32_t
      seconds,\n\t\tconst uint32_t nanoseconds)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-arista.c:111,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arista.c:115,1
    - Dst: tok2str
      Src: /src/tcpdump/print-arista.c:116,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arista.c:123,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arista.c:126,1
    - Dst: tok2str
      Src: /src/tcpdump/print-arista.c:127,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arista.c:130,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arista.c:131,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arista.c:136,1
    - Dst: tok2str
      Src: /src/tcpdump/print-arista.c:137,1
    - Dst: tok2str
      Src: /src/tcpdump/print-arista.c:139,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-arista.c:143,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-arista.c:144,1
    - Dst: arista_print_date_hms_time
      Src: /src/tcpdump/print-arista.c:145,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-arista.c:149,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-arista.c:150,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arista.c:151,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arista.c:153,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arista.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 164
    functionName: arista_ethertype_print
    functionSourceFile: /src/tcpdump/print-arista.c
    functionUses: 0
    functionsReached:
    - arista_print_date_hms_time
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: int arista_ethertype_print(netdissect_options *ndo, const u_char *bp,
      u_int len _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ip6_hdr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: IP6_VERSION
    functionSourceFile: /src/tcpdump/ip6.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IP6_VERSION(ip6_hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: IP6OPT_TYPE
    functionSourceFile: /src/tcpdump/ip6.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IP6OPT_TYPE(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: ND_ISASCII
    functionSourceFile: /src/tcpdump/netdissect-ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_ISASCII(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: ND_ASCII_ISPRINT
    functionSourceFile: /src/tcpdump/netdissect-ctype.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_ASCII_ISPRINT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: ND_ASCII_ISGRAPH
    functionSourceFile: /src/tcpdump/netdissect-ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_ASCII_ISGRAPH(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: ND_ASCII_ISDIGIT
    functionSourceFile: /src/tcpdump/netdissect-ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_ASCII_ISDIGIT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: ND_TOASCII
    functionSourceFile: /src/tcpdump/netdissect-ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TOASCII(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: ND_ASCII_TOLOWER
    functionSourceFile: /src/tcpdump/netdissect-ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_ASCII_TOLOWER(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: ND_ASCII_TOUPPER
    functionSourceFile: /src/tcpdump/netdissect-ctype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_ASCII_TOUPPER(c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-carp.c:53,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-carp.c:54,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-carp.c:55,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-carp.c:60,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-carp.c:62,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-carp.c:65,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-carp.c:66,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-carp.c:66,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-carp.c:66,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-carp.c:67,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-carp.c:72,1
    - Dst: in_cksum
      Src: /src/tcpdump/print-carp.c:72,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-carp.c:73,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-carp.c:74,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-carp.c:76,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-carp.c:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - ndo
    - bp
    - len
    - ttl
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 77
    functionName: carp_print
    functionSourceFile: /src/tcpdump/print-carp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - nd_print_protocol_caps
    - GET_BE_U_8
    - ND_TTEST_LEN
    - GET_BE_U_2
    - ND_PRINT
    - in_cksum
    linkageType: ''
    returnType: void
    signature: void carp_print(netdissect_options *ndo, const u_char *bp, u_int len,
      u_int ttl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-rip.c:196,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-rip.c:197,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rip.c:198,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:200,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rip.c:200,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-rip.c:201,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rip.c:204,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rip.c:205,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rip.c:206,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-rip.c:208,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:212,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rip.c:213,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rip.c:214,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:217,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rip.c:218,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rip.c:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - ndo
    - p
    - remaining
    argTypes:
    - netdissect_options*
    - u_char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 223
    functionName: rip_entry_print_v1
    functionSourceFile: /src/tcpdump/print-rip.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - print_unknown_data
    - ND_ICHECKMSG_U
    - GET_BE_U_4
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: unsigned
    signature: "unsigned rip_entry_print_v1(netdissect_options *ndo, const u_char
      *p,\n\t\t   unsigned remaining)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-rip.c:233,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-rip.c:234,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rip.c:235,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rip.c:237,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:242,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-rip.c:243,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-rip.c:248,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:250,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:251,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rip.c:252,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:253,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rip.c:253,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:254,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rip.c:255,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:256,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rip.c:256,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:257,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rip.c:257,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:258,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rip.c:258,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:260,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-rip.c:261,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:264,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-rip.c:266,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:270,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rip.c:270,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-rip.c:271,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-rip.c:274,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:276,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rip.c:277,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rip.c:278,1
    - Dst: mask2plen
      Src: /src/tcpdump/print-rip.c:279,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rip.c:279,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rip.c:280,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rip.c:281,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rip.c:282,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:283,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rip.c:283,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:285,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 3
    argNames:
    - ndo
    - p
    - remaining
    argTypes:
    - netdissect_options*
    - u_char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 290
    functionName: rip_entry_print_v2
    functionSourceFile: /src/tcpdump/print-rip.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - print_unknown_data
    - ND_ICHECKMSG_ZU
    - GET_U_1
    - GET_BE_U_4
    - GET_BE_U_2
    - nd_printjnp
    - mask2plen
    - ND_PRINT
    - tok2str
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: unsigned
    signature: "unsigned rip_entry_print_v2(netdissect_options *ndo, const u_char
      *p,\n\t\t   unsigned remaining)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:301,1
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-rip.c:302,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-rip.c:303,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rip.c:307,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:308,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:310,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rip.c:315,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:316,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rip.c:317,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-rip.c:320,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:333,1
    - Dst: rip_entry_print_v1
      Src: /src/tcpdump/print-rip.c:335,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-rip.c:340,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:348,1
    - Dst: rip_entry_print_v2
      Src: /src/tcpdump/print-rip.c:350,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-rip.c:355,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rip.c:363,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-rip.c:380,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-rip.c:386,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-rip.c:387,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-rip.c:392,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rip.c:393,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 3
    argNames:
    - ndo
    - p
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 394
    functionName: rip_print
    functionSourceFile: /src/tcpdump/print-rip.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - ND_TCHECK_LEN
    - ND_ICHECKMSG_U
    - ND_ICHECKMSG_ZU
    - GET_U_1
    - rip_entry_print_v2
    - nd_print_protocol_caps
    - ND_TTEST_LEN
    - ND_PRINT
    - rip_entry_print_v1
    - nd_print_invalid
    - tok2str
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void rip_print(netdissect_options *ndo,\n\t  const u_char *p, u_int
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:194,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-lwres.c:195,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lwres.c:197,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - l
    - p0
    argTypes:
    - netdissect_options*
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: lwres_printname
    functionSourceFile: /src/tcpdump/print-lwres.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    - nd_printjn
    linkageType: ''
    returnType: unsigned
    signature: "unsigned lwres_printname(netdissect_options *ndo,\n                u_int
      l, const u_char *p0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:209,1
    - Dst: lwres_printname
      Src: /src/tcpdump/print-lwres.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: lwres_printnamelen
    functionSourceFile: /src/tcpdump/print-lwres.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - lwres_printname
    linkageType: ''
    returnType: unsigned
    signature: "unsigned lwres_printnamelen(netdissect_options *ndo,\n                   const
      u_char *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:223,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:226,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lwres.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ndo
    - p0
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 230
    functionName: lwres_printbinlen
    functionSourceFile: /src/tcpdump/print-lwres.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    - GET_U_1
    linkageType: ''
    returnType: unsigned
    signature: "unsigned lwres_printbinlen(netdissect_options *ndo,\n                  const
      u_char *p0)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:243,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lwres.c:245,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:247,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:251,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lwres.c:251,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:257,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lwres.c:257,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:261,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:261,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:263,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lwres.c:263,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-lwres.c:268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - ndo
    - p0
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 269
    functionName: lwres_printaddr
    functionSourceFile: /src/tcpdump/print-lwres.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ND_BYTES_BETWEEN
    - GET_U_1
    - GET_IP6ADDR_STRING
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int lwres_printaddr(netdissect_options *ndo,\n                const
      u_char *p0)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-lwres.c:285,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:287,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:288,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:290,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:292,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lwres.c:293,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:298,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:301,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:302,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lwres.c:302,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:305,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:307,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:310,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:311,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:311,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:312,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:312,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:313,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:313,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:316,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:316,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:317,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:317,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:320,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:338,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-lwres.c:344,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:348,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:349,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:352,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:355,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:358,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:361,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:365,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:368,1
    - Dst: lwres_printname
      Src: /src/tcpdump/print-lwres.c:369,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-lwres.c:374,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:378,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:379,1
    - Dst: lwres_printaddr
      Src: /src/tcpdump/print-lwres.c:383,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-lwres.c:391,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:395,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:396,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:399,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lwres.c:399,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:400,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:401,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:402,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lwres.c:402,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:403,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:407,1
    - Dst: lwres_printname
      Src: /src/tcpdump/print-lwres.c:408,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:431,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-lwres.c:437,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:441,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:442,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:445,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:445,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:446,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:449,1
    - Dst: lwres_printname
      Src: /src/tcpdump/print-lwres.c:450,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:454,1
    - Dst: lwres_printnamelen
      Src: /src/tcpdump/print-lwres.c:456,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:461,1
    - Dst: lwres_printaddr
      Src: /src/tcpdump/print-lwres.c:463,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-lwres.c:471,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:475,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:476,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:479,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:479,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:482,1
    - Dst: lwres_printname
      Src: /src/tcpdump/print-lwres.c:483,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:487,1
    - Dst: lwres_printnamelen
      Src: /src/tcpdump/print-lwres.c:489,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-lwres.c:496,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:500,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:501,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:504,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lwres.c:504,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:505,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:506,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:507,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lwres.c:507,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:508,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:510,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-lwres.c:511,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:512,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:513,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:513,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:514,1
    - Dst: lwres_printnamelen
      Src: /src/tcpdump/print-lwres.c:517,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:521,1
    - Dst: lwres_printbinlen
      Src: /src/tcpdump/print-lwres.c:524,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwres.c:529,1
    - Dst: lwres_printbinlen
      Src: /src/tcpdump/print-lwres.c:532,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:545,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:546,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:546,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-lwres.c:549,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwres.c:549,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwres.c:550,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-lwres.c:554,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 193
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 555
    functionName: lwres_print
    functionSourceFile: /src/tcpdump/print-lwres.c
    functionUses: 0
    functionsReached:
    - lwres_printname
    - ND_TCHECK_2
    - unsigned_relts_print
    - ND_BYTES_BETWEEN
    - nd_print_invalid
    - GET_BE_U_2
    - lwres_printbinlen
    - ND_PRINT
    - lwres_printnamelen
    - ND_TCHECK_LEN
    - tok2str
    - lwres_printaddr
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void lwres_print(netdissect_options *ndo,\n            const u_char
      *bp, u_int length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zeromq.c:92,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zeromq.c:94,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zeromq.c:96,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zeromq.c:97,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zeromq.c:100,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-zeromq.c:101,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-zeromq.c:102,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zeromq.c:103,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-zeromq.c:107,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zeromq.c:108,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zeromq.c:112,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zeromq.c:113,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-zeromq.c:116,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zeromq.c:118,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-zeromq.c:118,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-zeromq.c:120,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zeromq.c:122,1
    - Dst: hex_and_ascii_print
      Src: /src/tcpdump/print-zeromq.c:123,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-zeromq.c:134,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-zeromq.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - ndo
    - cp
    - ep
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 139
    functionName: zmtp1_print_frame
    functionSourceFile: /src/tcpdump/print-zeromq.c
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - bittok2str
    - hex_and_ascii_print
    - GET_U_1
    - GET_BE_U_8
    - ND_PRINT
    - ND_TCHECK_LEN
    - ND_MIN
    linkageType: ''
    returnType: u_char
    signature: 'u_char *

      zmtp1_print_frame(netdissect_options *ndo, const u_char *cp, const u_char *ep)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_MIN
      Src: /src/tcpdump/print-zeromq.c:144,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zeromq.c:147,1
    - Dst: zmtp1_print_frame
      Src: /src/tcpdump/print-zeromq.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: zmtp1_print
    functionSourceFile: /src/tcpdump/print-zeromq.c
    functionUses: 1
    functionsReached:
    - ND_PRINT
    - ND_MIN
    - zmtp1_print_frame
    linkageType: ''
    returnType: void
    signature: void zmtp1_print(netdissect_options *ndo, const u_char *cp, u_int len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-zeromq.c:174,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zeromq.c:175,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-zeromq.c:177,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zeromq.c:182,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zeromq.c:188,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zeromq.c:190,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-zeromq.c:192,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-zeromq.c:195,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zeromq.c:197,1
    - Dst: hex_and_ascii_print
      Src: /src/tcpdump/print-zeromq.c:198,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-zeromq.c:205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 206
    functionName: zmtp1_print_intermediate_part
    functionSourceFile: /src/tcpdump/print-zeromq.c
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_MIN
    - GET_BE_U_2
    - ND_PRINT
    - ND_BYTES_AVAILABLE_AFTER
    - hex_and_ascii_print
    linkageType: ''
    returnType: u_char
    signature: 'u_char *

      zmtp1_print_intermediate_part(netdissect_options *ndo, const u_char *cp, const
      u_int len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_MIN
      Src: /src/tcpdump/print-zeromq.c:211,1
    - Dst: zmtp1_print_intermediate_part
      Src: /src/tcpdump/print-zeromq.c:214,1
    - Dst: zmtp1_print_frame
      Src: /src/tcpdump/print-zeromq.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: zmtp1_datagram_print
    functionSourceFile: /src/tcpdump/print-zeromq.c
    functionUses: 1
    functionsReached:
    - zmtp1_print_intermediate_part
    - ND_MIN
    - zmtp1_print_frame
    linkageType: ''
    returnType: void
    signature: void zmtp1_datagram_print(netdissect_options *ndo, const u_char *cp,
      const u_int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:271,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-l2tp.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: print_octets
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void print_octets(netdissect_options *ndo, const u_char *dat, u_int
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:279,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: print_16bits_val
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void print_16bits_val(netdissect_options *ndo, const uint8_t *dat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:285,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: print_32bits_val
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void print_32bits_val(netdissect_options *ndo, const uint8_t *dat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:295,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:298,1
    - Dst: tok2str
      Src: /src/tcpdump/print-l2tp.c:298,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: l2tp_msgtype_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void l2tp_msgtype_print(netdissect_options *ndo, const u_char *dat,
      u_int length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:307,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:310,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:310,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:318,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:321,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:321,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:328,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-l2tp.c:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 330
    functionName: l2tp_result_code_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    - nd_printjn
    linkageType: ''
    returnType: void
    signature: void l2tp_result_code_print(netdissect_options *ndo, const u_char *dat,
      u_int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:336,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:339,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:339,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: l2tp_proto_ver_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void l2tp_proto_ver_print(netdissect_options *ndo, const u_char *dat,
      u_int length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:347,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:350,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:351,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:353,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 356
    functionName: l2tp_framing_cap_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void l2tp_framing_cap_print(netdissect_options *ndo, const u_char *dat,
      u_int length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:362,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:365,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:366,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:368,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 371
    functionName: l2tp_bearer_cap_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void l2tp_bearer_cap_print(netdissect_options *ndo, const u_char *dat,
      u_int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:377,1
    - Dst: print_16bits_val
      Src: /src/tcpdump/print-l2tp.c:380,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:381,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-l2tp.c:381,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:385,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-l2tp.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 388
    functionName: l2tp_q931_cc_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    - nd_printjn
    - print_16bits_val
    linkageType: ''
    returnType: void
    signature: void l2tp_q931_cc_print(netdissect_options *ndo, const u_char *dat,
      u_int length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:394,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:397,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:398,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:400,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: l2tp_bearer_type_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void l2tp_bearer_type_print(netdissect_options *ndo, const u_char *dat,
      u_int length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:409,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:412,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:413,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:415,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 418
    functionName: l2tp_framing_type_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void l2tp_framing_type_print(netdissect_options *ndo, const u_char
      *dat, u_int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: l2tp_packet_proc_delay_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void l2tp_packet_proc_delay_print(netdissect_options *ndo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:430,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:433,1
    - Dst: tok2str
      Src: /src/tcpdump/print-l2tp.c:433,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 435
    functionName: l2tp_proxy_auth_type_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void l2tp_proxy_auth_type_print(netdissect_options *ndo, const u_char
      *dat, u_int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:441,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:444,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: l2tp_proxy_auth_id_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void l2tp_proxy_auth_id_print(netdissect_options *ndo, const u_char
      *dat, u_int length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:453,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:460,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:463,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:464,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:467,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:470,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:471,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:474,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:477,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:478,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:481,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:484,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:485,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:488,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:491,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:492,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:495,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:498,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:499,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 500
    functionName: l2tp_call_errors_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void l2tp_call_errors_print(netdissect_options *ndo, const u_char *dat,
      u_int length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:508,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:515,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:518,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:519,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:522,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-l2tp.c:525,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 527
    functionName: l2tp_accm_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void l2tp_accm_print(netdissect_options *ndo, const u_char *dat, u_int
      length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:533,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:537,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:537,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:541,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:541,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:545,1
    - Dst: tok2str
      Src: /src/tcpdump/print-l2tp.c:545,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-l2tp.c:546,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:551,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-l2tp.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 554
    functionName: l2tp_ppp_discon_cc_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - nd_printjn
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: void
    signature: void l2tp_ppp_discon_cc_print(netdissect_options *ndo, const u_char
      *dat, u_int length)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:563,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:565,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-l2tp.c:568,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:573,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-l2tp.c:579,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:587,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:588,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:590,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:592,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:596,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:598,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:598,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:599,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:599,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:600,1
    - Dst: print_octets
      Src: /src/tcpdump/print-l2tp.c:601,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:602,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:606,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:607,1
    - Dst: tok2str
      Src: /src/tcpdump/print-l2tp.c:607,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:608,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:610,1
    - Dst: l2tp_msgtype_print
      Src: /src/tcpdump/print-l2tp.c:614,1
    - Dst: l2tp_result_code_print
      Src: /src/tcpdump/print-l2tp.c:617,1
    - Dst: l2tp_proto_ver_print
      Src: /src/tcpdump/print-l2tp.c:620,1
    - Dst: l2tp_framing_cap_print
      Src: /src/tcpdump/print-l2tp.c:623,1
    - Dst: l2tp_bearer_cap_print
      Src: /src/tcpdump/print-l2tp.c:626,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:630,1
    - Dst: print_octets
      Src: /src/tcpdump/print-l2tp.c:633,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:640,1
    - Dst: print_16bits_val
      Src: /src/tcpdump/print-l2tp.c:643,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-l2tp.c:652,1
    - Dst: print_octets
      Src: /src/tcpdump/print-l2tp.c:661,1
    - Dst: l2tp_q931_cc_print
      Src: /src/tcpdump/print-l2tp.c:664,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:668,1
    - Dst: print_octets
      Src: /src/tcpdump/print-l2tp.c:671,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:680,1
    - Dst: print_32bits_val
      Src: /src/tcpdump/print-l2tp.c:683,1
    - Dst: l2tp_bearer_type_print
      Src: /src/tcpdump/print-l2tp.c:686,1
    - Dst: l2tp_framing_type_print
      Src: /src/tcpdump/print-l2tp.c:689,1
    - Dst: l2tp_packet_proc_delay_print
      Src: /src/tcpdump/print-l2tp.c:692,1
    - Dst: l2tp_proxy_auth_type_print
      Src: /src/tcpdump/print-l2tp.c:695,1
    - Dst: l2tp_proxy_auth_id_print
      Src: /src/tcpdump/print-l2tp.c:698,1
    - Dst: l2tp_call_errors_print
      Src: /src/tcpdump/print-l2tp.c:701,1
    - Dst: l2tp_accm_print
      Src: /src/tcpdump/print-l2tp.c:704,1
    - Dst: l2tp_ppp_discon_cc_print
      Src: /src/tcpdump/print-l2tp.c:709,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:715,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 144
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 722
    functionName: l2tp_avp_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - l2tp_framing_cap_print
    - ND_ICHECKMSG_U
    - l2tp_proto_ver_print
    - l2tp_bearer_type_print
    - l2tp_proxy_auth_id_print
    - print_32bits_val
    - l2tp_ppp_discon_cc_print
    - l2tp_msgtype_print
    - l2tp_q931_cc_print
    - print_octets
    - ND_PRINT
    - nd_printjn
    - l2tp_packet_proc_delay_print
    - l2tp_framing_type_print
    - GET_BE_U_2
    - print_16bits_val
    - ND_TCHECK_LEN
    - tok2str
    - l2tp_call_errors_print
    - l2tp_accm_print
    - l2tp_result_code_print
    - l2tp_proxy_auth_type_print
    - l2tp_bearer_cap_print
    linkageType: ''
    returnType: u_int
    signature: u_int l2tp_avp_print(netdissect_options *ndo, const u_char *dat, u_int
      length)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:737,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:738,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:739,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:740,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:743,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:747,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:748,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:750,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:752,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:754,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:756,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:758,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:760,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:762,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:764,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:765,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:766,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:772,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:779,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:779,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:783,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:783,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:788,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:788,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:791,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:791,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-l2tp.c:797,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-l2tp.c:799,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:806,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:812,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:817,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:821,1
    - Dst: l2tp_avp_print
      Src: /src/tcpdump/print-l2tp.c:829,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:838,1
    - Dst: ppp_print
      Src: /src/tcpdump/print-l2tp.c:839,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-l2tp.c:840,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-l2tp.c:844,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 103
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 725
    functionDepth: 4
    functionLinenumber: 725
    functionLinenumberEnd: 845
    functionName: l2tp_print
    functionSourceFile: /src/tcpdump/print-l2tp.c
    functionUses: 0
    functionsReached:
    - nd_print_invalid
    - l2tp_avp_print
    - GET_BE_U_2
    - ND_PRINT
    - ppp_print
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: void
    signature: void l2tp_print(netdissect_options *ndo, const u_char *dat, u_int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/addrtoname.h:76,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/addrtoname.h:77,1
    - Dst: linkaddr_string
      Src: /src/tcpdump/addrtoname.h:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ndo
    - p
    - type
    - len
    argTypes:
    - netdissect_options*
    - uint8_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: get_linkaddr_string
    functionSourceFile: /src/tcpdump/addrtoname.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - linkaddr_string
    - ND_TTEST_LEN
    linkageType: ''
    returnType: char
    signature: "char *\nget_linkaddr_string(netdissect_options *ndo, const uint8_t
      *p,\n    const unsigned int type, const unsigned int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/addrtoname.h:84,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/addrtoname.h:85,1
    - Dst: mac48_string
      Src: /src/tcpdump/addrtoname.h:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: get_mac48_string
    functionSourceFile: /src/tcpdump/addrtoname.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - mac48_string
    - ND_TTEST_LEN
    linkageType: ''
    returnType: char
    signature: 'char *

      get_mac48_string(netdissect_options *ndo, const uint8_t *p)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/addrtoname.h:92,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/addrtoname.h:93,1
    - Dst: eui64_string
      Src: /src/tcpdump/addrtoname.h:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: get_eui64_string
    functionSourceFile: /src/tcpdump/addrtoname.h
    functionUses: 0
    functionsReached:
    - eui64_string
    - nd_trunc_longjmp
    - ND_TTEST_LEN
    linkageType: ''
    returnType: char
    signature: 'char *

      get_eui64_string(netdissect_options *ndo, const uint8_t *p)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/addrtoname.h:100,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/addrtoname.h:101,1
    - Dst: eui64le_string
      Src: /src/tcpdump/addrtoname.h:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: get_eui64le_string
    functionSourceFile: /src/tcpdump/addrtoname.h
    functionUses: 0
    functionsReached:
    - eui64le_string
    - nd_trunc_longjmp
    - ND_TTEST_LEN
    linkageType: ''
    returnType: char
    signature: 'char *

      get_eui64le_string(netdissect_options *ndo, const uint8_t *p)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/addrtoname.h:109,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/addrtoname.h:110,1
    - Dst: isonsap_string
      Src: /src/tcpdump/addrtoname.h:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ndo
    - nsap
    - nsap_length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: get_isonsap_string
    functionSourceFile: /src/tcpdump/addrtoname.h
    functionUses: 0
    functionsReached:
    - isonsap_string
    - nd_trunc_longjmp
    - ND_TTEST_LEN
    linkageType: ''
    returnType: char
    signature: "char *\nget_isonsap_string(netdissect_options *ndo, const uint8_t
      *nsap,\n    u_int nsap_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/addrtoname.h:117,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/addrtoname.h:118,1
    - Dst: ipaddr_string
      Src: /src/tcpdump/addrtoname.h:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: get_ipaddr_string
    functionSourceFile: /src/tcpdump/addrtoname.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ipaddr_string
    - ND_TTEST_4
    linkageType: ''
    returnType: char
    signature: 'char *

      get_ipaddr_string(netdissect_options *ndo, const u_char *p)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_16
      Src: /src/tcpdump/addrtoname.h:125,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/addrtoname.h:126,1
    - Dst: ip6addr_string
      Src: /src/tcpdump/addrtoname.h:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: get_ip6addr_string
    functionSourceFile: /src/tcpdump/addrtoname.h
    functionUses: 0
    functionsReached:
    - ND_TTEST_16
    - ip6addr_string
    - nd_trunc_longjmp
    linkageType: ''
    returnType: char
    signature: 'char *

      get_ip6addr_string(netdissect_options *ndo, const u_char *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - type
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: GET_LINKADDR_STRING
    functionSourceFile: /src/tcpdump/addrtoname.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LINKADDR_STRING(p, type, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: GET_MAC48_STRING
    functionSourceFile: /src/tcpdump/addrtoname.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_MAC48_STRING(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: GET_EUI64_STRING
    functionSourceFile: /src/tcpdump/addrtoname.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_EUI64_STRING(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: GET_EUI64LE_STRING
    functionSourceFile: /src/tcpdump/addrtoname.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_EUI64LE_STRING(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nsap
    - ','
    - nsap_length
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: GET_ISONSAP_STRING
    functionSourceFile: /src/tcpdump/addrtoname.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_ISONSAP_STRING(nsap, nsap_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: GET_IPADDR_STRING
    functionSourceFile: /src/tcpdump/addrtoname.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_IPADDR_STRING(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: GET_IP6ADDR_STRING
    functionSourceFile: /src/tcpdump/addrtoname.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_IP6ADDR_STRING(p)
  - 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: LDP_MASK_MSG_TYPE
    functionSourceFile: /src/tcpdump/print-ldp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDP_MASK_MSG_TYPE(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: LDP_MASK_U_BIT
    functionSourceFile: /src/tcpdump/print-ldp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDP_MASK_U_BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: LDP_MASK_TLV_TYPE
    functionSourceFile: /src/tcpdump/print-ldp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDP_MASK_TLV_TYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: LDP_MASK_F_BIT
    functionSourceFile: /src/tcpdump/print-ldp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDP_MASK_F_BIT(x)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-ldp.c:293,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:294,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:296,1
    - Dst: LDP_MASK_TLV_TYPE
      Src: /src/tcpdump/print-ldp.c:300,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:300,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:303,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ldp.c:304,1
    - Dst: LDP_MASK_U_BIT
      Src: /src/tcpdump/print-ldp.c:309,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:309,1
    - Dst: LDP_MASK_F_BIT
      Src: /src/tcpdump/print-ldp.c:310,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:310,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:317,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:318,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:319,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:320,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:321,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:325,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:326,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ldp.c:326,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:329,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:330,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-ldp.c:330,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:333,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:334,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ldp.c:334,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:338,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:340,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:343,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ldp.c:344,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:348,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ldp.c:348,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:355,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-ldp.c:355,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:367,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:368,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ldp.c:368,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:372,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:373,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ldp.c:373,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:377,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ldp.c:377,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:384,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:385,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:386,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:386,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:387,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:388,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:390,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ldp.c:391,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:392,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ldp.c:393,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:394,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:399,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ldp.c:400,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:401,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ldp.c:402,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:412,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:413,1
    - Dst: decode_prefix4
      Src: /src/tcpdump/print-ldp.c:417,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:421,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:423,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:425,1
    - Dst: decode_prefix6
      Src: /src/tcpdump/print-ldp.c:427,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:431,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:433,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:435,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:437,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:446,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ldp.c:447,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:455,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ldp.c:456,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:456,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:457,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ldp.c:458,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:464,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:465,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ldp.c:466,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:466,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:467,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ldp.c:468,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ldp.c:469,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:473,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:481,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ldp.c:484,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ldp.c:485,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:491,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ldp.c:492,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:498,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:498,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:502,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-ldp.c:503,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:507,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ldp.c:508,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ldp.c:509,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ldp.c:509,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:510,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ldp.c:511,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ldp.c:512,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ldp.c:512,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ldp.c:516,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:529,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:530,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ldp.c:530,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:534,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ldp.c:535,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:537,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ldp.c:538,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ldp.c:541,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:544,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:545,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:547,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ldp.c:547,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:551,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:552,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:553,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ldp.c:561,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:563,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ldp.c:565,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:567,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:571,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:572,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ldp.c:572,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:576,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:577,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:577,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ldp.c:581,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ldp.c:582,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:583,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ldp.c:584,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ldp.c:605,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-ldp.c:611,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ldp.c:614,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 225
    argCount: 3
    argNames:
    - ndo
    - tptr
    - msg_tlen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 616
    functionName: ldp_tlv_print
    functionSourceFile: /src/tcpdump/print-ldp.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - ND_ICHECKMSG_U
    - GET_U_1
    - LDP_MASK_TLV_TYPE
    - GET_IP6ADDR_STRING
    - nd_print_invalid
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    - ND_PRINT
    - decode_prefix4
    - GET_IPADDR_STRING
    - print_unknown_data
    - nd_printjn
    - LDP_MASK_U_BIT
    - decode_prefix6
    - GET_BE_U_2
    - tok2str
    - nd_trunc_longjmp
    - LDP_MASK_F_BIT
    linkageType: ''
    returnType: u_int
    signature: "u_int ldp_tlv_print(netdissect_options *ndo,\n              const
      u_char *tptr,\n              u_int msg_tlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ldp_pdu_print
      Src: /src/tcpdump/print-ldp.c:626,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:630,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ldp.c:631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 637
    functionName: ldp_print
    functionSourceFile: /src/tcpdump/print-ldp.c
    functionUses: 1
    functionsReached:
    - ldp_pdu_print
    - nd_print_invalid
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void ldp_print(netdissect_options *ndo,\n          const u_char *pptr,
      u_int len)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-ldp.c:652,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:657,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:658,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:660,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:664,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:667,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:675,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ldp.c:677,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:678,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ldp.c:691,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:694,1
    - Dst: LDP_MASK_MSG_TYPE
      Src: /src/tcpdump/print-ldp.c:695,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:695,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:700,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ldp.c:701,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ldp.c:711,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ldp.c:712,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ldp.c:717,1
    - Dst: LDP_MASK_U_BIT
      Src: /src/tcpdump/print-ldp.c:718,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ldp.c:718,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ldp.c:724,1
    - Dst: ldp_tlv_print
      Src: /src/tcpdump/print-ldp.c:741,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ldp.c:751,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ldp.c:756,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-ldp.c:764,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 2
    argNames:
    - ndo
    - pptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 765
    functionName: ldp_pdu_print
    functionSourceFile: /src/tcpdump/print-ldp.c
    functionUses: 1
    functionsReached:
    - GET_IPADDR_STRING
    - print_unknown_data
    - nd_trunc_longjmp
    - LDP_MASK_MSG_TYPE
    - LDP_MASK_U_BIT
    - ldp_tlv_print
    - GET_BE_U_4
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: u_int
    signature: "u_int ldp_pdu_print(netdissect_options *ndo,\n              const
      u_char *pptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txtproto_print
      Src: /src/tcpdump/print-smtp.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: smtp_print
    functionSourceFile: /src/tcpdump/print-smtp.c
    functionUses: 1
    functionsReached:
    - txtproto_print
    linkageType: ''
    returnType: void
    signature: void smtp_print(netdissect_options *ndo, const u_char *pptr, u_int
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: NFSX_FH
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NFSX_FH(v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: NFSX_SRVFH
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NFSX_SRVFH(v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: NFSX_FATTR
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NFSX_FATTR(v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: NFSX_PREOPATTR
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NFSX_PREOPATTR(v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: NFSX_POSTOPATTR
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NFSX_POSTOPATTR(v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: NFSX_POSTOPORFATTR
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NFSX_POSTOPORFATTR(v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: NFSX_WCCDATA
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NFSX_WCCDATA(v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: NFSX_WCCORFATTR
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NFSX_WCCORFATTR(v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: NFSX_COOKIEVERF
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NFSX_COOKIEVERF(v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: NFSX_WRITEVERF
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NFSX_WRITEVERF(v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: NFSX_READDIR
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NFSX_READDIR(v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: NFSX_STATFS
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NFSX_STATFS(v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: vtonfsv2_mode
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vtonfsv2_mode(t,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: vtonfsv3_mode
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vtonfsv3_mode(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: nfstov_mode
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nfstov_mode(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: vtonfsv2_type
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vtonfsv2_type(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: vtonfsv3_type
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vtonfsv3_type(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: nfsv2tov_type
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nfsv2tov_type(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: nfsv3tov_type
    functionSourceFile: /src/tcpdump/nfs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nfsv3tov_type(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tcpdump/print-ripng.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - nd_ipv6*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: ND_IN6_IS_ADDR_UNSPECIFIED
    functionSourceFile: /src/tcpdump/print-ripng.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int ND_IN6_IS_ADDR_UNSPECIFIED(const nd_ipv6 *addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ripng.c:96,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-ripng.c:96,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ripng.c:97,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ripng.c:98,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ripng.c:100,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ripng.c:101,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ripng.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ndo
    - ni
    - print_metric
    argTypes:
    - netdissect_options*
    - struct netinfo6*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: rip6_entry_print
    functionSourceFile: /src/tcpdump/print-ripng.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_IP6ADDR_STRING
    - ND_PRINT
    - GET_BE_U_2
    linkageType: ''
    returnType: void
    signature: "void rip6_entry_print(netdissect_options *ndo,\n                 const
      struct netinfo6 *ni, const u_int print_metric)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ripng.c:116,1
    - Dst: nd_print_protocol
      Src: /src/tcpdump/print-ripng.c:118,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ripng.c:119,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ripng.c:122,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ripng.c:132,1
    - Dst: ND_IN6_IS_ADDR_UNSPECIFIED
      Src: /src/tcpdump/print-ripng.c:133,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ripng.c:134,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ripng.c:139,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ripng.c:141,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ripng.c:145,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ripng.c:147,1
    - Dst: rip6_entry_print
      Src: /src/tcpdump/print-ripng.c:148,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ripng.c:160,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ripng.c:162,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ripng.c:166,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ripng.c:168,1
    - Dst: rip6_entry_print
      Src: /src/tcpdump/print-ripng.c:169,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ripng.c:175,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ripng.c:181,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 182
    functionName: ripng_print
    functionSourceFile: /src/tcpdump/print-ripng.c
    functionUses: 0
    functionsReached:
    - nd_print_protocol
    - ND_IN6_IS_ADDR_UNSPECIFIED
    - GET_U_1
    - rip6_entry_print
    - ND_PRINT
    - nd_print_invalid
    linkageType: ''
    returnType: void
    signature: void ripng_print(netdissect_options *ndo, const u_char *dat, unsigned
      int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MD5_Init
      Src: /src/tcpdump/signature.c:63,1
    - Dst: MD5_Update
      Src: /src/tcpdump/signature.c:64,1
    - Dst: MD5_Final
      Src: /src/tcpdump/signature.c:65,1
    - Dst: memset
      Src: /src/tcpdump/signature.c:83,1
    - Dst: memset
      Src: /src/tcpdump/signature.c:84,1
    - Dst: memcpy
      Src: /src/tcpdump/signature.c:85,1
    - Dst: memcpy
      Src: /src/tcpdump/signature.c:86,1
    - Dst: MD5_Init
      Src: /src/tcpdump/signature.c:97,1
    - Dst: MD5_Update
      Src: /src/tcpdump/signature.c:98,1
    - Dst: MD5_Update
      Src: /src/tcpdump/signature.c:99,1
    - Dst: MD5_Final
      Src: /src/tcpdump/signature.c:100,1
    - Dst: MD5_Init
      Src: /src/tcpdump/signature.c:105,1
    - Dst: MD5_Update
      Src: /src/tcpdump/signature.c:106,1
    - Dst: MD5_Update
      Src: /src/tcpdump/signature.c:107,1
    - Dst: MD5_Final
      Src: /src/tcpdump/signature.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 5
    argNames:
    - text
    - text_len
    - key
    - key_len
    - digest
    argTypes:
    - uint8_t*
    - int
    - unsigned char*
    - unsigned int
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 109
    functionName: signature_compute_hmac_md5
    functionSourceFile: /src/tcpdump/signature.c
    functionUses: 0
    functionsReached:
    - MD5_Final
    - memcpy
    - MD5_Init
    - memset
    - MD5_Update
    linkageType: ''
    returnType: DIAG_OFF_DEPRECATION
    signature: "DIAG_OFF_DEPRECATION signature_compute_hmac_md5(const uint8_t *text,
      int text_len, unsigned char *key,\n                           unsigned int key_len,
      uint8_t *digest)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/signature.c:132,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/signature.c:140,1
    - Dst: malloc
      Src: /src/tcpdump/signature.c:152,1
    - Dst: memcpy
      Src: /src/tcpdump/signature.c:157,1
    - Dst: memset
      Src: /src/tcpdump/signature.c:163,1
    - Dst: signature_compute_hmac_md5
      Src: /src/tcpdump/signature.c:174,1
    - Dst: strlen
      Src: /src/tcpdump/signature.c:176,1
    - Dst: free
      Src: /src/tcpdump/signature.c:181,1
    - Dst: memcmp
      Src: /src/tcpdump/signature.c:186,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/signature.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - ndo
    - pptr
    - plen
    - sig_ptr
    - clear_arg
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 197
    functionName: signature_verify
    functionSourceFile: /src/tcpdump/signature.c
    functionUses: 0
    functionsReached:
    - signature_compute_hmac_md5
    - memcmp
    - ND_TTEST_LEN
    - memcpy
    - ND_PRINT
    - strlen
    - free
    - memset
    - malloc
    linkageType: ''
    returnType: DIAG_ON_DEPRECATION
    signature: "DIAG_ON_DEPRECATION signature_verify(netdissect_options *ndo, const
      u_char *pptr, u_int plen,\n                 const u_char *sig_ptr, void (*clear_rtn)(void
      *),\n                 const void *clear_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sub_etc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: MPTCP_OPT_SUBTYPE
    functionSourceFile: /src/tcpdump/print-mptcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPTCP_OPT_SUBTYPE(sub_etc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sub_ver
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: MP_CAPABLE_OPT_VERSION
    functionSourceFile: /src/tcpdump/print-mptcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MP_CAPABLE_OPT_VERSION(sub_ver)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MP_CAPABLE_OPT_VERSION
      Src: /src/tcpdump/print-mptcp.c:241,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mptcp.c:241,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:245,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:248,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:252,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-mptcp.c:252,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mptcp.c:253,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mptcp.c:255,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:257,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:259,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-mptcp.c:259,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:261,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-mptcp.c:261,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:265,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mptcp.c:265,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:266,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 4
    argNames:
    - ndo
    - opt
    - opt_len
    - flags
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 269
    functionName: mp_capable_print
    functionSourceFile: /src/tcpdump/print-mptcp.c
    functionUses: 0
    functionsReached:
    - MP_CAPABLE_OPT_VERSION
    - GET_U_1
    - GET_BE_U_8
    - GET_BE_U_2
    - ND_PRINT
    - bittok2str_nosep
    linkageType: ''
    returnType: int
    signature: "int mp_capable_print(netdissect_options *ndo,\n                 const
      u_char *opt, u_int opt_len, uint16_t flags)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mptcp.c:283,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:284,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:285,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mptcp.c:285,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:290,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mptcp.c:291,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mptcp.c:292,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:295,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-mptcp.c:296,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mptcp.c:297,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:301,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:303,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 4
    argNames:
    - ndo
    - opt
    - opt_len
    - flags
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 309
    functionName: mp_join_print
    functionSourceFile: /src/tcpdump/print-mptcp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_8
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int mp_join_print(netdissect_options *ndo,\n              const u_char
      *opt, u_int opt_len, uint16_t flags)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mptcp.c:325,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:327,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:333,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:341,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-mptcp.c:341,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:347,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mptcp.c:347,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:358,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:366,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-mptcp.c:366,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:372,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mptcp.c:372,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:378,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mptcp.c:378,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:383,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mptcp.c:383,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:393,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mptcp.c:393,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 4
    argNames:
    - ndo
    - opt
    - opt_len
    - flags
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 400
    functionName: mp_dss_print
    functionSourceFile: /src/tcpdump/print-mptcp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_8
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int mp_dss_print(netdissect_options *ndo,\n             const u_char
      *opt, u_int opt_len, uint16_t flags)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:412,1
    - Dst: tok2str
      Src: /src/tcpdump/print-mptcp.c:413,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mptcp.c:414,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:415,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mptcp.c:415,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:417,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-mptcp.c:417,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:419,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mptcp.c:419,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:421,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-mptcp.c:421,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:423,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-mptcp.c:423,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:427,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-mptcp.c:427,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:429,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mptcp.c:429,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:431,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-mptcp.c:431,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:433,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-mptcp.c:433,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 24
    argCount: 4
    argNames:
    - ndo
    - opt
    - opt_len
    - flags
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 437
    functionName: add_addr_print
    functionSourceFile: /src/tcpdump/print-mptcp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - GET_BE_U_8
    - GET_IP6ADDR_STRING
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: int
    signature: "int add_addr_print(netdissect_options *ndo,\n               const
      u_char *opt, u_int opt_len, uint16_t flags _U_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:450,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:452,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mptcp.c:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ndo
    - opt
    - opt_len
    - flags
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 454
    functionName: remove_addr_print
    functionSourceFile: /src/tcpdump/print-mptcp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: "int remove_addr_print(netdissect_options *ndo,\n                  const
      u_char *opt, u_int opt_len, uint16_t flags _U_)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mptcp.c:465,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:466,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:468,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:470,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mptcp.c:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - ndo
    - opt
    - opt_len
    - flags
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 473
    functionName: mp_prio_print
    functionSourceFile: /src/tcpdump/print-mptcp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: "int mp_prio_print(netdissect_options *ndo,\n              const u_char
      *opt, u_int opt_len, uint16_t flags _U_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:482,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-mptcp.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ndo
    - opt
    - opt_len
    - flags
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: mp_fail_print
    functionSourceFile: /src/tcpdump/print-mptcp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_8
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: "int mp_fail_print(netdissect_options *ndo,\n              const u_char
      *opt, u_int opt_len, uint16_t flags _U_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:493,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-mptcp.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ndo
    - opt
    - opt_len
    - flags
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 495
    functionName: mp_fast_close_print
    functionSourceFile: /src/tcpdump/print-mptcp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_8
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: "int mp_fast_close_print(netdissect_options *ndo,\n                    const
      u_char *opt, u_int opt_len, uint16_t flags _U_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:506,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-mptcp.c:506,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mptcp.c:507,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:509,1
    - Dst: tok2str
      Src: /src/tcpdump/print-mptcp.c:509,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mptcp.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ndo
    - opt
    - opt_len
    - flags
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 512
    functionName: mp_tcprst_print
    functionSourceFile: /src/tcpdump/print-mptcp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - tok2str
    - ND_PRINT
    - bittok2str_nosep
    linkageType: ''
    returnType: int
    signature: "int mp_tcprst_print(netdissect_options *ndo,\n                const
      u_char *opt, u_int opt_len, uint16_t flags _U_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MPTCP_OPT_SUBTYPE
      Src: /src/tcpdump/print-mptcp.c:542,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mptcp.c:542,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-mptcp.c:543,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:545,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mptcp.c:547,1
    - Dst: print
      Src: /src/tcpdump/print-mptcp.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ndo
    - cp
    - len
    - flags
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 549
    functionName: mptcp_print
    functionSourceFile: /src/tcpdump/print-mptcp.c
    functionUses: 1
    functionsReached:
    - print
    - GET_U_1
    - ND_PRINT
    - ND_MIN
    - MPTCP_OPT_SUBTYPE
    linkageType: ''
    returnType: int
    signature: "int mptcp_print(netdissect_options *ndo,\n            const u_char
      *cp, u_int len, uint16_t flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:348,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-pflog.c:349,1
    - Dst: addrtostr
      Src: /src/tcpdump/print-pflog.c:353,1
    - Dst: addrtostr6
      Src: /src/tcpdump/print-pflog.c:357,1
    - Dst: strlcpy
      Src: /src/tcpdump/print-pflog.c:361,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:364,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pflog.c:365,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - ndo
    - tag
    - naf
    - addr
    - port
    argTypes:
    - netdissect_options*
    - char*
    - u_int
    - struct pf_addr*
    - nd_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 367
    functionName: print_pf_addr
    functionSourceFile: /src/tcpdump/print-pflog.c
    functionUses: 0
    functionsReached:
    - addrtostr
    - GET_BE_U_2
    - addrtostr6
    - ND_PRINT
    - strlcpy
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void print_pf_addr(netdissect_options *ndo, const char *tag, u_int
      naf,\n    const struct pf_addr *addr, const nd_uint16_t port)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pflog.c:378,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pflog.c:380,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pflog.c:381,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:382,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:384,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:386,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-pflog.c:387,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:390,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:392,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:395,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pflog.c:395,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pflog.c:395,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:397,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pflog.c:397,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pflog.c:397,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:399,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pflog.c:399,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pflog.c:399,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pflog.c:424,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:428,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:431,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pflog.c:435,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:437,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:441,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pflog.c:442,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pflog.c:442,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pflog.c:443,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pflog.c:443,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:445,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pflog.c:446,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pflog.c:446,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pflog.c:447,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pflog.c:447,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:453,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pflog.c:454,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pflog.c:454,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pflog.c:455,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pflog.c:455,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-pflog.c:457,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:458,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pflog.c:460,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:463,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pflog.c:464,1
    - Dst: print_pf_addr
      Src: /src/tcpdump/print-pflog.c:465,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:467,1
    - Dst: print_pf_addr
      Src: /src/tcpdump/print-pflog.c:468,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pflog.c:470,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - ndo
    - hdr
    argTypes:
    - netdissect_options*
    - struct pfloghdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 473
    functionName: pflog_print
    functionSourceFile: /src/tcpdump/print-pflog.c
    functionUses: 0
    functionsReached:
    - print_pf_addr
    - GET_U_1
    - nd_printjnp
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void pflog_print(netdissect_options *ndo, const struct pfloghdr *hdr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-pflog.c:487,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pflog.c:490,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-pflog.c:491,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-pflog.c:492,1
    - Dst: roundup2
      Src: /src/tcpdump/print-pflog.c:493,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pflog.c:496,1
    - Dst: pflog_print
      Src: /src/tcpdump/print-pflog.c:499,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pflog.c:502,1
    - Dst: ip_print
      Src: /src/tcpdump/print-pflog.c:516,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-pflog.c:526,1
    - Dst: pflog_print
      Src: /src/tcpdump/print-pflog.c:532,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-pflog.c:534,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-pflog.c:540,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 475
    functionDepth: 3
    functionLinenumber: 475
    functionLinenumberEnd: 541
    functionName: pflog_if_print
    functionSourceFile: /src/tcpdump/print-pflog.c
    functionUses: 0
    functionsReached:
    - nd_print_invalid
    - GET_U_1
    - ip_print
    - roundup2
    - pflog_print
    - ip6_print
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: "void pflog_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h,\n               const u_char *p)"
  - 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: ADDCARRY
    functionSourceFile: /src/tcpdump/in_cksum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDCARRY(x)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 2
    argNames:
    - vec
    - veclen
    argTypes:
    - struct cksum_vec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 146
    functionName: in_cksum
    functionSourceFile: /src/tcpdump/in_cksum.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t in_cksum(const struct cksum_vec *vec, int veclen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/tcpdump/in_cksum.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sum
    - computed_sum
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 198
    functionName: in_cksum_shouldbe
    functionSourceFile: /src/tcpdump/in_cksum.c
    functionUses: 3
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t in_cksum_shouldbe(uint16_t sum, uint16_t computed_sum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-ppi.c:43,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-ppi.c:44,1
    - Dst: pcap_datalink_val_to_name
      Src: /src/tcpdump/print-ppi.c:45,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppi.c:48,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppi.c:48,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppi.c:52,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppi.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 56
    functionName: ppi_header_print
    functionSourceFile: /src/tcpdump/print-ppi.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - GET_U_1
    - GET_LE_U_4
    - pcap_datalink_val_to_name
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void ppi_header_print(netdissect_options *ndo, const u_char *bp, u_int
      length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ppi.c:79,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-ppi.c:85,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppi.c:88,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ppi.c:90,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ppi.c:99,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-ppi.c:103,1
    - Dst: ppi_header_print
      Src: /src/tcpdump/print-ppi.c:106,1
    - Dst: lookup_printer
      Src: /src/tcpdump/print-ppi.c:112,1
    - Dst: printer
      Src: /src/tcpdump/print-ppi.c:117,1
    - Dst: ppi_header_print
      Src: /src/tcpdump/print-ppi.c:121,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-ppi.c:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 128
    functionName: ppi_if_print
    functionSourceFile: /src/tcpdump/print-ppi.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - printer
    - lookup_printer
    - GET_LE_U_4
    - nd_print_trunc
    - ND_DEFAULTPRINT
    - ND_PRINT
    - ppi_header_print
    - nd_print_invalid
    linkageType: ''
    returnType: void
    signature: "void ppi_if_print(netdissect_options *ndo,\n\t     const struct pcap_pkthdr
      *h, const u_char *p)"
  - 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: RSVP_EXTRACT_VERSION
    functionSourceFile: /src/tcpdump/print-rsvp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSVP_EXTRACT_VERSION(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: RSVP_EXTRACT_FLAGS
    functionSourceFile: /src/tcpdump/print-rsvp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSVP_EXTRACT_FLAGS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: RSVP_OBJ_XRO_MASK_SUBOBJ
    functionSourceFile: /src/tcpdump/print-rsvp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSVP_OBJ_XRO_MASK_SUBOBJ(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: RSVP_OBJ_XRO_MASK_LOOSE
    functionSourceFile: /src/tcpdump/print-rsvp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSVP_OBJ_XRO_MASK_LOOSE(x)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-rsvp.c:516,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:517,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:518,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:520,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:521,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:524,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-rsvp.c:526,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:538,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:538,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:551,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-rsvp.c:552,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:565,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:566,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:567,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:569,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:569,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:583,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:583,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:604,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-rsvp.c:605,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:606,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-rsvp.c:607,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:608,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-rsvp.c:609,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:610,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:611,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:612,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:613,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:629,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-rsvp.c:629,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:630,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:630,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:639,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:639,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-rsvp.c:645,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-rsvp.c:650,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 3
    argNames:
    - ndo
    - tptr
    - obj_tlen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 652
    functionName: rsvp_intserv_print
    functionSourceFile: /src/tcpdump/print-rsvp.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - tok2str
    - GET_U_1
    - GET_BE_F_4
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: u_int
    signature: "u_int rsvp_intserv_print(netdissect_options *ndo,\n                   const
      u_char *tptr, u_int obj_tlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - header
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 664
    functionName: rsvp_clear_checksum
    functionSourceFile: /src/tcpdump/print-rsvp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rsvp_clear_checksum(void *header)
  - BBCount: 222
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:689,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:690,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:693,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:697,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:702,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:703,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:705,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:714,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:715,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:722,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rsvp.c:730,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:739,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:741,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:742,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:743,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:745,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:746,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:753,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:755,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:756,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:757,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:759,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:760,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:768,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:770,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:771,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:772,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:780,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:782,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:783,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:784,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:791,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:793,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:794,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:795,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:803,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:805,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:806,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:807,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:821,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:823,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:830,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:832,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:846,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:848,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:855,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:857,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:873,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:873,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:881,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:883,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:890,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:892,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:894,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:895,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:909,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:911,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-rsvp.c:913,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:914,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:928,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:930,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:931,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:938,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:940,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:941,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:948,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:951,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:952,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:954,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:955,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:962,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:964,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:965,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:972,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:975,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:976,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:978,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:979,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:992,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:994,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:996,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1004,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1006,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1008,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1009,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1010,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1011,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1013,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1014,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1015,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1017,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1018,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1025,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1027,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1029,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1030,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1032,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1033,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1034,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1035,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1042,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1044,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1046,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1047,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1048,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1050,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1052,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1053,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1054,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1056,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1057,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-rsvp.c:1073,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1074,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1075,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1077,1
    - Dst: RSVP_OBJ_XRO_MASK_SUBOBJ
      Src: /src/tcpdump/print-rsvp.c:1079,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1079,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1082,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1087,1
    - Dst: RSVP_OBJ_XRO_MASK_SUBOBJ
      Src: /src/tcpdump/print-rsvp.c:1091,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1091,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1096,1
    - Dst: ND_TCHECK_8
      Src: /src/tcpdump/print-rsvp.c:1099,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1100,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1102,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1106,1
    - Dst: RSVP_OBJ_XRO_MASK_LOOSE
      Src: /src/tcpdump/print-rsvp.c:1107,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1107,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1108,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1109,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-rsvp.c:1110,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1112,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1116,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1119,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-rsvp.c:1120,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1122,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1123,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1124,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1126,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1127,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1128,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1145,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1147,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1148,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1162,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1164,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1165,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1179,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1181,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1183,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-rsvp.c:1185,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1201,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1204,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-rsvp.c:1205,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1206,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1208,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1209,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-rsvp.c:1210,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1212,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1213,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-rsvp.c:1243,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1244,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1245,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1246,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1248,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1250,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1252,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1293,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1294,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1299,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1300,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1323,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1325,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1326,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1327,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1328,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1336,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1337,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1361,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1363,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1364,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1374,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1376,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1377,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1392,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1394,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1411,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1413,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1414,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1419,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1420,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1422,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1422,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1423,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1424,1
    - Dst: rsvp_intserv_print
      Src: /src/tcpdump/print-rsvp.c:1431,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1450,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1452,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1453,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1460,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1462,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1463,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1470,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1472,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-rsvp.c:1473,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1480,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1482,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1483,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1490,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1493,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1494,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1496,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1497,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1504,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1506,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1507,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1514,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1517,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1518,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1520,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1521,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1538,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1540,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1541,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1542,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-rsvp.c:1543,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1544,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1546,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1547,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1548,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1556,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1558,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1559,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1560,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-rsvp.c:1561,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1562,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1564,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1565,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1579,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1581,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1582,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1598,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1600,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1615,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1616,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1617,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1619,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1620,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1622,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1626,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1627,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1632,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1633,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1637,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1647,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1648,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1649,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1651,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1652,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1654,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1659,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1660,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1679,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1680,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1682,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1688,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1690,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1690,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1691,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1692,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1693,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1695,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1696,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-rsvp.c:1699,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1700,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1701,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1702,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1718,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1720,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-rsvp.c:1721,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1726,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1728,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1729,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1745,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1747,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1748,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1749,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1750,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-rsvp.c:1751,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1753,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1754,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1756,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1757,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1758,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1759,1
    - Dst: signature_verify
      Src: /src/tcpdump/print-rsvp.c:1761,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1765,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1765,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1780,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-rsvp.c:1781,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1782,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1796,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1798,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1799,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1800,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1809,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1810,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1811,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1821,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rsvp.c:1822,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1840,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1841,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1849,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rsvp.c:1850,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-rsvp.c:1871,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-rsvp.c:1876,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1884,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1887,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-rsvp.c:1890,1
    CyclomaticComplexity: 281
    EdgeCount: 281
    ICount: 843
    argCount: 7
    argNames:
    - ndo
    - pptr
    - plen
    - tptr
    - indent
    - tlen
    - rsvp_com_header
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    - char*
    - u_int
    - struct rsvp_common_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 1892
    functionName: rsvp_obj_print
    functionSourceFile: /src/tcpdump/print-rsvp.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - GET_U_1
    - GET_IP6ADDR_STRING
    - nd_print_invalid
    - GET_BE_U_4
    - RSVP_OBJ_XRO_MASK_LOOSE
    - signature_verify
    - GET_BE_F_4
    - ND_PRINT
    - GET_BE_U_3
    - ND_ICHECK_U
    - GET_IPADDR_STRING
    - print_unknown_data
    - rsvp_intserv_print
    - nd_printjn
    - GET_BE_U_2
    - ND_TCHECK_LEN
    - tok2str
    - RSVP_OBJ_XRO_MASK_SUBOBJ
    - ND_TCHECK_8
    - ND_TCHECK_4
    linkageType: ''
    returnType: int
    signature: "int rsvp_obj_print(netdissect_options *ndo,\n               const
      u_char *pptr, u_int plen, const u_char *tptr,\n               const char *indent,
      u_int tlen,\n               const struct rsvp_common_header *rsvp_com_header)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-rsvp.c:1907,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1908,1
    - Dst: RSVP_EXTRACT_VERSION
      Src: /src/tcpdump/print-rsvp.c:1913,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1914,1
    - Dst: RSVP_EXTRACT_VERSION
      Src: /src/tcpdump/print-rsvp.c:1915,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1919,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1923,1
    - Dst: RSVP_EXTRACT_VERSION
      Src: /src/tcpdump/print-rsvp.c:1924,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1925,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1932,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1934,1
    - Dst: RSVP_EXTRACT_VERSION
      Src: /src/tcpdump/print-rsvp.c:1935,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1936,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-rsvp.c:1938,1
    - Dst: RSVP_EXTRACT_FLAGS
      Src: /src/tcpdump/print-rsvp.c:1938,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1940,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1941,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1944,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-rsvp.c:1967,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1968,1
    - Dst: RSVP_EXTRACT_VERSION
      Src: /src/tcpdump/print-rsvp.c:1973,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1974,1
    - Dst: RSVP_EXTRACT_VERSION
      Src: /src/tcpdump/print-rsvp.c:1975,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1979,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1981,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1982,1
    - Dst: RSVP_EXTRACT_VERSION
      Src: /src/tcpdump/print-rsvp.c:1983,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rsvp.c:1984,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-rsvp.c:1986,1
    - Dst: RSVP_EXTRACT_FLAGS
      Src: /src/tcpdump/print-rsvp.c:1986,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rsvp.c:1988,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rsvp.c:1989,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1992,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rsvp.c:1998,1
    - Dst: rsvp_obj_print
      Src: /src/tcpdump/print-rsvp.c:2009,1
    - Dst: rsvp_obj_print
      Src: /src/tcpdump/print-rsvp.c:2032,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-rsvp.c:2037,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 71
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 1894
    functionDepth: 3
    functionLinenumber: 1894
    functionLinenumberEnd: 2040
    functionName: rsvp_print
    functionSourceFile: /src/tcpdump/print-rsvp.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - print_unknown_data
    - GET_U_1
    - GET_BE_U_2
    - rsvp_obj_print
    - ND_PRINT
    - RSVP_EXTRACT_FLAGS
    - RSVP_EXTRACT_VERSION
    - tok2str
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void rsvp_print(netdissect_options *ndo,\n           const u_char
      *pptr, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: DOP_ROUNDUP
    functionSourceFile: /src/tcpdump/print-wb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOP_ROUNDUP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: DOP_NEXT
    functionSourceFile: /src/tcpdump/print-wb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOP_NEXT(d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:200,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:205,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:206,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-wb.c:207,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:208,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:209,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-wb.c:210,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:211,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-wb.c:213,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-wb.c:215,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:224,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-wb.c:225,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:225,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:228,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-wb.c:229,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - ndo
    - id
    - len
    argTypes:
    - netdissect_options*
    - struct pkt_id*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 232
    functionName: wb_id
    functionSourceFile: /src/tcpdump/print-wb.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_BE_U_2
    - nd_printjnp
    - ND_PRINT
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int wb_id(netdissect_options *ndo,\n      const struct pkt_id *id,
      u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:238,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:242,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-wb.c:243,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-wb.c:244,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:245,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:246,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - rreq
    - len
    argTypes:
    - netdissect_options*
    - struct pkt_rreq*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: wb_rreq
    functionSourceFile: /src/tcpdump/print-wb.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int wb_rreq(netdissect_options *ndo,\n        const struct pkt_rreq
      *rreq, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:255,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:259,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:260,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-wb.c:261,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:262,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-wb.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - preq
    - len
    argTypes:
    - netdissect_options*
    - struct pkt_preq*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: wb_preq
    functionSourceFile: /src/tcpdump/print-wb.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ND_PRINT
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int wb_preq(netdissect_options *ndo,\n        const struct pkt_preq
      *preq, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:275,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:278,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:284,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:285,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-wb.c:286,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:287,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-wb.c:289,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-wb.c:291,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:292,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-wb.c:292,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:293,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - ndo
    - prep
    - len
    argTypes:
    - netdissect_options*
    - struct pkt_prep*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 301
    functionName: wb_prep
    functionSourceFile: /src/tcpdump/print-wb.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - ND_PRINT
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int wb_prep(netdissect_options *ndo,\n        const struct pkt_prep
      *prep, u_int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:309,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-wb.c:313,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:315,1
    - Dst: tok2str
      Src: /src/tcpdump/print-wb.c:315,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:317,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:318,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:320,1
    - Dst: DOP_NEXT
      Src: /src/tcpdump/print-wb.c:326,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ndo
    - dop
    - ss
    - es
    argTypes:
    - netdissect_options*
    - struct pkt_dop*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 329
    functionName: wb_dops
    functionSourceFile: /src/tcpdump/print-wb.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - DOP_NEXT
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void wb_dops(netdissect_options *ndo, const struct pkt_dop *dop,\n
      \       uint32_t ss, uint32_t es)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:337,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:342,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-wb.c:343,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-wb.c:344,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:345,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:346,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:347,1
    - Dst: wb_dops
      Src: /src/tcpdump/print-wb.c:350,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:351,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ndo
    - rrep
    - len
    argTypes:
    - netdissect_options*
    - struct pkt_rrep*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 354
    functionName: wb_rrep
    functionSourceFile: /src/tcpdump/print-wb.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - wb_dops
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int wb_rrep(netdissect_options *ndo,\n        const struct pkt_rrep
      *rrep, u_int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:360,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:365,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-wb.c:366,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:367,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:368,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:369,1
    - Dst: wb_dops
      Src: /src/tcpdump/print-wb.c:372,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:373,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-wb.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ndo
    - dop
    - len
    argTypes:
    - netdissect_options*
    - struct pkt_dop*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 376
    functionName: wb_drawop
    functionSourceFile: /src/tcpdump/print-wb.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - wb_dops
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int wb_drawop(netdissect_options *ndo,\n          const struct pkt_dop
      *dop, u_int len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-wb.c:393,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-wb.c:396,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:397,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-wb.c:398,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:402,1
    - Dst: wb_id
      Src: /src/tcpdump/print-wb.c:406,1
    - Dst: wb_rreq
      Src: /src/tcpdump/print-wb.c:410,1
    - Dst: wb_rrep
      Src: /src/tcpdump/print-wb.c:414,1
    - Dst: wb_drawop
      Src: /src/tcpdump/print-wb.c:418,1
    - Dst: wb_preq
      Src: /src/tcpdump/print-wb.c:422,1
    - Dst: wb_prep
      Src: /src/tcpdump/print-wb.c:426,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-wb.c:430,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-wb.c:438,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - ndo
    - hdr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 439
    functionName: wb_print
    functionSourceFile: /src/tcpdump/print-wb.c
    functionUses: 0
    functionsReached:
    - wb_drawop
    - wb_preq
    - wb_id
    - GET_U_1
    - wb_rrep
    - ND_PRINT
    - nd_print_invalid
    - wb_rreq
    - wb_prep
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void wb_print(netdissect_options *ndo,\n         const u_char *hdr,
      u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - protoid
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: netdb_protoname
    functionSourceFile: /src/tcpdump/ipproto.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      netdb_protoname (const uint8_t protoid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-ah.c:47,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ah.c:56,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ah.c:59,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ah.c:61,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ah.c:62,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ah.c:64,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ah.c:65,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ah.c:65,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ah.c:66,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ah.c:66,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ah.c:67,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ah.c:69,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ah.c:69,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ah.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: ah_print
    functionSourceFile: /src/tcpdump/print-ah.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - nd_print_protocol_caps
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: int ah_print(netdissect_options *ndo, const u_char *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: NOTIFY_CLASS
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOTIFY_CLASS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: READ_CLASS
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_CLASS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: WRITE_CLASS
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_CLASS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: RESPONSE_CLASS
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESPONSE_CLASS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: INTERNAL_CLASS
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTERNAL_CLASS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: DECODE_ErrorStatus
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE_ErrorStatus(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: DECODE_GenericTrap
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE_GenericTrap(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: defineCLASS
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: defineCLASS(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: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: OID_FIRST_OCTET
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OID_FIRST_OCTET(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prefix
    - ','
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: OBJ_ABBREV_ENTRY
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_ABBREV_ENTRY(prefix, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - suppressdot
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 341
    functionName: OBJ_PRINT
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_PRINT(o, suppressdot)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:430,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:441,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:443,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:447,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:448,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:467,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:469,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:472,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:478,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:481,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:487,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:490,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:496,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:500,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:505,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:509,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:513,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:517,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-snmp.c:520,1
    - Dst: switch
      Src: /src/tcpdump/print-snmp.c:526,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:538,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:541,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:544,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:562,1
    - Dst: switch
      Src: /src/tcpdump/print-snmp.c:568,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:581,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:591,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:599,1
    - Dst: switch
      Src: /src/tcpdump/print-snmp.c:606,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:625,1
    - Dst: switch
      Src: /src/tcpdump/print-snmp.c:635,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:644,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:678,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:678,1
    - Dst: asn1_print_string
      Src: /src/tcpdump/print-snmp.c:682,1
    - Dst: ND_ASCII_ISPRINT
      Src: /src/tcpdump/print-snmp.c:691,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:691,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:694,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-snmp.c:695,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:696,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:699,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:699,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:711,1
    - Dst: asn1_print_octets
      Src: /src/tcpdump/print-snmp.c:721,1
    - Dst: if
      Src: /src/tcpdump/print-snmp.c:736,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-snmp.c:738,1
    - Dst: memcmp
      Src: /src/tcpdump/print-snmp.c:739,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:743,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:751,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:752,1
    - Dst: first
      Src: /src/tcpdump/print-snmp.c:770,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:803,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:803,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:810,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:814,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:818,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:822,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 191
    argCount: 4
    argNames:
    - ndo
    - p
    - len
    - elem
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - struct be*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 830
    functionName: asn1_parse
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - ND_ASCII_ISPRINT
    - nd_printjn
    - GET_U_1
    - asn1_print_octets
    - memcmp
    - switch
    - asn1_print_string
    - if
    - first
    - ND_PRINT
    - asn1_print
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: int
    signature: "int asn1_parse(netdissect_options *ndo,\n           const u_char *p,
      u_int len, struct be *elem)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: switch
      Src: /src/tcpdump/print-snmp.c:526,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:538,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:541,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:544,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:562,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 564
    functionName: UNIVERSAL
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    - switch
    linkageType: ''
    returnType: case
    signature: case UNIVERSAL
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: switch
      Src: /src/tcpdump/print-snmp.c:568,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:581,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:591,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 602
    functionName: APPLICATION
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    - switch
    linkageType: ''
    returnType: case
    signature: case APPLICATION
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: switch
      Src: /src/tcpdump/print-snmp.c:606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 621
    functionName: CONTEXT
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - switch
    linkageType: ''
    returnType: case
    signature: case CONTEXT
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: switch
      Src: /src/tcpdump/print-snmp.c:635,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 646
    functionName: UNIVERSAL
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - switch
    linkageType: ''
    returnType: case
    signature: case UNIVERSAL
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:849,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:851,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:852,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:855,1
    - Dst: asn1_decode
      Src: /src/tcpdump/print-snmp.c:856,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:857,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - p
    - length
    argTypes:
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 842
    functionDepth: 2
    functionLinenumber: 842
    functionLinenumberEnd: 863
    functionName: asn1_decode
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 1
    functionsReached:
    - ND_PRINT
    - asn1_parse
    - asn1_decode
    - asn1_print
    linkageType: ''
    returnType: void
    signature: void asn1_decode(u_char *p, u_int length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:901,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:902,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - ndo
    - elem
    - oid
    - oidsize
    - oidlen
    argTypes:
    - netdissect_options*
    - struct be*
    - unsigned int*
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 924
    functionName: smi_decode_oid
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    linkageType: ''
    returnType: int
    signature: "int smi_decode_oid(netdissect_options *ndo,\n               struct
      be *elem, unsigned int *oid,\n               unsigned int oidsize, unsigned
      int *oidlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - basetype
    - be
    argTypes:
    - SmiBasetype
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 937
    functionName: smi_check_type
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int smi_check_type(SmiBasetype basetype, int be)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - smiType
    - smiRange
    - elem
    argTypes:
    - SmiType*
    - SmiRange*
    - struct be*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 987
    functionName: smi_check_a_range
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int smi_check_a_range(SmiType *smiType, SmiRange *smiRange,\n\t\t\t
      \    struct be *elem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: smiGetFirstRange
      Src: /src/tcpdump/print-snmp.c:994,1
    - Dst: smiGetNextRange
      Src: /src/tcpdump/print-snmp.c:996,1
    - Dst: smi_check_a_range
      Src: /src/tcpdump/print-snmp.c:998,1
    - Dst: smiGetParentType
      Src: /src/tcpdump/print-snmp.c:1007,1
    - Dst: smi_check_range
      Src: /src/tcpdump/print-snmp.c:1009,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - smiType
    - elem
    argTypes:
    - SmiType*
    - struct be*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1014
    functionName: smi_check_range
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 1
    functionsReached:
    - smiGetNextRange
    - smiGetFirstRange
    - smi_check_a_range
    - smiGetParentType
    - smi_check_range
    linkageType: ''
    returnType: int
    signature: int smi_check_range(SmiType *smiType, struct be *elem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1025,1
    - Dst: smi_decode_oid
      Src: /src/tcpdump/print-snmp.c:1028,1
    - Dst: smiGetNodeByOID
      Src: /src/tcpdump/print-snmp.c:1032,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1034,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1038,1
    - Dst: smiGetNodeModule
      Src: /src/tcpdump/print-snmp.c:1038,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1040,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1043,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ndo
    - elem
    - status
    argTypes:
    - netdissect_options*
    - struct be*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1016
    functionDepth: 2
    functionLinenumber: 1016
    functionLinenumberEnd: 1048
    functionName: smi_print_variable
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - smiGetNodeModule
    - smi_decode_oid
    - ND_PRINT
    - asn1_print
    - smiGetNodeByOID
    linkageType: ''
    returnType: SmiNode
    signature: "SmiNode *\nsmi_print_variable(netdissect_options *ndo,\n                   struct
      be *elem, int *status)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1061,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1067,1
    - Dst: NOTIFY_CLASS
      Src: /src/tcpdump/print-snmp.c:1070,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1071,1
    - Dst: READ_CLASS
      Src: /src/tcpdump/print-snmp.c:1074,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1075,1
    - Dst: WRITE_CLASS
      Src: /src/tcpdump/print-snmp.c:1078,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1079,1
    - Dst: RESPONSE_CLASS
      Src: /src/tcpdump/print-snmp.c:1082,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1084,1
    - Dst: smiGetNodeType
      Src: /src/tcpdump/print-snmp.c:1087,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1089,1
    - Dst: smi_check_type
      Src: /src/tcpdump/print-snmp.c:1092,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1093,1
    - Dst: smi_check_range
      Src: /src/tcpdump/print-snmp.c:1096,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1097,1
    - Dst: smi_decode_oid
      Src: /src/tcpdump/print-snmp.c:1114,1
    - Dst: smiGetNodeByOID
      Src: /src/tcpdump/print-snmp.c:1117,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1120,1
    - Dst: smiGetNodeModule
      Src: /src/tcpdump/print-snmp.c:1120,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1122,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1126,1
    - Dst: smiGetFirstNamedNumber
      Src: /src/tcpdump/print-snmp.c:1137,1
    - Dst: smiGetNextNamedNumber
      Src: /src/tcpdump/print-snmp.c:1139,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1142,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1143,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1153,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 67
    argCount: 4
    argNames:
    - ndo
    - smiNode
    - pduid
    - elem
    argTypes:
    - netdissect_options*
    - SmiNode*
    - u_short
    - struct be*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1156
    functionName: smi_print_value
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - smiGetNodeType
    - smiGetNodeModule
    - smi_check_range
    - RESPONSE_CLASS
    - smi_decode_oid
    - smi_check_type
    - ND_PRINT
    - READ_CLASS
    - NOTIFY_CLASS
    - asn1_print
    - smiGetFirstNamedNumber
    - smiGetNodeByOID
    - WRITE_CLASS
    - smiGetNextNamedNumber
    linkageType: ''
    returnType: int
    signature: "int smi_print_value(netdissect_options *ndo,\n                SmiNode
      *smiNode, u_short pduid, struct be *elem)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1207,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1210,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1211,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1215,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1224,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1227,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1230,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1231,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1241,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1244,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1245,1
    - Dst: smi_print_variable
      Src: /src/tcpdump/print-snmp.c:1249,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1251,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1260,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1263,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1268,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1269,1
    - Dst: smi_print_value
      Src: /src/tcpdump/print-snmp.c:1275,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1277,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 4
    argNames:
    - ndo
    - pduid
    - np
    - length
    argTypes:
    - netdissect_options*
    - u_short
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1195
    functionDepth: 3
    functionLinenumber: 1195
    functionLinenumberEnd: 1286
    functionName: varbind_print
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - smi_print_variable
    - ND_PRINT
    - smi_print_value
    - asn1_print
    - asn1_parse
    linkageType: ''
    returnType: void
    signature: "void varbind_print(netdissect_options *ndo,\n              u_short
      pduid, const u_char *np, u_int length)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1300,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1303,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1304,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1308,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1313,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1316,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1317,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1325,1
    - Dst: DECODE_ErrorStatus
      Src: /src/tcpdump/print-snmp.c:1326,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1328,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1331,1
    - Dst: DECODE_ErrorStatus
      Src: /src/tcpdump/print-snmp.c:1331,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1338,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1341,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1342,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1348,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1350,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1353,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1355,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1357,1
    - Dst: varbind_print
      Src: /src/tcpdump/print-snmp.c:1362,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 54
    argCount: 4
    argNames:
    - ndo
    - pduid
    - np
    - length
    argTypes:
    - netdissect_options*
    - u_short
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1292
    functionDepth: 4
    functionLinenumber: 1292
    functionLinenumberEnd: 1363
    functionName: snmppdu_print
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - varbind_print
    - DECODE_ErrorStatus
    - ND_PRINT
    - asn1_print
    - asn1_parse
    linkageType: ''
    returnType: void
    signature: "void snmppdu_print(netdissect_options *ndo,\n              u_short
      pduid, const u_char *np, u_int length)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1375,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1378,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1381,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1382,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1385,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1390,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1393,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1396,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1397,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1400,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1406,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1409,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1410,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1416,1
    - Dst: DECODE_GenericTrap
      Src: /src/tcpdump/print-snmp.c:1416,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1422,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1425,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1426,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1431,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1433,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1437,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1440,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1443,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1444,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1447,1
    - Dst: varbind_print
      Src: /src/tcpdump/print-snmp.c:1452,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 3
    argNames:
    - ndo
    - np
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1368
    functionDepth: 4
    functionLinenumber: 1368
    functionLinenumberEnd: 1453
    functionName: trappdu_print
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - asn1_print
    - varbind_print
    - ND_PRINT
    - DECODE_GenericTrap
    - asn1_parse
    linkageType: ''
    returnType: void
    signature: "void trappdu_print(netdissect_options *ndo,\n              const u_char
      *np, u_int length)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1466,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1469,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1473,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1475,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1477,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1479,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1487,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1492,1
    - Dst: trappdu_print
      Src: /src/tcpdump/print-snmp.c:1498,1
    - Dst: snmppdu_print
      Src: /src/tcpdump/print-snmp.c:1508,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1513,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 4
    argNames:
    - ndo
    - np
    - length
    - version
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1458
    functionDepth: 5
    functionLinenumber: 1458
    functionLinenumberEnd: 1515
    functionName: pdu_print
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 4
    functionsReached:
    - snmppdu_print
    - trappdu_print
    - ND_PRINT
    - asn1_print
    - asn1_parse
    linkageType: ''
    returnType: void
    signature: "void pdu_print(netdissect_options *ndo,\n          const u_char *np,
      u_int length, int version)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1528,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1531,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1532,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1539,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1542,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1543,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1549,1
    - Dst: asn1_print_octets
      Src: /src/tcpdump/print-snmp.c:1550,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1551,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1554,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1557,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1558,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1564,1
    - Dst: asn1_print_string
      Src: /src/tcpdump/print-snmp.c:1565,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1566,1
    - Dst: pdu_print
      Src: /src/tcpdump/print-snmp.c:1568,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 4
    argNames:
    - ndo
    - np
    - length
    - version
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1520
    functionDepth: 6
    functionLinenumber: 1520
    functionLinenumberEnd: 1569
    functionName: scopedpdu_print
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - asn1_print_octets
    - pdu_print
    - asn1_print_string
    - ND_PRINT
    - asn1_print
    - asn1_parse
    linkageType: ''
    returnType: void
    signature: "void scopedpdu_print(netdissect_options *ndo,\n                const
      u_char *np, u_int length, int version)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1582,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1585,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1586,1
    - Dst: strncmp
      Src: /src/tcpdump/print-snmp.c:1591,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1594,1
    - Dst: asn1_print_string
      Src: /src/tcpdump/print-snmp.c:1595,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1596,1
    - Dst: pdu_print
      Src: /src/tcpdump/print-snmp.c:1601,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - ndo
    - np
    - length
    - version
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1574
    functionDepth: 6
    functionLinenumber: 1574
    functionLinenumberEnd: 1602
    functionName: community_print
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - pdu_print
    - asn1_print_string
    - ND_PRINT
    - asn1_print
    - strncmp
    - asn1_parse
    linkageType: ''
    returnType: void
    signature: "void community_print(netdissect_options *ndo,\n                const
      u_char *np, u_int length, int version)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1615,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1618,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1619,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1626,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1629,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1630,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1637,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1640,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1641,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1645,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1650,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1653,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1654,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1658,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1663,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1666,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1667,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1673,1
    - Dst: asn1_print_string
      Src: /src/tcpdump/print-snmp.c:1674,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1675,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1678,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1681,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1682,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1689,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1692,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1693,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1700,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 73
    argCount: 3
    argNames:
    - ndo
    - np
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1607
    functionDepth: 2
    functionLinenumber: 1607
    functionLinenumberEnd: 1701
    functionName: usm_print
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - asn1_print_string
    - ND_PRINT
    - asn1_parse
    - asn1_print
    linkageType: ''
    returnType: void
    signature: "void usm_print(netdissect_options *ndo,\n          const u_char *np,
      u_int length)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1718,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1721,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1722,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1729,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1733,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1736,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1737,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1744,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1747,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1748,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1755,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1758,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1759,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1763,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-snmp.c:1766,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1769,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1775,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1781,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1784,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1785,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1793,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1796,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1801,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1804,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1811,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1814,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1815,1
    - Dst: usm_print
      Src: /src/tcpdump/print-snmp.c:1822,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1824,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1829,1
    - Dst: scopedpdu_print
      Src: /src/tcpdump/print-snmp.c:1832,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1835,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 96
    argCount: 3
    argNames:
    - ndo
    - np
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1706
    functionDepth: 7
    functionLinenumber: 1706
    functionLinenumberEnd: 1837
    functionName: v3msg_print
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - usm_print
    - GET_U_1
    - scopedpdu_print
    - ND_PRINT
    - asn1_print
    - asn1_parse
    linkageType: ''
    returnType: void
    signature: "void v3msg_print(netdissect_options *ndo,\n            const u_char
      *np, u_int length)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1851,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1854,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1857,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1858,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1862,1
    - Dst: asn1_parse
      Src: /src/tcpdump/print-snmp.c:1868,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1871,1
    - Dst: asn1_print
      Src: /src/tcpdump/print-snmp.c:1872,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1881,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1884,1
    - Dst: community_print
      Src: /src/tcpdump/print-snmp.c:1894,1
    - Dst: v3msg_print
      Src: /src/tcpdump/print-snmp.c:1897,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1900,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-snmp.c:1905,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 3
    argNames:
    - ndo
    - np
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1842
    functionDepth: 8
    functionLinenumber: 1842
    functionLinenumberEnd: 1907
    functionName: snmp_print
    functionSourceFile: /src/tcpdump/print-snmp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - v3msg_print
    - asn1_print
    - community_print
    - asn1_parse
    linkageType: ''
    returnType: void
    signature: "void snmp_print(netdissect_options *ndo,\n           const u_char
      *np, u_int length)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-vrrp.c:113,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vrrp.c:114,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vrrp.c:115,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vrrp.c:116,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:117,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:119,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:122,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vrrp.c:122,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vrrp.c:122,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vrrp.c:125,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:126,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vrrp.c:126,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:127,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vrrp.c:127,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vrrp.c:129,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vrrp.c:129,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:130,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vrrp.c:134,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-vrrp.c:138,1
    - Dst: in_cksum
      Src: /src/tcpdump/print-vrrp.c:143,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:144,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-vrrp.c:145,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-vrrp.c:148,1
    - Dst: nextproto4_cksum
      Src: /src/tcpdump/print-vrrp.c:152,1
    - Dst: nextproto6_cksum
      Src: /src/tcpdump/print-vrrp.c:155,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:158,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-vrrp.c:159,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:162,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:164,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:165,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:170,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-vrrp.c:170,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:173,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-vrrp.c:173,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:179,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-vrrp.c:184,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vrrp.c:185,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 6
    argNames:
    - ndo
    - bp
    - len
    - bp2
    - ttl
    - ver
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 188
    functionName: vrrp_print
    functionSourceFile: /src/tcpdump/print-vrrp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - nd_print_protocol_caps
    - in_cksum
    - nextproto6_cksum
    - GET_IP6ADDR_STRING
    - ND_TTEST_LEN
    - GET_BE_U_2
    - nd_printjnp
    - ND_PRINT
    - tok2str
    - nextproto4_cksum
    linkageType: ''
    returnType: void
    signature: "void vrrp_print(netdissect_options *ndo,\n           const u_char
      *bp, u_int len,\n           const u_char *bp2, int ttl,\n\t   int ver)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:101,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-udp.c:104,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:107,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:115,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:118,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:119,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:120,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:126,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - ndo
    - hdr
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 130
    functionName: vat_print
    functionSourceFile: /src/tcpdump/print-udp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void vat_print(netdissect_options *ndo, const u_char *hdr, u_int length)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:143,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:146,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:147,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:163,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:174,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:183,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:183,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:187,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:190,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:199,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:202,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:208,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:208,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 3
    argNames:
    - ndo
    - hdr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 210
    functionName: rtp_print
    functionSourceFile: /src/tcpdump/print-udp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void rtp_print(netdissect_options *ndo, const u_char *hdr, u_int len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-udp.c:226,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-udp.c:227,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:229,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:233,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:235,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:237,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:238,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:239,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:241,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:241,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:242,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:242,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:246,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:248,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:251,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:254,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:256,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:260,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:262,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:266,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:271,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:274,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:274,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:275,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:276,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:277,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:278,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:279,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:280,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 2
    argNames:
    - ndo
    - hdr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 284
    functionName: rtcp_print
    functionSourceFile: /src/tcpdump/print-udp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: u_char
    signature: 'u_char *

      rtcp_print(netdissect_options *ndo, const u_char *hdr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nextproto4_cksum
      Src: /src/tcpdump/print-udp.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ndo
    - ip
    - up
    - len
    argTypes:
    - netdissect_options*
    - struct ip*
    - struct udphdr*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: udp_cksum
    functionSourceFile: /src/tcpdump/print-udp.c
    functionUses: 0
    functionsReached:
    - nextproto4_cksum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t udp_cksum(netdissect_options *ndo, const struct ip *ip,\n\t\t
      \    const struct udphdr *up,\n\t\t     u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nextproto6_cksum
      Src: /src/tcpdump/print-udp.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ndo
    - ip6
    - up
    - len
    argTypes:
    - netdissect_options*
    - struct ip6_hdr*
    - struct udphdr*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 299
    functionName: udp6_cksum
    functionSourceFile: /src/tcpdump/print-udp.c
    functionUses: 0
    functionsReached:
    - nextproto6_cksum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t udp6_cksum(netdissect_options *ndo, const struct ip6_hdr
      *ip6,\n\t\t      const struct udphdr *up, u_int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IP_V
      Src: /src/tcpdump/print-udp.c:307,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-udp.c:307,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:308,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-udp.c:309,1
    - Dst: udpport_string
      Src: /src/tcpdump/print-udp.c:310,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-udp.c:311,1
    - Dst: udpport_string
      Src: /src/tcpdump/print-udp.c:312,1
    - Dst: IP_V
      Src: /src/tcpdump/print-udp.c:313,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-udp.c:313,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:314,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-udp.c:315,1
    - Dst: udpport_string
      Src: /src/tcpdump/print-udp.c:316,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-udp.c:317,1
    - Dst: udpport_string
      Src: /src/tcpdump/print-udp.c:318,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:320,1
    - Dst: udpport_string
      Src: /src/tcpdump/print-udp.c:321,1
    - Dst: udpport_string
      Src: /src/tcpdump/print-udp.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - ndo
    - ip
    - sport
    - dport
    argTypes:
    - netdissect_options*
    - struct ip*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 322
    functionName: udpipaddr_print
    functionSourceFile: /src/tcpdump/print-udp.c
    functionUses: 0
    functionsReached:
    - udpport_string
    - GET_IPADDR_STRING
    - GET_U_1
    - GET_IP6ADDR_STRING
    - ND_PRINT
    - IP_V
    linkageType: ''
    returnType: void
    signature: "void udpipaddr_print(netdissect_options *ndo,\n                const
      struct ip *ip, const uint16_t sport, const uint16_t dport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IP_V
      Src: /src/tcpdump/print-udp.c:329,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-udp.c:329,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:330,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-udp.c:331,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-udp.c:332,1
    - Dst: IP_V
      Src: /src/tcpdump/print-udp.c:333,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-udp.c:333,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:334,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-udp.c:335,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-udp.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ndo
    - ip
    argTypes:
    - netdissect_options*
    - struct ip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 338
    functionName: udpipaddr_noport_print
    functionSourceFile: /src/tcpdump/print-udp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - GET_IP6ADDR_STRING
    - ND_PRINT
    - IP_V
    linkageType: ''
    returnType: void
    signature: void udpipaddr_noport_print(netdissect_options *ndo, const struct ip
      *ip)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: IP_V
      Src: /src/tcpdump/print-udp.c:356,1
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-udp.c:360,1
    - Dst: udpipaddr_noport_print
      Src: /src/tcpdump/print-udp.c:361,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-udp.c:362,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-udp.c:365,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-udp.c:366,1
    - Dst: udpipaddr_print
      Src: /src/tcpdump/print-udp.c:368,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-udp.c:370,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-udp.c:371,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-udp.c:372,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-udp.c:380,1
    - Dst: vat_print
      Src: /src/tcpdump/print-udp.c:396,1
    - Dst: wb_print
      Src: /src/tcpdump/print-udp.c:400,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:405,1
    - Dst: sunrpc_print
      Src: /src/tcpdump/print-udp.c:407,1
    - Dst: nfsreply_print
      Src: /src/tcpdump/print-udp.c:410,1
    - Dst: rtp_print
      Src: /src/tcpdump/print-udp.c:415,1
    - Dst: rtcp_print
      Src: /src/tcpdump/print-udp.c:420,1
    - Dst: snmp_print
      Src: /src/tcpdump/print-udp.c:424,1
    - Dst: cnfp_print
      Src: /src/tcpdump/print-udp.c:428,1
    - Dst: tftp_print
      Src: /src/tcpdump/print-udp.c:432,1
    - Dst: aodv_print
      Src: /src/tcpdump/print-udp.c:436,1
    - Dst: IP_V
      Src: /src/tcpdump/print-udp.c:436,1
    - Dst: radius_print
      Src: /src/tcpdump/print-udp.c:440,1
    - Dst: vxlan_print
      Src: /src/tcpdump/print-udp.c:444,1
    - Dst: pgm_print
      Src: /src/tcpdump/print-udp.c:449,1
    - Dst: lmp_print
      Src: /src/tcpdump/print-udp.c:452,1
    - Dst: ptp_print
      Src: /src/tcpdump/print-udp.c:455,1
    - Dst: someip_print
      Src: /src/tcpdump/print-udp.c:458,1
    - Dst: domain_print
      Src: /src/tcpdump/print-udp.c:462,1
    - Dst: quic_print
      Src: /src/tcpdump/print-udp.c:465,1
    - Dst: geneve_print
      Src: /src/tcpdump/print-udp.c:468,1
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/print-udp.c:479,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:480,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:482,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:483,1
    - Dst: nfsreq_noaddr_print
      Src: /src/tcpdump/print-udp.c:484,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:489,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udp.c:490,1
    - Dst: nfsreply_noaddr_print
      Src: /src/tcpdump/print-udp.c:491,1
    - Dst: sunrpc_print
      Src: /src/tcpdump/print-udp.c:497,1
    - Dst: IP_V
      Src: /src/tcpdump/print-udp.c:512,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:514,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-udp.c:515,1
    - Dst: udp_cksum
      Src: /src/tcpdump/print-udp.c:516,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:519,1
    - Dst: in_cksum_shouldbe
      Src: /src/tcpdump/print-udp.c:521,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:523,1
    - Dst: IP_V
      Src: /src/tcpdump/print-udp.c:525,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-udp.c:527,1
    - Dst: udp6_cksum
      Src: /src/tcpdump/print-udp.c:528,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:531,1
    - Dst: in_cksum_shouldbe
      Src: /src/tcpdump/print-udp.c:533,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:535,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:541,1
    - Dst: domain_print
      Src: /src/tcpdump/print-udp.c:543,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:544,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:545,1
    - Dst: bootp_print
      Src: /src/tcpdump/print-udp.c:546,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:547,1
    - Dst: tftp_print
      Src: /src/tcpdump/print-udp.c:548,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:549,1
    - Dst: krb_print
      Src: /src/tcpdump/print-udp.c:550,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:551,1
    - Dst: ntp_print
      Src: /src/tcpdump/print-udp.c:552,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:554,1
    - Dst: nbt_udp137_print
      Src: /src/tcpdump/print-udp.c:555,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:556,1
    - Dst: nbt_udp138_print
      Src: /src/tcpdump/print-udp.c:557,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:559,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:560,1
    - Dst: snmp_print
      Src: /src/tcpdump/print-udp.c:561,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:562,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:563,1
    - Dst: ptp_print
      Src: /src/tcpdump/print-udp.c:564,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:565,1
    - Dst: cisco_autorp_print
      Src: /src/tcpdump/print-udp.c:566,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:567,1
    - Dst: isakmp_print
      Src: /src/tcpdump/print-udp.c:568,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:569,1
    - Dst: syslog_print
      Src: /src/tcpdump/print-udp.c:570,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:571,1
    - Dst: rip_print
      Src: /src/tcpdump/print-udp.c:572,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:573,1
    - Dst: ripng_print
      Src: /src/tcpdump/print-udp.c:574,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:575,1
    - Dst: timed_print
      Src: /src/tcpdump/print-udp.c:576,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:577,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:578,1
    - Dst: dhcp6_print
      Src: /src/tcpdump/print-udp.c:579,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:580,1
    - Dst: ldp_print
      Src: /src/tcpdump/print-udp.c:581,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:582,1
    - Dst: aodv_print
      Src: /src/tcpdump/print-udp.c:583,1
    - Dst: IP_V
      Src: /src/tcpdump/print-udp.c:583,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:584,1
    - Dst: olsr_print
      Src: /src/tcpdump/print-udp.c:585,1
    - Dst: IP_V
      Src: /src/tcpdump/print-udp.c:585,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:586,1
    - Dst: lmp_print
      Src: /src/tcpdump/print-udp.c:587,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:588,1
    - Dst: krb_print
      Src: /src/tcpdump/print-udp.c:589,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:590,1
    - Dst: lwres_print
      Src: /src/tcpdump/print-udp.c:591,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:592,1
    - Dst: domain_print
      Src: /src/tcpdump/print-udp.c:594,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:595,1
    - Dst: isakmp_rfc3948_print
      Src: /src/tcpdump/print-udp.c:596,1
    - Dst: IP_V
      Src: /src/tcpdump/print-udp.c:596,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:597,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:597,1
    - Dst: isakmp_print
      Src: /src/tcpdump/print-udp.c:598,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:599,1
    - Dst: l2tp_print
      Src: /src/tcpdump/print-udp.c:600,1
    - Dst: vat_print
      Src: /src/tcpdump/print-udp.c:602,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:603,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:603,1
    - Dst: zephyr_print
      Src: /src/tcpdump/print-udp.c:604,1
    - Dst: rx_print
      Src: /src/tcpdump/print-udp.c:611,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:613,1
    - Dst: ahcp_print
      Src: /src/tcpdump/print-udp.c:614,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:615,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:615,1
    - Dst: babel_print
      Src: /src/tcpdump/print-udp.c:616,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:617,1
    - Dst: hncp_print
      Src: /src/tcpdump/print-udp.c:618,1
    - Dst: wb_print
      Src: /src/tcpdump/print-udp.c:623,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:624,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:625,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:626,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:627,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:628,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:629,1
    - Dst: radius_print
      Src: /src/tcpdump/print-udp.c:630,1
    - Dst: hsrp_print
      Src: /src/tcpdump/print-udp.c:632,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:633,1
    - Dst: lspping_print
      Src: /src/tcpdump/print-udp.c:634,1
    - Dst: bfd_print
      Src: /src/tcpdump/print-udp.c:640,1
    - Dst: bfd_print
      Src: /src/tcpdump/print-udp.c:642,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:643,1
    - Dst: vqp_print
      Src: /src/tcpdump/print-udp.c:644,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:645,1
    - Dst: sflow_print
      Src: /src/tcpdump/print-udp.c:646,1
    - Dst: lwapp_print
      Src: /src/tcpdump/print-udp.c:648,1
    - Dst: lwapp_print
      Src: /src/tcpdump/print-udp.c:650,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:651,1
    - Dst: lwapp_print
      Src: /src/tcpdump/print-udp.c:652,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:653,1
    - Dst: sip_print
      Src: /src/tcpdump/print-udp.c:654,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:655,1
    - Dst: vxlan_print
      Src: /src/tcpdump/print-udp.c:656,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:657,1
    - Dst: vxlan_print
      Src: /src/tcpdump/print-udp.c:658,1
    - Dst: geneve_print
      Src: /src/tcpdump/print-udp.c:660,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:661,1
    - Dst: lisp_print
      Src: /src/tcpdump/print-udp.c:662,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:663,1
    - Dst: vxlan_gpe_print
      Src: /src/tcpdump/print-udp.c:664,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:665,1
    - Dst: zep_print
      Src: /src/tcpdump/print-udp.c:666,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:667,1
    - Dst: mpls_print
      Src: /src/tcpdump/print-udp.c:668,1
    - Dst: atalk_port
      Src: /src/tcpdump/print-udp.c:669,1
    - Dst: atalk_port
      Src: /src/tcpdump/print-udp.c:669,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-udp.c:670,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:672,1
    - Dst: llap_print
      Src: /src/tcpdump/print-udp.c:673,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:674,1
    - Dst: someip_print
      Src: /src/tcpdump/print-udp.c:675,1
    - Dst: IS_SRC_OR_DST_PORT
      Src: /src/tcpdump/print-udp.c:676,1
    - Dst: quic_detect
      Src: /src/tcpdump/print-udp.c:677,1
    - Dst: quic_print
      Src: /src/tcpdump/print-udp.c:678,1
    - Dst: bcm_li_print
      Src: /src/tcpdump/print-udp.c:680,1
    - Dst: if
      Src: /src/tcpdump/print-udp.c:682,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udp.c:683,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 200
    argCount: 6
    argNames:
    - ndo
    - bp
    - length
    - bp2
    - fragmented
    - ttl_hl
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    - int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 340
    functionDepth: 9
    functionLinenumber: 340
    functionLinenumberEnd: 688
    functionName: udp_print
    functionSourceFile: /src/tcpdump/print-udp.c
    functionUses: 0
    functionsReached:
    - bfd_print
    - udpipaddr_noport_print
    - GET_U_1
    - snmp_print
    - udpipaddr_print
    - ND_TTEST_4
    - zephyr_print
    - timed_print
    - babel_print
    - vxlan_gpe_print
    - zep_print
    - rtp_print
    - sflow_print
    - IP_V
    - hncp_print
    - ntp_print
    - isakmp_rfc3948_print
    - GET_BE_U_4
    - quic_print
    - atalk_port
    - lwapp_print
    - ripng_print
    - lmp_print
    - aodv_print
    - olsr_print
    - lwres_print
    - wb_print
    - ldp_print
    - vat_print
    - radius_print
    - lspping_print
    - udp6_cksum
    - nfsreply_print
    - ND_PRINT
    - nfsreply_noaddr_print
    - sunrpc_print
    - dhcp6_print
    - lisp_print
    - sip_print
    - nbt_udp138_print
    - in_cksum_shouldbe
    - syslog_print
    - cnfp_print
    - isakmp_print
    - rx_print
    - ND_ICHECKMSG_ZU
    - domain_print
    - l2tp_print
    - GET_BE_U_2
    - quic_detect
    - rip_print
    - geneve_print
    - tftp_print
    - nd_trunc_longjmp
    - someip_print
    - llap_print
    - pgm_print
    - nbt_udp137_print
    - hsrp_print
    - bcm_li_print
    - cisco_autorp_print
    - rtcp_print
    - mpls_print
    - ND_TTEST_LEN
    - vxlan_print
    - ahcp_print
    - udp_cksum
    - if
    - ptp_print
    - bootp_print
    - ND_TTEST_2
    - nfsreq_noaddr_print
    - krb_print
    - IS_SRC_OR_DST_PORT
    - vqp_print
    linkageType: ''
    returnType: void
    signature: "void udp_print(netdissect_options *ndo, const u_char *bp, u_int length,\n\t
      \ const u_char *bp2, int fragmented, u_int ttl_hl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sunatm.c:74,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sunatm.c:74,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sunatm.c:77,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sunatm.c:92,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sunatm.c:93,1
    - Dst: atm_print
      Src: /src/tcpdump/print-sunatm.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 100
    functionName: sunatm_if_print
    functionSourceFile: /src/tcpdump/print-sunatm.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - atm_print
    linkageType: ''
    returnType: void
    signature: "void sunatm_if_print(netdissect_options *ndo,\n                const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ahcp.c:107,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:108,1
    - Dst: nd_format_time
      Src: /src/tcpdump/print-ahcp.c:109,1
    - Dst: gmtime
      Src: /src/tcpdump/print-ahcp.c:110,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ahcp.c:114,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ahcp.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: ahcp_time_print
    functionSourceFile: /src/tcpdump/print-ahcp.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - gmtime
    - ND_PRINT
    - nd_print_invalid
    - nd_format_time
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void ahcp_time_print(netdissect_options *ndo,\n                const
      u_char *cp, uint8_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:124,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ahcp.c:124,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ahcp.c:128,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ahcp.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: ahcp_seconds_print
    functionSourceFile: /src/tcpdump/print-ahcp.c
    functionUses: 0
    functionsReached:
    - nd_print_invalid
    - ND_TCHECK_LEN
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void ahcp_seconds_print(netdissect_options *ndo,\n                   const
      u_char *cp, uint8_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:141,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-ahcp.c:141,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ahcp.c:149,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ahcp.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 151
    functionName: ahcp_ipv6_addresses_print
    functionSourceFile: /src/tcpdump/print-ahcp.c
    functionUses: 0
    functionsReached:
    - nd_print_invalid
    - GET_IP6ADDR_STRING
    - ND_PRINT
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: void
    signature: "void ahcp_ipv6_addresses_print(netdissect_options *ndo,\n                          const
      u_char *cp, uint8_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:162,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ahcp.c:162,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ahcp.c:170,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ahcp.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 172
    functionName: ahcp_ipv4_addresses_print
    functionSourceFile: /src/tcpdump/print-ahcp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ND_TCHECK_LEN
    - ND_PRINT
    - nd_print_invalid
    linkageType: ''
    returnType: void
    signature: "void ahcp_ipv4_addresses_print(netdissect_options *ndo,\n                          const
      u_char *cp, uint8_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:183,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-ahcp.c:183,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ahcp.c:183,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ahcp.c:191,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ahcp.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 193
    functionName: ahcp_ipv6_prefixes_print
    functionSourceFile: /src/tcpdump/print-ahcp.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - GET_U_1
    - GET_IP6ADDR_STRING
    - ND_PRINT
    - nd_print_invalid
    linkageType: ''
    returnType: void
    signature: "void ahcp_ipv6_prefixes_print(netdissect_options *ndo,\n                         const
      u_char *cp, uint8_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:204,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ahcp.c:204,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ahcp.c:204,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ahcp.c:212,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ahcp.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 214
    functionName: ahcp_ipv4_prefixes_print
    functionSourceFile: /src/tcpdump/print-ahcp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - nd_print_invalid
    - GET_U_1
    - ND_PRINT
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: void
    signature: "void ahcp_ipv4_prefixes_print(netdissect_options *ndo,\n                         const
      u_char *cp, uint8_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ahcp.c:242,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:245,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ahcp.c:245,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ahcp.c:251,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:260,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ahcp.c:261,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ahcp.c:269,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ahcp.c:270,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 271
    functionName: ahcp1_options_print
    functionSourceFile: /src/tcpdump/print-ahcp.c
    functionUses: 0
    functionsReached:
    - nd_print_invalid
    - GET_U_1
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void ahcp1_options_print(netdissect_options *ndo,\n                    const
      u_char *cp, uint16_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ahcp.c:283,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ahcp.c:287,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ahcp.c:291,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:296,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ahcp.c:296,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:298,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:299,1
    - Dst: ahcp1_options_print
      Src: /src/tcpdump/print-ahcp.c:307,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ahcp.c:309,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ahcp.c:313,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ahcp.c:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 316
    functionName: ahcp1_body_print
    functionSourceFile: /src/tcpdump/print-ahcp.c
    functionUses: 0
    functionsReached:
    - nd_print_invalid
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - ahcp1_options_print
    - ND_TCHECK_LEN
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void ahcp1_body_print(netdissect_options *ndo,\n                 const
      u_char *cp, u_int len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-ahcp.c:325,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ahcp.c:329,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ahcp.c:334,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:339,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ahcp.c:343,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:348,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ahcp.c:348,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:352,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ahcp.c:352,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:356,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ahcp.c:356,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:360,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-ahcp.c:360,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:364,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-ahcp.c:364,1
    - Dst: ahcp1_body_print
      Src: /src/tcpdump/print-ahcp.c:369,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ahcp.c:373,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ahcp.c:374,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ahcp.c:380,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ahcp.c:381,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 382
    functionName: ahcp_print
    functionSourceFile: /src/tcpdump/print-ahcp.c
    functionUses: 1
    functionsReached:
    - nd_print_invalid
    - GET_U_1
    - nd_print_protocol_caps
    - GET_LINKADDR_STRING
    - ahcp1_body_print
    - ND_PRINT
    - ND_TCHECK_LEN
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void ahcp_print(netdissect_options *ndo,\n           const u_char
      *cp, u_int len)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ND_ASCII_ISDIGIT
      Src: /src/tcpdump/strtoaddr.c:72,1
    - Dst: ND_ASCII_ISDIGIT
      Src: /src/tcpdump/strtoaddr.c:79,1
    - Dst: ND_ASCII_ISDIGIT
      Src: /src/tcpdump/strtoaddr.c:83,1
    - Dst: htonl
      Src: /src/tcpdump/strtoaddr.c:131,1
    - Dst: memcpy
      Src: /src/tcpdump/strtoaddr.c:132,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 135
    functionName: strtoaddr
    functionSourceFile: /src/tcpdump/strtoaddr.c
    functionUses: 0
    functionsReached:
    - ND_ASCII_ISDIGIT
    - memcpy
    - htonl
    linkageType: ''
    returnType: int
    signature: int strtoaddr(const char *src, void *dst)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/strtoaddr.c:160,1
    - Dst: strchr
      Src: /src/tcpdump/strtoaddr.c:173,1
    - Dst: strchr
      Src: /src/tcpdump/strtoaddr.c:174,1
    - Dst: strtoaddr
      Src: /src/tcpdump/strtoaddr.c:200,1
    - Dst: memcpy
      Src: /src/tcpdump/strtoaddr.c:231,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 64
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 233
    functionName: strtoaddr6
    functionSourceFile: /src/tcpdump/strtoaddr.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - strtoaddr
    - strchr
    linkageType: ''
    returnType: int
    signature: int strtoaddr6(const char *src, void *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-vsock.c:128,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vsock.c:129,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-vsock.c:131,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vsock.c:132,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vsock.c:133,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-vsock.c:135,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vsock.c:136,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vsock.c:137,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-vsock.c:139,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vsock.c:140,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-vsock.c:142,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vsock.c:143,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-vsock.c:145,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vsock.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - ndo
    - hdr
    argTypes:
    - netdissect_options*
    - struct virtio_vsock_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 147
    functionName: vsock_virtio_hdr_print
    functionSourceFile: /src/tcpdump/print-vsock.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_4
    - tok2str
    - ND_PRINT
    - GET_LE_U_2
    linkageType: ''
    returnType: void
    signature: void vsock_virtio_hdr_print(netdissect_options *ndo, const struct virtio_vsock_hdr
      *hdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - transport
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: vsock_transport_hdr_size
    functionSourceFile: /src/tcpdump/print-vsock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int
    signature: u_int vsock_transport_hdr_size(uint16_t transport)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vsock_transport_hdr_size
      Src: /src/tcpdump/print-vsock.c:168,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vsock.c:178,1
    - Dst: vsock_virtio_hdr_print
      Src: /src/tcpdump/print-vsock.c:179,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vsock.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ndo
    - transport
    - p
    - caplen
    argTypes:
    - netdissect_options*
    - uint16_t
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 186
    functionName: vsock_transport_hdr_print
    functionSourceFile: /src/tcpdump/print-vsock.c
    functionUses: 0
    functionsReached:
    - vsock_virtio_hdr_print
    - ND_PRINT
    - vsock_transport_hdr_size
    linkageType: ''
    returnType: int
    signature: "int vsock_transport_hdr_print(netdissect_options *ndo, uint16_t transport,\n
      \                         const u_char *p, const u_int caplen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-vsock.c:198,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vsock.c:199,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vsock.c:200,1
    - Dst: vsock_transport_hdr_print
      Src: /src/tcpdump/print-vsock.c:205,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vsock.c:207,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vsock.c:209,1
    - Dst: GET_LE_U_8
      Src: /src/tcpdump/print-vsock.c:211,1
    - Dst: GET_LE_U_8
      Src: /src/tcpdump/print-vsock.c:212,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-vsock.c:213,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-vsock.c:214,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-vsock.c:215,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vsock.c:216,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vsock.c:219,1
    - Dst: vsock_transport_hdr_size
      Src: /src/tcpdump/print-vsock.c:228,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vsock.c:233,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-vsock.c:234,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-vsock.c:242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - ndo
    - p
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 243
    functionName: vsock_hdr_print
    functionSourceFile: /src/tcpdump/print-vsock.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - GET_LE_U_2
    - GET_LE_U_4
    - nd_print_trunc
    - vsock_transport_hdr_print
    - ND_PRINT
    - tok2str
    - GET_LE_U_8
    - vsock_transport_hdr_size
    linkageType: ''
    returnType: void
    signature: void vsock_hdr_print(netdissect_options *ndo, const u_char *p, const
      u_int caplen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-vsock.c:251,1
    - Dst: vsock_hdr_print
      Src: /src/tcpdump/print-vsock.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - h
    - cp
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: vsock_if_print
    functionSourceFile: /src/tcpdump/print-vsock.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - vsock_hdr_print
    linkageType: ''
    returnType: void
    signature: "void vsock_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h,\n\t       const u_char *cp)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vxlan-gpe.c:92,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vxlan-gpe.c:94,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vxlan-gpe.c:98,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vxlan-gpe.c:103,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vxlan-gpe.c:106,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-vxlan-gpe.c:107,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vxlan-gpe.c:119,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vxlan-gpe.c:130,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-vxlan-gpe.c:130,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vxlan-gpe.c:132,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vxlan-gpe.c:137,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vxlan-gpe.c:140,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-vxlan-gpe.c:145,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vxlan-gpe.c:149,1
    - Dst: ip_print
      Src: /src/tcpdump/print-vxlan-gpe.c:153,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-vxlan-gpe.c:156,1
    - Dst: ether_print
      Src: /src/tcpdump/print-vxlan-gpe.c:159,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-vxlan-gpe.c:159,1
    - Dst: nsh_print
      Src: /src/tcpdump/print-vxlan-gpe.c:162,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vxlan-gpe.c:169,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-vxlan-gpe.c:176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 177
    functionName: vxlan_gpe_print
    functionSourceFile: /src/tcpdump/print-vxlan-gpe.c
    functionUses: 1
    functionsReached:
    - nsh_print
    - GET_U_1
    - ip_print
    - ND_TCHECK_1
    - ND_PRINT
    - ip6_print
    - ether_print
    - GET_BE_U_3
    - ND_BYTES_AVAILABLE_AFTER
    - nd_print_invalid
    - bittok2str_nosep
    linkageType: ''
    returnType: void
    signature: void vxlan_gpe_print(netdissect_options *ndo, const u_char *bp, u_int
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: BFD_EXTRACT_VERSION
    functionSourceFile: /src/tcpdump/print-bfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BFD_EXTRACT_VERSION(x)
  - 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: BFD_EXTRACT_DIAG
    functionSourceFile: /src/tcpdump/print-bfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BFD_EXTRACT_DIAG(x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-bfd.c:193,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bfd.c:194,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bfd.c:195,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:196,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bfd.c:197,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:200,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bfd.c:200,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:217,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:222,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-bfd.c:224,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:244,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:249,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bfd.c:249,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bfd.c:251,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:252,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:254,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bfd.c:254,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:274,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:279,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bfd.c:279,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bfd.c:281,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:282,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:284,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bfd.c:284,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - ndo
    - pptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 287
    functionName: auth_print
    functionSourceFile: /src/tcpdump/print-bfd.c
    functionUses: 0
    functionsReached:
    - nd_printjn
    - GET_U_1
    - GET_BE_U_4
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: void auth_print(netdissect_options *ndo, const u_char *pptr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-bfd.c:307,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bfd.c:308,1
    - Dst: BFD_EXTRACT_VERSION
      Src: /src/tcpdump/print-bfd.c:309,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bfd.c:310,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:317,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-bfd.c:318,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:323,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-bfd.c:325,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bfd.c:326,1
    - Dst: BFD_EXTRACT_DIAG
      Src: /src/tcpdump/print-bfd.c:326,1
    - Dst: BFD_EXTRACT_DIAG
      Src: /src/tcpdump/print-bfd.c:327,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:329,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bfd.c:330,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bfd.c:331,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bfd.c:331,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bfd.c:332,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:335,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bfd.c:336,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:337,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bfd.c:338,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:339,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bfd.c:340,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:341,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bfd.c:342,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:343,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bfd.c:344,1
    - Dst: auth_print
      Src: /src/tcpdump/print-bfd.c:347,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:354,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bfd.c:355,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bfd.c:356,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-bfd.c:357,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:362,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bfd.c:364,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bfd.c:365,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-bfd.c:366,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bfd.c:367,1
    - Dst: BFD_EXTRACT_DIAG
      Src: /src/tcpdump/print-bfd.c:367,1
    - Dst: BFD_EXTRACT_DIAG
      Src: /src/tcpdump/print-bfd.c:368,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:370,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bfd.c:371,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bfd.c:372,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bfd.c:372,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bfd.c:373,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:376,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bfd.c:377,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:378,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bfd.c:379,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:380,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bfd.c:381,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:382,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bfd.c:383,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:384,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bfd.c:385,1
    - Dst: auth_print
      Src: /src/tcpdump/print-bfd.c:388,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:393,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-bfd.c:397,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:406,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-bfd.c:409,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bfd.c:416,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-bfd.c:420,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 4
    argNames:
    - ndo
    - pptr
    - len
    - port
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 424
    functionName: bfd_print
    functionSourceFile: /src/tcpdump/print-bfd.c
    functionUses: 1
    functionsReached:
    - auth_print
    - bittok2str
    - print_unknown_data
    - GET_U_1
    - GET_BE_U_4
    - ND_PRINT
    - BFD_EXTRACT_DIAG
    - tok2str
    - BFD_EXTRACT_VERSION
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void bfd_print(netdissect_options *ndo, const u_char *pptr,\n          u_int
      len, u_int port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - link_code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: OLSR_EXTRACT_LINK_TYPE
    functionSourceFile: /src/tcpdump/print-olsr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OLSR_EXTRACT_LINK_TYPE(link_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - link_code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: OLSR_EXTRACT_NEIGHBOR_TYPE
    functionSourceFile: /src/tcpdump/print-olsr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OLSR_EXTRACT_NEIGHBOR_TYPE(link_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 220
    functionName: deserialize_gw_speed
    functionSourceFile: /src/tcpdump/print-olsr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t deserialize_gw_speed(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - me
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: ME_TO_DOUBLE
    functionSourceFile: /src/tcpdump/print-olsr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ME_TO_DOUBLE(me)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-olsr.c:242,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:244,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-olsr.c:246,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:247,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ndo
    - msg_data
    - hello_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: olsr_print_lq_neighbor4
    functionSourceFile: /src/tcpdump/print-olsr.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_IPADDR_STRING
    - ND_PRINT
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void olsr_print_lq_neighbor4(netdissect_options *ndo,\n                        const
      u_char *msg_data, u_int hello_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-olsr.c:264,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:266,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-olsr.c:268,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:269,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ndo
    - msg_data
    - hello_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 275
    functionName: olsr_print_lq_neighbor6
    functionSourceFile: /src/tcpdump/print-olsr.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_IP6ADDR_STRING
    - ND_PRINT
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void olsr_print_lq_neighbor6(netdissect_options *ndo,\n                        const
      u_char *msg_data, u_int hello_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:286,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:291,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-olsr.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ndo
    - msg_data
    - hello_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 297
    functionName: olsr_print_neighbor
    functionSourceFile: /src/tcpdump/print-olsr.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void olsr_print_neighbor(netdissect_options *ndo,\n                    const
      u_char *msg_data, u_int hello_len)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-olsr.c:323,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:324,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-olsr.c:326,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-olsr.c:329,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-olsr.c:329,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:331,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-olsr.c:332,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-olsr.c:353,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:355,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-olsr.c:356,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:366,1
    - Dst: tok2str
      Src: /src/tcpdump/print-olsr.c:368,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-olsr.c:369,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:370,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:371,1
    - Dst: ME_TO_DOUBLE
      Src: /src/tcpdump/print-olsr.c:372,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:372,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-olsr.c:373,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-olsr.c:382,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:384,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-olsr.c:385,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:395,1
    - Dst: tok2str
      Src: /src/tcpdump/print-olsr.c:397,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-olsr.c:398,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:399,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:400,1
    - Dst: ME_TO_DOUBLE
      Src: /src/tcpdump/print-olsr.c:401,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:401,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-olsr.c:402,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-olsr.c:415,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:419,1
    - Dst: ME_TO_DOUBLE
      Src: /src/tcpdump/print-olsr.c:420,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:420,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:421,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-olsr.c:431,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-olsr.c:435,1
    - Dst: OLSR_EXTRACT_LINK_TYPE
      Src: /src/tcpdump/print-olsr.c:436,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:436,1
    - Dst: OLSR_EXTRACT_NEIGHBOR_TYPE
      Src: /src/tcpdump/print-olsr.c:437,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-olsr.c:437,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:443,1
    - Dst: tok2str
      Src: /src/tcpdump/print-olsr.c:444,1
    - Dst: tok2str
      Src: /src/tcpdump/print-olsr.c:445,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-olsr.c:456,1
    - Dst: olsr_print_neighbor
      Src: /src/tcpdump/print-olsr.c:458,1
    - Dst: olsr_print_lq_neighbor6
      Src: /src/tcpdump/print-olsr.c:461,1
    - Dst: olsr_print_lq_neighbor4
      Src: /src/tcpdump/print-olsr.c:463,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-olsr.c:474,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-olsr.c:476,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:479,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-olsr.c:480,1
    - Dst: olsr_print_neighbor
      Src: /src/tcpdump/print-olsr.c:485,1
    - Dst: olsr_print_lq_neighbor6
      Src: /src/tcpdump/print-olsr.c:488,1
    - Dst: olsr_print_lq_neighbor4
      Src: /src/tcpdump/print-olsr.c:490,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-olsr.c:503,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:504,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-olsr.c:505,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-olsr.c:506,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:518,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-olsr.c:524,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:528,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-olsr.c:529,1
    - Dst: mask62plen
      Src: /src/tcpdump/print-olsr.c:530,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:538,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-olsr.c:542,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:552,1
    - Dst: deserialize_gw_speed
      Src: /src/tcpdump/print-olsr.c:573,1
    - Dst: deserialize_gw_speed
      Src: /src/tcpdump/print-olsr.c:577,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:581,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-olsr.c:583,1
    - Dst: mask2plen
      Src: /src/tcpdump/print-olsr.c:584,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-olsr.c:584,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-olsr.c:602,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-olsr.c:604,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:614,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-olsr.c:615,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-olsr.c:630,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-olsr.c:631,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:639,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-olsr.c:651,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-olsr.c:654,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:658,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-olsr.c:659,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:661,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-olsr.c:662,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-olsr.c:663,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-olsr.c:664,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-olsr.c:678,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-olsr.c:687,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 190
    argCount: 4
    argNames:
    - ndo
    - pptr
    - length
    - is_ipv6
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 688
    functionName: olsr_print
    functionSourceFile: /src/tcpdump/print-olsr.c
    functionUses: 1
    functionsReached:
    - ND_ICHECKMSG_U
    - olsr_print_lq_neighbor4
    - GET_U_1
    - nd_print_protocol_caps
    - GET_IP6ADDR_STRING
    - mask2plen
    - nd_print_invalid
    - mask62plen
    - GET_BE_U_4
    - OLSR_EXTRACT_NEIGHBOR_TYPE
    - olsr_print_neighbor
    - ND_PRINT
    - deserialize_gw_speed
    - GET_IPADDR_STRING
    - OLSR_EXTRACT_LINK_TYPE
    - print_unknown_data
    - nd_printjn
    - ND_ICHECKMSG_ZU
    - GET_BE_U_2
    - ND_TCHECK_LEN
    - tok2str
    - ND_MIN
    - ME_TO_DOUBLE
    - olsr_print_lq_neighbor6
    linkageType: ''
    returnType: void
    signature: "void olsr_print(netdissect_options *ndo,\n           const u_char
      *pptr, u_int length, int is_ipv6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: DIAG_DO_PRAGMA
    functionSourceFile: /src/tcpdump/diag-control.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIAG_DO_PRAGMA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: llap_print
      Src: /src/tcpdump/print-atalk.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: ltalk_if_print
    functionSourceFile: /src/tcpdump/print-atalk.c
    functionUses: 0
    functionsReached:
    - llap_print
    linkageType: ''
    returnType: void
    signature: "void ltalk_if_print(netdissect_options *ndo,\n               const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-atalk.c:167,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:172,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-atalk.c:176,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:178,1
    - Dst: ataddr_string
      Src: /src/tcpdump/print-atalk.c:179,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:179,1
    - Dst: ddpskt_string
      Src: /src/tcpdump/print-atalk.c:180,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:180,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:181,1
    - Dst: ataddr_string
      Src: /src/tcpdump/print-atalk.c:182,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:182,1
    - Dst: ddpskt_string
      Src: /src/tcpdump/print-atalk.c:183,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:183,1
    - Dst: ddp_print
      Src: /src/tcpdump/print-atalk.c:187,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:187,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:188,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:188,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-atalk.c:193,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:195,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:196,1
    - Dst: ataddr_string
      Src: /src/tcpdump/print-atalk.c:197,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:197,1
    - Dst: ddpskt_string
      Src: /src/tcpdump/print-atalk.c:198,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:198,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:199,1
    - Dst: ataddr_string
      Src: /src/tcpdump/print-atalk.c:200,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:200,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:200,1
    - Dst: ddpskt_string
      Src: /src/tcpdump/print-atalk.c:201,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:201,1
    - Dst: ddp_print
      Src: /src/tcpdump/print-atalk.c:205,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:205,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:206,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:206,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:210,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:211,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:211,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:211,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-atalk.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 219
    functionName: llap_print
    functionSourceFile: /src/tcpdump/print-atalk.c
    functionUses: 2
    functionsReached:
    - ddp_print
    - ND_ICHECKMSG_U
    - ND_ICHECKMSG_ZU
    - GET_U_1
    - ddpskt_string
    - GET_BE_U_2
    - ND_PRINT
    - ataddr_string
    - nd_print_invalid
    linkageType: ''
    returnType: u_int
    signature: "u_int llap_print(netdissect_options *ndo,\n           const u_char
      *bp, u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:235,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-atalk.c:237,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:239,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:240,1
    - Dst: ataddr_string
      Src: /src/tcpdump/print-atalk.c:240,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:240,1
    - Dst: ddpskt_string
      Src: /src/tcpdump/print-atalk.c:241,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:241,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:242,1
    - Dst: ataddr_string
      Src: /src/tcpdump/print-atalk.c:243,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:243,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:243,1
    - Dst: ddpskt_string
      Src: /src/tcpdump/print-atalk.c:244,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:244,1
    - Dst: ddp_print
      Src: /src/tcpdump/print-atalk.c:247,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:247,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:248,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:248,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-atalk.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 252
    functionName: atalk_print
    functionSourceFile: /src/tcpdump/print-atalk.c
    functionUses: 1
    functionsReached:
    - ddp_print
    - GET_U_1
    - ddpskt_string
    - GET_BE_U_2
    - ND_PRINT
    - ataddr_string
    - nd_print_invalid
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: "void atalk_print(netdissect_options *ndo,\n            const u_char
      *bp, u_int length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:266,1
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-atalk.c:268,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-atalk.c:269,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:270,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:271,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:272,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:272,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:273,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:276,1
    - Dst: AT
      Src: /src/tcpdump/print-atalk.c:276,1
    - Dst: AT
      Src: /src/tcpdump/print-atalk.c:276,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:280,1
    - Dst: AT
      Src: /src/tcpdump/print-atalk.c:280,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-atalk.c:280,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:284,1
    - Dst: AT
      Src: /src/tcpdump/print-atalk.c:284,1
    - Dst: AT
      Src: /src/tcpdump/print-atalk.c:284,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:287,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:288,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:288,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:289,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:289,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:289,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-atalk.c:292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 293
    functionName: aarp_print
    functionSourceFile: /src/tcpdump/print-atalk.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - GET_MAC48_STRING
    - ND_PRINT
    - AT
    - ND_ICHECK_ZU
    - nd_print_invalid
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void aarp_print(netdissect_options *ndo,\n           const u_char
      *bp, u_int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: AT
    functionSourceFile: /src/tcpdump/print-atalk.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AT(member)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nbp_print
      Src: /src/tcpdump/print-atalk.c:307,1
    - Dst: atp_print
      Src: /src/tcpdump/print-atalk.c:311,1
    - Dst: eigrp_print
      Src: /src/tcpdump/print-atalk.c:315,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:319,1
    - Dst: tok2str
      Src: /src/tcpdump/print-atalk.c:319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 7
    argNames:
    - ndo
    - bp
    - length
    - t
    - snet
    - snode
    - skt
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    - u_short
    - u_char
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 322
    functionName: ddp_print
    functionSourceFile: /src/tcpdump/print-atalk.c
    functionUses: 2
    functionsReached:
    - eigrp_print
    - atp_print
    - ND_PRINT
    - nbp_print
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void ddp_print(netdissect_options *ndo,\n          const u_char *bp,
      u_int length, u_int t,\n          u_short snet, u_char snode, u_char skt)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-atalk.c:332,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:334,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:338,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:340,1
    - Dst: atp_bitmap_print
      Src: /src/tcpdump/print-atalk.c:342,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:342,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:345,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:349,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:352,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:355,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:361,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:363,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:363,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:367,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:370,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:373,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:379,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:379,1
    - Dst: atp_bitmap_print
      Src: /src/tcpdump/print-atalk.c:381,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:381,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:385,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:391,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:395,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:399,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:401,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:406,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:407,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-atalk.c:410,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:412,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-atalk.c:415,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 3
    argNames:
    - ndo
    - ap
    - length
    argTypes:
    - netdissect_options*
    - struct atATP*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 416
    functionName: atp_print
    functionSourceFile: /src/tcpdump/print-atalk.c
    functionUses: 1
    functionsReached:
    - ND_ICHECKMSG_ZU
    - GET_U_1
    - GET_BE_U_2
    - atp_bitmap_print
    - ND_PRINT
    - nd_print_invalid
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void atp_print(netdissect_options *ndo,\n          const struct atATP
      *ap, u_int length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:437,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:442,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:447,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ndo
    - bm
    argTypes:
    - netdissect_options*
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 451
    functionName: atp_bitmap_print
    functionSourceFile: /src/tcpdump/print-atalk.c
    functionUses: 1
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void atp_bitmap_print(netdissect_options *ndo,\n                 u_char
      bm)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-atalk.c:464,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:466,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:467,1
    - Dst: tok2str
      Src: /src/tcpdump/print-atalk.c:467,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:468,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:468,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:473,1
    - Dst: nbp_name_print
      Src: /src/tcpdump/print-atalk.c:474,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:481,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:482,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:483,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:483,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:484,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:485,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:486,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:487,1
    - Dst: ataddr_string
      Src: /src/tcpdump/print-atalk.c:488,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:488,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:489,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:490,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:494,1
    - Dst: nbp_tuple_print
      Src: /src/tcpdump/print-atalk.c:498,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:502,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-atalk.c:507,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 6
    argNames:
    - ndo
    - np
    - length
    - snet
    - snode
    - skt
    argTypes:
    - netdissect_options*
    - struct atNBP*
    - u_int
    - u_short
    - u_char
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 508
    functionName: nbp_print
    functionSourceFile: /src/tcpdump/print-atalk.c
    functionUses: 1
    functionsReached:
    - ND_ICHECKMSG_U
    - GET_U_1
    - nbp_tuple_print
    - GET_BE_U_2
    - ND_PRINT
    - ataddr_string
    - nd_print_invalid
    - tok2str
    - nbp_name_print
    linkageType: ''
    returnType: void
    signature: "void nbp_print(netdissect_options *ndo,\n          const struct atNBP
      *np, u_int length, u_short snet,\n          u_char snode, u_char skt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:517,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:522,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-atalk.c:523,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-atalk.c:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 528
    functionName: print_cstring
    functionSourceFile: /src/tcpdump/print-atalk.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TCHECK_LEN
    - ND_PRINT
    - nd_printjn
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nprint_cstring(netdissect_options *ndo,\n              const
      u_char *cp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nbp_name_print
      Src: /src/tcpdump/print-atalk.c:537,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:540,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:541,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:541,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:544,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:545,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:545,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:548,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:549,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:550,1
    - Dst: ataddr_string
      Src: /src/tcpdump/print-atalk.c:551,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atalk.c:551,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atalk.c:551,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - ndo
    - tp
    - snet
    - snode
    - skt
    argTypes:
    - netdissect_options*
    - struct atNBPtuple*
    - u_short
    - u_char
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 554
    functionName: nbp_tuple_print
    functionSourceFile: /src/tcpdump/print-atalk.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - ataddr_string
    - nbp_name_print
    linkageType: ''
    returnType: struct atNBPtuple
    signature: "struct atNBPtuple *\nnbp_tuple_print(netdissect_options *ndo,\n                const
      struct atNBPtuple *tp,\n                u_short snet, u_char snode, u_char skt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:562,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:565,1
    - Dst: print_cstring
      Src: /src/tcpdump/print-atalk.c:566,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:568,1
    - Dst: print_cstring
      Src: /src/tcpdump/print-atalk.c:569,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:571,1
    - Dst: print_cstring
      Src: /src/tcpdump/print-atalk.c:572,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atalk.c:573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ndo
    - tp
    argTypes:
    - netdissect_options*
    - struct atNBPtuple*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 577
    functionName: nbp_name_print
    functionSourceFile: /src/tcpdump/print-atalk.c
    functionUses: 2
    functionsReached:
    - ND_PRINT
    - print_cstring
    linkageType: ''
    returnType: struct atNBPtuple
    signature: "struct atNBPtuple *\nnbp_name_print(netdissect_options *ndo,\n               const
      struct atNBPtuple *tp)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tcpdump/print-atalk.c:613,1
    - Dst: fgets
      Src: /src/tcpdump/print-atalk.c:618,1
    - Dst: sscanf
      Src: /src/tcpdump/print-atalk.c:622,1
    - Dst: sscanf
      Src: /src/tcpdump/print-atalk.c:626,1
    - Dst: newhnamemem
      Src: /src/tcpdump/print-atalk.c:637,1
    - Dst: strdup
      Src: /src/tcpdump/print-atalk.c:638,1
    - Dst: fclose
      Src: /src/tcpdump/print-atalk.c:644,1
    - Dst: newhnamemem
      Src: /src/tcpdump/print-atalk.c:661,1
    - Dst: snprintf
      Src: /src/tcpdump/print-atalk.c:662,1
    - Dst: strdup
      Src: /src/tcpdump/print-atalk.c:664,1
    - Dst: newhnamemem
      Src: /src/tcpdump/print-atalk.c:672,1
    - Dst: snprintf
      Src: /src/tcpdump/print-atalk.c:674,1
    - Dst: snprintf
      Src: /src/tcpdump/print-atalk.c:676,1
    - Dst: strdup
      Src: /src/tcpdump/print-atalk.c:677,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 3
    argNames:
    - ndo
    - atnet
    - athost
    argTypes:
    - netdissect_options*
    - u_short
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 683
    functionName: ataddr_string
    functionSourceFile: /src/tcpdump/print-atalk.c
    functionUses: 4
    functionsReached:
    - fgets
    - fopen
    - fclose
    - newhnamemem
    - sscanf
    - strdup
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\nataddr_string(netdissect_options *ndo,\n              u_short
      atnet, u_char athost)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-atalk.c:704,1
    - Dst: tok2str
      Src: /src/tcpdump/print-atalk.c:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ndo
    - skt
    argTypes:
    - netdissect_options*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 708
    functionName: ddpskt_string
    functionSourceFile: /src/tcpdump/print-atalk.c
    functionUses: 2
    functionsReached:
    - tok2str
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\nddpskt_string(netdissect_options *ndo,\n              u_int
      skt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-brcmtag.c:106,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-brcmtag.c:109,1
    - Dst: tok2str
      Src: /src/tcpdump/print-brcmtag.c:109,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-brcmtag.c:112,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-brcmtag.c:114,1
    - Dst: tok2str
      Src: /src/tcpdump/print-brcmtag.c:115,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-brcmtag.c:117,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-brcmtag.c:119,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-brcmtag.c:120,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-brcmtag.c:123,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-brcmtag.c:124,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-brcmtag.c:124,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-brcmtag.c:126,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-brcmtag.c:128,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-brcmtag.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 133
    functionName: brcm_tag_print
    functionSourceFile: /src/tcpdump/print-brcmtag.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - bittok2str
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void brcm_tag_print(netdissect_options *ndo, const u_char *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ether_switch_tag_print
      Src: /src/tcpdump/print-brcmtag.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: brcm_tag_if_print
    functionSourceFile: /src/tcpdump/print-brcmtag.c
    functionUses: 0
    functionsReached:
    - ether_switch_tag_print
    linkageType: ''
    returnType: void
    signature: "void brcm_tag_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h,\n\t\t  const u_char *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-brcmtag.c:156,1
    - Dst: brcm_tag_print
      Src: /src/tcpdump/print-brcmtag.c:161,1
    - Dst: ether_print
      Src: /src/tcpdump/print-brcmtag.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 172
    functionName: brcm_tag_prepend_if_print
    functionSourceFile: /src/tcpdump/print-brcmtag.c
    functionUses: 0
    functionsReached:
    - brcm_tag_print
    - ND_TCHECK_LEN
    - ether_print
    linkageType: ''
    returnType: void
    signature: "void brcm_tag_prepend_if_print(netdissect_options *ndo, const struct
      pcap_pkthdr *h,\n\t\t\t  const u_char *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: LMP_EXTRACT_VERSION
    functionSourceFile: /src/tcpdump/print-lmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LMP_EXTRACT_VERSION(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:365,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:366,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:367,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lmp.c:368,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:374,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:378,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:382,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:387,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lmp.c:388,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:390,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:391,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:392,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lmp.c:393,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:395,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:396,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:397,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-lmp.c:398,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:399,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-lmp.c:400,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:403,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:404,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - ndo
    - obj_tptr
    - total_subobj_len
    - offset
    argTypes:
    - netdissect_options*
    - u_char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 415
    functionName: lmp_print_data_link_subobjs
    functionSourceFile: /src/tcpdump/print-lmp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_F_4
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int lmp_print_data_link_subobjs(netdissect_options *ndo, const u_char
      *obj_tptr,\n                            int total_subobj_len, int offset)"
  - BBCount: 106
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-lmp.c:431,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:433,1
    - Dst: LMP_EXTRACT_VERSION
      Src: /src/tcpdump/print-lmp.c:438,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:439,1
    - Dst: LMP_EXTRACT_VERSION
      Src: /src/tcpdump/print-lmp.c:440,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:446,1
    - Dst: LMP_EXTRACT_VERSION
      Src: /src/tcpdump/print-lmp.c:447,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lmp.c:448,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:448,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:455,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:457,1
    - Dst: LMP_EXTRACT_VERSION
      Src: /src/tcpdump/print-lmp.c:458,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lmp.c:459,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:459,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:460,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:460,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:463,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:467,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:477,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:478,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:480,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lmp.c:481,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:483,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:484,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lmp.c:485,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:487,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:489,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:493,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:497,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lmp.c:505,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:508,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:515,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:518,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:519,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:520,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:534,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:537,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lmp.c:538,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:539,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:544,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:547,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lmp.c:548,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:549,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:554,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:557,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:558,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:559,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:570,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:573,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:574,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:575,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:579,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:582,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:583,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:584,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:596,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:599,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lmp.c:600,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:601,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:613,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:616,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:617,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:618,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:630,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:633,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:634,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:635,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:647,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:650,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:651,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:653,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:655,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lmp.c:657,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:658,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lmp.c:659,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:660,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:665,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:668,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:669,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:671,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:673,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lmp.c:675,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:676,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lmp.c:677,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:678,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:683,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:686,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:687,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:689,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:691,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:693,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:694,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:695,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:696,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:708,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:711,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:712,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:714,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:715,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lmp.c:717,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:718,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lmp.c:719,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:720,1
    - Dst: lmp_print_data_link_subobjs
      Src: /src/tcpdump/print-lmp.c:722,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:728,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:731,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:732,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:734,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:735,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lmp.c:737,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:738,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lmp.c:739,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:740,1
    - Dst: lmp_print_data_link_subobjs
      Src: /src/tcpdump/print-lmp.c:742,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:748,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:751,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:752,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:754,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:755,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:757,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:758,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:759,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:760,1
    - Dst: lmp_print_data_link_subobjs
      Src: /src/tcpdump/print-lmp.c:762,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:775,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:778,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:779,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:781,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:782,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:783,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:784,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:785,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:786,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lmp.c:787,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:787,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:788,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:789,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:790,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:791,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:792,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-lmp.c:793,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:794,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:795,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:807,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:810,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:812,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:813,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:825,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:828,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:829,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:843,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lmp.c:844,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:845,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:847,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:848,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:850,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:852,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:853,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:855,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:857,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lmp.c:858,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:860,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:861,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:870,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lmp.c:871,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:872,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:874,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:875,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:877,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:879,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:880,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:882,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:884,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lmp.c:885,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:887,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:888,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:897,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:898,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:899,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:901,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:902,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:904,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:906,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:907,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:909,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:911,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lmp.c:912,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:914,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:915,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:930,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lmp.c:931,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:932,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:940,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lmp.c:941,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:942,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:950,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:951,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:952,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:966,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:969,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:970,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:972,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:977,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:980,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:981,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:983,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:994,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:997,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:998,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:1000,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1002,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:1003,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1009,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:1013,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1015,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lmp.c:1016,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1022,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lmp.c:1023,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:1025,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:1026,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1030,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lmp.c:1031,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:1033,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:1034,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1038,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:1039,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:1041,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1043,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:1044,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:1046,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1048,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:1049,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1051,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:1052,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1054,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:1055,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1057,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lmp.c:1058,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1060,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lmp.c:1061,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:1062,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1068,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1072,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:1073,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lmp.c:1076,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1078,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:1079,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:1082,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1088,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1092,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lmp.c:1093,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lmp.c:1096,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-lmp.c:1107,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-lmp.c:1112,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lmp.c:1116,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-lmp.c:1117,1
    CyclomaticComplexity: 134
    EdgeCount: 134
    ICount: 409
    argCount: 3
    argNames:
    - ndo
    - pptr
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 1123
    functionName: lmp_print
    functionSourceFile: /src/tcpdump/print-lmp.c
    functionUses: 1
    functionsReached:
    - GET_IPADDR_STRING
    - bittok2str
    - print_unknown_data
    - lmp_print_data_link_subobjs
    - nd_print_invalid
    - GET_U_1
    - LMP_EXTRACT_VERSION
    - GET_BE_U_4
    - GET_IP6ADDR_STRING
    - GET_BE_F_4
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void lmp_print(netdissect_options *ndo,\n          const u_char *pptr,
      u_int length)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:241,1
    - Dst: tok2str
      Src: /src/tcpdump/print-eigrp.c:242,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:242,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:246,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:247,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:248,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:254,1
    - Dst: tok2str
      Src: /src/tcpdump/print-eigrp.c:255,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:255,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:263,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:265,1
    - Dst: tok2str
      Src: /src/tcpdump/print-eigrp.c:266,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:266,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:267,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:268,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-eigrp.c:269,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:271,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:272,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:273,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:274,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:275,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:282,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:286,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:287,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:289,1
    - Dst: tok2str
      Src: /src/tcpdump/print-eigrp.c:290,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-eigrp.c:304,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:311,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:316,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:317,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:318,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:319,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:320,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:321,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:322,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:328,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:333,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:334,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:335,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:336,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:337,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:343,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:348,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:350,1
    - Dst: memset
      Src: /src/tcpdump/print-eigrp.c:354,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-eigrp.c:355,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:357,1
    - Dst: ipaddr_string
      Src: /src/tcpdump/print-eigrp.c:358,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:360,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:361,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:363,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-eigrp.c:364,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:366,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:367,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:368,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-eigrp.c:369,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:370,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:371,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:372,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:378,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:383,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:385,1
    - Dst: memset
      Src: /src/tcpdump/print-eigrp.c:389,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-eigrp.c:390,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:392,1
    - Dst: ipaddr_string
      Src: /src/tcpdump/print-eigrp.c:393,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:395,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:396,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:398,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-eigrp.c:399,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:401,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-eigrp.c:402,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:403,1
    - Dst: tok2str
      Src: /src/tcpdump/print-eigrp.c:404,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:404,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:405,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:406,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:407,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:409,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:410,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:411,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-eigrp.c:412,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:413,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:414,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:415,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:421,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:426,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:427,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:428,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:429,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:435,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:440,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:441,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:442,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:444,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:445,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:447,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:448,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:449,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:451,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:452,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:453,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-eigrp.c:454,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:455,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:456,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:457,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:463,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:468,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:469,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:470,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:472,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:473,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:475,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:476,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:477,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:479,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:480,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:481,1
    - Dst: tok2str
      Src: /src/tcpdump/print-eigrp.c:482,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:482,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:483,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:484,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eigrp.c:485,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eigrp.c:487,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:488,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eigrp.c:489,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-eigrp.c:490,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:491,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:492,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eigrp.c:493,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-eigrp.c:509,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-eigrp.c:514,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-eigrp.c:522,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-eigrp.c:524,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 153
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 525
    functionName: eigrp_print
    functionSourceFile: /src/tcpdump/print-eigrp.c
    functionUses: 1
    functionsReached:
    - GET_IPADDR_STRING
    - bittok2str
    - ipaddr_string
    - print_unknown_data
    - nd_print_invalid
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_3
    - ND_TCHECK_LEN
    - tok2str
    - memset
    - GET_CPY_BYTES
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void eigrp_print(netdissect_options *ndo, const u_char *pptr, u_int
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - id
    - list
    argTypes:
    - int
    - struct smbfns*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: smbfind
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct smbfns
    signature: 'struct smbfns *

      smbfind(int id, const struct smbfns *list)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - id
    - list
    argTypes:
    - int
    - struct smbfnsint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: smbfindint
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct smbfnsint
    signature: 'struct smbfnsint *

      smbfindint(int id, const struct smbfnsint *list)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:100,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:102,1
    - Dst: smb_data_print
      Src: /src/tcpdump/print-smb.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ndo
    - param
    - data
    - pcnt
    - dcnt
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: trans2_findfirst
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 0
    functionsReached:
    - smb_data_print
    - ND_PRINT
    - smb_fdata
    linkageType: ''
    returnType: void
    signature: "void trans2_findfirst(netdissect_options *ndo,\n                 const
      u_char *param, const u_char *data, u_int pcnt, u_int dcnt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:115,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:117,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:133,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:136,1
    - Dst: smb_data_print
      Src: /src/tcpdump/print-smb.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - ndo
    - param
    - data
    - pcnt
    - dcnt
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 139
    functionName: trans2_qfsinfo
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 0
    functionsReached:
    - smb_data_print
    - ND_PRINT
    - smb_fdata
    - GET_LE_U_2
    linkageType: ''
    returnType: void
    signature: "void trans2_qfsinfo(netdissect_options *ndo,\n               const
      u_char *param, const u_char *data, u_int pcnt, u_int dcnt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-smb.c:177,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-smb.c:179,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:180,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:181,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:182,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:183,1
    - Dst: smbfindint
      Src: /src/tcpdump/print-smb.c:184,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:184,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:186,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:187,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:188,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-smb.c:191,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:192,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:193,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:194,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:195,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:198,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:201,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:202,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:207,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:214,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:221,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:222,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:226,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:227,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-smb.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 5
    argNames:
    - ndo
    - words
    - dat
    - buf
    - maxbuf
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 232
    functionName: print_trans2
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - ND_TCHECK_2
    - smbfindint
    - GET_U_1
    - nd_print_trunc
    - ND_TCHECK_1
    - ND_PRINT
    - smb_fdata
    linkageType: ''
    returnType: void
    signature: "void print_trans2(netdissect_options *ndo,\n             const u_char
      *words, const u_char *dat, const u_char *buf, const u_char *maxbuf)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:241,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:243,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:247,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:253,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:259,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:265,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:271,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:277,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:283,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:289,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:295,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:301,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:306,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 5
    argNames:
    - ndo
    - param
    - paramlen
    - data
    - datalen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 309
    functionName: print_browse
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - smb_fdata
    linkageType: ''
    returnType: void
    signature: "void print_browse(netdissect_options *ndo,\n             const u_char
      *param, u_int paramlen, const u_char *data, u_int datalen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:317,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - ndo
    - param
    - paramlen
    - data
    - datalen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: print_ipc
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 0
    functionsReached:
    - smb_fdata
    linkageType: ''
    returnType: void
    signature: "void print_ipc(netdissect_options *ndo,\n          const u_char *param,
      u_int paramlen, const u_char *data, u_int datalen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-smb.c:335,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:336,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:337,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:338,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:339,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-smb.c:345,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:346,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:347,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:348,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:349,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:356,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:357,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:357,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:360,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:361,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:363,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-smb.c:366,1
    - Dst: strlen
      Src: /src/tcpdump/print-smb.c:366,1
    - Dst: strcmp
      Src: /src/tcpdump/print-smb.c:367,1
    - Dst: print_browse
      Src: /src/tcpdump/print-smb.c:368,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-smb.c:374,1
    - Dst: strlen
      Src: /src/tcpdump/print-smb.c:374,1
    - Dst: strcmp
      Src: /src/tcpdump/print-smb.c:375,1
    - Dst: print_ipc
      Src: /src/tcpdump/print-smb.c:376,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:382,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:382,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:384,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:384,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-smb.c:388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 5
    argNames:
    - ndo
    - words
    - data1
    - buf
    - maxbuf
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 389
    functionName: print_trans
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - ND_TCHECK_2
    - ND_MIN
    - GET_U_1
    - print_browse
    - nd_print_trunc
    - strcmp
    - ND_PRINT
    - strlen
    - ND_TCHECK_LEN
    - print_ipc
    - smb_fdata
    linkageType: ''
    returnType: void
    signature: "void print_trans(netdissect_options *ndo,\n            const u_char
      *words, const u_char *data1, const u_char *buf, const u_char *maxbuf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:399,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:412,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:412,1
    - Dst: smb_data_print
      Src: /src/tcpdump/print-smb.c:415,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:416,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-smb.c:416,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:418,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:419,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:422,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:422,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:422,1
    - Dst: smb_data_print
      Src: /src/tcpdump/print-smb.c:425,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:426,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:426,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-smb.c:426,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - ndo
    - words
    - data
    - buf
    - maxbuf
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 428
    functionName: print_negprot
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 0
    functionsReached:
    - ND_BYTES_BETWEEN
    - GET_LE_U_2
    - ND_MIN
    - GET_U_1
    - smb_data_print
    - ND_PRINT
    - smb_fdata
    linkageType: ''
    returnType: void
    signature: "void print_negprot(netdissect_options *ndo,\n              const u_char
      *words, const u_char *data, const u_char *buf _U_, const u_char *maxbuf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:437,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:453,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:453,1
    - Dst: smb_data_print
      Src: /src/tcpdump/print-smb.c:456,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:457,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-smb.c:457,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:459,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:460,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:463,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:463,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:463,1
    - Dst: smb_data_print
      Src: /src/tcpdump/print-smb.c:466,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:467,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:467,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-smb.c:467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - ndo
    - words
    - data
    - buf
    - maxbuf
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 469
    functionName: print_sesssetup
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 0
    functionsReached:
    - ND_BYTES_BETWEEN
    - GET_LE_U_2
    - ND_MIN
    - GET_U_1
    - smb_data_print
    - ND_PRINT
    - smb_fdata
    linkageType: ''
    returnType: void
    signature: "void print_sesssetup(netdissect_options *ndo,\n                const
      u_char *words, const u_char *data, const u_char *buf _U_, const u_char *maxbuf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:479,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:482,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:490,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:492,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:494,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:495,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:498,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:498,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:498,1
    - Dst: smb_data_print
      Src: /src/tcpdump/print-smb.c:501,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:502,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:502,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-smb.c:502,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - ndo
    - words
    - data
    - buf
    - maxbuf
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 504
    functionName: print_lockingandx
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - ND_BYTES_BETWEEN
    - ND_MIN
    - GET_U_1
    - smb_data_print
    - ND_PRINT
    - smb_fdata
    linkageType: ''
    returnType: void
    signature: "void print_lockingandx(netdissect_options *ndo,\n                  const
      u_char *words, const u_char *data, const u_char *buf _U_, const u_char *maxbuf)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:794,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:797,1
    - Dst: smbfind
      Src: /src/tcpdump/print-smb.c:799,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:802,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:804,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:809,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:810,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:815,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-smb.c:818,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:820,1
    - Dst: nt_errstr
      Src: /src/tcpdump/print-smb.c:820,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:822,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:823,1
    - Dst: smb_errstr
      Src: /src/tcpdump/print-smb.c:823,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:823,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:824,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:836,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:838,1
    - Dst: smb_reset
      Src: /src/tcpdump/print-smb.c:848,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:854,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:860,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:861,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:866,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:867,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:870,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:873,1
    - Dst: smb_data_print
      Src: /src/tcpdump/print-smb.c:874,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:875,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-smb.c:875,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:884,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:887,1
    - Dst: smbfind
      Src: /src/tcpdump/print-smb.c:889,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:891,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:894,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 3
    argNames:
    - ndo
    - buf
    - maxbuf
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 899
    functionName: print_smb
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 0
    functionsReached:
    - smbfind
    - GET_LE_U_2
    - ND_BYTES_BETWEEN
    - ND_MIN
    - GET_U_1
    - GET_LE_U_4
    - nt_errstr
    - smb_reset
    - smb_data_print
    - smb_errstr
    - ND_PRINT
    - smb_fdata
    linkageType: ''
    returnType: void
    signature: "void print_smb(netdissect_options *ndo,\n          const u_char *buf,
      const u_char *maxbuf)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-smb.c:919,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:923,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-smb.c:924,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:931,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:934,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:938,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:942,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:955,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:957,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:960,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:963,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:966,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:969,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:972,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:979,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:983,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:987,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:990,1
    - Dst: memcmp
      Src: /src/tcpdump/print-smb.c:994,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:997,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:999,1
    - Dst: print_smb
      Src: /src/tcpdump/print-smb.c:1002,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1004,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1008,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1014,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1023,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:1028,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1031,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1034,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1037,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1040,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1043,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1051,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1055,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-smb.c:1061,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 130
    argCount: 3
    argNames:
    - ndo
    - data
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 1062
    functionName: nbt_tcp_print
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - nd_print_trunc
    - memcmp
    - print_smb
    - GET_BE_U_2
    - ND_PRINT
    - ND_BYTES_AVAILABLE_AFTER
    - smb_fdata
    linkageType: ''
    returnType: void
    signature: "void nbt_tcp_print(netdissect_options *ndo,\n              const u_char
      *data, u_int length)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-smb.c:1089,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:1090,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:1091,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:1092,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:1092,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:1093,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-smb.c:1094,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-smb.c:1095,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-smb.c:1096,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-smb.c:1097,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1104,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1106,1
    - Dst: tok2str
      Src: /src/tcpdump/print-smb.c:1106,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1108,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1110,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1116,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1125,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1130,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1132,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1141,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1146,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-smb.c:1149,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1150,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-smb.c:1153,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1154,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1157,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:1164,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1165,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1169,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-smb.c:1172,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:1175,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1176,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:1177,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1178,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1179,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1180,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1181,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:1183,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1184,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:1185,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1186,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:1187,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1188,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:1189,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1190,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1191,1
    - Dst: smb_data_print
      Src: /src/tcpdump/print-smb.c:1198,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-smb.c:1199,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-smb.c:1199,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1207,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-smb.c:1212,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 121
    argCount: 3
    argNames:
    - ndo
    - data
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1213
    functionName: nbt_udp137_print
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 1
    functionsReached:
    - ND_BYTES_BETWEEN
    - ND_MIN
    - GET_U_1
    - nd_print_trunc
    - GET_BE_U_2
    - ND_TCHECK_1
    - smb_data_print
    - ND_PRINT
    - tok2str
    - smb_fdata
    linkageType: ''
    returnType: void
    signature: "void nbt_udp137_print(netdissect_options *ndo,\n                 const
      u_char *data, u_int length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-smb.c:1231,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-smb.c:1235,1
    - Dst: memcmp
      Src: /src/tcpdump/print-smb.c:1242,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1245,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1247,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1250,1
    - Dst: print_smb
      Src: /src/tcpdump/print-smb.c:1251,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1253,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-smb.c:1256,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - ndo
    - data
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1218
    functionDepth: 2
    functionLinenumber: 1218
    functionLinenumberEnd: 1257
    functionName: smb_tcp_print
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 1
    functionsReached:
    - nd_print_trunc
    - memcmp
    - print_smb
    - ND_PRINT
    - GET_BE_U_3
    - ND_BYTES_AVAILABLE_AFTER
    linkageType: ''
    returnType: void
    signature: "void smb_tcp_print(netdissect_options *ndo,\n              const u_char
      * data, u_int length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1276,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1280,1
    - Dst: memcmp
      Src: /src/tcpdump/print-smb.c:1289,1
    - Dst: print_smb
      Src: /src/tcpdump/print-smb.c:1290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - ndo
    - data
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1262
    functionDepth: 2
    functionLinenumber: 1262
    functionLinenumberEnd: 1294
    functionName: nbt_udp138_print
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 1
    functionsReached:
    - memcmp
    - smb_fdata
    - ND_PRINT
    - print_smb
    linkageType: ''
    returnType: void
    signature: "void nbt_udp138_print(netdissect_options *ndo,\n                 const
      u_char *data, u_int length)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-smb.c:1368,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-smb.c:1369,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1379,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1380,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1382,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1383,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1390,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1392,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1395,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1397,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1399,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1401,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1403,1
    - Dst: memcmp
      Src: /src/tcpdump/print-smb.c:1427,1
    - Dst: print_smb
      Src: /src/tcpdump/print-smb.c:1428,1
    - Dst: memcmp
      Src: /src/tcpdump/print-smb.c:1434,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-smb.c:1435,1
    - Dst: print_smb
      Src: /src/tcpdump/print-smb.c:1436,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 68
    argCount: 4
    argNames:
    - ndo
    - control
    - data
    - length
    argTypes:
    - netdissect_options*
    - u_short
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1355
    functionDepth: 2
    functionLinenumber: 1355
    functionLinenumberEnd: 1444
    functionName: netbeui_print
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - GET_U_1
    - memcmp
    - print_smb
    - ND_PRINT
    - smb_fdata
    linkageType: ''
    returnType: void
    signature: "void netbeui_print(netdissect_options *ndo,\n              u_short
      control, const u_char *data, u_int length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tcpdump/print-smb.c:1470,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1471,1
    - Dst: print_smb
      Src: /src/tcpdump/print-smb.c:1472,1
    - Dst: smb_fdata
      Src: /src/tcpdump/print-smb.c:1477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - ndo
    - data
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1450
    functionDepth: 2
    functionLinenumber: 1450
    functionLinenumberEnd: 1478
    functionName: ipx_netbios_print
    functionSourceFile: /src/tcpdump/print-smb.c
    functionUses: 0
    functionsReached:
    - smb_fdata
    - memcmp
    - print_smb
    linkageType: ''
    returnType: void
    signature: "void ipx_netbios_print(netdissect_options *ndo,\n                  const
      u_char *data, u_int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: netdissect_timevalclear
    functionSourceFile: /src/tcpdump/timeval-operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: netdissect_timevalclear(tvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: netdissect_timevalisset
    functionSourceFile: /src/tcpdump/timeval-operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: netdissect_timevalisset(tvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tvp
    - ','
    - uvp
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: netdissect_timevalcmp
    functionSourceFile: /src/tcpdump/timeval-operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: netdissect_timevalcmp(tvp, uvp, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tvp
    - ','
    - uvp
    - ','
    - vvp
    - ','
    - nano_prec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: netdissect_timevaladd
    functionSourceFile: /src/tcpdump/timeval-operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: netdissect_timevaladd(tvp, uvp, vvp, nano_prec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tvp
    - ','
    - uvp
    - ','
    - vvp
    - ','
    - nano_prec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: netdissect_timevalsub
    functionSourceFile: /src/tcpdump/timeval-operations.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: netdissect_timevalsub(tvp, uvp, vvp, nano_prec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 546
    functionName: ISIS_MASK_LSP_OL_BIT
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_LSP_OL_BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 547
    functionName: ISIS_MASK_LSP_ISTYPE_BITS
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_LSP_ISTYPE_BITS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 548
    functionName: ISIS_MASK_LSP_PARTITION_BIT
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_LSP_PARTITION_BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 549
    functionName: ISIS_MASK_LSP_ATT_BITS
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_LSP_ATT_BITS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 550
    functionName: ISIS_MASK_LSP_ATT_ERROR_BIT
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_LSP_ATT_ERROR_BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 551
    functionName: ISIS_MASK_LSP_ATT_EXPENSE_BIT
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_LSP_ATT_EXPENSE_BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 552
    functionName: ISIS_MASK_LSP_ATT_DELAY_BIT
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_LSP_ATT_DELAY_BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 553
    functionName: ISIS_MASK_LSP_ATT_DEFAULT_BIT
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_LSP_ATT_DEFAULT_BIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 555
    functionName: ISIS_MASK_MTID
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_MTID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 556
    functionName: ISIS_MASK_MTFLAGS
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_MTFLAGS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 564
    functionName: ISIS_MASK_TLV_EXTD_IP_UPDOWN
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_TLV_EXTD_IP_UPDOWN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 565
    functionName: ISIS_MASK_TLV_EXTD_IP_SUBTLV
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_TLV_EXTD_IP_SUBTLV(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 567
    functionName: ISIS_MASK_TLV_EXTD_IP6_IE
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_TLV_EXTD_IP6_IE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 568
    functionName: ISIS_MASK_TLV_EXTD_IP6_SUBTLV
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_TLV_EXTD_IP6_SUBTLV(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 570
    functionName: ISIS_LSP_TLV_METRIC_SUPPORTED
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_LSP_TLV_METRIC_SUPPORTED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: ISIS_LSP_TLV_METRIC_IE
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_LSP_TLV_METRIC_IE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 572
    functionName: ISIS_LSP_TLV_METRIC_UPDOWN
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_LSP_TLV_METRIC_UPDOWN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 573
    functionName: ISIS_LSP_TLV_METRIC_VALUE
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_LSP_TLV_METRIC_VALUE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 575
    functionName: ISIS_MASK_TLV_SHARED_RISK_GROUP
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISIS_MASK_TLV_SHARED_RISK_GROUP(x)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:739,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:740,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:740,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:741,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:743,1
    - Dst: clnp_print
      Src: /src/tcpdump/print-isoclns.c:746,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:747,1
    - Dst: esis_print
      Src: /src/tcpdump/print-isoclns.c:751,1
    - Dst: isis_print
      Src: /src/tcpdump/print-isoclns.c:755,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:756,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:760,1
    - Dst: q933_print
      Src: /src/tcpdump/print-isoclns.c:764,1
    - Dst: ip_print
      Src: /src/tcpdump/print-isoclns.c:768,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-isoclns.c:772,1
    - Dst: ppp_print
      Src: /src/tcpdump/print-isoclns.c:776,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:781,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:781,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:782,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:784,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 787
    functionName: isoclns_print
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 6
    functionsReached:
    - print_unknown_data
    - isis_print
    - esis_print
    - GET_U_1
    - q933_print
    - ip_print
    - clnp_print
    - ND_PRINT
    - ip6_print
    - ppp_print
    - tok2str
    linkageType: ''
    returnType: void
    signature: void isoclns_print(netdissect_options *ndo, const u_char *p, u_int
      length)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isoclns.c:837,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:839,1
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-isoclns.c:844,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:850,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:851,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:852,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:857,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:862,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:864,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:864,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:872,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:873,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:879,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:882,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:886,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:889,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:895,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:898,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:902,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:905,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:911,1
    - Dst: GET_ISONSAP_STRING
      Src: /src/tcpdump/print-isoclns.c:913,1
    - Dst: GET_ISONSAP_STRING
      Src: /src/tcpdump/print-isoclns.c:914,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:915,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:919,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:921,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:922,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:923,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:924,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:925,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:926,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:927,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:928,1
    - Dst: osi_print_cksum
      Src: /src/tcpdump/print-isoclns.c:930,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:930,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:931,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:933,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-isoclns.c:934,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:936,1
    - Dst: GET_ISONSAP_STRING
      Src: /src/tcpdump/print-isoclns.c:938,1
    - Dst: GET_ISONSAP_STRING
      Src: /src/tcpdump/print-isoclns.c:940,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:944,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isoclns.c:948,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:949,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:950,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:951,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:952,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:963,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:966,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:967,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:971,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:974,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:979,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:980,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:998,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1001,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:1002,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1002,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:1003,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1004,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1006,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1011,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1017,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1019,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1024,1
    - Dst: GET_ISONSAP_STRING
      Src: /src/tcpdump/print-isoclns.c:1026,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1034,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1037,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1037,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1042,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1045,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:1046,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1046,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1048,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1049,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-isoclns.c:1050,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1052,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1057,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1060,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:1061,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1061,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1062,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1067,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1070,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1073,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:1074,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:1076,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1081,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:1090,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:1094,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1102,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1103,1
    - Dst: clnp_print
      Src: /src/tcpdump/print-isoclns.c:1105,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-isoclns.c:1127,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1128,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:1129,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-isoclns.c:1130,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-isoclns.c:1137,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 197
    argCount: 3
    argNames:
    - ndo
    - pptr
    - length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 1140
    functionName: clnp_print
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 2
    functionsReached:
    - bittok2str
    - print_unknown_data
    - ND_BYTES_BETWEEN
    - GET_U_1
    - nd_print_protocol_caps
    - nd_print_trunc
    - GET_BE_U_2
    - osi_print_cksum
    - clnp_print
    - ND_PRINT
    - GET_ISONSAP_STRING
    - ND_TCHECK_LEN
    - tok2str
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int clnp_print(netdissect_options *ndo,\n           const uint8_t
      *pptr, u_int length)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1174,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1177,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isoclns.c:1182,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1183,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1190,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1191,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1192,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1196,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1198,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1203,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1208,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1210,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1210,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1216,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1219,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:1221,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1225,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:1228,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1231,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1232,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:1232,1
    - Dst: osi_print_cksum
      Src: /src/tcpdump/print-isoclns.c:1234,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:1234,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1237,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:1238,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:1241,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-isoclns.c:1251,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1253,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1256,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:1259,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1261,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1267,1
    - Dst: GET_ISONSAP_STRING
      Src: /src/tcpdump/print-isoclns.c:1267,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-isoclns.c:1269,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1271,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1274,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:1277,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1279,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-isoclns.c:1285,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1287,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1290,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:1292,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1294,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1302,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-isoclns.c:1304,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1306,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-isoclns.c:1308,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1310,1
    - Dst: GET_ISONSAP_STRING
      Src: /src/tcpdump/print-isoclns.c:1312,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-isoclns.c:1317,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1319,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1322,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1326,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-isoclns.c:1329,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1331,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1334,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:1338,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1340,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1343,1
    - Dst: GET_ISONSAP_STRING
      Src: /src/tcpdump/print-isoclns.c:1345,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-isoclns.c:1354,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1356,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1359,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:1362,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1364,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1367,1
    - Dst: GET_ISONSAP_STRING
      Src: /src/tcpdump/print-isoclns.c:1367,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-isoclns.c:1379,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:1380,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-isoclns.c:1380,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1391,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1394,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1395,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1399,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1405,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:1406,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-isoclns.c:1414,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1415,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:1415,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1417,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1422,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:1423,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1425,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1426,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1428,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:1446,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:1450,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-isoclns.c:1456,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 210
    argCount: 3
    argNames:
    - ndo
    - pptr
    - length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1457
    functionName: esis_print
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 1
    functionsReached:
    - print_unknown_data
    - ND_TCHECK_2
    - GET_U_1
    - nd_print_trunc
    - GET_LINKADDR_STRING
    - ND_TTEST_LEN
    - GET_BE_U_2
    - osi_print_cksum
    - ND_TCHECK_1
    - GET_MAC48_STRING
    - ND_PRINT
    - GET_ISONSAP_STRING
    - ND_BYTES_AVAILABLE_AFTER
    - ND_TCHECK_LEN
    - tok2str
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void esis_print(netdissect_options *ndo,\n           const uint8_t
      *pptr, u_int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isoclns.c:1465,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1466,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1466,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-isoclns.c:1468,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1470,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:1470,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1472,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1475,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-isoclns.c:1479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ndo
    - mcid
    argTypes:
    - netdissect_options*
    - struct isis_spb_mcid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1459
    functionDepth: 1
    functionLinenumber: 1459
    functionLinenumberEnd: 1480
    functionName: isis_print_mcid
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - nd_print_trunc
    - GET_BE_U_2
    - nd_printjnp
    - ND_PRINT
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void isis_print_mcid(netdissect_options *ndo,\n                const
      struct isis_spb_mcid *mcid)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1491,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1492,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1495,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:1496,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:1508,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1518,1
    - Dst: isis_print_mcid
      Src: /src/tcpdump/print-isoclns.c:1519,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1524,1
    - Dst: isis_print_mcid
      Src: /src/tcpdump/print-isoclns.c:1525,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1541,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1542,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1543,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1544,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1545,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1549,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1552,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1552,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1554,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1569,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1570,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1578,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:1579,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:1580,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:1581,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-isoclns.c:1600,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1604,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1608,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 81
    argCount: 3
    argNames:
    - ndo
    - tptr
    - len
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1482
    functionDepth: 2
    functionLinenumber: 1482
    functionLinenumberEnd: 1610
    functionName: isis_print_mt_port_cap_subtlv
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - nd_print_trunc
    - isis_print_mcid
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int isis_print_mt_port_cap_subtlv(netdissect_options *ndo,\n                              const
      uint8_t *tptr, u_int len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1619,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1620,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1625,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:1626,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:1634,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1641,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1641,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1643,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1643,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1645,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1645,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1647,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:1647,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1649,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:1650,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1651,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:1652,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1653,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1654,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1656,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1656,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1658,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1668,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1669,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1670,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1671,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1672,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1676,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1676,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1680,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-isoclns.c:1681,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-isoclns.c:1682,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1696,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1696,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1698,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:1698,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1701,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:1701,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:1702,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1709,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1710,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1711,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1712,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1713,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-isoclns.c:1731,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1735,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1739,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 86
    argCount: 3
    argNames:
    - ndo
    - tptr
    - len
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1612
    functionDepth: 1
    functionLinenumber: 1612
    functionLinenumberEnd: 1741
    functionName: isis_print_mt_capability_subtlv
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - nd_print_trunc
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_3
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int isis_print_mt_capability_subtlv(netdissect_options *ndo,\n                                const
      uint8_t *tptr, u_int len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-isoclns.c:1756,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1756,1
    - Dst: strlen
      Src: /src/tcpdump/print-isoclns.c:1758,1
    - Dst: snprintf
      Src: /src/tcpdump/print-isoclns.c:1763,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1763,1
    - Dst: strlen
      Src: /src/tcpdump/print-isoclns.c:1765,1
    - Dst: snprintf
      Src: /src/tcpdump/print-isoclns.c:1768,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1768,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ndo
    - cp
    - id_len
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1744
    functionDepth: 1
    functionLinenumber: 1744
    functionLinenumberEnd: 1770
    functionName: isis_print_id
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - snprintf
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      isis_print_id(netdissect_options *ndo, const uint8_t *cp, u_int id_len)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1777,1
    - Dst: ISIS_LSP_TLV_METRIC_VALUE
      Src: /src/tcpdump/print-isoclns.c:1778,1
    - Dst: ISIS_LSP_TLV_METRIC_IE
      Src: /src/tcpdump/print-isoclns.c:1779,1
    - Dst: ISIS_LSP_TLV_METRIC_SUPPORTED
      Src: /src/tcpdump/print-isoclns.c:1780,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1781,1
    - Dst: ISIS_LSP_TLV_METRIC_VALUE
      Src: /src/tcpdump/print-isoclns.c:1782,1
    - Dst: ISIS_LSP_TLV_METRIC_IE
      Src: /src/tcpdump/print-isoclns.c:1783,1
    - Dst: ISIS_LSP_TLV_METRIC_SUPPORTED
      Src: /src/tcpdump/print-isoclns.c:1784,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1785,1
    - Dst: ISIS_LSP_TLV_METRIC_VALUE
      Src: /src/tcpdump/print-isoclns.c:1786,1
    - Dst: ISIS_LSP_TLV_METRIC_IE
      Src: /src/tcpdump/print-isoclns.c:1787,1
    - Dst: ISIS_LSP_TLV_METRIC_SUPPORTED
      Src: /src/tcpdump/print-isoclns.c:1788,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1789,1
    - Dst: ISIS_LSP_TLV_METRIC_VALUE
      Src: /src/tcpdump/print-isoclns.c:1790,1
    - Dst: ISIS_LSP_TLV_METRIC_IE
      Src: /src/tcpdump/print-isoclns.c:1791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ndo
    - isis_metric_block
    argTypes:
    - netdissect_options*
    - struct isis_metric_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1773
    functionDepth: 1
    functionLinenumber: 1773
    functionLinenumberEnd: 1794
    functionName: isis_print_metric_block
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached:
    - ISIS_LSP_TLV_METRIC_IE
    - ND_PRINT
    - ISIS_LSP_TLV_METRIC_SUPPORTED
    - ISIS_LSP_TLV_METRIC_VALUE
    linkageType: ''
    returnType: int
    signature: "int isis_print_metric_block(netdissect_options *ndo,\n                        const
      struct isis_metric_block *isis_metric_block)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1807,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isoclns.c:1813,1
    - Dst: mask2plen
      Src: /src/tcpdump/print-isoclns.c:1815,1
    - Dst: GET_IPV4_TO_HOST_ORDER
      Src: /src/tcpdump/print-isoclns.c:1815,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1818,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-isoclns.c:1820,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-isoclns.c:1821,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1823,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-isoclns.c:1825,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1828,1
    - Dst: ISIS_LSP_TLV_METRIC_UPDOWN
      Src: /src/tcpdump/print-isoclns.c:1829,1
    - Dst: ISIS_LSP_TLV_METRIC_VALUE
      Src: /src/tcpdump/print-isoclns.c:1830,1
    - Dst: ISIS_LSP_TLV_METRIC_IE
      Src: /src/tcpdump/print-isoclns.c:1831,1
    - Dst: ISIS_LSP_TLV_METRIC_SUPPORTED
      Src: /src/tcpdump/print-isoclns.c:1833,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1834,1
    - Dst: ISIS_LSP_TLV_METRIC_VALUE
      Src: /src/tcpdump/print-isoclns.c:1836,1
    - Dst: ISIS_LSP_TLV_METRIC_IE
      Src: /src/tcpdump/print-isoclns.c:1837,1
    - Dst: ISIS_LSP_TLV_METRIC_SUPPORTED
      Src: /src/tcpdump/print-isoclns.c:1839,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1840,1
    - Dst: ISIS_LSP_TLV_METRIC_VALUE
      Src: /src/tcpdump/print-isoclns.c:1842,1
    - Dst: ISIS_LSP_TLV_METRIC_IE
      Src: /src/tcpdump/print-isoclns.c:1843,1
    - Dst: ISIS_LSP_TLV_METRIC_SUPPORTED
      Src: /src/tcpdump/print-isoclns.c:1845,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1846,1
    - Dst: ISIS_LSP_TLV_METRIC_VALUE
      Src: /src/tcpdump/print-isoclns.c:1848,1
    - Dst: ISIS_LSP_TLV_METRIC_IE
      Src: /src/tcpdump/print-isoclns.c:1849,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - ndo
    - cp
    - indent
    - length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1796
    functionDepth: 1
    functionLinenumber: 1796
    functionLinenumberEnd: 1857
    functionName: isis_print_tlv_ip_reach
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached:
    - ISIS_LSP_TLV_METRIC_IE
    - GET_IPADDR_STRING
    - ISIS_LSP_TLV_METRIC_VALUE
    - ISIS_LSP_TLV_METRIC_UPDOWN
    - mask2plen
    - ND_PRINT
    - GET_IPV4_TO_HOST_ORDER
    - ISIS_LSP_TLV_METRIC_SUPPORTED
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int isis_print_tlv_ip_reach(netdissect_options *ndo,\n                        const
      uint8_t *cp, const char *indent, u_int length)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1870,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:1871,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:1874,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1880,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1881,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1882,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1889,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1890,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1891,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1901,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1902,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-isoclns.c:1907,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:1913,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1918,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-isoclns.c:1919,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:1920,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:1926,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-isoclns.c:1933,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 5
    argNames:
    - ndo
    - tptr
    - subt
    - subl
    - indent
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    - u_int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1864
    functionDepth: 1
    functionLinenumber: 1864
    functionLinenumberEnd: 1935
    functionName: isis_print_ip_reach_subtlv
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - print_unknown_data
    - GET_U_1
    - nd_print_trunc
    - ND_PRINT
    - GET_BE_U_3
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int isis_print_ip_reach_subtlv(netdissect_options *ndo,\n                           const
      uint8_t *tptr, u_int subt, u_int subl,\n                           const char
      *indent)"
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:1952,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1956,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:1956,1
    - Dst: ND_TCHECK_3
      Src: /src/tcpdump/print-isoclns.c:1962,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1965,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-isoclns.c:1965,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-isoclns.c:1971,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1974,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1978,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1980,1
    - Dst: snprintf
      Src: /src/tcpdump/print-isoclns.c:1982,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-isoclns.c:1985,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1987,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:1992,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1996,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:1997,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2002,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:2003,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2007,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2013,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:2018,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2025,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:2025,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2027,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:2027,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2033,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-isoclns.c:2033,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2038,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-isoclns.c:2038,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2043,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-isoclns.c:2046,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2058,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:2060,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2060,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2061,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2070,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-isoclns.c:2073,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2082,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-isoclns.c:2082,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2086,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-isoclns.c:2087,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2089,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2090,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2095,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-isoclns.c:2096,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2096,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2097,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2102,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-isoclns.c:2102,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2107,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2107,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2112,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2112,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2117,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2118,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:2120,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2121,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:2122,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2122,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2127,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2129,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-isoclns.c:2132,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2145,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-isoclns.c:2147,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2148,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2149,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2154,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-isoclns.c:2155,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2156,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:2157,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2157,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:2163,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2171,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-isoclns.c:2172,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2174,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2175,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2176,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2181,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2181,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:2187,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2188,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2189,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2195,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-isoclns.c:2196,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2198,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:2199,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-isoclns.c:2201,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:2205,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 219
    argCount: 5
    argNames:
    - ndo
    - tptr
    - indent
    - tlv_type
    - tlv_remaining
    argTypes:
    - netdissect_options*
    - uint8_t*
    - char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 1942
    functionDepth: 2
    functionLinenumber: 1942
    functionLinenumberEnd: 2220
    functionName: isis_print_ext_is_reach
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached:
    - isis_print_id
    - ND_TCHECK_3
    - GET_IPADDR_STRING
    - bittok2str
    - print_unknown_data
    - ND_TCHECK_2
    - nd_print_invalid
    - GET_U_1
    - GET_BE_F_4
    - GET_BE_U_2
    - ND_TCHECK_1
    - ND_PRINT
    - snprintf
    - GET_BE_U_3
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int isis_print_ext_is_reach(netdissect_options *ndo,\n                        const
      uint8_t *tptr, const char *indent, u_int tlv_type,\n                        u_int
      tlv_remaining)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2234,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:2236,1
    - Dst: ISIS_MASK_MTID
      Src: /src/tcpdump/print-isoclns.c:2238,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2238,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2240,1
    - Dst: ISIS_MASK_MTID
      Src: /src/tcpdump/print-isoclns.c:2241,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2241,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-isoclns.c:2242,1
    - Dst: ISIS_MASK_MTFLAGS
      Src: /src/tcpdump/print-isoclns.c:2242,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ndo
    - tptr
    - indent
    - tlv_remaining
    argTypes:
    - netdissect_options*
    - uint8_t*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2227
    functionDepth: 1
    functionLinenumber: 2227
    functionLinenumberEnd: 2247
    functionName: isis_print_mtid
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - GET_BE_U_2
    - ISIS_MASK_MTFLAGS
    - ND_PRINT
    - ISIS_MASK_MTID
    - tok2str
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t isis_print_mtid(netdissect_options *ndo,\n                const
      uint8_t *tptr, const char *indent, u_int tlv_remaining)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:2264,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2269,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2273,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2280,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2281,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2283,1
    - Dst: memset
      Src: /src/tcpdump/print-isoclns.c:2295,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-isoclns.c:2296,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2301,1
    - Dst: ipaddr_string
      Src: /src/tcpdump/print-isoclns.c:2303,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2306,1
    - Dst: ip6addr_string
      Src: /src/tcpdump/print-isoclns.c:2308,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2311,1
    - Dst: ISIS_MASK_TLV_EXTD_IP_UPDOWN
      Src: /src/tcpdump/print-isoclns.c:2312,1
    - Dst: ISIS_MASK_TLV_EXTD_IP_SUBTLV
      Src: /src/tcpdump/print-isoclns.c:2315,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2316,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2318,1
    - Dst: ISIS_MASK_TLV_EXTD_IP6_IE
      Src: /src/tcpdump/print-isoclns.c:2319,1
    - Dst: ISIS_MASK_TLV_EXTD_IP6_SUBTLV
      Src: /src/tcpdump/print-isoclns.c:2320,1
    - Dst: ISIS_MASK_TLV_EXTD_IP_SUBTLV
      Src: /src/tcpdump/print-isoclns.c:2322,1
    - Dst: ISIS_MASK_TLV_EXTD_IP6_SUBTLV
      Src: /src/tcpdump/print-isoclns.c:2323,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2329,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2332,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2335,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2336,1
    - Dst: snprintf
      Src: /src/tcpdump/print-isoclns.c:2339,1
    - Dst: isis_print_ip_reach_subtlv
      Src: /src/tcpdump/print-isoclns.c:2340,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 4
    argNames:
    - ndo
    - tptr
    - indent
    - afi
    argTypes:
    - netdissect_options*
    - uint8_t*
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2256
    functionDepth: 2
    functionLinenumber: 2256
    functionLinenumberEnd: 2347
    functionName: isis_print_extd_ip_reach
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached:
    - ipaddr_string
    - GET_U_1
    - ip6addr_string
    - ISIS_MASK_TLV_EXTD_IP6_IE
    - isis_print_ip_reach_subtlv
    - ISIS_MASK_TLV_EXTD_IP_SUBTLV
    - ISIS_MASK_TLV_EXTD_IP_UPDOWN
    - ND_PRINT
    - snprintf
    - ISIS_MASK_TLV_EXTD_IP6_SUBTLV
    - memset
    - GET_CPY_BYTES
    - GET_BE_U_4
    linkageType: ''
    returnType: u_int
    signature: "u_int isis_print_extd_ip_reach(netdissect_options *ndo,\n                         const
      uint8_t *tptr, const char *indent, uint16_t afi)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2355,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2356,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2361,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:2362,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:2371,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2380,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-isoclns.c:2381,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2382,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-isoclns.c:2383,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2389,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2390,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2404,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-isoclns.c:2404,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2406,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:2406,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2408,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:2412,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:2421,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 3
    argNames:
    - ndo
    - tptr
    - tlen
    argTypes:
    - netdissect_options*
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2349
    functionDepth: 1
    functionLinenumber: 2349
    functionLinenumberEnd: 2430
    functionName: isis_print_router_cap_subtlv
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - print_unknown_data
    - GET_U_1
    - ND_PRINT
    - GET_BE_U_3
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void isis_print_router_cap_subtlv(netdissect_options *ndo, const uint8_t
      *tptr, uint8_t tlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - header
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2444
      start: 2435
    functionDepth: 0
    functionLinenumber: 2435
    functionLinenumberEnd: 2444
    functionName: isis_clear_checksum_lifetime
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isis_clear_checksum_lifetime(void *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - length
    - ','
    - decr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2458
    functionName: INVALID_OR_DECREMENT
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVALID_OR_DECREMENT(length,decr)
  - BBCount: 200
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isoclns.c:2495,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2506,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2512,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2514,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2518,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2520,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2525,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2527,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2531,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2533,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2538,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2542,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2548,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2579,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2583,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2587,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:2589,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2592,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2594,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:2595,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:2607,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2617,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isoclns.c:2621,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2625,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2626,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2627,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2628,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2629,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2630,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2633,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2639,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2640,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2641,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:2642,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2644,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2646,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2647,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2648,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:2652,1
    - Dst: INVALID_OR_DECREMENT
      Src: /src/tcpdump/print-isoclns.c:2656,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2662,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isoclns.c:2666,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2670,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2670,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2671,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2674,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2680,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2681,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2682,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:2683,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2685,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2687,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2688,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:2692,1
    - Dst: INVALID_OR_DECREMENT
      Src: /src/tcpdump/print-isoclns.c:2695,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2702,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isoclns.c:2706,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2710,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2711,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:2712,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2713,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2714,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2717,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2723,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2724,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:2725,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2726,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2727,1
    - Dst: osi_print_cksum
      Src: /src/tcpdump/print-isoclns.c:2729,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2730,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2733,1
    - Dst: ISIS_MASK_LSP_OL_BIT
      Src: /src/tcpdump/print-isoclns.c:2735,1
    - Dst: ISIS_MASK_LSP_ATT_BITS
      Src: /src/tcpdump/print-isoclns.c:2737,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2738,1
    - Dst: ISIS_MASK_LSP_ATT_DEFAULT_BIT
      Src: /src/tcpdump/print-isoclns.c:2738,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2739,1
    - Dst: ISIS_MASK_LSP_ATT_DELAY_BIT
      Src: /src/tcpdump/print-isoclns.c:2739,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2740,1
    - Dst: ISIS_MASK_LSP_ATT_EXPENSE_BIT
      Src: /src/tcpdump/print-isoclns.c:2740,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2741,1
    - Dst: ISIS_MASK_LSP_ATT_ERROR_BIT
      Src: /src/tcpdump/print-isoclns.c:2741,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2742,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2744,1
    - Dst: ISIS_MASK_LSP_PARTITION_BIT
      Src: /src/tcpdump/print-isoclns.c:2744,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2745,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:2745,1
    - Dst: ISIS_MASK_LSP_ISTYPE_BITS
      Src: /src/tcpdump/print-isoclns.c:2746,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:2749,1
    - Dst: INVALID_OR_DECREMENT
      Src: /src/tcpdump/print-isoclns.c:2753,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2760,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isoclns.c:2764,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2768,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2768,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2769,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2772,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2778,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2779,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2781,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2782,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2783,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2784,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:2787,1
    - Dst: INVALID_OR_DECREMENT
      Src: /src/tcpdump/print-isoclns.c:2791,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2798,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isoclns.c:2802,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2806,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2806,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2807,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2810,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2816,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2817,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:2821,1
    - Dst: INVALID_OR_DECREMENT
      Src: /src/tcpdump/print-isoclns.c:2825,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2831,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:2834,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-isoclns.c:2843,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2846,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2847,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2854,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:2855,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2868,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2873,1
    - Dst: GET_ISONSAP_STRING
      Src: /src/tcpdump/print-isoclns.c:2875,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:2884,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2885,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2885,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2895,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2896,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2901,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:2901,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2903,1
    - Dst: isis_print_mtid
      Src: /src/tcpdump/print-isoclns.c:2914,1
    - Dst: isis_print_ext_is_reach
      Src: /src/tcpdump/print-isoclns.c:2920,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2924,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-isoclns.c:2925,1
    - Dst: isis_print_ext_is_reach
      Src: /src/tcpdump/print-isoclns.c:2935,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2939,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-isoclns.c:2940,1
    - Dst: isis_print_ext_is_reach
      Src: /src/tcpdump/print-isoclns.c:2950,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2954,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-isoclns.c:2955,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2965,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:2966,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:2968,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isoclns.c:2975,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2976,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2977,1
    - Dst: isis_print_metric_block
      Src: /src/tcpdump/print-isoclns.c:2978,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-isoclns.c:2989,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:2990,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:2991,1
    - Dst: isis_print_metric_block
      Src: /src/tcpdump/print-isoclns.c:2992,1
    - Dst: isis_print_tlv_ip_reach
      Src: /src/tcpdump/print-isoclns.c:3001,1
    - Dst: isis_print_extd_ip_reach
      Src: /src/tcpdump/print-isoclns.c:3007,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3011,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-isoclns.c:3012,1
    - Dst: isis_print_mtid
      Src: /src/tcpdump/print-isoclns.c:3021,1
    - Dst: isis_print_extd_ip_reach
      Src: /src/tcpdump/print-isoclns.c:3029,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3033,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-isoclns.c:3034,1
    - Dst: isis_print_extd_ip_reach
      Src: /src/tcpdump/print-isoclns.c:3044,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3048,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-isoclns.c:3049,1
    - Dst: isis_print_mtid
      Src: /src/tcpdump/print-isoclns.c:3058,1
    - Dst: isis_print_extd_ip_reach
      Src: /src/tcpdump/print-isoclns.c:3066,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3070,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-isoclns.c:3071,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3083,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-isoclns.c:3084,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:3093,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3097,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:3098,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-isoclns.c:3104,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3108,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:3108,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3111,1
    - Dst: signature_verify
      Src: /src/tcpdump/print-isoclns.c:3113,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3116,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:3116,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:3122,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3123,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3127,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:3127,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:3132,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3141,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:3142,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:3142,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:3143,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3147,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:3148,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:3152,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3153,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:3154,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3158,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:3159,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3164,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3166,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:3167,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:3169,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:3170,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3172,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3183,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:3184,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:3185,1
    - Dst: isis_print_mt_port_cap_subtlv
      Src: /src/tcpdump/print-isoclns.c:3191,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3200,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:3201,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:3202,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:3203,1
    - Dst: isis_print_mt_capability_subtlv
      Src: /src/tcpdump/print-isoclns.c:3209,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3216,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-isoclns.c:3216,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3223,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-isoclns.c:3223,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3230,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-isoclns.c:3231,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:3237,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3238,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:3238,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3244,1
    - Dst: ISIS_MASK_TLV_SHARED_RISK_GROUP
      Src: /src/tcpdump/print-isoclns.c:3245,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:3245,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3251,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-isoclns.c:3251,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3257,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-isoclns.c:3257,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3264,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:3264,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-isoclns.c:3275,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3276,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:3277,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3278,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:3279,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3280,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:3281,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3282,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:3282,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:3291,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3292,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:3292,1
    - Dst: osi_print_cksum
      Src: /src/tcpdump/print-isoclns.c:3298,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:3298,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:3305,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3310,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:3314,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3315,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:3316,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:3323,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:3324,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3325,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:3326,1
    - Dst: isis_print_mtid
      Src: /src/tcpdump/print-isoclns.c:3336,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3342,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:3352,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3353,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-isoclns.c:3354,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:3354,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:3364,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3366,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:3366,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:3372,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3373,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:3373,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:3380,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3381,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:3382,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3391,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:3391,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:3396,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3405,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-isoclns.c:3405,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:3412,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3413,1
    - Dst: isis_print_id
      Src: /src/tcpdump/print-isoclns.c:3413,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-isoclns.c:3422,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3423,1
    - Dst: isis_print_metric_block
      Src: /src/tcpdump/print-isoclns.c:3424,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:3429,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3433,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3438,1
    - Dst: GET_ISONSAP_STRING
      Src: /src/tcpdump/print-isoclns.c:3439,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3448,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-isoclns.c:3448,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3453,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-isoclns.c:3454,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3457,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-isoclns.c:3457,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3458,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-isoclns.c:3459,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-isoclns.c:3459,1
    - Dst: isis_print_router_cap_subtlv
      Src: /src/tcpdump/print-isoclns.c:3463,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-isoclns.c:3470,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3471,1
    - Dst: tok2str
      Src: /src/tcpdump/print-isoclns.c:3472,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:3477,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:3493,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-isoclns.c:3501,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3510,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-isoclns.c:3515,1
    CyclomaticComplexity: 270
    EdgeCount: 270
    ICount: 827
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3517
      start: 2459
    functionDepth: 3
    functionLinenumber: 2459
    functionLinenumberEnd: 3517
    functionName: isis_print
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 1
    functionsReached:
    - bittok2str
    - isis_print_metric_block
    - isis_print_mt_port_cap_subtlv
    - GET_U_1
    - GET_IP6ADDR_STRING
    - osi_print_cksum
    - nd_printjnp
    - ISIS_MASK_LSP_ATT_EXPENSE_BIT
    - GET_ISONSAP_STRING
    - ISIS_MASK_LSP_ISTYPE_BITS
    - nd_print_invalid
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    - isis_print_tlv_ip_reach
    - signature_verify
    - isis_print_mtid
    - isis_print_router_cap_subtlv
    - ND_PRINT
    - ISIS_MASK_LSP_ATT_ERROR_BIT
    - GET_BE_U_3
    - ISIS_MASK_LSP_OL_BIT
    - isis_print_id
    - print_unknown_data
    - GET_IPADDR_STRING
    - GET_BE_U_2
    - ISIS_MASK_LSP_PARTITION_BIT
    - ISIS_MASK_TLV_SHARED_RISK_GROUP
    - ISIS_MASK_LSP_ATT_DEFAULT_BIT
    - ND_TCHECK_LEN
    - ISIS_MASK_LSP_ATT_BITS
    - tok2str
    - isis_print_mt_capability_subtlv
    - INVALID_OR_DECREMENT
    - isis_print_ext_is_reach
    - ND_TCHECK_2
    - nd_print_trunc
    - ND_TCHECK_1
    - ISIS_MASK_LSP_ATT_DELAY_BIT
    - isis_print_extd_ip_reach
    linkageType: ''
    returnType: int
    signature: "int isis_print(netdissect_options *ndo,\n           const uint8_t
      *p, u_int length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-isoclns.c:3531,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-isoclns.c:3533,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3534,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3537,1
    - Dst: create_osi_cksum
      Src: /src/tcpdump/print-isoclns.c:3539,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3541,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-isoclns.c:3543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - ndo
    - pptr
    - checksum
    - checksum_offset
    - length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - uint16_t
    - int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3546
      start: 3519
    functionDepth: 1
    functionLinenumber: 3519
    functionLinenumberEnd: 3546
    functionName: osi_print_cksum
    functionSourceFile: /src/tcpdump/print-isoclns.c
    functionUses: 3
    functionsReached:
    - ND_TTEST_2
    - ND_PRINT
    - create_osi_cksum
    - ND_TTEST_LEN
    linkageType: ''
    returnType: void
    signature: "void osi_print_cksum(netdissect_options *ndo, const uint8_t *pptr,\n\t
      \       uint16_t checksum, int checksum_offset, u_int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - byte
    - ','
    - mask
    - ','
    - shift
    - )
    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: TOK
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOK(tag, byte, mask, shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: DSA_MODE
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSA_MODE(tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: DSA_TAGGED
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSA_TAGGED(tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: DSA_DEV
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSA_DEV(tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: DSA_PORT
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSA_PORT(tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: DSA_TRUNK
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSA_TRUNK(tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: DSA_RX_SNIFF
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSA_RX_SNIFF(tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: DSA_CFI
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSA_CFI(tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: DSA_PRI
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSA_PRI(tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: DSA_VID
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSA_VID(tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: DSA_CODE
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSA_CODE(tag)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:111,1
    - Dst: tok2str
      Src: /src/tcpdump/print-dsa.c:111,1
    - Dst: DSA_MODE
      Src: /src/tcpdump/print-dsa.c:111,1
    - Dst: DSA_MODE
      Src: /src/tcpdump/print-dsa.c:113,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:115,1
    - Dst: DSA_DEV
      Src: /src/tcpdump/print-dsa.c:115,1
    - Dst: DSA_TRUNK
      Src: /src/tcpdump/print-dsa.c:116,1
    - Dst: DSA_PORT
      Src: /src/tcpdump/print-dsa.c:116,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:119,1
    - Dst: DSA_DEV
      Src: /src/tcpdump/print-dsa.c:120,1
    - Dst: DSA_PORT
      Src: /src/tcpdump/print-dsa.c:120,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:123,1
    - Dst: DSA_DEV
      Src: /src/tcpdump/print-dsa.c:124,1
    - Dst: DSA_PORT
      Src: /src/tcpdump/print-dsa.c:124,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:125,1
    - Dst: tok2str
      Src: /src/tcpdump/print-dsa.c:126,1
    - Dst: DSA_CODE
      Src: /src/tcpdump/print-dsa.c:126,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:129,1
    - Dst: DSA_DEV
      Src: /src/tcpdump/print-dsa.c:130,1
    - Dst: DSA_PORT
      Src: /src/tcpdump/print-dsa.c:130,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:131,1
    - Dst: DSA_RX_SNIFF
      Src: /src/tcpdump/print-dsa.c:132,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:138,1
    - Dst: DSA_TAGGED
      Src: /src/tcpdump/print-dsa.c:138,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:139,1
    - Dst: DSA_CFI
      Src: /src/tcpdump/print-dsa.c:139,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:140,1
    - Dst: DSA_VID
      Src: /src/tcpdump/print-dsa.c:140,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:141,1
    - Dst: DSA_PRI
      Src: /src/tcpdump/print-dsa.c:141,1
    - Dst: DSA_MODE
      Src: /src/tcpdump/print-dsa.c:143,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:145,1
    - Dst: DSA_TRUNK
      Src: /src/tcpdump/print-dsa.c:146,1
    - Dst: DSA_DEV
      Src: /src/tcpdump/print-dsa.c:147,1
    - Dst: DSA_PORT
      Src: /src/tcpdump/print-dsa.c:147,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:150,1
    - Dst: DSA_DEV
      Src: /src/tcpdump/print-dsa.c:151,1
    - Dst: DSA_PORT
      Src: /src/tcpdump/print-dsa.c:151,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:154,1
    - Dst: DSA_DEV
      Src: /src/tcpdump/print-dsa.c:155,1
    - Dst: DSA_PORT
      Src: /src/tcpdump/print-dsa.c:155,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:158,1
    - Dst: DSA_DEV
      Src: /src/tcpdump/print-dsa.c:159,1
    - Dst: DSA_PORT
      Src: /src/tcpdump/print-dsa.c:159,1
    - Dst: DSA_RX_SNIFF
      Src: /src/tcpdump/print-dsa.c:160,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:166,1
    - Dst: DSA_VID
      Src: /src/tcpdump/print-dsa.c:166,1
    - Dst: DSA_TAGGED
      Src: /src/tcpdump/print-dsa.c:166,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 168
    functionName: tag_common_print
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached:
    - DSA_RX_SNIFF
    - DSA_DEV
    - DSA_TAGGED
    - DSA_TRUNK
    - DSA_PORT
    - DSA_VID
    - DSA_CODE
    - DSA_PRI
    - ND_PRINT
    - DSA_CFI
    - DSA_MODE
    - tok2str
    linkageType: ''
    returnType: void
    signature: void tag_common_print(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:174,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:176,1
    - Dst: tag_common_print
      Src: /src/tcpdump/print-dsa.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: dsa_tag_print
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - tag_common_print
    linkageType: ''
    returnType: void
    signature: void dsa_tag_print(netdissect_options *ndo, const u_char *bp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dsa.c:186,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:188,1
    - Dst: tok2str
      Src: /src/tcpdump/print-dsa.c:189,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:190,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dsa.c:190,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dsa.c:190,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dsa.c:192,1
    - Dst: tag_common_print
      Src: /src/tcpdump/print-dsa.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 195
    functionName: edsa_tag_print
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    - tag_common_print
    linkageType: ''
    returnType: void
    signature: void edsa_tag_print(netdissect_options *ndo, const u_char *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ether_switch_tag_print
      Src: /src/tcpdump/print-dsa.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: dsa_if_print
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached:
    - ether_switch_tag_print
    linkageType: ''
    returnType: void
    signature: void dsa_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ether_switch_tag_print
      Src: /src/tcpdump/print-dsa.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: edsa_if_print
    functionSourceFile: /src/tcpdump/print-dsa.c
    functionUses: 0
    functionsReached:
    - ether_switch_tag_print
    linkageType: ''
    returnType: void
    signature: void edsa_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ptp.c:311,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:312,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:314,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:316,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:320,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:321,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:323,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:325,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ptp.c:329,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:330,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:332,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:334,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-ptp.c:338,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:339,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:341,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:343,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 6
    argNames:
    - ndo
    - st
    - flen
    - bp
    - len
    - hex
    argTypes:
    - netdissect_options*
    - char*
    - uint32_t
    - u_char*
    - u_int*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 351
    functionName: print_field
    functionSourceFile: /src/tcpdump/print-ptp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_8
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nprint_field(netdissect_options *ndo, const char *st, uint32_t
      flen,\n            const u_char *bp, u_int *len, uint8_t hex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: ptp_print_1
    functionSourceFile: /src/tcpdump/print-ptp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void ptp_print_1(netdissect_options *ndo)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ptp.c:370,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:372,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:374,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ptp.c:374,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:377,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:377,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:380,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:380,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:383,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:384,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:387,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:387,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ptp.c:387,1
    - Dst: GET_BE_U_6
      Src: /src/tcpdump/print-ptp.c:390,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:390,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:393,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:393,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ptp.c:396,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:396,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-ptp.c:399,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:399,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:402,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:402,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:405,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:405,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ptp.c:408,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:409,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ptp.c:409,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:412,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:412,1
    - Dst: ptp_print_timestamp
      Src: /src/tcpdump/print-ptp.c:416,1
    - Dst: ptp_print_timestamp
      Src: /src/tcpdump/print-ptp.c:419,1
    - Dst: ptp_print_timestamp_identity
      Src: /src/tcpdump/print-ptp.c:422,1
    - Dst: ptp_print_timestamp_identity
      Src: /src/tcpdump/print-ptp.c:425,1
    - Dst: ptp_print_timestamp
      Src: /src/tcpdump/print-ptp.c:428,1
    - Dst: ptp_print_timestamp_identity
      Src: /src/tcpdump/print-ptp.c:431,1
    - Dst: ptp_print_timestamp_identity
      Src: /src/tcpdump/print-ptp.c:434,1
    - Dst: ptp_print_announce_msg
      Src: /src/tcpdump/print-ptp.c:437,1
    - Dst: ptp_print_port_id
      Src: /src/tcpdump/print-ptp.c:440,1
    - Dst: ptp_print_mgmt_msg
      Src: /src/tcpdump/print-ptp.c:443,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 86
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 448
    functionName: ptp_print_2
    functionSourceFile: /src/tcpdump/print-ptp.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - ptp_print_timestamp_identity
    - ptp_print_announce_msg
    - ptp_print_mgmt_msg
    - ptp_print_port_id
    - GET_U_1
    - GET_BE_U_8
    - GET_BE_U_2
    - GET_BE_U_6
    - ND_PRINT
    - tok2str
    - ptp_print_timestamp
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void ptp_print_2(netdissect_options *ndo, const u_char *bp, u_int length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-ptp.c:465,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-ptp.c:466,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:467,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:468,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:470,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:472,1
    - Dst: ptp_print_1
      Src: /src/tcpdump/print-ptp.c:476,1
    - Dst: ptp_print_2
      Src: /src/tcpdump/print-ptp.c:479,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:482,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ptp.c:488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 489
    functionName: ptp_print
    functionSourceFile: /src/tcpdump/print-ptp.c
    functionUses: 2
    functionsReached:
    - nd_print_protocol_caps
    - ptp_print_1
    - ptp_print_2
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: void ptp_print(netdissect_options *ndo, const u_char *bp, u_int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:497,1
    - Dst: GET_BE_U_6
      Src: /src/tcpdump/print-ptp.c:499,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:500,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ptp.c:505,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:506,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ndo
    - bp
    - len
    - stype
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 511
    functionName: ptp_print_timestamp
    functionSourceFile: /src/tcpdump/print-ptp.c
    functionUses: 1
    functionsReached:
    - GET_BE_U_6
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void ptp_print_timestamp(netdissect_options *ndo, const u_char *bp,
      u_int *len, const char *stype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptp_print_timestamp
      Src: /src/tcpdump/print-ptp.c:519,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-ptp.c:524,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:525,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:530,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - ndo
    - bp
    - len
    - ttype
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 534
    functionName: ptp_print_timestamp_identity
    functionSourceFile: /src/tcpdump/print-ptp.c
    functionUses: 1
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_8
    - ptp_print_timestamp
    linkageType: ''
    returnType: void
    signature: "void ptp_print_timestamp_identity(netdissect_options *ndo,\n                            const
      u_char *bp, u_int *len, const char *ttype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptp_print_timestamp
      Src: /src/tcpdump/print-ptp.c:542,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:547,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:548,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ptp.c:553,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:554,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ptp.c:559,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:560,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ptp.c:565,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:566,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ptp.c:570,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:571,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:575,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:576,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ptp.c:580,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:581,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-ptp.c:586,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:587,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:591,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:592,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ptp.c:596,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 601
    functionName: ptp_print_announce_msg
    functionSourceFile: /src/tcpdump/print-ptp.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - GET_BE_U_8
    - GET_BE_U_2
    - ND_PRINT
    - ptp_print_timestamp
    linkageType: ''
    returnType: void
    signature: void ptp_print_announce_msg(netdissect_options *ndo, const u_char *bp,
      u_int *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-ptp.c:610,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:611,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ptp.c:616,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ptp.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 622
    functionName: ptp_print_port_id
    functionSourceFile: /src/tcpdump/print-ptp.c
    functionUses: 1
    functionsReached:
    - GET_BE_U_2
    - GET_BE_U_8
    - ND_PRINT
    linkageType: ''
    returnType: u_char
    signature: 'u_char *

      ptp_print_port_id(netdissect_options *ndo, const u_char *bp, u_int *len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ptp_print_port_id
      Src: /src/tcpdump/print-ptp.c:627,1
    - Dst: print_field
      Src: /src/tcpdump/print-ptp.c:628,1
    - Dst: print_field
      Src: /src/tcpdump/print-ptp.c:629,1
    - Dst: print_field
      Src: /src/tcpdump/print-ptp.c:630,1
    - Dst: print_field
      Src: /src/tcpdump/print-ptp.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: ptp_print_mgmt_msg
    functionSourceFile: /src/tcpdump/print-ptp.c
    functionUses: 1
    functionsReached:
    - ptp_print_port_id
    - print_field
    linkageType: ''
    returnType: void
    signature: void ptp_print_mgmt_msg(netdissect_options *ndo, const u_char *bp,
      u_int *len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ssh.c:29,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ssh.c:32,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ssh.c:35,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ssh.c:38,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ssh.c:45,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ssh.c:59,1
    - Dst: ND_ASCII_ISPRINT
      Src: /src/tcpdump/print-ssh.c:73,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ssh.c:85,1
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-ssh.c:86,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ssh.c:87,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 89
    functionName: ssh_print_version
    functionSourceFile: /src/tcpdump/print-ssh.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_ASCII_ISPRINT
    - nd_print_protocol_caps
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: int ssh_print_version(netdissect_options *ndo, const u_char *pptr,
      u_int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ssh_print_version
      Src: /src/tcpdump/print-ssh.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: ssh_print
    functionSourceFile: /src/tcpdump/print-ssh.c
    functionUses: 1
    functionsReached:
    - ssh_print_version
    linkageType: ''
    returnType: void
    signature: void ssh_print(netdissect_options *ndo, const u_char *pptr, u_int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cip.c:62,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-cip.c:64,1
    - Dst: memcmp
      Src: /src/tcpdump/print-cip.c:65,1
    - Dst: llc_print
      Src: /src/tcpdump/print-cip.c:69,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-cip.c:73,1
    - Dst: ip_print
      Src: /src/tcpdump/print-cip.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 85
    functionName: cip_if_print
    functionSourceFile: /src/tcpdump/print-cip.c
    functionUses: 0
    functionsReached:
    - ip_print
    - memcmp
    - ND_PRINT
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    - llc_print
    linkageType: ''
    returnType: void
    signature: void cip_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: llc_print
      Src: /src/tcpdump/print-atm.c:213,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-atm.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ndo
    - p
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: atm_llc_print
    functionSourceFile: /src/tcpdump/print-atm.c
    functionUses: 0
    functionsReached:
    - llc_print
    - ND_DEFAULTPRINT
    linkageType: ''
    returnType: u_int
    signature: "u_int atm_llc_print(netdissect_options *ndo,\n              const
      u_char *p, int length, int caplen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: LLC_UI_HDR
    functionSourceFile: /src/tcpdump/print-atm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LLC_UI_HDR(sap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atm.c:247,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:249,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-atm.c:251,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-atm.c:267,1
    - Dst: LLC_UI_HDR
      Src: /src/tcpdump/print-atm.c:268,1
    - Dst: LLC_UI_HDR
      Src: /src/tcpdump/print-atm.c:269,1
    - Dst: LLC_UI_HDR
      Src: /src/tcpdump/print-atm.c:270,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:288,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-atm.c:289,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-atm.c:290,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-atm.c:291,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-atm.c:292,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-atm.c:294,1
    - Dst: atm_llc_print
      Src: /src/tcpdump/print-atm.c:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 302
    functionName: atm_if_print
    functionSourceFile: /src/tcpdump/print-atm.c
    functionUses: 0
    functionsReached:
    - LLC_UI_HDR
    - atm_llc_print
    - GET_U_1
    - isoclns_print
    - ND_PRINT
    - GET_BE_U_3
    - ND_TCHECK_LEN
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void atm_if_print(netdissect_options *ndo,\n             const struct
      pcap_pkthdr *h, const u_char *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atm.c:332,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:337,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:338,1
    - Dst: tok2str
      Src: /src/tcpdump/print-atm.c:339,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atm.c:339,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-atm.c:347,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:348,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:351,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atm.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 353
    functionName: sig_print
    functionSourceFile: /src/tcpdump/print-atm.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - tok2str
    - ND_PRINT
    - GET_BE_U_3
    linkageType: ''
    returnType: void
    signature: "void sig_print(netdissect_options *ndo,\n          const u_char *p)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:365,1
    - Dst: sig_print
      Src: /src/tcpdump/print-atm.c:371,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:375,1
    - Dst: oam_print
      Src: /src/tcpdump/print-atm.c:386,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:390,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:394,1
    - Dst: snmp_print
      Src: /src/tcpdump/print-atm.c:395,1
    - Dst: atm_llc_print
      Src: /src/tcpdump/print-atm.c:407,1
    - Dst: lane_print
      Src: /src/tcpdump/print-atm.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 7
    argNames:
    - ndo
    - vpi
    - vci
    - traftype
    - p
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - u_int
    - u_int
    - u_int
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 358
    functionDepth: 9
    functionLinenumber: 358
    functionLinenumberEnd: 414
    functionName: atm_print
    functionSourceFile: /src/tcpdump/print-atm.c
    functionUses: 1
    functionsReached:
    - lane_print
    - sig_print
    - atm_llc_print
    - snmp_print
    - ND_PRINT
    - oam_print
    linkageType: ''
    returnType: void
    signature: "void atm_print(netdissect_options *ndo,\n          u_int vpi, u_int
      vci, u_int traftype, const u_char *p, u_int length,\n          u_int caplen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-atm.c:445,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atm.c:446,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atm.c:447,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:454,1
    - Dst: tok2str
      Src: /src/tcpdump/print-atm.c:455,1
    - Dst: tok2str
      Src: /src/tcpdump/print-atm.c:457,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:464,1
    - Dst: tok2str
      Src: /src/tcpdump/print-atm.c:465,1
    - Dst: uint2tokary
      Src: /src/tcpdump/print-atm.c:468,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:470,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:472,1
    - Dst: tok2str
      Src: /src/tcpdump/print-atm.c:473,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-atm.c:481,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:482,1
    - Dst: tok2str
      Src: /src/tcpdump/print-atm.c:483,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atm.c:485,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-atm.c:486,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:487,1
    - Dst: nd_print_bytes_hex
      Src: /src/tcpdump/print-atm.c:488,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:490,1
    - Dst: nd_print_bytes_hex
      Src: /src/tcpdump/print-atm.c:491,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-atm.c:498,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:499,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-atm.c:500,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:501,1
    - Dst: nd_print_bytes_hex
      Src: /src/tcpdump/print-atm.c:502,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-atm.c:515,1
    - Dst: verify_crc10_cksum
      Src: /src/tcpdump/print-atm.c:517,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-atm.c:519,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 4
    argNames:
    - ndo
    - p
    - length
    - hec
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 522
    functionName: oam_print
    functionSourceFile: /src/tcpdump/print-atm.c
    functionUses: 3
    functionsReached:
    - nd_print_bytes_hex
    - GET_U_1
    - uint2tokary
    - GET_BE_U_2
    - verify_crc10_cksum
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void oam_print(netdissect_options *ndo,\n          const u_char *p,
      u_int length, u_int hec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ndo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: resp_print_empty
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: resp_print_empty(ndo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ndo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: resp_print_null
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: resp_print_null(ndo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ndo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: resp_print_length_too_large
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: resp_print_length_too_large(ndo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ndo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: resp_print_length_negative
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: resp_print_length_negative(ndo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ndo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: resp_print_invalid
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: resp_print_invalid(ndo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _tot_len
    - ','
    - _len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: LCHECK2
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LCHECK2(_tot_len, _len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _tot_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: LCHECK
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LCHECK(_tot_len)
  - 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: 95
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: FIND_CRLF
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_CRLF(_ptr, _len)
  - 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: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: CONSUME_CRLF
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONSUME_CRLF(_ptr, _len)
  - 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: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: FIND_CR_OR_LF
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_CR_OR_LF(_ptr, _len)
  - 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: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: CONSUME_CR_OR_LF
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONSUME_CR_OR_LF(_ptr, _len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _ptr
    - ','
    - _tot_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: SKIP_OPCODE
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_OPCODE(_ptr, _tot_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _ndo
    - ','
    - _tot_len
    - ','
    - _ptr
    - ','
    - _len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: GET_LENGTH
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LENGTH(_ndo, _tot_len, _ptr, _len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: TEST_RET_LEN
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_RET_LEN(rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: TEST_RET_LEN_NORETURN
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_RET_LEN_NORETURN(rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ndo
    - ','
    - _bp
    - ','
    - _len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: RESP_PRINT_SEGMENT
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESP_PRINT_SEGMENT(_ndo, _bp, _len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-resp.c:224,1
    - Dst: resp_parse
      Src: /src/tcpdump/print-resp.c:235,1
    - Dst: TEST_RET_LEN_NORETURN
      Src: /src/tcpdump/print-resp.c:236,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-resp.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: resp_print
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 1
    functionsReached:
    - resp_parse
    - nd_print_trunc
    - ND_PRINT
    - TEST_RET_LEN_NORETURN
    linkageType: ''
    returnType: void
    signature: void resp_print(netdissect_options *ndo, const u_char *bp, u_int length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LCHECK2
      Src: /src/tcpdump/print-resp.c:253,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-resp.c:254,1
    - Dst: resp_print_simple_string
      Src: /src/tcpdump/print-resp.c:258,1
    - Dst: resp_print_integer
      Src: /src/tcpdump/print-resp.c:259,1
    - Dst: resp_print_error
      Src: /src/tcpdump/print-resp.c:260,1
    - Dst: resp_print_bulk_string
      Src: /src/tcpdump/print-resp.c:261,1
    - Dst: resp_print_bulk_array
      Src: /src/tcpdump/print-resp.c:262,1
    - Dst: resp_print_inline
      Src: /src/tcpdump/print-resp.c:263,1
    - Dst: TEST_RET_LEN
      Src: /src/tcpdump/print-resp.c:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 275
    functionName: resp_parse
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 1
    functionsReached:
    - resp_print_inline
    - resp_print_bulk_string
    - resp_print_bulk_array
    - GET_U_1
    - resp_print_error
    - resp_print_simple_string
    - TEST_RET_LEN
    - resp_print_integer
    - LCHECK2
    linkageType: ''
    returnType: int
    signature: int resp_parse(netdissect_options *ndo, const u_char *bp, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resp_print_string_error_integer
      Src: /src/tcpdump/print-resp.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: resp_print_simple_string
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 1
    functionsReached:
    - resp_print_string_error_integer
    linkageType: ''
    returnType: int
    signature: int resp_print_simple_string(netdissect_options *ndo, const u_char
      *bp, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resp_print_string_error_integer
      Src: /src/tcpdump/print-resp.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: resp_print_integer
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 1
    functionsReached:
    - resp_print_string_error_integer
    linkageType: ''
    returnType: int
    signature: int resp_print_integer(netdissect_options *ndo, const u_char *bp, int
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resp_print_string_error_integer
      Src: /src/tcpdump/print-resp.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: resp_print_error
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 1
    functionsReached:
    - resp_print_string_error_integer
    linkageType: ''
    returnType: int
    signature: int resp_print_error(netdissect_options *ndo, const u_char *bp, int
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SKIP_OPCODE
      Src: /src/tcpdump/print-resp.c:298,1
    - Dst: FIND_CRLF
      Src: /src/tcpdump/print-resp.c:310,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-resp.c:317,1
    - Dst: RESP_PRINT_SEGMENT
      Src: /src/tcpdump/print-resp.c:318,1
    - Dst: TEST_RET_LEN
      Src: /src/tcpdump/print-resp.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 325
    functionName: resp_print_string_error_integer
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 3
    functionsReached:
    - FIND_CRLF
    - ND_BYTES_BETWEEN
    - SKIP_OPCODE
    - TEST_RET_LEN
    - RESP_PRINT_SEGMENT
    linkageType: ''
    returnType: int
    signature: int resp_print_string_error_integer(netdissect_options *ndo, const
      u_char *bp, int length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SKIP_OPCODE
      Src: /src/tcpdump/print-resp.c:333,1
    - Dst: GET_LENGTH
      Src: /src/tcpdump/print-resp.c:336,1
    - Dst: resp_print_empty
      Src: /src/tcpdump/print-resp.c:341,1
    - Dst: LCHECK2
      Src: /src/tcpdump/print-resp.c:343,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-resp.c:344,1
    - Dst: RESP_PRINT_SEGMENT
      Src: /src/tcpdump/print-resp.c:345,1
    - Dst: FIND_CRLF
      Src: /src/tcpdump/print-resp.c:355,1
    - Dst: CONSUME_CRLF
      Src: /src/tcpdump/print-resp.c:356,1
    - Dst: resp_print_null
      Src: /src/tcpdump/print-resp.c:360,1
    - Dst: resp_print_length_too_large
      Src: /src/tcpdump/print-resp.c:362,1
    - Dst: resp_print_length_negative
      Src: /src/tcpdump/print-resp.c:363,1
    - Dst: resp_print_invalid
      Src: /src/tcpdump/print-resp.c:364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 372
    functionName: resp_print_bulk_string
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 1
    functionsReached:
    - FIND_CRLF
    - resp_print_length_too_large
    - resp_print_empty
    - SKIP_OPCODE
    - resp_print_invalid
    - GET_LENGTH
    - resp_print_null
    - RESP_PRINT_SEGMENT
    - CONSUME_CRLF
    - ND_TCHECK_LEN
    - resp_print_length_negative
    - LCHECK2
    linkageType: ''
    returnType: int
    signature: int resp_print_bulk_string(netdissect_options *ndo, const u_char *bp,
      int length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SKIP_OPCODE
      Src: /src/tcpdump/print-resp.c:380,1
    - Dst: GET_LENGTH
      Src: /src/tcpdump/print-resp.c:383,1
    - Dst: resp_parse
      Src: /src/tcpdump/print-resp.c:388,1
    - Dst: TEST_RET_LEN_NORETURN
      Src: /src/tcpdump/print-resp.c:390,1
    - Dst: resp_print_empty
      Src: /src/tcpdump/print-resp.c:398,1
    - Dst: resp_print_null
      Src: /src/tcpdump/print-resp.c:399,1
    - Dst: resp_print_length_too_large
      Src: /src/tcpdump/print-resp.c:401,1
    - Dst: resp_print_length_negative
      Src: /src/tcpdump/print-resp.c:402,1
    - Dst: resp_print_invalid
      Src: /src/tcpdump/print-resp.c:403,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 411
    functionName: resp_print_bulk_array
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 1
    functionsReached:
    - resp_print_length_too_large
    - resp_print_invalid
    - resp_print_empty
    - SKIP_OPCODE
    - GET_LENGTH
    - resp_print_null
    - resp_parse
    - resp_print_length_negative
    - TEST_RET_LEN_NORETURN
    linkageType: ''
    returnType: int
    signature: int resp_print_bulk_array(netdissect_options *ndo, const u_char *bp,
      int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CONSUME_CR_OR_LF
      Src: /src/tcpdump/print-resp.c:431,1
    - Dst: FIND_CR_OR_LF
      Src: /src/tcpdump/print-resp.c:437,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-resp.c:443,1
    - Dst: RESP_PRINT_SEGMENT
      Src: /src/tcpdump/print-resp.c:444,1
    - Dst: CONSUME_CR_OR_LF
      Src: /src/tcpdump/print-resp.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 458
    functionName: resp_print_inline
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 1
    functionsReached:
    - RESP_PRINT_SEGMENT
    - FIND_CR_OR_LF
    - ND_BYTES_BETWEEN
    - CONSUME_CR_OR_LF
    linkageType: ''
    returnType: int
    signature: int resp_print_inline(netdissect_options *ndo, const u_char *bp, int
      length)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-resp.c:473,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-resp.c:484,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-resp.c:513,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-resp.c:521,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 4
    argNames:
    - ndo
    - bp
    - len
    - endp
    argTypes:
    - netdissect_options*
    - u_char*
    - int
    - u_char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 543
    functionName: resp_get_length
    functionSourceFile: /src/tcpdump/print-resp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    linkageType: ''
    returnType: int
    signature: int resp_get_length(netdissect_options *ndo, const u_char *bp, int
      len, const u_char **endp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tcpdump/print-ipfc.c:53,1
    - Dst: memcpy
      Src: /src/tcpdump/print-ipfc.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ipfcp
    - ipfcsrc
    - ipfcdst
    argTypes:
    - struct ipfc_header*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: extract_ipfc_addrs
    functionSourceFile: /src/tcpdump/print-ipfc.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void extract_ipfc_addrs(const struct ipfc_header *ipfcp, char *ipfcsrc,\n\t\t
      \  char *ipfcdst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mac48_string
      Src: /src/tcpdump/print-ipfc.c:67,1
    - Dst: mac48_string
      Src: /src/tcpdump/print-ipfc.c:68,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipfc.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ndo
    - ipfcp
    - length
    - ipfcsrc
    - ipfcdst
    argTypes:
    - netdissect_options*
    - struct ipfc_header*
    - u_int
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: ipfc_hdr_print
    functionSourceFile: /src/tcpdump/print-ipfc.c
    functionUses: 0
    functionsReached:
    - mac48_string
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void ipfc_hdr_print(netdissect_options *ndo,\n\t       const struct
      ipfc_header *ipfcp _U_, u_int length,\n\t       const u_char *ipfcsrc, const
      u_char *ipfcdst)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ipfc.c:97,1
    - Dst: extract_ipfc_addrs
      Src: /src/tcpdump/print-ipfc.c:101,1
    - Dst: ipfc_hdr_print
      Src: /src/tcpdump/print-ipfc.c:104,1
    - Dst: llc_print
      Src: /src/tcpdump/print-ipfc.c:117,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-ipfc.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - ndo
    - p
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 128
    functionName: ipfc_print
    functionSourceFile: /src/tcpdump/print-ipfc.c
    functionUses: 0
    functionsReached:
    - ipfc_hdr_print
    - extract_ipfc_addrs
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    - llc_print
    linkageType: ''
    returnType: u_int
    signature: u_int ipfc_print(netdissect_options *ndo, const u_char *p, u_int length,
      u_int caplen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipfc_print
      Src: /src/tcpdump/print-ipfc.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: ipfc_if_print
    functionSourceFile: /src/tcpdump/print-ipfc.c
    functionUses: 0
    functionsReached:
    - ipfc_print
    linkageType: ''
    returnType: void
    signature: void ipfc_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:60,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:78,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:79,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:89,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-ip6.c:97,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:98,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:99,1
    - Dst: ND_TCHECK_16
      Src: /src/tcpdump/print-ip6.c:109,1
    - Dst: ND_TCHECK_16
      Src: /src/tcpdump/print-ip6.c:124,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-ip6.c:164,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 3
    argNames:
    - ndo
    - dst
    - ip6
    argTypes:
    - netdissect_options*
    - nd_ipv6*
    - struct ip6_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 165
    functionName: ip6_finddst
    functionSourceFile: /src/tcpdump/print-ip6.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_CPY_BYTES
    - ND_TCHECK_16
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void ip6_finddst(netdissect_options *ndo, nd_ipv6 *dst,\n            const
      struct ip6_hdr *ip6)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-ip6.c:186,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-ip6.c:187,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:188,1
    - Dst: ip6_finddst
      Src: /src/tcpdump/print-ip6.c:202,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-ip6.c:206,1
    - Dst: htonl
      Src: /src/tcpdump/print-ip6.c:209,1
    - Dst: in_cksum
      Src: /src/tcpdump/print-ip6.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 6
    argNames:
    - ndo
    - ip6
    - data
    - len
    - covlen
    - next_proto
    argTypes:
    - netdissect_options*
    - struct ip6_hdr*
    - uint8_t*
    - u_int
    - u_int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 218
    functionName: nextproto6_cksum
    functionSourceFile: /src/tcpdump/print-ip6.c
    functionUses: 4
    functionsReached:
    - ip6_finddst
    - GET_U_1
    - htonl
    - memset
    - in_cksum
    - GET_CPY_BYTES
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t nextproto6_cksum(netdissect_options *ndo,\n                 const
      struct ip6_hdr *ip6, const uint8_t *data,\n\t\t u_int len, u_int covlen, uint8_t
      next_proto)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-ip6.c:243,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6.c:244,1
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-ip6.c:247,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ip6.c:248,1
    - Dst: IP6_VERSION
      Src: /src/tcpdump/print-ip6.c:248,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ip6.c:250,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6.c:276,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ip6.c:278,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6.c:279,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:285,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ip6.c:287,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6.c:288,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6.c:291,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6.c:293,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6.c:295,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:296,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ip6.c:297,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-ip6.c:301,1
    - Dst: nd_push_snaplen
      Src: /src/tcpdump/print-ip6.c:308,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-ip6.c:308,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6.c:330,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-ip6.c:330,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-ip6.c:331,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6.c:342,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ip6.c:343,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6.c:347,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ip6.c:348,1
    - Dst: hbhopt_process
      Src: /src/tcpdump/print-ip6.c:351,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6.c:353,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ip6.c:354,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-ip6.c:358,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:363,1
    - Dst: dstopt_process
      Src: /src/tcpdump/print-ip6.c:367,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-ip6.c:369,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:373,1
    - Dst: frag6_print
      Src: /src/tcpdump/print-ip6.c:377,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-ip6.c:379,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:383,1
    - Dst: mobility_print
      Src: /src/tcpdump/print-ip6.c:397,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-ip6.c:399,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:403,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-ip6.c:404,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-ip6.c:408,1
    - Dst: rt6_print
      Src: /src/tcpdump/print-ip6.c:409,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-ip6.c:411,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:415,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6.c:438,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ip6.c:440,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6.c:441,1
    - Dst: nd_change_snaplen
      Src: /src/tcpdump/print-ip6.c:443,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6.c:485,1
    - Dst: nd_change_snaplen
      Src: /src/tcpdump/print-ip6.c:489,1
    - Dst: ip_demux_print
      Src: /src/tcpdump/print-ip6.c:502,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6.c:503,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-ip6.c:504,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-ip6.c:513,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ip6.c:516,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ip6.c:520,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 161
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 521
    functionName: ip6_print
    functionSourceFile: /src/tcpdump/print-ip6.c
    functionUses: 9
    functionsReached:
    - ND_ICHECKMSG_U
    - GET_U_1
    - nd_print_protocol_caps
    - GET_IP6ADDR_STRING
    - hbhopt_process
    - ip_demux_print
    - nd_push_snaplen
    - dstopt_process
    - nd_print_invalid
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    - nd_change_snaplen
    - nd_pop_packet_info
    - ND_PRINT
    - rt6_print
    - mobility_print
    - frag6_print
    - GET_BE_U_2
    - ND_ICHECK_ZU
    - tok2str
    - ND_MIN
    - IP6_VERSION
    - nd_print_trunc
    - ND_TCHECK_1
    linkageType: ''
    returnType: void
    signature: void ip6_print(netdissect_options *ndo, const u_char *bp, u_int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: SWAPLONG
    functionSourceFile: /src/tcpdump/print-null.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAPLONG(y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-null.c:58,1
    - Dst: tok2str
      Src: /src/tcpdump/print-null.c:59,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-null.c:61,1
    - Dst: tok2str
      Src: /src/tcpdump/print-null.c:62,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-null.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - family
    - length
    argTypes:
    - netdissect_options*
    - uint32_t
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: null_hdr_print
    functionSourceFile: /src/tcpdump/print-null.c
    functionUses: 0
    functionsReached:
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void null_hdr_print(netdissect_options *ndo, uint32_t family, u_int
      length)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-null.c:82,1
    - Dst: GET_HE_U_4
      Src: /src/tcpdump/print-null.c:85,1
    - Dst: SWAPLONG
      Src: /src/tcpdump/print-null.c:96,1
    - Dst: null_hdr_print
      Src: /src/tcpdump/print-null.c:99,1
    - Dst: ip_print
      Src: /src/tcpdump/print-null.c:108,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-null.c:114,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-null.c:118,1
    - Dst: atalk_print
      Src: /src/tcpdump/print-null.c:122,1
    - Dst: ipx_print
      Src: /src/tcpdump/print-null.c:126,1
    - Dst: null_hdr_print
      Src: /src/tcpdump/print-null.c:132,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-null.c:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 136
    functionName: null_if_print
    functionSourceFile: /src/tcpdump/print-null.c
    functionUses: 0
    functionsReached:
    - ip_print
    - null_hdr_print
    - SWAPLONG
    - GET_HE_U_4
    - isoclns_print
    - ipx_print
    - ip6_print
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    - atalk_print
    linkageType: ''
    returnType: void
    signature: void null_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipnet.c:40,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ipnet.c:40,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ipnet.c:41,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipnet.c:44,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ipnet.c:45,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ipnet.c:46,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ipnet.c:47,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipnet.c:49,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ipnet.c:50,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ipnet.c:52,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipnet.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 56
    functionName: ipnet_hdr_print
    functionSourceFile: /src/tcpdump/print-ipnet.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - tok2str
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void ipnet_hdr_print(netdissect_options *ndo, const u_char *bp, u_int
      length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ipnet.c:63,1
    - Dst: ipnet_hdr_print
      Src: /src/tcpdump/print-ipnet.c:67,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ipnet.c:74,1
    - Dst: ip_print
      Src: /src/tcpdump/print-ipnet.c:77,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-ipnet.c:81,1
    - Dst: ipnet_hdr_print
      Src: /src/tcpdump/print-ipnet.c:86,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-ipnet.c:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - ndo
    - p
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 93
    functionName: ipnet_print
    functionSourceFile: /src/tcpdump/print-ipnet.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ip_print
    - ipnet_hdr_print
    - ip6_print
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: void
    signature: void ipnet_print(netdissect_options *ndo, const u_char *p, u_int length,
      u_int caplen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipnet_print
      Src: /src/tcpdump/print-ipnet.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: ipnet_if_print
    functionSourceFile: /src/tcpdump/print-ipnet.c
    functionUses: 0
    functionsReached:
    - ipnet_print
    linkageType: ''
    returnType: void
    signature: "void ipnet_if_print(netdissect_options *ndo,\n               const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:77,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:79,1
    - Dst: ipxaddr_string
      Src: /src/tcpdump/print-ipx.c:80,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ipx.c:80,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipx.c:81,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:83,1
    - Dst: ipxaddr_string
      Src: /src/tcpdump/print-ipx.c:84,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ipx.c:84,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipx.c:85,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipx.c:88,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:91,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ipx.c:92,1
    - Dst: ipx_decode
      Src: /src/tcpdump/print-ipx.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 96
    functionName: ipx_print
    functionSourceFile: /src/tcpdump/print-ipx.c
    functionUses: 2
    functionsReached:
    - ipx_decode
    - ipxaddr_string
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void ipx_print(netdissect_options *ndo, const u_char *p, u_int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-ipx.c:103,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ipx.c:104,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ipx.c:104,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ipx.c:105,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ipx.c:105,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ipx.c:106,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ipx.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - net
    - node
    argTypes:
    - netdissect_options*
    - uint32_t
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: ipxaddr_string
    functionSourceFile: /src/tcpdump/print-ipx.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      ipxaddr_string(netdissect_options *ndo, uint32_t net, const u_char *node)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipx.c:116,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:119,1
    - Dst: ipx_sap_print
      Src: /src/tcpdump/print-ipx.c:122,1
    - Dst: ipx_rip_print
      Src: /src/tcpdump/print-ipx.c:125,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:128,1
    - Dst: ipx_netbios_print
      Src: /src/tcpdump/print-ipx.c:130,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:134,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:137,1
    - Dst: ipx_netbios_print
      Src: /src/tcpdump/print-ipx.c:139,1
    - Dst: eigrp_print
      Src: /src/tcpdump/print-ipx.c:143,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - ndo
    - ipx
    - datap
    - length
    argTypes:
    - netdissect_options*
    - struct ipxHdr*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 149
    functionName: ipx_decode
    functionSourceFile: /src/tcpdump/print-ipx.c
    functionUses: 1
    functionsReached:
    - eigrp_print
    - ipx_rip_print
    - ipx_sap_print
    - GET_BE_U_2
    - ipx_netbios_print
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void ipx_decode(netdissect_options *ndo, const struct ipxHdr *ipx,
      const u_char *datap, u_int length)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipx.c:156,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-ipx.c:157,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:165,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:167,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:169,1
    - Dst: ipxsap_string
      Src: /src/tcpdump/print-ipx.c:169,1
    - Dst: htons
      Src: /src/tcpdump/print-ipx.c:169,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipx.c:169,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:175,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:177,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-ipx.c:180,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:181,1
    - Dst: ipxsap_string
      Src: /src/tcpdump/print-ipx.c:181,1
    - Dst: htons
      Src: /src/tcpdump/print-ipx.c:181,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipx.c:181,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:185,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-ipx.c:188,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:189,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-ipx.c:195,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:196,1
    - Dst: ipxaddr_string
      Src: /src/tcpdump/print-ipx.c:197,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ipx.c:197,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-ipx.c:204,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-ipx.c:205,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:211,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ipx.c:217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 3
    argNames:
    - ndo
    - ipx
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 218
    functionName: ipx_sap_print
    functionSourceFile: /src/tcpdump/print-ipx.c
    functionUses: 1
    functionsReached:
    - GET_BE_U_2
    - ipxsap_string
    - htons
    - nd_printjnp
    - ND_PRINT
    - ipxaddr_string
    - nd_print_invalid
    - ND_ICHECK_U
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void ipx_sap_print(netdissect_options *ndo, const u_char *ipx, u_int
      length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipx.c:225,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-ipx.c:226,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:232,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-ipx.c:234,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:235,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ipx.c:235,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipx.c:236,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipx.c:236,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:240,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-ipx.c:242,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:243,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ipx.c:243,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipx.c:244,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipx.c:244,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipx.c:251,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ipx.c:257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - ndo
    - ipx
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 258
    functionName: ipx_rip_print
    functionSourceFile: /src/tcpdump/print-ipx.c
    functionUses: 1
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void ipx_rip_print(netdissect_options *ndo, const u_char *ipx, u_int
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: TAM_SIZE
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAM_SIZE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bytes_len
    - ','
    - ptr_data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: PRINT_HEX
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_HEX(bytes_len, ptr_data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:768,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:769,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:769,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:770,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:770,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:772,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:775,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-radius.c:775,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:785,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:786,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:787,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:788,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:788,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:790,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:796,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:797,1
    - Dst: tok2str
      Src: /src/tcpdump/print-radius.c:798,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:798,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:799,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:804,1
    - Dst: eap_print
      Src: /src/tcpdump/print-radius.c:805,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:809,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:810,1
    - Dst: ND_ASCII_ISPRINT
      Src: /src/tcpdump/print-radius.c:810,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:810,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:810,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:815,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 4
    argNames:
    - ndo
    - data
    - length
    - attr_code
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 816
    functionName: print_attr_string
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - eap_print
    - ND_ASCII_ISPRINT
    - tok2str
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: "void print_attr_string(netdissect_options *ndo,\n                  const
      u_char *data, u_int length, u_short attr_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:830,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-radius.c:831,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:835,1
    - Dst: tok2str
      Src: /src/tcpdump/print-radius.c:836,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:840,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:841,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:843,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-radius.c:845,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-radius.c:846,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:851,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:853,1
    - Dst: ND_ASCII_ISPRINT
      Src: /src/tcpdump/print-radius.c:853,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:853,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:853,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 4
    argNames:
    - ndo
    - data
    - length
    - attr_code
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 860
    functionName: print_vendor_attr
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - ND_ASCII_ISPRINT
    - ND_ICHECKMSG_U
    - tok2str
    - GET_U_1
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void print_vendor_attr(netdissect_options *ndo,\n                  const
      u_char *data, u_int length, u_short attr_code _U_)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:875,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:884,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:885,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:887,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:887,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-radius.c:889,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-radius.c:891,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:896,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:898,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-radius.c:903,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:904,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:906,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-radius.c:906,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-radius.c:914,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:916,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:919,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:922,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-radius.c:929,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:930,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-radius.c:930,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:932,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-radius.c:936,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:937,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-radius.c:937,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:939,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:943,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:944,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:944,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:946,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:948,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-radius.c:948,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:952,1
    - Dst: tok2str
      Src: /src/tcpdump/print-radius.c:953,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:953,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:954,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:956,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-radius.c:956,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:960,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-radius.c:960,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:969,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 4
    argNames:
    - ndo
    - data
    - length
    - attr_code
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 970
    functionName: print_attr_num
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - tok2str
    - GET_U_1
    - ND_PRINT
    - GET_BE_U_3
    - nd_print_invalid
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void print_attr_num(netdissect_options *ndo,\n               const
      u_char *data, u_int length, u_short attr_code)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:983,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-radius.c:988,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:989,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-radius.c:991,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:992,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:994,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-radius.c:994,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:998,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-radius.c:998,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:1004,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - ndo
    - data
    - length
    - attr_code
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 1005
    functionName: print_attr_address
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void print_attr_address(netdissect_options *ndo,\n                   const
      u_char *data, u_int length, u_short attr_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1018,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1020,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-radius.c:1020,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ndo
    - data
    - length
    - attr_code
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1025
    functionName: print_attr_address6
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - nd_print_invalid
    - ND_ICHECK_U
    - ND_PRINT
    - GET_IP6ADDR_STRING
    linkageType: ''
    returnType: void
    signature: "void print_attr_address6(netdissect_options *ndo,\n                   const
      u_char *data, u_int length, u_short attr_code _U_)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1034,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1035,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1036,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1038,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1039,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-radius.c:1040,1
    - Dst: memset
      Src: /src/tcpdump/print-radius.c:1041,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-radius.c:1043,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1045,1
    - Dst: ip6addr_string
      Src: /src/tcpdump/print-radius.c:1045,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-radius.c:1047,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:1052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - ndo
    - data
    - length
    - attr_code
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1053
    functionName: print_attr_netmask6
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - ND_ICHECKMSG_U
    - nd_print_invalid
    - GET_U_1
    - ip6addr_string
    - ND_PRINT
    - memset
    - ND_ICHECK_U
    - GET_CPY_BYTES
    linkageType: ''
    returnType: void
    signature: "void print_attr_netmask6(netdissect_options *ndo,\n                    const
      u_char *data, u_int length, u_short attr_code _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1059,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-radius.c:1060,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1060,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1062,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-radius.c:1062,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1062,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ndo
    - data
    - length
    - attr_code
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1068
    functionName: print_attr_mip6_home_link_prefix
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - ND_ICHECKMSG_U
    - GET_U_1
    - GET_IP6ADDR_STRING
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: "void print_attr_mip6_home_link_prefix(netdissect_options *ndo,\n                    const
      u_char *data, u_int length, u_short attr_code _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1076,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1077,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1079,1
    - Dst: tok2str
      Src: /src/tcpdump/print-radius.c:1079,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-radius.c:1081,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ndo
    - data
    - length
    - attr_code
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1087
    functionName: print_attr_operator_name
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - nd_printjn
    - tok2str
    - GET_U_1
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: "void print_attr_operator_name(netdissect_options *ndo,\n                    const
      u_char *data, u_int length, u_short attr_code _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1096,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-radius.c:1098,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1101,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1104,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1107,1
    - Dst: tok2str
      Src: /src/tcpdump/print-radius.c:1109,1
    - Dst: tok2str
      Src: /src/tcpdump/print-radius.c:1110,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1113,1
    - Dst: p_ntp_time
      Src: /src/tcpdump/print-radius.c:1114,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1115,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1118,1
    - Dst: p_ntp_time
      Src: /src/tcpdump/print-radius.c:1119,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1120,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1123,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-radius.c:1124,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1125,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 4
    argNames:
    - ndo
    - data
    - length
    - attr_code
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1131
    functionName: print_attr_location_information
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - nd_printjn
    - tok2str
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - p_ntp_time
    linkageType: ''
    returnType: void
    signature: "void print_attr_location_information(netdissect_options *ndo,\n                    const
      u_char *data, u_int length, u_short attr_code _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1137,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1139,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-radius.c:1139,1
    - Dst: hex_and_ascii_print
      Src: /src/tcpdump/print-radius.c:1149,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:1154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - ndo
    - data
    - length
    - attr_code
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1155
    functionName: print_attr_location_data
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - hex_and_ascii_print
    linkageType: ''
    returnType: void
    signature: "void print_attr_location_data(netdissect_options *ndo,\n                    const
      u_char *data, u_int length, u_short attr_code _U_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1163,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-radius.c:1165,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1167,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-radius.c:1167,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1169,1
    - Dst: p_ntp_time
      Src: /src/tcpdump/print-radius.c:1170,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1174,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-radius.c:1175,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1176,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:1182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - ndo
    - data
    - length
    - attr_code
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1183
    functionName: print_basic_location_policy_rules
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - nd_printjn
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - p_ntp_time
    linkageType: ''
    returnType: void
    signature: "void print_basic_location_policy_rules(netdissect_options *ndo,\n
      \                   const u_char *data, u_int length, u_short attr_code _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1200,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-radius.c:1202,1
    - Dst: strlcpy
      Src: /src/tcpdump/print-radius.c:1203,1
    - Dst: ctime
      Src: /src/tcpdump/print-radius.c:1203,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1206,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ndo
    - data
    - length
    - attr_code
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1211
    functionName: print_attr_time
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - strlcpy
    - GET_BE_U_4
    - ctime
    linkageType: ''
    returnType: void
    signature: "void print_attr_time(netdissect_options *ndo,\n                const
      u_char *data, u_int length, u_short attr_code _U_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1220,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1222,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-radius.c:1224,1
    - Dst: TAM_SIZE
      Src: /src/tcpdump/print-radius.c:1229,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1231,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1236,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:1240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ndo
    - data
    - length
    - attr_code
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1241
    functionName: print_attr_vector64
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - TAM_SIZE
    - GET_BE_U_8
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: "void print_attr_vector64(netdissect_options *ndo,\n\t\t    const u_char
      *data, u_int length, u_short attr_code _U_)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1259,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1260,1
    - Dst: PRINT_HEX
      Src: /src/tcpdump/print-radius.c:1262,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1263,1
    - Dst: PRINT_HEX
      Src: /src/tcpdump/print-radius.c:1265,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1266,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1270,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1271,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1272,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1274,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1276,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1276,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1278,1
    - Dst: PRINT_HEX
      Src: /src/tcpdump/print-radius.c:1280,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1281,1
    - Dst: PRINT_HEX
      Src: /src/tcpdump/print-radius.c:1283,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1284,1
    - Dst: PRINT_HEX
      Src: /src/tcpdump/print-radius.c:1286,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1290,1
    - Dst: PRINT_HEX
      Src: /src/tcpdump/print-radius.c:1292,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1296,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-radius.c:1297,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1298,1
    - Dst: tok2str
      Src: /src/tcpdump/print-radius.c:1298,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:1304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 4
    argNames:
    - ndo
    - data
    - length
    - attr_code
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1250
    functionDepth: 1
    functionLinenumber: 1250
    functionLinenumberEnd: 1305
    functionName: print_attr_strange
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - PRINT_HEX
    - tok2str
    - GET_U_1
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void print_attr_strange(netdissect_options *ndo,\n                   const
      u_char *data, u_int length, u_short attr_code)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1316,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1318,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1319,1
    - Dst: TAM_SIZE
      Src: /src/tcpdump/print-radius.c:1320,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1325,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-radius.c:1329,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-radius.c:1330,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1331,1
    - Dst: TAM_SIZE
      Src: /src/tcpdump/print-radius.c:1333,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-radius.c:1343,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:1351,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - ndo
    - attr
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1352
    functionName: radius_attrs_print
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - ND_ICHECKMSG_U
    - GET_U_1
    - TAM_SIZE
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: "void radius_attrs_print(netdissect_options *ndo,\n                   const
      u_char *attr, u_int length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-radius.c:1362,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-radius.c:1363,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-radius.c:1365,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-radius.c:1367,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-radius.c:1368,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-radius.c:1369,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1372,1
    - Dst: tok2str
      Src: /src/tcpdump/print-radius.c:1373,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1373,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1374,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1375,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-radius.c:1377,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1380,1
    - Dst: tok2str
      Src: /src/tcpdump/print-radius.c:1382,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1382,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1383,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1384,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-radius.c:1387,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-radius.c:1387,1
    - Dst: radius_attrs_print
      Src: /src/tcpdump/print-radius.c:1391,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-radius.c:1395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1396
    functionName: radius_print
    functionSourceFile: /src/tcpdump/print-radius.c
    functionUses: 1
    functionsReached:
    - ND_ICHECKMSG_U
    - tok2str
    - nd_print_invalid
    - GET_U_1
    - nd_print_protocol_caps
    - GET_BE_U_2
    - ND_PRINT
    - radius_attrs_print
    - ND_TCHECK_LEN
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: "void radius_print(netdissect_options *ndo,\n             const u_char
      *dat, const u_int length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:167,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:168,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:175,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:178,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:179,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:180,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:181,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:181,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:185,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:188,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:189,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:190,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:191,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:192,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:194,1
    - Dst: intoa
      Src: /src/tcpdump/print-cnfp.c:195,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-cnfp.c:195,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:196,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:198,1
    - Dst: intoa
      Src: /src/tcpdump/print-cnfp.c:199,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-cnfp.c:199,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:200,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:202,1
    - Dst: intoa
      Src: /src/tcpdump/print-cnfp.c:203,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-cnfp.c:203,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cnfp.c:205,1
    - Dst: netdb_protoname
      Src: /src/tcpdump/print-cnfp.c:206,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:207,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:209,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cnfp.c:214,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:216,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-cnfp.c:216,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:219,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cnfp.c:220,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:221,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:222,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-cnfp.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 226
    functionName: cnfp_v1_print
    functionSourceFile: /src/tcpdump/print-cnfp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TCHECK_SIZE
    - GET_BE_U_2
    - netdb_protoname
    - ND_PRINT
    - intoa
    - GET_IPV4_TO_NETWORK_ORDER
    - GET_BE_U_4
    - bittok2str_nosep
    linkageType: ''
    returnType: void
    signature: void cnfp_v1_print(netdissect_options *ndo, const u_char *cp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:242,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:243,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:250,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:253,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:254,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:255,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:256,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:256,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:258,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:258,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-cnfp.c:260,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:263,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:266,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:267,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:268,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:269,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:270,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:272,1
    - Dst: intoa
      Src: /src/tcpdump/print-cnfp.c:273,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-cnfp.c:273,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cnfp.c:274,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:274,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:275,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:277,1
    - Dst: intoa
      Src: /src/tcpdump/print-cnfp.c:278,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-cnfp.c:278,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cnfp.c:279,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:279,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:280,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:282,1
    - Dst: intoa
      Src: /src/tcpdump/print-cnfp.c:283,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-cnfp.c:283,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cnfp.c:285,1
    - Dst: netdb_protoname
      Src: /src/tcpdump/print-cnfp.c:286,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:287,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:289,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cnfp.c:294,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:296,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-cnfp.c:296,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:299,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cnfp.c:300,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:301,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:302,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-cnfp.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 306
    functionName: cnfp_v5_print
    functionSourceFile: /src/tcpdump/print-cnfp.c
    functionUses: 0
    functionsReached:
    - bittok2str_nosep
    - GET_U_1
    - GET_BE_U_2
    - netdb_protoname
    - ND_PRINT
    - intoa
    - GET_IPV4_TO_NETWORK_ORDER
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: void cnfp_v5_print(netdissect_options *ndo, const u_char *cp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:322,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:323,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:330,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:333,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:334,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:335,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:336,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:336,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:338,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:338,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-cnfp.c:340,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:343,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:346,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:347,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:348,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:349,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:350,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:352,1
    - Dst: intoa
      Src: /src/tcpdump/print-cnfp.c:353,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-cnfp.c:353,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cnfp.c:354,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:354,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:355,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:357,1
    - Dst: intoa
      Src: /src/tcpdump/print-cnfp.c:358,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-cnfp.c:358,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cnfp.c:359,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:359,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:360,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:362,1
    - Dst: intoa
      Src: /src/tcpdump/print-cnfp.c:363,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-cnfp.c:363,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cnfp.c:365,1
    - Dst: netdb_protoname
      Src: /src/tcpdump/print-cnfp.c:366,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:367,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:369,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cnfp.c:374,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:376,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-cnfp.c:376,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:379,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cnfp.c:380,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:381,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cnfp.c:382,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:383,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:384,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-cnfp.c:386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 388
    functionName: cnfp_v6_print
    functionSourceFile: /src/tcpdump/print-cnfp.c
    functionUses: 0
    functionsReached:
    - bittok2str_nosep
    - GET_U_1
    - GET_BE_U_2
    - netdb_protoname
    - ND_PRINT
    - intoa
    - GET_IPV4_TO_NETWORK_ORDER
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: void cnfp_v6_print(netdissect_options *ndo, const u_char *cp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cnfp.c:399,1
    - Dst: cnfp_v1_print
      Src: /src/tcpdump/print-cnfp.c:403,1
    - Dst: cnfp_v5_print
      Src: /src/tcpdump/print-cnfp.c:407,1
    - Dst: cnfp_v6_print
      Src: /src/tcpdump/print-cnfp.c:411,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cnfp.c:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 418
    functionName: cnfp_print
    functionSourceFile: /src/tcpdump/print-cnfp.c
    functionUses: 1
    functionsReached:
    - cnfp_v1_print
    - GET_BE_U_2
    - ND_PRINT
    - cnfp_v6_print
    - cnfp_v5_print
    linkageType: ''
    returnType: void
    signature: void cnfp_print(netdissect_options *ndo, const u_char *cp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-syslog.c:92,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-syslog.c:97,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-syslog.c:98,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-syslog.c:99,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-syslog.c:103,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-syslog.c:111,1
    - Dst: tok2str
      Src: /src/tcpdump/print-syslog.c:112,1
    - Dst: tok2str
      Src: /src/tcpdump/print-syslog.c:113,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-syslog.c:118,1
    - Dst: tok2str
      Src: /src/tcpdump/print-syslog.c:120,1
    - Dst: tok2str
      Src: /src/tcpdump/print-syslog.c:122,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-syslog.c:139,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-syslog.c:142,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-syslog.c:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 147
    functionName: syslog_print
    functionSourceFile: /src/tcpdump/print-syslog.c
    functionUses: 1
    functionsReached:
    - print_unknown_data
    - nd_printjn
    - GET_U_1
    - ND_PRINT
    - nd_print_invalid
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void syslog_print(netdissect_options *ndo,\n             const u_char
      *pptr, u_int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-frag6.c:44,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-frag6.c:46,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-frag6.c:46,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-frag6.c:48,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-frag6.c:49,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-frag6.c:49,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-frag6.c:51,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-frag6.c:52,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-frag6.c:54,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-frag6.c:55,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-frag6.c:59,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-frag6.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ndo
    - bp
    - bp2
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 65
    functionName: frag6_print
    functionSourceFile: /src/tcpdump/print-frag6.c
    functionUses: 1
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: int frag6_print(netdissect_options *ndo, const u_char *bp, const u_char
      *bp2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6opts.c:49,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ip6opts.c:53,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6opts.c:55,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ip6opts.c:57,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ip6opts.c:58,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:62,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:65,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 76
    functionName: ip6_sopt_print
    functionSourceFile: /src/tcpdump/print-ip6opts.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TCHECK_LEN
    - ND_PRINT
    - ND_ICHECKMSG_U
    linkageType: ''
    returnType: int
    signature: int ip6_sopt_print(netdissect_options *ndo, const u_char *bp, const
      u_int len)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6opts.c:89,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ip6opts.c:93,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6opts.c:95,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ip6opts.c:97,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ip6opts.c:98,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:103,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:107,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ip6opts.c:110,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ip6opts.c:112,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:115,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ip6opts.c:115,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ip6opts.c:118,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ip6opts.c:120,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ip6opts.c:122,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:126,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:132,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:136,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:145,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:151,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ip6opts.c:157,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ip6opts.c:159,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:162,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-ip6opts.c:162,1
    - Dst: ip6_sopt_print
      Src: /src/tcpdump/print-ip6opts.c:164,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:168,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:173,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:178,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 5
    argNames:
    - ndo
    - bp
    - len
    - found_jumbop
    - payload_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 183
    functionName: ip6_opt_process
    functionSourceFile: /src/tcpdump/print-ip6opts.c
    functionUses: 0
    functionsReached:
    - ND_ICHECKMSG_U
    - GET_U_1
    - GET_IP6ADDR_STRING
    - ip6_sopt_print
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int ip6_opt_process(netdissect_options *ndo, const u_char *bp, const
      u_int len,\n\t\tint *found_jumbop, uint32_t *payload_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6opts.c:193,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ip6opts.c:194,1
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-ip6opts.c:195,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:196,1
    - Dst: ip6_opt_process
      Src: /src/tcpdump/print-ip6opts.c:197,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ip6opts.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ndo
    - bp
    - found_jumbo
    - jumbolen
    argTypes:
    - netdissect_options*
    - u_char*
    - int*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 205
    functionName: hbhopt_process
    functionSourceFile: /src/tcpdump/print-ip6opts.c
    functionUses: 1
    functionsReached:
    - nd_print_invalid
    - GET_U_1
    - nd_print_protocol_caps
    - ip6_opt_process
    - ND_PRINT
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: int
    signature: "int hbhopt_process(netdissect_options *ndo, const u_char *bp, int
      *found_jumbo,\n\t       uint32_t *jumbolen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip6opts.c:214,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ip6opts.c:215,1
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-ip6opts.c:216,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip6opts.c:217,1
    - Dst: ip6_opt_process
      Src: /src/tcpdump/print-ip6opts.c:224,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ip6opts.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 234
    functionName: dstopt_process
    functionSourceFile: /src/tcpdump/print-ip6opts.c
    functionUses: 1
    functionsReached:
    - nd_print_invalid
    - GET_U_1
    - nd_print_protocol_caps
    - ip6_opt_process
    - ND_PRINT
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: int
    signature: int dstopt_process(netdissect_options *ndo, const u_char *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:112,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-ether.c:113,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-ether.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - src
    - dst
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: ether_addresses_print
    functionSourceFile: /src/tcpdump/print-ether.c
    functionUses: 0
    functionsReached:
    - GET_MAC48_STRING
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void ether_addresses_print(netdissect_options *ndo, const u_char *src,\n\t\t
      \     const u_char *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:120,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ether.c:121,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:123,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ether.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - type
    argTypes:
    - netdissect_options*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: ether_type_print
    functionSourceFile: /src/tcpdump/print-ether.c
    functionUses: 0
    functionsReached:
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void ether_type_print(netdissect_options *ndo, uint16_t type)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:152,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ether.c:153,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ether.c:157,1
    - Dst: ether_addresses_print
      Src: /src/tcpdump/print-ether.c:182,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ether.c:200,1
    - Dst: ether_type_print
      Src: /src/tcpdump/print-ether.c:217,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:218,1
    - Dst: macsec_print
      Src: /src/tcpdump/print-ether.c:222,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-ether.c:228,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ether.c:237,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-ether.c:239,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ether.c:261,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ether.c:266,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ether.c:270,1
    - Dst: ether_type_print
      Src: /src/tcpdump/print-ether.c:272,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:274,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:277,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:278,1
    - Dst: ieee8021q_tci_string
      Src: /src/tcpdump/print-ether.c:278,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ether.c:281,1
    - Dst: nd_push_snaplen
      Src: /src/tcpdump/print-ether.c:307,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:313,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:315,1
    - Dst: llc_print
      Src: /src/tcpdump/print-ether.c:322,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-ether.c:326,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-ether.c:330,1
    - Dst: llc_print
      Src: /src/tcpdump/print-ether.c:342,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-ether.c:346,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:352,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:356,1
    - Dst: ether_type_print
      Src: /src/tcpdump/print-ether.c:359,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:360,1
    - Dst: arista_ethertype_print
      Src: /src/tcpdump/print-ether.c:361,1
    - Dst: ether_addresses_print
      Src: /src/tcpdump/print-ether.c:371,1
    - Dst: ether_type_print
      Src: /src/tcpdump/print-ether.c:372,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:373,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-ether.c:376,1
    - Dst: ether_type_print
      Src: /src/tcpdump/print-ether.c:383,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:385,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:387,1
    - Dst: ethertype_print
      Src: /src/tcpdump/print-ether.c:389,1
    - Dst: ether_addresses_print
      Src: /src/tcpdump/print-ether.c:399,1
    - Dst: ether_type_print
      Src: /src/tcpdump/print-ether.c:400,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:401,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-ether.c:405,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 165
    argCount: 6
    argNames:
    - ndo
    - p
    - length
    - caplen
    - switch_tag_len
    - encap_header_arg
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 410
    functionName: ether_common_print
    functionSourceFile: /src/tcpdump/print-ether.c
    functionUses: 0
    functionsReached:
    - ether_type_print
    - nd_pop_packet_info
    - ieee8021q_tci_string
    - nd_print_trunc
    - ether_addresses_print
    - nd_push_snaplen
    - GET_BE_U_2
    - ND_PRINT
    - arista_ethertype_print
    - macsec_print
    - ND_DEFAULTPRINT
    - nd_print_invalid
    - ethertype_print
    - ND_ICHECK_U
    - llc_print
    linkageType: ''
    returnType: u_int
    signature: "u_int ether_common_print(netdissect_options *ndo, const u_char *p,
      u_int length,\n    u_int caplen,\n    void (*print_switch_tag)(netdissect_options
      *ndo, const u_char *),\n    u_int switch_tag_len,\n    void (*print_encap_header)(netdissect_options
      *ndo, const u_char *),\n    const u_char *encap_header_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ether_common_print
      Src: /src/tcpdump/print-ether.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ndo
    - p
    - length
    - caplen
    - switch_tag_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 421
    functionDepth: 4
    functionLinenumber: 421
    functionLinenumberEnd: 429
    functionName: ether_switch_tag_print
    functionSourceFile: /src/tcpdump/print-ether.c
    functionUses: 3
    functionsReached:
    - ether_common_print
    linkageType: ''
    returnType: u_int
    signature: "u_int ether_switch_tag_print(netdissect_options *ndo, const u_char
      *p, u_int length,\n    u_int caplen,\n    void (*print_switch_tag)(netdissect_options
      *, const u_char *),\n    u_int switch_tag_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ether_common_print
      Src: /src/tcpdump/print-ether.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ndo
    - p
    - length
    - caplen
    - encap_header_arg
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 439
    functionDepth: 4
    functionLinenumber: 439
    functionLinenumberEnd: 448
    functionName: ether_print
    functionSourceFile: /src/tcpdump/print-ether.c
    functionUses: 9
    functionsReached:
    - ether_common_print
    linkageType: ''
    returnType: u_int
    signature: "u_int ether_print(netdissect_options *ndo,\n\t    const u_char *p,
      u_int length, u_int caplen,\n\t    void (*print_encap_header)(netdissect_options
      *ndo, const u_char *),\n\t    const u_char *encap_header_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ether_print
      Src: /src/tcpdump/print-ether.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 456
    functionDepth: 5
    functionLinenumber: 456
    functionLinenumberEnd: 463
    functionName: ether_if_print
    functionSourceFile: /src/tcpdump/print-ether.c
    functionUses: 0
    functionsReached:
    - ether_print
    linkageType: ''
    returnType: void
    signature: "void ether_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h,\n\t       const u_char *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-ether.c:482,1
    - Dst: ether_print
      Src: /src/tcpdump/print-ether.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 474
    functionDepth: 5
    functionLinenumber: 474
    functionLinenumberEnd: 488
    functionName: netanalyzer_if_print
    functionSourceFile: /src/tcpdump/print-ether.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_4
    - ether_print
    linkageType: ''
    returnType: void
    signature: "void netanalyzer_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h,\n\t\t     const u_char *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ether.c:510,1
    - Dst: ether_print
      Src: /src/tcpdump/print-ether.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 500
    functionDepth: 5
    functionLinenumber: 500
    functionLinenumberEnd: 516
    functionName: netanalyzer_transparent_if_print
    functionSourceFile: /src/tcpdump/print-ether.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - ether_print
    linkageType: ''
    returnType: void
    signature: "void netanalyzer_transparent_if_print(netdissect_options *ndo,\n\t\t\t\t
      const struct pcap_pkthdr *h,\n\t\t\t\t const u_char *p)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: ip_print
      Src: /src/tcpdump/print-ether.c:534,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-ether.c:538,1
    - Dst: arp_print
      Src: /src/tcpdump/print-ether.c:543,1
    - Dst: decnet_print
      Src: /src/tcpdump/print-ether.c:547,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:552,1
    - Dst: atalk_print
      Src: /src/tcpdump/print-ether.c:553,1
    - Dst: aarp_print
      Src: /src/tcpdump/print-ether.c:557,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:561,1
    - Dst: ipx_print
      Src: /src/tcpdump/print-ether.c:562,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ether.c:568,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-ether.c:573,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-ether.c:574,1
    - Dst: pppoe_print
      Src: /src/tcpdump/print-ether.c:581,1
    - Dst: eapol_print
      Src: /src/tcpdump/print-ether.c:585,1
    - Dst: rtl_print
      Src: /src/tcpdump/print-ether.c:589,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ether.c:594,1
    - Dst: ppp_print
      Src: /src/tcpdump/print-ether.c:595,1
    - Dst: mpcp_print
      Src: /src/tcpdump/print-ether.c:600,1
    - Dst: slow_print
      Src: /src/tcpdump/print-ether.c:604,1
    - Dst: cfm_print
      Src: /src/tcpdump/print-ether.c:609,1
    - Dst: lldp_print
      Src: /src/tcpdump/print-ether.c:613,1
    - Dst: nsh_print
      Src: /src/tcpdump/print-ether.c:617,1
    - Dst: loopback_print
      Src: /src/tcpdump/print-ether.c:621,1
    - Dst: mpls_print
      Src: /src/tcpdump/print-ether.c:626,1
    - Dst: tipc_print
      Src: /src/tcpdump/print-ether.c:630,1
    - Dst: msnlb_print
      Src: /src/tcpdump/print-ether.c:634,1
    - Dst: geonet_print
      Src: /src/tcpdump/print-ether.c:639,1
    - Dst: calm_fast_print
      Src: /src/tcpdump/print-ether.c:643,1
    - Dst: aoe_print
      Src: /src/tcpdump/print-ether.c:647,1
    - Dst: ptp_print
      Src: /src/tcpdump/print-ether.c:651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 104
    argCount: 7
    argNames:
    - ndo
    - ether_type
    - p
    - length
    - caplen
    - src
    - dst
    argTypes:
    - netdissect_options*
    - u_short
    - u_char*
    - u_int
    - u_int
    - struct lladdr_info*
    - struct lladdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 525
    functionDepth: 3
    functionLinenumber: 525
    functionLinenumberEnd: 663
    functionName: ethertype_print
    functionSourceFile: /src/tcpdump/print-ether.c
    functionUses: 3
    functionsReached:
    - msnlb_print
    - mpcp_print
    - lldp_print
    - aoe_print
    - ip6_print
    - atalk_print
    - rtl_print
    - decnet_print
    - nsh_print
    - ipx_print
    - ND_PRINT
    - pppoe_print
    - loopback_print
    - cfm_print
    - ip_print
    - geonet_print
    - ppp_print
    - calm_fast_print
    - slow_print
    - arp_print
    - nd_print_trunc
    - mpls_print
    - eapol_print
    - ND_TCHECK_1
    - aarp_print
    - isoclns_print
    - ptp_print
    - tipc_print
    linkageType: ''
    returnType: int
    signature: "int ethertype_print(netdissect_options *ndo,\n\t\tu_short ether_type,
      const u_char *p,\n\t\tu_int length, u_int caplen,\n\t\tconst struct lladdr_info
      *src, const struct lladdr_info *dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zephyr.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 111
    functionName: parse_field
    functionSourceFile: /src/tcpdump/print-zephyr.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    linkageType: ''
    returnType: char
    signature: 'char *

      parse_field(netdissect_options *ndo, const char **pptr, int *len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-zephyr.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - class
    - inst
    - recipient
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: z_triple
    functionSourceFile: /src/tcpdump/print-zephyr.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      z_triple(const char *class, const char *inst, const char *recipient)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/tcpdump/print-zephyr.c:128,1
    - Dst: ND_ASCII_TOLOWER
      Src: /src/tcpdump/print-zephyr.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 138
    functionName: str_to_lower
    functionSourceFile: /src/tcpdump/print-zephyr.c
    functionUses: 0
    functionsReached:
    - ND_ASCII_TOLOWER
    - strncpy
    linkageType: ''
    returnType: char
    signature: 'char *

      str_to_lower(const char *string)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str1
    - ','
    - str2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: ZEPHYR_PRINT
    functionSourceFile: /src/tcpdump/print-zephyr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEPHYR_PRINT(str1,str2)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: PARSE_FIELD_STR
      Src: /src/tcpdump/print-zephyr.c:185,1
    - Dst: strncmp
      Src: /src/tcpdump/print-zephyr.c:189,1
    - Dst: PARSE_FIELD_INT
      Src: /src/tcpdump/print-zephyr.c:192,1
    - Dst: PARSE_FIELD_INT
      Src: /src/tcpdump/print-zephyr.c:193,1
    - Dst: PARSE_FIELD_STR
      Src: /src/tcpdump/print-zephyr.c:194,1
    - Dst: PARSE_FIELD_INT
      Src: /src/tcpdump/print-zephyr.c:195,1
    - Dst: PARSE_FIELD_INT
      Src: /src/tcpdump/print-zephyr.c:196,1
    - Dst: PARSE_FIELD_INT
      Src: /src/tcpdump/print-zephyr.c:197,1
    - Dst: PARSE_FIELD_STR
      Src: /src/tcpdump/print-zephyr.c:198,1
    - Dst: PARSE_FIELD_STR
      Src: /src/tcpdump/print-zephyr.c:199,1
    - Dst: PARSE_FIELD_STR
      Src: /src/tcpdump/print-zephyr.c:200,1
    - Dst: PARSE_FIELD_STR
      Src: /src/tcpdump/print-zephyr.c:201,1
    - Dst: PARSE_FIELD_STR
      Src: /src/tcpdump/print-zephyr.c:202,1
    - Dst: PARSE_FIELD_STR
      Src: /src/tcpdump/print-zephyr.c:203,1
    - Dst: PARSE_FIELD_STR
      Src: /src/tcpdump/print-zephyr.c:204,1
    - Dst: PARSE_FIELD_INT
      Src: /src/tcpdump/print-zephyr.c:205,1
    - Dst: PARSE_FIELD_INT
      Src: /src/tcpdump/print-zephyr.c:206,1
    - Dst: PARSE_FIELD_STR
      Src: /src/tcpdump/print-zephyr.c:207,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zephyr.c:212,1
    - Dst: strncmp
      Src: /src/tcpdump/print-zephyr.c:213,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:214,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zephyr.c:218,1
    - Dst: tok2str
      Src: /src/tcpdump/print-zephyr.c:218,1
    - Dst: PARSE_FIELD_STR
      Src: /src/tcpdump/print-zephyr.c:222,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:223,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:224,1
    - Dst: str_to_lower
      Src: /src/tcpdump/print-zephyr.c:224,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:226,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:228,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:229,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zephyr.c:230,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:231,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zephyr.c:232,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:234,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:238,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:239,1
    - Dst: str_to_lower
      Src: /src/tcpdump/print-zephyr.c:239,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:243,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:244,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:245,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:246,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:247,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zephyr.c:249,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:249,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:250,1
    - Dst: PARSE_FIELD_STR
      Src: /src/tcpdump/print-zephyr.c:255,1
    - Dst: PARSE_FIELD_STR
      Src: /src/tcpdump/print-zephyr.c:256,1
    - Dst: PARSE_FIELD_STR
      Src: /src/tcpdump/print-zephyr.c:257,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:258,1
    - Dst: z_triple
      Src: /src/tcpdump/print-zephyr.c:258,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:263,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zephyr.c:264,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:268,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zephyr.c:269,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:273,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zephyr.c:274,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:278,1
    - Dst: str_to_lower
      Src: /src/tcpdump/print-zephyr.c:278,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:282,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:283,1
    - Dst: str_to_lower
      Src: /src/tcpdump/print-zephyr.c:283,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:287,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:288,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zephyr.c:289,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:290,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zephyr.c:291,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:292,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zephyr.c:293,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:294,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zephyr.c:295,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:300,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:301,1
    - Dst: str_to_lower
      Src: /src/tcpdump/print-zephyr.c:301,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:302,1
    - Dst: str_to_lower
      Src: /src/tcpdump/print-zephyr.c:302,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:306,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:307,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:307,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zephyr.c:308,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:313,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:314,1
    - Dst: str_to_lower
      Src: /src/tcpdump/print-zephyr.c:314,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:315,1
    - Dst: str_to_lower
      Src: /src/tcpdump/print-zephyr.c:315,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:319,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:320,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zephyr.c:321,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:325,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:326,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:327,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:328,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:329,1
    - Dst: strcmp
      Src: /src/tcpdump/print-zephyr.c:330,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:331,1
    - Dst: str_to_lower
      Src: /src/tcpdump/print-zephyr.c:331,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:339,1
    - Dst: z_triple
      Src: /src/tcpdump/print-zephyr.c:339,1
    - Dst: ZEPHYR_PRINT
      Src: /src/tcpdump/print-zephyr.c:341,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-zephyr.c:345,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 130
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 346
    functionName: zephyr_print
    functionSourceFile: /src/tcpdump/print-zephyr.c
    functionUses: 1
    functionsReached:
    - tok2str
    - PARSE_FIELD_INT
    - PARSE_FIELD_STR
    - ZEPHYR_PRINT
    - strcmp
    - ND_PRINT
    - z_triple
    - str_to_lower
    - nd_print_invalid
    - strncmp
    linkageType: ''
    returnType: void
    signature: void zephyr_print(netdissect_options *ndo, const u_char *cp, u_int
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: PARSE_FIELD_INT
    functionSourceFile: /src/tcpdump/print-zephyr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_FIELD_INT(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: PARSE_FIELD_STR
    functionSourceFile: /src/tcpdump/print-zephyr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_FIELD_STR(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: MPLS_LABEL
    functionSourceFile: /src/tcpdump/mpls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPLS_LABEL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: MPLS_TC
    functionSourceFile: /src/tcpdump/mpls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPLS_TC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: MPLS_STACK
    functionSourceFile: /src/tcpdump/mpls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPLS_STACK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: MPLS_TTL
    functionSourceFile: /src/tcpdump/mpls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MPLS_TTL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txtproto_print
      Src: /src/tcpdump/print-http.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: http_print
    functionSourceFile: /src/tcpdump/print-http.c
    functionUses: 1
    functionsReached:
    - txtproto_print
    linkageType: ''
    returnType: void
    signature: void http_print(netdissect_options *ndo, const u_char *pptr, u_int
      len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:165,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:169,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:173,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:177,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:181,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:185,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:189,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:196,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:200,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:204,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:208,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:212,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:216,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:220,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - ndo
    - fc
    argTypes:
    - netdissect_options*
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 224
    functionName: print_fddi_fc
    functionSourceFile: /src/tcpdump/print-fddi.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void print_fddi_fc(netdissect_options *ndo, u_char fc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tcpdump/print-fddi.c:242,1
    - Dst: memcpy
      Src: /src/tcpdump/print-fddi.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - fddip
    - fsrc
    - fdst
    argTypes:
    - struct fddi_header*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: extract_fddi_addrs
    functionSourceFile: /src/tcpdump/print-fddi.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void extract_fddi_addrs(const struct fddi_header *fddip, char *fsrc,
      char *fdst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mac48_string
      Src: /src/tcpdump/print-fddi.c:257,1
    - Dst: mac48_string
      Src: /src/tcpdump/print-fddi.c:258,1
    - Dst: print_fddi_fc
      Src: /src/tcpdump/print-fddi.c:261,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fddi.c:261,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ndo
    - fddip
    - length
    - fsrc
    - fdst
    argTypes:
    - netdissect_options*
    - struct fddi_header*
    - u_int
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 265
    functionName: fddi_hdr_print
    functionSourceFile: /src/tcpdump/print-fddi.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - print_fddi_fc
    - mac48_string
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void fddi_hdr_print(netdissect_options *ndo,\n               const
      struct fddi_header *fddip, u_int length,\n               const u_char *fsrc,
      const u_char *fdst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fddi.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - _U_
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: fddi_smt_print
    functionSourceFile: /src/tcpdump/print-fddi.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void fddi_smt_print(netdissect_options *ndo, const u_char *p _U_, u_int
      length _U_)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-fddi.c:284,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fddi.c:288,1
    - Dst: extract_fddi_addrs
      Src: /src/tcpdump/print-fddi.c:293,1
    - Dst: fddi_hdr_print
      Src: /src/tcpdump/print-fddi.c:296,1
    - Dst: llc_print
      Src: /src/tcpdump/print-fddi.c:311,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-fddi.c:318,1
    - Dst: fddi_smt_print
      Src: /src/tcpdump/print-fddi.c:322,1
    - Dst: fddi_hdr_print
      Src: /src/tcpdump/print-fddi.c:327,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-fddi.c:330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - ndo
    - p
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 334
    functionName: fddi_print
    functionSourceFile: /src/tcpdump/print-fddi.c
    functionUses: 0
    functionsReached:
    - extract_fddi_addrs
    - GET_U_1
    - fddi_hdr_print
    - fddi_smt_print
    - nd_print_trunc
    - ND_DEFAULTPRINT
    - llc_print
    linkageType: ''
    returnType: u_int
    signature: u_int fddi_print(netdissect_options *ndo, const u_char *p, u_int length,
      u_int caplen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fddi_print
      Src: /src/tcpdump/print-fddi.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 342
    functionDepth: 4
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: fddi_if_print
    functionSourceFile: /src/tcpdump/print-fddi.c
    functionUses: 0
    functionsReached:
    - fddi_print
    linkageType: ''
    returnType: void
    signature: void fddi_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: EXTRACT_U_1
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_U_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: EXTRACT_S_1
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_S_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/tcpdump/extract.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: EXTRACT_BE_U_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 6
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_U_2(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/tcpdump/extract.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: EXTRACT_BE_S_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_S_2(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tcpdump/extract.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: EXTRACT_BE_U_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 4
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_U_4(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tcpdump/extract.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: EXTRACT_BE_S_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_S_4(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tcpdump/extract.h:114,1
    - Dst: ntohl
      Src: /src/tcpdump/extract.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: EXTRACT_BE_U_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_U_8(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tcpdump/extract.h:122,1
    - Dst: ntohl
      Src: /src/tcpdump/extract.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: EXTRACT_BE_S_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_S_8(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tcpdump/extract.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: EXTRACT_IPV4_TO_HOST_ORDER
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_IPV4_TO_HOST_ORDER(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/tcpdump/extract.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: EXTRACT_BE_U_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 6
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_U_2(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/tcpdump/extract.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: EXTRACT_BE_S_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_S_2(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tcpdump/extract.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: EXTRACT_BE_U_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 4
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_U_4(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tcpdump/extract.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: EXTRACT_BE_S_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_S_4(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tcpdump/extract.h:234,1
    - Dst: ntohl
      Src: /src/tcpdump/extract.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: EXTRACT_BE_U_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_U_8(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tcpdump/extract.h:241,1
    - Dst: ntohl
      Src: /src/tcpdump/extract.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: EXTRACT_BE_S_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_BE_S_8(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tcpdump/extract.h:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: EXTRACT_IPV4_TO_HOST_ORDER
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: UNALIGNED_OK
    signature: UNALIGNED_OK EXTRACT_IPV4_TO_HOST_ORDER(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: EXTRACT_BE_U_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_U_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: EXTRACT_BE_S_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_S_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: EXTRACT_BE_U_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_U_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: EXTRACT_BE_S_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_S_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: EXTRACT_BE_U_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_U_8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: EXTRACT_BE_S_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_S_8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: EXTRACT_IPV4_TO_HOST_ORDER
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_IPV4_TO_HOST_ORDER(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/extract.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: EXTRACT_HE_U_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - UNALIGNED_MEMCPY
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t EXTRACT_HE_U_2(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/extract.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 349
    functionName: EXTRACT_HE_S_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - UNALIGNED_MEMCPY
    linkageType: ''
    returnType: int16_t
    signature: int16_t EXTRACT_HE_S_2(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/extract.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 358
    functionName: EXTRACT_HE_U_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - UNALIGNED_MEMCPY
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t EXTRACT_HE_U_4(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/extract.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 367
    functionName: EXTRACT_HE_S_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - UNALIGNED_MEMCPY
    linkageType: ''
    returnType: int32_t
    signature: int32_t EXTRACT_HE_S_4(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/extract.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: EXTRACT_IPV4_TO_NETWORK_ORDER
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - UNALIGNED_MEMCPY
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t EXTRACT_IPV4_TO_NETWORK_ORDER(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 392
    functionName: EXTRACT_BE_U_3
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_U_3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 402
    functionName: EXTRACT_BE_S_3
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_S_3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: EXTRACT_BE_U_5
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_U_5(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 423
    functionName: EXTRACT_BE_S_5
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_S_5(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: EXTRACT_BE_U_6
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_U_6(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 447
    functionName: EXTRACT_BE_S_6
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_S_6(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: EXTRACT_BE_U_7
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_U_7(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 474
    functionName: EXTRACT_BE_S_7
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_BE_S_7(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: EXTRACT_LE_U_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_U_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: EXTRACT_LE_S_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_S_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 490
    functionName: EXTRACT_LE_U_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_U_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: EXTRACT_LE_S_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_S_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 504
    functionName: EXTRACT_LE_U_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_U_8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 513
    functionName: EXTRACT_LE_S_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_S_8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: EXTRACT_LE_U_3
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_U_3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: EXTRACT_LE_S_3
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_S_3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 532
    functionName: EXTRACT_LE_U_5
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_U_5(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: EXTRACT_LE_U_6
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_U_6(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 547
    functionName: EXTRACT_LE_U_7
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRACT_LE_U_7(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 552
    functionName: ND_TTEST_1
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TTEST_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 553
    functionName: ND_TCHECK_1
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TCHECK_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 555
    functionName: ND_TTEST_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TTEST_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 556
    functionName: ND_TCHECK_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TCHECK_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 558
    functionName: ND_TTEST_3
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TTEST_3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 559
    functionName: ND_TCHECK_3
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TCHECK_3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 561
    functionName: ND_TTEST_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TTEST_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 562
    functionName: ND_TCHECK_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TCHECK_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 564
    functionName: ND_TTEST_5
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TTEST_5(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 565
    functionName: ND_TCHECK_5
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TCHECK_5(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 567
    functionName: ND_TTEST_6
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TTEST_6(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 568
    functionName: ND_TCHECK_6
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TCHECK_6(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 570
    functionName: ND_TTEST_7
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TTEST_7(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 571
    functionName: ND_TCHECK_7
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TCHECK_7(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 573
    functionName: ND_TTEST_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TTEST_8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 574
    functionName: ND_TCHECK_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TCHECK_8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 576
    functionName: ND_TTEST_16
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TTEST_16(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 577
    functionName: ND_TCHECK_16
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_TCHECK_16(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/extract.h:583,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:584,1
    - Dst: EXTRACT_U_1
      Src: /src/tcpdump/extract.h:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 586
    functionName: get_u_1
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - EXTRACT_U_1
    - ND_TTEST_1
    - nd_trunc_longjmp
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t get_u_1(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/extract.h:591,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:592,1
    - Dst: EXTRACT_S_1
      Src: /src/tcpdump/extract.h:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 594
    functionName: get_s_1
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ND_TTEST_1
    - nd_trunc_longjmp
    - EXTRACT_S_1
    linkageType: ''
    returnType: int8_t
    signature: int8_t get_s_1(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/extract.h:601,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:602,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/tcpdump/extract.h:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: get_be_u_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ND_TTEST_2
    - EXTRACT_BE_U_2
    - nd_trunc_longjmp
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_be_u_2(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_3
      Src: /src/tcpdump/extract.h:609,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:610,1
    - Dst: EXTRACT_BE_U_3
      Src: /src/tcpdump/extract.h:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 612
    functionName: get_be_u_3
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_TTEST_3
    - EXTRACT_BE_U_3
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_be_u_3(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/extract.h:617,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:618,1
    - Dst: EXTRACT_BE_U_4
      Src: /src/tcpdump/extract.h:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 620
    functionName: get_be_u_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_TTEST_4
    - EXTRACT_BE_U_4
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_be_u_4(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_5
      Src: /src/tcpdump/extract.h:625,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:626,1
    - Dst: EXTRACT_BE_U_5
      Src: /src/tcpdump/extract.h:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 628
    functionName: get_be_u_5
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ND_TTEST_5
    - nd_trunc_longjmp
    - EXTRACT_BE_U_5
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_be_u_5(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_6
      Src: /src/tcpdump/extract.h:633,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:634,1
    - Dst: EXTRACT_BE_U_6
      Src: /src/tcpdump/extract.h:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 636
    functionName: get_be_u_6
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_TTEST_6
    - EXTRACT_BE_U_6
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_be_u_6(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_7
      Src: /src/tcpdump/extract.h:641,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:642,1
    - Dst: EXTRACT_BE_U_7
      Src: /src/tcpdump/extract.h:643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 644
    functionName: get_be_u_7
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - EXTRACT_BE_U_7
    - ND_TTEST_7
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_be_u_7(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_8
      Src: /src/tcpdump/extract.h:649,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:650,1
    - Dst: EXTRACT_BE_U_8
      Src: /src/tcpdump/extract.h:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 652
    functionName: get_be_u_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_TTEST_8
    - EXTRACT_BE_U_8
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_be_u_8(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/extract.h:659,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:660,1
    - Dst: EXTRACT_BE_S_2
      Src: /src/tcpdump/extract.h:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 662
    functionName: get_be_s_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ND_TTEST_2
    - EXTRACT_BE_S_2
    - nd_trunc_longjmp
    linkageType: ''
    returnType: int16_t
    signature: int16_t get_be_s_2(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_3
      Src: /src/tcpdump/extract.h:667,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:668,1
    - Dst: EXTRACT_BE_S_3
      Src: /src/tcpdump/extract.h:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 670
    functionName: get_be_s_3
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_TTEST_3
    - EXTRACT_BE_S_3
    linkageType: ''
    returnType: int32_t
    signature: int32_t get_be_s_3(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/extract.h:675,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:676,1
    - Dst: EXTRACT_BE_S_4
      Src: /src/tcpdump/extract.h:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 678
    functionName: get_be_s_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - EXTRACT_BE_S_4
    - ND_TTEST_4
    linkageType: ''
    returnType: int32_t
    signature: int32_t get_be_s_4(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_5
      Src: /src/tcpdump/extract.h:683,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:684,1
    - Dst: EXTRACT_BE_S_5
      Src: /src/tcpdump/extract.h:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 686
    functionName: get_be_s_5
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ND_TTEST_5
    - nd_trunc_longjmp
    - EXTRACT_BE_S_5
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_be_s_5(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_6
      Src: /src/tcpdump/extract.h:691,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:692,1
    - Dst: EXTRACT_BE_S_6
      Src: /src/tcpdump/extract.h:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 694
    functionName: get_be_s_6
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - EXTRACT_BE_S_6
    - nd_trunc_longjmp
    - ND_TTEST_6
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_be_s_6(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_7
      Src: /src/tcpdump/extract.h:699,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:700,1
    - Dst: EXTRACT_BE_S_7
      Src: /src/tcpdump/extract.h:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 702
    functionName: get_be_s_7
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - EXTRACT_BE_S_7
    - ND_TTEST_7
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_be_s_7(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_8
      Src: /src/tcpdump/extract.h:707,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:708,1
    - Dst: EXTRACT_BE_S_8
      Src: /src/tcpdump/extract.h:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 710
    functionName: get_be_s_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_TTEST_8
    - EXTRACT_BE_S_8
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_be_s_8(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/extract.h:717,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:718,1
    - Dst: EXTRACT_HE_U_2
      Src: /src/tcpdump/extract.h:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 720
    functionName: get_he_u_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - EXTRACT_HE_U_2
    - ND_TTEST_2
    - nd_trunc_longjmp
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_he_u_2(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/extract.h:725,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:726,1
    - Dst: EXTRACT_HE_U_4
      Src: /src/tcpdump/extract.h:727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 722
    functionDepth: 2
    functionLinenumber: 722
    functionLinenumberEnd: 728
    functionName: get_he_u_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_TTEST_4
    - EXTRACT_HE_U_4
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_he_u_4(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/extract.h:735,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:736,1
    - Dst: EXTRACT_HE_S_2
      Src: /src/tcpdump/extract.h:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 738
    functionName: get_he_s_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - EXTRACT_HE_S_2
    - ND_TTEST_2
    - nd_trunc_longjmp
    linkageType: ''
    returnType: int16_t
    signature: int16_t get_he_s_2(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/extract.h:743,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:744,1
    - Dst: EXTRACT_HE_S_4
      Src: /src/tcpdump/extract.h:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 740
    functionDepth: 2
    functionLinenumber: 740
    functionLinenumberEnd: 746
    functionName: get_he_s_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_TTEST_4
    - EXTRACT_HE_S_4
    linkageType: ''
    returnType: int32_t
    signature: int32_t get_he_s_4(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/extract.h:758,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:759,1
    - Dst: EXTRACT_BE_U_4
      Src: /src/tcpdump/extract.h:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: get_be_f_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_TTEST_4
    - EXTRACT_BE_U_4
    linkageType: ''
    returnType: float
    signature: float get_be_f_4(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_8
      Src: /src/tcpdump/extract.h:772,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:773,1
    - Dst: EXTRACT_BE_U_8
      Src: /src/tcpdump/extract.h:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 776
    functionName: get_be_f_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_TTEST_8
    - EXTRACT_BE_U_8
    linkageType: ''
    returnType: double
    signature: double get_be_f_8(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/extract.h:783,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:784,1
    - Dst: EXTRACT_LE_U_2
      Src: /src/tcpdump/extract.h:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 786
    functionName: get_le_u_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ND_TTEST_2
    - EXTRACT_LE_U_2
    - nd_trunc_longjmp
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_le_u_2(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_3
      Src: /src/tcpdump/extract.h:791,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:792,1
    - Dst: EXTRACT_LE_U_3
      Src: /src/tcpdump/extract.h:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 794
    functionName: get_le_u_3
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - EXTRACT_LE_U_3
    - nd_trunc_longjmp
    - ND_TTEST_3
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_le_u_3(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/extract.h:799,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:800,1
    - Dst: EXTRACT_LE_U_4
      Src: /src/tcpdump/extract.h:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 802
    functionName: get_le_u_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - EXTRACT_LE_U_4
    - ND_TTEST_4
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_le_u_4(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_5
      Src: /src/tcpdump/extract.h:807,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:808,1
    - Dst: EXTRACT_LE_U_5
      Src: /src/tcpdump/extract.h:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 810
    functionName: get_le_u_5
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ND_TTEST_5
    - nd_trunc_longjmp
    - EXTRACT_LE_U_5
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_le_u_5(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_6
      Src: /src/tcpdump/extract.h:815,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:816,1
    - Dst: EXTRACT_LE_U_6
      Src: /src/tcpdump/extract.h:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 818
    functionName: get_le_u_6
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - EXTRACT_LE_U_6
    - ND_TTEST_6
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_le_u_6(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_7
      Src: /src/tcpdump/extract.h:823,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:824,1
    - Dst: EXTRACT_LE_U_7
      Src: /src/tcpdump/extract.h:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 826
    functionName: get_le_u_7
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_TTEST_7
    - EXTRACT_LE_U_7
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_le_u_7(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_8
      Src: /src/tcpdump/extract.h:831,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:832,1
    - Dst: EXTRACT_LE_U_8
      Src: /src/tcpdump/extract.h:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 834
    functionName: get_le_u_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_TTEST_8
    - EXTRACT_LE_U_8
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_le_u_8(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/extract.h:841,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:842,1
    - Dst: EXTRACT_LE_S_2
      Src: /src/tcpdump/extract.h:843,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 844
    functionName: get_le_s_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - ND_TTEST_2
    - EXTRACT_LE_S_2
    - nd_trunc_longjmp
    linkageType: ''
    returnType: int16_t
    signature: int16_t get_le_s_2(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_3
      Src: /src/tcpdump/extract.h:849,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:850,1
    - Dst: EXTRACT_LE_S_3
      Src: /src/tcpdump/extract.h:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 852
    functionName: get_le_s_3
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_TTEST_3
    - EXTRACT_LE_S_3
    linkageType: ''
    returnType: int32_t
    signature: int32_t get_le_s_3(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/extract.h:857,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:858,1
    - Dst: EXTRACT_LE_S_4
      Src: /src/tcpdump/extract.h:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 860
    functionName: get_le_s_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - ND_TTEST_4
    - EXTRACT_LE_S_4
    linkageType: ''
    returnType: int32_t
    signature: int32_t get_le_s_4(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_8
      Src: /src/tcpdump/extract.h:865,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:866,1
    - Dst: EXTRACT_LE_S_8
      Src: /src/tcpdump/extract.h:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 868
    functionName: get_le_s_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - EXTRACT_LE_S_8
    - nd_trunc_longjmp
    - ND_TTEST_8
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_le_s_8(netdissect_options *ndo, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/extract.h:875,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:876,1
    - Dst: EXTRACT_IPV4_TO_HOST_ORDER
      Src: /src/tcpdump/extract.h:877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 878
    functionName: get_ipv4_to_host_order
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - EXTRACT_IPV4_TO_HOST_ORDER
    - ND_TTEST_4
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_ipv4_to_host_order(netdissect_options *ndo, const u_char
      *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/extract.h:883,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:884,1
    - Dst: EXTRACT_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/extract.h:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 886
    functionName: get_ipv4_to_network_order
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - EXTRACT_IPV4_TO_NETWORK_ORDER
    - ND_TTEST_4
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_ipv4_to_network_order(netdissect_options *ndo, const u_char
      *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/extract.h:891,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/extract.h:892,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/extract.h:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ndo
    - dst
    - p
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 894
    functionName: get_cpy_bytes
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - UNALIGNED_MEMCPY
    - ND_TTEST_LEN
    linkageType: ''
    returnType: void
    signature: void get_cpy_bytes(netdissect_options *ndo, u_char *dst, const u_char
      *p, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 897
    functionName: GET_U_1
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 205
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_U_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 898
    functionName: GET_S_1
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_S_1(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 900
    functionName: GET_BE_U_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 136
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_U_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 901
    functionName: GET_BE_U_3
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_U_3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 902
    functionName: GET_BE_U_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 114
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_U_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 903
    functionName: GET_BE_U_5
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_U_5(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 904
    functionName: GET_BE_U_6
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_U_6(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 905
    functionName: GET_BE_U_7
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_U_7(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 906
    functionName: GET_BE_U_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_U_8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 908
    functionName: GET_BE_S_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_S_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 909
    functionName: GET_BE_S_3
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_S_3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 910
    functionName: GET_BE_S_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_S_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 911
    functionName: GET_BE_S_5
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_S_5(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 912
    functionName: GET_BE_S_6
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_S_6(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 913
    functionName: GET_BE_S_7
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_S_7(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 914
    functionName: GET_BE_S_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_S_8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 916
    functionName: GET_BE_F_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_F_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 917
    functionName: GET_BE_F_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_BE_F_8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 919
    functionName: GET_HE_U_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_HE_U_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 920
    functionName: GET_HE_U_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_HE_U_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 922
    functionName: GET_HE_S_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_HE_S_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 923
    functionName: GET_HE_S_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_HE_S_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 925
    functionName: GET_LE_U_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LE_U_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 926
    functionName: GET_LE_U_3
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LE_U_3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 927
    functionName: GET_LE_U_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LE_U_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 928
    functionName: GET_LE_U_5
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LE_U_5(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 929
    functionName: GET_LE_U_6
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LE_U_6(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 930
    functionName: GET_LE_U_7
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LE_U_7(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 931
    functionName: GET_LE_U_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LE_U_8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 933
    functionName: GET_LE_S_2
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LE_S_2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 934
    functionName: GET_LE_S_3
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LE_S_3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 935
    functionName: GET_LE_S_4
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LE_S_4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 936
    functionName: GET_LE_S_8
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_LE_S_8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 938
    functionName: GET_IPV4_TO_HOST_ORDER
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_IPV4_TO_HOST_ORDER(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 939
    functionName: GET_IPV4_TO_NETWORK_ORDER
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_IPV4_TO_NETWORK_ORDER(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 941
    functionName: GET_CPY_BYTES
    functionSourceFile: /src/tcpdump/extract.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CPY_BYTES(dst, p, len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipoib.c:46,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipoib.c:48,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ipoib.c:49,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipoib.c:52,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ipoib.c:53,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ipoib.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: ipoib_hdr_print
    functionSourceFile: /src/tcpdump/print-ipoib.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void ipoib_hdr_print(netdissect_options *ndo, const u_char *bp, u_int
      length)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ipoib.c:74,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ipoib.c:80,1
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-ipoib.c:86,1
    - Dst: ipoib_hdr_print
      Src: /src/tcpdump/print-ipoib.c:89,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ipoib.c:96,1
    - Dst: ethertype_print
      Src: /src/tcpdump/print-ipoib.c:99,1
    - Dst: ipoib_hdr_print
      Src: /src/tcpdump/print-ipoib.c:104,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-ipoib.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 5
    argNames:
    - ndo
    - p
    - length
    - caplen
    - encap_header_arg
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 110
    functionName: ipoib_print
    functionSourceFile: /src/tcpdump/print-ipoib.c
    functionUses: 0
    functionsReached:
    - nd_print_protocol_caps
    - nd_print_trunc
    - GET_BE_U_2
    - ND_DEFAULTPRINT
    - ethertype_print
    - ipoib_hdr_print
    linkageType: ''
    returnType: void
    signature: "void ipoib_print(netdissect_options *ndo, const u_char *p, u_int length,
      u_int caplen,\n    void (*print_encap_header)(const u_char *), const u_char
      *encap_header_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipoib_print
      Src: /src/tcpdump/print-ipoib.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 5
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: ipoib_if_print
    functionSourceFile: /src/tcpdump/print-ipoib.c
    functionUses: 0
    functionsReached:
    - ipoib_print
    linkageType: ''
    returnType: void
    signature: void ipoib_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: IGRP_V
    functionSourceFile: /src/tcpdump/print-igrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IGRP_V(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: IGRP_OP
    functionSourceFile: /src/tcpdump/print-igrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IGRP_OP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-igrp.c:72,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-igrp.c:73,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-igrp.c:74,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-igrp.c:75,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igrp.c:77,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igrp.c:79,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igrp.c:79,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igrp.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ndo
    - igr
    argTypes:
    - netdissect_options*
    - struct igrprte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: igrp_entry_print
    functionSourceFile: /src/tcpdump/print-igrp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_3
    - ND_MIN
    linkageType: ''
    returnType: void
    signature: void igrp_entry_print(netdissect_options *ndo, const struct igrprte
      *igr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igrp.c:100,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-igrp.c:103,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-igrp.c:104,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-igrp.c:105,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igrp.c:107,1
    - Dst: tok2str
      Src: /src/tcpdump/print-igrp.c:108,1
    - Dst: IGRP_OP
      Src: /src/tcpdump/print-igrp.c:108,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igrp.c:108,1
    - Dst: IGRP_V
      Src: /src/tcpdump/print-igrp.c:109,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igrp.c:109,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igrp.c:110,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-igrp.c:111,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-igrp.c:115,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igrp.c:117,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igrp.c:122,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igrp.c:123,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igrp.c:124,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igrp.c:127,1
    - Dst: igrp_entry_print
      Src: /src/tcpdump/print-igrp.c:128,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igrp.c:131,1
    - Dst: igrp_entry_print
      Src: /src/tcpdump/print-igrp.c:132,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igrp.c:135,1
    - Dst: igrp_entry_print
      Src: /src/tcpdump/print-igrp.c:136,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igrp.c:139,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-igrp.c:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 147
    functionName: igrp_print
    functionSourceFile: /src/tcpdump/print-igrp.c
    functionUses: 2
    functionsReached:
    - IGRP_OP
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - IGRP_V
    - igrp_entry_print
    - nd_print_invalid
    - tok2str
    linkageType: ''
    returnType: void
    signature: void igrp_print(netdissect_options *ndo, const u_char *bp, u_int length)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - tom
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: tom_valid
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tom_valid(uint8_t tom)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - node
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: ForCES_node
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      ForCES_node(uint32_t node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - forcesh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: ForCES_V
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ForCES_V(forcesh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - forcesh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: ForCES_BLN
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ForCES_BLN(forcesh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - forcesh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: ForCES_SID
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ForCES_SID(forcesh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - forcesh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: ForCES_DID
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ForCES_DID(forcesh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - forcesh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: ForCES_ACK
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ForCES_ACK(forcesh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - forcesh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: ForCES_PRI
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ForCES_PRI(forcesh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - forcesh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: ForCES_RS1
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ForCES_RS1(forcesh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - forcesh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: ForCES_EM
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ForCES_EM(forcesh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - forcesh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: ForCES_AT
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ForCES_AT(forcesh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - forcesh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: ForCES_TP
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ForCES_TP(forcesh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - forcesh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: ForCES_RS2
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ForCES_RS2(forcesh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fhl
    - ','
    - tlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: ForCES_HLN_VALID
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ForCES_HLN_VALID(fhl,tlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - opt
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: get_forces_optlv_h
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct optlv_h
    signature: 'struct optlv_h *

      get_forces_optlv_h(uint16_t opt)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - indent
    - nlpref
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 314
    functionName: indent_pr
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      indent_pr(int indent, int nlpref)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - op
    - mask
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: op_valid
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int op_valid(uint16_t op, uint16_t mask)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - ttlv
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 378
    functionName: ttlv_valid
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ttlv_valid(uint16_t ttlv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 391
    functionName: F_ALN_LEN
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_ALN_LEN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fhdr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    functionName: GET_TOP_TLV
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_TOP_TLV(fhdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: TLV_SET_LEN
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLV_SET_LEN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tlvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: TLV_DATA
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLV_DATA(tlvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tlv
    - ','
    - rlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: GO_NXT_TLV
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GO_NXT_TLV(tlv,rlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: ILV_SET_LEN
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ILV_SET_LEN(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ilvp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: ILV_DATA
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ILV_DATA(ilvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ilv
    - ','
    - rlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: GO_NXT_ILV
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GO_NXT_ILV(ilv,rlen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: F_ALN_LEN
      Src: /src/tcpdump/print-forces.c:424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - tlvl
    - rlen
    argTypes:
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 428
    functionName: tlv_valid
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - F_ALN_LEN
    linkageType: ''
    returnType: u_int
    signature: u_int tlv_valid(u_int tlvl, u_int rlen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:435,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:437,1
    - Dst: F_ALN_LEN
      Src: /src/tcpdump/print-forces.c:439,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - ilv
    - rlen
    argTypes:
    - netdissect_options*
    - struct forces_ilv*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 443
    functionName: ilv_valid
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - F_ALN_LEN
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: int ilv_valid(netdissect_options *ndo, const struct forces_ilv *ilv,
      u_int rlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - tom
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 497
    functionName: get_forces_tom
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tom_h
    signature: 'struct tom_h *

      get_forces_tom(uint8_t tom)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pd
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: pd_valid
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pd_valid(uint16_t pd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:534,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ndo
    - type
    - msk
    - omsk
    argTypes:
    - netdissect_options*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 544
    functionName: chk_op_type
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void chk_op_type(netdissect_options *ndo,\n            uint16_t type,
      uint16_t msk, uint16_t omsk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pd
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 585
    functionName: get_forces_pd
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct pdata_ops
    signature: 'struct pdata_ops *

      get_forces_pd(uint16_t pd)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TLV_DATA
      Src: /src/tcpdump/print-forces.c:662,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:673,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-forces.c:677,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-forces.c:678,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:680,1
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:685,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:686,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:687,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 693
    functionName: prestlv_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - tok2str
    - GET_U_1
    - ND_PRINT
    - indent_pr
    - TLV_DATA
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int prestlv_print(netdissect_options *ndo,\n              const u_char
      * pptr, u_int len,\n              uint16_t op_msk _U_, int indent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TLV_DATA
      Src: /src/tcpdump/print-forces.c:702,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-forces.c:710,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:711,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:713,1
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:718,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:719,1
    - Dst: hex_print
      Src: /src/tcpdump/print-forces.c:720,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 727
    functionName: fdatatlv_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - hex_print
    - ND_PRINT
    - indent_pr
    - TLV_DATA
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int fdatatlv_print(netdissect_options *ndo,\n               const
      u_char * pptr, u_int len,\n               uint16_t op_msk _U_, int indent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:739,1
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:745,1
    - Dst: ILV_DATA
      Src: /src/tcpdump/print-forces.c:746,1
    - Dst: ilv_valid
      Src: /src/tcpdump/print-forces.c:747,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:749,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:750,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:754,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:755,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:756,1
    - Dst: hex_print
      Src: /src/tcpdump/print-forces.c:757,1
    - Dst: GO_NXT_ILV
      Src: /src/tcpdump/print-forces.c:760,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 729
    functionDepth: 2
    functionLinenumber: 729
    functionLinenumberEnd: 766
    functionName: sdatailv_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - ILV_DATA
    - GO_NXT_ILV
    - hex_print
    - indent_pr
    - ND_PRINT
    - ilv_valid
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int sdatailv_print(netdissect_options *ndo,\n               const
      u_char * pptr, u_int len,\n               uint16_t op_msk _U_, int indent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLV_DATA
      Src: /src/tcpdump/print-forces.c:775,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-forces.c:783,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:784,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:786,1
    - Dst: sdatailv_print
      Src: /src/tcpdump/print-forces.c:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 768
    functionDepth: 3
    functionLinenumber: 768
    functionLinenumberEnd: 794
    functionName: sdatatlv_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - sdatailv_print
    - ND_PRINT
    - TLV_DATA
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int sdatatlv_print(netdissect_options *ndo,\n               const
      u_char * pptr, u_int len,\n               uint16_t op_msk, int indent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TLV_DATA
      Src: /src/tcpdump/print-forces.c:802,1
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:806,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:810,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:811,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:812,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:813,1
    - Dst: tlv_valid
      Src: /src/tcpdump/print-forces.c:814,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:817,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:818,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:827,1
    - Dst: TLV_DATA
      Src: /src/tcpdump/print-forces.c:828,1
    - Dst: fdatatlv_print
      Src: /src/tcpdump/print-forces.c:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 832
    functionName: pkeyitlv_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - tlv_valid
    - fdatatlv_print
    - tok2str
    - GET_BE_U_2
    - ND_PRINT
    - indent_pr
    - TLV_DATA
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int pkeyitlv_print(netdissect_options *ndo,\n               const
      u_char * pptr, u_int len,\n               uint16_t op_msk, int indent)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:843,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:846,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-forces.c:849,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:850,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:852,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:862,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:870,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:874,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:879,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:887,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:900,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:902,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:908,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:925,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:926,1
    - Dst: tlv_valid
      Src: /src/tcpdump/print-forces.c:927,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:929,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:930,1
    - Dst: F_ALN_LEN
      Src: /src/tcpdump/print-forces.c:940,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:943,1
    - Dst: pd_valid
      Src: /src/tcpdump/print-forces.c:949,1
    - Dst: get_forces_pd
      Src: /src/tcpdump/print-forces.c:950,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:954,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:957,1
    - Dst: chk_op_type
      Src: /src/tcpdump/print-forces.c:961,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-forces.c:963,1
    - Dst: struct pdata_ops*::print
      Src: /src/tcpdump/print-forces.c:963,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:968,1
    - Dst: hex_print
      Src: /src/tcpdump/print-forces.c:972,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:974,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 6
    argNames:
    - ndo
    - pptr
    - len
    - IDcnt
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 984
    functionName: pdatacnt_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - tlv_valid
    - chk_op_type
    - tok2str
    - get_forces_pd
    - struct pdata_ops*::print
    - GET_BE_U_2
    - hex_print
    - ND_PRINT
    - F_ALN_LEN
    - indent_pr
    - pd_valid
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int pdatacnt_print(netdissect_options *ndo,\n               const
      u_char * pptr, u_int len,\n               uint16_t IDcnt, uint16_t op_msk, int
      indent)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:992,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-forces.c:997,1
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-forces.c:998,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1000,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1001,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1002,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1005,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1010,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1014,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1020,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1023,1
    - Dst: hex_print
      Src: /src/tcpdump/print-forces.c:1025,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1026,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1031,1
    - Dst: pdatacnt_print
      Src: /src/tcpdump/print-forces.c:1035,1
    - Dst: recpdoptlv_print
      Src: /src/tcpdump/print-forces.c:1041,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 1047
    functionName: pdata_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - recpdoptlv_print
    - GET_BE_U_2
    - hex_print
    - ND_PRINT
    - ND_ICHECK_ZU
    - indent_pr
    - ND_TCHECK_SIZE
    - pdatacnt_print
    linkageType: ''
    returnType: int
    signature: "int pdata_print(netdissect_options *ndo,\n            const u_char
      * pptr, u_int len,\n            uint16_t op_msk, int indent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:1058,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1060,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1061,1
    - Dst: tlv_valid
      Src: /src/tcpdump/print-forces.c:1062,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1063,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:1064,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1066,1
    - Dst: TLV_DATA
      Src: /src/tcpdump/print-forces.c:1074,1
    - Dst: ttlv_valid
      Src: /src/tcpdump/print-forces.c:1076,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1077,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:1078,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1083,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:1084,1
    - Dst: pdata_print
      Src: /src/tcpdump/print-forces.c:1087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1049
    functionDepth: 4
    functionLinenumber: 1049
    functionLinenumberEnd: 1090
    functionName: genoptlv_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - tlv_valid
    - pdata_print
    - tok2str
    - ttlv_valid
    - GET_BE_U_2
    - ND_PRINT
    - indent_pr
    - TLV_DATA
    linkageType: ''
    returnType: int
    signature: "int genoptlv_print(netdissect_options *ndo,\n               const
      u_char * pptr, u_int len,\n               uint16_t op_msk, int indent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1105,1
    - Dst: tlv_valid
      Src: /src/tcpdump/print-forces.c:1106,1
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:1116,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1117,1
    - Dst: TLV_DATA
      Src: /src/tcpdump/print-forces.c:1118,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1121,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:1122,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-forces.c:1126,1
    - Dst: pdata_print
      Src: /src/tcpdump/print-forces.c:1126,1
    - Dst: GO_NXT_TLV
      Src: /src/tcpdump/print-forces.c:1128,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1132,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1133,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1092
    functionDepth: 4
    functionLinenumber: 1092
    functionLinenumberEnd: 1141
    functionName: recpdoptlv_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 1
    functionsReached:
    - tlv_valid
    - GO_NXT_TLV
    - pdata_print
    - tok2str
    - GET_BE_U_2
    - ND_PRINT
    - indent_pr
    - TLV_DATA
    - ND_ICHECK_U
    linkageType: ''
    returnType: int
    signature: "int recpdoptlv_print(netdissect_options *ndo,\n                 const
      u_char * pptr, u_int len,\n                 uint16_t op_msk, int indent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:1148,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1151,1
    - Dst: hex_print
      Src: /src/tcpdump/print-forces.c:1152,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1156
    functionName: invoptlv_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - hex_print
    - indent_pr
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: "int invoptlv_print(netdissect_options *ndo,\n               const
      u_char * pptr, u_int len,\n               uint16_t op_msk _U_, int indent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TLV_DATA
      Src: /src/tcpdump/print-forces.c:1163,1
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:1166,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1173,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1174,1
    - Dst: get_forces_optlv_h
      Src: /src/tcpdump/print-forces.c:1175,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1177,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1178,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1182,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1183,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1184,1
    - Dst: invoptlv_print
      Src: /src/tcpdump/print-forces.c:1186,1
    - Dst: struct optlv_h*::print
      Src: /src/tcpdump/print-forces.c:1192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ndo
    - otlv
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - struct forces_tlv*
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1158
    functionDepth: 2
    functionLinenumber: 1158
    functionLinenumberEnd: 1195
    functionName: otlv_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - get_forces_optlv_h
    - GET_BE_U_2
    - invoptlv_print
    - ND_PRINT
    - struct optlv_h*::print
    - indent_pr
    - TLV_DATA
    linkageType: ''
    returnType: int
    signature: "int otlv_print(netdissect_options *ndo,\n           const struct forces_tlv
      *otlv, uint16_t op_msk _U_, int indent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:1206,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1214,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:1217,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1219,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1224,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:1225,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1199
    functionDepth: 1
    functionLinenumber: 1199
    functionLinenumberEnd: 1231
    functionName: asttlv_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - indent_pr
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int asttlv_print(netdissect_options *ndo,\n             const u_char
      * pptr, u_int len,\n             uint16_t op_msk _U_, int indent)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:1242,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1250,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:1253,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1256,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1261,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1264,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1267,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1270,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1273,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1276,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1281
    functionName: asrtlv_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - indent_pr
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int asrtlv_print(netdissect_options *ndo,\n             const u_char
      * pptr, u_int len,\n             uint16_t op_msk _U_, int indent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1299
    functionName: gentltlv_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: "int gentltlv_print(netdissect_options *ndo,\n               const
      u_char * pptr _U_, u_int len,\n               uint16_t op_msk _U_, int indent
      _U_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:1310,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:1317,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1318,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:1318,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:1319,1
    - Dst: hex_print
      Src: /src/tcpdump/print-forces.c:1321,1
    - Dst: ILV_DATA
      Src: /src/tcpdump/print-forces.c:1321,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ndo
    - ilv
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - struct forces_ilv*
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1325
    functionName: print_metailv
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - ILV_DATA
    - hex_print
    - ND_PRINT
    - indent_pr
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int print_metailv(netdissect_options *ndo,\n              const struct
      forces_ilv * ilv, uint16_t op_msk _U_,\n              const int indent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:1333,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1344,1
    - Dst: ilv_valid
      Src: /src/tcpdump/print-forces.c:1346,1
    - Dst: print_metailv
      Src: /src/tcpdump/print-forces.c:1356,1
    - Dst: GO_NXT_ILV
      Src: /src/tcpdump/print-forces.c:1357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1327
    functionDepth: 2
    functionLinenumber: 1327
    functionLinenumberEnd: 1361
    functionName: print_metatlv
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - print_metailv
    - GO_NXT_ILV
    - ND_PRINT
    - ilv_valid
    - indent_pr
    linkageType: ''
    returnType: int
    signature: "int print_metatlv(netdissect_options *ndo,\n              const u_char
      * pptr, u_int len,\n              uint16_t op_msk _U_, int indent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:1370,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1375,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1378,1
    - Dst: hex_print
      Src: /src/tcpdump/print-forces.c:1379,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1384
    functionName: print_reddata
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - hex_print
    - indent_pr
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: "int print_reddata(netdissect_options *ndo,\n              const u_char
      * pptr, u_int len,\n              uint16_t op_msk _U_, int indent)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1402,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1412,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1413,1
    - Dst: tlv_valid
      Src: /src/tcpdump/print-forces.c:1414,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1416,1
    - Dst: print_metatlv
      Src: /src/tcpdump/print-forces.c:1426,1
    - Dst: TLV_DATA
      Src: /src/tcpdump/print-forces.c:1426,1
    - Dst: print_reddata
      Src: /src/tcpdump/print-forces.c:1430,1
    - Dst: TLV_DATA
      Src: /src/tcpdump/print-forces.c:1430,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1434,1
    - Dst: GO_NXT_TLV
      Src: /src/tcpdump/print-forces.c:1439,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1443,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1444,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1445,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1386
    functionDepth: 3
    functionLinenumber: 1386
    functionLinenumberEnd: 1452
    functionName: redirect_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - tlv_valid
    - print_metatlv
    - print_reddata
    - GO_NXT_TLV
    - GET_BE_U_2
    - ND_PRINT
    - TLV_DATA
    linkageType: ''
    returnType: int
    signature: "int redirect_print(netdissect_options *ndo,\n               const
      u_char * pptr, u_int len,\n               uint16_t op_msk _U_, int indent)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: indent_pr
      Src: /src/tcpdump/print-forces.c:1464,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1475,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-forces.c:1487,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1489,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:1491,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:1491,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:1492,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:1493,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1502,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1503,1
    - Dst: tlv_valid
      Src: /src/tcpdump/print-forces.c:1504,1
    - Dst: op_valid
      Src: /src/tcpdump/print-forces.c:1513,1
    - Dst: otlv_print
      Src: /src/tcpdump/print-forces.c:1514,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1517,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1518,1
    - Dst: invoptlv_print
      Src: /src/tcpdump/print-forces.c:1520,1
    - Dst: GO_NXT_TLV
      Src: /src/tcpdump/print-forces.c:1522,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1526,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1527,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1528,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - op_msk
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1457
    functionDepth: 3
    functionLinenumber: 1457
    functionLinenumberEnd: 1536
    functionName: lfbselect_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - tlv_valid
    - GO_NXT_TLV
    - tok2str
    - GET_BE_U_2
    - invoptlv_print
    - ND_PRINT
    - op_valid
    - indent_pr
    - otlv_print
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int lfbselect_print(netdissect_options *ndo,\n                const
      u_char * pptr, u_int len,\n                uint16_t op_msk, int indent)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1557,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1564,1
    - Dst: GET_TOP_TLV
      Src: /src/tcpdump/print-forces.c:1574,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1581,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1582,1
    - Dst: tlv_valid
      Src: /src/tcpdump/print-forces.c:1583,1
    - Dst: ttlv_valid
      Src: /src/tcpdump/print-forces.c:1592,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1593,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1599,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:1600,1
    - Dst: struct tom_h*::print
      Src: /src/tcpdump/print-forces.c:1604,1
    - Dst: TLV_DATA
      Src: /src/tcpdump/print-forces.c:1604,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-forces.c:1607,1
    - Dst: GO_NXT_TLV
      Src: /src/tcpdump/print-forces.c:1608,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1618,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-forces.c:1619,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 5
    argNames:
    - ndo
    - pptr
    - fhdr
    - mlen
    - tops
    argTypes:
    - netdissect_options*
    - u_char*
    - struct forcesh*
    - u_int
    - struct tom_h*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1538
    functionDepth: 2
    functionLinenumber: 1538
    functionLinenumberEnd: 1626
    functionName: forces_type_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - tlv_valid
    - struct tom_h*::print
    - GO_NXT_TLV
    - tok2str
    - GET_TOP_TLV
    - GET_BE_U_2
    - ND_PRINT
    - ttlv_valid
    - TLV_DATA
    - ND_ICHECK_U
    linkageType: ''
    returnType: int
    signature: "int forces_type_print(netdissect_options *ndo,\n                  const
      u_char * pptr, const struct forcesh *fhdr _U_,\n                  u_int mlen,
      const struct tom_h *tops)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-forces.c:1641,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-forces.c:1642,1
    - Dst: tom_valid
      Src: /src/tcpdump/print-forces.c:1643,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1644,1
    - Dst: ForCES_BLN
      Src: /src/tcpdump/print-forces.c:1648,1
    - Dst: get_forces_tom
      Src: /src/tcpdump/print-forces.c:1650,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1652,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1656,1
    - Dst: ForCES_HLN_VALID
      Src: /src/tcpdump/print-forces.c:1657,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1658,1
    - Dst: ForCES_BLN
      Src: /src/tcpdump/print-forces.c:1659,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-forces.c:1663,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1665,1
    - Dst: ForCES_V
      Src: /src/tcpdump/print-forces.c:1666,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1667,1
    - Dst: ForCES_SID
      Src: /src/tcpdump/print-forces.c:1668,1
    - Dst: ForCES_node
      Src: /src/tcpdump/print-forces.c:1668,1
    - Dst: ForCES_SID
      Src: /src/tcpdump/print-forces.c:1668,1
    - Dst: ForCES_DID
      Src: /src/tcpdump/print-forces.c:1669,1
    - Dst: ForCES_node
      Src: /src/tcpdump/print-forces.c:1669,1
    - Dst: ForCES_DID
      Src: /src/tcpdump/print-forces.c:1669,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-forces.c:1670,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1674,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:1675,1
    - Dst: ForCES_ACK
      Src: /src/tcpdump/print-forces.c:1675,1
    - Dst: ForCES_ACK
      Src: /src/tcpdump/print-forces.c:1676,1
    - Dst: ForCES_PRI
      Src: /src/tcpdump/print-forces.c:1677,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:1678,1
    - Dst: ForCES_EM
      Src: /src/tcpdump/print-forces.c:1678,1
    - Dst: ForCES_EM
      Src: /src/tcpdump/print-forces.c:1679,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:1680,1
    - Dst: ForCES_AT
      Src: /src/tcpdump/print-forces.c:1680,1
    - Dst: ForCES_AT
      Src: /src/tcpdump/print-forces.c:1681,1
    - Dst: tok2str
      Src: /src/tcpdump/print-forces.c:1682,1
    - Dst: ForCES_TP
      Src: /src/tcpdump/print-forces.c:1682,1
    - Dst: ForCES_TP
      Src: /src/tcpdump/print-forces.c:1683,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1684,1
    - Dst: ForCES_RS1
      Src: /src/tcpdump/print-forces.c:1685,1
    - Dst: ForCES_RS2
      Src: /src/tcpdump/print-forces.c:1685,1
    - Dst: forces_type_print
      Src: /src/tcpdump/print-forces.c:1687,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-forces.c:1688,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1691,1
    - Dst: hex_print
      Src: /src/tcpdump/print-forces.c:1692,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-forces.c:1693,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-forces.c:1697,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1628
    functionDepth: 3
    functionLinenumber: 1628
    functionLinenumberEnd: 1698
    functionName: forces_print
    functionSourceFile: /src/tcpdump/print-forces.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_8
    - ForCES_HLN_VALID
    - get_forces_tom
    - ForCES_RS2
    - tom_valid
    - ForCES_ACK
    - nd_print_invalid
    - ForCES_SID
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    - ForCES_node
    - ForCES_RS1
    - forces_type_print
    - ND_PRINT
    - ForCES_AT
    - ForCES_V
    - ND_ICHECK_U
    - tok2str
    - ForCES_DID
    - ForCES_PRI
    - ForCES_BLN
    - ForCES_TP
    - ForCES_EM
    - hex_print
    linkageType: ''
    returnType: void
    signature: "void forces_print(netdissect_options *ndo,\n             const u_char
      * pptr, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcpdump/print-esp.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: EVP_CIPHER_CTX_new
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: EVP_CIPHER_CTX
    signature: 'EVP_CIPHER_CTX *

      EVP_CIPHER_CTX_new(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_cleanup
      Src: /src/tcpdump/print-esp.c:134,1
    - Dst: free
      Src: /src/tcpdump/print-esp.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_CIPHER_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: EVP_CIPHER_CTX_free
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 0
    functionsReached:
    - free
    - EVP_CIPHER_CTX_cleanup
    linkageType: ''
    returnType: void
    signature: void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DecryptInit_ex
      Src: /src/tcpdump/print-esp.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - cipher
    - key
    - iv
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: set_cipher_parameters
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 0
    functionsReached:
    - EVP_DecryptInit_ex
    linkageType: ''
    returnType: int
    signature: "int set_cipher_parameters(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,\n\t\t
      \     const unsigned char *key,\n\t\t      const unsigned char *iv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_DecryptInit
      Src: /src/tcpdump/print-esp.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - cipher
    - key
    - iv
    argTypes:
    - EVP_CIPHER_CTX*
    - EVP_CIPHER*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: set_cipher_parameters
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 0
    functionsReached:
    - EVP_DecryptInit
    linkageType: ''
    returnType: int
    signature: "int set_cipher_parameters(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,\n\t\t
      \     const unsigned char *key,\n\t\t      const unsigned char *iv)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/tcpdump/print-esp.c:182,1
    - Dst: set_cipher_parameters
      Src: /src/tcpdump/print-esp.c:196,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/tcpdump/print-esp.c:197,1
    - Dst: set_cipher_parameters
      Src: /src/tcpdump/print-esp.c:201,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/tcpdump/print-esp.c:202,1
    - Dst: EVP_CIPHER_CTX_block_size
      Src: /src/tcpdump/print-esp.c:214,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/tcpdump/print-esp.c:216,1
    - Dst: calloc
      Src: /src/tcpdump/print-esp.c:228,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/tcpdump/print-esp.c:230,1
    - Dst: EVP_CIPHER_CTX_set_padding
      Src: /src/tcpdump/print-esp.c:240,1
    - Dst: free
      Src: /src/tcpdump/print-esp.c:241,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/tcpdump/print-esp.c:242,1
    - Dst: EVP_DecryptUpdate
      Src: /src/tcpdump/print-esp.c:247,1
    - Dst: free
      Src: /src/tcpdump/print-esp.c:248,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/tcpdump/print-esp.c:249,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/tcpdump/print-esp.c:254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 6
    argNames:
    - ndo
    - caller
    - sa
    - iv
    - ct
    - ctlen
    argTypes:
    - netdissect_options*
    - char*
    - struct sa_list*
    - u_char*
    - u_char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 256
    functionName: do_decrypt
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 0
    functionsReached:
    - calloc
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_free
    - EVP_DecryptUpdate
    - free
    - EVP_CIPHER_CTX_set_padding
    - set_cipher_parameters
    - EVP_CIPHER_CTX_block_size
    linkageType: ''
    returnType: u_char
    signature: "u_char *\ndo_decrypt(netdissect_options *ndo, const char *caller,
      struct sa_list *sa,\n    const u_char *iv, const u_char *ct, unsigned int ctlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tcpdump/print-esp.c:290,1
    - Dst: memcmp
      Src: /src/tcpdump/print-esp.c:291,1
    - Dst: do_decrypt
      Src: /src/tcpdump/print-esp.c:309,1
    - Dst: nd_push_buffer
      Src: /src/tcpdump/print-esp.c:319,1
    - Dst: free
      Src: /src/tcpdump/print-esp.c:320,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 6
    argNames:
    - ndo
    - initiator
    - spii
    - spir
    - buf
    - end
    argTypes:
    - netdissect_options*
    - int
    - u_char[]
    - u_char[]
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 326
    functionName: esp_decrypt_buffer_by_ikev2_print
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 1
    functionsReached:
    - free
    - nd_push_buffer
    - memcmp
    - do_decrypt
    linkageType: ''
    returnType: DIAG_OFF_DEPRECATION
    signature: "DIAG_OFF_DEPRECATION esp_decrypt_buffer_by_ikev2_print(netdissect_options
      *ndo,\n\t\t\t\t      int initiator,\n\t\t\t\t      const u_char spii[8],\n\t\t\t\t
      \     const u_char spir[8],\n\t\t\t\t      const u_char *buf, const u_char *end)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcpdump/print-esp.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ndo
    - sa
    - sa_def
    argTypes:
    - netdissect_options*
    - struct sa_list*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 349
    functionName: esp_print_addsa
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: DIAG_ON_DEPRECATION
    signature: "DIAG_ON_DEPRECATION esp_print_addsa(netdissect_options *ndo,\n\t\t\t
      \   const struct sa_list *sa, int sa_def)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ndo
    - hex
    argTypes:
    - netdissect_options*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 365
    functionName: hexdigit
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hexdigit(netdissect_options *ndo, char hex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tcpdump/print-esp.c:380,1
    - Dst: hexdigit
      Src: /src/tcpdump/print-esp.c:391,1
    - Dst: hexdigit
      Src: /src/tcpdump/print-esp.c:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - ndo
    - binbuf
    - binbuf_len
    - hex
    argTypes:
    - netdissect_options*
    - u_char*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 413
    functionName: espprint_decode_hex
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 0
    functionsReached:
    - hexdigit
    - strlen
    linkageType: ''
    returnType: int
    signature: "int espprint_decode_hex(netdissect_options *ndo,\n\t\t    u_char *binbuf,
      unsigned int binbuf_len, char *hex)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tcpdump/print-esp.c:430,1
    - Dst: strlen
      Src: /src/tcpdump/print-esp.c:437,1
    - Dst: strlen
      Src: /src/tcpdump/print-esp.c:437,1
    - Dst: strcmp
      Src: /src/tcpdump/print-esp.c:438,1
    - Dst: strlen
      Src: /src/tcpdump/print-esp.c:438,1
    - Dst: strlen
      Src: /src/tcpdump/print-esp.c:438,1
    - Dst: strstr
      Src: /src/tcpdump/print-esp.c:440,1
    - Dst: strlen
      Src: /src/tcpdump/print-esp.c:444,1
    - Dst: strlen
      Src: /src/tcpdump/print-esp.c:444,1
    - Dst: strcmp
      Src: /src/tcpdump/print-esp.c:445,1
    - Dst: strlen
      Src: /src/tcpdump/print-esp.c:445,1
    - Dst: strlen
      Src: /src/tcpdump/print-esp.c:445,1
    - Dst: strstr
      Src: /src/tcpdump/print-esp.c:446,1
    - Dst: strcmp
      Src: /src/tcpdump/print-esp.c:457,1
    - Dst: EVP_get_cipherbyname
      Src: /src/tcpdump/print-esp.c:459,1
    - Dst: EVP_CIPHER_iv_length
      Src: /src/tcpdump/print-esp.c:475,1
    - Dst: espprint_decode_hex
      Src: /src/tcpdump/print-esp.c:482,1
    - Dst: strlen
      Src: /src/tcpdump/print-esp.c:485,1
    - Dst: memcpy
      Src: /src/tcpdump/print-esp.c:488,1
    - Dst: memcpy
      Src: /src/tcpdump/print-esp.c:491,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 3
    argNames:
    - ndo
    - decode
    - sa
    argTypes:
    - netdissect_options*
    - char*
    - struct sa_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 497
    functionName: espprint_decode_encalgo
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 0
    functionsReached:
    - EVP_get_cipherbyname
    - strstr
    - strchr
    - espprint_decode_hex
    - strcmp
    - memcpy
    - EVP_CIPHER_iv_length
    - strlen
    linkageType: ''
    returnType: DIAG_OFF_DEPRECATION
    signature: "DIAG_OFF_DEPRECATION espprint_decode_encalgo(netdissect_options *ndo,\n\t\t\tchar
      *decode, struct sa_list *sa)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tcpdump/print-esp.c:510,1
    - Dst: ascii_strcasecmp
      Src: /src/tcpdump/print-esp.c:517,1
    - Dst: ascii_strcasecmp
      Src: /src/tcpdump/print-esp.c:518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - decode
    - sa
    argTypes:
    - netdissect_options*
    - char*
    - struct sa_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 522
    functionName: espprint_decode_authalgo
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 0
    functionsReached:
    - strchr
    - ascii_strcasecmp
    linkageType: ''
    returnType: DIAG_ON_DEPRECATION
    signature: "DIAG_ON_DEPRECATION espprint_decode_authalgo(netdissect_options *ndo,\n\t\t\t
      char *decode, struct sa_list *sa)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strsep
      Src: /src/tcpdump/print-esp.c:536,1
    - Dst: strsep
      Src: /src/tcpdump/print-esp.c:537,1
    - Dst: strsep
      Src: /src/tcpdump/print-esp.c:538,1
    - Dst: strsep
      Src: /src/tcpdump/print-esp.c:539,1
    - Dst: strsep
      Src: /src/tcpdump/print-esp.c:540,1
    - Dst: strlen
      Src: /src/tcpdump/print-esp.c:550,1
    - Dst: strlen
      Src: /src/tcpdump/print-esp.c:551,1
    - Dst: espprint_decode_hex
      Src: /src/tcpdump/print-esp.c:569,1
    - Dst: espprint_decode_hex
      Src: /src/tcpdump/print-esp.c:572,1
    - Dst: espprint_decode_encalgo
      Src: /src/tcpdump/print-esp.c:575,1
    - Dst: espprint_decode_authalgo
      Src: /src/tcpdump/print-esp.c:577,1
    - Dst: esp_print_addsa
      Src: /src/tcpdump/print-esp.c:579,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 4
    argNames:
    - ndo
    - line
    - file
    - lineno
    argTypes:
    - netdissect_options*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 580
    functionName: esp_print_decode_ikeline
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 0
    functionsReached:
    - strsep
    - espprint_decode_hex
    - espprint_decode_encalgo
    - espprint_decode_authalgo
    - strlen
    - esp_print_addsa
    linkageType: ''
    returnType: void
    signature: "void esp_print_decode_ikeline(netdissect_options *ndo, char *line,\n\t\t\t\t
      \    const char *file, int lineno)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strsep
      Src: /src/tcpdump/print-esp.c:597,1
    - Dst: memset
      Src: /src/tcpdump/print-esp.c:599,1
    - Dst: ascii_strcasecmp
      Src: /src/tcpdump/print-esp.c:612,1
    - Dst: fopen
      Src: /src/tcpdump/print-esp.c:620,1
    - Dst: strerror
      Src: /src/tcpdump/print-esp.c:624,1
    - Dst: fgets
      Src: /src/tcpdump/print-esp.c:627,1
    - Dst: strchr
      Src: /src/tcpdump/print-esp.c:630,1
    - Dst: esp_print_decode_onesecret
      Src: /src/tcpdump/print-esp.c:636,1
    - Dst: fclose
      Src: /src/tcpdump/print-esp.c:638,1
    - Dst: ascii_strcasecmp
      Src: /src/tcpdump/print-esp.c:643,1
    - Dst: esp_print_decode_ikeline
      Src: /src/tcpdump/print-esp.c:644,1
    - Dst: strsep
      Src: /src/tcpdump/print-esp.c:653,1
    - Dst: strtoul
      Src: /src/tcpdump/print-esp.c:659,1
    - Dst: strtoaddr6
      Src: /src/tcpdump/print-esp.c:667,1
    - Dst: strtoaddr
      Src: /src/tcpdump/print-esp.c:669,1
    - Dst: espprint_decode_encalgo
      Src: /src/tcpdump/print-esp.c:682,1
    - Dst: esp_print_addsa
      Src: /src/tcpdump/print-esp.c:687,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 4
    argNames:
    - ndo
    - line
    - file
    - lineno
    argTypes:
    - netdissect_options*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 588
    functionDepth: 4
    functionLinenumber: 588
    functionLinenumberEnd: 688
    functionName: esp_print_decode_onesecret
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 1
    functionsReached:
    - strtoul
    - fgets
    - fopen
    - strtoaddr6
    - fclose
    - strchr
    - strsep
    - strerror
    - strtoaddr
    - espprint_decode_encalgo
    - esp_print_decode_ikeline
    - ascii_strcasecmp
    - esp_print_addsa
    - memset
    - esp_print_decode_onesecret
    linkageType: ''
    returnType: void
    signature: "void esp_print_decode_onesecret(netdissect_options *ndo, char *line,\n\t\t\t\t
      \      const char *file, int lineno)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: esp_init
      Src: /src/tcpdump/print-esp.c:711,1
    - Dst: strsep
      Src: /src/tcpdump/print-esp.c:719,1
    - Dst: esp_print_decode_onesecret
      Src: /src/tcpdump/print-esp.c:724,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 702
    functionDepth: 5
    functionLinenumber: 702
    functionLinenumberEnd: 728
    functionName: esp_decodesecret_print
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 1
    functionsReached:
    - esp_init
    - esp_print_decode_onesecret
    - strsep
    linkageType: ''
    returnType: DIAG_ON_DEPRECATION
    signature: DIAG_ON_DEPRECATION esp_decodesecret_print(netdissect_options *ndo)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-esp.c:767,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-esp.c:769,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-esp.c:769,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-esp.c:770,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-esp.c:770,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-esp.c:771,1
    - Dst: esp_decodesecret_print
      Src: /src/tcpdump/print-esp.c:782,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-esp.c:793,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-esp.c:800,1
    - Dst: UNALIGNED_MEMCMP
      Src: /src/tcpdump/print-esp.c:802,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-esp.c:815,1
    - Dst: UNALIGNED_MEMCMP
      Src: /src/tcpdump/print-esp.c:817,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-esp.c:858,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-esp.c:880,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-esp.c:881,1
    - Dst: do_decrypt
      Src: /src/tcpdump/print-esp.c:885,1
    - Dst: nd_push_buffer
      Src: /src/tcpdump/print-esp.c:893,1
    - Dst: free
      Src: /src/tcpdump/print-esp.c:894,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-esp.c:908,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-esp.c:910,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-esp.c:915,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-esp.c:917,1
    - Dst: nd_push_snaplen
      Src: /src/tcpdump/print-esp.c:923,1
    - Dst: ip_demux_print
      Src: /src/tcpdump/print-esp.c:929,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-esp.c:933,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-esp.c:935,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 78
    argCount: 7
    argNames:
    - ndo
    - bp
    - length
    - USED_IF_LIBCRYPTO
    - USED_IF_LIBCRYPTO
    - fragmented USED_IF_LIBCRYPTO
    - USED_IF_LIBCRYPTO
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    - u_int
    - int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 741
    functionDepth: 6
    functionLinenumber: 741
    functionLinenumberEnd: 937
    functionName: esp_print
    functionSourceFile: /src/tcpdump/print-esp.c
    functionUses: 2
    functionsReached:
    - ND_TTEST_1
    - nd_pop_packet_info
    - GET_U_1
    - nd_print_protocol_caps
    - nd_print_trunc
    - esp_decodesecret_print
    - ip_demux_print
    - do_decrypt
    - GET_BE_U_2
    - nd_push_snaplen
    - ND_PRINT
    - UNALIGNED_MEMCMP
    - free
    - nd_push_buffer
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void esp_print(netdissect_options *ndo,\n\t  const u_char *bp, u_int
      length,\n\t  const u_char *bp2 USED_IF_LIBCRYPTO,\n\t  u_int ver USED_IF_LIBCRYPTO,\n\t
      \ int fragmented USED_IF_LIBCRYPTO,\n\t  u_int ttl_hl USED_IF_LIBCRYPTO)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-sl.c:63,1
    - Dst: sliplink_print
      Src: /src/tcpdump/print-sl.c:71,1
    - Dst: IP_V
      Src: /src/tcpdump/print-sl.c:73,1
    - Dst: ip_print
      Src: /src/tcpdump/print-sl.c:75,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-sl.c:78,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:81,1
    - Dst: IP_V
      Src: /src/tcpdump/print-sl.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 83
    functionName: sl_if_print
    functionSourceFile: /src/tcpdump/print-sl.c
    functionUses: 0
    functionsReached:
    - ip_print
    - ip6_print
    - sliplink_print
    - ND_PRINT
    - IP_V
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: void
    signature: "void sl_if_print(netdissect_options *ndo,\n            const struct
      pcap_pkthdr *h, const u_char *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-sl.c:93,1
    - Dst: sliplink_print
      Src: /src/tcpdump/print-sl.c:102,1
    - Dst: ip_print
      Src: /src/tcpdump/print-sl.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: sl_bsdos_if_print
    functionSourceFile: /src/tcpdump/print-sl.c
    functionUses: 0
    functionsReached:
    - ip_print
    - ND_TCHECK_LEN
    - sliplink_print
    linkageType: ''
    returnType: void
    signature: "void sl_bsdos_if_print(netdissect_options *ndo,\n                  const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sl.c:116,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:120,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:124,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:128,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sl.c:132,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:135,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sl.c:144,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:145,1
    - Dst: IP_HL
      Src: /src/tcpdump/print-sl.c:150,1
    - Dst: TH_OFF
      Src: /src/tcpdump/print-sl.c:151,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sl.c:160,1
    - Dst: compressed_sl_print
      Src: /src/tcpdump/print-sl.c:161,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:162,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:164,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sl.c:164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - ndo
    - p
    - ip
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - struct ip*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 166
    functionName: sliplink_print
    functionSourceFile: /src/tcpdump/print-sl.c
    functionUses: 2
    functionsReached:
    - compressed_sl_print
    - GET_U_1
    - IP_HL
    - ND_PRINT
    - TH_OFF
    linkageType: ''
    returnType: void
    signature: "void sliplink_print(netdissect_options *ndo,\n               const
      u_char *p, const struct ip *ip,\n               u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sl.c:174,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sl.c:176,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ndo
    - str
    - cp
    argTypes:
    - netdissect_options*
    - char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: print_sl_change
    functionSourceFile: /src/tcpdump/print-sl.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nprint_sl_change(netdissect_options *ndo,\n                const
      char *str, const u_char *cp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sl.c:189,1
    - Dst: GET_BE_S_2
      Src: /src/tcpdump/print-sl.c:191,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:195,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 199
    functionName: print_sl_winchange
    functionSourceFile: /src/tcpdump/print-sl.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    - GET_BE_S_2
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nprint_sl_winchange(netdissect_options *ndo,\n                   const
      u_char *cp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sl.c:209,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sl.c:212,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:214,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:216,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:223,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:227,1
    - Dst: print_sl_change
      Src: /src/tcpdump/print-sl.c:232,1
    - Dst: print_sl_winchange
      Src: /src/tcpdump/print-sl.c:234,1
    - Dst: print_sl_change
      Src: /src/tcpdump/print-sl.c:236,1
    - Dst: print_sl_change
      Src: /src/tcpdump/print-sl.c:238,1
    - Dst: print_sl_change
      Src: /src/tcpdump/print-sl.c:242,1
    - Dst: IP_HL
      Src: /src/tcpdump/print-sl.c:249,1
    - Dst: TH_OFF
      Src: /src/tcpdump/print-sl.c:250,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sl.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 5
    argNames:
    - ndo
    - chdr
    - ip
    - length
    - dir
    argTypes:
    - netdissect_options*
    - u_char*
    - struct ip*
    - u_int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 253
    functionName: compressed_sl_print
    functionSourceFile: /src/tcpdump/print-sl.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - print_sl_change
    - IP_HL
    - print_sl_winchange
    - ND_PRINT
    - TH_OFF
    linkageType: ''
    returnType: void
    signature: "void compressed_sl_print(netdissect_options *ndo,\n                    const
      u_char *chdr, const struct ip *ip,\n                    u_int length, int dir)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcpdump/bpf_dump.c:40,1
    - Dst: printf
      Src: /src/tcpdump/bpf_dump.c:42,1
    - Dst: printf
      Src: /src/tcpdump/bpf_dump.c:49,1
    - Dst: puts
      Src: /src/tcpdump/bpf_dump.c:54,1
    - Dst: bpf_image
      Src: /src/tcpdump/bpf_dump.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - p
    - option
    argTypes:
    - struct bpf_program*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 56
    functionName: bpf_dump
    functionSourceFile: /src/tcpdump/bpf_dump.c
    functionUses: 2
    functionsReached:
    - puts
    - bpf_image
    - printf
    linkageType: ''
    returnType: void
    signature: void bpf_dump(const struct bpf_program *p, int option)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:84,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:88,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:94,1
    - Dst: tok2str
      Src: /src/tcpdump/print-dvmrp.c:94,1
    - Dst: print_probe
      Src: /src/tcpdump/print-dvmrp.c:99,1
    - Dst: print_report
      Src: /src/tcpdump/print-dvmrp.c:105,1
    - Dst: print_neighbors
      Src: /src/tcpdump/print-dvmrp.c:110,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:118,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:119,1
    - Dst: print_neighbors2
      Src: /src/tcpdump/print-dvmrp.c:121,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:125,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-dvmrp.c:125,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-dvmrp.c:125,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:126,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-dvmrp.c:127,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dvmrp.c:127,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:131,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-dvmrp.c:131,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-dvmrp.c:131,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:135,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-dvmrp.c:135,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-dvmrp.c:135,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-dvmrp.c:141,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 142
    functionName: dvmrp_print
    functionSourceFile: /src/tcpdump/print-dvmrp.c
    functionUses: 0
    functionsReached:
    - print_report
    - GET_IPADDR_STRING
    - unsigned_relts_print
    - print_neighbors2
    - nd_print_invalid
    - GET_U_1
    - GET_BE_U_4
    - ND_PRINT
    - print_neighbors
    - tok2str
    - print_probe
    linkageType: ''
    returnType: void
    signature: "void dvmrp_print(netdissect_options *ndo,\n            const u_char
      *bp, u_int len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:155,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:158,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:159,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:159,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:161,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:163,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:165,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:168,1
    - Dst: intoa
      Src: /src/tcpdump/print-dvmrp.c:168,1
    - Dst: htonl
      Src: /src/tcpdump/print-dvmrp.c:168,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:173,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:178,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:184,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:188,1
    - Dst: intoa
      Src: /src/tcpdump/print-dvmrp.c:188,1
    - Dst: htonl
      Src: /src/tcpdump/print-dvmrp.c:188,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-dvmrp.c:196,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 197
    functionName: print_report
    functionSourceFile: /src/tcpdump/print-dvmrp.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - ND_PRINT
    - htonl
    - intoa
    - nd_print_invalid
    linkageType: ''
    returnType: void
    signature: "void print_report(netdissect_options *ndo,\n             const u_char
      *bp,\n             u_int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:205,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:208,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:209,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dvmrp.c:209,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:217,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:220,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-dvmrp.c:220,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-dvmrp.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 227
    functionName: print_probe
    functionSourceFile: /src/tcpdump/print-dvmrp.c
    functionUses: 1
    functionsReached:
    - nd_print_invalid
    - GET_IPADDR_STRING
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void print_probe(netdissect_options *ndo,\n            const u_char
      *bp,\n            u_int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:241,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:246,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:248,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:250,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:255,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:258,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-dvmrp.c:258,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:259,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-dvmrp.c:260,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-dvmrp.c:268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 269
    functionName: print_neighbors
    functionSourceFile: /src/tcpdump/print-dvmrp.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - GET_IPADDR_STRING
    - ND_PRINT
    - nd_print_invalid
    linkageType: ''
    returnType: void
    signature: "void print_neighbors(netdissect_options *ndo,\n                const
      u_char *bp,\n                u_int len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:281,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:285,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:290,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:292,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:294,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dvmrp.c:296,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:301,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:304,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-dvmrp.c:304,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:305,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-dvmrp.c:305,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:308,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:310,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:312,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:314,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:316,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:317,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dvmrp.c:322,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-dvmrp.c:329,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 5
    argNames:
    - ndo
    - bp
    - len
    - major_version
    - minor_version
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 330
    functionName: print_neighbors2
    functionSourceFile: /src/tcpdump/print-dvmrp.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - GET_IPADDR_STRING
    - ND_PRINT
    - nd_print_invalid
    linkageType: ''
    returnType: void
    signature: "void print_neighbors2(netdissect_options *ndo,\n                 const
      u_char *bp,\n                 u_int len, uint8_t major_version,\n                 uint8_t
      minor_version)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-m3ua.c:230,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-m3ua.c:230,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-m3ua.c:234,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-m3ua.c:236,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-m3ua.c:240,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-m3ua.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ndo
    - buf
    - tag
    - size
    argTypes:
    - netdissect_options*
    - u_char*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 242
    functionName: tag_value_print
    functionSourceFile: /src/tcpdump/print-m3ua.c
    functionUses: 0
    functionsReached:
    - nd_print_invalid
    - ND_TCHECK_LEN
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void tag_value_print(netdissect_options *ndo,\n                const
      u_char *buf, const uint16_t tag, const uint16_t size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-m3ua.c:268,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-m3ua.c:269,1
    - Dst: tok2str
      Src: /src/tcpdump/print-m3ua.c:269,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-m3ua.c:271,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-m3ua.c:277,1
    - Dst: tag_value_print
      Src: /src/tcpdump/print-m3ua.c:278,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-m3ua.c:284,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-m3ua.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - ndo
    - buf
    - size
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 286
    functionName: m3ua_tags_print
    functionSourceFile: /src/tcpdump/print-m3ua.c
    functionUses: 0
    functionsReached:
    - nd_print_invalid
    - GET_BE_U_2
    - ND_PRINT
    - tag_value_print
    - ND_TCHECK_LEN
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void m3ua_tags_print(netdissect_options *ndo,\n                const
      u_char *buf, const u_int size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-m3ua.c:311,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-m3ua.c:312,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-m3ua.c:315,1
    - Dst: uint2tokary
      Src: /src/tcpdump/print-m3ua.c:316,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-m3ua.c:318,1
    - Dst: tok2str
      Src: /src/tcpdump/print-m3ua.c:318,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-m3ua.c:320,1
    - Dst: tok2str
      Src: /src/tcpdump/print-m3ua.c:321,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-m3ua.c:321,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-m3ua.c:323,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-m3ua.c:324,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-m3ua.c:325,1
    - Dst: m3ua_tags_print
      Src: /src/tcpdump/print-m3ua.c:327,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-m3ua.c:328,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-m3ua.c:332,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-m3ua.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - ndo
    - buf
    - size
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 334
    functionName: m3ua_print
    functionSourceFile: /src/tcpdump/print-m3ua.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - GET_U_1
    - GET_BE_U_4
    - uint2tokary
    - ND_PRINT
    - m3ua_tags_print
    - nd_print_invalid
    - tok2str
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void m3ua_print(netdissect_options *ndo,\n           const u_char
      *buf, const u_int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reserved
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: PRINT_RESERVED_IF_NOT_ZERO_1
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_RESERVED_IF_NOT_ZERO_1(reserved)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reserved
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: PRINT_RESERVED_IF_NOT_ZERO_2
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_RESERVED_IF_NOT_ZERO_2(reserved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:281,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:282,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - bearer_cap
    argTypes:
    - netdissect_options*
    - nd_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: pptp_bearer_cap_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void pptp_bearer_cap_print(netdissect_options *ndo,\n                      const
      nd_uint32_t bearer_cap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:297,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pptp.c:298,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - bearer_type
    argTypes:
    - netdissect_options*
    - nd_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: pptp_bearer_type_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - tok2str
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void pptp_bearer_type_print(netdissect_options *ndo,\n                       const
      nd_uint32_t bearer_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:305,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - call_id
    argTypes:
    - netdissect_options*
    - nd_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: pptp_call_id_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void pptp_call_id_print(netdissect_options *ndo,\n                   const
      nd_uint16_t call_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:312,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - call_ser
    argTypes:
    - netdissect_options*
    - nd_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: pptp_call_ser_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void pptp_call_ser_print(netdissect_options *ndo,\n                    const
      nd_uint16_t call_ser)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:319,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - cause_code
    argTypes:
    - netdissect_options*
    - nd_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: pptp_cause_code_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void pptp_cause_code_print(netdissect_options *ndo,\n                      const
      nd_uint16_t cause_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:326,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - conn_speed
    argTypes:
    - netdissect_options*
    - nd_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: pptp_conn_speed_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void pptp_conn_speed_print(netdissect_options *ndo,\n                      const
      nd_uint32_t conn_speed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:344,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pptp.c:344,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:346,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pptp.c:347,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pptp.c:347,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ndo
    - err_code
    argTypes:
    - netdissect_options*
    - nd_uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: pptp_err_code_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void pptp_err_code_print(netdissect_options *ndo,\n                    const
      nd_uint8_t err_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:356,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - firm_rev
    argTypes:
    - netdissect_options*
    - nd_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: pptp_firm_rev_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void pptp_firm_rev_print(netdissect_options *ndo,\n                    const
      nd_uint16_t firm_rev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:363,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:364,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:365,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:367,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:368,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ndo
    - framing_cap
    argTypes:
    - netdissect_options*
    - nd_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 371
    functionName: pptp_framing_cap_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void pptp_framing_cap_print(netdissect_options *ndo,\n                       const
      nd_uint32_t framing_cap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:384,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pptp.c:385,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - framing_type
    argTypes:
    - netdissect_options*
    - nd_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: pptp_framing_type_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - tok2str
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void pptp_framing_type_print(netdissect_options *ndo,\n                        const
      nd_uint32_t framing_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:392,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-pptp.c:393,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - hostname
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 395
    functionName: pptp_hostname_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - nd_printjnp
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void pptp_hostname_print(netdissect_options *ndo,\n                    const
      u_char *hostname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:401,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - id
    argTypes:
    - netdissect_options*
    - nd_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: pptp_id_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void pptp_id_print(netdissect_options *ndo,\n              const nd_uint32_t
      id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:408,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - max_channel
    argTypes:
    - netdissect_options*
    - nd_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: pptp_max_channel_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void pptp_max_channel_print(netdissect_options *ndo,\n                       const
      nd_uint16_t max_channel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:415,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - peer_call_id
    argTypes:
    - netdissect_options*
    - nd_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: pptp_peer_call_id_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void pptp_peer_call_id_print(netdissect_options *ndo,\n                        const
      nd_uint16_t peer_call_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:422,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - phy_chan_id
    argTypes:
    - netdissect_options*
    - nd_uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: pptp_phy_chan_id_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void pptp_phy_chan_id_print(netdissect_options *ndo,\n                       const
      nd_uint32_t phy_chan_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:429,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - pkt_proc_delay
    argTypes:
    - netdissect_options*
    - nd_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: pptp_pkt_proc_delay_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void pptp_pkt_proc_delay_print(netdissect_options *ndo,\n                          const
      nd_uint16_t pkt_proc_delay)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:436,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:437,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - proto_ver
    argTypes:
    - netdissect_options*
    - nd_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: pptp_proto_ver_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void pptp_proto_ver_print(netdissect_options *ndo,\n                     const
      nd_uint16_t proto_ver)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:445,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - recv_winsiz
    argTypes:
    - netdissect_options*
    - nd_uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 446
    functionName: pptp_recv_winsiz_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void pptp_recv_winsiz_print(netdissect_options *ndo,\n                       const
      nd_uint16_t recv_winsiz)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:493,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pptp.c:493,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:504,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pptp.c:505,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pptp.c:505,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - result_code
    - ctrl_msg_type
    argTypes:
    - netdissect_options*
    - nd_uint8_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 508
    functionName: pptp_result_code_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void pptp_result_code_print(netdissect_options *ndo,\n                       const
      nd_uint8_t result_code, int ctrl_msg_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:514,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-pptp.c:515,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - subaddr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: pptp_subaddr_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - nd_printjnp
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void pptp_subaddr_print(netdissect_options *ndo,\n                   const
      u_char *subaddr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:523,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-pptp.c:524,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - vendor
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: pptp_vendor_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - nd_printjnp
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void pptp_vendor_print(netdissect_options *ndo,\n                  const
      u_char *vendor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pptp_proto_ver_print
      Src: /src/tcpdump/print-pptp.c:537,1
    - Dst: PRINT_RESERVED_IF_NOT_ZERO_2
      Src: /src/tcpdump/print-pptp.c:538,1
    - Dst: pptp_framing_cap_print
      Src: /src/tcpdump/print-pptp.c:539,1
    - Dst: pptp_bearer_cap_print
      Src: /src/tcpdump/print-pptp.c:540,1
    - Dst: pptp_max_channel_print
      Src: /src/tcpdump/print-pptp.c:541,1
    - Dst: pptp_firm_rev_print
      Src: /src/tcpdump/print-pptp.c:542,1
    - Dst: pptp_hostname_print
      Src: /src/tcpdump/print-pptp.c:543,1
    - Dst: pptp_vendor_print
      Src: /src/tcpdump/print-pptp.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: pptp_sccrq_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - PRINT_RESERVED_IF_NOT_ZERO_2
    - pptp_max_channel_print
    - pptp_vendor_print
    - pptp_framing_cap_print
    - pptp_firm_rev_print
    - pptp_proto_ver_print
    - pptp_hostname_print
    - pptp_bearer_cap_print
    linkageType: ''
    returnType: void
    signature: "void pptp_sccrq_print(netdissect_options *ndo,\n                 const
      u_char *dat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pptp_proto_ver_print
      Src: /src/tcpdump/print-pptp.c:553,1
    - Dst: pptp_result_code_print
      Src: /src/tcpdump/print-pptp.c:554,1
    - Dst: pptp_err_code_print
      Src: /src/tcpdump/print-pptp.c:555,1
    - Dst: pptp_framing_cap_print
      Src: /src/tcpdump/print-pptp.c:556,1
    - Dst: pptp_bearer_cap_print
      Src: /src/tcpdump/print-pptp.c:557,1
    - Dst: pptp_max_channel_print
      Src: /src/tcpdump/print-pptp.c:558,1
    - Dst: pptp_firm_rev_print
      Src: /src/tcpdump/print-pptp.c:559,1
    - Dst: pptp_hostname_print
      Src: /src/tcpdump/print-pptp.c:560,1
    - Dst: pptp_vendor_print
      Src: /src/tcpdump/print-pptp.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 562
    functionName: pptp_sccrp_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - pptp_max_channel_print
    - pptp_vendor_print
    - pptp_framing_cap_print
    - pptp_err_code_print
    - pptp_result_code_print
    - pptp_firm_rev_print
    - pptp_proto_ver_print
    - pptp_hostname_print
    - pptp_bearer_cap_print
    linkageType: ''
    returnType: void
    signature: "void pptp_sccrp_print(netdissect_options *ndo,\n                 const
      u_char *dat)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:570,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pptp.c:570,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pptp.c:572,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:574,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:577,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:580,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:583,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:587,1
    - Dst: PRINT_RESERVED_IF_NOT_ZERO_1
      Src: /src/tcpdump/print-pptp.c:588,1
    - Dst: PRINT_RESERVED_IF_NOT_ZERO_2
      Src: /src/tcpdump/print-pptp.c:589,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 590
    functionName: pptp_stopccrq_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - PRINT_RESERVED_IF_NOT_ZERO_2
    - ND_PRINT
    - PRINT_RESERVED_IF_NOT_ZERO_1
    linkageType: ''
    returnType: void
    signature: "void pptp_stopccrq_print(netdissect_options *ndo,\n                    const
      u_char *dat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pptp_result_code_print
      Src: /src/tcpdump/print-pptp.c:598,1
    - Dst: pptp_err_code_print
      Src: /src/tcpdump/print-pptp.c:599,1
    - Dst: PRINT_RESERVED_IF_NOT_ZERO_2
      Src: /src/tcpdump/print-pptp.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 601
    functionName: pptp_stopccrp_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - PRINT_RESERVED_IF_NOT_ZERO_2
    - pptp_err_code_print
    - pptp_result_code_print
    linkageType: ''
    returnType: void
    signature: "void pptp_stopccrp_print(netdissect_options *ndo,\n                    const
      u_char *dat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pptp_id_print
      Src: /src/tcpdump/print-pptp.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: pptp_echorq_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - pptp_id_print
    linkageType: ''
    returnType: void
    signature: "void pptp_echorq_print(netdissect_options *ndo,\n                  const
      u_char *dat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pptp_id_print
      Src: /src/tcpdump/print-pptp.c:618,1
    - Dst: pptp_result_code_print
      Src: /src/tcpdump/print-pptp.c:619,1
    - Dst: pptp_err_code_print
      Src: /src/tcpdump/print-pptp.c:620,1
    - Dst: PRINT_RESERVED_IF_NOT_ZERO_2
      Src: /src/tcpdump/print-pptp.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 622
    functionName: pptp_echorp_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - PRINT_RESERVED_IF_NOT_ZERO_2
    - pptp_result_code_print
    - pptp_err_code_print
    - pptp_id_print
    linkageType: ''
    returnType: void
    signature: "void pptp_echorp_print(netdissect_options *ndo,\n                  const
      u_char *dat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pptp_call_id_print
      Src: /src/tcpdump/print-pptp.c:630,1
    - Dst: pptp_call_ser_print
      Src: /src/tcpdump/print-pptp.c:631,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:632,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:632,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:633,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:633,1
    - Dst: pptp_bearer_type_print
      Src: /src/tcpdump/print-pptp.c:634,1
    - Dst: pptp_framing_type_print
      Src: /src/tcpdump/print-pptp.c:635,1
    - Dst: pptp_recv_winsiz_print
      Src: /src/tcpdump/print-pptp.c:636,1
    - Dst: pptp_pkt_proc_delay_print
      Src: /src/tcpdump/print-pptp.c:637,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:638,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:638,1
    - Dst: PRINT_RESERVED_IF_NOT_ZERO_2
      Src: /src/tcpdump/print-pptp.c:639,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:640,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-pptp.c:641,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-pptp.c:642,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:642,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:643,1
    - Dst: pptp_subaddr_print
      Src: /src/tcpdump/print-pptp.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 645
    functionName: pptp_ocrq_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - pptp_subaddr_print
    - PRINT_RESERVED_IF_NOT_ZERO_2
    - pptp_framing_type_print
    - pptp_recv_winsiz_print
    - pptp_call_ser_print
    - GET_BE_U_2
    - nd_printjnp
    - pptp_bearer_type_print
    - ND_PRINT
    - pptp_pkt_proc_delay_print
    - pptp_call_id_print
    - ND_MIN
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void pptp_ocrq_print(netdissect_options *ndo,\n                const
      u_char *dat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pptp_call_id_print
      Src: /src/tcpdump/print-pptp.c:653,1
    - Dst: pptp_peer_call_id_print
      Src: /src/tcpdump/print-pptp.c:654,1
    - Dst: pptp_result_code_print
      Src: /src/tcpdump/print-pptp.c:655,1
    - Dst: pptp_err_code_print
      Src: /src/tcpdump/print-pptp.c:656,1
    - Dst: pptp_cause_code_print
      Src: /src/tcpdump/print-pptp.c:657,1
    - Dst: pptp_conn_speed_print
      Src: /src/tcpdump/print-pptp.c:658,1
    - Dst: pptp_recv_winsiz_print
      Src: /src/tcpdump/print-pptp.c:659,1
    - Dst: pptp_pkt_proc_delay_print
      Src: /src/tcpdump/print-pptp.c:660,1
    - Dst: pptp_phy_chan_id_print
      Src: /src/tcpdump/print-pptp.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 662
    functionName: pptp_ocrp_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - pptp_cause_code_print
    - pptp_phy_chan_id_print
    - pptp_conn_speed_print
    - pptp_err_code_print
    - pptp_recv_winsiz_print
    - pptp_result_code_print
    - pptp_peer_call_id_print
    - pptp_pkt_proc_delay_print
    - pptp_call_id_print
    linkageType: ''
    returnType: void
    signature: "void pptp_ocrp_print(netdissect_options *ndo,\n                const
      u_char *dat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pptp_call_id_print
      Src: /src/tcpdump/print-pptp.c:670,1
    - Dst: pptp_call_ser_print
      Src: /src/tcpdump/print-pptp.c:671,1
    - Dst: pptp_bearer_type_print
      Src: /src/tcpdump/print-pptp.c:672,1
    - Dst: pptp_phy_chan_id_print
      Src: /src/tcpdump/print-pptp.c:673,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:674,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:674,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:675,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:675,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:676,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-pptp.c:677,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-pptp.c:678,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:678,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:679,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:680,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-pptp.c:681,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-pptp.c:682,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:682,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:683,1
    - Dst: pptp_subaddr_print
      Src: /src/tcpdump/print-pptp.c:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 685
    functionName: pptp_icrq_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - pptp_subaddr_print
    - pptp_phy_chan_id_print
    - pptp_call_ser_print
    - GET_BE_U_2
    - nd_printjnp
    - ND_PRINT
    - pptp_bearer_type_print
    - pptp_call_id_print
    - ND_MIN
    linkageType: ''
    returnType: void
    signature: "void pptp_icrq_print(netdissect_options *ndo,\n                const
      u_char *dat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pptp_call_id_print
      Src: /src/tcpdump/print-pptp.c:693,1
    - Dst: pptp_peer_call_id_print
      Src: /src/tcpdump/print-pptp.c:694,1
    - Dst: pptp_result_code_print
      Src: /src/tcpdump/print-pptp.c:695,1
    - Dst: pptp_err_code_print
      Src: /src/tcpdump/print-pptp.c:696,1
    - Dst: pptp_recv_winsiz_print
      Src: /src/tcpdump/print-pptp.c:697,1
    - Dst: pptp_pkt_proc_delay_print
      Src: /src/tcpdump/print-pptp.c:698,1
    - Dst: PRINT_RESERVED_IF_NOT_ZERO_2
      Src: /src/tcpdump/print-pptp.c:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 700
    functionName: pptp_icrp_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - PRINT_RESERVED_IF_NOT_ZERO_2
    - pptp_err_code_print
    - pptp_recv_winsiz_print
    - pptp_result_code_print
    - pptp_peer_call_id_print
    - pptp_pkt_proc_delay_print
    - pptp_call_id_print
    linkageType: ''
    returnType: void
    signature: "void pptp_icrp_print(netdissect_options *ndo,\n                const
      u_char *dat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pptp_peer_call_id_print
      Src: /src/tcpdump/print-pptp.c:708,1
    - Dst: PRINT_RESERVED_IF_NOT_ZERO_2
      Src: /src/tcpdump/print-pptp.c:709,1
    - Dst: pptp_conn_speed_print
      Src: /src/tcpdump/print-pptp.c:710,1
    - Dst: pptp_recv_winsiz_print
      Src: /src/tcpdump/print-pptp.c:711,1
    - Dst: pptp_pkt_proc_delay_print
      Src: /src/tcpdump/print-pptp.c:712,1
    - Dst: pptp_framing_type_print
      Src: /src/tcpdump/print-pptp.c:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 714
    functionName: pptp_iccn_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - PRINT_RESERVED_IF_NOT_ZERO_2
    - pptp_conn_speed_print
    - pptp_framing_type_print
    - pptp_recv_winsiz_print
    - pptp_peer_call_id_print
    - pptp_pkt_proc_delay_print
    linkageType: ''
    returnType: void
    signature: "void pptp_iccn_print(netdissect_options *ndo,\n                const
      u_char *dat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pptp_call_id_print
      Src: /src/tcpdump/print-pptp.c:722,1
    - Dst: PRINT_RESERVED_IF_NOT_ZERO_2
      Src: /src/tcpdump/print-pptp.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 724
    functionName: pptp_ccrq_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - pptp_call_id_print
    - PRINT_RESERVED_IF_NOT_ZERO_2
    linkageType: ''
    returnType: void
    signature: "void pptp_ccrq_print(netdissect_options *ndo,\n                const
      u_char *dat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pptp_call_id_print
      Src: /src/tcpdump/print-pptp.c:732,1
    - Dst: pptp_result_code_print
      Src: /src/tcpdump/print-pptp.c:733,1
    - Dst: pptp_err_code_print
      Src: /src/tcpdump/print-pptp.c:734,1
    - Dst: pptp_cause_code_print
      Src: /src/tcpdump/print-pptp.c:735,1
    - Dst: PRINT_RESERVED_IF_NOT_ZERO_2
      Src: /src/tcpdump/print-pptp.c:736,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:737,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-pptp.c:738,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 740
    functionName: pptp_cdn_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - pptp_cause_code_print
    - PRINT_RESERVED_IF_NOT_ZERO_2
    - pptp_err_code_print
    - pptp_result_code_print
    - nd_printjnp
    - ND_PRINT
    - pptp_call_id_print
    linkageType: ''
    returnType: void
    signature: "void pptp_cdn_print(netdissect_options *ndo,\n               const
      u_char *dat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pptp_peer_call_id_print
      Src: /src/tcpdump/print-pptp.c:748,1
    - Dst: PRINT_RESERVED_IF_NOT_ZERO_2
      Src: /src/tcpdump/print-pptp.c:749,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:750,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:750,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:751,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:751,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:752,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:752,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:753,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:753,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:754,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:754,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:755,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 742
    functionDepth: 2
    functionLinenumber: 742
    functionLinenumberEnd: 756
    functionName: pptp_wen_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - pptp_peer_call_id_print
    - GET_BE_U_4
    - ND_PRINT
    - PRINT_RESERVED_IF_NOT_ZERO_2
    linkageType: ''
    returnType: void
    signature: "void pptp_wen_print(netdissect_options *ndo,\n               const
      u_char *dat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pptp_peer_call_id_print
      Src: /src/tcpdump/print-pptp.c:764,1
    - Dst: PRINT_RESERVED_IF_NOT_ZERO_2
      Src: /src/tcpdump/print-pptp.c:765,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:766,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:766,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:767,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 768
    functionName: pptp_sli_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 0
    functionsReached:
    - pptp_peer_call_id_print
    - GET_BE_U_4
    - ND_PRINT
    - PRINT_RESERVED_IF_NOT_ZERO_2
    linkageType: ''
    returnType: void
    signature: "void pptp_sli_print(netdissect_options *ndo,\n               const
      u_char *dat)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:779,1
    - Dst: nd_print_protocol
      Src: /src/tcpdump/print-pptp.c:780,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:785,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:785,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:788,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:790,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:793,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:796,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pptp.c:801,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:803,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:806,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pptp.c:808,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:810,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pptp.c:813,1
    - Dst: PRINT_RESERVED_IF_NOT_ZERO_2
      Src: /src/tcpdump/print-pptp.c:815,1
    - Dst: pptp_sccrq_print
      Src: /src/tcpdump/print-pptp.c:821,1
    - Dst: pptp_sccrp_print
      Src: /src/tcpdump/print-pptp.c:824,1
    - Dst: pptp_stopccrq_print
      Src: /src/tcpdump/print-pptp.c:827,1
    - Dst: pptp_stopccrp_print
      Src: /src/tcpdump/print-pptp.c:830,1
    - Dst: pptp_echorq_print
      Src: /src/tcpdump/print-pptp.c:833,1
    - Dst: pptp_echorp_print
      Src: /src/tcpdump/print-pptp.c:836,1
    - Dst: pptp_ocrq_print
      Src: /src/tcpdump/print-pptp.c:839,1
    - Dst: pptp_ocrp_print
      Src: /src/tcpdump/print-pptp.c:842,1
    - Dst: pptp_icrq_print
      Src: /src/tcpdump/print-pptp.c:845,1
    - Dst: pptp_icrp_print
      Src: /src/tcpdump/print-pptp.c:848,1
    - Dst: pptp_iccn_print
      Src: /src/tcpdump/print-pptp.c:851,1
    - Dst: pptp_ccrq_print
      Src: /src/tcpdump/print-pptp.c:854,1
    - Dst: pptp_cdn_print
      Src: /src/tcpdump/print-pptp.c:857,1
    - Dst: pptp_wen_print
      Src: /src/tcpdump/print-pptp.c:860,1
    - Dst: pptp_sli_print
      Src: /src/tcpdump/print-pptp.c:863,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 770
    functionDepth: 3
    functionLinenumber: 770
    functionLinenumberEnd: 869
    functionName: pptp_print
    functionSourceFile: /src/tcpdump/print-pptp.c
    functionUses: 1
    functionsReached:
    - nd_print_protocol
    - PRINT_RESERVED_IF_NOT_ZERO_2
    - pptp_sccrq_print
    - pptp_echorp_print
    - pptp_ocrp_print
    - pptp_wen_print
    - pptp_iccn_print
    - GET_BE_U_4
    - ND_PRINT
    - pptp_ocrq_print
    - pptp_sccrp_print
    - pptp_cdn_print
    - pptp_icrp_print
    - GET_BE_U_2
    - pptp_sli_print
    - pptp_echorq_print
    - pptp_stopccrq_print
    - pptp_icrq_print
    - pptp_ccrq_print
    - pptp_stopccrp_print
    linkageType: ''
    returnType: void
    signature: "void pptp_print(netdissect_options *ndo,\n           const u_char
      *dat)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-ascii.c:68,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ascii.c:73,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ascii.c:75,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ascii.c:88,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ascii.c:89,1
    - Dst: ND_ASCII_ISGRAPH
      Src: /src/tcpdump/print-ascii.c:91,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ascii.c:93,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ascii.c:95,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-ascii.c:99,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 100
    functionName: ascii_print
    functionSourceFile: /src/tcpdump/print-ascii.c
    functionUses: 3
    functionsReached:
    - nd_trunc_longjmp
    - GET_U_1
    - ND_PRINT
    - ND_BYTES_AVAILABLE_AFTER
    - ND_ASCII_ISGRAPH
    linkageType: ''
    returnType: void
    signature: "void ascii_print(netdissect_options *ndo,\n            const u_char
      *cp, u_int length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-ascii.c:114,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ascii.c:123,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ascii.c:125,1
    - Dst: snprintf
      Src: /src/tcpdump/print-ascii.c:127,1
    - Dst: ND_ASCII_ISGRAPH
      Src: /src/tcpdump/print-ascii.c:130,1
    - Dst: ND_ASCII_ISGRAPH
      Src: /src/tcpdump/print-ascii.c:131,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ascii.c:135,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ascii.c:144,1
    - Dst: snprintf
      Src: /src/tcpdump/print-ascii.c:146,1
    - Dst: ND_ASCII_ISGRAPH
      Src: /src/tcpdump/print-ascii.c:149,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ascii.c:154,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-ascii.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - ndo
    - indent
    - cp
    - length
    - offset
    argTypes:
    - netdissect_options*
    - char*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 160
    functionName: hex_and_ascii_print_with_offset
    functionSourceFile: /src/tcpdump/print-ascii.c
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - GET_U_1
    - ND_PRINT
    - snprintf
    - ND_BYTES_AVAILABLE_AFTER
    - ND_ASCII_ISGRAPH
    linkageType: ''
    returnType: void
    signature: "void hex_and_ascii_print_with_offset(netdissect_options *ndo, const
      char *indent,\n\t\t\t\tconst u_char *cp, u_int length, u_int offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hex_and_ascii_print_with_offset
      Src: /src/tcpdump/print-ascii.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ndo
    - indent
    - cp
    - length
    argTypes:
    - netdissect_options*
    - char*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: hex_and_ascii_print
    functionSourceFile: /src/tcpdump/print-ascii.c
    functionUses: 3
    functionsReached:
    - hex_and_ascii_print_with_offset
    linkageType: ''
    returnType: void
    signature: "void hex_and_ascii_print(netdissect_options *ndo, const char *indent,\n\t\t
      \   const u_char *cp, u_int length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-ascii.c:182,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ascii.c:191,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ascii.c:194,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ascii.c:196,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ascii.c:196,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ascii.c:202,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ascii.c:203,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ascii.c:203,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-ascii.c:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - ndo
    - indent
    - cp
    - length
    - offset
    argTypes:
    - netdissect_options*
    - char*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 207
    functionName: hex_print_with_offset
    functionSourceFile: /src/tcpdump/print-ascii.c
    functionUses: 0
    functionsReached:
    - ND_BYTES_AVAILABLE_AFTER
    - nd_trunc_longjmp
    - ND_PRINT
    - GET_U_1
    linkageType: ''
    returnType: void
    signature: "void hex_print_with_offset(netdissect_options *ndo,\n                      const
      char *indent, const u_char *cp, u_int length,\n\t\t      u_int offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hex_print_with_offset
      Src: /src/tcpdump/print-ascii.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ndo
    - indent
    - cp
    - length
    argTypes:
    - netdissect_options*
    - char*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: hex_print
    functionSourceFile: /src/tcpdump/print-ascii.c
    functionUses: 10
    functionsReached:
    - hex_print_with_offset
    linkageType: ''
    returnType: void
    signature: "void hex_print(netdissect_options *ndo,\n\t  const char *indent, const
      u_char *cp, u_int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: smb_reset
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void smb_reset(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mktime
      Src: /src/tcpdump/smbutil.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - dos_date
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 71
    functionName: int_unix_date
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 0
    functionsReached:
    - mktime
    linkageType: ''
    returnType: time_t
    signature: time_t int_unix_date(uint32_t dos_date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/smbutil.c:82,1
    - Dst: int_unix_date
      Src: /src/tcpdump/smbutil.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndo
    - date_ptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: make_unix_date
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 0
    functionsReached:
    - int_unix_date
    - GET_LE_U_4
    linkageType: ''
    returnType: time_t
    signature: time_t make_unix_date(netdissect_options *ndo, const u_char *date_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/smbutil.c:96,1
    - Dst: int_unix_date
      Src: /src/tcpdump/smbutil.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - date_ptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: make_unix_date2
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 0
    functionsReached:
    - int_unix_date
    - GET_LE_U_4
    linkageType: ''
    returnType: time_t
    signature: time_t make_unix_date2(netdissect_options *ndo, const u_char *date_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/smbutil.c:120,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/smbutil.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 133
    functionName: interpret_filetime
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_4
    linkageType: ''
    returnType: time_t
    signature: time_t interpret_filetime(netdissect_options *ndo, const u_char *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:148,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/smbutil.c:157,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:160,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:160,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:161,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:161,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:165,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:165,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - ndo
    - in
    - maxbuf
    - out
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 177
    functionName: name_interpret
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TCHECK_2
    linkageType: ''
    returnType: int
    signature: "int name_interpret(netdissect_options *ndo,\n               const
      u_char *in, const u_char *maxbuf, char *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:193,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/smbutil.c:199,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/smbutil.c:202,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/smbutil.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - ndo
    - buf
    - ofs
    - maxbuf
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 216
    functionName: name_ptr
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TCHECK_1
    - GET_BE_U_2
    - ND_TCHECK_2
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nname_ptr(netdissect_options *ndo,\n         const u_char
      *buf, u_int ofs, const u_char *maxbuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_ptr
      Src: /src/tcpdump/smbutil.c:225,1
    - Dst: name_interpret
      Src: /src/tcpdump/smbutil.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ndo
    - buf
    - ofs
    - maxbuf
    - name
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 230
    functionName: name_extract
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 0
    functionsReached:
    - name_ptr
    - name_interpret
    linkageType: ''
    returnType: int
    signature: "int name_extract(netdissect_options *ndo,\n             const u_char
      *buf, u_int ofs, const u_char *maxbuf, char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:245,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:248,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:251,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/smbutil.c:252,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/smbutil.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ndo
    - s
    - maxbuf
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 258
    functionName: name_len
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TCHECK_1
    - ND_BYTES_BETWEEN
    linkageType: ''
    returnType: int
    signature: "int name_len(netdissect_options *ndo,\n         const u_char *s, const
      u_char *maxbuf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - name_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 275
    functionName: name_type_str
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      name_type_str(int name_type)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:284,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:286,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:286,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:289,1
    - Dst: nd_printjn
      Src: /src/tcpdump/smbutil.c:291,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:292,1
    - Dst: nd_printjn
      Src: /src/tcpdump/smbutil.c:293,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:294,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:296,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:303,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:305,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:307,1
    - Dst: ND_MIN
      Src: /src/tcpdump/smbutil.c:309,1
    - Dst: nd_printjn
      Src: /src/tcpdump/smbutil.c:310,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:311,1
    - Dst: nd_printjn
      Src: /src/tcpdump/smbutil.c:314,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:315,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - ndo
    - buf
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 317
    functionName: smb_data_print
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 7
    functionsReached:
    - GET_U_1
    - ND_PRINT
    - nd_printjn
    - ND_MIN
    linkageType: ''
    returnType: void
    signature: void smb_data_print(netdissect_options *ndo, const u_char *buf, u_int
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tcpdump/smbutil.c:327,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/smbutil.c:328,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - val
    - fmt
    argTypes:
    - netdissect_options*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 334
    functionName: write_bits
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 0
    functionsReached:
    - strchr
    - ND_PRINT
    - ND_BYTES_BETWEEN
    linkageType: ''
    returnType: void
    signature: "void write_bits(netdissect_options *ndo,\n           unsigned int
      val, const char *fmt)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/smbutil.c:352,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:365,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/smbutil.c:373,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:383,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/smbutil.c:396,1
    - Dst: ND_ASCII_ISPRINT
      Src: /src/tcpdump/smbutil.c:402,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/smbutil.c:414,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/smbutil.c:427,1
    - Dst: ND_ASCII_ISPRINT
      Src: /src/tcpdump/smbutil.c:433,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/smbutil.c:445,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 79
    argCount: 6
    argNames:
    - ndo
    - (*buf)
    - s
    - strsize
    - is_null_terminated
    - use_unicode
    argTypes:
    - netdissect_options*
    - char[]
    - u_char*
    - uint32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 455
    functionName: unistr
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 0
    functionsReached:
    - ND_ASCII_ISPRINT
    - GET_LE_U_2
    - GET_U_1
    - ND_TCHECK_1
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nunistr(netdissect_options *ndo, char (*buf)[MAX_UNISTR_SIZE+1],\n
      \      const u_char *s, uint32_t strsize, int is_null_terminated,\n       int
      use_unicode)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: write_bits
      Src: /src/tcpdump/smbutil.c:469,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:469,1
    - Dst: write_bits
      Src: /src/tcpdump/smbutil.c:475,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/smbutil.c:475,1
    - Dst: strchr
      Src: /src/tcpdump/smbutil.c:486,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/smbutil.c:487,1
    - Dst: strncpy
      Src: /src/tcpdump/smbutil.c:492,1
    - Dst: write_bits
      Src: /src/tcpdump/smbutil.c:495,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:495,1
    - Dst: atoi
      Src: /src/tcpdump/smbutil.c:502,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/smbutil.c:503,1
    - Dst: ND_ASCII_ISDIGIT
      Src: /src/tcpdump/smbutil.c:506,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:517,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:518,1
    - Dst: GET_BE_S_2
      Src: /src/tcpdump/smbutil.c:526,1
    - Dst: GET_LE_S_2
      Src: /src/tcpdump/smbutil.c:527,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:528,1
    - Dst: GET_BE_S_4
      Src: /src/tcpdump/smbutil.c:536,1
    - Dst: GET_LE_S_4
      Src: /src/tcpdump/smbutil.c:537,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:538,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/smbutil.c:546,1
    - Dst: GET_LE_U_8
      Src: /src/tcpdump/smbutil.c:547,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:548,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/smbutil.c:556,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/smbutil.c:557,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:558,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/smbutil.c:566,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/smbutil.c:567,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:568,1
    - Dst: ND_TCHECK_8
      Src: /src/tcpdump/smbutil.c:578,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/smbutil.c:579,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/smbutil.c:580,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/smbutil.c:581,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/smbutil.c:582,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:584,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:592,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:593,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/smbutil.c:601,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/smbutil.c:602,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:603,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/smbutil.c:611,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/smbutil.c:612,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:613,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:624,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:626,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/smbutil.c:632,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/smbutil.c:633,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:635,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/smbutil.c:641,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/smbutil.c:642,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:644,1
    - Dst: unistr
      Src: /src/tcpdump/smbutil.c:655,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:656,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:665,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:665,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:666,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:666,1
    - Dst: unistr
      Src: /src/tcpdump/smbutil.c:669,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:670,1
    - Dst: atoi
      Src: /src/tcpdump/smbutil.c:678,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/smbutil.c:679,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:680,1
    - Dst: ND_ASCII_ISDIGIT
      Src: /src/tcpdump/smbutil.c:683,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:690,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/smbutil.c:693,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:694,1
    - Dst: ND_ASCII_ISDIGIT
      Src: /src/tcpdump/smbutil.c:697,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:704,1
    - Dst: unistr
      Src: /src/tcpdump/smbutil.c:707,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:708,1
    - Dst: atoi
      Src: /src/tcpdump/smbutil.c:716,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/smbutil.c:717,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:719,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:719,1
    - Dst: ND_ASCII_ISDIGIT
      Src: /src/tcpdump/smbutil.c:723,1
    - Dst: atoi
      Src: /src/tcpdump/smbutil.c:729,1
    - Dst: name_extract
      Src: /src/tcpdump/smbutil.c:736,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/smbutil.c:737,1
    - Dst: name_len
      Src: /src/tcpdump/smbutil.c:741,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:745,1
    - Dst: name_type_str
      Src: /src/tcpdump/smbutil.c:746,1
    - Dst: GET_U_1
      Src: /src/tcpdump/smbutil.c:749,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:750,1
    - Dst: name_type_str
      Src: /src/tcpdump/smbutil.c:751,1
    - Dst: ND_ASCII_ISDIGIT
      Src: /src/tcpdump/smbutil.c:756,1
    - Dst: atoi
      Src: /src/tcpdump/smbutil.c:767,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/smbutil.c:769,1
    - Dst: make_unix_date
      Src: /src/tcpdump/smbutil.c:773,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/smbutil.c:777,1
    - Dst: make_unix_date2
      Src: /src/tcpdump/smbutil.c:781,1
    - Dst: ND_TCHECK_8
      Src: /src/tcpdump/smbutil.c:785,1
    - Dst: interpret_filetime
      Src: /src/tcpdump/smbutil.c:786,1
    - Dst: nd_format_time
      Src: /src/tcpdump/smbutil.c:794,1
    - Dst: localtime
      Src: /src/tcpdump/smbutil.c:795,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:798,1
    - Dst: ND_ASCII_ISDIGIT
      Src: /src/tcpdump/smbutil.c:800,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:805,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:812,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/smbutil.c:817,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 282
    argCount: 5
    argNames:
    - ndo
    - buf
    - fmt
    - maxbuf
    - unicodestr
    argTypes:
    - netdissect_options*
    - u_char*
    - char*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 819
    functionName: smb_fdata1
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 0
    functionsReached:
    - name_type_str
    - write_bits
    - GET_LE_U_2
    - localtime
    - GET_U_1
    - GET_BE_U_8
    - make_unix_date2
    - ND_ASCII_ISDIGIT
    - unistr
    - nd_format_time
    - GET_BE_U_4
    - ND_BYTES_BETWEEN
    - GET_LE_U_4
    - name_extract
    - ND_PRINT
    - GET_LE_S_2
    - GET_LE_U_8
    - GET_BE_U_2
    - make_unix_date
    - ND_TCHECK_LEN
    - name_len
    - GET_BE_S_2
    - ND_TCHECK_8
    - interpret_filetime
    - strchr
    - nd_print_trunc
    - strncpy
    - GET_LE_S_4
    - atoi
    - GET_BE_S_4
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nsmb_fdata1(netdissect_options *ndo,\n           const u_char
      *buf, const char *fmt, const u_char *maxbuf,\n           int unicodestr)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:849,1
    - Dst: smb_fdata
      Src: /src/tcpdump/smbutil.c:852,1
    - Dst: memset
      Src: /src/tcpdump/smbutil.c:894,1
    - Dst: strchr
      Src: /src/tcpdump/smbutil.c:895,1
    - Dst: strncpy
      Src: /src/tcpdump/smbutil.c:900,1
    - Dst: smb_fdata1
      Src: /src/tcpdump/smbutil.c:903,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:912,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:921,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/smbutil.c:927,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/smbutil.c:928,1
    - Dst: smb_data_print
      Src: /src/tcpdump/smbutil.c:929,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 5
    argNames:
    - ndo
    - buf
    - fmt
    - maxbuf
    - unicodestr
    argTypes:
    - netdissect_options*
    - u_char*
    - char*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 821
    functionDepth: 4
    functionLinenumber: 821
    functionLinenumberEnd: 933
    functionName: smb_fdata
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 16
    functionsReached:
    - ND_BYTES_BETWEEN
    - smb_fdata1
    - strchr
    - strncpy
    - smb_data_print
    - ND_PRINT
    - memset
    - smb_fdata
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nsmb_fdata(netdissect_options *ndo,\n          const u_char
      *buf, const char *fmt, const u_char *maxbuf,\n          int unicodestr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/smbutil.c:1066,1
    - Dst: snprintf
      Src: /src/tcpdump/smbutil.c:1072,1
    - Dst: snprintf
      Src: /src/tcpdump/smbutil.c:1076,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - class
    - num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1078
    functionName: smb_errstr
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      smb_errstr(int class, int num)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/smbutil.c:1957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - err
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1959
    functionName: nt_errstr
    functionSourceFile: /src/tcpdump/smbutil.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      nt_errstr(uint32_t err)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-symantec.c:47,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-symantec.c:50,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-symantec.c:52,1
    - Dst: tok2str
      Src: /src/tcpdump/print-symantec.c:53,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-symantec.c:57,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-symantec.c:59,1
    - Dst: tok2str
      Src: /src/tcpdump/print-symantec.c:59,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-symantec.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 63
    functionName: symantec_hdr_print
    functionSourceFile: /src/tcpdump/print-symantec.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void symantec_hdr_print(netdissect_options *ndo, const u_char *bp,
      u_int length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-symantec.c:80,1
    - Dst: symantec_hdr_print
      Src: /src/tcpdump/print-symantec.c:84,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-symantec.c:91,1
    - Dst: symantec_hdr_print
      Src: /src/tcpdump/print-symantec.c:96,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-symantec.c:99,1
    - Dst: ethertype_print
      Src: /src/tcpdump/print-symantec.c:100,1
    - Dst: symantec_hdr_print
      Src: /src/tcpdump/print-symantec.c:103,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-symantec.c:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 108
    functionName: symantec_if_print
    functionSourceFile: /src/tcpdump/print-symantec.c
    functionUses: 0
    functionsReached:
    - symantec_hdr_print
    - GET_BE_U_2
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    - ethertype_print
    linkageType: ''
    returnType: void
    signature: void symantec_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - 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: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: PIMV2_DF_ELECTION_PASS_BACKOFF_STR
    functionSourceFile: /src/tcpdump/print-pim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PIMV2_DF_ELECTION_PASS_BACKOFF_STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: PIM_VER
    functionSourceFile: /src/tcpdump/print-pim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PIM_VER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: PIM_TYPE
    functionSourceFile: /src/tcpdump/print-pim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PIM_TYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: PIM_SUBTYPE
    functionSourceFile: /src/tcpdump/print-pim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PIM_SUBTYPE(x)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-pim.c:167,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:167,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:168,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:168,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:171,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:171,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:172,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:174,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-pim.c:175,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:177,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:178,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:178,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:179,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:180,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:181,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:181,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:182,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:183,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:184,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:185,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:192,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:193,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:193,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:199,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:200,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-pim.c:201,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:201,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:209,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:219,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:219,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:224,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:225,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:225,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:230,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:231,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:232,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:244,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:245,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:246,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:247,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:248,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:249,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-pim.c:257,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 258
    functionName: pimv1_join_prune_print
    functionSourceFile: /src/tcpdump/print-pim.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - unsigned_relts_print
    - GET_U_1
    - nd_print_trunc
    - ND_TTEST_LEN
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void pimv1_join_prune_print(netdissect_options *ndo,\n                       const
      u_char *bp, u_int len)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:267,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:269,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pim.c:269,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-pim.c:272,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:273,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:275,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:278,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:281,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:284,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:284,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:289,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-pim.c:290,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:290,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:291,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pim.c:296,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:297,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:297,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:298,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:301,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:301,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:302,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:306,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:306,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:307,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:308,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:308,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:309,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:309,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-pim.c:310,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:310,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:314,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:314,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:315,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:316,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:317,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:317,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:318,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:319,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:320,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:321,1
    - Dst: pimv1_join_prune_print
      Src: /src/tcpdump/print-pim.c:329,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:333,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:334,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:334,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-pim.c:338,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 339
    functionName: pimv1_print
    functionSourceFile: /src/tcpdump/print-pim.c
    functionUses: 0
    functionsReached:
    - ND_TTEST_1
    - GET_IPADDR_STRING
    - pimv1_join_prune_print
    - unsigned_relts_print
    - GET_U_1
    - nd_print_trunc
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void pimv1_print(netdissect_options *ndo,\n            const u_char
      *bp, u_int len)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:358,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:359,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:362,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:365,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:368,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:372,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:374,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:375,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-pim.c:377,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:377,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:379,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:404,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:404,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:409,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:410,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:412,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:414,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:416,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:419,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:420,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:420,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:425,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:432,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:432,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:433,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:433,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:434,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:435,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:437,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:438,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:438,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-pim.c:449,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 83
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 450
    functionName: cisco_autorp_print
    functionSourceFile: /src/tcpdump/print-pim.c
    functionUses: 1
    functionsReached:
    - GET_IPADDR_STRING
    - unsigned_relts_print
    - GET_U_1
    - nd_print_trunc
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void cisco_autorp_print(netdissect_options *ndo,\n                   const
      u_char *bp, u_int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:461,1
    - Dst: PIM_VER
      Src: /src/tcpdump/print-pim.c:462,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:465,1
    - Dst: PIM_VER
      Src: /src/tcpdump/print-pim.c:466,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pim.c:467,1
    - Dst: PIM_TYPE
      Src: /src/tcpdump/print-pim.c:467,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:471,1
    - Dst: PIM_VER
      Src: /src/tcpdump/print-pim.c:472,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pim.c:474,1
    - Dst: PIM_TYPE
      Src: /src/tcpdump/print-pim.c:474,1
    - Dst: pimv2_print
      Src: /src/tcpdump/print-pim.c:475,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:479,1
    - Dst: PIM_VER
      Src: /src/tcpdump/print-pim.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ndo
    - bp
    - len
    - bp2
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 484
    functionName: pim_print
    functionSourceFile: /src/tcpdump/print-pim.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - PIM_VER
    - ND_PRINT
    - tok2str
    - PIM_TYPE
    - pimv2_print
    linkageType: ''
    returnType: void
    signature: "void pim_print(netdissect_options *ndo,\n          const u_char *bp,
      u_int len, const u_char *bp2)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:561,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:572,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pim.c:595,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:598,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:598,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:601,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-pim.c:601,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pim.c:608,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:611,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:611,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:612,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:613,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:613,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:617,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-pim.c:617,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:618,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:619,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:619,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:622,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:624,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:624,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:626,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:627,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:628,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:629,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:630,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:631,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:632,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:634,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 6
    argNames:
    - ndo
    - bp
    - len
    - at
    - addr_len
    - silent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - enum pimv2_addrtype
    - u_int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 643
    functionName: pimv2_addr_print
    functionSourceFile: /src/tcpdump/print-pim.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - GET_IP6ADDR_STRING
    - ND_PRINT
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: int
    signature: "int pimv2_addr_print(netdissect_options *ndo,\n                 const
      u_char *bp, u_int len, enum pimv2_addrtype at,\n                 u_int addr_len,
      int silent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-pim.c:658,1
    - Dst: IP_V
      Src: /src/tcpdump/print-pim.c:663,1
    - Dst: in_cksum
      Src: /src/tcpdump/print-pim.c:668,1
    - Dst: IP_V
      Src: /src/tcpdump/print-pim.c:670,1
    - Dst: nextproto6_cksum
      Src: /src/tcpdump/print-pim.c:674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - ndo
    - bp
    - bp2
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 679
    functionName: pimv2_check_checksum
    functionSourceFile: /src/tcpdump/print-pim.c
    functionUses: 0
    functionsReached:
    - IP_V
    - in_cksum
    - nextproto6_cksum
    - ND_TTEST_LEN
    linkageType: ''
    returnType: enum checksum_status
    signature: "enum checksum_status pimv2_check_checksum(netdissect_options *ndo,
      const u_char *bp,\n\t\t     const u_char *bp2, u_int len)"
  - BBCount: 95
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:694,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-pim.c:695,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:698,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:700,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:702,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:705,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-pim.c:706,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:709,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:709,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:710,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:711,1
    - Dst: PIM_TYPE
      Src: /src/tcpdump/print-pim.c:713,1
    - Dst: pimv2_check_checksum
      Src: /src/tcpdump/print-pim.c:718,1
    - Dst: pimv2_check_checksum
      Src: /src/tcpdump/print-pim.c:726,1
    - Dst: pimv2_check_checksum
      Src: /src/tcpdump/print-pim.c:732,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:737,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:741,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:745,1
    - Dst: PIM_TYPE
      Src: /src/tcpdump/print-pim.c:752,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:759,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:760,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:761,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pim.c:762,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pim.c:770,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:774,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-pim.c:775,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-pim.c:778,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:779,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:785,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-pim.c:786,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:791,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:792,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:795,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:804,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:807,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:807,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:810,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-pim.c:811,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:818,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-pim.c:819,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:822,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:822,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:828,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-pim.c:829,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:832,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:832,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:833,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:834,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-pim.c:835,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:836,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:838,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:839,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:840,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:854,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:855,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-pim.c:865,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-pim.c:870,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pim.c:883,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:885,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pim.c:886,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:888,1
    - Dst: IP_V
      Src: /src/tcpdump/print-pim.c:895,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:897,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:898,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-pim.c:899,1
    - Dst: ip_print
      Src: /src/tcpdump/print-pim.c:903,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-pim.c:907,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:911,1
    - Dst: IP_V
      Src: /src/tcpdump/print-pim.c:911,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:918,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:919,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:922,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:923,1
    - Dst: PIM_TYPE
      Src: /src/tcpdump/print-pim.c:975,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:976,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:977,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-pim.c:983,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:984,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:985,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:986,1
    - Dst: PIM_TYPE
      Src: /src/tcpdump/print-pim.c:987,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:988,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:990,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-pim.c:992,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:996,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:997,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-pim.c:1002,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:1003,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:1004,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1005,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1008,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:1009,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1014,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:1015,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1030,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:1030,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1035,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:1035,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-pim.c:1038,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1039,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:1039,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1044,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:1045,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1052,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:1053,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1061,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:1061,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:1064,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1065,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1073,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:1074,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1084,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-pim.c:1085,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:1086,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1089,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:1089,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1095,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1100,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:1101,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1104,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:1105,1
    - Dst: ND_TCHECK_8
      Src: /src/tcpdump/print-pim.c:1110,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:1111,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1112,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1113,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:1113,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1114,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:1114,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1124,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:1124,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:1125,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1128,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:1128,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1131,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-pim.c:1132,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:1132,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1137,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:1138,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1145,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:1146,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1155,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:1156,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1160,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:1161,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1165,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:1166,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1172,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-pim.c:1173,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:1173,1
    - Dst: PIM_SUBTYPE
      Src: /src/tcpdump/print-pim.c:1177,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pim.c:1177,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1178,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pim.c:1178,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1181,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:1182,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1187,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:1187,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1188,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:1188,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1196,1
    - Dst: PIMV2_DF_ELECTION_PASS_BACKOFF_STR
      Src: /src/tcpdump/print-pim.c:1196,1
    - Dst: pimv2_addr_print
      Src: /src/tcpdump/print-pim.c:1197,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1203,1
    - Dst: PIMV2_DF_ELECTION_PASS_BACKOFF_STR
      Src: /src/tcpdump/print-pim.c:1203,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:1203,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1204,1
    - Dst: PIMV2_DF_ELECTION_PASS_BACKOFF_STR
      Src: /src/tcpdump/print-pim.c:1204,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-pim.c:1204,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1210,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pim.c:1210,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pim.c:1220,1
    - Dst: PIM_TYPE
      Src: /src/tcpdump/print-pim.c:1220,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-pim.c:1227,1
    CyclomaticComplexity: 143
    EdgeCount: 143
    ICount: 446
    argCount: 4
    argNames:
    - ndo
    - bp
    - len
    - bp2
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 681
    functionDepth: 4
    functionLinenumber: 681
    functionLinenumberEnd: 1228
    functionName: pimv2_print
    functionSourceFile: /src/tcpdump/print-pim.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - ip6_print
    - IP_V
    - nd_print_invalid
    - GET_BE_U_4
    - unsigned_relts_print
    - ND_PRINT
    - PIM_TYPE
    - PIM_SUBTYPE
    - GET_IPADDR_STRING
    - pimv2_addr_print
    - print_unknown_data
    - ip_print
    - pimv2_check_checksum
    - GET_BE_U_2
    - ND_TCHECK_LEN
    - PIMV2_DF_ELECTION_PASS_BACKOFF_STR
    - tok2str
    - ND_TCHECK_8
    - nd_print_trunc
    - ND_TCHECK_1
    - ND_TCHECK_4
    linkageType: ''
    returnType: void
    signature: "void pimv2_print(netdissect_options *ndo,\n            const u_char
      *bp, u_int len, const u_char *bp2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - Port
    argTypes:
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 447
    functionName: isForCES_port
    functionSourceFile: /src/tcpdump/print-sctp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isForCES_port(u_short Port)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-sctp.c:467,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-sctp.c:469,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:472,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:473,1
    - Dst: IP_V
      Src: /src/tcpdump/print-sctp.c:476,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:482,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-sctp.c:483,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-sctp.c:485,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:488,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-sctp.c:489,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-sctp.c:491,1
    - Dst: isForCES_port
      Src: /src/tcpdump/print-sctp.c:495,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:496,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sctp.c:496,1
    - Dst: isForCES_port
      Src: /src/tcpdump/print-sctp.c:499,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:500,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sctp.c:500,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:521,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-sctp.c:524,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:525,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:527,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:537,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-sctp.c:541,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:547,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sctp.c:548,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:549,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sctp.c:549,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sctp.c:559,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:561,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:564,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:567,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:572,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-sctp.c:574,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sctp.c:578,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:579,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sctp.c:579,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:580,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:580,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:581,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:581,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:582,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sctp.c:583,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-sctp.c:594,1
    - Dst: forces_print
      Src: /src/tcpdump/print-sctp.c:598,1
    - Dst: m3ua_print
      Src: /src/tcpdump/print-sctp.c:605,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:610,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:612,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-sctp.c:613,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:615,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-sctp.c:628,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:631,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sctp.c:631,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:632,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sctp.c:632,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:633,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:633,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:634,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:634,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:635,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sctp.c:635,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:642,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-sctp.c:654,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:657,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sctp.c:657,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:658,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sctp.c:658,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:659,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:659,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:660,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:660,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:661,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sctp.c:661,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:668,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-sctp.c:683,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:686,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sctp.c:686,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:687,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sctp.c:687,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:688,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:688,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:689,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:689,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:697,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-sctp.c:699,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:702,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sctp.c:704,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:704,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sctp.c:705,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:705,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sctp.c:710,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-sctp.c:712,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sctp.c:714,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sctp.c:715,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-sctp.c:743,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-sctp.c:750,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 187
    argCount: 4
    argNames:
    - ndo
    - bp
    - bp2
    - sctpPacketLength
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 449
    functionDepth: 4
    functionLinenumber: 449
    functionLinenumberEnd: 751
    functionName: sctp_print
    functionSourceFile: /src/tcpdump/print-sctp.c
    functionUses: 0
    functionsReached:
    - m3ua_print
    - GET_IPADDR_STRING
    - forces_print
    - ND_ICHECKMSG_U
    - nd_print_invalid
    - ND_ICHECKMSG_ZU
    - GET_U_1
    - GET_IP6ADDR_STRING
    - GET_BE_U_4
    - ND_DEFAULTPRINT
    - GET_BE_U_2
    - ND_PRINT
    - IP_V
    - ND_TCHECK_LEN
    - isForCES_port
    - tok2str
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void sctp_print(netdissect_options *ndo,\n\t   const u_char *bp,        /*
      beginning of sctp packet */\n\t   const u_char *bp2,       /* beginning of enclosing
      */\n\t   u_int sctpPacketLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lane.c:70,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lane.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: lane_hdr_print
    functionSourceFile: /src/tcpdump/print-lane.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void lane_hdr_print(netdissect_options *ndo, const u_char *bp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lane.c:84,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lane.c:88,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lane.c:89,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lane.c:90,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lane.c:91,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lane.c:91,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-lane.c:98,1
    - Dst: ether_print
      Src: /src/tcpdump/print-lane.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ndo
    - p
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 108
    functionName: lane_print
    functionSourceFile: /src/tcpdump/print-lane.c
    functionUses: 1
    functionsReached:
    - ND_TCHECK_2
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - ether_print
    - tok2str
    linkageType: ''
    returnType: void
    signature: void lane_print(netdissect_options *ndo, const u_char *p, u_int length,
      u_int caplen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: TIPC_ZONE
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_ZONE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: TIPC_CLUSTER
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_CLUSTER(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: TIPC_NODE
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_NODE(addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: TIPC_VER
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_VER(w0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: TIPC_USER
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_USER(w0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: TIPC_HSIZE
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_HSIZE(w0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: TIPC_MSIZE
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_MSIZE(w0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w1
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: TIPC_MTYPE
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_MTYPE(w1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w1
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: TIPC_BROADCAST_ACK
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_BROADCAST_ACK(w1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w2
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: TIPC_LINK_ACK
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_LINK_ACK(w2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w2
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: TIPC_LINK_SEQ
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_LINK_SEQ(w2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w1
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: TIPC_SEQ_GAP
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_SEQ_GAP(w1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w2
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: TIPC_BC_GAP_AFTER
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_BC_GAP_AFTER(w2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w2
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: TIPC_BC_GAP_TO
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_BC_GAP_TO(w2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w4
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: TIPC_LAST_SENT_FRAG
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_LAST_SENT_FRAG(w4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w4
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: TIPC_NEXT_SENT_FRAG
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_NEXT_SENT_FRAG(w4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w5
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: TIPC_SESS_NO
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_SESS_NO(w5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w9
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: TIPC_MSG_CNT
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_MSG_CNT(w9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w9
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: TIPC_LINK_TOL
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_LINK_TOL(w9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w1
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: TIPC_NODE_SIG
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_NODE_SIG(w1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w5
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: TIPC_MEDIA_ID
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIPC_MEDIA_ID(w5)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:170,1
    - Dst: TIPC_USER
      Src: /src/tcpdump/print-tipc.c:171,1
    - Dst: TIPC_HSIZE
      Src: /src/tcpdump/print-tipc.c:172,1
    - Dst: TIPC_MSIZE
      Src: /src/tcpdump/print-tipc.c:173,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:174,1
    - Dst: TIPC_MTYPE
      Src: /src/tcpdump/print-tipc.c:175,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:176,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:177,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:178,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tipc.c:180,1
    - Dst: TIPC_VER
      Src: /src/tcpdump/print-tipc.c:181,1
    - Dst: TIPC_ZONE
      Src: /src/tcpdump/print-tipc.c:182,1
    - Dst: TIPC_CLUSTER
      Src: /src/tcpdump/print-tipc.c:182,1
    - Dst: TIPC_NODE
      Src: /src/tcpdump/print-tipc.c:182,1
    - Dst: tok2str
      Src: /src/tcpdump/print-tipc.c:185,1
    - Dst: tok2str
      Src: /src/tcpdump/print-tipc.c:186,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:188,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:189,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tipc.c:190,1
    - Dst: TIPC_VER
      Src: /src/tcpdump/print-tipc.c:191,1
    - Dst: TIPC_ZONE
      Src: /src/tcpdump/print-tipc.c:192,1
    - Dst: TIPC_CLUSTER
      Src: /src/tcpdump/print-tipc.c:192,1
    - Dst: TIPC_NODE
      Src: /src/tcpdump/print-tipc.c:192,1
    - Dst: TIPC_ZONE
      Src: /src/tcpdump/print-tipc.c:194,1
    - Dst: TIPC_CLUSTER
      Src: /src/tcpdump/print-tipc.c:194,1
    - Dst: TIPC_NODE
      Src: /src/tcpdump/print-tipc.c:194,1
    - Dst: tok2str
      Src: /src/tcpdump/print-tipc.c:197,1
    - Dst: tok2str
      Src: /src/tcpdump/print-tipc.c:198,1
    - Dst: TIPC_BROADCAST_ACK
      Src: /src/tcpdump/print-tipc.c:201,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:202,1
    - Dst: TIPC_LINK_ACK
      Src: /src/tcpdump/print-tipc.c:203,1
    - Dst: TIPC_LINK_SEQ
      Src: /src/tcpdump/print-tipc.c:204,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tipc.c:205,1
    - Dst: TIPC_ZONE
      Src: /src/tcpdump/print-tipc.c:206,1
    - Dst: TIPC_CLUSTER
      Src: /src/tcpdump/print-tipc.c:206,1
    - Dst: TIPC_NODE
      Src: /src/tcpdump/print-tipc.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - ndo
    - ap
    argTypes:
    - netdissect_options*
    - struct payload_tipc_pkthdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 210
    functionName: print_payload
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached:
    - TIPC_LINK_ACK
    - tok2str
    - TIPC_VER
    - TIPC_ZONE
    - TIPC_USER
    - TIPC_LINK_SEQ
    - TIPC_CLUSTER
    - ND_PRINT
    - TIPC_NODE
    - TIPC_MSIZE
    - TIPC_HSIZE
    - TIPC_BROADCAST_ACK
    - TIPC_MTYPE
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void print_payload(netdissect_options *ndo, const struct payload_tipc_pkthdr
      *ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:234,1
    - Dst: TIPC_USER
      Src: /src/tcpdump/print-tipc.c:235,1
    - Dst: TIPC_HSIZE
      Src: /src/tcpdump/print-tipc.c:236,1
    - Dst: TIPC_MSIZE
      Src: /src/tcpdump/print-tipc.c:237,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:238,1
    - Dst: TIPC_MTYPE
      Src: /src/tcpdump/print-tipc.c:239,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:240,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:241,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tipc.c:242,1
    - Dst: TIPC_VER
      Src: /src/tcpdump/print-tipc.c:243,1
    - Dst: TIPC_ZONE
      Src: /src/tcpdump/print-tipc.c:244,1
    - Dst: TIPC_CLUSTER
      Src: /src/tcpdump/print-tipc.c:244,1
    - Dst: TIPC_NODE
      Src: /src/tcpdump/print-tipc.c:244,1
    - Dst: TIPC_ZONE
      Src: /src/tcpdump/print-tipc.c:245,1
    - Dst: TIPC_CLUSTER
      Src: /src/tcpdump/print-tipc.c:245,1
    - Dst: TIPC_NODE
      Src: /src/tcpdump/print-tipc.c:245,1
    - Dst: tok2str
      Src: /src/tcpdump/print-tipc.c:247,1
    - Dst: tok2str
      Src: /src/tcpdump/print-tipc.c:248,1
    - Dst: TIPC_SEQ_GAP
      Src: /src/tcpdump/print-tipc.c:251,1
    - Dst: TIPC_BROADCAST_ACK
      Src: /src/tcpdump/print-tipc.c:252,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:253,1
    - Dst: TIPC_BC_GAP_AFTER
      Src: /src/tcpdump/print-tipc.c:254,1
    - Dst: TIPC_BC_GAP_TO
      Src: /src/tcpdump/print-tipc.c:255,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:256,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:257,1
    - Dst: TIPC_LAST_SENT_FRAG
      Src: /src/tcpdump/print-tipc.c:258,1
    - Dst: TIPC_NEXT_SENT_FRAG
      Src: /src/tcpdump/print-tipc.c:259,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:260,1
    - Dst: TIPC_SESS_NO
      Src: /src/tcpdump/print-tipc.c:261,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:262,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:263,1
    - Dst: TIPC_MSG_CNT
      Src: /src/tcpdump/print-tipc.c:264,1
    - Dst: TIPC_LINK_TOL
      Src: /src/tcpdump/print-tipc.c:265,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tipc.c:266,1
    - Dst: TIPC_ZONE
      Src: /src/tcpdump/print-tipc.c:267,1
    - Dst: TIPC_CLUSTER
      Src: /src/tcpdump/print-tipc.c:267,1
    - Dst: TIPC_NODE
      Src: /src/tcpdump/print-tipc.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 2
    argNames:
    - ndo
    - ap
    argTypes:
    - netdissect_options*
    - struct internal_tipc_pkthdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 272
    functionName: print_internal
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached:
    - TIPC_SEQ_GAP
    - TIPC_MTYPE
    - TIPC_BC_GAP_AFTER
    - GET_BE_U_4
    - TIPC_LAST_SENT_FRAG
    - TIPC_LINK_TOL
    - TIPC_MSG_CNT
    - ND_PRINT
    - TIPC_MSIZE
    - TIPC_BC_GAP_TO
    - TIPC_ZONE
    - TIPC_NODE
    - tok2str
    - TIPC_SESS_NO
    - TIPC_VER
    - TIPC_USER
    - TIPC_NEXT_SENT_FRAG
    - TIPC_CLUSTER
    - TIPC_HSIZE
    - TIPC_BROADCAST_ACK
    linkageType: ''
    returnType: void
    signature: void print_internal(netdissect_options *ndo, const struct internal_tipc_pkthdr
      *ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:288,1
    - Dst: TIPC_USER
      Src: /src/tcpdump/print-tipc.c:289,1
    - Dst: TIPC_HSIZE
      Src: /src/tcpdump/print-tipc.c:290,1
    - Dst: TIPC_MSIZE
      Src: /src/tcpdump/print-tipc.c:291,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:292,1
    - Dst: TIPC_MTYPE
      Src: /src/tcpdump/print-tipc.c:293,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:294,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:295,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tipc.c:297,1
    - Dst: TIPC_VER
      Src: /src/tcpdump/print-tipc.c:298,1
    - Dst: TIPC_ZONE
      Src: /src/tcpdump/print-tipc.c:299,1
    - Dst: TIPC_CLUSTER
      Src: /src/tcpdump/print-tipc.c:299,1
    - Dst: TIPC_NODE
      Src: /src/tcpdump/print-tipc.c:299,1
    - Dst: TIPC_ZONE
      Src: /src/tcpdump/print-tipc.c:300,1
    - Dst: TIPC_CLUSTER
      Src: /src/tcpdump/print-tipc.c:300,1
    - Dst: TIPC_NODE
      Src: /src/tcpdump/print-tipc.c:300,1
    - Dst: tok2str
      Src: /src/tcpdump/print-tipc.c:302,1
    - Dst: tok2str
      Src: /src/tcpdump/print-tipc.c:303,1
    - Dst: TIPC_NODE_SIG
      Src: /src/tcpdump/print-tipc.c:305,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:306,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:307,1
    - Dst: TIPC_MEDIA_ID
      Src: /src/tcpdump/print-tipc.c:308,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tipc.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - ndo
    - ap
    argTypes:
    - netdissect_options*
    - struct link_conf_tipc_pkthdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 312
    functionName: print_link_conf
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 0
    functionsReached:
    - TIPC_MEDIA_ID
    - tok2str
    - TIPC_VER
    - TIPC_ZONE
    - TIPC_USER
    - TIPC_CLUSTER
    - ND_PRINT
    - TIPC_NODE
    - TIPC_MSIZE
    - TIPC_HSIZE
    - TIPC_NODE_SIG
    - TIPC_MTYPE
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void print_link_conf(netdissect_options *ndo, const struct link_conf_tipc_pkthdr
      *ap)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-tipc.c:324,1
    - Dst: TIPC_USER
      Src: /src/tcpdump/print-tipc.c:325,1
    - Dst: print_payload
      Src: /src/tcpdump/print-tipc.c:334,1
    - Dst: print_link_conf
      Src: /src/tcpdump/print-tipc.c:338,1
    - Dst: print_internal
      Src: /src/tcpdump/print-tipc.c:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 350
    functionName: tipc_print
    functionSourceFile: /src/tcpdump/print-tipc.c
    functionUses: 1
    functionsReached:
    - print_link_conf
    - TIPC_USER
    - print_internal
    - print_payload
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void tipc_print(netdissect_options *ndo, const u_char *bp, u_int length
      _U_,\n    u_int caplen _U_)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-tftp.c:96,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tftp.c:98,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tftp.c:103,1
    - Dst: tok2str
      Src: /src/tcpdump/print-tftp.c:104,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tftp.c:105,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tftp.c:118,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tftp.c:120,1
    - Dst: nd_printztn
      Src: /src/tcpdump/print-tftp.c:121,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tftp.c:122,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tftp.c:131,1
    - Dst: nd_printztn
      Src: /src/tcpdump/print-tftp.c:132,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tftp.c:140,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tftp.c:141,1
    - Dst: nd_printztn
      Src: /src/tcpdump/print-tftp.c:142,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-tftp.c:153,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tftp.c:154,1
    - Dst: nd_printztn
      Src: /src/tcpdump/print-tftp.c:155,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tftp.c:167,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tftp.c:167,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tftp.c:174,1
    - Dst: tok2str
      Src: /src/tcpdump/print-tftp.c:174,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-tftp.c:175,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tftp.c:181,1
    - Dst: nd_printztn
      Src: /src/tcpdump/print-tftp.c:182,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tftp.c:183,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-tftp.c:190,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-tftp.c:195,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 94
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 196
    functionName: tftp_print
    functionSourceFile: /src/tcpdump/print-tftp.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - nd_printztn
    - nd_print_protocol_caps
    - nd_print_trunc
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void tftp_print(netdissect_options *ndo,\n           const u_char
      *bp, u_int length)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mpcp.c:137,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mpcp.c:138,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpcp.c:139,1
    - Dst: tok2str
      Src: /src/tcpdump/print-mpcp.c:139,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpcp.c:141,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpcp.c:143,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mpcp.c:155,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpcp.c:156,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-mpcp.c:158,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mpcp.c:160,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpcp.c:165,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mpcp.c:167,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mpcp.c:168,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpcp.c:172,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mpcp.c:172,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mpcp.c:177,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpcp.c:179,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mpcp.c:182,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpcp.c:183,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-mpcp.c:185,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpcp.c:191,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mpcp.c:193,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpcp.c:204,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-mpcp.c:205,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mpcp.c:205,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mpcp.c:206,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpcp.c:211,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mpcp.c:213,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-mpcp.c:214,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mpcp.c:214,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mpcp.c:215,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mpcp.c:216,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpcp.c:221,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mpcp.c:223,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-mpcp.c:224,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mpcp.c:224,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mpcp.c:225,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-mpcp.c:230,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 3
    argNames:
    - ndo
    - pptr
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 233
    functionName: mpcp_print
    functionSourceFile: /src/tcpdump/print-mpcp.c
    functionUses: 1
    functionsReached:
    - bittok2str
    - print_unknown_data
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void mpcp_print(netdissect_options *ndo, const u_char *pptr, u_int
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:50,1
    - Dst: hncp_print_rec
      Src: /src/tcpdump/print-hncp.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: hncp_print
    functionSourceFile: /src/tcpdump/print-hncp.c
    functionUses: 1
    functionsReached:
    - hncp_print_rec
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void hncp_print(netdissect_options *ndo,\n           const u_char
      *cp, u_int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tcpdump/print-hncp.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: is_ipv4_mapped_address
    functionSourceFile: /src/tcpdump/print-hncp.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int is_ipv4_mapped_address(const u_char *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-hncp.c:162,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:163,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:163,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:163,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - data
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: format_nid
    functionSourceFile: /src/tcpdump/print-hncp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      format_nid(netdissect_options *ndo, const u_char *data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-hncp.c:174,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-hncp.c:175,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-hncp.c:176,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-hncp.c:177,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-hncp.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - data
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: format_256
    functionSourceFile: /src/tcpdump/print-hncp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_8
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      format_256(netdissect_options *ndo, const u_char *data)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-hncp.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: format_interval
    functionSourceFile: /src/tcpdump/print-hncp.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      format_interval(const uint32_t n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_ipv4_mapped_address
      Src: /src/tcpdump/print-hncp.c:196,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-hncp.c:197,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-hncp.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: format_ip6addr
    functionSourceFile: /src/tcpdump/print-hncp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - is_ipv4_mapped_address
    - GET_IP6ADDR_STRING
    linkageType: ''
    returnType: char
    signature: 'char *

      format_ip6addr(netdissect_options *ndo, const u_char *cp)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:208,1
    - Dst: is_ipv4_mapped_address
      Src: /src/tcpdump/print-hncp.c:209,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:213,1
    - Dst: memset
      Src: /src/tcpdump/print-hncp.c:218,1
    - Dst: memcpy
      Src: /src/tcpdump/print-hncp.c:222,1
    - Dst: snprintf
      Src: /src/tcpdump/print-hncp.c:227,1
    - Dst: ipaddr_string
      Src: /src/tcpdump/print-hncp.c:227,1
    - Dst: decode_prefix6
      Src: /src/tcpdump/print-hncp.c:230,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - ndo
    - prefix
    - max_length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 237
    functionName: print_prefix
    functionSourceFile: /src/tcpdump/print-hncp.c
    functionUses: 0
    functionsReached:
    - ipaddr_string
    - GET_U_1
    - is_ipv4_mapped_address
    - decode_prefix6
    - memcpy
    - ND_PRINT
    - snprintf
    - memset
    linkageType: ''
    returnType: int
    signature: int print_prefix(netdissect_options *ndo, const u_char *prefix, u_int
      max_length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:245,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:250,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-hncp.c:253,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-hncp.c:257,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:261,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - ndo
    - cp
    - max_length
    - print
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 263
    functionName: print_dns_label
    functionSourceFile: /src/tcpdump/print-hncp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - nd_printjnp
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: "int print_dns_label(netdissect_options *ndo,\n                const
      u_char *cp, u_int max_length, int print)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:278,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:279,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:282,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:284,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:286,1
    - Dst: tok2str
      Src: /src/tcpdump/print-hncp.c:286,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:287,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:298,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-hncp.c:298,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:304,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-hncp.c:305,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - ndo
    - cp
    - length
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 315
    functionName: dhcpv4_print
    functionSourceFile: /src/tcpdump/print-hncp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - ND_PRINT
    - fqdn_print
    - tok2str
    linkageType: ''
    returnType: int
    signature: "int dhcpv4_print(netdissect_options *ndo,\n             const u_char
      *cp, u_int length, int indent)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-hncp.c:330,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-hncp.c:331,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:334,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:336,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:338,1
    - Dst: tok2str
      Src: /src/tcpdump/print-hncp.c:338,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:339,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:347,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:351,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-hncp.c:351,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:357,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-hncp.c:358,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 4
    argNames:
    - ndo
    - cp
    - length
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 368
    functionName: dhcpv6_print
    functionSourceFile: /src/tcpdump/print-hncp.c
    functionUses: 0
    functionsReached:
    - GET_IP6ADDR_STRING
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - fqdn_print
    - tok2str
    linkageType: ''
    returnType: int
    signature: "int dhcpv6_print(netdissect_options *ndo,\n             const u_char
      *cp, u_int length, int indent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - indent
    argTypes:
    - netdissect_options*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: is_in_line
    functionSourceFile: /src/tcpdump/print-hncp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_in_line(netdissect_options *ndo, int indent)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:386,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:388,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:390,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:393,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:395,1
    - Dst: tok2str
      Src: /src/tcpdump/print-hncp.c:395,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - ndo
    - type
    - count
    - indent
    - first_one
    argTypes:
    - netdissect_options*
    - uint32_t
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 399
    functionName: print_type_in_line
    functionSourceFile: /src/tcpdump/print-hncp.c
    functionUses: 0
    functionsReached:
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void print_type_in_line(netdissect_options *ndo,\n                   uint32_t
      type, int count, int indent, int *first_one)"
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: is_in_line
      Src: /src/tcpdump/print-hncp.c:405,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:422,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:424,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-hncp.c:427,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-hncp.c:431,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-hncp.c:432,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-hncp.c:434,1
    - Dst: print_type_in_line
      Src: /src/tcpdump/print-hncp.c:464,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:472,1
    - Dst: tok2str
      Src: /src/tcpdump/print-hncp.c:472,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:474,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:475,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:481,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:488,1
    - Dst: format_nid
      Src: /src/tcpdump/print-hncp.c:491,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:492,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:500,1
    - Dst: format_nid
      Src: /src/tcpdump/print-hncp.c:503,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-hncp.c:504,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:505,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:515,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-hncp.c:518,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:519,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:528,1
    - Dst: format_nid
      Src: /src/tcpdump/print-hncp.c:531,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-hncp.c:532,1
    - Dst: format_interval
      Src: /src/tcpdump/print-hncp.c:533,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-hncp.c:533,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-hncp.c:534,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:535,1
    - Dst: hncp_print_rec
      Src: /src/tcpdump/print-hncp.c:541,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:549,1
    - Dst: format_nid
      Src: /src/tcpdump/print-hncp.c:552,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-hncp.c:553,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-hncp.c:554,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:555,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:567,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-hncp.c:570,1
    - Dst: format_interval
      Src: /src/tcpdump/print-hncp.c:571,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-hncp.c:571,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:572,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:581,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:584,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:585,1
    - Dst: format_256
      Src: /src/tcpdump/print-hncp.c:586,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-hncp.c:587,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:595,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-hncp.c:598,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:603,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-hncp.c:606,1
    - Dst: hncp_print_rec
      Src: /src/tcpdump/print-hncp.c:612,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:618,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:619,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:622,1
    - Dst: format_interval
      Src: /src/tcpdump/print-hncp.c:623,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-hncp.c:623,1
    - Dst: format_interval
      Src: /src/tcpdump/print-hncp.c:624,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-hncp.c:624,1
    - Dst: print_prefix
      Src: /src/tcpdump/print-hncp.c:626,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:628,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:641,1
    - Dst: hncp_print_rec
      Src: /src/tcpdump/print-hncp.c:647,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:655,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:658,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:659,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:662,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:665,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:667,1
    - Dst: print_prefix
      Src: /src/tcpdump/print-hncp.c:668,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:670,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:683,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:687,1
    - Dst: print_dns_label
      Src: /src/tcpdump/print-hncp.c:688,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:690,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-hncp.c:691,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:694,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:697,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:699,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:706,1
    - Dst: dhcpv4_print
      Src: /src/tcpdump/print-hncp.c:709,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:716,1
    - Dst: dhcpv6_print
      Src: /src/tcpdump/print-hncp.c:719,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:720,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:729,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:730,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:733,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:734,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-hncp.c:735,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:738,1
    - Dst: print_prefix
      Src: /src/tcpdump/print-hncp.c:739,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:740,1
    - Dst: hncp_print_rec
      Src: /src/tcpdump/print-hncp.c:747,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:755,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-hncp.c:758,1
    - Dst: format_ip6addr
      Src: /src/tcpdump/print-hncp.c:759,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:760,1
    - Dst: hncp_print_rec
      Src: /src/tcpdump/print-hncp.c:765,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:773,1
    - Dst: format_ip6addr
      Src: /src/tcpdump/print-hncp.c:776,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:777,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:779,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:780,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:781,1
    - Dst: print_dns_label
      Src: /src/tcpdump/print-hncp.c:783,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:785,1
    - Dst: hncp_print_rec
      Src: /src/tcpdump/print-hncp.c:791,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:797,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:800,1
    - Dst: print_dns_label
      Src: /src/tcpdump/print-hncp.c:801,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:808,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-hncp.c:811,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:813,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:816,1
    - Dst: format_ip6addr
      Src: /src/tcpdump/print-hncp.c:817,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:820,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-hncp.c:821,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:822,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:824,1
    - Dst: roundup2
      Src: /src/tcpdump/print-hncp.c:827,1
    - Dst: hncp_print_rec
      Src: /src/tcpdump/print-hncp.c:829,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:835,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-hncp.c:838,1
    - Dst: format_256
      Src: /src/tcpdump/print-hncp.c:838,1
    - Dst: hncp_print_rec
      Src: /src/tcpdump/print-hncp.c:839,1
    - Dst: roundup2
      Src: /src/tcpdump/print-hncp.c:852,1
    - Dst: print_type_in_line
      Src: /src/tcpdump/print-hncp.c:854,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-hncp.c:859,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-hncp.c:863,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 338
    argCount: 4
    argNames:
    - ndo
    - cp
    - length
    - indent
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 401
    functionDepth: 4
    functionLinenumber: 401
    functionLinenumberEnd: 864
    functionName: hncp_print_rec
    functionSourceFile: /src/tcpdump/print-hncp.c
    functionUses: 2
    functionsReached:
    - format_256
    - GET_U_1
    - GET_BE_U_8
    - roundup2
    - nd_printjnp
    - format_interval
    - nd_print_invalid
    - GET_BE_U_4
    - is_in_line
    - ND_PRINT
    - hncp_print_rec
    - format_ip6addr
    - print_prefix
    - dhcpv6_print
    - GET_BE_U_2
    - print_type_in_line
    - dhcpv4_print
    - ND_TCHECK_LEN
    - tok2str
    - nd_print_trunc
    - print_dns_label
    - format_nid
    - ND_TCHECK_4
    linkageType: ''
    returnType: void
    signature: "void hncp_print_rec(netdissect_options *ndo,\n               const
      u_char *cp, u_int length, int indent)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gethostbyaddr
      Src: /src/tcpdump/addrtoname.c:147,1
    - Dst: memset
      Src: /src/tcpdump/addrtoname.c:152,1
    - Dst: memcpy
      Src: /src/tcpdump/addrtoname.c:154,1
    - Dst: getnameinfo
      Src: /src/tcpdump/addrtoname.c:155,1
    - Dst: strlcpy
      Src: /src/tcpdump/addrtoname.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - addr
    - len
    - type
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 168
    functionName: win32_gethostbyaddr
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 0
    functionsReached:
    - gethostbyaddr
    - memcpy
    - memset
    - strlcpy
    - getnameinfo
    linkageType: ''
    returnType: struct hostent
    signature: 'struct hostent *

      win32_gethostbyaddr(const char *addr, int len, int type)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tcpdump/addrtoname.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: intoa
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 5
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: char
    signature: 'char *

      intoa(uint32_t addr)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tcpdump/addrtoname.c:277,1
    - Dst: newhnamemem
      Src: /src/tcpdump/addrtoname.c:284,1
    - Dst: cap_gethostbyaddr
      Src: /src/tcpdump/addrtoname.c:298,1
    - Dst: gethostbyaddr
      Src: /src/tcpdump/addrtoname.c:302,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:306,1
    - Dst: strchr
      Src: /src/tcpdump/addrtoname.c:312,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:319,1
    - Dst: intoa
      Src: /src/tcpdump/addrtoname.c:319,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - ndo
    - ap
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 324
    functionName: ipaddr_string
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 4
    functionsReached:
    - gethostbyaddr
    - strchr
    - newhnamemem
    - memcpy
    - strdup
    - intoa
    - cap_gethostbyaddr
    linkageType: ''
    returnType: char
    signature: 'char *

      ipaddr_string(netdissect_options *ndo, const u_char *ap)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tcpdump/addrtoname.c:345,1
    - Dst: memcmp
      Src: /src/tcpdump/addrtoname.c:348,1
    - Dst: memcpy
      Src: /src/tcpdump/addrtoname.c:351,1
    - Dst: newh6namemem
      Src: /src/tcpdump/addrtoname.c:352,1
    - Dst: cap_gethostbyaddr
      Src: /src/tcpdump/addrtoname.c:361,1
    - Dst: gethostbyaddr
      Src: /src/tcpdump/addrtoname.c:365,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:370,1
    - Dst: strchr
      Src: /src/tcpdump/addrtoname.c:376,1
    - Dst: addrtostr6
      Src: /src/tcpdump/addrtoname.c:384,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:385,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - ndo
    - ap
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 390
    functionName: ip6addr_string
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 4
    functionsReached:
    - gethostbyaddr
    - strchr
    - memcmp
    - memcpy
    - strdup
    - addrtostr6
    - newh6namemem
    - cap_gethostbyaddr
    linkageType: ''
    returnType: char
    signature: 'char *

      ip6addr_string(netdissect_options *ndo, const u_char *ap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cp
    - octet
    argTypes:
    - char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: octet_to_hex
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      octet_to_hex(char *cp, uint8_t octet)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcpdump/addrtoname.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ndo
    - ep
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 457
    functionName: lookup_emem
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct enamemem
    signature: 'struct enamemem *

      lookup_emem(netdissect_options *ndo, const u_char *ep)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tcpdump/addrtoname.c:488,1
    - Dst: calloc
      Src: /src/tcpdump/addrtoname.c:497,1
    - Dst: memcpy
      Src: /src/tcpdump/addrtoname.c:502,1
    - Dst: calloc
      Src: /src/tcpdump/addrtoname.c:504,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - ndo
    - bs
    - nlen
    argTypes:
    - netdissect_options*
    - u_char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 510
    functionName: lookup_bytestring
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    - memcmp
    linkageType: ''
    returnType: struct bsnamemem
    signature: "struct bsnamemem *\nlookup_bytestring(netdissect_options *ndo, const
      u_char *bs,\n\t\t  const unsigned int nlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tcpdump/addrtoname.c:536,1
    - Dst: malloc
      Src: /src/tcpdump/addrtoname.c:544,1
    - Dst: memcpy
      Src: /src/tcpdump/addrtoname.c:548,1
    - Dst: calloc
      Src: /src/tcpdump/addrtoname.c:549,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - ndo
    - nsap
    - nsap_length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 554
    functionName: lookup_nsap
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    - calloc
    - memcmp
    linkageType: ''
    returnType: struct enamemem
    signature: "struct enamemem *\nlookup_nsap(netdissect_options *ndo, const u_char
      *nsap,\n\t    u_int nsap_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcpdump/addrtoname.c:577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ndo
    - pi
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 582
    functionName: lookup_protoid
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct protoidmem
    signature: 'struct protoidmem *

      lookup_protoid(netdissect_options *ndo, const u_char *pi)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lookup_emem
      Src: /src/tcpdump/addrtoname.c:593,1
    - Dst: memcpy
      Src: /src/tcpdump/addrtoname.c:606,1
    - Dst: ether_ntohost
      Src: /src/tcpdump/addrtoname.c:607,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:608,1
    - Dst: EXTRACT_BE_U_3
      Src: /src/tcpdump/addrtoname.c:617,1
    - Dst: octet_to_hex
      Src: /src/tcpdump/addrtoname.c:618,1
    - Dst: octet_to_hex
      Src: /src/tcpdump/addrtoname.c:621,1
    - Dst: snprintf
      Src: /src/tcpdump/addrtoname.c:625,1
    - Dst: tok2str
      Src: /src/tcpdump/addrtoname.c:626,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:629,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ndo
    - ep
    argTypes:
    - netdissect_options*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 634
    functionName: mac48_string
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 3
    functionsReached:
    - octet_to_hex
    - ether_ntohost
    - lookup_emem
    - memcpy
    - strdup
    - snprintf
    - tok2str
    - EXTRACT_BE_U_3
    linkageType: ''
    returnType: char
    signature: 'char *

      mac48_string(netdissect_options *ndo, const uint8_t *ep)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linkaddr_string
      Src: /src/tcpdump/addrtoname.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - ep
    argTypes:
    - netdissect_options*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 640
    functionName: eui64_string
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 2
    functionsReached:
    - linkaddr_string
    linkageType: ''
    returnType: char
    signature: 'char *

      eui64_string(netdissect_options *ndo, const uint8_t *ep)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lookup_bytestring
      Src: /src/tcpdump/addrtoname.c:654,1
    - Dst: octet_to_hex
      Src: /src/tcpdump/addrtoname.c:660,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ndo
    - ep
    argTypes:
    - netdissect_options*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 673
    functionName: eui64le_string
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 1
    functionsReached:
    - strdup
    - octet_to_hex
    - lookup_bytestring
    linkageType: ''
    returnType: char
    signature: 'char *

      eui64le_string(netdissect_options *ndo, const uint8_t *ep)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mac48_string
      Src: /src/tcpdump/addrtoname.c:687,1
    - Dst: q922_string
      Src: /src/tcpdump/addrtoname.c:690,1
    - Dst: lookup_bytestring
      Src: /src/tcpdump/addrtoname.c:692,1
    - Dst: malloc
      Src: /src/tcpdump/addrtoname.c:696,1
    - Dst: octet_to_hex
      Src: /src/tcpdump/addrtoname.c:700,1
    - Dst: octet_to_hex
      Src: /src/tcpdump/addrtoname.c:703,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - ndo
    - ep
    - type
    - len
    argTypes:
    - netdissect_options*
    - uint8_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 707
    functionName: linkaddr_string
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 2
    functionsReached:
    - octet_to_hex
    - q922_string
    - mac48_string
    - lookup_bytestring
    - malloc
    linkageType: ''
    returnType: char
    signature: "char *\nlinkaddr_string(netdissect_options *ndo, const uint8_t *ep,\n\t\tconst
      unsigned int type, const unsigned int len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lookup_nsap
      Src: /src/tcpdump/addrtoname.c:721,1
    - Dst: malloc
      Src: /src/tcpdump/addrtoname.c:725,1
    - Dst: octet_to_hex
      Src: /src/tcpdump/addrtoname.c:731,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - ndo
    - nsap
    - nsap_length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 739
    functionName: isonsap_string
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 1
    functionsReached:
    - octet_to_hex
    - lookup_nsap
    - malloc
    linkageType: ''
    returnType: char
    signature: "char *\nisonsap_string(netdissect_options *ndo, const uint8_t *nsap,\n\t
      \      u_int nsap_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: newhnamemem
      Src: /src/tcpdump/addrtoname.c:753,1
    - Dst: snprintf
      Src: /src/tcpdump/addrtoname.c:755,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ndo
    - port
    argTypes:
    - netdissect_options*
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 761
    functionName: tcpport_string
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 4
    functionsReached:
    - strdup
    - snprintf
    - newhnamemem
    linkageType: ''
    returnType: char
    signature: 'char *

      tcpport_string(netdissect_options *ndo, u_short port)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: newhnamemem
      Src: /src/tcpdump/addrtoname.c:775,1
    - Dst: snprintf
      Src: /src/tcpdump/addrtoname.c:777,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ndo
    - port
    argTypes:
    - netdissect_options*
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 783
    functionName: udpport_string
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 3
    functionsReached:
    - strdup
    - snprintf
    - newhnamemem
    linkageType: ''
    returnType: char
    signature: 'char *

      udpport_string(netdissect_options *ndo, u_short port)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: newhnamemem
      Src: /src/tcpdump/addrtoname.c:798,1
    - Dst: ntohs
      Src: /src/tcpdump/addrtoname.c:801,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ndo
    - port
    argTypes:
    - netdissect_options*
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 812
    functionName: ipxsap_string
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 1
    functionsReached:
    - strdup
    - ntohs
    - newhnamemem
    linkageType: ''
    returnType: char
    signature: 'char *

      ipxsap_string(netdissect_options *ndo, u_short port)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getservent
      Src: /src/tcpdump/addrtoname.c:822,1
    - Dst: ntohs
      Src: /src/tcpdump/addrtoname.c:823,1
    - Dst: strcmp
      Src: /src/tcpdump/addrtoname.c:825,1
    - Dst: strcmp
      Src: /src/tcpdump/addrtoname.c:827,1
    - Dst: snprintf
      Src: /src/tcpdump/addrtoname.c:835,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:836,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:838,1
    - Dst: newhnamemem
      Src: /src/tcpdump/addrtoname.c:844,1
    - Dst: endservent
      Src: /src/tcpdump/addrtoname.c:846,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 847
    functionName: init_servarray
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 0
    functionsReached:
    - ntohs
    - newhnamemem
    - strdup
    - strcmp
    - endservent
    - snprintf
    - getservent
    linkageType: ''
    returnType: void
    signature: void init_servarray(netdissect_options *ndo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/tcpdump/addrtoname.c:875,1
    - Dst: htons
      Src: /src/tcpdump/addrtoname.c:880,1
    - Dst: newhnamemem
      Src: /src/tcpdump/addrtoname.c:881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 883
    functionName: init_eprotoarray
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 0
    functionsReached:
    - htons
    - newhnamemem
    linkageType: ''
    returnType: void
    signature: void init_eprotoarray(netdissect_options *ndo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/tcpdump/addrtoname.c:913,1
    - Dst: memcpy
      Src: /src/tcpdump/addrtoname.c:915,1
    - Dst: lookup_protoid
      Src: /src/tcpdump/addrtoname.c:916,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:917,1
    - Dst: lookup_protoid
      Src: /src/tcpdump/addrtoname.c:924,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 931
    functionName: init_protoidarray
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 0
    functionsReached:
    - memcpy
    - lookup_protoid
    - htons
    - strdup
    linkageType: ''
    returnType: void
    signature: void init_protoidarray(netdissect_options *ndo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tcpdump/addrtoname.c:967,1
    - Dst: pcap_next_etherent
      Src: /src/tcpdump/addrtoname.c:969,1
    - Dst: lookup_emem
      Src: /src/tcpdump/addrtoname.c:970,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:971,1
    - Dst: fclose
      Src: /src/tcpdump/addrtoname.c:976,1
    - Dst: lookup_emem
      Src: /src/tcpdump/addrtoname.c:982,1
    - Dst: memcpy
      Src: /src/tcpdump/addrtoname.c:993,1
    - Dst: ether_ntohost
      Src: /src/tcpdump/addrtoname.c:994,1
    - Dst: strdup
      Src: /src/tcpdump/addrtoname.c:995,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 1004
    functionName: init_etherarray
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 0
    functionsReached:
    - ether_ntohost
    - fopen
    - fclose
    - lookup_emem
    - memcpy
    - strdup
    - pcap_next_etherent
    linkageType: ''
    returnType: void
    signature: void init_etherarray(netdissect_options *ndo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/tcpdump/addrtoname.c:1233,1
    - Dst: htons
      Src: /src/tcpdump/addrtoname.c:1238,1
    - Dst: newhnamemem
      Src: /src/tcpdump/addrtoname.c:1239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1241
    functionName: init_ipxsaparray
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 0
    functionsReached:
    - htons
    - newhnamemem
    linkageType: ''
    returnType: void
    signature: void init_ipxsaparray(netdissect_options *ndo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_etherarray
      Src: /src/tcpdump/addrtoname.c:1262,1
    - Dst: init_servarray
      Src: /src/tcpdump/addrtoname.c:1263,1
    - Dst: init_eprotoarray
      Src: /src/tcpdump/addrtoname.c:1264,1
    - Dst: init_protoidarray
      Src: /src/tcpdump/addrtoname.c:1265,1
    - Dst: init_ipxsaparray
      Src: /src/tcpdump/addrtoname.c:1266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ndo
    - localnet
    - mask
    argTypes:
    - netdissect_options*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1249
    functionDepth: 3
    functionLinenumber: 1249
    functionLinenumberEnd: 1267
    functionName: init_addrtoname
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 0
    functionsReached:
    - init_etherarray
    - init_servarray
    - init_eprotoarray
    - init_ipxsaparray
    - init_protoidarray
    linkageType: ''
    returnType: void
    signature: void init_addrtoname(netdissect_options *ndo, uint32_t localnet, uint32_t
      mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: newhnamemem
      Src: /src/tcpdump/addrtoname.c:1280,1
    - Dst: dnnum_string
      Src: /src/tcpdump/addrtoname.c:1281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ndo
    - dnaddr
    argTypes:
    - netdissect_options*
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1284
    functionName: dnaddr_string
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 0
    functionsReached:
    - dnnum_string
    - newhnamemem
    linkageType: ''
    returnType: char
    signature: 'char *

      dnaddr_string(netdissect_options *ndo, u_short dnaddr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcpdump/addrtoname.c:1296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1304
    functionName: newhnamemem
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 9
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct hnamemem
    signature: 'struct hnamemem *

      newhnamemem(netdissect_options *ndo)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tcpdump/addrtoname.c:1316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1324
    functionName: newh6namemem
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 1
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct h6namemem
    signature: 'struct h6namemem *

      newh6namemem(netdissect_options *ndo)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/addrtoname.c:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tci
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1336
    functionName: ieee8021q_tci_string
    functionSourceFile: /src/tcpdump/addrtoname.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      ieee8021q_tci_string(const uint16_t tci)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IP_V
      Src: /src/tcpdump/print-nfs.c:207,1
    - Dst: strlcpy
      Src: /src/tcpdump/print-nfs.c:210,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-nfs.c:210,1
    - Dst: strlcpy
      Src: /src/tcpdump/print-nfs.c:211,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-nfs.c:211,1
    - Dst: strlcpy
      Src: /src/tcpdump/print-nfs.c:215,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-nfs.c:215,1
    - Dst: strlcpy
      Src: /src/tcpdump/print-nfs.c:217,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-nfs.c:217,1
    - Dst: strlcpy
      Src: /src/tcpdump/print-nfs.c:221,1
    - Dst: strlcpy
      Src: /src/tcpdump/print-nfs.c:222,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ndo
    - bp
    - s
    - d
    argTypes:
    - netdissect_options*
    - u_char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 227
    functionName: nfsaddr_print
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_IP6ADDR_STRING
    - ND_PRINT
    - IP_V
    - strlcpy
    linkageType: ''
    returnType: void
    signature: "void nfsaddr_print(netdissect_options *ndo,\n              const u_char
      *bp, const char *s, const char *d)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:261,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:264,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:268,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:271,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:275,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:278,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:282,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:285,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:289,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:292,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:294,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:298,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:301,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 3
    argNames:
    - ndo
    - dp
    - sa3
    argTypes:
    - netdissect_options*
    - uint32_t*
    - struct nfsv3_sattr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 308
    functionName: parse_sattr3
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_4
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparse_sattr3(netdissect_options *ndo,\n             const
      uint32_t *dp, struct nfsv3_sattr *sa3)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:315,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:317,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:319,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:322,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ndo
    - sa3
    - verbose
    argTypes:
    - netdissect_options*
    - struct nfsv3_sattr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 328
    functionName: print_sattr3
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void print_sattr3(netdissect_options *ndo,\n             const struct
      nfsv3_sattr *sa3, int verbose)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/tcpdump/print-nfs.c:342,1
    - Dst: snprintf
      Src: /src/tcpdump/print-nfs.c:343,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:344,1
    - Dst: snprintf
      Src: /src/tcpdump/print-nfs.c:346,1
    - Dst: snprintf
      Src: /src/tcpdump/print-nfs.c:347,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:348,1
    - Dst: nfsaddr_print
      Src: /src/tcpdump/print-nfs.c:350,1
    - Dst: nfsreply_noaddr_print
      Src: /src/tcpdump/print-nfs.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - bp2
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 353
    functionName: nfsreply_print
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 1
    functionsReached:
    - snprintf
    - nfsreply_noaddr_print
    - nfsaddr_print
    - strlcpy
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void nfsreply_print(netdissect_options *ndo,\n               const
      u_char *bp, u_int length,\n               const u_char *bp2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-nfs.c:370,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:371,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:375,1
    - Dst: xid_map_find
      Src: /src/tcpdump/print-nfs.c:376,1
    - Dst: interp_reply
      Src: /src/tcpdump/print-nfs.c:377,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:381,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-nfs.c:382,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:383,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-nfs.c:387,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:388,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:389,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:390,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-nfs.c:394,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:395,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:396,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nfs.c:396,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:400,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:406,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-nfs.c:412,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - bp2
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 413
    functionName: nfsreply_noaddr_print
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 3
    functionsReached:
    - interp_reply
    - nd_print_trunc
    - xid_map_find
    - ND_PRINT
    - tok2str
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void nfsreply_noaddr_print(netdissect_options *ndo,\n                      const
      u_char *bp, u_int length,\n                      const u_char *bp2)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:434,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:436,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-nfs.c:437,1
    - Dst: roundup2
      Src: /src/tcpdump/print-nfs.c:440,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-nfs.c:441,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:458,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:460,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-nfs.c:461,1
    - Dst: roundup2
      Src: /src/tcpdump/print-nfs.c:464,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-nfs.c:465,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - ndo
    - rp
    - length
    argTypes:
    - netdissect_options*
    - struct sunrpc_msg*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 479
    functionName: parsereq
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - roundup2
    - ND_PRINT
    - nd_print_invalid
    - GET_BE_U_4
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparsereq(netdissect_options *ndo,\n         const struct
      sunrpc_msg *rp, u_int length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:492,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-nfs.c:497,1
    - Dst: nfs_printfh
      Src: /src/tcpdump/print-nfs.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - dp
    - v3
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 502
    functionName: parsefh
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - nfs_printfh
    - GET_BE_U_4
    - ND_TTEST_LEN
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparsefh(netdissect_options *ndo,\n        const uint32_t
      *dp, int v3)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:516,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:520,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-nfs.c:521,1
    - Dst: roundup2
      Src: /src/tcpdump/print-nfs.c:525,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-nfs.c:526,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:531,1
    - Dst: nd_printn
      Src: /src/tcpdump/print-nfs.c:532,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:533,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ndo
    - dp
    argTypes:
    - netdissect_options*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 541
    functionName: parsefn
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - nd_printn
    - roundup2
    - ND_PRINT
    - nd_print_invalid
    - GET_BE_U_4
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparsefn(netdissect_options *ndo,\n        const uint32_t
      *dp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parsefh
      Src: /src/tcpdump/print-nfs.c:552,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:555,1
    - Dst: parsefn
      Src: /src/tcpdump/print-nfs.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - dp
    - v3
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 557
    functionName: parsefhn
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - parsefn
    - ND_PRINT
    - parsefh
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparsefhn(netdissect_options *ndo,\n         const uint32_t
      *dp, int v3)"
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:573,1
    - Dst: xid_map_enter
      Src: /src/tcpdump/print-nfs.c:576,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:579,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:580,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:585,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nfs.c:585,1
    - Dst: parsereq
      Src: /src/tcpdump/print-nfs.c:594,1
    - Dst: parsefh
      Src: /src/tcpdump/print-nfs.c:597,1
    - Dst: parsereq
      Src: /src/tcpdump/print-nfs.c:606,1
    - Dst: parsefhn
      Src: /src/tcpdump/print-nfs.c:609,1
    - Dst: parsereq
      Src: /src/tcpdump/print-nfs.c:614,1
    - Dst: parsefh
      Src: /src/tcpdump/print-nfs.c:617,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:620,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:623,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:625,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:629,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:633,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:637,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:641,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:645,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:649,1
    - Dst: parsereq
      Src: /src/tcpdump/print-nfs.c:654,1
    - Dst: parsefh
      Src: /src/tcpdump/print-nfs.c:657,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:661,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:662,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:663,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:665,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:666,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:667,1
    - Dst: parsereq
      Src: /src/tcpdump/print-nfs.c:672,1
    - Dst: parsefh
      Src: /src/tcpdump/print-nfs.c:675,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:679,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:680,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:681,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:682,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:684,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nfs.c:685,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:686,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:689,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:690,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:691,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:692,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:693,1
    - Dst: parsereq
      Src: /src/tcpdump/print-nfs.c:698,1
    - Dst: parsefhn
      Src: /src/tcpdump/print-nfs.c:701,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:704,1
    - Dst: parse_sattr3
      Src: /src/tcpdump/print-nfs.c:705,1
    - Dst: parsefn
      Src: /src/tcpdump/print-nfs.c:707,1
    - Dst: print_sattr3
      Src: /src/tcpdump/print-nfs.c:710,1
    - Dst: parsereq
      Src: /src/tcpdump/print-nfs.c:714,1
    - Dst: parsefhn
      Src: /src/tcpdump/print-nfs.c:717,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:720,1
    - Dst: parse_sattr3
      Src: /src/tcpdump/print-nfs.c:722,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:725,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nfs.c:725,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:727,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:728,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:729,1
    - Dst: print_sattr3
      Src: /src/tcpdump/print-nfs.c:733,1
    - Dst: parsereq
      Src: /src/tcpdump/print-nfs.c:737,1
    - Dst: parsefhn
      Src: /src/tcpdump/print-nfs.c:740,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:743,1
    - Dst: parsefhn
      Src: /src/tcpdump/print-nfs.c:744,1
    - Dst: parsereq
      Src: /src/tcpdump/print-nfs.c:749,1
    - Dst: parsefh
      Src: /src/tcpdump/print-nfs.c:752,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:755,1
    - Dst: parsefhn
      Src: /src/tcpdump/print-nfs.c:756,1
    - Dst: parsereq
      Src: /src/tcpdump/print-nfs.c:761,1
    - Dst: parsefh
      Src: /src/tcpdump/print-nfs.c:764,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:772,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:773,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:774,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:782,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:783,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:784,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:791,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:792,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:793,1
    - Dst: parsereq
      Src: /src/tcpdump/print-nfs.c:798,1
    - Dst: parsefh
      Src: /src/tcpdump/print-nfs.c:801,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:808,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:809,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:810,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:818,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:819,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:820,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:821,1
    - Dst: parsereq
      Src: /src/tcpdump/print-nfs.c:826,1
    - Dst: parsefh
      Src: /src/tcpdump/print-nfs.c:829,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:832,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:833,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:834,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-nfs.c:843,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 233
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - bp2
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 844
    functionName: nfsreq_noaddr_print
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 2
    functionsReached:
    - xid_map_enter
    - print_sattr3
    - GET_BE_U_8
    - nd_print_trunc
    - parsereq
    - ND_PRINT
    - parsefn
    - parsefh
    - tok2str
    - parsefhn
    - GET_BE_U_4
    - parse_sattr3
    linkageType: ''
    returnType: void
    signature: "void nfsreq_noaddr_print(netdissect_options *ndo,\n                    const
      u_char *bp, u_int length,\n                    const u_char *bp2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:868,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:882,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:882,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:885,1
    - Dst: Parse_fh
      Src: /src/tcpdump/print-nfs.c:889,1
    - Dst: strncpy
      Src: /src/tcpdump/print-nfs.c:900,1
    - Dst: strchr
      Src: /src/tcpdump/print-nfs.c:903,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:907,1
    - Dst: fn_print_str
      Src: /src/tcpdump/print-nfs.c:908,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:909,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:911,1
    - Dst: fn_print_str
      Src: /src/tcpdump/print-nfs.c:917,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:919,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - ndo
    - dp
    - len
    argTypes:
    - netdissect_options*
    - uint32_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 920
    functionName: nfs_printfh
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 1
    functionsReached:
    - Parse_fh
    - strchr
    - strncpy
    - ND_PRINT
    - fn_print_str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void nfs_printfh(netdissect_options *ndo,\n            const uint32_t
      *dp, const u_int len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/print-nfs.c:958,1
    - Dst: IP_V
      Src: /src/tcpdump/print-nfs.c:960,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-nfs.c:976,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-nfs.c:979,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-nfs.c:981,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-nfs.c:985,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-nfs.c:987,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:990,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:991,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - ndo
    - rp
    - bp
    argTypes:
    - netdissect_options*
    - struct sunrpc_msg*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 993
    functionName: xid_map_enter
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 1
    functionsReached:
    - UNALIGNED_MEMCPY
    - ND_TTEST_4
    - GET_BE_U_4
    - IP_V
    linkageType: ''
    returnType: int
    signature: "int xid_map_enter(netdissect_options *ndo,\n              const struct
      sunrpc_msg *rp, const u_char *bp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-nfs.c:1010,1
    - Dst: IP_V
      Src: /src/tcpdump/print-nfs.c:1016,1
    - Dst: UNALIGNED_MEMCMP
      Src: /src/tcpdump/print-nfs.c:1020,1
    - Dst: UNALIGNED_MEMCMP
      Src: /src/tcpdump/print-nfs.c:1022,1
    - Dst: UNALIGNED_MEMCMP
      Src: /src/tcpdump/print-nfs.c:1028,1
    - Dst: UNALIGNED_MEMCMP
      Src: /src/tcpdump/print-nfs.c:1030,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 5
    argNames:
    - ndo
    - rp
    - bp
    - proc
    - vers
    argTypes:
    - netdissect_options*
    - struct sunrpc_msg*
    - u_char*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1053
    functionName: xid_map_find
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 1
    functionsReached:
    - UNALIGNED_MEMCPY
    - UNALIGNED_MEMCMP
    - IP_V
    linkageType: ''
    returnType: int
    signature: "int xid_map_find(netdissect_options *ndo, const struct sunrpc_msg
      *rp,\n\t     const u_char *bp, uint32_t *proc, uint32_t *vers)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1087,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1098,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1100,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nfs.c:1100,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-nfs.c:1105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - ndo
    - rp
    - length
    - nfserrp
    argTypes:
    - netdissect_options*
    - struct sunrpc_msg*
    - u_int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1109
    functionName: parserep
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - tok2str
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparserep(netdissect_options *ndo,\n         const struct
      sunrpc_msg *rp, u_int length, int *nfserrp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1117,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1122,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nfs.c:1123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ndo
    - dp
    - er
    - nfserrp
    argTypes:
    - netdissect_options*
    - uint32_t*
    - u_int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1127
    functionName: parsestatus
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - tok2str
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparsestatus(netdissect_options *ndo,\n            const
      uint32_t *dp, u_int *er, int *nfserrp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-nfs.c:1136,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1144,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nfs.c:1145,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1146,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1147,1
    - Dst: GET_BE_S_4
      Src: /src/tcpdump/print-nfs.c:1148,1
    - Dst: GET_BE_S_4
      Src: /src/tcpdump/print-nfs.c:1149,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1151,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:1152,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1154,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1154,1
    - Dst: ND_TCHECK_8
      Src: /src/tcpdump/print-nfs.c:1160,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1161,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1162,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1163,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1164,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1165,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:1166,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1167,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:1168,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1169,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1170,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1171,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1172,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1173,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1174,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1175,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1176,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1177,1
    - Dst: ND_TCHECK_8
      Src: /src/tcpdump/print-nfs.c:1179,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1180,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1181,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1182,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1183,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1184,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1185,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1186,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1187,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1188,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1189,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1190,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1191,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1192,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 4
    argNames:
    - ndo
    - dp
    - verbose
    - v3
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1200
    functionName: parsefattr
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_8
    - GET_BE_U_8
    - ND_PRINT
    - GET_BE_S_4
    - tok2str
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparsefattr(netdissect_options *ndo,\n           const
      uint32_t *dp, int verbose, int v3)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1208,1
    - Dst: parsefattr
      Src: /src/tcpdump/print-nfs.c:1214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ndo
    - dp
    - verbose
    - v3
    - nfserrp
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1215
    functionName: parseattrstat
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - parsefattr
    - parsestatus
    linkageType: ''
    returnType: int
    signature: "int parseattrstat(netdissect_options *ndo,\n              const uint32_t
      *dp, int verbose, int v3, int *nfserrp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1223,1
    - Dst: parsefh
      Src: /src/tcpdump/print-nfs.c:1229,1
    - Dst: parsefattr
      Src: /src/tcpdump/print-nfs.c:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - dp
    - nfserrp
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1217
    functionDepth: 2
    functionLinenumber: 1217
    functionLinenumberEnd: 1234
    functionName: parsediropres
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - parsefattr
    - parsestatus
    - parsefh
    linkageType: ''
    returnType: int
    signature: "int parsediropres(netdissect_options *ndo,\n              const uint32_t
      *dp, int *nfserrp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1242,1
    - Dst: parse_post_op_attr
      Src: /src/tcpdump/print-nfs.c:1248,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1252,1
    - Dst: parsefn
      Src: /src/tcpdump/print-nfs.c:1253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ndo
    - dp
    - v3
    - nfserrp
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1236
    functionDepth: 2
    functionLinenumber: 1236
    functionLinenumberEnd: 1254
    functionName: parselinkres
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - parsefn
    - parsestatus
    - ND_PRINT
    - parse_post_op_attr
    linkageType: ''
    returnType: int
    signature: "int parselinkres(netdissect_options *ndo,\n             const uint32_t
      *dp, int v3, int *nfserrp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1263,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1274,1
    - Dst: parse_post_op_attr
      Src: /src/tcpdump/print-nfs.c:1275,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-nfs.c:1280,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1285,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:1286,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:1287,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:1288,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1290,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:1291,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:1292,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:1293,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1294,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1297,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1298,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1299,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1300,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1301,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - ndo
    - dp
    - v3
    - nfserrp
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1256
    functionDepth: 2
    functionLinenumber: 1256
    functionLinenumberEnd: 1308
    functionName: parsestatfs
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_8
    - ND_PRINT
    - ND_TCHECK_LEN
    - parsestatus
    - parse_post_op_attr
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int parsestatfs(netdissect_options *ndo,\n            const uint32_t
      *dp, int v3, int *nfserrp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1316,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1324,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1325,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1325,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1326,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ndo
    - dp
    - nfserrp
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1310
    functionDepth: 2
    functionLinenumber: 1310
    functionLinenumberEnd: 1330
    functionName: parserddires
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - parsestatus
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int parserddires(netdissect_options *ndo,\n             const uint32_t
      *dp, int *nfserrp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1337,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:1337,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1338,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1339,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1339,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1340,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - dp
    argTypes:
    - netdissect_options*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1342
    functionName: parse_wcc_attr
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_8
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparse_wcc_attr(netdissect_options *ndo,\n               const
      uint32_t *dp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1351,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-nfs.c:1354,1
    - Dst: parse_wcc_attr
      Src: /src/tcpdump/print-nfs.c:1356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ndo
    - dp
    - verbose
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1347
    functionDepth: 2
    functionLinenumber: 1347
    functionLinenumberEnd: 1363
    functionName: parse_pre_op_attr
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - parse_wcc_attr
    - ND_TCHECK_LEN
    - GET_BE_U_4
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparse_pre_op_attr(netdissect_options *ndo,\n                  const
      uint32_t *dp, int verbose)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1372,1
    - Dst: parsefattr
      Src: /src/tcpdump/print-nfs.c:1376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ndo
    - dp
    - verbose
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1368
    functionDepth: 2
    functionLinenumber: 1368
    functionLinenumberEnd: 1379
    functionName: parse_post_op_attr
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 2
    functionsReached:
    - parsefattr
    - GET_BE_U_4
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparse_post_op_attr(netdissect_options *ndo,\n                   const
      uint32_t *dp, int verbose)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1386,1
    - Dst: parse_pre_op_attr
      Src: /src/tcpdump/print-nfs.c:1387,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1392,1
    - Dst: parse_post_op_attr
      Src: /src/tcpdump/print-nfs.c:1393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ndo
    - dp
    - verbose
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1381
    functionDepth: 3
    functionLinenumber: 1381
    functionLinenumberEnd: 1394
    functionName: parse_wcc_data
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - parse_post_op_attr
    - parse_pre_op_attr
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparse_wcc_data(netdissect_options *ndo,\n               const
      uint32_t *dp, int verbose)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1402,1
    - Dst: parse_wcc_data
      Src: /src/tcpdump/print-nfs.c:1406,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1408,1
    - Dst: parsefh
      Src: /src/tcpdump/print-nfs.c:1411,1
    - Dst: parse_post_op_attr
      Src: /src/tcpdump/print-nfs.c:1415,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1419,1
    - Dst: parse_wcc_data
      Src: /src/tcpdump/print-nfs.c:1420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - ndo
    - dp
    - verbose
    - nfserrp
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1396
    functionDepth: 4
    functionLinenumber: 1396
    functionLinenumberEnd: 1425
    functionName: parsecreateopres
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - parsefh
    - parse_wcc_data
    - parsestatus
    - parse_post_op_attr
    - GET_BE_U_4
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparsecreateopres(netdissect_options *ndo,\n                 const
      uint32_t *dp, int verbose, int *nfserrp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1433,1
    - Dst: parse_wcc_data
      Src: /src/tcpdump/print-nfs.c:1436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ndo
    - dp
    - verbose
    - nfserrp
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1427
    functionDepth: 4
    functionLinenumber: 1427
    functionLinenumberEnd: 1437
    functionName: parsewccres
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - parsestatus
    - parse_wcc_data
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparsewccres(netdissect_options *ndo,\n            const
      uint32_t *dp, int verbose, int *nfserrp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1445,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1449,1
    - Dst: parse_post_op_attr
      Src: /src/tcpdump/print-nfs.c:1450,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1460,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1461,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ndo
    - dp
    - verbose
    - nfserrp
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1439
    functionDepth: 3
    functionLinenumber: 1439
    functionLinenumberEnd: 1465
    functionName: parsev3rddirres
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - parsestatus
    - ND_PRINT
    - parse_post_op_attr
    - GET_BE_U_4
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t *\nparsev3rddirres(netdissect_options *ndo,\n                const
      uint32_t *dp, int verbose, int *nfserrp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1474,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1478,1
    - Dst: parse_post_op_attr
      Src: /src/tcpdump/print-nfs.c:1479,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-nfs.c:1486,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1487,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1488,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1489,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1490,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1491,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1492,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1494,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1495,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1496,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:1497,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1498,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1499,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - ndo
    - dp
    - nfserrp
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1467
    functionDepth: 3
    functionLinenumber: 1467
    functionLinenumberEnd: 1505
    functionName: parsefsinfo
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_8
    - ND_PRINT
    - parsestatus
    - parse_post_op_attr
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int parsefsinfo(netdissect_options *ndo,\n            const uint32_t
      *dp, int *nfserrp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1514,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1518,1
    - Dst: parse_post_op_attr
      Src: /src/tcpdump/print-nfs.c:1519,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-nfs.c:1526,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1528,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1529,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1530,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1531,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1532,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1533,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ndo
    - dp
    - nfserrp
    argTypes:
    - netdissect_options*
    - uint32_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1507
    functionDepth: 3
    functionLinenumber: 1507
    functionLinenumberEnd: 1538
    functionName: parsepathconf
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - parsestatus
    - parse_post_op_attr
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int parsepathconf(netdissect_options *ndo,\n              const uint32_t
      *dp, int *nfserrp)"
  - BBCount: 108
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1555,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nfs.c:1555,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1559,1
    - Dst: parseattrstat
      Src: /src/tcpdump/print-nfs.c:1562,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1567,1
    - Dst: parsewccres
      Src: /src/tcpdump/print-nfs.c:1571,1
    - Dst: parseattrstat
      Src: /src/tcpdump/print-nfs.c:1574,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1580,1
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1584,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1589,1
    - Dst: parse_post_op_attr
      Src: /src/tcpdump/print-nfs.c:1590,1
    - Dst: parsefh
      Src: /src/tcpdump/print-nfs.c:1595,1
    - Dst: parse_post_op_attr
      Src: /src/tcpdump/print-nfs.c:1598,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1602,1
    - Dst: parse_post_op_attr
      Src: /src/tcpdump/print-nfs.c:1603,1
    - Dst: parsediropres
      Src: /src/tcpdump/print-nfs.c:1609,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1615,1
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1618,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1622,1
    - Dst: parse_post_op_attr
      Src: /src/tcpdump/print-nfs.c:1623,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1627,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1627,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1632,1
    - Dst: parselinkres
      Src: /src/tcpdump/print-nfs.c:1635,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1640,1
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1644,1
    - Dst: parse_post_op_attr
      Src: /src/tcpdump/print-nfs.c:1647,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1652,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1652,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1653,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1654,1
    - Dst: parseattrstat
      Src: /src/tcpdump/print-nfs.c:1658,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1664,1
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1668,1
    - Dst: parse_wcc_data
      Src: /src/tcpdump/print-nfs.c:1671,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1676,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1676,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1678,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nfs.c:1679,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nfs.c:1680,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1683,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:1684,1
    - Dst: parseattrstat
      Src: /src/tcpdump/print-nfs.c:1690,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1697,1
    - Dst: parsecreateopres
      Src: /src/tcpdump/print-nfs.c:1701,1
    - Dst: parsediropres
      Src: /src/tcpdump/print-nfs.c:1704,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1710,1
    - Dst: parsecreateopres
      Src: /src/tcpdump/print-nfs.c:1714,1
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1717,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1723,1
    - Dst: parsecreateopres
      Src: /src/tcpdump/print-nfs.c:1726,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1732,1
    - Dst: parsewccres
      Src: /src/tcpdump/print-nfs.c:1736,1
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1739,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1745,1
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1749,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1753,1
    - Dst: parse_wcc_data
      Src: /src/tcpdump/print-nfs.c:1754,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1757,1
    - Dst: parse_wcc_data
      Src: /src/tcpdump/print-nfs.c:1758,1
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1763,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1769,1
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1773,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1777,1
    - Dst: parse_post_op_attr
      Src: /src/tcpdump/print-nfs.c:1778,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1781,1
    - Dst: parse_wcc_data
      Src: /src/tcpdump/print-nfs.c:1782,1
    - Dst: parsestatus
      Src: /src/tcpdump/print-nfs.c:1788,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1794,1
    - Dst: parsev3rddirres
      Src: /src/tcpdump/print-nfs.c:1798,1
    - Dst: parserddires
      Src: /src/tcpdump/print-nfs.c:1801,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1807,1
    - Dst: parsev3rddirres
      Src: /src/tcpdump/print-nfs.c:1810,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1815,1
    - Dst: parsestatfs
      Src: /src/tcpdump/print-nfs.c:1818,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1823,1
    - Dst: parsefsinfo
      Src: /src/tcpdump/print-nfs.c:1826,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1831,1
    - Dst: parsepathconf
      Src: /src/tcpdump/print-nfs.c:1834,1
    - Dst: parserep
      Src: /src/tcpdump/print-nfs.c:1839,1
    - Dst: parsewccres
      Src: /src/tcpdump/print-nfs.c:1842,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nfs.c:1847,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-nfs.c:1847,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-nfs.c:1858,1
    CyclomaticComplexity: 166
    EdgeCount: 166
    ICount: 341
    argCount: 5
    argNames:
    - ndo
    - rp
    - proc
    - vers
    - length
    argTypes:
    - netdissect_options*
    - struct sunrpc_msg*
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1540
    functionDepth: 5
    functionLinenumber: 1540
    functionLinenumberEnd: 1859
    functionName: interp_reply
    functionSourceFile: /src/tcpdump/print-nfs.c
    functionUses: 1
    functionsReached:
    - parseattrstat
    - parsecreateopres
    - GET_BE_U_8
    - parserddires
    - parselinkres
    - parsestatus
    - parse_post_op_attr
    - GET_BE_U_4
    - parserep
    - parsewccres
    - parsepathconf
    - ND_PRINT
    - parsestatfs
    - parsev3rddirres
    - parsefsinfo
    - tok2str
    - parsediropres
    - nd_print_trunc
    - parsefh
    - parse_wcc_data
    linkageType: ''
    returnType: void
    signature: "void interp_reply(netdissect_options *ndo,\n             const struct
      sunrpc_msg *rp, uint32_t proc, uint32_t vers,\n             int length)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-vqp.c:114,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vqp.c:117,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vqp.c:123,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vqp.c:130,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vqp.c:132,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vqp.c:132,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vqp.c:133,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vqp.c:133,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vqp.c:134,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vqp.c:140,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vqp.c:141,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vqp.c:143,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vqp.c:143,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vqp.c:144,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vqp.c:144,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vqp.c:145,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-vqp.c:146,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-vqp.c:157,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-vqp.c:160,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-vqp.c:161,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vqp.c:165,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vqp.c:166,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-vqp.c:175,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vqp.c:183,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-vqp.c:183,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-vqp.c:184,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-vqp.c:191,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vqp.c:198,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-vqp.c:198,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-vqp.c:202,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-vqp.c:211,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 212
    functionName: vqp_print
    functionSourceFile: /src/tcpdump/print-vqp.c
    functionUses: 1
    functionsReached:
    - GET_IPADDR_STRING
    - print_unknown_data
    - nd_print_invalid
    - GET_U_1
    - GET_BE_U_2
    - nd_printjnp
    - GET_MAC48_STRING
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: void vqp_print(netdissect_options *ndo, const u_char *pptr, u_int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: ascii_strcasecmp
    functionSourceFile: /src/tcpdump/ascii_strcasecmp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ascii_strcasecmp(const char *s1, const char *s2)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 105
    functionName: ascii_strncasecmp
    functionSourceFile: /src/tcpdump/ascii_strcasecmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ascii_strncasecmp(const char *s1, const char *s2, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: ar_sha
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ar_sha(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: ar_spa
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ar_spa(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: ar_tha
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ar_tha(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: ar_tpa
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ar_tpa(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: HRD
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HRD(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: HRD_LEN
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HRD_LEN(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: PROTO_LEN
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTO_LEN(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: OP
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: PRO
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRO(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: SHA
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHA(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: SPA
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPA(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: THA
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: THA(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: TPA
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TPA(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: ATMHRD
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMHRD(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: ATMSHRD_LEN
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMSHRD_LEN(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: ATMSSLN
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMSSLN(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: ATMSPROTO_LEN
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMSPROTO_LEN(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: ATMOP
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMOP(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: ATMPRO
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMPRO(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: ATMTHRD_LEN
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMTHRD_LEN(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: ATMTSLN
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMTSLN(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: ATMTPROTO_LEN
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMTPROTO_LEN(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: aar_sha
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aar_sha(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: aar_ssa
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aar_ssa(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: aar_spa
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aar_spa(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: aar_tha
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aar_tha(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: aar_tsa
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aar_tsa(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: aar_tpa
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aar_tpa(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: ATMSHA
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMSHA(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: ATMSSA
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMSSA(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: ATMSPA
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMSPA(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: ATMTHA
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMTHA(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: ATMTSA
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMTSA(ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: ATMTPA
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATMTPA(ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arp.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ndo
    - a
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: isnonzero
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    linkageType: ''
    returnType: int
    signature: int isnonzero(netdissect_options *ndo, const u_char *a, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:194,1
    - Dst: PROTO_LEN
      Src: /src/tcpdump/print-arp.c:195,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:196,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:198,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-arp.c:198,1
    - Dst: TPA
      Src: /src/tcpdump/print-arp.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - ap
    - pro
    argTypes:
    - netdissect_options*
    - struct arp_pkthdr*
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: tpaddr_print_ip
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ND_PRINT
    - PROTO_LEN
    - TPA
    linkageType: ''
    returnType: void
    signature: "void tpaddr_print_ip(netdissect_options *ndo,\n\t        const struct
      arp_pkthdr *ap, u_short pro)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:206,1
    - Dst: PROTO_LEN
      Src: /src/tcpdump/print-arp.c:207,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:208,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:210,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-arp.c:210,1
    - Dst: SPA
      Src: /src/tcpdump/print-arp.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - ap
    - pro
    argTypes:
    - netdissect_options*
    - struct arp_pkthdr*
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: spaddr_print_ip
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ND_PRINT
    - PROTO_LEN
    - SPA
    linkageType: ''
    returnType: void
    signature: "void spaddr_print_ip(netdissect_options *ndo,\n\t        const struct
      arp_pkthdr *ap, u_short pro)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:219,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:221,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-arp.c:221,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:223,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-arp.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ndo
    - ha
    - ha_len
    - srca
    - srca_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: atmarp_addr_print
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_LINKADDR_STRING
    linkageType: ''
    returnType: void
    signature: "void atmarp_addr_print(netdissect_options *ndo,\n\t\t  const u_char
      *ha, u_int ha_len, const u_char *srca,\n    u_int srca_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:233,1
    - Dst: ATMTPROTO_LEN
      Src: /src/tcpdump/print-arp.c:234,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:235,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:237,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-arp.c:237,1
    - Dst: ATMTPA
      Src: /src/tcpdump/print-arp.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - ap
    - pro
    argTypes:
    - netdissect_options*
    - struct atmarp_pkthdr*
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: atmarp_tpaddr_print
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ATMTPROTO_LEN
    - ND_PRINT
    - ATMTPA
    linkageType: ''
    returnType: void
    signature: "void atmarp_tpaddr_print(netdissect_options *ndo,\n\t\t    const struct
      atmarp_pkthdr *ap, u_short pro)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:245,1
    - Dst: ATMSPROTO_LEN
      Src: /src/tcpdump/print-arp.c:246,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:247,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:249,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-arp.c:249,1
    - Dst: ATMSPA
      Src: /src/tcpdump/print-arp.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - ap
    - pro
    argTypes:
    - netdissect_options*
    - struct atmarp_pkthdr*
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: atmarp_spaddr_print
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached:
    - ATMSPROTO_LEN
    - GET_IPADDR_STRING
    - ND_PRINT
    - ATMSPA
    linkageType: ''
    returnType: void
    signature: "void atmarp_spaddr_print(netdissect_options *ndo,\n\t\t    const struct
      atmarp_pkthdr *ap, u_short pro)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-arp.c:260,1
    - Dst: ATMHRD
      Src: /src/tcpdump/print-arp.c:262,1
    - Dst: ATMPRO
      Src: /src/tcpdump/print-arp.c:263,1
    - Dst: ATMOP
      Src: /src/tcpdump/print-arp.c:264,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-arp.c:266,1
    - Dst: ATMTPA
      Src: /src/tcpdump/print-arp.c:266,1
    - Dst: ATMTPROTO_LEN
      Src: /src/tcpdump/print-arp.c:266,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:269,1
    - Dst: ATMSPROTO_LEN
      Src: /src/tcpdump/print-arp.c:273,1
    - Dst: ATMTPROTO_LEN
      Src: /src/tcpdump/print-arp.c:274,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:276,1
    - Dst: tok2str
      Src: /src/tcpdump/print-arp.c:277,1
    - Dst: tok2str
      Src: /src/tcpdump/print-arp.c:278,1
    - Dst: ATMSPROTO_LEN
      Src: /src/tcpdump/print-arp.c:279,1
    - Dst: ATMTPROTO_LEN
      Src: /src/tcpdump/print-arp.c:280,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:289,1
    - Dst: tok2str
      Src: /src/tcpdump/print-arp.c:291,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:296,1
    - Dst: atmarp_tpaddr_print
      Src: /src/tcpdump/print-arp.c:297,1
    - Dst: ATMTHRD_LEN
      Src: /src/tcpdump/print-arp.c:298,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:299,1
    - Dst: atmarp_addr_print
      Src: /src/tcpdump/print-arp.c:300,1
    - Dst: ATMTHA
      Src: /src/tcpdump/print-arp.c:300,1
    - Dst: ATMTHRD_LEN
      Src: /src/tcpdump/print-arp.c:300,1
    - Dst: ATMTSA
      Src: /src/tcpdump/print-arp.c:301,1
    - Dst: ATMTSLN
      Src: /src/tcpdump/print-arp.c:301,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:302,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:304,1
    - Dst: atmarp_spaddr_print
      Src: /src/tcpdump/print-arp.c:305,1
    - Dst: atmarp_spaddr_print
      Src: /src/tcpdump/print-arp.c:309,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:310,1
    - Dst: atmarp_addr_print
      Src: /src/tcpdump/print-arp.c:311,1
    - Dst: ATMSHA
      Src: /src/tcpdump/print-arp.c:311,1
    - Dst: ATMSHRD_LEN
      Src: /src/tcpdump/print-arp.c:311,1
    - Dst: ATMSSA
      Src: /src/tcpdump/print-arp.c:311,1
    - Dst: ATMSSLN
      Src: /src/tcpdump/print-arp.c:312,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:316,1
    - Dst: atmarp_addr_print
      Src: /src/tcpdump/print-arp.c:317,1
    - Dst: ATMTHA
      Src: /src/tcpdump/print-arp.c:317,1
    - Dst: ATMTHRD_LEN
      Src: /src/tcpdump/print-arp.c:317,1
    - Dst: ATMTSA
      Src: /src/tcpdump/print-arp.c:317,1
    - Dst: ATMTSLN
      Src: /src/tcpdump/print-arp.c:318,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:319,1
    - Dst: atmarp_addr_print
      Src: /src/tcpdump/print-arp.c:320,1
    - Dst: ATMSHA
      Src: /src/tcpdump/print-arp.c:320,1
    - Dst: ATMSHRD_LEN
      Src: /src/tcpdump/print-arp.c:320,1
    - Dst: ATMSSA
      Src: /src/tcpdump/print-arp.c:320,1
    - Dst: ATMSSLN
      Src: /src/tcpdump/print-arp.c:321,1
    - Dst: atmarp_addr_print
      Src: /src/tcpdump/print-arp.c:325,1
    - Dst: ATMSHA
      Src: /src/tcpdump/print-arp.c:325,1
    - Dst: ATMSHRD_LEN
      Src: /src/tcpdump/print-arp.c:325,1
    - Dst: ATMSSA
      Src: /src/tcpdump/print-arp.c:325,1
    - Dst: ATMSSLN
      Src: /src/tcpdump/print-arp.c:326,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:327,1
    - Dst: atmarp_spaddr_print
      Src: /src/tcpdump/print-arp.c:328,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:332,1
    - Dst: atmarp_spaddr_print
      Src: /src/tcpdump/print-arp.c:333,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-arp.c:337,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:342,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 343
    functionName: atmarp_print
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 0
    functionsReached:
    - ATMSPROTO_LEN
    - ATMSHA
    - ATMTHRD_LEN
    - atmarp_tpaddr_print
    - atmarp_spaddr_print
    - atmarp_addr_print
    - ATMTSLN
    - ND_TCHECK_SIZE
    - ATMTHA
    - ATMSHRD_LEN
    - ATMPRO
    - ATMTPROTO_LEN
    - ATMTPA
    - ATMOP
    - ATMTSA
    - ND_PRINT
    - ATMHRD
    - ATMSSA
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    - tok2str
    - ATMSSLN
    linkageType: ''
    returnType: void
    signature: "void atmarp_print(netdissect_options *ndo,\n\t     const u_char *bp,
      u_int length, u_int caplen)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-arp.c:354,1
    - Dst: HRD
      Src: /src/tcpdump/print-arp.c:356,1
    - Dst: PRO
      Src: /src/tcpdump/print-arp.c:357,1
    - Dst: OP
      Src: /src/tcpdump/print-arp.c:358,1
    - Dst: atmarp_print
      Src: /src/tcpdump/print-arp.c:368,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-arp.c:378,1
    - Dst: TPA
      Src: /src/tcpdump/print-arp.c:378,1
    - Dst: PROTO_LEN
      Src: /src/tcpdump/print-arp.c:378,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:381,1
    - Dst: PROTO_LEN
      Src: /src/tcpdump/print-arp.c:386,1
    - Dst: HRD_LEN
      Src: /src/tcpdump/print-arp.c:387,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:389,1
    - Dst: tok2str
      Src: /src/tcpdump/print-arp.c:390,1
    - Dst: HRD_LEN
      Src: /src/tcpdump/print-arp.c:391,1
    - Dst: tok2str
      Src: /src/tcpdump/print-arp.c:392,1
    - Dst: PROTO_LEN
      Src: /src/tcpdump/print-arp.c:393,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:402,1
    - Dst: tok2str
      Src: /src/tcpdump/print-arp.c:404,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:409,1
    - Dst: tpaddr_print_ip
      Src: /src/tcpdump/print-arp.c:410,1
    - Dst: isnonzero
      Src: /src/tcpdump/print-arp.c:411,1
    - Dst: THA
      Src: /src/tcpdump/print-arp.c:411,1
    - Dst: HRD_LEN
      Src: /src/tcpdump/print-arp.c:411,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:412,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-arp.c:413,1
    - Dst: THA
      Src: /src/tcpdump/print-arp.c:413,1
    - Dst: HRD_LEN
      Src: /src/tcpdump/print-arp.c:413,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:414,1
    - Dst: spaddr_print_ip
      Src: /src/tcpdump/print-arp.c:415,1
    - Dst: spaddr_print_ip
      Src: /src/tcpdump/print-arp.c:419,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:420,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-arp.c:421,1
    - Dst: SHA
      Src: /src/tcpdump/print-arp.c:421,1
    - Dst: HRD_LEN
      Src: /src/tcpdump/print-arp.c:421,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:432,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-arp.c:433,1
    - Dst: THA
      Src: /src/tcpdump/print-arp.c:433,1
    - Dst: HRD_LEN
      Src: /src/tcpdump/print-arp.c:433,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:434,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-arp.c:435,1
    - Dst: SHA
      Src: /src/tcpdump/print-arp.c:435,1
    - Dst: HRD_LEN
      Src: /src/tcpdump/print-arp.c:435,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:439,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-arp.c:440,1
    - Dst: THA
      Src: /src/tcpdump/print-arp.c:440,1
    - Dst: HRD_LEN
      Src: /src/tcpdump/print-arp.c:440,1
    - Dst: tpaddr_print_ip
      Src: /src/tcpdump/print-arp.c:441,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:452,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-arp.c:453,1
    - Dst: THA
      Src: /src/tcpdump/print-arp.c:453,1
    - Dst: HRD_LEN
      Src: /src/tcpdump/print-arp.c:453,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:454,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-arp.c:455,1
    - Dst: SHA
      Src: /src/tcpdump/print-arp.c:455,1
    - Dst: HRD_LEN
      Src: /src/tcpdump/print-arp.c:455,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:459,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-arp.c:460,1
    - Dst: SHA
      Src: /src/tcpdump/print-arp.c:460,1
    - Dst: HRD_LEN
      Src: /src/tcpdump/print-arp.c:460,1
    - Dst: spaddr_print_ip
      Src: /src/tcpdump/print-arp.c:461,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-arp.c:465,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arp.c:470,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 471
    functionName: arp_print
    functionSourceFile: /src/tcpdump/print-arp.c
    functionUses: 2
    functionsReached:
    - HRD
    - TPA
    - THA
    - SHA
    - HRD_LEN
    - PROTO_LEN
    - GET_LINKADDR_STRING
    - spaddr_print_ip
    - ND_DEFAULTPRINT
    - ND_PRINT
    - OP
    - isnonzero
    - tpaddr_print_ip
    - ND_TCHECK_LEN
    - tok2str
    - atmarp_print
    - PRO
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void arp_print(netdissect_options *ndo,\n\t  const u_char *bp, u_int
      length, u_int caplen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-calm-fast.c:44,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-calm-fast.c:46,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-calm-fast.c:47,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-calm-fast.c:50,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-calm-fast.c:54,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-calm-fast.c:54,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-calm-fast.c:58,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-calm-fast.c:58,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-calm-fast.c:63,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-calm-fast.c:67,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-calm-fast.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - src
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - struct lladdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 69
    functionName: calm_fast_print
    functionSourceFile: /src/tcpdump/print-calm-fast.c
    functionUses: 1
    functionsReached:
    - ND_TCHECK_LEN
    - GET_U_1
    - ND_PRINT
    - ND_DEFAULTPRINT
    - nd_print_invalid
    linkageType: ''
    returnType: void
    signature: void calm_fast_print(netdissect_options *ndo, const u_char *bp, u_int
      length, const struct lladdr_info *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:69,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-cdp.c:70,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: cdp_print_string
    functionSourceFile: /src/tcpdump/print-cdp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - nd_printjn
    linkageType: ''
    returnType: void
    signature: "void cdp_print_string(netdissect_options *ndo,\n                 const
      u_char *cp, const u_int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:82,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cdp.c:85,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-cdp.c:88,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: cdp_print_power
    functionSourceFile: /src/tcpdump/print-cdp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_3
    linkageType: ''
    returnType: void
    signature: "void cdp_print_power(netdissect_options *ndo,\n                const
      u_char *cp, const u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cdp.c:98,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:100,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-cdp.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: cdp_print_capability
    functionSourceFile: /src/tcpdump/print-cdp.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void cdp_print_capability(netdissect_options *ndo,\n                     const
      u_char *cp, const u_int len _U_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:111,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:113,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:116,1
    - Dst: fn_print_char
      Src: /src/tcpdump/print-cdp.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 120
    functionName: cdp_print_version
    functionSourceFile: /src/tcpdump/print-cdp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - fn_print_char
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void cdp_print_version(netdissect_options *ndo,\n                  const
      u_char *cp, const u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:126,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cdp.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: cdp_print_uint16
    functionSourceFile: /src/tcpdump/print-cdp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void cdp_print_uint16(netdissect_options *ndo,\n                 const
      u_char *cp, const u_int len _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:133,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: cdp_print_duplex
    functionSourceFile: /src/tcpdump/print-cdp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void cdp_print_duplex(netdissect_options *ndo,\n                 const
      u_char *cp, const u_int len _U_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:153,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cdp.c:153,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:155,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:155,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cdp.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: cdp_print_ata186
    functionSourceFile: /src/tcpdump/print-cdp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    - GET_U_1
    linkageType: ''
    returnType: void
    signature: "void cdp_print_ata186(netdissect_options *ndo,\n                 const
      u_char *cp, const u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:162,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cdp.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: cdp_print_mtu
    functionSourceFile: /src/tcpdump/print-cdp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void cdp_print_mtu(netdissect_options *ndo,\n              const u_char
      *cp, const u_int len _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:169,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: cdp_print_uint8x
    functionSourceFile: /src/tcpdump/print-cdp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void cdp_print_uint8x(netdissect_options *ndo,\n                 const
      u_char *cp, const u_int len _U_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:176,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:176,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:178,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-cdp.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: cdp_print_phys_loc
    functionSourceFile: /src/tcpdump/print-cdp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    - nd_printjn
    linkageType: ''
    returnType: void
    signature: "void cdp_print_phys_loc(netdissect_options *ndo,\n                   const
      u_char *cp, const u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:187,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cdp.c:187,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cdp.c:187,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:192,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:195,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cdp.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 197
    functionName: cdp_print_power_avail
    functionSourceFile: /src/tcpdump/print-cdp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void cdp_print_power_avail(netdissect_options *ndo,\n                   const
      u_char *cp, const u_int len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-cdp.c:263,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:266,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:269,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:270,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:271,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cdp.c:272,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:274,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:287,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cdp.c:291,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cdp.c:292,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:299,1
    - Dst: PLURAL_SUFFIX
      Src: /src/tcpdump/print-cdp.c:300,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:302,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:307,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:316,1
    - Dst: PLURAL_SUFFIX
      Src: /src/tcpdump/print-cdp.c:317,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:321,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:327,1
    - Dst: struct cdp_tlvinfo*::printer
      Src: /src/tcpdump/print-cdp.c:330,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-cdp.c:332,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-cdp.c:342,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-cdp.c:343,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:349,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-cdp.c:353,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-cdp.c:354,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 3
    argNames:
    - ndo
    - tptr
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 355
    functionName: cdp_print
    functionSourceFile: /src/tcpdump/print-cdp.c
    functionUses: 1
    functionsReached:
    - PLURAL_SUFFIX
    - print_unknown_data
    - nd_print_invalid
    - GET_U_1
    - struct cdp_tlvinfo*::printer
    - nd_print_protocol_caps
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: void
    signature: "void cdp_print(netdissect_options *ndo,\n          const u_char *tptr,
      u_int length)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cdp.c:377,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:385,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:388,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:389,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:394,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cdp.c:398,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:400,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:411,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:414,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-cdp.c:414,1
    - Dst: memcmp
      Src: /src/tcpdump/print-cdp.c:418,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:429,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:432,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-cdp.c:432,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:439,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:441,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:441,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:446,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:451,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:455,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:455,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:463,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:466,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-cdp.c:470,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 3
    argNames:
    - ndo
    - p
    - l
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 471
    functionName: cdp_print_addr
    functionSourceFile: /src/tcpdump/print-cdp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - GET_IP6ADDR_STRING
    - memcmp
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void cdp_print_addr(netdissect_options *ndo,\n               const
      u_char * p, u_int l)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:478,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:482,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cdp.c:485,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:486,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:486,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:486,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:487,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cdp.c:487,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-cdp.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ndo
    - p
    - l
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 495
    functionName: cdp_print_prefixes
    functionSourceFile: /src/tcpdump/print-cdp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TCHECK_LEN
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void cdp_print_prefixes(netdissect_options *ndo,\n                   const
      u_char * p, u_int l)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rt6.c:47,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:48,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rt6.c:49,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-rt6.c:51,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rt6.c:59,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:60,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-rt6.c:61,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-rt6.c:67,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-rt6.c:68,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rt6.c:69,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-rt6.c:74,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rt6.c:78,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:81,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:83,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rt6.c:84,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:87,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:90,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rt6.c:92,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-rt6.c:93,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:97,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:102,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-rt6.c:103,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rt6.c:106,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:110,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 3
    argNames:
    - ndo
    - p
    - bytes_left
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 119
    functionName: srh_tlv_print
    functionSourceFile: /src/tcpdump/print-rt6.c
    functionUses: 0
    functionsReached:
    - ND_ICHECKMSG_U
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: int srh_tlv_print(netdissect_options *ndo, const u_char *p, u_int bytes_left)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-rt6.c:134,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rt6.c:137,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:138,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rt6.c:139,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:140,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:142,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:143,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rt6.c:143,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rt6.c:150,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:151,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rt6.c:152,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:156,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:162,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rt6.c:162,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:166,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rt6.c:167,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rt6.c:170,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:171,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rt6.c:173,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:174,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rt6.c:175,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:178,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rt6.c:178,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:181,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-rt6.c:181,1
    - Dst: srh_tlv_print
      Src: /src/tcpdump/print-rt6.c:189,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:195,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rt6.c:196,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rt6.c:198,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-rt6.c:203,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 3
    argNames:
    - ndo
    - bp
    - bp2
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 205
    functionName: rt6_print
    functionSourceFile: /src/tcpdump/print-rt6.c
    functionUses: 1
    functionsReached:
    - srh_tlv_print
    - GET_U_1
    - nd_print_protocol_caps
    - GET_IP6ADDR_STRING
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: int rt6_print(netdissect_options *ndo, const u_char *bp, const u_char
      *bp2 _U_)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-fr.c:102,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:104,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-fr.c:107,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:110,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:110,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:112,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:113,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:115,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-fr.c:120,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:123,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:124,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-fr.c:130,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:132,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:135,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:137,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 6
    argNames:
    - ndo
    - p
    - dlci
    - addr_len
    - flags
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int*
    - u_int*
    - uint32_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 140
    functionName: parse_q922_header
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TTEST_1
    linkageType: ''
    returnType: int
    signature: "int parse_q922_header(netdissect_options *ndo,\n                           const
      u_char *p, u_int *dlci,\n                           u_int *addr_len, uint32_t
      *flags, u_int length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-fr.c:150,1
    - Dst: parse_q922_header
      Src: /src/tcpdump/print-fr.c:152,1
    - Dst: snprintf
      Src: /src/tcpdump/print-fr.c:154,1
    - Dst: snprintf
      Src: /src/tcpdump/print-fr.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 164
    functionName: q922_string
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 1
    functionsReached:
    - memset
    - parse_q922_header
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      q922_string(netdissect_options *ndo, const u_char *p, u_int length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:198,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:203,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-fr.c:206,1
    - Dst: tok2str
      Src: /src/tcpdump/print-fr.c:207,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:211,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-fr.c:214,1
    - Dst: tok2str
      Src: /src/tcpdump/print-fr.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - ndo
    - length
    - addr_len
    - dlci
    - flags
    - nlpid
    argTypes:
    - netdissect_options*
    - int
    - u_int
    - u_int
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 219
    functionName: fr_hdr_print
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void fr_hdr_print(netdissect_options *ndo, int length, u_int addr_len,\n\t
      \    u_int dlci, uint32_t flags, uint16_t nlpid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-fr.c:231,1
    - Dst: fr_print
      Src: /src/tcpdump/print-fr.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 237
    functionName: fr_if_print
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 0
    functionsReached:
    - nd_print_trunc
    - fr_print
    linkageType: ''
    returnType: void
    signature: "void fr_if_print(netdissect_options *ndo,\n            const struct
      pcap_pkthdr *h, const u_char *p)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: parse_q922_header
      Src: /src/tcpdump/print-fr.c:252,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:256,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-fr.c:260,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:264,1
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-fr.c:270,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:272,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:272,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-fr.c:274,1
    - Dst: fr_hdr_print
      Src: /src/tcpdump/print-fr.c:277,1
    - Dst: ethertype_print
      Src: /src/tcpdump/print-fr.c:280,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-fr.c:283,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:286,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:286,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-fr.c:292,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:296,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:302,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:310,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-fr.c:314,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:317,1
    - Dst: fr_hdr_print
      Src: /src/tcpdump/print-fr.c:320,1
    - Dst: ip_print
      Src: /src/tcpdump/print-fr.c:326,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-fr.c:330,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-fr.c:336,1
    - Dst: snap_print
      Src: /src/tcpdump/print-fr.c:340,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-fr.c:340,1
    - Dst: fr_hdr_print
      Src: /src/tcpdump/print-fr.c:343,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-fr.c:346,1
    - Dst: q933_print
      Src: /src/tcpdump/print-fr.c:351,1
    - Dst: frf15_print
      Src: /src/tcpdump/print-fr.c:355,1
    - Dst: ppp_print
      Src: /src/tcpdump/print-fr.c:359,1
    - Dst: fr_hdr_print
      Src: /src/tcpdump/print-fr.c:364,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-fr.c:367,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-fr.c:373,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 88
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 376
    functionName: fr_print
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 3
    functionsReached:
    - q933_print
    - GET_U_1
    - fr_hdr_print
    - ip_print
    - nd_print_trunc
    - parse_q922_header
    - GET_BE_U_2
    - ND_TCHECK_1
    - isoclns_print
    - ND_PRINT
    - ip6_print
    - snap_print
    - ND_DEFAULTPRINT
    - ND_BYTES_AVAILABLE_AFTER
    - ND_TTEST_2
    - ethertype_print
    - ppp_print
    - frf15_print
    linkageType: ''
    returnType: u_int
    signature: "u_int fr_print(netdissect_options *ndo,\n         const u_char *p,
      u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-fr.c:388,1
    - Dst: mfr_print
      Src: /src/tcpdump/print-fr.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 394
    functionName: mfr_if_print
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 0
    functionsReached:
    - nd_print_trunc
    - mfr_print
    linkageType: ''
    returnType: void
    signature: "void mfr_if_print(netdissect_options *ndo,\n             const struct
      pcap_pkthdr *h, const u_char *p)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:466,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-fr.c:467,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-fr.c:470,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:472,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:472,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:473,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-fr.c:474,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:474,1
    - Dst: tok2str
      Src: /src/tcpdump/print-fr.c:475,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:475,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-fr.c:485,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:486,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:487,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:489,1
    - Dst: tok2str
      Src: /src/tcpdump/print-fr.c:490,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-fr.c:498,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:509,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-fr.c:510,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:513,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-fr.c:513,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-fr.c:518,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-fr.c:518,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:529,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-fr.c:530,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-fr.c:546,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-fr.c:552,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:574,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:574,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:576,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:577,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:578,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-fr.c:580,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:580,1
    - Dst: fr_print
      Src: /src/tcpdump/print-fr.c:582,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:587,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-fr.c:589,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:589,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-fr.c:590,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-fr.c:595,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 440
    functionDepth: 5
    functionLinenumber: 440
    functionLinenumberEnd: 597
    functionName: mfr_print
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 2
    functionsReached:
    - bittok2str
    - print_unknown_data
    - ND_TCHECK_LEN
    - GET_U_1
    - nd_print_trunc
    - nd_printjnp
    - ND_PRINT
    - fr_print
    - nd_print_invalid
    - tok2str
    - ND_MIN
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: u_int
    signature: "u_int mfr_print(netdissect_options *ndo,\n          const u_char *p,
      u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:625,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:626,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:626,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:628,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-fr.c:630,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:631,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-fr.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 646
    functionName: frf15_print
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - bittok2str
    - nd_print_trunc
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void frf15_print(netdissect_options *ndo,\n            const u_char
      *p, u_int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iecode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 714
    functionName: IE_IS_SINGLE_OCTET
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IE_IS_SINGLE_OCTET(iecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iecode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 715
    functionName: IE_IS_SHIFT
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IE_IS_SHIFT(iecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iecode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 716
    functionName: IE_SHIFT_IS_NON_LOCKING
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IE_SHIFT_IS_NON_LOCKING(iecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iecode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 717
    functionName: IE_SHIFT_IS_LOCKING
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IE_SHIFT_IS_LOCKING(iecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iecode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 718
    functionName: IE_SHIFT_CODESET
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IE_SHIFT_CODESET(iecode)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:822,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-fr.c:824,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:826,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:827,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:835,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-fr.c:843,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:845,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:846,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:849,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-fr.c:857,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:859,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:860,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:863,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-fr.c:873,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:875,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:876,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:879,1
    - Dst: IE_IS_SHIFT
      Src: /src/tcpdump/print-fr.c:880,1
    - Dst: IE_SHIFT_CODESET
      Src: /src/tcpdump/print-fr.c:890,1
    - Dst: IE_SHIFT_IS_LOCKING
      Src: /src/tcpdump/print-fr.c:899,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:925,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:926,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:929,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:933,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:935,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:939,1
    - Dst: tok2str
      Src: /src/tcpdump/print-fr.c:940,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:945,1
    - Dst: tok2str
      Src: /src/tcpdump/print-fr.c:946,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-fr.c:973,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:975,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:979,1
    - Dst: IE_IS_SINGLE_OCTET
      Src: /src/tcpdump/print-fr.c:984,1
    - Dst: IE_IS_SHIFT
      Src: /src/tcpdump/print-fr.c:988,1
    - Dst: IE_SHIFT_IS_LOCKING
      Src: /src/tcpdump/print-fr.c:992,1
    - Dst: IE_SHIFT_CODESET
      Src: /src/tcpdump/print-fr.c:1010,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-fr.c:1016,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:1018,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1022,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:1030,1
    - Dst: tok2str
      Src: /src/tcpdump/print-fr.c:1031,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-fr.c:1041,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:1043,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-fr.c:1060,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-fr.c:1068,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:1077,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-fr.c:1082,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 152
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 1083
    functionName: q933_print
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 2
    functionsReached:
    - ND_TTEST_1
    - IE_SHIFT_IS_LOCKING
    - print_unknown_data
    - IE_IS_SHIFT
    - IE_IS_SINGLE_OCTET
    - GET_U_1
    - nd_print_trunc
    - ND_TTEST_LEN
    - IE_SHIFT_CODESET
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void q933_print(netdissect_options *ndo,\n           const u_char
      *p, u_int length)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:1097,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:1099,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:1103,1
    - Dst: tok2str
      Src: /src/tcpdump/print-fr.c:1104,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1104,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1105,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:1113,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:1116,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:1119,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1119,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1119,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:1125,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1129,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1130,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1132,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1132,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1134,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1134,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1135,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1137,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:1138,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1142,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1142,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1144,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1146,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1146,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-fr.c:1149,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1150,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-fr.c:1151,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 4
    argNames:
    - ndo
    - iecode
    - ielength
    - p
    argTypes:
    - netdissect_options*
    - u_int
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1156
    functionName: fr_q933_print_ie_codeset_0_5
    functionSourceFile: /src/tcpdump/print-fr.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: "int fr_q933_print_ie_codeset_0_5(netdissect_options *ndo, u_int iecode,\n
      \                         u_int ielength, const u_char *p)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-dtp.c:48,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dtp.c:51,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dtp.c:55,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dtp.c:56,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dtp.c:73,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dtp.c:76,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dtp.c:77,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dtp.c:81,1
    - Dst: tok2str
      Src: /src/tcpdump/print-dtp.c:82,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dtp.c:87,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dtp.c:93,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-dtp.c:94,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dtp.c:101,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dtp.c:101,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dtp.c:107,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-dtp.c:107,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-dtp.c:111,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-dtp.c:120,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-dtp.c:121,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 3
    argNames:
    - ndo
    - tptr
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 122
    functionName: dtp_print
    functionSourceFile: /src/tcpdump/print-dtp.c
    functionUses: 0
    functionsReached:
    - nd_print_invalid
    - GET_U_1
    - nd_print_protocol_caps
    - GET_BE_U_2
    - nd_printjnp
    - GET_MAC48_STRING
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    linkageType: ''
    returnType: void
    signature: void dtp_print(netdissect_options *ndo, const u_char *tptr, u_int length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-raw.c:44,1
    - Dst: IP_V
      Src: /src/tcpdump/print-raw.c:48,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-raw.c:52,1
    - Dst: ip_print
      Src: /src/tcpdump/print-raw.c:53,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-raw.c:57,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-raw.c:58,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-raw.c:61,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-raw.c:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 65
    functionName: raw_if_print
    functionSourceFile: /src/tcpdump/print-raw.c
    functionUses: 0
    functionsReached:
    - ip_print
    - ip6_print
    - ND_PRINT
    - IP_V
    - nd_print_invalid
    linkageType: ''
    returnType: void
    signature: void raw_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-raw.c:78,1
    - Dst: ip_print
      Src: /src/tcpdump/print-raw.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: ipv4_if_print
    functionSourceFile: /src/tcpdump/print-raw.c
    functionUses: 0
    functionsReached:
    - ip_print
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void ipv4_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-raw.c:93,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-raw.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: ipv6_if_print
    functionSourceFile: /src/tcpdump/print-raw.c
    functionUses: 0
    functionsReached:
    - ip6_print
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void ipv6_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-vtp.c:127,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-vtp.c:128,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-vtp.c:132,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vtp.c:134,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-vtp.c:135,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-vtp.c:136,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vtp.c:137,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:138,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vtp.c:140,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:150,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vtp.c:151,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:153,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-vtp.c:156,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:157,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vtp.c:158,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vtp.c:159,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:187,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-vtp.c:188,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-vtp.c:189,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:191,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-vtp.c:192,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-vtp.c:193,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-vtp.c:194,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:196,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-vtp.c:197,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-vtp.c:198,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-vtp.c:199,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-vtp.c:200,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:226,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-vtp.c:226,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vtp.c:246,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-vtp.c:250,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:255,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vtp.c:256,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vtp.c:256,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vtp.c:257,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vtp.c:257,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-vtp.c:258,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-vtp.c:259,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-vtp.c:260,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vtp.c:263,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-vtp.c:266,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vtp.c:287,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-vtp.c:288,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:290,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vtp.c:291,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:295,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-vtp.c:298,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:305,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-vtp.c:308,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:312,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:316,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:322,1
    - Dst: tok2str
      Src: /src/tcpdump/print-vtp.c:323,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:328,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:334,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-vtp.c:350,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-vtp.c:376,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-vtp.c:376,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-vtp.c:391,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-vtp.c:393,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 121
    argCount: 3
    argNames:
    - ndo
    - pptr
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 394
    functionName: vtp_print
    functionSourceFile: /src/tcpdump/print-vtp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - print_unknown_data
    - tok2str
    - nd_print_invalid
    - GET_U_1
    - nd_print_protocol_caps
    - GET_BE_U_2
    - nd_printjnp
    - ND_PRINT
    - ND_TCHECK_LEN
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void vtp_print(netdissect_options *ndo,\n          const u_char *pptr,
      const u_int length)"
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - transfer_type
    - event_type
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 179
    functionName: get_direction
    functionSourceFile: /src/tcpdump/print-usb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_direction(int transfer_type, int event_type)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-usb.c:189,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-usb.c:193,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-usb.c:194,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-usb.c:197,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-usb.c:200,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-usb.c:203,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-usb.c:206,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-usb.c:209,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-usb.c:212,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-usb.c:215,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-usb.c:218,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-usb.c:221,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-usb.c:224,1
    - Dst: get_direction
      Src: /src/tcpdump/print-usb.c:227,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-usb.c:229,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-usb.c:231,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-usb.c:232,1
    - Dst: GET_HE_U_2
      Src: /src/tcpdump/print-usb.c:232,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-usb.c:233,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-usb.c:234,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - ndo
    - uh
    argTypes:
    - netdissect_options*
    - pcap_usb_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 235
    functionName: usb_header_print
    functionSourceFile: /src/tcpdump/print-usb.c
    functionUses: 0
    functionsReached:
    - GET_HE_U_2
    - GET_U_1
    - nd_print_protocol_caps
    - ND_PRINT
    - get_direction
    linkageType: ''
    returnType: void
    signature: void usb_header_print(netdissect_options *ndo, const pcap_usb_header
      *uh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-usb.c:250,1
    - Dst: usb_header_print
      Src: /src/tcpdump/print-usb.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - _U_
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: usb_linux_48_byte_if_print
    functionSourceFile: /src/tcpdump/print-usb.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - usb_header_print
    linkageType: ''
    returnType: void
    signature: "void usb_linux_48_byte_if_print(netdissect_options *ndo,\n                           const
      struct pcap_pkthdr *h _U_, const u_char *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-usb.c:270,1
    - Dst: usb_header_print
      Src: /src/tcpdump/print-usb.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - _U_
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: usb_linux_64_byte_if_print
    functionSourceFile: /src/tcpdump/print-usb.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - usb_header_print
    linkageType: ''
    returnType: void
    signature: "void usb_linux_64_byte_if_print(netdissect_options *ndo,\n                           const
      struct pcap_pkthdr *h _U_, const u_char *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: DCCPH_CCVAL
    functionSourceFile: /src/tcpdump/print-dccp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCCPH_CCVAL(dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: DCCPH_CSCOV
    functionSourceFile: /src/tcpdump/print-dccp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCCPH_CSCOV(dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: DCCPH_X
    functionSourceFile: /src/tcpdump/print-dccp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCCPH_X(dh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: DCCPH_TYPE
    functionSourceFile: /src/tcpdump/print-dccp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCCPH_TYPE(dh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DCCPH_CSCOV
      Src: /src/tcpdump/print-dccp.c:195,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:197,1
    - Dst: DCCPH_CSCOV
      Src: /src/tcpdump/print-dccp.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - dh
    - len
    argTypes:
    - netdissect_options*
    - struct dccp_hdr*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: dccp_csum_coverage
    functionSourceFile: /src/tcpdump/print-dccp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - DCCPH_CSCOV
    linkageType: ''
    returnType: u_int
    signature: "u_int dccp_csum_coverage(netdissect_options *ndo,\n\t\t   const struct
      dccp_hdr *dh, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nextproto4_cksum
      Src: /src/tcpdump/print-dccp.c:204,1
    - Dst: dccp_csum_coverage
      Src: /src/tcpdump/print-dccp.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ndo
    - ip
    - dh
    - len
    argTypes:
    - netdissect_options*
    - struct ip*
    - struct dccp_hdr*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: dccp_cksum
    functionSourceFile: /src/tcpdump/print-dccp.c
    functionUses: 0
    functionsReached:
    - dccp_csum_coverage
    - nextproto4_cksum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t dccp_cksum(netdissect_options *ndo, const struct ip *ip,\n\tconst
      struct dccp_hdr *dh, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nextproto6_cksum
      Src: /src/tcpdump/print-dccp.c:211,1
    - Dst: dccp_csum_coverage
      Src: /src/tcpdump/print-dccp.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ndo
    - ip6
    - dh
    - len
    argTypes:
    - netdissect_options*
    - struct ip6_hdr*
    - struct dccp_hdr*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: dccp6_cksum
    functionSourceFile: /src/tcpdump/print-dccp.c
    functionUses: 0
    functionsReached:
    - nextproto6_cksum
    - dccp_csum_coverage
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t dccp6_cksum(netdissect_options *ndo, const struct ip6_hdr
      *ip6,\n\tconst struct dccp_hdr *dh, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DCCPH_X
      Src: /src/tcpdump/print-dccp.c:221,1
    - Dst: GET_BE_U_6
      Src: /src/tcpdump/print-dccp.c:223,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-dccp.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: dccp_seqno
    functionSourceFile: /src/tcpdump/print-dccp.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_6
    - DCCPH_X
    - GET_BE_U_3
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t dccp_seqno(netdissect_options *ndo, const u_char *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCCPH_X
      Src: /src/tcpdump/print-dccp.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - dh
    argTypes:
    - netdissect_options*
    - struct dccp_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: dccp_basic_hdr_len
    functionSourceFile: /src/tcpdump/print-dccp.c
    functionUses: 0
    functionsReached:
    - DCCPH_X
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dccp_basic_hdr_len(netdissect_options *ndo, const struct
      dccp_hdr *dh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dccp_basic_hdr_len
      Src: /src/tcpdump/print-dccp.c:240,1
    - Dst: DCCPH_X
      Src: /src/tcpdump/print-dccp.c:243,1
    - Dst: GET_BE_U_6
      Src: /src/tcpdump/print-dccp.c:244,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-dccp.c:246,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: dccp_print_ack_no
    functionSourceFile: /src/tcpdump/print-dccp.c
    functionUses: 0
    functionsReached:
    - DCCPH_X
    - dccp_basic_hdr_len
    - GET_BE_U_6
    - ND_PRINT
    - GET_BE_U_3
    linkageType: ''
    returnType: void
    signature: void dccp_print_ack_no(netdissect_options *ndo, const u_char *bp)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: IP_V
      Src: /src/tcpdump/print-dccp.c:277,1
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-dccp.c:283,1
    - Dst: dccp_basic_hdr_len
      Src: /src/tcpdump/print-dccp.c:286,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:287,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-dccp.c:288,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dccp.c:290,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dccp.c:291,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:292,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:295,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-dccp.c:296,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-dccp.c:297,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:299,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-dccp.c:300,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-dccp.c:301,1
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-dccp.c:304,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:307,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:308,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:314,1
    - Dst: DCCPH_CCVAL
      Src: /src/tcpdump/print-dccp.c:314,1
    - Dst: DCCPH_CSCOV
      Src: /src/tcpdump/print-dccp.c:314,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-dccp.c:316,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dccp.c:319,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:320,1
    - Dst: IP_V
      Src: /src/tcpdump/print-dccp.c:321,1
    - Dst: dccp_cksum
      Src: /src/tcpdump/print-dccp.c:322,1
    - Dst: IP_V
      Src: /src/tcpdump/print-dccp.c:323,1
    - Dst: dccp6_cksum
      Src: /src/tcpdump/print-dccp.c:324,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:326,1
    - Dst: in_cksum_shouldbe
      Src: /src/tcpdump/print-dccp.c:326,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:328,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:330,1
    - Dst: DCCPH_TYPE
      Src: /src/tcpdump/print-dccp.c:333,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:334,1
    - Dst: tok2str
      Src: /src/tcpdump/print-dccp.c:334,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:341,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:342,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dccp.c:342,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:349,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:350,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dccp.c:350,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:357,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:362,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:367,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:371,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:377,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-dccp.c:378,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:379,1
    - Dst: tok2str
      Src: /src/tcpdump/print-dccp.c:379,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:380,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:385,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:389,1
    - Dst: DCCPH_TYPE
      Src: /src/tcpdump/print-dccp.c:395,1
    - Dst: DCCPH_TYPE
      Src: /src/tcpdump/print-dccp.c:396,1
    - Dst: dccp_print_ack_no
      Src: /src/tcpdump/print-dccp.c:397,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:402,1
    - Dst: dccp_seqno
      Src: /src/tcpdump/print-dccp.c:402,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:408,1
    - Dst: dccp_print_option
      Src: /src/tcpdump/print-dccp.c:412,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:419,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:421,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-dccp.c:425,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 121
    argCount: 4
    argNames:
    - ndo
    - bp
    - data2
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 426
    functionName: dccp_print
    functionSourceFile: /src/tcpdump/print-dccp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - nd_print_protocol_caps
    - GET_IP6ADDR_STRING
    - IP_V
    - nd_print_invalid
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    - ND_PRINT
    - ND_ICHECK_U
    - in_cksum_shouldbe
    - GET_IPADDR_STRING
    - dccp_basic_hdr_len
    - GET_BE_U_2
    - dccp_cksum
    - DCCPH_CSCOV
    - ND_ICHECK_ZU
    - ND_TCHECK_LEN
    - tok2str
    - DCCPH_TYPE
    - dccp_print_ack_no
    - dccp_print_option
    - dccp6_cksum
    - dccp_seqno
    - ND_TTEST_LEN
    - DCCPH_CCVAL
    linkageType: ''
    returnType: void
    signature: "void dccp_print(netdissect_options *ndo, const u_char *bp, const u_char
      *data2,\n\t   u_int length)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:472,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:474,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:476,1
    - Dst: tok2str
      Src: /src/tcpdump/print-dccp.c:477,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:479,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:480,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-dccp.c:484,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:489,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dccp.c:489,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:492,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dccp.c:492,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:495,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:497,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:497,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-dccp.c:505,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:509,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:510,1
    - Dst: tok2str
      Src: /src/tcpdump/print-dccp.c:510,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:511,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:513,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:513,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:517,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:518,1
    - Dst: tok2str
      Src: /src/tcpdump/print-dccp.c:518,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:519,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:521,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:521,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:524,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:525,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:527,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:527,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:530,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:531,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:533,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:533,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:537,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:538,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:540,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:540,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:543,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:544,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:546,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:546,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:557,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:558,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dccp.c:558,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:581,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dccp.c:581,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:584,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dccp.c:584,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:585,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dccp.c:586,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:589,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dccp.c:589,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:590,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dccp.c:591,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:594,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:601,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dccp.c:601,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:604,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dccp.c:604,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:607,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-dccp.c:612,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:613,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dccp.c:615,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dccp.c:615,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 123
    argCount: 3
    argNames:
    - ndo
    - bp
    - hlen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 625
    functionName: dccp_print_option
    functionSourceFile: /src/tcpdump/print-dccp.c
    functionUses: 1
    functionsReached:
    - ND_ICHECKMSG_U
    - GET_U_1
    - GET_BE_U_2
    - ND_TCHECK_1
    - ND_PRINT
    - tok2str
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: u_int
    signature: u_int dccp_print_option(netdissect_options *ndo, const u_char *bp,
      u_int hlen)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-mpls.c:69,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mpls.c:73,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpls.c:74,1
    - Dst: MPLS_LABEL
      Src: /src/tcpdump/print-mpls.c:76,1
    - Dst: MPLS_LABEL
      Src: /src/tcpdump/print-mpls.c:79,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpls.c:80,1
    - Dst: MPLS_LABEL
      Src: /src/tcpdump/print-mpls.c:80,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpls.c:81,1
    - Dst: MPLS_TC
      Src: /src/tcpdump/print-mpls.c:81,1
    - Dst: MPLS_STACK
      Src: /src/tcpdump/print-mpls.c:82,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpls.c:83,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpls.c:84,1
    - Dst: MPLS_TTL
      Src: /src/tcpdump/print-mpls.c:84,1
    - Dst: MPLS_STACK
      Src: /src/tcpdump/print-mpls.c:88,1
    - Dst: MPLS_LABEL
      Src: /src/tcpdump/print-mpls.c:93,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mpls.c:134,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-mpls.c:149,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpls.c:153,1
    - Dst: ip_print
      Src: /src/tcpdump/print-mpls.c:154,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpls.c:158,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-mpls.c:159,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mpls.c:163,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-mpls.c:164,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-mpls.c:170,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-mpls.c:171,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 172
    functionName: mpls_print
    functionSourceFile: /src/tcpdump/print-mpls.c
    functionUses: 5
    functionsReached:
    - MPLS_STACK
    - ND_TCHECK_LEN
    - MPLS_TC
    - MPLS_TTL
    - GET_U_1
    - ip_print
    - nd_print_protocol_caps
    - isoclns_print
    - ND_PRINT
    - ip6_print
    - ND_DEFAULTPRINT
    - nd_print_invalid
    - MPLS_LABEL
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void mpls_print(netdissect_options *ndo, const u_char *bp, u_int length)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-lspping.c:530,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:535,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:536,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:537,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:543,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:544,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lspping.c:545,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lspping.c:545,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lspping.c:546,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:555,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:556,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lspping.c:557,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lspping.c:557,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lspping.c:558,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lspping.c:560,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lspping.c:560,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lspping.c:561,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lspping.c:567,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lspping.c:568,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:575,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lspping.c:576,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:581,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lspping.c:582,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:586,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lspping.c:587,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lspping.c:588,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:590,1
    - Dst: p_ntp_time
      Src: /src/tcpdump/print-lspping.c:591,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lspping.c:593,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lspping.c:594,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:595,1
    - Dst: p_ntp_time
      Src: /src/tcpdump/print-lspping.c:597,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:599,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:610,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:611,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:613,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lspping.c:614,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lspping.c:634,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:642,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:649,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:650,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:655,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lspping.c:661,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:663,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lspping.c:664,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:675,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:680,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lspping.c:681,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lspping.c:682,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:689,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:694,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lspping.c:695,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lspping.c:696,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:703,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:708,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lspping.c:709,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lspping.c:710,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:717,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:722,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lspping.c:723,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lspping.c:724,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:731,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:736,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lspping.c:738,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lspping.c:739,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:740,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:741,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lspping.c:742,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:749,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:754,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lspping.c:756,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lspping.c:757,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:758,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:759,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lspping.c:760,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:767,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:772,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-lspping.c:773,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lspping.c:774,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lspping.c:775,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:782,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:787,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-lspping.c:788,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lspping.c:789,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lspping.c:790,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:797,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:802,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-lspping.c:804,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:805,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:806,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lspping.c:807,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:809,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:810,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:818,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:823,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lspping.c:825,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lspping.c:826,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lspping.c:827,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:829,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:830,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:837,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:842,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lspping.c:844,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lspping.c:845,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lspping.c:846,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lspping.c:847,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:849,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:850,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-lspping.c:860,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:869,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:881,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lspping.c:886,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lspping.c:896,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:897,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lspping.c:898,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lspping.c:899,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:909,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lspping.c:914,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:919,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lspping.c:921,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lspping.c:922,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:929,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lspping.c:934,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:939,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lspping.c:941,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lspping.c:942,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:949,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lspping.c:954,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:959,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lspping.c:961,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lspping.c:962,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:969,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lspping.c:974,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:979,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lspping.c:981,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lspping.c:982,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:994,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lspping.c:999,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:1015,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:1019,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lspping.c:1019,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:1028,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lspping.c:1032,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:1033,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lspping.c:1034,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-lspping.c:1050,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-lspping.c:1056,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lspping.c:1073,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 317
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 1074
    functionName: lspping_print
    functionSourceFile: /src/tcpdump/print-lspping.c
    functionUses: 1
    functionsReached:
    - GET_IPADDR_STRING
    - print_unknown_data
    - GET_U_1
    - GET_BE_U_4
    - GET_IP6ADDR_STRING
    - GET_BE_U_2
    - bgp_vpn_rd_print
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - p_ntp_time
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void lspping_print(netdissect_options *ndo,\n              const u_char
      *pptr, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: RI_COST
    functionSourceFile: /src/tcpdump/print-decnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RI_COST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: RI_HOPS
    functionSourceFile: /src/tcpdump/print-decnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RI_HOPS(x)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:487,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:496,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:498,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:502,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:508,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:514,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:516,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-decnet.c:519,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:524,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:528,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-decnet.c:529,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-decnet.c:529,1
    - Dst: print_decnet_ctlmsg
      Src: /src/tcpdump/print-decnet.c:535,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:543,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-decnet.c:546,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:548,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:550,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:551,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:556,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:557,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:558,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:563,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-decnet.c:564,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-decnet.c:564,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:568,1
    - Dst: dnaddr_string
      Src: /src/tcpdump/print-decnet.c:569,1
    - Dst: dnaddr_string
      Src: /src/tcpdump/print-decnet.c:569,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:572,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:574,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:576,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:577,1
    - Dst: print_nsp
      Src: /src/tcpdump/print-decnet.c:580,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-decnet.c:585,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 90
    argCount: 4
    argNames:
    - ndo
    - ap
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 586
    functionName: decnet_print
    functionSourceFile: /src/tcpdump/print-decnet.c
    functionUses: 1
    functionsReached:
    - GET_LE_U_2
    - nd_print_invalid
    - print_nsp
    - GET_U_1
    - dnaddr_string
    - print_decnet_ctlmsg
    - ND_PRINT
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    - ND_MIN
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void decnet_print(netdissect_options *ndo,\n             const u_char
      *ap, u_int length,\n             u_int caplen)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:594,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:603,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-decnet.c:606,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:607,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:608,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:609,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:610,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:611,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:612,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:613,1
    - Dst: print_t_info
      Src: /src/tcpdump/print-decnet.c:614,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:615,1
    - Dst: dnaddr_string
      Src: /src/tcpdump/print-decnet.c:616,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:620,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:623,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:624,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:625,1
    - Dst: dnaddr_string
      Src: /src/tcpdump/print-decnet.c:625,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:628,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:631,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:632,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:633,1
    - Dst: dnaddr_string
      Src: /src/tcpdump/print-decnet.c:633,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:636,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-decnet.c:639,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:640,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:641,1
    - Dst: dnaddr_string
      Src: /src/tcpdump/print-decnet.c:641,1
    - Dst: print_l1_routes
      Src: /src/tcpdump/print-decnet.c:642,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:646,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-decnet.c:649,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:650,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:651,1
    - Dst: dnaddr_string
      Src: /src/tcpdump/print-decnet.c:651,1
    - Dst: print_l2_routes
      Src: /src/tcpdump/print-decnet.c:652,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:656,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-decnet.c:659,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:660,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:661,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:662,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:664,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:665,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:666,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:667,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:668,1
    - Dst: print_i_info
      Src: /src/tcpdump/print-decnet.c:669,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:670,1
    - Dst: dnaddr_string
      Src: /src/tcpdump/print-decnet.c:671,1
    - Dst: print_elist
      Src: /src/tcpdump/print-decnet.c:673,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:677,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:680,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:681,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:682,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:684,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:685,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:686,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:689,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:690,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:691,1
    - Dst: print_i_info
      Src: /src/tcpdump/print-decnet.c:692,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:693,1
    - Dst: dnaddr_string
      Src: /src/tcpdump/print-decnet.c:694,1
    - Dst: dnaddr_string
      Src: /src/tcpdump/print-decnet.c:695,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:699,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-decnet.c:700,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-decnet.c:700,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 100
    argCount: 4
    argNames:
    - ndo
    - rhp
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - union routehdr*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 588
    functionDepth: 2
    functionLinenumber: 588
    functionLinenumberEnd: 707
    functionName: print_decnet_ctlmsg
    functionSourceFile: /src/tcpdump/print-decnet.c
    functionUses: 1
    functionsReached:
    - print_l2_routes
    - GET_LE_U_2
    - GET_U_1
    - dnaddr_string
    - print_t_info
    - ND_PRINT
    - print_elist
    - print_i_info
    - ND_DEFAULTPRINT
    - print_l1_routes
    - ND_MIN
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int print_decnet_ctlmsg(netdissect_options *ndo,\n                    const
      union routehdr *rhp, u_int length,\n                    u_int caplen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:715,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:716,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:717,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:718,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:721,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:723,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ndo
    - info
    argTypes:
    - netdissect_options*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 724
    functionName: print_t_info
    functionSourceFile: /src/tcpdump/print-decnet.c
    functionUses: 1
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void print_t_info(netdissect_options *ndo,\n             u_int info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-decnet.c:736,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:737,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:742,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:745,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:748,1
    - Dst: RI_COST
      Src: /src/tcpdump/print-decnet.c:749,1
    - Dst: RI_HOPS
      Src: /src/tcpdump/print-decnet.c:749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - ndo
    - rp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 751
    functionName: print_l1_routes
    functionSourceFile: /src/tcpdump/print-decnet.c
    functionUses: 1
    functionsReached:
    - GET_LE_U_2
    - RI_HOPS
    - RI_COST
    - ND_PRINT
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: void
    signature: "void print_l1_routes(netdissect_options *ndo,\n                const
      u_char *rp, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-decnet.c:763,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:764,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:769,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:772,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:775,1
    - Dst: RI_COST
      Src: /src/tcpdump/print-decnet.c:776,1
    - Dst: RI_HOPS
      Src: /src/tcpdump/print-decnet.c:776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - ndo
    - rp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 778
    functionName: print_l2_routes
    functionSourceFile: /src/tcpdump/print-decnet.c
    functionUses: 1
    functionsReached:
    - GET_LE_U_2
    - RI_HOPS
    - RI_COST
    - ND_PRINT
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: void
    signature: "void print_l2_routes(netdissect_options *ndo,\n                const
      u_char *rp, u_int len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:786,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:787,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:788,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:789,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:792,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:794,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:796,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ndo
    - info
    argTypes:
    - netdissect_options*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 797
    functionName: print_i_info
    functionSourceFile: /src/tcpdump/print-decnet.c
    functionUses: 1
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void print_i_info(netdissect_options *ndo,\n             u_int info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - elp
    - len
    argTypes:
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 803
    functionName: print_elist
    functionSourceFile: /src/tcpdump/print-decnet.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void print_elist(const u_char *elp _U_, u_int len _U_)
  - BBCount: 79
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:813,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:816,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:817,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:818,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:827,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:835,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:838,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:840,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:844,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:847,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:849,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:853,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:856,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:860,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:868,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:871,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:873,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:877,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:880,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:882,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:886,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:889,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:893,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:903,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:906,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:908,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:909,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:912,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:914,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:915,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:918,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:919,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:920,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:923,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:928,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:931,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:934,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:939,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:942,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:948,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:955,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-decnet.c:962,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:963,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:966,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:968,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:969,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:972,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:974,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:980,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-decnet.c:987,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:988,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:991,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:993,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:994,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:997,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:999,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1005,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1008,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1017,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1019,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1020,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:1027,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:1028,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:1029,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1035,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1038,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1043,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1046,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1049,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1052,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1055,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1059,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:1067,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:1068,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:1069,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:1070,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1076,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1079,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1084,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1087,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1090,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1093,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1096,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1098,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1103,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:1111,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-decnet.c:1112,1
    - Dst: print_reason
      Src: /src/tcpdump/print-decnet.c:1114,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1116,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1121,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-decnet.c:1126,1
    - Dst: print_reason
      Src: /src/tcpdump/print-decnet.c:1128,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1132,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1137,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 287
    argCount: 3
    argNames:
    - ndo
    - nspp
    - nsplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 1144
    functionName: print_nsp
    functionSourceFile: /src/tcpdump/print-decnet.c
    functionUses: 1
    functionsReached:
    - GET_LE_U_2
    - GET_U_1
    - print_reason
    - ND_PRINT
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int print_nsp(netdissect_options *ndo,\n          const u_char *nspp,
      u_int nsplen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-decnet.c:1176,1
    - Dst: tok2str
      Src: /src/tcpdump/print-decnet.c:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - reason
    argTypes:
    - netdissect_options*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1172
    functionDepth: 1
    functionLinenumber: 1172
    functionLinenumberEnd: 1177
    functionName: print_reason
    functionSourceFile: /src/tcpdump/print-decnet.c
    functionUses: 1
    functionsReached:
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void print_reason(netdissect_options *ndo,\n             u_int reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcpdump/print-decnet.c:1188,1
    - Dst: snprintf
      Src: /src/tcpdump/print-decnet.c:1191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ndo
    - dnaddr
    argTypes:
    - netdissect_options*
    - u_short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1193
    functionName: dnnum_string
    functionSourceFile: /src/tcpdump/print-decnet.c
    functionUses: 1
    functionsReached:
    - malloc
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      dnnum_string(netdissect_options *ndo, u_short dnaddr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ip
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: IP_V
    functionSourceFile: /src/tcpdump/ip.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IP_V(ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ip
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: IP_HL
    functionSourceFile: /src/tcpdump/ip.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IP_HL(ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: IPOPT_COPIED
    functionSourceFile: /src/tcpdump/ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IPOPT_COPIED(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: IPOPT_CLASS
    functionSourceFile: /src/tcpdump/ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IPOPT_CLASS(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: IPOPT_NUMBER
    functionSourceFile: /src/tcpdump/ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IPOPT_NUMBER(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ip
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: IPTS_OFLW
    functionSourceFile: /src/tcpdump/ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IPTS_OFLW(ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ip
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: IPTS_FLG
    functionSourceFile: /src/tcpdump/ip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IPTS_FLG(ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: CFM_EXTRACT_VERSION
    functionSourceFile: /src/tcpdump/print-cfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFM_EXTRACT_VERSION(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: CFM_EXTRACT_MD_LEVEL
    functionSourceFile: /src/tcpdump/print-cfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFM_EXTRACT_MD_LEVEL(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: CFM_EXTRACT_CCM_INTERVAL
    functionSourceFile: /src/tcpdump/print-cfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFM_EXTRACT_CCM_INTERVAL(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:227,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:231,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:232,1
    - Dst: tok2str
      Src: /src/tcpdump/print-cfm.c:233,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:242,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:246,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-cfm.c:246,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:251,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:255,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-cfm.c:255,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - ndo
    - tptr
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 264
    functionName: cfm_network_addr_print
    functionSourceFile: /src/tcpdump/print-cfm.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - GET_IP6ADDR_STRING
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: int
    signature: "int cfm_network_addr_print(netdissect_options *ndo,\n                       const
      u_char *tptr, const u_int length)"
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-cfm.c:295,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:300,1
    - Dst: CFM_EXTRACT_VERSION
      Src: /src/tcpdump/print-cfm.c:301,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:302,1
    - Dst: CFM_EXTRACT_VERSION
      Src: /src/tcpdump/print-cfm.c:303,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:307,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:308,1
    - Dst: CFM_EXTRACT_VERSION
      Src: /src/tcpdump/print-cfm.c:309,1
    - Dst: tok2str
      Src: /src/tcpdump/print-cfm.c:310,1
    - Dst: CFM_EXTRACT_MD_LEVEL
      Src: /src/tcpdump/print-cfm.c:311,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:321,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:322,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:323,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:332,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:340,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-cfm.c:346,1
    - Dst: CFM_EXTRACT_CCM_INTERVAL
      Src: /src/tcpdump/print-cfm.c:348,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:349,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:358,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:365,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cfm.c:366,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cfm.c:367,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:375,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:379,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:382,1
    - Dst: tok2str
      Src: /src/tcpdump/print-cfm.c:383,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:393,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:398,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-cfm.c:402,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:407,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-cfm.c:407,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:409,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-cfm.c:416,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:422,1
    - Dst: tok2str
      Src: /src/tcpdump/print-cfm.c:423,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:432,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:435,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:438,1
    - Dst: tok2str
      Src: /src/tcpdump/print-cfm.c:439,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:445,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:450,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-cfm.c:453,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-cfm.c:462,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:469,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-cfm.c:475,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:477,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-cfm.c:478,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:480,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cfm.c:481,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:482,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:484,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-cfm.c:485,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-cfm.c:486,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:492,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-cfm.c:498,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:500,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-cfm.c:501,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:503,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-cfm.c:504,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:505,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:507,1
    - Dst: tok2str
      Src: /src/tcpdump/print-cfm.c:508,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:510,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:511,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-cfm.c:521,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:533,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:535,1
    - Dst: tok2str
      Src: /src/tcpdump/print-cfm.c:536,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-cfm.c:547,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-cfm.c:548,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:550,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-cfm.c:559,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:565,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:568,1
    - Dst: tok2str
      Src: /src/tcpdump/print-cfm.c:569,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:569,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:570,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:575,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:578,1
    - Dst: tok2str
      Src: /src/tcpdump/print-cfm.c:579,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:579,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:580,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:585,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:588,1
    - Dst: tok2str
      Src: /src/tcpdump/print-cfm.c:589,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-cfm.c:589,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-cfm.c:590,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:591,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:601,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:609,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:621,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:624,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:626,1
    - Dst: tok2str
      Src: /src/tcpdump/print-cfm.c:627,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:634,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:642,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:646,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-cfm.c:646,1
    - Dst: cfm_network_addr_print
      Src: /src/tcpdump/print-cfm.c:650,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-cfm.c:658,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:683,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:687,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:691,1
    - Dst: hex_print
      Src: /src/tcpdump/print-cfm.c:698,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:707,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-cfm.c:713,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:717,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:721,1
    - Dst: hex_print
      Src: /src/tcpdump/print-cfm.c:728,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-cfm.c:750,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-cfm.c:759,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-cfm.c:763,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 300
    argCount: 3
    argNames:
    - ndo
    - pptr
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 764
    functionName: cfm_print
    functionSourceFile: /src/tcpdump/print-cfm.c
    functionUses: 1
    functionsReached:
    - print_unknown_data
    - CFM_EXTRACT_MD_LEVEL
    - bittok2str
    - GET_U_1
    - CFM_EXTRACT_VERSION
    - GET_BE_U_4
    - nd_print_trunc
    - GET_BE_U_2
    - nd_printjnp
    - GET_MAC48_STRING
    - cfm_network_addr_print
    - ND_PRINT
    - CFM_EXTRACT_CCM_INTERVAL
    - hex_print
    - GET_BE_U_3
    - ND_TCHECK_LEN
    - tok2str
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void cfm_print(netdissect_options *ndo,\n          const u_char *pptr,
      u_int length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/ntp.c:44,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/ntp.c:45,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/ntp.c:51,1
    - Dst: nd_format_time
      Src: /src/tcpdump/ntp.c:74,1
    - Dst: gmtime
      Src: /src/tcpdump/ntp.c:75,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/ntp.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - ndo
    - fmt
    - lfp
    argTypes:
    - netdissect_options*
    - char*
    - struct l_fixedpt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 79
    functionName: p_ntp_time_fmt
    functionSourceFile: /src/tcpdump/ntp.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - nd_format_time
    - GET_BE_U_4
    - gmtime
    linkageType: ''
    returnType: void
    signature: "void p_ntp_time_fmt(netdissect_options *ndo, const char *fmt,\n\t
      \  const struct l_fixedpt *lfp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: p_ntp_time_fmt
      Src: /src/tcpdump/ntp.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - lfp
    argTypes:
    - netdissect_options*
    - struct l_fixedpt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: p_ntp_time
    functionSourceFile: /src/tcpdump/ntp.c
    functionUses: 5
    functionsReached:
    - p_ntp_time_fmt
    linkageType: ''
    returnType: void
    signature: void p_ntp_time(netdissect_options *ndo, const struct l_fixedpt *lfp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txtproto_print
      Src: /src/tcpdump/print-ftp.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: ftp_print
    functionSourceFile: /src/tcpdump/print-ftp.c
    functionUses: 2
    functionsReached:
    - txtproto_print
    linkageType: ''
    returnType: void
    signature: void ftp_print(netdissect_options *ndo, const u_char *pptr, u_int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flags
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: bgp_attr_lenlen
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bgp_attr_lenlen(flags, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flags
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: bgp_attr_len
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bgp_attr_len(flags, p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:661,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ndo
    - str
    - size
    - asnum
    argTypes:
    - netdissect_options*
    - char*
    - size_t
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 666
    functionName: as_printf
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\nas_printf(netdissect_options *ndo,\n          char *str, size_t
      size, u_int asnum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - minlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 669
    functionName: ITEMCHECK
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ITEMCHECK(minlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ITEMCHECK
      Src: /src/tcpdump/print-bgp.c:677,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:678,1
    - Dst: memset
      Src: /src/tcpdump/print-bgp.c:683,1
    - Dst: ITEMCHECK
      Src: /src/tcpdump/print-bgp.c:685,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-bgp.c:686,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:690,1
    - Dst: ipaddr_string
      Src: /src/tcpdump/print-bgp.c:690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - ndo
    - pptr
    - itemlen
    - buf
    - buflen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 670
    functionDepth: 3
    functionLinenumber: 670
    functionLinenumberEnd: 695
    functionName: decode_prefix4
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 1
    functionsReached:
    - ITEMCHECK
    - ipaddr_string
    - GET_U_1
    - snprintf
    - memset
    - GET_CPY_BYTES
    linkageType: ''
    returnType: int
    signature: "int decode_prefix4(netdissect_options *ndo,\n               const
      u_char *pptr, u_int itemlen, char *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-bgp.c:705,1
    - Dst: ITEMCHECK
      Src: /src/tcpdump/print-bgp.c:706,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:707,1
    - Dst: memset
      Src: /src/tcpdump/print-bgp.c:726,1
    - Dst: ITEMCHECK
      Src: /src/tcpdump/print-bgp.c:728,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-bgp.c:729,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:734,1
    - Dst: ipaddr_string
      Src: /src/tcpdump/print-bgp.c:735,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-bgp.c:737,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:738,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - ndo
    - pptr
    - itemlen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 697
    functionDepth: 3
    functionLinenumber: 697
    functionLinenumberEnd: 751
    functionName: print_labeled_prefix4
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - ITEMCHECK
    - ipaddr_string
    - GET_U_1
    - ND_TCHECK_4
    - ND_PRINT
    - GET_BE_U_3
    - memset
    - GET_CPY_BYTES
    linkageType: ''
    returnType: int
    signature: "int print_labeled_prefix4(netdissect_options *ndo,\n                      const
      u_char *pptr, u_int itemlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:769,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:769,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:772,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-bgp.c:772,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:775,1
    - Dst: strlen
      Src: /src/tcpdump/print-bgp.c:778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ndo
    - pptr
    - addr_length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 782
    functionName: bgp_vpn_ip_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_IP6ADDR_STRING
    - snprintf
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *\nbgp_vpn_ip_print(netdissect_options *ndo,\n                 const
      u_char *pptr, u_int addr_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:811,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:815,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:818,1
    - Dst: bgp_vpn_ip_print
      Src: /src/tcpdump/print-bgp.c:819,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:824,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:828,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:831,1
    - Dst: bgp_vpn_ip_print
      Src: /src/tcpdump/print-bgp.c:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - ndo
    - pptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 838
    functionName: bgp_vpn_sg_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TCHECK_LEN
    - bgp_vpn_ip_print
    - ND_PRINT
    linkageType: ''
    returnType: u_int
    signature: u_int bgp_vpn_sg_print(netdissect_options *ndo, const u_char *pptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:851,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:855,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:856,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:857,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:858,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:858,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:859,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:859,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:864,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:865,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:865,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:866,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:866,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:867,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:872,1
    - Dst: as_printf
      Src: /src/tcpdump/print-bgp.c:873,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:873,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:874,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:874,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:875,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:875,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:876,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:876,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:879,1
    - Dst: strlen
      Src: /src/tcpdump/print-bgp.c:882,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - ndo
    - pptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 885
    functionName: bgp_vpn_rd_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - as_printf
    - snprintf
    - strlen
    - GET_BE_U_4
    linkageType: ''
    returnType: char
    signature: 'char *

      bgp_vpn_rd_print(netdissect_options *ndo, const u_char *pptr)'
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:897,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:902,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:903,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:904,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:905,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:912,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:913,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:914,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:919,1
    - Dst: as_printf
      Src: /src/tcpdump/print-bgp.c:920,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:921,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:921,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:925,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-bgp.c:926,1
    - Dst: GET_BE_U_5
      Src: /src/tcpdump/print-bgp.c:934,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:937,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:939,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:940,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:942,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:952,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:952,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:957,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:958,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:959,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:961,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:962,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:963,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:963,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:967,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:968,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:970,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:971,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:972,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:976,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:976,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:980,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:980,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:982,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:986,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:987,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:988,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:989,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:990,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:991,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:992,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 2
    argNames:
    - ndo
    - pptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 995
    functionName: bgp_extended_community_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - GET_BE_F_4
    - GET_BE_U_2
    - as_printf
    - ND_PRINT
    - GET_BE_U_5
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void bgp_extended_community_print(netdissect_options *ndo,\n                             const
      u_char *pptr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:1024,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:1031,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:1042,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/tcpdump/print-bgp.c:1052,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:1056,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/tcpdump/print-bgp.c:1057,1
    - Dst: EXTRACT_BE_U_4
      Src: /src/tcpdump/print-bgp.c:1058,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:1064,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/tcpdump/print-bgp.c:1066,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:1071,1
    - Dst: as_printf
      Src: /src/tcpdump/print-bgp.c:1072,1
    - Dst: EXTRACT_BE_U_4
      Src: /src/tcpdump/print-bgp.c:1072,1
    - Dst: EXTRACT_BE_U_2
      Src: /src/tcpdump/print-bgp.c:1073,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:1077,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - ndo
    - pptr
    - plen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1083
    functionName: bgp_rt_prefix_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - as_printf
    - EXTRACT_BE_U_2
    - EXTRACT_BE_U_4
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\nbgp_rt_prefix_print(netdissect_options *ndo,\n                    const
      u_char *pptr,\n                    u_int plen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1096,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1104,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1109,1
    - Dst: as_printf
      Src: /src/tcpdump/print-bgp.c:1114,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:1114,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1119,1
    - Dst: memset
      Src: /src/tcpdump/print-bgp.c:1127,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-bgp.c:1129,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1135,1
    - Dst: bgp_rt_prefix_print
      Src: /src/tcpdump/print-bgp.c:1137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ndo
    - pptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1086
    functionDepth: 2
    functionLinenumber: 1086
    functionLinenumberEnd: 1140
    functionName: print_rt_routing_info
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - bgp_rt_prefix_print
    - GET_U_1
    - as_printf
    - ND_PRINT
    - memset
    - GET_CPY_BYTES
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: int print_rt_routing_info(netdissect_options *ndo, const u_char *pptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1148,1
    - Dst: memset
      Src: /src/tcpdump/print-bgp.c:1158,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-bgp.c:1159,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1165,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-bgp.c:1166,1
    - Dst: ipaddr_string
      Src: /src/tcpdump/print-bgp.c:1167,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-bgp.c:1169,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1170,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ndo
    - pptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1142
    functionDepth: 3
    functionLinenumber: 1142
    functionLinenumberEnd: 1177
    functionName: print_labeled_vpn_prefix4
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - ipaddr_string
    - GET_U_1
    - bgp_vpn_rd_print
    - ND_PRINT
    - GET_BE_U_3
    - memset
    - GET_CPY_BYTES
    linkageType: ''
    returnType: int
    signature: int print_labeled_vpn_prefix4(netdissect_options *ndo, const u_char
      *pptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1198,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1199,1
    - Dst: ND_TCHECK_8
      Src: /src/tcpdump/print-bgp.c:1205,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1214,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-bgp.c:1215,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:1216,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:1217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - ndo
    - pptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1223
    functionName: print_mdt_vpn_nlri
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - ND_TCHECK_8
    - bgp_vpn_rd_print
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: int print_mdt_vpn_nlri(netdissect_options *ndo, const u_char *pptr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1252,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1254,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1257,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:1258,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:1264,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1267,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-bgp.c:1268,1
    - Dst: bgp_vpn_ip_print
      Src: /src/tcpdump/print-bgp.c:1269,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:1273,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1274,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-bgp.c:1275,1
    - Dst: as_printf
      Src: /src/tcpdump/print-bgp.c:1276,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:1277,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:1281,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1282,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-bgp.c:1282,1
    - Dst: bgp_vpn_sg_print
      Src: /src/tcpdump/print-bgp.c:1285,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:1288,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1289,1
    - Dst: bgp_vpn_ip_print
      Src: /src/tcpdump/print-bgp.c:1290,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:1294,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1295,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-bgp.c:1295,1
    - Dst: bgp_vpn_sg_print
      Src: /src/tcpdump/print-bgp.c:1298,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:1303,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1304,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-bgp.c:1305,1
    - Dst: as_printf
      Src: /src/tcpdump/print-bgp.c:1306,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:1307,1
    - Dst: bgp_vpn_sg_print
      Src: /src/tcpdump/print-bgp.c:1310,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - ndo
    - pptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1244
    functionDepth: 3
    functionLinenumber: 1244
    functionLinenumberEnd: 1325
    functionName: print_multicast_vpn
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - bgp_vpn_ip_print
    - bgp_vpn_sg_print
    - as_printf
    - bgp_vpn_rd_print
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: int print_multicast_vpn(netdissect_options *ndo, const u_char *pptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:1332,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:1341,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1342,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-bgp.c:1343,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:1344,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:1350,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1351,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-bgp.c:1352,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:1353,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:1354,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-bgp.c:1355,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1362,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1365,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:1367,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1374,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1379,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-bgp.c:1382,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1383,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1383,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1390,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1394,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 2
    argNames:
    - ndo
    - pptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1327
    functionDepth: 2
    functionLinenumber: 1327
    functionLinenumberEnd: 1410
    functionName: print_labeled_vpn_l2
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - GET_BE_U_2
    - bgp_vpn_rd_print
    - ND_TCHECK_1
    - ND_PRINT
    - GET_BE_U_3
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: int
    signature: int print_labeled_vpn_l2(netdissect_options *ndo, const u_char *pptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ITEMCHECK
      Src: /src/tcpdump/print-bgp.c:1419,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1420,1
    - Dst: memset
      Src: /src/tcpdump/print-bgp.c:1425,1
    - Dst: ITEMCHECK
      Src: /src/tcpdump/print-bgp.c:1427,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-bgp.c:1428,1
    - Dst: snprintf
      Src: /src/tcpdump/print-bgp.c:1433,1
    - Dst: ip6addr_string
      Src: /src/tcpdump/print-bgp.c:1433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - ndo
    - pd
    - itemlen
    - buf
    - buflen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1412
    functionDepth: 2
    functionLinenumber: 1412
    functionLinenumberEnd: 1438
    functionName: decode_prefix6
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 2
    functionsReached:
    - ITEMCHECK
    - GET_U_1
    - ip6addr_string
    - snprintf
    - memset
    - GET_CPY_BYTES
    linkageType: ''
    returnType: int
    signature: "int decode_prefix6(netdissect_options *ndo,\n               const
      u_char *pd, u_int itemlen, char *buf, size_t buflen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-bgp.c:1448,1
    - Dst: ITEMCHECK
      Src: /src/tcpdump/print-bgp.c:1449,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1450,1
    - Dst: memset
      Src: /src/tcpdump/print-bgp.c:1461,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-bgp.c:1463,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1469,1
    - Dst: ip6addr_string
      Src: /src/tcpdump/print-bgp.c:1470,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-bgp.c:1472,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1473,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - ndo
    - pptr
    - itemlen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1440
    functionDepth: 2
    functionLinenumber: 1440
    functionLinenumberEnd: 1486
    functionName: print_labeled_prefix6
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - ITEMCHECK
    - GET_U_1
    - ip6addr_string
    - ND_TCHECK_4
    - ND_PRINT
    - GET_BE_U_3
    - memset
    - GET_CPY_BYTES
    linkageType: ''
    returnType: int
    signature: "int print_labeled_prefix6(netdissect_options *ndo,\n                      const
      u_char *pptr, u_int itemlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1494,1
    - Dst: memset
      Src: /src/tcpdump/print-bgp.c:1504,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-bgp.c:1505,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1511,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-bgp.c:1512,1
    - Dst: ip6addr_string
      Src: /src/tcpdump/print-bgp.c:1513,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-bgp.c:1515,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1516,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ndo
    - pptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1488
    functionDepth: 2
    functionLinenumber: 1488
    functionLinenumberEnd: 1523
    functionName: print_labeled_vpn_prefix6
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ip6addr_string
    - bgp_vpn_rd_print
    - ND_PRINT
    - GET_BE_U_3
    - memset
    - GET_CPY_BYTES
    linkageType: ''
    returnType: int
    signature: int print_labeled_vpn_prefix6(netdissect_options *ndo, const u_char
      *pptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1531,1
    - Dst: memset
      Src: /src/tcpdump/print-bgp.c:1536,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-bgp.c:1537,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1543,1
    - Dst: isonsap_string
      Src: /src/tcpdump/print-bgp.c:1544,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ndo
    - pptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1525
    functionDepth: 2
    functionLinenumber: 1525
    functionLinenumberEnd: 1552
    functionName: print_clnp_prefix
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - isonsap_string
    - ND_PRINT
    - memset
    - GET_CPY_BYTES
    linkageType: ''
    returnType: int
    signature: int print_clnp_prefix(netdissect_options *ndo, const u_char *pptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1560,1
    - Dst: memset
      Src: /src/tcpdump/print-bgp.c:1570,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-bgp.c:1571,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1577,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-bgp.c:1578,1
    - Dst: isonsap_string
      Src: /src/tcpdump/print-bgp.c:1579,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-bgp.c:1581,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1582,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1587,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ndo
    - pptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1554
    functionDepth: 2
    functionLinenumber: 1554
    functionLinenumberEnd: 1589
    functionName: print_labeled_vpn_clnp_prefix
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - bgp_vpn_rd_print
    - isonsap_string
    - ND_PRINT
    - GET_BE_U_3
    - memset
    - GET_CPY_BYTES
    linkageType: ''
    returnType: int
    signature: int print_labeled_vpn_clnp_prefix(netdissect_options *ndo, const u_char
      *pptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1621,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1621,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ndo
    - bgpa_type
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - uint8_t
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1598
    functionDepth: 1
    functionLinenumber: 1598
    functionLinenumberEnd: 1644
    functionName: bgp_attr_get_as_size
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    linkageType: ''
    returnType: u_int
    signature: "u_int bgp_attr_get_as_size(netdissect_options *ndo,\n                     uint8_t
      bgpa_type, const u_char *pptr, u_int len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-bgp.c:1668,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1672,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-bgp.c:1690,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1694,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - ndo
    - pptr
    - length
    - max_prefix_length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1652
    functionDepth: 1
    functionLinenumber: 1652
    functionLinenumberEnd: 1711
    functionName: check_add_path
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TTEST_1
    linkageType: ''
    returnType: int
    signature: "int check_add_path(netdissect_options *ndo, const u_char *pptr, u_int
      length,\n               u_int max_prefix_length)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:1721,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1723,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1726,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:1727,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:1730,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:1763,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1764,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-bgp.c:1766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 5
    argNames:
    - ndo
    - tptr
    - tlen
    - afp
    - safip
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1713
    functionDepth: 1
    functionLinenumber: 1713
    functionLinenumberEnd: 1772
    functionName: bgp_mp_af_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    linkageType: ''
    returnType: int
    signature: "int bgp_mp_af_print(netdissect_options *ndo,\n\t        const u_char
      *tptr, u_int tlen,\n\t\tuint16_t *afp, uint8_t *safip)"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:1788,1
    - Dst: decode_prefix4
      Src: /src/tcpdump/print-bgp.c:1791,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1793,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1797,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1799,1
    - Dst: print_labeled_prefix4
      Src: /src/tcpdump/print-bgp.c:1804,1
    - Dst: print_labeled_vpn_prefix4
      Src: /src/tcpdump/print-bgp.c:1811,1
    - Dst: print_rt_routing_info
      Src: /src/tcpdump/print-bgp.c:1814,1
    - Dst: print_multicast_vpn
      Src: /src/tcpdump/print-bgp.c:1818,1
    - Dst: print_mdt_vpn_nlri
      Src: /src/tcpdump/print-bgp.c:1824,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:1832,1
    - Dst: decode_prefix6
      Src: /src/tcpdump/print-bgp.c:1835,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1837,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1841,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1843,1
    - Dst: print_labeled_prefix6
      Src: /src/tcpdump/print-bgp.c:1848,1
    - Dst: print_labeled_vpn_prefix6
      Src: /src/tcpdump/print-bgp.c:1855,1
    - Dst: print_labeled_vpn_l2
      Src: /src/tcpdump/print-bgp.c:1861,1
    - Dst: print_clnp_prefix
      Src: /src/tcpdump/print-bgp.c:1868,1
    - Dst: print_labeled_vpn_clnp_prefix
      Src: /src/tcpdump/print-bgp.c:1873,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1880,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 104
    argCount: 7
    argNames:
    - ndo
    - af
    - safi
    - tptr
    - len
    - add_path4
    - add_path6
    argTypes:
    - netdissect_options*
    - uint16_t
    - uint8_t
    - u_char*
    - u_int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1774
    functionDepth: 4
    functionLinenumber: 1774
    functionLinenumberEnd: 1887
    functionName: bgp_nlri_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - print_rt_routing_info
    - print_multicast_vpn
    - print_labeled_vpn_l2
    - print_labeled_vpn_prefix4
    - GET_BE_U_4
    - print_clnp_prefix
    - decode_prefix6
    - print_labeled_prefix6
    - ND_PRINT
    - print_mdt_vpn_nlri
    - decode_prefix4
    - print_labeled_vpn_clnp_prefix
    - print_labeled_vpn_prefix6
    - print_labeled_prefix4
    linkageType: ''
    returnType: int
    signature: "int bgp_nlri_print(netdissect_options *ndo, uint16_t af, uint8_t safi,\n\t
      \      const u_char *tptr, u_int len,\n\t       int add_path4, int add_path6)"
  - BBCount: 127
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1920,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1922,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:1922,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1924,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1934,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1938,1
    - Dst: bgp_attr_get_as_size
      Src: /src/tcpdump/print-bgp.c:1950,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1953,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:1953,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1954,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1955,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:1956,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1957,1
    - Dst: as_printf
      Src: /src/tcpdump/print-bgp.c:1958,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:1960,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:1961,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1963,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:1963,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1964,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:1965,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1970,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1972,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:1972,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1978,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1980,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:1980,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1985,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1994,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:1997,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:1999,1
    - Dst: as_printf
      Src: /src/tcpdump/print-bgp.c:2000,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2000,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2001,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2003,1
    - Dst: as_printf
      Src: /src/tcpdump/print-bgp.c:2004,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:2005,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2005,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2010,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2013,1
    - Dst: as_printf
      Src: /src/tcpdump/print-bgp.c:2014,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:2014,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2015,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2019,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-bgp.c:2024,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:2027,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2030,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2033,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2036,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2039,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2051,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2054,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2054,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2058,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2064,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2065,1
    - Dst: ND_TCHECK_3
      Src: /src/tcpdump/print-bgp.c:2072,1
    - Dst: bgp_mp_af_print
      Src: /src/tcpdump/print-bgp.c:2075,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-bgp.c:2084,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2087,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2096,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2099,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2110,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2115,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2115,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2125,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2130,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-bgp.c:2131,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2132,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2143,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2148,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2148,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2158,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2163,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-bgp.c:2164,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2165,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2176,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2181,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2181,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2190,1
    - Dst: GET_ISONSAP_STRING
      Src: /src/tcpdump/print-bgp.c:2190,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2200,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:2205,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2206,1
    - Dst: bgp_vpn_rd_print
      Src: /src/tcpdump/print-bgp.c:2207,1
    - Dst: GET_ISONSAP_STRING
      Src: /src/tcpdump/print-bgp.c:2208,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:2210,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2211,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2211,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-bgp.c:2213,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2214,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2214,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2225,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2233,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2238,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2243,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2248,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2249,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:2254,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2259,1
    - Dst: check_add_path
      Src: /src/tcpdump/print-bgp.c:2262,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-bgp.c:2263,1
    - Dst: check_add_path
      Src: /src/tcpdump/print-bgp.c:2264,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-bgp.c:2265,1
    - Dst: bgp_nlri_print
      Src: /src/tcpdump/print-bgp.c:2268,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:2279,1
    - Dst: bgp_mp_af_print
      Src: /src/tcpdump/print-bgp.c:2280,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2287,1
    - Dst: check_add_path
      Src: /src/tcpdump/print-bgp.c:2291,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-bgp.c:2292,1
    - Dst: check_add_path
      Src: /src/tcpdump/print-bgp.c:2293,1
    - Dst: ND_BYTES_BETWEEN
      Src: /src/tcpdump/print-bgp.c:2294,1
    - Dst: bgp_nlri_print
      Src: /src/tcpdump/print-bgp.c:2297,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2308,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-bgp.c:2314,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2317,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2319,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2320,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-bgp.c:2324,1
    - Dst: ND_TCHECK_8
      Src: /src/tcpdump/print-bgp.c:2326,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2329,1
    - Dst: bgp_extended_community_print
      Src: /src/tcpdump/print-bgp.c:2330,1
    - Dst: ND_TCHECK_5
      Src: /src/tcpdump/print-bgp.c:2340,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2343,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2344,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2346,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2347,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-bgp.c:2349,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-bgp.c:2350,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2358,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2359,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2360,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2364,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2365,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2366,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2369,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2370,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2374,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2375,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:2376,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2379,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2380,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:2381,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-bgp.c:2385,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2396,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2397,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2401,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2402,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2420,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-bgp.c:2421,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-bgp.c:2426,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-bgp.c:2436,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2439,1
    - Dst: as_printf
      Src: /src/tcpdump/print-bgp.c:2440,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:2440,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-bgp.c:2447,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2449,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2453,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2454,1
    - Dst: bgp_attr_lenlen
      Src: /src/tcpdump/print-bgp.c:2457,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:2458,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2460,1
    - Dst: bgp_attr_len
      Src: /src/tcpdump/print-bgp.c:2464,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2468,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2469,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2475,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-bgp.c:2476,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2478,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2479,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2481,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2483,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2497,1
    - Dst: bgp_attr_print
      Src: /src/tcpdump/print-bgp.c:2498,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2507,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2510,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2512,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:2513,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:2514,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:2515,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2529,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-bgp.c:2536,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2538,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2544,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2550,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2551,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:2552,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2553,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-bgp.c:2555,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2562,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2564,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2566,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-bgp.c:2568,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2575,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-bgp.c:2576,1
    - Dst: hex_print
      Src: /src/tcpdump/print-bgp.c:2577,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-bgp.c:2580,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2581,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2585,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-bgp.c:2586,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2587,1
    - Dst: hex_print
      Src: /src/tcpdump/print-bgp.c:2588,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2597,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2600,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:2600,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:2604,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2605,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-bgp.c:2607,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:2612,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-bgp.c:2613,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bgp.c:2618,1
    CyclomaticComplexity: 159
    EdgeCount: 159
    ICount: 547
    argCount: 5
    argNames:
    - ndo
    - atype
    - pptr
    - len
    - attr_set_level
    argTypes:
    - netdissect_options*
    - uint8_t
    - u_char*
    - u_int
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 1897
    functionDepth: 5
    functionLinenumber: 1897
    functionLinenumberEnd: 2623
    functionName: bgp_attr_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 1
    functionsReached:
    - bittok2str
    - ND_ICHECKMSG_U
    - GET_U_1
    - GET_BE_U_8
    - GET_IP6ADDR_STRING
    - GET_ISONSAP_STRING
    - nd_print_invalid
    - bgp_nlri_print
    - bgp_attr_print
    - GET_BE_U_4
    - ND_BYTES_BETWEEN
    - as_printf
    - ND_PRINT
    - bgp_mp_af_print
    - GET_BE_U_3
    - ND_TCHECK_3
    - GET_IPADDR_STRING
    - print_unknown_data
    - bgp_extended_community_print
    - bgp_attr_len
    - check_add_path
    - GET_BE_U_2
    - ND_TCHECK_LEN
    - ND_TCHECK_5
    - tok2str
    - bgp_attr_get_as_size
    - ND_TCHECK_2
    - ND_TCHECK_8
    - ND_TCHECK_1
    - bgp_vpn_rd_print
    - hex_print
    - bgp_attr_lenlen
    - ND_TCHECK_4
    - bittok2str_nosep
    linkageType: ''
    returnType: int
    signature: "int bgp_attr_print(netdissect_options *ndo,\n               uint8_t
      atype, const u_char *pptr, u_int len,\n               const unsigned attr_set_level)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:2635,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2636,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2637,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2638,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2639,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:2642,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2647,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2650,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2651,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2651,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2652,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2653,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2653,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2654,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2661,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2665,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2666,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2667,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2668,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-bgp.c:2669,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2670,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2671,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2677,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2678,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2679,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2680,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2681,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2682,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2683,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2684,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2692,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2696,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-bgp.c:2697,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2698,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2699,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2703,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2704,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2705,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2706,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2707,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2708,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2709,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2710,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2717,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2720,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2721,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2722,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2722,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2735,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2738,1
    - Dst: as_printf
      Src: /src/tcpdump/print-bgp.c:2739,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:2740,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2744,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bgp.c:2751,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2754,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2755,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2755,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2756,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2757,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2757,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2758,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2759,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2759,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2766,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-bgp.c:2769,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-bgp.c:2774,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-bgp.c:2781,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 99
    argCount: 3
    argNames:
    - ndo
    - opt
    - caps_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2625
    functionDepth: 1
    functionLinenumber: 2625
    functionLinenumberEnd: 2782
    functionName: bgp_capabilities_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - print_unknown_data
    - nd_print_invalid
    - GET_U_1
    - nd_print_trunc
    - GET_BE_U_2
    - as_printf
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void bgp_capabilities_print(netdissect_options *ndo,\n                       const
      u_char *opt, u_int caps_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:2800,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2806,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2807,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2808,1
    - Dst: as_printf
      Src: /src/tcpdump/print-bgp.c:2809,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2809,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2810,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2811,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2812,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-bgp.c:2812,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2813,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2814,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2816,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2821,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:2832,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2836,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2837,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2838,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2840,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2845,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2846,1
    - Dst: bgp_capabilities_print
      Src: /src/tcpdump/print-bgp.c:2854,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2860,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-bgp.c:2868,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2869
      start: 2784
    functionDepth: 2
    functionLinenumber: 2784
    functionLinenumberEnd: 2869
    functionName: bgp_open_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - bgp_capabilities_print
    - nd_print_trunc
    - GET_BE_U_2
    - as_printf
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void bgp_open_print(netdissect_options *ndo,\n               const
      u_char *dat, u_int length)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:2884,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-bgp.c:2891,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2894,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:2903,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2906,1
    - Dst: check_add_path
      Src: /src/tcpdump/print-bgp.c:2907,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:2915,1
    - Dst: decode_prefix4
      Src: /src/tcpdump/print-bgp.c:2920,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2922,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2927,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2929,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:2937,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-bgp.c:2944,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:2947,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2953,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-bgp.c:2966,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2970,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2975,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:2976,1
    - Dst: bgp_attr_lenlen
      Src: /src/tcpdump/print-bgp.c:2980,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:2981,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2985,1
    - Dst: bgp_attr_len
      Src: /src/tcpdump/print-bgp.c:2990,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:2995,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:2996,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3001,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-bgp.c:3002,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3004,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3005,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3008,1
    - Dst: bgp_attr_print
      Src: /src/tcpdump/print-bgp.c:3015,1
    - Dst: check_add_path
      Src: /src/tcpdump/print-bgp.c:3024,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3025,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-bgp.c:3028,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:3031,1
    - Dst: decode_prefix4
      Src: /src/tcpdump/print-bgp.c:3035,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3037,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3042,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3044,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-bgp.c:3053,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 162
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3054
      start: 2871
    functionDepth: 6
    functionLinenumber: 2871
    functionLinenumberEnd: 3054
    functionName: bgp_update_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - bgp_attr_len
    - ND_TCHECK_2
    - GET_U_1
    - nd_print_trunc
    - check_add_path
    - GET_BE_U_2
    - bgp_attr_print
    - ND_PRINT
    - decode_prefix4
    - bgp_attr_lenlen
    - ND_TCHECK_LEN
    - tok2str
    - ND_TCHECK_4
    - GET_BE_U_4
    - bittok2str_nosep
    linkageType: ''
    returnType: void
    signature: "void bgp_update_print(netdissect_options *ndo,\n                 const
      u_char *dat, u_int length)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3061,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3062,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3069,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3070,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3075,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3076,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3081,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3082,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3087,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3088,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3093,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3094,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3099,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3100,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3108,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3109,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:3109,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:3110,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3111,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3111,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3112,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bgp.c:3113,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3122,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3126,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3128,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3133,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-bgp.c:3134,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3135,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3140,1
    - Dst: hex_print
      Src: /src/tcpdump/print-bgp.c:3141,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3149,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3150,1
    - Dst: bgp_notification_print_code
      Src: /src/tcpdump/print-bgp.c:3152,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3157,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 5
    argNames:
    - ndo
    - dat
    - length
    - bgpn_major
    - bgpn_minor
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3056
    functionDepth: 3
    functionLinenumber: 3056
    functionLinenumberEnd: 3163
    functionName: bgp_notification_print_code
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 1
    functionsReached:
    - nd_printjn
    - GET_U_1
    - GET_BE_U_2
    - hex_print
    - ND_PRINT
    - bgp_notification_print_code
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void bgp_notification_print_code(netdissect_options *ndo,\n                            const
      u_char *dat, u_int length,\n                            uint8_t bgpn_major,
      uint8_t bgpn_minor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:3172,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3177,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3178,1
    - Dst: bgp_notification_print_code
      Src: /src/tcpdump/print-bgp.c:3179,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-bgp.c:3183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 3165
    functionDepth: 4
    functionLinenumber: 3165
    functionLinenumberEnd: 3184
    functionName: bgp_notification_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TCHECK_LEN
    - nd_print_trunc
    - bgp_notification_print_code
    linkageType: ''
    returnType: void
    signature: "void bgp_notification_print(netdissect_options *ndo,\n                       const
      u_char *dat, u_int length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3198,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3199,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:3200,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:3201,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3202,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3203,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3204,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3205,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3206,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3207,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3216,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3217,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3218,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3219,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3220,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3220,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3221,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:3221,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:3225,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-bgp.c:3226,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-bgp.c:3231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3186
    functionDepth: 1
    functionLinenumber: 3186
    functionLinenumberEnd: 3232
    functionName: bgp_route_refresh_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - GET_U_1
    - nd_print_trunc
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void bgp_route_refresh_print(netdissect_options *ndo,\n                        const
      u_char *pptr, u_int len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:3241,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3243,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3245,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3246,1
    - Dst: bgp_open_print
      Src: /src/tcpdump/print-bgp.c:3252,1
    - Dst: bgp_update_print
      Src: /src/tcpdump/print-bgp.c:3255,1
    - Dst: bgp_notification_print
      Src: /src/tcpdump/print-bgp.c:3258,1
    - Dst: bgp_route_refresh_print
      Src: /src/tcpdump/print-bgp.c:3263,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:3267,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3268,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-bgp.c:3269,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-bgp.c:3274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 3234
    functionDepth: 7
    functionLinenumber: 3234
    functionLinenumberEnd: 3276
    functionName: bgp_pdu_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - GET_U_1
    - bgp_notification_print
    - nd_print_trunc
    - bgp_open_print
    - bgp_route_refresh_print
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - bgp_update_print
    linkageType: ''
    returnType: int
    signature: "int bgp_pdu_print(netdissect_options *ndo,\n              const u_char
      *dat, u_int length)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3293,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-bgp.c:3301,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3303,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-bgp.c:3308,1
    - Dst: memcmp
      Src: /src/tcpdump/print-bgp.c:3310,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bgp.c:3316,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-bgp.c:3320,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-bgp.c:3322,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3324,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-bgp.c:3325,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-bgp.c:3329,1
    - Dst: bgp_pdu_print
      Src: /src/tcpdump/print-bgp.c:3330,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bgp.c:3335,1
    - Dst: tok2str
      Src: /src/tcpdump/print-bgp.c:3336,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-bgp.c:3338,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-bgp.c:3346,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3347
      start: 3278
    functionDepth: 8
    functionLinenumber: 3278
    functionLinenumberEnd: 3347
    functionName: bgp_print
    functionSourceFile: /src/tcpdump/print-bgp.c
    functionUses: 1
    functionsReached:
    - ND_TTEST_1
    - nd_print_invalid
    - GET_U_1
    - bgp_pdu_print
    - nd_print_trunc
    - memcmp
    - ND_TTEST_LEN
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void bgp_print(netdissect_options *ndo,\n          const u_char *dat,
      u_int length _U_)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:148,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-aoe.c:149,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:149,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:153,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:153,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:157,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:157,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:161,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:161,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:165,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:165,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:169,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:169,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:173,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:173,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:177,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:177,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:181,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:181,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:185,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:185,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-aoe.c:189,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:194,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-aoe.c:198,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-aoe.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 200
    functionName: aoev1_issue_print
    functionSourceFile: /src/tcpdump/print-aoe.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - ND_TCHECK_LEN
    - ND_TCHECK_2
    - GET_U_1
    - ND_PRINT
    - nd_print_invalid
    linkageType: ''
    returnType: void
    signature: "void aoev1_issue_print(netdissect_options *ndo,\n                  const
      u_char *cp, u_int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:211,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-aoe.c:211,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:215,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-aoe.c:215,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:219,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:219,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:223,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:223,1
    - Dst: tok2str
      Src: /src/tcpdump/print-aoe.c:224,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:224,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-aoe.c:228,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:235,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-aoe.c:236,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-aoe.c:241,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-aoe.c:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 243
    functionName: aoev1_query_print
    functionSourceFile: /src/tcpdump/print-aoe.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - nd_printjn
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void aoev1_query_print(netdissect_options *ndo,\n                  const
      u_char *cp, u_int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:257,1
    - Dst: tok2str
      Src: /src/tcpdump/print-aoe.c:258,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:258,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:262,1
    - Dst: tok2str
      Src: /src/tcpdump/print-aoe.c:263,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:263,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:267,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:270,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:279,1
    - Dst: tok2str
      Src: /src/tcpdump/print-aoe.c:280,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:280,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:284,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-aoe.c:284,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-aoe.c:291,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-aoe.c:292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 293
    functionName: aoev1_mac_print
    functionSourceFile: /src/tcpdump/print-aoe.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - GET_U_1
    - GET_MAC48_STRING
    - ND_PRINT
    - nd_print_invalid
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void aoev1_mac_print(netdissect_options *ndo,\n                const
      u_char *cp, u_int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:304,1
    - Dst: tok2str
      Src: /src/tcpdump/print-aoe.c:305,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:305,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:309,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:312,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:317,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-aoe.c:317,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-aoe.c:324,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-aoe.c:325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 326
    functionName: aoev1_reserve_print
    functionSourceFile: /src/tcpdump/print-aoe.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - GET_U_1
    - GET_MAC48_STRING
    - ND_PRINT
    - nd_print_invalid
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void aoev1_reserve_print(netdissect_options *ndo,\n                    const
      u_char *cp, u_int len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:339,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:340,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-aoe.c:340,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:347,1
    - Dst: tok2str
      Src: /src/tcpdump/print-aoe.c:348,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:348,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:352,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-aoe.c:352,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:356,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:356,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:360,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:363,1
    - Dst: tok2str
      Src: /src/tcpdump/print-aoe.c:363,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:365,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-aoe.c:365,1
    - Dst: cmd_decoder
      Src: /src/tcpdump/print-aoe.c:376,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-aoe.c:380,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-aoe.c:381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 382
    functionName: aoev1_print
    functionSourceFile: /src/tcpdump/print-aoe.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - ND_TCHECK_LEN
    - GET_U_1
    - GET_BE_U_2
    - cmd_decoder
    - ND_PRINT
    - nd_print_invalid
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void aoev1_print(netdissect_options *ndo,\n            const u_char
      *cp, u_int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:391,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aoe.c:396,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aoe.c:398,1
    - Dst: aoev1_print
      Src: /src/tcpdump/print-aoe.c:402,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-aoe.c:408,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-aoe.c:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 410
    functionName: aoe_print
    functionSourceFile: /src/tcpdump/print-aoe.c
    functionUses: 1
    functionsReached:
    - nd_print_invalid
    - GET_U_1
    - ND_PRINT
    - ND_TCHECK_LEN
    - aoev1_print
    linkageType: ''
    returnType: void
    signature: "void aoe_print(netdissect_options *ndo,\n          const u_char *cp,
      const u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - wh
    - ','
    - xf
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: ENC_PRINT_TYPE
    functionSourceFile: /src/tcpdump/print-enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENC_PRINT_TYPE(wh, xf, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: SWAPLONG
    functionSourceFile: /src/tcpdump/print-enc.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAPLONG(y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-enc.c:105,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-enc.c:127,1
    - Dst: UNALIGNED_MEMCPY
      Src: /src/tcpdump/print-enc.c:128,1
    - Dst: SWAPLONG
      Src: /src/tcpdump/print-enc.c:130,1
    - Dst: SWAPLONG
      Src: /src/tcpdump/print-enc.c:131,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-enc.c:135,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-enc.c:137,1
    - Dst: ENC_PRINT_TYPE
      Src: /src/tcpdump/print-enc.c:138,1
    - Dst: ENC_PRINT_TYPE
      Src: /src/tcpdump/print-enc.c:139,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-enc.c:141,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-enc.c:141,1
    - Dst: ip_print
      Src: /src/tcpdump/print-enc.c:148,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-enc.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 156
    functionName: enc_if_print
    functionSourceFile: /src/tcpdump/print-enc.c
    functionUses: 0
    functionsReached:
    - UNALIGNED_MEMCPY
    - ip_print
    - SWAPLONG
    - ENC_PRINT_TYPE
    - ND_PRINT
    - ip6_print
    - ND_TCHECK_LEN
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void enc_if_print(netdissect_options *ndo,\n             const struct
      pcap_pkthdr *h, const u_char *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-loopback.c:61,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-loopback.c:63,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-loopback.c:66,1
    - Dst: tok2str
      Src: /src/tcpdump/print-loopback.c:66,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-loopback.c:70,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-loopback.c:72,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-loopback.c:72,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-loopback.c:76,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-loopback.c:77,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-loopback.c:80,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-loopback.c:82,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-loopback.c:82,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-loopback.c:86,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-loopback.c:87,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-loopback.c:90,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-loopback.c:96,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-loopback.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 98
    functionName: loopback_message_print
    functionSourceFile: /src/tcpdump/print-loopback.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - tok2str
    - nd_print_invalid
    - GET_MAC48_STRING
    - ND_PRINT
    - ND_TCHECK_LEN
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: "void loopback_message_print(netdissect_options *ndo,\n                       const
      u_char *cp, u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-loopback.c:107,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-loopback.c:108,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-loopback.c:110,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-loopback.c:113,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-loopback.c:115,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-loopback.c:116,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-loopback.c:118,1
    - Dst: loopback_message_print
      Src: /src/tcpdump/print-loopback.c:122,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-loopback.c:126,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-loopback.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 128
    functionName: loopback_print
    functionSourceFile: /src/tcpdump/print-loopback.c
    functionUses: 1
    functionsReached:
    - GET_LE_U_2
    - loopback_message_print
    - nd_print_invalid
    - ND_PRINT
    - ND_TCHECK_LEN
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: "void loopback_print(netdissect_options *ndo,\n               const
      u_char *cp, u_int length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol
      Src: /src/tcpdump/print-bt.c:56,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-bt.c:57,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-bt.c:63,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-bt.c:64,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-bt.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: bt_if_print
    functionSourceFile: /src/tcpdump/print-bt.c
    functionUses: 0
    functionsReached:
    - nd_print_protocol
    - ND_PRINT
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void bt_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-realtek.c:112,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-realtek.c:113,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-realtek.c:114,1
    - Dst: tok2str
      Src: /src/tcpdump/print-realtek.c:115,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-realtek.c:118,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-realtek.c:119,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-realtek.c:120,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-realtek.c:122,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-realtek.c:123,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-realtek.c:125,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-realtek.c:126,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-realtek.c:127,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-realtek.c:128,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-realtek.c:129,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-realtek.c:130,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-realtek.c:131,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-realtek.c:134,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-realtek.c:135,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-realtek.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 138
    functionName: rrcp_print
    functionSourceFile: /src/tcpdump/print-realtek.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - GET_U_1
    - GET_LE_U_4
    - GET_BE_U_2
    - GET_MAC48_STRING
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void rrcp_print(netdissect_options *ndo,\n\t  const u_char *cp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-realtek.c:217,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-realtek.c:222,1
    - Dst: rrcp_print
      Src: /src/tcpdump/print-realtek.c:225,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-realtek.c:230,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-realtek.c:237,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-realtek.c:239,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-realtek.c:241,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-realtek.c:243,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-realtek.c:245,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - ndo
    - cp
    - length
    - src
    - dst
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - struct lladdr_info*
    - struct lladdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 246
    functionName: rtl_print
    functionSourceFile: /src/tcpdump/print-realtek.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - rrcp_print
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void rtl_print(netdissect_options *ndo,\n\t  const u_char *cp,\n\t
      \ u_int length _U_,\n\t  const struct lladdr_info *src,\n\t  const struct lladdr_info
      *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 346
    functionName: pcap_set_parser_debug
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pcap_set_parser_debug(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nd_cleanup
      Src: /src/tcpdump/tcpdump.c:369,1
    - Dst: exit
      Src: /src/tcpdump/tcpdump.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: exit_tcpdump
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - exit
    - nd_cleanup
    linkageType: ''
    returnType: void
    signature: void exit_tcpdump(const int status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:379,1
    - Dst: va_start
      Src: /src/tcpdump/tcpdump.c:380,1
    - Dst: vfprintf
      Src: /src/tcpdump/tcpdump.c:381,1
    - Dst: va_end
      Src: /src/tcpdump/tcpdump.c:382,1
    - Dst: strlen
      Src: /src/tcpdump/tcpdump.c:384,1
    - Dst: fputc
      Src: /src/tcpdump/tcpdump.c:386,1
    - Dst: exit_tcpdump
      Src: /src/tcpdump/tcpdump.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 390
    functionName: error
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 145
    functionsReached:
    - vfprintf
    - fputc
    - fprintf
    - exit_tcpdump
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void error(FORMAT_STRING(const char *fmt), ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:398,1
    - Dst: va_start
      Src: /src/tcpdump/tcpdump.c:399,1
    - Dst: vfprintf
      Src: /src/tcpdump/tcpdump.c:400,1
    - Dst: va_end
      Src: /src/tcpdump/tcpdump.c:401,1
    - Dst: strlen
      Src: /src/tcpdump/tcpdump.c:403,1
    - Dst: fputc
      Src: /src/tcpdump/tcpdump.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 407
    functionName: warning
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 8
    functionsReached:
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void warning(FORMAT_STRING(const char *fmt), ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcap_list_tstamp_types
      Src: /src/tcpdump/tcpdump.c:418,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:420,1
    - Dst: pcap_geterr
      Src: /src/tcpdump/tcpdump.c:420,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:423,1
    - Dst: exit_tcpdump
      Src: /src/tcpdump/tcpdump.c:425,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:427,1
    - Dst: pcap_tstamp_type_val_to_name
      Src: /src/tcpdump/tcpdump.c:430,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:432,1
    - Dst: pcap_tstamp_type_val_to_description
      Src: /src/tcpdump/tcpdump.c:433,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:435,1
    - Dst: pcap_free_tstamp_types
      Src: /src/tcpdump/tcpdump.c:438,1
    - Dst: exit_tcpdump
      Src: /src/tcpdump/tcpdump.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pc
    - device
    argTypes:
    - pcap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 440
    functionName: show_tstamp_types_and_exit
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - pcap_tstamp_type_val_to_name
    - pcap_tstamp_type_val_to_description
    - fprintf
    - pcap_free_tstamp_types
    - exit_tcpdump
    - pcap_geterr
    - pcap_list_tstamp_types
    - error
    linkageType: ''
    returnType: void
    signature: void show_tstamp_types_and_exit(pcap_t *pc, const char *device)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcap_list_datalinks
      Src: /src/tcpdump/tcpdump.c:450,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:452,1
    - Dst: pcap_geterr
      Src: /src/tcpdump/tcpdump.c:452,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:454,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:464,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:466,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:470,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:472,1
    - Dst: pcap_datalink_val_to_name
      Src: /src/tcpdump/tcpdump.c:475,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:477,1
    - Dst: pcap_datalink_val_to_description
      Src: /src/tcpdump/tcpdump.c:478,1
    - Dst: has_printer
      Src: /src/tcpdump/tcpdump.c:483,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:484,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:485,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:487,1
    - Dst: pcap_free_datalinks
      Src: /src/tcpdump/tcpdump.c:491,1
    - Dst: exit_tcpdump
      Src: /src/tcpdump/tcpdump.c:492,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pc
    - device
    argTypes:
    - pcap_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 493
    functionName: show_dlts_and_exit
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - pcap_datalink_val_to_description
    - fprintf
    - exit_tcpdump
    - pcap_geterr
    - has_printer
    - pcap_datalink_val_to_name
    - pcap_list_datalinks
    - pcap_free_datalinks
    - error
    linkageType: ''
    returnType: void
    signature: void show_dlts_and_exit(pcap_t *pc, const char *device)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pcap_findalldevs
      Src: /src/tcpdump/tcpdump.c:502,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:503,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:505,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:507,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:509,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:510,1
    - Dst: bittok2str
      Src: /src/tcpdump/tcpdump.c:510,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:516,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:520,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:524,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:534,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:538,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:542,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:550,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:552,1
    - Dst: pcap_freealldevs
      Src: /src/tcpdump/tcpdump.c:554,1
    - Dst: exit_tcpdump
      Src: /src/tcpdump/tcpdump.c:555,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 556
    functionName: show_devices_and_exit
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - pcap_freealldevs
    - exit_tcpdump
    - printf
    - pcap_findalldevs
    - error
    linkageType: ''
    returnType: void
    signature: void show_devices_and_exit(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcap_findalldevs_ex
      Src: /src/tcpdump/tcpdump.c:566,1
    - Dst: strcmp
      Src: /src/tcpdump/tcpdump.c:568,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:578,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:580,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:583,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:585,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:587,1
    - Dst: bittok2str
      Src: /src/tcpdump/tcpdump.c:587,1
    - Dst: printf
      Src: /src/tcpdump/tcpdump.c:588,1
    - Dst: pcap_freealldevs
      Src: /src/tcpdump/tcpdump.c:590,1
    - Dst: exit_tcpdump
      Src: /src/tcpdump/tcpdump.c:591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 592
    functionName: show_remote_devices_and_exit
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - pcap_findalldevs_ex
    - pcap_freealldevs
    - exit_tcpdump
    - printf
    - strcmp
    - error
    linkageType: ''
    returnType: void
    signature: void show_remote_devices_and_exit(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:766,1
    - Dst: getpwnam
      Src: /src/tcpdump/tcpdump.c:768,1
    - Dst: chroot
      Src: /src/tcpdump/tcpdump.c:771,1
    - Dst: chdir
      Src: /src/tcpdump/tcpdump.c:771,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:772,1
    - Dst: pcap_strerror
      Src: /src/tcpdump/tcpdump.c:773,1
    - Dst: capng_change_id
      Src: /src/tcpdump/tcpdump.c:777,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:779,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:781,1
    - Dst: initgroups
      Src: /src/tcpdump/tcpdump.c:784,1
    - Dst: setgid
      Src: /src/tcpdump/tcpdump.c:785,1
    - Dst: setuid
      Src: /src/tcpdump/tcpdump.c:785,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:786,1
    - Dst: pcap_strerror
      Src: /src/tcpdump/tcpdump.c:790,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:792,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:796,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - username
    - chroot_dir
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 811
    functionName: droproot
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - fprintf
    - chroot
    - setuid
    - initgroups
    - capng_change_id
    - chdir
    - getpwnam
    - setgid
    - error
    - pcap_strerror
    linkageType: ''
    returnType: void
    signature: void droproot(const char *username, const char *chroot_dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 826
    functionName: getWflagChars
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getWflagChars(int x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcpdump/tcpdump.c:832,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:834,1
    - Dst: strlen
      Src: /src/tcpdump/tcpdump.c:835,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:836,1
    - Dst: localtime
      Src: /src/tcpdump/tcpdump.c:843,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:844,1
    - Dst: strftime
      Src: /src/tcpdump/tcpdump.c:864,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:865,1
    - Dst: strncpy
      Src: /src/tcpdump/tcpdump.c:868,1
    - Dst: strncpy
      Src: /src/tcpdump/tcpdump.c:872,1
    - Dst: snprintf
      Src: /src/tcpdump/tcpdump.c:874,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:876,1
    - Dst: free
      Src: /src/tcpdump/tcpdump.c:877,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - buffer
    - orig_name
    - cnt
    - max_chars
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 878
    functionName: MakeFilename
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - error
    - localtime
    - strncpy
    - snprintf
    - strlen
    - free
    - malloc
    - strftime
    linkageType: ''
    returnType: void
    signature: void MakeFilename(char *buffer, char *orig_name, int cnt, int max_chars)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/tcpdump/tcpdump.c:886,1
    - Dst: strlen
      Src: /src/tcpdump/tcpdump.c:890,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - VFile
    - ptr
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 895
    functionName: get_next_file
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - fgets
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      get_next_file(FILE *VFile, char *ptr)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cap_init
      Src: /src/tcpdump/tcpdump.c:905,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:907,1
    - Dst: cap_service_open
      Src: /src/tcpdump/tcpdump.c:908,1
    - Dst: cap_close
      Src: /src/tcpdump/tcpdump.c:910,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:912,1
    - Dst: cap_dns_type_limit
      Src: /src/tcpdump/tcpdump.c:915,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:916,1
    - Dst: cap_dns_family_limit
      Src: /src/tcpdump/tcpdump.c:920,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:921,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 924
    functionName: capdns_setup
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - cap_service_open
    - cap_dns_family_limit
    - cap_dns_type_limit
    - cap_close
    - cap_init
    - error
    linkageType: ''
    returnType: cap_channel_t
    signature: 'cap_channel_t *

      capdns_setup(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tcpdump/tcpdump.c:931,1
    - Dst: strlen
      Src: /src/tcpdump/tcpdump.c:931,1
    - Dst: strncmp
      Src: /src/tcpdump/tcpdump.c:934,1
    - Dst: strlen
      Src: /src/tcpdump/tcpdump.c:934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - precision
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 938
    functionName: tstamp_precision_from_string
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int tstamp_precision_from_string(const char *precision)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - precision
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 954
    functionName: tstamp_precision_to_string
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      tstamp_precision_to_string(int precision)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/tcpdump/tcpdump.c:1014,1
    - Dst: pcap_dump_file
      Src: /src/tcpdump/tcpdump.c:1014,1
    - Dst: cap_rights_init
      Src: /src/tcpdump/tcpdump.c:1017,1
    - Dst: cap_rights_limit
      Src: /src/tcpdump/tcpdump.c:1018,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1019,1
    - Dst: cap_fcntls_limit
      Src: /src/tcpdump/tcpdump.c:1021,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - pcap_dumper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1024
    functionName: set_dumper_capsicum_rights
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - error
    - cap_rights_init
    - cap_rights_limit
    - cap_fcntls_limit
    - fileno
    - pcap_dump_file
    linkageType: ''
    returnType: void
    signature: void set_dumper_capsicum_rights(pcap_dumper_t *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tcpdump/tcpdump.c:1043,1
    - Dst: malloc
      Src: /src/tcpdump/tcpdump.c:1045,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1047,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1059
    functionName: copy_argv
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 6
    functionsReached:
    - error
    - malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      copy_argv(char **argv)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/tcpdump/tcpdump.c:1079,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1081,1
    - Dst: pcap_strerror
      Src: /src/tcpdump/tcpdump.c:1081,1
    - Dst: our_fstat
      Src: /src/tcpdump/tcpdump.c:1083,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1084,1
    - Dst: pcap_strerror
      Src: /src/tcpdump/tcpdump.c:1084,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1091,1
    - Dst: malloc
      Src: /src/tcpdump/tcpdump.c:1093,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1095,1
    - Dst: pcap_strerror
      Src: /src/tcpdump/tcpdump.c:1096,1
    - Dst: read
      Src: /src/tcpdump/tcpdump.c:1097,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1099,1
    - Dst: pcap_strerror
      Src: /src/tcpdump/tcpdump.c:1099,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1101,1
    - Dst: close
      Src: /src/tcpdump/tcpdump.c:1104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1113
    functionName: read_infile
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 2
    functionsReached:
    - error
    - close
    - open
    - read
    - our_fstat
    - malloc
    - pcap_strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      read_infile(char *fname)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tcpdump/tcpdump.c:1126,1
    - Dst: strncmp
      Src: /src/tcpdump/tcpdump.c:1132,1
    - Dst: strchr
      Src: /src/tcpdump/tcpdump.c:1138,1
    - Dst: strtol
      Src: /src/tcpdump/tcpdump.c:1147,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - device
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1166
    functionName: parse_interface_number
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 1
    functionsReached:
    - strtol
    - strchr
    - error
    - strncmp
    linkageType: ''
    returnType: long
    signature: long parse_interface_number(const char *device)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tcpdump/tcpdump.c:1190,1
    - Dst: strncmp
      Src: /src/tcpdump/tcpdump.c:1196,1
    - Dst: strchr
      Src: /src/tcpdump/tcpdump.c:1202,1
    - Dst: malloc
      Src: /src/tcpdump/tcpdump.c:1212,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1214,1
    - Dst: memcpy
      Src: /src/tcpdump/tcpdump.c:1216,1
    - Dst: pcap_findalldevs_ex
      Src: /src/tcpdump/tcpdump.c:1218,1
    - Dst: free
      Src: /src/tcpdump/tcpdump.c:1219,1
    - Dst: pcap_findalldevs
      Src: /src/tcpdump/tcpdump.c:1222,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1224,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1226,1
    - Dst: pcap_freealldevs
      Src: /src/tcpdump/tcpdump.c:1234,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1235,1
    - Dst: strdup
      Src: /src/tcpdump/tcpdump.c:1238,1
    - Dst: pcap_freealldevs
      Src: /src/tcpdump/tcpdump.c:1239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - url
    - devnum
    argTypes:
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1168
    functionDepth: 2
    functionLinenumber: 1168
    functionLinenumberEnd: 1241
    functionName: find_interface_by_number
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 1
    functionsReached:
    - malloc
    - pcap_findalldevs_ex
    - pcap_freealldevs
    - strchr
    - memcpy
    - strdup
    - pcap_findalldevs
    - free
    - strncmp
    - error
    linkageType: ''
    returnType: char
    signature: 'char *

      find_interface_by_number(const char *url

      #ifndef HAVE_PCAP_FINDALLDEVS_EX

      _U_

      #endif

      , long devnum)'
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tcpdump/tcpdump.c:1262,1
    - Dst: strncmp
      Src: /src/tcpdump/tcpdump.c:1263,1
    - Dst: pcap_open
      Src: /src/tcpdump/tcpdump.c:1268,1
    - Dst: strcmp
      Src: /src/tcpdump/tcpdump.c:1281,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1282,1
    - Dst: strstr
      Src: /src/tcpdump/tcpdump.c:1291,1
    - Dst: strstr
      Src: /src/tcpdump/tcpdump.c:1292,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1294,1
    - Dst: warning
      Src: /src/tcpdump/tcpdump.c:1297,1
    - Dst: pcap_create
      Src: /src/tcpdump/tcpdump.c:1302,1
    - Dst: strstr
      Src: /src/tcpdump/tcpdump.c:1310,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1312,1
    - Dst: show_tstamp_types_and_exit
      Src: /src/tcpdump/tcpdump.c:1316,1
    - Dst: pcap_set_tstamp_precision
      Src: /src/tcpdump/tcpdump.c:1319,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1321,1
    - Dst: tstamp_precision_to_string
      Src: /src/tcpdump/tcpdump.c:1323,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1324,1
    - Dst: pcap_set_immediate_mode
      Src: /src/tcpdump/tcpdump.c:1329,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1331,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1332,1
    - Dst: pcap_can_set_rfmon
      Src: /src/tcpdump/tcpdump.c:1338,1
    - Dst: pcap_set_snaplen
      Src: /src/tcpdump/tcpdump.c:1347,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1349,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1350,1
    - Dst: pcap_set_promisc
      Src: /src/tcpdump/tcpdump.c:1352,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1354,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1355,1
    - Dst: pcap_set_rfmon
      Src: /src/tcpdump/tcpdump.c:1357,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1359,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1360,1
    - Dst: pcap_set_timeout
      Src: /src/tcpdump/tcpdump.c:1362,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1364,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1365,1
    - Dst: pcap_set_buffer_size
      Src: /src/tcpdump/tcpdump.c:1367,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1369,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1370,1
    - Dst: pcap_set_tstamp_type
      Src: /src/tcpdump/tcpdump.c:1374,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1376,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1377,1
    - Dst: warning
      Src: /src/tcpdump/tcpdump.c:1379,1
    - Dst: pcap_tstamp_type_val_to_name
      Src: /src/tcpdump/tcpdump.c:1380,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1381,1
    - Dst: pcap_activate
      Src: /src/tcpdump/tcpdump.c:1384,1
    - Dst: pcap_geterr
      Src: /src/tcpdump/tcpdump.c:1389,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1391,1
    - Dst: snprintf
      Src: /src/tcpdump/tcpdump.c:1396,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1397,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1399,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1400,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1403,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1404,1
    - Dst: strncmp
      Src: /src/tcpdump/tcpdump.c:1408,1
    - Dst: snprintf
      Src: /src/tcpdump/tcpdump.c:1413,1
    - Dst: atoi
      Src: /src/tcpdump/tcpdump.c:1414,1
    - Dst: sysctlbyname
      Src: /src/tcpdump/tcpdump.c:1415,1
    - Dst: strlcpy
      Src: /src/tcpdump/tcpdump.c:1416,1
    - Dst: strlen
      Src: /src/tcpdump/tcpdump.c:1422,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1423,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1432,1
    - Dst: pcap_close
      Src: /src/tcpdump/tcpdump.c:1433,1
    - Dst: pcap_geterr
      Src: /src/tcpdump/tcpdump.c:1440,1
    - Dst: warning
      Src: /src/tcpdump/tcpdump.c:1442,1
    - Dst: warning
      Src: /src/tcpdump/tcpdump.c:1445,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1446,1
    - Dst: warning
      Src: /src/tcpdump/tcpdump.c:1448,1
    - Dst: pcap_statustostr
      Src: /src/tcpdump/tcpdump.c:1449,1
    - Dst: pcap_setdirection
      Src: /src/tcpdump/tcpdump.c:1452,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:1454,1
    - Dst: pcap_geterr
      Src: /src/tcpdump/tcpdump.c:1455,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 96
    argCount: 3
    argNames:
    - device
    - ndo
    - ebuf
    argTypes:
    - char*
    - netdissect_options*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1251
    functionDepth: 4
    functionLinenumber: 1251
    functionLinenumberEnd: 1459
    functionName: open_interface
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 1
    functionsReached:
    - strstr
    - pcap_tstamp_type_val_to_name
    - pcap_create
    - pcap_set_promisc
    - pcap_open
    - strcmp
    - pcap_set_immediate_mode
    - pcap_set_tstamp_type
    - strlen
    - tstamp_precision_to_string
    - strlcpy
    - pcap_close
    - sysctlbyname
    - pcap_statustostr
    - pcap_setdirection
    - show_tstamp_types_and_exit
    - pcap_activate
    - snprintf
    - pcap_set_buffer_size
    - pcap_set_rfmon
    - pcap_geterr
    - pcap_set_timeout
    - atoi
    - pcap_set_tstamp_precision
    - pcap_set_snaplen
    - strncmp
    - error
    - warning
    - pcap_can_set_rfmon
    linkageType: ''
    returnType: pcap_t
    signature: 'pcap_t *

      open_interface(const char *device, netdissect_options *ndo, char *ebuf)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/tcpdump/tcpdump.c:2953,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:2962,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:2971,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 6
    argNames:
    - argname
    - string
    - endpp
    - minval
    - maxval
    - base
    argTypes:
    - char*
    - char*
    - char**
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2981
      start: 2945
    functionDepth: 0
    functionLinenumber: 2945
    functionLinenumberEnd: 2981
    functionName: parse_int
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - strtol
    - error
    linkageType: ''
    returnType: int
    signature: "int parse_int(const char *argname, const char *string, char **endpp,\n
      \   int minval, int maxval, int base)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:2997,1
    - Dst: strtoul
      Src: /src/tcpdump/tcpdump.c:3001,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:3010,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:3019,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 6
    argNames:
    - argname
    - string
    - endpp
    - minval
    - maxval
    - base
    argTypes:
    - char*
    - char*
    - char**
    - u_int
    - u_int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3029
      start: 2983
    functionDepth: 0
    functionLinenumber: 2983
    functionLinenumberEnd: 3029
    functionName: parse_u_int
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - strtoul
    - error
    linkageType: ''
    returnType: u_int
    signature: "u_int parse_u_int(const char *argname, const char *string, char **endpp,\n
      \   u_int minval, u_int maxval, int base)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoimax
      Src: /src/tcpdump/tcpdump.c:3039,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:3048,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:3057,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 6
    argNames:
    - argname
    - string
    - endpp
    - minval
    - maxval
    - base
    argTypes:
    - char*
    - char*
    - char**
    - int64_t
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3067
      start: 3031
    functionDepth: 0
    functionLinenumber: 3031
    functionLinenumberEnd: 3067
    functionName: parse_int64
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - error
    - strtoimax
    linkageType: ''
    returnType: int64_t
    signature: "int64_t parse_int64(const char *argname, const char *string, char
      **endpp,\n    int64_t minval, int64_t maxval, int base)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/tcpdump/tcpdump.c:3076,1
    - Dst: memset
      Src: /src/tcpdump/tcpdump.c:3080,1
    - Dst: sigaction
      Src: /src/tcpdump/tcpdump.c:3093,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3104
      start: 3072
    functionDepth: 0
    functionLinenumber: 3072
    functionLinenumberEnd: 3104
    functionName: (*setsignal (int sig, void (*func)(int)))(int)
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - memset
    - sigaction
    - signal
    linkageType: ''
    returnType: void
    signature: void (*setsignal (int sig, void (*func)(int)))(int)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DeleteTimerQueueTimer
      Src: /src/tcpdump/tcpdump.c:3112,1
    - Dst: CloseHandle
      Src: /src/tcpdump/tcpdump.c:3113,1
    - Dst: setitimer
      Src: /src/tcpdump/tcpdump.c:3123,1
    - Dst: pcap_breakloop
      Src: /src/tcpdump/tcpdump.c:3133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3107
    functionDepth: 1
    functionLinenumber: 3107
    functionLinenumberEnd: 3134
    functionName: cleanup
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 16
    functionsReached:
    - DeleteTimerQueueTimer
    - setitimer
    - CloseHandle
    - pcap_breakloop
    linkageType: ''
    returnType: void
    signature: void cleanup(int signo _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: waitpid
      Src: /src/tcpdump/tcpdump.c:3144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3145
      start: 3141
    functionDepth: 0
    functionLinenumber: 3141
    functionLinenumberEnd: 3145
    functionName: child_cleanup
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - waitpid
    linkageType: ''
    returnType: void
    signature: void child_cleanup(int signo _U_)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcap_stats
      Src: /src/tcpdump/tcpdump.c:3158,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3159,1
    - Dst: pcap_geterr
      Src: /src/tcpdump/tcpdump.c:3159,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3165,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3167,1
    - Dst: PLURAL_SUFFIX
      Src: /src/tcpdump/tcpdump.c:3168,1
    - Dst: fputs
      Src: /src/tcpdump/tcpdump.c:3170,1
    - Dst: putc
      Src: /src/tcpdump/tcpdump.c:3172,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3173,1
    - Dst: PLURAL_SUFFIX
      Src: /src/tcpdump/tcpdump.c:3174,1
    - Dst: fputs
      Src: /src/tcpdump/tcpdump.c:3176,1
    - Dst: putc
      Src: /src/tcpdump/tcpdump.c:3178,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3179,1
    - Dst: PLURAL_SUFFIX
      Src: /src/tcpdump/tcpdump.c:3180,1
    - Dst: fputs
      Src: /src/tcpdump/tcpdump.c:3183,1
    - Dst: putc
      Src: /src/tcpdump/tcpdump.c:3185,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3186,1
    - Dst: PLURAL_SUFFIX
      Src: /src/tcpdump/tcpdump.c:3187,1
    - Dst: putc
      Src: /src/tcpdump/tcpdump.c:3189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3191
      start: 3148
    functionDepth: 1
    functionLinenumber: 3148
    functionLinenumberEnd: 3191
    functionName: info
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 32
    functionsReached:
    - PLURAL_SUFFIX
    - fputs
    - fprintf
    - pcap_geterr
    - putc
    - pcap_stats
    linkageType: ''
    returnType: void
    signature: void info(int verbose)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3196
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3196
    functionName: fork_subprocess
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fork_subprocess()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3198
      start: 3197
    functionDepth: 0
    functionLinenumber: 3197
    functionLinenumberEnd: 3198
    functionName: fork_subprocess
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fork_subprocess()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fork_subprocess
      Src: /src/tcpdump/tcpdump.c:3204,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3206,1
    - Dst: pcap_strerror
      Src: /src/tcpdump/tcpdump.c:3208,1
    - Dst: setpriority
      Src: /src/tcpdump/tcpdump.c:3221,1
    - Dst: setpriority
      Src: /src/tcpdump/tcpdump.c:3223,1
    - Dst: execlp
      Src: /src/tcpdump/tcpdump.c:3225,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3226,1
    - Dst: pcap_strerror
      Src: /src/tcpdump/tcpdump.c:3228,1
    - Dst: exit
      Src: /src/tcpdump/tcpdump.c:3230,1
    - Dst: _exit
      Src: /src/tcpdump/tcpdump.c:3232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3234
      start: 3199
    functionDepth: 1
    functionLinenumber: 3199
    functionLinenumberEnd: 3234
    functionName: compress_savefile
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - exit
    - execlp
    - _exit
    - fprintf
    - setpriority
    - fork_subprocess
    - pcap_strerror
    linkageType: ''
    returnType: void
    signature: void compress_savefile(const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_dump_close
      Src: /src/tcpdump/tcpdump.c:3243,1
    - Dst: compress_savefile
      Src: /src/tcpdump/tcpdump.c:3250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - dump_info
    argTypes:
    - struct dump_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3252
      start: 3237
    functionDepth: 2
    functionLinenumber: 3237
    functionLinenumberEnd: 3252
    functionName: close_old_dump_file
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - pcap_dump_close
    - compress_savefile
    linkageType: ''
    returnType: void
    signature: void close_old_dump_file(struct dump_info *dump_info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: capng_update
      Src: /src/tcpdump/tcpdump.c:3263,1
    - Dst: capng_apply
      Src: /src/tcpdump/tcpdump.c:3264,1
    - Dst: openat
      Src: /src/tcpdump/tcpdump.c:3267,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:3270,1
    - Dst: fdopen
      Src: /src/tcpdump/tcpdump.c:3272,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:3274,1
    - Dst: pcap_dump_fopen
      Src: /src/tcpdump/tcpdump.c:3276,1
    - Dst: pcap_dump_open
      Src: /src/tcpdump/tcpdump.c:3278,1
    - Dst: capng_update
      Src: /src/tcpdump/tcpdump.c:3281,1
    - Dst: capng_apply
      Src: /src/tcpdump/tcpdump.c:3282,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:3285,1
    - Dst: pcap_geterr
      Src: /src/tcpdump/tcpdump.c:3285,1
    - Dst: set_dumper_capsicum_rights
      Src: /src/tcpdump/tcpdump.c:3287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - dump_info
    argTypes:
    - struct dump_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3289
      start: 3254
    functionDepth: 4
    functionLinenumber: 3254
    functionLinenumberEnd: 3289
    functionName: open_new_dump_file
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - pcap_dump_open
    - fdopen
    - pcap_geterr
    - capng_apply
    - capng_update
    - set_dumper_capsicum_rights
    - pcap_dump_fopen
    - error
    - openat
    linkageType: ''
    returnType: void
    signature: void open_new_dump_file(struct dump_info *dump_info)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/tcpdump/tcpdump.c:3318,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:3319,1
    - Dst: pcap_strerror
      Src: /src/tcpdump/tcpdump.c:3320,1
    - Dst: close_old_dump_file
      Src: /src/tcpdump/tcpdump.c:3331,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3338,1
    - Dst: info
      Src: /src/tcpdump/tcpdump.c:3340,1
    - Dst: exit_tcpdump
      Src: /src/tcpdump/tcpdump.c:3341,1
    - Dst: free
      Src: /src/tcpdump/tcpdump.c:3345,1
    - Dst: malloc
      Src: /src/tcpdump/tcpdump.c:3347,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:3349,1
    - Dst: MakeFilename
      Src: /src/tcpdump/tcpdump.c:3363,1
    - Dst: MakeFilename
      Src: /src/tcpdump/tcpdump.c:3366,1
    - Dst: open_new_dump_file
      Src: /src/tcpdump/tcpdump.c:3368,1
    - Dst: pcap_dump_ftell64
      Src: /src/tcpdump/tcpdump.c:3379,1
    - Dst: pcap_dump_ftell
      Src: /src/tcpdump/tcpdump.c:3387,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:3391,1
    - Dst: close_old_dump_file
      Src: /src/tcpdump/tcpdump.c:3393,1
    - Dst: free
      Src: /src/tcpdump/tcpdump.c:3401,1
    - Dst: malloc
      Src: /src/tcpdump/tcpdump.c:3402,1
    - Dst: error
      Src: /src/tcpdump/tcpdump.c:3404,1
    - Dst: MakeFilename
      Src: /src/tcpdump/tcpdump.c:3405,1
    - Dst: open_new_dump_file
      Src: /src/tcpdump/tcpdump.c:3407,1
    - Dst: pcap_dump
      Src: /src/tcpdump/tcpdump.c:3411,1
    - Dst: pcap_dump_flush
      Src: /src/tcpdump/tcpdump.c:3413,1
    - Dst: pretty_print_packet
      Src: /src/tcpdump/tcpdump.c:3416,1
    - Dst: info
      Src: /src/tcpdump/tcpdump.c:3420,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 3
    argNames:
    - user
    - h
    - sp
    argTypes:
    - u_char*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3421
      start: 3291
    functionDepth: 5
    functionLinenumber: 3291
    functionLinenumberEnd: 3421
    functionName: dump_packet_and_trunc
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - open_new_dump_file
    - info
    - malloc
    - close_old_dump_file
    - pcap_dump
    - fprintf
    - pretty_print_packet
    - MakeFilename
    - exit_tcpdump
    - free
    - pcap_dump_flush
    - time
    - pcap_dump_ftell64
    - error
    - pcap_strerror
    - pcap_dump_ftell
    linkageType: ''
    returnType: void
    signature: void dump_packet_and_trunc(u_char *user, const struct pcap_pkthdr *h,
      const u_char *sp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcap_dump
      Src: /src/tcpdump/tcpdump.c:3437,1
    - Dst: pcap_dump_flush
      Src: /src/tcpdump/tcpdump.c:3439,1
    - Dst: pretty_print_packet
      Src: /src/tcpdump/tcpdump.c:3442,1
    - Dst: info
      Src: /src/tcpdump/tcpdump.c:3446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - user
    - h
    - sp
    argTypes:
    - u_char*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3447
      start: 3423
    functionDepth: 2
    functionLinenumber: 3423
    functionLinenumberEnd: 3447
    functionName: dump_packet
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - info
    - pcap_dump_flush
    - pretty_print_packet
    - pcap_dump
    linkageType: ''
    returnType: void
    signature: void dump_packet(u_char *user, const struct pcap_pkthdr *h, const u_char
      *sp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pretty_print_packet
      Src: /src/tcpdump/tcpdump.c:3457,1
    - Dst: info
      Src: /src/tcpdump/tcpdump.c:3461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - user
    - h
    - sp
    argTypes:
    - u_char*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3462
      start: 3449
    functionDepth: 2
    functionLinenumber: 3449
    functionLinenumberEnd: 3462
    functionName: print_packet
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 4
    functionsReached:
    - info
    - pretty_print_packet
    linkageType: ''
    returnType: void
    signature: void print_packet(u_char *user, const struct pcap_pkthdr *h, const
      u_char *sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: info
      Src: /src/tcpdump/tcpdump.c:3471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3472
      start: 3465
    functionDepth: 2
    functionLinenumber: 3465
    functionLinenumberEnd: 3472
    functionName: requestinfo
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - info
    linkageType: ''
    returnType: void
    signature: void requestinfo(int signo _U_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_dump_flush
      Src: /src/tcpdump/tcpdump.c:3480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - signo
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3481
      start: 3476
    functionDepth: 1
    functionLinenumber: 3476
    functionLinenumberEnd: 3481
    functionName: flushpcap
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - pcap_dump_flush
    linkageType: ''
    returnType: void
    signature: void flushpcap(int signo _U_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3494
      start: 3484
    functionDepth: 0
    functionLinenumber: 3484
    functionLinenumberEnd: 3494
    functionName: print_packets_captured
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_packets_captured (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_packets_captured
      Src: /src/tcpdump/tcpdump.c:3503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - timer_fired
    argTypes:
    - PVOID
    - BOOLEAN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3504
      start: 3500
    functionDepth: 1
    functionLinenumber: 3500
    functionLinenumberEnd: 3504
    functionName: verbose_stats_dump
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - print_packets_captured
    linkageType: ''
    returnType: void
    signature: "void verbose_stats_dump(PVOID param _U_,\n    BOOLEAN timer_fired
      _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_packets_captured
      Src: /src/tcpdump/tcpdump.c:3508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3509
      start: 3506
    functionDepth: 1
    functionLinenumber: 3506
    functionLinenumberEnd: 3509
    functionName: verbose_stats_dump
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - print_packets_captured
    linkageType: ''
    returnType: void
    signature: void verbose_stats_dump(int sig _U_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3516,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3517,1
    - Dst: pcap_lib_version
      Src: /src/tcpdump/tcpdump.c:3517,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3520,1
    - Dst: SSLeay_version
      Src: /src/tcpdump/tcpdump.c:3520,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3524,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3528,1
    - Dst: __has_feature
      Src: /src/tcpdump/tcpdump.c:3530,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3531,1
    - Dst: __has_feature
      Src: /src/tcpdump/tcpdump.c:3532,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3533,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3538
      start: 3512
    functionDepth: 0
    functionLinenumber: 3512
    functionLinenumberEnd: 3538
    functionName: print_version
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 1
    functionsReached:
    - fprintf
    - pcap_lib_version
    - __has_feature
    - SSLeay_version
    linkageType: ''
    returnType: DIAG_OFF_DEPRECATION
    signature: DIAG_OFF_DEPRECATION print_version(FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_version
      Src: /src/tcpdump/tcpdump.c:3544,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3545,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3548,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3550,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3552,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3555,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3558,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3560,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3562,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3564,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3567,1
    - Dst: fprintf
      Src: /src/tcpdump/tcpdump.c:3570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3572
      start: 3539
    functionDepth: 1
    functionLinenumber: 3539
    functionLinenumberEnd: 3572
    functionName: print_usage
    functionSourceFile: /src/tcpdump/tcpdump.c
    functionUses: 0
    functionsReached:
    - print_version
    - fprintf
    linkageType: ''
    returnType: DIAG_ON_DEPRECATION
    signature: DIAG_ON_DEPRECATION print_usage(FILE *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-beep.c:32,1
    - Dst: strncmp
      Src: /src/tcpdump/print-beep.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ndo
    - tstr1
    - tl1
    - str2
    - l2
    argTypes:
    - netdissect_options*
    - char*
    - u_int
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: l_strnstart
    functionSourceFile: /src/tcpdump/print-beep.c
    functionUses: 0
    functionsReached:
    - strncmp
    - ND_TTEST_LEN
    linkageType: ''
    returnType: int
    signature: "int l_strnstart(netdissect_options *ndo, const char *tstr1, u_int
      tl1,\n    const char *str2, u_int l2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: l_strnstart
      Src: /src/tcpdump/print-beep.c:51,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-beep.c:52,1
    - Dst: l_strnstart
      Src: /src/tcpdump/print-beep.c:53,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-beep.c:54,1
    - Dst: l_strnstart
      Src: /src/tcpdump/print-beep.c:55,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-beep.c:56,1
    - Dst: l_strnstart
      Src: /src/tcpdump/print-beep.c:57,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-beep.c:58,1
    - Dst: l_strnstart
      Src: /src/tcpdump/print-beep.c:59,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-beep.c:60,1
    - Dst: l_strnstart
      Src: /src/tcpdump/print-beep.c:61,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-beep.c:62,1
    - Dst: l_strnstart
      Src: /src/tcpdump/print-beep.c:63,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-beep.c:64,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-beep.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: beep_print
    functionSourceFile: /src/tcpdump/print-beep.c
    functionUses: 1
    functionsReached:
    - l_strnstart
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void beep_print(netdissect_options *ndo, const u_char *bp, u_int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: ntohl
    functionSourceFile: /src/tcpdump/netdissect-stdinc.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ntohl(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: ntohs
    functionSourceFile: /src/tcpdump/netdissect-stdinc.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ntohs(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: htonl
    functionSourceFile: /src/tcpdump/netdissect-stdinc.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htonl(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: htons
    functionSourceFile: /src/tcpdump/netdissect-stdinc.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htons(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: __ntohl
    functionSourceFile: /src/tcpdump/netdissect-stdinc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long __ntohl (unsigned long x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: __ntohs
    functionSourceFile: /src/tcpdump/netdissect-stdinc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short __ntohs (unsigned short x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-unsupported.c:30,1
    - Dst: hex_and_ascii_print
      Src: /src/tcpdump/print-unsupported.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: unsupported_if_print
    functionSourceFile: /src/tcpdump/print-unsupported.c
    functionUses: 0
    functionsReached:
    - nd_print_protocol_caps
    - hex_and_ascii_print
    linkageType: ''
    returnType: void
    signature: "void unsupported_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h,\n\t\t     const u_char *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: RSTP_EXTRACT_PORT_ROLE
    functionSourceFile: /src/tcpdump/print-stp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RSTP_EXTRACT_PORT_ROLE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-stp.c:90,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:92,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:92,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:92,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:93,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:93,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:93,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:94,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: stp_print_bridge_id
    functionSourceFile: /src/tcpdump/print-stp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      stp_print_bridge_id(netdissect_options *ndo, const u_char *p)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:105,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:106,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-stp.c:107,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:109,1
    - Dst: stp_print_bridge_id
      Src: /src/tcpdump/print-stp.c:110,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:111,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:118,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:120,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:121,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:122,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:123,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:125,1
    - Dst: stp_print_bridge_id
      Src: /src/tcpdump/print-stp.c:126,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:127,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:130,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:131,1
    - Dst: tok2str
      Src: /src/tcpdump/print-stp.c:132,1
    - Dst: RSTP_EXTRACT_PORT_ROLE
      Src: /src/tcpdump/print-stp.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ndo
    - stp_bpdu
    - length
    argTypes:
    - netdissect_options*
    - struct stp_bpdu_*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: stp_print_config_bpdu
    functionSourceFile: /src/tcpdump/print-stp.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - GET_U_1
    - stp_print_bridge_id
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    - RSTP_EXTRACT_PORT_ROLE
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void stp_print_config_bpdu(netdissect_options *ndo, const struct stp_bpdu_
      *stp_bpdu,\n                      u_int length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:244,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:245,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-stp.c:246,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:255,1
    - Dst: tok2str
      Src: /src/tcpdump/print-stp.c:256,1
    - Dst: RSTP_EXTRACT_PORT_ROLE
      Src: /src/tcpdump/print-stp.c:257,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:259,1
    - Dst: stp_print_bridge_id
      Src: /src/tcpdump/print-stp.c:260,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:261,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:263,1
    - Dst: stp_print_bridge_id
      Src: /src/tcpdump/print-stp.c:264,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:266,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:266,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:268,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:270,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:271,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:272,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:273,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:275,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:275,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:276,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-stp.c:277,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:278,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:280,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:281,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:282,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:283,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:284,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:286,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:287,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:289,1
    - Dst: stp_print_bridge_id
      Src: /src/tcpdump/print-stp.c:290,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:292,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:293,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:296,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:301,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:304,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-stp.c:306,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:306,1
    - Dst: tok2str
      Src: /src/tcpdump/print-stp.c:307,1
    - Dst: RSTP_EXTRACT_PORT_ROLE
      Src: /src/tcpdump/print-stp.c:308,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:308,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:309,1
    - Dst: stp_print_bridge_id
      Src: /src/tcpdump/print-stp.c:310,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:312,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:313,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:314,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:315,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 3
    argNames:
    - ndo
    - stp_bpdu
    - length
    argTypes:
    - netdissect_options*
    - struct stp_bpdu_*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 322
    functionName: stp_print_mstp_bpdu
    functionSourceFile: /src/tcpdump/print-stp.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - GET_U_1
    - stp_print_bridge_id
    - GET_BE_U_2
    - nd_printjnp
    - ND_PRINT
    - tok2str
    - RSTP_EXTRACT_PORT_ROLE
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void stp_print_mstp_bpdu(netdissect_options *ndo, const struct stp_bpdu_
      *stp_bpdu,\n                    u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:339,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:339,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:340,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-stp.c:341,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:342,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:343,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:344,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:345,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:346,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:347,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:349,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:353,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:354,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:355,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:356,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:357,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:358,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:359,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:360,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:361,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:362,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:363,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:364,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:365,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-stp.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - stp_bpdu
    - offset
    argTypes:
    - netdissect_options*
    - struct stp_bpdu_*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 367
    functionName: stp_print_spb_bpdu
    functionSourceFile: /src/tcpdump/print-stp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - nd_printjnp
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void stp_print_spb_bpdu(netdissect_options *ndo, const struct stp_bpdu_
      *stp_bpdu,\n                   u_int offset)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:388,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:389,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:393,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:394,1
    - Dst: tok2str
      Src: /src/tcpdump/print-stp.c:394,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:407,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-stp.c:408,1
    - Dst: tok2str
      Src: /src/tcpdump/print-stp.c:408,1
    - Dst: stp_print_config_bpdu
      Src: /src/tcpdump/print-stp.c:416,1
    - Dst: stp_print_config_bpdu
      Src: /src/tcpdump/print-stp.c:424,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-stp.c:431,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:437,1
    - Dst: stp_print_mstp_bpdu
      Src: /src/tcpdump/print-stp.c:442,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-stp.c:446,1
    - Dst: stp_print_spb_bpdu
      Src: /src/tcpdump/print-stp.c:452,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-stp.c:467,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 468
    functionName: stp_print
    functionSourceFile: /src/tcpdump/print-stp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - stp_print_spb_bpdu
    - stp_print_config_bpdu
    - ND_PRINT
    - nd_print_invalid
    - stp_print_mstp_bpdu
    - tok2str
    linkageType: ''
    returnType: void
    signature: void stp_print(netdissect_options *ndo, const u_char *p, u_int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - trp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: IS_SOURCE_ROUTED
    functionSourceFile: /src/tcpdump/print-token.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SOURCE_ROUTED(trp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - trp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: FRAME_TYPE
    functionSourceFile: /src/tcpdump/print-token.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FRAME_TYPE(trp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - trp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: BROADCAST
    functionSourceFile: /src/tcpdump/print-token.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BROADCAST(trp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - trp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: RIF_LENGTH
    functionSourceFile: /src/tcpdump/print-token.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RIF_LENGTH(trp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - trp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: DIRECTION
    functionSourceFile: /src/tcpdump/print-token.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIRECTION(trp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - trp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: LARGEST_FRAME
    functionSourceFile: /src/tcpdump/print-token.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LARGEST_FRAME(trp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - trp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: RING_NUMBER
    functionSourceFile: /src/tcpdump/print-token.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RING_NUMBER(trp, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - trp
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: BRIDGE_NUMBER
    functionSourceFile: /src/tcpdump/print-token.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BRIDGE_NUMBER(trp, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - trp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: SEGMENT_COUNT
    functionSourceFile: /src/tcpdump/print-token.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEGMENT_COUNT(trp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tcpdump/print-token.c:95,1
    - Dst: memcpy
      Src: /src/tcpdump/print-token.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - trp
    - fsrc
    - fdst
    argTypes:
    - struct token_header*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: extract_token_addrs
    functionSourceFile: /src/tcpdump/print-token.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void extract_token_addrs(const struct token_header *trp, char *fsrc,
      char *fdst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mac48_string
      Src: /src/tcpdump/print-token.c:109,1
    - Dst: mac48_string
      Src: /src/tcpdump/print-token.c:110,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-token.c:113,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-token.c:114,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-token.c:115,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-token.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ndo
    - trp
    - length
    - fsrc
    - fdst
    argTypes:
    - netdissect_options*
    - struct token_header*
    - u_int
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: token_hdr_print
    functionSourceFile: /src/tcpdump/print-token.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - mac48_string
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void token_hdr_print(netdissect_options *ndo,\n                const
      struct token_header *trp, u_int length,\n                const u_char *fsrc,
      const u_char *fdst)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-token.c:157,1
    - Dst: extract_token_addrs
      Src: /src/tcpdump/print-token.c:164,1
    - Dst: IS_SOURCE_ROUTED
      Src: /src/tcpdump/print-token.c:167,1
    - Dst: token_hdr_print
      Src: /src/tcpdump/print-token.c:172,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-token.c:175,1
    - Dst: RIF_LENGTH
      Src: /src/tcpdump/print-token.c:178,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-token.c:181,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-token.c:185,1
    - Dst: BROADCAST
      Src: /src/tcpdump/print-token.c:185,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-token.c:186,1
    - Dst: DIRECTION
      Src: /src/tcpdump/print-token.c:186,1
    - Dst: SEGMENT_COUNT
      Src: /src/tcpdump/print-token.c:188,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-token.c:189,1
    - Dst: RING_NUMBER
      Src: /src/tcpdump/print-token.c:189,1
    - Dst: BRIDGE_NUMBER
      Src: /src/tcpdump/print-token.c:190,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-token.c:192,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-token.c:192,1
    - Dst: SEGMENT_COUNT
      Src: /src/tcpdump/print-token.c:194,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-token.c:195,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-token.c:196,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-token.c:198,1
    - Dst: LARGEST_FRAME
      Src: /src/tcpdump/print-token.c:198,1
    - Dst: token_hdr_print
      Src: /src/tcpdump/print-token.c:201,1
    - Dst: FRAME_TYPE
      Src: /src/tcpdump/print-token.c:215,1
    - Dst: llc_print
      Src: /src/tcpdump/print-token.c:217,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-token.c:221,1
    - Dst: token_hdr_print
      Src: /src/tcpdump/print-token.c:229,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-token.c:232,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 4
    argNames:
    - ndo
    - p
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 235
    functionName: token_print
    functionSourceFile: /src/tcpdump/print-token.c
    functionUses: 0
    functionsReached:
    - BROADCAST
    - RING_NUMBER
    - BRIDGE_NUMBER
    - LARGEST_FRAME
    - FRAME_TYPE
    - nd_print_trunc
    - DIRECTION
    - token_hdr_print
    - GET_BE_U_2
    - ND_PRINT
    - SEGMENT_COUNT
    - ND_DEFAULTPRINT
    - RIF_LENGTH
    - IS_SOURCE_ROUTED
    - llc_print
    - extract_token_addrs
    linkageType: ''
    returnType: u_int
    signature: u_int token_print(netdissect_options *ndo, const u_char *p, u_int length,
      u_int caplen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: token_print
      Src: /src/tcpdump/print-token.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: token_if_print
    functionSourceFile: /src/tcpdump/print-token.c
    functionUses: 0
    functionsReached:
    - token_print
    linkageType: ''
    returnType: void
    signature: void token_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: TELCMD_OK
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TELCMD_OK(x)
  - 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: TELCMD
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TELCMD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: TELOPT_OK
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TELOPT_OK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: TELOPT
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TELOPT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: SLC_NAME_OK
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLC_NAME_OK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: SLC_NAME
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLC_NAME(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: AUTHTYPE_NAME_OK
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUTHTYPE_NAME_OK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: AUTHTYPE_NAME
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUTHTYPE_NAME(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: ENCRYPT_NAME_OK
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCRYPT_NAME_OK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 335
    functionName: ENCRYPT_NAME
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCRYPT_NAME(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: ENCTYPE_NAME_OK
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCTYPE_NAME_OK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: ENCTYPE_NAME
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCTYPE_NAME(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - tab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: STR_OR_ID
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_OR_ID(x, tab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-telnet.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: numstr
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      numstr(int x)'
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: FETCH
      Src: /src/tcpdump/print-telnet.c:395,1
    - Dst: FETCH
      Src: /src/tcpdump/print-telnet.c:398,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:401,1
    - Dst: FETCH
      Src: /src/tcpdump/print-telnet.c:416,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:419,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:422,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-telnet.c:429,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-telnet.c:429,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-telnet.c:433,1
    - Dst: FETCH
      Src: /src/tcpdump/print-telnet.c:440,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:442,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-telnet.c:442,1
    - Dst: FETCH
      Src: /src/tcpdump/print-telnet.c:445,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:447,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-telnet.c:447,1
    - Dst: FETCH
      Src: /src/tcpdump/print-telnet.c:452,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:454,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-telnet.c:454,1
    - Dst: FETCH
      Src: /src/tcpdump/print-telnet.c:457,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:459,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-telnet.c:459,1
    - Dst: FETCH
      Src: /src/tcpdump/print-telnet.c:464,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:466,1
    - Dst: STR_OR_ID
      Src: /src/tcpdump/print-telnet.c:466,1
    - Dst: FETCH
      Src: /src/tcpdump/print-telnet.c:470,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:472,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:476,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:481,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 96
    argCount: 4
    argNames:
    - ndo
    - sp
    - length
    - print
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 491
    functionName: telnet_parse
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    - FETCH
    - STR_OR_ID
    linkageType: ''
    returnType: int
    signature: int telnet_parse(netdissect_options *ndo, const u_char *sp, u_int length,
      int print)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - sp
    - ','
    - length
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: FETCH
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FETCH(c, sp, length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-telnet.c:503,1
    - Dst: telnet_parse
      Src: /src/tcpdump/print-telnet.c:508,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:517,1
    - Dst: hex_print_with_offset
      Src: /src/tcpdump/print-telnet.c:518,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:520,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:522,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:524,1
    - Dst: telnet_parse
      Src: /src/tcpdump/print-telnet.c:526,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:534,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-telnet.c:536,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - ndo
    - sp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 538
    functionName: telnet_print
    functionSourceFile: /src/tcpdump/print-telnet.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - hex_print_with_offset
    - ND_PRINT
    - telnet_parse
    linkageType: ''
    returnType: void
    signature: void telnet_print(netdissect_options *ndo, const u_char *sp, u_int
      length)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:256,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:265,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:266,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:267,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:276,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:277,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:278,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:296,1
    - Dst: tok2str
      Src: /src/tcpdump/print-slow.c:297,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:298,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:302,1
    - Dst: tok2str
      Src: /src/tcpdump/print-slow.c:303,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-slow.c:309,1
    - Dst: slow_ossp_print
      Src: /src/tcpdump/print-slow.c:324,1
    - Dst: slow_oam_print
      Src: /src/tcpdump/print-slow.c:331,1
    - Dst: slow_marker_lacp_print
      Src: /src/tcpdump/print-slow.c:339,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:346,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:348,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 72
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 349
    functionName: slow_print
    functionSourceFile: /src/tcpdump/print-slow.c
    functionUses: 1
    functionsReached:
    - slow_oam_print
    - print_unknown_data
    - slow_marker_lacp_print
    - slow_ossp_print
    - GET_U_1
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void slow_print(netdissect_options *ndo,\n           const u_char
      *pptr, u_int len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:373,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:374,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:376,1
    - Dst: tok2str
      Src: /src/tcpdump/print-slow.c:377,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:393,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-slow.c:402,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:414,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:421,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-slow.c:423,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-slow.c:424,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-slow.c:425,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-slow.c:426,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-slow.c:427,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-slow.c:428,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:430,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:437,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:444,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-slow.c:445,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:452,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:459,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-slow.c:460,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-slow.c:461,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-slow.c:462,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-slow.c:468,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-slow.c:475,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:485,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 4
    argNames:
    - ndo
    - tptr
    - tlen
    - proto_subtype
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 486
    functionName: slow_marker_lacp_print
    functionSourceFile: /src/tcpdump/print-slow.c
    functionUses: 1
    functionsReached:
    - bittok2str
    - print_unknown_data
    - GET_U_1
    - GET_BE_U_2
    - GET_MAC48_STRING
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void slow_marker_lacp_print(netdissect_options *ndo,\n                       const
      u_char *tptr, u_int tlen,\n                       u_int proto_subtype)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-slow.c:524,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:528,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:529,1
    - Dst: tok2str
      Src: /src/tcpdump/print-slow.c:530,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-slow.c:531,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-slow.c:533,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-slow.c:541,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:542,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:543,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:544,1
    - Dst: tok2str
      Src: /src/tcpdump/print-slow.c:545,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:559,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-slow.c:566,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:574,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:576,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:582,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:583,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-slow.c:584,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:586,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:587,1
    - Dst: tok2str
      Src: /src/tcpdump/print-slow.c:588,1
    - Dst: tok2str
      Src: /src/tcpdump/print-slow.c:590,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:592,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-slow.c:593,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:594,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-slow.c:595,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:597,1
    - Dst: tok2str
      Src: /src/tcpdump/print-slow.c:598,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-slow.c:599,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-slow.c:600,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-slow.c:601,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-slow.c:616,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:629,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-slow.c:629,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:638,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:639,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:640,1
    - Dst: tok2str
      Src: /src/tcpdump/print-slow.c:641,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:656,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-slow.c:663,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:673,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:675,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:681,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-slow.c:686,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-slow.c:687,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-slow.c:688,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-slow.c:689,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-slow.c:690,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-slow.c:691,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-slow.c:706,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-slow.c:719,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:720,1
    - Dst: tok2str
      Src: /src/tcpdump/print-slow.c:721,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-slow.c:738,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:745,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 145
    argCount: 3
    argNames:
    - ndo
    - tptr
    - tlen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 746
    functionName: slow_oam_print
    functionSourceFile: /src/tcpdump/print-slow.c
    functionUses: 1
    functionsReached:
    - bittok2str
    - print_unknown_data
    - GET_U_1
    - GET_BE_U_8
    - GET_BE_U_4
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_3
    - ND_TCHECK_LEN
    - tok2str
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void slow_oam_print(netdissect_options *ndo,\n               const
      u_char *tptr, u_int tlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-slow.c:757,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-slow.c:759,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-slow.c:760,1
    - Dst: tok2str
      Src: /src/tcpdump/print-slow.c:761,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-slow.c:766,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-slow.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - tptr
    - tlen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 772
    functionName: slow_ossp_print
    functionSourceFile: /src/tcpdump/print-slow.c
    functionUses: 1
    functionsReached:
    - print_unknown_data
    - ND_ICHECKMSG_U
    - ND_PRINT
    - GET_BE_U_3
    - nd_print_invalid
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void slow_ossp_print(netdissect_options *ndo,\n                const
      u_char *tptr, u_int tlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - accum
    - p
    - length
    argTypes:
    - uint16_t
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: verify_crc10_cksum
    functionSourceFile: /src/tcpdump/checksum.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t verify_crc10_cksum(uint16_t accum, const u_char *p, int length)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - pptr
    - checksum_offset
    - length
    argTypes:
    - uint8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 153
    functionName: create_osi_cksum
    functionSourceFile: /src/tcpdump/checksum.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t create_osi_cksum (const uint8_t *pptr, int checksum_offset,
      int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: __has_attribute
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_attribute(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: ND_IS_AT_LEAST_GNUC_VERSION
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_IS_AT_LEAST_GNUC_VERSION(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: ND_IS_AT_LEAST_GNUC_VERSION
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_IS_AT_LEAST_GNUC_VERSION(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: ND_IS_AT_LEAST_CLANG_VERSION
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_IS_AT_LEAST_CLANG_VERSION(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: ND_IS_AT_LEAST_CLANG_VERSION
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_IS_AT_LEAST_CLANG_VERSION(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: ND_IS_AT_LEAST_SUNC_VERSION
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_IS_AT_LEAST_SUNC_VERSION(major,minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: ND_SUNPRO_VERSION_TO_BCD
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_SUNPRO_VERSION_TO_BCD(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: ND_IS_AT_LEAST_SUNC_VERSION
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_IS_AT_LEAST_SUNC_VERSION(major,minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: ND_IS_AT_LEAST_XL_C_VERSION
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_IS_AT_LEAST_XL_C_VERSION(major,minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - modification
    - ','
    - fixlevel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: ND_IS_AT_LEAST_XL_C_MODFIX
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_IS_AT_LEAST_XL_C_MODFIX(modification, fixlevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: ND_IS_AT_LEAST_XL_C_VERSION
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_IS_AT_LEAST_XL_C_VERSION(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - modification
    - ','
    - fixlevel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: ND_IS_AT_LEAST_XL_C_MODFIX
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_IS_AT_LEAST_XL_C_MODFIX(modification, fixlevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: ND_IS_AT_LEAST_XL_C_VERSION
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_IS_AT_LEAST_XL_C_VERSION(major, minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - modification
    - ','
    - fixlevel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: ND_IS_AT_LEAST_XL_C_MODFIX
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_IS_AT_LEAST_XL_C_MODFIX(modification, fixlevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: ND_IS_AT_LEAST_HP_C_VERSION
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_IS_AT_LEAST_HP_C_VERSION(major,minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: ND_IS_AT_LEAST_HP_C_VERSION
    functionSourceFile: /src/tcpdump/compiler-tests.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND_IS_AT_LEAST_HP_C_VERSION(major,minor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-openflow-1.0.c:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - vid
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 683
    functionName: vlan_str
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      vlan_str(const uint16_t vid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-openflow-1.0.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pcp
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 692
    functionName: pcp_str
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      pcp_str(const uint8_t pcp)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:700,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:701,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:703,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:704,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:705,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:705,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:720,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:722,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:722,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:723,1
    - Dst: ND_TCHECK_7
      Src: /src/tcpdump/print-openflow-1.0.c:726,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:742,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:744,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:744,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:745,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:747,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:749,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-openflow-1.0.c:749,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:764,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:766,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:767,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:767,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:768,1
    - Dst: ND_TCHECK_3
      Src: /src/tcpdump/print-openflow-1.0.c:771,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:786,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:799,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:801,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:801,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:816,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:818,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:818,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:819,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:821,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-openflow-1.0.c:822,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:823,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:838,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-openflow-1.0.c:839,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:840,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:853,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:855,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:855,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:858,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:863,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:864,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 865
    functionName: of10_bsn_message_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - nd_printjn
    - nd_print_invalid
    - GET_U_1
    - ND_TCHECK_7
    - ND_PRINT
    - ND_TCHECK_3
    - ND_TCHECK_LEN
    - tok2str
    - ND_ICHECK_U
    - GET_BE_U_4
    - OF_FWD
    linkageType: ''
    returnType: void
    signature: "void of10_bsn_message_print(netdissect_options *ndo,\n                       const
      u_char *cp, u_int len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:873,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:874,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:876,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:877,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:878,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:878,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:895,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:897,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:897,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:898,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:900,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:901,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:904,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:907,1
    - Dst: ieee8021q_tci_string
      Src: /src/tcpdump/print-openflow-1.0.c:907,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:910,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:913,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:914,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:914,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:915,1
    - Dst: ND_TCHECK_3
      Src: /src/tcpdump/print-openflow-1.0.c:918,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:921,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:926,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:927,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 928
    functionName: of10_bsn_actions_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - nd_print_invalid
    - GET_U_1
    - ieee8021q_tci_string
    - ND_PRINT
    - ND_TCHECK_3
    - ND_TCHECK_LEN
    - tok2str
    - ND_ICHECK_U
    - GET_BE_U_4
    - OF_FWD
    linkageType: ''
    returnType: void
    signature: "void of10_bsn_actions_print(netdissect_options *ndo,\n                       const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:937,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:939,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:940,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:941,1
    - Dst: of_vendor_name
      Src: /src/tcpdump/print-openflow-1.0.c:941,1
    - Dst: decoder
      Src: /src/tcpdump/print-openflow-1.0.c:946,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:950,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 952
    functionName: of10_vendor_action_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - decoder
    - ND_PRINT
    - of_vendor_name
    - nd_print_invalid
    - ND_ICHECK_U
    - OF_FWD
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_vendor_action_print(netdissect_options *ndo,\n                         const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:963,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:964,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:965,1
    - Dst: of_vendor_name
      Src: /src/tcpdump/print-openflow-1.0.c:965,1
    - Dst: decoder
      Src: /src/tcpdump/print-openflow-1.0.c:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 971
    functionName: of10_vendor_message_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - decoder
    - ND_PRINT
    - of_vendor_name
    - OF_FWD
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_vendor_message_print(netdissect_options *ndo,\n                          const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:980,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:982,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:983,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:984,1
    - Dst: of_vendor_name
      Src: /src/tcpdump/print-openflow-1.0.c:984,1
    - Dst: of_data_print
      Src: /src/tcpdump/print-openflow-1.0.c:986,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:990,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 992
    functionName: of10_vendor_data_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - of_data_print
    - ND_PRINT
    - of_vendor_name
    - nd_print_invalid
    - ND_ICHECK_U
    - OF_FWD
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_vendor_data_print(netdissect_options *ndo,\n                       const
      u_char *cp, u_int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1001,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1003,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1007,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-openflow-1.0.c:1017,1
    - Dst: ether_print
      Src: /src/tcpdump/print-openflow-1.0.c:1018,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-openflow-1.0.c:1018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 994
    functionDepth: 5
    functionLinenumber: 994
    functionLinenumberEnd: 1021
    functionName: of10_packet_data_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - ether_print
    - ND_BYTES_AVAILABLE_AFTER
    - ND_TCHECK_LEN
    - ND_MIN
    linkageType: ''
    returnType: void
    signature: "void of10_packet_data_print(netdissect_options *ndo,\n                       const
      u_char *cp, const u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1031,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1032,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1032,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1035,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-openflow-1.0.c:1035,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1038,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-openflow-1.0.c:1039,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1040,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1044,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1048,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1048,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.0.c:1049,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1049,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1052,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1058,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1059,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1064,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1064,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.0.c:1065,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1065,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1068,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1068,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.0.c:1069,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1069,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1072,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1072,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.0.c:1073,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1073,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1076,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1076,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.0.c:1077,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1078
    functionName: of10_phy_port_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - GET_MAC48_STRING
    - nd_printjnp
    - ND_PRINT
    - ND_TCHECK_LEN
    - of_bitmap_print
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_phy_port_print(netdissect_options *ndo,\n                    const
      u_char *cp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1089,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.0.c:1090,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1092,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1093,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1094,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1094,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1096,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1097,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1098,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.0.c:1099,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.0.c:1100,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1103,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1116,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1124,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1129,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1130,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1132,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1134,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1137,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:1143,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1145
    functionName: of10_queue_props_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - ND_ICHECKMSG_U
    - OF_CHK_FWD
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - tok2str
    - OF_FWD
    linkageType: ''
    returnType: void
    signature: "void of10_queue_props_print(netdissect_options *ndo,\n                       const
      u_char *cp, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1155,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.0.c:1156,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1158,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1158,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1159,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1161,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1162,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1163,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.0.c:1164,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.0.c:1165,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1168,1
    - Dst: of10_queue_props_print
      Src: /src/tcpdump/print-openflow-1.0.c:1171,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1173,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1174,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:1179,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1148
    functionDepth: 2
    functionLinenumber: 1148
    functionLinenumberEnd: 1181
    functionName: of10_queues_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - ND_ICHECKMSG_U
    - OF_CHK_FWD
    - nd_print_invalid
    - GET_BE_U_2
    - ND_PRINT
    - of10_queue_props_print
    - ND_TCHECK_LEN
    - OF_FWD
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_queues_print(netdissect_options *ndo,\n                  const
      u_char *cp, u_int len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1195,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1197,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1201,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1202,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1202,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1206,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-openflow-1.0.c:1206,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1210,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-openflow-1.0.c:1210,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1214,1
    - Dst: vlan_str
      Src: /src/tcpdump/print-openflow-1.0.c:1214,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1214,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1218,1
    - Dst: pcp_str
      Src: /src/tcpdump/print-openflow-1.0.c:1218,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:1218,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1223,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1226,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1229,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:1229,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:1232,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1237,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1244,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-openflow-1.0.c:1244,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1249,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-openflow-1.0.c:1249,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1256,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1256,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1265,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1265,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-openflow-1.0.c:1267,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 3
    argNames:
    - ndo
    - pfx
    - cp
    argTypes:
    - netdissect_options*
    - char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1268
    functionName: of10_match_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ND_TCHECK_2
    - GET_U_1
    - pcp_str
    - GET_BE_U_2
    - GET_MAC48_STRING
    - vlan_str
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_match_print(netdissect_options *ndo,\n                 const
      char *pfx, const u_char *cp)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1279,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.0.c:1280,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1282,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1283,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1284,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1284,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1286,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1287,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1288,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:1297,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:1298,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1328,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1336,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1343,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1344,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1345,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1345,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1348,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1348,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-openflow-1.0.c:1350,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1351,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1355,1
    - Dst: vlan_str
      Src: /src/tcpdump/print-openflow-1.0.c:1355,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1355,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1356,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1359,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1363,1
    - Dst: pcp_str
      Src: /src/tcpdump/print-openflow-1.0.c:1363,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:1363,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1364,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1367,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1372,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-openflow-1.0.c:1372,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1373,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1376,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1381,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-openflow-1.0.c:1381,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1382,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1386,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:1386,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1387,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1390,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1395,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1395,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1396,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1399,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1403,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1404,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1404,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1405,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1407,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1409,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1410,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1410,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1411,1
    - Dst: of10_vendor_action_print
      Src: /src/tcpdump/print-openflow-1.0.c:1414,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1415,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1420,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:1427,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1428,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 106
    argCount: 4
    argNames:
    - ndo
    - pfx
    - cp
    - len
    argTypes:
    - netdissect_options*
    - char*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1271
    functionDepth: 2
    functionLinenumber: 1271
    functionLinenumberEnd: 1429
    functionName: of10_actions_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ND_TCHECK_LEN
    - ND_ICHECKMSG_U
    - OF_CHK_FWD
    - ND_TCHECK_2
    - GET_U_1
    - pcp_str
    - GET_BE_U_2
    - GET_MAC48_STRING
    - vlan_str
    - ND_PRINT
    - ND_ICHECK_U
    - nd_print_invalid
    - tok2str
    - of10_vendor_action_print
    - OF_FWD
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_actions_print(netdissect_options *ndo,\n                   const
      char *pfx, const u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1437,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1437,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1438,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1440,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1440,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1441,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1443,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:1443,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1444,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1446,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1448,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1448,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.0.c:1449,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1449,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1450,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1452,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1452,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.0.c:1453,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1453,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1454,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.0.c:1457,1
    - Dst: of10_phy_port_print
      Src: /src/tcpdump/print-openflow-1.0.c:1458,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1459,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:1464,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1432
    functionDepth: 2
    functionLinenumber: 1432
    functionLinenumberEnd: 1466
    functionName: of10_features_reply_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - of10_phy_port_print
    - ND_TCHECK_LEN
    - ND_ICHECKMSG_U
    - GET_U_1
    - GET_BE_U_8
    - ND_PRINT
    - nd_print_invalid
    - of_bitmap_print
    - OF_FWD
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_features_reply_print(netdissect_options *ndo,\n                          const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1474,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1475,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1475,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1478,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1479
    functionName: of10_switch_config_msg_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void of10_switch_config_msg_print(netdissect_options *ndo,\n                             const
      u_char *cp, u_int len _U_)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: of10_match_print
      Src: /src/tcpdump/print-openflow-1.0.c:1489,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1490,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1492,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1492,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1493,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1495,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1496,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1496,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1497,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1499,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1500,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1500,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1501,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1503,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1504,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1504,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1505,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1507,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1508,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1508,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1509,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1513,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1514,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1514,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1515,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1518,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1519,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1519,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1520,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1522,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1522,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.0.c:1523,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1523,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1524,1
    - Dst: of10_actions_print
      Src: /src/tcpdump/print-openflow-1.0.c:1526,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1482
    functionDepth: 3
    functionLinenumber: 1482
    functionLinenumberEnd: 1527
    functionName: of10_flow_mod_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - of10_match_print
    - GET_BE_U_8
    - GET_BE_U_2
    - ND_PRINT
    - of_bitmap_print
    - tok2str
    - OF_FWD
    - GET_BE_U_4
    - of10_actions_print
    linkageType: ''
    returnType: void
    signature: "void of10_flow_mod_print(netdissect_options *ndo,\n                    const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1535,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1535,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1535,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1538,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-openflow-1.0.c:1538,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1541,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1541,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.0.c:1542,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1542,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1545,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1545,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.0.c:1546,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1546,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1549,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1549,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.0.c:1550,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1550,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-openflow-1.0.c:1554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1555
    functionName: of10_port_mod_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - GET_MAC48_STRING
    - ND_PRINT
    - of_bitmap_print
    - tok2str
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_port_mod_print(netdissect_options *ndo,\n                    const
      u_char *cp, u_int len _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1563,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1563,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1563,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-openflow-1.0.c:1567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1558
    functionDepth: 1
    functionLinenumber: 1558
    functionLinenumberEnd: 1568
    functionName: of10_queue_get_config_request_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - tok2str
    - ND_PRINT
    - ND_TCHECK_2
    linkageType: ''
    returnType: void
    signature: "void of10_queue_get_config_request_print(netdissect_options *ndo,\n
      \                                   const u_char *cp, u_int len _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1576,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1576,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1576,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1577,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1580,1
    - Dst: of10_queues_print
      Src: /src/tcpdump/print-openflow-1.0.c:1582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1571
    functionDepth: 3
    functionLinenumber: 1571
    functionLinenumberEnd: 1583
    functionName: of10_queue_get_config_reply_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - OF_CHK_FWD
    - GET_BE_U_2
    - ND_PRINT
    - of10_queues_print
    - tok2str
    - OF_FWD
    linkageType: ''
    returnType: void
    signature: "void of10_queue_get_config_reply_print(netdissect_options *ndo,\n
      \                                 const u_char *cp, u_int len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1593,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1594,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1595,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1595,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1597,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1597,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1598,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1599,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1600,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:1605,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:1609,1
    - Dst: of10_match_print
      Src: /src/tcpdump/print-openflow-1.0.c:1611,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1612,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1614,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1615,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:1615,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1616,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1618,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1620,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1621,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1621,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:1624,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1626,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1627,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1627,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1628,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1631,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:1634,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1636,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1637,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1637,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1638,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1640,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1642,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1643,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1643,1
    - Dst: of10_vendor_data_print
      Src: /src/tcpdump/print-openflow-1.0.c:1646,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:1652,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1586
    functionDepth: 2
    functionLinenumber: 1586
    functionLinenumberEnd: 1654
    functionName: of10_stats_request_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - of10_match_print
    - ND_TCHECK_LEN
    - OF_CHK_FWD
    - GET_U_1
    - GET_BE_U_2
    - of10_vendor_data_print
    - ND_PRINT
    - ND_ICHECK_U
    - nd_print_invalid
    - tok2str
    - OF_FWD
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_stats_request_print(netdissect_options *ndo,\n                         const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1661,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:1662,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1664,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-openflow-1.0.c:1665,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1666,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1667,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1669,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-openflow-1.0.c:1670,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1671,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1672,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1674,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-openflow-1.0.c:1675,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1676,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1677,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1679,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-openflow-1.0.c:1680,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1681,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1682,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1684,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-openflow-1.0.c:1685,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1686,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:1690,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1692
    functionName: of10_desc_stats_reply_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - nd_printjnp
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - OF_FWD
    linkageType: ''
    returnType: void
    signature: "void of10_desc_stats_reply_print(netdissect_options *ndo,\n                            const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1702,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.0.c:1703,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1705,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1706,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:1707,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:1708,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1709,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1711,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1712,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:1712,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1713,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1715,1
    - Dst: of10_match_print
      Src: /src/tcpdump/print-openflow-1.0.c:1717,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1718,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1720,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1720,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1721,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1723,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1723,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1724,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1726,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1726,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1727,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1729,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1729,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1730,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1732,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1732,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1733,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1735,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1737,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1737,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1738,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1740,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1740,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1741,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1743,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1743,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1744,1
    - Dst: of10_actions_print
      Src: /src/tcpdump/print-openflow-1.0.c:1746,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1747,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:1752,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1695
    functionDepth: 3
    functionLinenumber: 1695
    functionLinenumberEnd: 1754
    functionName: of10_flow_stats_reply_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - of10_match_print
    - ND_TCHECK_LEN
    - ND_ICHECKMSG_U
    - tok2str
    - GET_U_1
    - GET_BE_U_8
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - OF_FWD
    - GET_BE_U_4
    - of10_actions_print
    linkageType: ''
    returnType: void
    signature: "void of10_flow_stats_reply_print(netdissect_options *ndo,\n                            const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1761,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.0.c:1762,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1764,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1764,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1765,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1767,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1767,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1768,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1770,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1770,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1771,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-openflow-1.0.c:1774,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:1778,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1757
    functionDepth: 1
    functionLinenumber: 1757
    functionLinenumberEnd: 1780
    functionName: of10_aggregate_stats_reply_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - ND_ICHECKMSG_U
    - GET_BE_U_8
    - ND_TCHECK_4
    - ND_PRINT
    - nd_print_invalid
    - OF_FWD
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_aggregate_stats_reply_print(netdissect_options *ndo,\n                                 const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1788,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.0.c:1789,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1791,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1792,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:1792,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1793,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1795,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1797,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-openflow-1.0.c:1798,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1799,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1800,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1802,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1802,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.0.c:1803,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1803,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1804,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1806,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1806,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1807,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1809,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1809,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1810,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1812,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1812,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1813,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1815,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1815,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1816,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:1821,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1783
    functionDepth: 1
    functionLinenumber: 1783
    functionLinenumberEnd: 1823
    functionName: of10_table_stats_reply_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - ND_ICHECKMSG_U
    - GET_U_1
    - GET_BE_U_8
    - nd_printjnp
    - ND_PRINT
    - nd_print_invalid
    - of_bitmap_print
    - tok2str
    - OF_FWD
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_table_stats_reply_print(netdissect_options *ndo,\n                             const
      u_char *cp, u_int len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1831,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.0.c:1832,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1834,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1835,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1835,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1836,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1838,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1842,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1844,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1844,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1845,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1847,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1847,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1848,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1850,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1850,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1851,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1853,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1853,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1854,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1856,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1856,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1857,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1859,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1859,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1860,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1862,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1862,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1863,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1865,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1865,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1866,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1868,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1868,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1869,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1871,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1871,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1872,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1874,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1874,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1875,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1877,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1877,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1878,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:1883,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1884,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1826
    functionDepth: 1
    functionLinenumber: 1826
    functionLinenumberEnd: 1885
    functionName: of10_port_stats_reply_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - ND_ICHECKMSG_U
    - OF_CHK_FWD
    - GET_BE_U_8
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - tok2str
    - OF_FWD
    linkageType: ''
    returnType: void
    signature: "void of10_port_stats_reply_print(netdissect_options *ndo,\n                            const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1893,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.0.c:1894,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1896,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1897,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1897,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1898,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1900,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1902,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1902,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1903,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1905,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1905,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1906,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1908,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1908,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1909,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1911,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:1911,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1912,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:1917,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1888
    functionDepth: 1
    functionLinenumber: 1888
    functionLinenumberEnd: 1919
    functionName: of10_queue_stats_reply_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - ND_ICHECKMSG_U
    - GET_BE_U_8
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - tok2str
    - OF_FWD
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_queue_stats_reply_print(netdissect_options *ndo,\n                             const
      u_char *cp, u_int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1929,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1930,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1930,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1931,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1933,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1933,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.0.c:1934,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1934,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1935,1
    - Dst: decoder
      Src: /src/tcpdump/print-openflow-1.0.c:1948,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1922
    functionDepth: 1
    functionLinenumber: 1922
    functionLinenumberEnd: 1953
    functionName: of10_stats_reply_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - decoder
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - of_bitmap_print
    - tok2str
    - OF_FWD
    linkageType: ''
    returnType: void
    signature: "void of10_stats_reply_print(netdissect_options *ndo,\n                       const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1963,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1963,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1964,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1966,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1966,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1966,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1967,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1969,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1970,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1971,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-openflow-1.0.c:1972,1
    - Dst: of10_actions_print
      Src: /src/tcpdump/print-openflow-1.0.c:1974,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1975,1
    - Dst: of10_packet_data_print
      Src: /src/tcpdump/print-openflow-1.0.c:1977,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.0.c:1981,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.0.c:1982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1956
    functionDepth: 6
    functionLinenumber: 1956
    functionLinenumberEnd: 1983
    functionName: of10_packet_out_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - GET_BE_U_2
    - ND_PRINT
    - ND_ICHECK_U
    - of10_packet_data_print
    - nd_print_invalid
    - tok2str
    - OF_FWD
    - GET_BE_U_4
    - of10_actions_print
    linkageType: ''
    returnType: void
    signature: "void of10_packet_out_print(netdissect_options *ndo,\n                      const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1991,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1992,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:1992,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1993,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1995,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1995,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1996,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:1998,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:1998,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:1998,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:1999,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:2001,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:2002,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:2002,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:2003,1
    - Dst: OF_CHK_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:2006,1
    - Dst: of10_packet_data_print
      Src: /src/tcpdump/print-openflow-1.0.c:2008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 1986
    functionDepth: 6
    functionLinenumber: 1986
    functionLinenumberEnd: 2009
    functionName: of10_packet_in_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - OF_CHK_FWD
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - of10_packet_data_print
    - tok2str
    - OF_FWD
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_packet_in_print(netdissect_options *ndo,\n                     const
      u_char *cp, u_int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: of10_match_print
      Src: /src/tcpdump/print-openflow-1.0.c:2017,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:2020,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:2020,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:2023,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:2024,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:2024,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:2027,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:2028,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:2028,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:2033,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:2033,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:2036,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.0.c:2036,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:2039,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:2040,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:2040,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:2045,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:2045,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:2048,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.0.c:2048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 2012
    functionDepth: 2
    functionLinenumber: 2012
    functionLinenumberEnd: 2049
    functionName: of10_flow_removed_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - of10_match_print
    - GET_U_1
    - GET_BE_U_8
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of10_flow_removed_print(netdissect_options *ndo,\n                        const
      u_char *cp, u_int len _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:2057,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:2058,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.0.c:2058,1
    - Dst: of10_phy_port_print
      Src: /src/tcpdump/print-openflow-1.0.c:2064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2052
    functionDepth: 2
    functionLinenumber: 2052
    functionLinenumberEnd: 2065
    functionName: of10_port_status_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - of10_phy_port_print
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void of10_port_status_print(netdissect_options *ndo,\n                       const
      u_char *cp, u_int len _U_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:2076,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:2077,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:2078,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:2078,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.0.c:2080,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.0.c:2081,1
    - Dst: uint2tokary
      Src: /src/tcpdump/print-openflow-1.0.c:2082,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:2084,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.0.c:2085,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.0.c:2087,1
    - Dst: of_data_print
      Src: /src/tcpdump/print-openflow-1.0.c:2089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2068
    functionDepth: 1
    functionLinenumber: 2068
    functionLinenumberEnd: 2090
    functionName: of10_error_print
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached:
    - of_data_print
    - uint2tokary
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    - OF_FWD
    linkageType: ''
    returnType: void
    signature: "void of10_error_print(netdissect_options *ndo,\n                 const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2275
    functionDepth: 0
    functionLinenumber: 2275
    functionLinenumberEnd: 2279
    functionName: of10_identify_msgtype
    functionSourceFile: /src/tcpdump/print-openflow-1.0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct of_msgtypeinfo
    signature: 'struct of_msgtypeinfo *

      of10_identify_msgtype(const uint8_t type)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mobility.c:126,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-mobility.c:130,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mobility.c:132,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-mobility.c:134,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-mobility.c:135,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:139,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:142,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:145,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-mobility.c:146,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:149,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mobility.c:149,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:152,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-mobility.c:153,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:155,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-mobility.c:155,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:158,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-mobility.c:159,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:161,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mobility.c:162,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mobility.c:163,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:166,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-mobility.c:167,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:171,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 180
    functionName: mobility_opt_print
    functionSourceFile: /src/tcpdump/print-mobility.c
    functionUses: 0
    functionsReached:
    - ND_ICHECKMSG_U
    - GET_U_1
    - GET_IP6ADDR_STRING
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: int
    signature: "int mobility_opt_print(netdissect_options *ndo,\n                   const
      u_char *bp, const unsigned len)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol
      Src: /src/tcpdump/print-mobility.c:194,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:195,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mobility.c:198,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:200,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mobility.c:203,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mobility.c:207,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:208,1
    - Dst: tok2str
      Src: /src/tcpdump/print-mobility.c:208,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:210,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:221,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mobility.c:223,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mobility.c:224,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:230,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mobility.c:230,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:233,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mobility.c:235,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mobility.c:236,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:240,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mobility.c:242,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-mobility.c:243,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:250,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mobility.c:250,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mobility.c:252,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:254,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:255,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-mobility.c:256,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:264,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mobility.c:264,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:269,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mobility.c:269,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mobility.c:270,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:271,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:274,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mobility.c:274,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:277,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mobility.c:277,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:281,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mobility.c:281,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:284,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-mobility.c:284,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobility.c:288,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-mobility.c:288,1
    - Dst: mobility_opt_print
      Src: /src/tcpdump/print-mobility.c:292,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-mobility.c:298,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 84
    argCount: 3
    argNames:
    - ndo
    - bp
    - bp2
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 300
    functionName: mobility_print
    functionSourceFile: /src/tcpdump/print-mobility.c
    functionUses: 1
    functionsReached:
    - nd_print_protocol
    - GET_U_1
    - GET_IP6ADDR_STRING
    - GET_BE_U_2
    - ND_PRINT
    - mobility_opt_print
    - nd_print_invalid
    - tok2str
    - GET_BE_U_4
    - bittok2str_nosep
    linkageType: ''
    returnType: int
    signature: "int mobility_print(netdissect_options *ndo,\n               const
      u_char *bp, const u_char *bp2 _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pppoe_print
      Src: /src/tcpdump/print-pppoe.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: pppoe_if_print
    functionSourceFile: /src/tcpdump/print-pppoe.c
    functionUses: 0
    functionsReached:
    - pppoe_print
    linkageType: ''
    returnType: void
    signature: void pppoe_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pppoe.c:104,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pppoe.c:109,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pppoe.c:110,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pppoe.c:111,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pppoe.c:112,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pppoe.c:113,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pppoe.c:114,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pppoe.c:118,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pppoe.c:121,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pppoe.c:124,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pppoe.c:124,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pppoe.c:126,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pppoe.c:129,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pppoe.c:133,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pppoe.c:147,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-pppoe.c:148,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pppoe.c:159,1
    - Dst: ND_ASCII_ISPRINT
      Src: /src/tcpdump/print-pppoe.c:161,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pppoe.c:161,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pppoe.c:162,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pppoe.c:171,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pppoe.c:172,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pppoe.c:178,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pppoe.c:178,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pppoe.c:180,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-pppoe.c:180,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pppoe.c:182,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pppoe.c:187,1
    - Dst: tok2str
      Src: /src/tcpdump/print-pppoe.c:187,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pppoe.c:196,1
    - Dst: ppp_print
      Src: /src/tcpdump/print-pppoe.c:197,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-pppoe.c:202,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 71
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 204
    functionName: pppoe_print
    functionSourceFile: /src/tcpdump/print-pppoe.c
    functionUses: 2
    functionsReached:
    - ND_ASCII_ISPRINT
    - nd_print_invalid
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - ppp_print
    - ND_TCHECK_LEN
    - tok2str
    linkageType: ''
    returnType: u_int
    signature: u_int pppoe_print(netdissect_options *ndo, const u_char *bp, u_int
      length)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-rx.c:536,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:537,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:543,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:544,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:544,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:546,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:551,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:552,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:553,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:555,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:556,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:557,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:560,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:561,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rx.c:562,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:571,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:573,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:575,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:590,1
    - Dst: rx_cache_insert
      Src: /src/tcpdump/print-rx.c:598,1
    - Dst: fs_print
      Src: /src/tcpdump/print-rx.c:602,1
    - Dst: cb_print
      Src: /src/tcpdump/print-rx.c:605,1
    - Dst: prot_print
      Src: /src/tcpdump/print-rx.c:608,1
    - Dst: vldb_print
      Src: /src/tcpdump/print-rx.c:611,1
    - Dst: kauth_print
      Src: /src/tcpdump/print-rx.c:614,1
    - Dst: vol_print
      Src: /src/tcpdump/print-rx.c:617,1
    - Dst: bos_print
      Src: /src/tcpdump/print-rx.c:620,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:634,1
    - Dst: rx_cache_find
      Src: /src/tcpdump/print-rx.c:637,1
    - Dst: fs_reply_print
      Src: /src/tcpdump/print-rx.c:642,1
    - Dst: cb_reply_print
      Src: /src/tcpdump/print-rx.c:645,1
    - Dst: prot_reply_print
      Src: /src/tcpdump/print-rx.c:648,1
    - Dst: vldb_reply_print
      Src: /src/tcpdump/print-rx.c:651,1
    - Dst: kauth_reply_print
      Src: /src/tcpdump/print-rx.c:654,1
    - Dst: vol_reply_print
      Src: /src/tcpdump/print-rx.c:657,1
    - Dst: bos_reply_print
      Src: /src/tcpdump/print-rx.c:660,1
    - Dst: rx_ack_print
      Src: /src/tcpdump/print-rx.c:673,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:676,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 87
    argCount: 6
    argNames:
    - ndo
    - bp
    - length
    - sport
    - dport
    - bp2
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    - uint16_t
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 677
    functionName: rx_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - prot_print
    - GET_U_1
    - rx_cache_insert
    - prot_reply_print
    - fs_print
    - vol_print
    - GET_BE_U_4
    - bos_print
    - kauth_print
    - ND_PRINT
    - vldb_print
    - fs_reply_print
    - vol_reply_print
    - bos_reply_print
    - GET_BE_U_2
    - cb_reply_print
    - cb_print
    - kauth_reply_print
    - rx_ack_print
    - rx_cache_find
    - tok2str
    - vldb_reply_print
    - ND_TTEST_LEN
    linkageType: ''
    returnType: void
    signature: "void rx_print(netdissect_options *ndo,\n         const u_char *bp,
      u_int length, uint16_t sport, uint16_t dport,\n         const u_char *bp2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_4
      Src: /src/tcpdump/print-rx.c:690,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:698,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-rx.c:699,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-rx.c:700,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rx.c:702,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ndo
    - bp
    - ip
    - dport
    argTypes:
    - netdissect_options*
    - u_char*
    - struct ip*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 704
    functionName: rx_cache_insert
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - GET_BE_U_2
    - GET_IPV4_TO_NETWORK_ORDER
    - ND_TTEST_4
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void rx_cache_insert(netdissect_options *ndo,\n                const
      u_char *bp, const struct ip *ip, uint16_t dport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-rx.c:722,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-rx.c:723,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:730,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rx.c:733,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - ndo
    - rxh
    - ip
    - sport
    - opcode
    argTypes:
    - netdissect_options*
    - struct rx_header*
    - struct ip*
    - uint16_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 748
    functionName: rx_cache_find
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - GET_BE_U_2
    - GET_IPV4_TO_NETWORK_ORDER
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int rx_cache_find(netdissect_options *ndo, const struct rx_header
      *rxh,\n\t      const struct ip *ip, uint16_t sport, uint32_t *opcode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 764
    functionName: FIDOUT
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIDOUT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - MAX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 776
    functionName: STROUT
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STROUT(MAX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 782
    functionName: INTOUT
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTOUT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 788
    functionName: UINTOUT
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINTOUT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 794
    functionName: UINT64OUT
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UINT64OUT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 802
    functionName: DATEOUT
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DATEOUT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 817
    functionName: STOREATTROUT
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STOREATTROUT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 829
    functionName: UBIK_VERSIONOUT
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UBIK_VERSIONOUT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 847
    functionName: AFSUUIDOUT
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AFSUUIDOUT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - MAX
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 867
    functionName: VECOUT
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VECOUT(MAX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 878
    functionName: DESTSERVEROUT
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DESTSERVEROUT()
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:898,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:900,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:900,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:915,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:916,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:917,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:918,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:919,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:929,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:932,1
    - Dst: STOREATTROUT
      Src: /src/tcpdump/print-rx.c:933,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:936,1
    - Dst: STOREATTROUT
      Src: /src/tcpdump/print-rx.c:937,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:938,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:939,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:940,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:941,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:942,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:943,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:948,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:949,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rx.c:951,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-rx.c:952,1
    - Dst: strncpy
      Src: /src/tcpdump/print-rx.c:953,1
    - Dst: acl_print
      Src: /src/tcpdump/print-rx.c:955,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:960,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:961,1
    - Dst: STOREATTROUT
      Src: /src/tcpdump/print-rx.c:962,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:966,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:967,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:970,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:971,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:972,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:973,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:974,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:975,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:978,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:979,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:980,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:981,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:984,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:985,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:986,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:987,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:990,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:994,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:995,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:998,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:999,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1005,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:1009,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1011,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1014,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:1018,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1019,1
    - Dst: UINT64OUT
      Src: /src/tcpdump/print-rx.c:1020,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1021,1
    - Dst: UINT64OUT
      Src: /src/tcpdump/print-rx.c:1022,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:1025,1
    - Dst: STOREATTROUT
      Src: /src/tcpdump/print-rx.c:1026,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1027,1
    - Dst: UINT64OUT
      Src: /src/tcpdump/print-rx.c:1028,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1029,1
    - Dst: UINT64OUT
      Src: /src/tcpdump/print-rx.c:1030,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1031,1
    - Dst: UINT64OUT
      Src: /src/tcpdump/print-rx.c:1032,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1035,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:1036,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1044,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 132
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 1045
    functionName: fs_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - UINT64OUT
    - FIDOUT
    - STOREATTROUT
    - strncpy
    - acl_print
    - ND_PRINT
    - UINTOUT
    - ND_TCHECK_LEN
    - STROUT
    - tok2str
    - ND_MIN
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void fs_print(netdissect_options *ndo,\n         const u_char *bp,
      u_int length)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1069,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:1069,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:1071,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1083,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rx.c:1085,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-rx.c:1086,1
    - Dst: strncpy
      Src: /src/tcpdump/print-rx.c:1087,1
    - Dst: acl_print
      Src: /src/tcpdump/print-rx.c:1089,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1094,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:1095,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1098,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:1099,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:1102,1
    - Dst: GET_BE_S_4
      Src: /src/tcpdump/print-rx.c:1113,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1116,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:1116,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1118,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - opcode
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1125
    functionName: fs_reply_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - FIDOUT
    - strncpy
    - acl_print
    - DATEOUT
    - ND_PRINT
    - GET_BE_S_4
    - ND_TCHECK_LEN
    - STROUT
    - tok2str
    - ND_MIN
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void fs_reply_print(netdissect_options *ndo,\n               const
      u_char *bp, u_int length, uint32_t opcode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1142
    functionName: XSTRINGIFY
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XSTRINGIFY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1143
    functionName: NUMSTRINGIFY
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NUMSTRINGIFY(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/tcpdump/print-rx.c:1152,1
    - Dst: sscanf
      Src: /src/tcpdump/print-rx.c:1175,1
    - Dst: NUMSTRINGIFY
      Src: /src/tcpdump/print-rx.c:1175,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1178,1
    - Dst: fn_print_str
      Src: /src/tcpdump/print-rx.c:1179,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1180,1
    - Dst: ACLOUT
      Src: /src/tcpdump/print-rx.c:1181,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1182,1
    - Dst: sscanf
      Src: /src/tcpdump/print-rx.c:1188,1
    - Dst: NUMSTRINGIFY
      Src: /src/tcpdump/print-rx.c:1188,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1191,1
    - Dst: fn_print_str
      Src: /src/tcpdump/print-rx.c:1192,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1193,1
    - Dst: ACLOUT
      Src: /src/tcpdump/print-rx.c:1194,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - ndo
    - s
    - end
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1199
    functionName: acl_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 2
    functionsReached:
    - fn_print_str
    - sscanf
    - ND_PRINT
    - NUMSTRINGIFY
    - ACLOUT
    linkageType: ''
    returnType: void
    signature: "void acl_print(netdissect_options *ndo,\n          u_char *s, const
      u_char *end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - acl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1173
    functionName: ACLOUT
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACLOUT(acl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1222,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1224,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:1224,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1237,1
    - Dst: FIDOUT
      Src: /src/tcpdump/print-rx.c:1241,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1243,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1247,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1249,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1253,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1256,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1257,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1258,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:1259,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1260,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:1262,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1267,1
    - Dst: AFSUUIDOUT
      Src: /src/tcpdump/print-rx.c:1268,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1278,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1279
    functionName: cb_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - AFSUUIDOUT
    - FIDOUT
    - INTOUT
    - ND_PRINT
    - DATEOUT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void cb_print(netdissect_options *ndo,\n         const u_char *bp,
      u_int length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1302,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:1302,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:1304,1
    - Dst: AFSUUIDOUT
      Src: /src/tcpdump/print-rx.c:1314,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1323,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1324,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - opcode
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1285
    functionDepth: 1
    functionLinenumber: 1285
    functionLinenumberEnd: 1331
    functionName: cb_reply_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - AFSUUIDOUT
    - GET_U_1
    - INTOUT
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void cb_reply_print(netdissect_options *ndo,\n               const
      u_char *bp, u_int length, uint32_t opcode)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1352,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1354,1
    - Dst: is_ubik
      Src: /src/tcpdump/print-rx.c:1356,1
    - Dst: ubik_print
      Src: /src/tcpdump/print-rx.c:1357,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1361,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:1361,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:1371,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1372,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1373,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1374,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1375,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1386,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1387,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1390,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1391,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1396,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1397,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1398,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1399,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1404,1
    - Dst: VECOUT
      Src: /src/tcpdump/print-rx.c:1415,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1418,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1424,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1425,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1428,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1430,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:1434,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1435,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1436,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1437,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1438,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1441,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1442,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1443,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1444,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1447,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1448,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:1449,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1450,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1451,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1452,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1453,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1456,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1457,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:1458,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1468,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 97
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1469
    functionName: prot_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - VECOUT
    - INTOUT
    - ND_PRINT
    - ubik_print
    - STROUT
    - tok2str
    - is_ubik
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void prot_print(netdissect_options *ndo,\n           const u_char
      *bp, u_int length)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1494,1
    - Dst: is_ubik
      Src: /src/tcpdump/print-rx.c:1496,1
    - Dst: ubik_reply_print
      Src: /src/tcpdump/print-rx.c:1497,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1501,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:1501,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:1503,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1515,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1516,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1519,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1521,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1527,1
    - Dst: VECOUT
      Src: /src/tcpdump/print-rx.c:1538,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1541,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1551,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1554,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1557,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1561,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1562,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1563,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1564,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1573,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1574,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1580,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - opcode
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1581
    functionName: prot_reply_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - ubik_reply_print
    - GET_U_1
    - VECOUT
    - INTOUT
    - ND_PRINT
    - tok2str
    - is_ubik
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void prot_reply_print(netdissect_options *ndo,\n                 const
      u_char *bp, u_int length, uint32_t opcode)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1602,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1604,1
    - Dst: is_ubik
      Src: /src/tcpdump/print-rx.c:1606,1
    - Dst: ubik_print
      Src: /src/tcpdump/print-rx.c:1607,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1610,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:1610,1
    - Dst: VECOUT
      Src: /src/tcpdump/print-rx.c:1621,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1629,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1630,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1631,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1634,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:1640,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1643,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1644,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1648,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1649,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1650,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1653,1
    - Dst: VECOUT
      Src: /src/tcpdump/print-rx.c:1654,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1658,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1659,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1668,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1669
    functionName: vldb_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - VECOUT
    - INTOUT
    - ND_PRINT
    - ubik_print
    - STROUT
    - tok2str
    - is_ubik
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void vldb_print(netdissect_options *ndo,\n           const u_char
      *bp, u_int length)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1694,1
    - Dst: is_ubik
      Src: /src/tcpdump/print-rx.c:1696,1
    - Dst: ubik_reply_print
      Src: /src/tcpdump/print-rx.c:1697,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1701,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:1701,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:1703,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1713,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1714,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1715,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1716,1
    - Dst: VECOUT
      Src: /src/tcpdump/print-rx.c:1721,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-rx.c:1722,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1724,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1725,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1727,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1728,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-rx.c:1730,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1732,1
    - Dst: intoa
      Src: /src/tcpdump/print-rx.c:1733,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-rx.c:1733,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1736,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1738,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1740,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1742,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rx.c:1745,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1747,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:1748,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1749,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:1750,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1751,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:1752,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1756,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:1757,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1761,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1762,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1763,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1764,1
    - Dst: VECOUT
      Src: /src/tcpdump/print-rx.c:1769,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1770,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1771,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1773,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1774,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-rx.c:1776,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1778,1
    - Dst: intoa
      Src: /src/tcpdump/print-rx.c:1779,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-rx.c:1779,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1782,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1784,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1786,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1788,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rx.c:1791,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1793,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:1794,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1795,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:1796,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1797,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:1798,1
    - Dst: VECOUT
      Src: /src/tcpdump/print-rx.c:1804,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1805,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1806,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1808,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1809,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1812,1
    - Dst: AFSUUIDOUT
      Src: /src/tcpdump/print-rx.c:1813,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rx.c:1815,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rx.c:1819,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1821,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1823,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1825,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1827,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rx.c:1830,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1832,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:1833,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1834,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:1835,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1836,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:1837,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1847,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1848,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1854,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 146
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - opcode
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1675
    functionDepth: 2
    functionLinenumber: 1675
    functionLinenumberEnd: 1855
    functionName: vldb_reply_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - AFSUUIDOUT
    - ND_TCHECK_LEN
    - ubik_reply_print
    - GET_U_1
    - VECOUT
    - INTOUT
    - ND_PRINT
    - UINTOUT
    - intoa
    - GET_IPV4_TO_NETWORK_ORDER
    - tok2str
    - is_ubik
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void vldb_reply_print(netdissect_options *ndo,\n                 const
      u_char *bp, u_int length, uint32_t opcode)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1875,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1877,1
    - Dst: is_ubik
      Src: /src/tcpdump/print-rx.c:1879,1
    - Dst: ubik_print
      Src: /src/tcpdump/print-rx.c:1880,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1885,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:1885,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1904,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:1905,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:1906,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1912,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1913,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1914,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:1915,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:1916,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rx.c:1918,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1920,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:1921,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:1922,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1926,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:1927,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:1928,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1929,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1930,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1933,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:1934,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1943,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 59
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1861
    functionDepth: 1
    functionLinenumber: 1861
    functionLinenumberEnd: 1944
    functionName: kauth_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - ND_TCHECK_LEN
    - INTOUT
    - ND_PRINT
    - ubik_print
    - STROUT
    - tok2str
    - is_ubik
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void kauth_print(netdissect_options *ndo,\n            const u_char
      *bp, u_int length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1967,1
    - Dst: is_ubik
      Src: /src/tcpdump/print-rx.c:1969,1
    - Dst: ubik_reply_print
      Src: /src/tcpdump/print-rx.c:1970,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1974,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:1974,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:1976,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:1990,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:1991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - opcode
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1950
    functionDepth: 1
    functionLinenumber: 1950
    functionLinenumberEnd: 1993
    functionName: kauth_reply_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - ubik_reply_print
    - GET_U_1
    - INTOUT
    - ND_PRINT
    - tok2str
    - is_ubik
    linkageType: ''
    returnType: void
    signature: "void kauth_reply_print(netdissect_options *ndo,\n                  const
      u_char *bp, u_int length, uint32_t opcode)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:2013,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2015,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:2015,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2021,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2022,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2023,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:2024,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2025,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2026,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2027,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2028,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2032,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2033,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2036,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2037,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2038,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2039,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2042,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2043,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2044,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:2045,1
    - Dst: DESTSERVEROUT
      Src: /src/tcpdump/print-rx.c:2046,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2047,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2048,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2051,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2052,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2055,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2056,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2057,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2058,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2059,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2060,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2061,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:2062,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2065,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2066,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2067,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2068,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2071,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2072,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2073,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2074,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2075,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2076,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2080,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2081,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2082,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:2083,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2086,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2087,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2090,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2091,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2092,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2093,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2097,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2100,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:2101,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2102,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2103,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2104,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2105,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2106,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2107,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2110,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2111,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2112,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2113,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2116,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2117,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2118,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:2119,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2120,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2121,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2122,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2123,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2124,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2125,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2126,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2127,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2130,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:2131,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2134,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2135,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2142,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2143,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2144,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2145,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2148,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2149,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2150,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:2151,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2154,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2155,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2158,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2159,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2160,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:2161,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:2164,1
    - Dst: DESTSERVEROUT
      Src: /src/tcpdump/print-rx.c:2167,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2169,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2172,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2176,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2177,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2178,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:2179,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2180,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2181,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2189,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 175
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 1999
    functionDepth: 1
    functionLinenumber: 1999
    functionLinenumberEnd: 2190
    functionName: vol_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - INTOUT
    - DATEOUT
    - DESTSERVEROUT
    - ND_PRINT
    - UINTOUT
    - STROUT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void vol_print(netdissect_options *ndo,\n          const u_char *bp,
      u_int length)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2213,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:2213,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:2215,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2225,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2226,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2227,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2228,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2231,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2234,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2235,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2238,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2241,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2242,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2245,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2246,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2247,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2248,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:2251,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2254,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2255,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2256,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2257,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2258,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2259,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2260,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2261,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2262,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2263,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2264,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2265,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2266,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2267,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2268,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2269,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2270,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2271,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2272,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2273,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2274,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:2275,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2276,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:2277,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2278,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:2279,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2280,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:2281,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2282,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:2283,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2284,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:2285,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:2293,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2296,1
    - Dst: VECOUT
      Src: /src/tcpdump/print-rx.c:2297,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2298,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2299,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2300,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2303,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2306,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2318,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2319,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2325,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 103
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - opcode
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2196
    functionDepth: 1
    functionLinenumber: 2196
    functionLinenumberEnd: 2326
    functionName: vol_reply_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - VECOUT
    - INTOUT
    - DATEOUT
    - ND_PRINT
    - UINTOUT
    - STROUT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void vol_reply_print(netdissect_options *ndo,\n                const
      u_char *bp, u_int length, uint32_t opcode)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:2346,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2348,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:2348,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2358,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:2359,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2360,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:2361,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:2376,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:2380,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2381,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2382,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:2385,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2386,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2387,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2395,1
    - Dst: STROUT
      Src: /src/tcpdump/print-rx.c:2398,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2399,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2400,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2401,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2402,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2403,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2404,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2413,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 63
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2332
    functionDepth: 1
    functionLinenumber: 2332
    functionLinenumberEnd: 2414
    functionName: bos_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - INTOUT
    - ND_PRINT
    - STROUT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void bos_print(netdissect_options *ndo,\n          const u_char *bp,
      u_int length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2437,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:2437,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:2439,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2453,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - opcode
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2456
      start: 2420
    functionDepth: 1
    functionLinenumber: 2420
    functionLinenumberEnd: 2456
    functionName: bos_reply_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - tok2str
    - ND_PRINT
    - INTOUT
    linkageType: ''
    returnType: void
    signature: "void bos_reply_print(netdissect_options *ndo,\n                const
      u_char *bp, u_int length, uint32_t opcode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - opcode
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2470
    functionName: is_ubik
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_ubik(uint32_t opcode)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:2492,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2494,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:2494,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:2504,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2506,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2507,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:2508,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2509,1
    - Dst: UBIK_VERSIONOUT
      Src: /src/tcpdump/print-rx.c:2510,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2511,1
    - Dst: UBIK_VERSIONOUT
      Src: /src/tcpdump/print-rx.c:2512,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2515,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2516,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2523,1
    - Dst: UBIK_VERSIONOUT
      Src: /src/tcpdump/print-rx.c:2524,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2527,1
    - Dst: UBIK_VERSIONOUT
      Src: /src/tcpdump/print-rx.c:2528,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2529,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2530,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2531,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2532,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2533,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2534,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:2535,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:2537,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2540,1
    - Dst: UBIK_VERSIONOUT
      Src: /src/tcpdump/print-rx.c:2541,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2542,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2543,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2544,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2545,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2548,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2549,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2552,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2553,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2554,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2555,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2556,1
    - Dst: UBIK_VERSIONOUT
      Src: /src/tcpdump/print-rx.c:2557,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2560,1
    - Dst: UBIK_VERSIONOUT
      Src: /src/tcpdump/print-rx.c:2561,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2562,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2563,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2564,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2565,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2568,1
    - Dst: UBIK_VERSIONOUT
      Src: /src/tcpdump/print-rx.c:2569,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2570,1
    - Dst: UBIK_VERSIONOUT
      Src: /src/tcpdump/print-rx.c:2571,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2572,1
    - Dst: UBIK_VERSIONOUT
      Src: /src/tcpdump/print-rx.c:2573,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2582,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 84
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2476
    functionDepth: 1
    functionLinenumber: 2476
    functionLinenumberEnd: 2583
    functionName: ubik_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 3
    functionsReached:
    - INTOUT
    - ND_PRINT
    - UINTOUT
    - UBIK_VERSIONOUT
    - DATEOUT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void ubik_print(netdissect_options *ndo,\n           const u_char
      *bp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2606,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:2606,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:2608,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2618,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2621,1
    - Dst: UBIK_VERSIONOUT
      Src: /src/tcpdump/print-rx.c:2622,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2637,1
    - Dst: DATEOUT
      Src: /src/tcpdump/print-rx.c:2638,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2641,1
    - Dst: INTOUT
      Src: /src/tcpdump/print-rx.c:2642,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - opcode
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2649
    functionName: ubik_reply_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 3
    functionsReached:
    - GET_U_1
    - INTOUT
    - ND_PRINT
    - UBIK_VERSIONOUT
    - DATEOUT
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void ubik_reply_print(netdissect_options *ndo,\n                 const
      u_char *bp, u_int length, uint32_t opcode)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rx.c:2669,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2679,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rx.c:2680,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-rx.c:2681,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:2683,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2684,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-rx.c:2685,1
    - Dst: tok2str
      Src: /src/tcpdump/print-rx.c:2686,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:2686,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:2707,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-rx.c:2710,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:2718,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2728,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2742,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2768,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2782,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-rx.c:2789,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2791,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2794,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2799,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2802,1
    - Dst: TRUNCRET
      Src: /src/tcpdump/print-rx.c:2818,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2819,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2820,1
    - Dst: TRUNCRET
      Src: /src/tcpdump/print-rx.c:2822,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2823,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2824,1
    - Dst: TRUNCRET
      Src: /src/tcpdump/print-rx.c:2826,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2827,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2828,1
    - Dst: TRUNCRET
      Src: /src/tcpdump/print-rx.c:2830,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2831,1
    - Dst: UINTOUT
      Src: /src/tcpdump/print-rx.c:2832,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-rx.c:2838,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2839
      start: 2655
    functionDepth: 1
    functionLinenumber: 2655
    functionLinenumberEnd: 2839
    functionName: rx_ack_print
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - UINTOUT
    - ND_TCHECK_LEN
    - tok2str
    - TRUNCRET
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void rx_ack_print(netdissect_options *ndo,\n             const u_char
      *bp, u_int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2816
      start: 2815
    functionDepth: 0
    functionLinenumber: 2815
    functionLinenumberEnd: 2816
    functionName: TRUNCRET
    functionSourceFile: /src/tcpdump/print-rx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRUNCRET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:64,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-geonet.c:64,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-geonet.c:66,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:67,1
    - Dst: tok2str
      Src: /src/tcpdump/print-geonet.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: print_btp_body
    functionSourceFile: /src/tcpdump/print-geonet.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void print_btp_body(netdissect_options *ndo,\n\t       const u_char
      *bp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:76,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-geonet.c:76,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:77,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-geonet.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: print_btp
    functionSourceFile: /src/tcpdump/print-geonet.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void print_btp(netdissect_options *ndo,\n\t  const u_char *bp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:84,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-geonet.c:84,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:85,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-geonet.c:85,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:86,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-geonet.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: print_long_pos_vector
    functionSourceFile: /src/tcpdump/print-geonet.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_4
    - ND_PRINT
    - GET_LINKADDR_STRING
    linkageType: ''
    returnType: void
    signature: "void print_long_pos_vector(netdissect_options *ndo,\n\t\t      const
      u_char *bp)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:109,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:111,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:112,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:116,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-geonet.c:120,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-geonet.c:121,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-geonet.c:122,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-geonet.c:123,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-geonet.c:124,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-geonet.c:125,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:162,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:163,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:164,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:165,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:166,1
    - Dst: print_long_pos_vector
      Src: /src/tcpdump/print-geonet.c:167,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-geonet.c:170,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:223,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-geonet.c:226,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geonet.c:235,1
    - Dst: print_btp
      Src: /src/tcpdump/print-geonet.c:238,1
    - Dst: print_btp_body
      Src: /src/tcpdump/print-geonet.c:249,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-geonet.c:259,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-geonet.c:263,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 181
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - src
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - struct lladdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 265
    functionName: geonet_print
    functionSourceFile: /src/tcpdump/print-geonet.c
    functionUses: 1
    functionsReached:
    - nd_print_invalid
    - print_long_pos_vector
    - GET_U_1
    - print_btp
    - print_btp_body
    - GET_BE_U_2
    - ND_PRINT
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: void
    signature: "void geonet_print(netdissect_options *ndo, const u_char *bp, u_int
      length,\n\t     const struct lladdr_info *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: IN_CLASSD
    functionSourceFile: /src/tcpdump/print-igmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN_CLASSD(i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:116,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:119,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-igmp.c:121,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-igmp.c:122,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-igmp.c:122,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-igmp.c:123,1
    - Dst: IN_CLASSD
      Src: /src/tcpdump/print-igmp.c:124,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-igmp.c:124,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:125,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igmp.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ndo
    - typename
    - bp
    - len
    argTypes:
    - netdissect_options*
    - char*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 126
    functionName: print_mtrace
    functionSourceFile: /src/tcpdump/print-igmp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - IN_CLASSD
    - ND_PRINT
    - GET_BE_U_3
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void print_mtrace(netdissect_options *ndo,\n             const char
      *typename,\n             const u_char *bp, u_int len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:137,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-igmp.c:140,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:141,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:147,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:150,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-igmp.c:150,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:151,1
    - Dst: tok2str
      Src: /src/tcpdump/print-igmp.c:151,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igmp.c:152,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-igmp.c:153,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:156,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:160,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:163,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:165,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-igmp.c:165,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:167,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 174
    functionName: print_igmpv3_report
    functionSourceFile: /src/tcpdump/print-igmp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void print_igmpv3_report(netdissect_options *ndo,\n                    const
      u_char *bp, u_int len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:185,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:188,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igmp.c:191,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:198,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:200,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/print-igmp.c:202,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:204,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-igmp.c:206,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:208,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-igmp.c:208,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-igmp.c:209,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:212,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:214,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:216,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-igmp.c:216,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:218,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:220,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 223
    functionName: print_igmpv3_query
    functionSourceFile: /src/tcpdump/print-igmp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - unsigned_relts_print
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void print_igmpv3_query(netdissect_options *ndo,\n                   const
      u_char *bp, u_int len)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:233,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igmp.c:237,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:239,1
    - Dst: print_igmpv3_query
      Src: /src/tcpdump/print-igmp.c:241,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igmp.c:243,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:244,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igmp.c:245,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:246,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igmp.c:246,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:248,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-igmp.c:249,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:250,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-igmp.c:250,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:252,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:256,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-igmp.c:256,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:258,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:261,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-igmp.c:261,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:264,1
    - Dst: print_igmpv3_report
      Src: /src/tcpdump/print-igmp.c:265,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:268,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-igmp.c:268,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:271,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:273,1
    - Dst: dvmrp_print
      Src: /src/tcpdump/print-igmp.c:275,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:278,1
    - Dst: pimv1_print
      Src: /src/tcpdump/print-igmp.c:279,1
    - Dst: print_mtrace
      Src: /src/tcpdump/print-igmp.c:282,1
    - Dst: print_mtrace
      Src: /src/tcpdump/print-igmp.c:285,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:288,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-igmp.c:288,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-igmp.c:292,1
    - Dst: in_cksum
      Src: /src/tcpdump/print-igmp.c:296,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-igmp.c:297,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-igmp.c:297,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 299
    functionName: igmp_print
    functionSourceFile: /src/tcpdump/print-igmp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - print_igmpv3_report
    - in_cksum
    - dvmrp_print
    - ND_TTEST_LEN
    - GET_BE_U_2
    - print_igmpv3_query
    - ND_PRINT
    - pimv1_print
    - print_mtrace
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void igmp_print(netdissect_options *ndo,\n           const u_char
      *bp, u_int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol
      Src: /src/tcpdump/print-babel.c:58,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-babel.c:60,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:62,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:63,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:66,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:66,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:69,1
    - Dst: babel_print_v2
      Src: /src/tcpdump/print-babel.c:71,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:74,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-babel.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: babel_print
    functionSourceFile: /src/tcpdump/print-babel.c
    functionUses: 1
    functionsReached:
    - nd_print_protocol
    - babel_print_v2
    - GET_U_1
    - nd_print_trunc
    - ND_PRINT
    - ND_TCHECK_4
    linkageType: ''
    returnType: void
    signature: "void babel_print(netdissect_options *ndo,\n            const u_char
      *cp, u_int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-babel.c:129,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:130,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:130,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:130,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:131,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:131,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:131,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:132,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - id
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: format_id
    functionSourceFile: /src/tcpdump/print-babel.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      format_id(netdissect_options *ndo, const u_char *id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tcpdump/print-babel.c:150,1
    - Dst: snprintf
      Src: /src/tcpdump/print-babel.c:151,1
    - Dst: ipaddr_string
      Src: /src/tcpdump/print-babel.c:151,1
    - Dst: snprintf
      Src: /src/tcpdump/print-babel.c:153,1
    - Dst: ip6addr_string
      Src: /src/tcpdump/print-babel.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - prefix
    - plen
    argTypes:
    - netdissect_options*
    - u_char*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 156
    functionName: format_prefix
    functionSourceFile: /src/tcpdump/print-babel.c
    functionUses: 0
    functionsReached:
    - ipaddr_string
    - memcmp
    - snprintf
    - ip6addr_string
    linkageType: ''
    returnType: char
    signature: 'char *

      format_prefix(netdissect_options *ndo, const u_char *prefix, unsigned char plen)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tcpdump/print-babel.c:166,1
    - Dst: ipaddr_string
      Src: /src/tcpdump/print-babel.c:167,1
    - Dst: ip6addr_string
      Src: /src/tcpdump/print-babel.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - prefix
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: format_address
    functionSourceFile: /src/tcpdump/print-babel.c
    functionUses: 0
    functionsReached:
    - ipaddr_string
    - memcmp
    - ip6addr_string
    linkageType: ''
    returnType: char
    signature: 'char *

      format_address(netdissect_options *ndo, const u_char *prefix)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-babel.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: format_interval
    functionSourceFile: /src/tcpdump/print-babel.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      format_interval(const uint16_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: format_interval
      Src: /src/tcpdump/print-babel.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: format_interval_update
    functionSourceFile: /src/tcpdump/print-babel.c
    functionUses: 0
    functionsReached:
    - format_interval
    linkageType: ''
    returnType: char
    signature: 'char *

      format_interval_update(const uint16_t i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/print-babel.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: format_timestamp
    functionSourceFile: /src/tcpdump/print-babel.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      format_timestamp(const uint32_t i)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-babel.c:218,1
    - Dst: memcpy
      Src: /src/tcpdump/print-babel.c:225,1
    - Dst: memcpy
      Src: /src/tcpdump/print-babel.c:228,1
    - Dst: memcpy
      Src: /src/tcpdump/print-babel.c:231,1
    - Dst: memcpy
      Src: /src/tcpdump/print-babel.c:240,1
    - Dst: memcpy
      Src: /src/tcpdump/print-babel.c:243,1
    - Dst: memcpy
      Src: /src/tcpdump/print-babel.c:252,1
    - Dst: memcpy
      Src: /src/tcpdump/print-babel.c:260,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 7
    argNames:
    - ae
    - plen
    - omitted
    - p
    - dp
    - len
    - p_r
    argTypes:
    - int
    - int
    - unsigned int
    - unsigned char*
    - unsigned char*
    - unsigned int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 262
    functionName: network_prefix
    functionSourceFile: /src/tcpdump/print-babel.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: int
    signature: "int network_prefix(int ae, int plen, unsigned int omitted,\n               const
      unsigned char *p, const unsigned char *dp,\n               unsigned int len,
      unsigned char *p_r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: network_prefix
      Src: /src/tcpdump/print-babel.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ae
    - a
    - len
    - a_r
    argTypes:
    - int
    - unsigned char*
    - unsigned int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: network_address
    functionSourceFile: /src/tcpdump/print-babel.c
    functionUses: 0
    functionsReached:
    - network_prefix
    linkageType: ''
    returnType: int
    signature: "int network_address(int ae, const unsigned char *a, unsigned int len,\n
      \               unsigned char *a_r)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:305,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:308,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:312,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:315,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:322,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:326,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:328,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:333,1
    - Dst: tok2str
      Src: /src/tcpdump/print-babel.c:334,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:334,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:341,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:344,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-babel.c:348,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:349,1
    - Dst: format_timestamp
      Src: /src/tcpdump/print-babel.c:349,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-babel.c:353,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:354,1
    - Dst: format_timestamp
      Src: /src/tcpdump/print-babel.c:354,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-babel.c:355,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:356,1
    - Dst: format_timestamp
      Src: /src/tcpdump/print-babel.c:356,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:358,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:362,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-babel.c:369,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 69
    argCount: 4
    argNames:
    - ndo
    - cp
    - ep
    - tlv_type
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 370
    functionName: subtlvs_print
    functionSourceFile: /src/tcpdump/print-babel.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - format_timestamp
    - ND_PRINT
    - nd_print_invalid
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void subtlvs_print(netdissect_options *ndo,\n              const u_char
      *cp, const u_char *ep, const uint8_t tlv_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: ICHECK
    functionSourceFile: /src/tcpdump/print-babel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ICHECK(i, l)
  - BBCount: 86
    BranchProfiles: []
    Callsites:
    - Dst: ICHECK
      Src: /src/tcpdump/print-babel.c:394,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:395,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:396,1
    - Dst: ICHECK
      Src: /src/tcpdump/print-babel.c:401,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-babel.c:402,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:403,1
    - Dst: ICHECK
      Src: /src/tcpdump/print-babel.c:405,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-babel.c:406,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:411,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:413,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:420,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:422,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:424,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:425,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:426,1
    - Dst: format_interval
      Src: /src/tcpdump/print-babel.c:426,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:434,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:436,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:438,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:439,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:447,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:449,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:451,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:452,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:453,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:455,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:456,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:458,1
    - Dst: format_interval
      Src: /src/tcpdump/print-babel.c:458,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:460,1
    - Dst: subtlvs_print
      Src: /src/tcpdump/print-babel.c:463,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:471,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:476,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:478,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:479,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:480,1
    - Dst: network_address
      Src: /src/tcpdump/print-babel.c:481,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-babel.c:483,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:484,1
    - Dst: format_address
      Src: /src/tcpdump/print-babel.c:485,1
    - Dst: format_interval
      Src: /src/tcpdump/print-babel.c:486,1
    - Dst: subtlvs_print
      Src: /src/tcpdump/print-babel.c:489,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:497,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:499,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:501,1
    - Dst: format_id
      Src: /src/tcpdump/print-babel.c:501,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:508,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:513,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:515,1
    - Dst: network_address
      Src: /src/tcpdump/print-babel.c:516,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:519,1
    - Dst: format_address
      Src: /src/tcpdump/print-babel.c:519,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:526,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:530,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:531,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:532,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:533,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:539,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:541,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:542,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:542,1
    - Dst: network_prefix
      Src: /src/tcpdump/print-babel.c:543,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:544,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:545,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:547,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:550,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:551,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:552,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:553,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:554,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:555,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:556,1
    - Dst: format_prefix
      Src: /src/tcpdump/print-babel.c:557,1
    - Dst: format_interval_update
      Src: /src/tcpdump/print-babel.c:558,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:559,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:560,1
    - Dst: memcpy
      Src: /src/tcpdump/print-babel.c:561,1
    - Dst: memcpy
      Src: /src/tcpdump/print-babel.c:563,1
    - Dst: subtlvs_print
      Src: /src/tcpdump/print-babel.c:567,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:574,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:578,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:580,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:581,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:581,1
    - Dst: network_prefix
      Src: /src/tcpdump/print-babel.c:582,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:583,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:586,1
    - Dst: format_prefix
      Src: /src/tcpdump/print-babel.c:587,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:594,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:599,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:601,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:602,1
    - Dst: network_prefix
      Src: /src/tcpdump/print-babel.c:603,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:604,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:607,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:607,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:608,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:609,1
    - Dst: format_prefix
      Src: /src/tcpdump/print-babel.c:610,1
    - Dst: format_id
      Src: /src/tcpdump/print-babel.c:611,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:617,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:619,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:621,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-babel.c:622,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:623,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:628,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:631,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:633,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:633,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:636,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:636,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:643,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:650,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:652,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:653,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:654,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:655,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:656,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:657,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:658,1
    - Dst: network_prefix
      Src: /src/tcpdump/print-babel.c:659,1
    - Dst: network_prefix
      Src: /src/tcpdump/print-babel.c:666,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:673,1
    - Dst: format_prefix
      Src: /src/tcpdump/print-babel.c:673,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:674,1
    - Dst: format_prefix
      Src: /src/tcpdump/print-babel.c:675,1
    - Dst: format_interval_update
      Src: /src/tcpdump/print-babel.c:676,1
    - Dst: subtlvs_print
      Src: /src/tcpdump/print-babel.c:679,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:687,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:691,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:693,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:694,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:695,1
    - Dst: network_prefix
      Src: /src/tcpdump/print-babel.c:696,1
    - Dst: network_prefix
      Src: /src/tcpdump/print-babel.c:702,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:709,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:711,1
    - Dst: format_prefix
      Src: /src/tcpdump/print-babel.c:711,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:712,1
    - Dst: format_prefix
      Src: /src/tcpdump/print-babel.c:712,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:720,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:726,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:728,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:729,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:730,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:731,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-babel.c:732,1
    - Dst: network_prefix
      Src: /src/tcpdump/print-babel.c:734,1
    - Dst: network_prefix
      Src: /src/tcpdump/print-babel.c:740,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:745,1
    - Dst: format_prefix
      Src: /src/tcpdump/print-babel.c:746,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:747,1
    - Dst: format_prefix
      Src: /src/tcpdump/print-babel.c:748,1
    - Dst: format_id
      Src: /src/tcpdump/print-babel.c:749,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:756,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:758,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:759,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:766,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:768,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:770,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-babel.c:771,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:772,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:779,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:781,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:783,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:790,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:792,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:794,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:801,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:803,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 362
    argCount: 4
    argNames:
    - ndo
    - cp
    - tlvs_length
    - packet_length_remaining
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 376
    functionDepth: 4
    functionLinenumber: 376
    functionLinenumberEnd: 815
    functionName: babel_print_v2_tlvs
    functionSourceFile: /src/tcpdump/print-babel.c
    functionUses: 0
    functionsReached:
    - network_prefix
    - format_interval_update
    - subtlvs_print
    - ND_TCHECK_2
    - GET_U_1
    - network_address
    - format_prefix
    - nd_print_trunc
    - GET_BE_U_4
    - format_address
    - GET_BE_U_2
    - memcpy
    - ND_PRINT
    - format_interval
    - ND_TCHECK_LEN
    - format_id
    - ICHECK
    linkageType: ''
    returnType: int
    signature: "int babel_print_v2_tlvs(netdissect_options *ndo,\n                    const
      u_char *cp, u_int tlvs_length,\n                    u_int packet_length_remaining)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-babel.c:824,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-babel.c:827,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:828,1
    - Dst: babel_print_v2_tlvs
      Src: /src/tcpdump/print-babel.c:835,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:845,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-babel.c:846,1
    - Dst: babel_print_v2_tlvs
      Src: /src/tcpdump/print-babel.c:847,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-babel.c:856,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-babel.c:860,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 817
    functionDepth: 5
    functionLinenumber: 817
    functionLinenumberEnd: 861
    functionName: babel_print_v2
    functionSourceFile: /src/tcpdump/print-babel.c
    functionUses: 1
    functionsReached:
    - nd_print_trunc
    - babel_print_v2_tlvs
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - ND_TCHECK_4
    linkageType: ''
    returnType: void
    signature: "void babel_print_v2(netdissect_options *ndo,\n               const
      u_char *cp, u_int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txtproto_print
      Src: /src/tcpdump/print-sip.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: sip_print
    functionSourceFile: /src/tcpdump/print-sip.c
    functionUses: 1
    functionsReached:
    - txtproto_print
    linkageType: ''
    returnType: void
    signature: void sip_print(netdissect_options *ndo, const u_char *pptr, u_int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txtproto_print
      Src: /src/tcpdump/print-whois.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: whois_print
    functionSourceFile: /src/tcpdump/print-whois.c
    functionUses: 1
    functionsReached:
    - txtproto_print
    linkageType: ''
    returnType: void
    signature: void whois_print(netdissect_options *ndo, const u_char *pptr, u_int
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msnlb.c:56,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msnlb.c:57,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-msnlb.c:57,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msnlb.c:58,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-msnlb.c:58,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-msnlb.c:59,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-msnlb.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: msnlb_print
    functionSourceFile: /src/tcpdump/print-msnlb.c
    functionUses: 1
    functionsReached:
    - GET_IPADDR_STRING
    - GET_LE_U_4
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void msnlb_print(netdissect_options *ndo, const u_char *bp)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-ip-demux.c:50,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ip-demux.c:52,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip-demux.c:55,1
    - Dst: ah_print
      Src: /src/tcpdump/print-ip-demux.c:56,1
    - Dst: esp_print
      Src: /src/tcpdump/print-ip-demux.c:65,1
    - Dst: ipcomp_print
      Src: /src/tcpdump/print-ip-demux.c:77,1
    - Dst: sctp_print
      Src: /src/tcpdump/print-ip-demux.c:88,1
    - Dst: dccp_print
      Src: /src/tcpdump/print-ip-demux.c:92,1
    - Dst: tcp_print
      Src: /src/tcpdump/print-ip-demux.c:96,1
    - Dst: udp_print
      Src: /src/tcpdump/print-ip-demux.c:100,1
    - Dst: icmp_print
      Src: /src/tcpdump/print-ip-demux.c:105,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip-demux.c:107,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ip-demux.c:108,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ip-demux.c:109,1
    - Dst: icmp6_print
      Src: /src/tcpdump/print-ip-demux.c:115,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip-demux.c:117,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ip-demux.c:118,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ip-demux.c:119,1
    - Dst: igrp_print
      Src: /src/tcpdump/print-ip-demux.c:137,1
    - Dst: eigrp_print
      Src: /src/tcpdump/print-ip-demux.c:141,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip-demux.c:145,1
    - Dst: egp_print
      Src: /src/tcpdump/print-ip-demux.c:149,1
    - Dst: ospf6_print
      Src: /src/tcpdump/print-ip-demux.c:154,1
    - Dst: ospf_print
      Src: /src/tcpdump/print-ip-demux.c:156,1
    - Dst: igmp_print
      Src: /src/tcpdump/print-ip-demux.c:161,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip-demux.c:163,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ip-demux.c:164,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ip-demux.c:165,1
    - Dst: ip_print
      Src: /src/tcpdump/print-ip-demux.c:171,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-ip-demux.c:176,1
    - Dst: rsvp_print
      Src: /src/tcpdump/print-ip-demux.c:180,1
    - Dst: gre_print
      Src: /src/tcpdump/print-ip-demux.c:184,1
    - Dst: mobile_print
      Src: /src/tcpdump/print-ip-demux.c:188,1
    - Dst: pim_print
      Src: /src/tcpdump/print-ip-demux.c:192,1
    - Dst: carp_print
      Src: /src/tcpdump/print-ip-demux.c:197,1
    - Dst: vrrp_print
      Src: /src/tcpdump/print-ip-demux.c:199,1
    - Dst: pgm_print
      Src: /src/tcpdump/print-ip-demux.c:204,1
    - Dst: ether_print
      Src: /src/tcpdump/print-ip-demux.c:209,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-ip-demux.c:209,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip-demux.c:211,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ip-demux.c:212,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ip-demux.c:213,1
    - Dst: nhrp_print
      Src: /src/tcpdump/print-ip-demux.c:218,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip-demux.c:222,1
    - Dst: netdb_protoname
      Src: /src/tcpdump/print-ip-demux.c:226,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip-demux.c:227,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip-demux.c:229,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip-demux.c:230,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 125
    argCount: 8
    argNames:
    - ndo
    - bp
    - length
    - ver
    - fragmented
    - ttl_hl
    - nh
    - iph
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    - int
    - u_int
    - uint8_t
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 35
    functionDepth: 10
    functionLinenumber: 35
    functionLinenumberEnd: 233
    functionName: ip_demux_print
    functionSourceFile: /src/tcpdump/print-ip-demux.c
    functionUses: 2
    functionsReached:
    - eigrp_print
    - ipcomp_print
    - GET_U_1
    - egp_print
    - igmp_print
    - ip6_print
    - nd_print_invalid
    - icmp_print
    - icmp6_print
    - udp_print
    - igrp_print
    - rsvp_print
    - netdb_protoname
    - ND_PRINT
    - carp_print
    - ether_print
    - ND_BYTES_AVAILABLE_AFTER
    - ip_print
    - esp_print
    - ah_print
    - ospf_print
    - gre_print
    - sctp_print
    - nhrp_print
    - tok2str
    - ND_TTEST_1
    - pgm_print
    - ospf6_print
    - nd_print_trunc
    - dccp_print
    - tcp_print
    - pim_print
    - mobile_print
    - vrrp_print
    linkageType: ''
    returnType: void
    signature: "void ip_demux_print(netdissect_options *ndo,\n\t       const u_char
      *bp,\n\t       u_int length, u_int ver, int fragmented, u_int ttl_hl,\n\t       uint8_t
      nh, const u_char *iph)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: DATA_FRAME_IS_CF_ACK
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DATA_FRAME_IS_CF_ACK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: DATA_FRAME_IS_CF_POLL
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DATA_FRAME_IS_CF_POLL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: DATA_FRAME_IS_NULL
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DATA_FRAME_IS_NULL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: DATA_FRAME_IS_QOS
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DATA_FRAME_IS_QOS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: FC_VERSION
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FC_VERSION(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: FC_TYPE
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FC_TYPE(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: FC_SUBTYPE
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FC_SUBTYPE(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: FC_TO_DS
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FC_TO_DS(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: FC_FROM_DS
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FC_FROM_DS(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: FC_MORE_FLAG
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FC_MORE_FLAG(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: FC_RETRY
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FC_RETRY(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: FC_POWER_MGMT
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FC_POWER_MGMT(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: FC_MORE_DATA
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FC_MORE_DATA(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: FC_PROTECTED
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FC_PROTECTED(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: FC_ORDER
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FC_ORDER(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: CAPABILITY_ESS
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAPABILITY_ESS(cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: CAPABILITY_IBSS
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAPABILITY_IBSS(cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: CAPABILITY_CFP
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAPABILITY_CFP(cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: CAPABILITY_CFP_REQ
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAPABILITY_CFP_REQ(cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: CAPABILITY_PRIVACY
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAPABILITY_PRIVACY(cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: IV_IV
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IV_IV(iv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 401
    functionName: IV_PAD
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IV_PAD(iv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: IV_KEYID
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IV_KEYID(iv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: PRINT_SSID
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_SSID(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _sep
    - ','
    - _r
    - ','
    - _suf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: PRINT_RATE
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_RATE(_sep, _r, _suf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 424
    functionName: PRINT_RATES
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_RATES(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: PRINT_DS_CHANNEL
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_DS_CHANNEL(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 437
    functionName: PRINT_MESHID
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_MESHID(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1133,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-802_11.c:1134,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1136,1
    - Dst: IV_IV
      Src: /src/tcpdump/print-802_11.c:1136,1
    - Dst: IV_PAD
      Src: /src/tcpdump/print-802_11.c:1136,1
    - Dst: IV_KEYID
      Src: /src/tcpdump/print-802_11.c:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1142
    functionName: wep_print
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - IV_KEYID
    - IV_PAD
    - GET_LE_U_4
    - ND_PRINT
    - IV_IV
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: int
    signature: "int wep_print(netdissect_options *ndo,\n\t  const u_char *p)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-802_11.c:1171,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:1174,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1177,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:1181,1
    - Dst: memcpy
      Src: /src/tcpdump/print-802_11.c:1189,1
    - Dst: memcpy
      Src: /src/tcpdump/print-802_11.c:1214,1
    - Dst: memcpy
      Src: /src/tcpdump/print-802_11.c:1239,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:1273,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:1297,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:1300,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1303,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1306,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:1332,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:1335,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:1338,1
    - Dst: memcpy
      Src: /src/tcpdump/print-802_11.c:1341,1
    - Dst: memcpy
      Src: /src/tcpdump/print-802_11.c:1363,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1382,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:1383,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 168
    argCount: 5
    argNames:
    - ndo
    - pbody
    - p
    - offset
    - length
    argTypes:
    - netdissect_options*
    - struct mgmt_body_t*
    - u_char*
    - int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1395
    functionName: parse_elements
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - ND_TCHECK_2
    - GET_U_1
    - memcpy
    - ND_PRINT
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: int
    signature: "int parse_elements(netdissect_options *ndo,\n\t       struct mgmt_body_t
      *pbody, const u_char *p, int offset,\n\t       u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-802_11.c:1409,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1411,1
    - Dst: memcpy
      Src: /src/tcpdump/print-802_11.c:1416,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1419,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1422,1
    - Dst: parse_elements
      Src: /src/tcpdump/print-802_11.c:1426,1
    - Dst: PRINT_SSID
      Src: /src/tcpdump/print-802_11.c:1428,1
    - Dst: PRINT_RATES
      Src: /src/tcpdump/print-802_11.c:1429,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1430,1
    - Dst: CAPABILITY_ESS
      Src: /src/tcpdump/print-802_11.c:1431,1
    - Dst: PRINT_DS_CHANNEL
      Src: /src/tcpdump/print-802_11.c:1432,1
    - Dst: PRINT_MESHID
      Src: /src/tcpdump/print-802_11.c:1433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1401
    functionDepth: 2
    functionLinenumber: 1401
    functionLinenumberEnd: 1438
    functionName: handle_beacon
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - parse_elements
    - ND_TCHECK_LEN
    - GET_LE_U_2
    - PRINT_SSID
    - PRINT_RATES
    - memcpy
    - CAPABILITY_ESS
    - ND_PRINT
    - PRINT_DS_CHANNEL
    - memset
    - PRINT_MESHID
    linkageType: ''
    returnType: int
    signature: "int handle_beacon(netdissect_options *ndo,\n\t      const u_char *p,
      u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-802_11.c:1448,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1450,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1453,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1456,1
    - Dst: parse_elements
      Src: /src/tcpdump/print-802_11.c:1460,1
    - Dst: PRINT_SSID
      Src: /src/tcpdump/print-802_11.c:1462,1
    - Dst: PRINT_RATES
      Src: /src/tcpdump/print-802_11.c:1463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1440
    functionDepth: 2
    functionLinenumber: 1440
    functionLinenumberEnd: 1467
    functionName: handle_assoc_request
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - parse_elements
    - ND_TCHECK_LEN
    - GET_LE_U_2
    - PRINT_SSID
    - PRINT_RATES
    - memset
    linkageType: ''
    returnType: int
    signature: "int handle_assoc_request(netdissect_options *ndo,\n\t\t     const
      u_char *p, u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-802_11.c:1477,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1479,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1484,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1487,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1490,1
    - Dst: parse_elements
      Src: /src/tcpdump/print-802_11.c:1494,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1496,1
    - Dst: CAPABILITY_PRIVACY
      Src: /src/tcpdump/print-802_11.c:1497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1469
    functionDepth: 2
    functionLinenumber: 1469
    functionLinenumberEnd: 1505
    functionName: handle_assoc_response
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - parse_elements
    - ND_TCHECK_LEN
    - GET_LE_U_2
    - CAPABILITY_PRIVACY
    - ND_PRINT
    - memset
    linkageType: ''
    returnType: int
    signature: "int handle_assoc_response(netdissect_options *ndo,\n\t\t      const
      u_char *p, u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-802_11.c:1515,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1517,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1522,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1525,1
    - Dst: memcpy
      Src: /src/tcpdump/print-802_11.c:1528,1
    - Dst: parse_elements
      Src: /src/tcpdump/print-802_11.c:1532,1
    - Dst: PRINT_SSID
      Src: /src/tcpdump/print-802_11.c:1534,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1535,1
    - Dst: mac48_string
      Src: /src/tcpdump/print-802_11.c:1535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1540
    functionName: handle_reassoc_request
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - parse_elements
    - ND_TCHECK_LEN
    - GET_LE_U_2
    - PRINT_SSID
    - memcpy
    - mac48_string
    - ND_PRINT
    - memset
    linkageType: ''
    returnType: int
    signature: "int handle_reassoc_request(netdissect_options *ndo,\n\t\t       const
      u_char *p, u_int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_assoc_response
      Src: /src/tcpdump/print-802_11.c:1547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1548
    functionName: handle_reassoc_response
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - handle_assoc_response
    linkageType: ''
    returnType: int
    signature: "int handle_reassoc_response(netdissect_options *ndo,\n\t\t\tconst
      u_char *p, u_int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-802_11.c:1558,1
    - Dst: parse_elements
      Src: /src/tcpdump/print-802_11.c:1560,1
    - Dst: PRINT_SSID
      Src: /src/tcpdump/print-802_11.c:1562,1
    - Dst: PRINT_RATES
      Src: /src/tcpdump/print-802_11.c:1563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1550
    functionDepth: 2
    functionLinenumber: 1550
    functionLinenumberEnd: 1566
    functionName: handle_probe_request
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - PRINT_RATES
    - memset
    - parse_elements
    - PRINT_SSID
    linkageType: ''
    returnType: int
    signature: "int handle_probe_request(netdissect_options *ndo,\n\t\t     const
      u_char *p, u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-802_11.c:1576,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1578,1
    - Dst: memcpy
      Src: /src/tcpdump/print-802_11.c:1583,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1586,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1589,1
    - Dst: parse_elements
      Src: /src/tcpdump/print-802_11.c:1593,1
    - Dst: PRINT_SSID
      Src: /src/tcpdump/print-802_11.c:1595,1
    - Dst: PRINT_RATES
      Src: /src/tcpdump/print-802_11.c:1596,1
    - Dst: PRINT_DS_CHANNEL
      Src: /src/tcpdump/print-802_11.c:1597,1
    - Dst: PRINT_MESHID
      Src: /src/tcpdump/print-802_11.c:1598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1568
    functionDepth: 2
    functionLinenumber: 1568
    functionLinenumberEnd: 1603
    functionName: handle_probe_response
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - parse_elements
    - ND_TCHECK_LEN
    - GET_LE_U_2
    - PRINT_SSID
    - PRINT_RATES
    - memcpy
    - PRINT_DS_CHANNEL
    - memset
    - PRINT_MESHID
    linkageType: ''
    returnType: int
    signature: "int handle_probe_response(netdissect_options *ndo,\n\t\t      const
      u_char *p, u_int length)"
  - 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: handle_atim
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int handle_atim(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-802_11.c:1618,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1620,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1623,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1612
    functionDepth: 1
    functionLinenumber: 1612
    functionLinenumberEnd: 1633
    functionName: handle_disassoc
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - memset
    - ND_PRINT
    - ND_TCHECK_LEN
    - GET_LE_U_2
    linkageType: ''
    returnType: int
    signature: "int handle_disassoc(netdissect_options *ndo,\n\t\tconst u_char *p,
      u_int length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-802_11.c:1643,1
    - Dst: ND_TCHECK_6
      Src: /src/tcpdump/print-802_11.c:1645,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1648,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1651,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1654,1
    - Dst: parse_elements
      Src: /src/tcpdump/print-802_11.c:1658,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1663,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1635
    functionDepth: 2
    functionLinenumber: 1635
    functionLinenumberEnd: 1688
    functionName: handle_auth
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - parse_elements
    - GET_LE_U_2
    - ND_TCHECK_6
    - ND_PRINT
    - memset
    linkageType: ''
    returnType: int
    signature: "int handle_auth(netdissect_options *ndo,\n\t    const u_char *p, u_int
      length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/print-802_11.c:1697,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1699,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1702,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1709,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1711,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:1711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - ndo
    - src
    - p
    - length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1716
    functionName: handle_deauth
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_LEN
    - GET_LE_U_2
    - GET_MAC48_STRING
    - ND_PRINT
    - memset
    linkageType: ''
    returnType: int
    signature: "int handle_deauth(netdissect_options *ndo,\n\t      const uint8_t
      *src, const u_char *p, u_int length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-802_11.c:1790,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1794,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1796,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:1796,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:1798,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1799,1
    - Dst: tok2str
      Src: /src/tcpdump/print-802_11.c:1799,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:1800,1
    - Dst: uint2tokary
      Src: /src/tcpdump/print-802_11.c:1801,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1803,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1805,1
    - Dst: tok2str
      Src: /src/tcpdump/print-802_11.c:1805,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - ndo
    - src
    - p
    - length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1783
    functionDepth: 1
    functionLinenumber: 1783
    functionLinenumberEnd: 1810
    functionName: handle_action
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - ND_TCHECK_2
    - GET_U_1
    - uint2tokary
    - GET_MAC48_STRING
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: int
    signature: "int handle_action(netdissect_options *ndo,\n\t      const uint8_t
      *src, const u_char *p, u_int length)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1822,1
    - Dst: tok2str
      Src: /src/tcpdump/print-802_11.c:1822,1
    - Dst: FC_SUBTYPE
      Src: /src/tcpdump/print-802_11.c:1822,1
    - Dst: FC_PROTECTED
      Src: /src/tcpdump/print-802_11.c:1825,1
    - Dst: wep_print
      Src: /src/tcpdump/print-802_11.c:1826,1
    - Dst: FC_SUBTYPE
      Src: /src/tcpdump/print-802_11.c:1827,1
    - Dst: handle_assoc_request
      Src: /src/tcpdump/print-802_11.c:1829,1
    - Dst: handle_assoc_response
      Src: /src/tcpdump/print-802_11.c:1831,1
    - Dst: handle_reassoc_request
      Src: /src/tcpdump/print-802_11.c:1833,1
    - Dst: handle_reassoc_response
      Src: /src/tcpdump/print-802_11.c:1835,1
    - Dst: handle_probe_request
      Src: /src/tcpdump/print-802_11.c:1837,1
    - Dst: handle_probe_response
      Src: /src/tcpdump/print-802_11.c:1839,1
    - Dst: handle_beacon
      Src: /src/tcpdump/print-802_11.c:1841,1
    - Dst: handle_atim
      Src: /src/tcpdump/print-802_11.c:1843,1
    - Dst: handle_disassoc
      Src: /src/tcpdump/print-802_11.c:1845,1
    - Dst: handle_auth
      Src: /src/tcpdump/print-802_11.c:1847,1
    - Dst: handle_deauth
      Src: /src/tcpdump/print-802_11.c:1849,1
    - Dst: handle_action
      Src: /src/tcpdump/print-802_11.c:1851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 5
    argNames:
    - ndo
    - fc
    - src
    - p
    - length
    argTypes:
    - netdissect_options*
    - uint16_t
    - uint8_t*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1818
    functionDepth: 4
    functionLinenumber: 1818
    functionLinenumberEnd: 1855
    functionName: mgmt_body_print
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - handle_atim
    - handle_reassoc_request
    - handle_disassoc
    - wep_print
    - handle_deauth
    - handle_assoc_request
    - FC_SUBTYPE
    - handle_probe_response
    - FC_PROTECTED
    - handle_action
    - handle_auth
    - ND_PRINT
    - handle_reassoc_response
    - handle_probe_request
    - handle_beacon
    - tok2str
    - handle_assoc_response
    linkageType: ''
    returnType: int
    signature: "int mgmt_body_print(netdissect_options *ndo,\n\t\tuint16_t fc, const
      uint8_t *src, const u_char *p, u_int length)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1866,1
    - Dst: tok2str
      Src: /src/tcpdump/print-802_11.c:1866,1
    - Dst: FC_SUBTYPE
      Src: /src/tcpdump/print-802_11.c:1866,1
    - Dst: FC_SUBTYPE
      Src: /src/tcpdump/print-802_11.c:1867,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1872,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1874,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:1875,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:1876,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1877,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1878,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1881,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1883,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:1884,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1887,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1888,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:1889,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1892,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1894,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:1895,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1898,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1900,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:1901,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1904,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1906,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:1907,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1910,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1912,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:1913,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_11.c:1916,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1918,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:1919,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 3
    argNames:
    - ndo
    - fc
    - p
    argTypes:
    - netdissect_options*
    - uint16_t
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1862
    functionDepth: 1
    functionLinenumber: 1862
    functionLinenumberEnd: 1925
    functionName: ctrl_body_print
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - FC_SUBTYPE
    - GET_MAC48_STRING
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    linkageType: ''
    returnType: int
    signature: "int ctrl_body_print(netdissect_options *ndo,\n\t\tuint16_t fc, const
      u_char *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FC_TO_DS
      Src: /src/tcpdump/print-802_11.c:1949,1
    - Dst: FC_FROM_DS
      Src: /src/tcpdump/print-802_11.c:1950,1
    - Dst: FC_FROM_DS
      Src: /src/tcpdump/print-802_11.c:1960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - fc
    - p
    - srcp
    - dstp
    argTypes:
    - uint16_t
    - u_char*
    - uint8_t**
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1975
    functionName: get_data_src_dst_mac
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - FC_TO_DS
    - FC_FROM_DS
    linkageType: ''
    returnType: void
    signature: "void get_data_src_dst_mac(uint16_t fc, const u_char *p, const uint8_t
      **srcp,\n\t\t     const uint8_t **dstp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - p
    - srcp
    - dstp
    argTypes:
    - u_char*
    - uint8_t**
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1986
    functionName: get_mgmt_src_dst_mac
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void get_mgmt_src_dst_mac(const u_char *p, const uint8_t **srcp, const
      uint8_t **dstp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FC_SUBTYPE
      Src: /src/tcpdump/print-802_11.c:1995,1
    - Dst: DATA_FRAME_IS_CF_ACK
      Src: /src/tcpdump/print-802_11.c:1997,1
    - Dst: DATA_FRAME_IS_CF_POLL
      Src: /src/tcpdump/print-802_11.c:1997,1
    - Dst: DATA_FRAME_IS_QOS
      Src: /src/tcpdump/print-802_11.c:1998,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:1999,1
    - Dst: DATA_FRAME_IS_CF_ACK
      Src: /src/tcpdump/print-802_11.c:2000,1
    - Dst: DATA_FRAME_IS_CF_POLL
      Src: /src/tcpdump/print-802_11.c:2001,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2002,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2004,1
    - Dst: DATA_FRAME_IS_CF_POLL
      Src: /src/tcpdump/print-802_11.c:2006,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2007,1
    - Dst: DATA_FRAME_IS_QOS
      Src: /src/tcpdump/print-802_11.c:2009,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2010,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2011,1
    - Dst: FC_TO_DS
      Src: /src/tcpdump/print-802_11.c:2019,1
    - Dst: FC_FROM_DS
      Src: /src/tcpdump/print-802_11.c:2019,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2020,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2021,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2021,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2022,1
    - Dst: FC_TO_DS
      Src: /src/tcpdump/print-802_11.c:2023,1
    - Dst: FC_FROM_DS
      Src: /src/tcpdump/print-802_11.c:2023,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2024,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2025,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2025,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2026,1
    - Dst: FC_TO_DS
      Src: /src/tcpdump/print-802_11.c:2027,1
    - Dst: FC_FROM_DS
      Src: /src/tcpdump/print-802_11.c:2027,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2028,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2029,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2029,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2030,1
    - Dst: FC_TO_DS
      Src: /src/tcpdump/print-802_11.c:2031,1
    - Dst: FC_FROM_DS
      Src: /src/tcpdump/print-802_11.c:2031,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2032,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2033,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2033,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2034,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2034,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - ndo
    - fc
    - p
    argTypes:
    - netdissect_options*
    - uint16_t
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 1992
    functionDepth: 1
    functionLinenumber: 1992
    functionLinenumberEnd: 2041
    functionName: data_header_print
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - FC_TO_DS
    - FC_SUBTYPE
    - DATA_FRAME_IS_QOS
    - FC_FROM_DS
    - GET_MAC48_STRING
    - ND_PRINT
    - DATA_FRAME_IS_CF_ACK
    - DATA_FRAME_IS_CF_POLL
    linkageType: ''
    returnType: void
    signature: void data_header_print(netdissect_options *ndo, uint16_t fc, const
      u_char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2048,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2049,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2049,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2043
    functionDepth: 1
    functionLinenumber: 2043
    functionLinenumberEnd: 2051
    functionName: mgmt_header_print
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - GET_MAC48_STRING
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void mgmt_header_print(netdissect_options *ndo, const u_char *p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FC_SUBTYPE
      Src: /src/tcpdump/print-802_11.c:2056,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2058,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2059,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2060,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:2061,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:2062,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2065,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2066,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2067,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2070,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2071,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2072,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2075,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2076,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2077,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2080,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2081,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2084,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2085,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2088,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2089,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2090,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2093,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2094,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2095,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - ndo
    - fc
    - p
    argTypes:
    - netdissect_options*
    - uint16_t
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2053
    functionDepth: 1
    functionLinenumber: 2053
    functionLinenumberEnd: 2101
    functionName: ctrl_header_print
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - GET_MAC48_STRING
    - ND_PRINT
    - FC_SUBTYPE
    - GET_LE_U_2
    linkageType: ''
    returnType: void
    signature: void ctrl_header_print(netdissect_options *ndo, uint16_t fc, const
      u_char *p)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: FC_TYPE
      Src: /src/tcpdump/print-802_11.c:2109,1
    - Dst: FC_ORDER
      Src: /src/tcpdump/print-802_11.c:2114,1
    - Dst: FC_SUBTYPE
      Src: /src/tcpdump/print-802_11.c:2118,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2139,1
    - Dst: FC_SUBTYPE
      Src: /src/tcpdump/print-802_11.c:2139,1
    - Dst: FC_TO_DS
      Src: /src/tcpdump/print-802_11.c:2143,1
    - Dst: FC_FROM_DS
      Src: /src/tcpdump/print-802_11.c:2143,1
    - Dst: DATA_FRAME_IS_QOS
      Src: /src/tcpdump/print-802_11.c:2144,1
    - Dst: FC_SUBTYPE
      Src: /src/tcpdump/print-802_11.c:2144,1
    - Dst: FC_ORDER
      Src: /src/tcpdump/print-802_11.c:2148,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2153,1
    - Dst: FC_TYPE
      Src: /src/tcpdump/print-802_11.c:2153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 2
    argNames:
    - ndo
    - fc
    argTypes:
    - netdissect_options*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2103
    functionDepth: 1
    functionLinenumber: 2103
    functionLinenumberEnd: 2156
    functionName: extract_header_length
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - FC_TO_DS
    - FC_SUBTYPE
    - FC_FROM_DS
    - DATA_FRAME_IS_QOS
    - ND_PRINT
    - FC_ORDER
    - FC_TYPE
    linkageType: ''
    returnType: int
    signature: "int extract_header_length(netdissect_options *ndo,\n\t\t      uint16_t
      fc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:2161,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:2161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - p
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2158
    functionDepth: 1
    functionLinenumber: 2158
    functionLinenumberEnd: 2162
    functionName: extract_mesh_header_length
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    linkageType: ''
    returnType: int
    signature: int extract_mesh_header_length(netdissect_options *ndo, const u_char
      *p)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: FC_MORE_DATA
      Src: /src/tcpdump/print-802_11.c:2173,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2174,1
    - Dst: FC_MORE_FLAG
      Src: /src/tcpdump/print-802_11.c:2175,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2176,1
    - Dst: FC_POWER_MGMT
      Src: /src/tcpdump/print-802_11.c:2177,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2178,1
    - Dst: FC_RETRY
      Src: /src/tcpdump/print-802_11.c:2179,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2180,1
    - Dst: FC_ORDER
      Src: /src/tcpdump/print-802_11.c:2181,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2182,1
    - Dst: FC_PROTECTED
      Src: /src/tcpdump/print-802_11.c:2183,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2184,1
    - Dst: FC_TYPE
      Src: /src/tcpdump/print-802_11.c:2185,1
    - Dst: FC_SUBTYPE
      Src: /src/tcpdump/print-802_11.c:2185,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2186,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:2187,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:2192,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2194,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_11.c:2195,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-802_11.c:2195,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2197,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2197,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2199,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2199,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2201,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-802_11.c:2201,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2202,1
    - Dst: FC_TYPE
      Src: /src/tcpdump/print-802_11.c:2205,1
    - Dst: mgmt_header_print
      Src: /src/tcpdump/print-802_11.c:2207,1
    - Dst: ctrl_header_print
      Src: /src/tcpdump/print-802_11.c:2210,1
    - Dst: data_header_print
      Src: /src/tcpdump/print-802_11.c:2213,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 5
    argNames:
    - ndo
    - fc
    - p
    - hdrlen
    - meshdrlen
    argTypes:
    - netdissect_options*
    - uint16_t
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2167
    functionDepth: 2
    functionLinenumber: 2167
    functionLinenumberEnd: 2218
    functionName: ieee_802_11_hdr_print
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - GET_U_1
    - FC_MORE_DATA
    - FC_POWER_MGMT
    - GET_LE_U_4
    - FC_SUBTYPE
    - FC_RETRY
    - FC_MORE_FLAG
    - FC_PROTECTED
    - GET_MAC48_STRING
    - ND_PRINT
    - FC_ORDER
    - ctrl_header_print
    - FC_TYPE
    - mgmt_header_print
    - data_header_print
    linkageType: ''
    returnType: void
    signature: "void ieee_802_11_hdr_print(netdissect_options *ndo,\n\t\t      uint16_t
      fc, const u_char *p, u_int hdrlen,\n\t\t      u_int meshdrlen)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:2234,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:2246,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:2250,1
    - Dst: extract_header_length
      Src: /src/tcpdump/print-802_11.c:2251,1
    - Dst: roundup2
      Src: /src/tcpdump/print-802_11.c:2257,1
    - Dst: FC_TYPE
      Src: /src/tcpdump/print-802_11.c:2258,1
    - Dst: DATA_FRAME_IS_QOS
      Src: /src/tcpdump/print-802_11.c:2259,1
    - Dst: FC_SUBTYPE
      Src: /src/tcpdump/print-802_11.c:2259,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/print-802_11.c:2260,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:2261,1
    - Dst: extract_mesh_header_length
      Src: /src/tcpdump/print-802_11.c:2264,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:2270,1
    - Dst: ieee_802_11_hdr_print
      Src: /src/tcpdump/print-802_11.c:2275,1
    - Dst: FC_TYPE
      Src: /src/tcpdump/print-802_11.c:2286,1
    - Dst: get_mgmt_src_dst_mac
      Src: /src/tcpdump/print-802_11.c:2288,1
    - Dst: mgmt_body_print
      Src: /src/tcpdump/print-802_11.c:2289,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:2290,1
    - Dst: ctrl_body_print
      Src: /src/tcpdump/print-802_11.c:2295,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:2296,1
    - Dst: DATA_FRAME_IS_NULL
      Src: /src/tcpdump/print-802_11.c:2301,1
    - Dst: FC_SUBTYPE
      Src: /src/tcpdump/print-802_11.c:2301,1
    - Dst: FC_PROTECTED
      Src: /src/tcpdump/print-802_11.c:2304,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2305,1
    - Dst: wep_print
      Src: /src/tcpdump/print-802_11.c:2306,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:2307,1
    - Dst: get_data_src_dst_mac
      Src: /src/tcpdump/print-802_11.c:2311,1
    - Dst: llc_print
      Src: /src/tcpdump/print-802_11.c:2312,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-802_11.c:2319,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 82
    argCount: 6
    argNames:
    - ndo
    - p
    - length
    - orig_caplen
    - pad
    - fcslen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    - int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2220
    functionDepth: 5
    functionLinenumber: 2220
    functionLinenumberEnd: 2331
    functionName: ieee802_11_print
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - extract_header_length
    - roundup2
    - FC_SUBTYPE
    - get_data_src_dst_mac
    - llc_print
    - ctrl_body_print
    - extract_mesh_header_length
    - FC_PROTECTED
    - ND_PRINT
    - get_mgmt_src_dst_mac
    - wep_print
    - mgmt_body_print
    - DATA_FRAME_IS_NULL
    - ND_DEFAULTPRINT
    - ND_TTEST_1
    - ieee_802_11_hdr_print
    - nd_print_trunc
    - DATA_FRAME_IS_QOS
    - FC_TYPE
    linkageType: ''
    returnType: u_int
    signature: "u_int ieee802_11_print(netdissect_options *ndo,\n\t\t const u_char
      *p, u_int length, u_int orig_caplen, int pad,\n\t\t u_int fcslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_print
      Src: /src/tcpdump/print-802_11.c:2344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2339
    functionDepth: 6
    functionLinenumber: 2339
    functionLinenumberEnd: 2345
    functionName: ieee802_11_if_print
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - ieee802_11_print
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_if_print(netdissect_options *ndo,\n\t\t    const struct
      pcap_pkthdr *h, const u_char *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2703
      start: 2701
    functionDepth: 0
    functionLinenumber: 2701
    functionLinenumberEnd: 2703
    functionName: IS_CHAN_FHSS
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CHAN_FHSS(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2705
    functionName: IS_CHAN_A
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CHAN_A(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2705
    functionDepth: 0
    functionLinenumber: 2705
    functionLinenumberEnd: 2707
    functionName: IS_CHAN_B
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CHAN_B(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2709
    functionName: IS_CHAN_PUREG
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CHAN_PUREG(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2709
    functionDepth: 0
    functionLinenumber: 2709
    functionLinenumberEnd: 2711
    functionName: IS_CHAN_G
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CHAN_G(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2713
    functionName: IS_CHAN_ANYG
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CHAN_ANYG(flags)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2718,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2724,1
    - Dst: IS_CHAN_FHSS
      Src: /src/tcpdump/print-802_11.c:2726,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2727,1
    - Dst: IS_CHAN_A
      Src: /src/tcpdump/print-802_11.c:2728,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2730,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2732,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2734,1
    - Dst: IS_CHAN_ANYG
      Src: /src/tcpdump/print-802_11.c:2736,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2738,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2740,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2742,1
    - Dst: IS_CHAN_B
      Src: /src/tcpdump/print-802_11.c:2743,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2744,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2746,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2752,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2754,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2756,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2757,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - ndo
    - freq
    - flags
    - presentflags
    argTypes:
    - netdissect_options*
    - uint16_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2714
    functionDepth: 1
    functionLinenumber: 2714
    functionLinenumberEnd: 2758
    functionName: print_chaninfo
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - IS_CHAN_FHSS
    - IS_CHAN_B
    - IS_CHAN_A
    - ND_PRINT
    - IS_CHAN_ANYG
    linkageType: ''
    returnType: void
    signature: "void print_chaninfo(netdissect_options *ndo,\n\t       uint16_t freq,
      uint32_t flags, uint32_t presentflags)"
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: nd_cpack_uint64
      Src: /src/tcpdump/print-802_11.c:2773,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2776,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:2783,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2788,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2790,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2792,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2794,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2796,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:2803,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2844,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2846,1
    - Dst: nd_cpack_uint16
      Src: /src/tcpdump/print-802_11.c:2854,1
    - Dst: nd_cpack_uint16
      Src: /src/tcpdump/print-802_11.c:2857,1
    - Dst: print_chaninfo
      Src: /src/tcpdump/print-802_11.c:2866,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:2874,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:2877,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2880,1
    - Dst: nd_cpack_int8
      Src: /src/tcpdump/print-802_11.c:2887,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2890,1
    - Dst: nd_cpack_int8
      Src: /src/tcpdump/print-802_11.c:2897,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2900,1
    - Dst: nd_cpack_uint16
      Src: /src/tcpdump/print-802_11.c:2907,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2910,1
    - Dst: nd_cpack_int16
      Src: /src/tcpdump/print-802_11.c:2917,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2920,1
    - Dst: nd_cpack_int8
      Src: /src/tcpdump/print-802_11.c:2927,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2930,1
    - Dst: nd_cpack_int8
      Src: /src/tcpdump/print-802_11.c:2937,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2940,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:2947,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2950,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:2957,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2960,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:2967,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:2970,1
    - Dst: nd_cpack_uint16
      Src: /src/tcpdump/print-802_11.c:2977,1
    - Dst: nd_cpack_uint32
      Src: /src/tcpdump/print-802_11.c:2990,1
    - Dst: nd_cpack_uint16
      Src: /src/tcpdump/print-802_11.c:2993,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:2996,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:2999,1
    - Dst: print_chaninfo
      Src: /src/tcpdump/print-802_11.c:3002,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:3018,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:3021,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:3024,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:3065,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:3071,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:3075,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:3079,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:3084,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:3089,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:3094,1
    - Dst: nd_cpack_uint32
      Src: /src/tcpdump/print-802_11.c:3106,1
    - Dst: nd_cpack_uint16
      Src: /src/tcpdump/print-802_11.c:3109,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:3112,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:3115,1
    - Dst: nd_cpack_uint16
      Src: /src/tcpdump/print-802_11.c:3165,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:3168,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:3171,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:3175,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:3179,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:3182,1
    - Dst: nd_cpack_uint16
      Src: /src/tcpdump/print-802_11.c:3185,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:3196,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:3197,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:3202,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:3206,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_11.c:3218,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3225,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 285
    argCount: 5
    argNames:
    - ndo
    - s
    - bit
    - flagsp
    - presentflags
    argTypes:
    - netdissect_options*
    - struct cpack_state*
    - uint32_t
    - uint8_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3227
      start: 2760
    functionDepth: 2
    functionLinenumber: 2760
    functionLinenumberEnd: 3227
    functionName: print_radiotap_field
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - nd_cpack_int8
    - nd_print_trunc
    - nd_cpack_uint16
    - nd_cpack_int16
    - ND_PRINT
    - print_chaninfo
    - nd_cpack_uint8
    - nd_cpack_uint32
    - nd_cpack_uint64
    linkageType: ''
    returnType: int
    signature: "int print_radiotap_field(netdissect_options *ndo,\n\t\t     struct
      cpack_state *s, uint32_t bit, uint8_t *flagsp,\n\t\t     uint32_t presentflags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BITNO_32
      Src: /src/tcpdump/print-802_11.c:3256,1
    - Dst: print_radiotap_field
      Src: /src/tcpdump/print-802_11.c:3270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - ndo
    - s
    - flags
    - presentflags
    - bit0
    argTypes:
    - netdissect_options*
    - struct cpack_state*
    - uint8_t*
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 3230
    functionDepth: 3
    functionLinenumber: 3230
    functionLinenumberEnd: 3276
    functionName: print_in_radiotap_namespace
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - print_radiotap_field
    - BITNO_32
    linkageType: ''
    returnType: int
    signature: "int print_in_radiotap_namespace(netdissect_options *ndo,\n\t\t\t    struct
      cpack_state *s, uint8_t *flags,\n\t\t\t    uint32_t presentflags, int bit0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3236
      start: 3235
    functionDepth: 0
    functionLinenumber: 3235
    functionLinenumberEnd: 3236
    functionName: BITNO_32
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITNO_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3237
      start: 3236
    functionDepth: 0
    functionLinenumber: 3236
    functionLinenumberEnd: 3237
    functionName: BITNO_16
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITNO_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3238
      start: 3237
    functionDepth: 0
    functionLinenumber: 3237
    functionLinenumberEnd: 3238
    functionName: BITNO_8
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITNO_8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3239
      start: 3238
    functionDepth: 0
    functionLinenumber: 3238
    functionLinenumberEnd: 3239
    functionName: BITNO_4
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITNO_4(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3239
    functionDepth: 0
    functionLinenumber: 3239
    functionLinenumberEnd: 3240
    functionName: BITNO_2
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITNO_2(x)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3302,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_11.c:3308,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3315,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3323,1
    - Dst: nd_cpack_init
      Src: /src/tcpdump/print-802_11.c:3326,1
    - Dst: nd_cpack_advance
      Src: /src/tcpdump/print-802_11.c:3327,1
    - Dst: IS_EXTENDED
      Src: /src/tcpdump/print-802_11.c:3330,1
    - Dst: nd_cpack_advance
      Src: /src/tcpdump/print-802_11.c:3332,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3336,1
    - Dst: memset
      Src: /src/tcpdump/print-802_11.c:3345,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-802_11.c:3356,1
    - Dst: nd_cpack_advance
      Src: /src/tcpdump/print-802_11.c:3368,1
    - Dst: print_in_radiotap_namespace
      Src: /src/tcpdump/print-802_11.c:3381,1
    - Dst: BIT
      Src: /src/tcpdump/print-802_11.c:3396,1
    - Dst: BIT
      Src: /src/tcpdump/print-802_11.c:3396,1
    - Dst: BIT
      Src: /src/tcpdump/print-802_11.c:3407,1
    - Dst: memset
      Src: /src/tcpdump/print-802_11.c:3416,1
    - Dst: BIT
      Src: /src/tcpdump/print-802_11.c:3421,1
    - Dst: nd_cpack_align_and_reserve
      Src: /src/tcpdump/print-802_11.c:3431,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3432,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:3435,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3436,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:3439,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3440,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:3443,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3444,1
    - Dst: nd_cpack_uint8
      Src: /src/tcpdump/print-802_11.c:3447,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3448,1
    - Dst: nd_cpack_uint16
      Src: /src/tcpdump/print-802_11.c:3451,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3452,1
    - Dst: ieee802_11_print
      Src: /src/tcpdump/print-802_11.c:3471,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 4
    argNames:
    - ndo
    - p
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3479
      start: 3278
    functionDepth: 6
    functionLinenumber: 3278
    functionLinenumberEnd: 3479
    functionName: ieee802_11_radio_print
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - ieee802_11_print
    - nd_cpack_align_and_reserve
    - GET_LE_U_2
    - GET_LE_U_4
    - nd_print_trunc
    - nd_cpack_advance
    - nd_cpack_uint16
    - nd_cpack_init
    - BIT
    - print_in_radiotap_namespace
    - memset
    - nd_cpack_uint8
    - IS_EXTENDED
    linkageType: ''
    returnType: u_int
    signature: "u_int ieee802_11_radio_print(netdissect_options *ndo,\n\t\t       const
      u_char *p, u_int length, u_int caplen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3283
      start: 3282
    functionDepth: 0
    functionLinenumber: 3282
    functionLinenumberEnd: 3283
    functionName: BIT
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - __p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3285
      start: 3283
    functionDepth: 0
    functionLinenumber: 3283
    functionLinenumberEnd: 3285
    functionName: IS_EXTENDED
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_EXTENDED(__p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3489,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-802_11.c:3493,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3500,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3505,1
    - Dst: ieee802_11_print
      Src: /src/tcpdump/print-802_11.c:3509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ndo
    - p
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3511
      start: 3481
    functionDepth: 6
    functionLinenumber: 3481
    functionLinenumberEnd: 3511
    functionName: ieee802_11_radio_avs_print
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - ieee802_11_print
    - nd_print_trunc
    - GET_BE_U_4
    linkageType: ''
    returnType: u_int
    signature: "u_int ieee802_11_radio_avs_print(netdissect_options *ndo,\n\t\t\t
      \  const u_char *p, u_int length, u_int caplen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3542,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-802_11.c:3547,1
    - Dst: ieee802_11_radio_avs_print
      Src: /src/tcpdump/print-802_11.c:3550,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_11.c:3555,1
    - Dst: ieee802_11_print
      Src: /src/tcpdump/print-802_11.c:3564,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3565
      start: 3532
    functionDepth: 7
    functionLinenumber: 3532
    functionLinenumberEnd: 3565
    functionName: prism_if_print
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - ieee802_11_print
    - ieee802_11_radio_avs_print
    - nd_print_trunc
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void prism_if_print(netdissect_options *ndo,\n\t       const struct
      pcap_pkthdr *h, const u_char *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_radio_print
      Src: /src/tcpdump/print-802_11.c:3576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3571
    functionDepth: 7
    functionLinenumber: 3571
    functionLinenumberEnd: 3577
    functionName: ieee802_11_radio_if_print
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - ieee802_11_radio_print
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_radio_if_print(netdissect_options *ndo,\n\t\t\t  const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_11_radio_avs_print
      Src: /src/tcpdump/print-802_11.c:3589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3590
      start: 3584
    functionDepth: 7
    functionLinenumber: 3584
    functionLinenumberEnd: 3590
    functionName: ieee802_11_radio_avs_if_print
    functionSourceFile: /src/tcpdump/print-802_11.c
    functionUses: 0
    functionsReached:
    - ieee802_11_radio_avs_print
    linkageType: ''
    returnType: void
    signature: "void ieee802_11_radio_avs_if_print(netdissect_options *ndo,\n\t\t\t
      \     const struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: OF_FWD
    functionSourceFile: /src/tcpdump/openflow.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OF_FWD(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: OF_CHK_FWD
    functionSourceFile: /src/tcpdump/openflow.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OF_CHK_FWD(n)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-egp.c:157,1
    - Dst: IN_CLASSA
      Src: /src/tcpdump/print-egp.c:158,1
    - Dst: IN_CLASSB
      Src: /src/tcpdump/print-egp.c:161,1
    - Dst: IN_CLASSC
      Src: /src/tcpdump/print-egp.c:164,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:174,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:175,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-egp.c:180,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-egp.c:181,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:185,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:189,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:193,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-egp.c:199,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:200,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:203,1
    - Dst: ipaddr_string
      Src: /src/tcpdump/print-egp.c:205,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:208,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-egp.c:210,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:211,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:211,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:214,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-egp.c:219,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:220,1
    - Dst: IN_CLASSB
      Src: /src/tcpdump/print-egp.c:223,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-egp.c:224,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:225,1
    - Dst: IN_CLASSA
      Src: /src/tcpdump/print-egp.c:228,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-egp.c:229,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:230,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:232,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:236,1
    - Dst: ipaddr_string
      Src: /src/tcpdump/print-egp.c:236,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:241,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-egp.c:245,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 85
    argCount: 3
    argNames:
    - ndo
    - egp
    - length
    argTypes:
    - netdissect_options*
    - struct egp_packet*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 246
    functionName: egpnr_print
    functionSourceFile: /src/tcpdump/print-egp.c
    functionUses: 0
    functionsReached:
    - ipaddr_string
    - ND_TCHECK_LEN
    - nd_print_invalid
    - GET_U_1
    - IN_CLASSA
    - IN_CLASSC
    - ND_PRINT
    - GET_IPV4_TO_NETWORK_ORDER
    - ND_ICHECK_U
    - IN_CLASSB
    linkageType: ''
    returnType: void
    signature: "void egpnr_print(netdissect_options *ndo,\n           const struct
      egp_packet *egp, u_int length)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-egp.c:259,1
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-egp.c:262,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:264,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-egp.c:265,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-egp.c:266,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:268,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:270,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-egp.c:271,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-egp.c:272,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:275,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:279,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:280,1
    - Dst: tok2str
      Src: /src/tcpdump/print-egp.c:280,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:281,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:282,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:286,1
    - Dst: tok2str
      Src: /src/tcpdump/print-egp.c:286,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:294,1
    - Dst: tok2str
      Src: /src/tcpdump/print-egp.c:294,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:298,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:301,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-egp.c:302,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-egp.c:303,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:316,1
    - Dst: tok2str
      Src: /src/tcpdump/print-egp.c:316,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:320,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:328,1
    - Dst: tok2str
      Src: /src/tcpdump/print-egp.c:328,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:332,1
    - Dst: tok2str
      Src: /src/tcpdump/print-egp.c:332,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:338,1
    - Dst: tok2str
      Src: /src/tcpdump/print-egp.c:338,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:339,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-egp.c:339,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:345,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:347,1
    - Dst: tok2str
      Src: /src/tcpdump/print-egp.c:347,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:348,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-egp.c:349,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:350,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-egp.c:351,1
    - Dst: egpnr_print
      Src: /src/tcpdump/print-egp.c:353,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:357,1
    - Dst: tok2str
      Src: /src/tcpdump/print-egp.c:357,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-egp.c:358,1
    - Dst: tok2str
      Src: /src/tcpdump/print-egp.c:358,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-egp.c:358,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-egp.c:363,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 88
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 248
    functionDepth: 4
    functionLinenumber: 248
    functionLinenumberEnd: 364
    functionName: egp_print
    functionSourceFile: /src/tcpdump/print-egp.c
    functionUses: 1
    functionsReached:
    - GET_IPADDR_STRING
    - tok2str
    - GET_U_1
    - nd_print_protocol_caps
    - GET_BE_U_2
    - ND_PRINT
    - ND_ICHECK_ZU
    - nd_print_invalid
    - ND_ICHECK_U
    - egpnr_print
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void egp_print(netdissect_options *ndo,\n          const uint8_t *bp,
      u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-pktap.c:78,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-pktap.c:79,1
    - Dst: pcap_datalink_val_to_name
      Src: /src/tcpdump/print-pktap.c:80,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pktap.c:82,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pktap.c:85,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pktap.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: pktap_header_print
    functionSourceFile: /src/tcpdump/print-pktap.c
    functionUses: 0
    functionsReached:
    - pcap_datalink_val_to_name
    - GET_LE_U_4
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void pktap_header_print(netdissect_options *ndo, const u_char *bp,
      u_int length)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pktap.c:110,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-pktap.c:115,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-pktap.c:116,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pktap.c:125,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pktap.c:130,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-pktap.c:134,1
    - Dst: pktap_header_print
      Src: /src/tcpdump/print-pktap.c:137,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-pktap.c:143,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-pktap.c:147,1
    - Dst: lookup_printer
      Src: /src/tcpdump/print-pktap.c:151,1
    - Dst: printer
      Src: /src/tcpdump/print-pktap.c:156,1
    - Dst: pktap_header_print
      Src: /src/tcpdump/print-pktap.c:160,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-pktap.c:164,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-pktap.c:173,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 174
    functionName: pktap_if_print
    functionSourceFile: /src/tcpdump/print-pktap.c
    functionUses: 0
    functionsReached:
    - pktap_header_print
    - printer
    - nd_print_invalid
    - lookup_printer
    - GET_LE_U_4
    - ND_PRINT
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: void
    signature: "void pktap_if_print(netdissect_options *ndo,\n               const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:157,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:158,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-aodv.c:162,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:165,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:168,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-aodv.c:169,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:173,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-aodv.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - ndo
    - ep
    - length
    argTypes:
    - netdissect_options*
    - struct aodv_ext*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 180
    functionName: aodv_extension
    functionSourceFile: /src/tcpdump/print-aodv.c
    functionUses: 0
    functionsReached:
    - ND_ICHECKMSG_ZU
    - GET_U_1
    - ND_PRINT
    - nd_print_invalid
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void aodv_extension(netdissect_options *ndo,\n               const
      struct aodv_ext *ep, u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-aodv.c:188,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:189,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:191,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:192,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:193,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:194,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:195,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:196,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-aodv.c:197,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-aodv.c:198,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-aodv.c:199,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-aodv.c:200,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-aodv.c:201,1
    - Dst: aodv_extension
      Src: /src/tcpdump/print-aodv.c:204,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-aodv.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 209
    functionName: aodv_rreq
    functionSourceFile: /src/tcpdump/print-aodv.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ND_ICHECKMSG_ZU
    - GET_U_1
    - aodv_extension
    - ND_PRINT
    - nd_print_invalid
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void aodv_rreq(netdissect_options *ndo, const u_char *dat, u_int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-aodv.c:217,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:218,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:220,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:221,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:222,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:223,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-aodv.c:224,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-aodv.c:225,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-aodv.c:226,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-aodv.c:227,1
    - Dst: aodv_extension
      Src: /src/tcpdump/print-aodv.c:230,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-aodv.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 235
    functionName: aodv_rrep
    functionSourceFile: /src/tcpdump/print-aodv.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ND_ICHECKMSG_ZU
    - GET_U_1
    - aodv_extension
    - ND_PRINT
    - nd_print_invalid
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void aodv_rrep(netdissect_options *ndo, const u_char *dat, u_int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-aodv.c:244,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:245,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:246,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:247,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:250,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-aodv.c:251,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:252,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-aodv.c:252,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-aodv.c:253,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-aodv.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 261
    functionName: aodv_rerr
    functionSourceFile: /src/tcpdump/print-aodv.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ND_ICHECKMSG_ZU
    - GET_U_1
    - ND_PRINT
    - nd_print_invalid
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void aodv_rerr(netdissect_options *ndo, const u_char *dat, u_int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-aodv.c:269,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:270,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:272,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:273,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:274,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:275,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:276,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:277,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-aodv.c:278,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-aodv.c:279,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-aodv.c:280,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-aodv.c:281,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-aodv.c:282,1
    - Dst: aodv_extension
      Src: /src/tcpdump/print-aodv.c:285,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-aodv.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 290
    functionName: aodv_v6_rreq
    functionSourceFile: /src/tcpdump/print-aodv.c
    functionUses: 0
    functionsReached:
    - ND_ICHECKMSG_ZU
    - GET_U_1
    - GET_IP6ADDR_STRING
    - aodv_extension
    - ND_PRINT
    - nd_print_invalid
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void aodv_v6_rreq(netdissect_options *ndo, const u_char *dat, u_int
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-aodv.c:298,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:299,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:301,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:302,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:303,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:304,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-aodv.c:305,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-aodv.c:306,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-aodv.c:307,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-aodv.c:308,1
    - Dst: aodv_extension
      Src: /src/tcpdump/print-aodv.c:311,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-aodv.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 316
    functionName: aodv_v6_rrep
    functionSourceFile: /src/tcpdump/print-aodv.c
    functionUses: 0
    functionsReached:
    - ND_ICHECKMSG_ZU
    - GET_U_1
    - GET_IP6ADDR_STRING
    - aodv_extension
    - ND_PRINT
    - nd_print_invalid
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void aodv_v6_rrep(netdissect_options *ndo, const u_char *dat, u_int
      length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-aodv.c:325,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:326,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:327,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:328,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:331,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-aodv.c:332,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:333,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-aodv.c:333,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-aodv.c:334,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-aodv.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - ndo
    - dat
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 342
    functionName: aodv_v6_rerr
    functionSourceFile: /src/tcpdump/print-aodv.c
    functionUses: 0
    functionsReached:
    - ND_ICHECKMSG_ZU
    - GET_U_1
    - GET_IP6ADDR_STRING
    - ND_PRINT
    - nd_print_invalid
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void aodv_v6_rerr(netdissect_options *ndo, const u_char *dat, u_int
      length)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:351,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-aodv.c:357,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:358,1
    - Dst: tok2str
      Src: /src/tcpdump/print-aodv.c:358,1
    - Dst: aodv_v6_rreq
      Src: /src/tcpdump/print-aodv.c:364,1
    - Dst: aodv_rreq
      Src: /src/tcpdump/print-aodv.c:366,1
    - Dst: aodv_v6_rrep
      Src: /src/tcpdump/print-aodv.c:371,1
    - Dst: aodv_rrep
      Src: /src/tcpdump/print-aodv.c:373,1
    - Dst: aodv_v6_rerr
      Src: /src/tcpdump/print-aodv.c:378,1
    - Dst: aodv_rerr
      Src: /src/tcpdump/print-aodv.c:380,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:384,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-aodv.c:388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - ndo
    - dat
    - length
    - is_ip6
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 390
    functionName: aodv_print
    functionSourceFile: /src/tcpdump/print-aodv.c
    functionUses: 1
    functionsReached:
    - aodv_rerr
    - aodv_v6_rreq
    - aodv_rrep
    - GET_U_1
    - aodv_v6_rerr
    - aodv_v6_rrep
    - ND_PRINT
    - aodv_rreq
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void aodv_print(netdissect_options *ndo,\n           const u_char
      *dat, u_int length, int is_ip6)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:156,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sll.c:157,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sll.c:157,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sll.c:164,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:165,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-sll.c:165,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sll.c:168,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:180,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:187,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:194,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:199,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sll.c:200,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ndo
    - sllp
    - length
    argTypes:
    - netdissect_options*
    - struct sll_header*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 205
    functionName: sll_print
    functionSourceFile: /src/tcpdump/print-sll.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - GET_MAC48_STRING
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void sll_print(netdissect_options *ndo, const struct sll_header *sllp,
      u_int length)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-sll.c:225,1
    - Dst: sll_print
      Src: /src/tcpdump/print-sll.c:230,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sll.c:240,1
    - Dst: ieee802_11_radio_print
      Src: /src/tcpdump/print-sll.c:249,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sll.c:252,1
    - Dst: ipx_print
      Src: /src/tcpdump/print-sll.c:269,1
    - Dst: llc_print
      Src: /src/tcpdump/print-sll.c:277,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-sll.c:289,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-sll.c:299,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sll.c:304,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:306,1
    - Dst: ieee8021q_tci_string
      Src: /src/tcpdump/print-sll.c:306,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sll.c:309,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:313,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sll.c:314,1
    - Dst: ethertype_print
      Src: /src/tcpdump/print-sll.c:322,1
    - Dst: sll_print
      Src: /src/tcpdump/print-sll.c:325,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-sll.c:327,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 213
    functionDepth: 7
    functionLinenumber: 213
    functionLinenumberEnd: 332
    functionName: sll_if_print
    functionSourceFile: /src/tcpdump/print-sll.c
    functionUses: 0
    functionsReached:
    - ieee802_11_radio_print
    - tok2str
    - ieee8021q_tci_string
    - sll_print
    - nd_print_trunc
    - GET_BE_U_2
    - ipx_print
    - ND_PRINT
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    - ethertype_print
    - llc_print
    linkageType: ''
    returnType: void
    signature: void sll_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:340,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sll.c:340,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sll.c:347,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:348,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-sll.c:348,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sll.c:351,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:363,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:370,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:377,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:382,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sll.c:383,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ndo
    - sllp
    - length
    argTypes:
    - netdissect_options*
    - struct sll2_header*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 388
    functionName: sll2_print
    functionSourceFile: /src/tcpdump/print-sll.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - GET_MAC48_STRING
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void sll2_print(netdissect_options *ndo, const struct sll2_header *sllp,
      u_int length)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-sll.c:425,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sll.c:429,1
    - Dst: if_indextoname
      Src: /src/tcpdump/print-sll.c:430,1
    - Dst: strncpy
      Src: /src/tcpdump/print-sll.c:431,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:432,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:435,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sll.c:436,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-sll.c:436,1
    - Dst: sll2_print
      Src: /src/tcpdump/print-sll.c:439,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sll.c:449,1
    - Dst: ieee802_11_radio_print
      Src: /src/tcpdump/print-sll.c:458,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sll.c:461,1
    - Dst: ipx_print
      Src: /src/tcpdump/print-sll.c:478,1
    - Dst: llc_print
      Src: /src/tcpdump/print-sll.c:486,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-sll.c:498,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-sll.c:508,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sll.c:513,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:515,1
    - Dst: ieee8021q_tci_string
      Src: /src/tcpdump/print-sll.c:515,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-sll.c:518,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sll.c:522,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sll.c:523,1
    - Dst: ethertype_print
      Src: /src/tcpdump/print-sll.c:531,1
    - Dst: sll2_print
      Src: /src/tcpdump/print-sll.c:534,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-sll.c:536,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 76
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 409
    functionDepth: 7
    functionLinenumber: 409
    functionLinenumberEnd: 541
    functionName: sll2_if_print
    functionSourceFile: /src/tcpdump/print-sll.c
    functionUses: 0
    functionsReached:
    - ieee802_11_radio_print
    - GET_U_1
    - ieee8021q_tci_string
    - sll2_print
    - nd_print_trunc
    - strncpy
    - GET_BE_U_2
    - ipx_print
    - ND_PRINT
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    - ethertype_print
    - tok2str
    - llc_print
    - GET_BE_U_4
    - if_indextoname
    linkageType: ''
    returnType: void
    signature: void sll2_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - p
    - alignment
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: nd_cpack_next_boundary
    functionSourceFile: /src/tcpdump/cpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      nd_cpack_next_boundary(const uint8_t *buf, const uint8_t *p, size_t alignment)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nd_cpack_next_boundary
      Src: /src/tcpdump/cpack.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cs
    - wordsize
    argTypes:
    - struct cpack_state*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: nd_cpack_align_and_reserve
    functionSourceFile: /src/tcpdump/cpack.c
    functionUses: 1
    functionsReached:
    - nd_cpack_next_boundary
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      nd_cpack_align_and_reserve(struct cpack_state *cs, size_t wordsize)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cs
    - toskip
    argTypes:
    - struct cpack_state*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: nd_cpack_advance
    functionSourceFile: /src/tcpdump/cpack.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nd_cpack_advance(struct cpack_state *cs, const size_t toskip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tcpdump/cpack.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cs
    - buf
    - buflen
    argTypes:
    - struct cpack_state*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: nd_cpack_init
    functionSourceFile: /src/tcpdump/cpack.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int nd_cpack_init(struct cpack_state *cs, const uint8_t *buf, size_t
      buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nd_cpack_align_and_reserve
      Src: /src/tcpdump/cpack.c:99,1
    - Dst: GET_LE_U_8
      Src: /src/tcpdump/cpack.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - cs
    - u
    argTypes:
    - netdissect_options*
    - struct cpack_state*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: nd_cpack_uint64
    functionSourceFile: /src/tcpdump/cpack.c
    functionUses: 1
    functionsReached:
    - nd_cpack_align_and_reserve
    - GET_LE_U_8
    linkageType: ''
    returnType: int
    signature: int nd_cpack_uint64(netdissect_options *ndo, struct cpack_state *cs,
      uint64_t *u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nd_cpack_align_and_reserve
      Src: /src/tcpdump/cpack.c:115,1
    - Dst: GET_LE_S_8
      Src: /src/tcpdump/cpack.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - cs
    - u
    argTypes:
    - netdissect_options*
    - struct cpack_state*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: nd_cpack_int64
    functionSourceFile: /src/tcpdump/cpack.c
    functionUses: 0
    functionsReached:
    - nd_cpack_align_and_reserve
    - GET_LE_S_8
    linkageType: ''
    returnType: int
    signature: int nd_cpack_int64(netdissect_options *ndo, struct cpack_state *cs,
      int64_t *u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nd_cpack_align_and_reserve
      Src: /src/tcpdump/cpack.c:131,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/cpack.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - cs
    - u
    argTypes:
    - netdissect_options*
    - struct cpack_state*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: nd_cpack_uint32
    functionSourceFile: /src/tcpdump/cpack.c
    functionUses: 1
    functionsReached:
    - GET_LE_U_4
    - nd_cpack_align_and_reserve
    linkageType: ''
    returnType: int
    signature: int nd_cpack_uint32(netdissect_options *ndo, struct cpack_state *cs,
      uint32_t *u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nd_cpack_align_and_reserve
      Src: /src/tcpdump/cpack.c:147,1
    - Dst: GET_LE_S_4
      Src: /src/tcpdump/cpack.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - cs
    - u
    argTypes:
    - netdissect_options*
    - struct cpack_state*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: nd_cpack_int32
    functionSourceFile: /src/tcpdump/cpack.c
    functionUses: 0
    functionsReached:
    - GET_LE_S_4
    - nd_cpack_align_and_reserve
    linkageType: ''
    returnType: int
    signature: int nd_cpack_int32(netdissect_options *ndo, struct cpack_state *cs,
      int32_t *u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nd_cpack_align_and_reserve
      Src: /src/tcpdump/cpack.c:163,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/cpack.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - cs
    - u
    argTypes:
    - netdissect_options*
    - struct cpack_state*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: nd_cpack_uint16
    functionSourceFile: /src/tcpdump/cpack.c
    functionUses: 2
    functionsReached:
    - nd_cpack_align_and_reserve
    - GET_LE_U_2
    linkageType: ''
    returnType: int
    signature: int nd_cpack_uint16(netdissect_options *ndo, struct cpack_state *cs,
      uint16_t *u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nd_cpack_align_and_reserve
      Src: /src/tcpdump/cpack.c:179,1
    - Dst: GET_LE_S_2
      Src: /src/tcpdump/cpack.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - cs
    - u
    argTypes:
    - netdissect_options*
    - struct cpack_state*
    - int16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: nd_cpack_int16
    functionSourceFile: /src/tcpdump/cpack.c
    functionUses: 1
    functionsReached:
    - nd_cpack_align_and_reserve
    - GET_LE_S_2
    linkageType: ''
    returnType: int
    signature: int nd_cpack_int16(netdissect_options *ndo, struct cpack_state *cs,
      int16_t *u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/cpack.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - cs
    - u
    argTypes:
    - netdissect_options*
    - struct cpack_state*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: nd_cpack_uint8
    functionSourceFile: /src/tcpdump/cpack.c
    functionUses: 2
    functionsReached:
    - GET_U_1
    linkageType: ''
    returnType: int
    signature: int nd_cpack_uint8(netdissect_options *ndo, struct cpack_state *cs,
      uint8_t *u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_S_1
      Src: /src/tcpdump/cpack.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - cs
    - u
    argTypes:
    - netdissect_options*
    - struct cpack_state*
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 217
    functionName: nd_cpack_int8
    functionSourceFile: /src/tcpdump/cpack.c
    functionUses: 1
    functionsReached:
    - GET_S_1
    linkageType: ''
    returnType: int
    signature: int nd_cpack_int8(netdissect_options *ndo, struct cpack_state *cs,
      int8_t *u)
  - BBCount: 53
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 71
    argCount: 1
    argNames:
    - opt_class
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 158
    functionName: format_opt_class
    functionSourceFile: /src/tcpdump/print-geneve.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      format_opt_class(const uint16_t opt_class)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-geneve.c:170,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:171,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-geneve.c:174,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-geneve.c:175,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-geneve.c:176,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:178,1
    - Dst: format_opt_class
      Src: /src/tcpdump/print-geneve.c:179,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:183,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:191,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:194,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-geneve.c:194,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-geneve.c:198,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-geneve.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 207
    functionName: geneve_opts_print
    functionSourceFile: /src/tcpdump/print-geneve.c
    functionUses: 0
    functionsReached:
    - ND_ICHECKMSG_U
    - GET_U_1
    - GET_BE_U_2
    - format_opt_class
    - ND_PRINT
    - ND_TCHECK_LEN
    - GET_BE_U_4
    linkageType: ''
    returnType: unsigned
    signature: unsigned geneve_opts_print(netdissect_options *ndo, const u_char *bp,
      u_int len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:221,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-geneve.c:223,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-geneve.c:225,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:231,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-geneve.c:235,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-geneve.c:239,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-geneve.c:243,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-geneve.c:247,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:251,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-geneve.c:252,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:253,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:256,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:259,1
    - Dst: tok2str
      Src: /src/tcpdump/print-geneve.c:260,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:265,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:270,1
    - Dst: geneve_opts_print
      Src: /src/tcpdump/print-geneve.c:273,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-geneve.c:276,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:277,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:280,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:287,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:289,1
    - Dst: ethertype_print
      Src: /src/tcpdump/print-geneve.c:291,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-geneve.c:291,1
    - Dst: ether_print
      Src: /src/tcpdump/print-geneve.c:293,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-geneve.c:293,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-geneve.c:295,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-geneve.c:296,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-geneve.c:303,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 65
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 209
    functionDepth: 5
    functionLinenumber: 209
    functionLinenumberEnd: 304
    functionName: geneve_print
    functionSourceFile: /src/tcpdump/print-geneve.c
    functionUses: 1
    functionsReached:
    - tok2str
    - nd_print_invalid
    - GET_U_1
    - geneve_opts_print
    - GET_BE_U_2
    - ND_PRINT
    - ether_print
    - GET_BE_U_3
    - ND_BYTES_AVAILABLE_AFTER
    - ND_TCHECK_LEN
    - ethertype_print
    - ND_ICHECK_U
    - bittok2str_nosep
    linkageType: ''
    returnType: void
    signature: void geneve_print(netdissect_options *ndo, const u_char *bp, u_int
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-krb.c:119,1
    - Dst: fn_print_char
      Src: /src/tcpdump/print-krb.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ndo
    - s
    - ep
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: c_print
    functionSourceFile: /src/tcpdump/print-krb.c
    functionUses: 18
    functionsReached:
    - GET_U_1
    - fn_print_char
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nc_print(netdissect_options *ndo,\n        const u_char *s,
      const u_char *ep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-krb.c:141,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-krb.c:143,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-krb.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: krb4_print_hdr
    functionSourceFile: /src/tcpdump/print-krb.c
    functionUses: 0
    functionsReached:
    - nd_print_trunc
    - ND_PRINT
    linkageType: ''
    returnType: u_char
    signature: "u_char *\nkrb4_print_hdr(netdissect_options *ndo,\n               const
      u_char *cp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-krb.c:169,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-krb.c:171,1
    - Dst: IS_LENDIAN
      Src: /src/tcpdump/print-krb.c:172,1
    - Dst: tok2str
      Src: /src/tcpdump/print-krb.c:172,1
    - Dst: krb4_print_hdr
      Src: /src/tcpdump/print-krb.c:177,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-krb.c:180,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-krb.c:180,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-krb.c:183,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-krb.c:189,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-krb.c:189,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-krb.c:192,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-krb.c:192,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-krb.c:194,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-krb.c:194,1
    - Dst: krb4_print_hdr
      Src: /src/tcpdump/print-krb.c:198,1
    - Dst: KTOHSP
      Src: /src/tcpdump/print-krb.c:201,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-krb.c:202,1
    - Dst: krb4_print_hdr
      Src: /src/tcpdump/print-krb.c:206,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-krb.c:209,1
    - Dst: tok2str
      Src: /src/tcpdump/print-krb.c:209,1
    - Dst: KTOHSP
      Src: /src/tcpdump/print-krb.c:209,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-krb.c:215,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-krb.c:221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 222
    functionName: krb4_print
    functionSourceFile: /src/tcpdump/print-krb.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - nd_print_trunc
    - krb4_print_hdr
    - ND_PRINT
    - IS_LENDIAN
    - tok2str
    - KTOHSP
    linkageType: ''
    returnType: void
    signature: "void krb4_print(netdissect_options *ndo,\n           const u_char
      *cp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: IS_LENDIAN
    functionSourceFile: /src/tcpdump/print-krb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_LENDIAN(kp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - kp
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: KTOHSP
    functionSourceFile: /src/tcpdump/print-krb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KTOHSP(kp, cp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol
      Src: /src/tcpdump/print-krb.c:231,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-krb.c:235,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-krb.c:240,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-krb.c:240,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-krb.c:244,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-krb.c:244,1
    - Dst: krb4_print
      Src: /src/tcpdump/print-krb.c:245,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-krb.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ndo
    - dat
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 254
    functionName: krb_print
    functionSourceFile: /src/tcpdump/print-krb.c
    functionUses: 1
    functionsReached:
    - nd_print_protocol
    - ND_PRINT
    - GET_U_1
    - krb4_print
    linkageType: ''
    returnType: void
    signature: "void krb_print(netdissect_options *ndo,\n          const u_char *dat)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-zep.c:73,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:76,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:76,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zep.c:77,1
    - Dst: fn_print_char
      Src: /src/tcpdump/print-zep.c:78,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:78,1
    - Dst: fn_print_char
      Src: /src/tcpdump/print-zep.c:79,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:79,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zep.c:80,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-zep.c:81,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:85,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zep.c:86,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-zep.c:90,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zep.c:91,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:92,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-zep.c:92,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:93,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zep.c:94,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zep.c:96,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:96,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:97,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zep.c:98,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:104,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-zep.c:106,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-zep.c:107,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zep.c:108,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-zep.c:114,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zep.c:115,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:116,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:116,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-zep.c:117,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:118,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zep.c:119,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zep.c:121,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:121,1
    - Dst: p_ntp_time_fmt
      Src: /src/tcpdump/print-zep.c:127,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-zep.c:129,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-zep.c:130,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zep.c:131,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-zep.c:140,1
    - Dst: ieee802_15_4_print
      Src: /src/tcpdump/print-zep.c:141,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-zep.c:142,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-zep.c:149,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-zep.c:152,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 153
    functionName: zep_print
    functionSourceFile: /src/tcpdump/print-zep.c
    functionUses: 1
    functionsReached:
    - ND_TCHECK_LEN
    - GET_U_1
    - nd_print_protocol_caps
    - fn_print_char
    - ieee802_15_4_print
    - GET_BE_U_2
    - ND_PRINT
    - ND_DEFAULTPRINT
    - nd_print_invalid
    - p_ntp_time_fmt
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void zep_print(netdissect_options *ndo,\n\t  const u_char *bp, u_int
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vendor
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: of_vendor_name
    functionSourceFile: /src/tcpdump/print-openflow.c
    functionUses: 3
    functionsReached:
    - tok2str
    linkageType: ''
    returnType: char
    signature: 'char *

      of_vendor_name(const uint32_t vendor)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow.c:84,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-openflow.c:84,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ndo
    - t
    - v
    - u
    argTypes:
    - netdissect_options*
    - struct tok*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: of_bitmap_print
    functionSourceFile: /src/tcpdump/print-openflow.c
    functionUses: 6
    functionsReached:
    - bittok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void of_bitmap_print(netdissect_options *ndo,\n                const
      struct tok *t, const uint32_t v, const uint32_t u)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow.c:97,1
    - Dst: hex_and_ascii_print
      Src: /src/tcpdump/print-openflow.c:99,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: of_data_print
    functionSourceFile: /src/tcpdump/print-openflow.c
    functionUses: 2
    functionsReached:
    - ND_TCHECK_LEN
    - hex_and_ascii_print
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void of_data_print(netdissect_options *ndo,\n              const u_char
      *cp, const u_int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: struct of_msgtypeinfo*::decoder
      Src: /src/tcpdump/print-openflow.c:130,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow.c:134,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow.c:136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - ndo
    - cp
    - len
    - mti
    argTypes:
    - netdissect_options*
    - u_char*
    - uint16_t
    - struct of_msgtypeinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 137
    functionName: of_message_print
    functionSourceFile: /src/tcpdump/print-openflow.c
    functionUses: 0
    functionsReached:
    - nd_print_invalid
    - struct of_msgtypeinfo*::decoder
    - ND_TCHECK_LEN
    linkageType: ''
    returnType: void
    signature: "void of_message_print(netdissect_options *ndo,\n                 const
      u_char *cp, uint16_t len,\n                 const struct of_msgtypeinfo *mti)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow.c:145,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow.c:153,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow.c:154,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow.c:155,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow.c:156,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow.c:160,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow.c:161,1
    - Dst: of10_identify_msgtype
      Src: /src/tcpdump/print-openflow.c:163,1
    - Dst: of13_identify_msgtype
      Src: /src/tcpdump/print-openflow.c:164,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow.c:167,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow.c:169,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow.c:173,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow.c:174,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow.c:175,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow.c:180,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow.c:180,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow.c:181,1
    - Dst: of_message_print
      Src: /src/tcpdump/print-openflow.c:212,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow.c:215,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow.c:220,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow.c:221,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow.c:224,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow.c:225,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 226
    functionName: openflow_print
    functionSourceFile: /src/tcpdump/print-openflow.c
    functionUses: 1
    functionsReached:
    - nd_print_invalid
    - GET_U_1
    - of13_identify_msgtype
    - of10_identify_msgtype
    - of_message_print
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - OF_FWD
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void openflow_print(netdissect_options *ndo, const u_char *cp, u_int
      len)
  - 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: NSH_VER
    functionSourceFile: /src/tcpdump/print-nsh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NSH_VER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: NSH_FLAGS
    functionSourceFile: /src/tcpdump/print-nsh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NSH_FLAGS(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: NSH_TTL
    functionSourceFile: /src/tcpdump/print-nsh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NSH_TTL(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: NSH_LENGTH
    functionSourceFile: /src/tcpdump/print-nsh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NSH_LENGTH(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: NSH_MD_TYPE
    functionSourceFile: /src/tcpdump/print-nsh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NSH_MD_TYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: NSH_NEXT_PROT
    functionSourceFile: /src/tcpdump/print-nsh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NSH_NEXT_PROT(x)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:115,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nsh.c:120,1
    - Dst: NSH_VER
      Src: /src/tcpdump/print-nsh.c:122,1
    - Dst: NSH_LENGTH
      Src: /src/tcpdump/print-nsh.c:123,1
    - Dst: NSH_MD_TYPE
      Src: /src/tcpdump/print-nsh.c:124,1
    - Dst: NSH_NEXT_PROT
      Src: /src/tcpdump/print-nsh.c:125,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:127,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:129,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:133,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-nsh.c:134,1
    - Dst: NSH_FLAGS
      Src: /src/tcpdump/print-nsh.c:134,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:136,1
    - Dst: NSH_TTL
      Src: /src/tcpdump/print-nsh.c:136,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:137,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:138,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nsh.c:138,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:141,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nsh.c:142,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:147,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:159,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-nsh.c:159,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:161,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nsh.c:161,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:169,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:182,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:186,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nsh.c:186,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-nsh.c:196,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nsh.c:198,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nsh.c:200,1
    - Dst: roundup2
      Src: /src/tcpdump/print-nsh.c:202,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:204,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:210,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:218,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:220,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nsh.c:220,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-nsh.c:225,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-nsh.c:234,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:237,1
    - Dst: ip_print
      Src: /src/tcpdump/print-nsh.c:243,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-nsh.c:246,1
    - Dst: ether_print
      Src: /src/tcpdump/print-nsh.c:249,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-nsh.c:249,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nsh.c:252,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-nsh.c:259,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 111
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 89
    functionDepth: 5
    functionLinenumber: 89
    functionLinenumberEnd: 260
    functionName: nsh_print
    functionSourceFile: /src/tcpdump/print-nsh.c
    functionUses: 3
    functionsReached:
    - GET_U_1
    - NSH_MD_TYPE
    - roundup2
    - ip6_print
    - nd_print_invalid
    - GET_BE_U_4
    - NSH_VER
    - ND_PRINT
    - ether_print
    - GET_BE_U_3
    - ND_BYTES_AVAILABLE_AFTER
    - ip_print
    - NSH_TTL
    - GET_BE_U_2
    - ND_TCHECK_LEN
    - NSH_FLAGS
    - tok2str
    - NSH_NEXT_PROT
    - NSH_LENGTH
    - bittok2str_nosep
    linkageType: ''
    returnType: void
    signature: void nsh_print(netdissect_options *ndo, const u_char *bp, u_int len)
  - 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: UDLD_EXTRACT_VERSION
    functionSourceFile: /src/tcpdump/print-udld.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UDLD_EXTRACT_VERSION(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: UDLD_EXTRACT_OPCODE
    functionSourceFile: /src/tcpdump/print-udld.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UDLD_EXTRACT_OPCODE(x)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-udld.c:108,1
    - Dst: UDLD_EXTRACT_VERSION
      Src: /src/tcpdump/print-udld.c:113,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-udld.c:113,1
    - Dst: UDLD_EXTRACT_OPCODE
      Src: /src/tcpdump/print-udld.c:114,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-udld.c:114,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-udld.c:118,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udld.c:122,1
    - Dst: tok2str
      Src: /src/tcpdump/print-udld.c:124,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-udld.c:126,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udld.c:137,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-udld.c:137,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-udld.c:147,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-udld.c:151,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udld.c:155,1
    - Dst: tok2str
      Src: /src/tcpdump/print-udld.c:156,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udld.c:171,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-udld.c:172,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udld.c:176,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-udld.c:177,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udld.c:184,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-udld.c:184,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-udld.c:190,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-udld.c:190,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-udld.c:194,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-udld.c:204,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-udld.c:206,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 3
    argNames:
    - ndo
    - tptr
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 207
    functionName: udld_print
    functionSourceFile: /src/tcpdump/print-udld.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - nd_printjn
    - nd_print_invalid
    - GET_U_1
    - nd_print_protocol_caps
    - UDLD_EXTRACT_VERSION
    - GET_BE_U_2
    - nd_printjnp
    - ND_PRINT
    - UDLD_EXTRACT_OPCODE
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void udld_print(netdissect_options *ndo,\n           const u_char
      *tptr, u_int length)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-timed.c:118,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-timed.c:119,1
    - Dst: tok2str
      Src: /src/tcpdump/print-timed.c:119,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-timed.c:121,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-timed.c:121,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-timed.c:123,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-timed.c:123,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-timed.c:127,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-timed.c:127,1
    - Dst: GET_BE_S_4
      Src: /src/tcpdump/print-timed.c:133,1
    - Dst: GET_BE_S_4
      Src: /src/tcpdump/print-timed.c:134,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-timed.c:139,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-timed.c:143,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-timed.c:146,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-timed.c:149,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-timed.c:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - ndo
    - bp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 151
    functionName: timed_print
    functionSourceFile: /src/tcpdump/print-timed.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - nd_printjnp
    - ND_PRINT
    - GET_BE_S_4
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void timed_print(netdissect_options *ndo,\n            const u_char
      *bp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:60,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:64,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:65,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:67,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:67,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-ip.c:70,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:71,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ip.c:71,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:73,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: ip_printroute
    functionSourceFile: /src/tcpdump/print-ip.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_IPADDR_STRING
    - ND_PRINT
    - ND_TCHECK_4
    linkageType: ''
    returnType: int
    signature: "int ip_printroute(netdissect_options *ndo,\n              const u_char
      *cp, u_int length)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IP_HL
      Src: /src/tcpdump/print-ip.c:97,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:105,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:111,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ip.c:117,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-ip.c:124,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-ip.c:128,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - ndo
    - ip
    argTypes:
    - netdissect_options*
    - struct ip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 129
    functionName: ip_finddst
    functionSourceFile: /src/tcpdump/print-ip.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TCHECK_LEN
    - IP_HL
    - GET_IPV4_TO_NETWORK_ORDER
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t ip_finddst(netdissect_options *ndo,\n           const struct
      ip *ip)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/tcpdump/print-ip.c:149,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-ip.c:152,1
    - Dst: IP_HL
      Src: /src/tcpdump/print-ip.c:153,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-ip.c:154,1
    - Dst: ip_finddst
      Src: /src/tcpdump/print-ip.c:156,1
    - Dst: in_cksum
      Src: /src/tcpdump/print-ip.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - ndo
    - ip
    - data
    - len
    - covlen
    - next_proto
    argTypes:
    - netdissect_options*
    - struct ip*
    - uint8_t*
    - u_int
    - u_int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 163
    functionName: nextproto4_cksum
    functionSourceFile: /src/tcpdump/print-ip.c
    functionUses: 4
    functionsReached:
    - IP_HL
    - ip_finddst
    - htons
    - GET_IPV4_TO_NETWORK_ORDER
    - in_cksum
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t nextproto4_cksum(netdissect_options *ndo,\n                 const
      struct ip *ip, const uint8_t *data,\n                 u_int len, u_int covlen,
      uint8_t next_proto)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:175,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:178,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:179,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:181,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:182,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:185,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:185,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:186,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:188,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:191,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:194,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:197,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:197,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ip.c:205,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:206,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ip.c:206,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ip.c:207,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:212,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:214,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:215,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:215,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:217,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 222
    functionName: ip_printts
    functionSourceFile: /src/tcpdump/print-ip.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - ND_PRINT
    - ND_TCHECK_LEN
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int ip_printts(netdissect_options *ndo,\n           const u_char *cp,
      u_int length)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:238,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:241,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:243,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ip.c:244,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:251,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:253,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:259,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ip.c:263,1
    - Dst: ip_printts
      Src: /src/tcpdump/print-ip.c:270,1
    - Dst: ip_printroute
      Src: /src/tcpdump/print-ip.c:277,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:283,1
    - Dst: ND_TCHECK_1
      Src: /src/tcpdump/print-ip.c:286,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ip.c:287,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:288,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ip.c:288,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 301
    functionName: ip_optprint
    functionSourceFile: /src/tcpdump/print-ip.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ip_printroute
    - ip_printts
    - GET_BE_U_2
    - ND_TCHECK_1
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    linkageType: ''
    returnType: int
    signature: "int ip_optprint(netdissect_options *ndo,\n            const u_char
      *cp, u_int length)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-ip.c:336,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:337,1
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-ip.c:340,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ip.c:341,1
    - Dst: IP_V
      Src: /src/tcpdump/print-ip.c:341,1
    - Dst: IP_HL
      Src: /src/tcpdump/print-ip.c:343,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-ip.c:344,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ip.c:346,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:348,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ip.c:349,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:350,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:353,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:363,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-ip.c:367,1
    - Dst: nd_push_snaplen
      Src: /src/tcpdump/print-ip.c:373,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-ip.c:373,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ip.c:380,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:382,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:385,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:386,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:394,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:398,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:402,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:406,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:408,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:415,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ip.c:416,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ip.c:418,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ip.c:419,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:424,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:426,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:428,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ip.c:428,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:431,1
    - Dst: ip_optprint
      Src: /src/tcpdump/print-ip.c:432,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:434,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:437,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-ip.c:440,1
    - Dst: in_cksum
      Src: /src/tcpdump/print-ip.c:443,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ip.c:445,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:446,1
    - Dst: in_cksum_shouldbe
      Src: /src/tcpdump/print-ip.c:447,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:452,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:454,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:456,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ip.c:457,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ip.c:458,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ip.c:459,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-ip.c:460,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:471,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:475,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ip.c:476,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ip.c:477,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-ip.c:483,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:484,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-ip.c:485,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-ip.c:487,1
    - Dst: ip_demux_print
      Src: /src/tcpdump/print-ip.c:493,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-ip.c:494,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ip.c:495,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-ip.c:502,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:511,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ip.c:511,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ip.c:512,1
    - Dst: netdb_protoname
      Src: /src/tcpdump/print-ip.c:513,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:514,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ip.c:516,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-ip.c:518,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ip.c:522,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ip.c:526,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 115
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 316
    functionDepth: 11
    functionLinenumber: 316
    functionLinenumberEnd: 527
    functionName: ip_print
    functionSourceFile: /src/tcpdump/print-ip.c
    functionUses: 31
    functionsReached:
    - bittok2str
    - ND_ICHECKMSG_U
    - GET_U_1
    - nd_print_protocol_caps
    - ip_demux_print
    - nd_push_snaplen
    - IP_V
    - nd_print_invalid
    - ND_TCHECK_SIZE
    - nd_pop_packet_info
    - IP_HL
    - ip_optprint
    - netdb_protoname
    - ND_PRINT
    - ND_BYTES_AVAILABLE_AFTER
    - in_cksum_shouldbe
    - GET_IPADDR_STRING
    - ND_ICHECKMSG_ZU
    - GET_BE_U_2
    - ND_ICHECK_ZU
    - in_cksum
    - tok2str
    - ND_MIN
    - nd_trunc_longjmp
    - nd_print_trunc
    - ND_TTEST_LEN
    linkageType: ''
    returnType: void
    signature: "void ip_print(netdissect_options *ndo,\n\t const u_char *bp,\n\t const
      u_int length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arcnet.c:130,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:131,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:132,1
    - Dst: tok2str
      Src: /src/tcpdump/print-arcnet.c:137,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:137,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arcnet.c:140,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:141,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:142,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arcnet.c:149,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:150,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:151,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arcnet.c:158,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:160,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:161,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arcnet.c:165,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:167,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - ndo
    - bp
    - length
    - phds
    - flag
    - seqid
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 171
    functionName: arcnet_print
    functionSourceFile: /src/tcpdump/print-arcnet.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void arcnet_print(netdissect_options *ndo, const u_char *bp, u_int
      length, int phds,\n             u_int flag, u_int seqid)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-arcnet.c:194,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:198,1
    - Dst: arcnet_print
      Src: /src/tcpdump/print-arcnet.c:214,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arcnet.c:215,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-arcnet.c:217,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:220,1
    - Dst: arcnet_print
      Src: /src/tcpdump/print-arcnet.c:223,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arcnet.c:224,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-arcnet.c:226,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:228,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-arcnet.c:229,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-arcnet.c:232,1
    - Dst: arcnet_print
      Src: /src/tcpdump/print-arcnet.c:239,1
    - Dst: arcnet_encap_print
      Src: /src/tcpdump/print-arcnet.c:256,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-arcnet.c:257,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 260
    functionName: arcnet_if_print
    functionSourceFile: /src/tcpdump/print-arcnet.c
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - GET_U_1
    - arcnet_encap_print
    - arcnet_print
    - GET_BE_U_2
    - ND_PRINT
    - ND_DEFAULTPRINT
    linkageType: ''
    returnType: void
    signature: void arcnet_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-arcnet.c:285,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-arcnet.c:289,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-arcnet.c:296,1
    - Dst: arcnet_print
      Src: /src/tcpdump/print-arcnet.c:307,1
    - Dst: arcnet_encap_print
      Src: /src/tcpdump/print-arcnet.c:316,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-arcnet.c:317,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 320
    functionName: arcnet_linux_if_print
    functionSourceFile: /src/tcpdump/print-arcnet.c
    functionUses: 0
    functionsReached:
    - nd_trunc_longjmp
    - GET_U_1
    - arcnet_encap_print
    - arcnet_print
    - ND_DEFAULTPRINT
    linkageType: ''
    returnType: void
    signature: void arcnet_linux_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ip_print
      Src: /src/tcpdump/print-arcnet.c:338,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-arcnet.c:342,1
    - Dst: arp_print
      Src: /src/tcpdump/print-arcnet.c:348,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-arcnet.c:353,1
    - Dst: atalk_print
      Src: /src/tcpdump/print-arcnet.c:354,1
    - Dst: ipx_print
      Src: /src/tcpdump/print-arcnet.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 5
    argNames:
    - ndo
    - arctype
    - p
    - length
    - caplen
    argTypes:
    - netdissect_options*
    - u_char
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 330
    functionDepth: 12
    functionLinenumber: 330
    functionLinenumberEnd: 364
    functionName: arcnet_encap_print
    functionSourceFile: /src/tcpdump/print-arcnet.c
    functionUses: 2
    functionsReached:
    - ip_print
    - ipx_print
    - ND_PRINT
    - ip6_print
    - atalk_print
    - arp_print
    linkageType: ''
    returnType: int
    signature: "int arcnet_encap_print(netdissect_options *ndo, u_char arctype, const
      u_char *p,\n    u_int length, u_int caplen)"
  - 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: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: PRINTFLIKE
    functionSourceFile: /src/tcpdump/funcattrs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTFLIKE(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: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: PRINTFLIKE_FUNCPTR
    functionSourceFile: /src/tcpdump/funcattrs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTFLIKE_FUNCPTR(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: FORMAT_STRING
    functionSourceFile: /src/tcpdump/funcattrs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORMAT_STRING(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: FORMAT_STRING
    functionSourceFile: /src/tcpdump/funcattrs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORMAT_STRING(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: txtproto_print
      Src: /src/tcpdump/print-rtsp.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: rtsp_print
    functionSourceFile: /src/tcpdump/print-rtsp.c
    functionUses: 1
    functionsReached:
    - txtproto_print
    linkageType: ''
    returnType: void
    signature: void rtsp_print(netdissect_options *ndo, const u_char *pptr, u_int
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: atalk_port
    functionSourceFile: /src/tcpdump/appletalk.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atalk_port(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tok2str
      Src: /src/tcpdump/print-dhcp6.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: dhcp6stcode
    functionSourceFile: /src/tcpdump/print-dhcp6.c
    functionUses: 0
    functionsReached:
    - tok2str
    linkageType: ''
    returnType: char
    signature: 'char *

      dhcp6stcode(const uint16_t code)'
  - BBCount: 136
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-dhcp6.c:308,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:309,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:312,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:313,1
    - Dst: tok2str
      Src: /src/tcpdump/print-dhcp6.c:313,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-dhcp6.c:314,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:320,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:324,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:327,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:328,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:329,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:331,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:332,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:334,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:337,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:342,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:342,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:344,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:345,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:347,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:350,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:355,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:356,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:358,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:359,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:361,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:364,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:368,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:371,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:372,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:374,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:377,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:381,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:381,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:388,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:392,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-dhcp6.c:392,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:393,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:394,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:395,1
    - Dst: dhcp6opt_print
      Src: /src/tcpdump/print-dhcp6.c:398,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:400,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:405,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:410,1
    - Dst: tok2str
      Src: /src/tcpdump/print-dhcp6.c:411,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:411,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:413,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:417,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:421,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:421,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:425,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:429,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:429,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:435,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-dhcp6.c:446,1
    - Dst: dhcp6_print
      Src: /src/tcpdump/print-dhcp6.c:447,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:449,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:454,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:458,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:461,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:464,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:467,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:471,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:475,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:478,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:482,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:485,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:488,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:492,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:494,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:494,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:503,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:508,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:511,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:511,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:512,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:512,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:514,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:516,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:516,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:520,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:523,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:525,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:528,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:531,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:535,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:537,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:537,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:540,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:544,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:547,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:552,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-dhcp6.c:557,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:561,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:561,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:563,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:564,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:568,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:572,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:575,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:578,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:581,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:586,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:597,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:602,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-dhcp6.c:602,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:603,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:609,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-dhcp6.c:610,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:613,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:617,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:621,1
    - Dst: dhcp6stcode
      Src: /src/tcpdump/print-dhcp6.c:621,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:621,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:626,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:630,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:631,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:632,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:633,1
    - Dst: dhcp6opt_print
      Src: /src/tcpdump/print-dhcp6.c:636,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:638,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:642,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:646,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:646,1
    - Dst: dhcp6opt_print
      Src: /src/tcpdump/print-dhcp6.c:649,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:651,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:655,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:659,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-dhcp6.c:659,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:660,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:661,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:662,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:663,1
    - Dst: dhcp6opt_print
      Src: /src/tcpdump/print-dhcp6.c:666,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:668,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:673,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:677,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:677,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:681,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:685,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:685,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-dhcp6.c:691,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:695,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:695,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:697,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:698,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:702,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:706,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:709,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:712,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:715,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:718,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-dhcp6.c:718,1
    - Dst: dhcp6opt_print
      Src: /src/tcpdump/print-dhcp6.c:721,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:723,1
    - Dst: dhcp6opt_print
      Src: /src/tcpdump/print-dhcp6.c:729,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:731,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:735,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:739,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-dhcp6.c:739,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-dhcp6.c:745,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:749,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:749,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:751,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:752,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:756,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:761,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:763,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:767,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:772,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:775,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-dhcp6.c:775,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:778,1
    - Dst: fqdn_print
      Src: /src/tcpdump/print-dhcp6.c:779,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:783,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:788,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:792,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:797,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:799,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:800,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-dhcp6.c:803,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:806,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:806,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:808,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:812,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:818,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:822,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-dhcp6.c:823,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:824,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:829,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-dhcp6.c:830,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:831,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:836,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:842,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:845,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:847,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-dhcp6.c:851,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:856,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:857,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:863,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:868,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:868,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:873,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:874,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:878,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:882,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-dhcp6.c:883,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:887,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:890,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:891,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:897,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:902,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:902,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:907,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:907,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-dhcp6.c:909,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:910,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:914,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:918,1
    - Dst: ND_MIN
      Src: /src/tcpdump/print-dhcp6.c:924,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:928,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:929,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:931,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:935,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:938,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:939,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:943,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-dhcp6.c:952,1
    CyclomaticComplexity: 184
    EdgeCount: 184
    ICount: 582
    argCount: 3
    argNames:
    - ndo
    - cp
    - ep
    argTypes:
    - netdissect_options*
    - u_char*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 953
    functionName: dhcp6opt_print
    functionSourceFile: /src/tcpdump/print-dhcp6.c
    functionUses: 1
    functionsReached:
    - nd_printjn
    - GET_U_1
    - GET_BE_U_4
    - GET_IP6ADDR_STRING
    - dhcp6stcode
    - nd_print_trunc
    - GET_BE_U_2
    - fqdn_print
    - nd_printjnp
    - ND_PRINT
    - dhcp6opt_print
    - ND_TCHECK_LEN
    - dhcp6_print
    - tok2str
    - ND_MIN
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void dhcp6opt_print(netdissect_options *ndo,\n               const
      u_char *cp, const u_char *ep)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol
      Src: /src/tcpdump/print-dhcp6.c:970,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-dhcp6.c:978,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-dhcp6.c:979,1
    - Dst: tok2str
      Src: /src/tcpdump/print-dhcp6.c:980,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:983,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:989,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:991,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-dhcp6.c:992,1
    - Dst: dhcp6opt_print
      Src: /src/tcpdump/print-dhcp6.c:994,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:996,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-dhcp6.c:996,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:998,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-dhcp6.c:998,1
    - Dst: dhcp6opt_print
      Src: /src/tcpdump/print-dhcp6.c:1000,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-dhcp6.c:1003,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-dhcp6.c:1007,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 958
    functionDepth: 4
    functionLinenumber: 958
    functionLinenumberEnd: 1008
    functionName: dhcp6_print
    functionSourceFile: /src/tcpdump/print-dhcp6.c
    functionUses: 2
    functionsReached:
    - nd_print_protocol
    - GET_U_1
    - GET_IP6ADDR_STRING
    - nd_print_trunc
    - ND_PRINT
    - dhcp6opt_print
    - tok2str
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void dhcp6_print(netdissect_options *ndo,\n            const u_char
      *cp, u_int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: LLDP_EXTRACT_TYPE
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LLDP_EXTRACT_TYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: LLDP_EXTRACT_LEN
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LLDP_EXTRACT_LEN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: LLDP_EXTRACT_NETWORK_POLICY_VLAN
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LLDP_EXTRACT_NETWORK_POLICY_VLAN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 408
    functionName: LLDP_EXTRACT_NETWORK_POLICY_L2_PRIORITY
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LLDP_EXTRACT_NETWORK_POLICY_L2_PRIORITY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 409
    functionName: LLDP_EXTRACT_NETWORK_POLICY_DSCP
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LLDP_EXTRACT_NETWORK_POLICY_DSCP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:617,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:618,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:619,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:620,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:620,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:621,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:621,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:622,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:622,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:623,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - ptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 624
    functionName: print_ets_priority_assignment_table
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void print_ets_priority_assignment_table(netdissect_options *ndo,\n
      \                                   const u_char *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:630,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:631,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:632,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:633,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:633,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:633,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:634,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:634,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:634,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:635,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - ptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 636
    functionName: print_tc_bandwidth_table
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void print_tc_bandwidth_table(netdissect_options *ndo,\n                         const
      u_char *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:642,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:643,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:644,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:645,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:645,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:645,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:646,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:646,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:646,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:647,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - ptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 648
    functionName: print_tsa_assignment_table
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void print_tsa_assignment_table(netdissect_options *ndo,\n                           const
      u_char *ptr)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:666,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:668,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:669,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:677,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:678,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:684,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:685,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lldp.c:686,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:686,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:687,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:693,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:693,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:697,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:701,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-lldp.c:702,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:708,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:712,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-lldp.c:713,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:720,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lldp.c:721,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:721,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lldp.c:722,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:729,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:730,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:731,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:732,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:734,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:735,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:736,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:737,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:738,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:740,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:747,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:748,1
    - Dst: print_ets_priority_assignment_table
      Src: /src/tcpdump/print-lldp.c:752,1
    - Dst: print_tc_bandwidth_table
      Src: /src/tcpdump/print-lldp.c:755,1
    - Dst: print_tsa_assignment_table
      Src: /src/tcpdump/print-lldp.c:758,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:766,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:766,1
    - Dst: print_ets_priority_assignment_table
      Src: /src/tcpdump/print-lldp.c:768,1
    - Dst: print_tc_bandwidth_table
      Src: /src/tcpdump/print-lldp.c:770,1
    - Dst: print_tsa_assignment_table
      Src: /src/tcpdump/print-lldp.c:772,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:779,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:780,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:782,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:783,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:784,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:785,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:787,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:794,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:794,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:804,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:806,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:807,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:809,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:817,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:818,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:819,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:821,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:822,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:823,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:825,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:826,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:827,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:828,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:829,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:830,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:831,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:832,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:839,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:840,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:842,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:842,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-lldp.c:849,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:850,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 161
    argCount: 3
    argNames:
    - ndo
    - tptr
    - tlv_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 862
    functionName: lldp_private_8021_print
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - print_ets_priority_assignment_table
    - GET_U_1
    - print_tsa_assignment_table
    - GET_BE_U_2
    - nd_printjnp
    - ND_PRINT
    - GET_BE_U_3
    - print_tc_bandwidth_table
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int lldp_private_8021_print(netdissect_options *ndo,\n                        const
      u_char *tptr, u_int tlv_len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:877,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:879,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:880,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:888,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lldp.c:889,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:889,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:890,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:891,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lldp.c:892,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:892,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:893,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:894,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:895,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:895,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:896,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:903,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lldp.c:904,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:904,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:905,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:905,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:906,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:906,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:913,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lldp.c:914,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:914,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lldp.c:915,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:922,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:922,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - ndo
    - tptr
    - tlv_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 931
    functionName: lldp_private_8023_print
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int lldp_private_8023_print(netdissect_options *ndo,\n                        const
      u_char *tptr, u_int tlv_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:941,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lldp.c:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ndo
    - tptr
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 945
    functionName: lldp_extract_latlon
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_4
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t lldp_extract_latlon(netdissect_options *ndo, const u_char
      *tptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:962,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:964,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:965,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:970,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-lldp.c:971,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ndo
    - tptr
    - tlv_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 978
    functionName: lldp_private_iana_print
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - tok2str
    - ND_PRINT
    - nd_printjn
    linkageType: ''
    returnType: int
    signature: "int lldp_private_iana_print(netdissect_options *ndo,\n                        const
      u_char *tptr, u_int tlv_len)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:999,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1001,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1002,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1010,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lldp.c:1011,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:1012,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:1012,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1013,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1014,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1014,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1015,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1022,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1023,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1023,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1024,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1025,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lldp.c:1025,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1026,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1027,1
    - Dst: LLDP_EXTRACT_NETWORK_POLICY_VLAN
      Src: /src/tcpdump/print-lldp.c:1028,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:1028,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1029,1
    - Dst: LLDP_EXTRACT_NETWORK_POLICY_L2_PRIORITY
      Src: /src/tcpdump/print-lldp.c:1030,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:1030,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1031,1
    - Dst: LLDP_EXTRACT_NETWORK_POLICY_DSCP
      Src: /src/tcpdump/print-lldp.c:1032,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:1032,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1039,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1040,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1041,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1049,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1050,1
    - Dst: lldp_extract_latlon
      Src: /src/tcpdump/print-lldp.c:1051,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1052,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1053,1
    - Dst: lldp_extract_latlon
      Src: /src/tcpdump/print-lldp.c:1054,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1055,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1056,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1056,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1057,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1058,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:1059,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lldp.c:1060,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1061,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1062,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1062,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1063,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1070,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1077,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1079,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1079,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1080,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-lldp.c:1083,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1093,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1094,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1099,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1100,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-lldp.c:1111,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1118,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-lldp.c:1119,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1123,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-lldp.c:1124,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1132,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1133,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1134,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1135,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1135,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1136,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1137,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1137,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1138,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:1139,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1141,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1143,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1154,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1155,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-lldp.c:1156,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 114
    argCount: 3
    argNames:
    - ndo
    - tptr
    - tlv_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 1165
    functionName: lldp_private_tia_print
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - LLDP_EXTRACT_NETWORK_POLICY_VLAN
    - print_unknown_data
    - LLDP_EXTRACT_NETWORK_POLICY_L2_PRIORITY
    - GET_U_1
    - GET_BE_U_2
    - nd_printjnp
    - LLDP_EXTRACT_NETWORK_POLICY_DSCP
    - ND_PRINT
    - lldp_extract_latlon
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int lldp_private_tia_print(netdissect_options *ndo,\n                       const
      u_char *tptr, u_int tlv_len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1186,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1188,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1189,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lldp.c:1201,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:1203,1
    - Dst: LLDP_EXTRACT_TYPE
      Src: /src/tcpdump/print-lldp.c:1205,1
    - Dst: LLDP_EXTRACT_LEN
      Src: /src/tcpdump/print-lldp.c:1206,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lldp.c:1217,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1228,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1230,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1230,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1231,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1231,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1232,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lldp.c:1232,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1233,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lldp.c:1234,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1240,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1242,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1242,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1243,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1243,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1244,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1244,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1245,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1246,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1249,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1249,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1250,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lldp.c:1256,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1258,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1261,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1263,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1264,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1265,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1265,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1271,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1272,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1274,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1274,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1275,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1275,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1276,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1276,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1277,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1278,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1281,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1281,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1282,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1283,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1283,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1285,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1287,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1287,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1293,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1295,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1295,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1296,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1296,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1297,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1297,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1298,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1299,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1302,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1302,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1306,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1307,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:1308,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-lldp.c:1309,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1310,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1313,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1314,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1315,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-lldp.c:1327,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 117
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1336
    functionName: lldp_private_dcbx_print
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - LLDP_EXTRACT_LEN
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - LLDP_EXTRACT_TYPE
    - GET_BE_U_3
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int lldp_private_dcbx_print(netdissect_options *ndo,\n                        const
      u_char *pptr, u_int len)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1348,1
    - Dst: snprintf
      Src: /src/tcpdump/print-lldp.c:1371,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1372,1
    - Dst: snprintf
      Src: /src/tcpdump/print-lldp.c:1374,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1375,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - ndo
    - tptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1338
    functionDepth: 1
    functionLinenumber: 1338
    functionLinenumberEnd: 1379
    functionName: lldp_network_addr_print
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - tok2str
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      lldp_network_addr_print(netdissect_options *ndo, const u_char *tptr, u_int len)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1396,1
    - Dst: lldp_network_addr_print
      Src: /src/tcpdump/print-lldp.c:1404,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1408,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1417,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1418,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1419,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lldp.c:1421,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1430,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1436,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-lldp.c:1437,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1381
    functionDepth: 2
    functionLinenumber: 1381
    functionLinenumberEnd: 1442
    functionName: lldp_mgmt_addr_tlv_print
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 0
    functionsReached:
    - lldp_network_addr_print
    - GET_U_1
    - nd_printjnp
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int lldp_mgmt_addr_tlv_print(netdissect_options *ndo,\n                         const
      u_char *pptr, u_int len)"
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1458,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lldp.c:1462,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:1464,1
    - Dst: LLDP_EXTRACT_TYPE
      Src: /src/tcpdump/print-lldp.c:1466,1
    - Dst: LLDP_EXTRACT_LEN
      Src: /src/tcpdump/print-lldp.c:1467,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1474,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1475,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lldp.c:1484,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1496,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1497,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1498,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1506,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-lldp.c:1506,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-lldp.c:1514,1
    - Dst: lldp_network_addr_print
      Src: /src/tcpdump/print-lldp.c:1518,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1522,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lldp.c:1537,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1538,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1539,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1547,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-lldp.c:1547,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-lldp.c:1555,1
    - Dst: lldp_network_addr_print
      Src: /src/tcpdump/print-lldp.c:1559,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1563,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1578,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:1578,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1584,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-lldp.c:1585,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1594,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-lldp.c:1595,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1600,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-lldp.c:1601,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:1616,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lldp.c:1617,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1618,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lldp.c:1619,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1620,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lldp.c:1621,1
    - Dst: lldp_mgmt_addr_tlv_print
      Src: /src/tcpdump/print-lldp.c:1627,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-lldp.c:1638,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lldp.c:1639,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lldp.c:1639,1
    - Dst: lldp_private_8021_print
      Src: /src/tcpdump/print-lldp.c:1643,1
    - Dst: lldp_private_8023_print
      Src: /src/tcpdump/print-lldp.c:1646,1
    - Dst: lldp_private_iana_print
      Src: /src/tcpdump/print-lldp.c:1649,1
    - Dst: lldp_private_tia_print
      Src: /src/tcpdump/print-lldp.c:1652,1
    - Dst: lldp_private_dcbx_print
      Src: /src/tcpdump/print-lldp.c:1655,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-lldp.c:1671,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-lldp.c:1679,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 188
    argCount: 3
    argNames:
    - ndo
    - pptr
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1444
    functionDepth: 3
    functionLinenumber: 1444
    functionLinenumberEnd: 1680
    functionName: lldp_print
    functionSourceFile: /src/tcpdump/print-lldp.c
    functionUses: 1
    functionsReached:
    - bittok2str
    - LLDP_EXTRACT_LEN
    - GET_U_1
    - lldp_private_iana_print
    - nd_printjnp
    - lldp_private_8023_print
    - lldp_private_tia_print
    - lldp_private_8021_print
    - GET_MAC48_STRING
    - ND_PRINT
    - lldp_private_dcbx_print
    - GET_BE_U_3
    - print_unknown_data
    - lldp_mgmt_addr_tlv_print
    - lldp_network_addr_print
    - GET_BE_U_2
    - LLDP_EXTRACT_TYPE
    - ND_TCHECK_LEN
    - tok2str
    - nd_print_trunc
    linkageType: ''
    returnType: void
    signature: "void lldp_print(netdissect_options *ndo,\n           const u_char
      *pptr, u_int len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:241,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:242,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:243,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:247,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:248,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:252,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:255,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:256,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ospf.c:258,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:262,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:263,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:263,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:267,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:268,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:269,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:269,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:270,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:274,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:275,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:275,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ospf.c:280,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:289,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ospf.c:298,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 3
    argNames:
    - ndo
    - tptr
    - ls_length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 300
    functionName: ospf_grace_lsa_print
    functionSourceFile: /src/tcpdump/print-ospf.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - print_unknown_data
    - ND_ICHECKMSG_U
    - nd_print_invalid
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int ospf_grace_lsa_print(netdissect_options *ndo,\n                     const
      u_char *tptr, u_int ls_length)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:310,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:311,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:312,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:317,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:318,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:320,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:321,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:325,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ospf.c:327,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:331,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:334,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:334,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:339,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:342,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:343,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:344,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:346,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:347,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:348,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:353,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:356,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:356,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:361,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:364,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-ospf.c:364,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:368,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:372,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-ospf.c:374,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:379,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:383,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:384,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:384,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:385,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:387,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:391,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:396,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-ospf.c:398,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:403,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:406,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:406,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:411,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:414,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf.c:415,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:415,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:419,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:423,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:424,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:424,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:425,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:426,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:426,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:428,1
    - Dst: GET_BE_F_4
      Src: /src/tcpdump/print-ospf.c:430,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:435,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:438,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:439,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:439,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:440,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:444,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:449,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:451,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:451,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:455,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ospf.c:460,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:469,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ospf.c:478,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 153
    argCount: 3
    argNames:
    - ndo
    - tptr
    - tlv_length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 480
    functionName: ospf_te_tlv_link_print
    functionSourceFile: /src/tcpdump/print-ospf.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - bittok2str
    - print_unknown_data
    - ND_ICHECKMSG_U
    - nd_print_invalid
    - GET_U_1
    - GET_BE_F_4
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int ospf_te_tlv_link_print(netdissect_options *ndo,\n                       const
      u_char *tptr, u_int tlv_length)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:489,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:490,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:491,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:495,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:496,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:500,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:503,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:504,1
    - Dst: ospf_te_tlv_link_print
      Src: /src/tcpdump/print-ospf.c:508,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:513,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:514,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:514,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ospf.c:519,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:527,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:530,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ospf.c:541,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - ndo
    - tptr
    - ls_length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 543
    functionName: ospf_te_lsa_print
    functionSourceFile: /src/tcpdump/print-ospf.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - print_unknown_data
    - ND_ICHECKMSG_U
    - ospf_te_tlv_link_print
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - tok2str
    linkageType: ''
    returnType: int
    signature: "int ospf_te_lsa_print(netdissect_options *ndo,\n                  const
      u_char *tptr, u_int ls_length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:552,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:554,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:558,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:559,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:560,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:561,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:563,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:569,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:570,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:573,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:575,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:576,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-ospf.c:577,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:584,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:585,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:587,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:590,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf.c:591,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ndo
    - lshp
    argTypes:
    - netdissect_options*
    - struct lsa_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 594
    functionName: ospf_print_lshdr
    functionSourceFile: /src/tcpdump/print-ospf.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - bittok2str
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_3
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int ospf_print_lshdr(netdissect_options *ndo,\n                 const
      struct lsa_hdr *lshp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:615,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:622,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:623,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:624,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ndo
    - tos
    argTypes:
    - netdissect_options*
    - union un_tos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 632
    functionName: ospf_print_tos_metrics
    functionSourceFile: /src/tcpdump/print-ospf.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - tok2str
    - ND_PRINT
    - GET_BE_U_2
    linkageType: ''
    returnType: void
    signature: "void ospf_print_tos_metrics(netdissect_options *ndo,\n                       const
      union un_tos *tos)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:649,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:650,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:651,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:656,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:657,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:659,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:660,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:664,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:670,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-ospf.c:670,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:672,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:672,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:674,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ospf.c:680,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:688,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ospf.c:697,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - ndo
    - tptr
    - tlv_length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 699
    functionName: ospf_print_ri_lsa_sid_label_range_tlv
    functionSourceFile: /src/tcpdump/print-ospf.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - ND_ICHECKMSG_U
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_3
    - nd_print_invalid
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int ospf_print_ri_lsa_sid_label_range_tlv(netdissect_options *ndo,
      const uint8_t *tptr,\n\t\t\t\t      u_int tlv_length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:709,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:710,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:711,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:716,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:717,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:719,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:720,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:724,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:729,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:730,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:731,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:734,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-ospf.c:734,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:736,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:736,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:738,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:741,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:742,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf.c:743,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ospf.c:748,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:756,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ospf.c:765,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 3
    argNames:
    - ndo
    - tptr
    - tlv_length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 767
    functionName: ospf_print_ep_lsa_extd_prefix_tlv
    functionSourceFile: /src/tcpdump/print-ospf.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - print_unknown_data
    - ND_ICHECKMSG_U
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_3
    - nd_print_invalid
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int ospf_print_ep_lsa_extd_prefix_tlv(netdissect_options *ndo, const
      uint8_t *tptr,\n\t\t\t\t  u_int tlv_length)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:777,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:778,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:779,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:784,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:785,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:787,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:788,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:792,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:797,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:798,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:799,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:800,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:803,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:808,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:812,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:813,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:814,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf.c:815,1
    - Dst: ospf_print_ep_lsa_extd_prefix_tlv
      Src: /src/tcpdump/print-ospf.c:819,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:826,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:827,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:828,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:829,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:832,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:837,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:841,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:842,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf.c:844,1
    - Dst: ospf_print_ep_lsa_extd_prefix_tlv
      Src: /src/tcpdump/print-ospf.c:848,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ospf.c:856,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:864,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:867,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ospf.c:878,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 3
    argNames:
    - ndo
    - tptr
    - lsa_length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 880
    functionName: ospf_ep_lsa_print
    functionSourceFile: /src/tcpdump/print-ospf.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - bittok2str
    - print_unknown_data
    - ospf_print_ep_lsa_extd_prefix_tlv
    - ND_ICHECKMSG_U
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - tok2str
    linkageType: ''
    returnType: int
    signature: int ospf_ep_lsa_print(netdissect_options *ndo, const uint8_t *tptr,
      u_int lsa_length)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: ospf_print_lshdr
      Src: /src/tcpdump/print-ospf.c:903,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:914,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:917,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf.c:918,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:918,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:920,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-ospf.c:921,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-ospf.c:924,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:925,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:928,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:929,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:930,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:934,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:935,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:936,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:940,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:941,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:942,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:946,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:947,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:948,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:952,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:953,1
    - Dst: ospf_print_tos_metrics
      Src: /src/tcpdump/print-ospf.c:957,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:960,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:965,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:966,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:969,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:969,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-ospf.c:975,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:976,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:977,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-ospf.c:978,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:983,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:985,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:986,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-ospf.c:994,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:999,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1001,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:1002,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-ospf.c:1011,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1012,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:1013,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-ospf.c:1015,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:1020,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1022,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:1023,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1027,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1029,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-ospf.c:1031,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1032,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:1032,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-ospf.c:1034,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1035,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:1035,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:1045,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1048,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:1049,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1053,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:1054,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1058,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:1059,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1070,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:1076,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:1078,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:1079,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1083,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:1084,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1089,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ospf.c:1093,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1098,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1101,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf.c:1102,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:1102,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1106,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-ospf.c:1107,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1113,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:1114,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1115,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1116,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1124,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-ospf.c:1127,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1128,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-ospf.c:1128,1
    - Dst: ospf_print_ri_lsa_sid_label_range_tlv
      Src: /src/tcpdump/print-ospf.c:1129,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1136,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1139,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1139,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ospf.c:1144,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-ospf.c:1154,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1157,1
    - Dst: ospf_grace_lsa_print
      Src: /src/tcpdump/print-ospf.c:1168,1
    - Dst: ospf_te_lsa_print
      Src: /src/tcpdump/print-ospf.c:1175,1
    - Dst: ospf_ep_lsa_print
      Src: /src/tcpdump/print-ospf.c:1182,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ospf.c:1190,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ospf.c:1200,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ospf.c:1208,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 213
    argCount: 2
    argNames:
    - ndo
    - lsap
    argTypes:
    - netdissect_options*
    - struct lsa*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 887
    functionDepth: 3
    functionLinenumber: 887
    functionLinenumberEnd: 1210
    functionName: ospf_print_lsa
    functionSourceFile: /src/tcpdump/print-ospf.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - ND_ICHECKMSG_U
    - GET_U_1
    - nd_printjnp
    - ospf_te_lsa_print
    - ospf_ep_lsa_print
    - nd_print_invalid
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    - ospf_print_ri_lsa_sid_label_range_tlv
    - ND_PRINT
    - GET_BE_U_3
    - GET_IPADDR_STRING
    - print_unknown_data
    - GET_BE_U_2
    - ND_TCHECK_LEN
    - tok2str
    - ospf_print_lshdr
    - ospf_print_tos_metrics
    - ospf_grace_lsa_print
    - GET_IPV4_TO_NETWORK_ORDER
    - ND_TCHECK_4
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\nospf_print_lsa(netdissect_options *ndo,\n               const
      struct lsa *lsap)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1224,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1227,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1232,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:1241,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1245,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:1246,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1251,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1254,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:1254,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:1257,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1258,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:1262,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1263,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:1264,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:1267,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1268,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1274,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:1277,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1278,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf.c:1279,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1285,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1288,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:1288,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 3
    argNames:
    - ndo
    - op
    - length
    argTypes:
    - netdissect_options*
    - struct ospfhdr*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1294
    functionName: ospf_decode_lls
    functionSourceFile: /src/tcpdump/print-ospf.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void ospf_decode_lls(netdissect_options *ndo,\n                const
      struct ospfhdr *op, u_int length)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1306,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1309,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf.c:1310,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1310,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1312,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:1313,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:1314,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:1315,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1316,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-ospf.c:1318,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1319,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:1320,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-ospf.c:1322,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1323,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:1324,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1328,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1330,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:1330,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1336,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf.c:1337,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1337,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1338,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf.c:1339,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1339,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:1340,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1341,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:1342,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1344,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:1344,1
    - Dst: ospf_print_lshdr
      Src: /src/tcpdump/print-ospf.c:1348,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-ospf.c:1356,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1358,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:1359,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:1360,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:1360,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:1361,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:1363,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1368,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:1369,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1369,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1370,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-ospf.c:1371,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1374,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:1375,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:1385,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1386,1
    - Dst: PLURAL_SUFFIX
      Src: /src/tcpdump/print-ospf.c:1386,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1388,1
    - Dst: ospf_print_lsa
      Src: /src/tcpdump/print-ospf.c:1389,1
    - Dst: ospf_print_lshdr
      Src: /src/tcpdump/print-ospf.c:1398,1
    - Dst: nd_trunc_longjmp
      Src: /src/tcpdump/print-ospf.c:1409,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 3
    argNames:
    - ndo
    - op
    - dataend
    argTypes:
    - netdissect_options*
    - struct ospfhdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1296
    functionDepth: 4
    functionLinenumber: 1296
    functionLinenumberEnd: 1410
    functionName: ospf_decode_v2
    functionSourceFile: /src/tcpdump/print-ospf.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - bittok2str
    - PLURAL_SUFFIX
    - nd_trunc_longjmp
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - ospf_print_lsa
    - GET_BE_U_3
    - GET_IPV4_TO_NETWORK_ORDER
    - tok2str
    - ospf_print_lshdr
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void ospf_decode_v2(netdissect_options *ndo,\n               const
      struct ospfhdr *op, const u_char *dataend)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1423,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-ospf.c:1426,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1427,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-ospf.c:1428,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1429,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:1432,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:1440,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1440,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1441,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf.c:1449,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1451,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1460,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:1460,1
    - Dst: GET_IPV4_TO_NETWORK_ORDER
      Src: /src/tcpdump/print-ospf.c:1462,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1463,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf.c:1463,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1465,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ospf.c:1469,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1471,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf.c:1472,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1481,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-ospf.c:1482,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf.c:1486,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1487,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf.c:1488,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf.c:1489,1
    - Dst: ospf_decode_v2
      Src: /src/tcpdump/print-ospf.c:1498,1
    - Dst: ospf_decode_lls
      Src: /src/tcpdump/print-ospf.c:1500,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ospf.c:1505,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1412
    functionDepth: 5
    functionLinenumber: 1412
    functionLinenumberEnd: 1506
    functionName: ospf_print
    functionSourceFile: /src/tcpdump/print-ospf.c
    functionUses: 1
    functionsReached:
    - GET_IPADDR_STRING
    - ND_TCHECK_LEN
    - tok2str
    - nd_print_invalid
    - GET_U_1
    - ospf_decode_lls
    - GET_BE_U_2
    - nd_printjnp
    - ND_PRINT
    - ospf_decode_v2
    - GET_IPV4_TO_NETWORK_ORDER
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void ospf_print(netdissect_options *ndo,\n           const u_char
      *bp, u_int length)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:118,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:118,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:121,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:121,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:130,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:130,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:131,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:131,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:137,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:137,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:137,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:138,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:153,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:153,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:160,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:160,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:164,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:164,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:169,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:178,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:178,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:180,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:180,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:182,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:182,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:183,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:183,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:186,1
    - Dst: is_UCX
      Src: /src/tcpdump/parsenfsfh.c:199,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:213,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:214,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/parsenfsfh.c:217,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:224,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:225,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/parsenfsfh.c:228,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/parsenfsfh.c:235,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/parsenfsfh.c:238,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/parsenfsfh.c:242,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:248,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:249,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/parsenfsfh.c:252,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/parsenfsfh.c:260,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/parsenfsfh.c:261,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/parsenfsfh.c:262,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/parsenfsfh.c:264,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:282,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:283,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/parsenfsfh.c:284,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/parsenfsfh.c:286,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/parsenfsfh.c:293,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/parsenfsfh.c:295,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/parsenfsfh.c:297,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/parsenfsfh.c:299,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:307,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:308,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/parsenfsfh.c:310,1
    - Dst: memset
      Src: /src/tcpdump/parsenfsfh.c:318,1
    - Dst: memcpy
      Src: /src/tcpdump/parsenfsfh.c:320,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:323,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:324,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/parsenfsfh.c:325,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/parsenfsfh.c:336,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/parsenfsfh.c:337,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/parsenfsfh.c:338,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/parsenfsfh.c:340,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:347,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/parsenfsfh.c:348,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/parsenfsfh.c:350,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/parsenfsfh.c:352,1
    - Dst: fprintf
      Src: /src/tcpdump/parsenfsfh.c:362,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:362,1
    - Dst: fprintf
      Src: /src/tcpdump/parsenfsfh.c:363,1
    - Dst: snprintf
      Src: /src/tcpdump/parsenfsfh.c:368,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:369,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 172
    argCount: 8
    argNames:
    - ndo
    - fh
    - len
    - fsidp
    - inop
    - osnamep
    - fsnamep
    - ourself
    argTypes:
    - netdissect_options*
    - unsigned char*
    - u_int
    - my_fsid*
    - uint32_t*
    - char**
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 388
    functionName: Parse_fh
    functionSourceFile: /src/tcpdump/parsenfsfh.c
    functionUses: 1
    functionsReached:
    - GET_LE_U_2
    - GET_U_1
    - is_UCX
    - GET_LE_U_4
    - fprintf
    - GET_BE_U_2
    - memcpy
    - snprintf
    - GET_BE_U_3
    - memset
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void Parse_fh(netdissect_options *ndo, const unsigned char *fh, u_int
      len,\n\t my_fsid *fsidp, uint32_t *inop,\n\t const char **osnamep, /* if non-NULL,
      return OS name here */\n\t const char **fsnamep, /* if non-NULL, return server
      fs name here (for VMS) */\n\t int ourself)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_ASCII_ISPRINT
      Src: /src/tcpdump/parsenfsfh.c:411,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:411,1
    - Dst: GET_U_1
      Src: /src/tcpdump/parsenfsfh.c:416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - ndo
    - fhp
    - len
    argTypes:
    - netdissect_options*
    - unsigned char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 424
    functionName: is_UCX
    functionSourceFile: /src/tcpdump/parsenfsfh.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - ND_ASCII_ISPRINT
    linkageType: ''
    returnType: int
    signature: int is_UCX(netdissect_options *ndo, const unsigned char *fhp, u_int
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_addrtoname
      Src: /src/tcpdump/print.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - localnet
    - mask
    argTypes:
    - netdissect_options*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: init_print
    functionSourceFile: /src/tcpdump/print.c
    functionUses: 0
    functionsReached:
    - init_addrtoname
    linkageType: ''
    returnType: void
    signature: void init_print(netdissect_options *ndo, uint32_t localnet, uint32_t
      mask)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 284
    functionName: lookup_printer
    functionSourceFile: /src/tcpdump/print.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: if_printer
    signature: if_printer lookup_printer(int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lookup_printer
      Src: /src/tcpdump/print.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: has_printer
    functionSourceFile: /src/tcpdump/print.c
    functionUses: 1
    functionsReached:
    - lookup_printer
    linkageType: ''
    returnType: int
    signature: int has_printer(int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lookup_printer
      Src: /src/tcpdump/print.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: get_if_printer
    functionSourceFile: /src/tcpdump/print.c
    functionUses: 0
    functionsReached:
    - lookup_printer
    linkageType: ''
    returnType: if_printer
    signature: if_printer get_if_printer(int type)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:324,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:327,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:332,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:337,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:339,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:340,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:344,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:346,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:347,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:352,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:354,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:355,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:360,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:362,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:363,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:366,1
    - Dst: ts_print
      Src: /src/tcpdump/print.c:391,1
    - Dst: setjmp
      Src: /src/tcpdump/print.c:404,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print.c:411,1
    - Dst: nd_pop_all_packet_info
      Src: /src/tcpdump/print.c:428,1
    - Dst: hex_and_ascii_print
      Src: /src/tcpdump/print.c:447,1
    - Dst: hex_and_ascii_print
      Src: /src/tcpdump/print.c:455,1
    - Dst: hex_print
      Src: /src/tcpdump/print.c:466,1
    - Dst: hex_print
      Src: /src/tcpdump/print.c:474,1
    - Dst: ascii_print
      Src: /src/tcpdump/print.c:485,1
    - Dst: ascii_print
      Src: /src/tcpdump/print.c:493,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print.c:497,1
    - Dst: nd_free_all
      Src: /src/tcpdump/print.c:498,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 4
    argNames:
    - ndo
    - h
    - sp
    - packets_captured
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 499
    functionName: pretty_print_packet
    functionSourceFile: /src/tcpdump/print.c
    functionUses: 3
    functionsReached:
    - nd_pop_all_packet_info
    - setjmp
    - nd_print_trunc
    - ascii_print
    - nd_free_all
    - hex_print
    - ND_PRINT
    - ts_print
    - hex_and_ascii_print
    linkageType: ''
    returnType: void
    signature: "void pretty_print_packet(netdissect_options *ndo, const struct pcap_pkthdr
      *h,\n\t\t    const u_char *sp, u_int packets_captured)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hex_and_ascii_print
      Src: /src/tcpdump/print.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: ndo_default_print
    functionSourceFile: /src/tcpdump/print.c
    functionUses: 0
    functionsReached:
    - hex_and_ascii_print
    linkageType: ''
    returnType: void
    signature: void ndo_default_print(netdissect_options *ndo, const u_char *bp, u_int
      length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tcpdump/print.c:518,1
    - Dst: va_start
      Src: /src/tcpdump/print.c:519,1
    - Dst: vfprintf
      Src: /src/tcpdump/print.c:520,1
    - Dst: va_end
      Src: /src/tcpdump/print.c:521,1
    - Dst: strlen
      Src: /src/tcpdump/print.c:523,1
    - Dst: fputc
      Src: /src/tcpdump/print.c:525,1
    - Dst: nd_cleanup
      Src: /src/tcpdump/print.c:527,1
    - Dst: exit
      Src: /src/tcpdump/print.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ndo
    - status
    argTypes:
    - netdissect_options*
    - status_exit_codes_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 530
    functionName: ndo_error
    functionSourceFile: /src/tcpdump/print.c
    functionUses: 0
    functionsReached:
    - exit
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - nd_cleanup
    - va_start
    linkageType: ''
    returnType: void
    signature: "void ndo_error(netdissect_options *ndo, status_exit_codes_t status,\n
      \         FORMAT_STRING(const char *fmt), ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tcpdump/print.c:539,1
    - Dst: fprintf
      Src: /src/tcpdump/print.c:540,1
    - Dst: va_start
      Src: /src/tcpdump/print.c:541,1
    - Dst: vfprintf
      Src: /src/tcpdump/print.c:542,1
    - Dst: va_end
      Src: /src/tcpdump/print.c:543,1
    - Dst: strlen
      Src: /src/tcpdump/print.c:545,1
    - Dst: fputc
      Src: /src/tcpdump/print.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 549
    functionName: ndo_warning
    functionSourceFile: /src/tcpdump/print.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - fputc
    - fprintf
    - va_end
    - strlen
    - va_start
    linkageType: ''
    returnType: void
    signature: void ndo_warning(netdissect_options *ndo, FORMAT_STRING(const char
      *fmt), ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tcpdump/print.c:558,1
    - Dst: vfprintf
      Src: /src/tcpdump/print.c:559,1
    - Dst: va_end
      Src: /src/tcpdump/print.c:560,1
    - Dst: ndo_error
      Src: /src/tcpdump/print.c:563,1
    - Dst: pcap_strerror
      Src: /src/tcpdump/print.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 566
    functionName: ndo_printf
    functionSourceFile: /src/tcpdump/print.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - ndo_error
    - va_end
    - va_start
    - pcap_strerror
    linkageType: ''
    returnType: void
    signature: void ndo_printf(netdissect_options *ndo, FORMAT_STRING(const char *fmt),
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 575
    functionName: ndo_set_function_pointers
    functionSourceFile: /src/tcpdump/print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ndo_set_function_pointers(netdissect_options *ndo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_debug
      Src: /src/tcpdump/instrument-functions.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - this_fn
    - call_site
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: __cyg_profile_func_enter
    functionSourceFile: /src/tcpdump/instrument-functions.c
    functionUses: 0
    functionsReached:
    - print_debug
    linkageType: ''
    returnType: void
    signature: void __cyg_profile_func_enter(void *this_fn, void *call_site)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_debug
      Src: /src/tcpdump/instrument-functions.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - this_fn
    - call_site
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: __cyg_profile_func_exit
    functionSourceFile: /src/tcpdump/instrument-functions.c
    functionUses: 0
    functionsReached:
    - print_debug
    linkageType: ''
    returnType: void
    signature: void __cyg_profile_func_exit(void *this_fn, void *call_site)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tcpdump/instrument-functions.c:111,1
    - Dst: strncmp
      Src: /src/tcpdump/instrument-functions.c:114,1
    - Dst: strncmp
      Src: /src/tcpdump/instrument-functions.c:118,1
    - Dst: strncmp
      Src: /src/tcpdump/instrument-functions.c:119,1
    - Dst: strncmp
      Src: /src/tcpdump/instrument-functions.c:121,1
    - Dst: strncmp
      Src: /src/tcpdump/instrument-functions.c:122,1
    - Dst: fprintf
      Src: /src/tcpdump/instrument-functions.c:123,1
    - Dst: exit
      Src: /src/tcpdump/instrument-functions.c:125,1
    - Dst: readlink
      Src: /src/tcpdump/instrument-functions.c:139,1
    - Dst: perror
      Src: /src/tcpdump/instrument-functions.c:141,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:146,1
    - Dst: bfd_init
      Src: /src/tcpdump/instrument-functions.c:151,1
    - Dst: bfd_openr
      Src: /src/tcpdump/instrument-functions.c:153,1
    - Dst: bfd_perror
      Src: /src/tcpdump/instrument-functions.c:155,1
    - Dst: bfd_check_format
      Src: /src/tcpdump/instrument-functions.c:159,1
    - Dst: bfd_perror
      Src: /src/tcpdump/instrument-functions.c:160,1
    - Dst: bfd_get_symtab_upper_bound
      Src: /src/tcpdump/instrument-functions.c:164,1
    - Dst: bfd_perror
      Src: /src/tcpdump/instrument-functions.c:165,1
    - Dst: malloc
      Src: /src/tcpdump/instrument-functions.c:169,1
    - Dst: bfd_canonicalize_symtab
      Src: /src/tcpdump/instrument-functions.c:170,1
    - Dst: free
      Src: /src/tcpdump/instrument-functions.c:172,1
    - Dst: bfd_perror
      Src: /src/tcpdump/instrument-functions.c:173,1
    - Dst: bfd_get_section_by_name
      Src: /src/tcpdump/instrument-functions.c:177,1
    - Dst: bfd_perror
      Src: /src/tcpdump/instrument-functions.c:178,1
    - Dst: bfd_get_symbol_info
      Src: /src/tcpdump/instrument-functions.c:192,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:205,1
    - Dst: bfd_find_nearest_line
      Src: /src/tcpdump/instrument-functions.c:211,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:213,1
    - Dst: putchar
      Src: /src/tcpdump/instrument-functions.c:221,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:223,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:225,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:228,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:230,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:231,1
    - Dst: strncmp
      Src: /src/tcpdump/instrument-functions.c:234,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:237,1
    - Dst: bfd_find_nearest_line
      Src: /src/tcpdump/instrument-functions.c:239,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:242,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:244,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:247,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:249,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:252,1
    - Dst: strrchr
      Src: /src/tcpdump/instrument-functions.c:254,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:257,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:261,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:263,1
    - Dst: printf
      Src: /src/tcpdump/instrument-functions.c:264,1
    - Dst: putchar
      Src: /src/tcpdump/instrument-functions.c:268,1
    - Dst: fflush
      Src: /src/tcpdump/instrument-functions.c:273,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 114
    argCount: 3
    argNames:
    - this_fn
    - call_site
    - action
    argTypes:
    - void*
    - void*
    - action_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 274
    functionName: print_debug
    functionSourceFile: /src/tcpdump/instrument-functions.c
    functionUses: 4
    functionsReached:
    - fprintf
    - printf
    - bfd_get_symtab_upper_bound
    - bfd_check_format
    - bfd_perror
    - bfd_get_symbol_info
    - perror
    - bfd_find_nearest_line
    - getenv
    - bfd_get_section_by_name
    - strrchr
    - putchar
    - bfd_init
    - exit
    - bfd_openr
    - readlink
    - bfd_canonicalize_symtab
    - free
    - strncmp
    - malloc
    - fflush
    linkageType: ''
    returnType: void
    signature: void print_debug(void *this_fn, void *call_site, action_type action)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:149,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ndo
    - addr
    - addrlen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: nhrp_ipv4_addr_string
    functionSourceFile: /src/tcpdump/print-nhrp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - GET_LINKADDR_STRING
    linkageType: ''
    returnType: char
    signature: 'char *

      nhrp_ipv4_addr_string(netdissect_options *ndo, const u_char *addr, u_int addrlen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - addrlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: NHRP_IPv4_ADDR_STRING
    functionSourceFile: /src/tcpdump/print-nhrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NHRP_IPv4_ADDR_STRING(addr, addrlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:164,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ndo
    - addr
    - addrlen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: nhrp_ipv6_addr_string
    functionSourceFile: /src/tcpdump/print-nhrp.c
    functionUses: 0
    functionsReached:
    - GET_IP6ADDR_STRING
    - GET_LINKADDR_STRING
    linkageType: ''
    returnType: char
    signature: 'char *

      nhrp_ipv6_addr_string(netdissect_options *ndo, const u_char *addr, u_int addrlen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - addrlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: NHRP_IPv6_ADDR_STRING
    functionSourceFile: /src/tcpdump/print-nhrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NHRP_IPv6_ADDR_STRING(addr, addrlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-nhrp.c:179,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ndo
    - addr
    - addrlen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: nhrp_mac_addr_string
    functionSourceFile: /src/tcpdump/print-nhrp.c
    functionUses: 0
    functionsReached:
    - GET_MAC48_STRING
    - GET_LINKADDR_STRING
    linkageType: ''
    returnType: char
    signature: 'char *

      nhrp_mac_addr_string(netdissect_options *ndo, const u_char *addr, u_int addrlen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - addrlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: NHRP_MAC_ADDR_STRING
    functionSourceFile: /src/tcpdump/print-nhrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NHRP_MAC_ADDR_STRING(addr, addrlen)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-nhrp.c:202,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:203,1
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-nhrp.c:207,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nhrp.c:208,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:210,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-nhrp.c:214,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-nhrp.c:215,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-nhrp.c:217,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-nhrp.c:218,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-nhrp.c:219,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nhrp.c:221,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:222,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nhrp.c:222,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-nhrp.c:232,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-nhrp.c:233,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-nhrp.c:241,1
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-nhrp.c:244,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-nhrp.c:245,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:255,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-nhrp.c:255,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:258,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nhrp.c:258,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-nhrp.c:258,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:261,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nhrp.c:261,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-nhrp.c:261,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nhrp.c:265,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nhrp.c:266,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:269,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nhrp.c:269,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:273,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:277,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nhrp.c:281,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nhrp.c:282,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-nhrp.c:288,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:291,1
    - Dst: NHRP_IPv4_ADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:291,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:294,1
    - Dst: NHRP_IPv6_ADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:294,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:297,1
    - Dst: NHRP_MAC_ADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:297,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:300,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:301,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-nhrp.c:310,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-nhrp.c:311,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:316,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-nhrp.c:319,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:322,1
    - Dst: NHRP_IPv4_ADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:322,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:325,1
    - Dst: NHRP_IPv6_ADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:325,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:328,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:329,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:329,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:335,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-nhrp.c:338,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:341,1
    - Dst: NHRP_IPv4_ADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:341,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:344,1
    - Dst: NHRP_IPv6_ADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:344,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:347,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:347,1
    - Dst: nhrp_print_cie
      Src: /src/tcpdump/print-nhrp.c:369,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-nhrp.c:384,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 145
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 385
    functionName: nhrp_print
    functionSourceFile: /src/tcpdump/print-nhrp.c
    functionUses: 2
    functionsReached:
    - ND_ICHECKMSG_U
    - NHRP_IPv6_ADDR_STRING
    - ND_ICHECKMSG_ZU
    - GET_U_1
    - nd_print_invalid
    - nd_print_protocol_caps
    - GET_LINKADDR_STRING
    - GET_BE_U_2
    - ND_PRINT
    - NHRP_MAC_ADDR_STRING
    - ND_ICHECK_ZU
    - nhrp_print_cie
    - ND_TCHECK_LEN
    - tok2str
    - NHRP_IPv4_ADDR_STRING
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void nhrp_print(netdissect_options *ndo, const u_char *bp, u_int length)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-nhrp.c:399,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:402,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nhrp.c:402,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:404,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nhrp.c:405,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-nhrp.c:406,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-nhrp.c:407,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nhrp.c:408,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nhrp.c:410,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nhrp.c:411,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nhrp.c:412,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:416,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-nhrp.c:423,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:427,1
    - Dst: NHRP_IPv4_ADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:427,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:430,1
    - Dst: NHRP_IPv6_ADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:430,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:433,1
    - Dst: NHRP_MAC_ADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:433,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:436,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:437,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-nhrp.c:446,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:448,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-nhrp.c:449,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-nhrp.c:456,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:460,1
    - Dst: NHRP_IPv4_ADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:460,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:463,1
    - Dst: NHRP_IPv6_ADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:463,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:466,1
    - Dst: GET_LINKADDR_STRING
      Src: /src/tcpdump/print-nhrp.c:467,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nhrp.c:474,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-nhrp.c:479,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 5
    argNames:
    - ndo
    - data
    - mand_part_len
    - afn
    - pro_type
    argTypes:
    - netdissect_options*
    - u_char*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 491
    functionName: nhrp_print_cie
    functionSourceFile: /src/tcpdump/print-nhrp.c
    functionUses: 1
    functionsReached:
    - ND_ICHECKMSG_U
    - NHRP_IPv6_ADDR_STRING
    - ND_ICHECKMSG_ZU
    - GET_U_1
    - nd_print_invalid
    - GET_LINKADDR_STRING
    - GET_BE_U_2
    - ND_PRINT
    - NHRP_MAC_ADDR_STRING
    - ND_TCHECK_LEN
    - NHRP_IPv4_ADDR_STRING
    linkageType: ''
    returnType: u_int
    signature: "u_int nhrp_print_cie(netdissect_options *ndo, const u_char *data,
      uint16_t mand_part_len,\n               uint16_t afn, uint16_t pro_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: LLC_U_CMD
    functionSourceFile: /src/tcpdump/llc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LLC_U_CMD(u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - is
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: LLC_S_CMD
    functionSourceFile: /src/tcpdump/llc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LLC_S_CMD(is)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - is
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: LLC_IS_NR
    functionSourceFile: /src/tcpdump/llc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LLC_IS_NR(is)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - is
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: LLC_I_NS
    functionSourceFile: /src/tcpdump/llc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LLC_I_NS(is)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol
      Src: /src/tcpdump/print-erspan.c:74,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:80,1
    - Dst: ether_print
      Src: /src/tcpdump/print-erspan.c:81,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-erspan.c:81,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-erspan.c:88,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-erspan.c:89,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:99,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:104,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:107,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:115,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:118,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:121,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:127,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:130,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-erspan.c:133,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-erspan.c:134,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:139,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:143,1
    - Dst: ether_print
      Src: /src/tcpdump/print-erspan.c:144,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-erspan.c:144,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-erspan.c:148,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 4
    argNames:
    - ndo
    - flags
    - bp
    - len
    argTypes:
    - netdissect_options*
    - uint16_t
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 149
    functionName: erspan_i_ii_print
    functionSourceFile: /src/tcpdump/print-erspan.c
    functionUses: 1
    functionsReached:
    - nd_print_protocol
    - ND_PRINT
    - ether_print
    - ND_BYTES_AVAILABLE_AFTER
    - nd_print_invalid
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void erspan_i_ii_print(netdissect_options *ndo, uint16_t flags, const
      u_char *bp, u_int len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol
      Src: /src/tcpdump/print-erspan.c:206,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-erspan.c:212,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-erspan.c:213,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:223,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:228,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:231,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:233,1
    - Dst: tok2str
      Src: /src/tcpdump/print-erspan.c:234,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:239,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:242,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-erspan.c:246,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-erspan.c:247,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-erspan.c:252,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-erspan.c:253,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-erspan.c:258,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-erspan.c:259,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:264,1
    - Dst: tok2str
      Src: /src/tcpdump/print-erspan.c:265,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-erspan.c:271,1
    - Dst: ND_TCHECK_8
      Src: /src/tcpdump/print-erspan.c:272,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:277,1
    - Dst: ether_print
      Src: /src/tcpdump/print-erspan.c:282,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-erspan.c:282,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-erspan.c:286,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-erspan.c:292,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 3
    argNames:
    - ndo
    - bp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 293
    functionName: erspan_iii_print
    functionSourceFile: /src/tcpdump/print-erspan.c
    functionUses: 1
    functionsReached:
    - nd_print_protocol
    - tok2str
    - ND_TCHECK_2
    - ND_TCHECK_8
    - GET_BE_U_2
    - ND_PRINT
    - ether_print
    - ND_BYTES_AVAILABLE_AFTER
    - nd_print_invalid
    - ND_ICHECK_U
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void erspan_iii_print(netdissect_options *ndo, const u_char *bp, u_int
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-someip.c:95,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-someip.c:97,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-someip.c:99,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-someip.c:104,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-someip.c:107,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-someip.c:109,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-someip.c:111,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-someip.c:115,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-someip.c:117,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-someip.c:119,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-someip.c:121,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-someip.c:123,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-someip.c:125,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-someip.c:127,1
    - Dst: tok2str
      Src: /src/tcpdump/print-someip.c:128,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-someip.c:130,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-someip.c:132,1
    - Dst: tok2str
      Src: /src/tcpdump/print-someip.c:133,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-someip.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 139
    functionName: someip_print
    functionSourceFile: /src/tcpdump/print-someip.c
    functionUses: 1
    functionsReached:
    - tok2str
    - GET_U_1
    - nd_print_protocol_caps
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void someip_print(netdissect_options *ndo, const u_char *bp, const
      u_int length)
  - 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: LWAPP_EXTRACT_VER
    functionSourceFile: /src/tcpdump/print-lwapp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWAPP_EXTRACT_VER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: LWAPP_EXTRACT_RID
    functionSourceFile: /src/tcpdump/print-lwapp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWAPP_EXTRACT_RID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: LWAPP_EXTRACT_CFL
    functionSourceFile: /src/tcpdump/print-lwapp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LWAPP_EXTRACT_CFL(x)
  - BBCount: 136
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 207
    argCount: 2
    argNames:
    - msg_type
    - msgelem_type
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 642
    functionName: permitted_msg_elem
    functionSourceFile: /src/tcpdump/print-lwapp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_char
    signature: u_char permitted_msg_elem(const uint8_t msg_type, const uint8_t msgelem_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-lwapp.c:654,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lwapp.c:658,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwapp.c:659,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lwapp.c:660,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwapp.c:663,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lwapp.c:663,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwapp.c:665,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwapp.c:666,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-lwapp.c:667,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwapp.c:669,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lwapp.c:669,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-lwapp.c:680,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lwapp.c:684,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwapp.c:685,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lwapp.c:686,1
    - Dst: permitted_msg_elem
      Src: /src/tcpdump/print-lwapp.c:687,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwapp.c:688,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwapp.c:690,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwapp.c:691,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwapp.c:693,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-lwapp.c:694,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lwapp.c:699,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-lwapp.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 707
    functionName: lwapp_control_print
    functionSourceFile: /src/tcpdump/print-lwapp.c
    functionUses: 0
    functionsReached:
    - ND_ICHECKMSG_U
    - nd_print_invalid
    - GET_U_1
    - GET_BE_U_2
    - permitted_msg_elem
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void lwapp_control_print(netdissect_options *ndo,\n                    const
      u_char *cp, uint16_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-lwapp.c:714,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-lwapp.c:728,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lwapp.c:732,1
    - Dst: LWAPP_EXTRACT_VER
      Src: /src/tcpdump/print-lwapp.c:733,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-lwapp.c:734,1
    - Dst: LWAPP_EXTRACT_CFL
      Src: /src/tcpdump/print-lwapp.c:735,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwapp.c:736,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwapp.c:740,1
    - Dst: LWAPP_EXTRACT_RID
      Src: /src/tcpdump/print-lwapp.c:740,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwapp.c:745,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lwapp.c:746,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lwapp.c:749,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwapp.c:750,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lwapp.c:753,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwapp.c:754,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-lwapp.c:755,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lwapp.c:759,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-lwapp.c:759,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-lwapp.c:761,1
    - Dst: lwapp_control_print
      Src: /src/tcpdump/print-lwapp.c:774,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-lwapp.c:777,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-lwapp.c:781,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - ndo
    - pptr
    - pktlen
    - has_ap_ident
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 782
    functionName: lwapp_print
    functionSourceFile: /src/tcpdump/print-lwapp.c
    functionUses: 1
    functionsReached:
    - bittok2str
    - print_unknown_data
    - ND_ICHECKMSG_U
    - LWAPP_EXTRACT_RID
    - GET_U_1
    - nd_print_protocol_caps
    - LWAPP_EXTRACT_CFL
    - lwapp_control_print
    - GET_BE_U_2
    - LWAPP_EXTRACT_VER
    - GET_MAC48_STRING
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void lwapp_print(netdissect_options *ndo,\n            const u_char
      *pptr, const u_int pktlen, const u_char has_ap_ident)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/print-lisp.c:248,1
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-lisp.c:249,1
    - Dst: lisp_hdr_flag
      Src: /src/tcpdump/print-lisp.c:251,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lisp.c:253,1
    - Dst: extract_lisp_type
      Src: /src/tcpdump/print-lisp.c:254,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lisp.c:256,1
    - Dst: is_xtr_data_present
      Src: /src/tcpdump/print-lisp.c:261,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lisp.c:264,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lisp.c:266,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lisp.c:269,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:270,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:271,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lisp.c:272,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-lisp.c:273,1
    - Dst: hex_print
      Src: /src/tcpdump/print-lisp.c:275,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:278,1
    - Dst: ND_ICHECKMSG_ZU
      Src: /src/tcpdump/print-lisp.c:279,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-lisp.c:284,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lisp.c:289,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:290,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lisp.c:293,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lisp.c:294,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lisp.c:295,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lisp.c:298,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:299,1
    - Dst: action_flag
      Src: /src/tcpdump/print-lisp.c:300,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lisp.c:300,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lisp.c:301,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:302,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:307,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lisp.c:308,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:313,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lisp.c:314,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:319,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:327,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-lisp.c:331,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lisp.c:334,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:337,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:341,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-lisp.c:342,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:346,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-lisp.c:347,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:354,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lisp.c:356,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lisp.c:357,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lisp.c:358,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lisp.c:359,1
    - Dst: loc_hdr_flag
      Src: /src/tcpdump/print-lisp.c:360,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-lisp.c:361,1
    - Dst: hex_print
      Src: /src/tcpdump/print-lisp.c:372,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:373,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-lisp.c:374,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-lisp.c:377,1
    - Dst: hex_print
      Src: /src/tcpdump/print-lisp.c:378,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-lisp.c:379,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-lisp.c:385,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 96
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 386
    functionName: lisp_print
    functionSourceFile: /src/tcpdump/print-lisp.c
    functionUses: 1
    functionsReached:
    - ND_ICHECKMSG_U
    - GET_U_1
    - nd_print_protocol_caps
    - GET_IP6ADDR_STRING
    - GET_BE_U_8
    - is_xtr_data_present
    - nd_print_invalid
    - GET_BE_U_4
    - lisp_hdr_flag
    - ND_PRINT
    - ND_BYTES_AVAILABLE_AFTER
    - GET_IPADDR_STRING
    - ND_ICHECKMSG_ZU
    - action_flag
    - GET_BE_U_2
    - ND_ICHECK_ZU
    - ND_TCHECK_LEN
    - tok2str
    - ND_TTEST_LEN
    - hex_print
    - extract_lisp_type
    - loc_hdr_flag
    linkageType: ''
    returnType: void
    signature: void lisp_print(netdissect_options *ndo, const u_char *bp, u_int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lisp_hdr_flags
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 392
    functionName: extract_lisp_type
    functionSourceFile: /src/tcpdump/print-lisp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t extract_lisp_type(uint8_t lisp_hdr_flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - type
    - lisp_hdr_flags
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 405
    functionName: is_xtr_data_present
    functionSourceFile: /src/tcpdump/print-lisp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t is_xtr_data_present(uint8_t type, uint8_t lisp_hdr_flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: extract_lisp_type
      Src: /src/tcpdump/print-lisp.c:409,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-lisp.c:409,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:411,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lisp.c:411,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:416,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lisp.c:416,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lisp.c:417,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:419,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lisp.c:419,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-lisp.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ndo
    - lisp_hdr
    argTypes:
    - netdissect_options*
    - lisp_map_register_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 422
    functionName: lisp_hdr_flag
    functionSourceFile: /src/tcpdump/print-lisp.c
    functionUses: 1
    functionsReached:
    - bittok2str
    - GET_U_1
    - ND_PRINT
    - extract_lisp_type
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void lisp_hdr_flag(netdissect_options *ndo, const lisp_map_register_hdr
      *lisp_hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:432,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:434,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:437,1
    - Dst: tok2str
      Src: /src/tcpdump/print-lisp.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ndo
    - act_auth_inc_res
    argTypes:
    - netdissect_options*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 438
    functionName: action_flag
    functionSourceFile: /src/tcpdump/print-lisp.c
    functionUses: 1
    functionsReached:
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void action_flag(netdissect_options *ndo, uint8_t act_auth_inc_res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-lisp.c:442,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-lisp.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ndo
    - flag
    argTypes:
    - netdissect_options*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: loc_hdr_flag
    functionSourceFile: /src/tcpdump/print-lisp.c
    functionUses: 1
    functionsReached:
    - bittok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void loc_hdr_flag(netdissect_options *ndo, uint16_t flag)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:418,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:419,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-ppp.c:423,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:425,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:428,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:429,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:431,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:438,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:442,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:447,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:452,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:458,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:465,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ppp.c:465,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:467,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:468,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-ppp.c:468,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-ppp.c:469,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:509,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ppp.c:511,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:529,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:530,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:530,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:531,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:534,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:535,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:543,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ppp.c:543,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:546,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ppp.c:547,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:548,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:554,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ppp.c:554,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:557,1
    - Dst: nd_printn
      Src: /src/tcpdump/print-ppp.c:558,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:565,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ppp.c:565,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:566,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ppp.c:566,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:574,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:580,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 129
    argCount: 4
    argNames:
    - ndo
    - proto
    - pptr
    - length
    argTypes:
    - netdissect_options*
    - u_int
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 581
    functionName: handle_ctrl_proto
    functionSourceFile: /src/tcpdump/print-ppp.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - ND_TCHECK_LEN
    - ND_TCHECK_2
    - nd_printn
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_3
    - nd_print_invalid
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void handle_ctrl_proto(netdissect_options *ndo,\n                  u_int
      proto, const u_char *pptr, u_int length)"
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-ppp.c:592,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:593,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:594,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:599,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:602,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:606,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:608,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:615,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:618,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:619,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-ppp.c:619,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-ppp.c:620,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:622,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:622,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:623,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:625,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:625,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:631,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:634,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:634,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:638,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:641,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ppp.c:641,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:645,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:648,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:649,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:649,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:651,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:653,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:654,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:654,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:662,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:667,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:670,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:671,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:673,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:677,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:680,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ppp.c:680,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:688,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:691,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:691,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:695,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:698,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:699,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:699,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:700,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:704,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:707,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:707,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:711,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:714,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:716,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:719,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:723,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:726,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ppp.c:726,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:730,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:733,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-ppp.c:733,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:736,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:739,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:742,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:742,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:776,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:781,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:786,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 175
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 788
    functionName: print_lcp_config_options
    functionSourceFile: /src/tcpdump/print-ppp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - print_unknown_data
    - ND_TCHECK_2
    - GET_U_1
    - GET_BE_U_2
    - GET_MAC48_STRING
    - ND_PRINT
    - GET_BE_U_3
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: u_int
    signature: "u_int print_lcp_config_options(netdissect_options *ndo,\n                         const
      u_char *p, u_int length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:802,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:805,1
    - Dst: ND_TTEST_2
      Src: /src/tcpdump/print-ppp.c:808,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:809,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:813,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:814,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ppp.c:816,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:816,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 818
    functionName: handle_mlppp
    functionSourceFile: /src/tcpdump/print-ppp.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - ND_TTEST_2
    linkageType: ''
    returnType: void
    signature: "void handle_mlppp(netdissect_options *ndo,\n             const u_char
      *p, u_int length)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:832,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:835,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:835,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:839,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:840,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:841,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:845,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:845,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:848,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:863,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:867,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:869,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:869,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:873,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-ppp.c:874,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:879,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-ppp.c:880,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 883
    functionName: handle_chap
    functionSourceFile: /src/tcpdump/print-ppp.c
    functionUses: 0
    functionsReached:
    - nd_printjn
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void handle_chap(netdissect_options *ndo,\n            const u_char
      *p, u_int length)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:896,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:899,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:899,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:903,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:904,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:905,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:909,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:909,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:912,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:916,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:921,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:932,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:936,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-ppp.c:937,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:942,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:946,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-ppp.c:947,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:960,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:964,1
    - Dst: nd_printjn
      Src: /src/tcpdump/print-ppp.c:965,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:971,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 972
    functionName: handle_pap
    functionSourceFile: /src/tcpdump/print-ppp.c
    functionUses: 0
    functionsReached:
    - nd_printjn
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void handle_pap(netdissect_options *ndo,\n           const u_char
      *p, u_int length)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-ppp.c:993,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:994,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:995,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:999,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:1000,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1006,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:1007,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1014,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1017,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ppp.c:1018,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ppp.c:1019,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1023,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1026,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1028,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:1029,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1038,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ppp.c:1043,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1044,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1046,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1047,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1048,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1049,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1050,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1057,1
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-ppp.c:1060,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1061,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1062,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1070,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:1071,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1077,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-ppp.c:1079,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1099,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1102,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ppp.c:1102,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:1110,1
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/print-ppp.c:1113,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:1114,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1118,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 1120
    functionName: print_ipcp_config_options
    functionSourceFile: /src/tcpdump/print-ppp.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - print_unknown_data
    - ND_TCHECK_2
    - nd_print_invalid
    - GET_U_1
    - ND_TTEST_LEN
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    linkageType: ''
    returnType: u_int
    signature: "u_int print_ipcp_config_options(netdissect_options *ndo,\n                          const
      u_char *p, u_int length)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-ppp.c:1131,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1132,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1133,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1137,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:1138,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1144,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:1145,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1152,1
    - Dst: ND_TCHECK_8
      Src: /src/tcpdump/print-ppp.c:1155,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1156,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1157,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1158,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1159,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1160,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:1168,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:1172,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1177,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1179
    functionName: print_ip6cp_config_options
    functionSourceFile: /src/tcpdump/print-ppp.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - ND_TCHECK_2
    - GET_U_1
    - ND_TCHECK_8
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: u_int
    signature: "u_int print_ip6cp_config_options(netdissect_options *ndo,\n                           const
      u_char *p, u_int length)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-ppp.c:1191,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1192,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1193,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1197,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:1198,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1204,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:1205,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1212,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1215,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1216,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1217,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1221,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1224,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1225,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1226,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1227,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1228,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1232,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1235,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1236,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1237,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1238,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1239,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1240,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:1265,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:1269,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1274,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1276
    functionName: print_ccp_config_options
    functionSourceFile: /src/tcpdump/print-ppp.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - ND_TCHECK_2
    - GET_U_1
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: u_int
    signature: "u_int print_ccp_config_options(netdissect_options *ndo,\n                         const
      u_char *p, u_int length)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_2
      Src: /src/tcpdump/print-ppp.c:1287,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1288,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1289,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1293,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:1294,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1300,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:1301,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1308,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1311,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ppp.c:1311,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:1319,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:1323,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1330
    functionName: print_bacp_config_options
    functionSourceFile: /src/tcpdump/print-ppp.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - ND_TCHECK_2
    - GET_U_1
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: u_int
    signature: "u_int print_bacp_config_options(netdissect_options *ndo,\n                          const
      u_char *p, u_int length)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-ppp.c:1341,1
    - Dst: malloc
      Src: /src/tcpdump/print-ppp.c:1352,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1364,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1370,1
    - Dst: nd_push_buffer
      Src: /src/tcpdump/print-ppp.c:1381,1
    - Dst: free
      Src: /src/tcpdump/print-ppp.c:1382,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/print-ppp.c:1386,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1391,1
    - Dst: ip_print
      Src: /src/tcpdump/print-ppp.c:1395,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-ppp.c:1398,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1406,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1412,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1414,1
    - Dst: handle_ppp
      Src: /src/tcpdump/print-ppp.c:1416,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1420,1
    - Dst: handle_ppp
      Src: /src/tcpdump/print-ppp.c:1422,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-ppp.c:1427,1
    - Dst: nd_pop_packet_info
      Src: /src/tcpdump/print-ppp.c:1431,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ppp.c:1432,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1337
    functionDepth: 12
    functionLinenumber: 1337
    functionLinenumberEnd: 1433
    functionName: ppp_hdlc
    functionSourceFile: /src/tcpdump/print-ppp.c
    functionUses: 0
    functionsReached:
    - malloc
    - nd_pop_packet_info
    - GET_U_1
    - ip_print
    - handle_ppp
    - nd_print_trunc
    - free
    - GET_BE_U_2
    - ip6_print
    - ND_PRINT
    - ND_BYTES_AVAILABLE_AFTER
    - nd_push_buffer
    linkageType: ''
    returnType: void
    signature: "void ppp_hdlc(netdissect_options *ndo,\n         const u_char *p,
      u_int length)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ppp_hdlc
      Src: /src/tcpdump/print-ppp.c:1442,1
    - Dst: handle_ctrl_proto
      Src: /src/tcpdump/print-ppp.c:1454,1
    - Dst: handle_mlppp
      Src: /src/tcpdump/print-ppp.c:1457,1
    - Dst: handle_chap
      Src: /src/tcpdump/print-ppp.c:1460,1
    - Dst: handle_pap
      Src: /src/tcpdump/print-ppp.c:1463,1
    - Dst: handle_bap
      Src: /src/tcpdump/print-ppp.c:1466,1
    - Dst: ip_print
      Src: /src/tcpdump/print-ppp.c:1471,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-ppp.c:1475,1
    - Dst: ipx_print
      Src: /src/tcpdump/print-ppp.c:1479,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-ppp.c:1482,1
    - Dst: mpls_print
      Src: /src/tcpdump/print-ppp.c:1486,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1489,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1492,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:1492,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ppp.c:1493,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 4
    argNames:
    - ndo
    - proto
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_int
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1437
    functionDepth: 13
    functionLinenumber: 1437
    functionLinenumberEnd: 1496
    functionName: handle_ppp
    functionSourceFile: /src/tcpdump/print-ppp.c
    functionUses: 1
    functionsReached:
    - print_unknown_data
    - handle_ctrl_proto
    - handle_pap
    - ip_print
    - mpls_print
    - handle_chap
    - handle_bap
    - ipx_print
    - ip6_print
    - isoclns_print
    - ND_PRINT
    - handle_mlppp
    - tok2str
    - ppp_hdlc
    linkageType: ''
    returnType: void
    signature: "void handle_ppp(netdissect_options *ndo,\n           u_int proto,
      const u_char *p, u_int length)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1514,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1518,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1524,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1541,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1542,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1547,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:1555,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1556,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1563,1
    - Dst: handle_ppp
      Src: /src/tcpdump/print-ppp.c:1566,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ppp.c:1569,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1499
    functionDepth: 14
    functionLinenumber: 1499
    functionLinenumberEnd: 1571
    functionName: ppp_print
    functionSourceFile: /src/tcpdump/print-ppp.c
    functionUses: 9
    functionsReached:
    - GET_U_1
    - handle_ppp
    - nd_print_trunc
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: u_int
    signature: "u_int ppp_print(netdissect_options *ndo,\n          const u_char *p,
      u_int length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ppp.c:1584,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1628,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1628,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1629,1
    - Dst: ppp_print
      Src: /src/tcpdump/print-ppp.c:1632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1575
    functionDepth: 15
    functionLinenumber: 1575
    functionLinenumberEnd: 1633
    functionName: ppp_if_print
    functionSourceFile: /src/tcpdump/print-ppp.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - nd_print_trunc
    - ND_PRINT
    - ppp_print
    linkageType: ''
    returnType: void
    signature: "void ppp_if_print(netdissect_options *ndo,\n             const struct
      pcap_pkthdr *h, const u_char *p)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ppp.c:1655,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1660,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ppp.c:1664,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1670,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1670,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1671,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ppp.c:1676,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1680,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ppp.c:1680,1
    - Dst: handle_ppp
      Src: /src/tcpdump/print-ppp.c:1682,1
    - Dst: chdlc_if_print
      Src: /src/tcpdump/print-ppp.c:1687,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ppp.c:1692,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1698,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1698,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1699,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ppp.c:1708,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1708,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ppp.c:1709,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1644
    functionDepth: 14
    functionLinenumber: 1644
    functionLinenumberEnd: 1714
    functionName: ppp_hdlc_if_print
    functionSourceFile: /src/tcpdump/print-ppp.c
    functionUses: 0
    functionsReached:
    - chdlc_if_print
    - GET_U_1
    - nd_print_trunc
    - handle_ppp
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void ppp_hdlc_if_print(netdissect_options *ndo,\n                  const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tcpdump/fptype.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: float_type_check
    functionSourceFile: /src/tcpdump/fptype.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void float_type_check(uint32_t in)
  - 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: EAP_TLS_EXTRACT_BIT_L
    functionSourceFile: /src/tcpdump/print-eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAP_TLS_EXTRACT_BIT_L(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: EAP_TTLS_VERSION
    functionSourceFile: /src/tcpdump/print-eap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EAP_TTLS_VERSION(x)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:158,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eap.c:159,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-eap.c:160,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:168,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:171,1
    - Dst: tok2str
      Src: /src/tcpdump/print-eap.c:172,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:174,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-eap.c:177,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-eap.c:181,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:182,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:183,1
    - Dst: tok2str
      Src: /src/tcpdump/print-eap.c:184,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:191,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-eap.c:192,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-eap.c:198,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:199,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-eap.c:200,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-eap.c:209,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:212,1
    - Dst: tok2str
      Src: /src/tcpdump/print-eap.c:213,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:213,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:214,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-eap.c:221,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:223,1
    - Dst: EAP_TTLS_VERSION
      Src: /src/tcpdump/print-eap.c:224,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:224,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:225,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-eap.c:226,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:226,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:227,1
    - Dst: EAP_TLS_EXTRACT_BIT_L
      Src: /src/tcpdump/print-eap.c:229,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:229,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-eap.c:230,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:231,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eap.c:231,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-eap.c:236,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:237,1
    - Dst: EAP_TTLS_VERSION
      Src: /src/tcpdump/print-eap.c:238,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:238,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:239,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-eap.c:240,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:240,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:241,1
    - Dst: EAP_TLS_EXTRACT_BIT_L
      Src: /src/tcpdump/print-eap.c:243,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:243,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-eap.c:244,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:245,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-eap.c:245,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-eap.c:253,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:254,1
    - Dst: tok2str
      Src: /src/tcpdump/print-eap.c:255,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:255,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:256,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-eap.c:273,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 274
    functionName: eap_print
    functionSourceFile: /src/tcpdump/print-eap.c
    functionUses: 1
    functionsReached:
    - bittok2str
    - tok2str
    - nd_print_invalid
    - GET_U_1
    - EAP_TLS_EXTRACT_BIT_L
    - GET_BE_U_2
    - nd_printjnp
    - ND_PRINT
    - ND_TCHECK_LEN
    - ND_ICHECK_U
    - EAP_TTLS_VERSION
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void eap_print(netdissect_options *ndo,\n          const u_char *cp,\n
      \         const u_int length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:285,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:287,1
    - Dst: tok2str
      Src: /src/tcpdump/print-eap.c:288,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-eap.c:290,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eap.c:291,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-eap.c:296,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-eap.c:302,1
    - Dst: eap_print
      Src: /src/tcpdump/print-eap.c:303,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-eap.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 314
    functionName: eapol_print
    functionSourceFile: /src/tcpdump/print-eap.c
    functionUses: 1
    functionsReached:
    - eap_print
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - tok2str
    linkageType: ''
    returnType: void
    signature: "void eapol_print(netdissect_options *ndo,\n            const u_char
      *cp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:377,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf6.c:378,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf6.c:380,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ndo
    - ls_type
    - ls_stateid
    argTypes:
    - netdissect_options*
    - u_int
    - rtrid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: ospf6_print_ls_type
    functionSourceFile: /src/tcpdump/print-ospf6.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void ospf6_print_ls_type(netdissect_options *ndo,\n                    u_int
      ls_type, const rtrid_t *ls_stateid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:394,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:396,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:401,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:402,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:403,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:404,1
    - Dst: ospf6_print_ls_type
      Src: /src/tcpdump/print-ospf6.c:407,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ndo
    - lshp
    - dataend
    argTypes:
    - netdissect_options*
    - struct lsa6_hdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 413
    functionName: ospf6_print_lshdr
    functionSourceFile: /src/tcpdump/print-ospf6.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - ospf6_print_ls_type
    - GET_BE_U_2
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int ospf6_print_lshdr(netdissect_options *ndo,\n                  const
      struct lsa6_hdr *lshp, const u_char *dataend)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ospf6.c:426,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:427,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:429,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:429,1
    - Dst: memset
      Src: /src/tcpdump/print-ospf6.c:435,1
    - Dst: GET_CPY_BYTES
      Src: /src/tcpdump/print-ospf6.c:436,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:437,1
    - Dst: ip6addr_string
      Src: /src/tcpdump/print-ospf6.c:437,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:438,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:439,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:440,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf6.c:441,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:442,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:444,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:444,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - ndo
    - tptr
    - lsa_length
    argTypes:
    - netdissect_options*
    - uint8_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 449
    functionName: ospf6_print_lsaprefix
    functionSourceFile: /src/tcpdump/print-ospf6.c
    functionUses: 0
    functionsReached:
    - bittok2str
    - GET_U_1
    - ip6addr_string
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - memset
    - GET_CPY_BYTES
    linkageType: ''
    returnType: int
    signature: "int ospf6_print_lsaprefix(netdissect_options *ndo,\n                      const
      uint8_t *tptr, u_int lsa_length)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: ospf6_print_lshdr
      Src: /src/tcpdump/print-ospf6.c:479,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:481,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:494,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:499,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf6.c:500,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:501,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:502,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf6.c:503,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:504,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-ospf6.c:511,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:512,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:515,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:517,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:518,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:519,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:523,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:525,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:526,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:527,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:531,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:533,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:534,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:535,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:539,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:540,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:543,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:543,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:552,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf6.c:553,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:554,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:556,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:562,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:562,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:571,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:572,1
    - Dst: ospf6_print_lsaprefix
      Src: /src/tcpdump/print-ospf6.c:576,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:593,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:594,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf6.c:595,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:596,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:597,1
    - Dst: ospf6_print_lsaprefix
      Src: /src/tcpdump/print-ospf6.c:602,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:617,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:618,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:626,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:627,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:631,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:635,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:636,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-ospf6.c:647,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:648,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf6.c:649,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:650,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:655,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:656,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:657,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:658,1
    - Dst: ospf6_print_lsaprefix
      Src: /src/tcpdump/print-ospf6.c:663,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-ospf6.c:682,1
    - Dst: ospf6_print_ls_type
      Src: /src/tcpdump/print-ospf6.c:683,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:684,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:690,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:691,1
    - Dst: ospf6_print_lsaprefix
      Src: /src/tcpdump/print-ospf6.c:695,1
    - Dst: ospf_grace_lsa_print
      Src: /src/tcpdump/print-ospf6.c:710,1
    - Dst: ospf_te_lsa_print
      Src: /src/tcpdump/print-ospf6.c:716,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ospf6.c:722,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 171
    argCount: 3
    argNames:
    - ndo
    - lsap
    - dataend
    argTypes:
    - netdissect_options*
    - struct lsa6*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 455
    functionDepth: 3
    functionLinenumber: 455
    functionLinenumberEnd: 733
    functionName: ospf6_print_lsa
    functionSourceFile: /src/tcpdump/print-ospf6.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - bittok2str
    - ospf6_print_ls_type
    - print_unknown_data
    - GET_U_1
    - ospf_grace_lsa_print
    - GET_IP6ADDR_STRING
    - GET_BE_U_2
    - ospf6_print_lsaprefix
    - ND_PRINT
    - ospf_te_lsa_print
    - ospf6_print_lshdr
    - ND_TCHECK_4
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int ospf6_print_lsa(netdissect_options *ndo,\n                const
      struct lsa6 *lsap, const u_char *dataend)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:746,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:751,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf6.c:752,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:753,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:755,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:756,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:757,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:758,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:759,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:761,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:762,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:763,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:764,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:765,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:766,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:768,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:771,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:771,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:781,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf6.c:782,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:783,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:784,1
    - Dst: bittok2str
      Src: /src/tcpdump/print-ospf6.c:785,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:785,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:787,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:788,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:789,1
    - Dst: ospf6_print_lshdr
      Src: /src/tcpdump/print-ospf6.c:794,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-ospf6.c:805,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:806,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:807,1
    - Dst: ospf6_print_ls_type
      Src: /src/tcpdump/print-ospf6.c:808,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:809,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:820,1
    - Dst: ospf6_print_lsa
      Src: /src/tcpdump/print-ospf6.c:823,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:826,1
    - Dst: ospf6_print_lshdr
      Src: /src/tcpdump/print-ospf6.c:835,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 3
    argNames:
    - ndo
    - op
    - dataend
    argTypes:
    - netdissect_options*
    - struct ospf6hdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 735
    functionDepth: 4
    functionLinenumber: 735
    functionLinenumberEnd: 847
    functionName: ospf6_decode_v3
    functionSourceFile: /src/tcpdump/print-ospf6.c
    functionUses: 0
    functionsReached:
    - GET_IPADDR_STRING
    - bittok2str
    - ospf6_print_ls_type
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - ospf6_print_lsa
    - ospf6_print_lshdr
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: int
    signature: "int ospf6_decode_v3(netdissect_options *ndo,\n                const
      struct ospf6hdr *op,\n                const u_char *dataend)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:861,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:861,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:864,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:865,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ospf6.c:870,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 876
    functionName: ospf6_print_lls
    functionSourceFile: /src/tcpdump/print-ospf6.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - ND_TCHECK_LEN
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: "int ospf6_print_lls(netdissect_options *ndo,\n                const
      u_char *cp, const u_int len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:890,1
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf6.c:891,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:891,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:894,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:895,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:902,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:902,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:905,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:905,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:908,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:908,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-ospf6.c:911,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-ospf6.c:913,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 918
    functionName: ospf6_decode_at
    functionSourceFile: /src/tcpdump/print-ospf6.c
    functionUses: 0
    functionsReached:
    - print_unknown_data
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int ospf6_decode_at(netdissect_options *ndo,\n                const
      u_char *cp, const u_int len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:934,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:937,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:941,1
    - Dst: ospf6_print_lls
      Src: /src/tcpdump/print-ospf6.c:944,1
    - Dst: ospf6_decode_at
      Src: /src/tcpdump/print-ospf6.c:946,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - ndo
    - op
    - cp
    - len
    argTypes:
    - netdissect_options*
    - struct ospf6hdr*
    - u_char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 925
    functionDepth: 2
    functionLinenumber: 925
    functionLinenumberEnd: 950
    functionName: ospf6_decode_v3_trailer
    functionSourceFile: /src/tcpdump/print-ospf6.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ospf6_print_lls
    - ospf6_decode_at
    - GET_BE_U_4
    linkageType: ''
    returnType: int
    signature: "int ospf6_decode_v3_trailer(netdissect_options *ndo,\n                        const
      struct ospf6hdr *op, const u_char *cp, const unsigned len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tok2str
      Src: /src/tcpdump/print-ospf6.c:966,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:967,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:968,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:968,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-ospf6.c:979,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:981,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:986,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:986,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-ospf6.c:988,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:989,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-ospf6.c:989,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:991,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:992,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-ospf6.c:993,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:993,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-ospf6.c:996,1
    - Dst: ospf6_decode_v3
      Src: /src/tcpdump/print-ospf6.c:1000,1
    - Dst: ospf6_decode_v3_trailer
      Src: /src/tcpdump/print-ospf6.c:1001,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-ospf6.c:1008,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 952
    functionDepth: 5
    functionLinenumber: 952
    functionLinenumberEnd: 1009
    functionName: ospf6_print
    functionSourceFile: /src/tcpdump/print-ospf6.c
    functionUses: 1
    functionsReached:
    - GET_IPADDR_STRING
    - GET_U_1
    - nd_print_trunc
    - ospf6_decode_v3
    - GET_BE_U_2
    - ospf6_decode_v3_trailer
    - ND_PRINT
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void ospf6_print(netdissect_options *ndo,\n            const u_char
      *bp, u_int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:650,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.3.c:651,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:651,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:656,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-openflow-1.3.c:656,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:661,1
    - Dst: nd_printjnp
      Src: /src/tcpdump/print-openflow-1.3.c:662,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:663,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.3.c:667,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:672,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:672,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:673,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:673,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:676,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:676,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:677,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:677,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:680,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:680,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:681,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:681,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:684,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:684,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:685,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:685,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:688,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:688,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:689,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:689,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:692,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:692,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:693,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:693,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:696,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:696,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:699,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 2
    argNames:
    - ndo
    - cp
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 700
    functionName: of13_port_print
    functionSourceFile: /src/tcpdump/print-openflow-1.3.c
    functionUses: 0
    functionsReached:
    - GET_MAC48_STRING
    - nd_printjnp
    - ND_PRINT
    - ND_TCHECK_LEN
    - of_bitmap_print
    - tok2str
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of13_port_print(netdissect_options *ndo,\n                const
      u_char *cp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:708,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.3.c:708,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:711,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:711,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:714,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.3.c:714,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:717,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.3.c:717,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:722,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:722,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:723,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:723,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-openflow-1.3.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 727
    functionName: of13_features_reply_print
    functionSourceFile: /src/tcpdump/print-openflow-1.3.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_8
    - ND_PRINT
    - of_bitmap_print
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of13_features_reply_print(netdissect_options *ndo,\n                          const
      u_char *cp, u_int len _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:735,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.3.c:736,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.3.c:736,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:739,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.3.c:740,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.3.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 741
    functionName: of13_switch_config_msg_print
    functionSourceFile: /src/tcpdump/print-openflow-1.3.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_2
    - tok2str
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void of13_switch_config_msg_print(netdissect_options *ndo,\n                             const
      u_char *cp, u_int len _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:749,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.3.c:749,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.3.c:749,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:754,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 755
    functionName: of13_table_mod_print
    functionSourceFile: /src/tcpdump/print-openflow-1.3.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - tok2str
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of13_table_mod_print(netdissect_options *ndo,\n                     const
      u_char *cp, u_int len _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:763,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.3.c:764,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:764,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:769,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-openflow-1.3.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 770
    functionName: of13_role_msg_print
    functionSourceFile: /src/tcpdump/print-openflow-1.3.c
    functionUses: 0
    functionsReached:
    - GET_BE_U_8
    - tok2str
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of13_role_msg_print(netdissect_options *ndo,\n                    const
      u_char *cp, u_int len _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:778,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:778,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:779,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:779,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:782,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:782,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:783,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:783,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:786,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:786,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:787,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:787,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:790,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:790,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:791,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:791,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:794,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:794,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:795,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:795,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:798,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:798,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:799,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 800
    functionName: of13_async_msg_print
    functionSourceFile: /src/tcpdump/print-openflow-1.3.c
    functionUses: 0
    functionsReached:
    - of_bitmap_print
    - ND_PRINT
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of13_async_msg_print(netdissect_options *ndo,\n                    const
      u_char *cp, u_int len _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:808,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.3.c:808,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:808,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:813,1
    - Dst: GET_MAC48_STRING
      Src: /src/tcpdump/print-openflow-1.3.c:813,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:818,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:818,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:819,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:819,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:822,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:822,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:823,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:823,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:826,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:826,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:827,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:827,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-openflow-1.3.c:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 832
    functionName: of13_port_mod_print
    functionSourceFile: /src/tcpdump/print-openflow-1.3.c
    functionUses: 0
    functionsReached:
    - GET_MAC48_STRING
    - ND_PRINT
    - of_bitmap_print
    - tok2str
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of13_port_mod_print(netdissect_options *ndo,\n                    const
      u_char *cp, u_int len _U_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:840,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.3.c:841,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-openflow-1.3.c:841,1
    - Dst: of13_port_print
      Src: /src/tcpdump/print-openflow-1.3.c:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 835
    functionDepth: 3
    functionLinenumber: 835
    functionLinenumberEnd: 847
    functionName: of13_port_status_print
    functionSourceFile: /src/tcpdump/print-openflow-1.3.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - tok2str
    - ND_PRINT
    - of13_port_print
    linkageType: ''
    returnType: void
    signature: "void of13_port_status_print(netdissect_options *ndo,\n                       const
      u_char *cp, u_int len _U_)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:857,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.3.c:858,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.3.c:860,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.3.c:861,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:862,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.3.c:863,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.3.c:865,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.3.c:866,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:867,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.3.c:869,1
    - Dst: ND_ICHECKMSG_U
      Src: /src/tcpdump/print-openflow-1.3.c:870,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:881,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:882,1
    - Dst: of_bitmap_print
      Src: /src/tcpdump/print-openflow-1.3.c:883,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:886,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.3.c:887,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.3.c:891,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.3.c:893,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-openflow-1.3.c:898,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-openflow-1.3.c:899,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 900
    functionName: of13_hello_elements_print
    functionSourceFile: /src/tcpdump/print-openflow-1.3.c
    functionUses: 0
    functionsReached:
    - ND_ICHECKMSG_U
    - nd_print_invalid
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - of_bitmap_print
    - tok2str
    - OF_FWD
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of13_hello_elements_print(netdissect_options *ndo,\n                          const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:910,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.3.c:911,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:912,1
    - Dst: of_vendor_name
      Src: /src/tcpdump/print-openflow-1.3.c:913,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:915,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:915,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.3.c:916,1
    - Dst: of_data_print
      Src: /src/tcpdump/print-openflow-1.3.c:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 903
    functionDepth: 4
    functionLinenumber: 903
    functionLinenumberEnd: 919
    functionName: of13_experimenter_message_print
    functionSourceFile: /src/tcpdump/print-openflow-1.3.c
    functionUses: 0
    functionsReached:
    - of_data_print
    - ND_PRINT
    - of_vendor_name
    - OF_FWD
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of13_experimenter_message_print(netdissect_options *ndo,\n                                const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:927,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.3.c:927,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-openflow-1.3.c:927,1
    - Dst: ND_TCHECK_4
      Src: /src/tcpdump/print-openflow-1.3.c:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 932
    functionName: of13_queue_get_config_request_print
    functionSourceFile: /src/tcpdump/print-openflow-1.3.c
    functionUses: 0
    functionsReached:
    - tok2str
    - ND_PRINT
    - ND_TCHECK_4
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: "void of13_queue_get_config_request_print(netdissect_options *ndo,\n
      \                                   const u_char *cp, u_int len _U_)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.3.c:943,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.3.c:944,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:945,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.3.c:945,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-openflow-1.3.c:947,1
    - Dst: OF_FWD
      Src: /src/tcpdump/print-openflow-1.3.c:948,1
    - Dst: uint2tokary
      Src: /src/tcpdump/print-openflow-1.3.c:949,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:951,1
    - Dst: tok2str
      Src: /src/tcpdump/print-openflow-1.3.c:952,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-openflow-1.3.c:954,1
    - Dst: of_data_print
      Src: /src/tcpdump/print-openflow-1.3.c:956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ndo
    - cp
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 935
    functionDepth: 4
    functionLinenumber: 935
    functionLinenumberEnd: 957
    functionName: of13_error_print
    functionSourceFile: /src/tcpdump/print-openflow-1.3.c
    functionUses: 0
    functionsReached:
    - of_data_print
    - uint2tokary
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    - OF_FWD
    linkageType: ''
    returnType: void
    signature: "void of13_error_print(netdissect_options *ndo,\n                 const
      u_char *cp, u_int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1206
    functionName: of13_identify_msgtype
    functionSourceFile: /src/tcpdump/print-openflow-1.3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct of_msgtypeinfo
    signature: 'struct of_msgtypeinfo *

      of13_identify_msgtype(const uint8_t type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nflog.c:124,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nflog.c:125,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-nflog.c:125,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nflog.c:128,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nflog.c:129,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nflog.c:130,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nflog.c:131,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nflog.c:133,1
    - Dst: tok2str
      Src: /src/tcpdump/print-nflog.c:134,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nflog.c:136,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nflog.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ndo
    - hdr
    - length
    argTypes:
    - netdissect_options*
    - nflog_hdr_t*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 140
    functionName: nflog_hdr_print
    functionSourceFile: /src/tcpdump/print-nflog.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_2
    - ND_PRINT
    - tok2str
    linkageType: ''
    returnType: void
    signature: void nflog_hdr_print(netdissect_options *ndo, const nflog_hdr_t *hdr,
      u_int length)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-nflog.c:153,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-nflog.c:155,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nflog.c:158,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-nflog.c:159,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nflog.c:159,1
    - Dst: nflog_hdr_print
      Src: /src/tcpdump/print-nflog.c:164,1
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-nflog.c:173,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-nflog.c:176,1
    - Dst: GET_HE_U_2
      Src: /src/tcpdump/print-nflog.c:177,1
    - Dst: ND_ICHECK_ZU
      Src: /src/tcpdump/print-nflog.c:182,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-nflog.c:183,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-nflog.c:186,1
    - Dst: GET_HE_U_2
      Src: /src/tcpdump/print-nflog.c:188,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-nflog.c:207,1
    - Dst: ip_print
      Src: /src/tcpdump/print-nflog.c:210,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-nflog.c:214,1
    - Dst: nflog_hdr_print
      Src: /src/tcpdump/print-nflog.c:219,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-nflog.c:223,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-nflog.c:231,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 142
    functionDepth: 12
    functionLinenumber: 142
    functionLinenumberEnd: 232
    functionName: nflog_if_print
    functionSourceFile: /src/tcpdump/print-nflog.c
    functionUses: 0
    functionsReached:
    - nflog_hdr_print
    - nd_print_invalid
    - GET_HE_U_2
    - GET_U_1
    - ip_print
    - ND_DEFAULTPRINT
    - ND_PRINT
    - ip6_print
    - ND_ICHECK_ZU
    - ND_TCHECK_LEN
    - ND_ICHECK_U
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void nflog_if_print(netdissect_options *ndo,\n\t       const struct
      pcap_pkthdr *h, const u_char *p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - src
    - dst
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 91
    functionName: addrtostr
    functionSourceFile: /src/tcpdump/addrtostr.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      addrtostr (const void *src, char *dst, size_t size)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: APPEND_CHAR
      Src: /src/tcpdump/addrtostr.c:164,1
    - Dst: APPEND_CHAR
      Src: /src/tcpdump/addrtostr.c:171,1
    - Dst: addrtostr
      Src: /src/tcpdump/addrtostr.c:178,1
    - Dst: strlen
      Src: /src/tcpdump/addrtostr.c:182,1
    - Dst: snprintf
      Src: /src/tcpdump/addrtostr.c:187,1
    - Dst: APPEND_CHAR
      Src: /src/tcpdump/addrtostr.c:201,1
    - Dst: APPEND_CHAR
      Src: /src/tcpdump/addrtostr.c:202,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 59
    argCount: 3
    argNames:
    - src
    - dst
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 205
    functionName: addrtostr6
    functionSourceFile: /src/tcpdump/addrtostr.c
    functionUses: 6
    functionsReached:
    - strlen
    - APPEND_CHAR
    - snprintf
    - addrtostr
    linkageType: ''
    returnType: char
    signature: 'char *

      addrtostr6 (const void *src, char *dst, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: APPEND_CHAR
    functionSourceFile: /src/tcpdump/addrtostr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND_CHAR(c)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-sunrpc.c:165,1
    - Dst: snprintf
      Src: /src/tcpdump/print-sunrpc.c:168,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sunrpc.c:169,1
    - Dst: strlcpy
      Src: /src/tcpdump/print-sunrpc.c:170,1
    - Dst: snprintf
      Src: /src/tcpdump/print-sunrpc.c:172,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sunrpc.c:173,1
    - Dst: snprintf
      Src: /src/tcpdump/print-sunrpc.c:174,1
    - Dst: IP_V
      Src: /src/tcpdump/print-sunrpc.c:177,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sunrpc.c:180,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-sunrpc.c:181,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-sunrpc.c:182,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sunrpc.c:186,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-sunrpc.c:187,1
    - Dst: GET_IP6ADDR_STRING
      Src: /src/tcpdump/print-sunrpc.c:188,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sunrpc.c:191,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sunrpc.c:195,1
    - Dst: tok2str
      Src: /src/tcpdump/print-sunrpc.c:195,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sunrpc.c:196,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sunrpc.c:197,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sunrpc.c:199,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sunrpc.c:201,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sunrpc.c:207,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sunrpc.c:209,1
    - Dst: progstr
      Src: /src/tcpdump/print-sunrpc.c:209,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sunrpc.c:211,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-sunrpc.c:212,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-sunrpc.c:212,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 4
    argNames:
    - ndo
    - bp
    - length
    - bp2
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 215
    functionName: sunrpc_print
    functionSourceFile: /src/tcpdump/print-sunrpc.c
    functionUses: 1
    functionsReached:
    - GET_IPADDR_STRING
    - GET_IP6ADDR_STRING
    - progstr
    - ND_PRINT
    - snprintf
    - IP_V
    - tok2str
    - strlcpy
    - GET_BE_U_4
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: "void sunrpc_print(netdissect_options *ndo, const u_char *bp,\n                    u_int
      length, const u_char *bp2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getrpcbynumber
      Src: /src/tcpdump/print-sunrpc.c:229,1
    - Dst: strlcpy
      Src: /src/tcpdump/print-sunrpc.c:231,1
    - Dst: snprintf
      Src: /src/tcpdump/print-sunrpc.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - prog
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 237
    functionName: progstr
    functionSourceFile: /src/tcpdump/print-sunrpc.c
    functionUses: 1
    functionsReached:
    - snprintf
    - strlcpy
    - getrpcbynumber
    linkageType: ''
    returnType: char
    signature: 'char *

      progstr(uint32_t prog)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ndo
    - chunkp
    argTypes:
    - netdissect_options*
    - nd_mem_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: nd_add_alloc_list
    functionSourceFile: /src/tcpdump/netdissect-alloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nd_add_alloc_list(netdissect_options *ndo, nd_mem_chunk_t *chunkp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tcpdump/netdissect-alloc.c:43,1
    - Dst: nd_add_alloc_list
      Src: /src/tcpdump/netdissect-alloc.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ndo
    - size
    argTypes:
    - netdissect_options*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: nd_malloc
    functionSourceFile: /src/tcpdump/netdissect-alloc.c
    functionUses: 1
    functionsReached:
    - nd_add_alloc_list
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      nd_malloc(netdissect_options *ndo, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tcpdump/netdissect-alloc.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: nd_free_all
    functionSourceFile: /src/tcpdump/netdissect-alloc.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void nd_free_all(netdissect_options *ndo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-chdlc.c:50,1
    - Dst: chdlc_print
      Src: /src/tcpdump/print-chdlc.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: chdlc_if_print
    functionSourceFile: /src/tcpdump/print-chdlc.c
    functionUses: 1
    functionsReached:
    - ND_TCHECK_LEN
    - chdlc_print
    linkageType: ''
    returnType: void
    signature: void chdlc_if_print(netdissect_options *ndo, const struct pcap_pkthdr
      *h, const u_char *p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-chdlc.c:61,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-chdlc.c:62,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-chdlc.c:64,1
    - Dst: tok2str
      Src: /src/tcpdump/print-chdlc.c:65,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-chdlc.c:65,1
    - Dst: tok2str
      Src: /src/tcpdump/print-chdlc.c:66,1
    - Dst: ip_print
      Src: /src/tcpdump/print-chdlc.c:76,1
    - Dst: ip6_print
      Src: /src/tcpdump/print-chdlc.c:79,1
    - Dst: chdlc_slarp_print
      Src: /src/tcpdump/print-chdlc.c:82,1
    - Dst: mpls_print
      Src: /src/tcpdump/print-chdlc.c:86,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-chdlc.c:90,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-chdlc.c:91,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-chdlc.c:92,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-chdlc.c:93,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-chdlc.c:94,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-chdlc.c:96,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-chdlc.c:100,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-chdlc.c:107,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - ndo
    - p
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 55
    functionDepth: 12
    functionLinenumber: 55
    functionLinenumberEnd: 108
    functionName: chdlc_print
    functionSourceFile: /src/tcpdump/print-chdlc.c
    functionUses: 2
    functionsReached:
    - chdlc_slarp_print
    - tok2str
    - GET_U_1
    - ip_print
    - mpls_print
    - GET_BE_U_2
    - isoclns_print
    - ND_PRINT
    - ip6_print
    - nd_print_invalid
    - ND_ICHECK_U
    linkageType: ''
    returnType: void
    signature: void chdlc_print(netdissect_options *ndo, const u_char *p, u_int length)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-chdlc.c:141,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-chdlc.c:142,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-chdlc.c:143,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-chdlc.c:146,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-chdlc.c:147,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-chdlc.c:149,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-chdlc.c:161,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-chdlc.c:162,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-chdlc.c:163,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-chdlc.c:166,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-chdlc.c:167,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-chdlc.c:168,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-chdlc.c:169,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-chdlc.c:173,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-chdlc.c:177,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-chdlc.c:181,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-chdlc.c:181,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-chdlc.c:183,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-chdlc.c:188,1
    - Dst: print_unknown_data
      Src: /src/tcpdump/print-chdlc.c:190,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-chdlc.c:194,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - ndo
    - cp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 195
    functionName: chdlc_slarp_print
    functionSourceFile: /src/tcpdump/print-chdlc.c
    functionUses: 1
    functionsReached:
    - GET_IPADDR_STRING
    - print_unknown_data
    - nd_print_invalid
    - GET_BE_U_2
    - ND_PRINT
    - ND_TCHECK_LEN
    - ND_ICHECK_U
    - GET_BE_U_4
    linkageType: ''
    returnType: void
    signature: void chdlc_slarp_print(netdissect_options *ndo, const u_char *cp, u_int
      length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-macsec.c:92,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-macsec.c:93,1
    - Dst: GET_BE_U_4
      Src: /src/tcpdump/print-macsec.c:94,1
    - Dst: bittok2str_nosep
      Src: /src/tcpdump/print-macsec.c:95,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-macsec.c:96,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-macsec.c:99,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-macsec.c:101,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-macsec.c:102,1
    - Dst: GET_BE_U_8
      Src: /src/tcpdump/print-macsec.c:102,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-macsec.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ndo
    - sectag
    - short_length
    argTypes:
    - netdissect_options*
    - struct macsec_sectag*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: macsec_print_header
    functionSourceFile: /src/tcpdump/print-macsec.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - GET_BE_U_8
    - ND_PRINT
    - GET_BE_U_4
    - bittok2str_nosep
    linkageType: ''
    returnType: void
    signature: "void macsec_print_header(netdissect_options *ndo,\n\t\t    const struct
      macsec_sectag *sectag,\n\t\t    u_int short_length)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-macsec.c:127,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-macsec.c:132,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-macsec.c:137,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-macsec.c:140,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-macsec.c:145,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-macsec.c:152,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-macsec.c:153,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-macsec.c:154,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-macsec.c:159,1
    - Dst: macsec_print_header
      Src: /src/tcpdump/print-macsec.c:161,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-macsec.c:171,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-macsec.c:182,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-macsec.c:187,1
    - Dst: macsec_print_header
      Src: /src/tcpdump/print-macsec.c:192,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-macsec.c:208,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-macsec.c:213,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-macsec.c:238,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-macsec.c:243,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 81
    argCount: 7
    argNames:
    - ndo
    - bp
    - lengthp
    - caplenp
    - hdrlenp
    - src
    - dst
    argTypes:
    - netdissect_options*
    - u_char**
    - u_int*
    - u_int*
    - u_int*
    - struct lladdr_info*
    - struct lladdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 255
    functionName: macsec_print
    functionSourceFile: /src/tcpdump/print-macsec.c
    functionUses: 1
    functionsReached:
    - GET_U_1
    - nd_print_trunc
    - ND_PRINT
    - macsec_print_header
    - nd_print_invalid
    linkageType: ''
    returnType: int
    signature: "int macsec_print(netdissect_options *ndo, const u_char **bp,\n\t     u_int
      *lengthp, u_int *caplenp, u_int *hdrlenp,\n\t     const struct lladdr_info *src,
      const struct lladdr_info *dst)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_ISASCII
      Src: /src/tcpdump/util-print.c:64,1
    - Dst: ND_TOASCII
      Src: /src/tcpdump/util-print.c:65,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:66,1
    - Dst: ND_ASCII_ISPRINT
      Src: /src/tcpdump/util-print.c:68,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:70,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ndo
    - c
    argTypes:
    - netdissect_options*
    - u_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: fn_print_char
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 4
    functionsReached:
    - ND_ASCII_ISPRINT
    - ND_TOASCII
    - ND_PRINT
    - ND_ISASCII
    linkageType: ''
    returnType: void
    signature: void fn_print_char(netdissect_options *ndo, u_char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn_print_char
      Src: /src/tcpdump/util-print.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ndo
    - s
    argTypes:
    - netdissect_options*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: fn_print_str
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 2
    functionsReached:
    - fn_print_char
    linkageType: ''
    returnType: void
    signature: void fn_print_str(netdissect_options *ndo, const u_char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/util-print.c:131,1
    - Dst: fn_print_char
      Src: /src/tcpdump/util-print.c:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - ndo
    - s
    - n
    - ep
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 142
    functionName: nd_printztn
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 2
    functionsReached:
    - GET_U_1
    - fn_print_char
    linkageType: ''
    returnType: u_int
    signature: "u_int nd_printztn(netdissect_options *ndo,\n         const u_char
      *s, u_int n, const u_char *ep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/util-print.c:159,1
    - Dst: fn_print_char
      Src: /src/tcpdump/util-print.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ndo
    - s
    - n
    - ep
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: nd_printn
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 5
    functionsReached:
    - GET_U_1
    - fn_print_char
    linkageType: ''
    returnType: int
    signature: "int nd_printn(netdissect_options *ndo,\n          const u_char *s,
      u_int n, const u_char *ep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn_print_char
      Src: /src/tcpdump/util-print.c:177,1
    - Dst: GET_U_1
      Src: /src/tcpdump/util-print.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ndo
    - s
    - n
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: nd_printjn
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 33
    functionsReached:
    - GET_U_1
    - fn_print_char
    linkageType: ''
    returnType: void
    signature: void nd_printjn(netdissect_options *ndo, const u_char *s, u_int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/util-print.c:196,1
    - Dst: fn_print_char
      Src: /src/tcpdump/util-print.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ndo
    - s
    - n
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: nd_printjnp
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 38
    functionsReached:
    - GET_U_1
    - fn_print_char
    linkageType: ''
    returnType: void
    signature: void nd_printjnp(netdissect_options *ndo, const u_char *s, u_int n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:215,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:217,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:221,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:223,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:227,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:231,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ndo
    - tv
    argTypes:
    - netdissect_options*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 235
    functionName: ts_frac_print
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void ts_frac_print(netdissect_options *ndo, const struct timeval *tv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:254,1
    - Dst: localtime
      Src: /src/tcpdump/util-print.c:265,1
    - Dst: localtime
      Src: /src/tcpdump/util-print.c:267,1
    - Dst: gmtime
      Src: /src/tcpdump/util-print.c:271,1
    - Dst: gmtime
      Src: /src/tcpdump/util-print.c:273,1
    - Dst: nd_format_time
      Src: /src/tcpdump/util-print.c:277,1
    - Dst: nd_format_time
      Src: /src/tcpdump/util-print.c:280,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:283,1
    - Dst: ts_frac_print
      Src: /src/tcpdump/util-print.c:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - ndo
    - tv
    - date_flag
    - time_flag
    argTypes:
    - netdissect_options*
    - struct timeval*
    - enum date_flag
    - enum time_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 286
    functionName: ts_date_hmsfrac_print
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 0
    functionsReached:
    - localtime
    - ts_frac_print
    - gmtime
    - ND_PRINT
    - nd_format_time
    linkageType: ''
    returnType: void
    signature: "void ts_date_hmsfrac_print(netdissect_options *ndo, const struct timeval
      *tv,\n\t\t      enum date_flag date_flag, enum time_flag time_flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:295,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:299,1
    - Dst: ts_frac_print
      Src: /src/tcpdump/util-print.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ndo
    - tv
    argTypes:
    - netdissect_options*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: ts_unix_print
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - ts_frac_print
    linkageType: ''
    returnType: void
    signature: void ts_unix_print(netdissect_options *ndo, const struct timeval *tv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ts_date_hmsfrac_print
      Src: /src/tcpdump/util-print.c:318,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:319,1
    - Dst: ts_unix_print
      Src: /src/tcpdump/util-print.c:326,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:327,1
    - Dst: netdissect_timevalisset
      Src: /src/tcpdump/util-print.c:347,1
    - Dst: netdissect_timevalcmp
      Src: /src/tcpdump/util-print.c:350,1
    - Dst: netdissect_timevalsub
      Src: /src/tcpdump/util-print.c:352,1
    - Dst: netdissect_timevalsub
      Src: /src/tcpdump/util-print.c:354,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:356,1
    - Dst: ts_date_hmsfrac_print
      Src: /src/tcpdump/util-print.c:357,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:358,1
    - Dst: ts_date_hmsfrac_print
      Src: /src/tcpdump/util-print.c:365,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:366,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - ndo
    - tvp
    argTypes:
    - netdissect_options*
    - struct timeval*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 369
    functionName: ts_print
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 11
    functionsReached:
    - netdissect_timevalcmp
    - ts_date_hmsfrac_print
    - netdissect_timevalsub
    - netdissect_timevalisset
    - ND_PRINT
    - ts_unix_print
    linkageType: ''
    returnType: void
    signature: "void ts_print(netdissect_options *ndo,\n         const struct timeval
      *tvp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:386,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ndo
    - secs
    argTypes:
    - netdissect_options*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 397
    functionName: unsigned_relts_print
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 9
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: "void unsigned_relts_print(netdissect_options *ndo,\n                     uint32_t
      secs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:409,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/util-print.c:422,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/util-print.c:428,1
    - Dst: unsigned_relts_print
      Src: /src/tcpdump/util-print.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ndo
    - secs
    argTypes:
    - netdissect_options*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 433
    functionName: signed_relts_print
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 10
    functionsReached:
    - ND_PRINT
    - unsigned_relts_print
    linkageType: ''
    returnType: void
    signature: "void signed_relts_print(netdissect_options *ndo,\n                   int32_t
      secs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strftime
      Src: /src/tcpdump/util-print.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - buf
    - bufsize
    - format
    - timeptr
    argTypes:
    - char*
    - size_t
    - char*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 453
    functionName: nd_format_time
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 5
    functionsReached:
    - strftime
    linkageType: ''
    returnType: char
    signature: "char *\nnd_format_time(char *buf, size_t bufsize, const char *format,\n
      \        const struct tm *timeptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: nd_print_trunc
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 81
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void nd_print_trunc(netdissect_options *ndo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: nd_print_protocol
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 12
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void nd_print_protocol(netdissect_options *ndo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:472,1
    - Dst: ND_ASCII_TOUPPER
      Src: /src/tcpdump/util-print.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 473
    functionName: nd_print_protocol_caps
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 36
    functionsReached:
    - ND_ASCII_TOUPPER
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void nd_print_protocol_caps(netdissect_options *ndo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ndo
    argTypes:
    - netdissect_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: nd_print_invalid
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 187
    functionsReached:
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void nd_print_invalid(netdissect_options *ndo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:490,1
    - Dst: GET_U_1
      Src: /src/tcpdump/util-print.c:490,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ndo
    - cp
    - n
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 496
    functionName: nd_print_bytes_hex
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 2
    functionsReached:
    - GET_U_1
    - ND_PRINT
    linkageType: ''
    returnType: void
    signature: void nd_print_bytes_hex(netdissect_options *ndo, const u_char *cp,
      u_int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_LEN
      Src: /src/tcpdump/util-print.c:508,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:509,1
    - Dst: hex_print
      Src: /src/tcpdump/util-print.c:513,1
    - Dst: ND_MIN
      Src: /src/tcpdump/util-print.c:513,1
    - Dst: ND_BYTES_AVAILABLE_AFTER
      Src: /src/tcpdump/util-print.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ndo
    - cp
    - indent
    - len
    argTypes:
    - netdissect_options*
    - u_char*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 504
    functionDepth: 3
    functionLinenumber: 504
    functionLinenumberEnd: 515
    functionName: print_unknown_data
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 69
    functionsReached:
    - ND_TTEST_LEN
    - hex_print
    - ND_PRINT
    - ND_BYTES_AVAILABLE_AFTER
    - ND_MIN
    linkageType: ''
    returnType: int
    signature: "int print_unknown_data(netdissect_options *ndo, const u_char *cp,\n
      \                  const char *indent, u_int len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/util-print.c:534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - lp
    - fmt
    - v
    - buf
    - bufsize
    argTypes:
    - struct tok*
    - char*
    - u_int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 536
    functionName: tok2strbuf
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\ntok2strbuf(const struct tok *lp, const char *fmt,\n\t   const
      u_int v, char *buf, const size_t bufsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tok2strbuf
      Src: /src/tcpdump/util-print.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - lp
    - fmt
    - v
    argTypes:
    - struct tok*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 553
    functionName: tok2str
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 312
    functionsReached:
    - tok2strbuf
    linkageType: ''
    returnType: char
    signature: 'char *

      tok2str(const struct tok *lp, const char *fmt, const u_int v)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/tcpdump/util-print.c:577,1
    - Dst: strlcpy
      Src: /src/tcpdump/util-print.c:584,1
    - Dst: snprintf
      Src: /src/tcpdump/util-print.c:596,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - lp
    - fmt
    - v
    - sep
    argTypes:
    - struct tok*
    - char*
    - u_int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 598
    functionName: bittok2str_internal
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 0
    functionsReached:
    - strlcpy
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\nbittok2str_internal(const struct tok *lp, const char *fmt,\n\t\t
      \   const u_int v, const char *sep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bittok2str_internal
      Src: /src/tcpdump/util-print.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - lp
    - fmt
    - v
    argTypes:
    - struct tok*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 608
    functionName: bittok2str_nosep
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 17
    functionsReached:
    - bittok2str_internal
    linkageType: ''
    returnType: char
    signature: 'char *

      bittok2str_nosep(const struct tok *lp, const char *fmt, const u_int v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bittok2str_internal
      Src: /src/tcpdump/util-print.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - lp
    - fmt
    - v
    argTypes:
    - struct tok*
    - char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 618
    functionName: bittok2str
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 60
    functionsReached:
    - bittok2str_internal
    linkageType: ''
    returnType: char
    signature: 'char *

      bittok2str(const struct tok *lp, const char *fmt, const u_int v)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tcpdump/util-print.c:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - lp
    - n
    - fmt
    - v
    argTypes:
    - char**
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 637
    functionName: tok2strary_internal
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      tok2strary_internal(const char **lp, int n, const char *fmt, const int v)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - dict
    - size
    - val
    argTypes:
    - struct uint_tokary[]
    - size_t
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 651
    functionName: uint2tokary_internal
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tok
    signature: "struct tok *\nuint2tokary_internal(const struct uint_tokary dict[],
      const size_t size,\n                     const u_int val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - mask
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 682
    functionName: mask2plen
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mask2plen(const uint32_t mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - mask
    argTypes:
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 709
    functionName: mask62plen
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mask62plen(const u_char *mask)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/util-print.c:734,1
    - Dst: GET_U_1
      Src: /src/tcpdump/util-print.c:738,1
    - Dst: ND_ISASCII
      Src: /src/tcpdump/util-print.c:739,1
    - Dst: ND_ASCII_ISPRINT
      Src: /src/tcpdump/util-print.c:747,1
    - Dst: ND_TTEST_1
      Src: /src/tcpdump/util-print.c:769,1
    - Dst: GET_U_1
      Src: /src/tcpdump/util-print.c:773,1
    - Dst: ND_ASCII_ISPRINT
      Src: /src/tcpdump/util-print.c:778,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 6
    argNames:
    - ndo
    - pptr
    - idx
    - len
    - tbuf
    - tbuflen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    - u_char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 788
    functionName: fetch_token
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_TTEST_1
    - ND_ASCII_ISPRINT
    - ND_ISASCII
    linkageType: ''
    returnType: u_int
    signature: "u_int fetch_token(netdissect_options *ndo, const u_char *pptr, u_int
      idx, u_int len,\n\t    u_char *tbuf, size_t tbuflen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/util-print.c:806,1
    - Dst: GET_U_1
      Src: /src/tcpdump/util-print.c:822,1
    - Dst: ND_ASCII_ISPRINT
      Src: /src/tcpdump/util-print.c:839,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:855,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:859,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - ndo
    - prefix
    - pptr
    - idx
    - len
    argTypes:
    - netdissect_options*
    - char*
    - u_char*
    - u_int
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 861
    functionName: print_txt_line
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_ASCII_ISPRINT
    - ND_PRINT
    linkageType: ''
    returnType: u_int
    signature: "u_int print_txt_line(netdissect_options *ndo, const char *prefix,\n\t
      \      const u_char *pptr, u_int idx, u_int len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fetch_token
      Src: /src/tcpdump/util-print.c:886,1
    - Dst: ascii_strcasecmp
      Src: /src/tcpdump/util-print.c:890,1
    - Dst: fetch_token
      Src: /src/tcpdump/util-print.c:907,1
    - Dst: ND_ASCII_ISDIGIT
      Src: /src/tcpdump/util-print.c:911,1
    - Dst: ND_ASCII_ISDIGIT
      Src: /src/tcpdump/util-print.c:911,1
    - Dst: ND_ASCII_ISDIGIT
      Src: /src/tcpdump/util-print.c:912,1
    - Dst: nd_print_protocol_caps
      Src: /src/tcpdump/util-print.c:936,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/util-print.c:953,1
    - Dst: print_txt_line
      Src: /src/tcpdump/util-print.c:955,1
    - Dst: print_txt_line
      Src: /src/tcpdump/util-print.c:962,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 5
    argNames:
    - ndo
    - pptr
    - len
    - cmds
    - flags
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - char**
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 965
    functionName: txtproto_print
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 6
    functionsReached:
    - nd_print_protocol_caps
    - ND_ASCII_ISDIGIT
    - print_txt_line
    - ND_PRINT
    - ascii_strcasecmp
    - fetch_token
    linkageType: ''
    returnType: void
    signature: "void txtproto_print(netdissect_options *ndo, const u_char *pptr, u_int
      len,\n\t       const char **cmds, u_int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tcpdump/util-print.c:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - q
    - l
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1004
    functionName: unaligned_memcpy
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void unaligned_memcpy(void *p, const void *q, size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tcpdump/util-print.c:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - q
    - l
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    functionName: unaligned_memcmp
    functionSourceFile: /src/tcpdump/util-print.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int unaligned_memcmp(const void *p, const void *q, size_t l)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-llc.c:158,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-llc.c:159,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-llc.c:163,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-llc.c:164,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-llc.c:168,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-llc.c:169,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-llc.c:177,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-llc.c:190,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-llc.c:191,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-llc.c:195,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-llc.c:196,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-llc.c:203,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:225,1
    - Dst: ipx_print
      Src: /src/tcpdump/print-llc.c:227,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:235,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:236,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:238,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:239,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:241,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:244,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:246,1
    - Dst: snap_print
      Src: /src/tcpdump/print-llc.c:264,1
    - Dst: stp_print
      Src: /src/tcpdump/print-llc.c:277,1
    - Dst: ip_print
      Src: /src/tcpdump/print-llc.c:289,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:301,1
    - Dst: ipx_print
      Src: /src/tcpdump/print-llc.c:303,1
    - Dst: netbeui_print
      Src: /src/tcpdump/print-llc.c:320,1
    - Dst: isoclns_print
      Src: /src/tcpdump/print-llc.c:326,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:333,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:333,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:335,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:338,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:341,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:342,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:343,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:345,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:347,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:349,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:354,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:355,1
    - Dst: LLC_U_CMD
      Src: /src/tcpdump/print-llc.c:355,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:356,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-llc.c:369,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-llc.c:371,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-llc.c:374,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-llc.c:376,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-llc.c:378,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:380,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-llc.c:381,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-llc.c:382,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:388,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:389,1
    - Dst: LLC_S_CMD
      Src: /src/tcpdump/print-llc.c:389,1
    - Dst: LLC_IS_NR
      Src: /src/tcpdump/print-llc.c:390,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:391,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:395,1
    - Dst: LLC_I_NS
      Src: /src/tcpdump/print-llc.c:396,1
    - Dst: LLC_IS_NR
      Src: /src/tcpdump/print-llc.c:397,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:398,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 122
    argCount: 6
    argNames:
    - ndo
    - p
    - length
    - caplen
    - src
    - dst
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    - struct lladdr_info*
    - struct lladdr_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 147
    functionDepth: 12
    functionLinenumber: 147
    functionLinenumberEnd: 403
    functionName: llc_print
    functionSourceFile: /src/tcpdump/print-llc.c
    functionUses: 13
    functionsReached:
    - LLC_U_CMD
    - LLC_S_CMD
    - GET_LE_U_2
    - LLC_I_NS
    - GET_U_1
    - ip_print
    - nd_print_trunc
    - ipx_print
    - stp_print
    - ND_PRINT
    - snap_print
    - netbeui_print
    - ND_DEFAULTPRINT
    - isoclns_print
    - tok2str
    - LLC_IS_NR
    linkageType: ''
    returnType: int
    signature: "int llc_print(netdissect_options *ndo, const u_char *p, u_int length,
      u_int caplen,\n\t  const struct lladdr_info *src, const struct lladdr_info *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - orgcode
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 418
    functionName: oui_to_struct_tok
    functionSourceFile: /src/tcpdump/print-llc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct tok
    signature: 'struct tok *

      oui_to_struct_tok(uint32_t orgcode)'
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ND_TCHECK_5
      Src: /src/tcpdump/print-llc.c:430,1
    - Dst: GET_BE_U_3
      Src: /src/tcpdump/print-llc.c:433,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-llc.c:434,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:442,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:443,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:446,1
    - Dst: oui_to_struct_tok
      Src: /src/tcpdump/print-llc.c:446,1
    - Dst: ethertype_print
      Src: /src/tcpdump/print-llc.c:462,1
    - Dst: ethertype_print
      Src: /src/tcpdump/print-llc.c:477,1
    - Dst: cdp_print
      Src: /src/tcpdump/print-llc.c:486,1
    - Dst: dtp_print
      Src: /src/tcpdump/print-llc.c:489,1
    - Dst: udld_print
      Src: /src/tcpdump/print-llc.c:492,1
    - Dst: vtp_print
      Src: /src/tcpdump/print-llc.c:495,1
    - Dst: stp_print
      Src: /src/tcpdump/print-llc.c:499,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-llc.c:518,1
    - Dst: ether_print
      Src: /src/tcpdump/print-llc.c:526,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-llc.c:539,1
    - Dst: token_print
      Src: /src/tcpdump/print-llc.c:548,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-llc.c:560,1
    - Dst: fddi_print
      Src: /src/tcpdump/print-llc.c:568,1
    - Dst: stp_print
      Src: /src/tcpdump/print-llc.c:572,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:582,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:592,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:593,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-llc.c:596,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:597,1
    - Dst: tok2str
      Src: /src/tcpdump/print-llc.c:599,1
    - Dst: oui_to_struct_tok
      Src: /src/tcpdump/print-llc.c:599,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-llc.c:606,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 96
    argCount: 7
    argNames:
    - ndo
    - p
    - length
    - caplen
    - src
    - dst
    - bridge_pad
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - u_int
    - struct lladdr_info*
    - struct lladdr_info*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 420
    functionDepth: 5
    functionLinenumber: 420
    functionLinenumberEnd: 608
    functionName: snap_print
    functionSourceFile: /src/tcpdump/print-llc.c
    functionUses: 2
    functionsReached:
    - ethertype_print
    - oui_to_struct_tok
    - nd_print_trunc
    - GET_BE_U_2
    - udld_print
    - stp_print
    - token_print
    - ND_PRINT
    - dtp_print
    - vtp_print
    - GET_BE_U_3
    - ether_print
    - ND_TCHECK_LEN
    - ND_TCHECK_5
    - tok2str
    - fddi_print
    - cdp_print
    linkageType: ''
    returnType: int
    signature: "int snap_print(netdissect_options *ndo, const u_char *p, u_int length,
      u_int caplen,\n\tconst struct lladdr_info *src, const struct lladdr_info *dst,\n\tu_int
      bridge_pad)"
  - 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: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: dev_eq
    functionSourceFile: /src/tcpdump/nfsfh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_eq(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: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: fsid_eq
    functionSourceFile: /src/tcpdump/nfsfh.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fsid_eq(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - num
    - ','
    - bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: CHECK_BIT
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_BIT(num,bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 411
    functionName: FC_FRAME_TYPE
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FC_FRAME_TYPE(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 412
    functionName: FC_FRAME_VERSION
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FC_FRAME_VERSION(fc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - ndo
    - p
    - data_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 454
    functionName: ieee802_15_4_crc16
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t ieee802_15_4_crc16(netdissect_options *ndo, const u_char
      *p,\n\t\t   u_int data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: ieee802_15_4_reverse32
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ieee802_15_4_reverse32(uint32_t x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:485,1
    - Dst: ieee802_15_4_reverse32
      Src: /src/tcpdump/print-802_15_4.c:488,1
    - Dst: ieee802_15_4_reverse32
      Src: /src/tcpdump/print-802_15_4.c:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - ndo
    - p
    - data_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 502
    functionName: ieee802_15_4_crc32
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ieee802_15_4_reverse32
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t ieee802_15_4_crc32(netdissect_options *ndo, const u_char
      *p,\n\t\t   u_int data_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - addr_type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 526
    functionName: ieee802_15_4_addr_len
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ieee802_15_4_addr_len(uint16_t addr_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:537,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:540,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:540,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:543,1
    - Dst: GET_EUI64LE_STRING
      Src: /src/tcpdump/print-802_15_4.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ndo
    - p
    - dst_addr_len
    argTypes:
    - netdissect_options*
    - u_char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 546
    functionName: ieee802_15_4_print_addr
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - GET_LE_U_2
    - GET_EUI64LE_STRING
    linkageType: ''
    returnType: void
    signature: "void ieee802_15_4_print_addr(netdissect_options *ndo, const u_char
      *p,\n\t\t\tint dst_addr_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:560,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:562,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:564,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:564,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:565,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:565,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:566,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ndo
    - ss
    argTypes:
    - netdissect_options*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 567
    functionName: ieee802_15_4_print_superframe_specification
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - ND_PRINT
    - CHECK_BIT
    linkageType: ''
    returnType: void
    signature: "void ieee802_15_4_print_superframe_specification(netdissect_options
      *ndo,\n\t\t\t\t\t    uint16_t ss)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:584,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:589,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:596,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:602,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:603,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:604,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:607,1
    - Dst: ieee802_15_4_print_addr
      Src: /src/tcpdump/print-802_15_4.c:608,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:609,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:610,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:611,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - ndo
    - p
    - data_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 615
    functionName: ieee802_15_4_print_gts_info
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    - ieee802_15_4_print_addr
    linkageType: ''
    returnType: int
    signature: "int ieee802_15_4_print_gts_info(netdissect_options *ndo,\n\t\t\t    const
      u_char *p,\n\t\t\t    u_int data_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:630,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:635,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:640,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:647,1
    - Dst: ieee802_15_4_print_addr
      Src: /src/tcpdump/print-802_15_4.c:649,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:650,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:652,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:655,1
    - Dst: ieee802_15_4_print_addr
      Src: /src/tcpdump/print-802_15_4.c:657,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:659,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:661,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - ndo
    - p
    - data_len
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 664
    functionName: ieee802_15_4_print_pending_addresses
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    - ieee802_15_4_print_addr
    linkageType: ''
    returnType: int16_t
    signature: "int16_t ieee802_15_4_print_pending_addresses(netdissect_options *ndo,\n\t\t\t\t
      \    const u_char *p,\n\t\t\t\t     u_int data_len)"
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:680,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:682,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:682,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:683,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:683,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:684,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:686,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:686,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:692,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:694,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:695,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:695,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:697,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:698,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:701,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:707,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:709,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:710,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:711,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:712,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:719,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:727,1
    - Dst: ieee802_15_4_print_superframe_specification
      Src: /src/tcpdump/print-802_15_4.c:728,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:730,1
    - Dst: ieee802_15_4_print_pending_addresses
      Src: /src/tcpdump/print-802_15_4.c:734,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:746,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:749,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:751,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:752,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:756,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:759,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:762,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:767,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:770,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:772,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:774,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:778,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:781,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:785,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:788,1
    - Dst: GET_LE_U_6
      Src: /src/tcpdump/print-802_15_4.c:789,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:790,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:793,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:797,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:798,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:799,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:802,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:805,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:807,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:807,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:812,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:816,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:817,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:819,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:820,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:821,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:825,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:828,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:830,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:830,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:835,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:838,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:840,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:847,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:851,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:852,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:854,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:861,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:864,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:865,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:867,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:873,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:878,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:879,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:885,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:907,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:909,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:909,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 184
    argCount: 4
    argNames:
    - ndo
    - p
    - ie_len
    - element_id
    argTypes:
    - netdissect_options*
    - u_char*
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 669
    functionDepth: 3
    functionLinenumber: 669
    functionLinenumberEnd: 913
    functionName: ieee802_15_4_print_header_ie
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_6
    - GET_LE_U_2
    - GET_U_1
    - ieee802_15_4_print_superframe_specification
    - ND_PRINT
    - ieee802_15_4_print_pending_addresses
    linkageType: ''
    returnType: void
    signature: "void ieee802_15_4_print_header_ie(netdissect_options *ndo,\n\t\t\t
      \    const u_char *p,\n\t\t\t     uint16_t ie_len,\n\t\t\t     int element_id)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:934,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:938,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:939,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:940,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:946,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:950,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:952,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:957,1
    - Dst: ieee802_15_4_print_header_ie
      Src: /src/tcpdump/print-802_15_4.c:965,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:969,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:971,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:971,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:975,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 4
    argNames:
    - ndo
    - p
    - caplen
    - payload_ie_present
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 921
    functionDepth: 4
    functionLinenumber: 921
    functionLinenumberEnd: 988
    functionName: ieee802_15_4_print_header_ie_list
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - GET_U_1
    - CHECK_BIT
    - ND_PRINT
    - ieee802_15_4_print_header_ie
    linkageType: ''
    returnType: int
    signature: "int ieee802_15_4_print_header_ie_list(netdissect_options *ndo,\n\t\t\t\t
      \ const u_char *p,\n\t\t\t\t  u_int caplen,\n\t\t\t\t  int *payload_ie_present)"
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1007,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1009,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1010,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1011,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1012,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1013,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1015,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1015,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1021,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1023,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1023,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1029,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1029,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1033,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1036,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1037,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1038,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1040,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-802_15_4.c:1041,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1047,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1050,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1052,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1052,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1054,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1059,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1062,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1065,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1068,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1072,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1072,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1074,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1078,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1081,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1081,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1087,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1089,1
    - Dst: GET_LE_U_5
      Src: /src/tcpdump/print-802_15_4.c:1090,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1090,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1097,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1100,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1101,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1105,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1108,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1109,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1110,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1111,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1116,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1119,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1120,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1121,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1122,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1123,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1124,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1125,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1127,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1130,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1133,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1135,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1141,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1141,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1143,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1144,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1145,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1146,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1147,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1148,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1149,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1150,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1151,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1152,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1153,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1154,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1155,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1156,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1158,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1159,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1160,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1161,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1162,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1163,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1164,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1165,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1166,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1167,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1168,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1169,1
    - Dst: GET_LE_U_3
      Src: /src/tcpdump/print-802_15_4.c:1170,1
    - Dst: GET_LE_U_3
      Src: /src/tcpdump/print-802_15_4.c:1171,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1173,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1174,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1176,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1176,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1231,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1233,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1233,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 174
    argCount: 4
    argNames:
    - ndo
    - p
    - sub_ie_len
    - sub_id
    argTypes:
    - netdissect_options*
    - u_char*
    - uint16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1237
    functionName: ieee802_15_4_print_mlme_ie
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - GET_U_1
    - GET_LE_U_4
    - ND_PRINT
    - GET_LE_U_5
    - GET_LE_U_3
    linkageType: ''
    returnType: void
    signature: "void ieee802_15_4_print_mlme_ie(netdissect_options *ndo,\n\t\t\t   const
      u_char *p,\n\t\t\t   uint16_t sub_ie_len,\n\t\t\t   int sub_id)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1253,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1257,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:1258,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1272,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1275,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1280,1
    - Dst: ieee802_15_4_print_mlme_ie
      Src: /src/tcpdump/print-802_15_4.c:1285,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1287,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1289,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1289,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1293,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - ndo
    - p
    - ie_len
    argTypes:
    - netdissect_options*
    - u_char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1297
    functionName: ieee802_15_4_print_mlme_ie_list
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - GET_U_1
    - CHECK_BIT
    - ND_PRINT
    - ieee802_15_4_print_mlme_ie
    linkageType: ''
    returnType: void
    signature: "void ieee802_15_4_print_mlme_ie_list(netdissect_options *ndo,\n\t\t\t\tconst
      u_char *p,\n\t\t\t\tuint16_t ie_len)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1315,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1319,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1320,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1324,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1329,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1333,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1334,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1337,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1343,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1347,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1348,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1359,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1362,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1363,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1364,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1371,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1374,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1375,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1377,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1379,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1381,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1381,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1388,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1394,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1396,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1396,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 3
    argNames:
    - ndo
    - p
    - ie_len
    argTypes:
    - netdissect_options*
    - u_char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1398
    functionName: ieee802_15_4_print_mpx_ie
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - GET_U_1
    - ND_PRINT
    - GET_LE_U_2
    linkageType: ''
    returnType: void
    signature: "void ieee802_15_4_print_mpx_ie(netdissect_options *ndo,\n\t\t\t  const
      u_char *p,\n\t\t\t  uint16_t ie_len)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1417,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1421,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:1422,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1423,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1431,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1433,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1437,1
    - Dst: ieee802_15_4_print_mlme_ie_list
      Src: /src/tcpdump/print-802_15_4.c:1443,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1447,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1449,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1450,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1451,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1452,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1453,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1455,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1456,1
    - Dst: ieee802_15_4_print_mpx_ie
      Src: /src/tcpdump/print-802_15_4.c:1461,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1465,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1467,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1468,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1470,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1471,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1476,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1478,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1478,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1484,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1486,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1486,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1490,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 3
    argNames:
    - ndo
    - p
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1406
    functionDepth: 3
    functionLinenumber: 1406
    functionLinenumberEnd: 1499
    functionName: ieee802_15_4_print_payload_ie_list
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - ieee802_15_4_print_mlme_ie_list
    - GET_LE_U_2
    - ieee802_15_4_print_mpx_ie
    - GET_U_1
    - CHECK_BIT
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: "int ieee802_15_4_print_payload_ie_list(netdissect_options *ndo,\n\t\t\t\t
      \  const u_char *p,\n\t\t\t\t   u_int caplen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1515,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1518,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1527,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:1530,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1532,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1536,1
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-802_15_4.c:1537,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1546,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1553,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1557,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1558,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1558,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1566,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1570,1
    - Dst: GET_EUI64LE_STRING
      Src: /src/tcpdump/print-802_15_4.c:1570,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1578,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1582,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1582,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 4
    argNames:
    - ndo
    - p
    - caplen
    - security_level
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1588
    functionName: ieee802_15_4_print_aux_sec_header
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - GET_U_1
    - GET_LE_U_4
    - CHECK_BIT
    - ND_PRINT
    - GET_EUI64LE_STRING
    linkageType: ''
    returnType: int
    signature: "int ieee802_15_4_print_aux_sec_header(netdissect_options *ndo,\n\t\t\t\t
      \ const u_char *p,\n\t\t\t\t  u_int caplen,\n\t\t\t\t  int *security_level)"
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1606,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1610,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1611,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1629,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1632,1
    - Dst: ieee802_15_4_print_addr
      Src: /src/tcpdump/print-802_15_4.c:1633,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1634,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1636,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1639,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1642,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1645,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1648,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1651,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1652,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1660,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1663,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1665,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1668,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1671,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1674,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1674,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1689,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1694,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1695,1
    - Dst: ieee802_15_4_print_addr
      Src: /src/tcpdump/print-802_15_4.c:1696,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1697,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1700,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:1704,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1708,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1710,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1713,1
    - Dst: ieee802_15_4_print_addr
      Src: /src/tcpdump/print-802_15_4.c:1714,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1720,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1725,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1726,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:1728,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:1730,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1770,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1772,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1772,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 123
    argCount: 4
    argNames:
    - ndo
    - command_id
    - p
    - caplen
    argTypes:
    - netdissect_options*
    - uint8_t
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1595
    functionDepth: 2
    functionLinenumber: 1595
    functionLinenumberEnd: 1777
    functionName: ieee802_15_4_print_command_data
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - GET_U_1
    - CHECK_BIT
    - ieee802_15_4_print_addr
    - ND_PRINT
    linkageType: ''
    returnType: int
    signature: "int ieee802_15_4_print_command_data(netdissect_options *ndo,\n\t\t\t\tuint8_t
      command_id,\n\t\t\t\tconst u_char *p,\n\t\t\t\tu_int caplen)"
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-802_15_4.c:1809,1
    - Dst: ieee802_15_4_crc32
      Src: /src/tcpdump/print-802_15_4.c:1810,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1816,1
    - Dst: ieee802_15_4_crc16
      Src: /src/tcpdump/print-802_15_4.c:1817,1
    - Dst: FC_FRAME_VERSION
      Src: /src/tcpdump/print-802_15_4.c:1829,1
    - Dst: FC_FRAME_TYPE
      Src: /src/tcpdump/print-802_15_4.c:1830,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1831,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:1834,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1834,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:1835,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1835,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:1836,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1836,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:1837,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1837,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:1838,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1838,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:1839,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1839,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:1843,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1848,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1851,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_15_4.c:1853,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:1859,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1861,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_15_4.c:1863,1
    - Dst: ieee802_15_4_addr_len
      Src: /src/tcpdump/print-802_15_4.c:1871,1
    - Dst: ieee802_15_4_addr_len
      Src: /src/tcpdump/print-802_15_4.c:1872,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1874,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1878,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:1883,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1895,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1972,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1975,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1975,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1979,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1982,1
    - Dst: ieee802_15_4_print_addr
      Src: /src/tcpdump/print-802_15_4.c:1985,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1989,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1994,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:1997,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:1997,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2001,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2004,1
    - Dst: ieee802_15_4_print_addr
      Src: /src/tcpdump/print-802_15_4.c:2007,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2008,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:2011,1
    - Dst: ieee802_15_4_print_aux_sec_header
      Src: /src/tcpdump/print-802_15_4.c:2019,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_15_4.c:2024,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2053,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:2061,1
    - Dst: ieee802_15_4_print_header_ie_list
      Src: /src/tcpdump/print-802_15_4.c:2063,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2074,1
    - Dst: ieee802_15_4_print_payload_ie_list
      Src: /src/tcpdump/print-802_15_4.c:2076,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2087,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2090,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:2090,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2092,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2098,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2100,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2110,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:2115,1
    - Dst: ieee802_15_4_print_superframe_specification
      Src: /src/tcpdump/print-802_15_4.c:2116,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2122,1
    - Dst: ieee802_15_4_print_gts_info
      Src: /src/tcpdump/print-802_15_4.c:2126,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2136,1
    - Dst: ieee802_15_4_print_pending_addresses
      Src: /src/tcpdump/print-802_15_4.c:2139,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_15_4.c:2143,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-802_15_4.c:2149,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-802_15_4.c:2155,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2159,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:2163,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2165,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2168,1
    - Dst: ieee802_15_4_print_command_data
      Src: /src/tcpdump/print-802_15_4.c:2174,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-802_15_4.c:2182,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 307
    argCount: 4
    argNames:
    - ndo
    - p
    - caplen
    - fc
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 1784
    functionDepth: 5
    functionLinenumber: 1784
    functionLinenumberEnd: 2186
    functionName: ieee802_15_4_std_frames
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - GET_U_1
    - GET_LE_U_4
    - CHECK_BIT
    - ieee802_15_4_print_header_ie_list
    - ND_PRINT
    - ieee802_15_4_print_command_data
    - ieee802_15_4_print_superframe_specification
    - FC_FRAME_TYPE
    - ieee802_15_4_print_gts_info
    - ieee802_15_4_crc16
    - ieee802_15_4_print_payload_ie_list
    - ND_DEFAULTPRINT
    - ND_TCHECK_LEN
    - ieee802_15_4_print_aux_sec_header
    - FC_FRAME_VERSION
    - nd_print_trunc
    - ieee802_15_4_print_addr
    - ieee802_15_4_addr_len
    - ieee802_15_4_crc32
    - ieee802_15_4_print_pending_addresses
    linkageType: ''
    returnType: u_int
    signature: "u_int ieee802_15_4_std_frames(netdissect_options *ndo,\n\t\t\tconst
      u_char *p, u_int caplen,\n\t\t\tuint16_t fc)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: GET_LE_U_4
      Src: /src/tcpdump/print-802_15_4.c:2221,1
    - Dst: ieee802_15_4_crc32
      Src: /src/tcpdump/print-802_15_4.c:2222,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:2227,1
    - Dst: ieee802_15_4_crc16
      Src: /src/tcpdump/print-802_15_4.c:2228,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:2235,1
    - Dst: ieee802_15_4_crc16
      Src: /src/tcpdump/print-802_15_4.c:2236,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:2244,1
    - Dst: FC_FRAME_VERSION
      Src: /src/tcpdump/print-802_15_4.c:2248,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2249,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:2251,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:2252,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:2253,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2256,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:2257,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2257,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:2258,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2258,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2259,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:2260,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2261,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2263,1
    - Dst: CHECK_BIT
      Src: /src/tcpdump/print-802_15_4.c:2267,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_15_4.c:2270,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:2276,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2278,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_15_4.c:2280,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:2288,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2292,1
    - Dst: ieee802_15_4_addr_len
      Src: /src/tcpdump/print-802_15_4.c:2296,1
    - Dst: ieee802_15_4_addr_len
      Src: /src/tcpdump/print-802_15_4.c:2297,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2299,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2303,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2310,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2313,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:2313,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2317,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2320,1
    - Dst: ieee802_15_4_print_addr
      Src: /src/tcpdump/print-802_15_4.c:2323,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2327,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2330,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2332,1
    - Dst: ieee802_15_4_print_addr
      Src: /src/tcpdump/print-802_15_4.c:2335,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2336,1
    - Dst: ieee802_15_4_print_aux_sec_header
      Src: /src/tcpdump/print-802_15_4.c:2341,1
    - Dst: ND_TCHECK_LEN
      Src: /src/tcpdump/print-802_15_4.c:2346,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2375,1
    - Dst: ieee802_15_4_print_header_ie_list
      Src: /src/tcpdump/print-802_15_4.c:2385,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2396,1
    - Dst: ieee802_15_4_print_payload_ie_list
      Src: /src/tcpdump/print-802_15_4.c:2398,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2410,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2413,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:2413,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2415,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2422,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2424,1
    - Dst: ND_DEFAULTPRINT
      Src: /src/tcpdump/print-802_15_4.c:2430,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 192
    argCount: 4
    argNames:
    - ndo
    - p
    - caplen
    - fc
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2193
    functionDepth: 5
    functionLinenumber: 2193
    functionLinenumberEnd: 2433
    functionName: ieee802_15_4_mp_frame
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - FC_FRAME_VERSION
    - GET_U_1
    - GET_LE_U_4
    - nd_print_trunc
    - CHECK_BIT
    - ieee802_15_4_print_addr
    - ieee802_15_4_print_header_ie_list
    - ND_DEFAULTPRINT
    - ieee802_15_4_crc16
    - ieee802_15_4_crc32
    - ND_PRINT
    - ieee802_15_4_addr_len
    - ieee802_15_4_print_payload_ie_list
    - ND_TCHECK_LEN
    - ieee802_15_4_print_aux_sec_header
    linkageType: ''
    returnType: u_int
    signature: "u_int ieee802_15_4_mp_frame(netdissect_options *ndo,\n\t\t      const
      u_char *p, u_int caplen,\n\t\t      uint16_t fc)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_15_4.c:2468,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:2472,1
    - Dst: FC_FRAME_TYPE
      Src: /src/tcpdump/print-802_15_4.c:2478,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-802_15_4.c:2479,1
    - Dst: ieee802_15_4_std_frames
      Src: /src/tcpdump/print-802_15_4.c:2486,1
    - Dst: ieee802_15_4_mp_frame
      Src: /src/tcpdump/print-802_15_4.c:2490,1
    - Dst: ieee802_15_4_frag_frame
      Src: /src/tcpdump/print-802_15_4.c:2492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - ndo
    - p
    - caplen
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2458
    functionDepth: 6
    functionLinenumber: 2458
    functionLinenumberEnd: 2497
    functionName: ieee802_15_4_print
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 1
    functionsReached:
    - ieee802_15_4_std_frames
    - GET_LE_U_2
    - nd_print_trunc
    - ieee802_15_4_frag_frame
    - FC_FRAME_TYPE
    - ND_PRINT
    - ieee802_15_4_mp_frame
    linkageType: ''
    returnType: u_int
    signature: "u_int ieee802_15_4_print(netdissect_options *ndo,\n\t\t   const u_char
      *p, u_int caplen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ieee802_15_4_print
      Src: /src/tcpdump/print-802_15_4.c:2509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2503
    functionDepth: 7
    functionLinenumber: 2503
    functionLinenumberEnd: 2510
    functionName: ieee802_15_4_if_print
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - ieee802_15_4_print
    linkageType: ''
    returnType: void
    signature: "void ieee802_15_4_if_print(netdissect_options *ndo,\n                      const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_15_4.c:2523,1
    - Dst: GET_U_1
      Src: /src/tcpdump/print-802_15_4.c:2528,1
    - Dst: GET_LE_U_2
      Src: /src/tcpdump/print-802_15_4.c:2529,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-802_15_4.c:2531,1
    - Dst: nd_print_trunc
      Src: /src/tcpdump/print-802_15_4.c:2536,1
    - Dst: ieee802_15_4_print
      Src: /src/tcpdump/print-802_15_4.c:2541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - ndo
    - h
    - p
    argTypes:
    - netdissect_options*
    - struct pcap_pkthdr*
    - u_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2514
    functionDepth: 7
    functionLinenumber: 2514
    functionLinenumberEnd: 2542
    functionName: ieee802_15_4_tap_if_print
    functionSourceFile: /src/tcpdump/print-802_15_4.c
    functionUses: 0
    functionsReached:
    - GET_LE_U_2
    - GET_U_1
    - nd_print_trunc
    - ieee802_15_4_print
    - nd_print_invalid
    linkageType: ''
    returnType: void
    signature: "void ieee802_15_4_tap_if_print(netdissect_options *ndo,\n                          const
      struct pcap_pkthdr *h, const u_char *p)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nd_print_protocol
      Src: /src/tcpdump/print-mobile.c:75,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobile.c:76,1
    - Dst: ND_ICHECK_U
      Src: /src/tcpdump/print-mobile.c:77,1
    - Dst: ND_TCHECK_SIZE
      Src: /src/tcpdump/print-mobile.c:78,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mobile.c:80,1
    - Dst: GET_BE_U_2
      Src: /src/tcpdump/print-mobile.c:81,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobile.c:87,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobile.c:89,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-mobile.c:89,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobile.c:91,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobile.c:94,1
    - Dst: GET_IPADDR_STRING
      Src: /src/tcpdump/print-mobile.c:94,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobile.c:95,1
    - Dst: in_cksum
      Src: /src/tcpdump/print-mobile.c:99,1
    - Dst: ND_PRINT
      Src: /src/tcpdump/print-mobile.c:100,1
    - Dst: nd_print_invalid
      Src: /src/tcpdump/print-mobile.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - ndo
    - bp
    - length
    argTypes:
    - netdissect_options*
    - u_char*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 105
    functionName: mobile_print
    functionSourceFile: /src/tcpdump/print-mobile.c
    functionUses: 1
    functionsReached:
    - nd_print_protocol
    - GET_IPADDR_STRING
    - in_cksum
    - GET_BE_U_2
    - ND_PRINT
    - nd_print_invalid
    - ND_ICHECK_U
    - ND_TCHECK_SIZE
    linkageType: ''
    returnType: void
    signature: void mobile_print(netdissect_options *ndo, const u_char *bp, u_int
      length)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - dst
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 68
    functionName: strlcpy
    functionSourceFile: /src/tcpdump/missing/strlcpy.c
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t strlcpy(char *dst, const char *src, size_t siz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tcpdump/missing/getservent.c:58,1
    - Dst: fopen
      Src: /src/tcpdump/missing/getservent.c:62,1
    - Dst: snprintf
      Src: /src/tcpdump/missing/getservent.c:66,1
    - Dst: snprintf
      Src: /src/tcpdump/missing/getservent.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: etc_path
    functionSourceFile: /src/tcpdump/missing/getservent.c
    functionUses: 0
    functionsReached:
    - getenv
    - snprintf
    - fopen
    linkageType: ''
    returnType: char
    signature: char *etc_path(const char *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tcpdump/missing/getservent.c:77,1
    - Dst: etc_path
      Src: /src/tcpdump/missing/getservent.c:77,1
    - Dst: rewind
      Src: /src/tcpdump/missing/getservent.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: setservent
    functionSourceFile: /src/tcpdump/missing/getservent.c
    functionUses: 0
    functionsReached:
    - rewind
    - etc_path
    - fopen
    linkageType: ''
    returnType: void
    signature: void setservent(int f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/tcpdump/missing/getservent.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: endservent
    functionSourceFile: /src/tcpdump/missing/getservent.c
    functionUses: 1
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void endservent(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tcpdump/missing/getservent.c:99,1
    - Dst: etc_path
      Src: /src/tcpdump/missing/getservent.c:99,1
    - Dst: fgets
      Src: /src/tcpdump/missing/getservent.c:103,1
    - Dst: strpbrk
      Src: /src/tcpdump/missing/getservent.c:107,1
    - Dst: strpbrk
      Src: /src/tcpdump/missing/getservent.c:112,1
    - Dst: strpbrk
      Src: /src/tcpdump/missing/getservent.c:118,1
    - Dst: htons
      Src: /src/tcpdump/missing/getservent.c:122,1
    - Dst: atoi
      Src: /src/tcpdump/missing/getservent.c:122,1
    - Dst: strpbrk
      Src: /src/tcpdump/missing/getservent.c:125,1
    - Dst: strpbrk
      Src: /src/tcpdump/missing/getservent.c:135,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 141
    functionName: getservent
    functionSourceFile: /src/tcpdump/missing/getservent.c
    functionUses: 1
    functionsReached:
    - fgets
    - fopen
    - etc_path
    - strpbrk
    - htons
    - atoi
    linkageType: ''
    returnType: struct servent
    signature: 'struct servent *

      getservent(void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - stringp
    - delim
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 78
    functionName: strsep
    functionSourceFile: /src/tcpdump/missing/strsep.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      strsep(char **stringp, const char *delim)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tcpdump/missing/strlcat.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - dst
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 71
    functionName: strlcat
    functionSourceFile: /src/tcpdump/missing/strlcat.c
    functionUses: 3
    functionsReached:
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t strlcat(char *dst, const char *src, size_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: gcd
    functionSourceFile: /src/tcpdump/missing/getopt_long.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gcd(int a, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcd
      Src: /src/tcpdump/missing/getopt_long.c:151,1
    - Dst: DIAG_OFF_CAST_QUAL
      Src: /src/tcpdump/missing/getopt_long.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - panonopt_start
    - panonopt_end
    - opt_end
    - nargv
    argTypes:
    - int
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 187
    functionName: permute_args
    functionSourceFile: /src/tcpdump/missing/getopt_long.c
    functionUses: 0
    functionsReached:
    - gcd
    - DIAG_OFF_CAST_QUAL
    linkageType: ''
    returnType: void
    signature: "void permute_args(int panonopt_start, int panonopt_end, int opt_end,\n\tchar
      * const *nargv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tcpdump/missing/getopt_long.c:195,1
    - Dst: fprintf
      Src: /src/tcpdump/missing/getopt_long.c:196,1
    - Dst: vfprintf
      Src: /src/tcpdump/missing/getopt_long.c:197,1
    - Dst: fprintf
      Src: /src/tcpdump/missing/getopt_long.c:198,1
    - Dst: va_end
      Src: /src/tcpdump/missing/getopt_long.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 200
    functionName: warnx
    functionSourceFile: /src/tcpdump/missing/getopt_long.c
    functionUses: 0
    functionsReached:
    - fprintf
    - va_start
    - vfprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void warnx(const char *fmt, ...)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tcpdump/missing/getopt_long.c:241,1
    - Dst: strlen
      Src: /src/tcpdump/missing/getopt_long.c:246,1
    - Dst: strncmp
      Src: /src/tcpdump/missing/getopt_long.c:250,1
    - Dst: strlen
      Src: /src/tcpdump/missing/getopt_long.c:254,1
    - Dst: warnx
      Src: /src/tcpdump/missing/getopt_long.c:279,1
    - Dst: warnx
      Src: /src/tcpdump/missing/getopt_long.c:292,1
    - Dst: warnx
      Src: /src/tcpdump/missing/getopt_long.c:332,1
    - Dst: warnx
      Src: /src/tcpdump/missing/getopt_long.c:353,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 87
    argCount: 6
    argNames:
    - nargv
    - options
    - long_options
    - idx
    - short_too
    - flags
    argTypes:
    - char**
    - char*
    - struct option*
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 368
    functionName: parse_long_options
    functionSourceFile: /src/tcpdump/missing/getopt_long.c
    functionUses: 0
    functionsReached:
    - warnx
    - strchr
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int parse_long_options(char * const *nargv, const char *options,\n\tconst
      struct option *long_options, int *idx, int short_too, int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getopt_internal
      Src: /src/tcpdump/missing/getopt_long.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nargc
    - nargv
    - options
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 607
    functionName: getopt
    functionSourceFile: /src/tcpdump/missing/getopt_long.c
    functionUses: 9
    functionsReached:
    - getopt_internal
    linkageType: ''
    returnType: int
    signature: int getopt(int nargc, char * const *nargv, const char *options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getopt_internal
      Src: /src/tcpdump/missing/getopt_long.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - nargc
    - nargv
    - options
    - long_options
    - idx
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: getopt_long
    functionSourceFile: /src/tcpdump/missing/getopt_long.c
    functionUses: 0
    functionsReached:
    - getopt_internal
    linkageType: ''
    returnType: int
    signature: "int getopt_long(int nargc, char * const *nargv, const char *options,\n\tconst
      struct option *long_options, int *idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getopt_internal
      Src: /src/tcpdump/missing/getopt_long.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - nargc
    - nargv
    - options
    - long_options
    - idx
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 634
    functionName: getopt_long_only
    functionSourceFile: /src/tcpdump/missing/getopt_long.c
    functionUses: 0
    functionsReached:
    - getopt_internal
    linkageType: ''
    returnType: int
    signature: "int getopt_long_only(int nargc, char * const *nargv, const char *options,\n\tconst
      struct option *long_options, int *idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: pcpp::internal::RSAPrivateKeyDataView::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t RSAPrivateKeyDataView::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: pcpp::internal::RSAPrivateKeyDataView::getModulus
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getModulus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPublicExponent
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t RSAPrivateKeyDataView::getPublicExponent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPrivateExponent
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getPrivateExponent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPrime1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getPrime1() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPrime2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getPrime2() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: pcpp::internal::RSAPrivateKeyDataView::getExponent1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getExponent1() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::internal::RSAPrivateKeyDataView::getExponent2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getExponent2() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::internal::RSAPrivateKeyDataView::getCoefficient
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getCoefficient() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:57,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:59,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:61,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - root
    - decoderType
    argTypes:
    - Asn1SequenceRecord*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 84
    functionName: pcpp::internal::ECPrivateKeyDataView::ECPrivateKeyDataView
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - auto::getTagClass
    - Asn1SequenceRecord*::getSubRecords
    - auto::getTagType
    linkageType: ''
    returnType: void
    signature: void ECPrivateKeyDataView::ECPrivateKeyDataView(Asn1SequenceRecord*
      root, std::string decoderType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pcpp::internal::ECPrivateKeyDataView::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ECPrivateKeyDataView::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1OctetStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: pcpp::internal::ECPrivateKeyDataView::getPrivateKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1OctetStringRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string ECPrivateKeyDataView::getPrivateKey() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:103,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:104,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:105,1
    - Dst: std::make_unique<Asn1ObjectIdentifier>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:110,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: pcpp::internal::ECPrivateKeyDataView::getParameters
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1ConstructedRecord>
    - auto::getSubRecords
    - auto::getUniversalTagType
    - std::make_unique<Asn1ObjectIdentifier>
    - auto::castAs
    linkageType: ''
    returnType: std::unique_ptr<Asn1ObjectIdentifier>
    signature: std::unique_ptr<Asn1ObjectIdentifier> ECPrivateKeyDataView::getParameters()
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:121,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:122,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:123,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:128,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:129,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:129,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: pcpp::internal::ECPrivateKeyDataView::getPublicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - castSubRecordAs<Asn1ConstructedRecord>
    - auto::size
    - byteArrayToHexString
    - auto::getSubRecords
    - auto::getUniversalTagType
    - auto::castAs
    linkageType: ''
    returnType: std::string
    signature: std::string ECPrivateKeyDataView::getPublicKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: pcpp::internal::RSAPrivateKeyDataView::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t RSAPrivateKeyDataView::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: pcpp::internal::RSAPrivateKeyDataView::getModulus
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getModulus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPublicExponent
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t RSAPrivateKeyDataView::getPublicExponent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPrivateExponent
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getPrivateExponent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPrime1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getPrime1() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPrime2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getPrime2() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: pcpp::internal::RSAPrivateKeyDataView::getExponent1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getExponent1() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::internal::RSAPrivateKeyDataView::getExponent2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getExponent2() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::internal::RSAPrivateKeyDataView::getCoefficient
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getCoefficient() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:57,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:59,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:61,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - root
    - decoderType
    argTypes:
    - Asn1SequenceRecord*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 84
    functionName: pcpp::internal::ECPrivateKeyDataView::ECPrivateKeyDataView
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - auto::getTagClass
    - Asn1SequenceRecord*::getSubRecords
    - auto::getTagType
    linkageType: ''
    returnType: void
    signature: void ECPrivateKeyDataView::ECPrivateKeyDataView(Asn1SequenceRecord*
      root, std::string decoderType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pcpp::internal::ECPrivateKeyDataView::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ECPrivateKeyDataView::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1OctetStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: pcpp::internal::ECPrivateKeyDataView::getPrivateKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1OctetStringRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string ECPrivateKeyDataView::getPrivateKey() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:103,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:104,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:105,1
    - Dst: std::make_unique<Asn1ObjectIdentifier>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:110,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: pcpp::internal::ECPrivateKeyDataView::getParameters
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1ConstructedRecord>
    - auto::getSubRecords
    - auto::getUniversalTagType
    - std::make_unique<Asn1ObjectIdentifier>
    - auto::castAs
    linkageType: ''
    returnType: std::unique_ptr<Asn1ObjectIdentifier>
    signature: std::unique_ptr<Asn1ObjectIdentifier> ECPrivateKeyDataView::getParameters()
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:121,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:122,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:123,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:128,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:129,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:129,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: pcpp::internal::ECPrivateKeyDataView::getPublicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - castSubRecordAs<Asn1ConstructedRecord>
    - auto::size
    - byteArrayToHexString
    - auto::getSubRecords
    - auto::getUniversalTagType
    - auto::castAs
    linkageType: ''
    returnType: std::string
    signature: std::string ECPrivateKeyDataView::getPublicKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: pcpp::RSAPublicKey::getModulus
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPublicKey::getModulus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: pcpp::RSAPublicKey::getPublicExponent
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t RSAPublicKey::getPublicExponent() const
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 165
    functionName: pcpp::CryptographicKeyAlgorithm::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CryptographicKeyAlgorithm::toString() const
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 189
    functionName: pcpp::CryptographicKeyAlgorithm::getOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CryptographicKeyAlgorithm::getOidValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CryptographicKeyAlgorithm::toString
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:203,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:205,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: pcpp::CryptographicKeyAlgorithm::fromOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - pcpp::CryptographicKeyAlgorithm::toString
    linkageType: ''
    returnType: CryptographicKeyAlgorithm
    signature: CryptographicKeyAlgorithm CryptographicKeyAlgorithm::fromOidValue(const
      Asn1ObjectIdentifier& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: pcpp::PKCS8PrivateKey::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t PKCS8PrivateKey::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:221,1
    - Dst: pcpp::CryptographicKeyAlgorithm::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: pcpp::PKCS8PrivateKey::getPrivateKeyAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1SequenceRecord>
    - pcpp::CryptographicKeyAlgorithm::fromOidValue
    linkageType: ''
    returnType: CryptographicKeyAlgorithm
    signature: CryptographicKeyAlgorithm PKCS8PrivateKey::getPrivateKeyAlgorithm()
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1OctetStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:231,1
    - Dst: pcpp::PKCS8PrivateKey::getPrivateKeyAlgorithm
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:236,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:240,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:240,1
    - Dst: std::unique_ptr<PrivateKeyData>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:248,1
    - Dst: RSAPrivateKeyData::RSAPrivateKeyData
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:248,1
    - Dst: std::unique_ptr<PrivateKeyData>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:252,1
    - Dst: ECPrivateKeyData::ECPrivateKeyData
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:252,1
    - Dst: std::unique_ptr<PrivateKeyData>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:256,1
    - Dst: Ed25519PrivateKeyData::Ed25519PrivateKeyData
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 263
    functionName: pcpp::PKCS8PrivateKey::getPrivateKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - RSAPrivateKeyData::RSAPrivateKeyData
    - string
    - Ed25519PrivateKeyData::Ed25519PrivateKeyData
    - ECPrivateKeyData::ECPrivateKeyData
    - std::runtime_error
    - castSubRecordAs<Asn1OctetStringRecord>
    - std::unique_ptr<PrivateKeyData>
    - pcpp::PKCS8PrivateKey::getPrivateKeyAlgorithm
    linkageType: ''
    returnType: std::unique_ptr<PKCS8PrivateKey::PrivateKeyData>
    signature: std::unique_ptr<PKCS8PrivateKey::PrivateKeyData> PKCS8PrivateKey::getPrivateKey()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:267,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:267,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:268,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:268,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:268,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:269,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:269,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: PKCS8PrivateKey::PrivateKeyData::PrivateKeyData(const std::string&
      rawData)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - data
    - length
    - size
    - hexStringToByteArray
    - resize
    - pcpp::Asn1Record::decode
    linkageType: ''
    returnType: void
    signature: void PKCS8PrivateKey::PrivateKeyData::PrivateKeyData(const std::string&
      rawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: PKCS8PrivateKey::RSAPrivateKeyData::RSAPrivateKeyData(const std::string&
      rawData)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    linkageType: ''
    returnType: void
    signature: void PKCS8PrivateKey::RSAPrivateKeyData::RSAPrivateKeyData(const std::string&
      rawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: PKCS8PrivateKey::ECPrivateKeyData::ECPrivateKeyData(const std::string&
      rawData)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    linkageType: ''
    returnType: void
    signature: void PKCS8PrivateKey::ECPrivateKeyData::ECPrivateKeyData(const std::string&
      rawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: PKCS8PrivateKey::Ed25519PrivateKeyData::Ed25519PrivateKeyData(const
      std::string& rawData)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS8PrivateKey::Ed25519PrivateKeyData::Ed25519PrivateKeyData(const
      std::string& rawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:288,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: PKCS8PrivateKey::Ed25519PrivateKeyData::getPrivateKey() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - castAs
    linkageType: ''
    returnType: std::string
    signature: std::string PKCS8PrivateKey::Ed25519PrivateKeyData::getPrivateKey()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:298,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:299,1
    - Dst: pcpp::CryptographicKeyAlgorithm::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:306,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:307,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 313
    functionName: pcpp::SubjectPublicKeyInfo::getAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1SequenceRecord>
    - std::runtime_error
    - auto::getSubRecords
    - pcpp::CryptographicKeyAlgorithm::fromOidValue
    linkageType: ''
    returnType: CryptographicKeyAlgorithm
    signature: CryptographicKeyAlgorithm SubjectPublicKeyInfo::getAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1BitStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:318,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:319,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:319,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: pcpp::SubjectPublicKeyInfo::getSubjectPublicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - byteArrayToHexString
    - castSubRecordAs<Asn1BitStringRecord>
    - auto::size
    linkageType: ''
    returnType: std::string
    signature: std::string SubjectPublicKeyInfo::getSubjectPublicKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: pcpp::internal::RSAPrivateKeyDataView::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t RSAPrivateKeyDataView::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: pcpp::internal::RSAPrivateKeyDataView::getModulus
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getModulus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPublicExponent
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t RSAPrivateKeyDataView::getPublicExponent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPrivateExponent
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getPrivateExponent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPrime1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getPrime1() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPrime2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getPrime2() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: pcpp::internal::RSAPrivateKeyDataView::getExponent1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getExponent1() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::internal::RSAPrivateKeyDataView::getExponent2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getExponent2() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::internal::RSAPrivateKeyDataView::getCoefficient
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getCoefficient() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:57,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:59,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:61,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - root
    - decoderType
    argTypes:
    - Asn1SequenceRecord*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 84
    functionName: pcpp::internal::ECPrivateKeyDataView::ECPrivateKeyDataView
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - auto::getTagClass
    - Asn1SequenceRecord*::getSubRecords
    - auto::getTagType
    linkageType: ''
    returnType: void
    signature: void ECPrivateKeyDataView::ECPrivateKeyDataView(Asn1SequenceRecord*
      root, std::string decoderType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pcpp::internal::ECPrivateKeyDataView::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ECPrivateKeyDataView::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1OctetStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: pcpp::internal::ECPrivateKeyDataView::getPrivateKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1OctetStringRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string ECPrivateKeyDataView::getPrivateKey() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:103,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:104,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:105,1
    - Dst: std::make_unique<Asn1ObjectIdentifier>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:110,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: pcpp::internal::ECPrivateKeyDataView::getParameters
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1ConstructedRecord>
    - auto::getSubRecords
    - auto::getUniversalTagType
    - std::make_unique<Asn1ObjectIdentifier>
    - auto::castAs
    linkageType: ''
    returnType: std::unique_ptr<Asn1ObjectIdentifier>
    signature: std::unique_ptr<Asn1ObjectIdentifier> ECPrivateKeyDataView::getParameters()
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:121,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:122,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:123,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:128,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:129,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:129,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: pcpp::internal::ECPrivateKeyDataView::getPublicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - castSubRecordAs<Asn1ConstructedRecord>
    - auto::size
    - byteArrayToHexString
    - auto::getSubRecords
    - auto::getUniversalTagType
    - auto::castAs
    linkageType: ''
    returnType: std::string
    signature: std::string ECPrivateKeyDataView::getPublicKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: pcpp::internal::RSAPrivateKeyDataView::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t RSAPrivateKeyDataView::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: pcpp::internal::RSAPrivateKeyDataView::getModulus
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getModulus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPublicExponent
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t RSAPrivateKeyDataView::getPublicExponent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPrivateExponent
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getPrivateExponent() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPrime1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getPrime1() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pcpp::internal::RSAPrivateKeyDataView::getPrime2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getPrime2() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: pcpp::internal::RSAPrivateKeyDataView::getExponent1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getExponent1() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::internal::RSAPrivateKeyDataView::getExponent2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getExponent2() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::internal::RSAPrivateKeyDataView::getCoefficient
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPrivateKeyDataView::getCoefficient() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:57,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:59,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:61,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - root
    - decoderType
    argTypes:
    - Asn1SequenceRecord*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 84
    functionName: pcpp::internal::ECPrivateKeyDataView::ECPrivateKeyDataView
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - auto::getTagClass
    - Asn1SequenceRecord*::getSubRecords
    - auto::getTagType
    linkageType: ''
    returnType: void
    signature: void ECPrivateKeyDataView::ECPrivateKeyDataView(Asn1SequenceRecord*
      root, std::string decoderType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pcpp::internal::ECPrivateKeyDataView::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ECPrivateKeyDataView::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1OctetStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: pcpp::internal::ECPrivateKeyDataView::getPrivateKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1OctetStringRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string ECPrivateKeyDataView::getPrivateKey() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:103,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:104,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:105,1
    - Dst: std::make_unique<Asn1ObjectIdentifier>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:110,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: pcpp::internal::ECPrivateKeyDataView::getParameters
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1ConstructedRecord>
    - auto::getSubRecords
    - auto::getUniversalTagType
    - std::make_unique<Asn1ObjectIdentifier>
    - auto::castAs
    linkageType: ''
    returnType: std::unique_ptr<Asn1ObjectIdentifier>
    signature: std::unique_ptr<Asn1ObjectIdentifier> ECPrivateKeyDataView::getParameters()
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:121,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:122,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:123,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:128,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:129,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:129,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: pcpp::internal::ECPrivateKeyDataView::getPublicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - castSubRecordAs<Asn1ConstructedRecord>
    - auto::size
    - byteArrayToHexString
    - auto::getSubRecords
    - auto::getUniversalTagType
    - auto::castAs
    linkageType: ''
    returnType: std::string
    signature: std::string ECPrivateKeyDataView::getPublicKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: pcpp::RSAPublicKey::getModulus
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string RSAPublicKey::getModulus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: pcpp::RSAPublicKey::getPublicExponent
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t RSAPublicKey::getPublicExponent() const
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 165
    functionName: pcpp::CryptographicKeyAlgorithm::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CryptographicKeyAlgorithm::toString() const
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 189
    functionName: pcpp::CryptographicKeyAlgorithm::getOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CryptographicKeyAlgorithm::getOidValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CryptographicKeyAlgorithm::toString
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:203,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:205,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: pcpp::CryptographicKeyAlgorithm::fromOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 2
    functionsReached:
    - end
    - find
    - pcpp::CryptographicKeyAlgorithm::toString
    linkageType: ''
    returnType: CryptographicKeyAlgorithm
    signature: CryptographicKeyAlgorithm CryptographicKeyAlgorithm::fromOidValue(const
      Asn1ObjectIdentifier& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: pcpp::PKCS8PrivateKey::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1IntegerRecord>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t PKCS8PrivateKey::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:221,1
    - Dst: pcpp::CryptographicKeyAlgorithm::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: pcpp::PKCS8PrivateKey::getPrivateKeyAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 1
    functionsReached:
    - castSubRecordAs<Asn1SequenceRecord>
    - pcpp::CryptographicKeyAlgorithm::fromOidValue
    linkageType: ''
    returnType: CryptographicKeyAlgorithm
    signature: CryptographicKeyAlgorithm PKCS8PrivateKey::getPrivateKeyAlgorithm()
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1OctetStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:231,1
    - Dst: pcpp::PKCS8PrivateKey::getPrivateKeyAlgorithm
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:236,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:240,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:240,1
    - Dst: std::unique_ptr<PrivateKeyData>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:248,1
    - Dst: RSAPrivateKeyData::RSAPrivateKeyData
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:248,1
    - Dst: std::unique_ptr<PrivateKeyData>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:252,1
    - Dst: ECPrivateKeyData::ECPrivateKeyData
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:252,1
    - Dst: std::unique_ptr<PrivateKeyData>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:256,1
    - Dst: Ed25519PrivateKeyData::Ed25519PrivateKeyData
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 263
    functionName: pcpp::PKCS8PrivateKey::getPrivateKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - RSAPrivateKeyData::RSAPrivateKeyData
    - string
    - Ed25519PrivateKeyData::Ed25519PrivateKeyData
    - ECPrivateKeyData::ECPrivateKeyData
    - std::runtime_error
    - castSubRecordAs<Asn1OctetStringRecord>
    - std::unique_ptr<PrivateKeyData>
    - pcpp::PKCS8PrivateKey::getPrivateKeyAlgorithm
    linkageType: ''
    returnType: std::unique_ptr<PKCS8PrivateKey::PrivateKeyData>
    signature: std::unique_ptr<PKCS8PrivateKey::PrivateKeyData> PKCS8PrivateKey::getPrivateKey()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:267,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:267,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:268,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:268,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:268,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:269,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:269,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: PKCS8PrivateKey::PrivateKeyData::PrivateKeyData(const std::string&
      rawData)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - data
    - length
    - size
    - hexStringToByteArray
    - resize
    - pcpp::Asn1Record::decode
    linkageType: ''
    returnType: void
    signature: void PKCS8PrivateKey::PrivateKeyData::PrivateKeyData(const std::string&
      rawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: PKCS8PrivateKey::RSAPrivateKeyData::RSAPrivateKeyData(const std::string&
      rawData)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    linkageType: ''
    returnType: void
    signature: void PKCS8PrivateKey::RSAPrivateKeyData::RSAPrivateKeyData(const std::string&
      rawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: PKCS8PrivateKey::ECPrivateKeyData::ECPrivateKeyData(const std::string&
      rawData)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - getRoot
    linkageType: ''
    returnType: void
    signature: void PKCS8PrivateKey::ECPrivateKeyData::ECPrivateKeyData(const std::string&
      rawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: PKCS8PrivateKey::Ed25519PrivateKeyData::Ed25519PrivateKeyData(const
      std::string& rawData)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PKCS8PrivateKey::Ed25519PrivateKeyData::Ed25519PrivateKeyData(const
      std::string& rawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:288,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: PKCS8PrivateKey::Ed25519PrivateKeyData::getPrivateKey() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - castAs
    linkageType: ''
    returnType: std::string
    signature: std::string PKCS8PrivateKey::Ed25519PrivateKeyData::getPrivateKey()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:298,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:299,1
    - Dst: pcpp::CryptographicKeyAlgorithm::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:306,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:307,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 313
    functionName: pcpp::SubjectPublicKeyInfo::getAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - castSubRecordAs<Asn1SequenceRecord>
    - std::runtime_error
    - auto::getSubRecords
    - pcpp::CryptographicKeyAlgorithm::fromOidValue
    linkageType: ''
    returnType: CryptographicKeyAlgorithm
    signature: CryptographicKeyAlgorithm SubjectPublicKeyInfo::getAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castSubRecordAs<Asn1BitStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:318,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:319,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:319,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: pcpp::SubjectPublicKeyInfo::getSubjectPublicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - byteArrayToHexString
    - castSubRecordAs<Asn1BitStringRecord>
    - auto::size
    linkageType: ''
    returnType: std::string
    signature: std::string SubjectPublicKeyInfo::getSubjectPublicKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:29,1
    - Dst: reinterpret_cast<udphdr*>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:31,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:32,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - portSrc
    - portDst
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: pcpp::UdpLayer::UdpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - reinterpret_cast<udphdr*>
    - allocData
    linkageType: ''
    returnType: void
    signature: void UdpLayer::UdpLayer(uint16_t portSrc, uint16_t portDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:39,1
    - Dst: pcpp::UdpLayer::getUdpHeader
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: pcpp::UdpLayer::getSrcPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::UdpLayer::getUdpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t UdpLayer::getSrcPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:44,1
    - Dst: pcpp::UdpLayer::getUdpHeader
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: pcpp::UdpLayer::getDstPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::UdpLayer::getUdpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t UdpLayer::getDstPort() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<udphdr*>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:49,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:56,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:58,1
    - Dst: static_cast<IPv4Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:60,1
    - Dst: static_cast<IPv4Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:61,1
    - Dst: pcpp::computePseudoHdrChecksum
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:63,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:63,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:66,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:68,1
    - Dst: static_cast<IPv6Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:70,1
    - Dst: static_cast<IPv6Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:71,1
    - Dst: computePseudoHdrChecksum
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:73,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:73,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:76,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - writeResultToPacket
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 89
    functionName: pcpp::UdpLayer::calculateChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
    functionUses: 0
    functionsReached:
    - computePseudoHdrChecksum
    - htobe16
    - getProtocol
    - getDataLen
    - pcpp::computePseudoHdrChecksum
    - reinterpret_cast<udphdr*>
    - static_cast<IPv6Layer*>
    - PCPP_LOG_DEBUG
    - static_cast<IPv4Layer*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t UdpLayer::calculateChecksum(bool writeResultToPacket)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::UdpLayer::getDstPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:96,1
    - Dst: pcpp::UdpLayer::getSrcPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:97,1
    - Dst: pcpp::DhcpLayer::isDhcpPorts
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:102,1
    - Dst: tryConstructNextLayerWithFallback<DhcpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:104,1
    - Dst: pcpp::VxlanLayer::isVxlanPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:106,1
    - Dst: tryConstructNextLayerWithFallback<VxlanLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:108,1
    - Dst: pcpp::DnsLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:110,1
    - Dst: pcpp::DnsLayer::isDnsPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:111,1
    - Dst: pcpp::DnsLayer::isDnsPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:111,1
    - Dst: constructNextLayer<DnsLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:113,1
    - Dst: pcpp::SipLayer::isSipPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:115,1
    - Dst: pcpp::SipLayer::isSipPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:115,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:119,1
    - Dst: pcpp::RadiusLayer::isRadiusPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:121,1
    - Dst: pcpp::RadiusLayer::isRadiusPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:121,1
    - Dst: pcpp::RadiusLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:122,1
    - Dst: constructNextLayer<RadiusLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:124,1
    - Dst: pcpp::GtpV1Layer::isGTPv1Port
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:126,1
    - Dst: pcpp::GtpV1Layer::isGTPv1Port
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:126,1
    - Dst: pcpp::GtpV1Layer::isGTPv1
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:127,1
    - Dst: constructNextLayer<GtpV1Layer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:129,1
    - Dst: pcpp::GtpV2Layer::isGTPv2Port
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:131,1
    - Dst: pcpp::GtpV2Layer::isGTPv2Port
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:131,1
    - Dst: pcpp::GtpV2Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:132,1
    - Dst: constructNextLayer<GtpV2Layer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:134,1
    - Dst: pcpp::DhcpV6Layer::isDhcpV6Port
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:136,1
    - Dst: pcpp::DhcpV6Layer::isDhcpV6Port
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:136,1
    - Dst: pcpp::DhcpV6Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:137,1
    - Dst: constructNextLayer<DhcpV6Layer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:139,1
    - Dst: pcpp::NtpLayer::isNTPPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:141,1
    - Dst: pcpp::NtpLayer::isNTPPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:141,1
    - Dst: pcpp::NtpLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:142,1
    - Dst: constructNextLayer<NtpLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:144,1
    - Dst: pcpp::DoIpLayer::isDoIpPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:146,1
    - Dst: pcpp::DoIpLayer::isDoIpPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:146,1
    - Dst: pcpp::DoIpLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:147,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:149,1
    - Dst: pcpp::SomeIpLayer::isSomeIpPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:151,1
    - Dst: pcpp::SomeIpLayer::isSomeIpPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:151,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:153,1
    - Dst: pcpp::WakeOnLanLayer::isWakeOnLanPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:155,1
    - Dst: pcpp::WakeOnLanLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:155,1
    - Dst: constructNextLayer<WakeOnLanLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:157,1
    - Dst: pcpp::WireGuardLayer::isWireGuardPorts
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:159,1
    - Dst: pcpp::WireGuardLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:160,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:162,1
    - Dst: hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:167,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:176,1
    - Dst: hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:179,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:181,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 183
    functionName: pcpp::UdpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::UdpLayer::getDstPort
    - tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
    - pcpp::DoIpLayer::isDataValid
    - constructNextLayer<DnsLayer>
    - pcpp::WireGuardLayer::isWireGuardPorts
    - constructNextLayer<NtpLayer>
    - pcpp::SipLayer::isSipPort
    - constructNextLayer<GtpV2Layer>
    - tryConstructNextLayerWithFallback<DhcpLayer, PayloadLayer>
    - pcpp::DnsLayer::isDnsPort
    - pcpp::RadiusLayer::isRadiusPort
    - pcpp::VxlanLayer::isVxlanPort
    - pcpp::DoIpLayer::isDoIpPort
    - pcpp::SomeIpLayer::isSomeIpPort
    - pcpp::GtpV2Layer::isGTPv2Port
    - pcpp::UdpLayer::getSrcPort
    - pcpp::DhcpV6Layer::isDataValid
    - pcpp::WireGuardLayer::isDataValid
    - pcpp::RadiusLayer::isDataValid
    - pcpp::WakeOnLanLayer::isDataValid
    - constructNextLayer<DhcpV6Layer>
    - pcpp::DhcpV6Layer::isDhcpV6Port
    - pcpp::DhcpLayer::isDhcpPorts
    - constructNextLayerFromFactory
    - pcpp::GtpV2Layer::isDataValid
    - pcpp::GtpV1Layer::isGTPv1Port
    - constructNextLayer<PayloadLayer>
    - pcpp::GtpV1Layer::isGTPv1
    - constructNextLayer<GtpV1Layer>
    - constructNextLayer<WakeOnLanLayer>
    - hasNextLayer
    - pcpp::NtpLayer::isDataValid
    - tryConstructNextLayerWithFallback<VxlanLayer, PayloadLayer>
    - pcpp::DnsLayer::isDataValid
    - pcpp::WakeOnLanLayer::isWakeOnLanPort
    - constructNextLayer<RadiusLayer>
    - pcpp::NtpLayer::isNTPPort
    linkageType: ''
    returnType: void
    signature: void UdpLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<udphdr*>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:187,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:188,1
    - Dst: pcpp::UdpLayer::calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: pcpp::UdpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - reinterpret_cast<udphdr*>
    - pcpp::UdpLayer::calculateChecksum
    linkageType: ''
    returnType: void
    signature: void UdpLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::UdpLayer::getSrcPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:195,1
    - Dst: pcpp::UdpLayer::getDstPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:197,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:199,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: pcpp::UdpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::UdpLayer::getDstPort
    - std::ostringstream::str
    - pcpp::UdpLayer::getSrcPort
    linkageType: ''
    returnType: std::string
    signature: std::string UdpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:29,1
    - Dst: reinterpret_cast<udphdr*>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:31,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:32,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - portSrc
    - portDst
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: pcpp::UdpLayer::UdpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - reinterpret_cast<udphdr*>
    - allocData
    linkageType: ''
    returnType: void
    signature: void UdpLayer::UdpLayer(uint16_t portSrc, uint16_t portDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:39,1
    - Dst: pcpp::UdpLayer::getUdpHeader
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: pcpp::UdpLayer::getSrcPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - pcpp::UdpLayer::getUdpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t UdpLayer::getSrcPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:44,1
    - Dst: pcpp::UdpLayer::getUdpHeader
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: pcpp::UdpLayer::getDstPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - pcpp::UdpLayer::getUdpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t UdpLayer::getDstPort() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<udphdr*>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:49,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:56,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:58,1
    - Dst: static_cast<IPv4Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:60,1
    - Dst: static_cast<IPv4Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:61,1
    - Dst: pcpp::computePseudoHdrChecksum
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:63,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:63,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:66,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:68,1
    - Dst: static_cast<IPv6Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:70,1
    - Dst: static_cast<IPv6Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:71,1
    - Dst: computePseudoHdrChecksum
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:73,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:73,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:76,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - writeResultToPacket
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 89
    functionName: pcpp::UdpLayer::calculateChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
    functionUses: 1
    functionsReached:
    - computePseudoHdrChecksum
    - htobe16
    - getProtocol
    - getDataLen
    - pcpp::computePseudoHdrChecksum
    - reinterpret_cast<udphdr*>
    - static_cast<IPv6Layer*>
    - PCPP_LOG_DEBUG
    - static_cast<IPv4Layer*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t UdpLayer::calculateChecksum(bool writeResultToPacket)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::UdpLayer::getDstPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:96,1
    - Dst: pcpp::UdpLayer::getSrcPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:97,1
    - Dst: pcpp::DhcpLayer::isDhcpPorts
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:102,1
    - Dst: tryConstructNextLayerWithFallback<DhcpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:104,1
    - Dst: pcpp::VxlanLayer::isVxlanPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:106,1
    - Dst: tryConstructNextLayerWithFallback<VxlanLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:108,1
    - Dst: pcpp::DnsLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:110,1
    - Dst: pcpp::DnsLayer::isDnsPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:111,1
    - Dst: pcpp::DnsLayer::isDnsPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:111,1
    - Dst: constructNextLayer<DnsLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:113,1
    - Dst: pcpp::SipLayer::isSipPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:115,1
    - Dst: pcpp::SipLayer::isSipPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:115,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:119,1
    - Dst: pcpp::RadiusLayer::isRadiusPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:121,1
    - Dst: pcpp::RadiusLayer::isRadiusPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:121,1
    - Dst: pcpp::RadiusLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:122,1
    - Dst: constructNextLayer<RadiusLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:124,1
    - Dst: pcpp::GtpV1Layer::isGTPv1Port
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:126,1
    - Dst: pcpp::GtpV1Layer::isGTPv1Port
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:126,1
    - Dst: pcpp::GtpV1Layer::isGTPv1
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:127,1
    - Dst: constructNextLayer<GtpV1Layer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:129,1
    - Dst: pcpp::GtpV2Layer::isGTPv2Port
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:131,1
    - Dst: pcpp::GtpV2Layer::isGTPv2Port
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:131,1
    - Dst: pcpp::GtpV2Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:132,1
    - Dst: constructNextLayer<GtpV2Layer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:134,1
    - Dst: pcpp::DhcpV6Layer::isDhcpV6Port
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:136,1
    - Dst: pcpp::DhcpV6Layer::isDhcpV6Port
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:136,1
    - Dst: pcpp::DhcpV6Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:137,1
    - Dst: constructNextLayer<DhcpV6Layer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:139,1
    - Dst: pcpp::NtpLayer::isNTPPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:141,1
    - Dst: pcpp::NtpLayer::isNTPPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:141,1
    - Dst: pcpp::NtpLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:142,1
    - Dst: constructNextLayer<NtpLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:144,1
    - Dst: pcpp::DoIpLayer::isDoIpPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:146,1
    - Dst: pcpp::DoIpLayer::isDoIpPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:146,1
    - Dst: pcpp::DoIpLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:147,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:149,1
    - Dst: pcpp::SomeIpLayer::isSomeIpPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:151,1
    - Dst: pcpp::SomeIpLayer::isSomeIpPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:151,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:153,1
    - Dst: pcpp::WakeOnLanLayer::isWakeOnLanPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:155,1
    - Dst: pcpp::WakeOnLanLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:155,1
    - Dst: constructNextLayer<WakeOnLanLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:157,1
    - Dst: pcpp::WireGuardLayer::isWireGuardPorts
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:159,1
    - Dst: pcpp::WireGuardLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:160,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:162,1
    - Dst: hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:167,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:176,1
    - Dst: hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:179,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:181,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 183
    functionName: pcpp::UdpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::UdpLayer::getDstPort
    - tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
    - pcpp::DoIpLayer::isDataValid
    - constructNextLayer<DnsLayer>
    - pcpp::WireGuardLayer::isWireGuardPorts
    - constructNextLayer<NtpLayer>
    - pcpp::SipLayer::isSipPort
    - constructNextLayer<GtpV2Layer>
    - tryConstructNextLayerWithFallback<DhcpLayer, PayloadLayer>
    - pcpp::DnsLayer::isDnsPort
    - pcpp::RadiusLayer::isRadiusPort
    - pcpp::VxlanLayer::isVxlanPort
    - pcpp::DoIpLayer::isDoIpPort
    - pcpp::SomeIpLayer::isSomeIpPort
    - pcpp::GtpV2Layer::isGTPv2Port
    - pcpp::UdpLayer::getSrcPort
    - pcpp::DhcpV6Layer::isDataValid
    - pcpp::WireGuardLayer::isDataValid
    - pcpp::RadiusLayer::isDataValid
    - pcpp::WakeOnLanLayer::isDataValid
    - constructNextLayer<DhcpV6Layer>
    - pcpp::DhcpV6Layer::isDhcpV6Port
    - pcpp::DhcpLayer::isDhcpPorts
    - constructNextLayerFromFactory
    - pcpp::GtpV2Layer::isDataValid
    - pcpp::GtpV1Layer::isGTPv1Port
    - constructNextLayer<PayloadLayer>
    - pcpp::GtpV1Layer::isGTPv1
    - constructNextLayer<GtpV1Layer>
    - constructNextLayer<WakeOnLanLayer>
    - hasNextLayer
    - pcpp::NtpLayer::isDataValid
    - tryConstructNextLayerWithFallback<VxlanLayer, PayloadLayer>
    - pcpp::DnsLayer::isDataValid
    - pcpp::WakeOnLanLayer::isWakeOnLanPort
    - constructNextLayer<RadiusLayer>
    - pcpp::NtpLayer::isNTPPort
    linkageType: ''
    returnType: void
    signature: void UdpLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<udphdr*>
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:187,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:188,1
    - Dst: pcpp::UdpLayer::calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: pcpp::UdpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - reinterpret_cast<udphdr*>
    - pcpp::UdpLayer::calculateChecksum
    linkageType: ''
    returnType: void
    signature: void UdpLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::UdpLayer::getSrcPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:195,1
    - Dst: pcpp::UdpLayer::getDstPort
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:197,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:199,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: pcpp::UdpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::UdpLayer::getDstPort
    - std::ostringstream::str
    - pcpp::UdpLayer::getSrcPort
    linkageType: ''
    returnType: std::string
    signature: std::string UdpLayer::toString() const
  - 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: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: SEQ_LT
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEQ_LT(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: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: SEQ_LEQ
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEQ_LEQ(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: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: SEQ_GT
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEQ_GT(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: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: SEQ_GEQ
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEQ_GEQ(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_since_epoch
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:27,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:29,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:31,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:32,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::chrono::time_point<std::chrono::high_resolution_clock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: pcpp::timePointToTimeval
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - time_since_epoch
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::chrono::seconds
    - std::chrono::duration_cast<std::chrono::seconds>
    linkageType: ''
    returnType: timeval
    signature: timeval timePointToTimeval(const std::chrono::time_point<std::chrono::high_resolution_clock>&
      in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::high_resolution_clock::duration>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:42,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:43,1
    - Dst: std::chrono::nanoseconds
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:43,1
    - Dst: std::chrono::time_point<std::chrono::high_resolution_clock>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: pcpp::timespecToTimePoint
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::time_point<std::chrono::high_resolution_clock>
    - std::chrono::seconds
    - std::chrono::duration_cast<std::chrono::high_resolution_clock::duration>
    - std::chrono::nanoseconds
    linkageType: ''
    returnType: std::chrono::time_point<std::chrono::high_resolution_clock>
    signature: std::chrono::time_point<std::chrono::high_resolution_clock> timespecToTimePoint(const
      timespec& in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timePointToTimeval
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' startTimeValue'
    argTypes:
    - std::chrono::time_point<std::chrono::high_resolution_clock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: pcpp::ConnectionData::setStartTime
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - timePointToTimeval
    linkageType: ''
    returnType: void
    signature: void ConnectionData::setStartTime(const std::chrono::time_point<std::chrono::high_resolution_clock>&
      startTimeValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timePointToTimeval
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' endTimeValue'
    argTypes:
    - std::chrono::time_point<std::chrono::high_resolution_clock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: pcpp::ConnectionData::setEndTime
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - timePointToTimeval
    linkageType: ''
    returnType: void
    signature: void ConnectionData::setEndTime(const std::chrono::time_point<std::chrono::high_resolution_clock>&
      endTimeValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timePointToTimeval
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: pcpp::TcpStreamData::getTimeStamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - timePointToTimeval
    linkageType: ''
    returnType: timeval
    signature: timeval TcpStreamData::getTimeStamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - onMessageReadyCallback
    - userCookie
    - onConnectionStartCallback
    - onConnectionEndCallback
    - ' config'
    argTypes:
    - OnTcpMessageReady
    - void*
    - OnTcpConnectionStart
    - OnTcpConnectionEnd
    - TcpReassemblyConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: pcpp::TcpReassembly::TcpReassembly
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: "void TcpReassembly::TcpReassembly(OnTcpMessageReady onMessageReadyCallback,
      void* userCookie,\n\t                             OnTcpConnectionStart onConnectionStartCallback,\n\t
      \                            OnTcpConnectionEnd onConnectionEndCallback, const
      TcpReassemblyConfiguration& config)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:86,1
    - Dst: pcpp::TcpReassembly::purgeClosedConnections
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:88,1
    - Dst: time
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:89,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:96,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:98,1
    - Dst: IPLayer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:99,1
    - Dst: IPLayer*::getDstIPAddress
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:100,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:106,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:115,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:117,1
    - Dst: TcpLayer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:125,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:128,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:129,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:133,1
    - Dst: hash5Tuple
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:141,1
    - Dst: timespecToTimePoint
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:144,1
    - Dst: getRawPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:144,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:147,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:149,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:154,1
    - Dst: std::make_pair
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:154,1
    - Dst: TcpReassemblyData
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:154,1
    - Dst: TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:158,1
    - Dst: TcpLayer*::getDstPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:159,1
    - Dst: TcpReassemblyData*::connData::setStartTime
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:161,1
    - Dst: m_OnConnStart
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:167,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:175,1
    - Dst: TcpReassemblyData*::connData::setEndTime
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:183,1
    - Dst: setEndTime
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:184,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:192,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:197,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:218,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:243,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:251,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:260,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:264,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:265,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:273,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:275,1
    - Dst: tcpFragmentList::size
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:299,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:301,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:302,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:303,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:304,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:309,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:309,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:314,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:318,1
    - Dst: TcpLayer*::getLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:324,1
    - Dst: m_OnMessageReadyCallback
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:326,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:332,1
    - Dst: SEQ_LT
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:340,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:342,1
    - Dst: SEQ_GT
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:348,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:353,1
    - Dst: TcpLayer*::getLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:362,1
    - Dst: m_OnMessageReadyCallback
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:364,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:375,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:387,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:392,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:403,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:409,1
    - Dst: TcpLayer*::getLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:415,1
    - Dst: m_OnMessageReadyCallback
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:417,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:423,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:427,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:441,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:446,1
    - Dst: TcpFragment::TcpFragment
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:458,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:459,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:463,1
    - Dst: TcpLayer*::getLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:463,1
    - Dst: tcpFragmentList::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:464,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:466,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:467,1
    - Dst: tcpFragmentList::size
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:473,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:475,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:481,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 175
    argCount: 1
    argNames:
    - ' tcpData'
    argTypes:
    - Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 486
    functionName: pcpp::TcpReassembly::reassemblePacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - IPLayer*::getDstIPAddress
    - end
    - be32toh
    - TcpReassemblyData*::connData::setStartTime
    - PCPP_LOG_ERROR
    - getLayerOfType
    - m_OnConnStart
    - TcpLayer*::getSrcPort
    - TcpLayer*::getDstPort
    - TcpLayer*::getLayerPayload
    - isPacketOfType
    - pcpp::TcpReassembly::handleFinOrRst
    - SEQ_LT
    - find
    - insert
    - std::make_pair
    - PCPP_LOG_DEBUG
    - uint8_t::uint8_t
    - timespecToTimePoint
    - TcpReassemblyData*::connData::setEndTime
    - tcpFragmentList::pushBack
    - static_cast<int>
    - setEndTime
    - pcpp::TcpReassembly::purgeClosedConnections
    - TcpFragment::TcpFragment
    - memcpy
    - SEQ_GT
    - IPLayer*::getSrcIPAddress
    - getRawPacket
    - time
    - TcpLayer*::getTcpHeader
    - tcpFragmentList::size
    - pcpp::TcpReassembly::checkOutOfOrderFragments
    - TcpLayer*::getLayerPayloadSize
    - TcpReassemblyData
    - m_OnMessageReadyCallback
    - hash5Tuple
    linkageType: ''
    returnType: TcpReassembly::ReassemblyStatus
    signature: TcpReassembly::ReassemblyStatus TcpReassembly::reassemblePacket(Packet&
      tcpData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tcpRawData
    argTypes:
    - RawPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: pcpp::TcpReassembly::reassemblePacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TcpReassembly::reassemblePacket
    linkageType: ''
    returnType: TcpReassembly::ReassemblyStatus
    signature: TcpReassembly::ReassemblyStatus TcpReassembly::reassemblePacket(RawPacket*
      tcpRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - missingDataLen
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: pcpp::prepareMissingDataMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string prepareMissingDataMessage(uint32_t missingDataLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:508,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:508,1
    - Dst: pcpp::TcpReassembly::closeConnectionInternal
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:518,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:522,1
    - Dst: pcpp::TcpReassembly::closeConnectionInternal
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - tcpReassemblyData
    - sideIndex
    - flowKey
    - isRst
    argTypes:
    - TcpReassemblyData*
    - int8_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 527
    functionName: pcpp::TcpReassembly::handleFinOrRst
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - pcpp::TcpReassembly::checkOutOfOrderFragments
    - pcpp::TcpReassembly::closeConnectionInternal
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: "void TcpReassembly::handleFinOrRst(TcpReassemblyData* tcpReassemblyData,
      int8_t sideIndex, uint32_t flowKey,\n\t                                   bool
      isRst)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:545,1
    - Dst: tcpFragmentList::begin
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:550,1
    - Dst: tcpFragmentList::end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:555,1
    - Dst: tcpFragmentList::getAndDetach
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:561,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:566,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:567,1
    - Dst: m_OnMessageReadyCallback
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:576,1
    - Dst: SEQ_LT
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:586,1
    - Dst: tcpFragmentList::getAndDetach
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:589,1
    - Dst: SEQ_GT
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:594,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:599,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:602,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:603,1
    - Dst: m_OnMessageReadyCallback
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:614,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:621,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:623,1
    - Dst: tcpFragmentList::size
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:641,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:646,1
    - Dst: tcpFragmentList::end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:654,1
    - Dst: tcpFragmentList::begin
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:656,1
    - Dst: tcpFragmentList::end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:657,1
    - Dst: SEQ_LT
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:660,1
    - Dst: tcpFragmentList::end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:669,1
    - Dst: tcpFragmentList::getAndDetach
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:672,1
    - Dst: prepareMissingDataMessage
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:685,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:691,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:691,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:692,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:692,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:692,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:693,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:694,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:694,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:699,1
    - Dst: m_OnMessageReadyCallback
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:701,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:703,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:704,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:707,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:711,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 3
    argNames:
    - tcpReassemblyData
    - sideIndex
    - cleanWholeFragList
    argTypes:
    - TcpReassemblyData*
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 719
    functionName: pcpp::TcpReassembly::checkOutOfOrderFragments
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 2
    functionsReached:
    - std::string::length
    - std::vector::end
    - std::vector::size
    - static_cast<int>
    - tcpFragmentList::getAndDetach
    - std::vector::insert
    - SEQ_LT
    - tcpFragmentList::size
    - SEQ_GT
    - std::string::begin
    - tcpFragmentList::end
    - PCPP_LOG_DEBUG
    - m_OnMessageReadyCallback
    - std::string::end
    - tcpFragmentList::begin
    - prepareMissingDataMessage
    - std::vector::reserve
    linkageType: ''
    returnType: void
    signature: "void TcpReassembly::checkOutOfOrderFragments(TcpReassemblyData* tcpReassemblyData,
      int8_t sideIndex,\n\t                                             bool cleanWholeFragList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpReassembly::closeConnectionInternal
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flowKey
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 724
    functionName: pcpp::TcpReassembly::closeConnection
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpReassembly::closeConnectionInternal
    linkageType: ''
    returnType: void
    signature: void TcpReassembly::closeConnection(uint32_t flowKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:728,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:729,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:731,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:741,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:743,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:744,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:746,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:747,1
    - Dst: m_OnConnEnd
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:750,1
    - Dst: pcpp::TcpReassembly::scheduleCleanup
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:753,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - flowKey
    - reason
    argTypes:
    - uint32_t
    - ConnectionEndReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 756
    functionName: pcpp::TcpReassembly::closeConnectionInternal
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 2
    functionsReached:
    - end
    - PCPP_LOG_ERROR
    - pcpp::TcpReassembly::checkOutOfOrderFragments
    - find
    - m_OnConnEnd
    - PCPP_LOG_DEBUG
    - pcpp::TcpReassembly::scheduleCleanup
    linkageType: ''
    returnType: void
    signature: void TcpReassembly::closeConnectionInternal(uint32_t flowKey, ConnectionEndReason
      reason)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:760,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:762,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:762,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:771,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:773,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:774,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:776,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:777,1
    - Dst: m_OnConnEnd
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:780,1
    - Dst: pcpp::TcpReassembly::scheduleCleanup
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:783,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:785,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 787
    functionName: pcpp::TcpReassembly::closeAllConnections
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - pcpp::TcpReassembly::checkOutOfOrderFragments
    - m_OnConnEnd
    - PCPP_LOG_DEBUG
    - pcpp::TcpReassembly::scheduleCleanup
    linkageType: ''
    returnType: void
    signature: void TcpReassembly::closeAllConnections()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:791,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' connection'
    argTypes:
    - ConnectionData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 796
    functionName: pcpp::TcpReassembly::isConnectionOpen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: int
    signature: int TcpReassembly::isConnectionOpen(const ConnectionData& connection)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:806,1
    - Dst: emplace
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flowKey
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 808
    functionName: pcpp::TcpReassembly::scheduleCleanup
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 2
    functionsReached:
    - time
    - emplace
    linkageType: ''
    returnType: void
    signature: void TcpReassembly::scheduleCleanup(uint32_t flowKey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:817,1
    - Dst: upper_bound
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:818,1
    - Dst: time
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:818,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:823,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:824,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:827,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - maxNumToClean
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: pcpp::TcpReassembly::purgeClosedConnections
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 1
    functionsReached:
    - time
    - upper_bound
    - erase
    - begin
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TcpReassembly::purgeClosedConnections(uint32_t maxNumToClean)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_since_epoch
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:27,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:29,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:31,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:32,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - std::chrono::time_point<std::chrono::high_resolution_clock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: pcpp::timePointToTimeval
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - time_since_epoch
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::chrono::seconds
    - std::chrono::duration_cast<std::chrono::seconds>
    linkageType: ''
    returnType: timeval
    signature: timeval timePointToTimeval(const std::chrono::time_point<std::chrono::high_resolution_clock>&
      in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::high_resolution_clock::duration>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:42,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:43,1
    - Dst: std::chrono::nanoseconds
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:43,1
    - Dst: std::chrono::time_point<std::chrono::high_resolution_clock>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' in'
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: pcpp::timespecToTimePoint
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::time_point<std::chrono::high_resolution_clock>
    - std::chrono::seconds
    - std::chrono::duration_cast<std::chrono::high_resolution_clock::duration>
    - std::chrono::nanoseconds
    linkageType: ''
    returnType: std::chrono::time_point<std::chrono::high_resolution_clock>
    signature: std::chrono::time_point<std::chrono::high_resolution_clock> timespecToTimePoint(const
      timespec& in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timePointToTimeval
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' startTimeValue'
    argTypes:
    - std::chrono::time_point<std::chrono::high_resolution_clock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: pcpp::ConnectionData::setStartTime
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - timePointToTimeval
    linkageType: ''
    returnType: void
    signature: void ConnectionData::setStartTime(const std::chrono::time_point<std::chrono::high_resolution_clock>&
      startTimeValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timePointToTimeval
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' endTimeValue'
    argTypes:
    - std::chrono::time_point<std::chrono::high_resolution_clock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: pcpp::ConnectionData::setEndTime
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - timePointToTimeval
    linkageType: ''
    returnType: void
    signature: void ConnectionData::setEndTime(const std::chrono::time_point<std::chrono::high_resolution_clock>&
      endTimeValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timePointToTimeval
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: pcpp::TcpStreamData::getTimeStamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - timePointToTimeval
    linkageType: ''
    returnType: timeval
    signature: timeval TcpStreamData::getTimeStamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - onMessageReadyCallback
    - userCookie
    - onConnectionStartCallback
    - onConnectionEndCallback
    - ' config'
    argTypes:
    - OnTcpMessageReady
    - void*
    - OnTcpConnectionStart
    - OnTcpConnectionEnd
    - TcpReassemblyConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: pcpp::TcpReassembly::TcpReassembly
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: "void TcpReassembly::TcpReassembly(OnTcpMessageReady onMessageReadyCallback,
      void* userCookie,\n\t                             OnTcpConnectionStart onConnectionStartCallback,\n\t
      \                            OnTcpConnectionEnd onConnectionEndCallback, const
      TcpReassemblyConfiguration& config)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:86,1
    - Dst: pcpp::TcpReassembly::purgeClosedConnections
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:88,1
    - Dst: time
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:89,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:96,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:98,1
    - Dst: IPLayer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:99,1
    - Dst: IPLayer*::getDstIPAddress
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:100,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:106,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:115,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:117,1
    - Dst: TcpLayer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:125,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:128,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:129,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:133,1
    - Dst: hash5Tuple
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:141,1
    - Dst: timespecToTimePoint
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:144,1
    - Dst: getRawPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:144,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:147,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:149,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:154,1
    - Dst: std::make_pair
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:154,1
    - Dst: TcpReassemblyData
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:154,1
    - Dst: TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:158,1
    - Dst: TcpLayer*::getDstPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:159,1
    - Dst: TcpReassemblyData*::connData::setStartTime
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:161,1
    - Dst: m_OnConnStart
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:167,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:175,1
    - Dst: TcpReassemblyData*::connData::setEndTime
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:183,1
    - Dst: setEndTime
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:184,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:192,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:197,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:218,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:243,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:251,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:260,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:264,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:265,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:273,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:275,1
    - Dst: tcpFragmentList::size
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:299,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:301,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:302,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:303,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:304,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:309,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:309,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:314,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:318,1
    - Dst: TcpLayer*::getLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:324,1
    - Dst: m_OnMessageReadyCallback
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:326,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:332,1
    - Dst: SEQ_LT
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:340,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:342,1
    - Dst: SEQ_GT
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:348,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:353,1
    - Dst: TcpLayer*::getLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:362,1
    - Dst: m_OnMessageReadyCallback
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:364,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:375,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:387,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:392,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:403,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:409,1
    - Dst: TcpLayer*::getLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:415,1
    - Dst: m_OnMessageReadyCallback
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:417,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:423,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:427,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:441,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:446,1
    - Dst: TcpFragment::TcpFragment
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:458,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:459,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:463,1
    - Dst: TcpLayer*::getLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:463,1
    - Dst: tcpFragmentList::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:464,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:466,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:467,1
    - Dst: tcpFragmentList::size
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:473,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:475,1
    - Dst: pcpp::TcpReassembly::handleFinOrRst
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:481,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 175
    argCount: 1
    argNames:
    - ' tcpData'
    argTypes:
    - Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 486
    functionName: pcpp::TcpReassembly::reassemblePacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 1
    functionsReached:
    - IPLayer*::getDstIPAddress
    - end
    - be32toh
    - TcpReassemblyData*::connData::setStartTime
    - PCPP_LOG_ERROR
    - getLayerOfType
    - m_OnConnStart
    - TcpLayer*::getSrcPort
    - TcpLayer*::getDstPort
    - TcpLayer*::getLayerPayload
    - isPacketOfType
    - pcpp::TcpReassembly::handleFinOrRst
    - SEQ_LT
    - find
    - insert
    - std::make_pair
    - PCPP_LOG_DEBUG
    - uint8_t::uint8_t
    - timespecToTimePoint
    - TcpReassemblyData*::connData::setEndTime
    - tcpFragmentList::pushBack
    - static_cast<int>
    - setEndTime
    - pcpp::TcpReassembly::purgeClosedConnections
    - TcpFragment::TcpFragment
    - memcpy
    - SEQ_GT
    - IPLayer*::getSrcIPAddress
    - getRawPacket
    - time
    - TcpLayer*::getTcpHeader
    - tcpFragmentList::size
    - pcpp::TcpReassembly::checkOutOfOrderFragments
    - TcpLayer*::getLayerPayloadSize
    - TcpReassemblyData
    - m_OnMessageReadyCallback
    - hash5Tuple
    linkageType: ''
    returnType: TcpReassembly::ReassemblyStatus
    signature: TcpReassembly::ReassemblyStatus TcpReassembly::reassemblePacket(Packet&
      tcpData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tcpRawData
    argTypes:
    - RawPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: pcpp::TcpReassembly::reassemblePacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 2
    functionsReached:
    - pcpp::TcpReassembly::reassemblePacket
    linkageType: ''
    returnType: TcpReassembly::ReassemblyStatus
    signature: TcpReassembly::ReassemblyStatus TcpReassembly::reassemblePacket(RawPacket*
      tcpRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - missingDataLen
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: pcpp::prepareMissingDataMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string prepareMissingDataMessage(uint32_t missingDataLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:508,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:508,1
    - Dst: pcpp::TcpReassembly::closeConnectionInternal
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:518,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:522,1
    - Dst: pcpp::TcpReassembly::closeConnectionInternal
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - tcpReassemblyData
    - sideIndex
    - flowKey
    - isRst
    argTypes:
    - TcpReassemblyData*
    - int8_t
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 527
    functionName: pcpp::TcpReassembly::handleFinOrRst
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - pcpp::TcpReassembly::checkOutOfOrderFragments
    - pcpp::TcpReassembly::closeConnectionInternal
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: "void TcpReassembly::handleFinOrRst(TcpReassemblyData* tcpReassemblyData,
      int8_t sideIndex, uint32_t flowKey,\n\t                                   bool
      isRst)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:545,1
    - Dst: tcpFragmentList::begin
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:550,1
    - Dst: tcpFragmentList::end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:555,1
    - Dst: tcpFragmentList::getAndDetach
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:561,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:566,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:567,1
    - Dst: m_OnMessageReadyCallback
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:576,1
    - Dst: SEQ_LT
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:586,1
    - Dst: tcpFragmentList::getAndDetach
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:589,1
    - Dst: SEQ_GT
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:594,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:599,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:602,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:603,1
    - Dst: m_OnMessageReadyCallback
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:614,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:621,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:623,1
    - Dst: tcpFragmentList::size
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:641,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:646,1
    - Dst: tcpFragmentList::end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:654,1
    - Dst: tcpFragmentList::begin
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:656,1
    - Dst: tcpFragmentList::end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:657,1
    - Dst: SEQ_LT
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:660,1
    - Dst: tcpFragmentList::end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:669,1
    - Dst: tcpFragmentList::getAndDetach
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:672,1
    - Dst: prepareMissingDataMessage
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:685,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:691,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:691,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:692,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:692,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:692,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:693,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:694,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:694,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:699,1
    - Dst: m_OnMessageReadyCallback
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:701,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:703,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:704,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:707,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:711,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 3
    argNames:
    - tcpReassemblyData
    - sideIndex
    - cleanWholeFragList
    argTypes:
    - TcpReassemblyData*
    - int8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 719
    functionName: pcpp::TcpReassembly::checkOutOfOrderFragments
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 6
    functionsReached:
    - std::string::length
    - std::vector::end
    - std::vector::size
    - static_cast<int>
    - tcpFragmentList::getAndDetach
    - std::vector::insert
    - SEQ_LT
    - tcpFragmentList::size
    - SEQ_GT
    - std::string::begin
    - tcpFragmentList::end
    - PCPP_LOG_DEBUG
    - m_OnMessageReadyCallback
    - std::string::end
    - tcpFragmentList::begin
    - prepareMissingDataMessage
    - std::vector::reserve
    linkageType: ''
    returnType: void
    signature: "void TcpReassembly::checkOutOfOrderFragments(TcpReassemblyData* tcpReassemblyData,
      int8_t sideIndex,\n\t                                             bool cleanWholeFragList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpReassembly::closeConnectionInternal
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flowKey
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 721
    functionDepth: 3
    functionLinenumber: 721
    functionLinenumberEnd: 724
    functionName: pcpp::TcpReassembly::closeConnection
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpReassembly::closeConnectionInternal
    linkageType: ''
    returnType: void
    signature: void TcpReassembly::closeConnection(uint32_t flowKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:728,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:729,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:731,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:741,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:743,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:744,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:746,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:747,1
    - Dst: m_OnConnEnd
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:750,1
    - Dst: pcpp::TcpReassembly::scheduleCleanup
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:753,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - flowKey
    - reason
    argTypes:
    - uint32_t
    - ConnectionEndReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 756
    functionName: pcpp::TcpReassembly::closeConnectionInternal
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 4
    functionsReached:
    - end
    - PCPP_LOG_ERROR
    - pcpp::TcpReassembly::checkOutOfOrderFragments
    - find
    - m_OnConnEnd
    - PCPP_LOG_DEBUG
    - pcpp::TcpReassembly::scheduleCleanup
    linkageType: ''
    returnType: void
    signature: void TcpReassembly::closeConnectionInternal(uint32_t flowKey, ConnectionEndReason
      reason)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:760,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:762,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:762,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:771,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:773,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:774,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:776,1
    - Dst: pcpp::TcpReassembly::checkOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:777,1
    - Dst: m_OnConnEnd
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:780,1
    - Dst: pcpp::TcpReassembly::scheduleCleanup
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:783,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:785,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 787
    functionName: pcpp::TcpReassembly::closeAllConnections
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - pcpp::TcpReassembly::checkOutOfOrderFragments
    - m_OnConnEnd
    - PCPP_LOG_DEBUG
    - pcpp::TcpReassembly::scheduleCleanup
    linkageType: ''
    returnType: void
    signature: void TcpReassembly::closeAllConnections()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:791,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' connection'
    argTypes:
    - ConnectionData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 796
    functionName: pcpp::TcpReassembly::isConnectionOpen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: int
    signature: int TcpReassembly::isConnectionOpen(const ConnectionData& connection)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:806,1
    - Dst: emplace
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flowKey
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 808
    functionName: pcpp::TcpReassembly::scheduleCleanup
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 4
    functionsReached:
    - time
    - emplace
    linkageType: ''
    returnType: void
    signature: void TcpReassembly::scheduleCleanup(uint32_t flowKey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:817,1
    - Dst: upper_bound
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:818,1
    - Dst: time
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:818,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:823,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:824,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:827,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp:827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - maxNumToClean
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: pcpp::TcpReassembly::purgeClosedConnections
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
    functionUses: 2
    functionsReached:
    - time
    - upper_bound
    - erase
    - begin
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t TcpReassembly::purgeClosedConnections(uint32_t maxNumToClean)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:17,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:17,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:19,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:19,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:21,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:21,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ipv4Layer
    argTypes:
    - IPv4Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 25
    functionName: pcpp::IPReassemblyHashPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - pcpp::fnvHash
    - reinterpret_cast<uint8_t*>
    - IPv4Layer*::getIPv4Header
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t IPReassemblyHashPacket(IPv4Layer* ipv4Layer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:31,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:32,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:33,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:35,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:37,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:39,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ipSrc'
    - ' ipDst'
    - ipID
    argTypes:
    - IPv4Address
    - IPv4Address
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: pcpp::IPReassemblyHashBy3Tuple
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - htobe16
    - reinterpret_cast<uint8_t*>
    - pcpp::fnvHash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t IPReassemblyHashBy3Tuple(const IPv4Address& ipSrc, const IPv4Address&
      ipDst, uint16_t ipID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: ~IPFragmentWrapper()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IPFragmentWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: pcpp::IPFragmentWrapper::IPFragmentWrapper
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPFragmentWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:73,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fragment
    argTypes:
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: pcpp::IPv4FragmentWrapper::IPv4FragmentWrapper
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - Packet*::getLayerOfType
    - Packet*::isPacketOfType
    linkageType: ''
    returnType: void
    signature: void IPv4FragmentWrapper(Packet* fragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4FragmentWrapper::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: pcpp::IPv4FragmentWrapper::isFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4FragmentWrapper::isFragment
    linkageType: ''
    returnType: bool
    signature: bool isFragment() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4FragmentWrapper::isFirstFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: pcpp::IPv4FragmentWrapper::isFirstFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4FragmentWrapper::isFirstFragment
    linkageType: ''
    returnType: bool
    signature: bool isFirstFragment() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4FragmentWrapper::isLastFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: pcpp::IPv4FragmentWrapper::isLastFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4FragmentWrapper::isLastFragment
    linkageType: ''
    returnType: bool
    signature: bool isLastFragment() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4FragmentWrapper::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: pcpp::IPv4FragmentWrapper::getFragmentOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4FragmentWrapper::getFragmentOffset
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getFragmentOffset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:100,1
    - Dst: getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pcpp::IPv4FragmentWrapper::getFragmentId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getIPv4Header
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getFragmentId() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:107,1
    - Dst: getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:107,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:109,1
    - Dst: getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:109,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:111,1
    - Dst: getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:111,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: pcpp::IPv4FragmentWrapper::hashPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getIPv4Header
    - reinterpret_cast<uint8_t*>
    - pcpp::fnvHash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hashPacket() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:119,1
    - Dst: getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:119,1
    - Dst: getSrcIPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:120,1
    - Dst: getDstIPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:120,1
    - Dst: IPReassembly::IPv4PacketKey::IPv4PacketKey
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: pcpp::IPv4FragmentWrapper::createPacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - IPReassembly::IPv4PacketKey::IPv4PacketKey
    - getDstIPv4Address
    - getIPv4Header
    - be16toh
    - getSrcIPv4Address
    linkageType: ''
    returnType: IPReassembly::PacketKey
    signature: IPReassembly::PacketKey * createPacketKey() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: pcpp::IPv4FragmentWrapper::getIPLayerPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getLayerPayload
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getIPLayerPayload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: pcpp::IPv4FragmentWrapper::getIPLayerPayloadSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getLayerPayloadSize
    linkageType: ''
    returnType: size_t
    signature: size_t getIPLayerPayloadSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: pcpp::IPv4FragmentWrapper::getIPLayerDataLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getDataLen
    linkageType: ''
    returnType: size_t
    signature: size_t getIPLayerDataLen() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:147,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:147,1
    - Dst: getExtensionOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fragment
    argTypes:
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: pcpp::IPv6FragmentWrapper::IPv6FragmentWrapper
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - Packet*::getLayerOfType
    - getExtensionOfType
    - Packet*::isPacketOfType
    linkageType: ''
    returnType: void
    signature: void IPv6FragmentWrapper(Packet* fragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: pcpp::IPv6FragmentWrapper::isFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFragment() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6FragmentWrapper::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:163,1
    - Dst: pcpp::IPv6FragmentWrapper::isFirstFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: pcpp::IPv6FragmentWrapper::isFirstFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv6FragmentWrapper::isFirstFragment
    - pcpp::IPv6FragmentWrapper::isFragment
    linkageType: ''
    returnType: bool
    signature: bool isFirstFragment() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6FragmentWrapper::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:171,1
    - Dst: pcpp::IPv6FragmentWrapper::isLastFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: pcpp::IPv6FragmentWrapper::isLastFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv6FragmentWrapper::isFragment
    - pcpp::IPv6FragmentWrapper::isLastFragment
    linkageType: ''
    returnType: bool
    signature: bool isLastFragment() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6FragmentWrapper::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:179,1
    - Dst: pcpp::IPv6FragmentWrapper::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: pcpp::IPv6FragmentWrapper::getFragmentOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv6FragmentWrapper::getFragmentOffset
    - pcpp::IPv6FragmentWrapper::isFragment
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getFragmentOffset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:187,1
    - Dst: getFragHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: pcpp::IPv6FragmentWrapper::getFragmentId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - getFragHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getFragmentId() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:197,1
    - Dst: getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:199,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:201,1
    - Dst: getFragHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:201,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: pcpp::IPv6FragmentWrapper::hashPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getIPv6Header
    - getFragHeader
    - reinterpret_cast<uint8_t*>
    - pcpp::fnvHash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hashPacket() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:209,1
    - Dst: getFragHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:209,1
    - Dst: getSrcIPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:210,1
    - Dst: getDstIPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:210,1
    - Dst: IPReassembly::IPv6PacketKey::IPv6PacketKey
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: pcpp::IPv6FragmentWrapper::createPacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getSrcIPv6Address
    - be32toh
    - IPReassembly::IPv6PacketKey::IPv6PacketKey
    - getDstIPv6Address
    - getFragHeader
    linkageType: ''
    returnType: IPReassembly::PacketKey
    signature: IPReassembly::PacketKey * createPacketKey() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: pcpp::IPv6FragmentWrapper::getIPLayerPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getLayerPayload
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getIPLayerPayload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: pcpp::IPv6FragmentWrapper::getIPLayerPayloadSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getLayerPayloadSize
    linkageType: ''
    returnType: size_t
    signature: size_t getIPLayerPayloadSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: pcpp::IPv6FragmentWrapper::getIPLayerDataLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getDataLen
    linkageType: ''
    returnType: size_t
    signature: size_t getIPLayerDataLen() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:237,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:238,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:239,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:241,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:243,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:245,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: IPReassembly::IPv4PacketKey::getHashValue() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - htobe16
    - reinterpret_cast<uint8_t*>
    - pcpp::fnvHash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t IPReassembly::IPv4PacketKey::getHashValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:255,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:258,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:259,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:265,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 269
    functionName: IPReassembly::IPv6PacketKey::getHashValue() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - pcpp::fnvHash
    - copyTo
    - reinterpret_cast<uint8_t*>
    - htobe32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t IPReassembly::IPv6PacketKey::getHashValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:274,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:276,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:277,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 279
    functionName: IPReassembly::~IPReassembly()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - empty
    - erase
    - begin
    linkageType: ''
    returnType: void
    signature: void IPReassembly::~IPReassembly()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:287,1
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:287,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:289,1
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:301,1
    - Dst: IPFragmentWrapper*::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:307,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:309,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:309,1
    - Dst: IPFragmentWrapper*::getIPLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:315,1
    - Dst: IPFragmentWrapper*::getIPLayerDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:315,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:317,1
    - Dst: IPFragmentWrapper*::hashPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:322,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:327,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:330,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:332,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:332,1
    - Dst: IPFragmentWrapper*::createPacketKey
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:336,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:336,1
    - Dst: IPFragmentData::IPFragmentData
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:336,1
    - Dst: pcpp::IPReassembly::addNewFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:339,1
    - Dst: put
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:347,1
    - Dst: IPFragmentWrapper*::isFirstFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:353,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:357,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:357,1
    - Dst: Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:364,1
    - Dst: IPFragmentWrapper*::getIPLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:365,1
    - Dst: auto::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:365,1
    - Dst: IPFragmentWrapper*::getIPLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:366,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:367,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:368,1
    - Dst: auto::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:368,1
    - Dst: auto::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:370,1
    - Dst: auto::getLinkLayerType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:371,1
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:370,1
    - Dst: IPFragmentWrapper*::getIPLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:372,1
    - Dst: pcpp::IPReassembly::matchOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:376,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:380,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:380,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:389,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:389,1
    - Dst: IPFragmentWrapper*::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:391,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:399,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:399,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:405,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:405,1
    - Dst: IPFragmentWrapper*::getIPLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:409,1
    - Dst: IPFragmentData*::data::reallocateData
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:411,1
    - Dst: IPFragmentData*::data::getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:411,1
    - Dst: IPFragmentData*::data::appendData
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:412,1
    - Dst: IPFragmentWrapper*::getIPLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:412,1
    - Dst: IPFragmentWrapper*::isLastFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:418,1
    - Dst: pcpp::IPReassembly::matchOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:422,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:427,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:427,1
    - Dst: IPFragmentWrapper*::getIPLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:433,1
    - Dst: IPFragment::IPFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:434,1
    - Dst: IPFragmentWrapper*::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:435,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:436,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:438,1
    - Dst: IPFragmentWrapper*::getIPLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:438,1
    - Dst: IPFragmentWrapper*::isLastFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:439,1
    - Dst: IPFragmentData*::outOfOrderFragments::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:442,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:449,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:449,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:459,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:459,1
    - Dst: IPFragmentData*::packetKey::getProtocolType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:464,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:467,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:468,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:469,1
    - Dst: IPv4Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:469,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:475,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:476,1
    - Dst: IPv6Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:477,1
    - Dst: Packet::Packet
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:481,1
    - Dst: IPFragmentData*::packetKey::getProtocolType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:483,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:486,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:491,1
    - Dst: IPv6Layer*::removeAllExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:492,1
    - Dst: IPv6Layer*::computeCalculateFields
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:495,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:498,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:498,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:503,1
    - Dst: eraseElement
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:504,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 96
    argCount: 4
    argNames:
    - fragment
    - ' status'
    - parseUntil
    - parseUntilLayer
    argTypes:
    - Packet*
    - ReassemblyStatus
    - ProtocolType
    - OsiModelLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 515
    functionName: pcpp::IPReassembly::processPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - IPFragmentData*::data::getRawDataLen
    - IPFragmentWrapper*::getFragmentOffset
    - IPv6Layer*::computeCalculateFields
    - end
    - IPFragment::IPFragment
    - IPFragmentWrapper*::createPacketKey
    - IPFragmentData*::outOfOrderFragments::pushBack
    - IPFragmentWrapper*::getIPLayerPayloadSize
    - IPFragmentWrapper*::isFirstFragment
    - IPFragmentData*::packetKey::getProtocolType
    - IPFragmentWrapper*::getFragmentId
    - put
    - IPFragmentWrapper*::isFragment
    - auto::getRawData
    - IPv6Layer*::getHeaderLen
    - Packet*::getRawPacket
    - IPFragmentWrapper*::isLastFragment
    - Packet::Packet
    - find
    - erase
    - PCPP_LOG_DEBUG
    - uint8_t::uint8_t
    - Packet*::isPacketOfType
    - IPFragmentWrapper*::getIPLayerDataLen
    - IPv4Layer*::getHeaderLen
    - IPv6Layer*::removeAllExtensions
    - IPFragmentData*::data::appendData
    - memcpy
    - pcpp::IPReassembly::addNewFragment
    - IPFragmentData::IPFragmentData
    - pcpp::IPReassembly::matchOutOfOrderFragments
    - RawPacket::RawPacket
    - auto::getPacketTimeStamp
    - eraseElement
    - IPv4Layer*::getIPv4Header
    - IPFragmentWrapper*::hashPacket
    - IPFragmentData*::data::reallocateData
    - Packet*::getLayerOfType
    - auto::getLinkLayerType
    - Packet::getLayerOfType
    - IPFragmentWrapper*::getIPLayerPayload
    linkageType: ''
    returnType: Packet
    signature: "Packet * IPReassembly::processPacket(Packet* fragment, ReassemblyStatus&
      status, ProtocolType parseUntil,\n\t                                    OsiModelLayer
      parseUntilLayer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Packet::Packet
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:520,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - fragment
    - ' status'
    - parseUntil
    - parseUntilLayer
    argTypes:
    - RawPacket*
    - ReassemblyStatus
    - ProtocolType
    - OsiModelLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 526
    functionName: pcpp::IPReassembly::processPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 1
    functionsReached:
    - Packet::Packet
    - pcpp::IPReassembly::processPacket
    linkageType: ''
    returnType: Packet
    signature: "Packet * IPReassembly::processPacket(RawPacket* fragment, ReassemblyStatus&
      status, ProtocolType parseUntil,\n\t                                    OsiModelLayer
      parseUntilLayer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getHashValue
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:531,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:534,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:537,1
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:545,1
    - Dst: IPFragmentData*::packetKey::getProtocolType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:548,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:551,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:552,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:552,1
    - Dst: IPv4Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:552,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:557,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:558,1
    - Dst: IPv6Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:559,1
    - Dst: Packet::Packet
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:563,1
    - Dst: getProtocolType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:566,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:568,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:569,1
    - Dst: IPv4Layer*::computeCalculateFields
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:570,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:574,1
    - Dst: IPv6Layer*::removeAllExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:575,1
    - Dst: IPv6Layer*::computeCalculateFields
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - PacketKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 584
    functionName: pcpp::IPReassembly::getCurrentPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - RawPacket::RawPacket
    - htobe16
    - IPv4Layer*::computeCalculateFields
    - IPv6Layer*::computeCalculateFields
    - IPv4Layer*::getHeaderLen
    - end
    - IPv6Layer*::getHeaderLen
    - IPv6Layer*::removeAllExtensions
    - getProtocolType
    - IPv4Layer*::getIPv4Header
    - Packet::Packet
    - find
    - getHashValue
    - Packet*::getLayerOfType
    - Packet::getLayerOfType
    - IPFragmentData*::packetKey::getProtocolType
    linkageType: ''
    returnType: Packet
    signature: Packet * IPReassembly::getCurrentPacket(const PacketKey& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getHashValue
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:589,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:592,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:595,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:599,1
    - Dst: eraseElement
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - PacketKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 604
    functionName: pcpp::IPReassembly::removePacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - eraseElement
    - end
    - find
    - getHashValue
    - erase
    linkageType: ''
    returnType: void
    signature: void IPReassembly::removePacket(const PacketKey& key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: put
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:612,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:615,1
    - Dst: IPFragmentData*::packetKey::clone
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:620,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:622,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:625,1
    - Dst: m_OnFragmentsCleanCallback
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:630,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - hash
    - fragData
    argTypes:
    - uint32_t
    - IPFragmentData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 638
    functionName: pcpp::IPReassembly::addNewFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 1
    functionsReached:
    - put
    - IPFragmentData*::packetKey::clone
    - find
    - insert
    - erase
    - PCPP_LOG_DEBUG
    - m_OnFragmentsCleanCallback
    linkageType: ''
    returnType: void
    signature: void IPReassembly::addNewFragment(uint32_t hash, IPFragmentData* fragData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:642,1
    - Dst: IPFragmentData*::outOfOrderFragments::size
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:657,1
    - Dst: IPFragmentData*::outOfOrderFragments::at
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:660,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:666,1
    - Dst: IPFragmentData*::data::reallocateData
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:670,1
    - Dst: IPFragmentData*::data::getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:670,1
    - Dst: IPFragmentData*::data::appendData
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:671,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:675,1
    - Dst: IPFragmentData*::outOfOrderFragments::erase
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:681,1
    - Dst: IPFragmentData*::outOfOrderFragments::begin
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:681,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - fragData
    argTypes:
    - IPFragmentData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 701
    functionName: pcpp::IPReassembly::matchOutOfOrderFragments
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 1
    functionsReached:
    - IPFragmentData*::outOfOrderFragments::begin
    - IPFragmentData*::outOfOrderFragments::at
    - IPFragmentData*::data::getRawDataLen
    - IPFragmentData*::outOfOrderFragments::size
    - IPFragmentData*::data::appendData
    - IPFragmentData*::data::reallocateData
    - PCPP_LOG_DEBUG
    - IPFragmentData*::outOfOrderFragments::erase
    linkageType: ''
    returnType: bool
    signature: bool IPReassembly::matchOutOfOrderFragments(IPFragmentData* fragData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:17,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:17,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:19,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:19,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:21,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:21,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ipv4Layer
    argTypes:
    - IPv4Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 25
    functionName: pcpp::IPReassemblyHashPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - pcpp::fnvHash
    - reinterpret_cast<uint8_t*>
    - IPv4Layer*::getIPv4Header
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t IPReassemblyHashPacket(IPv4Layer* ipv4Layer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:31,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:32,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:33,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:35,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:37,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:39,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' ipSrc'
    - ' ipDst'
    - ipID
    argTypes:
    - IPv4Address
    - IPv4Address
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: pcpp::IPReassemblyHashBy3Tuple
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - htobe16
    - reinterpret_cast<uint8_t*>
    - pcpp::fnvHash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t IPReassemblyHashBy3Tuple(const IPv4Address& ipSrc, const IPv4Address&
      ipDst, uint16_t ipID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: ~IPFragmentWrapper()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IPFragmentWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: pcpp::IPFragmentWrapper::IPFragmentWrapper
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPFragmentWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:73,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fragment
    argTypes:
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: pcpp::IPv4FragmentWrapper::IPv4FragmentWrapper
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - Packet*::getLayerOfType
    - Packet*::isPacketOfType
    linkageType: ''
    returnType: void
    signature: void IPv4FragmentWrapper(Packet* fragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4FragmentWrapper::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: pcpp::IPv4FragmentWrapper::isFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv4FragmentWrapper::isFragment
    linkageType: ''
    returnType: bool
    signature: bool isFragment() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4FragmentWrapper::isFirstFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: pcpp::IPv4FragmentWrapper::isFirstFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv4FragmentWrapper::isFirstFragment
    linkageType: ''
    returnType: bool
    signature: bool isFirstFragment() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4FragmentWrapper::isLastFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: pcpp::IPv4FragmentWrapper::isLastFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv4FragmentWrapper::isLastFragment
    linkageType: ''
    returnType: bool
    signature: bool isLastFragment() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4FragmentWrapper::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: pcpp::IPv4FragmentWrapper::getFragmentOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv4FragmentWrapper::getFragmentOffset
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getFragmentOffset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:100,1
    - Dst: getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pcpp::IPv4FragmentWrapper::getFragmentId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getIPv4Header
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getFragmentId() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:107,1
    - Dst: getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:107,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:109,1
    - Dst: getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:109,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:111,1
    - Dst: getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:111,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: pcpp::IPv4FragmentWrapper::hashPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getIPv4Header
    - reinterpret_cast<uint8_t*>
    - pcpp::fnvHash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hashPacket() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:119,1
    - Dst: getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:119,1
    - Dst: getSrcIPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:120,1
    - Dst: getDstIPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:120,1
    - Dst: IPReassembly::IPv4PacketKey::IPv4PacketKey
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: pcpp::IPv4FragmentWrapper::createPacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - IPReassembly::IPv4PacketKey::IPv4PacketKey
    - getDstIPv4Address
    - getIPv4Header
    - be16toh
    - getSrcIPv4Address
    linkageType: ''
    returnType: IPReassembly::PacketKey
    signature: IPReassembly::PacketKey * createPacketKey() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: pcpp::IPv4FragmentWrapper::getIPLayerPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getLayerPayload
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getIPLayerPayload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: pcpp::IPv4FragmentWrapper::getIPLayerPayloadSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getLayerPayloadSize
    linkageType: ''
    returnType: size_t
    signature: size_t getIPLayerPayloadSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: pcpp::IPv4FragmentWrapper::getIPLayerDataLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getDataLen
    linkageType: ''
    returnType: size_t
    signature: size_t getIPLayerDataLen() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:147,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:147,1
    - Dst: getExtensionOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fragment
    argTypes:
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: pcpp::IPv6FragmentWrapper::IPv6FragmentWrapper
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - Packet*::getLayerOfType
    - getExtensionOfType
    - Packet*::isPacketOfType
    linkageType: ''
    returnType: void
    signature: void IPv6FragmentWrapper(Packet* fragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: pcpp::IPv6FragmentWrapper::isFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFragment() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6FragmentWrapper::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:163,1
    - Dst: pcpp::IPv6FragmentWrapper::isFirstFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: pcpp::IPv6FragmentWrapper::isFirstFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv6FragmentWrapper::isFirstFragment
    - pcpp::IPv6FragmentWrapper::isFragment
    linkageType: ''
    returnType: bool
    signature: bool isFirstFragment() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6FragmentWrapper::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:171,1
    - Dst: pcpp::IPv6FragmentWrapper::isLastFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: pcpp::IPv6FragmentWrapper::isLastFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv6FragmentWrapper::isFragment
    - pcpp::IPv6FragmentWrapper::isLastFragment
    linkageType: ''
    returnType: bool
    signature: bool isLastFragment() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6FragmentWrapper::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:179,1
    - Dst: pcpp::IPv6FragmentWrapper::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: pcpp::IPv6FragmentWrapper::getFragmentOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv6FragmentWrapper::getFragmentOffset
    - pcpp::IPv6FragmentWrapper::isFragment
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getFragmentOffset() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:187,1
    - Dst: getFragHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: pcpp::IPv6FragmentWrapper::getFragmentId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - getFragHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getFragmentId() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:197,1
    - Dst: getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:199,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:201,1
    - Dst: getFragHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:201,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: pcpp::IPv6FragmentWrapper::hashPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getIPv6Header
    - getFragHeader
    - reinterpret_cast<uint8_t*>
    - pcpp::fnvHash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hashPacket() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:209,1
    - Dst: getFragHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:209,1
    - Dst: getSrcIPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:210,1
    - Dst: getDstIPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:210,1
    - Dst: IPReassembly::IPv6PacketKey::IPv6PacketKey
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: pcpp::IPv6FragmentWrapper::createPacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getSrcIPv6Address
    - be32toh
    - IPReassembly::IPv6PacketKey::IPv6PacketKey
    - getDstIPv6Address
    - getFragHeader
    linkageType: ''
    returnType: IPReassembly::PacketKey
    signature: IPReassembly::PacketKey * createPacketKey() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: pcpp::IPv6FragmentWrapper::getIPLayerPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getLayerPayload
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getIPLayerPayload() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: pcpp::IPv6FragmentWrapper::getIPLayerPayloadSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getLayerPayloadSize
    linkageType: ''
    returnType: size_t
    signature: size_t getIPLayerPayloadSize() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: pcpp::IPv6FragmentWrapper::getIPLayerDataLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - getDataLen
    linkageType: ''
    returnType: size_t
    signature: size_t getIPLayerDataLen() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:237,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:238,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:239,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:241,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:243,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:245,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: IPReassembly::IPv4PacketKey::getHashValue() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - htobe16
    - reinterpret_cast<uint8_t*>
    - pcpp::fnvHash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t IPReassembly::IPv4PacketKey::getHashValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:255,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:258,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:259,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:265,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 269
    functionName: IPReassembly::IPv6PacketKey::getHashValue() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - pcpp::fnvHash
    - copyTo
    - reinterpret_cast<uint8_t*>
    - htobe32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t IPReassembly::IPv6PacketKey::getHashValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:274,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:276,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:277,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 279
    functionName: IPReassembly::~IPReassembly()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - empty
    - erase
    - begin
    linkageType: ''
    returnType: void
    signature: void IPReassembly::~IPReassembly()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:287,1
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:287,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:289,1
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:301,1
    - Dst: IPFragmentWrapper*::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:307,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:309,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:309,1
    - Dst: IPFragmentWrapper*::getIPLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:315,1
    - Dst: IPFragmentWrapper*::getIPLayerDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:315,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:317,1
    - Dst: IPFragmentWrapper*::hashPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:322,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:327,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:330,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:332,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:332,1
    - Dst: IPFragmentWrapper*::createPacketKey
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:336,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:336,1
    - Dst: IPFragmentData::IPFragmentData
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:336,1
    - Dst: pcpp::IPReassembly::addNewFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:339,1
    - Dst: put
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:347,1
    - Dst: IPFragmentWrapper*::isFirstFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:353,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:357,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:357,1
    - Dst: Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:364,1
    - Dst: IPFragmentWrapper*::getIPLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:365,1
    - Dst: auto::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:365,1
    - Dst: IPFragmentWrapper*::getIPLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:366,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:367,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:368,1
    - Dst: auto::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:368,1
    - Dst: auto::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:370,1
    - Dst: auto::getLinkLayerType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:371,1
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:370,1
    - Dst: IPFragmentWrapper*::getIPLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:372,1
    - Dst: pcpp::IPReassembly::matchOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:376,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:380,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:380,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:389,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:389,1
    - Dst: IPFragmentWrapper*::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:391,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:399,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:399,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:405,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:405,1
    - Dst: IPFragmentWrapper*::getIPLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:409,1
    - Dst: IPFragmentData*::data::reallocateData
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:411,1
    - Dst: IPFragmentData*::data::getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:411,1
    - Dst: IPFragmentData*::data::appendData
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:412,1
    - Dst: IPFragmentWrapper*::getIPLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:412,1
    - Dst: IPFragmentWrapper*::isLastFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:418,1
    - Dst: pcpp::IPReassembly::matchOutOfOrderFragments
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:422,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:427,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:427,1
    - Dst: IPFragmentWrapper*::getIPLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:433,1
    - Dst: IPFragment::IPFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:434,1
    - Dst: IPFragmentWrapper*::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:435,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:436,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:438,1
    - Dst: IPFragmentWrapper*::getIPLayerPayload
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:438,1
    - Dst: IPFragmentWrapper*::isLastFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:439,1
    - Dst: IPFragmentData*::outOfOrderFragments::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:442,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:449,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:449,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:459,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:459,1
    - Dst: IPFragmentData*::packetKey::getProtocolType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:464,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:467,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:468,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:469,1
    - Dst: IPv4Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:469,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:475,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:476,1
    - Dst: IPv6Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:477,1
    - Dst: Packet::Packet
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:481,1
    - Dst: IPFragmentData*::packetKey::getProtocolType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:483,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:486,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:491,1
    - Dst: IPv6Layer*::removeAllExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:492,1
    - Dst: IPv6Layer*::computeCalculateFields
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:495,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:498,1
    - Dst: IPFragmentWrapper*::getFragmentId
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:498,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:503,1
    - Dst: eraseElement
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:504,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 96
    argCount: 4
    argNames:
    - fragment
    - ' status'
    - parseUntil
    - parseUntilLayer
    argTypes:
    - Packet*
    - ReassemblyStatus
    - ProtocolType
    - OsiModelLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 515
    functionName: pcpp::IPReassembly::processPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - IPFragmentData*::data::getRawDataLen
    - IPFragmentWrapper*::getFragmentOffset
    - IPv6Layer*::computeCalculateFields
    - end
    - IPFragment::IPFragment
    - IPFragmentWrapper*::createPacketKey
    - IPFragmentData*::outOfOrderFragments::pushBack
    - IPFragmentWrapper*::getIPLayerPayloadSize
    - IPFragmentWrapper*::isFirstFragment
    - IPFragmentData*::packetKey::getProtocolType
    - IPFragmentWrapper*::getFragmentId
    - put
    - IPFragmentWrapper*::isFragment
    - auto::getRawData
    - IPv6Layer*::getHeaderLen
    - Packet*::getRawPacket
    - IPFragmentWrapper*::isLastFragment
    - Packet::Packet
    - find
    - erase
    - PCPP_LOG_DEBUG
    - uint8_t::uint8_t
    - Packet*::isPacketOfType
    - IPFragmentWrapper*::getIPLayerDataLen
    - IPv4Layer*::getHeaderLen
    - IPv6Layer*::removeAllExtensions
    - IPFragmentData*::data::appendData
    - memcpy
    - pcpp::IPReassembly::addNewFragment
    - IPFragmentData::IPFragmentData
    - pcpp::IPReassembly::matchOutOfOrderFragments
    - RawPacket::RawPacket
    - auto::getPacketTimeStamp
    - eraseElement
    - IPv4Layer*::getIPv4Header
    - IPFragmentWrapper*::hashPacket
    - IPFragmentData*::data::reallocateData
    - Packet*::getLayerOfType
    - auto::getLinkLayerType
    - Packet::getLayerOfType
    - IPFragmentWrapper*::getIPLayerPayload
    linkageType: ''
    returnType: Packet
    signature: "Packet * IPReassembly::processPacket(Packet* fragment, ReassemblyStatus&
      status, ProtocolType parseUntil,\n\t                                    OsiModelLayer
      parseUntilLayer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Packet::Packet
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:520,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - fragment
    - ' status'
    - parseUntil
    - parseUntilLayer
    argTypes:
    - RawPacket*
    - ReassemblyStatus
    - ProtocolType
    - OsiModelLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 526
    functionName: pcpp::IPReassembly::processPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 2
    functionsReached:
    - Packet::Packet
    - pcpp::IPReassembly::processPacket
    linkageType: ''
    returnType: Packet
    signature: "Packet * IPReassembly::processPacket(RawPacket* fragment, ReassemblyStatus&
      status, ProtocolType parseUntil,\n\t                                    OsiModelLayer
      parseUntilLayer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getHashValue
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:531,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:534,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:537,1
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:545,1
    - Dst: IPFragmentData*::packetKey::getProtocolType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:548,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:551,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:552,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:552,1
    - Dst: IPv4Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:552,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:557,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:558,1
    - Dst: IPv6Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:559,1
    - Dst: Packet::Packet
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:563,1
    - Dst: getProtocolType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:566,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:568,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:569,1
    - Dst: IPv4Layer*::computeCalculateFields
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:570,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:574,1
    - Dst: IPv6Layer*::removeAllExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:575,1
    - Dst: IPv6Layer*::computeCalculateFields
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - PacketKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 584
    functionName: pcpp::IPReassembly::getCurrentPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - RawPacket::RawPacket
    - htobe16
    - IPv4Layer*::computeCalculateFields
    - IPv6Layer*::computeCalculateFields
    - IPv4Layer*::getHeaderLen
    - end
    - IPv6Layer*::getHeaderLen
    - IPv6Layer*::removeAllExtensions
    - getProtocolType
    - IPv4Layer*::getIPv4Header
    - Packet::Packet
    - find
    - getHashValue
    - Packet*::getLayerOfType
    - Packet::getLayerOfType
    - IPFragmentData*::packetKey::getProtocolType
    linkageType: ''
    returnType: Packet
    signature: Packet * IPReassembly::getCurrentPacket(const PacketKey& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getHashValue
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:589,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:592,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:595,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:599,1
    - Dst: eraseElement
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - PacketKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 604
    functionName: pcpp::IPReassembly::removePacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 0
    functionsReached:
    - eraseElement
    - end
    - find
    - getHashValue
    - erase
    linkageType: ''
    returnType: void
    signature: void IPReassembly::removePacket(const PacketKey& key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: put
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:612,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:615,1
    - Dst: IPFragmentData*::packetKey::clone
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:620,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:622,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:625,1
    - Dst: m_OnFragmentsCleanCallback
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:630,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - hash
    - fragData
    argTypes:
    - uint32_t
    - IPFragmentData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 638
    functionName: pcpp::IPReassembly::addNewFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 2
    functionsReached:
    - put
    - IPFragmentData*::packetKey::clone
    - find
    - insert
    - erase
    - PCPP_LOG_DEBUG
    - m_OnFragmentsCleanCallback
    linkageType: ''
    returnType: void
    signature: void IPReassembly::addNewFragment(uint32_t hash, IPFragmentData* fragData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:642,1
    - Dst: IPFragmentData*::outOfOrderFragments::size
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:657,1
    - Dst: IPFragmentData*::outOfOrderFragments::at
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:660,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:666,1
    - Dst: IPFragmentData*::data::reallocateData
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:670,1
    - Dst: IPFragmentData*::data::getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:670,1
    - Dst: IPFragmentData*::data::appendData
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:671,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:675,1
    - Dst: IPFragmentData*::outOfOrderFragments::erase
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:681,1
    - Dst: IPFragmentData*::outOfOrderFragments::begin
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:681,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp:694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - fragData
    argTypes:
    - IPFragmentData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 701
    functionName: pcpp::IPReassembly::matchOutOfOrderFragments
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
    functionUses: 2
    functionsReached:
    - IPFragmentData*::outOfOrderFragments::begin
    - IPFragmentData*::outOfOrderFragments::at
    - IPFragmentData*::data::getRawDataLen
    - IPFragmentData*::outOfOrderFragments::size
    - IPFragmentData*::data::appendData
    - IPFragmentData*::data::reallocateData
    - PCPP_LOG_DEBUG
    - IPFragmentData*::outOfOrderFragments::erase
    linkageType: ''
    returnType: bool
    signature: bool IPReassembly::matchOutOfOrderFragments(IPFragmentData* fragData)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - maxlen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: pcpp::tbp_my_own_strnlen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tbp_my_own_strnlen(const char* s, size_t maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - protocol
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: pcpp::TextBasedProtocolMessage::TextBasedProtocolMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TextBasedProtocolMessage::TextBasedProtocolMessage(uint8_t* data,
      size_t dataLen, Layer* prevLayer, Packet* packet,\n\t                                                   ProtocolType
      protocol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::copyDataFrom
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TextBasedProtocolMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::TextBasedProtocolMessage::TextBasedProtocolMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TextBasedProtocolMessage::copyDataFrom
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::TextBasedProtocolMessage(const TextBasedProtocolMessage&
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layer::operator=
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:38,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:43,1
    - Dst: copyDataFrom
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TextBasedProtocolMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: '& TextBasedProtocolMessage::operator=(const TextBasedProtocolMessage&
      other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - HeaderField*::getNextField
    - copyDataFrom
    - Layer::operator=
    linkageType: ''
    returnType: TextBasedProtocolMessage
    signature: TextBasedProtocolMessage & TextBasedProtocolMessage::operator=(const
      TextBasedProtocolMessage& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HeaderField::HeaderField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:57,1
    - Dst: HeaderField*::attachToTextBasedProtocolMessage
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:59,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:61,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:63,1
    - Dst: HeaderField::HeaderField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:63,1
    - Dst: HeaderField*::attachToTextBasedProtocolMessage
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:64,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:64,1
    - Dst: HeaderField*::setNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:65,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:66,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:67,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:81,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:83,1
    - Dst: std::pair<std::string, HeaderField*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:83,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TextBasedProtocolMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 85
    functionName: pcpp::TextBasedProtocolMessage::copyDataFrom
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 1
    functionsReached:
    - HeaderField*::getFieldName
    - HeaderField*::setNextField
    - std::pair<std::string, HeaderField*>
    - HeaderField*::attachToTextBasedProtocolMessage
    - HeaderField*::getNextField
    - insert
    - HeaderField::HeaderField
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::copyDataFrom(const TextBasedProtocolMessage&
      other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderFieldNameValueSeparator
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:89,1
    - Dst: spacesAllowedBetweenHeaderFieldNameAndValue
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:90,1
    - Dst: HeaderField::HeaderField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:93,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:94,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:94,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:96,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:97,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:97,1
    - Dst: setNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:102,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:104,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:105,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:105,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:105,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:105,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:106,1
    - Dst: std::pair<std::string, HeaderField*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:106,1
    - Dst: HeaderField*::isEndOfHeader
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:114,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:114,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:116,1
    - Dst: HeaderField::HeaderField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:118,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:119,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:121,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:121,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:123,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:124,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:124,1
    - Dst: HeaderField*::setNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:125,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:127,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:128,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:128,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:128,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:128,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:129,1
    - Dst: std::pair<std::string, HeaderField*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 139
    functionName: pcpp::TextBasedProtocolMessage::parseFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - HeaderField*::getFieldName
    - HeaderField*::getFieldSize
    - HeaderField*::setNextField
    - getHeaderFieldNameValueSeparator
    - std::pair<std::string, HeaderField*>
    - std::transform
    - std::string::begin
    - insert
    - PCPP_LOG_DEBUG
    - setNextField
    - HeaderField*::isEndOfHeader
    - spacesAllowedBetweenHeaderFieldNameAndValue
    - std::string::end
    - HeaderField*::getFieldValue
    - HeaderField::HeaderField
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::parseFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: TextBasedProtocolMessage::~TextBasedProtocolMessage()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - getNextField
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::~TextBasedProtocolMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::addField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fieldName'
    - ' fieldValue'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: pcpp::TextBasedProtocolMessage::addField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TextBasedProtocolMessage::addField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * TextBasedProtocolMessage::addField(const std::string&
      fieldName, const std::string& fieldValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::insertField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newField'
    argTypes:
    - HeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: pcpp::TextBasedProtocolMessage::addField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TextBasedProtocolMessage::insertField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * TextBasedProtocolMessage::addField(const HeaderField&
      newField)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::insertField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: pcpp::TextBasedProtocolMessage::addEndOfHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TextBasedProtocolMessage::insertField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * TextBasedProtocolMessage::addEndOfHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::insertField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prevField
    - ' fieldName'
    - ' fieldValue'
    argTypes:
    - HeaderField*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: pcpp::TextBasedProtocolMessage::insertField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 3
    functionsReached:
    - pcpp::TextBasedProtocolMessage::insertField
    linkageType: ''
    returnType: HeaderField
    signature: "HeaderField * TextBasedProtocolMessage::insertField(HeaderField* prevField,
      const std::string& fieldName,\n\t                                                   const
      std::string& fieldValue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::insertField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:182,1
    - Dst: pcpp::TextBasedProtocolMessage::getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:186,1
    - Dst: pcpp::TextBasedProtocolMessage::insertField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - prevFieldName
    - ' fieldName'
    - ' fieldValue'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: pcpp::TextBasedProtocolMessage::insertField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 4
    functionsReached:
    - pcpp::TextBasedProtocolMessage::insertField
    - pcpp::TextBasedProtocolMessage::getFieldByName
    linkageType: ''
    returnType: HeaderField
    signature: "HeaderField * TextBasedProtocolMessage::insertField(std::string prevFieldName,
      const std::string& fieldName,\n\t                                                   const
      std::string& fieldValue)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:198,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:202,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:204,1
    - Dst: HeaderField::HeaderField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:208,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:212,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:215,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:215,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:217,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:224,1
    - Dst: pcpp::TextBasedProtocolMessage::shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:227,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:227,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:230,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:230,1
    - Dst: HeaderField*::attachToTextBasedProtocolMessage
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:233,1
    - Dst: HeaderField*::setNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:238,1
    - Dst: HeaderField*::setNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:243,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:243,1
    - Dst: HeaderField*::setNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:244,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:248,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:252,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:253,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:253,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:253,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:253,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:254,1
    - Dst: std::pair<std::string, HeaderField*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:254,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - prevField
    - ' newField'
    argTypes:
    - HeaderField*
    - HeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 257
    functionName: pcpp::TextBasedProtocolMessage::insertField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 4
    functionsReached:
    - extendLayer
    - HeaderField*::getFieldName
    - HeaderField*::getFieldSize
    - HeaderField*::setNextField
    - std::pair<std::string, HeaderField*>
    - pcpp::TextBasedProtocolMessage::shiftFieldsOffset
    - PCPP_LOG_ERROR
    - memcpy
    - HeaderField*::getNextField
    - HeaderField*::attachToTextBasedProtocolMessage
    - std::transform
    - std::string::begin
    - insert
    - std::string::end
    - HeaderField::HeaderField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * TextBasedProtocolMessage::insertField(HeaderField* prevField,
      const HeaderField& newField)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:261,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:261,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:261,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:261,1
    - Dst: equal_range
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:265,1
    - Dst: pcpp::TextBasedProtocolMessage::removeField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:279,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - fieldName
    - index
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 285
    functionName: pcpp::TextBasedProtocolMessage::removeField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 1
    functionsReached:
    - PCPP_LOG_ERROR
    - pcpp::TextBasedProtocolMessage::removeField
    - equal_range
    - std::transform
    - std::string::begin
    - std::string::end
    linkageType: ''
    returnType: bool
    signature: bool TextBasedProtocolMessage::removeField(std::string fieldName, int
      index)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:294,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:298,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:301,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:301,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:303,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:308,1
    - Dst: pcpp::TextBasedProtocolMessage::shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:309,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:309,1
    - Dst: pcpp::TextBasedProtocolMessage::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:313,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:317,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:318,1
    - Dst: HeaderField*::setNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:320,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:320,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:331,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:332,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:338,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:338,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:338,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:338,1
    - Dst: equal_range
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:339,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:344,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - fieldToRemove
    argTypes:
    - HeaderField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 353
    functionName: pcpp::TextBasedProtocolMessage::removeField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 1
    functionsReached:
    - HeaderField*::getFieldName
    - HeaderField*::getFieldSize
    - HeaderField*::setNextField
    - pcpp::TextBasedProtocolMessage::getNextField
    - pcpp::TextBasedProtocolMessage::shiftFieldsOffset
    - PCPP_LOG_ERROR
    - HeaderField*::getNextField
    - equal_range
    - shortenLayer
    - std::transform
    - std::string::begin
    - erase
    - std::string::end
    linkageType: ''
    returnType: bool
    signature: bool TextBasedProtocolMessage::removeField(HeaderField* fieldToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: pcpp::TextBasedProtocolMessage::isHeaderComplete
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - getFieldName
    linkageType: ''
    returnType: bool
    signature: bool TextBasedProtocolMessage::isHeaderComplete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::validateFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fieldsOffset
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: pcpp::TextBasedProtocolMessage::setFieldsOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TextBasedProtocolMessage::validateFieldsOffset
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::setFieldsOffset(int fieldsOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::validateFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:372,1
    - Dst: pcpp::TextBasedProtocolMessage::shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - numOfBytesToShift
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: pcpp::TextBasedProtocolMessage::shiftFieldsOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 3
    functionsReached:
    - pcpp::TextBasedProtocolMessage::shiftFieldsOffset
    - pcpp::TextBasedProtocolMessage::validateFieldsOffset
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::shiftFieldsOffset(int numOfBytesToShift)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - fromField
    - numOfBytesToShift
    argTypes:
    - HeaderField*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 386
    functionName: pcpp::TextBasedProtocolMessage::shiftFieldsOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 3
    functionsReached:
    - HeaderField*::getNextField
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::shiftFieldsOffset(HeaderField* fromField,
      int numOfBytesToShift)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:390,1
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: pcpp::TextBasedProtocolMessage::validateFieldsOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - std::out_of_range
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::validateFieldsOffset(int offset) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:397,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:397,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:397,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:397,1
    - Dst: equal_range
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fieldName
    - index
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 410
    functionName: pcpp::TextBasedProtocolMessage::getFieldByName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 1
    functionsReached:
    - std::string::end
    - equal_range
    - std::transform
    - std::string::begin
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * TextBasedProtocolMessage::getFieldByName(std::string
      fieldName, int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::getFirstField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:416,1
    - Dst: HeaderField*::isEndOfHeader
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:419,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 425
    functionName: pcpp::TextBasedProtocolMessage::getFieldCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - HeaderField*::isEndOfHeader
    - pcpp::TextBasedProtocolMessage::getFirstField
    - HeaderField*::getNextField
    linkageType: ''
    returnType: int
    signature: int TextBasedProtocolMessage::getFieldCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:429,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 434
    functionName: pcpp::TextBasedProtocolMessage::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TextBasedProtocolMessage::getHeaderLen
    - constructNextLayer<PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: pcpp::TextBasedProtocolMessage::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TextBasedProtocolMessage::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: pcpp::TextBasedProtocolMessage::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::computeCalculateFields()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:454,1
    - Dst: static_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:455,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:455,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:456,1
    - Dst: tbp_my_own_strnlen
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:458,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:459,1
    - Dst: static_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:475,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:476,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:477,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:493,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:493,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:494,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:506,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:506,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:507,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:515,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:515,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:516,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:523,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:529,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:529,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 4
    argNames:
    - TextBasedProtocolMessage
    - offsetInMessage
    - nameValueSeparator
    - spacesAllowedBetweenNameAndValue
    argTypes:
    - TextBasedProtocolMessage*
    - int
    - char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 541
    functionName: pcpp::HeaderField::HeaderField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - tbp_my_own_strnlen
    - getDataLen
    - static_cast<size_t>
    - static_cast<char*>
    - memchr
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: "void HeaderField::HeaderField(TextBasedProtocolMessage* TextBasedProtocolMessage,
      int offsetInMessage,\n\t                         char nameValueSeparator, bool
      spacesAllowedBetweenNameAndValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HeaderField::initNewField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' name'
    - ' value'
    - nameValueSeparator
    - spacesAllowedBetweenNameAndValue
    argTypes:
    - std::string
    - std::string
    - char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 549
    functionName: pcpp::HeaderField::HeaderField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::HeaderField::initNewField
    linkageType: ''
    returnType: void
    signature: "void HeaderField::HeaderField(const std::string& name, const std::string&
      value, char nameValueSeparator,\n\t                         bool spacesAllowedBetweenNameAndValue)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:564,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:564,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:564,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:569,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:578,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:578,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:582,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:582,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:585,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 592
    functionName: pcpp::HeaderField::initNewField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 1
    functionsReached:
    - std::string::length
    - length
    - memcpy
    - std::string::c_str
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void HeaderField::initNewField(const std::string& name, const std::string&
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: HeaderField::~HeaderField()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderField::~HeaderField()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HeaderField::initNewField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:605,1
    - Dst: pcpp::HeaderField::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:605,1
    - Dst: pcpp::HeaderField::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: pcpp::HeaderField::HeaderField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::HeaderField::getFieldValue
    - pcpp::HeaderField::initNewField
    - pcpp::HeaderField::getFieldName
    linkageType: ''
    returnType: void
    signature: void HeaderField::HeaderField(const HeaderField& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initNewField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:614,1
    - Dst: getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:614,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: '& HeaderField::operator=(const HeaderField& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - getFieldValue
    - initNewField
    - getFieldName
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField & HeaderField::operator=(const HeaderField& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:622,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 625
    functionName: pcpp::HeaderField::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: char
    signature: char * HeaderField::getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nextField
    argTypes:
    - HeaderField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: pcpp::HeaderField::setNextField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderField::setNextField(HeaderField* nextField)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 635
    functionName: pcpp::HeaderField::getNextField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * HeaderField::getNextField() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:641,1
    - Dst: std::string::assign
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:642,1
    - Dst: pcpp::HeaderField::getData
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 645
    functionName: pcpp::HeaderField::getFieldName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - pcpp::HeaderField::getData
    - std::string::assign
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderField::getFieldName() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:651,1
    - Dst: pcpp::HeaderField::getData
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 653
    functionName: pcpp::HeaderField::getFieldValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 1
    functionsReached:
    - pcpp::HeaderField::getData
    - std::string::assign
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderField::getFieldValue() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HeaderField::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:660,1
    - Dst: pcpp::HeaderField::initNewField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:662,1
    - Dst: pcpp::HeaderField::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:666,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:667,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:667,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:671,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:673,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:680,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:682,1
    - Dst: shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:688,1
    - Dst: pcpp::HeaderField::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:688,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:695,1
    - Dst: pcpp::HeaderField::getData
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:695,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:695,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:695,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' newValue'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 698
    functionName: pcpp::HeaderField::setFieldValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::HeaderField::getFieldValue
    - extendLayer
    - std::string::length
    - shiftFieldsOffset
    - pcpp::HeaderField::getNextField
    - length
    - PCPP_LOG_ERROR
    - memcpy
    - shortenLayer
    - pcpp::HeaderField::getData
    - pcpp::HeaderField::initNewField
    - c_str
    - pcpp::HeaderField::getFieldName
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::setFieldValue(const std::string& newValue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:704,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - message
    - fieldOffsetInMessage
    argTypes:
    - TextBasedProtocolMessage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 721
    functionName: pcpp::HeaderField::attachToTextBasedProtocolMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void HeaderField::attachToTextBasedProtocolMessage(TextBasedProtocolMessage*
      message, int fieldOffsetInMessage)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - maxlen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: pcpp::tbp_my_own_strnlen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t tbp_my_own_strnlen(const char* s, size_t maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - protocol
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: pcpp::TextBasedProtocolMessage::TextBasedProtocolMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TextBasedProtocolMessage::TextBasedProtocolMessage(uint8_t* data,
      size_t dataLen, Layer* prevLayer, Packet* packet,\n\t                                                   ProtocolType
      protocol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::copyDataFrom
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TextBasedProtocolMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::TextBasedProtocolMessage::TextBasedProtocolMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TextBasedProtocolMessage::copyDataFrom
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::TextBasedProtocolMessage(const TextBasedProtocolMessage&
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layer::operator=
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:38,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:43,1
    - Dst: copyDataFrom
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TextBasedProtocolMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: '& TextBasedProtocolMessage::operator=(const TextBasedProtocolMessage&
      other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - HeaderField*::getNextField
    - copyDataFrom
    - Layer::operator=
    linkageType: ''
    returnType: TextBasedProtocolMessage
    signature: TextBasedProtocolMessage & TextBasedProtocolMessage::operator=(const
      TextBasedProtocolMessage& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HeaderField::HeaderField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:57,1
    - Dst: HeaderField*::attachToTextBasedProtocolMessage
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:59,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:61,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:63,1
    - Dst: HeaderField::HeaderField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:63,1
    - Dst: HeaderField*::attachToTextBasedProtocolMessage
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:64,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:64,1
    - Dst: HeaderField*::setNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:65,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:66,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:67,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:81,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:83,1
    - Dst: std::pair<std::string, HeaderField*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:83,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TextBasedProtocolMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 85
    functionName: pcpp::TextBasedProtocolMessage::copyDataFrom
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 2
    functionsReached:
    - HeaderField*::getFieldName
    - HeaderField*::setNextField
    - std::pair<std::string, HeaderField*>
    - HeaderField*::attachToTextBasedProtocolMessage
    - HeaderField*::getNextField
    - insert
    - HeaderField::HeaderField
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::copyDataFrom(const TextBasedProtocolMessage&
      other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderFieldNameValueSeparator
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:89,1
    - Dst: spacesAllowedBetweenHeaderFieldNameAndValue
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:90,1
    - Dst: HeaderField::HeaderField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:93,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:94,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:94,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:96,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:97,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:97,1
    - Dst: setNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:102,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:104,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:105,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:105,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:105,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:105,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:106,1
    - Dst: std::pair<std::string, HeaderField*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:106,1
    - Dst: HeaderField*::isEndOfHeader
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:114,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:114,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:116,1
    - Dst: HeaderField::HeaderField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:118,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:119,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:121,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:121,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:123,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:124,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:124,1
    - Dst: HeaderField*::setNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:125,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:127,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:128,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:128,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:128,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:128,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:129,1
    - Dst: std::pair<std::string, HeaderField*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 139
    functionName: pcpp::TextBasedProtocolMessage::parseFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - HeaderField*::getFieldName
    - HeaderField*::getFieldSize
    - HeaderField*::setNextField
    - getHeaderFieldNameValueSeparator
    - std::pair<std::string, HeaderField*>
    - std::transform
    - std::string::begin
    - insert
    - PCPP_LOG_DEBUG
    - setNextField
    - HeaderField*::isEndOfHeader
    - spacesAllowedBetweenHeaderFieldNameAndValue
    - std::string::end
    - HeaderField*::getFieldValue
    - HeaderField::HeaderField
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::parseFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: TextBasedProtocolMessage::~TextBasedProtocolMessage()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - getNextField
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::~TextBasedProtocolMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::addField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' fieldName'
    - ' fieldValue'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: pcpp::TextBasedProtocolMessage::addField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 2
    functionsReached:
    - pcpp::TextBasedProtocolMessage::addField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * TextBasedProtocolMessage::addField(const std::string&
      fieldName, const std::string& fieldValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::insertField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' newField'
    argTypes:
    - HeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: pcpp::TextBasedProtocolMessage::addField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 2
    functionsReached:
    - pcpp::TextBasedProtocolMessage::insertField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * TextBasedProtocolMessage::addField(const HeaderField&
      newField)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::insertField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: pcpp::TextBasedProtocolMessage::addEndOfHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TextBasedProtocolMessage::insertField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * TextBasedProtocolMessage::addEndOfHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::insertField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prevField
    - ' fieldName'
    - ' fieldValue'
    argTypes:
    - HeaderField*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: pcpp::TextBasedProtocolMessage::insertField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 7
    functionsReached:
    - pcpp::TextBasedProtocolMessage::insertField
    linkageType: ''
    returnType: HeaderField
    signature: "HeaderField * TextBasedProtocolMessage::insertField(HeaderField* prevField,
      const std::string& fieldName,\n\t                                                   const
      std::string& fieldValue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::insertField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:182,1
    - Dst: pcpp::TextBasedProtocolMessage::getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:186,1
    - Dst: pcpp::TextBasedProtocolMessage::insertField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - prevFieldName
    - ' fieldName'
    - ' fieldValue'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: pcpp::TextBasedProtocolMessage::insertField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 8
    functionsReached:
    - pcpp::TextBasedProtocolMessage::insertField
    - pcpp::TextBasedProtocolMessage::getFieldByName
    linkageType: ''
    returnType: HeaderField
    signature: "HeaderField * TextBasedProtocolMessage::insertField(std::string prevFieldName,
      const std::string& fieldName,\n\t                                                   const
      std::string& fieldValue)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:198,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:202,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:204,1
    - Dst: HeaderField::HeaderField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:208,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:212,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:215,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:215,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:217,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:224,1
    - Dst: pcpp::TextBasedProtocolMessage::shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:227,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:227,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:230,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:230,1
    - Dst: HeaderField*::attachToTextBasedProtocolMessage
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:233,1
    - Dst: HeaderField*::setNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:238,1
    - Dst: HeaderField*::setNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:243,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:243,1
    - Dst: HeaderField*::setNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:244,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:248,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:252,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:253,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:253,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:253,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:253,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:254,1
    - Dst: std::pair<std::string, HeaderField*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:254,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - prevField
    - ' newField'
    argTypes:
    - HeaderField*
    - HeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 257
    functionName: pcpp::TextBasedProtocolMessage::insertField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 8
    functionsReached:
    - extendLayer
    - HeaderField*::getFieldName
    - HeaderField*::getFieldSize
    - HeaderField*::setNextField
    - std::pair<std::string, HeaderField*>
    - pcpp::TextBasedProtocolMessage::shiftFieldsOffset
    - PCPP_LOG_ERROR
    - memcpy
    - HeaderField*::getNextField
    - HeaderField*::attachToTextBasedProtocolMessage
    - std::transform
    - std::string::begin
    - insert
    - std::string::end
    - HeaderField::HeaderField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * TextBasedProtocolMessage::insertField(HeaderField* prevField,
      const HeaderField& newField)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:261,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:261,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:261,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:261,1
    - Dst: equal_range
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:265,1
    - Dst: pcpp::TextBasedProtocolMessage::removeField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:279,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - fieldName
    - index
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 285
    functionName: pcpp::TextBasedProtocolMessage::removeField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 2
    functionsReached:
    - PCPP_LOG_ERROR
    - pcpp::TextBasedProtocolMessage::removeField
    - equal_range
    - std::transform
    - std::string::begin
    - std::string::end
    linkageType: ''
    returnType: bool
    signature: bool TextBasedProtocolMessage::removeField(std::string fieldName, int
      index)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:294,1
    - Dst: HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:298,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:301,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:301,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:303,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:308,1
    - Dst: pcpp::TextBasedProtocolMessage::shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:309,1
    - Dst: HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:309,1
    - Dst: pcpp::TextBasedProtocolMessage::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:313,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:317,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:318,1
    - Dst: HeaderField*::setNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:320,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:320,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:331,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:332,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:338,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:338,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:338,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:338,1
    - Dst: equal_range
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:339,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:344,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - fieldToRemove
    argTypes:
    - HeaderField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 353
    functionName: pcpp::TextBasedProtocolMessage::removeField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 2
    functionsReached:
    - HeaderField*::getFieldName
    - HeaderField*::getFieldSize
    - HeaderField*::setNextField
    - pcpp::TextBasedProtocolMessage::getNextField
    - pcpp::TextBasedProtocolMessage::shiftFieldsOffset
    - PCPP_LOG_ERROR
    - HeaderField*::getNextField
    - equal_range
    - shortenLayer
    - std::transform
    - std::string::begin
    - erase
    - std::string::end
    linkageType: ''
    returnType: bool
    signature: bool TextBasedProtocolMessage::removeField(HeaderField* fieldToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: pcpp::TextBasedProtocolMessage::isHeaderComplete
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - getFieldName
    linkageType: ''
    returnType: bool
    signature: bool TextBasedProtocolMessage::isHeaderComplete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::validateFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fieldsOffset
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: pcpp::TextBasedProtocolMessage::setFieldsOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TextBasedProtocolMessage::validateFieldsOffset
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::setFieldsOffset(int fieldsOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::validateFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:372,1
    - Dst: pcpp::TextBasedProtocolMessage::shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - numOfBytesToShift
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: pcpp::TextBasedProtocolMessage::shiftFieldsOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 6
    functionsReached:
    - pcpp::TextBasedProtocolMessage::shiftFieldsOffset
    - pcpp::TextBasedProtocolMessage::validateFieldsOffset
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::shiftFieldsOffset(int numOfBytesToShift)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - fromField
    - numOfBytesToShift
    argTypes:
    - HeaderField*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 386
    functionName: pcpp::TextBasedProtocolMessage::shiftFieldsOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 6
    functionsReached:
    - HeaderField*::getNextField
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::shiftFieldsOffset(HeaderField* fromField,
      int numOfBytesToShift)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:390,1
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 393
    functionName: pcpp::TextBasedProtocolMessage::validateFieldsOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 4
    functionsReached:
    - static_cast<size_t>
    - std::out_of_range
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::validateFieldsOffset(int offset) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:397,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:397,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:397,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:397,1
    - Dst: equal_range
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - fieldName
    - index
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 410
    functionName: pcpp::TextBasedProtocolMessage::getFieldByName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 2
    functionsReached:
    - std::string::end
    - equal_range
    - std::transform
    - std::string::begin
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * TextBasedProtocolMessage::getFieldByName(std::string
      fieldName, int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::getFirstField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:416,1
    - Dst: HeaderField*::isEndOfHeader
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:419,1
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 425
    functionName: pcpp::TextBasedProtocolMessage::getFieldCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - HeaderField*::isEndOfHeader
    - pcpp::TextBasedProtocolMessage::getFirstField
    - HeaderField*::getNextField
    linkageType: ''
    returnType: int
    signature: int TextBasedProtocolMessage::getFieldCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TextBasedProtocolMessage::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:429,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 434
    functionName: pcpp::TextBasedProtocolMessage::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TextBasedProtocolMessage::getHeaderLen
    - constructNextLayer<PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: pcpp::TextBasedProtocolMessage::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t TextBasedProtocolMessage::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: pcpp::TextBasedProtocolMessage::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage::computeCalculateFields()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:454,1
    - Dst: static_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:455,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:455,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:456,1
    - Dst: tbp_my_own_strnlen
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:458,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:459,1
    - Dst: static_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:475,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:476,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:477,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:493,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:493,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:494,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:506,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:506,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:507,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:515,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:515,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:516,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:523,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:529,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:529,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 4
    argNames:
    - TextBasedProtocolMessage
    - offsetInMessage
    - nameValueSeparator
    - spacesAllowedBetweenNameAndValue
    argTypes:
    - TextBasedProtocolMessage*
    - int
    - char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 541
    functionName: pcpp::HeaderField::HeaderField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - tbp_my_own_strnlen
    - getDataLen
    - static_cast<size_t>
    - static_cast<char*>
    - memchr
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: "void HeaderField::HeaderField(TextBasedProtocolMessage* TextBasedProtocolMessage,
      int offsetInMessage,\n\t                         char nameValueSeparator, bool
      spacesAllowedBetweenNameAndValue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HeaderField::initNewField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ' name'
    - ' value'
    - nameValueSeparator
    - spacesAllowedBetweenNameAndValue
    argTypes:
    - std::string
    - std::string
    - char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 549
    functionName: pcpp::HeaderField::HeaderField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::HeaderField::initNewField
    linkageType: ''
    returnType: void
    signature: "void HeaderField::HeaderField(const std::string& name, const std::string&
      value, char nameValueSeparator,\n\t                         bool spacesAllowedBetweenNameAndValue)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:564,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:564,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:564,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:569,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:578,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:578,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:582,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:582,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:585,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 592
    functionName: pcpp::HeaderField::initNewField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 4
    functionsReached:
    - std::string::length
    - length
    - memcpy
    - std::string::c_str
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void HeaderField::initNewField(const std::string& name, const std::string&
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: HeaderField::~HeaderField()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderField::~HeaderField()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HeaderField::initNewField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:605,1
    - Dst: pcpp::HeaderField::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:605,1
    - Dst: pcpp::HeaderField::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: pcpp::HeaderField::HeaderField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::HeaderField::getFieldValue
    - pcpp::HeaderField::initNewField
    - pcpp::HeaderField::getFieldName
    linkageType: ''
    returnType: void
    signature: void HeaderField::HeaderField(const HeaderField& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initNewField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:614,1
    - Dst: getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:614,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: '& HeaderField::operator=(const HeaderField& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - getFieldValue
    - initNewField
    - getFieldName
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField & HeaderField::operator=(const HeaderField& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:622,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 625
    functionName: pcpp::HeaderField::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: char
    signature: char * HeaderField::getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nextField
    argTypes:
    - HeaderField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: pcpp::HeaderField::setNextField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeaderField::setNextField(HeaderField* nextField)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 635
    functionName: pcpp::HeaderField::getNextField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * HeaderField::getNextField() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:641,1
    - Dst: std::string::assign
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:642,1
    - Dst: pcpp::HeaderField::getData
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 645
    functionName: pcpp::HeaderField::getFieldName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    - pcpp::HeaderField::getData
    - std::string::assign
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderField::getFieldName() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:651,1
    - Dst: pcpp::HeaderField::getData
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 653
    functionName: pcpp::HeaderField::getFieldValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 3
    functionsReached:
    - pcpp::HeaderField::getData
    - std::string::assign
    linkageType: ''
    returnType: std::string
    signature: std::string HeaderField::getFieldValue() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HeaderField::getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:660,1
    - Dst: pcpp::HeaderField::initNewField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:662,1
    - Dst: pcpp::HeaderField::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:666,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:667,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:667,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:671,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:673,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:680,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:682,1
    - Dst: shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:688,1
    - Dst: pcpp::HeaderField::getNextField
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:688,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:695,1
    - Dst: pcpp::HeaderField::getData
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:695,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:695,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:695,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' newValue'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 698
    functionName: pcpp::HeaderField::setFieldValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::HeaderField::getFieldValue
    - extendLayer
    - std::string::length
    - shiftFieldsOffset
    - pcpp::HeaderField::getNextField
    - length
    - PCPP_LOG_ERROR
    - memcpy
    - shortenLayer
    - pcpp::HeaderField::getData
    - pcpp::HeaderField::initNewField
    - c_str
    - pcpp::HeaderField::getFieldName
    linkageType: ''
    returnType: bool
    signature: bool HeaderField::setFieldValue(const std::string& newValue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:704,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp:710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - message
    - fieldOffsetInMessage
    argTypes:
    - TextBasedProtocolMessage*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 721
    functionName: pcpp::HeaderField::attachToTextBasedProtocolMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void HeaderField::attachToTextBasedProtocolMessage(TextBasedProtocolMessage*
      message, int fieldOffsetInMessage)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_common_header*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:14,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:18,1
    - Dst: WireGuardHandshakeInitiationLayer::WireGuardHandshakeInitiationLayer
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:19,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:20,1
    - Dst: WireGuardHandshakeResponseLayer::WireGuardHandshakeResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:21,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:22,1
    - Dst: WireGuardCookieReplyLayer::WireGuardCookieReplyLayer
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:23,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:24,1
    - Dst: WireGuardTransportDataLayer::WireGuardTransportDataLayer
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 29
    functionName: pcpp::WireGuardLayer::parseWireGuardLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - WireGuardCookieReplyLayer::WireGuardCookieReplyLayer
    - WireGuardHandshakeInitiationLayer::WireGuardHandshakeInitiationLayer
    - static_cast<uint8_t>
    - reinterpret_cast<wg_common_header*>
    - WireGuardHandshakeResponseLayer::WireGuardHandshakeResponseLayer
    - WireGuardTransportDataLayer::WireGuardTransportDataLayer
    linkageType: ''
    returnType: WireGuardLayer
    signature: WireGuardLayer * WireGuardLayer::parseWireGuardLayer(uint8_t* data,
      size_t dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WireGuardLayer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:33,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:36,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:38,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:40,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: pcpp::WireGuardLayer::getMessageTypeAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WireGuardLayer::getMessageType
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::string
    signature: std::string WireGuardLayer::getMessageTypeAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WireGuardLayer::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::WireGuardLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WireGuardLayer::getMessageTypeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string WireGuardLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: pcpp::WireGuardLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t WireGuardLayer::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WireGuardLayer::getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: pcpp::WireGuardLayer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::WireGuardLayer::getBasicHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t WireGuardLayer::getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:67,1
    - Dst: pcpp::WireGuardLayer::getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:67,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: pcpp::WireGuardLayer::getReserved
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardLayer::getBasicHeader
    - be32toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t WireGuardLayer::getReserved() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_common_header*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:73,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:74,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reserved'
    argTypes:
    - std::array<uint8_t, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: pcpp::WireGuardLayer::setReserved
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<wg_common_header*>
    - data
    linkageType: ''
    returnType: void
    signature: void WireGuardLayer::setReserved(const std::array<uint8_t, 3>& reserved)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:83,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: pcpp::WireGuardLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool WireGuardLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:97,1
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:99,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:101,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:102,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:103,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:105,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:106,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:107,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:108,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 6
    argNames:
    - senderIndex
    - initiatorEphemeral
    - encryptedInitiatorStatic
    - encryptedTimestamp
    - mac1
    - mac2
    argTypes:
    - uint32_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 112
    functionName: pcpp::WireGuardHandshakeInitiationLayer::WireGuardHandshakeInitiationLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - htobe32
    - allocData
    - memcpy
    - reinterpret_cast<wg_handshake_initiation*>
    - memset
    linkageType: ''
    returnType: void
    signature: "void WireGuardHandshakeInitiationLayer::WireGuardHandshakeInitiationLayer(uint32_t
      senderIndex,\n\t                                                                     const
      uint8_t initiatorEphemeral[32],\n\t                                                                     const
      uint8_t encryptedInitiatorStatic[48],\n\t                                                                     const
      uint8_t encryptedTimestamp[28],\n\t                                                                     const
      uint8_t mac1[16], const uint8_t mac2[16])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:116,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getSenderIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t WireGuardHandshakeInitiationLayer::getSenderIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:122,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:122,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getInitiatorEphemeral
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
    - std::array::data
    linkageType: ''
    returnType: std::array<uint8_t, 32>
    signature: std::array<uint8_t, 32> WireGuardHandshakeInitiationLayer::getInitiatorEphemeral()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:129,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:129,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getEncryptedInitiatorStatic
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
    - std::array::data
    linkageType: ''
    returnType: std::array<uint8_t, 48>
    signature: std::array<uint8_t, 48> WireGuardHandshakeInitiationLayer::getEncryptedInitiatorStatic()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:136,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:136,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getEncryptedTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
    - std::array::data
    linkageType: ''
    returnType: std::array<uint8_t, 28>
    signature: std::array<uint8_t, 28> WireGuardHandshakeInitiationLayer::getEncryptedTimestamp()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:143,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:143,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getMac1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
    - std::array::data
    linkageType: ''
    returnType: std::array<uint8_t, 16>
    signature: std::array<uint8_t, 16> WireGuardHandshakeInitiationLayer::getMac1()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:150,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:150,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getMac2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
    - std::array::data
    linkageType: ''
    returnType: std::array<uint8_t, 16>
    signature: std::array<uint8_t, 16> WireGuardHandshakeInitiationLayer::getMac2()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:156,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - senderIndex
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: pcpp::WireGuardHandshakeInitiationLayer::setSenderIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wg_handshake_initiation*>
    - htobe32
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeInitiationLayer::setSenderIndex(uint32_t senderIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:162,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:163,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' initiatorEphemeral'
    argTypes:
    - std::array<uint8_t, 32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: pcpp::WireGuardHandshakeInitiationLayer::setInitiatorEphemeral
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_initiation*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeInitiationLayer::setInitiatorEphemeral(const
      std::array<uint8_t, 32>& initiatorEphemeral)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:169,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:170,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' encryptedInitiatorStatic'
    argTypes:
    - std::array<uint8_t, 48>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: pcpp::WireGuardHandshakeInitiationLayer::setEncryptedInitiatorStatic
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_initiation*>
    linkageType: ''
    returnType: void
    signature: "void WireGuardHandshakeInitiationLayer::setEncryptedInitiatorStatic(\n\t
      \   const std::array<uint8_t, 48>& encryptedInitiatorStatic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:175,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:176,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' encryptedTimestamp'
    argTypes:
    - std::array<uint8_t, 28>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: pcpp::WireGuardHandshakeInitiationLayer::setEncryptedTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_initiation*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeInitiationLayer::setEncryptedTimestamp(const
      std::array<uint8_t, 28>& encryptedTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:181,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:182,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mac1'
    argTypes:
    - std::array<uint8_t, 16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: pcpp::WireGuardHandshakeInitiationLayer::setMac1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_initiation*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeInitiationLayer::setMac1(const std::array<uint8_t,
      16>& mac1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:187,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:188,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mac2'
    argTypes:
    - std::array<uint8_t, 16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: pcpp::WireGuardHandshakeInitiationLayer::setMac2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_initiation*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeInitiationLayer::setMac2(const std::array<uint8_t,
      16>& mac2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:200,1
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:202,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:204,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:205,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:206,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:207,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:208,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:209,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:210,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 6
    argNames:
    - senderIndex
    - receiverIndex
    - responderEphemeral
    - encryptedEmpty
    - mac1
    - mac2
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 214
    functionName: pcpp::WireGuardHandshakeResponseLayer::WireGuardHandshakeResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wg_handshake_response*>
    - static_cast<uint8_t>
    - htobe32
    - allocData
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void WireGuardHandshakeResponseLayer::WireGuardHandshakeResponseLayer(uint32_t
      senderIndex, uint32_t receiverIndex,\n\t                                                                 const
      uint8_t responderEphemeral[32],\n\t                                                                 const
      uint8_t encryptedEmpty[16],\n\t                                                                 const
      uint8_t mac1[16], const uint8_t mac2[16])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:218,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: pcpp::WireGuardHandshakeResponseLayer::getSenderIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t WireGuardHandshakeResponseLayer::getSenderIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:223,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: pcpp::WireGuardHandshakeResponseLayer::getReceiverIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t WireGuardHandshakeResponseLayer::getReceiverIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:229,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:229,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: pcpp::WireGuardHandshakeResponseLayer::getResponderEphemeral
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - std::array::data
    - pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
    linkageType: ''
    returnType: std::array<uint8_t, 32>
    signature: std::array<uint8_t, 32> WireGuardHandshakeResponseLayer::getResponderEphemeral()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:236,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:236,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: pcpp::WireGuardHandshakeResponseLayer::getEncryptedEmpty
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - std::array::data
    - pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
    linkageType: ''
    returnType: std::array<uint8_t, 16>
    signature: std::array<uint8_t, 16> WireGuardHandshakeResponseLayer::getEncryptedEmpty()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:243,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:243,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: pcpp::WireGuardHandshakeResponseLayer::getMac1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - std::array::data
    - pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
    linkageType: ''
    returnType: std::array<uint8_t, 16>
    signature: std::array<uint8_t, 16> WireGuardHandshakeResponseLayer::getMac1()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:250,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:250,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: pcpp::WireGuardHandshakeResponseLayer::getMac2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - std::array::data
    - pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
    linkageType: ''
    returnType: std::array<uint8_t, 16>
    signature: std::array<uint8_t, 16> WireGuardHandshakeResponseLayer::getMac2()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:257,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - senderIndex
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: pcpp::WireGuardHandshakeResponseLayer::setSenderIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wg_handshake_response*>
    - htobe32
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeResponseLayer::setSenderIndex(uint32_t senderIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:263,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - receiverIndex
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: pcpp::WireGuardHandshakeResponseLayer::setReceiverIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wg_handshake_response*>
    - htobe32
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeResponseLayer::setReceiverIndex(uint32_t receiverIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:269,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:270,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' responderEphemeral'
    argTypes:
    - std::array<uint8_t, 32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: pcpp::WireGuardHandshakeResponseLayer::setResponderEphemeral
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_response*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeResponseLayer::setResponderEphemeral(const std::array<uint8_t,
      32>& responderEphemeral)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:275,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:276,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' encryptedEmpty'
    argTypes:
    - std::array<uint8_t, 16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: pcpp::WireGuardHandshakeResponseLayer::setEncryptedEmpty
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_response*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeResponseLayer::setEncryptedEmpty(const std::array<uint8_t,
      16>& encryptedEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:281,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:282,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mac1'
    argTypes:
    - std::array<uint8_t, 16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: pcpp::WireGuardHandshakeResponseLayer::setMac1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_response*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeResponseLayer::setMac1(const std::array<uint8_t,
      16>& mac1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:287,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:288,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mac2'
    argTypes:
    - std::array<uint8_t, 16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: pcpp::WireGuardHandshakeResponseLayer::setMac2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_response*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeResponseLayer::setMac2(const std::array<uint8_t,
      16>& mac2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:298,1
    - Dst: reinterpret_cast<wg_cookie_reply*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:300,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:302,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:303,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:304,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:305,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - receiverIndex
    - nonce
    - encryptedCookie
    argTypes:
    - uint32_t
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 309
    functionName: pcpp::WireGuardCookieReplyLayer::WireGuardCookieReplyLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - htobe32
    - allocData
    - memcpy
    - memset
    - reinterpret_cast<wg_cookie_reply*>
    linkageType: ''
    returnType: void
    signature: "void WireGuardCookieReplyLayer::WireGuardCookieReplyLayer(uint32_t
      receiverIndex, const uint8_t nonce[24],\n\t                                                     const
      uint8_t encryptedCookie[32])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:313,1
    - Dst: pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: pcpp::WireGuardCookieReplyLayer::getReceiverIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
    - be32toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t WireGuardCookieReplyLayer::getReceiverIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:319,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:319,1
    - Dst: pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: pcpp::WireGuardCookieReplyLayer::getNonce
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
    - std::array::data
    linkageType: ''
    returnType: std::array<uint8_t, 24>
    signature: std::array<uint8_t, 24> WireGuardCookieReplyLayer::getNonce() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:326,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:326,1
    - Dst: pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: pcpp::WireGuardCookieReplyLayer::getEncryptedCookie
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
    - std::array::data
    linkageType: ''
    returnType: std::array<uint8_t, 32>
    signature: std::array<uint8_t, 32> WireGuardCookieReplyLayer::getEncryptedCookie()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_cookie_reply*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:332,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - receiverIndex
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: pcpp::WireGuardCookieReplyLayer::setReceiverIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wg_cookie_reply*>
    - htobe32
    linkageType: ''
    returnType: void
    signature: void WireGuardCookieReplyLayer::setReceiverIndex(uint32_t receiverIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_cookie_reply*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:338,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:339,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::array<uint8_t, 24>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: pcpp::WireGuardCookieReplyLayer::setNonce
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<wg_cookie_reply*>
    - data
    linkageType: ''
    returnType: void
    signature: void WireGuardCookieReplyLayer::setNonce(const std::array<uint8_t,
      24>& nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_cookie_reply*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:344,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:345,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' encryptedCookie'
    argTypes:
    - std::array<uint8_t, 32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: pcpp::WireGuardCookieReplyLayer::setEncryptedCookie
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<wg_cookie_reply*>
    - data
    linkageType: ''
    returnType: void
    signature: void WireGuardCookieReplyLayer::setEncryptedCookie(const std::array<uint8_t,
      32>& encryptedCookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:356,1
    - Dst: reinterpret_cast<wg_transport_data*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:358,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:360,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:361,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:362,1
    - Dst: htobe64
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:363,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - receiverIndex
    - counter
    - encryptedData
    - encryptedDataLen
    argTypes:
    - uint32_t
    - uint64_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 367
    functionName: pcpp::WireGuardTransportDataLayer::WireGuardTransportDataLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - reinterpret_cast<wg_transport_data*>
    - htobe32
    - allocData
    - memcpy
    - memset
    - htobe64
    linkageType: ''
    returnType: void
    signature: "void WireGuardTransportDataLayer::WireGuardTransportDataLayer(uint32_t
      receiverIndex, uint64_t counter,\n\t                                                         const
      uint8_t* encryptedData, size_t encryptedDataLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:371,1
    - Dst: pcpp::WireGuardTransportDataLayer::getTransportHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: pcpp::WireGuardTransportDataLayer::getReceiverIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::WireGuardTransportDataLayer::getTransportHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t WireGuardTransportDataLayer::getReceiverIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:376,1
    - Dst: pcpp::WireGuardTransportDataLayer::getTransportHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: pcpp::WireGuardTransportDataLayer::getCounter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - be64toh
    - pcpp::WireGuardTransportDataLayer::getTransportHeader
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t WireGuardTransportDataLayer::getCounter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WireGuardTransportDataLayer::getTransportHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pcpp::WireGuardTransportDataLayer::getEncryptedData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WireGuardTransportDataLayer::getTransportHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * WireGuardTransportDataLayer::getEncryptedData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_transport_data*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:386,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - receiverIndex
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: pcpp::WireGuardTransportDataLayer::setReceiverIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wg_transport_data*>
    - htobe32
    linkageType: ''
    returnType: void
    signature: void WireGuardTransportDataLayer::setReceiverIndex(uint32_t receiverIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_transport_data*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:392,1
    - Dst: htobe64
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - counter
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: pcpp::WireGuardTransportDataLayer::setCounter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe64
    - reinterpret_cast<wg_transport_data*>
    linkageType: ''
    returnType: void
    signature: void WireGuardTransportDataLayer::setCounter(uint64_t counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_transport_data*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:398,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - encryptedData
    - encryptedDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: pcpp::WireGuardTransportDataLayer::setEncryptedData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<wg_transport_data*>
    linkageType: ''
    returnType: void
    signature: void WireGuardTransportDataLayer::setEncryptedData(const uint8_t* encryptedData,
      size_t encryptedDataLen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_common_header*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:14,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:18,1
    - Dst: WireGuardHandshakeInitiationLayer::WireGuardHandshakeInitiationLayer
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:19,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:20,1
    - Dst: WireGuardHandshakeResponseLayer::WireGuardHandshakeResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:21,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:22,1
    - Dst: WireGuardCookieReplyLayer::WireGuardCookieReplyLayer
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:23,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:24,1
    - Dst: WireGuardTransportDataLayer::WireGuardTransportDataLayer
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 29
    functionName: pcpp::WireGuardLayer::parseWireGuardLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - WireGuardCookieReplyLayer::WireGuardCookieReplyLayer
    - WireGuardHandshakeInitiationLayer::WireGuardHandshakeInitiationLayer
    - static_cast<uint8_t>
    - reinterpret_cast<wg_common_header*>
    - WireGuardHandshakeResponseLayer::WireGuardHandshakeResponseLayer
    - WireGuardTransportDataLayer::WireGuardTransportDataLayer
    linkageType: ''
    returnType: WireGuardLayer
    signature: WireGuardLayer * WireGuardLayer::parseWireGuardLayer(uint8_t* data,
      size_t dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WireGuardLayer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:33,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:36,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:38,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:40,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: pcpp::WireGuardLayer::getMessageTypeAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::WireGuardLayer::getMessageType
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::string
    signature: std::string WireGuardLayer::getMessageTypeAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WireGuardLayer::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::WireGuardLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WireGuardLayer::getMessageTypeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string WireGuardLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: pcpp::WireGuardLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t WireGuardLayer::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WireGuardLayer::getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: pcpp::WireGuardLayer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::WireGuardLayer::getBasicHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t WireGuardLayer::getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:67,1
    - Dst: pcpp::WireGuardLayer::getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:67,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: pcpp::WireGuardLayer::getReserved
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardLayer::getBasicHeader
    - be32toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t WireGuardLayer::getReserved() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_common_header*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:73,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:74,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reserved'
    argTypes:
    - std::array<uint8_t, 3>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: pcpp::WireGuardLayer::setReserved
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<wg_common_header*>
    - data
    linkageType: ''
    returnType: void
    signature: void WireGuardLayer::setReserved(const std::array<uint8_t, 3>& reserved)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:83,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: pcpp::WireGuardLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool WireGuardLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:97,1
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:99,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:101,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:102,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:103,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:105,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:106,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:107,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:108,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 6
    argNames:
    - senderIndex
    - initiatorEphemeral
    - encryptedInitiatorStatic
    - encryptedTimestamp
    - mac1
    - mac2
    argTypes:
    - uint32_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 112
    functionName: pcpp::WireGuardHandshakeInitiationLayer::WireGuardHandshakeInitiationLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - htobe32
    - allocData
    - memcpy
    - reinterpret_cast<wg_handshake_initiation*>
    - memset
    linkageType: ''
    returnType: void
    signature: "void WireGuardHandshakeInitiationLayer::WireGuardHandshakeInitiationLayer(uint32_t
      senderIndex,\n\t                                                                     const
      uint8_t initiatorEphemeral[32],\n\t                                                                     const
      uint8_t encryptedInitiatorStatic[48],\n\t                                                                     const
      uint8_t encryptedTimestamp[28],\n\t                                                                     const
      uint8_t mac1[16], const uint8_t mac2[16])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:116,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getSenderIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t WireGuardHandshakeInitiationLayer::getSenderIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:122,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:122,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getInitiatorEphemeral
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
    - std::array::data
    linkageType: ''
    returnType: std::array<uint8_t, 32>
    signature: std::array<uint8_t, 32> WireGuardHandshakeInitiationLayer::getInitiatorEphemeral()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:129,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:129,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getEncryptedInitiatorStatic
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
    - std::array::data
    linkageType: ''
    returnType: std::array<uint8_t, 48>
    signature: std::array<uint8_t, 48> WireGuardHandshakeInitiationLayer::getEncryptedInitiatorStatic()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:136,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:136,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getEncryptedTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
    - std::array::data
    linkageType: ''
    returnType: std::array<uint8_t, 28>
    signature: std::array<uint8_t, 28> WireGuardHandshakeInitiationLayer::getEncryptedTimestamp()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:143,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:143,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getMac1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
    - std::array::data
    linkageType: ''
    returnType: std::array<uint8_t, 16>
    signature: std::array<uint8_t, 16> WireGuardHandshakeInitiationLayer::getMac1()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:150,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:150,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getMac2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
    - std::array::data
    linkageType: ''
    returnType: std::array<uint8_t, 16>
    signature: std::array<uint8_t, 16> WireGuardHandshakeInitiationLayer::getMac2()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:156,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - senderIndex
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: pcpp::WireGuardHandshakeInitiationLayer::setSenderIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wg_handshake_initiation*>
    - htobe32
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeInitiationLayer::setSenderIndex(uint32_t senderIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:162,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:163,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' initiatorEphemeral'
    argTypes:
    - std::array<uint8_t, 32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: pcpp::WireGuardHandshakeInitiationLayer::setInitiatorEphemeral
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_initiation*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeInitiationLayer::setInitiatorEphemeral(const
      std::array<uint8_t, 32>& initiatorEphemeral)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:169,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:170,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' encryptedInitiatorStatic'
    argTypes:
    - std::array<uint8_t, 48>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: pcpp::WireGuardHandshakeInitiationLayer::setEncryptedInitiatorStatic
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_initiation*>
    linkageType: ''
    returnType: void
    signature: "void WireGuardHandshakeInitiationLayer::setEncryptedInitiatorStatic(\n\t
      \   const std::array<uint8_t, 48>& encryptedInitiatorStatic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:175,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:176,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' encryptedTimestamp'
    argTypes:
    - std::array<uint8_t, 28>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: pcpp::WireGuardHandshakeInitiationLayer::setEncryptedTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_initiation*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeInitiationLayer::setEncryptedTimestamp(const
      std::array<uint8_t, 28>& encryptedTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:181,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:182,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mac1'
    argTypes:
    - std::array<uint8_t, 16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: pcpp::WireGuardHandshakeInitiationLayer::setMac1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_initiation*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeInitiationLayer::setMac1(const std::array<uint8_t,
      16>& mac1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:187,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:188,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mac2'
    argTypes:
    - std::array<uint8_t, 16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: pcpp::WireGuardHandshakeInitiationLayer::setMac2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_initiation*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeInitiationLayer::setMac2(const std::array<uint8_t,
      16>& mac2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:200,1
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:202,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:204,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:205,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:206,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:207,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:208,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:209,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:210,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 6
    argNames:
    - senderIndex
    - receiverIndex
    - responderEphemeral
    - encryptedEmpty
    - mac1
    - mac2
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 214
    functionName: pcpp::WireGuardHandshakeResponseLayer::WireGuardHandshakeResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wg_handshake_response*>
    - static_cast<uint8_t>
    - htobe32
    - allocData
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void WireGuardHandshakeResponseLayer::WireGuardHandshakeResponseLayer(uint32_t
      senderIndex, uint32_t receiverIndex,\n\t                                                                 const
      uint8_t responderEphemeral[32],\n\t                                                                 const
      uint8_t encryptedEmpty[16],\n\t                                                                 const
      uint8_t mac1[16], const uint8_t mac2[16])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:218,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: pcpp::WireGuardHandshakeResponseLayer::getSenderIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t WireGuardHandshakeResponseLayer::getSenderIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:223,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: pcpp::WireGuardHandshakeResponseLayer::getReceiverIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t WireGuardHandshakeResponseLayer::getReceiverIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:229,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:229,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: pcpp::WireGuardHandshakeResponseLayer::getResponderEphemeral
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - std::array::data
    - pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
    linkageType: ''
    returnType: std::array<uint8_t, 32>
    signature: std::array<uint8_t, 32> WireGuardHandshakeResponseLayer::getResponderEphemeral()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:236,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:236,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: pcpp::WireGuardHandshakeResponseLayer::getEncryptedEmpty
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - std::array::data
    - pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
    linkageType: ''
    returnType: std::array<uint8_t, 16>
    signature: std::array<uint8_t, 16> WireGuardHandshakeResponseLayer::getEncryptedEmpty()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:243,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:243,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: pcpp::WireGuardHandshakeResponseLayer::getMac1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - std::array::data
    - pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
    linkageType: ''
    returnType: std::array<uint8_t, 16>
    signature: std::array<uint8_t, 16> WireGuardHandshakeResponseLayer::getMac1()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:250,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:250,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: pcpp::WireGuardHandshakeResponseLayer::getMac2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - std::array::data
    - pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
    linkageType: ''
    returnType: std::array<uint8_t, 16>
    signature: std::array<uint8_t, 16> WireGuardHandshakeResponseLayer::getMac2()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:257,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - senderIndex
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: pcpp::WireGuardHandshakeResponseLayer::setSenderIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wg_handshake_response*>
    - htobe32
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeResponseLayer::setSenderIndex(uint32_t senderIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:263,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - receiverIndex
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: pcpp::WireGuardHandshakeResponseLayer::setReceiverIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wg_handshake_response*>
    - htobe32
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeResponseLayer::setReceiverIndex(uint32_t receiverIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:269,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:270,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' responderEphemeral'
    argTypes:
    - std::array<uint8_t, 32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: pcpp::WireGuardHandshakeResponseLayer::setResponderEphemeral
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_response*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeResponseLayer::setResponderEphemeral(const std::array<uint8_t,
      32>& responderEphemeral)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:275,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:276,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' encryptedEmpty'
    argTypes:
    - std::array<uint8_t, 16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: pcpp::WireGuardHandshakeResponseLayer::setEncryptedEmpty
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_response*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeResponseLayer::setEncryptedEmpty(const std::array<uint8_t,
      16>& encryptedEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:281,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:282,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mac1'
    argTypes:
    - std::array<uint8_t, 16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: pcpp::WireGuardHandshakeResponseLayer::setMac1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_response*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeResponseLayer::setMac1(const std::array<uint8_t,
      16>& mac1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:287,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:288,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' mac2'
    argTypes:
    - std::array<uint8_t, 16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: pcpp::WireGuardHandshakeResponseLayer::setMac2
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - reinterpret_cast<wg_handshake_response*>
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeResponseLayer::setMac2(const std::array<uint8_t,
      16>& mac2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:298,1
    - Dst: reinterpret_cast<wg_cookie_reply*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:300,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:302,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:303,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:304,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:305,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - receiverIndex
    - nonce
    - encryptedCookie
    argTypes:
    - uint32_t
    - uint8_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 309
    functionName: pcpp::WireGuardCookieReplyLayer::WireGuardCookieReplyLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - htobe32
    - allocData
    - memcpy
    - memset
    - reinterpret_cast<wg_cookie_reply*>
    linkageType: ''
    returnType: void
    signature: "void WireGuardCookieReplyLayer::WireGuardCookieReplyLayer(uint32_t
      receiverIndex, const uint8_t nonce[24],\n\t                                                     const
      uint8_t encryptedCookie[32])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:313,1
    - Dst: pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: pcpp::WireGuardCookieReplyLayer::getReceiverIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
    - be32toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t WireGuardCookieReplyLayer::getReceiverIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:319,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:319,1
    - Dst: pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: pcpp::WireGuardCookieReplyLayer::getNonce
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
    - std::array::data
    linkageType: ''
    returnType: std::array<uint8_t, 24>
    signature: std::array<uint8_t, 24> WireGuardCookieReplyLayer::getNonce() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:326,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:326,1
    - Dst: pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: pcpp::WireGuardCookieReplyLayer::getEncryptedCookie
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
    - std::array::data
    linkageType: ''
    returnType: std::array<uint8_t, 32>
    signature: std::array<uint8_t, 32> WireGuardCookieReplyLayer::getEncryptedCookie()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_cookie_reply*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:332,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - receiverIndex
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: pcpp::WireGuardCookieReplyLayer::setReceiverIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wg_cookie_reply*>
    - htobe32
    linkageType: ''
    returnType: void
    signature: void WireGuardCookieReplyLayer::setReceiverIndex(uint32_t receiverIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_cookie_reply*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:338,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:339,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' nonce'
    argTypes:
    - std::array<uint8_t, 24>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: pcpp::WireGuardCookieReplyLayer::setNonce
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<wg_cookie_reply*>
    - data
    linkageType: ''
    returnType: void
    signature: void WireGuardCookieReplyLayer::setNonce(const std::array<uint8_t,
      24>& nonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_cookie_reply*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:344,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:345,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' encryptedCookie'
    argTypes:
    - std::array<uint8_t, 32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: pcpp::WireGuardCookieReplyLayer::setEncryptedCookie
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<wg_cookie_reply*>
    - data
    linkageType: ''
    returnType: void
    signature: void WireGuardCookieReplyLayer::setEncryptedCookie(const std::array<uint8_t,
      32>& encryptedCookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:356,1
    - Dst: reinterpret_cast<wg_transport_data*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:358,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:360,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:361,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:362,1
    - Dst: htobe64
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:363,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - receiverIndex
    - counter
    - encryptedData
    - encryptedDataLen
    argTypes:
    - uint32_t
    - uint64_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 367
    functionName: pcpp::WireGuardTransportDataLayer::WireGuardTransportDataLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - reinterpret_cast<wg_transport_data*>
    - htobe32
    - allocData
    - memcpy
    - memset
    - htobe64
    linkageType: ''
    returnType: void
    signature: "void WireGuardTransportDataLayer::WireGuardTransportDataLayer(uint32_t
      receiverIndex, uint64_t counter,\n\t                                                         const
      uint8_t* encryptedData, size_t encryptedDataLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:371,1
    - Dst: pcpp::WireGuardTransportDataLayer::getTransportHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: pcpp::WireGuardTransportDataLayer::getReceiverIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::WireGuardTransportDataLayer::getTransportHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t WireGuardTransportDataLayer::getReceiverIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:376,1
    - Dst: pcpp::WireGuardTransportDataLayer::getTransportHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: pcpp::WireGuardTransportDataLayer::getCounter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - be64toh
    - pcpp::WireGuardTransportDataLayer::getTransportHeader
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t WireGuardTransportDataLayer::getCounter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WireGuardTransportDataLayer::getTransportHeader
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pcpp::WireGuardTransportDataLayer::getEncryptedData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WireGuardTransportDataLayer::getTransportHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * WireGuardTransportDataLayer::getEncryptedData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_transport_data*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:386,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - receiverIndex
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: pcpp::WireGuardTransportDataLayer::setReceiverIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<wg_transport_data*>
    - htobe32
    linkageType: ''
    returnType: void
    signature: void WireGuardTransportDataLayer::setReceiverIndex(uint32_t receiverIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_transport_data*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:392,1
    - Dst: htobe64
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - counter
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: pcpp::WireGuardTransportDataLayer::setCounter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe64
    - reinterpret_cast<wg_transport_data*>
    linkageType: ''
    returnType: void
    signature: void WireGuardTransportDataLayer::setCounter(uint64_t counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_transport_data*>
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:398,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - encryptedData
    - encryptedDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: pcpp::WireGuardTransportDataLayer::setEncryptedData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - reinterpret_cast<wg_transport_data*>
    linkageType: ''
    returnType: void
    signature: void WireGuardTransportDataLayer::setEncryptedData(const uint8_t* encryptedData,
      size_t encryptedDataLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:16,1
    - Dst: static_cast<DhcpV6OptionType>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:19,1
    - Dst: static_cast<DhcpV6OptionType>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:23,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 27
    functionName: pcpp::DhcpV6Option::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - static_cast<DhcpV6OptionType>
    linkageType: ''
    returnType: DhcpV6OptionType
    signature: DhcpV6OptionType DhcpV6Option::getType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:34,1
    - Dst: pcpp::DhcpV6Option::getDataSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: pcpp::DhcpV6Option::getValueAsHexString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    - pcpp::DhcpV6Option::getDataSize
    linkageType: ''
    returnType: std::string
    signature: std::string DhcpV6Option::getValueAsHexString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: pcpp::DhcpV6Option::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: size_t
    signature: size_t DhcpV6Option::getTotalSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:50,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: pcpp::DhcpV6Option::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t DhcpV6Option::getDataSize() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DhcpV6Option
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:56,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:59,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:60,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:60,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:61,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:61,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:62,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:63,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:65,1
    - Dst: DhcpV6Option
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: pcpp::DhcpV6OptionBuilder::build
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - DhcpV6Option
    - memcpy
    - static_cast<uint16_t>
    - uint8_t::uint8_t
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6OptionBuilder::build() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: pcpp::DhcpV6Layer::DhcpV6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DhcpV6Layer::DhcpV6Layer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:76,1
    - Dst: pcpp::DhcpV6Layer::setMessageType
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:79,1
    - Dst: pcpp::DhcpV6Layer::setTransactionID
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - messageType
    - transactionId
    argTypes:
    - DhcpV6MessageType
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: pcpp::DhcpV6Layer::DhcpV6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::setMessageType
    - pcpp::DhcpV6Layer::setTransactionID
    - allocData
    linkageType: ''
    returnType: void
    signature: void DhcpV6Layer::DhcpV6Layer(DhcpV6MessageType messageType, uint32_t
      transactionId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:85,1
    - Dst: static_cast<DhcpV6MessageType>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: pcpp::DhcpV6Layer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::getDhcpHeader
    - static_cast<DhcpV6MessageType>
    linkageType: ''
    returnType: DhcpV6MessageType
    signature: DhcpV6MessageType DhcpV6Layer::getMessageType() const
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 128
    functionName: pcpp::DhcpV6Layer::getMessageTypeAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::getMessageType
    linkageType: ''
    returnType: std::string
    signature: std::string DhcpV6Layer::getMessageTypeAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:132,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - messageType
    argTypes:
    - DhcpV6MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pcpp::DhcpV6Layer::setMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DhcpV6Layer::getDhcpHeader
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DhcpV6Layer::setMessageType(DhcpV6MessageType messageType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: pcpp::DhcpV6Layer::getTransactionID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::getDhcpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DhcpV6Layer::getTransactionID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - transactionId
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: pcpp::DhcpV6Layer::setTransactionID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DhcpV6Layer::getDhcpHeader
    linkageType: ''
    returnType: void
    signature: void DhcpV6Layer::setTransactionID(uint32_t transactionId) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:152,1
    - Dst: pcpp::DhcpV6Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:152,1
    - Dst: pcpp::DhcpV6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: pcpp::DhcpV6Layer::getFirstOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - pcpp::DhcpV6Layer::getOptionsBasePtr
    - pcpp::DhcpV6Layer::getHeaderLen
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6Layer::getFirstOptionData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:157,1
    - Dst: pcpp::DhcpV6Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:157,1
    - Dst: pcpp::DhcpV6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dhcpv6Option
    argTypes:
    - DhcpV6Option
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: pcpp::DhcpV6Layer::getNextOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::getOptionsBasePtr
    - getNextTLVRecord
    - pcpp::DhcpV6Layer::getHeaderLen
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6Layer::getNextOptionData(DhcpV6Option dhcpv6Option)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:163,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:163,1
    - Dst: pcpp::DhcpV6Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:163,1
    - Dst: pcpp::DhcpV6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - DhcpV6OptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: pcpp::DhcpV6Layer::getOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::getHeaderLen
    - pcpp::DhcpV6Layer::getOptionsBasePtr
    - static_cast<uint32_t>
    - getTLVRecord
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6Layer::getOptionData(DhcpV6OptionType option) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:169,1
    - Dst: pcpp::DhcpV6Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:169,1
    - Dst: pcpp::DhcpV6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: pcpp::DhcpV6Layer::getOptionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::getOptionsBasePtr
    - getTLVRecordCount
    - pcpp::DhcpV6Layer::getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t DhcpV6Layer::getOptionCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:174,1
    - Dst: DhcpV6Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:175,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:177,1
    - Dst: DhcpV6Option
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:178,1
    - Dst: DhcpV6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:181,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:183,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:185,1
    - Dst: DhcpV6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:185,1
    - Dst: DhcpV6Option::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:186,1
    - Dst: DhcpV6Option
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:187,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:190,1
    - Dst: DhcpV6Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:190,1
    - Dst: DhcpV6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:190,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:194,1
    - Dst: DhcpV6Option::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:196,1
    - Dst: DhcpV6Option
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ' optionBuilder'
    - offset
    argTypes:
    - DhcpV6OptionBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 199
    functionName: pcpp::DhcpV6Layer::addOptionAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - DhcpV6Option
    - DhcpV6Option::isNull
    - DhcpV6Option::getRecordBasePtr
    - PCPP_LOG_ERROR
    - memcpy
    - DhcpV6Option::purgeRecordData
    - build
    - DhcpV6Option::getTotalSize
    - changeTLVRecordCount
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6Layer::addOptionAt(const DhcpV6OptionBuilder& optionBuilder,
      int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::addOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:203,1
    - Dst: pcpp::DhcpV6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' optionBuilder'
    argTypes:
    - DhcpV6OptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: pcpp::DhcpV6Layer::addOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::addOptionAt
    - pcpp::DhcpV6Layer::getHeaderLen
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6Layer::addOption(const DhcpV6OptionBuilder& optionBuilder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:210,1
    - Dst: DhcpV6Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:212,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:214,1
    - Dst: DhcpV6Option
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:215,1
    - Dst: DhcpV6Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:217,1
    - Dst: DhcpV6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:217,1
    - Dst: pcpp::DhcpV6Layer::addOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' optionBuilder'
    - optionType
    argTypes:
    - DhcpV6OptionBuilder
    - DhcpV6OptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: pcpp::DhcpV6Layer::addOptionAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - DhcpV6Option
    - DhcpV6Option::isNull
    - pcpp::DhcpV6Layer::addOptionAt
    - DhcpV6Option::getRecordBasePtr
    - PCPP_LOG_ERROR
    - DhcpV6Option::getTotalSize
    - pcpp::DhcpV6Layer::getOptionData
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6Layer::addOptionAfter(const DhcpV6OptionBuilder&
      optionBuilder, DhcpV6OptionType optionType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:225,1
    - Dst: DhcpV6Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:227,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:229,1
    - Dst: DhcpV6Option
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:230,1
    - Dst: DhcpV6Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:233,1
    - Dst: pcpp::DhcpV6Layer::addOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' optionBuilder'
    - optionType
    argTypes:
    - DhcpV6OptionBuilder
    - DhcpV6OptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pcpp::DhcpV6Layer::addOptionBefore
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - DhcpV6Option
    - DhcpV6Option::isNull
    - pcpp::DhcpV6Layer::addOptionAt
    - DhcpV6Option::getRecordBasePtr
    - PCPP_LOG_ERROR
    - pcpp::DhcpV6Layer::getOptionData
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6Layer::addOptionBefore(const DhcpV6OptionBuilder&
      optionBuilder, DhcpV6OptionType optionType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:239,1
    - Dst: DhcpV6Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:240,1
    - Dst: DhcpV6Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:245,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:247,1
    - Dst: DhcpV6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:247,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - DhcpV6OptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: pcpp::DhcpV6Layer::removeOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - DhcpV6Option::isNull
    - DhcpV6Option::getRecordBasePtr
    - changeTLVRecordCount
    - shortenLayer
    - DhcpV6Option::getTotalSize
    - pcpp::DhcpV6Layer::getOptionData
    linkageType: ''
    returnType: bool
    signature: bool DhcpV6Layer::removeOption(DhcpV6OptionType optionType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:260,1
    - Dst: pcpp::DhcpV6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:260,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:263,1
    - Dst: pcpp::DhcpV6Layer::getOptionCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: pcpp::DhcpV6Layer::removeAllOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::getOptionCount
    - shortenLayer
    - pcpp::DhcpV6Layer::getHeaderLen
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool DhcpV6Layer::removeAllOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: pcpp::DhcpV6Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::getMessageTypeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string DhcpV6Layer::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:16,1
    - Dst: static_cast<DhcpV6OptionType>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:19,1
    - Dst: static_cast<DhcpV6OptionType>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:23,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 27
    functionName: pcpp::DhcpV6Option::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - static_cast<DhcpV6OptionType>
    linkageType: ''
    returnType: DhcpV6OptionType
    signature: DhcpV6OptionType DhcpV6Option::getType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:34,1
    - Dst: pcpp::DhcpV6Option::getDataSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: pcpp::DhcpV6Option::getValueAsHexString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    - pcpp::DhcpV6Option::getDataSize
    linkageType: ''
    returnType: std::string
    signature: std::string DhcpV6Option::getValueAsHexString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: pcpp::DhcpV6Option::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: size_t
    signature: size_t DhcpV6Option::getTotalSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:50,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: pcpp::DhcpV6Option::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t DhcpV6Option::getDataSize() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DhcpV6Option
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:56,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:59,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:60,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:60,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:61,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:61,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:62,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:63,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:65,1
    - Dst: DhcpV6Option
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: pcpp::DhcpV6OptionBuilder::build
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - DhcpV6Option
    - memcpy
    - static_cast<uint16_t>
    - uint8_t::uint8_t
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6OptionBuilder::build() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: pcpp::DhcpV6Layer::DhcpV6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DhcpV6Layer::DhcpV6Layer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:76,1
    - Dst: pcpp::DhcpV6Layer::setMessageType
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:79,1
    - Dst: pcpp::DhcpV6Layer::setTransactionID
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - messageType
    - transactionId
    argTypes:
    - DhcpV6MessageType
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: pcpp::DhcpV6Layer::DhcpV6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::setMessageType
    - pcpp::DhcpV6Layer::setTransactionID
    - allocData
    linkageType: ''
    returnType: void
    signature: void DhcpV6Layer::DhcpV6Layer(DhcpV6MessageType messageType, uint32_t
      transactionId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:85,1
    - Dst: static_cast<DhcpV6MessageType>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: pcpp::DhcpV6Layer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DhcpV6Layer::getDhcpHeader
    - static_cast<DhcpV6MessageType>
    linkageType: ''
    returnType: DhcpV6MessageType
    signature: DhcpV6MessageType DhcpV6Layer::getMessageType() const
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 128
    functionName: pcpp::DhcpV6Layer::getMessageTypeAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DhcpV6Layer::getMessageType
    linkageType: ''
    returnType: std::string
    signature: std::string DhcpV6Layer::getMessageTypeAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:132,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - messageType
    argTypes:
    - DhcpV6MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pcpp::DhcpV6Layer::setMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DhcpV6Layer::getDhcpHeader
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DhcpV6Layer::setMessageType(DhcpV6MessageType messageType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: pcpp::DhcpV6Layer::getTransactionID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::getDhcpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DhcpV6Layer::getTransactionID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - transactionId
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: pcpp::DhcpV6Layer::setTransactionID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DhcpV6Layer::getDhcpHeader
    linkageType: ''
    returnType: void
    signature: void DhcpV6Layer::setTransactionID(uint32_t transactionId) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:152,1
    - Dst: pcpp::DhcpV6Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:152,1
    - Dst: pcpp::DhcpV6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: pcpp::DhcpV6Layer::getFirstOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - pcpp::DhcpV6Layer::getOptionsBasePtr
    - pcpp::DhcpV6Layer::getHeaderLen
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6Layer::getFirstOptionData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:157,1
    - Dst: pcpp::DhcpV6Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:157,1
    - Dst: pcpp::DhcpV6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dhcpv6Option
    argTypes:
    - DhcpV6Option
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: pcpp::DhcpV6Layer::getNextOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::getOptionsBasePtr
    - getNextTLVRecord
    - pcpp::DhcpV6Layer::getHeaderLen
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6Layer::getNextOptionData(DhcpV6Option dhcpv6Option)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:163,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:163,1
    - Dst: pcpp::DhcpV6Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:163,1
    - Dst: pcpp::DhcpV6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - DhcpV6OptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: pcpp::DhcpV6Layer::getOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 3
    functionsReached:
    - pcpp::DhcpV6Layer::getHeaderLen
    - pcpp::DhcpV6Layer::getOptionsBasePtr
    - static_cast<uint32_t>
    - getTLVRecord
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6Layer::getOptionData(DhcpV6OptionType option) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:169,1
    - Dst: pcpp::DhcpV6Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:169,1
    - Dst: pcpp::DhcpV6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: pcpp::DhcpV6Layer::getOptionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DhcpV6Layer::getOptionsBasePtr
    - getTLVRecordCount
    - pcpp::DhcpV6Layer::getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t DhcpV6Layer::getOptionCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:174,1
    - Dst: DhcpV6Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:175,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:177,1
    - Dst: DhcpV6Option
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:178,1
    - Dst: DhcpV6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:181,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:183,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:185,1
    - Dst: DhcpV6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:185,1
    - Dst: DhcpV6Option::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:186,1
    - Dst: DhcpV6Option
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:187,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:190,1
    - Dst: DhcpV6Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:190,1
    - Dst: DhcpV6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:190,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:194,1
    - Dst: DhcpV6Option::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:196,1
    - Dst: DhcpV6Option
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ' optionBuilder'
    - offset
    argTypes:
    - DhcpV6OptionBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 199
    functionName: pcpp::DhcpV6Layer::addOptionAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 3
    functionsReached:
    - extendLayer
    - DhcpV6Option
    - DhcpV6Option::isNull
    - DhcpV6Option::getRecordBasePtr
    - PCPP_LOG_ERROR
    - memcpy
    - DhcpV6Option::purgeRecordData
    - build
    - DhcpV6Option::getTotalSize
    - changeTLVRecordCount
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6Layer::addOptionAt(const DhcpV6OptionBuilder& optionBuilder,
      int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::addOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:203,1
    - Dst: pcpp::DhcpV6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' optionBuilder'
    argTypes:
    - DhcpV6OptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: pcpp::DhcpV6Layer::addOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::addOptionAt
    - pcpp::DhcpV6Layer::getHeaderLen
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6Layer::addOption(const DhcpV6OptionBuilder& optionBuilder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:210,1
    - Dst: DhcpV6Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:212,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:214,1
    - Dst: DhcpV6Option
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:215,1
    - Dst: DhcpV6Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:217,1
    - Dst: DhcpV6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:217,1
    - Dst: pcpp::DhcpV6Layer::addOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' optionBuilder'
    - optionType
    argTypes:
    - DhcpV6OptionBuilder
    - DhcpV6OptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: pcpp::DhcpV6Layer::addOptionAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - DhcpV6Option
    - DhcpV6Option::isNull
    - pcpp::DhcpV6Layer::addOptionAt
    - DhcpV6Option::getRecordBasePtr
    - PCPP_LOG_ERROR
    - DhcpV6Option::getTotalSize
    - pcpp::DhcpV6Layer::getOptionData
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6Layer::addOptionAfter(const DhcpV6OptionBuilder&
      optionBuilder, DhcpV6OptionType optionType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:225,1
    - Dst: DhcpV6Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:227,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:229,1
    - Dst: DhcpV6Option
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:230,1
    - Dst: DhcpV6Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:233,1
    - Dst: pcpp::DhcpV6Layer::addOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' optionBuilder'
    - optionType
    argTypes:
    - DhcpV6OptionBuilder
    - DhcpV6OptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 235
    functionName: pcpp::DhcpV6Layer::addOptionBefore
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - DhcpV6Option
    - DhcpV6Option::isNull
    - pcpp::DhcpV6Layer::addOptionAt
    - DhcpV6Option::getRecordBasePtr
    - PCPP_LOG_ERROR
    - pcpp::DhcpV6Layer::getOptionData
    linkageType: ''
    returnType: DhcpV6Option
    signature: DhcpV6Option DhcpV6Layer::addOptionBefore(const DhcpV6OptionBuilder&
      optionBuilder, DhcpV6OptionType optionType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:239,1
    - Dst: DhcpV6Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:240,1
    - Dst: DhcpV6Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:245,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:247,1
    - Dst: DhcpV6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:247,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - DhcpV6OptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 254
    functionName: pcpp::DhcpV6Layer::removeOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - DhcpV6Option::isNull
    - DhcpV6Option::getRecordBasePtr
    - changeTLVRecordCount
    - shortenLayer
    - DhcpV6Option::getTotalSize
    - pcpp::DhcpV6Layer::getOptionData
    linkageType: ''
    returnType: bool
    signature: bool DhcpV6Layer::removeOption(DhcpV6OptionType optionType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:260,1
    - Dst: pcpp::DhcpV6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:260,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:263,1
    - Dst: pcpp::DhcpV6Layer::getOptionCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: pcpp::DhcpV6Layer::removeAllOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::getOptionCount
    - shortenLayer
    - pcpp::DhcpV6Layer::getHeaderLen
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool DhcpV6Layer::removeAllOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpV6Layer::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: pcpp::DhcpV6Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer::getMessageTypeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string DhcpV6Layer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:13,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: pcpp::PayloadLayer::PayloadLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - allocData
    linkageType: ''
    returnType: void
    signature: void PayloadLayer::PayloadLayer(const uint8_t* data, size_t dataLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:22,1
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:25,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' payloadAsHexStream'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 34
    functionName: pcpp::PayloadLayer::PayloadLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp
    functionUses: 0
    functionsReached:
    - allocData
    - hexStringToByteArray
    - size
    linkageType: ''
    returnType: void
    signature: void PayloadLayer::PayloadLayer(const std::string& payloadAsHexStream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:41,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:46,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - newPayload
    - newPayloadLength
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: pcpp::PayloadLayer::setPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - memcpy
    - shortenLayer
    linkageType: ''
    returnType: void
    signature: void PayloadLayer::setPayload(const uint8_t* newPayload, size_t newPayloadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: pcpp::PayloadLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string PayloadLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:13,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: pcpp::PayloadLayer::PayloadLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - allocData
    linkageType: ''
    returnType: void
    signature: void PayloadLayer::PayloadLayer(const uint8_t* data, size_t dataLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:22,1
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:25,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' payloadAsHexStream'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 34
    functionName: pcpp::PayloadLayer::PayloadLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp
    functionUses: 0
    functionsReached:
    - allocData
    - hexStringToByteArray
    - size
    linkageType: ''
    returnType: void
    signature: void PayloadLayer::PayloadLayer(const std::string& payloadAsHexStream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:41,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:46,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - newPayload
    - newPayloadLength
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: pcpp::PayloadLayer::setPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - memcpy
    - shortenLayer
    linkageType: ''
    returnType: void
    signature: void PayloadLayer::setPayload(const uint8_t* newPayload, size_t newPayloadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: pcpp::PayloadLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string PayloadLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:22,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:22,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:22,1
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6Extension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: '& IPv6Extension::operator=(const IPv6Extension& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - getDataPtr
    - getExtensionLen
    linkageType: ''
    returnType: IPv6Extension
    signature: IPv6Extension & IPv6Extension::operator=(const IPv6Extension& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Extension::getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: pcpp::IPv6Extension::getDataPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv6Extension::getDataPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * IPv6Extension::getDataPtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: pcpp::IPv6Extension::initShadowPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void IPv6Extension::initShadowPtr(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: IPv6Extension::~IPv6Extension()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Extension::~IPv6Extension()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initShadowPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:54,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:56,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:56,1
    - Dst: pcpp::IPv6FragmentationHeader::getFragHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:58,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:61,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:64,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - fragId
    - fragOffset
    - lastFragment
    argTypes:
    - uint32_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: pcpp::IPv6FragmentationHeader::IPv6FragmentationHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IPv6FragmentationHeader::getFragHeader
    - htobe32
    - getDataPtr
    - memset
    - static_cast<uint16_t>
    - initShadowPtr
    linkageType: ''
    returnType: void
    signature: void IPv6FragmentationHeader::IPv6FragmentationHeader(uint32_t fragId,
      uint16_t fragOffset, bool lastFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6FragmentationHeader::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: pcpp::IPv6FragmentationHeader::isFirstFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6FragmentationHeader::getFragmentOffset
    linkageType: ''
    returnType: bool
    signature: bool IPv6FragmentationHeader::isFirstFragment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6FragmentationHeader::isMoreFragments
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: pcpp::IPv6FragmentationHeader::isLastFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6FragmentationHeader::isMoreFragments
    linkageType: ''
    returnType: bool
    signature: bool IPv6FragmentationHeader::isLastFragment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6FragmentationHeader::getFragHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: pcpp::IPv6FragmentationHeader::isMoreFragments
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv6FragmentationHeader::getFragHeader
    linkageType: ''
    returnType: bool
    signature: bool IPv6FragmentationHeader::isMoreFragments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:89,1
    - Dst: pcpp::IPv6FragmentationHeader::getFragHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: pcpp::IPv6FragmentationHeader::getFragmentOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::IPv6FragmentationHeader::getFragHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t IPv6FragmentationHeader::getFragmentOffset() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:99,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:108,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:114,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:117,1
    - Dst: IPv6Option
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 122
    functionName: IPv6TLVOptionHeader::IPv6TLVOptionBuilder::build() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - IPv6Option
    - memcpy
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: IPv6TLVOptionHeader::IPv6Option
    signature: IPv6TLVOptionHeader::IPv6Option IPv6TLVOptionHeader::IPv6TLVOptionBuilder::build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:130,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:130,1
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: pcpp::IPv6TLVOptionHeader::getOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    - getExtensionLen
    - getTLVRecord
    linkageType: ''
    returnType: IPv6TLVOptionHeader::IPv6Option
    signature: IPv6TLVOptionHeader::IPv6Option IPv6TLVOptionHeader::getOption(uint8_t
      optionType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:136,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:136,1
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: pcpp::IPv6TLVOptionHeader::getFirstOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - getDataPtr
    - getExtensionLen
    linkageType: ''
    returnType: IPv6TLVOptionHeader::IPv6Option
    signature: IPv6TLVOptionHeader::IPv6Option IPv6TLVOptionHeader::getFirstOption()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:142,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:142,1
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - IPv6TLVOptionHeader::IPv6Option
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: pcpp::IPv6TLVOptionHeader::getNextOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    - getExtensionLen
    - getNextTLVRecord
    linkageType: ''
    returnType: IPv6TLVOptionHeader::IPv6Option
    signature: IPv6TLVOptionHeader::IPv6Option IPv6TLVOptionHeader::getNextOption(IPv6TLVOptionHeader::IPv6Option&
      option) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:148,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:148,1
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: pcpp::IPv6TLVOptionHeader::getOptionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    - getExtensionLen
    - getTLVRecordCount
    linkageType: ''
    returnType: size_t
    signature: size_t IPv6TLVOptionHeader::getOptionCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:155,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:155,1
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:161,1
    - Dst: IPv6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:162,1
    - Dst: IPv6Option::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:163,1
    - Dst: initShadowPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:169,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:170,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:170,1
    - Dst: getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:172,1
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:178,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:179,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:179,1
    - Dst: IPv6Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:179,1
    - Dst: IPv6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:179,1
    - Dst: IPv6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:180,1
    - Dst: IPv6Option::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - std::vector<IPv6TLVOptionBuilder>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 183
    functionName: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - getBaseHeader
    - IPv6Option::getTotalSize
    - IPv6Option::getRecordBasePtr
    - size
    - memcpy
    - getDataPtr
    - IPv6Option::purgeRecordData
    - memset
    - build
    - initShadowPtr
    - changeTLVRecordCount
    linkageType: ''
    returnType: void
    signature: void IPv6TLVOptionHeader::IPv6TLVOptionHeader(const std::vector<IPv6TLVOptionBuilder>&
      options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6TLVOptionHeader::IPv6TLVOptionHeader(IDataContainer* dataContainer,
      size_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initShadowPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:200,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:201,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:201,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:205,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:213,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - routingType
    - segmentsLeft
    - additionalRoutingData
    - additionalRoutingDataLen
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 216
    functionName: pcpp::IPv6RoutingHeader::IPv6RoutingHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6RoutingHeader::getRoutingHeader
    - memcpy
    - getDataPtr
    - memset
    - initShadowPtr
    linkageType: ''
    returnType: void
    signature: "void IPv6RoutingHeader::IPv6RoutingHeader(uint8_t routingType, uint8_t
      segmentsLeft,\n\t                                     const uint8_t* additionalRoutingData,
      size_t additionalRoutingDataLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:220,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: pcpp::IPv6RoutingHeader::getRoutingAdditionalData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    - getExtensionLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * IPv6RoutingHeader::getRoutingAdditionalData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - getExtensionLen
    linkageType: ''
    returnType: size_t
    signature: size_t IPv6RoutingHeader::getRoutingAdditionalDataLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataLength
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:238,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:240,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalData
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:240,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - IPv6Address
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataLength
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalData
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address(size_t
      offset) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initShadowPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:257,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:258,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:258,1
    - Dst: pcpp::IPv6AuthenticationHeader::getAuthHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:262,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:265,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:266,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:270,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - securityParametersIndex
    - sequenceNumber
    - integrityCheckValue
    - integrityCheckValueLen
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 273
    functionName: pcpp::IPv6AuthenticationHeader::IPv6AuthenticationHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6AuthenticationHeader::getAuthHeader
    - htobe32
    - memcpy
    - getDataPtr
    - memset
    - initShadowPtr
    linkageType: ''
    returnType: void
    signature: "void IPv6AuthenticationHeader::IPv6AuthenticationHeader(uint32_t securityParametersIndex,
      uint32_t sequenceNumber,\n\t                                                   const
      uint8_t* integrityCheckValue,\n\t                                                   size_t
      integrityCheckValueLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6AuthenticationHeader::getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:277,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: pcpp::IPv6AuthenticationHeader::getIntegrityCheckValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6AuthenticationHeader::getExtensionLen
    - getDataPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * IPv6AuthenticationHeader::getIntegrityCheckValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6AuthenticationHeader::getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: pcpp::IPv6AuthenticationHeader::getIntegrityCheckValueLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6AuthenticationHeader::getExtensionLen
    linkageType: ''
    returnType: size_t
    signature: size_t IPv6AuthenticationHeader::getIntegrityCheckValueLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:22,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:22,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:22,1
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6Extension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: '& IPv6Extension::operator=(const IPv6Extension& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - getDataPtr
    - getExtensionLen
    linkageType: ''
    returnType: IPv6Extension
    signature: IPv6Extension & IPv6Extension::operator=(const IPv6Extension& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Extension::getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: pcpp::IPv6Extension::getDataPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv6Extension::getDataPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * IPv6Extension::getDataPtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: pcpp::IPv6Extension::initShadowPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void IPv6Extension::initShadowPtr(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: IPv6Extension::~IPv6Extension()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Extension::~IPv6Extension()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initShadowPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:54,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:56,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:56,1
    - Dst: pcpp::IPv6FragmentationHeader::getFragHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:58,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:61,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:64,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - fragId
    - fragOffset
    - lastFragment
    argTypes:
    - uint32_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: pcpp::IPv6FragmentationHeader::IPv6FragmentationHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IPv6FragmentationHeader::getFragHeader
    - htobe32
    - getDataPtr
    - memset
    - static_cast<uint16_t>
    - initShadowPtr
    linkageType: ''
    returnType: void
    signature: void IPv6FragmentationHeader::IPv6FragmentationHeader(uint32_t fragId,
      uint16_t fragOffset, bool lastFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6FragmentationHeader::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: pcpp::IPv6FragmentationHeader::isFirstFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6FragmentationHeader::getFragmentOffset
    linkageType: ''
    returnType: bool
    signature: bool IPv6FragmentationHeader::isFirstFragment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6FragmentationHeader::isMoreFragments
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: pcpp::IPv6FragmentationHeader::isLastFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6FragmentationHeader::isMoreFragments
    linkageType: ''
    returnType: bool
    signature: bool IPv6FragmentationHeader::isLastFragment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6FragmentationHeader::getFragHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: pcpp::IPv6FragmentationHeader::isMoreFragments
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv6FragmentationHeader::getFragHeader
    linkageType: ''
    returnType: bool
    signature: bool IPv6FragmentationHeader::isMoreFragments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:89,1
    - Dst: pcpp::IPv6FragmentationHeader::getFragHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: pcpp::IPv6FragmentationHeader::getFragmentOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - pcpp::IPv6FragmentationHeader::getFragHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t IPv6FragmentationHeader::getFragmentOffset() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:99,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:108,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:109,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:114,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:117,1
    - Dst: IPv6Option
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 122
    functionName: IPv6TLVOptionHeader::IPv6TLVOptionBuilder::build() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - IPv6Option
    - memcpy
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: IPv6TLVOptionHeader::IPv6Option
    signature: IPv6TLVOptionHeader::IPv6Option IPv6TLVOptionHeader::IPv6TLVOptionBuilder::build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:130,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:130,1
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: pcpp::IPv6TLVOptionHeader::getOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    - getExtensionLen
    - getTLVRecord
    linkageType: ''
    returnType: IPv6TLVOptionHeader::IPv6Option
    signature: IPv6TLVOptionHeader::IPv6Option IPv6TLVOptionHeader::getOption(uint8_t
      optionType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:136,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:136,1
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: pcpp::IPv6TLVOptionHeader::getFirstOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - getDataPtr
    - getExtensionLen
    linkageType: ''
    returnType: IPv6TLVOptionHeader::IPv6Option
    signature: IPv6TLVOptionHeader::IPv6Option IPv6TLVOptionHeader::getFirstOption()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:142,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:142,1
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - IPv6TLVOptionHeader::IPv6Option
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: pcpp::IPv6TLVOptionHeader::getNextOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    - getExtensionLen
    - getNextTLVRecord
    linkageType: ''
    returnType: IPv6TLVOptionHeader::IPv6Option
    signature: IPv6TLVOptionHeader::IPv6Option IPv6TLVOptionHeader::getNextOption(IPv6TLVOptionHeader::IPv6Option&
      option) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:148,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:148,1
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: pcpp::IPv6TLVOptionHeader::getOptionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    - getExtensionLen
    - getTLVRecordCount
    linkageType: ''
    returnType: size_t
    signature: size_t IPv6TLVOptionHeader::getOptionCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:155,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:155,1
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:161,1
    - Dst: IPv6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:162,1
    - Dst: IPv6Option::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:163,1
    - Dst: initShadowPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:169,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:170,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:170,1
    - Dst: getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:172,1
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:178,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:179,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:179,1
    - Dst: IPv6Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:179,1
    - Dst: IPv6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:179,1
    - Dst: IPv6Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:180,1
    - Dst: IPv6Option::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - std::vector<IPv6TLVOptionBuilder>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 183
    functionName: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - getBaseHeader
    - IPv6Option::getTotalSize
    - IPv6Option::getRecordBasePtr
    - size
    - memcpy
    - getDataPtr
    - IPv6Option::purgeRecordData
    - memset
    - build
    - initShadowPtr
    - changeTLVRecordCount
    linkageType: ''
    returnType: void
    signature: void IPv6TLVOptionHeader::IPv6TLVOptionHeader(const std::vector<IPv6TLVOptionBuilder>&
      options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6TLVOptionHeader::IPv6TLVOptionHeader(IDataContainer* dataContainer,
      size_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initShadowPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:200,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:201,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:201,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:205,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:213,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - routingType
    - segmentsLeft
    - additionalRoutingData
    - additionalRoutingDataLen
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 216
    functionName: pcpp::IPv6RoutingHeader::IPv6RoutingHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6RoutingHeader::getRoutingHeader
    - memcpy
    - getDataPtr
    - memset
    - initShadowPtr
    linkageType: ''
    returnType: void
    signature: "void IPv6RoutingHeader::IPv6RoutingHeader(uint8_t routingType, uint8_t
      segmentsLeft,\n\t                                     const uint8_t* additionalRoutingData,
      size_t additionalRoutingDataLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:220,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: pcpp::IPv6RoutingHeader::getRoutingAdditionalData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 1
    functionsReached:
    - getDataPtr
    - getExtensionLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * IPv6RoutingHeader::getRoutingAdditionalData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 1
    functionsReached:
    - getExtensionLen
    linkageType: ''
    returnType: size_t
    signature: size_t IPv6RoutingHeader::getRoutingAdditionalDataLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataLength
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:238,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:240,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalData
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:240,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - IPv6Address
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataLength
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalData
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address(size_t
      offset) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initShadowPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:257,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:258,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:258,1
    - Dst: pcpp::IPv6AuthenticationHeader::getAuthHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:262,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:265,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:266,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:270,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - securityParametersIndex
    - sequenceNumber
    - integrityCheckValue
    - integrityCheckValueLen
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 273
    functionName: pcpp::IPv6AuthenticationHeader::IPv6AuthenticationHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6AuthenticationHeader::getAuthHeader
    - htobe32
    - memcpy
    - getDataPtr
    - memset
    - initShadowPtr
    linkageType: ''
    returnType: void
    signature: "void IPv6AuthenticationHeader::IPv6AuthenticationHeader(uint32_t securityParametersIndex,
      uint32_t sequenceNumber,\n\t                                                   const
      uint8_t* integrityCheckValue,\n\t                                                   size_t
      integrityCheckValueLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6AuthenticationHeader::getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:277,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: pcpp::IPv6AuthenticationHeader::getIntegrityCheckValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6AuthenticationHeader::getExtensionLen
    - getDataPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * IPv6AuthenticationHeader::getIntegrityCheckValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6AuthenticationHeader::getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: pcpp::IPv6AuthenticationHeader::getIntegrityCheckValueLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6AuthenticationHeader::getExtensionLen
    linkageType: ''
    returnType: size_t
    signature: size_t IPv6AuthenticationHeader::getIntegrityCheckValueLength() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:11,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:13,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:16,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:18,1
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:21,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:26,1
    - Dst: std::ostringstream::write
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:30,1
    - Dst: std::ostringstream::put
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:31,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' data'
    - ' label'
    argTypes:
    - std::vector<uint8_t>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 36
    functionName: pcpp::PemCodec::encode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - empty
    - std::ostringstream::put
    - auto::size
    - pcpp::Base64::encode
    - std::ostringstream::str
    - std::ostringstream::write
    linkageType: ''
    returnType: std::string
    signature: std::string PemCodec::encode(const std::vector<uint8_t>& data, const
      std::string& label)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:46,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:48,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:48,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:48,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:48,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:48,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:50,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:54,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:57,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:57,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:58,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:60,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:63,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:65,1
    - Dst: std::string::compare
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:69,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:69,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:71,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:78,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:82,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:85,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:85,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:88,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:93,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:99,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:99,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:101,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:104,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:106,1
    - Dst: pcpp::Base64::decodeToByteVector
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:109,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    argCount: 2
    argNames:
    - ' pemData'
    - ' expectedLabel'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 110
    functionName: pcpp::PemCodec::decode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - std::string::compare
    - std::getline
    - empty
    - std::string::empty
    - std::string::substr
    - pcpp::Base64::decodeToByteVector
    - std::remove
    - std::string::begin
    - std::string::erase
    - std::string::size
    - std::string::end
    - std::string::find
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PemCodec::decode(const std::string& pemData, const
      std::string& expectedLabel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:11,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:13,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:16,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:18,1
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:21,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:26,1
    - Dst: std::ostringstream::write
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:30,1
    - Dst: std::ostringstream::put
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:31,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' data'
    - ' label'
    argTypes:
    - std::vector<uint8_t>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 36
    functionName: pcpp::PemCodec::encode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - empty
    - std::ostringstream::put
    - auto::size
    - pcpp::Base64::encode
    - std::ostringstream::str
    - std::ostringstream::write
    linkageType: ''
    returnType: std::string
    signature: std::string PemCodec::encode(const std::vector<uint8_t>& data, const
      std::string& label)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:46,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:48,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:48,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:48,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:48,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:48,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:50,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:54,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:57,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:57,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:58,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:60,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:63,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:65,1
    - Dst: std::string::compare
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:69,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:69,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:71,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:78,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:82,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:85,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:85,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:88,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:93,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:99,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:99,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:101,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:104,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:106,1
    - Dst: pcpp::Base64::decodeToByteVector
      Src: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp:109,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    argCount: 2
    argNames:
    - ' pemData'
    - ' expectedLabel'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 110
    functionName: pcpp::PemCodec::decode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - std::string::compare
    - std::getline
    - empty
    - std::string::empty
    - std::string::substr
    - pcpp::Base64::decodeToByteVector
    - std::remove
    - std::string::begin
    - std::string::erase
    - std::string::size
    - std::string::end
    - std::string::find
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PemCodec::decode(const std::string& pemData, const
      std::string& expectedLabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp:14,1
    - Dst: pcpp::LLCLayer::getLlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - dsap
    - ssap
    - control
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 22
    functionName: pcpp::LLCLayer::LLCLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LLCLayer::getLlcHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void LLCLayer::LLCLayer(uint8_t dsap, uint8_t ssap, uint8_t control)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LLCLayer::getLlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp:29,1
    - Dst: pcpp::StpLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp:33,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp:35,1
    - Dst: hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp:38,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: pcpp::LLCLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - hasNextLayer
    - pcpp::StpLayer::isDataValid
    - pcpp::LLCLayer::getLlcHeader
    - constructNextLayerFromFactory
    linkageType: ''
    returnType: void
    signature: void LLCLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::LLCLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string LLCLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::LLCLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LLCLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp:14,1
    - Dst: pcpp::LLCLayer::getLlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - dsap
    - ssap
    - control
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 22
    functionName: pcpp::LLCLayer::LLCLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LLCLayer::getLlcHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void LLCLayer::LLCLayer(uint8_t dsap, uint8_t ssap, uint8_t control)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LLCLayer::getLlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp:29,1
    - Dst: pcpp::StpLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp:33,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp:35,1
    - Dst: hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp:38,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: pcpp::LLCLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - hasNextLayer
    - pcpp::StpLayer::isDataValid
    - pcpp::LLCLayer::getLlcHeader
    - constructNextLayerFromFactory
    linkageType: ''
    returnType: void
    signature: void LLCLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::LLCLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string LLCLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::LLCLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool LLCLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:12,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:15,1
    - Dst: pcpp::WakeOnLanLayer::getWakeOnLanHeader
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - len
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: pcpp::WakeOnLanLayer::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WakeOnLanLayer::getWakeOnLanHeader
    - memset
    - allocData
    linkageType: ''
    returnType: void
    signature: void WakeOnLanLayer::init(uint16_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:20,1
    - Dst: pcpp::WakeOnLanLayer::setTargetAddr
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' targetAddr'
    argTypes:
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: pcpp::WakeOnLanLayer::WakeOnLanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WakeOnLanLayer::setTargetAddr
    - pcpp::WakeOnLanLayer::init
    linkageType: ''
    returnType: void
    signature: void WakeOnLanLayer::WakeOnLanLayer(const pcpp::MacAddress& targetAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:26,1
    - Dst: pcpp::WakeOnLanLayer::setTargetAddr
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:27,1
    - Dst: pcpp::WakeOnLanLayer::setPassword
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' targetAddr'
    - password
    - len
    argTypes:
    - pcpp::MacAddress
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: pcpp::WakeOnLanLayer::WakeOnLanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WakeOnLanLayer::setTargetAddr
    - pcpp::WakeOnLanLayer::setPassword
    - pcpp::WakeOnLanLayer::init
    linkageType: ''
    returnType: void
    signature: void WakeOnLanLayer::WakeOnLanLayer(const pcpp::MacAddress& targetAddr,
      uint8_t* password, uint8_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:33,1
    - Dst: pcpp::WakeOnLanLayer::setTargetAddr
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:34,1
    - Dst: pcpp::WakeOnLanLayer::setPassword
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' targetAddr'
    - ' password'
    argTypes:
    - pcpp::MacAddress
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: pcpp::WakeOnLanLayer::WakeOnLanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WakeOnLanLayer::setTargetAddr
    - pcpp::WakeOnLanLayer::setPassword
    - pcpp::WakeOnLanLayer::init
    linkageType: ''
    returnType: void
    signature: void WakeOnLanLayer::WakeOnLanLayer(const pcpp::MacAddress& targetAddr,
      const pcpp::MacAddress& password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:40,1
    - Dst: pcpp::WakeOnLanLayer::setTargetAddr
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:41,1
    - Dst: pcpp::WakeOnLanLayer::setPassword
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' targetAddr'
    - ' password'
    argTypes:
    - pcpp::MacAddress
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: pcpp::WakeOnLanLayer::WakeOnLanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WakeOnLanLayer::setTargetAddr
    - pcpp::WakeOnLanLayer::setPassword
    - pcpp::WakeOnLanLayer::init
    linkageType: ''
    returnType: void
    signature: void WakeOnLanLayer::WakeOnLanLayer(const pcpp::MacAddress& targetAddr,
      const IPv4Address& password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:47,1
    - Dst: pcpp::WakeOnLanLayer::getWakeOnLanHeader
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: pcpp::WakeOnLanLayer::getTargetAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WakeOnLanLayer::getWakeOnLanHeader
    - pcpp::StpLayer::IDtoMacAddress
    linkageType: ''
    returnType: pcpp::MacAddress
    signature: pcpp::MacAddress WakeOnLanLayer::getTargetAddr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:53,1
    - Dst: pcpp::WakeOnLanLayer::getWakeOnLanHeader
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:53,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' targetAddr'
    argTypes:
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: pcpp::WakeOnLanLayer::setTargetAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 4
    functionsReached:
    - memcpy
    - getRawData
    - pcpp::WakeOnLanLayer::getWakeOnLanHeader
    linkageType: ''
    returnType: void
    signature: void WakeOnLanLayer::setTargetAddr(const pcpp::MacAddress& targetAddr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:62,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:64,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:66,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: pcpp::WakeOnLanLayer::getPassword
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 0
    functionsReached:
    - MacAddress
    - IPv4Address
    - string
    - byteArrayToHexString
    linkageType: ''
    returnType: std::string
    signature: std::string WakeOnLanLayer::getPassword() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:78,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:80,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:86,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:88,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - password
    - len
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: pcpp::WakeOnLanLayer::setPassword
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 3
    functionsReached:
    - extendLayer
    - memcpy
    - shortenLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool WakeOnLanLayer::setPassword(const uint8_t* password, uint8_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::setPassword
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:100,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:100,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:100,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' password'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pcpp::WakeOnLanLayer::setPassword
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - pcpp::WakeOnLanLayer::setPassword
    - c_str
    - size
    linkageType: ''
    returnType: bool
    signature: bool WakeOnLanLayer::setPassword(const std::string& password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::setPassword
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:105,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: pcpp::WakeOnLanLayer::setPassword
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 5
    functionsReached:
    - getRawData
    - pcpp::WakeOnLanLayer::setPassword
    linkageType: ''
    returnType: bool
    signature: bool WakeOnLanLayer::setPassword(const MacAddress& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::setPassword
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:110,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pcpp::WakeOnLanLayer::setPassword
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 6
    functionsReached:
    - toBytes
    - pcpp::WakeOnLanLayer::setPassword
    linkageType: ''
    returnType: bool
    signature: bool WakeOnLanLayer::setPassword(const IPv4Address& addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: pcpp::WakeOnLanLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::StpLayer::IDtoMacAddress
    linkageType: ''
    returnType: bool
    signature: bool WakeOnLanLayer::isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::getTargetAddr
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: pcpp::WakeOnLanLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WakeOnLanLayer::getTargetAddr
    linkageType: ''
    returnType: std::string
    signature: std::string WakeOnLanLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:12,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:15,1
    - Dst: pcpp::WakeOnLanLayer::getWakeOnLanHeader
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - len
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: pcpp::WakeOnLanLayer::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 4
    functionsReached:
    - pcpp::WakeOnLanLayer::getWakeOnLanHeader
    - memset
    - allocData
    linkageType: ''
    returnType: void
    signature: void WakeOnLanLayer::init(uint16_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:20,1
    - Dst: pcpp::WakeOnLanLayer::setTargetAddr
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' targetAddr'
    argTypes:
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: pcpp::WakeOnLanLayer::WakeOnLanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WakeOnLanLayer::setTargetAddr
    - pcpp::WakeOnLanLayer::init
    linkageType: ''
    returnType: void
    signature: void WakeOnLanLayer::WakeOnLanLayer(const pcpp::MacAddress& targetAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:26,1
    - Dst: pcpp::WakeOnLanLayer::setTargetAddr
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:27,1
    - Dst: pcpp::WakeOnLanLayer::setPassword
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' targetAddr'
    - password
    - len
    argTypes:
    - pcpp::MacAddress
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: pcpp::WakeOnLanLayer::WakeOnLanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WakeOnLanLayer::setTargetAddr
    - pcpp::WakeOnLanLayer::setPassword
    - pcpp::WakeOnLanLayer::init
    linkageType: ''
    returnType: void
    signature: void WakeOnLanLayer::WakeOnLanLayer(const pcpp::MacAddress& targetAddr,
      uint8_t* password, uint8_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:33,1
    - Dst: pcpp::WakeOnLanLayer::setTargetAddr
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:34,1
    - Dst: pcpp::WakeOnLanLayer::setPassword
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' targetAddr'
    - ' password'
    argTypes:
    - pcpp::MacAddress
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: pcpp::WakeOnLanLayer::WakeOnLanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WakeOnLanLayer::setTargetAddr
    - pcpp::WakeOnLanLayer::setPassword
    - pcpp::WakeOnLanLayer::init
    linkageType: ''
    returnType: void
    signature: void WakeOnLanLayer::WakeOnLanLayer(const pcpp::MacAddress& targetAddr,
      const pcpp::MacAddress& password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:40,1
    - Dst: pcpp::WakeOnLanLayer::setTargetAddr
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:41,1
    - Dst: pcpp::WakeOnLanLayer::setPassword
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' targetAddr'
    - ' password'
    argTypes:
    - pcpp::MacAddress
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: pcpp::WakeOnLanLayer::WakeOnLanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WakeOnLanLayer::setTargetAddr
    - pcpp::WakeOnLanLayer::setPassword
    - pcpp::WakeOnLanLayer::init
    linkageType: ''
    returnType: void
    signature: void WakeOnLanLayer::WakeOnLanLayer(const pcpp::MacAddress& targetAddr,
      const IPv4Address& password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:47,1
    - Dst: pcpp::WakeOnLanLayer::getWakeOnLanHeader
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: pcpp::WakeOnLanLayer::getTargetAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::WakeOnLanLayer::getWakeOnLanHeader
    - pcpp::StpLayer::IDtoMacAddress
    linkageType: ''
    returnType: pcpp::MacAddress
    signature: pcpp::MacAddress WakeOnLanLayer::getTargetAddr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:53,1
    - Dst: pcpp::WakeOnLanLayer::getWakeOnLanHeader
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:53,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' targetAddr'
    argTypes:
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: pcpp::WakeOnLanLayer::setTargetAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 8
    functionsReached:
    - memcpy
    - getRawData
    - pcpp::WakeOnLanLayer::getWakeOnLanHeader
    linkageType: ''
    returnType: void
    signature: void WakeOnLanLayer::setTargetAddr(const pcpp::MacAddress& targetAddr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:62,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:64,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:66,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: pcpp::WakeOnLanLayer::getPassword
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 0
    functionsReached:
    - MacAddress
    - IPv4Address
    - string
    - byteArrayToHexString
    linkageType: ''
    returnType: std::string
    signature: std::string WakeOnLanLayer::getPassword() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:78,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:80,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:86,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:88,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - password
    - len
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 96
    functionName: pcpp::WakeOnLanLayer::setPassword
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 9
    functionsReached:
    - extendLayer
    - memcpy
    - shortenLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool WakeOnLanLayer::setPassword(const uint8_t* password, uint8_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::setPassword
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:100,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:100,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:100,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' password'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pcpp::WakeOnLanLayer::setPassword
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 10
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - pcpp::WakeOnLanLayer::setPassword
    - c_str
    - size
    linkageType: ''
    returnType: bool
    signature: bool WakeOnLanLayer::setPassword(const std::string& password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::setPassword
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:105,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: pcpp::WakeOnLanLayer::setPassword
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 11
    functionsReached:
    - getRawData
    - pcpp::WakeOnLanLayer::setPassword
    linkageType: ''
    returnType: bool
    signature: bool WakeOnLanLayer::setPassword(const MacAddress& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::setPassword
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:110,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pcpp::WakeOnLanLayer::setPassword
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 12
    functionsReached:
    - toBytes
    - pcpp::WakeOnLanLayer::setPassword
    linkageType: ''
    returnType: bool
    signature: bool WakeOnLanLayer::setPassword(const IPv4Address& addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: pcpp::WakeOnLanLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::StpLayer::IDtoMacAddress
    linkageType: ''
    returnType: bool
    signature: bool WakeOnLanLayer::isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WakeOnLanLayer::getTargetAddr
      Src: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: pcpp::WakeOnLanLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WakeOnLanLayer::getTargetAddr
    linkageType: ''
    returnType: std::string
    signature: std::string WakeOnLanLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: pcpp::NtpLayer::NtpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - allocData
    linkageType: ''
    returnType: void
    signature: void NtpLayer::NtpLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:25,1
    - Dst: static_cast<LeapIndicator>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:26,1
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:26,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: pcpp::NtpLayer::getLeapIndicator
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<LeapIndicator>
    - PCPP_LOG_ERROR
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: NtpLayer::LeapIndicator
    signature: NtpLayer::LeapIndicator NtpLayer::getLeapIndicator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - LeapIndicator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::NtpLayer::setLeapIndicator
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setLeapIndicator(LeapIndicator val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: pcpp::NtpLayer::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t NtpLayer::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pcpp::NtpLayer::setVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setVersion(uint8_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:48,1
    - Dst: static_cast<Mode>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:49,1
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:49,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: pcpp::NtpLayer::getMode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Mode>
    - PCPP_LOG_ERROR
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: NtpLayer::Mode
    signature: NtpLayer::Mode NtpLayer::getMode() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getMode
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:56,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:75,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: pcpp::NtpLayer::getModeString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getMode
    - string
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::getModeString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: pcpp::NtpLayer::setMode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setMode(Mode val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: pcpp::NtpLayer::getStratum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t NtpLayer::getStratum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: pcpp::NtpLayer::setStratum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setStratum(uint8_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: pcpp::NtpLayer::getPollInterval
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: int8_t
    signature: int8_t NtpLayer::getPollInterval() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: pcpp::NtpLayer::setPollInterval
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setPollInterval(int8_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:107,1
    - Dst: pcpp::NtpLayer::getPollInterval
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::NtpLayer::getPollIntervalInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pow
    - pcpp::NtpLayer::getPollInterval
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getPollIntervalInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: pcpp::NtpLayer::getPrecision
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: int8_t
    signature: int8_t NtpLayer::getPrecision() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: pcpp::NtpLayer::setPrecision
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setPrecision(int8_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:122,1
    - Dst: pcpp::NtpLayer::getPrecision
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: pcpp::NtpLayer::getPrecisionInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getPrecision
    - pow
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getPrecisionInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pcpp::NtpLayer::getRootDelay
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NtpLayer::getRootDelay() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pcpp::NtpLayer::setRootDelay
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setRootDelay(uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertFromShortFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:137,1
    - Dst: pcpp::NtpLayer::getRootDelay
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: pcpp::NtpLayer::getRootDelayInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getRootDelay
    - pcpp::NtpLayer::convertFromShortFormat
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getRootDelayInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:142,1
    - Dst: pcpp::NtpLayer::convertToShortFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: pcpp::NtpLayer::setRootDelayInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToShortFormat
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setRootDelayInSecs(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: pcpp::NtpLayer::getRootDispersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NtpLayer::getRootDispersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: pcpp::NtpLayer::setRootDispersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setRootDispersion(uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertFromShortFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:157,1
    - Dst: pcpp::NtpLayer::getRootDispersion
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: pcpp::NtpLayer::getRootDispersionInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getRootDispersion
    - pcpp::NtpLayer::convertFromShortFormat
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getRootDispersionInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:162,1
    - Dst: pcpp::NtpLayer::convertToShortFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: pcpp::NtpLayer::setRootDispersionInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToShortFormat
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setRootDispersionInSecs(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: pcpp::NtpLayer::getReferenceIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NtpLayer::getReferenceIdentifier() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:172,1
    - Dst: IPv4Address::toInt
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: pcpp::NtpLayer::setReferenceIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - IPv4Address::toInt
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setReferenceIdentifier(IPv4Address val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:177,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - ClockSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: pcpp::NtpLayer::setReferenceIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setReferenceIdentifier(ClockSource val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:182,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - KissODeath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pcpp::NtpLayer::setReferenceIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setReferenceIdentifier(KissODeath val)
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getStratum
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:187,1
    - Dst: pcpp::NtpLayer::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:188,1
    - Dst: pcpp::NtpLayer::getReferenceIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:189,1
    - Dst: static_cast<ClockSource>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:197,1
    - Dst: static_cast<KissODeath>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:213,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:249,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:250,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:251,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:252,1
    - Dst: static_cast<ClockSource>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:267,1
    - Dst: static_cast<ClockSource>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:285,1
    - Dst: pcpp::IPv4Address::toString
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:360,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:363,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 146
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 365
    functionName: pcpp::NtpLayer::getReferenceIdentifierString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getVersion
    - pcpp::IPv4Address::toString
    - string
    - PCPP_LOG_ERROR
    - static_cast<ClockSource>
    - static_cast<char>
    - static_cast<KissODeath>
    - pcpp::NtpLayer::getReferenceIdentifier
    - pcpp::NtpLayer::getStratum
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::getReferenceIdentifierString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: pcpp::NtpLayer::getReferenceTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NtpLayer::getReferenceTimestamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: pcpp::NtpLayer::setReferenceTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setReferenceTimestamp(uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertFromTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:379,1
    - Dst: pcpp::NtpLayer::getReferenceTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: pcpp::NtpLayer::getReferenceTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertFromTimestampFormat
    - pcpp::NtpLayer::getReferenceTimestamp
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getReferenceTimestampInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:384,1
    - Dst: pcpp::NtpLayer::convertToTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: pcpp::NtpLayer::setReferenceTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToTimestampFormat
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setReferenceTimestampInSecs(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:389,1
    - Dst: pcpp::NtpLayer::getReferenceTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: pcpp::NtpLayer::getReferenceTimestampAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToIsoFormat
    - pcpp::NtpLayer::getReferenceTimestamp
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::getReferenceTimestampAsString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: pcpp::NtpLayer::getOriginTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NtpLayer::getOriginTimestamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: pcpp::NtpLayer::setOriginTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setOriginTimestamp(uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertFromTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:404,1
    - Dst: pcpp::NtpLayer::getOriginTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: pcpp::NtpLayer::getOriginTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertFromTimestampFormat
    - pcpp::NtpLayer::getOriginTimestamp
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getOriginTimestampInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:409,1
    - Dst: pcpp::NtpLayer::convertToTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 410
    functionName: pcpp::NtpLayer::setOriginTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToTimestampFormat
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setOriginTimestampInSecs(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:414,1
    - Dst: pcpp::NtpLayer::getOriginTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: pcpp::NtpLayer::getOriginTimestampAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToIsoFormat
    - pcpp::NtpLayer::getOriginTimestamp
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::getOriginTimestampAsString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: pcpp::NtpLayer::getReceiveTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NtpLayer::getReceiveTimestamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: pcpp::NtpLayer::setReceiveTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setReceiveTimestamp(uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertFromTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:429,1
    - Dst: pcpp::NtpLayer::getReceiveTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: pcpp::NtpLayer::getReceiveTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getReceiveTimestamp
    - pcpp::NtpLayer::convertFromTimestampFormat
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getReceiveTimestampInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:434,1
    - Dst: pcpp::NtpLayer::convertToTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: pcpp::NtpLayer::setReceiveTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToTimestampFormat
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setReceiveTimestampInSecs(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:439,1
    - Dst: pcpp::NtpLayer::getReceiveTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: pcpp::NtpLayer::getReceiveTimestampAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getReceiveTimestamp
    - pcpp::NtpLayer::convertToIsoFormat
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::getReceiveTimestampAsString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: pcpp::NtpLayer::getTransmitTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NtpLayer::getTransmitTimestamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: pcpp::NtpLayer::setTransmitTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setTransmitTimestamp(uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertFromTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:454,1
    - Dst: pcpp::NtpLayer::getTransmitTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: pcpp::NtpLayer::getTransmitTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertFromTimestampFormat
    - pcpp::NtpLayer::getTransmitTimestamp
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getTransmitTimestampInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:459,1
    - Dst: pcpp::NtpLayer::convertToTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: pcpp::NtpLayer::setTransmitTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToTimestampFormat
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setTransmitTimestampInSecs(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:464,1
    - Dst: pcpp::NtpLayer::getTransmitTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: pcpp::NtpLayer::getTransmitTimestampAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToIsoFormat
    - pcpp::NtpLayer::getTransmitTimestamp
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::getTransmitTimestampAsString()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:469,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:493,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 502
    functionName: pcpp::NtpLayer::getKeyID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getVersion
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NtpLayer::getKeyID() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:506,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:511,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:514,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:521,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:526,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:529,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:530,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:533,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 536
    functionName: pcpp::NtpLayer::getDigest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    - pcpp::NtpLayer::getVersion
    - string
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::getDigest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: netToHost16
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:540,1
    - Dst: netToHost16
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 544
    functionName: pcpp::NtpLayer::convertFromShortFormat
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 2
    functionsReached:
    - netToHost16
    linkageType: ''
    returnType: double
    signature: double NtpLayer::convertFromShortFormat(const uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: netToHost32
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:548,1
    - Dst: netToHost32
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 554
    functionName: pcpp::NtpLayer::convertFromTimestampFormat
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 4
    functionsReached:
    - netToHost32
    linkageType: ''
    returnType: double
    signature: double NtpLayer::convertFromTimestampFormat(const uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modf
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:559,1
    - Dst: hostToNet16
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:562,1
    - Dst: hostToNet16
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 566
    functionName: pcpp::NtpLayer::convertToShortFormat
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 2
    functionsReached:
    - modf
    - hostToNet16
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NtpLayer::convertToShortFormat(const double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modf
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:571,1
    - Dst: hostToNet32
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:574,1
    - Dst: hostToNet32
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 578
    functionName: pcpp::NtpLayer::convertToTimestampFormat
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 4
    functionsReached:
    - hostToNet32
    - modf
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NtpLayer::convertToTimestampFormat(const double val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: modf
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:583,1
    - Dst: gmtime
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:590,1
    - Dst: gmtime_r
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:593,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:600,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:601,1
    - Dst: strftime
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:604,1
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:606,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:606,1
    - Dst: strncat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:607,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - timestamp
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 610
    functionName: pcpp::NtpLayer::convertToIsoFormat
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 4
    functionsReached:
    - strncat
    - string
    - fabs
    - modf
    - PCPP_LOG_ERROR
    - gmtime
    - snprintf
    - gmtime_r
    - strftime
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::convertToIsoFormat(const double timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:614,1
    - Dst: pcpp::NtpLayer::convertFromTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timestampInNTPformat
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: pcpp::NtpLayer::convertToIsoFormat
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 5
    functionsReached:
    - pcpp::NtpLayer::convertToIsoFormat
    - pcpp::NtpLayer::convertFromTimestampFormat
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::convertToIsoFormat(const uint64_t timestampInNTPformat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 620
    functionName: pcpp::NtpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NtpLayer::isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:624,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:624,1
    - Dst: pcpp::NtpLayer::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:624,1
    - Dst: pcpp::NtpLayer::getModeString
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 622
    functionDepth: 3
    functionLinenumber: 622
    functionLinenumberEnd: 625
    functionName: pcpp::NtpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getModeString
    - pcpp::NtpLayer::getVersion
    - string
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: pcpp::NtpLayer::NtpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - allocData
    linkageType: ''
    returnType: void
    signature: void NtpLayer::NtpLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:25,1
    - Dst: static_cast<LeapIndicator>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:26,1
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:26,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: pcpp::NtpLayer::getLeapIndicator
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<LeapIndicator>
    - PCPP_LOG_ERROR
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: NtpLayer::LeapIndicator
    signature: NtpLayer::LeapIndicator NtpLayer::getLeapIndicator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - LeapIndicator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::NtpLayer::setLeapIndicator
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setLeapIndicator(LeapIndicator val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: pcpp::NtpLayer::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 4
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t NtpLayer::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pcpp::NtpLayer::setVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setVersion(uint8_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:48,1
    - Dst: static_cast<Mode>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:49,1
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:49,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: pcpp::NtpLayer::getMode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<Mode>
    - PCPP_LOG_ERROR
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: NtpLayer::Mode
    signature: NtpLayer::Mode NtpLayer::getMode() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getMode
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:56,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:75,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: pcpp::NtpLayer::getModeString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NtpLayer::getMode
    - string
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::getModeString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - Mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: pcpp::NtpLayer::setMode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setMode(Mode val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: pcpp::NtpLayer::getStratum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t NtpLayer::getStratum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: pcpp::NtpLayer::setStratum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setStratum(uint8_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: pcpp::NtpLayer::getPollInterval
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: int8_t
    signature: int8_t NtpLayer::getPollInterval() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: pcpp::NtpLayer::setPollInterval
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setPollInterval(int8_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:107,1
    - Dst: pcpp::NtpLayer::getPollInterval
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::NtpLayer::getPollIntervalInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pow
    - pcpp::NtpLayer::getPollInterval
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getPollIntervalInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: pcpp::NtpLayer::getPrecision
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: int8_t
    signature: int8_t NtpLayer::getPrecision() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: pcpp::NtpLayer::setPrecision
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setPrecision(int8_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:122,1
    - Dst: pcpp::NtpLayer::getPrecision
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: pcpp::NtpLayer::getPrecisionInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getPrecision
    - pow
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getPrecisionInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pcpp::NtpLayer::getRootDelay
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NtpLayer::getRootDelay() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pcpp::NtpLayer::setRootDelay
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setRootDelay(uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertFromShortFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:137,1
    - Dst: pcpp::NtpLayer::getRootDelay
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: pcpp::NtpLayer::getRootDelayInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getRootDelay
    - pcpp::NtpLayer::convertFromShortFormat
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getRootDelayInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:142,1
    - Dst: pcpp::NtpLayer::convertToShortFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: pcpp::NtpLayer::setRootDelayInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToShortFormat
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setRootDelayInSecs(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: pcpp::NtpLayer::getRootDispersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NtpLayer::getRootDispersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: pcpp::NtpLayer::setRootDispersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setRootDispersion(uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertFromShortFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:157,1
    - Dst: pcpp::NtpLayer::getRootDispersion
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: pcpp::NtpLayer::getRootDispersionInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getRootDispersion
    - pcpp::NtpLayer::convertFromShortFormat
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getRootDispersionInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:162,1
    - Dst: pcpp::NtpLayer::convertToShortFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: pcpp::NtpLayer::setRootDispersionInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToShortFormat
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setRootDispersionInSecs(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: pcpp::NtpLayer::getReferenceIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NtpLayer::getReferenceIdentifier() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:172,1
    - Dst: IPv4Address::toInt
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: pcpp::NtpLayer::setReferenceIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - IPv4Address::toInt
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setReferenceIdentifier(IPv4Address val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:177,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - ClockSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: pcpp::NtpLayer::setReferenceIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setReferenceIdentifier(ClockSource val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:182,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - KissODeath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pcpp::NtpLayer::setReferenceIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setReferenceIdentifier(KissODeath val)
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getStratum
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:187,1
    - Dst: pcpp::NtpLayer::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:188,1
    - Dst: pcpp::NtpLayer::getReferenceIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:189,1
    - Dst: static_cast<ClockSource>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:197,1
    - Dst: static_cast<KissODeath>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:213,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:249,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:250,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:251,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:252,1
    - Dst: static_cast<ClockSource>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:267,1
    - Dst: static_cast<ClockSource>
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:285,1
    - Dst: pcpp::IPv4Address::toString
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:360,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:363,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 146
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 365
    functionName: pcpp::NtpLayer::getReferenceIdentifierString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getVersion
    - pcpp::IPv4Address::toString
    - string
    - PCPP_LOG_ERROR
    - static_cast<ClockSource>
    - static_cast<char>
    - static_cast<KissODeath>
    - pcpp::NtpLayer::getReferenceIdentifier
    - pcpp::NtpLayer::getStratum
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::getReferenceIdentifierString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: pcpp::NtpLayer::getReferenceTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NtpLayer::getReferenceTimestamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: pcpp::NtpLayer::setReferenceTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setReferenceTimestamp(uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertFromTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:379,1
    - Dst: pcpp::NtpLayer::getReferenceTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: pcpp::NtpLayer::getReferenceTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertFromTimestampFormat
    - pcpp::NtpLayer::getReferenceTimestamp
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getReferenceTimestampInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:384,1
    - Dst: pcpp::NtpLayer::convertToTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: pcpp::NtpLayer::setReferenceTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToTimestampFormat
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setReferenceTimestampInSecs(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:389,1
    - Dst: pcpp::NtpLayer::getReferenceTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: pcpp::NtpLayer::getReferenceTimestampAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToIsoFormat
    - pcpp::NtpLayer::getReferenceTimestamp
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::getReferenceTimestampAsString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: pcpp::NtpLayer::getOriginTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NtpLayer::getOriginTimestamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: pcpp::NtpLayer::setOriginTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setOriginTimestamp(uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertFromTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:404,1
    - Dst: pcpp::NtpLayer::getOriginTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: pcpp::NtpLayer::getOriginTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertFromTimestampFormat
    - pcpp::NtpLayer::getOriginTimestamp
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getOriginTimestampInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:409,1
    - Dst: pcpp::NtpLayer::convertToTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 410
    functionName: pcpp::NtpLayer::setOriginTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToTimestampFormat
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setOriginTimestampInSecs(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:414,1
    - Dst: pcpp::NtpLayer::getOriginTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: pcpp::NtpLayer::getOriginTimestampAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToIsoFormat
    - pcpp::NtpLayer::getOriginTimestamp
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::getOriginTimestampAsString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: pcpp::NtpLayer::getReceiveTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NtpLayer::getReceiveTimestamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: pcpp::NtpLayer::setReceiveTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setReceiveTimestamp(uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertFromTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:429,1
    - Dst: pcpp::NtpLayer::getReceiveTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: pcpp::NtpLayer::getReceiveTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getReceiveTimestamp
    - pcpp::NtpLayer::convertFromTimestampFormat
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getReceiveTimestampInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:434,1
    - Dst: pcpp::NtpLayer::convertToTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: pcpp::NtpLayer::setReceiveTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToTimestampFormat
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setReceiveTimestampInSecs(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:439,1
    - Dst: pcpp::NtpLayer::getReceiveTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: pcpp::NtpLayer::getReceiveTimestampAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getReceiveTimestamp
    - pcpp::NtpLayer::convertToIsoFormat
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::getReceiveTimestampAsString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: pcpp::NtpLayer::getTransmitTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NtpLayer::getTransmitTimestamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: pcpp::NtpLayer::setTransmitTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setTransmitTimestamp(uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertFromTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:454,1
    - Dst: pcpp::NtpLayer::getTransmitTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: pcpp::NtpLayer::getTransmitTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertFromTimestampFormat
    - pcpp::NtpLayer::getTransmitTimestamp
    linkageType: ''
    returnType: double
    signature: double NtpLayer::getTransmitTimestampInSecs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getNtpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:459,1
    - Dst: pcpp::NtpLayer::convertToTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: pcpp::NtpLayer::setTransmitTimestampInSecs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToTimestampFormat
    - pcpp::NtpLayer::getNtpHeader
    linkageType: ''
    returnType: void
    signature: void NtpLayer::setTransmitTimestampInSecs(double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:464,1
    - Dst: pcpp::NtpLayer::getTransmitTimestamp
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: pcpp::NtpLayer::getTransmitTimestampAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::convertToIsoFormat
    - pcpp::NtpLayer::getTransmitTimestamp
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::getTransmitTimestampAsString()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:469,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:493,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 502
    functionName: pcpp::NtpLayer::getKeyID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getVersion
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NtpLayer::getKeyID() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:506,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:511,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:514,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:521,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:526,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:529,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:530,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:533,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 536
    functionName: pcpp::NtpLayer::getDigest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    - pcpp::NtpLayer::getVersion
    - string
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::getDigest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: netToHost16
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:540,1
    - Dst: netToHost16
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 544
    functionName: pcpp::NtpLayer::convertFromShortFormat
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 4
    functionsReached:
    - netToHost16
    linkageType: ''
    returnType: double
    signature: double NtpLayer::convertFromShortFormat(const uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: netToHost32
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:548,1
    - Dst: netToHost32
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 554
    functionName: pcpp::NtpLayer::convertFromTimestampFormat
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 9
    functionsReached:
    - netToHost32
    linkageType: ''
    returnType: double
    signature: double NtpLayer::convertFromTimestampFormat(const uint64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modf
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:559,1
    - Dst: hostToNet16
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:562,1
    - Dst: hostToNet16
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 566
    functionName: pcpp::NtpLayer::convertToShortFormat
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 4
    functionsReached:
    - modf
    - hostToNet16
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NtpLayer::convertToShortFormat(const double val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modf
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:571,1
    - Dst: hostToNet32
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:574,1
    - Dst: hostToNet32
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 578
    functionName: pcpp::NtpLayer::convertToTimestampFormat
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 8
    functionsReached:
    - hostToNet32
    - modf
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t NtpLayer::convertToTimestampFormat(const double val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: modf
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:583,1
    - Dst: gmtime
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:590,1
    - Dst: gmtime_r
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:593,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:600,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:601,1
    - Dst: strftime
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:604,1
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:606,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:606,1
    - Dst: strncat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:607,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - timestamp
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 610
    functionName: pcpp::NtpLayer::convertToIsoFormat
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 9
    functionsReached:
    - strncat
    - string
    - fabs
    - modf
    - PCPP_LOG_ERROR
    - gmtime
    - snprintf
    - gmtime_r
    - strftime
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::convertToIsoFormat(const double timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:614,1
    - Dst: pcpp::NtpLayer::convertFromTimestampFormat
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timestampInNTPformat
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: pcpp::NtpLayer::convertToIsoFormat
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 10
    functionsReached:
    - pcpp::NtpLayer::convertToIsoFormat
    - pcpp::NtpLayer::convertFromTimestampFormat
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::convertToIsoFormat(const uint64_t timestampInNTPformat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 620
    functionName: pcpp::NtpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NtpLayer::isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:624,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:624,1
    - Dst: pcpp::NtpLayer::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:624,1
    - Dst: pcpp::NtpLayer::getModeString
      Src: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 622
    functionDepth: 3
    functionLinenumber: 622
    functionLinenumberEnd: 625
    functionName: pcpp::NtpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NtpLayer::getModeString
    - pcpp::NtpLayer::getVersion
    - string
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string NtpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:15,1
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:18,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:19,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:21,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - transactionId
    - unitId
    argTypes:
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 24
    functionName: pcpp::ModbusLayer::ModbusLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ModbusLayer::getModbusHeader
    - htobe16
    - static_cast<uint8_t>
    - allocData
    linkageType: ''
    returnType: void
    signature: void ModbusLayer::ModbusLayer(uint16_t transactionId, uint8_t unitId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<modbus_header*>
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pcpp::ModbusLayer::getModbusHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<modbus_header*>
    linkageType: ''
    returnType: modbus_header
    signature: modbus_header * ModbusLayer::getModbusHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:33,1
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::ModbusLayer::getTransactionId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ModbusLayer::getTransactionId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:38,1
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: pcpp::ModbusLayer::getProtocolId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ModbusLayer::getProtocolId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:43,1
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pcpp::ModbusLayer::getLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ModbusLayer::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::ModbusLayer::getUnitId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ModbusLayer::getUnitId() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 76
    functionName: pcpp::ModbusLayer::getFunctionCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: ModbusLayer::ModbusFunctionCode
    signature: ModbusLayer::ModbusFunctionCode ModbusLayer::getFunctionCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:80,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transactionId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: pcpp::ModbusLayer::setTransactionId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: void
    signature: void ModbusLayer::setTransactionId(uint16_t transactionId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unitId
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: pcpp::ModbusLayer::setUnitId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: void
    signature: void ModbusLayer::setUnitId(uint8_t unitId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:90,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - functionCode
    argTypes:
    - ModbusLayer::ModbusFunctionCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: pcpp::ModbusLayer::setFunctionCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: void
    signature: void ModbusLayer::setFunctionCode(ModbusLayer::ModbusFunctionCode functionCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:95,1
    - Dst: pcpp::ModbusLayer::getTransactionId
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:95,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:96,1
    - Dst: pcpp::ModbusLayer::getProtocolId
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:96,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:96,1
    - Dst: pcpp::ModbusLayer::getLength
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:96,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:97,1
    - Dst: pcpp::ModbusLayer::getUnitId
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:97,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:98,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:98,1
    - Dst: pcpp::ModbusLayer::getFunctionCode
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: pcpp::ModbusLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ModbusLayer::getLength
    - pcpp::ModbusLayer::getUnitId
    - static_cast<uint8_t>
    - pcpp::ModbusLayer::getFunctionCode
    - pcpp::ModbusLayer::getProtocolId
    - pcpp::ModbusLayer::getTransactionId
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string ModbusLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:15,1
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:18,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:19,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:21,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - transactionId
    - unitId
    argTypes:
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 24
    functionName: pcpp::ModbusLayer::ModbusLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ModbusLayer::getModbusHeader
    - htobe16
    - static_cast<uint8_t>
    - allocData
    linkageType: ''
    returnType: void
    signature: void ModbusLayer::ModbusLayer(uint16_t transactionId, uint8_t unitId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<modbus_header*>
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pcpp::ModbusLayer::getModbusHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 10
    functionsReached:
    - reinterpret_cast<modbus_header*>
    linkageType: ''
    returnType: modbus_header
    signature: modbus_header * ModbusLayer::getModbusHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:33,1
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::ModbusLayer::getTransactionId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ModbusLayer::getTransactionId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:38,1
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: pcpp::ModbusLayer::getProtocolId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ModbusLayer::getProtocolId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:43,1
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pcpp::ModbusLayer::getLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ModbusLayer::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::ModbusLayer::getUnitId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t ModbusLayer::getUnitId() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 76
    functionName: pcpp::ModbusLayer::getFunctionCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: ModbusLayer::ModbusFunctionCode
    signature: ModbusLayer::ModbusFunctionCode ModbusLayer::getFunctionCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:80,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transactionId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: pcpp::ModbusLayer::setTransactionId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: void
    signature: void ModbusLayer::setTransactionId(uint16_t transactionId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unitId
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: pcpp::ModbusLayer::setUnitId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: void
    signature: void ModbusLayer::setUnitId(uint8_t unitId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ModbusLayer::getModbusHeader
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:90,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - functionCode
    argTypes:
    - ModbusLayer::ModbusFunctionCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: pcpp::ModbusLayer::setFunctionCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::ModbusLayer::getModbusHeader
    linkageType: ''
    returnType: void
    signature: void ModbusLayer::setFunctionCode(ModbusLayer::ModbusFunctionCode functionCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:95,1
    - Dst: pcpp::ModbusLayer::getTransactionId
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:95,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:96,1
    - Dst: pcpp::ModbusLayer::getProtocolId
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:96,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:96,1
    - Dst: pcpp::ModbusLayer::getLength
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:96,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:97,1
    - Dst: pcpp::ModbusLayer::getUnitId
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:97,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:98,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:98,1
    - Dst: pcpp::ModbusLayer::getFunctionCode
      Src: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: pcpp::ModbusLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ModbusLayer::getLength
    - pcpp::ModbusLayer::getUnitId
    - static_cast<uint8_t>
    - pcpp::ModbusLayer::getFunctionCode
    - pcpp::ModbusLayer::getProtocolId
    - pcpp::ModbusLayer::getTransactionId
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string ModbusLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:19,1
    - Dst: reinterpret_cast<icmp_router_address_structure*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: pcpp::icmp_router_advertisement::getRouterAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<icmp_router_address_structure*>
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: icmp_router_address_structure
    signature: icmp_router_address_structure * icmp_router_advertisement::getRouterAddress(int
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address::toInt
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:26,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - addr
    - preference
    argTypes:
    - IPv4Address
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: pcpp::icmp_router_address_structure::setRouterAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - IPv4Address::toInt
    - htobe32
    linkageType: ''
    returnType: void
    signature: void icmp_router_address_structure::setRouterAddress(IPv4Address addr,
      uint32_t preference)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: pcpp::IcmpLayer::IcmpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - allocData
    linkageType: ''
    returnType: void
    signature: void IcmpLayer::IcmpLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:38,1
    - Dst: static_cast<IcmpMessageType>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: pcpp::IcmpLayer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpLayer::getIcmpHeader
    - static_cast<IcmpMessageType>
    linkageType: ''
    returnType: IcmpMessageType
    signature: IcmpMessageType IcmpLayer::getMessageType() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:49,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:51,1
    - Dst: pcpp::IcmpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:58,1
    - Dst: pcpp::IcmpLayer::shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: pcpp::IcmpLayer::cleanIcmpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - getAttachedPacket
    - pcpp::IcmpLayer::getHeaderLen
    - pcpp::IcmpLayer::shortenLayer
    linkageType: ''
    returnType: bool
    signature: bool IcmpLayer::cleanIcmpLayer()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:71,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:74,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:77,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:77,1
    - Dst: pcpp::IcmpLayer::getEchoRequestData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:81,1
    - Dst: reinterpret_cast<icmp_echo_request*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:83,1
    - Dst: pcpp::IcmpLayer::getEchoReplyData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:83,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:89,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:90,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 6
    argNames:
    - echoType
    - id
    - sequence
    - timestamp
    - data
    - dataLen
    argTypes:
    - IcmpMessageType
    - uint16_t
    - uint16_t
    - uint64_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 96
    functionName: pcpp::IcmpLayer::setEchoData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IcmpLayer::getEchoReplyData
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - memcpy
    - pcpp::IcmpLayer::getEchoRequestData
    - reinterpret_cast<icmp_echo_request*>
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: bool
    signature: "bool IcmpLayer::setEchoData(IcmpMessageType echoType, uint16_t id,
      uint16_t sequence, uint64_t timestamp,\n\t                            const
      uint8_t* data, size_t dataLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:100,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:102,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:107,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:109,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:113,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ipLayer
    - l4Layer
    argTypes:
    - IPv4Layer*
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 120
    functionName: pcpp::IcmpLayer::setIpAndL4Layers
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - getAttachedPacket
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool IcmpLayer::setIpAndL4Layers(IPv4Layer* ipLayer, Layer* l4Layer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:124,1
    - Dst: reinterpret_cast<icmp_echo_hdr*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:127,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: pcpp::IcmpLayer::getEchoRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<icmp_echo_hdr*>
    - pcpp::IcmpLayer::isMessageOfType
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: icmp_echo_request
    signature: icmp_echo_request * IcmpLayer::getEchoRequestData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::setEchoData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:137,1
    - Dst: pcpp::IcmpLayer::getEchoRequestData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - id
    - sequence
    - timestamp
    - data
    - dataLen
    argTypes:
    - uint16_t
    - uint16_t
    - uint64_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: pcpp::IcmpLayer::setEchoRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpLayer::getEchoRequestData
    - pcpp::IcmpLayer::setEchoData
    linkageType: ''
    returnType: icmp_echo_request
    signature: "icmp_echo_request * IcmpLayer::setEchoRequestData(uint16_t id, uint16_t
      sequence, uint64_t timestamp,\n\t                                                 const
      uint8_t* data, size_t dataLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:145,1
    - Dst: reinterpret_cast<icmp_echo_hdr*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:148,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: pcpp::IcmpLayer::getEchoReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<icmp_echo_hdr*>
    - pcpp::IcmpLayer::isMessageOfType
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: icmp_echo_reply
    signature: icmp_echo_reply * IcmpLayer::getEchoReplyData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::setEchoData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:158,1
    - Dst: pcpp::IcmpLayer::getEchoReplyData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - id
    - sequence
    - timestamp
    - data
    - dataLen
    argTypes:
    - uint16_t
    - uint16_t
    - uint64_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: pcpp::IcmpLayer::setEchoReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpLayer::getEchoReplyData
    - pcpp::IcmpLayer::setEchoData
    linkageType: ''
    returnType: icmp_echo_reply
    signature: "icmp_echo_reply * IcmpLayer::setEchoReplyData(uint16_t id, uint16_t
      sequence, uint64_t timestamp,\n\t                                             const
      uint8_t* data, size_t dataLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:166,1
    - Dst: reinterpret_cast<icmp_timestamp_request*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: pcpp::IcmpLayer::getTimestampRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<icmp_timestamp_request*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_timestamp_request
    signature: icmp_timestamp_request * IcmpLayer::getTimestampRequestData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:175,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:178,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:181,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:181,1
    - Dst: pcpp::IcmpLayer::getTimestampRequestData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:183,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:185,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:186,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - id
    - sequence
    - originateTimestamp
    argTypes:
    - uint16_t
    - uint16_t
    - timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 192
    functionName: pcpp::IcmpLayer::setTimestampRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::getTimestampRequestData
    - htobe32
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_timestamp_request
    signature: "icmp_timestamp_request * IcmpLayer::setTimestampRequestData(uint16_t
      id, uint16_t sequence,\n\t                                                           timeval
      originateTimestamp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:196,1
    - Dst: reinterpret_cast<icmp_timestamp_reply*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: pcpp::IcmpLayer::getTimestampReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<icmp_timestamp_reply*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_timestamp_reply
    signature: icmp_timestamp_reply * IcmpLayer::getTimestampReplyData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:205,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:208,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:211,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:211,1
    - Dst: pcpp::IcmpLayer::getTimestampReplyData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:213,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:215,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:216,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:217,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:218,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - id
    - sequence
    - originateTimestamp
    - receiveTimestamp
    - transmitTimestamp
    argTypes:
    - uint16_t
    - uint16_t
    - timeval
    - timeval
    - timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 222
    functionName: pcpp::IcmpLayer::setTimestampReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - htobe32
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    - pcpp::IcmpLayer::getTimestampReplyData
    linkageType: ''
    returnType: icmp_timestamp_reply
    signature: "icmp_timestamp_reply * IcmpLayer::setTimestampReplyData(uint16_t id,
      uint16_t sequence, timeval originateTimestamp,\n\t                                                       timeval
      receiveTimestamp, timeval transmitTimestamp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:226,1
    - Dst: reinterpret_cast<icmp_destination_unreachable*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: pcpp::IcmpLayer::getDestUnreachableData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<icmp_destination_unreachable*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_destination_unreachable
    signature: icmp_destination_unreachable * IcmpLayer::getDestUnreachableData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:235,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:238,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:241,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:241,1
    - Dst: pcpp::IcmpLayer::getDestUnreachableData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:243,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:245,1
    - Dst: pcpp::IcmpLayer::setIpAndL4Layers
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - code
    - nextHopMTU
    - ipHeader
    - l4Header
    argTypes:
    - IcmpDestUnreachableCodes
    - uint16_t
    - IPv4Layer*
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 252
    functionName: pcpp::IcmpLayer::setDestUnreachableData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::setIpAndL4Layers
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::getDestUnreachableData
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_destination_unreachable
    signature: "icmp_destination_unreachable * IcmpLayer::setDestUnreachableData(IcmpDestUnreachableCodes
      code, uint16_t nextHopMTU,\n\t                                                                IPv4Layer*
      ipHeader, Layer* l4Header)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:256,1
    - Dst: reinterpret_cast<icmp_source_quench*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: pcpp::IcmpLayer::getSourceQuenchdata
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<icmp_source_quench*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_source_quench
    signature: icmp_source_quench * IcmpLayer::getSourceQuenchdata()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:264,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:267,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:270,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:270,1
    - Dst: pcpp::IcmpLayer::getSourceQuenchdata
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:272,1
    - Dst: pcpp::IcmpLayer::setIpAndL4Layers
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ipHeader
    - l4Header
    argTypes:
    - IPv4Layer*
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 279
    functionName: pcpp::IcmpLayer::setSourceQuenchdata
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::getSourceQuenchdata
    - pcpp::IcmpLayer::setIpAndL4Layers
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_source_quench
    signature: icmp_source_quench * IcmpLayer::setSourceQuenchdata(IPv4Layer* ipHeader,
      Layer* l4Header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:283,1
    - Dst: reinterpret_cast<icmp_redirect*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: pcpp::IcmpLayer::getRedirectData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpLayer::isMessageOfType
    - reinterpret_cast<icmp_redirect*>
    linkageType: ''
    returnType: icmp_redirect
    signature: icmp_redirect * IcmpLayer::getRedirectData()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:294,1
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:298,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:301,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:304,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:304,1
    - Dst: pcpp::IcmpLayer::getRedirectData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:306,1
    - Dst: IPv4Address::toInt
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:308,1
    - Dst: pcpp::IcmpLayer::setIpAndL4Layers
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - code
    - gatewayAddress
    - ipHeader
    - l4Header
    argTypes:
    - uint8_t
    - IPv4Address
    - IPv4Layer*
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 314
    functionName: pcpp::IcmpLayer::setRedirectData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::setIpAndL4Layers
    - PCPP_LOG_ERROR
    - pcpp::IcmpLayer::cleanIcmpLayer
    - IPv4Address::toInt
    - pcpp::IcmpLayer::extendLayer
    - pcpp::IcmpLayer::getRedirectData
    linkageType: ''
    returnType: icmp_redirect
    signature: "icmp_redirect * IcmpLayer::setRedirectData(uint8_t code, IPv4Address
      gatewayAddress, IPv4Layer* ipHeader,\n\t                                          Layer*
      l4Header)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:318,1
    - Dst: reinterpret_cast<icmp_router_advertisement_hdr*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: pcpp::IcmpLayer::getRouterAdvertisementData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<icmp_router_advertisement_hdr*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_router_advertisement
    signature: icmp_router_advertisement * IcmpLayer::getRouterAdvertisementData()
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:331,1
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:336,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:339,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:340,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:344,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:344,1
    - Dst: pcpp::IcmpLayer::getRouterAdvertisementData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:346,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:348,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:349,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:349,1
    - Dst: reinterpret_cast<icmp_router_address_structure*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:352,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - code
    - lifetimeInSeconds
    - ' routerAddresses'
    argTypes:
    - uint8_t
    - uint16_t
    - std::vector<icmp_router_address_structure>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 362
    functionName: pcpp::IcmpLayer::setRouterAdvertisementData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IcmpLayer::getRouterAdvertisementData
    - static_cast<uint8_t>
    - reinterpret_cast<icmp_router_address_structure*>
    - pcpp::IcmpLayer::getIcmpHeader
    - reinterpret_cast<uint8_t*>
    - PCPP_LOG_ERROR
    - size
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_router_advertisement
    signature: "icmp_router_advertisement * IcmpLayer::setRouterAdvertisementData(\n\t
      \   uint8_t code, uint16_t lifetimeInSeconds, const std::vector<icmp_router_address_structure>&
      routerAddresses)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:366,1
    - Dst: reinterpret_cast<icmp_router_solicitation*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: pcpp::IcmpLayer::getRouterSolicitationData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpLayer::isMessageOfType
    - reinterpret_cast<icmp_router_solicitation*>
    linkageType: ''
    returnType: icmp_router_solicitation
    signature: icmp_router_solicitation * IcmpLayer::getRouterSolicitationData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:374,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:377,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:377,1
    - Dst: pcpp::IcmpLayer::getRouterSolicitationData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 383
    functionName: pcpp::IcmpLayer::setRouterSolicitationData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpLayer::getRouterSolicitationData
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::cleanIcmpLayer
    - static_cast<uint8_t>
    linkageType: ''
    returnType: icmp_router_solicitation
    signature: icmp_router_solicitation * IcmpLayer::setRouterSolicitationData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:387,1
    - Dst: reinterpret_cast<icmp_time_exceeded*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: pcpp::IcmpLayer::getTimeExceededData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<icmp_time_exceeded*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_time_exceeded
    signature: icmp_time_exceeded * IcmpLayer::getTimeExceededData()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:397,1
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:401,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:404,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:407,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:407,1
    - Dst: pcpp::IcmpLayer::getTimeExceededData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:409,1
    - Dst: pcpp::IcmpLayer::setIpAndL4Layers
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - code
    - ipHeader
    - l4Header
    argTypes:
    - uint8_t
    - IPv4Layer*
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 417
    functionName: pcpp::IcmpLayer::setTimeExceededData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getTimeExceededData
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::setIpAndL4Layers
    - PCPP_LOG_ERROR
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_time_exceeded
    signature: icmp_time_exceeded * IcmpLayer::setTimeExceededData(uint8_t code, IPv4Layer*
      ipHeader, Layer* l4Header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:421,1
    - Dst: reinterpret_cast<icmp_param_problem*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 425
    functionName: pcpp::IcmpLayer::getParamProblemData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<icmp_param_problem*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_param_problem
    signature: icmp_param_problem * IcmpLayer::getParamProblemData()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:432,1
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:436,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:439,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:442,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:442,1
    - Dst: pcpp::IcmpLayer::getParamProblemData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:444,1
    - Dst: pcpp::IcmpLayer::setIpAndL4Layers
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - code
    - errorOctetPointer
    - ipHeader
    - l4Header
    argTypes:
    - uint8_t
    - uint8_t
    - IPv4Layer*
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 454
    functionName: pcpp::IcmpLayer::setParamProblemData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::getParamProblemData
    - pcpp::IcmpLayer::setIpAndL4Layers
    - PCPP_LOG_ERROR
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_param_problem
    signature: "icmp_param_problem * IcmpLayer::setParamProblemData(uint8_t code,
      uint8_t errorOctetPointer, IPv4Layer* ipHeader,\n\t                                                   Layer*
      l4Header)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:458,1
    - Dst: reinterpret_cast<icmp_address_mask_request*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 462
    functionName: pcpp::IcmpLayer::getAddressMaskRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<icmp_address_mask_request*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_address_mask_request
    signature: icmp_address_mask_request * IcmpLayer::getAddressMaskRequestData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:466,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:469,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:472,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:472,1
    - Dst: pcpp::IcmpLayer::getAddressMaskRequestData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:474,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:476,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:477,1
    - Dst: IPv4Address::toInt
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - id
    - sequence
    - mask
    argTypes:
    - uint16_t
    - uint16_t
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 481
    functionName: pcpp::IcmpLayer::setAddressMaskRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::getAddressMaskRequestData
    - pcpp::IcmpLayer::cleanIcmpLayer
    - IPv4Address::toInt
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_address_mask_request
    signature: icmp_address_mask_request * IcmpLayer::setAddressMaskRequestData(uint16_t
      id, uint16_t sequence, IPv4Address mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:485,1
    - Dst: reinterpret_cast<icmp_address_mask_reply*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: pcpp::IcmpLayer::getAddressMaskReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<icmp_address_mask_reply*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_address_mask_reply
    signature: icmp_address_mask_reply * IcmpLayer::getAddressMaskReplyData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:493,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:496,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:499,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:499,1
    - Dst: pcpp::IcmpLayer::getAddressMaskReplyData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:501,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:503,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:504,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:505,1
    - Dst: IPv4Address::toInt
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - id
    - sequence
    - mask
    argTypes:
    - uint16_t
    - uint16_t
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 508
    functionName: pcpp::IcmpLayer::setAddressMaskReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - htobe32
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::getAddressMaskReplyData
    - IPv4Address::toInt
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_address_mask_reply
    signature: icmp_address_mask_reply * IcmpLayer::setAddressMaskReplyData(uint16_t
      id, uint16_t sequence, IPv4Address mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:512,1
    - Dst: reinterpret_cast<icmp_info_request*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: pcpp::IcmpLayer::getInfoRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<icmp_info_request*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_info_request
    signature: icmp_info_request * IcmpLayer::getInfoRequestData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:520,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:523,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:526,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:526,1
    - Dst: pcpp::IcmpLayer::getInfoRequestData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:528,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:530,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - id
    - sequence
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 534
    functionName: pcpp::IcmpLayer::setInfoRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    - pcpp::IcmpLayer::getInfoRequestData
    linkageType: ''
    returnType: icmp_info_request
    signature: icmp_info_request * IcmpLayer::setInfoRequestData(uint16_t id, uint16_t
      sequence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:538,1
    - Dst: reinterpret_cast<icmp_info_reply*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: pcpp::IcmpLayer::getInfoReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<icmp_info_reply*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_info_reply
    signature: icmp_info_reply * IcmpLayer::getInfoReplyData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:546,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:549,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:552,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:552,1
    - Dst: pcpp::IcmpLayer::getInfoReplyData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:554,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:556,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - id
    - sequence
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 560
    functionName: pcpp::IcmpLayer::setInfoReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    - pcpp::IcmpLayer::getInfoReplyData
    linkageType: ''
    returnType: icmp_info_reply
    signature: icmp_info_reply * IcmpLayer::setInfoReplyData(uint16_t id, uint16_t
      sequence)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:564,1
    - Dst: pcpp::IcmpLayer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:569,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:577,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 587
    functionName: pcpp::IcmpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpLayer::getMessageType
    - constructNextLayer<PayloadLayer>
    - pcpp::IcmpLayer::getHeaderLen
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void IcmpLayer::parseNextLayer()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:591,1
    - Dst: pcpp::IcmpLayer::getRouterAdvertisementData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 628
    functionName: pcpp::IcmpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IcmpLayer::getMessageType
    - pcpp::IcmpLayer::getRouterAdvertisementData
    linkageType: ''
    returnType: size_t
    signature: size_t IcmpLayer::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:633,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:639,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:640,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:644,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:644,1
    - Dst: computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:646,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:648,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 649
    functionName: pcpp::IcmpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IcmpLayer::getIcmpHeader
    - Layer*::getHeaderLen
    - reinterpret_cast<uint16_t*>
    - computeChecksum
    - Layer*::getNextLayer
    linkageType: ''
    returnType: void
    signature: void IcmpLayer::computeCalculateFields()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:654,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:708,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:710,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 711
    functionName: pcpp::IcmpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpLayer::getMessageType
    - pcpp::IcmpLayer::getIcmpHeader
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string IcmpLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:19,1
    - Dst: reinterpret_cast<icmp_router_address_structure*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: pcpp::icmp_router_advertisement::getRouterAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<icmp_router_address_structure*>
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: icmp_router_address_structure
    signature: icmp_router_address_structure * icmp_router_advertisement::getRouterAddress(int
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address::toInt
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:26,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - addr
    - preference
    argTypes:
    - IPv4Address
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: pcpp::icmp_router_address_structure::setRouterAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - IPv4Address::toInt
    - htobe32
    linkageType: ''
    returnType: void
    signature: void icmp_router_address_structure::setRouterAddress(IPv4Address addr,
      uint32_t preference)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: pcpp::IcmpLayer::IcmpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - allocData
    linkageType: ''
    returnType: void
    signature: void IcmpLayer::IcmpLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:38,1
    - Dst: static_cast<IcmpMessageType>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: pcpp::IcmpLayer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 3
    functionsReached:
    - pcpp::IcmpLayer::getIcmpHeader
    - static_cast<IcmpMessageType>
    linkageType: ''
    returnType: IcmpMessageType
    signature: IcmpMessageType IcmpLayer::getMessageType() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:49,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:51,1
    - Dst: pcpp::IcmpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:58,1
    - Dst: pcpp::IcmpLayer::shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: pcpp::IcmpLayer::cleanIcmpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 14
    functionsReached:
    - getAttachedPacket
    - pcpp::IcmpLayer::getHeaderLen
    - pcpp::IcmpLayer::shortenLayer
    linkageType: ''
    returnType: bool
    signature: bool IcmpLayer::cleanIcmpLayer()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:71,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:74,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:77,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:77,1
    - Dst: pcpp::IcmpLayer::getEchoRequestData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:81,1
    - Dst: reinterpret_cast<icmp_echo_request*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:83,1
    - Dst: pcpp::IcmpLayer::getEchoReplyData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:83,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:89,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:90,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 6
    argNames:
    - echoType
    - id
    - sequence
    - timestamp
    - data
    - dataLen
    argTypes:
    - IcmpMessageType
    - uint16_t
    - uint16_t
    - uint64_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 96
    functionName: pcpp::IcmpLayer::setEchoData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::IcmpLayer::getEchoReplyData
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - memcpy
    - pcpp::IcmpLayer::getEchoRequestData
    - reinterpret_cast<icmp_echo_request*>
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: bool
    signature: "bool IcmpLayer::setEchoData(IcmpMessageType echoType, uint16_t id,
      uint16_t sequence, uint64_t timestamp,\n\t                            const
      uint8_t* data, size_t dataLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:100,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:102,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:107,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:109,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:113,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ipLayer
    - l4Layer
    argTypes:
    - IPv4Layer*
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 120
    functionName: pcpp::IcmpLayer::setIpAndL4Layers
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 5
    functionsReached:
    - getAttachedPacket
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool IcmpLayer::setIpAndL4Layers(IPv4Layer* ipLayer, Layer* l4Layer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:124,1
    - Dst: reinterpret_cast<icmp_echo_hdr*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:127,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: pcpp::IcmpLayer::getEchoRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<icmp_echo_hdr*>
    - pcpp::IcmpLayer::isMessageOfType
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: icmp_echo_request
    signature: icmp_echo_request * IcmpLayer::getEchoRequestData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::setEchoData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:137,1
    - Dst: pcpp::IcmpLayer::getEchoRequestData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - id
    - sequence
    - timestamp
    - data
    - dataLen
    argTypes:
    - uint16_t
    - uint16_t
    - uint64_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: pcpp::IcmpLayer::setEchoRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpLayer::getEchoRequestData
    - pcpp::IcmpLayer::setEchoData
    linkageType: ''
    returnType: icmp_echo_request
    signature: "icmp_echo_request * IcmpLayer::setEchoRequestData(uint16_t id, uint16_t
      sequence, uint64_t timestamp,\n\t                                                 const
      uint8_t* data, size_t dataLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:145,1
    - Dst: reinterpret_cast<icmp_echo_hdr*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:148,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: pcpp::IcmpLayer::getEchoReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<icmp_echo_hdr*>
    - pcpp::IcmpLayer::isMessageOfType
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: icmp_echo_reply
    signature: icmp_echo_reply * IcmpLayer::getEchoReplyData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::setEchoData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:158,1
    - Dst: pcpp::IcmpLayer::getEchoReplyData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - id
    - sequence
    - timestamp
    - data
    - dataLen
    argTypes:
    - uint16_t
    - uint16_t
    - uint64_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: pcpp::IcmpLayer::setEchoReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpLayer::getEchoReplyData
    - pcpp::IcmpLayer::setEchoData
    linkageType: ''
    returnType: icmp_echo_reply
    signature: "icmp_echo_reply * IcmpLayer::setEchoReplyData(uint16_t id, uint16_t
      sequence, uint64_t timestamp,\n\t                                             const
      uint8_t* data, size_t dataLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:166,1
    - Dst: reinterpret_cast<icmp_timestamp_request*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: pcpp::IcmpLayer::getTimestampRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<icmp_timestamp_request*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_timestamp_request
    signature: icmp_timestamp_request * IcmpLayer::getTimestampRequestData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:175,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:178,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:181,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:181,1
    - Dst: pcpp::IcmpLayer::getTimestampRequestData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:183,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:185,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:186,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - id
    - sequence
    - originateTimestamp
    argTypes:
    - uint16_t
    - uint16_t
    - timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 192
    functionName: pcpp::IcmpLayer::setTimestampRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::getTimestampRequestData
    - htobe32
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_timestamp_request
    signature: "icmp_timestamp_request * IcmpLayer::setTimestampRequestData(uint16_t
      id, uint16_t sequence,\n\t                                                           timeval
      originateTimestamp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:196,1
    - Dst: reinterpret_cast<icmp_timestamp_reply*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: pcpp::IcmpLayer::getTimestampReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<icmp_timestamp_reply*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_timestamp_reply
    signature: icmp_timestamp_reply * IcmpLayer::getTimestampReplyData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:205,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:208,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:211,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:211,1
    - Dst: pcpp::IcmpLayer::getTimestampReplyData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:213,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:215,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:216,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:217,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:218,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - id
    - sequence
    - originateTimestamp
    - receiveTimestamp
    - transmitTimestamp
    argTypes:
    - uint16_t
    - uint16_t
    - timeval
    - timeval
    - timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 222
    functionName: pcpp::IcmpLayer::setTimestampReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - htobe32
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    - pcpp::IcmpLayer::getTimestampReplyData
    linkageType: ''
    returnType: icmp_timestamp_reply
    signature: "icmp_timestamp_reply * IcmpLayer::setTimestampReplyData(uint16_t id,
      uint16_t sequence, timeval originateTimestamp,\n\t                                                       timeval
      receiveTimestamp, timeval transmitTimestamp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:226,1
    - Dst: reinterpret_cast<icmp_destination_unreachable*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: pcpp::IcmpLayer::getDestUnreachableData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<icmp_destination_unreachable*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_destination_unreachable
    signature: icmp_destination_unreachable * IcmpLayer::getDestUnreachableData()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:235,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:238,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:241,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:241,1
    - Dst: pcpp::IcmpLayer::getDestUnreachableData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:243,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:245,1
    - Dst: pcpp::IcmpLayer::setIpAndL4Layers
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - code
    - nextHopMTU
    - ipHeader
    - l4Header
    argTypes:
    - IcmpDestUnreachableCodes
    - uint16_t
    - IPv4Layer*
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 252
    functionName: pcpp::IcmpLayer::setDestUnreachableData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::setIpAndL4Layers
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::getDestUnreachableData
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_destination_unreachable
    signature: "icmp_destination_unreachable * IcmpLayer::setDestUnreachableData(IcmpDestUnreachableCodes
      code, uint16_t nextHopMTU,\n\t                                                                IPv4Layer*
      ipHeader, Layer* l4Header)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:256,1
    - Dst: reinterpret_cast<icmp_source_quench*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: pcpp::IcmpLayer::getSourceQuenchdata
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<icmp_source_quench*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_source_quench
    signature: icmp_source_quench * IcmpLayer::getSourceQuenchdata()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:264,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:267,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:270,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:270,1
    - Dst: pcpp::IcmpLayer::getSourceQuenchdata
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:272,1
    - Dst: pcpp::IcmpLayer::setIpAndL4Layers
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ipHeader
    - l4Header
    argTypes:
    - IPv4Layer*
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 279
    functionName: pcpp::IcmpLayer::setSourceQuenchdata
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::getSourceQuenchdata
    - pcpp::IcmpLayer::setIpAndL4Layers
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_source_quench
    signature: icmp_source_quench * IcmpLayer::setSourceQuenchdata(IPv4Layer* ipHeader,
      Layer* l4Header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:283,1
    - Dst: reinterpret_cast<icmp_redirect*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 287
    functionName: pcpp::IcmpLayer::getRedirectData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IcmpLayer::isMessageOfType
    - reinterpret_cast<icmp_redirect*>
    linkageType: ''
    returnType: icmp_redirect
    signature: icmp_redirect * IcmpLayer::getRedirectData()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:294,1
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:298,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:301,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:304,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:304,1
    - Dst: pcpp::IcmpLayer::getRedirectData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:306,1
    - Dst: IPv4Address::toInt
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:308,1
    - Dst: pcpp::IcmpLayer::setIpAndL4Layers
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - code
    - gatewayAddress
    - ipHeader
    - l4Header
    argTypes:
    - uint8_t
    - IPv4Address
    - IPv4Layer*
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 314
    functionName: pcpp::IcmpLayer::setRedirectData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::setIpAndL4Layers
    - PCPP_LOG_ERROR
    - pcpp::IcmpLayer::cleanIcmpLayer
    - IPv4Address::toInt
    - pcpp::IcmpLayer::extendLayer
    - pcpp::IcmpLayer::getRedirectData
    linkageType: ''
    returnType: icmp_redirect
    signature: "icmp_redirect * IcmpLayer::setRedirectData(uint8_t code, IPv4Address
      gatewayAddress, IPv4Layer* ipHeader,\n\t                                          Layer*
      l4Header)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:318,1
    - Dst: reinterpret_cast<icmp_router_advertisement_hdr*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: pcpp::IcmpLayer::getRouterAdvertisementData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<icmp_router_advertisement_hdr*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_router_advertisement
    signature: icmp_router_advertisement * IcmpLayer::getRouterAdvertisementData()
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:331,1
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:336,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:339,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:340,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:344,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:344,1
    - Dst: pcpp::IcmpLayer::getRouterAdvertisementData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:346,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:348,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:349,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:349,1
    - Dst: reinterpret_cast<icmp_router_address_structure*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:352,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - code
    - lifetimeInSeconds
    - ' routerAddresses'
    argTypes:
    - uint8_t
    - uint16_t
    - std::vector<icmp_router_address_structure>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 362
    functionName: pcpp::IcmpLayer::setRouterAdvertisementData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IcmpLayer::getRouterAdvertisementData
    - static_cast<uint8_t>
    - reinterpret_cast<icmp_router_address_structure*>
    - pcpp::IcmpLayer::getIcmpHeader
    - reinterpret_cast<uint8_t*>
    - PCPP_LOG_ERROR
    - size
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_router_advertisement
    signature: "icmp_router_advertisement * IcmpLayer::setRouterAdvertisementData(\n\t
      \   uint8_t code, uint16_t lifetimeInSeconds, const std::vector<icmp_router_address_structure>&
      routerAddresses)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:366,1
    - Dst: reinterpret_cast<icmp_router_solicitation*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: pcpp::IcmpLayer::getRouterSolicitationData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IcmpLayer::isMessageOfType
    - reinterpret_cast<icmp_router_solicitation*>
    linkageType: ''
    returnType: icmp_router_solicitation
    signature: icmp_router_solicitation * IcmpLayer::getRouterSolicitationData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:374,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:377,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:377,1
    - Dst: pcpp::IcmpLayer::getRouterSolicitationData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 383
    functionName: pcpp::IcmpLayer::setRouterSolicitationData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpLayer::getRouterSolicitationData
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::cleanIcmpLayer
    - static_cast<uint8_t>
    linkageType: ''
    returnType: icmp_router_solicitation
    signature: icmp_router_solicitation * IcmpLayer::setRouterSolicitationData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:387,1
    - Dst: reinterpret_cast<icmp_time_exceeded*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: pcpp::IcmpLayer::getTimeExceededData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<icmp_time_exceeded*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_time_exceeded
    signature: icmp_time_exceeded * IcmpLayer::getTimeExceededData()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:397,1
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:401,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:404,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:407,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:407,1
    - Dst: pcpp::IcmpLayer::getTimeExceededData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:409,1
    - Dst: pcpp::IcmpLayer::setIpAndL4Layers
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - code
    - ipHeader
    - l4Header
    argTypes:
    - uint8_t
    - IPv4Layer*
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 417
    functionName: pcpp::IcmpLayer::setTimeExceededData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getTimeExceededData
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::setIpAndL4Layers
    - PCPP_LOG_ERROR
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_time_exceeded
    signature: icmp_time_exceeded * IcmpLayer::setTimeExceededData(uint8_t code, IPv4Layer*
      ipHeader, Layer* l4Header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:421,1
    - Dst: reinterpret_cast<icmp_param_problem*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 425
    functionName: pcpp::IcmpLayer::getParamProblemData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<icmp_param_problem*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_param_problem
    signature: icmp_param_problem * IcmpLayer::getParamProblemData()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:432,1
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:436,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:439,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:442,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:442,1
    - Dst: pcpp::IcmpLayer::getParamProblemData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:444,1
    - Dst: pcpp::IcmpLayer::setIpAndL4Layers
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - code
    - errorOctetPointer
    - ipHeader
    - l4Header
    argTypes:
    - uint8_t
    - uint8_t
    - IPv4Layer*
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 454
    functionName: pcpp::IcmpLayer::setParamProblemData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::getParamProblemData
    - pcpp::IcmpLayer::setIpAndL4Layers
    - PCPP_LOG_ERROR
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_param_problem
    signature: "icmp_param_problem * IcmpLayer::setParamProblemData(uint8_t code,
      uint8_t errorOctetPointer, IPv4Layer* ipHeader,\n\t                                                   Layer*
      l4Header)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:458,1
    - Dst: reinterpret_cast<icmp_address_mask_request*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 462
    functionName: pcpp::IcmpLayer::getAddressMaskRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<icmp_address_mask_request*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_address_mask_request
    signature: icmp_address_mask_request * IcmpLayer::getAddressMaskRequestData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:466,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:469,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:472,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:472,1
    - Dst: pcpp::IcmpLayer::getAddressMaskRequestData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:474,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:476,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:477,1
    - Dst: IPv4Address::toInt
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - id
    - sequence
    - mask
    argTypes:
    - uint16_t
    - uint16_t
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 481
    functionName: pcpp::IcmpLayer::setAddressMaskRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::getAddressMaskRequestData
    - pcpp::IcmpLayer::cleanIcmpLayer
    - IPv4Address::toInt
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_address_mask_request
    signature: icmp_address_mask_request * IcmpLayer::setAddressMaskRequestData(uint16_t
      id, uint16_t sequence, IPv4Address mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:485,1
    - Dst: reinterpret_cast<icmp_address_mask_reply*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: pcpp::IcmpLayer::getAddressMaskReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<icmp_address_mask_reply*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_address_mask_reply
    signature: icmp_address_mask_reply * IcmpLayer::getAddressMaskReplyData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:493,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:496,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:499,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:499,1
    - Dst: pcpp::IcmpLayer::getAddressMaskReplyData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:501,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:503,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:504,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:505,1
    - Dst: IPv4Address::toInt
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - id
    - sequence
    - mask
    argTypes:
    - uint16_t
    - uint16_t
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 508
    functionName: pcpp::IcmpLayer::setAddressMaskReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - htobe32
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::getAddressMaskReplyData
    - IPv4Address::toInt
    - pcpp::IcmpLayer::extendLayer
    linkageType: ''
    returnType: icmp_address_mask_reply
    signature: icmp_address_mask_reply * IcmpLayer::setAddressMaskReplyData(uint16_t
      id, uint16_t sequence, IPv4Address mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:512,1
    - Dst: reinterpret_cast<icmp_info_request*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: pcpp::IcmpLayer::getInfoRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<icmp_info_request*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_info_request
    signature: icmp_info_request * IcmpLayer::getInfoRequestData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:520,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:523,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:526,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:526,1
    - Dst: pcpp::IcmpLayer::getInfoRequestData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:528,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:530,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - id
    - sequence
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 534
    functionName: pcpp::IcmpLayer::setInfoRequestData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    - pcpp::IcmpLayer::getInfoRequestData
    linkageType: ''
    returnType: icmp_info_request
    signature: icmp_info_request * IcmpLayer::setInfoRequestData(uint16_t id, uint16_t
      sequence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::isMessageOfType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:538,1
    - Dst: reinterpret_cast<icmp_info_reply*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: pcpp::IcmpLayer::getInfoReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<icmp_info_reply*>
    - pcpp::IcmpLayer::isMessageOfType
    linkageType: ''
    returnType: icmp_info_reply
    signature: icmp_info_reply * IcmpLayer::getInfoReplyData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::cleanIcmpLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:546,1
    - Dst: pcpp::IcmpLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:549,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:552,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:552,1
    - Dst: pcpp::IcmpLayer::getInfoReplyData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:554,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:556,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - id
    - sequence
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 560
    functionName: pcpp::IcmpLayer::setInfoReplyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - pcpp::IcmpLayer::getIcmpHeader
    - pcpp::IcmpLayer::cleanIcmpLayer
    - pcpp::IcmpLayer::extendLayer
    - pcpp::IcmpLayer::getInfoReplyData
    linkageType: ''
    returnType: icmp_info_reply
    signature: icmp_info_reply * IcmpLayer::setInfoReplyData(uint16_t id, uint16_t
      sequence)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:564,1
    - Dst: pcpp::IcmpLayer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:569,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:577,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 562
    functionDepth: 3
    functionLinenumber: 562
    functionLinenumberEnd: 587
    functionName: pcpp::IcmpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpLayer::getMessageType
    - constructNextLayer<PayloadLayer>
    - pcpp::IcmpLayer::getHeaderLen
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void IcmpLayer::parseNextLayer()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:591,1
    - Dst: pcpp::IcmpLayer::getRouterAdvertisementData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 628
    functionName: pcpp::IcmpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 4
    functionsReached:
    - pcpp::IcmpLayer::getMessageType
    - pcpp::IcmpLayer::getRouterAdvertisementData
    linkageType: ''
    returnType: size_t
    signature: size_t IcmpLayer::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:633,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:639,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:640,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:644,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:644,1
    - Dst: computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:646,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:648,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 649
    functionName: pcpp::IcmpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IcmpLayer::getIcmpHeader
    - Layer*::getHeaderLen
    - reinterpret_cast<uint16_t*>
    - computeChecksum
    - Layer*::getNextLayer
    linkageType: ''
    returnType: void
    signature: void IcmpLayer::computeCalculateFields()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:654,1
    - Dst: pcpp::IcmpLayer::getIcmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:708,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp:710,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 711
    functionName: pcpp::IcmpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpLayer::getMessageType
    - pcpp::IcmpLayer::getIcmpHeader
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string IcmpLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:16,1
    - Dst: reinterpret_cast<s7comm_ack_data_hdr*>
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:20,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:24,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:25,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:26,1
    - Dst: reinterpret_cast<s7commhdr*>
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:32,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:36,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:37,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 6
    argNames:
    - msgType
    - pduRef
    - paramLength
    - dataLength
    - errorClass
    - errorCode
    argTypes:
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 43
    functionName: pcpp::S7CommLayer::S7CommLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<s7commhdr*>
    - htobe16
    - reinterpret_cast<s7comm_ack_data_hdr*>
    - allocData
    linkageType: ''
    returnType: void
    signature: "void S7CommLayer::S7CommLayer(uint8_t msgType, uint16_t pduRef, uint16_t
      paramLength, uint16_t dataLength,\n\t                         uint8_t errorClass,
      uint8_t errorCode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:50,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: pcpp::S7CommLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: std::string
    signature: std::string S7CommLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: pcpp::S7CommLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool S7CommLayer::isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: pcpp::S7CommLayer::getProtocolId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t S7CommLayer::getProtocolId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pcpp::S7CommLayer::getMsgType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t S7CommLayer::getMsgType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:91,1
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pcpp::S7CommLayer::getParamLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t S7CommLayer::getParamLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:96,1
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pcpp::S7CommLayer::getPduRef
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t S7CommLayer::getPduRef() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:101,1
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: pcpp::S7CommLayer::getDataLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t S7CommLayer::getDataLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msgType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: pcpp::S7CommLayer::setMsgType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: void
    signature: void S7CommLayer::setMsgType(uint8_t msgType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commAckDataHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: pcpp::S7CommLayer::getErrorCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::getS7commAckDataHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t S7CommLayer::getErrorCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commAckDataHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pcpp::S7CommLayer::getErrorClass
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::getS7commAckDataHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t S7CommLayer::getErrorClass() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:121,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pduRef
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: pcpp::S7CommLayer::setPduRef
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: void
    signature: void S7CommLayer::setPduRef(uint16_t pduRef) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commAckDataHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errorCode
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: pcpp::S7CommLayer::setErrorCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::getS7commAckDataHeader
    linkageType: ''
    returnType: void
    signature: void S7CommLayer::setErrorCode(uint8_t errorCode) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commAckDataHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errorClass
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: pcpp::S7CommLayer::setErrorClass
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::getS7commAckDataHeader
    linkageType: ''
    returnType: void
    signature: void S7CommLayer::setErrorClass(uint8_t errorClass) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeaderLength
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:138,1
    - Dst: pcpp::S7CommLayer::getParamLength
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:139,1
    - Dst: S7CommParameter::S7CommParameter
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: pcpp::S7CommLayer::getParameter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - S7CommParameter::S7CommParameter
    - pcpp::S7CommLayer::getS7commHeaderLength
    - pcpp::S7CommLayer::getParamLength
    linkageType: ''
    returnType: S7CommParameter
    signature: S7CommParameter * S7CommLayer::getParameter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: pcpp::S7CommLayer::getS7commHeaderLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: size_t
    signature: size_t S7CommLayer::getS7commHeaderLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:16,1
    - Dst: reinterpret_cast<s7comm_ack_data_hdr*>
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:20,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:24,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:25,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:26,1
    - Dst: reinterpret_cast<s7commhdr*>
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:32,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:36,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:37,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 6
    argNames:
    - msgType
    - pduRef
    - paramLength
    - dataLength
    - errorClass
    - errorCode
    argTypes:
    - uint8_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 43
    functionName: pcpp::S7CommLayer::S7CommLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<s7commhdr*>
    - htobe16
    - reinterpret_cast<s7comm_ack_data_hdr*>
    - allocData
    linkageType: ''
    returnType: void
    signature: "void S7CommLayer::S7CommLayer(uint8_t msgType, uint16_t pduRef, uint16_t
      paramLength, uint16_t dataLength,\n\t                         uint8_t errorClass,
      uint8_t errorCode)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:50,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: pcpp::S7CommLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: std::string
    signature: std::string S7CommLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: pcpp::S7CommLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool S7CommLayer::isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: pcpp::S7CommLayer::getProtocolId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t S7CommLayer::getProtocolId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pcpp::S7CommLayer::getMsgType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t S7CommLayer::getMsgType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:91,1
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pcpp::S7CommLayer::getParamLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t S7CommLayer::getParamLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:96,1
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pcpp::S7CommLayer::getPduRef
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t S7CommLayer::getPduRef() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:101,1
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: pcpp::S7CommLayer::getDataLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t S7CommLayer::getDataLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msgType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: pcpp::S7CommLayer::setMsgType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: void
    signature: void S7CommLayer::setMsgType(uint8_t msgType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commAckDataHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: pcpp::S7CommLayer::getErrorCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::getS7commAckDataHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t S7CommLayer::getErrorCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commAckDataHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pcpp::S7CommLayer::getErrorClass
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::getS7commAckDataHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t S7CommLayer::getErrorClass() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:121,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pduRef
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: pcpp::S7CommLayer::setPduRef
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: void
    signature: void S7CommLayer::setPduRef(uint16_t pduRef) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commAckDataHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errorCode
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: pcpp::S7CommLayer::setErrorCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::getS7commAckDataHeader
    linkageType: ''
    returnType: void
    signature: void S7CommLayer::setErrorCode(uint8_t errorCode) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commAckDataHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errorClass
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: pcpp::S7CommLayer::setErrorClass
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::getS7commAckDataHeader
    linkageType: ''
    returnType: void
    signature: void S7CommLayer::setErrorClass(uint8_t errorClass) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeaderLength
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:138,1
    - Dst: pcpp::S7CommLayer::getParamLength
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:139,1
    - Dst: S7CommParameter::S7CommParameter
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: pcpp::S7CommLayer::getParameter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 0
    functionsReached:
    - S7CommParameter::S7CommParameter
    - pcpp::S7CommLayer::getS7commHeaderLength
    - pcpp::S7CommLayer::getParamLength
    linkageType: ''
    returnType: S7CommParameter
    signature: S7CommParameter * S7CommLayer::getParameter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: pcpp::S7CommLayer::getS7commHeaderLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::S7CommLayer::getS7commHeader
    linkageType: ''
    returnType: size_t
    signature: size_t S7CommLayer::getS7commHeaderLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 331
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 686
    functionName: pcpp::createCipherSuiteIdToObjectMap
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<uint16_t, SSLCipherSuite*>
    signature: std::unordered_map<uint16_t, SSLCipherSuite*> createCipherSuiteIdToObjectMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 701
    functionName: pcpp::hashString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hashString(std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 331
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 1038
    functionName: pcpp::createCipherSuiteStringToObjectMap
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<uint32_t, SSLCipherSuite*>
    signature: std::unordered_map<uint32_t, SSLCipherSuite*> createCipherSuiteStringToObjectMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::set<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1045
    functionName: pcpp::createGreaseSet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - std::set<uint16_t>
    linkageType: ''
    returnType: std::set<uint16_t>
    signature: std::set<uint16_t> createGreaseSet()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1057,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1062
    functionName: pcpp::SSLCipherSuite::getCipherSuiteByID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: SSLCipherSuite
    signature: SSLCipherSuite * SSLCipherSuite::getCipherSuiteByID(uint16_t id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashString
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1066,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1066,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1067,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1072
    functionName: pcpp::SSLCipherSuite::getCipherSuiteByName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - end
    - hashString
    - find
    - std::move
    linkageType: ''
    returnType: SSLCipherSuite
    signature: SSLCipherSuite * SSLCipherSuite::getCipherSuiteByName(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1079
    functionName: pcpp::SSLExtension::SSLExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLExtension::SSLExtension(uint8_t* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1085,1
    - Dst: pcpp::SSLExtension::getLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1088,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1091,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1093
    functionName: pcpp::SSLExtension::SSLExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLExtension::getLength
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void SSLExtension::SSLExtension(uint8_t* data, size_t dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLExtension::getTypeAsInt
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1102
    functionName: pcpp::SSLExtension::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLExtension::getTypeAsInt
    linkageType: ''
    returnType: SSLExtensionType
    signature: SSLExtensionType SSLExtension::getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1106,1
    - Dst: getExtensionStruct
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1107
    functionName: pcpp::SSLExtension::getTypeAsInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - getExtensionStruct
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLExtension::getTypeAsInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExtensionStruct
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1112
    functionName: pcpp::SSLExtension::getLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - getExtensionStruct
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLExtension::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLExtension::getLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1117
    functionName: pcpp::SSLExtension::getTotalLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLExtension::getLength
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLExtension::getTotalLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLExtension::getLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1121,1
    - Dst: getExtensionStruct
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1127
    functionName: pcpp::SSLExtension::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLExtension::getLength
    - getExtensionStruct
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLExtension::getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1132
    functionName: SSLExtension::SSLExtensionStruct::getDataLength() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLExtension::SSLExtensionStruct::getDataLength() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1140,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1147,1
    - Dst: reinterpret_cast<uint16_t const*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1147,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1151,1
    - Dst: PCPP_LOG_WARN
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1155,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1160
    functionName: pcpp::SSLServerNameIndicationExtension::getHostName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_WARN
    - getData
    - string
    - getLength
    - be16toh
    - reinterpret_cast<uint16_t const*>
    linkageType: ''
    returnType: std::string
    signature: std::string SSLServerNameIndicationExtension::getHostName() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1169,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1172,1
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1172,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1172,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1172,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1172,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1176,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1177,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1180,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1183,1
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1183,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1183,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1189
    functionName: pcpp::SSLSupportedVersionsExtension::getSupportedVersions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - getData
    - reinterpret_cast<uint16_t*>
    - be16toh
    - std::vector::push_back
    - getLength
    - SSLVersion
    linkageType: ''
    returnType: std::vector<SSLVersion>
    signature: std::vector<SSLVersion> SSLSupportedVersionsExtension::getSupportedVersions()
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1199,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1203,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1203,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1207,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1210,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1215
    functionName: pcpp::TLSSupportedGroupsExtension::getSupportedGroups
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getData
    - std::vector::push_back
    - getLength
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> TLSSupportedGroupsExtension::getSupportedGroups()
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1225,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1230,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1232,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1235,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1243
    functionName: pcpp::TLSECPointFormatExtension::getECPointFormatList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getData
    - static_cast<uint16_t>
    - std::vector::push_back
    - getLength
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> TLSECPointFormatExtension::getECPointFormatList()
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1253,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1259,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1263
    functionName: pcpp::SSLx509Certificate::getRootAsn1Record
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1Record::decode
    - castAs
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: Asn1SequenceRecord
    signature: Asn1SequenceRecord * SSLx509Certificate::getRootAsn1Record()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1269,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1274
    functionName: pcpp::SSLx509Certificate::getX509Certificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::CryptoDataReader::fromDER
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::unique_ptr<X509Certificate>
    signature: std::unique_ptr<X509Certificate> SSLx509Certificate::getX509Certificate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1285
    functionName: pcpp::SSLHandshakeMessage::SSLHandshakeMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLHandshakeMessage::SSLHandshakeMessage(uint8_t* data, size_t
      dataLen, SSLHandshakeLayer* container)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ssl_tls_handshake_layer*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1293,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1295,1
    - Dst: SSLUnknownMessage::SSLUnknownMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1303,1
    - Dst: SSLClientHelloMessage::SSLClientHelloMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1309,1
    - Dst: SSLServerHelloMessage::SSLServerHelloMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1311,1
    - Dst: SSLHelloRequestMessage::SSLHelloRequestMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1313,1
    - Dst: SSLCertificateMessage::SSLCertificateMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1315,1
    - Dst: SSLServerKeyExchangeMessage::SSLServerKeyExchangeMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1317,1
    - Dst: SSLCertificateRequestMessage::SSLCertificateRequestMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1319,1
    - Dst: SSLCertificateVerifyMessage::SSLCertificateVerifyMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1321,1
    - Dst: SSLClientKeyExchangeMessage::SSLClientKeyExchangeMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1323,1
    - Dst: SSLFinishedMessage::SSLFinishedMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1325,1
    - Dst: SSLServerHelloDoneMessage::SSLServerHelloDoneMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1327,1
    - Dst: SSLNewSessionTicketMessage::SSLNewSessionTicketMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1329,1
    - Dst: SSLUnknownMessage::SSLUnknownMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1333
    functionName: pcpp::SSLHandshakeMessage::createHandshakeMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - SSLServerHelloDoneMessage::SSLServerHelloDoneMessage
    - SSLUnknownMessage::SSLUnknownMessage
    - SSLHelloRequestMessage::SSLHelloRequestMessage
    - SSLClientKeyExchangeMessage::SSLClientKeyExchangeMessage
    - SSLServerHelloMessage::SSLServerHelloMessage
    - reinterpret_cast<ssl_tls_handshake_layer*>
    - SSLServerKeyExchangeMessage::SSLServerKeyExchangeMessage
    - SSLCertificateRequestMessage::SSLCertificateRequestMessage
    - SSLFinishedMessage::SSLFinishedMessage
    - SSLClientHelloMessage::SSLClientHelloMessage
    - be64toh
    - SSLNewSessionTicketMessage::SSLNewSessionTicketMessage
    - SSLCertificateMessage::SSLCertificateMessage
    - SSLCertificateVerifyMessage::SSLCertificateVerifyMessage
    linkageType: ''
    returnType: SSLHandshakeMessage
    signature: "SSLHandshakeMessage * SSLHandshakeMessage::createHandshakeMessage(uint8_t*
      data, size_t dataLen,\n\t                                                                 SSLHandshakeLayer*
      container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ssl_tls_handshake_layer*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1339
    functionName: pcpp::SSLHandshakeMessage::getHandshakeType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<ssl_tls_handshake_layer*>
    linkageType: ''
    returnType: SSLHandshakeType
    signature: SSLHandshakeType SSLHandshakeMessage::getHandshakeType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ssl_tls_handshake_layer*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1343,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1341
    functionDepth: 1
    functionLinenumber: 1341
    functionLinenumberEnd: 1350
    functionName: pcpp::SSLHandshakeMessage::getMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - reinterpret_cast<ssl_tls_handshake_layer*>
    linkageType: ''
    returnType: size_t
    signature: size_t SSLHandshakeMessage::getMessageLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ssl_tls_handshake_layer*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1357,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1360
    functionName: pcpp::SSLHandshakeMessage::isMessageComplete
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - reinterpret_cast<ssl_tls_handshake_layer*>
    linkageType: ''
    returnType: bool
    signature: bool SSLHandshakeMessage::isMessageComplete() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1369,1
    - Dst: pcpp::SSLClientHelloMessage::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1370,1
    - Dst: pcpp::SSLClientHelloMessage::getExtensionsLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1376,1
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1379,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1395,1
    - Dst: static_cast<std::ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1395,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1399,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1399,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1400,1
    - Dst: SSLExtension::tryCreateExtension<SSLServerNameIndicationExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1407,1
    - Dst: SSLExtension::tryCreateExtension<SSLSupportedVersionsExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1412,1
    - Dst: SSLExtension::tryCreateExtension<TLSSupportedGroupsExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1417,1
    - Dst: SSLExtension::tryCreateExtension<TLSECPointFormatExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1422,1
    - Dst: SSLExtension::tryCreateExtension<SSLExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1427,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1433,1
    - Dst: std::unique_ptr::getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1440,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1446,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1446,1
    - Dst: std::advance
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1447,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1449
    functionName: pcpp::SSLClientHelloMessage::SSLClientHelloMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - SSLExtension::tryCreateExtension<SSLSupportedVersionsExtension>
    - static_cast<std::ptrdiff_t>
    - std::advance
    - pcpp::SSLClientHelloMessage::getExtensionsLength
    - getMessageLength
    - SSLExtension::tryCreateExtension<TLSECPointFormatExtension>
    - std::unique_ptr::getTotalLength
    - std::distance
    - pushBack
    - reinterpret_cast<uint16_t*>
    - be16toh
    - SSLExtension::tryCreateExtension<TLSSupportedGroupsExtension>
    - pcpp::SSLClientHelloMessage::getSessionIDLength
    - SSLExtension::tryCreateExtension<SSLExtension>
    - PCPP_LOG_DEBUG
    - SSLExtension::tryCreateExtension<SSLServerNameIndicationExtension>
    - pcpp::SSLClientHelloMessage::getCipherSuiteCount
    - std::move
    linkageType: ''
    returnType: void
    signature: void SSLClientHelloMessage::SSLClientHelloMessage(uint8_t* data, size_t
      dataLen, SSLHandshakeLayer* container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1454,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1456,1
    - Dst: getClientHelloHeader
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1456,1
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1458
    functionName: pcpp::SSLClientHelloMessage::getHandshakeVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getClientHelloHeader
    - SSLVersion
    linkageType: ''
    returnType: SSLVersion
    signature: SSLVersion SSLClientHelloMessage::getHandshakeVersion() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1470
    functionName: pcpp::SSLClientHelloMessage::getSessionIDLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SSLClientHelloMessage::getSessionIDLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1478
    functionName: pcpp::SSLClientHelloMessage::getSessionID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLClientHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLClientHelloMessage::getSessionID() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1482,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1488
    functionName: pcpp::SSLClientHelloMessage::getCipherSuiteCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::SSLClientHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: int
    signature: int SSLClientHelloMessage::getCipherSuiteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getCipherSuiteID
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1493,1
    - Dst: pcpp::SSLCipherSuite::getCipherSuiteByID
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1490
    functionDepth: 2
    functionLinenumber: 1490
    functionLinenumberEnd: 1495
    functionName: pcpp::SSLClientHelloMessage::getCipherSuite
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLCipherSuite::getCipherSuiteByID
    - pcpp::SSLClientHelloMessage::getCipherSuiteID
    linkageType: ''
    returnType: SSLCipherSuite
    signature: SSLCipherSuite * SSLClientHelloMessage::getCipherSuite(int index) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1499,1
    - Dst: pcpp::SSLClientHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1506,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - index
    - ' isValid'
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1497
    functionDepth: 2
    functionLinenumber: 1497
    functionLinenumberEnd: 1516
    functionName: pcpp::SSLClientHelloMessage::getCipherSuiteID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::SSLClientHelloMessage::getCipherSuiteCount
    - pcpp::SSLClientHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLClientHelloMessage::getCipherSuiteID(int index, bool& isValid)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1520,1
    - Dst: pcpp::SSLClientHelloMessage::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1518
    functionDepth: 2
    functionLinenumber: 1518
    functionLinenumberEnd: 1527
    functionName: pcpp::SSLClientHelloMessage::getCompressionMethodsValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLClientHelloMessage::getCipherSuiteCount
    - pcpp::SSLClientHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SSLClientHelloMessage::getCompressionMethodsValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1532
    functionName: pcpp::SSLClientHelloMessage::getExtensionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int SSLClientHelloMessage::getExtensionCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1536,1
    - Dst: pcpp::SSLClientHelloMessage::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1537,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1534
    functionDepth: 2
    functionLinenumber: 1534
    functionLinenumberEnd: 1544
    functionName: pcpp::SSLClientHelloMessage::getExtensionsLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::SSLClientHelloMessage::getCipherSuiteCount
    - pcpp::SSLClientHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLClientHelloMessage::getExtensionsLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<SSLExtension*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1548,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1549
    functionName: pcpp::SSLClientHelloMessage::getExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - at
    - const_cast<SSLExtension*>
    linkageType: ''
    returnType: SSLExtension
    signature: SSLExtension * SSLClientHelloMessage::getExtension(int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1553,1
    - Dst: const_cast<SSLExtension*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1556,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1556,1
    - Dst: SSLExtension*::getTypeAsInt
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1551
    functionDepth: 1
    functionLinenumber: 1551
    functionLinenumberEnd: 1562
    functionName: pcpp::SSLClientHelloMessage::getExtensionOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - at
    - SSLExtension*::getTypeAsInt
    - const_cast<SSLExtension*>
    - size
    linkageType: ''
    returnType: SSLExtension
    signature: SSLExtension * SSLClientHelloMessage::getExtensionOfType(uint16_t type)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1566,1
    - Dst: const_cast<SSLExtension*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1569,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1569,1
    - Dst: SSLExtension*::getType
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - SSLExtensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1575
    functionName: pcpp::SSLClientHelloMessage::getExtensionOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - at
    - SSLExtension*::getType
    - const_cast<SSLExtension*>
    - size
    linkageType: ''
    returnType: SSLExtension
    signature: SSLExtension * SSLClientHelloMessage::getExtensionOfType(SSLExtensionType
      type) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getHandshakeVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1582,1
    - Dst: pcpp::SSLClientHelloMessage::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1585,1
    - Dst: pcpp::SSLClientHelloMessage::getCipherSuiteID
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1589,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1590,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1590,1
    - Dst: SSLClientHelloMessage::ClientHelloTLSFingerprint::cipherSuites::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1591,1
    - Dst: pcpp::SSLClientHelloMessage::getExtensionCount
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1595,1
    - Dst: pcpp::SSLClientHelloMessage::getExtension
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1598,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1599,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1599,1
    - Dst: SSLClientHelloMessage::ClientHelloTLSFingerprint::extensions::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1602,1
    - Dst: pcpp::SSLClientHelloMessage::getExtensionOfType
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1606,1
    - Dst: TLSSupportedGroupsExtension*::getSupportedGroups
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1609,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1611,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1611,1
    - Dst: SSLClientHelloMessage::ClientHelloTLSFingerprint::supportedGroups::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1612,1
    - Dst: pcpp::SSLClientHelloMessage::getExtensionOfType
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1616,1
    - Dst: TLSECPointFormatExtension*::getECPointFormatList
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1619,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1623
    functionName: pcpp::SSLClientHelloMessage::generateTLSFingerprint
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLClientHelloMessage::getExtension
    - pcpp::SSLClientHelloMessage::getHandshakeVersion
    - pcpp::SSLClientHelloMessage::getCipherSuiteID
    - pcpp::SSLClientHelloMessage::getExtensionOfType
    - TLSECPointFormatExtension*::getECPointFormatList
    - SSLClientHelloMessage::ClientHelloTLSFingerprint::extensions::push_back
    - end
    - SSLClientHelloMessage::ClientHelloTLSFingerprint::cipherSuites::push_back
    - pcpp::SSLClientHelloMessage::getExtensionCount
    - find
    - TLSSupportedGroupsExtension*::getSupportedGroups
    - SSLClientHelloMessage::ClientHelloTLSFingerprint::supportedGroups::push_back
    - pcpp::SSLClientHelloMessage::getCipherSuiteCount
    linkageType: ''
    returnType: SSLClientHelloMessage::ClientHelloTLSFingerprint
    signature: SSLClientHelloMessage::ClientHelloTLSFingerprint SSLClientHelloMessage::generateTLSFingerprint()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1628
    functionName: pcpp::SSLClientHelloMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLClientHelloMessage::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1677
    functionName: SSLClientHelloMessage::ClientHelloTLSFingerprint::toString()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string SSLClientHelloMessage::ClientHelloTLSFingerprint::toString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toStringAndMD5
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1682
    functionName: SSLClientHelloMessage::ClientHelloTLSFingerprint::toMD5()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - toStringAndMD5
    linkageType: ''
    returnType: std::string
    signature: std::string SSLClientHelloMessage::ClientHelloTLSFingerprint::toMD5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1686,1
    - Dst: MD5::MD5
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1687,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1688,1
    - Dst: md5
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1684
    functionDepth: 1
    functionLinenumber: 1684
    functionLinenumberEnd: 1689
    functionName: SSLClientHelloMessage::ClientHelloTLSFingerprint::toStringAndMD5()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - md5
    - MD5::MD5
    - std::pair<std::string, std::string>
    - toString
    linkageType: ''
    returnType: std::pair<std::string, std::string>
    signature: std::pair<std::string, std::string> SSLClientHelloMessage::ClientHelloTLSFingerprint::toStringAndMD5()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1698,1
    - Dst: pcpp::SSLServerHelloMessage::getExtensionsLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1704,1
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1706,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1719,1
    - Dst: static_cast<std::ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1719,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1723,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1723,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1724,1
    - Dst: SSLExtension::tryCreateExtension<SSLServerNameIndicationExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1731,1
    - Dst: SSLExtension::tryCreateExtension<SSLSupportedVersionsExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1736,1
    - Dst: SSLExtension::tryCreateExtension<TLSSupportedGroupsExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1741,1
    - Dst: SSLExtension::tryCreateExtension<TLSECPointFormatExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1746,1
    - Dst: SSLExtension::tryCreateExtension<SSLExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1751,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1757,1
    - Dst: std::unique_ptr::getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1764,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1770,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1770,1
    - Dst: std::advance
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1771,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1695
    functionDepth: 1
    functionLinenumber: 1695
    functionLinenumberEnd: 1773
    functionName: pcpp::SSLServerHelloMessage::SSLServerHelloMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - SSLExtension::tryCreateExtension<SSLSupportedVersionsExtension>
    - static_cast<std::ptrdiff_t>
    - std::advance
    - pcpp::SSLServerHelloMessage::getExtensionsLength
    - getMessageLength
    - SSLExtension::tryCreateExtension<TLSECPointFormatExtension>
    - std::unique_ptr::getTotalLength
    - pcpp::SSLServerHelloMessage::getSessionIDLength
    - std::distance
    - pushBack
    - reinterpret_cast<uint16_t*>
    - be16toh
    - SSLExtension::tryCreateExtension<TLSSupportedGroupsExtension>
    - SSLExtension::tryCreateExtension<SSLExtension>
    - PCPP_LOG_DEBUG
    - SSLExtension::tryCreateExtension<SSLServerNameIndicationExtension>
    - std::move
    linkageType: ''
    returnType: void
    signature: void SSLServerHelloMessage::SSLServerHelloMessage(uint8_t* data, size_t
      dataLen, SSLHandshakeLayer* container)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getExtensionOfType
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1777,1
    - Dst: SSLSupportedVersionsExtension*::getSupportedVersions
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1780,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1781,1
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1786,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1788,1
    - Dst: getServerHelloHeader
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1788,1
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1775
    functionDepth: 1
    functionLinenumber: 1775
    functionLinenumberEnd: 1790
    functionName: pcpp::SSLServerHelloMessage::getHandshakeVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - std::vector::size
    - getServerHelloHeader
    - be16toh
    - SSLSupportedVersionsExtension*::getSupportedVersions
    - SSLVersion
    - pcpp::SSLServerHelloMessage::getExtensionOfType
    linkageType: ''
    returnType: SSLVersion
    signature: SSLVersion SSLServerHelloMessage::getHandshakeVersion() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1801
    functionName: pcpp::SSLServerHelloMessage::getSessionIDLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SSLServerHelloMessage::getSessionIDLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1809
    functionName: pcpp::SSLServerHelloMessage::getSessionID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLServerHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLServerHelloMessage::getSessionID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getCipherSuiteID
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1814,1
    - Dst: pcpp::SSLCipherSuite::getCipherSuiteByID
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1811
    functionDepth: 2
    functionLinenumber: 1811
    functionLinenumberEnd: 1816
    functionName: pcpp::SSLServerHelloMessage::getCipherSuite
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLCipherSuite::getCipherSuiteByID
    - pcpp::SSLServerHelloMessage::getCipherSuiteID
    linkageType: ''
    returnType: SSLCipherSuite
    signature: SSLCipherSuite * SSLServerHelloMessage::getCipherSuite() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1820,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' isValid'
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1818
    functionDepth: 1
    functionLinenumber: 1818
    functionLinenumberEnd: 1830
    functionName: pcpp::SSLServerHelloMessage::getCipherSuiteID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::SSLServerHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLServerHelloMessage::getCipherSuiteID(bool& isValid) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1832
    functionDepth: 1
    functionLinenumber: 1832
    functionLinenumberEnd: 1840
    functionName: pcpp::SSLServerHelloMessage::getCompressionMethodsValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLServerHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SSLServerHelloMessage::getCompressionMethodsValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1842
    functionDepth: 1
    functionLinenumber: 1842
    functionLinenumberEnd: 1845
    functionName: pcpp::SSLServerHelloMessage::getExtensionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int SSLServerHelloMessage::getExtensionCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1849,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1847
    functionDepth: 1
    functionLinenumber: 1847
    functionLinenumberEnd: 1856
    functionName: pcpp::SSLServerHelloMessage::getExtensionsLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::SSLServerHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLServerHelloMessage::getExtensionsLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1860,1
    - Dst: const_cast<SSLExtension*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1863,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1858
    functionDepth: 1
    functionLinenumber: 1858
    functionLinenumberEnd: 1864
    functionName: pcpp::SSLServerHelloMessage::getExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - at
    - const_cast<SSLExtension*>
    - size
    linkageType: ''
    returnType: SSLExtension
    signature: SSLExtension * SSLServerHelloMessage::getExtension(int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1868,1
    - Dst: const_cast<SSLExtension*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1871,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1871,1
    - Dst: SSLExtension*::getType
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1877
    functionName: pcpp::SSLServerHelloMessage::getExtensionOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - at
    - SSLExtension*::getType
    - const_cast<SSLExtension*>
    - size
    linkageType: ''
    returnType: SSLExtension
    signature: SSLExtension * SSLServerHelloMessage::getExtensionOfType(uint16_t type)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1881,1
    - Dst: const_cast<SSLExtension*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1884,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1884,1
    - Dst: SSLExtension*::getType
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - SSLExtensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1879
    functionDepth: 1
    functionLinenumber: 1879
    functionLinenumberEnd: 1890
    functionName: pcpp::SSLServerHelloMessage::getExtensionOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - at
    - SSLExtension*::getType
    - const_cast<SSLExtension*>
    - size
    linkageType: ''
    returnType: SSLExtension
    signature: SSLExtension * SSLServerHelloMessage::getExtensionOfType(SSLExtensionType
      type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getHandshakeVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1897,1
    - Dst: pcpp::SSLServerHelloMessage::getCipherSuiteID
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1901,1
    - Dst: pcpp::SSLServerHelloMessage::getExtensionCount
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1905,1
    - Dst: pcpp::SSLServerHelloMessage::getExtension
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1908,1
    - Dst: SSLServerHelloMessage::ServerHelloTLSFingerprint::extensions::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1892
    functionDepth: 2
    functionLinenumber: 1892
    functionLinenumberEnd: 1913
    functionName: pcpp::SSLServerHelloMessage::generateTLSFingerprint
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLServerHelloMessage::getCipherSuiteID
    - pcpp::SSLServerHelloMessage::getExtensionCount
    - pcpp::SSLServerHelloMessage::getHandshakeVersion
    - SSLServerHelloMessage::ServerHelloTLSFingerprint::extensions::push_back
    - pcpp::SSLServerHelloMessage::getExtension
    linkageType: ''
    returnType: SSLServerHelloMessage::ServerHelloTLSFingerprint
    signature: SSLServerHelloMessage::ServerHelloTLSFingerprint SSLServerHelloMessage::generateTLSFingerprint()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1918
    functionName: pcpp::SSLServerHelloMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLServerHelloMessage::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1940
    functionName: SSLServerHelloMessage::ServerHelloTLSFingerprint::toString()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string SSLServerHelloMessage::ServerHelloTLSFingerprint::toString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toStringAndMD5
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1945
    functionName: SSLServerHelloMessage::ServerHelloTLSFingerprint::toMD5()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - toStringAndMD5
    linkageType: ''
    returnType: std::string
    signature: std::string SSLServerHelloMessage::ServerHelloTLSFingerprint::toMD5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1949,1
    - Dst: MD5::MD5
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1950,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1951,1
    - Dst: md5
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 1952
    functionName: SSLServerHelloMessage::ServerHelloTLSFingerprint::toStringAndMD5()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - md5
    - MD5::MD5
    - std::pair<std::string, std::string>
    - toString
    linkageType: ''
    returnType: std::pair<std::string, std::string>
    signature: std::pair<std::string, std::string> SSLServerHelloMessage::ServerHelloTLSFingerprint::toStringAndMD5()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1964,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1968,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1984,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1998,1
    - Dst: SSLx509Certificate::SSLx509Certificate
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1999,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2000,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1958
    functionDepth: 1
    functionLinenumber: 1958
    functionLinenumberEnd: 2004
    functionName: pcpp::SSLCertificateMessage::SSLCertificateMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    - pushBack
    - be16toh
    - PCPP_LOG_DEBUG
    - SSLx509Certificate::SSLx509Certificate
    linkageType: ''
    returnType: void
    signature: void SSLCertificateMessage::SSLCertificateMessage(uint8_t* data, size_t
      dataLen, SSLHandshakeLayer* container)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2009
    functionName: pcpp::SSLCertificateMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLCertificateMessage::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2011
    functionDepth: 1
    functionLinenumber: 2011
    functionLinenumberEnd: 2014
    functionName: pcpp::SSLCertificateMessage::getNumOfCertificates
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int SSLCertificateMessage::getNumOfCertificates() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2018,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2020,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2021,1
    - Dst: const_cast<SSLx509Certificate*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2025,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 2016
    functionDepth: 1
    functionLinenumber: 2016
    functionLinenumberEnd: 2026
    functionName: pcpp::SSLCertificateMessage::getCertificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - const_cast<SSLx509Certificate*>
    - PCPP_LOG_DEBUG
    - at
    - size
    linkageType: ''
    returnType: SSLx509Certificate
    signature: SSLx509Certificate * SSLCertificateMessage::getCertificate(int index)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2035
    functionName: pcpp::SSLHelloRequestMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLHelloRequestMessage::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2041
    functionDepth: 0
    functionLinenumber: 2041
    functionLinenumberEnd: 2044
    functionName: pcpp::SSLServerHelloDoneMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLServerHelloDoneMessage::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 2050
    functionDepth: 0
    functionLinenumber: 2050
    functionLinenumberEnd: 2056
    functionName: pcpp::SSLServerKeyExchangeMessage::getServerKeyExchangeParams
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLServerKeyExchangeMessage::getServerKeyExchangeParams()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2060,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2065
    functionName: pcpp::SSLServerKeyExchangeMessage::getServerKeyExchangeParamsLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: size_t
    signature: size_t SSLServerKeyExchangeMessage::getServerKeyExchangeParamsLength()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2070
    functionName: pcpp::SSLServerKeyExchangeMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLServerKeyExchangeMessage::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2082
    functionName: pcpp::SSLClientKeyExchangeMessage::getClientKeyExchangeParams
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLClientKeyExchangeMessage::getClientKeyExchangeParams()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2086,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2091
    functionName: pcpp::SSLClientKeyExchangeMessage::getClientKeyExchangeParamsLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: size_t
    signature: size_t SSLClientKeyExchangeMessage::getClientKeyExchangeParamsLength()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2096
    functionName: pcpp::SSLClientKeyExchangeMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLClientKeyExchangeMessage::toString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2110,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2124,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2126,1
    - Dst: static_cast<SSLClientCertificateType>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2102
    functionDepth: 1
    functionLinenumber: 2102
    functionLinenumberEnd: 2128
    functionName: pcpp::SSLCertificateRequestMessage::SSLCertificateRequestMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    - push_back
    - static_cast<SSLClientCertificateType>
    linkageType: ''
    returnType: void
    signature: "void SSLCertificateRequestMessage::SSLCertificateRequestMessage(uint8_t*
      data, size_t dataLen,\n\t                                                           SSLHandshakeLayer*
      container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2133
    functionName: '& SSLCertificateRequestMessage::getCertificateTypes()'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SSLClientCertificateType>
    signature: std::vector<SSLClientCertificateType> & SSLCertificateRequestMessage::getCertificateTypes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2137,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2135
    functionDepth: 1
    functionLinenumber: 2135
    functionLinenumberEnd: 2144
    functionName: pcpp::SSLCertificateRequestMessage::getCertificateAuthorityData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    - size
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLCertificateRequestMessage::getCertificateAuthorityData()
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2148,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2149,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2146
    functionDepth: 1
    functionLinenumber: 2146
    functionLinenumberEnd: 2161
    functionName: pcpp::SSLCertificateRequestMessage::getCertificateAuthorityLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    - be16toh
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t SSLCertificateRequestMessage::getCertificateAuthorityLength()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2166
    functionName: pcpp::SSLCertificateRequestMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLCertificateRequestMessage::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2178
    functionName: pcpp::SSLCertificateVerifyMessage::getSignedHash
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLCertificateVerifyMessage::getSignedHash() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2187
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2187
    functionName: pcpp::SSLCertificateVerifyMessage::getSignedHashLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: size_t
    signature: size_t SSLCertificateVerifyMessage::getSignedHashLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2192
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2192
    functionName: pcpp::SSLCertificateVerifyMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLCertificateVerifyMessage::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2204
    functionName: pcpp::SSLFinishedMessage::getSignedHash
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLFinishedMessage::getSignedHash() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2213
    functionName: pcpp::SSLFinishedMessage::getSignedHashLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: size_t
    signature: size_t SSLFinishedMessage::getSignedHashLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2218
    functionName: pcpp::SSLFinishedMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLFinishedMessage::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2230
    functionName: pcpp::SSLNewSessionTicketMessage::getSessionTicketData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLNewSessionTicketMessage::getSessionTicketData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2239
    functionName: pcpp::SSLNewSessionTicketMessage::getSessionTicketDataLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: size_t
    signature: size_t SSLNewSessionTicketMessage::getSessionTicketDataLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2244
    functionName: pcpp::SSLNewSessionTicketMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLNewSessionTicketMessage::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2255
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2255
    functionName: pcpp::SSLUnknownMessage::getHandshakeType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLHandshakeType
    signature: SSLHandshakeType SSLUnknownMessage::getHandshakeType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2262
    functionName: pcpp::SSLUnknownMessage::getMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SSLUnknownMessage::getMessageLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2264
    functionDepth: 0
    functionLinenumber: 2264
    functionLinenumberEnd: 2267
    functionName: pcpp::SSLUnknownMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLUnknownMessage::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 331
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 686
    functionName: pcpp::createCipherSuiteIdToObjectMap
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<uint16_t, SSLCipherSuite*>
    signature: std::unordered_map<uint16_t, SSLCipherSuite*> createCipherSuiteIdToObjectMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 701
    functionName: pcpp::hashString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - std::string::size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hashString(std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 331
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 1038
    functionName: pcpp::createCipherSuiteStringToObjectMap
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<uint32_t, SSLCipherSuite*>
    signature: std::unordered_map<uint32_t, SSLCipherSuite*> createCipherSuiteStringToObjectMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::set<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1045
    functionName: pcpp::createGreaseSet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - std::set<uint16_t>
    linkageType: ''
    returnType: std::set<uint16_t>
    signature: std::set<uint16_t> createGreaseSet()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1057,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1062
    functionName: pcpp::SSLCipherSuite::getCipherSuiteByID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 2
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: SSLCipherSuite
    signature: SSLCipherSuite * SSLCipherSuite::getCipherSuiteByID(uint16_t id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashString
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1066,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1066,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1067,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1072
    functionName: pcpp::SSLCipherSuite::getCipherSuiteByName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - end
    - hashString
    - find
    - std::move
    linkageType: ''
    returnType: SSLCipherSuite
    signature: SSLCipherSuite * SSLCipherSuite::getCipherSuiteByName(std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1079
    functionName: pcpp::SSLExtension::SSLExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLExtension::SSLExtension(uint8_t* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1085,1
    - Dst: pcpp::SSLExtension::getLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1088,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1091,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1093
    functionName: pcpp::SSLExtension::SSLExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLExtension::getLength
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void SSLExtension::SSLExtension(uint8_t* data, size_t dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLExtension::getTypeAsInt
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1095
    functionDepth: 2
    functionLinenumber: 1095
    functionLinenumberEnd: 1102
    functionName: pcpp::SSLExtension::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLExtension::getTypeAsInt
    linkageType: ''
    returnType: SSLExtensionType
    signature: SSLExtensionType SSLExtension::getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1106,1
    - Dst: getExtensionStruct
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1107
    functionName: pcpp::SSLExtension::getTypeAsInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - getExtensionStruct
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLExtension::getTypeAsInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExtensionStruct
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1112
    functionName: pcpp::SSLExtension::getLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 4
    functionsReached:
    - getExtensionStruct
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLExtension::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLExtension::getLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1117
    functionName: pcpp::SSLExtension::getTotalLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLExtension::getLength
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLExtension::getTotalLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLExtension::getLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1121,1
    - Dst: getExtensionStruct
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1127
    functionName: pcpp::SSLExtension::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLExtension::getLength
    - getExtensionStruct
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLExtension::getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1132
    functionName: SSLExtension::SSLExtensionStruct::getDataLength() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLExtension::SSLExtensionStruct::getDataLength() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1140,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1147,1
    - Dst: reinterpret_cast<uint16_t const*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1147,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1151,1
    - Dst: PCPP_LOG_WARN
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1155,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1160
    functionName: pcpp::SSLServerNameIndicationExtension::getHostName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_WARN
    - getData
    - string
    - getLength
    - be16toh
    - reinterpret_cast<uint16_t const*>
    linkageType: ''
    returnType: std::string
    signature: std::string SSLServerNameIndicationExtension::getHostName() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1169,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1172,1
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1172,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1172,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1172,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1172,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1176,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1177,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1180,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1183,1
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1183,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1183,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1189
    functionName: pcpp::SSLSupportedVersionsExtension::getSupportedVersions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - getData
    - reinterpret_cast<uint16_t*>
    - be16toh
    - std::vector::push_back
    - getLength
    - SSLVersion
    linkageType: ''
    returnType: std::vector<SSLVersion>
    signature: std::vector<SSLVersion> SSLSupportedVersionsExtension::getSupportedVersions()
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1199,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1203,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1203,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1207,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1210,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1215
    functionName: pcpp::TLSSupportedGroupsExtension::getSupportedGroups
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getData
    - std::vector::push_back
    - getLength
    linkageType: ''
    returnType: std::vector<uint16_t>
    signature: std::vector<uint16_t> TLSSupportedGroupsExtension::getSupportedGroups()
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1225,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1230,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1232,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1235,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1243
    functionName: pcpp::TLSECPointFormatExtension::getECPointFormatList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getData
    - static_cast<uint16_t>
    - std::vector::push_back
    - getLength
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> TLSECPointFormatExtension::getECPointFormatList()
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1253,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1259,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1263
    functionName: pcpp::SSLx509Certificate::getRootAsn1Record
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1Record::decode
    - castAs
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: Asn1SequenceRecord
    signature: Asn1SequenceRecord * SSLx509Certificate::getRootAsn1Record()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1269,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1274
    functionName: pcpp::SSLx509Certificate::getX509Certificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::CryptoDataReader::fromDER
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::unique_ptr<X509Certificate>
    signature: std::unique_ptr<X509Certificate> SSLx509Certificate::getX509Certificate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1285
    functionName: pcpp::SSLHandshakeMessage::SSLHandshakeMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLHandshakeMessage::SSLHandshakeMessage(uint8_t* data, size_t
      dataLen, SSLHandshakeLayer* container)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ssl_tls_handshake_layer*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1293,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1295,1
    - Dst: SSLUnknownMessage::SSLUnknownMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1303,1
    - Dst: SSLClientHelloMessage::SSLClientHelloMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1309,1
    - Dst: SSLServerHelloMessage::SSLServerHelloMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1311,1
    - Dst: SSLHelloRequestMessage::SSLHelloRequestMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1313,1
    - Dst: SSLCertificateMessage::SSLCertificateMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1315,1
    - Dst: SSLServerKeyExchangeMessage::SSLServerKeyExchangeMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1317,1
    - Dst: SSLCertificateRequestMessage::SSLCertificateRequestMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1319,1
    - Dst: SSLCertificateVerifyMessage::SSLCertificateVerifyMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1321,1
    - Dst: SSLClientKeyExchangeMessage::SSLClientKeyExchangeMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1323,1
    - Dst: SSLFinishedMessage::SSLFinishedMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1325,1
    - Dst: SSLServerHelloDoneMessage::SSLServerHelloDoneMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1327,1
    - Dst: SSLNewSessionTicketMessage::SSLNewSessionTicketMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1329,1
    - Dst: SSLUnknownMessage::SSLUnknownMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1333
    functionName: pcpp::SSLHandshakeMessage::createHandshakeMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - SSLServerHelloDoneMessage::SSLServerHelloDoneMessage
    - SSLUnknownMessage::SSLUnknownMessage
    - SSLHelloRequestMessage::SSLHelloRequestMessage
    - SSLClientKeyExchangeMessage::SSLClientKeyExchangeMessage
    - SSLServerHelloMessage::SSLServerHelloMessage
    - reinterpret_cast<ssl_tls_handshake_layer*>
    - SSLServerKeyExchangeMessage::SSLServerKeyExchangeMessage
    - SSLCertificateRequestMessage::SSLCertificateRequestMessage
    - SSLFinishedMessage::SSLFinishedMessage
    - SSLClientHelloMessage::SSLClientHelloMessage
    - be64toh
    - SSLNewSessionTicketMessage::SSLNewSessionTicketMessage
    - SSLCertificateMessage::SSLCertificateMessage
    - SSLCertificateVerifyMessage::SSLCertificateVerifyMessage
    linkageType: ''
    returnType: SSLHandshakeMessage
    signature: "SSLHandshakeMessage * SSLHandshakeMessage::createHandshakeMessage(uint8_t*
      data, size_t dataLen,\n\t                                                                 SSLHandshakeLayer*
      container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ssl_tls_handshake_layer*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1339
    functionName: pcpp::SSLHandshakeMessage::getHandshakeType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<ssl_tls_handshake_layer*>
    linkageType: ''
    returnType: SSLHandshakeType
    signature: SSLHandshakeType SSLHandshakeMessage::getHandshakeType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ssl_tls_handshake_layer*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1343,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1341
    functionDepth: 1
    functionLinenumber: 1341
    functionLinenumberEnd: 1350
    functionName: pcpp::SSLHandshakeMessage::getMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - reinterpret_cast<ssl_tls_handshake_layer*>
    linkageType: ''
    returnType: size_t
    signature: size_t SSLHandshakeMessage::getMessageLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ssl_tls_handshake_layer*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1357,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1360
    functionName: pcpp::SSLHandshakeMessage::isMessageComplete
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - reinterpret_cast<ssl_tls_handshake_layer*>
    linkageType: ''
    returnType: bool
    signature: bool SSLHandshakeMessage::isMessageComplete() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1369,1
    - Dst: pcpp::SSLClientHelloMessage::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1370,1
    - Dst: pcpp::SSLClientHelloMessage::getExtensionsLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1376,1
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1379,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1395,1
    - Dst: static_cast<std::ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1395,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1399,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1399,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1400,1
    - Dst: SSLExtension::tryCreateExtension<SSLServerNameIndicationExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1407,1
    - Dst: SSLExtension::tryCreateExtension<SSLSupportedVersionsExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1412,1
    - Dst: SSLExtension::tryCreateExtension<TLSSupportedGroupsExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1417,1
    - Dst: SSLExtension::tryCreateExtension<TLSECPointFormatExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1422,1
    - Dst: SSLExtension::tryCreateExtension<SSLExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1427,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1433,1
    - Dst: std::unique_ptr::getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1440,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1446,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1446,1
    - Dst: std::advance
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1447,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1366
    functionDepth: 3
    functionLinenumber: 1366
    functionLinenumberEnd: 1449
    functionName: pcpp::SSLClientHelloMessage::SSLClientHelloMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - SSLExtension::tryCreateExtension<SSLSupportedVersionsExtension>
    - static_cast<std::ptrdiff_t>
    - std::advance
    - pcpp::SSLClientHelloMessage::getExtensionsLength
    - getMessageLength
    - SSLExtension::tryCreateExtension<TLSECPointFormatExtension>
    - std::unique_ptr::getTotalLength
    - std::distance
    - pushBack
    - reinterpret_cast<uint16_t*>
    - be16toh
    - SSLExtension::tryCreateExtension<TLSSupportedGroupsExtension>
    - pcpp::SSLClientHelloMessage::getSessionIDLength
    - SSLExtension::tryCreateExtension<SSLExtension>
    - PCPP_LOG_DEBUG
    - SSLExtension::tryCreateExtension<SSLServerNameIndicationExtension>
    - pcpp::SSLClientHelloMessage::getCipherSuiteCount
    - std::move
    linkageType: ''
    returnType: void
    signature: void SSLClientHelloMessage::SSLClientHelloMessage(uint8_t* data, size_t
      dataLen, SSLHandshakeLayer* container)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1454,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1456,1
    - Dst: getClientHelloHeader
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1456,1
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1458
    functionName: pcpp::SSLClientHelloMessage::getHandshakeVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - getClientHelloHeader
    - SSLVersion
    linkageType: ''
    returnType: SSLVersion
    signature: SSLVersion SSLClientHelloMessage::getHandshakeVersion() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1470
    functionName: pcpp::SSLClientHelloMessage::getSessionIDLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SSLClientHelloMessage::getSessionIDLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1478
    functionName: pcpp::SSLClientHelloMessage::getSessionID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLClientHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLClientHelloMessage::getSessionID() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1482,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1488
    functionName: pcpp::SSLClientHelloMessage::getCipherSuiteCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 6
    functionsReached:
    - be16toh
    - pcpp::SSLClientHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: int
    signature: int SSLClientHelloMessage::getCipherSuiteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getCipherSuiteID
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1493,1
    - Dst: pcpp::SSLCipherSuite::getCipherSuiteByID
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1490
    functionDepth: 3
    functionLinenumber: 1490
    functionLinenumberEnd: 1495
    functionName: pcpp::SSLClientHelloMessage::getCipherSuite
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLCipherSuite::getCipherSuiteByID
    - pcpp::SSLClientHelloMessage::getCipherSuiteID
    linkageType: ''
    returnType: SSLCipherSuite
    signature: SSLCipherSuite * SSLClientHelloMessage::getCipherSuite(int index) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1499,1
    - Dst: pcpp::SSLClientHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1506,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - index
    - ' isValid'
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1497
    functionDepth: 2
    functionLinenumber: 1497
    functionLinenumberEnd: 1516
    functionName: pcpp::SSLClientHelloMessage::getCipherSuiteID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 3
    functionsReached:
    - be16toh
    - pcpp::SSLClientHelloMessage::getCipherSuiteCount
    - pcpp::SSLClientHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLClientHelloMessage::getCipherSuiteID(int index, bool& isValid)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1520,1
    - Dst: pcpp::SSLClientHelloMessage::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1518
    functionDepth: 2
    functionLinenumber: 1518
    functionLinenumberEnd: 1527
    functionName: pcpp::SSLClientHelloMessage::getCompressionMethodsValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLClientHelloMessage::getCipherSuiteCount
    - pcpp::SSLClientHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SSLClientHelloMessage::getCompressionMethodsValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1532
    functionName: pcpp::SSLClientHelloMessage::getExtensionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int SSLClientHelloMessage::getExtensionCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1536,1
    - Dst: pcpp::SSLClientHelloMessage::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1537,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1534
    functionDepth: 2
    functionLinenumber: 1534
    functionLinenumberEnd: 1544
    functionName: pcpp::SSLClientHelloMessage::getExtensionsLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - pcpp::SSLClientHelloMessage::getCipherSuiteCount
    - pcpp::SSLClientHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLClientHelloMessage::getExtensionsLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<SSLExtension*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1548,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1549
    functionName: pcpp::SSLClientHelloMessage::getExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - at
    - const_cast<SSLExtension*>
    linkageType: ''
    returnType: SSLExtension
    signature: SSLExtension * SSLClientHelloMessage::getExtension(int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1553,1
    - Dst: const_cast<SSLExtension*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1556,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1556,1
    - Dst: SSLExtension*::getTypeAsInt
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1551
    functionDepth: 1
    functionLinenumber: 1551
    functionLinenumberEnd: 1562
    functionName: pcpp::SSLClientHelloMessage::getExtensionOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - at
    - SSLExtension*::getTypeAsInt
    - const_cast<SSLExtension*>
    - size
    linkageType: ''
    returnType: SSLExtension
    signature: SSLExtension * SSLClientHelloMessage::getExtensionOfType(uint16_t type)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1566,1
    - Dst: const_cast<SSLExtension*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1569,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1569,1
    - Dst: SSLExtension*::getType
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - SSLExtensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1575
    functionName: pcpp::SSLClientHelloMessage::getExtensionOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - at
    - SSLExtension*::getType
    - const_cast<SSLExtension*>
    - size
    linkageType: ''
    returnType: SSLExtension
    signature: SSLExtension * SSLClientHelloMessage::getExtensionOfType(SSLExtensionType
      type) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage::getHandshakeVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1582,1
    - Dst: pcpp::SSLClientHelloMessage::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1585,1
    - Dst: pcpp::SSLClientHelloMessage::getCipherSuiteID
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1589,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1590,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1590,1
    - Dst: SSLClientHelloMessage::ClientHelloTLSFingerprint::cipherSuites::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1591,1
    - Dst: pcpp::SSLClientHelloMessage::getExtensionCount
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1595,1
    - Dst: pcpp::SSLClientHelloMessage::getExtension
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1598,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1599,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1599,1
    - Dst: SSLClientHelloMessage::ClientHelloTLSFingerprint::extensions::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1602,1
    - Dst: pcpp::SSLClientHelloMessage::getExtensionOfType
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1606,1
    - Dst: TLSSupportedGroupsExtension*::getSupportedGroups
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1609,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1611,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1611,1
    - Dst: SSLClientHelloMessage::ClientHelloTLSFingerprint::supportedGroups::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1612,1
    - Dst: pcpp::SSLClientHelloMessage::getExtensionOfType
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1616,1
    - Dst: TLSECPointFormatExtension*::getECPointFormatList
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1619,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1623
    functionName: pcpp::SSLClientHelloMessage::generateTLSFingerprint
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLClientHelloMessage::getExtension
    - pcpp::SSLClientHelloMessage::getHandshakeVersion
    - pcpp::SSLClientHelloMessage::getCipherSuiteID
    - pcpp::SSLClientHelloMessage::getExtensionOfType
    - TLSECPointFormatExtension*::getECPointFormatList
    - SSLClientHelloMessage::ClientHelloTLSFingerprint::extensions::push_back
    - end
    - SSLClientHelloMessage::ClientHelloTLSFingerprint::cipherSuites::push_back
    - pcpp::SSLClientHelloMessage::getExtensionCount
    - find
    - TLSSupportedGroupsExtension*::getSupportedGroups
    - SSLClientHelloMessage::ClientHelloTLSFingerprint::supportedGroups::push_back
    - pcpp::SSLClientHelloMessage::getCipherSuiteCount
    linkageType: ''
    returnType: SSLClientHelloMessage::ClientHelloTLSFingerprint
    signature: SSLClientHelloMessage::ClientHelloTLSFingerprint SSLClientHelloMessage::generateTLSFingerprint()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1628
    functionName: pcpp::SSLClientHelloMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLClientHelloMessage::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1677
    functionName: SSLClientHelloMessage::ClientHelloTLSFingerprint::toString()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string SSLClientHelloMessage::ClientHelloTLSFingerprint::toString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toStringAndMD5
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1682
    functionName: SSLClientHelloMessage::ClientHelloTLSFingerprint::toMD5()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - toStringAndMD5
    linkageType: ''
    returnType: std::string
    signature: std::string SSLClientHelloMessage::ClientHelloTLSFingerprint::toMD5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1686,1
    - Dst: MD5::MD5
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1687,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1688,1
    - Dst: md5
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1684
    functionDepth: 1
    functionLinenumber: 1684
    functionLinenumberEnd: 1689
    functionName: SSLClientHelloMessage::ClientHelloTLSFingerprint::toStringAndMD5()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - md5
    - MD5::MD5
    - std::pair<std::string, std::string>
    - toString
    linkageType: ''
    returnType: std::pair<std::string, std::string>
    signature: std::pair<std::string, std::string> SSLClientHelloMessage::ClientHelloTLSFingerprint::toStringAndMD5()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1698,1
    - Dst: pcpp::SSLServerHelloMessage::getExtensionsLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1704,1
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1706,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1719,1
    - Dst: static_cast<std::ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1719,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1723,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1723,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1724,1
    - Dst: SSLExtension::tryCreateExtension<SSLServerNameIndicationExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1731,1
    - Dst: SSLExtension::tryCreateExtension<SSLSupportedVersionsExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1736,1
    - Dst: SSLExtension::tryCreateExtension<TLSSupportedGroupsExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1741,1
    - Dst: SSLExtension::tryCreateExtension<TLSECPointFormatExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1746,1
    - Dst: SSLExtension::tryCreateExtension<SSLExtension>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1751,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1757,1
    - Dst: std::unique_ptr::getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1764,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1770,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1770,1
    - Dst: std::advance
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1771,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1695
    functionDepth: 2
    functionLinenumber: 1695
    functionLinenumberEnd: 1773
    functionName: pcpp::SSLServerHelloMessage::SSLServerHelloMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - SSLExtension::tryCreateExtension<SSLSupportedVersionsExtension>
    - static_cast<std::ptrdiff_t>
    - std::advance
    - pcpp::SSLServerHelloMessage::getExtensionsLength
    - getMessageLength
    - SSLExtension::tryCreateExtension<TLSECPointFormatExtension>
    - std::unique_ptr::getTotalLength
    - pcpp::SSLServerHelloMessage::getSessionIDLength
    - std::distance
    - pushBack
    - reinterpret_cast<uint16_t*>
    - be16toh
    - SSLExtension::tryCreateExtension<TLSSupportedGroupsExtension>
    - SSLExtension::tryCreateExtension<SSLExtension>
    - PCPP_LOG_DEBUG
    - SSLExtension::tryCreateExtension<SSLServerNameIndicationExtension>
    - std::move
    linkageType: ''
    returnType: void
    signature: void SSLServerHelloMessage::SSLServerHelloMessage(uint8_t* data, size_t
      dataLen, SSLHandshakeLayer* container)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getExtensionOfType
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1777,1
    - Dst: SSLSupportedVersionsExtension*::getSupportedVersions
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1780,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1781,1
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1786,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1788,1
    - Dst: getServerHelloHeader
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1788,1
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1775
    functionDepth: 2
    functionLinenumber: 1775
    functionLinenumberEnd: 1790
    functionName: pcpp::SSLServerHelloMessage::getHandshakeVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - std::vector::size
    - getServerHelloHeader
    - be16toh
    - SSLSupportedVersionsExtension*::getSupportedVersions
    - SSLVersion
    - pcpp::SSLServerHelloMessage::getExtensionOfType
    linkageType: ''
    returnType: SSLVersion
    signature: SSLVersion SSLServerHelloMessage::getHandshakeVersion() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1801
    functionName: pcpp::SSLServerHelloMessage::getSessionIDLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SSLServerHelloMessage::getSessionIDLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1809
    functionName: pcpp::SSLServerHelloMessage::getSessionID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLServerHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLServerHelloMessage::getSessionID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getCipherSuiteID
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1814,1
    - Dst: pcpp::SSLCipherSuite::getCipherSuiteByID
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1811
    functionDepth: 2
    functionLinenumber: 1811
    functionLinenumberEnd: 1816
    functionName: pcpp::SSLServerHelloMessage::getCipherSuite
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLCipherSuite::getCipherSuiteByID
    - pcpp::SSLServerHelloMessage::getCipherSuiteID
    linkageType: ''
    returnType: SSLCipherSuite
    signature: SSLCipherSuite * SSLServerHelloMessage::getCipherSuite() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1820,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' isValid'
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1818
    functionDepth: 1
    functionLinenumber: 1818
    functionLinenumberEnd: 1830
    functionName: pcpp::SSLServerHelloMessage::getCipherSuiteID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 3
    functionsReached:
    - be16toh
    - pcpp::SSLServerHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLServerHelloMessage::getCipherSuiteID(bool& isValid) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1832
    functionDepth: 1
    functionLinenumber: 1832
    functionLinenumberEnd: 1840
    functionName: pcpp::SSLServerHelloMessage::getCompressionMethodsValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLServerHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SSLServerHelloMessage::getCompressionMethodsValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1842
    functionDepth: 1
    functionLinenumber: 1842
    functionLinenumberEnd: 1845
    functionName: pcpp::SSLServerHelloMessage::getExtensionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int SSLServerHelloMessage::getExtensionCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getSessionIDLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1849,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1847
    functionDepth: 1
    functionLinenumber: 1847
    functionLinenumberEnd: 1856
    functionName: pcpp::SSLServerHelloMessage::getExtensionsLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - pcpp::SSLServerHelloMessage::getSessionIDLength
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SSLServerHelloMessage::getExtensionsLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1860,1
    - Dst: const_cast<SSLExtension*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1863,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1858
    functionDepth: 1
    functionLinenumber: 1858
    functionLinenumberEnd: 1864
    functionName: pcpp::SSLServerHelloMessage::getExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 1
    functionsReached:
    - at
    - const_cast<SSLExtension*>
    - size
    linkageType: ''
    returnType: SSLExtension
    signature: SSLExtension * SSLServerHelloMessage::getExtension(int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1868,1
    - Dst: const_cast<SSLExtension*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1871,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1871,1
    - Dst: SSLExtension*::getType
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1877
    functionName: pcpp::SSLServerHelloMessage::getExtensionOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 2
    functionsReached:
    - at
    - SSLExtension*::getType
    - const_cast<SSLExtension*>
    - size
    linkageType: ''
    returnType: SSLExtension
    signature: SSLExtension * SSLServerHelloMessage::getExtensionOfType(uint16_t type)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1881,1
    - Dst: const_cast<SSLExtension*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1884,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1884,1
    - Dst: SSLExtension*::getType
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1885,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - SSLExtensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1879
    functionDepth: 1
    functionLinenumber: 1879
    functionLinenumberEnd: 1890
    functionName: pcpp::SSLServerHelloMessage::getExtensionOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 2
    functionsReached:
    - at
    - SSLExtension*::getType
    - const_cast<SSLExtension*>
    - size
    linkageType: ''
    returnType: SSLExtension
    signature: SSLExtension * SSLServerHelloMessage::getExtensionOfType(SSLExtensionType
      type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage::getHandshakeVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1897,1
    - Dst: pcpp::SSLServerHelloMessage::getCipherSuiteID
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1901,1
    - Dst: pcpp::SSLServerHelloMessage::getExtensionCount
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1905,1
    - Dst: pcpp::SSLServerHelloMessage::getExtension
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1908,1
    - Dst: SSLServerHelloMessage::ServerHelloTLSFingerprint::extensions::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1892
    functionDepth: 2
    functionLinenumber: 1892
    functionLinenumberEnd: 1913
    functionName: pcpp::SSLServerHelloMessage::generateTLSFingerprint
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLServerHelloMessage::getCipherSuiteID
    - pcpp::SSLServerHelloMessage::getExtensionCount
    - pcpp::SSLServerHelloMessage::getHandshakeVersion
    - SSLServerHelloMessage::ServerHelloTLSFingerprint::extensions::push_back
    - pcpp::SSLServerHelloMessage::getExtension
    linkageType: ''
    returnType: SSLServerHelloMessage::ServerHelloTLSFingerprint
    signature: SSLServerHelloMessage::ServerHelloTLSFingerprint SSLServerHelloMessage::generateTLSFingerprint()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1918
    functionName: pcpp::SSLServerHelloMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLServerHelloMessage::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1940
    functionName: SSLServerHelloMessage::ServerHelloTLSFingerprint::toString()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string SSLServerHelloMessage::ServerHelloTLSFingerprint::toString()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toStringAndMD5
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1945
    functionName: SSLServerHelloMessage::ServerHelloTLSFingerprint::toMD5()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - toStringAndMD5
    linkageType: ''
    returnType: std::string
    signature: std::string SSLServerHelloMessage::ServerHelloTLSFingerprint::toMD5()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1949,1
    - Dst: MD5::MD5
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1950,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1951,1
    - Dst: md5
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 1952
    functionName: SSLServerHelloMessage::ServerHelloTLSFingerprint::toStringAndMD5()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - md5
    - MD5::MD5
    - std::pair<std::string, std::string>
    - toString
    linkageType: ''
    returnType: std::pair<std::string, std::string>
    signature: std::pair<std::string, std::string> SSLServerHelloMessage::ServerHelloTLSFingerprint::toStringAndMD5()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1964,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1968,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1984,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1998,1
    - Dst: SSLx509Certificate::SSLx509Certificate
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:1999,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2000,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1958
    functionDepth: 1
    functionLinenumber: 1958
    functionLinenumberEnd: 2004
    functionName: pcpp::SSLCertificateMessage::SSLCertificateMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    - pushBack
    - be16toh
    - PCPP_LOG_DEBUG
    - SSLx509Certificate::SSLx509Certificate
    linkageType: ''
    returnType: void
    signature: void SSLCertificateMessage::SSLCertificateMessage(uint8_t* data, size_t
      dataLen, SSLHandshakeLayer* container)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2009
    functionName: pcpp::SSLCertificateMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLCertificateMessage::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2011
    functionDepth: 1
    functionLinenumber: 2011
    functionLinenumberEnd: 2014
    functionName: pcpp::SSLCertificateMessage::getNumOfCertificates
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int SSLCertificateMessage::getNumOfCertificates() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2018,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2020,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2021,1
    - Dst: const_cast<SSLx509Certificate*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2025,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 2016
    functionDepth: 1
    functionLinenumber: 2016
    functionLinenumberEnd: 2026
    functionName: pcpp::SSLCertificateMessage::getCertificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - const_cast<SSLx509Certificate*>
    - PCPP_LOG_DEBUG
    - at
    - size
    linkageType: ''
    returnType: SSLx509Certificate
    signature: SSLx509Certificate * SSLCertificateMessage::getCertificate(int index)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2035
    functionName: pcpp::SSLHelloRequestMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLHelloRequestMessage::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2041
    functionDepth: 0
    functionLinenumber: 2041
    functionLinenumberEnd: 2044
    functionName: pcpp::SSLServerHelloDoneMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLServerHelloDoneMessage::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 2050
    functionDepth: 0
    functionLinenumber: 2050
    functionLinenumberEnd: 2056
    functionName: pcpp::SSLServerKeyExchangeMessage::getServerKeyExchangeParams
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLServerKeyExchangeMessage::getServerKeyExchangeParams()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2060,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2065
    functionName: pcpp::SSLServerKeyExchangeMessage::getServerKeyExchangeParamsLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: size_t
    signature: size_t SSLServerKeyExchangeMessage::getServerKeyExchangeParamsLength()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2070
    functionName: pcpp::SSLServerKeyExchangeMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLServerKeyExchangeMessage::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2082
    functionName: pcpp::SSLClientKeyExchangeMessage::getClientKeyExchangeParams
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLClientKeyExchangeMessage::getClientKeyExchangeParams()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2086,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2091
    functionName: pcpp::SSLClientKeyExchangeMessage::getClientKeyExchangeParamsLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: size_t
    signature: size_t SSLClientKeyExchangeMessage::getClientKeyExchangeParamsLength()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2096
    functionName: pcpp::SSLClientKeyExchangeMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLClientKeyExchangeMessage::toString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2110,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2124,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2126,1
    - Dst: static_cast<SSLClientCertificateType>
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2102
    functionDepth: 1
    functionLinenumber: 2102
    functionLinenumberEnd: 2128
    functionName: pcpp::SSLCertificateRequestMessage::SSLCertificateRequestMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    - push_back
    - static_cast<SSLClientCertificateType>
    linkageType: ''
    returnType: void
    signature: "void SSLCertificateRequestMessage::SSLCertificateRequestMessage(uint8_t*
      data, size_t dataLen,\n\t                                                           SSLHandshakeLayer*
      container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2133
    functionName: '& SSLCertificateRequestMessage::getCertificateTypes()'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<SSLClientCertificateType>
    signature: std::vector<SSLClientCertificateType> & SSLCertificateRequestMessage::getCertificateTypes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2137,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2135
    functionDepth: 1
    functionLinenumber: 2135
    functionLinenumberEnd: 2144
    functionName: pcpp::SSLCertificateRequestMessage::getCertificateAuthorityData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    - size
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLCertificateRequestMessage::getCertificateAuthorityData()
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2148,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2149,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2146
    functionDepth: 1
    functionLinenumber: 2146
    functionLinenumberEnd: 2161
    functionName: pcpp::SSLCertificateRequestMessage::getCertificateAuthorityLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    - be16toh
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t SSLCertificateRequestMessage::getCertificateAuthorityLength()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2166
    functionName: pcpp::SSLCertificateRequestMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLCertificateRequestMessage::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2178
    functionName: pcpp::SSLCertificateVerifyMessage::getSignedHash
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLCertificateVerifyMessage::getSignedHash() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2187
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2187
    functionName: pcpp::SSLCertificateVerifyMessage::getSignedHashLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: size_t
    signature: size_t SSLCertificateVerifyMessage::getSignedHashLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2192
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2192
    functionName: pcpp::SSLCertificateVerifyMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLCertificateVerifyMessage::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2204
    functionName: pcpp::SSLFinishedMessage::getSignedHash
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLFinishedMessage::getSignedHash() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2213
    functionName: pcpp::SSLFinishedMessage::getSignedHashLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: size_t
    signature: size_t SSLFinishedMessage::getSignedHashLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2218
    functionName: pcpp::SSLFinishedMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLFinishedMessage::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2230
    functionName: pcpp::SSLNewSessionTicketMessage::getSessionTicketData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLNewSessionTicketMessage::getSessionTicketData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp:2234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2239
    functionName: pcpp::SSLNewSessionTicketMessage::getSessionTicketDataLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached:
    - getMessageLength
    linkageType: ''
    returnType: size_t
    signature: size_t SSLNewSessionTicketMessage::getSessionTicketDataLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2244
    functionName: pcpp::SSLNewSessionTicketMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLNewSessionTicketMessage::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2255
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2255
    functionName: pcpp::SSLUnknownMessage::getHandshakeType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLHandshakeType
    signature: SSLHandshakeType SSLUnknownMessage::getHandshakeType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2262
    functionName: pcpp::SSLUnknownMessage::getMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SSLUnknownMessage::getMessageLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2264
    functionDepth: 0
    functionLinenumber: 2264
    functionLinenumberEnd: 2267
    functionName: pcpp::SSLUnknownMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SSLUnknownMessage::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:14,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:15,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:16,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:17,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:19,1
    - Dst: RadiusAttribute
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 22
    functionName: pcpp::RadiusAttributeBuilder::build
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - RadiusAttribute
    - static_cast<uint8_t>
    - memcpy
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: RadiusAttribute
    signature: RadiusAttribute RadiusAttributeBuilder::build() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:26,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:29,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:32,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - code
    - id
    - authenticator
    - authenticatorArrSize
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: pcpp::RadiusLayer::RadiusLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - htobe16
    - pcpp::RadiusLayer::getRadiusHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void RadiusLayer::RadiusLayer(uint8_t code, uint8_t id, const uint8_t*
      authenticator, uint8_t authenticatorArrSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:42,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:45,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:48,1
    - Dst: pcpp::RadiusLayer::setAuthenticatorValue
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - code
    - id
    - ' authenticator'
    argTypes:
    - uint8_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: pcpp::RadiusLayer::RadiusLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::RadiusLayer::setAuthenticatorValue
    - pcpp::RadiusLayer::getRadiusHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void RadiusLayer::RadiusLayer(uint8_t code, uint8_t id, const std::string&
      authenticator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:54,1
    - Dst: RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:55,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:57,1
    - Dst: RadiusAttribute::getType
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:57,1
    - Dst: RadiusAttribute::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:61,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:62,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:64,1
    - Dst: RadiusAttribute::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:64,1
    - Dst: RadiusAttribute::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:65,1
    - Dst: RadiusAttribute
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:66,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:69,1
    - Dst: RadiusAttribute::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:69,1
    - Dst: RadiusAttribute::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:69,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:73,1
    - Dst: RadiusAttribute::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:75,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:77,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:77,1
    - Dst: RadiusAttribute
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' attrBuilder'
    - offset
    argTypes:
    - RadiusAttributeBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 80
    functionName: pcpp::RadiusLayer::addAttrAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - RadiusAttribute
    - htobe16
    - RadiusAttribute::getType
    - RadiusAttribute::purgeRecordData
    - PCPP_LOG_ERROR
    - memcpy
    - RadiusAttribute::getRecordBasePtr
    - RadiusAttribute::getTotalSize
    - build
    - RadiusAttribute::isNull
    - pcpp::RadiusLayer::getRadiusHeader
    - changeTLVRecordCount
    linkageType: ''
    returnType: RadiusAttribute
    signature: RadiusAttribute RadiusLayer::addAttrAt(const RadiusAttributeBuilder&
      attrBuilder, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:84,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: pcpp::RadiusLayer::getAuthenticatorValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    - pcpp::RadiusLayer::getRadiusHeader
    linkageType: ''
    returnType: std::string
    signature: std::string RadiusLayer::getAuthenticatorValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:89,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' authValue'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: pcpp::RadiusLayer::setAuthenticatorValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 1
    functionsReached:
    - hexStringToByteArray
    - pcpp::RadiusLayer::getRadiusHeader
    linkageType: ''
    returnType: void
    signature: void RadiusLayer::setAuthenticatorValue(const std::string& authValue)
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 1
    argNames:
    - radiusMessageCode
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 129
    functionName: pcpp::RadiusLayer::getRadiusMessageString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string RadiusLayer::getRadiusMessageString(uint8_t radiusMessageCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:133,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: pcpp::RadiusLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::RadiusLayer::getRadiusHeader
    linkageType: ''
    returnType: size_t
    signature: size_t RadiusLayer::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:142,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: pcpp::RadiusLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::RadiusLayer::getRadiusHeader
    linkageType: ''
    returnType: void
    signature: void RadiusLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RadiusLayer::getRadiusMessageString
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:148,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:148,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:149,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:152,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:153,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:153,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: pcpp::RadiusLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::RadiusLayer::getRadiusMessageString
    - std::ostringstream::str
    - pcpp::RadiusLayer::getRadiusHeader
    linkageType: ''
    returnType: std::string
    signature: std::string RadiusLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:160,1
    - Dst: pcpp::RadiusLayer::getAttributesBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:160,1
    - Dst: pcpp::RadiusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: pcpp::RadiusLayer::getFirstAttribute
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - pcpp::RadiusLayer::getHeaderLen
    - pcpp::RadiusLayer::getAttributesBasePtr
    linkageType: ''
    returnType: RadiusAttribute
    signature: RadiusAttribute RadiusLayer::getFirstAttribute() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:165,1
    - Dst: pcpp::RadiusLayer::getAttributesBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:165,1
    - Dst: pcpp::RadiusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' attr'
    argTypes:
    - RadiusAttribute
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: pcpp::RadiusLayer::getNextAttribute
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RadiusLayer::getHeaderLen
    - pcpp::RadiusLayer::getAttributesBasePtr
    - getNextTLVRecord
    linkageType: ''
    returnType: RadiusAttribute
    signature: RadiusAttribute RadiusLayer::getNextAttribute(RadiusAttribute& attr)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:170,1
    - Dst: pcpp::RadiusLayer::getAttributesBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:170,1
    - Dst: pcpp::RadiusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributeType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: pcpp::RadiusLayer::getAttribute
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RadiusLayer::getHeaderLen
    - pcpp::RadiusLayer::getAttributesBasePtr
    - getTLVRecord
    linkageType: ''
    returnType: RadiusAttribute
    signature: RadiusAttribute RadiusLayer::getAttribute(uint8_t attributeType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:176,1
    - Dst: pcpp::RadiusLayer::getAttributesBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:176,1
    - Dst: pcpp::RadiusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: pcpp::RadiusLayer::getAttributeCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RadiusLayer::getHeaderLen
    - pcpp::RadiusLayer::getAttributesBasePtr
    - getTLVRecordCount
    linkageType: ''
    returnType: size_t
    signature: size_t RadiusLayer::getAttributeCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RadiusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:181,1
    - Dst: pcpp::RadiusLayer::addAttrAt
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' attrBuilder'
    argTypes:
    - RadiusAttributeBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: pcpp::RadiusLayer::addAttribute
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RadiusLayer::getHeaderLen
    - pcpp::RadiusLayer::addAttrAt
    linkageType: ''
    returnType: RadiusAttribute
    signature: RadiusAttribute RadiusLayer::addAttribute(const RadiusAttributeBuilder&
      attrBuilder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RadiusLayer::getAttribute
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:189,1
    - Dst: RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:191,1
    - Dst: pcpp::RadiusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:193,1
    - Dst: RadiusAttribute::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:197,1
    - Dst: RadiusAttribute::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:197,1
    - Dst: pcpp::RadiusLayer::addAttrAt
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' attrBuilder'
    - prevAttrType
    argTypes:
    - RadiusAttributeBuilder
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: pcpp::RadiusLayer::addAttributeAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RadiusLayer::getAttribute
    - pcpp::RadiusLayer::addAttrAt
    - RadiusAttribute::getRecordBasePtr
    - RadiusAttribute::getTotalSize
    - pcpp::RadiusLayer::getHeaderLen
    - RadiusAttribute::isNull
    linkageType: ''
    returnType: RadiusAttribute
    signature: RadiusAttribute RadiusLayer::addAttributeAfter(const RadiusAttributeBuilder&
      attrBuilder, uint8_t prevAttrType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RadiusLayer::getAttribute
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:205,1
    - Dst: RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:206,1
    - Dst: RadiusAttribute::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:211,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:213,1
    - Dst: RadiusAttribute::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:213,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:218,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:219,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - attrType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 222
    functionName: pcpp::RadiusLayer::removeAttribute
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::RadiusLayer::getAttribute
    - RadiusAttribute::getRecordBasePtr
    - RadiusAttribute::getTotalSize
    - shortenLayer
    - RadiusAttribute::isNull
    - pcpp::RadiusLayer::getRadiusHeader
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool RadiusLayer::removeAttribute(uint8_t attrType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:228,1
    - Dst: pcpp::RadiusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:228,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:231,1
    - Dst: pcpp::RadiusLayer::getAttributeCount
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:231,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:233,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: pcpp::RadiusLayer::removeAllAttributes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::RadiusLayer::getAttributeCount
    - shortenLayer
    - pcpp::RadiusLayer::getHeaderLen
    - pcpp::RadiusLayer::getRadiusHeader
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool RadiusLayer::removeAllAttributes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const radius_header*>
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:242,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - udpData
    - udpDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: pcpp::RadiusLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - reinterpret_cast<const radius_header*>
    linkageType: ''
    returnType: bool
    signature: bool RadiusLayer::isDataValid(const uint8_t* udpData, size_t udpDataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:14,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:15,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:16,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:17,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:19,1
    - Dst: RadiusAttribute
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 22
    functionName: pcpp::RadiusAttributeBuilder::build
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - RadiusAttribute
    - static_cast<uint8_t>
    - memcpy
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: RadiusAttribute
    signature: RadiusAttribute RadiusAttributeBuilder::build() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:26,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:29,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:32,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - code
    - id
    - authenticator
    - authenticatorArrSize
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: pcpp::RadiusLayer::RadiusLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - htobe16
    - pcpp::RadiusLayer::getRadiusHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void RadiusLayer::RadiusLayer(uint8_t code, uint8_t id, const uint8_t*
      authenticator, uint8_t authenticatorArrSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:42,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:45,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:48,1
    - Dst: pcpp::RadiusLayer::setAuthenticatorValue
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - code
    - id
    - ' authenticator'
    argTypes:
    - uint8_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: pcpp::RadiusLayer::RadiusLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::RadiusLayer::setAuthenticatorValue
    - pcpp::RadiusLayer::getRadiusHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void RadiusLayer::RadiusLayer(uint8_t code, uint8_t id, const std::string&
      authenticator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:54,1
    - Dst: RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:55,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:57,1
    - Dst: RadiusAttribute::getType
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:57,1
    - Dst: RadiusAttribute::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:61,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:62,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:64,1
    - Dst: RadiusAttribute::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:64,1
    - Dst: RadiusAttribute::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:65,1
    - Dst: RadiusAttribute
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:66,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:69,1
    - Dst: RadiusAttribute::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:69,1
    - Dst: RadiusAttribute::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:69,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:73,1
    - Dst: RadiusAttribute::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:75,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:77,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:77,1
    - Dst: RadiusAttribute
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' attrBuilder'
    - offset
    argTypes:
    - RadiusAttributeBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 80
    functionName: pcpp::RadiusLayer::addAttrAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - RadiusAttribute
    - htobe16
    - RadiusAttribute::getType
    - RadiusAttribute::purgeRecordData
    - PCPP_LOG_ERROR
    - memcpy
    - RadiusAttribute::getRecordBasePtr
    - RadiusAttribute::getTotalSize
    - build
    - RadiusAttribute::isNull
    - pcpp::RadiusLayer::getRadiusHeader
    - changeTLVRecordCount
    linkageType: ''
    returnType: RadiusAttribute
    signature: RadiusAttribute RadiusLayer::addAttrAt(const RadiusAttributeBuilder&
      attrBuilder, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:84,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: pcpp::RadiusLayer::getAuthenticatorValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    - pcpp::RadiusLayer::getRadiusHeader
    linkageType: ''
    returnType: std::string
    signature: std::string RadiusLayer::getAuthenticatorValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:89,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' authValue'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: pcpp::RadiusLayer::setAuthenticatorValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 2
    functionsReached:
    - hexStringToByteArray
    - pcpp::RadiusLayer::getRadiusHeader
    linkageType: ''
    returnType: void
    signature: void RadiusLayer::setAuthenticatorValue(const std::string& authValue)
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 1
    argNames:
    - radiusMessageCode
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 129
    functionName: pcpp::RadiusLayer::getRadiusMessageString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string RadiusLayer::getRadiusMessageString(uint8_t radiusMessageCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:133,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: pcpp::RadiusLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 7
    functionsReached:
    - be16toh
    - pcpp::RadiusLayer::getRadiusHeader
    linkageType: ''
    returnType: size_t
    signature: size_t RadiusLayer::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:142,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: pcpp::RadiusLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::RadiusLayer::getRadiusHeader
    linkageType: ''
    returnType: void
    signature: void RadiusLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RadiusLayer::getRadiusMessageString
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:148,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:148,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:149,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:152,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:153,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:153,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: pcpp::RadiusLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::RadiusLayer::getRadiusMessageString
    - std::ostringstream::str
    - pcpp::RadiusLayer::getRadiusHeader
    linkageType: ''
    returnType: std::string
    signature: std::string RadiusLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:160,1
    - Dst: pcpp::RadiusLayer::getAttributesBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:160,1
    - Dst: pcpp::RadiusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: pcpp::RadiusLayer::getFirstAttribute
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - pcpp::RadiusLayer::getHeaderLen
    - pcpp::RadiusLayer::getAttributesBasePtr
    linkageType: ''
    returnType: RadiusAttribute
    signature: RadiusAttribute RadiusLayer::getFirstAttribute() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:165,1
    - Dst: pcpp::RadiusLayer::getAttributesBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:165,1
    - Dst: pcpp::RadiusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' attr'
    argTypes:
    - RadiusAttribute
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: pcpp::RadiusLayer::getNextAttribute
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RadiusLayer::getHeaderLen
    - pcpp::RadiusLayer::getAttributesBasePtr
    - getNextTLVRecord
    linkageType: ''
    returnType: RadiusAttribute
    signature: RadiusAttribute RadiusLayer::getNextAttribute(RadiusAttribute& attr)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:170,1
    - Dst: pcpp::RadiusLayer::getAttributesBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:170,1
    - Dst: pcpp::RadiusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributeType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: pcpp::RadiusLayer::getAttribute
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::RadiusLayer::getHeaderLen
    - pcpp::RadiusLayer::getAttributesBasePtr
    - getTLVRecord
    linkageType: ''
    returnType: RadiusAttribute
    signature: RadiusAttribute RadiusLayer::getAttribute(uint8_t attributeType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:176,1
    - Dst: pcpp::RadiusLayer::getAttributesBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:176,1
    - Dst: pcpp::RadiusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: pcpp::RadiusLayer::getAttributeCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::RadiusLayer::getHeaderLen
    - pcpp::RadiusLayer::getAttributesBasePtr
    - getTLVRecordCount
    linkageType: ''
    returnType: size_t
    signature: size_t RadiusLayer::getAttributeCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RadiusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:181,1
    - Dst: pcpp::RadiusLayer::addAttrAt
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' attrBuilder'
    argTypes:
    - RadiusAttributeBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: pcpp::RadiusLayer::addAttribute
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RadiusLayer::getHeaderLen
    - pcpp::RadiusLayer::addAttrAt
    linkageType: ''
    returnType: RadiusAttribute
    signature: RadiusAttribute RadiusLayer::addAttribute(const RadiusAttributeBuilder&
      attrBuilder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RadiusLayer::getAttribute
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:189,1
    - Dst: RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:191,1
    - Dst: pcpp::RadiusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:193,1
    - Dst: RadiusAttribute::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:197,1
    - Dst: RadiusAttribute::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:197,1
    - Dst: pcpp::RadiusLayer::addAttrAt
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' attrBuilder'
    - prevAttrType
    argTypes:
    - RadiusAttributeBuilder
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: pcpp::RadiusLayer::addAttributeAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RadiusLayer::getAttribute
    - pcpp::RadiusLayer::addAttrAt
    - RadiusAttribute::getRecordBasePtr
    - RadiusAttribute::getTotalSize
    - pcpp::RadiusLayer::getHeaderLen
    - RadiusAttribute::isNull
    linkageType: ''
    returnType: RadiusAttribute
    signature: RadiusAttribute RadiusLayer::addAttributeAfter(const RadiusAttributeBuilder&
      attrBuilder, uint8_t prevAttrType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RadiusLayer::getAttribute
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:205,1
    - Dst: RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:206,1
    - Dst: RadiusAttribute::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:211,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:213,1
    - Dst: RadiusAttribute::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:213,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:218,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:219,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - attrType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 222
    functionName: pcpp::RadiusLayer::removeAttribute
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::RadiusLayer::getAttribute
    - RadiusAttribute::getRecordBasePtr
    - RadiusAttribute::getTotalSize
    - shortenLayer
    - RadiusAttribute::isNull
    - pcpp::RadiusLayer::getRadiusHeader
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool RadiusLayer::removeAttribute(uint8_t attrType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:228,1
    - Dst: pcpp::RadiusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:228,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:231,1
    - Dst: pcpp::RadiusLayer::getAttributeCount
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:231,1
    - Dst: pcpp::RadiusLayer::getRadiusHeader
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:233,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: pcpp::RadiusLayer::removeAllAttributes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::RadiusLayer::getAttributeCount
    - shortenLayer
    - pcpp::RadiusLayer::getHeaderLen
    - pcpp::RadiusLayer::getRadiusHeader
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool RadiusLayer::removeAllAttributes()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const radius_header*>
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:242,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - udpData
    - udpDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: pcpp::RadiusLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - reinterpret_cast<const radius_header*>
    linkageType: ''
    returnType: bool
    signature: bool RadiusLayer::isDataValid(const uint8_t* udpData, size_t udpDataLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:44,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:44,1
    - Dst: init
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:48,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - NopEolOptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: pcpp::TcpOptionBuilder::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - init
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder::TcpOptionBuilder(NopEolOptionTypes optionType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:58,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:58,1
    - Dst: init
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - NopEolOptionEnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: pcpp::TcpOptionBuilder::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - init
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder::TcpOptionBuilder(const NopEolOptionEnumType
      optionType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:69,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:72,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:73,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:77,1
    - Dst: TcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:80,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:86,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:87,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:91,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:93,1
    - Dst: TcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 97
    functionName: pcpp::TcpOptionBuilder::build
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - TcpOption
    - PCPP_LOG_ERROR
    - memcpy
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: TcpOption
    signature: TcpOption TcpOptionBuilder::build() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:105,1
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: pcpp::TcpLayer::getSrcPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getTcpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t TcpLayer::getSrcPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:110,1
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pcpp::TcpLayer::getDstPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getTcpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t TcpLayer::getDstPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:115,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:115,1
    - Dst: getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:115,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - TcpOptionEnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: pcpp::TcpLayer::getTcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - getOptionsBasePtr
    - getHeaderLen
    - getTLVRecord
    linkageType: ''
    returnType: TcpOption
    signature: TcpOption TcpLayer::getTcpOption(const TcpOptionEnumType option) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:121,1
    - Dst: getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:121,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: pcpp::TcpLayer::getFirstTcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - getOptionsBasePtr
    - getHeaderLen
    linkageType: ''
    returnType: TcpOption
    signature: TcpOption TcpLayer::getFirstTcpOption() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:127,1
    - Dst: getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:127,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:127,1
    - Dst: TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:128,1
    - Dst: TcpOption::getType
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:128,1
    - Dst: TcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' tcpOption'
    argTypes:
    - TcpOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: pcpp::TcpLayer::getNextTcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - getOptionsBasePtr
    - getHeaderLen
    - TcpOption
    - TcpOption::isNotNull
    - getNextTLVRecord
    - TcpOption::getType
    linkageType: ''
    returnType: TcpOption
    signature: TcpOption TcpLayer::getNextTcpOption(TcpOption& tcpOption) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:136,1
    - Dst: getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:136,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: pcpp::TcpLayer::getTcpOptionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - getOptionsBasePtr
    - getTLVRecordCount
    - getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t TcpLayer::getTcpOptionCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer::addTcpOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:141,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' optionBuilder'
    argTypes:
    - TcpOptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: pcpp::TcpLayer::addTcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    - pcpp::TcpLayer::addTcpOptionAt
    linkageType: ''
    returnType: TcpOption
    signature: TcpOption TcpLayer::addTcpOption(const TcpOptionBuilder& optionBuilder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer::getTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:155,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:156,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:158,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:158,1
    - Dst: TcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:160,1
    - Dst: TcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:163,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:163,1
    - Dst: pcpp::TcpLayer::addTcpOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' optionBuilder'
    - prevOptionType
    argTypes:
    - TcpOptionBuilder
    - TcpOptionEnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 167
    functionName: pcpp::TcpLayer::insertTcpOptionAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - TcpOption::getRecordBasePtr
    - pcpp::TcpLayer::getTcpOption
    - TcpOption
    - TcpOption::getTotalSize
    - static_cast<int>
    - pcpp::TcpLayer::addTcpOptionAt
    - PCPP_LOG_ERROR
    - TcpOption::isNull
    linkageType: ''
    returnType: TcpOption
    signature: "TcpOption TcpLayer::insertTcpOptionAfter(const TcpOptionBuilder& optionBuilder,\n\t
      \                                        const TcpOptionEnumType prevOptionType)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer::getTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:171,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:172,1
    - Dst: pcpp::TcpLayer::getFirstTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:178,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:180,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:182,1
    - Dst: pcpp::TcpLayer::getNextTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:183,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:185,1
    - Dst: TcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:187,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:189,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:189,1
    - Dst: pcpp::TcpLayer::adjustTcpOptionTrailer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:194,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - TcpOptionEnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 199
    functionName: pcpp::TcpLayer::removeTcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - TcpOption::getRecordBasePtr
    - pcpp::TcpLayer::getTcpOption
    - TcpOption::getTotalSize
    - pcpp::TcpLayer::adjustTcpOptionTrailer
    - shortenLayer
    - pcpp::TcpLayer::getNextTcpOption
    - pcpp::TcpLayer::getFirstTcpOption
    - TcpOption::isNull
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool TcpLayer::removeTcpOption(const TcpOptionEnumType optionType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:205,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:205,1
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:208,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:210,1
    - Dst: pcpp::TcpLayer::getTcpOptionCount
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: pcpp::TcpLayer::removeAllTcpOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    - getTcpHeader
    - shortenLayer
    - pcpp::TcpLayer::getTcpOptionCount
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool TcpLayer::removeAllTcpOptions()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:216,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:217,1
    - Dst: pcpp::TcpLayer::getFirstTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:221,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:223,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:225,1
    - Dst: pcpp::TcpLayer::getNextTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:226,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:228,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:230,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:232,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:234,1
    - Dst: TcpOption::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:235,1
    - Dst: TcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:236,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:239,1
    - Dst: TcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:239,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:239,1
    - Dst: TcpOption::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:241,1
    - Dst: pcpp::TcpLayer::adjustTcpOptionTrailer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:243,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:245,1
    - Dst: TcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ' optionBuilder'
    - offset
    argTypes:
    - TcpOptionBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 250
    functionName: pcpp::TcpLayer::addTcpOptionAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - TcpOption::getRecordBasePtr
    - TcpOption::purgeRecordData
    - pcpp::TcpLayer::adjustTcpOptionTrailer
    - TcpOption::getTotalSize
    - TcpOption
    - PCPP_LOG_ERROR
    - memcpy
    - pcpp::TcpLayer::getNextTcpOption
    - pcpp::TcpLayer::getFirstTcpOption
    - build
    - TcpOption::isNull
    - changeTLVRecordCount
    linkageType: ''
    returnType: TcpOption
    signature: TcpOption TcpLayer::addTcpOptionAt(const TcpOptionBuilder& optionBuilder,
      const int offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:259,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:261,1
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - totalOptSize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 269
    functionName: pcpp::TcpLayer::adjustTcpOptionTrailer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - shortenLayer
    - getTcpHeader
    linkageType: ''
    returnType: void
    signature: void TcpLayer::adjustTcpOptionTrailer(const size_t totalOptSize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:273,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:280,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:282,1
    - Dst: static_cast<IPv4Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:284,1
    - Dst: static_cast<IPv4Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:285,1
    - Dst: pcpp::computePseudoHdrChecksum
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:288,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:288,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:288,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:291,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:293,1
    - Dst: static_cast<IPv6Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:295,1
    - Dst: static_cast<IPv6Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:296,1
    - Dst: computePseudoHdrChecksum
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:298,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:298,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:298,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:301,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - writeResultToPacket
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 311
    functionName: pcpp::TcpLayer::calculateChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - computePseudoHdrChecksum
    - htobe16
    - getProtocol
    - getTcpHeader
    - getDataLen
    - pcpp::computePseudoHdrChecksum
    - reinterpret_cast<uint8_t*>
    - static_cast<IPv6Layer*>
    - PCPP_LOG_DEBUG
    - static_cast<IPv4Layer*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t TcpLayer::calculateChecksum(const bool writeResultToPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:315,1
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: pcpp::TcpLayer::initLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - getTcpHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void TcpLayer::initLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: pcpp::TcpLayer::TcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcpLayer::TcpLayer(uint8_t* data, const size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: pcpp::TcpLayer::TcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer::initLayer
    linkageType: ''
    returnType: void
    signature: void TcpLayer::TcpLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:335,1
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:336,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:336,1
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:337,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - portSrc
    - portDst
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: pcpp::TcpLayer::TcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer::initLayer
    - htobe16
    - getTcpHeader
    linkageType: ''
    returnType: void
    signature: void TcpLayer::TcpLayer(const uint16_t portSrc, const uint16_t portDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TcpLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: pcpp::TcpLayer::copyLayerData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcpLayer::copyLayerData(const TcpLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer::copyLayerData
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TcpLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: pcpp::TcpLayer::TcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer::copyLayerData
    linkageType: ''
    returnType: void
    signature: void TcpLayer::TcpLayer(const TcpLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layer::operator=
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:353,1
    - Dst: copyLayerData
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TcpLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 358
    functionName: '& TcpLayer::operator=(const TcpLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - copyLayerData
    - Layer::operator=
    linkageType: ''
    returnType: TcpLayer
    signature: TcpLayer & TcpLayer::operator=(const TcpLayer& other)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:362,1
    - Dst: pcpp::TcpLayer::getDstPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:368,1
    - Dst: pcpp::TcpLayer::getSrcPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:369,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:370,1
    - Dst: pcpp::HttpMessage::isHttpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:372,1
    - Dst: pcpp::HttpRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:373,1
    - Dst: constructNextLayer<HttpRequestLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:375,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:375,1
    - Dst: pcpp::HttpMessage::isHttpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:377,1
    - Dst: pcpp::HttpResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:378,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:379,1
    - Dst: constructNextLayer<HttpResponseLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:381,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:381,1
    - Dst: pcpp::SSLLayer::IsSSLMessage
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:383,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:385,1
    - Dst: pcpp::SipLayer::isSipPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:387,1
    - Dst: pcpp::SipLayer::isSipPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:387,1
    - Dst: pcpp::SipRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:389,1
    - Dst: constructNextLayer<SipRequestLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:391,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:391,1
    - Dst: pcpp::SipResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:393,1
    - Dst: constructNextLayer<SipResponseLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:396,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:396,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:400,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:400,1
    - Dst: pcpp::BgpLayer::isBgpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:403,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:405,1
    - Dst: pcpp::SSHLayer::isSSHPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:407,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:409,1
    - Dst: pcpp::DnsLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:411,1
    - Dst: pcpp::DnsLayer::isDnsPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:412,1
    - Dst: pcpp::DnsLayer::isDnsPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:412,1
    - Dst: constructNextLayer<DnsOverTcpLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:414,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:414,1
    - Dst: pcpp::TelnetLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:416,1
    - Dst: pcpp::TelnetLayer::isTelnetPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:417,1
    - Dst: pcpp::TelnetLayer::isTelnetPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:417,1
    - Dst: constructNextLayer<TelnetLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:419,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:419,1
    - Dst: pcpp::FtpLayer::isFtpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:421,1
    - Dst: pcpp::WireGuardLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:421,1
    - Dst: constructNextLayer<FtpResponseLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:423,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:423,1
    - Dst: pcpp::FtpLayer::isFtpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:425,1
    - Dst: pcpp::WireGuardLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:425,1
    - Dst: constructNextLayer<FtpRequestLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:427,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:427,1
    - Dst: pcpp::FtpLayer::isFtpDataPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:429,1
    - Dst: pcpp::FtpLayer::isFtpDataPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:429,1
    - Dst: constructNextLayer<FtpDataLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:431,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:431,1
    - Dst: pcpp::DoIpLayer::isDoIpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:433,1
    - Dst: pcpp::DoIpLayer::isDoIpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:433,1
    - Dst: pcpp::DoIpLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:434,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:436,1
    - Dst: pcpp::SomeIpLayer::isSomeIpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:438,1
    - Dst: pcpp::SomeIpLayer::isSomeIpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:438,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:440,1
    - Dst: pcpp::TpktLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:442,1
    - Dst: pcpp::TpktLayer::isTpktPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:442,1
    - Dst: constructNextLayer<TpktLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:444,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:444,1
    - Dst: pcpp::SmtpLayer::isSmtpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:446,1
    - Dst: pcpp::WireGuardLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:446,1
    - Dst: constructNextLayer<SmtpResponseLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:448,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:448,1
    - Dst: pcpp::SmtpLayer::isSmtpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:450,1
    - Dst: pcpp::WireGuardLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:450,1
    - Dst: constructNextLayer<SmtpRequestLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:452,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:452,1
    - Dst: pcpp::LdapLayer::isLdapPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:454,1
    - Dst: pcpp::LdapLayer::isLdapPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:454,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:456,1
    - Dst: pcpp::PostgresLayer::isPostgresPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:459,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:461,1
    - Dst: pcpp::PostgresLayer::isPostgresPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:464,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:466,1
    - Dst: pcpp::MySqlLayer::isMySqlPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:469,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:471,1
    - Dst: pcpp::MySqlLayer::isMySqlPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:474,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:476,1
    - Dst: pcpp::GtpV2Layer::isGTPv2Port
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:479,1
    - Dst: pcpp::GtpV2Layer::isGTPv2Port
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:479,1
    - Dst: pcpp::GtpV2Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:480,1
    - Dst: constructNextLayer<GtpV2Layer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:482,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:482,1
    - Dst: pcpp::ModbusLayer::isModbusPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:484,1
    - Dst: pcpp::ModbusLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:484,1
    - Dst: constructNextLayer<ModbusLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:486,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:486,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:490,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:490,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 492
    functionName: pcpp::TcpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<HttpResponseLayer>
    - pcpp::FtpLayer::isFtpPort
    - tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
    - pcpp::TelnetLayer::isTelnetPort
    - pcpp::DoIpLayer::isDataValid
    - pcpp::TpktLayer::isTpktPort
    - constructNextLayer<SmtpResponseLayer>
    - pcpp::HttpResponseFirstLine::parseVersion
    - constructNextLayer<TpktLayer>
    - getAttachedPacket
    - constructNextLayer<ModbusLayer>
    - pcpp::ModbusLayer::isDataValid
    - pcpp::SipLayer::isSipPort
    - pcpp::PostgresLayer::isPostgresPort
    - pcpp::TpktLayer::isDataValid
    - constructNextLayer<GtpV2Layer>
    - pcpp::SmtpLayer::isSmtpPort
    - pcpp::LdapLayer::isLdapPort
    - pcpp::ModbusLayer::isModbusPort
    - pcpp::DnsLayer::isDnsPort
    - constructNextLayer<FtpResponseLayer>
    - pcpp::DoIpLayer::isDoIpPort
    - pcpp::SomeIpLayer::isSomeIpPort
    - pcpp::MySqlLayer::isMySqlPort
    - constructNextLayer<FtpDataLayer>
    - pcpp::FtpLayer::isFtpDataPort
    - pcpp::TcpLayer::getDstPort
    - pcpp::GtpV2Layer::isGTPv2Port
    - pcpp::TcpLayer::getSrcPort
    - pcpp::SipRequestFirstLine::parseMethod
    - pcpp::WireGuardLayer::isDataValid
    - getHeaderLen
    - reinterpret_cast<const char*>
    - pcpp::HttpResponseFirstLine::parseStatusCode
    - constructNextLayer<SipRequestLayer>
    - constructNextLayerFromFactory
    - pcpp::HttpMessage::isHttpPort
    - pcpp::SSHLayer::isSSHPort
    - pcpp::GtpV2Layer::isDataValid
    - constructNextLayer<DnsOverTcpLayer>
    - constructNextLayer<SmtpRequestLayer>
    - constructNextLayer<PayloadLayer>
    - constructNextLayer<FtpRequestLayer>
    - constructNextLayer<HttpRequestLayer>
    - pcpp::TelnetLayer::isDataValid
    - pcpp::DnsLayer::isDataValid
    - pcpp::SSLLayer::IsSSLMessage
    - pcpp::SipResponseFirstLine::parseStatusCode
    - pcpp::BgpLayer::isBgpPort
    - constructNextLayer<TelnetLayer>
    - pcpp::HttpRequestFirstLine::parseMethod
    - constructNextLayer<SipResponseLayer>
    linkageType: ''
    returnType: void
    signature: void TcpLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:496,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:498,1
    - Dst: pcpp::TcpLayer::calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 500
    functionName: pcpp::TcpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer::calculateChecksum
    - getHeaderLen
    - getTcpHeader
    linkageType: ''
    returnType: void
    signature: void TcpLayer::computeCalculateFields()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:504,1
    - Dst: pcpp::TcpLayer::getSrcPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:524,1
    - Dst: pcpp::TcpLayer::getDstPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:526,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:527,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 530
    functionName: pcpp::TcpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - pcpp::TcpLayer::getSrcPort
    - pcpp::TcpLayer::getDstPort
    - getTcpHeader
    linkageType: ''
    returnType: std::string
    signature: std::string TcpLayer::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:548,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:549,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:551,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:551,1
    - Dst: TcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:553,1
    - Dst: TcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:556,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:556,1
    - Dst: addTcpOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' optionBuilder'
    - prevOptionType
    argTypes:
    - TcpOptionBuilder
    - TcpOptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 560
    functionName: pcpp::DISABLE_WARNING_DEPRECATED::addTcpOptionAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - TcpOption::getRecordBasePtr
    - TcpOption
    - TcpOption::getTotalSize
    - static_cast<int>
    - getTcpOption
    - PCPP_LOG_ERROR
    - addTcpOptionAt
    - TcpOption::isNull
    linkageType: ''
    returnType: DISABLE_WARNING_PUSH
    signature: "DISABLE_WARNING_PUSH DISABLE_WARNING_DEPRECATED\n\tTcpOption TcpLayer::addTcpOptionAfter(const
      TcpOptionBuilder& optionBuilder, TcpOptionType prevOptionType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:564,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:564,1
    - Dst: getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:564,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - TcpOptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: pcpp::TcpLayer::getTcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t>
    - getOptionsBasePtr
    - getHeaderLen
    - getTLVRecord
    linkageType: ''
    returnType: TcpOption
    signature: TcpOption TcpLayer::getTcpOption(TcpOptionType option) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer::getTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:570,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:571,1
    - Dst: pcpp::TcpLayer::getFirstTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:577,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:579,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:581,1
    - Dst: pcpp::TcpLayer::getNextTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:582,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:584,1
    - Dst: TcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:586,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:588,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:588,1
    - Dst: pcpp::TcpLayer::adjustTcpOptionTrailer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:593,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - TcpOptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 598
    functionName: pcpp::TcpLayer::removeTcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - TcpOption::getRecordBasePtr
    - pcpp::TcpLayer::getTcpOption
    - TcpOption::getTotalSize
    - pcpp::TcpLayer::adjustTcpOptionTrailer
    - shortenLayer
    - pcpp::TcpLayer::getNextTcpOption
    - pcpp::TcpLayer::getFirstTcpOption
    - TcpOption::isNull
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool TcpLayer::removeTcpOption(TcpOptionType optionType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:44,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:44,1
    - Dst: init
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:48,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - NopEolOptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: pcpp::TcpOptionBuilder::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - init
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder::TcpOptionBuilder(NopEolOptionTypes optionType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:58,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:58,1
    - Dst: init
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:62,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - NopEolOptionEnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: pcpp::TcpOptionBuilder::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - init
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder::TcpOptionBuilder(const NopEolOptionEnumType
      optionType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:69,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:72,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:73,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:77,1
    - Dst: TcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:80,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:86,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:87,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:91,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:93,1
    - Dst: TcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 97
    functionName: pcpp::TcpOptionBuilder::build
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - TcpOption
    - PCPP_LOG_ERROR
    - memcpy
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: TcpOption
    signature: TcpOption TcpOptionBuilder::build() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:105,1
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: pcpp::TcpLayer::getSrcPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - getTcpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t TcpLayer::getSrcPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:110,1
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pcpp::TcpLayer::getDstPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - getTcpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t TcpLayer::getDstPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:115,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:115,1
    - Dst: getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:115,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - TcpOptionEnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: pcpp::TcpLayer::getTcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 3
    functionsReached:
    - static_cast<uint8_t>
    - getOptionsBasePtr
    - getHeaderLen
    - getTLVRecord
    linkageType: ''
    returnType: TcpOption
    signature: TcpOption TcpLayer::getTcpOption(const TcpOptionEnumType option) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:121,1
    - Dst: getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:121,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: pcpp::TcpLayer::getFirstTcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 3
    functionsReached:
    - getFirstTLVRecord
    - getOptionsBasePtr
    - getHeaderLen
    linkageType: ''
    returnType: TcpOption
    signature: TcpOption TcpLayer::getFirstTcpOption() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:127,1
    - Dst: getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:127,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:127,1
    - Dst: TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:128,1
    - Dst: TcpOption::getType
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:128,1
    - Dst: TcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' tcpOption'
    argTypes:
    - TcpOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: pcpp::TcpLayer::getNextTcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 3
    functionsReached:
    - getOptionsBasePtr
    - getHeaderLen
    - TcpOption
    - TcpOption::isNotNull
    - getNextTLVRecord
    - TcpOption::getType
    linkageType: ''
    returnType: TcpOption
    signature: TcpOption TcpLayer::getNextTcpOption(TcpOption& tcpOption) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:136,1
    - Dst: getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:136,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: pcpp::TcpLayer::getTcpOptionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 1
    functionsReached:
    - getOptionsBasePtr
    - getTLVRecordCount
    - getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t TcpLayer::getTcpOptionCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer::addTcpOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:141,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' optionBuilder'
    argTypes:
    - TcpOptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: pcpp::TcpLayer::addTcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    - pcpp::TcpLayer::addTcpOptionAt
    linkageType: ''
    returnType: TcpOption
    signature: TcpOption TcpLayer::addTcpOption(const TcpOptionBuilder& optionBuilder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer::getTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:155,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:156,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:158,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:158,1
    - Dst: TcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:160,1
    - Dst: TcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:163,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:163,1
    - Dst: pcpp::TcpLayer::addTcpOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' optionBuilder'
    - prevOptionType
    argTypes:
    - TcpOptionBuilder
    - TcpOptionEnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 167
    functionName: pcpp::TcpLayer::insertTcpOptionAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - TcpOption::getRecordBasePtr
    - pcpp::TcpLayer::getTcpOption
    - TcpOption
    - TcpOption::getTotalSize
    - static_cast<int>
    - pcpp::TcpLayer::addTcpOptionAt
    - PCPP_LOG_ERROR
    - TcpOption::isNull
    linkageType: ''
    returnType: TcpOption
    signature: "TcpOption TcpLayer::insertTcpOptionAfter(const TcpOptionBuilder& optionBuilder,\n\t
      \                                        const TcpOptionEnumType prevOptionType)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer::getTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:171,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:172,1
    - Dst: pcpp::TcpLayer::getFirstTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:178,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:180,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:182,1
    - Dst: pcpp::TcpLayer::getNextTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:183,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:185,1
    - Dst: TcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:187,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:189,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:189,1
    - Dst: pcpp::TcpLayer::adjustTcpOptionTrailer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:194,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - TcpOptionEnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 199
    functionName: pcpp::TcpLayer::removeTcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - TcpOption::getRecordBasePtr
    - pcpp::TcpLayer::getTcpOption
    - TcpOption::getTotalSize
    - pcpp::TcpLayer::adjustTcpOptionTrailer
    - shortenLayer
    - pcpp::TcpLayer::getNextTcpOption
    - pcpp::TcpLayer::getFirstTcpOption
    - TcpOption::isNull
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool TcpLayer::removeTcpOption(const TcpOptionEnumType optionType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:205,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:205,1
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:208,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:210,1
    - Dst: pcpp::TcpLayer::getTcpOptionCount
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: pcpp::TcpLayer::removeAllTcpOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    - getTcpHeader
    - shortenLayer
    - pcpp::TcpLayer::getTcpOptionCount
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool TcpLayer::removeAllTcpOptions()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:216,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:217,1
    - Dst: pcpp::TcpLayer::getFirstTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:221,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:223,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:225,1
    - Dst: pcpp::TcpLayer::getNextTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:226,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:228,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:230,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:232,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:234,1
    - Dst: TcpOption::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:235,1
    - Dst: TcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:236,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:239,1
    - Dst: TcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:239,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:239,1
    - Dst: TcpOption::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:241,1
    - Dst: pcpp::TcpLayer::adjustTcpOptionTrailer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:243,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:245,1
    - Dst: TcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ' optionBuilder'
    - offset
    argTypes:
    - TcpOptionBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 250
    functionName: pcpp::TcpLayer::addTcpOptionAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 4
    functionsReached:
    - extendLayer
    - TcpOption::getRecordBasePtr
    - TcpOption::purgeRecordData
    - pcpp::TcpLayer::adjustTcpOptionTrailer
    - TcpOption::getTotalSize
    - TcpOption
    - PCPP_LOG_ERROR
    - memcpy
    - pcpp::TcpLayer::getNextTcpOption
    - pcpp::TcpLayer::getFirstTcpOption
    - build
    - TcpOption::isNull
    - changeTLVRecordCount
    linkageType: ''
    returnType: TcpOption
    signature: TcpOption TcpLayer::addTcpOptionAt(const TcpOptionBuilder& optionBuilder,
      const int offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:259,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:261,1
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - totalOptSize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 269
    functionName: pcpp::TcpLayer::adjustTcpOptionTrailer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 5
    functionsReached:
    - extendLayer
    - shortenLayer
    - getTcpHeader
    linkageType: ''
    returnType: void
    signature: void TcpLayer::adjustTcpOptionTrailer(const size_t totalOptSize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:273,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:280,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:282,1
    - Dst: static_cast<IPv4Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:284,1
    - Dst: static_cast<IPv4Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:285,1
    - Dst: pcpp::computePseudoHdrChecksum
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:288,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:288,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:288,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:291,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:293,1
    - Dst: static_cast<IPv6Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:295,1
    - Dst: static_cast<IPv6Layer*>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:296,1
    - Dst: computePseudoHdrChecksum
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:298,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:298,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:298,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:301,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - writeResultToPacket
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 311
    functionName: pcpp::TcpLayer::calculateChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 1
    functionsReached:
    - computePseudoHdrChecksum
    - htobe16
    - getProtocol
    - getTcpHeader
    - getDataLen
    - pcpp::computePseudoHdrChecksum
    - reinterpret_cast<uint8_t*>
    - static_cast<IPv6Layer*>
    - PCPP_LOG_DEBUG
    - static_cast<IPv4Layer*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t TcpLayer::calculateChecksum(const bool writeResultToPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:315,1
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: pcpp::TcpLayer::initLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 2
    functionsReached:
    - getTcpHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void TcpLayer::initLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: pcpp::TcpLayer::TcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcpLayer::TcpLayer(uint8_t* data, const size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: pcpp::TcpLayer::TcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer::initLayer
    linkageType: ''
    returnType: void
    signature: void TcpLayer::TcpLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:335,1
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:336,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:336,1
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:337,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - portSrc
    - portDst
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: pcpp::TcpLayer::TcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer::initLayer
    - htobe16
    - getTcpHeader
    linkageType: ''
    returnType: void
    signature: void TcpLayer::TcpLayer(const uint16_t portSrc, const uint16_t portDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TcpLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: pcpp::TcpLayer::copyLayerData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcpLayer::copyLayerData(const TcpLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer::copyLayerData
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TcpLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: pcpp::TcpLayer::TcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer::copyLayerData
    linkageType: ''
    returnType: void
    signature: void TcpLayer::TcpLayer(const TcpLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layer::operator=
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:353,1
    - Dst: copyLayerData
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TcpLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 358
    functionName: '& TcpLayer::operator=(const TcpLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - copyLayerData
    - Layer::operator=
    linkageType: ''
    returnType: TcpLayer
    signature: TcpLayer & TcpLayer::operator=(const TcpLayer& other)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:362,1
    - Dst: pcpp::TcpLayer::getDstPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:368,1
    - Dst: pcpp::TcpLayer::getSrcPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:369,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:370,1
    - Dst: pcpp::HttpMessage::isHttpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:372,1
    - Dst: pcpp::HttpRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:373,1
    - Dst: constructNextLayer<HttpRequestLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:375,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:375,1
    - Dst: pcpp::HttpMessage::isHttpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:377,1
    - Dst: pcpp::HttpResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:378,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:379,1
    - Dst: constructNextLayer<HttpResponseLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:381,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:381,1
    - Dst: pcpp::SSLLayer::IsSSLMessage
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:383,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:385,1
    - Dst: pcpp::SipLayer::isSipPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:387,1
    - Dst: pcpp::SipLayer::isSipPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:387,1
    - Dst: pcpp::SipRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:389,1
    - Dst: constructNextLayer<SipRequestLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:391,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:391,1
    - Dst: pcpp::SipResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:393,1
    - Dst: constructNextLayer<SipResponseLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:396,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:396,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:400,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:400,1
    - Dst: pcpp::BgpLayer::isBgpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:403,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:405,1
    - Dst: pcpp::SSHLayer::isSSHPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:407,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:409,1
    - Dst: pcpp::DnsLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:411,1
    - Dst: pcpp::DnsLayer::isDnsPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:412,1
    - Dst: pcpp::DnsLayer::isDnsPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:412,1
    - Dst: constructNextLayer<DnsOverTcpLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:414,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:414,1
    - Dst: pcpp::TelnetLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:416,1
    - Dst: pcpp::TelnetLayer::isTelnetPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:417,1
    - Dst: pcpp::TelnetLayer::isTelnetPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:417,1
    - Dst: constructNextLayer<TelnetLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:419,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:419,1
    - Dst: pcpp::FtpLayer::isFtpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:421,1
    - Dst: pcpp::WireGuardLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:421,1
    - Dst: constructNextLayer<FtpResponseLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:423,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:423,1
    - Dst: pcpp::FtpLayer::isFtpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:425,1
    - Dst: pcpp::WireGuardLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:425,1
    - Dst: constructNextLayer<FtpRequestLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:427,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:427,1
    - Dst: pcpp::FtpLayer::isFtpDataPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:429,1
    - Dst: pcpp::FtpLayer::isFtpDataPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:429,1
    - Dst: constructNextLayer<FtpDataLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:431,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:431,1
    - Dst: pcpp::DoIpLayer::isDoIpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:433,1
    - Dst: pcpp::DoIpLayer::isDoIpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:433,1
    - Dst: pcpp::DoIpLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:434,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:436,1
    - Dst: pcpp::SomeIpLayer::isSomeIpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:438,1
    - Dst: pcpp::SomeIpLayer::isSomeIpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:438,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:440,1
    - Dst: pcpp::TpktLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:442,1
    - Dst: pcpp::TpktLayer::isTpktPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:442,1
    - Dst: constructNextLayer<TpktLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:444,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:444,1
    - Dst: pcpp::SmtpLayer::isSmtpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:446,1
    - Dst: pcpp::WireGuardLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:446,1
    - Dst: constructNextLayer<SmtpResponseLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:448,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:448,1
    - Dst: pcpp::SmtpLayer::isSmtpPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:450,1
    - Dst: pcpp::WireGuardLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:450,1
    - Dst: constructNextLayer<SmtpRequestLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:452,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:452,1
    - Dst: pcpp::LdapLayer::isLdapPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:454,1
    - Dst: pcpp::LdapLayer::isLdapPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:454,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:456,1
    - Dst: pcpp::PostgresLayer::isPostgresPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:459,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:461,1
    - Dst: pcpp::PostgresLayer::isPostgresPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:464,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:466,1
    - Dst: pcpp::MySqlLayer::isMySqlPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:469,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:471,1
    - Dst: pcpp::MySqlLayer::isMySqlPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:474,1
    - Dst: tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:476,1
    - Dst: pcpp::GtpV2Layer::isGTPv2Port
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:479,1
    - Dst: pcpp::GtpV2Layer::isGTPv2Port
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:479,1
    - Dst: pcpp::GtpV2Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:480,1
    - Dst: constructNextLayer<GtpV2Layer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:482,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:482,1
    - Dst: pcpp::ModbusLayer::isModbusPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:484,1
    - Dst: pcpp::ModbusLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:484,1
    - Dst: constructNextLayer<ModbusLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:486,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:486,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:490,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:490,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 492
    functionName: pcpp::TcpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<HttpResponseLayer>
    - pcpp::FtpLayer::isFtpPort
    - tryConstructNextLayerFromFactoryWithFallback<PayloadLayer>
    - pcpp::TelnetLayer::isTelnetPort
    - pcpp::DoIpLayer::isDataValid
    - pcpp::TpktLayer::isTpktPort
    - constructNextLayer<SmtpResponseLayer>
    - pcpp::HttpResponseFirstLine::parseVersion
    - constructNextLayer<TpktLayer>
    - getAttachedPacket
    - constructNextLayer<ModbusLayer>
    - pcpp::ModbusLayer::isDataValid
    - pcpp::SipLayer::isSipPort
    - pcpp::PostgresLayer::isPostgresPort
    - pcpp::TpktLayer::isDataValid
    - constructNextLayer<GtpV2Layer>
    - pcpp::SmtpLayer::isSmtpPort
    - pcpp::LdapLayer::isLdapPort
    - pcpp::ModbusLayer::isModbusPort
    - pcpp::DnsLayer::isDnsPort
    - constructNextLayer<FtpResponseLayer>
    - pcpp::DoIpLayer::isDoIpPort
    - pcpp::SomeIpLayer::isSomeIpPort
    - pcpp::MySqlLayer::isMySqlPort
    - constructNextLayer<FtpDataLayer>
    - pcpp::FtpLayer::isFtpDataPort
    - pcpp::TcpLayer::getDstPort
    - pcpp::GtpV2Layer::isGTPv2Port
    - pcpp::TcpLayer::getSrcPort
    - pcpp::SipRequestFirstLine::parseMethod
    - pcpp::WireGuardLayer::isDataValid
    - getHeaderLen
    - reinterpret_cast<const char*>
    - pcpp::HttpResponseFirstLine::parseStatusCode
    - constructNextLayer<SipRequestLayer>
    - constructNextLayerFromFactory
    - pcpp::HttpMessage::isHttpPort
    - pcpp::SSHLayer::isSSHPort
    - pcpp::GtpV2Layer::isDataValid
    - constructNextLayer<DnsOverTcpLayer>
    - constructNextLayer<SmtpRequestLayer>
    - constructNextLayer<PayloadLayer>
    - constructNextLayer<FtpRequestLayer>
    - constructNextLayer<HttpRequestLayer>
    - pcpp::TelnetLayer::isDataValid
    - pcpp::DnsLayer::isDataValid
    - pcpp::SSLLayer::IsSSLMessage
    - pcpp::SipResponseFirstLine::parseStatusCode
    - pcpp::BgpLayer::isBgpPort
    - constructNextLayer<TelnetLayer>
    - pcpp::HttpRequestFirstLine::parseMethod
    - constructNextLayer<SipResponseLayer>
    linkageType: ''
    returnType: void
    signature: void TcpLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:496,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:498,1
    - Dst: pcpp::TcpLayer::calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 500
    functionName: pcpp::TcpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer::calculateChecksum
    - getHeaderLen
    - getTcpHeader
    linkageType: ''
    returnType: void
    signature: void TcpLayer::computeCalculateFields()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:504,1
    - Dst: pcpp::TcpLayer::getSrcPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:524,1
    - Dst: pcpp::TcpLayer::getDstPort
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:526,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:527,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 530
    functionName: pcpp::TcpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - pcpp::TcpLayer::getSrcPort
    - pcpp::TcpLayer::getDstPort
    - getTcpHeader
    linkageType: ''
    returnType: std::string
    signature: std::string TcpLayer::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:548,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:549,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:551,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:551,1
    - Dst: TcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:553,1
    - Dst: TcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:556,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:556,1
    - Dst: addTcpOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' optionBuilder'
    - prevOptionType
    argTypes:
    - TcpOptionBuilder
    - TcpOptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 560
    functionName: pcpp::DISABLE_WARNING_DEPRECATED::addTcpOptionAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - TcpOption::getRecordBasePtr
    - TcpOption
    - TcpOption::getTotalSize
    - static_cast<int>
    - getTcpOption
    - PCPP_LOG_ERROR
    - addTcpOptionAt
    - TcpOption::isNull
    linkageType: ''
    returnType: DISABLE_WARNING_PUSH
    signature: "DISABLE_WARNING_PUSH DISABLE_WARNING_DEPRECATED\n\tTcpOption TcpLayer::addTcpOptionAfter(const
      TcpOptionBuilder& optionBuilder, TcpOptionType prevOptionType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:564,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:564,1
    - Dst: getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:564,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - TcpOptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: pcpp::TcpLayer::getTcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 5
    functionsReached:
    - static_cast<uint8_t>
    - getOptionsBasePtr
    - getHeaderLen
    - getTLVRecord
    linkageType: ''
    returnType: TcpOption
    signature: TcpOption TcpLayer::getTcpOption(TcpOptionType option) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer::getTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:570,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:571,1
    - Dst: pcpp::TcpLayer::getFirstTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:577,1
    - Dst: TcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:579,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:581,1
    - Dst: pcpp::TcpLayer::getNextTcpOption
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:582,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:584,1
    - Dst: TcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:586,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:588,1
    - Dst: TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:588,1
    - Dst: pcpp::TcpLayer::adjustTcpOptionTrailer
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:593,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - TcpOptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 598
    functionName: pcpp::TcpLayer::removeTcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
    functionUses: 0
    functionsReached:
    - TcpOption::getRecordBasePtr
    - pcpp::TcpLayer::getTcpOption
    - TcpOption::getTotalSize
    - pcpp::TcpLayer::adjustTcpOptionTrailer
    - shortenLayer
    - pcpp::TcpLayer::getNextTcpOption
    - pcpp::TcpLayer::getFirstTcpOption
    - TcpOption::isNull
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool TcpLayer::removeTcpOption(TcpOptionType optionType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:32,1
    - Dst: pcpp::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:32,1
    - Dst: pcpp::at
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tagClass
    argTypes:
    - Asn1TagClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: pcpp::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::end
    - find
    - pcpp::at
    linkageType: ''
    returnType: std::string
    signature: std::string toString(Asn1TagClass tagClass)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:84,1
    - Dst: pcpp::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:84,1
    - Dst: pcpp::at
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tagType
    argTypes:
    - Asn1UniversalTagType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: pcpp::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::end
    - find
    - pcpp::at
    linkageType: ''
    returnType: std::string
    signature: std::string toString(Asn1UniversalTagType tagType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decodeTagAndCreateRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:95,1
    - Dst: auto::decodeLength
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:98,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:104,1
    - Dst: auto::setEncodedValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - dataLen
    - lazy
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 112
    functionName: pcpp::Asn1Record::decode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 4
    functionsReached:
    - auto::setEncodedValue
    - auto::decodeLength
    - pcpp::Asn1Record::decodeTagAndCreateRecord
    - std::invalid_argument
    linkageType: ''
    returnType: std::unique_ptr<Asn1Record>
    signature: std::unique_ptr<Asn1Record> Asn1Record::decode(const uint8_t* data,
      size_t dataLen, bool lazy)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 151
    functionName: pcpp::Asn1Record::encodeTag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Asn1Record::encodeTag() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:159,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:159,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:167,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:171,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:171,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:172,1
    - Dst: std::reverse
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:175,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:175,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: pcpp::Asn1Record::encodeLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - static_cast<uint8_t>
    - std::vector::size
    - std::vector::begin
    - std::vector::push_back
    - std::reverse
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1Record::encodeLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:184,1
    - Dst: pcpp::Asn1Record::encodeTag
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:184,1
    - Dst: pcpp::Asn1Record::encodeLength
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:186,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:187,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:187,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:187,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:187,1
    - Dst: pcpp::Asn1Record::encodeValueSafe
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:189,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:190,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:190,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:190,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: pcpp::Asn1Record::encode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1Record::encodeValueSafe
    - std::vector::end
    - auto::begin
    - std::vector::insert
    - auto::end
    - std::vector::push_back
    - pcpp::Asn1Record::encodeTag
    - pcpp::Asn1Record::encodeLength
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1Record::encode() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Asn1UniversalTagType>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: pcpp::Asn1Record::getUniversalTagType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Asn1UniversalTagType>
    linkageType: ''
    returnType: Asn1UniversalTagType
    signature: Asn1UniversalTagType Asn1Record::getUniversalTagType() const
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:210,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:246,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:251,1
    - Dst: static_cast<Asn1UniversalTagType>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:264,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:268,1
    - Dst: Asn1SequenceRecord::Asn1SequenceRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:268,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:273,1
    - Dst: Asn1SetRecord::Asn1SetRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:273,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:278,1
    - Dst: Asn1ConstructedRecord::Asn1ConstructedRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:278,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:284,1
    - Dst: Asn1ConstructedRecord::Asn1ConstructedRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:284,1
    - Dst: static_cast<Asn1UniversalTagType>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:291,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:296,1
    - Dst: Asn1IntegerRecord::Asn1IntegerRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:296,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:301,1
    - Dst: Asn1EnumeratedRecord::Asn1EnumeratedRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:301,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:306,1
    - Dst: Asn1OctetStringRecord::Asn1OctetStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:306,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:311,1
    - Dst: Asn1UTF8StringRecord::Asn1UTF8StringRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:311,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:316,1
    - Dst: Asn1PrintableStringRecord::Asn1PrintableStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:316,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:321,1
    - Dst: Asn1IA5StringRecord::Asn1IA5StringRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:321,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:326,1
    - Dst: Asn1BooleanRecord::Asn1BooleanRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:326,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:331,1
    - Dst: Asn1BitStringRecord::Asn1BitStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:331,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:336,1
    - Dst: Asn1NullRecord::Asn1NullRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:336,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:341,1
    - Dst: Asn1ObjectIdentifierRecord::Asn1ObjectIdentifierRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:341,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:346,1
    - Dst: Asn1UtcTimeRecord::Asn1UtcTimeRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:346,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:351,1
    - Dst: Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:351,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:356,1
    - Dst: Asn1GenericRecord::Asn1GenericRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:356,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:362,1
    - Dst: Asn1GenericRecord::Asn1GenericRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:362,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 108
    argCount: 3
    argNames:
    - data
    - dataLen
    - ' tagLen'
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 371
    functionName: pcpp::Asn1Record::decodeTagAndCreateRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::reset
    - std::invalid_argument
    - Asn1SetRecord::Asn1SetRecord
    - static_cast<Asn1UniversalTagType>
    - Asn1BitStringRecord::Asn1BitStringRecord
    - Asn1PrintableStringRecord::Asn1PrintableStringRecord
    - Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord
    - Asn1ConstructedRecord::Asn1ConstructedRecord
    - Asn1SequenceRecord::Asn1SequenceRecord
    - Asn1EnumeratedRecord::Asn1EnumeratedRecord
    - Asn1IA5StringRecord::Asn1IA5StringRecord
    - Asn1UtcTimeRecord::Asn1UtcTimeRecord
    - Asn1ObjectIdentifierRecord::Asn1ObjectIdentifierRecord
    - Asn1UTF8StringRecord::Asn1UTF8StringRecord
    - Asn1GenericRecord::Asn1GenericRecord
    - Asn1OctetStringRecord::Asn1OctetStringRecord
    - Asn1NullRecord::Asn1NullRecord
    - Asn1BooleanRecord::Asn1BooleanRecord
    - Asn1IntegerRecord::Asn1IntegerRecord
    linkageType: ''
    returnType: std::unique_ptr<Asn1Record>
    signature: "std::unique_ptr<Asn1Record> Asn1Record::decodeTagAndCreateRecord(const
      uint8_t* data, size_t dataLen,\n\t                                                                 uint8_t&
      tagLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:377,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:395,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:397,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 412
    functionName: pcpp::Asn1Record::decodeLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::invalid_argument
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Asn1Record::decodeLength(const uint8_t* data, size_t dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decodeValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: pcpp::Asn1Record::decodeValueIfNeeded
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - decodeValue
    linkageType: ''
    returnType: void
    signature: void Asn1Record::decodeValueIfNeeded() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:427,1
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:428,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:431,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:431,1
    - Dst: std::accumulate
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:434,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:434,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:434,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 435
    functionName: pcpp::Asn1Record::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - pcpp::Asn1Record::decodeValueIfNeeded
    - auto::end
    - std::accumulate
    - std::next
    - pcpp::Asn1Record::toStringList
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string Asn1Record::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:441,1
    - Dst: pcpp::toString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:444,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:444,1
    - Dst: pcpp::toString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:448,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 459
    functionName: pcpp::Asn1Record::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - pcpp::toString
    - std::ostringstream::str
    - pcpp::Asn1Record::getUniversalTagType
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Asn1Record::toStringList() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dataSource
    - loadPolicy
    argTypes:
    - uint8_t*
    - internal::Asn1LoadPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: pcpp::Asn1Record::setEncodedValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1Record::decodeValueIfNeeded
    linkageType: ''
    returnType: void
    signature: void Asn1Record::setEncodedValue(uint8_t const* dataSource, internal::Asn1LoadPolicy
      loadPolicy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1GenericRecord::init
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tagClass
    - isConstructed
    - tagType
    - value
    - valueLen
    argTypes:
    - Asn1TagClass
    - bool
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: pcpp::Asn1GenericRecord::Asn1GenericRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1GenericRecord::init
    linkageType: ''
    returnType: void
    signature: "void Asn1GenericRecord::Asn1GenericRecord(Asn1TagClass tagClass, bool
      isConstructed, uint8_t tagType,\n\t                                     const
      uint8_t* value, size_t valueLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1GenericRecord::init
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:480,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:480,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:480,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tagClass
    - isConstructed
    - tagType
    - ' value'
    argTypes:
    - Asn1TagClass
    - bool
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: pcpp::Asn1GenericRecord::Asn1GenericRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - size
    - c_str
    - pcpp::Asn1GenericRecord::init
    linkageType: ''
    returnType: void
    signature: "void Asn1GenericRecord::Asn1GenericRecord(Asn1TagClass tagClass, bool
      isConstructed, uint8_t tagType,\n\t                                     const
      std::string& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:485,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:486,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 487
    functionName: pcpp::Asn1GenericRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - std::memcpy
    - get
    linkageType: ''
    returnType: void
    signature: void Asn1GenericRecord::decodeValue(uint8_t const* data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:491,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: pcpp::Asn1GenericRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1GenericRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:500,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:501,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - tagClass
    - isConstructed
    - tagType
    - value
    - valueLen
    argTypes:
    - Asn1TagClass
    - bool
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: pcpp::Asn1GenericRecord::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<uint8_t[]>
    - std::memcpy
    - get
    linkageType: ''
    returnType: void
    signature: "void Asn1GenericRecord::init(Asn1TagClass tagClass, bool isConstructed,
      uint8_t tagType, const uint8_t* value,\n\t                             size_t
      valueLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1ConstructedRecord::init
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:509,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:509,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tagClass
    - tagType
    - ' subRecords'
    argTypes:
    - Asn1TagClass
    - uint8_t
    - std::vector<Asn1Record*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: pcpp::Asn1ConstructedRecord::Asn1ConstructedRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - end
    - pcpp::Asn1ConstructedRecord::init
    - begin
    linkageType: ''
    returnType: void
    signature: "void Asn1ConstructedRecord::Asn1ConstructedRecord(Asn1TagClass tagClass,
      uint8_t tagType,\n\t                                             const std::vector<Asn1Record*>&
      subRecords)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1ConstructedRecord::init
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:515,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:515,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tagClass
    - tagType
    - ' subRecords'
    argTypes:
    - Asn1TagClass
    - uint8_t
    - PointerVector<Asn1Record>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: pcpp::Asn1ConstructedRecord::Asn1ConstructedRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - end
    - pcpp::Asn1ConstructedRecord::init
    - begin
    linkageType: ''
    returnType: void
    signature: "void Asn1ConstructedRecord::Asn1ConstructedRecord(Asn1TagClass tagClass,
      uint8_t tagType,\n\t                                             const PointerVector<Asn1Record>&
      subRecords)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:530,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:531,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:532,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:534,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 536
    functionName: pcpp::Asn1ConstructedRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - pcpp::Asn1Record::decode
    - auto::getTotalLength
    - pushBack
    linkageType: ''
    returnType: void
    signature: void Asn1ConstructedRecord::decodeValue(uint8_t const* data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:541,1
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:545,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:546,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:546,1
    - Dst: std::make_move_iterator
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:546,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:546,1
    - Dst: std::make_move_iterator
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:547,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 550
    functionName: pcpp::Asn1ConstructedRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::make_move_iterator
    - std::vector::end
    - auto::begin
    - std::vector::insert
    - auto::end
    - encode
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1ConstructedRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:554,1
    - Dst: pcpp::Asn1ConstructedRecord::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:557,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 563
    functionName: pcpp::Asn1ConstructedRecord::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Asn1ConstructedRecord::toStringList
    - std::vector::push_back
    - pcpp::Asn1Record::toStringList
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Asn1ConstructedRecord::toStringList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' subRecords'
    argTypes:
    - std::vector<Asn1Record*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 568
    functionName: pcpp::Asn1SequenceRecord::Asn1SequenceRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Asn1SequenceRecord::Asn1SequenceRecord(const std::vector<Asn1Record*>&
      subRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' subRecords'
    argTypes:
    - PointerVector<Asn1Record>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: pcpp::Asn1SequenceRecord::Asn1SequenceRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Asn1SequenceRecord::Asn1SequenceRecord(const PointerVector<Asn1Record>&
      subRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' subRecords'
    argTypes:
    - std::vector<Asn1Record*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: pcpp::Asn1SetRecord::Asn1SetRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Asn1SetRecord::Asn1SetRecord(const std::vector<Asn1Record*>& subRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' subRecords'
    argTypes:
    - PointerVector<Asn1Record>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: pcpp::Asn1SetRecord::Asn1SetRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Asn1SetRecord::Asn1SetRecord(const PointerVector<Asn1Record>&
      subRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tagType
    argTypes:
    - Asn1UniversalTagType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 588
    functionName: pcpp::Asn1PrimitiveRecord::Asn1PrimitiveRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Asn1PrimitiveRecord::Asn1PrimitiveRecord(Asn1UniversalTagType
      tagType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initFromString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 593
    functionName: Asn1IntegerRecord::BigInt::BigInt(const std::string& value)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - initFromString
    linkageType: ''
    returnType: void
    signature: void Asn1IntegerRecord::BigInt::BigInt(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: Asn1IntegerRecord::BigInt::BigInt(const BigInt& other)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1IntegerRecord::BigInt::BigInt(const BigInt& other)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:605,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:607,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:610,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:612,1
    - Dst: std::any_of
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:615,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:615,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:615,1
    - Dst: std::isxdigit
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:615,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:617,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 621
    functionName: Asn1IntegerRecord::BigInt::initFromString(const std::string& value)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - substr
    - std::string::empty
    - size
    - std::isxdigit
    - std::string::begin
    - std::string::end
    - std::any_of
    linkageType: ''
    returnType: std::string
    signature: std::string Asn1IntegerRecord::BigInt::initFromString(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initFromString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 627
    functionName: '& Asn1IntegerRecord::BigInt::operator=(const std::string& value)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - initFromString
    linkageType: ''
    returnType: Asn1IntegerRecord::BigInt
    signature: Asn1IntegerRecord::BigInt & Asn1IntegerRecord::BigInt::operator=(const
      std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: Asn1IntegerRecord::BigInt::size() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Asn1IntegerRecord::BigInt::size() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:641,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - removeLeadingZeros
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 648
    functionName: Asn1IntegerRecord::BigInt::toString(bool removeLeadingZeros) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - find_first_not_of
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string Asn1IntegerRecord::BigInt::toString(bool removeLeadingZeros)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:653,1
    - Dst: std::string::insert
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:655,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:659,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:661,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:662,1
    - Dst: std::stoul
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:662,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 667
    functionName: Asn1IntegerRecord::BigInt::toBytes() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - std::string::substr
    - std::string::insert
    - size
    - std::vector::push_back
    - std::stoul
    - std::string::size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1IntegerRecord::BigInt::toBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 682
    functionName: pcpp::Asn1IntegerRecord::Asn1IntegerRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1IntegerRecord::Asn1IntegerRecord(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 689
    functionName: pcpp::Asn1IntegerRecord::Asn1IntegerRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Asn1IntegerRecord::Asn1IntegerRecord(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 694
    functionName: pcpp::Asn1IntegerRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::byteArrayToHexString
    linkageType: ''
    returnType: void
    signature: void Asn1IntegerRecord::decodeValue(uint8_t const* data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 699
    functionName: pcpp::Asn1IntegerRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - toBytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1IntegerRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canFit
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:704,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:704,1
    - Dst: pcpp::Asn1IntegerRecord::getIntValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:704,1
    - Dst: pcpp::Asn1IntegerRecord::getValueAsString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:704,1
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:705,1
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 706
    functionName: pcpp::Asn1IntegerRecord::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1IntegerRecord::getIntValue
    - std::vector<std::string>
    - pcpp::Asn1IntegerRecord::getValueAsString
    - canFit
    - pcpp::Asn1Record::toStringList
    - to_string
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Asn1IntegerRecord::toStringList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: pcpp::Asn1EnumeratedRecord::Asn1EnumeratedRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Asn1EnumeratedRecord::Asn1EnumeratedRecord(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - value
    - valueLength
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 718
    functionName: pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    linkageType: ''
    returnType: void
    signature: void Asn1OctetStringRecord::Asn1OctetStringRecord(const uint8_t* value,
      size_t valueLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char const*>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:722,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:724,1
    - Dst: isprint
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:724,1
    - Dst: pcpp::Asn1StringRecord::decodeValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:728,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 734
    functionName: pcpp::Asn1OctetStringRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::all_of
    - byteArrayToHexString
    - reinterpret_cast<char const*>
    - pcpp::Asn1StringRecord::decodeValue
    - isprint
    linkageType: ''
    returnType: void
    signature: void Asn1OctetStringRecord::decodeValue(uint8_t const* data) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1StringRecord::encodeValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:740,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:746,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:746,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:748,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:749,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 751
    functionName: pcpp::Asn1OctetStringRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - size
    - std::vector::data
    - hexStringToByteArray
    - std::vector::resize
    - pcpp::Asn1StringRecord::encodeValue
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1OctetStringRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 758
    functionName: pcpp::Asn1BooleanRecord::Asn1BooleanRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1BooleanRecord::Asn1BooleanRecord(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: pcpp::Asn1BooleanRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1BooleanRecord::decodeValue(uint8_t const* data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: pcpp::Asn1BooleanRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1BooleanRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:773,1
    - Dst: pcpp::Asn1BooleanRecord::getValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: pcpp::Asn1BooleanRecord::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1BooleanRecord::getValue
    - pcpp::Asn1Record::toStringList
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Asn1BooleanRecord::toStringList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 780
    functionName: pcpp::Asn1NullRecord::Asn1NullRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1NullRecord::Asn1NullRecord()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:789,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:797,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:797,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:798,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:798,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:815,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:823,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 827
    functionName: pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - std::invalid_argument
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void Asn1ObjectIdentifier::Asn1ObjectIdentifier(const uint8_t* data,
      size_t dataLen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:835,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:837,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:839,1
    - Dst: std::stoull
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:845,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:849,1
    - Dst: max
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:852,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:854,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:857,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:857,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:860,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:862,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:867,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:872,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 1
    argNames:
    - ' oidString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 877
    functionName: pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - max
    - std::invalid_argument
    - std::vector::size
    - std::getline
    - std::stoull
    - std::string::empty
    - std::vector::push_back
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void Asn1ObjectIdentifier::Asn1ObjectIdentifier(const std::string&
      oidString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:881,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:889,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 894
    functionName: pcpp::Asn1ObjectIdentifier::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::ostringstream::str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Asn1ObjectIdentifier::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:901,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:903,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:911,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:911,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:914,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:922,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:922,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:927,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:934,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 939
    functionName: pcpp::Asn1ObjectIdentifier::toBytes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - std::vector::size
    - std::vector::push_back
    - size
    - std::runtime_error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1ObjectIdentifier::toBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 947
    functionName: pcpp::Asn1ObjectIdentifierRecord::Asn1ObjectIdentifierRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - toBytes
    linkageType: ''
    returnType: void
    signature: void Asn1ObjectIdentifierRecord::Asn1ObjectIdentifierRecord(const Asn1ObjectIdentifier&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Asn1ObjectIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 952
    functionName: pcpp::Asn1ObjectIdentifierRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - Asn1ObjectIdentifier
    linkageType: ''
    returnType: void
    signature: void Asn1ObjectIdentifierRecord::decodeValue(uint8_t const* data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 957
    functionName: pcpp::Asn1ObjectIdentifierRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - toBytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1ObjectIdentifierRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:961,1
    - Dst: getValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 962
    functionName: pcpp::Asn1ObjectIdentifierRecord::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - getValue
    - pcpp::Asn1Record::toStringList
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Asn1ObjectIdentifierRecord::toStringList()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1TimeRecord::validateTimezone
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:968,1
    - Dst: pcpp::Asn1TimeRecord::adjustTimezones
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tagType
    - ' value'
    - ' timezone'
    argTypes:
    - Asn1UniversalTagType
    - std::chrono::system_clock::time_point
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 970
    functionName: pcpp::Asn1TimeRecord::Asn1TimeRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1TimeRecord::validateTimezone
    - pcpp::Asn1TimeRecord::adjustTimezones
    linkageType: ''
    returnType: void
    signature: "void Asn1TimeRecord::Asn1TimeRecord(Asn1UniversalTagType tagType,
      const std::chrono::system_clock::time_point& value,\n\t                               const
      std::string& timezone)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1TimeRecord::getValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:975,1
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:976,1
    - Dst: std::gmtime
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:977,1
    - Dst: std::put_time
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:980,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:980,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:985,1
    - Dst: auto::time_since_epoch
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:985,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:988,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:988,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:997,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' format'
    - ' timezone'
    - includeMilliseconds
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 998
    functionName: pcpp::Asn1TimeRecord::getValueAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::setfill
    - std::chrono::system_clock::to_time_t
    - std::gmtime
    - std::put_time
    - std::ostringstream::str
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - std::setw
    - pcpp::Asn1TimeRecord::getValue
    - auto::time_since_epoch
    - c_str
    linkageType: ''
    returnType: std::string
    signature: "std::string Asn1TimeRecord::getValueAsString(const std::string& format,
      const std::string& timezone,\n\t                                             bool
      includeMilliseconds) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1002,1
    - Dst: pcpp::Asn1TimeRecord::getValueAsString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1000
    functionDepth: 2
    functionLinenumber: 1000
    functionLinenumberEnd: 1003
    functionName: pcpp::Asn1TimeRecord::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1TimeRecord::getValueAsString
    - pcpp::Asn1Record::toStringList
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Asn1TimeRecord::toStringList() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1012,1
    - Dst: std::isdigit
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1012,1
    - Dst: std::isdigit
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1013,1
    - Dst: std::isdigit
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1013,1
    - Dst: std::isdigit
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1013,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1015,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 1
    argNames:
    - ' timezone'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1017
    functionName: pcpp::Asn1TimeRecord::validateTimezone
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 1
    functionsReached:
    - length
    - std::isdigit
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void Asn1TimeRecord::validateTimezone(const std::string& timezone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1TimeRecord::validateTimezone
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1023,1
    - Dst: pcpp::Asn1TimeRecord::validateTimezone
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1024,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1030,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1030,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1031,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1031,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1039,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1039,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1040,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1040,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' value'
    - ' fromTimezone'
    - ' toTimezone'
    argTypes:
    - std::chrono::system_clock::time_point
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1045
    functionName: pcpp::Asn1TimeRecord::adjustTimezones
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 1
    functionsReached:
    - substr
    - std::chrono::seconds
    - pcpp::Asn1TimeRecord::validateTimezone
    - std::stoi
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: "std::chrono::system_clock::time_point Asn1TimeRecord::adjustTimezones(\n\t
      \   const std::chrono::system_clock::time_point& value, const std::string& fromTimezone,\n\t
      \   const std::string& toTimezone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' value'
    - withSeconds
    argTypes:
    - std::chrono::system_clock::time_point
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1057
    functionName: pcpp::Asn1UtcTimeRecord::Asn1UtcTimeRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1UtcTimeRecord::Asn1UtcTimeRecord(const std::chrono::system_clock::time_point&
      value, bool withSeconds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string::back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1063,1
    - Dst: std::string::pop_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1065,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1069,1
    - Dst: std::string::append
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1072,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1075,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1075,1
    - Dst: std::string::insert
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1078,1
    - Dst: std::string::insert
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1082,1
    - Dst: std::get_time
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1087,1
    - Dst: std::istringstream::fail
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1089,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1091,1
    - Dst: mkUtcTime
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1094,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1095,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1096
    functionName: pcpp::Asn1UtcTimeRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::string::pop_back
    - std::string::back
    - std::get_time
    - std::string::append
    - std::chrono::system_clock::from_time_t
    - std::stoi
    - std::string::substr
    - std::string::insert
    - std::runtime_error
    - std::istringstream::fail
    - std::string::size
    - mkUtcTime
    linkageType: ''
    returnType: void
    signature: void Asn1UtcTimeRecord::decodeValue(uint8_t const* data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1100,1
    - Dst: std::gmtime
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1102,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1104,1
    - Dst: std::put_time
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1106,1
    - Dst: auto::c_str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1106,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1108,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1109,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1110
    functionName: pcpp::Asn1UtcTimeRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::c_str
    - std::chrono::system_clock::to_time_t
    - string
    - std::gmtime
    - auto::end
    - std::put_time
    - std::ostringstream::str
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1UtcTimeRecord::encodeValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1118,1
    - Dst: time_since_epoch
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' value'
    - ' timezone'
    argTypes:
    - std::chrono::system_clock::time_point
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1125
    functionName: pcpp::Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - time_since_epoch
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: void
    signature: "void Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord(const std::chrono::system_clock::time_point&
      value,\n\t                                                     const std::string&
      timezone)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1132,1
    - Dst: std::string::back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1133,1
    - Dst: std::string::pop_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1135,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1139,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1140,1
    - Dst: std::get_time
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1145,1
    - Dst: std::istringstream::fail
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1147,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1149,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1152,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1156,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1158,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1160,1
    - Dst: std::string::resize
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1161,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1163,1
    - Dst: mkUtcTime
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1166,1
    - Dst: adjustTimezones
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1169,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1170,1
    - Dst: std::chrono::milliseconds
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1171
    functionName: pcpp::Asn1GeneralizedTimeRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::string::pop_back
    - std::string::length
    - std::string::back
    - std::get_time
    - std::chrono::system_clock::from_time_t
    - adjustTimezones
    - std::stoi
    - std::string::substr
    - std::chrono::milliseconds
    - std::runtime_error
    - mkUtcTime
    - std::string::find_first_of
    - std::istringstream::fail
    - std::string::resize
    - std::string::erase
    - std::string::find
    linkageType: ''
    returnType: void
    signature: void Asn1GeneralizedTimeRecord::decodeValue(uint8_t const* data) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: adjustTimezones
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1175,1
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1176,1
    - Dst: std::gmtime
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1178,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1180,1
    - Dst: std::put_time
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1182,1
    - Dst: auto::c_str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1182,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1185,1
    - Dst: auto::time_since_epoch
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1185,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1188,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1188,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1193,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1194,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1195
    functionName: pcpp::Asn1GeneralizedTimeRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::c_str
    - std::setfill
    - string
    - adjustTimezones
    - std::chrono::system_clock::to_time_t
    - std::gmtime
    - auto::end
    - std::put_time
    - std::ostringstream::str
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - std::setw
    - auto::time_since_epoch
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1GeneralizedTimeRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1199,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1202,1
    - Dst: reserve
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1203,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1206,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1208,1
    - Dst: std::string::append
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1209,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1209,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1213,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1221
    functionName: Asn1BitStringRecord::BitSet::initFromString(const std::string& value)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - std::invalid_argument
    - std::string::append
    - length
    - reserve
    - substr
    - clear
    - push_back
    linkageType: ''
    returnType: void
    signature: void Asn1BitStringRecord::BitSet::initFromString(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initFromString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1226
    functionName: Asn1BitStringRecord::BitSet::BitSet(const std::string& value)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - initFromString
    linkageType: ''
    returnType: void
    signature: void Asn1BitStringRecord::BitSet::BitSet(const std::string& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1232,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1236,1
    - Dst: std::copy_n
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1237,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - numBits
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1238
    functionName: Asn1BitStringRecord::BitSet::BitSet(const uint8_t* data, size_t
      numBits)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::copy_n
    - std::invalid_argument
    - resize
    - begin
    linkageType: ''
    returnType: void
    signature: void Asn1BitStringRecord::BitSet::BitSet(const uint8_t* data, size_t
      numBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initFromString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1244
    functionName: '& Asn1BitStringRecord::BitSet::operator=(const std::string& value)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - initFromString
    linkageType: ''
    returnType: Asn1BitStringRecord::BitSet
    signature: Asn1BitStringRecord::BitSet & Asn1BitStringRecord::BitSet::operator=(const
      std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1249,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1249,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1252,1
    - Dst: std::string::resize
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1256
    functionName: Asn1BitStringRecord::BitSet::toString() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::string::resize
    - to_string
    - std::string::reserve
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Asn1BitStringRecord::BitSet::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1261,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1261,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1264,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1264,1
    - Dst: to_ulong
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1268
    functionName: Asn1BitStringRecord::BitSet::toBytes() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - size
    - std::vector::push_back
    - to_ulong
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1BitStringRecord::BitSet::toBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: Asn1BitStringRecord::BitSet::sizeInBytes() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Asn1BitStringRecord::BitSet::sizeInBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizeInBytes
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1281
    functionName: pcpp::Asn1BitStringRecord::Asn1BitStringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - sizeInBytes
    linkageType: ''
    returnType: void
    signature: void Asn1BitStringRecord::Asn1BitStringRecord(const std::string& value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1288,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1291,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1296,1
    - Dst: BitSet
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1302,1
    - Dst: BitSet
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1307
    functionName: pcpp::Asn1BitStringRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - BitSet
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void Asn1BitStringRecord::decodeValue(uint8_t const* data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1311,1
    - Dst: sizeInBytes
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1312,1
    - Dst: getNumBits
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1312,1
    - Dst: auto::insert
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1313,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1313,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1315
    functionName: pcpp::Asn1BitStringRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - toBytes
    - auto::begin
    - static_cast<uint8_t>
    - sizeInBytes
    - auto::insert
    - getNumBits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1BitStringRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1319,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1317
    functionDepth: 2
    functionLinenumber: 1317
    functionLinenumberEnd: 1320
    functionName: pcpp::Asn1BitStringRecord::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - toString
    - pcpp::Asn1Record::toStringList
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Asn1BitStringRecord::toStringList() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:32,1
    - Dst: pcpp::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:32,1
    - Dst: pcpp::at
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tagClass
    argTypes:
    - Asn1TagClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: pcpp::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 1
    functionsReached:
    - pcpp::end
    - find
    - pcpp::at
    linkageType: ''
    returnType: std::string
    signature: std::string toString(Asn1TagClass tagClass)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:84,1
    - Dst: pcpp::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:84,1
    - Dst: pcpp::at
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tagType
    argTypes:
    - Asn1UniversalTagType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: pcpp::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 1
    functionsReached:
    - pcpp::end
    - find
    - pcpp::at
    linkageType: ''
    returnType: std::string
    signature: std::string toString(Asn1UniversalTagType tagType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decodeTagAndCreateRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:95,1
    - Dst: auto::decodeLength
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:98,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:104,1
    - Dst: auto::setEncodedValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - data
    - dataLen
    - lazy
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 112
    functionName: pcpp::Asn1Record::decode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 5
    functionsReached:
    - auto::setEncodedValue
    - auto::decodeLength
    - pcpp::Asn1Record::decodeTagAndCreateRecord
    - std::invalid_argument
    linkageType: ''
    returnType: std::unique_ptr<Asn1Record>
    signature: std::unique_ptr<Asn1Record> Asn1Record::decode(const uint8_t* data,
      size_t dataLen, bool lazy)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 151
    functionName: pcpp::Asn1Record::encodeTag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Asn1Record::encodeTag() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:159,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:159,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:167,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:171,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:171,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:172,1
    - Dst: std::reverse
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:175,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:175,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: pcpp::Asn1Record::encodeLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 1
    functionsReached:
    - std::vector::end
    - static_cast<uint8_t>
    - std::vector::size
    - std::vector::begin
    - std::vector::push_back
    - std::reverse
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1Record::encodeLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:184,1
    - Dst: pcpp::Asn1Record::encodeTag
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:184,1
    - Dst: pcpp::Asn1Record::encodeLength
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:186,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:187,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:187,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:187,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:187,1
    - Dst: pcpp::Asn1Record::encodeValueSafe
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:189,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:190,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:190,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:190,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: pcpp::Asn1Record::encode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1Record::encodeValueSafe
    - std::vector::end
    - auto::begin
    - std::vector::insert
    - auto::end
    - std::vector::push_back
    - pcpp::Asn1Record::encodeTag
    - pcpp::Asn1Record::encodeLength
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1Record::encode() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Asn1UniversalTagType>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: pcpp::Asn1Record::getUniversalTagType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 1
    functionsReached:
    - static_cast<Asn1UniversalTagType>
    linkageType: ''
    returnType: Asn1UniversalTagType
    signature: Asn1UniversalTagType Asn1Record::getUniversalTagType() const
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:210,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:246,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:251,1
    - Dst: static_cast<Asn1UniversalTagType>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:264,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:268,1
    - Dst: Asn1SequenceRecord::Asn1SequenceRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:268,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:273,1
    - Dst: Asn1SetRecord::Asn1SetRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:273,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:278,1
    - Dst: Asn1ConstructedRecord::Asn1ConstructedRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:278,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:284,1
    - Dst: Asn1ConstructedRecord::Asn1ConstructedRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:284,1
    - Dst: static_cast<Asn1UniversalTagType>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:291,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:296,1
    - Dst: Asn1IntegerRecord::Asn1IntegerRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:296,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:301,1
    - Dst: Asn1EnumeratedRecord::Asn1EnumeratedRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:301,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:306,1
    - Dst: Asn1OctetStringRecord::Asn1OctetStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:306,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:311,1
    - Dst: Asn1UTF8StringRecord::Asn1UTF8StringRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:311,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:316,1
    - Dst: Asn1PrintableStringRecord::Asn1PrintableStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:316,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:321,1
    - Dst: Asn1IA5StringRecord::Asn1IA5StringRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:321,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:326,1
    - Dst: Asn1BooleanRecord::Asn1BooleanRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:326,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:331,1
    - Dst: Asn1BitStringRecord::Asn1BitStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:331,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:336,1
    - Dst: Asn1NullRecord::Asn1NullRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:336,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:341,1
    - Dst: Asn1ObjectIdentifierRecord::Asn1ObjectIdentifierRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:341,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:346,1
    - Dst: Asn1UtcTimeRecord::Asn1UtcTimeRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:346,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:351,1
    - Dst: Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:351,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:356,1
    - Dst: Asn1GenericRecord::Asn1GenericRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:356,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:362,1
    - Dst: Asn1GenericRecord::Asn1GenericRecord
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:362,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 108
    argCount: 3
    argNames:
    - data
    - dataLen
    - ' tagLen'
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 371
    functionName: pcpp::Asn1Record::decodeTagAndCreateRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr::reset
    - std::invalid_argument
    - Asn1SetRecord::Asn1SetRecord
    - static_cast<Asn1UniversalTagType>
    - Asn1BitStringRecord::Asn1BitStringRecord
    - Asn1PrintableStringRecord::Asn1PrintableStringRecord
    - Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord
    - Asn1ConstructedRecord::Asn1ConstructedRecord
    - Asn1SequenceRecord::Asn1SequenceRecord
    - Asn1EnumeratedRecord::Asn1EnumeratedRecord
    - Asn1IA5StringRecord::Asn1IA5StringRecord
    - Asn1UtcTimeRecord::Asn1UtcTimeRecord
    - Asn1ObjectIdentifierRecord::Asn1ObjectIdentifierRecord
    - Asn1UTF8StringRecord::Asn1UTF8StringRecord
    - Asn1GenericRecord::Asn1GenericRecord
    - Asn1OctetStringRecord::Asn1OctetStringRecord
    - Asn1NullRecord::Asn1NullRecord
    - Asn1BooleanRecord::Asn1BooleanRecord
    - Asn1IntegerRecord::Asn1IntegerRecord
    linkageType: ''
    returnType: std::unique_ptr<Asn1Record>
    signature: "std::unique_ptr<Asn1Record> Asn1Record::decodeTagAndCreateRecord(const
      uint8_t* data, size_t dataLen,\n\t                                                                 uint8_t&
      tagLen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:377,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:395,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:397,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 412
    functionName: pcpp::Asn1Record::decodeLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - std::invalid_argument
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Asn1Record::decodeLength(const uint8_t* data, size_t dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decodeValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: pcpp::Asn1Record::decodeValueIfNeeded
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 2
    functionsReached:
    - decodeValue
    linkageType: ''
    returnType: void
    signature: void Asn1Record::decodeValueIfNeeded() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:427,1
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:428,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:431,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:431,1
    - Dst: std::accumulate
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:434,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:434,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:434,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 435
    functionName: pcpp::Asn1Record::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - pcpp::Asn1Record::decodeValueIfNeeded
    - auto::end
    - std::accumulate
    - std::next
    - pcpp::Asn1Record::toStringList
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string Asn1Record::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:441,1
    - Dst: pcpp::toString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:444,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:444,1
    - Dst: pcpp::toString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:448,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 459
    functionName: pcpp::Asn1Record::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 8
    functionsReached:
    - static_cast<int>
    - pcpp::toString
    - std::ostringstream::str
    - pcpp::Asn1Record::getUniversalTagType
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Asn1Record::toStringList() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dataSource
    - loadPolicy
    argTypes:
    - uint8_t*
    - internal::Asn1LoadPolicy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: pcpp::Asn1Record::setEncodedValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1Record::decodeValueIfNeeded
    linkageType: ''
    returnType: void
    signature: void Asn1Record::setEncodedValue(uint8_t const* dataSource, internal::Asn1LoadPolicy
      loadPolicy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1GenericRecord::init
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tagClass
    - isConstructed
    - tagType
    - value
    - valueLen
    argTypes:
    - Asn1TagClass
    - bool
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: pcpp::Asn1GenericRecord::Asn1GenericRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1GenericRecord::init
    linkageType: ''
    returnType: void
    signature: "void Asn1GenericRecord::Asn1GenericRecord(Asn1TagClass tagClass, bool
      isConstructed, uint8_t tagType,\n\t                                     const
      uint8_t* value, size_t valueLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1GenericRecord::init
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:480,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:480,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:480,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tagClass
    - isConstructed
    - tagType
    - ' value'
    argTypes:
    - Asn1TagClass
    - bool
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: pcpp::Asn1GenericRecord::Asn1GenericRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - size
    - c_str
    - pcpp::Asn1GenericRecord::init
    linkageType: ''
    returnType: void
    signature: "void Asn1GenericRecord::Asn1GenericRecord(Asn1TagClass tagClass, bool
      isConstructed, uint8_t tagType,\n\t                                     const
      std::string& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:485,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:486,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 487
    functionName: pcpp::Asn1GenericRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - std::memcpy
    - get
    linkageType: ''
    returnType: void
    signature: void Asn1GenericRecord::decodeValue(uint8_t const* data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:491,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: pcpp::Asn1GenericRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1GenericRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:500,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:501,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - tagClass
    - isConstructed
    - tagType
    - value
    - valueLen
    argTypes:
    - Asn1TagClass
    - bool
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: pcpp::Asn1GenericRecord::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 4
    functionsReached:
    - std::make_unique<uint8_t[]>
    - std::memcpy
    - get
    linkageType: ''
    returnType: void
    signature: "void Asn1GenericRecord::init(Asn1TagClass tagClass, bool isConstructed,
      uint8_t tagType, const uint8_t* value,\n\t                             size_t
      valueLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1ConstructedRecord::init
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:509,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:509,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tagClass
    - tagType
    - ' subRecords'
    argTypes:
    - Asn1TagClass
    - uint8_t
    - std::vector<Asn1Record*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 510
    functionName: pcpp::Asn1ConstructedRecord::Asn1ConstructedRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - end
    - pcpp::Asn1ConstructedRecord::init
    - begin
    linkageType: ''
    returnType: void
    signature: "void Asn1ConstructedRecord::Asn1ConstructedRecord(Asn1TagClass tagClass,
      uint8_t tagType,\n\t                                             const std::vector<Asn1Record*>&
      subRecords)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1ConstructedRecord::init
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:515,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:515,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tagClass
    - tagType
    - ' subRecords'
    argTypes:
    - Asn1TagClass
    - uint8_t
    - PointerVector<Asn1Record>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: pcpp::Asn1ConstructedRecord::Asn1ConstructedRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - end
    - pcpp::Asn1ConstructedRecord::init
    - begin
    linkageType: ''
    returnType: void
    signature: "void Asn1ConstructedRecord::Asn1ConstructedRecord(Asn1TagClass tagClass,
      uint8_t tagType,\n\t                                             const PointerVector<Asn1Record>&
      subRecords)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:530,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:531,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:532,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:534,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 536
    functionName: pcpp::Asn1ConstructedRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - pcpp::Asn1Record::decode
    - auto::getTotalLength
    - pushBack
    linkageType: ''
    returnType: void
    signature: void Asn1ConstructedRecord::decodeValue(uint8_t const* data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:541,1
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:545,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:546,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:546,1
    - Dst: std::make_move_iterator
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:546,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:546,1
    - Dst: std::make_move_iterator
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:547,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 550
    functionName: pcpp::Asn1ConstructedRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::make_move_iterator
    - std::vector::end
    - auto::begin
    - std::vector::insert
    - auto::end
    - encode
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1ConstructedRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:554,1
    - Dst: pcpp::Asn1ConstructedRecord::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:557,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 563
    functionName: pcpp::Asn1ConstructedRecord::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 2
    functionsReached:
    - pcpp::Asn1ConstructedRecord::toStringList
    - std::vector::push_back
    - pcpp::Asn1Record::toStringList
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Asn1ConstructedRecord::toStringList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' subRecords'
    argTypes:
    - std::vector<Asn1Record*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 568
    functionName: pcpp::Asn1SequenceRecord::Asn1SequenceRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Asn1SequenceRecord::Asn1SequenceRecord(const std::vector<Asn1Record*>&
      subRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' subRecords'
    argTypes:
    - PointerVector<Asn1Record>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: pcpp::Asn1SequenceRecord::Asn1SequenceRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Asn1SequenceRecord::Asn1SequenceRecord(const PointerVector<Asn1Record>&
      subRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' subRecords'
    argTypes:
    - std::vector<Asn1Record*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: pcpp::Asn1SetRecord::Asn1SetRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Asn1SetRecord::Asn1SetRecord(const std::vector<Asn1Record*>& subRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' subRecords'
    argTypes:
    - PointerVector<Asn1Record>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: pcpp::Asn1SetRecord::Asn1SetRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Asn1SetRecord::Asn1SetRecord(const PointerVector<Asn1Record>&
      subRecords)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tagType
    argTypes:
    - Asn1UniversalTagType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 588
    functionName: pcpp::Asn1PrimitiveRecord::Asn1PrimitiveRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Asn1PrimitiveRecord::Asn1PrimitiveRecord(Asn1UniversalTagType
      tagType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initFromString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 593
    functionName: Asn1IntegerRecord::BigInt::BigInt(const std::string& value)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - initFromString
    linkageType: ''
    returnType: void
    signature: void Asn1IntegerRecord::BigInt::BigInt(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: Asn1IntegerRecord::BigInt::BigInt(const BigInt& other)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1IntegerRecord::BigInt::BigInt(const BigInt& other)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:605,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:607,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:610,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:612,1
    - Dst: std::any_of
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:615,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:615,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:615,1
    - Dst: std::isxdigit
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:615,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:617,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 621
    functionName: Asn1IntegerRecord::BigInt::initFromString(const std::string& value)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - substr
    - std::string::empty
    - size
    - std::isxdigit
    - std::string::begin
    - std::string::end
    - std::any_of
    linkageType: ''
    returnType: std::string
    signature: std::string Asn1IntegerRecord::BigInt::initFromString(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initFromString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 627
    functionName: '& Asn1IntegerRecord::BigInt::operator=(const std::string& value)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - initFromString
    linkageType: ''
    returnType: Asn1IntegerRecord::BigInt
    signature: Asn1IntegerRecord::BigInt & Asn1IntegerRecord::BigInt::operator=(const
      std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: Asn1IntegerRecord::BigInt::size() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Asn1IntegerRecord::BigInt::size() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_first_not_of
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:641,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - removeLeadingZeros
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 648
    functionName: Asn1IntegerRecord::BigInt::toString(bool removeLeadingZeros) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - find_first_not_of
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string Asn1IntegerRecord::BigInt::toString(bool removeLeadingZeros)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:653,1
    - Dst: std::string::insert
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:655,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:659,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:661,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:662,1
    - Dst: std::stoul
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:662,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 667
    functionName: Asn1IntegerRecord::BigInt::toBytes() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - std::string::substr
    - std::string::insert
    - size
    - std::vector::push_back
    - std::stoul
    - std::string::size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1IntegerRecord::BigInt::toBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 682
    functionName: pcpp::Asn1IntegerRecord::Asn1IntegerRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1IntegerRecord::Asn1IntegerRecord(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 689
    functionName: pcpp::Asn1IntegerRecord::Asn1IntegerRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Asn1IntegerRecord::Asn1IntegerRecord(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 694
    functionName: pcpp::Asn1IntegerRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::byteArrayToHexString
    linkageType: ''
    returnType: void
    signature: void Asn1IntegerRecord::decodeValue(uint8_t const* data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 699
    functionName: pcpp::Asn1IntegerRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - toBytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1IntegerRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canFit
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:704,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:704,1
    - Dst: pcpp::Asn1IntegerRecord::getIntValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:704,1
    - Dst: pcpp::Asn1IntegerRecord::getValueAsString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:704,1
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:705,1
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 706
    functionName: pcpp::Asn1IntegerRecord::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1IntegerRecord::getIntValue
    - std::vector<std::string>
    - pcpp::Asn1IntegerRecord::getValueAsString
    - canFit
    - pcpp::Asn1Record::toStringList
    - to_string
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Asn1IntegerRecord::toStringList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: pcpp::Asn1EnumeratedRecord::Asn1EnumeratedRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void Asn1EnumeratedRecord::Asn1EnumeratedRecord(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - value
    - valueLength
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 718
    functionName: pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    linkageType: ''
    returnType: void
    signature: void Asn1OctetStringRecord::Asn1OctetStringRecord(const uint8_t* value,
      size_t valueLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char const*>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:722,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:724,1
    - Dst: isprint
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:724,1
    - Dst: pcpp::Asn1StringRecord::decodeValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:728,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 734
    functionName: pcpp::Asn1OctetStringRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::all_of
    - byteArrayToHexString
    - reinterpret_cast<char const*>
    - pcpp::Asn1StringRecord::decodeValue
    - isprint
    linkageType: ''
    returnType: void
    signature: void Asn1OctetStringRecord::decodeValue(uint8_t const* data) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1StringRecord::encodeValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:740,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:746,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:746,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:748,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:749,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 751
    functionName: pcpp::Asn1OctetStringRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - size
    - std::vector::data
    - hexStringToByteArray
    - std::vector::resize
    - pcpp::Asn1StringRecord::encodeValue
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1OctetStringRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 758
    functionName: pcpp::Asn1BooleanRecord::Asn1BooleanRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1BooleanRecord::Asn1BooleanRecord(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: pcpp::Asn1BooleanRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1BooleanRecord::decodeValue(uint8_t const* data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: pcpp::Asn1BooleanRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1BooleanRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:773,1
    - Dst: pcpp::Asn1BooleanRecord::getValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: pcpp::Asn1BooleanRecord::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1BooleanRecord::getValue
    - pcpp::Asn1Record::toStringList
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Asn1BooleanRecord::toStringList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 780
    functionName: pcpp::Asn1NullRecord::Asn1NullRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1NullRecord::Asn1NullRecord()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:789,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:797,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:797,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:798,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:798,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:815,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:823,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 827
    functionName: pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - std::invalid_argument
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void Asn1ObjectIdentifier::Asn1ObjectIdentifier(const uint8_t* data,
      size_t dataLen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:835,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:837,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:839,1
    - Dst: std::stoull
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:845,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:849,1
    - Dst: max
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:852,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:854,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:857,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:857,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:860,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:862,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:867,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:872,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 1
    argNames:
    - ' oidString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 877
    functionName: pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - max
    - std::invalid_argument
    - std::vector::size
    - std::getline
    - std::stoull
    - std::string::empty
    - std::vector::push_back
    - static_cast<uint32_t>
    linkageType: ''
    returnType: void
    signature: void Asn1ObjectIdentifier::Asn1ObjectIdentifier(const std::string&
      oidString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:881,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:889,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 894
    functionName: pcpp::Asn1ObjectIdentifier::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - empty
    - std::ostringstream::str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Asn1ObjectIdentifier::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:901,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:903,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:911,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:911,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:914,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:922,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:922,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:927,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:934,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 939
    functionName: pcpp::Asn1ObjectIdentifier::toBytes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - std::vector::size
    - std::vector::push_back
    - size
    - std::runtime_error
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1ObjectIdentifier::toBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 947
    functionName: pcpp::Asn1ObjectIdentifierRecord::Asn1ObjectIdentifierRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - toBytes
    linkageType: ''
    returnType: void
    signature: void Asn1ObjectIdentifierRecord::Asn1ObjectIdentifierRecord(const Asn1ObjectIdentifier&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Asn1ObjectIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 952
    functionName: pcpp::Asn1ObjectIdentifierRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - Asn1ObjectIdentifier
    linkageType: ''
    returnType: void
    signature: void Asn1ObjectIdentifierRecord::decodeValue(uint8_t const* data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 957
    functionName: pcpp::Asn1ObjectIdentifierRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - toBytes
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1ObjectIdentifierRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:961,1
    - Dst: getValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 962
    functionName: pcpp::Asn1ObjectIdentifierRecord::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - getValue
    - pcpp::Asn1Record::toStringList
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Asn1ObjectIdentifierRecord::toStringList()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1TimeRecord::validateTimezone
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:968,1
    - Dst: pcpp::Asn1TimeRecord::adjustTimezones
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tagType
    - ' value'
    - ' timezone'
    argTypes:
    - Asn1UniversalTagType
    - std::chrono::system_clock::time_point
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 964
    functionDepth: 2
    functionLinenumber: 964
    functionLinenumberEnd: 970
    functionName: pcpp::Asn1TimeRecord::Asn1TimeRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1TimeRecord::validateTimezone
    - pcpp::Asn1TimeRecord::adjustTimezones
    linkageType: ''
    returnType: void
    signature: "void Asn1TimeRecord::Asn1TimeRecord(Asn1UniversalTagType tagType,
      const std::chrono::system_clock::time_point& value,\n\t                               const
      std::string& timezone)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1TimeRecord::getValue
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:975,1
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:976,1
    - Dst: std::gmtime
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:977,1
    - Dst: std::put_time
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:980,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:980,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:985,1
    - Dst: auto::time_since_epoch
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:985,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:988,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:988,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:997,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' format'
    - ' timezone'
    - includeMilliseconds
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 998
    functionName: pcpp::Asn1TimeRecord::getValueAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 1
    functionsReached:
    - std::setfill
    - std::chrono::system_clock::to_time_t
    - std::gmtime
    - std::put_time
    - std::ostringstream::str
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - std::setw
    - pcpp::Asn1TimeRecord::getValue
    - auto::time_since_epoch
    - c_str
    linkageType: ''
    returnType: std::string
    signature: "std::string Asn1TimeRecord::getValueAsString(const std::string& format,
      const std::string& timezone,\n\t                                             bool
      includeMilliseconds) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1002,1
    - Dst: pcpp::Asn1TimeRecord::getValueAsString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1000
    functionDepth: 2
    functionLinenumber: 1000
    functionLinenumberEnd: 1003
    functionName: pcpp::Asn1TimeRecord::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Asn1TimeRecord::getValueAsString
    - pcpp::Asn1Record::toStringList
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Asn1TimeRecord::toStringList() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1012,1
    - Dst: std::isdigit
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1012,1
    - Dst: std::isdigit
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1013,1
    - Dst: std::isdigit
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1013,1
    - Dst: std::isdigit
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1013,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1015,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 1
    argNames:
    - ' timezone'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1017
    functionName: pcpp::Asn1TimeRecord::validateTimezone
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 3
    functionsReached:
    - length
    - std::isdigit
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void Asn1TimeRecord::validateTimezone(const std::string& timezone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1TimeRecord::validateTimezone
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1023,1
    - Dst: pcpp::Asn1TimeRecord::validateTimezone
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1024,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1030,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1030,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1031,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1031,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1039,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1039,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1040,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1040,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' value'
    - ' fromTimezone'
    - ' toTimezone'
    argTypes:
    - std::chrono::system_clock::time_point
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1045
    functionName: pcpp::Asn1TimeRecord::adjustTimezones
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 2
    functionsReached:
    - substr
    - std::chrono::seconds
    - pcpp::Asn1TimeRecord::validateTimezone
    - std::stoi
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: "std::chrono::system_clock::time_point Asn1TimeRecord::adjustTimezones(\n\t
      \   const std::chrono::system_clock::time_point& value, const std::string& fromTimezone,\n\t
      \   const std::string& toTimezone)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' value'
    - withSeconds
    argTypes:
    - std::chrono::system_clock::time_point
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1057
    functionName: pcpp::Asn1UtcTimeRecord::Asn1UtcTimeRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1UtcTimeRecord::Asn1UtcTimeRecord(const std::chrono::system_clock::time_point&
      value, bool withSeconds)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string::back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1063,1
    - Dst: std::string::pop_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1065,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1069,1
    - Dst: std::string::append
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1072,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1075,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1075,1
    - Dst: std::string::insert
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1078,1
    - Dst: std::string::insert
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1082,1
    - Dst: std::get_time
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1087,1
    - Dst: std::istringstream::fail
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1089,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1091,1
    - Dst: mkUtcTime
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1094,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1095,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1096
    functionName: pcpp::Asn1UtcTimeRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::string::pop_back
    - std::string::back
    - std::get_time
    - std::string::append
    - std::chrono::system_clock::from_time_t
    - std::stoi
    - std::string::substr
    - std::string::insert
    - std::runtime_error
    - std::istringstream::fail
    - std::string::size
    - mkUtcTime
    linkageType: ''
    returnType: void
    signature: void Asn1UtcTimeRecord::decodeValue(uint8_t const* data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1100,1
    - Dst: std::gmtime
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1102,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1104,1
    - Dst: std::put_time
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1106,1
    - Dst: auto::c_str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1106,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1108,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1109,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1110
    functionName: pcpp::Asn1UtcTimeRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::c_str
    - std::chrono::system_clock::to_time_t
    - string
    - std::gmtime
    - auto::end
    - std::put_time
    - std::ostringstream::str
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1UtcTimeRecord::encodeValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1118,1
    - Dst: time_since_epoch
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' value'
    - ' timezone'
    argTypes:
    - std::chrono::system_clock::time_point
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1125
    functionName: pcpp::Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - time_since_epoch
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: void
    signature: "void Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord(const std::chrono::system_clock::time_point&
      value,\n\t                                                     const std::string&
      timezone)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1132,1
    - Dst: std::string::back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1133,1
    - Dst: std::string::pop_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1135,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1139,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1140,1
    - Dst: std::get_time
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1145,1
    - Dst: std::istringstream::fail
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1147,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1149,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1152,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1156,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1158,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1160,1
    - Dst: std::string::resize
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1161,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1163,1
    - Dst: mkUtcTime
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1166,1
    - Dst: adjustTimezones
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1169,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1170,1
    - Dst: std::chrono::milliseconds
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1171
    functionName: pcpp::Asn1GeneralizedTimeRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::string::pop_back
    - std::string::length
    - std::string::back
    - std::get_time
    - std::chrono::system_clock::from_time_t
    - adjustTimezones
    - std::stoi
    - std::string::substr
    - std::chrono::milliseconds
    - std::runtime_error
    - mkUtcTime
    - std::string::find_first_of
    - std::istringstream::fail
    - std::string::resize
    - std::string::erase
    - std::string::find
    linkageType: ''
    returnType: void
    signature: void Asn1GeneralizedTimeRecord::decodeValue(uint8_t const* data) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: adjustTimezones
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1175,1
    - Dst: std::chrono::system_clock::to_time_t
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1176,1
    - Dst: std::gmtime
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1178,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1180,1
    - Dst: std::put_time
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1182,1
    - Dst: auto::c_str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1182,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1185,1
    - Dst: auto::time_since_epoch
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1185,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1188,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1188,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1193,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1194,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1195
    functionName: pcpp::Asn1GeneralizedTimeRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::c_str
    - std::setfill
    - string
    - adjustTimezones
    - std::chrono::system_clock::to_time_t
    - std::gmtime
    - auto::end
    - std::put_time
    - std::ostringstream::str
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - std::setw
    - auto::time_since_epoch
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1GeneralizedTimeRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1199,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1202,1
    - Dst: reserve
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1203,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1206,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1208,1
    - Dst: std::string::append
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1209,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1209,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1213,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1221
    functionName: Asn1BitStringRecord::BitSet::initFromString(const std::string& value)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - std::invalid_argument
    - std::string::append
    - length
    - reserve
    - substr
    - clear
    - push_back
    linkageType: ''
    returnType: void
    signature: void Asn1BitStringRecord::BitSet::initFromString(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initFromString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1226
    functionName: Asn1BitStringRecord::BitSet::BitSet(const std::string& value)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - initFromString
    linkageType: ''
    returnType: void
    signature: void Asn1BitStringRecord::BitSet::BitSet(const std::string& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1232,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1236,1
    - Dst: std::copy_n
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1237,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - numBits
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1238
    functionName: Asn1BitStringRecord::BitSet::BitSet(const uint8_t* data, size_t
      numBits)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::copy_n
    - std::invalid_argument
    - resize
    - begin
    linkageType: ''
    returnType: void
    signature: void Asn1BitStringRecord::BitSet::BitSet(const uint8_t* data, size_t
      numBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initFromString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1244
    functionName: '& Asn1BitStringRecord::BitSet::operator=(const std::string& value)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - initFromString
    linkageType: ''
    returnType: Asn1BitStringRecord::BitSet
    signature: Asn1BitStringRecord::BitSet & Asn1BitStringRecord::BitSet::operator=(const
      std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::reserve
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1249,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1249,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1252,1
    - Dst: std::string::resize
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1256
    functionName: Asn1BitStringRecord::BitSet::toString() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - std::string::resize
    - to_string
    - std::string::reserve
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Asn1BitStringRecord::BitSet::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1261,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1261,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1264,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1264,1
    - Dst: to_ulong
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1268
    functionName: Asn1BitStringRecord::BitSet::toBytes() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - size
    - std::vector::push_back
    - to_ulong
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1BitStringRecord::BitSet::toBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: Asn1BitStringRecord::BitSet::sizeInBytes() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Asn1BitStringRecord::BitSet::sizeInBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sizeInBytes
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1281
    functionName: pcpp::Asn1BitStringRecord::Asn1BitStringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - sizeInBytes
    linkageType: ''
    returnType: void
    signature: void Asn1BitStringRecord::Asn1BitStringRecord(const std::string& value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1288,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1291,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1296,1
    - Dst: BitSet
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1302,1
    - Dst: BitSet
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1307
    functionName: pcpp::Asn1BitStringRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - BitSet
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void Asn1BitStringRecord::decodeValue(uint8_t const* data) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1311,1
    - Dst: sizeInBytes
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1312,1
    - Dst: getNumBits
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1312,1
    - Dst: auto::insert
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1313,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1313,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1315
    functionName: pcpp::Asn1BitStringRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - toBytes
    - auto::begin
    - static_cast<uint8_t>
    - sizeInBytes
    - auto::insert
    - getNumBits
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Asn1BitStringRecord::encodeValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1319,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1317
    functionDepth: 2
    functionLinenumber: 1317
    functionLinenumberEnd: 1320
    functionName: pcpp::Asn1BitStringRecord::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
    functionUses: 0
    functionsReached:
    - toString
    - pcpp::Asn1Record::toStringList
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> Asn1BitStringRecord::toStringList() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SSLVersion::SSLVersionEnum>
      Src: /src/PcapPlusPlus/Packet++/src/SSLCommon.cpp:15,1
    - Dst: static_cast<SSLVersion::SSLVersionEnum>
      Src: /src/PcapPlusPlus/Packet++/src/SSLCommon.cpp:23,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - countTlsDraftsAs1_3
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 27
    functionName: pcpp::SSLVersion::asEnum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLCommon.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SSLVersion::SSLVersionEnum>
    linkageType: ''
    returnType: SSLVersion::SSLVersionEnum
    signature: SSLVersion::SSLVersionEnum SSLVersion::asEnum(bool countTlsDraftsAs1_3)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLVersion::asEnum
      Src: /src/PcapPlusPlus/Packet++/src/SSLCommon.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - countTlsDraftsAs1_3
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 84
    functionName: pcpp::SSLVersion::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLCommon.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLVersion::asEnum
    linkageType: ''
    returnType: std::string
    signature: std::string SSLVersion::toString(bool countTlsDraftsAs1_3)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SSLVersion::SSLVersionEnum>
      Src: /src/PcapPlusPlus/Packet++/src/SSLCommon.cpp:15,1
    - Dst: static_cast<SSLVersion::SSLVersionEnum>
      Src: /src/PcapPlusPlus/Packet++/src/SSLCommon.cpp:23,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - countTlsDraftsAs1_3
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 27
    functionName: pcpp::SSLVersion::asEnum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLCommon.cpp
    functionUses: 1
    functionsReached:
    - static_cast<SSLVersion::SSLVersionEnum>
    linkageType: ''
    returnType: SSLVersion::SSLVersionEnum
    signature: SSLVersion::SSLVersionEnum SSLVersion::asEnum(bool countTlsDraftsAs1_3)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLVersion::asEnum
      Src: /src/PcapPlusPlus/Packet++/src/SSLCommon.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - countTlsDraftsAs1_3
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 84
    functionName: pcpp::SSLVersion::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLCommon.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLVersion::asEnum
    linkageType: ''
    returnType: std::string
    signature: std::string SSLVersion::toString(bool countTlsDraftsAs1_3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:13,1
    - Dst: pcpp::EthDot3Layer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:15,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:16,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:17,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' sourceMac'
    - ' destMac'
    - length
    argTypes:
    - MacAddress
    - MacAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 20
    functionName: pcpp::EthDot3Layer::EthDot3Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - copyTo
    - pcpp::EthDot3Layer::getEthHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void EthDot3Layer::EthDot3Layer(const MacAddress& sourceMac, const
      MacAddress& destMac, uint16_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryConstructNextLayerWithFallback<LLCLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: pcpp::EthDot3Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayerWithFallback<LLCLayer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void EthDot3Layer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::EthDot3Layer::getSourceMac
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:35,1
    - Dst: pcpp::EthDot3Layer::getDestMac
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: pcpp::EthDot3Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::EthDot3Layer::getSourceMac
    - pcpp::EthDot3Layer::getDestMac
    linkageType: ''
    returnType: std::string
    signature: std::string EthDot3Layer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:48,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:48,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: pcpp::EthDot3Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - reinterpret_cast<const uint16_t*>
    - static_cast<uint16_t>
    linkageType: ''
    returnType: bool
    signature: bool EthDot3Layer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:13,1
    - Dst: pcpp::EthDot3Layer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:15,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:16,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:17,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' sourceMac'
    - ' destMac'
    - length
    argTypes:
    - MacAddress
    - MacAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 20
    functionName: pcpp::EthDot3Layer::EthDot3Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - copyTo
    - pcpp::EthDot3Layer::getEthHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void EthDot3Layer::EthDot3Layer(const MacAddress& sourceMac, const
      MacAddress& destMac, uint16_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryConstructNextLayerWithFallback<LLCLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: pcpp::EthDot3Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayerWithFallback<LLCLayer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void EthDot3Layer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::EthDot3Layer::getSourceMac
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:35,1
    - Dst: pcpp::EthDot3Layer::getDestMac
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: pcpp::EthDot3Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::EthDot3Layer::getSourceMac
    - pcpp::EthDot3Layer::getDestMac
    linkageType: ''
    returnType: std::string
    signature: std::string EthDot3Layer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:48,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:48,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: pcpp::EthDot3Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - reinterpret_cast<const uint16_t*>
    - static_cast<uint16_t>
    linkageType: ''
    returnType: bool
    signature: bool EthDot3Layer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 13
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TLVRecordBuilder::init
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - recType
    - recValue
    - recValueLen
    argTypes:
    - uint32_t
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TLVRecordBuilder::init
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder(uint32_t recType, const uint8_t*
      recValue, uint8_t recValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TLVRecordBuilder::init
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - recType
    - recValue
    argTypes:
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TLVRecordBuilder::init
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder(uint32_t recType, uint8_t recValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:27,1
    - Dst: pcpp::TLVRecordBuilder::init
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:28,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - recType
    - recValue
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TLVRecordBuilder::init
    - htobe16
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder(uint32_t recType, uint16_t
      recValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:33,1
    - Dst: pcpp::TLVRecordBuilder::init
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:34,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - recType
    - recValue
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TLVRecordBuilder::init
    - reinterpret_cast<uint8_t*>
    - htobe32
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder(uint32_t recType, uint32_t
      recValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:39,1
    - Dst: pcpp::TLVRecordBuilder::init
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:40,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - recType
    - ' recValue'
    argTypes:
    - uint32_t
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - reinterpret_cast<uint8_t*>
    - pcpp::TLVRecordBuilder::init
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder(uint32_t recType, const IPv4Address&
      recValue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:52,1
    - Dst: pcpp::TLVRecordBuilder::init
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:55,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:60,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:60,1
    - Dst: pcpp::TLVRecordBuilder::init
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:61,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - recType
    - ' recValue'
    - valueIsHexString
    argTypes:
    - uint32_t
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - length
    - pcpp::TLVRecordBuilder::init
    - hexStringToByteArray
    - c_str
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder(uint32_t recType, const std::string&
      recValue, bool valueIsHexString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:72,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLVRecordBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: pcpp::TLVRecordBuilder::copyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::copyData(const TLVRecordBuilder& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TLVRecordBuilder::copyData
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLVRecordBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TLVRecordBuilder::copyData
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder(const TLVRecordBuilder& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: copyData
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLVRecordBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: '& TLVRecordBuilder::operator=(const TLVRecordBuilder& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - copyData
    linkageType: ''
    returnType: TLVRecordBuilder
    signature: TLVRecordBuilder & TLVRecordBuilder::operator=(const TLVRecordBuilder&
      other)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: TLVRecordBuilder::~TLVRecordBuilder()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::~TLVRecordBuilder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:105,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:107,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - recType
    - recValue
    - recValueLen
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: pcpp::TLVRecordBuilder::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 6
    functionsReached:
    - memcpy
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::init(uint32_t recType, const uint8_t* recValue,
      size_t recValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 13
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TLVRecordBuilder::init
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - recType
    - recValue
    - recValueLen
    argTypes:
    - uint32_t
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TLVRecordBuilder::init
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder(uint32_t recType, const uint8_t*
      recValue, uint8_t recValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TLVRecordBuilder::init
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - recType
    - recValue
    argTypes:
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TLVRecordBuilder::init
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder(uint32_t recType, uint8_t recValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:27,1
    - Dst: pcpp::TLVRecordBuilder::init
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:28,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - recType
    - recValue
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TLVRecordBuilder::init
    - htobe16
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder(uint32_t recType, uint16_t
      recValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:33,1
    - Dst: pcpp::TLVRecordBuilder::init
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:34,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - recType
    - recValue
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TLVRecordBuilder::init
    - reinterpret_cast<uint8_t*>
    - htobe32
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder(uint32_t recType, uint32_t
      recValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:39,1
    - Dst: pcpp::TLVRecordBuilder::init
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:40,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - recType
    - ' recValue'
    argTypes:
    - uint32_t
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - reinterpret_cast<uint8_t*>
    - pcpp::TLVRecordBuilder::init
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder(uint32_t recType, const IPv4Address&
      recValue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:52,1
    - Dst: pcpp::TLVRecordBuilder::init
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:55,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:60,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:60,1
    - Dst: pcpp::TLVRecordBuilder::init
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:61,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - recType
    - ' recValue'
    - valueIsHexString
    argTypes:
    - uint32_t
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - length
    - pcpp::TLVRecordBuilder::init
    - hexStringToByteArray
    - c_str
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder(uint32_t recType, const std::string&
      recValue, bool valueIsHexString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:72,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLVRecordBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: pcpp::TLVRecordBuilder::copyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::copyData(const TLVRecordBuilder& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TLVRecordBuilder::copyData
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLVRecordBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: pcpp::TLVRecordBuilder::TLVRecordBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TLVRecordBuilder::copyData
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::TLVRecordBuilder(const TLVRecordBuilder& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: copyData
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLVRecordBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: '& TLVRecordBuilder::operator=(const TLVRecordBuilder& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached:
    - copyData
    linkageType: ''
    returnType: TLVRecordBuilder
    signature: TLVRecordBuilder & TLVRecordBuilder::operator=(const TLVRecordBuilder&
      other)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: TLVRecordBuilder::~TLVRecordBuilder()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::~TLVRecordBuilder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:105,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:107,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/TLVData.cpp:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - recType
    - recValue
    - recValueLen
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: pcpp::TLVRecordBuilder::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
    functionUses: 12
    functionsReached:
    - memcpy
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void TLVRecordBuilder::init(uint32_t recType, const uint8_t* recValue,
      size_t recValueLen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:20,1
    - Dst: static_cast<ICMPv6MessageType>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:23,1
    - Dst: ICMPv6EchoLayer::ICMPv6EchoLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:29,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:31,1
    - Dst: IcmpV6Layer::IcmpV6Layer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:32,1
    - Dst: NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:33,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:35,1
    - Dst: IcmpV6Layer::IcmpV6Layer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:36,1
    - Dst: NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:37,1
    - Dst: PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:39,1
    - Dst: IcmpV6Layer::IcmpV6Layer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 43
    functionName: pcpp::IcmpV6Layer::parseIcmpV6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - PayloadLayer::PayloadLayer
    - NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
    - ICMPv6EchoLayer::ICMPv6EchoLayer
    - static_cast<ICMPv6MessageType>
    - NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
    - pcpp::NDPNeighborAdvertisementLayer::isDataValid
    - IcmpV6Layer::IcmpV6Layer
    - pcpp::NDPNeighborSolicitationLayer::isDataValid
    linkageType: ''
    returnType: Layer
    signature: Layer * IcmpV6Layer::parseIcmpV6Layer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:47,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:51,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - msgType
    - code
    - data
    - dataLen
    argTypes:
    - ICMPv6MessageType
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: pcpp::IcmpV6Layer::IcmpV6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<uint8_t>
    - allocData
    linkageType: ''
    returnType: void
    signature: void IcmpV6Layer::IcmpV6Layer(ICMPv6MessageType msgType, uint8_t code,
      const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ICMPv6MessageType>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:60,1
    - Dst: pcpp::IcmpV6Layer::getIcmpv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: pcpp::IcmpV6Layer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ICMPv6MessageType>
    - pcpp::IcmpV6Layer::getIcmpv6Header
    linkageType: ''
    returnType: ICMPv6MessageType
    signature: ICMPv6MessageType IcmpV6Layer::getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpV6Layer::getIcmpv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: pcpp::IcmpV6Layer::getCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpV6Layer::getIcmpv6Header
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t IcmpV6Layer::getCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:70,1
    - Dst: pcpp::IcmpV6Layer::getIcmpv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pcpp::IcmpV6Layer::getChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::IcmpV6Layer::getIcmpv6Header
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t IcmpV6Layer::getChecksum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpV6Layer::calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: pcpp::IcmpV6Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpV6Layer::calculateChecksum
    linkageType: ''
    returnType: void
    signature: void IcmpV6Layer::computeCalculateFields()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpV6Layer::getIcmpv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:86,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:96,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:97,1
    - Dst: getSrcIPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:100,1
    - Dst: getDstIPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:101,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:102,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:103,1
    - Dst: pcpp::IcmpV6Layer::getIcmpv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:108,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:108,1
    - Dst: computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 110
    functionName: pcpp::IcmpV6Layer::calculateChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - getSrcIPv6Address
    - htobe32
    - memcpy
    - computeChecksum
    - getDstIPv6Address
    - pcpp::IcmpV6Layer::getIcmpv6Header
    linkageType: ''
    returnType: void
    signature: void IcmpV6Layer::calculateChecksum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpV6Layer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:115,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: pcpp::IcmpV6Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpV6Layer::getMessageType
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string IcmpV6Layer::toString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:126,1
    - Dst: pcpp::ICMPv6EchoLayer::getEchoHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:129,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:134,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:138,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:144,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:145,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:148,1
    - Dst: pcpp::ICMPv6EchoLayer::getEchoDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - echoType
    - id
    - sequence
    - data
    - dataLen
    argTypes:
    - ICMPv6EchoType
    - uint16_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: pcpp::ICMPv6EchoLayer::ICMPv6EchoLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ICMPv6EchoLayer::getEchoDataPtr
    - htobe16
    - static_cast<uint8_t>
    - allocData
    - memcpy
    - pcpp::ICMPv6EchoLayer::getEchoHeader
    linkageType: ''
    returnType: void
    signature: "void ICMPv6EchoLayer::ICMPv6EchoLayer(ICMPv6EchoType echoType, uint16_t
      id, uint16_t sequence, const uint8_t* data,\n\t                                 size_t
      dataLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:153,1
    - Dst: pcpp::ICMPv6EchoLayer::getEchoHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: pcpp::ICMPv6EchoLayer::getIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::ICMPv6EchoLayer::getEchoHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ICMPv6EchoLayer::getIdentifier() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:158,1
    - Dst: pcpp::ICMPv6EchoLayer::getEchoHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: pcpp::ICMPv6EchoLayer::getSequenceNr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::ICMPv6EchoLayer::getEchoHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ICMPv6EchoLayer::getSequenceNr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:164,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: pcpp::ICMPv6EchoLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - getMessageType
    linkageType: ''
    returnType: std::string
    signature: std::string ICMPv6EchoLayer::toString() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:20,1
    - Dst: static_cast<ICMPv6MessageType>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:23,1
    - Dst: ICMPv6EchoLayer::ICMPv6EchoLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:29,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:31,1
    - Dst: IcmpV6Layer::IcmpV6Layer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:32,1
    - Dst: NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:33,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:35,1
    - Dst: IcmpV6Layer::IcmpV6Layer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:36,1
    - Dst: NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:37,1
    - Dst: PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:39,1
    - Dst: IcmpV6Layer::IcmpV6Layer
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 43
    functionName: pcpp::IcmpV6Layer::parseIcmpV6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - PayloadLayer::PayloadLayer
    - NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
    - ICMPv6EchoLayer::ICMPv6EchoLayer
    - static_cast<ICMPv6MessageType>
    - NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
    - pcpp::NDPNeighborAdvertisementLayer::isDataValid
    - IcmpV6Layer::IcmpV6Layer
    - pcpp::NDPNeighborSolicitationLayer::isDataValid
    linkageType: ''
    returnType: Layer
    signature: Layer * IcmpV6Layer::parseIcmpV6Layer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:47,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:51,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - msgType
    - code
    - data
    - dataLen
    argTypes:
    - ICMPv6MessageType
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: pcpp::IcmpV6Layer::IcmpV6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - static_cast<uint8_t>
    - allocData
    linkageType: ''
    returnType: void
    signature: void IcmpV6Layer::IcmpV6Layer(ICMPv6MessageType msgType, uint8_t code,
      const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ICMPv6MessageType>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:60,1
    - Dst: pcpp::IcmpV6Layer::getIcmpv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: pcpp::IcmpV6Layer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<ICMPv6MessageType>
    - pcpp::IcmpV6Layer::getIcmpv6Header
    linkageType: ''
    returnType: ICMPv6MessageType
    signature: ICMPv6MessageType IcmpV6Layer::getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpV6Layer::getIcmpv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: pcpp::IcmpV6Layer::getCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpV6Layer::getIcmpv6Header
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t IcmpV6Layer::getCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:70,1
    - Dst: pcpp::IcmpV6Layer::getIcmpv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pcpp::IcmpV6Layer::getChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::IcmpV6Layer::getIcmpv6Header
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t IcmpV6Layer::getChecksum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpV6Layer::calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: pcpp::IcmpV6Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpV6Layer::calculateChecksum
    linkageType: ''
    returnType: void
    signature: void IcmpV6Layer::computeCalculateFields()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpV6Layer::getIcmpv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:86,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:96,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:97,1
    - Dst: getSrcIPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:100,1
    - Dst: getDstIPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:101,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:102,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:103,1
    - Dst: pcpp::IcmpV6Layer::getIcmpv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:108,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:108,1
    - Dst: computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 110
    functionName: pcpp::IcmpV6Layer::calculateChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - getSrcIPv6Address
    - htobe32
    - memcpy
    - computeChecksum
    - getDstIPv6Address
    - pcpp::IcmpV6Layer::getIcmpv6Header
    linkageType: ''
    returnType: void
    signature: void IcmpV6Layer::calculateChecksum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpV6Layer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:115,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: pcpp::IcmpV6Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IcmpV6Layer::getMessageType
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string IcmpV6Layer::toString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:126,1
    - Dst: pcpp::ICMPv6EchoLayer::getEchoHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:129,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:134,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:138,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:144,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:145,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:148,1
    - Dst: pcpp::ICMPv6EchoLayer::getEchoDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - echoType
    - id
    - sequence
    - data
    - dataLen
    argTypes:
    - ICMPv6EchoType
    - uint16_t
    - uint16_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: pcpp::ICMPv6EchoLayer::ICMPv6EchoLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ICMPv6EchoLayer::getEchoDataPtr
    - htobe16
    - static_cast<uint8_t>
    - allocData
    - memcpy
    - pcpp::ICMPv6EchoLayer::getEchoHeader
    linkageType: ''
    returnType: void
    signature: "void ICMPv6EchoLayer::ICMPv6EchoLayer(ICMPv6EchoType echoType, uint16_t
      id, uint16_t sequence, const uint8_t* data,\n\t                                 size_t
      dataLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:153,1
    - Dst: pcpp::ICMPv6EchoLayer::getEchoHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: pcpp::ICMPv6EchoLayer::getIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::ICMPv6EchoLayer::getEchoHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ICMPv6EchoLayer::getIdentifier() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:158,1
    - Dst: pcpp::ICMPv6EchoLayer::getEchoHeader
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: pcpp::ICMPv6EchoLayer::getSequenceNr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::ICMPv6EchoLayer::getEchoHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t ICMPv6EchoLayer::getSequenceNr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:164,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: pcpp::ICMPv6EchoLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - getMessageType
    linkageType: ''
    returnType: std::string
    signature: std::string ICMPv6EchoLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:11,1
    - Dst: pcpp::FtpRequestLayer::getCommandAsString
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - FtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: pcpp::FtpRequestLayer::setCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandInternal
    - pcpp::FtpRequestLayer::getCommandAsString
    linkageType: ''
    returnType: bool
    signature: bool FtpRequestLayer::setCommand(FtpCommand code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::FtpRequestLayer::getCommandString
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:17,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:19,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:21,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:21,1
    - Dst: static_cast<FtpCommand>
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 25
    functionName: pcpp::FtpRequestLayer::getCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<FtpCommand>
    - static_cast<size_t>
    - pcpp::FtpRequestLayer::getCommandString
    - std::string::c_str
    - std::string::size
    linkageType: ''
    returnType: FtpRequestLayer::FtpCommand
    signature: FtpRequestLayer::FtpCommand FtpRequestLayer::getCommand() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: pcpp::FtpRequestLayer::getCommandString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 1
    functionsReached:
    - getCommandInternal
    linkageType: ''
    returnType: std::string
    signature: std::string FtpRequestLayer::getCommandString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: pcpp::FtpRequestLayer::setCommandOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandOptionInternal
    linkageType: ''
    returnType: bool
    signature: bool FtpRequestLayer::setCommandOption(const std::string& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:42,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:43,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:45,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:45,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:46,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:48,1
    - Dst: getCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - removeEscapeCharacters
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: pcpp::FtpRequestLayer::getCommandOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::stringstream::str
    - std::string::size
    - getCommandOptionInternal
    linkageType: ''
    returnType: std::string
    signature: std::string FtpRequestLayer::getCommandOption(bool removeEscapeCharacters)
      const
  - BBCount: 72
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 145
    argCount: 1
    argNames:
    - code
    argTypes:
    - FtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 200
    functionName: pcpp::FtpRequestLayer::getCommandInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string FtpRequestLayer::getCommandInfo(FtpCommand code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - code
    argTypes:
    - FtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: pcpp::FtpRequestLayer::getCommandAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string FtpRequestLayer::getCommandAsString(FtpCommand code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::FtpRequestLayer::getCommandString
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: pcpp::FtpRequestLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::FtpRequestLayer::getCommandString
    linkageType: ''
    returnType: std::string
    signature: std::string FtpRequestLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:226,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - FtpStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: pcpp::FtpResponseLayer::setStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandInternal
    - std::ostringstream::str
    linkageType: ''
    returnType: bool
    signature: bool FtpResponseLayer::setStatusCode(FtpStatusCode code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<FtpStatusCode>
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:231,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:231,1
    - Dst: getCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: pcpp::FtpResponseLayer::getStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - atoi
    - static_cast<FtpStatusCode>
    - getCommandInternal
    linkageType: ''
    returnType: FtpResponseLayer::FtpStatusCode
    signature: FtpResponseLayer::FtpStatusCode FtpResponseLayer::getStatusCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: pcpp::FtpResponseLayer::getStatusCodeString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getCommandInternal
    linkageType: ''
    returnType: std::string
    signature: std::string FtpResponseLayer::getStatusCodeString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: pcpp::FtpResponseLayer::setStatusOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandOptionInternal
    linkageType: ''
    returnType: bool
    signature: bool FtpResponseLayer::setStatusOption(const std::string& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:249,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:250,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:252,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:252,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:253,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:255,1
    - Dst: getCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - removeEscapeCharacters
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 258
    functionName: pcpp::FtpResponseLayer::getStatusOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::stringstream::str
    - std::string::size
    - getCommandOptionInternal
    linkageType: ''
    returnType: std::string
    signature: std::string FtpResponseLayer::getStatusOption(bool removeEscapeCharacters)
      const
  - BBCount: 58
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 117
    argCount: 1
    argNames:
    - code
    argTypes:
    - FtpStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 379
    functionName: pcpp::FtpResponseLayer::getStatusCodeAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string FtpResponseLayer::getStatusCodeAsString(FtpStatusCode code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::FtpResponseLayer::getStatusCodeString
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: pcpp::FtpResponseLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::FtpResponseLayer::getStatusCodeString
    linkageType: ''
    returnType: std::string
    signature: std::string FtpResponseLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: pcpp::FtpDataLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string FtpDataLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:11,1
    - Dst: pcpp::FtpRequestLayer::getCommandAsString
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - FtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: pcpp::FtpRequestLayer::setCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandInternal
    - pcpp::FtpRequestLayer::getCommandAsString
    linkageType: ''
    returnType: bool
    signature: bool FtpRequestLayer::setCommand(FtpCommand code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::FtpRequestLayer::getCommandString
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:17,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:19,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:21,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:21,1
    - Dst: static_cast<FtpCommand>
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 25
    functionName: pcpp::FtpRequestLayer::getCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<FtpCommand>
    - static_cast<size_t>
    - pcpp::FtpRequestLayer::getCommandString
    - std::string::c_str
    - std::string::size
    linkageType: ''
    returnType: FtpRequestLayer::FtpCommand
    signature: FtpRequestLayer::FtpCommand FtpRequestLayer::getCommand() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: pcpp::FtpRequestLayer::getCommandString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 3
    functionsReached:
    - getCommandInternal
    linkageType: ''
    returnType: std::string
    signature: std::string FtpRequestLayer::getCommandString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: pcpp::FtpRequestLayer::setCommandOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandOptionInternal
    linkageType: ''
    returnType: bool
    signature: bool FtpRequestLayer::setCommandOption(const std::string& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:42,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:43,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:45,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:45,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:46,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:48,1
    - Dst: getCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - removeEscapeCharacters
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: pcpp::FtpRequestLayer::getCommandOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::stringstream::str
    - std::string::size
    - getCommandOptionInternal
    linkageType: ''
    returnType: std::string
    signature: std::string FtpRequestLayer::getCommandOption(bool removeEscapeCharacters)
      const
  - BBCount: 72
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 145
    argCount: 1
    argNames:
    - code
    argTypes:
    - FtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 200
    functionName: pcpp::FtpRequestLayer::getCommandInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string FtpRequestLayer::getCommandInfo(FtpCommand code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - code
    argTypes:
    - FtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: pcpp::FtpRequestLayer::getCommandAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string FtpRequestLayer::getCommandAsString(FtpCommand code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::FtpRequestLayer::getCommandString
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: pcpp::FtpRequestLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::FtpRequestLayer::getCommandString
    linkageType: ''
    returnType: std::string
    signature: std::string FtpRequestLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:226,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - FtpStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: pcpp::FtpResponseLayer::setStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandInternal
    - std::ostringstream::str
    linkageType: ''
    returnType: bool
    signature: bool FtpResponseLayer::setStatusCode(FtpStatusCode code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<FtpStatusCode>
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:231,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:231,1
    - Dst: getCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: pcpp::FtpResponseLayer::getStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - atoi
    - static_cast<FtpStatusCode>
    - getCommandInternal
    linkageType: ''
    returnType: FtpResponseLayer::FtpStatusCode
    signature: FtpResponseLayer::FtpStatusCode FtpResponseLayer::getStatusCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: pcpp::FtpResponseLayer::getStatusCodeString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 1
    functionsReached:
    - getCommandInternal
    linkageType: ''
    returnType: std::string
    signature: std::string FtpResponseLayer::getStatusCodeString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: pcpp::FtpResponseLayer::setStatusOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandOptionInternal
    linkageType: ''
    returnType: bool
    signature: bool FtpResponseLayer::setStatusOption(const std::string& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:249,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:250,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:252,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:252,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:253,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:255,1
    - Dst: getCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - removeEscapeCharacters
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 258
    functionName: pcpp::FtpResponseLayer::getStatusOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - std::stringstream::str
    - std::string::size
    - getCommandOptionInternal
    linkageType: ''
    returnType: std::string
    signature: std::string FtpResponseLayer::getStatusOption(bool removeEscapeCharacters)
      const
  - BBCount: 58
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 117
    argCount: 1
    argNames:
    - code
    argTypes:
    - FtpStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 379
    functionName: pcpp::FtpResponseLayer::getStatusCodeAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string FtpResponseLayer::getStatusCodeAsString(FtpStatusCode code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::FtpResponseLayer::getStatusCodeString
      Src: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 384
    functionName: pcpp::FtpResponseLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::FtpResponseLayer::getStatusCodeString
    linkageType: ''
    returnType: std::string
    signature: std::string FtpResponseLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: pcpp::FtpDataLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string FtpDataLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:22,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:25,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:31,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:33,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:36,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:38,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:46,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:54,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:60,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - vec
    - vecSize
    argTypes:
    - ScalarBuffer<uint16_t>[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 64
    functionName: pcpp::computeChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - htobe16
    - reinterpret_cast<uint8_t*>
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t computeChecksum(ScalarBuffer<uint16_t> vec[], size_t vecSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:69,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:75,1
    - Dst: IPAddress::getIPv4
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:80,1
    - Dst: IPAddress::getIPv4
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:81,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:87,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:88,1
    - Dst: pcpp::computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:91,1
    - Dst: IPAddress::getIPv6
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:96,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:96,1
    - Dst: IPAddress::getIPv6
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:97,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:97,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:98,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:99,1
    - Dst: pcpp::computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:102,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:106,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 6
    argNames:
    - dataPtr
    - dataLen
    - ipAddrType
    - protocolType
    - srcIPAddress
    - dstIPAddress
    argTypes:
    - uint8_t*
    - size_t
    - IPAddress::AddressType
    - uint8_t
    - IPAddress
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 112
    functionName: pcpp::computePseudoHdrChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp
    functionUses: 4
    functionsReached:
    - htobe16
    - IPAddress::getIPv6
    - pcpp::computeChecksum
    - reinterpret_cast<uint8_t*>
    - PCPP_LOG_ERROR
    - reinterpret_cast<uint16_t*>
    - IPAddress::getIPv4
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t computePseudoHdrChecksum(uint8_t* dataPtr, size_t dataLen,
      IPAddress::AddressType ipAddrType,\n\t                                  uint8_t
      protocolType, IPAddress srcIPAddress, IPAddress dstIPAddress)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vec
    - vecSize
    argTypes:
    - ScalarBuffer<uint8_t>[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: pcpp::fnvHash
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t fnvHash(ScalarBuffer<uint8_t> vec[], size_t vecSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - bufSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: pcpp::fnvHash
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp
    functionUses: 13
    functionsReached:
    - pcpp::fnvHash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t fnvHash(uint8_t* buffer, size_t bufSize)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:141,1
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:141,1
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:144,1
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:147,1
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:147,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:156,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:159,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:160,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:164,1
    - Dst: UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:165,1
    - Dst: UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:166,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:175,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:177,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:180,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:184,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:184,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:187,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:187,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:189,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:189,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:191,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:196,1
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:198,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:198,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:198,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:201,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:203,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:205,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:209,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - packet
    - ' directionUnique'
    argTypes:
    - Packet*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 210
    functionName: pcpp::hash5Tuple
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp
    functionUses: 0
    functionsReached:
    - TcpLayer*::getTcpHeader
    - reinterpret_cast<uint8_t*>
    - memcmp
    - IPv4Layer*::getIPv4Header
    - UdpLayer*::getUdpHeader
    - Packet*::getLayerOfType
    - IPv6Layer*::getIPv6Header
    - pcpp::fnvHash
    - Packet*::isPacketOfType
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash5Tuple(Packet* packet, bool const& directionUnique)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:214,1
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:214,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:219,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:223,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:223,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:226,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:226,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:228,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:228,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:233,1
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:235,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:235,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:235,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:238,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:240,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - packet
    argTypes:
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 245
    functionName: pcpp::hash2Tuple
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - reinterpret_cast<uint8_t*>
    - IPv4Layer*::getIPv4Header
    - Packet*::getLayerOfType
    - IPv6Layer*::getIPv6Header
    - pcpp::fnvHash
    - Packet*::isPacketOfType
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash2Tuple(Packet* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:22,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:25,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:31,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:33,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:36,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:38,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:46,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:54,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:60,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - vec
    - vecSize
    argTypes:
    - ScalarBuffer<uint16_t>[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 64
    functionName: pcpp::computeChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - htobe16
    - reinterpret_cast<uint8_t*>
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t computeChecksum(ScalarBuffer<uint16_t> vec[], size_t vecSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:69,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:75,1
    - Dst: IPAddress::getIPv4
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:80,1
    - Dst: IPAddress::getIPv4
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:81,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:87,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:88,1
    - Dst: pcpp::computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:91,1
    - Dst: IPAddress::getIPv6
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:96,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:96,1
    - Dst: IPAddress::getIPv6
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:97,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:97,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:98,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:99,1
    - Dst: pcpp::computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:102,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:106,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 6
    argNames:
    - dataPtr
    - dataLen
    - ipAddrType
    - protocolType
    - srcIPAddress
    - dstIPAddress
    argTypes:
    - uint8_t*
    - size_t
    - IPAddress::AddressType
    - uint8_t
    - IPAddress
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 112
    functionName: pcpp::computePseudoHdrChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp
    functionUses: 4
    functionsReached:
    - htobe16
    - IPAddress::getIPv6
    - pcpp::computeChecksum
    - reinterpret_cast<uint8_t*>
    - PCPP_LOG_ERROR
    - reinterpret_cast<uint16_t*>
    - IPAddress::getIPv4
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t computePseudoHdrChecksum(uint8_t* dataPtr, size_t dataLen,
      IPAddress::AddressType ipAddrType,\n\t                                  uint8_t
      protocolType, IPAddress srcIPAddress, IPAddress dstIPAddress)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vec
    - vecSize
    argTypes:
    - ScalarBuffer<uint8_t>[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: pcpp::fnvHash
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t fnvHash(ScalarBuffer<uint8_t> vec[], size_t vecSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - bufSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: pcpp::fnvHash
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp
    functionUses: 16
    functionsReached:
    - pcpp::fnvHash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t fnvHash(uint8_t* buffer, size_t bufSize)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:141,1
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:141,1
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:144,1
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:147,1
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:147,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:156,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:159,1
    - Dst: TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:160,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:164,1
    - Dst: UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:165,1
    - Dst: UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:166,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:175,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:177,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:180,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:184,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:184,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:187,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:187,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:189,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:189,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:191,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:196,1
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:198,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:198,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:198,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:201,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:203,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:205,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:209,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - packet
    - ' directionUnique'
    argTypes:
    - Packet*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 210
    functionName: pcpp::hash5Tuple
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp
    functionUses: 0
    functionsReached:
    - TcpLayer*::getTcpHeader
    - reinterpret_cast<uint8_t*>
    - memcmp
    - IPv4Layer*::getIPv4Header
    - UdpLayer*::getUdpHeader
    - Packet*::getLayerOfType
    - IPv6Layer*::getIPv6Header
    - pcpp::fnvHash
    - Packet*::isPacketOfType
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash5Tuple(Packet* packet, bool const& directionUnique)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:214,1
    - Dst: Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:214,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:219,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:223,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:223,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:226,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:226,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:228,1
    - Dst: IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:228,1
    - Dst: Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:233,1
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:235,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:235,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:235,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:238,1
    - Dst: IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:240,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - packet
    argTypes:
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 245
    functionName: pcpp::hash2Tuple
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - reinterpret_cast<uint8_t*>
    - IPv4Layer*::getIPv4Header
    - Packet*::getLayerOfType
    - IPv6Layer*::getIPv6Header
    - pcpp::fnvHash
    - Packet*::isPacketOfType
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash2Tuple(Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: GtpV1Layer::GtpExtension::GtpExtension()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer::GtpExtension::GtpExtension()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - dataLen
    - type
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: GtpV1Layer::GtpExtension::GtpExtension(uint8_t* data, size_t dataLen,
      uint8_t type)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer::GtpExtension::GtpExtension(uint8_t* data, size_t dataLen,
      uint8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GtpExtension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: GtpV1Layer::GtpExtension::GtpExtension(const GtpExtension& other)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer::GtpExtension::GtpExtension(const GtpExtension& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GtpV1Layer::GtpExtension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: '& GtpV1Layer::GtpExtension::operator=(const GtpV1Layer::GtpExtension&
      other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GtpV1Layer::GtpExtension
    signature: GtpV1Layer::GtpExtension & GtpV1Layer::GtpExtension::operator=(const
      GtpV1Layer::GtpExtension& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: GtpV1Layer::GtpExtension::isNull() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::GtpExtension::isNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: GtpV1Layer::GtpExtension::getExtensionType() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GtpV1Layer::GtpExtension::getExtensionType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: GtpV1Layer::GtpExtension::getTotalLength() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GtpV1Layer::GtpExtension::getTotalLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: GtpV1Layer::GtpExtension::getContentLength() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getTotalLength
    linkageType: ''
    returnType: size_t
    signature: size_t GtpV1Layer::GtpExtension::getContentLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getContentLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: '* GtpV1Layer::GtpExtension::getContent() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getContentLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GtpV1Layer::GtpExtension::getContent() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:100,1
    - Dst: getContentLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: GtpV1Layer::GtpExtension::getNextExtensionHeaderType() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getTotalLength
    - getContentLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GtpV1Layer::GtpExtension::getNextExtensionHeaderType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:112,1
    - Dst: getNextExtensionHeaderType
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: GtpV1Layer::GtpExtension::getNextExtension() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getTotalLength
    - getNextExtensionHeaderType
    linkageType: ''
    returnType: GtpV1Layer::GtpExtension
    signature: GtpV1Layer::GtpExtension GtpV1Layer::GtpExtension::getNextExtension()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - nextHeaderType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: GtpV1Layer::GtpExtension::setNextHeaderType(uint8_t nextHeaderType)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getTotalLength
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer::GtpExtension::setNextHeaderType(uint8_t nextHeaderType)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - data
    - dataLen
    - extType
    - content
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: "GtpV1Layer::GtpExtension::createGtpExtension(uint8_t* data, size_t
      dataLen,\n\t                                                                      uint8_t
      extType, uint16_t content)"
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GtpV1Layer::GtpExtension
    signature: "GtpV1Layer::GtpExtension GtpV1Layer::GtpExtension::createGtpExtension(uint8_t*
      data, size_t dataLen,\n\t                                                                      uint8_t
      extType, uint16_t content)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::init
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - messageType
    - teid
    argTypes:
    - GtpV1MessageType
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: pcpp::GtpV1Layer::GtpV1Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::init
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer::GtpV1Layer(GtpV1MessageType messageType, uint32_t
      teid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::init
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - messageType
    - teid
    - setSeqNum
    - seqNum
    - setNpduNum
    - npduNum
    argTypes:
    - GtpV1MessageType
    - uint32_t
    - bool
    - uint16_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: pcpp::GtpV1Layer::GtpV1Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::init
    linkageType: ''
    returnType: void
    signature: "void GtpV1Layer::GtpV1Layer(GtpV1MessageType messageType, uint32_t
      teid, bool setSeqNum, uint16_t seqNum,\n\t                       bool setNpduNum,
      uint8_t npduNum)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:172,1
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:175,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:179,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:183,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:184,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - messageType
    - teid
    - setSeqNum
    - seqNum
    - setNpduNum
    - npduNum
    argTypes:
    - GtpV1MessageType
    - uint32_t
    - bool
    - uint16_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 197
    functionName: pcpp::GtpV1Layer::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::GtpV1Layer::getHeaderExtra
    - htobe32
    - allocData
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: void
    signature: "void GtpV1Layer::init(GtpV1MessageType messageType, uint32_t teid,
      bool setSeqNum, uint16_t seqNum, bool setNpduNum,\n\t                      uint8_t
      npduNum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: pcpp::GtpV1Layer::isGTPv1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::isGTPv1(const uint8_t* data, size_t dataSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: pcpp::GtpV1Layer::getHeaderExtra
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: GtpV1Layer::gtpv1_header_extra
    signature: GtpV1Layer::gtpv1_header_extra * GtpV1Layer::getHeaderExtra() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:221,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:222,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' seqNumber'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: pcpp::GtpV1Layer::getSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::GtpV1Layer::getHeaderExtra
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::getSequenceNumber(uint16_t& seqNumber) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:235,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:238,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:245,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:247,1
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:250,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:254,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:257,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:263,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:266,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - seqNumber
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 269
    functionName: pcpp::GtpV1Layer::setSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - htobe16
    - pcpp::GtpV1Layer::getHeaderExtra
    - PCPP_LOG_ERROR
    - be16toh
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::setSequenceNumber(const uint16_t seqNumber)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:273,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' npduNum'
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: pcpp::GtpV1Layer::getNpduNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::getHeaderExtra
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::getNpduNumber(uint8_t& npduNum) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:287,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:290,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:297,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:299,1
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:302,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:306,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:309,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:318,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - npduNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 321
    functionName: pcpp::GtpV1Layer::setNpduNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - htobe16
    - pcpp::GtpV1Layer::getHeaderExtra
    - PCPP_LOG_ERROR
    - be16toh
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::setNpduNumber(const uint8_t npduNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:325,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' nextExtType'
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 334
    functionName: pcpp::GtpV1Layer::getNextExtensionHeaderType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::getHeaderExtra
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::getNextExtensionHeaderType(uint8_t& nextExtType) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getNextExtensionHeaderType
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: pcpp::GtpV1Layer::getNextExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::getNextExtensionHeaderType
    linkageType: ''
    returnType: GtpV1Layer::GtpExtension
    signature: GtpV1Layer::GtpExtension GtpV1Layer::getNextExtension() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:352,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:355,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:364,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:366,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:372,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:375,1
    - Dst: pcpp::GtpV1Layer::getNextExtension
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:382,1
    - Dst: GtpV1Layer::GtpExtension::getNextExtension
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:385,1
    - Dst: GtpV1Layer::GtpExtension::getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:388,1
    - Dst: GtpV1Layer::GtpExtension::getNextExtension
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:389,1
    - Dst: GtpV1Layer::GtpExtension::isNull
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:393,1
    - Dst: GtpV1Layer::GtpExtension::getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:396,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:400,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:402,1
    - Dst: GtpV1Layer::GtpExtension::isNull
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:407,1
    - Dst: GtpV1Layer::GtpExtension::setNextHeaderType
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:410,1
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:415,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:416,1
    - Dst: GtpV1Layer::GtpExtension::createGtpExtension
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - extensionType
    - extensionContent
    argTypes:
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 425
    functionName: pcpp::GtpV1Layer::addExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - GtpV1Layer::GtpExtension::createGtpExtension
    - GtpV1Layer::GtpExtension::getTotalLength
    - pcpp::GtpV1Layer::getHeaderExtra
    - PCPP_LOG_ERROR
    - pcpp::GtpV1Layer::getHeader
    - GtpV1Layer::GtpExtension::setNextHeaderType
    - GtpV1Layer::GtpExtension::isNull
    - GtpV1Layer::GtpExtension::getNextExtension
    - pcpp::GtpV1Layer::getNextExtension
    linkageType: ''
    returnType: GtpV1Layer::GtpExtension
    signature: GtpV1Layer::GtpExtension GtpV1Layer::addExtension(uint8_t extensionType,
      uint16_t extensionContent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: pcpp::GtpV1Layer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: GtpV1MessageType
    signature: GtpV1MessageType GtpV1Layer::getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 514
    functionName: pcpp::createGtpV1MessageTypeToStringMap
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<uint8_t, std::string>
    signature: std::unordered_map<uint8_t, std::string> createGtpV1MessageTypeToStringMap()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:520,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:524,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:527,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:528,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 536
    functionName: pcpp::GtpV1Layer::getMessageTypeAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: std::string
    signature: std::string GtpV1Layer::getMessageTypeAsString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 547
    functionName: pcpp::GtpV1Layer::isGTPUMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::isGTPUMessage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: pcpp::GtpV1Layer::isGTPCMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::isGTPCMessage() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:562,1
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:569,1
    - Dst: static_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:584,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:590,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:594,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:598,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 600
    functionName: pcpp::GtpV1Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - static_cast<uint8_t*>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - pcpp::GtpV1Layer::getHeaderLen
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer::parseNextLayer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:604,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:614,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:619,1
    - Dst: pcpp::GtpV1Layer::getNextExtension
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:624,1
    - Dst: GtpExtension::isNull
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:625,1
    - Dst: GtpExtension::getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:627,1
    - Dst: GtpExtension::getNextExtension
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:628,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 602
    functionDepth: 3
    functionLinenumber: 602
    functionLinenumberEnd: 634
    functionName: pcpp::GtpV1Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 1
    functionsReached:
    - GtpExtension::getTotalLength
    - GtpExtension::getNextExtension
    - GtpExtension::isNull
    - pcpp::GtpV1Layer::getHeaderExtra
    - be16toh
    - pcpp::GtpV1Layer::getHeader
    - pcpp::GtpV1Layer::getNextExtension
    linkageType: ''
    returnType: size_t
    signature: size_t GtpV1Layer::getHeaderLen() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:640,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:644,1
    - Dst: pcpp::GtpV1Layer::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:653,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 660
    functionName: pcpp::GtpV1Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::getMessageTypeAsString
    - be32toh
    - std::stringstream::str
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: std::string
    signature: std::string GtpV1Layer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:664,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 671
    functionName: pcpp::GtpV1Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' messageType'
    argTypes:
    - GtpV2MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: operator()(const GtpV2MessageType& messageType) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const GtpV2MessageType& messageType) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:772,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 779
    functionName: pcpp::GtpV2MessageType::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string GtpV2MessageType::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:870,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 877
    functionName: pcpp::GtpV2MessageType::fromUintValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: GtpV2MessageType
    signature: GtpV2MessageType GtpV2MessageType::fromUintValue(uint8_t value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<GtpV2InformationElement::Type>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:897,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 898
    functionName: pcpp::GtpV2InformationElement::getIEType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<GtpV2InformationElement::Type>
    linkageType: ''
    returnType: GtpV2InformationElement::Type
    signature: GtpV2InformationElement::Type GtpV2InformationElement::getIEType()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 908
    functionName: pcpp::GtpV2InformationElement::getCRFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GtpV2InformationElement::getCRFlag()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 918
    functionName: pcpp::GtpV2InformationElement::getInstance
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GtpV2InformationElement::getInstance()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getDataSize
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 928
    functionName: pcpp::GtpV2InformationElement::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getDataSize
    linkageType: ''
    returnType: size_t
    signature: size_t GtpV2InformationElement::getTotalSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:937,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 938
    functionName: pcpp::GtpV2InformationElement::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GtpV2InformationElement::getDataSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:948,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:948,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:949,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - infoElementType
    - ' crFlag'
    - ' instance'
    - ' infoElementValue'
    argTypes:
    - GtpV2InformationElement::Type
    - std::bitset<4>
    - std::bitset<4>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: pcpp::GtpV2InformationElementBuilder::GtpV2InformationElementBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - data
    - static_cast<uint8_t>
    - size
    linkageType: ''
    returnType: void
    signature: "void GtpV2InformationElementBuilder::GtpV2InformationElementBuilder(GtpV2InformationElement::Type
      infoElementType,\n\t                                                               const
      std::bitset<4>& crFlag,\n\t                                                               const
      std::bitset<4>& instance,\n\t                                                               const
      std::vector<uint8_t>& infoElementValue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GtpV2InformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:957,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:962,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:963,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:964,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:965,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:966,1
    - Dst: to_ulong
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:966,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:967,1
    - Dst: to_ulong
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:967,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:971,1
    - Dst: GtpV2InformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 975
    functionName: pcpp::GtpV2InformationElementBuilder::build
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - GtpV2InformationElement
    - memcpy
    - to_ulong
    - uint8_t::uint8_t
    linkageType: ''
    returnType: GtpV2InformationElement
    signature: GtpV2InformationElement GtpV2InformationElementBuilder::build() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:986,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:988,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:992,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:993,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:998,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:999,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1003,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1004,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1009,1
    - Dst: std::bitset<4>::to_ulong
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 6
    argNames:
    - messageType
    - sequenceNumber
    - setTeid
    - teid
    - setMessagePriority
    - messagePriority
    argTypes:
    - GtpV2MessageType
    - uint32_t
    - bool
    - uint32_t
    - bool
    - std::bitset<4>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 1014
    functionName: pcpp::GtpV2Layer::GtpV2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - std::bitset<4>::to_ulong
    - static_cast<uint8_t>
    - htobe32
    - allocData
    - memcpy
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: void
    signature: "void GtpV2Layer::GtpV2Layer(GtpV2MessageType messageType, uint32_t
      sequenceNumber, bool setTeid, uint32_t teid,\n\t                       bool
      setMessagePriority, std::bitset<4> messagePriority)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const gtpv2_basic_header*>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1023,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1039
    functionName: pcpp::GtpV2Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const gtpv2_basic_header*>
    linkageType: ''
    returnType: bool
    signature: bool GtpV2Layer::isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2MessageType::fromUintValue
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1043,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1044
    functionName: pcpp::GtpV2Layer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2MessageType::fromUintValue
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: GtpV2MessageType
    signature: GtpV2MessageType GtpV2Layer::getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' type'
    argTypes:
    - GtpV2MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1049
    functionName: pcpp::GtpV2Layer::setMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::setMessageType(const GtpV2MessageType& type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1053,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1054
    functionName: pcpp::GtpV2Layer::getMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t GtpV2Layer::getMessageLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1059
    functionName: pcpp::GtpV2Layer::isPiggybacking
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV2Layer::isPiggybacking() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1063,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1068,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1069
    functionName: pcpp::GtpV2Layer::getTeid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - reinterpret_cast<uint32_t*>
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: std::pair<bool, uint32_t>
    signature: std::pair<bool, uint32_t> GtpV2Layer::getTeid() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1073,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1078,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1078,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1080,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1083,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1084,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1084,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1087,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - teid
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1090
    functionName: pcpp::GtpV2Layer::setTeid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - htobe16
    - static_cast<int>
    - reinterpret_cast<uint32_t*>
    - PCPP_LOG_ERROR
    - htobe32
    - be16toh
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::setTeid(uint32_t teid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1094,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1102,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1102,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1104,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1108,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1109,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1111
    functionName: pcpp::GtpV2Layer::unsetTeid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<int>
    - PCPP_LOG_ERROR
    - be16toh
    - shortenLayer
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::unsetTeid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1116,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1121,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1122
    functionName: pcpp::GtpV2Layer::getSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - reinterpret_cast<uint32_t*>
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GtpV2Layer::getSequenceNumber() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1127,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1132,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sequenceNumber
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1124
    functionDepth: 1
    functionLinenumber: 1124
    functionLinenumberEnd: 1134
    functionName: pcpp::GtpV2Layer::setSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::GtpV2Layer::getHeader
    - htobe32
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::setSequenceNumber(uint32_t sequenceNumber)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1152
    functionName: pcpp::GtpV2Layer::getMessagePriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: std::pair<bool, uint8_t>
    signature: std::pair<bool, uint8_t> GtpV2Layer::getMessagePriority() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1156,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1166,1
    - Dst: to_ulong
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' messagePriority'
    argTypes:
    - std::bitset<4>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1168
    functionName: pcpp::GtpV2Layer::setMessagePriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - to_ulong
    - pcpp::GtpV2Layer::getHeader
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::setMessagePriority(const std::bitset<4>& messagePriority)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1183
    functionName: pcpp::GtpV2Layer::unsetMessagePriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::unsetMessagePriority()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getIEBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1187,1
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1188,1
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1189
    functionName: pcpp::GtpV2Layer::getFirstInformationElement
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - pcpp::GtpV2Layer::getHeaderLen
    - pcpp::GtpV2Layer::getIEBasePtr
    linkageType: ''
    returnType: GtpV2InformationElement
    signature: GtpV2InformationElement GtpV2Layer::getFirstInformationElement() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getIEBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1193,1
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1194,1
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infoElement
    argTypes:
    - GtpV2InformationElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1195
    functionName: pcpp::GtpV2Layer::getNextInformationElement
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getNextTLVRecord
    - pcpp::GtpV2Layer::getHeaderLen
    - pcpp::GtpV2Layer::getIEBasePtr
    linkageType: ''
    returnType: GtpV2InformationElement
    signature: GtpV2InformationElement GtpV2Layer::getNextInformationElement(GtpV2InformationElement
      infoElement) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getIEBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1199,1
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1200,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1200,1
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infoElementType
    argTypes:
    - GtpV2InformationElement::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1202
    functionName: pcpp::GtpV2Layer::getInformationElement
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - pcpp::GtpV2Layer::getHeaderLen
    - getTLVRecord
    - pcpp::GtpV2Layer::getIEBasePtr
    linkageType: ''
    returnType: GtpV2InformationElement
    signature: GtpV2InformationElement GtpV2Layer::getInformationElement(GtpV2InformationElement::Type
      infoElementType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getIEBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1206,1
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1207,1
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1208
    functionName: pcpp::GtpV2Layer::getInformationElementCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getTLVRecordCount
    - pcpp::GtpV2Layer::getHeaderLen
    - pcpp::GtpV2Layer::getIEBasePtr
    linkageType: ''
    returnType: size_t
    signature: size_t GtpV2Layer::getInformationElementCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::addInformationElementAt
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1212,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1212,1
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' infoElementBuilder'
    argTypes:
    - GtpV2InformationElementBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1213
    functionName: pcpp::GtpV2Layer::addInformationElement
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2Layer::addInformationElementAt
    - static_cast<int>
    - pcpp::GtpV2Layer::getHeaderLen
    linkageType: ''
    returnType: GtpV2InformationElement
    signature: GtpV2InformationElement GtpV2Layer::addInformationElement(const GtpV2InformationElementBuilder&
      infoElementBuilder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getInformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1218,1
    - Dst: auto::isNull
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1220,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1222,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1222,1
    - Dst: GtpV2InformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1224,1
    - Dst: auto::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1226,1
    - Dst: auto::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1226,1
    - Dst: pcpp::GtpV2Layer::addInformationElementAt
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' infoElementBuilder'
    - infoElementType
    argTypes:
    - GtpV2InformationElementBuilder
    - GtpV2InformationElement::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1215
    functionDepth: 2
    functionLinenumber: 1215
    functionLinenumberEnd: 1228
    functionName: pcpp::GtpV2Layer::addInformationElementAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - GtpV2InformationElement
    - static_cast<int>
    - auto::getRecordBasePtr
    - PCPP_LOG_ERROR
    - auto::getTotalSize
    - pcpp::GtpV2Layer::addInformationElementAt
    - pcpp::GtpV2Layer::getInformationElement
    - auto::isNull
    linkageType: ''
    returnType: GtpV2InformationElement
    signature: "GtpV2InformationElement GtpV2Layer::addInformationElementAfter(\n\t
      \   const GtpV2InformationElementBuilder& infoElementBuilder, GtpV2InformationElement::Type
      infoElementType)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getInformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1232,1
    - Dst: auto::isNull
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1233,1
    - Dst: auto::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1238,1
    - Dst: auto::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1240,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1241,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1246,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1246,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1246,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1246,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - infoElementType
    argTypes:
    - GtpV2InformationElement::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1249
    functionName: pcpp::GtpV2Layer::removeInformationElement
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::GtpV2Layer::getHeader
    - auto::getRecordBasePtr
    - be16toh
    - auto::getTotalSize
    - shortenLayer
    - pcpp::GtpV2Layer::getInformationElement
    - auto::isNull
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool GtpV2Layer::removeInformationElement(GtpV2InformationElement::Type
      infoElementType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getFirstInformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1253,1
    - Dst: auto::isNull
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1254,1
    - Dst: auto::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1259,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1261,1
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1261,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1266,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1266,1
    - Dst: pcpp::GtpV2Layer::getInformationElementCount
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1251
    functionDepth: 2
    functionLinenumber: 1251
    functionLinenumberEnd: 1268
    functionName: pcpp::GtpV2Layer::removeAllInformationElements
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - auto::getRecordBasePtr
    - static_cast<int>
    - shortenLayer
    - pcpp::GtpV2Layer::getHeaderLen
    - pcpp::GtpV2Layer::getInformationElementCount
    - pcpp::GtpV2Layer::getFirstInformationElement
    - auto::isNull
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool GtpV2Layer::removeAllInformationElements()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1273,1
    - Dst: auto::isNull
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1275,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1277,1
    - Dst: auto::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1281,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1283,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1285,1
    - Dst: auto::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1286,1
    - Dst: GtpV2InformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1287,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1290,1
    - Dst: auto::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1290,1
    - Dst: auto::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1290,1
    - Dst: pcpp::GtpV2Layer::getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1292,1
    - Dst: auto::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1292,1
    - Dst: auto::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1294,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1296,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1298,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1298,1
    - Dst: GtpV2InformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' infoElementBuilder'
    - offset
    argTypes:
    - GtpV2InformationElementBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1303
    functionName: pcpp::GtpV2Layer::addInformationElementAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - htobe16
    - GtpV2InformationElement
    - auto::getRecordBasePtr
    - pcpp::GtpV2Layer::getMessageLength
    - PCPP_LOG_ERROR
    - auto::purgeRecordData
    - auto::getTotalSize
    - memcpy
    - build
    - pcpp::GtpV2Layer::getHeader
    - auto::isNull
    - changeTLVRecordCount
    linkageType: ''
    returnType: GtpV2InformationElement
    signature: "GtpV2InformationElement GtpV2Layer::addInformationElementAt(\n\t    const
      GtpV2InformationElementBuilder& infoElementBuilder, int offset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1307,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1316,1
    - Dst: tryConstructNextLayerWithFallback<GtpV2Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1318,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1324
    functionName: pcpp::GtpV2Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - pcpp::GtpV2Layer::getHeader
    - pcpp::GtpV2Layer::getHeaderLen
    - tryConstructNextLayerWithFallback<GtpV2Layer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::parseNextLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1328,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1335
    functionName: pcpp::GtpV2Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 7
    functionsReached:
    - be16toh
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: size_t
    signature: size_t GtpV2Layer::getHeaderLen() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1344,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1346,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1352
    functionName: pcpp::GtpV2Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2Layer::getHeader
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1354
    functionDepth: 3
    functionLinenumber: 1354
    functionLinenumberEnd: 1357
    functionName: pcpp::GtpV2Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2Layer::getMessageType
    linkageType: ''
    returnType: std::string
    signature: std::string GtpV2Layer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1368
    functionName: pcpp::GtpV2Layer::getIEBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 4
    functionsReached:
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GtpV2Layer::getIEBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: GtpV1Layer::GtpExtension::GtpExtension()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer::GtpExtension::GtpExtension()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - dataLen
    - type
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: GtpV1Layer::GtpExtension::GtpExtension(uint8_t* data, size_t dataLen,
      uint8_t type)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer::GtpExtension::GtpExtension(uint8_t* data, size_t dataLen,
      uint8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GtpExtension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: GtpV1Layer::GtpExtension::GtpExtension(const GtpExtension& other)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer::GtpExtension::GtpExtension(const GtpExtension& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GtpV1Layer::GtpExtension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: '& GtpV1Layer::GtpExtension::operator=(const GtpV1Layer::GtpExtension&
      other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GtpV1Layer::GtpExtension
    signature: GtpV1Layer::GtpExtension & GtpV1Layer::GtpExtension::operator=(const
      GtpV1Layer::GtpExtension& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: GtpV1Layer::GtpExtension::isNull() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::GtpExtension::isNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: GtpV1Layer::GtpExtension::getExtensionType() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GtpV1Layer::GtpExtension::getExtensionType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: GtpV1Layer::GtpExtension::getTotalLength() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GtpV1Layer::GtpExtension::getTotalLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: GtpV1Layer::GtpExtension::getContentLength() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getTotalLength
    linkageType: ''
    returnType: size_t
    signature: size_t GtpV1Layer::GtpExtension::getContentLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getContentLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: '* GtpV1Layer::GtpExtension::getContent() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getContentLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GtpV1Layer::GtpExtension::getContent() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:100,1
    - Dst: getContentLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: GtpV1Layer::GtpExtension::getNextExtensionHeaderType() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getTotalLength
    - getContentLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GtpV1Layer::GtpExtension::getNextExtensionHeaderType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:112,1
    - Dst: getNextExtensionHeaderType
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: GtpV1Layer::GtpExtension::getNextExtension() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getTotalLength
    - getNextExtensionHeaderType
    linkageType: ''
    returnType: GtpV1Layer::GtpExtension
    signature: GtpV1Layer::GtpExtension GtpV1Layer::GtpExtension::getNextExtension()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - nextHeaderType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: GtpV1Layer::GtpExtension::setNextHeaderType(uint8_t nextHeaderType)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getTotalLength
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer::GtpExtension::setNextHeaderType(uint8_t nextHeaderType)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - data
    - dataLen
    - extType
    - content
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: "GtpV1Layer::GtpExtension::createGtpExtension(uint8_t* data, size_t
      dataLen,\n\t                                                                      uint8_t
      extType, uint16_t content)"
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GtpV1Layer::GtpExtension
    signature: "GtpV1Layer::GtpExtension GtpV1Layer::GtpExtension::createGtpExtension(uint8_t*
      data, size_t dataLen,\n\t                                                                      uint8_t
      extType, uint16_t content)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::init
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - messageType
    - teid
    argTypes:
    - GtpV1MessageType
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: pcpp::GtpV1Layer::GtpV1Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::init
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer::GtpV1Layer(GtpV1MessageType messageType, uint32_t
      teid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::init
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - messageType
    - teid
    - setSeqNum
    - seqNum
    - setNpduNum
    - npduNum
    argTypes:
    - GtpV1MessageType
    - uint32_t
    - bool
    - uint16_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: pcpp::GtpV1Layer::GtpV1Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::init
    linkageType: ''
    returnType: void
    signature: "void GtpV1Layer::GtpV1Layer(GtpV1MessageType messageType, uint32_t
      teid, bool setSeqNum, uint16_t seqNum,\n\t                       bool setNpduNum,
      uint8_t npduNum)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:172,1
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:175,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:179,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:183,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:184,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - messageType
    - teid
    - setSeqNum
    - seqNum
    - setNpduNum
    - npduNum
    argTypes:
    - GtpV1MessageType
    - uint32_t
    - bool
    - uint16_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 197
    functionName: pcpp::GtpV1Layer::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 4
    functionsReached:
    - htobe16
    - pcpp::GtpV1Layer::getHeaderExtra
    - htobe32
    - allocData
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: void
    signature: "void GtpV1Layer::init(GtpV1MessageType messageType, uint32_t teid,
      bool setSeqNum, uint16_t seqNum, bool setNpduNum,\n\t                      uint8_t
      npduNum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 207
    functionName: pcpp::GtpV1Layer::isGTPv1
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::isGTPv1(const uint8_t* data, size_t dataSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: pcpp::GtpV1Layer::getHeaderExtra
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: GtpV1Layer::gtpv1_header_extra
    signature: GtpV1Layer::gtpv1_header_extra * GtpV1Layer::getHeaderExtra() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:221,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:222,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' seqNumber'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: pcpp::GtpV1Layer::getSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::GtpV1Layer::getHeaderExtra
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::getSequenceNumber(uint16_t& seqNumber) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:235,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:238,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:245,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:247,1
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:250,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:254,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:257,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:263,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:266,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - seqNumber
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 269
    functionName: pcpp::GtpV1Layer::setSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - htobe16
    - pcpp::GtpV1Layer::getHeaderExtra
    - PCPP_LOG_ERROR
    - be16toh
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::setSequenceNumber(const uint16_t seqNumber)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:273,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' npduNum'
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: pcpp::GtpV1Layer::getNpduNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::getHeaderExtra
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::getNpduNumber(uint8_t& npduNum) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:287,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:290,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:297,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:299,1
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:302,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:306,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:309,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:318,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - npduNum
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 321
    functionName: pcpp::GtpV1Layer::setNpduNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - htobe16
    - pcpp::GtpV1Layer::getHeaderExtra
    - PCPP_LOG_ERROR
    - be16toh
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::setNpduNumber(const uint8_t npduNum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:325,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ' nextExtType'
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 334
    functionName: pcpp::GtpV1Layer::getNextExtensionHeaderType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::GtpV1Layer::getHeaderExtra
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::getNextExtensionHeaderType(uint8_t& nextExtType) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getNextExtensionHeaderType
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: pcpp::GtpV1Layer::getNextExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::GtpV1Layer::getNextExtensionHeaderType
    linkageType: ''
    returnType: GtpV1Layer::GtpExtension
    signature: GtpV1Layer::GtpExtension GtpV1Layer::getNextExtension() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:352,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:355,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:364,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:366,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:372,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:375,1
    - Dst: pcpp::GtpV1Layer::getNextExtension
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:382,1
    - Dst: GtpV1Layer::GtpExtension::getNextExtension
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:385,1
    - Dst: GtpV1Layer::GtpExtension::getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:388,1
    - Dst: GtpV1Layer::GtpExtension::getNextExtension
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:389,1
    - Dst: GtpV1Layer::GtpExtension::isNull
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:393,1
    - Dst: GtpV1Layer::GtpExtension::getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:396,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:400,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:402,1
    - Dst: GtpV1Layer::GtpExtension::isNull
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:407,1
    - Dst: GtpV1Layer::GtpExtension::setNextHeaderType
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:410,1
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:415,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:416,1
    - Dst: GtpV1Layer::GtpExtension::createGtpExtension
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - extensionType
    - extensionContent
    argTypes:
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 425
    functionName: pcpp::GtpV1Layer::addExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - GtpV1Layer::GtpExtension::createGtpExtension
    - GtpV1Layer::GtpExtension::getTotalLength
    - pcpp::GtpV1Layer::getHeaderExtra
    - PCPP_LOG_ERROR
    - pcpp::GtpV1Layer::getHeader
    - GtpV1Layer::GtpExtension::setNextHeaderType
    - GtpV1Layer::GtpExtension::isNull
    - GtpV1Layer::GtpExtension::getNextExtension
    - pcpp::GtpV1Layer::getNextExtension
    linkageType: ''
    returnType: GtpV1Layer::GtpExtension
    signature: GtpV1Layer::GtpExtension GtpV1Layer::addExtension(uint8_t extensionType,
      uint16_t extensionContent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: pcpp::GtpV1Layer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: GtpV1MessageType
    signature: GtpV1MessageType GtpV1Layer::getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 514
    functionName: pcpp::createGtpV1MessageTypeToStringMap
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<uint8_t, std::string>
    signature: std::unordered_map<uint8_t, std::string> createGtpV1MessageTypeToStringMap()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:520,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:524,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:527,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:528,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 536
    functionName: pcpp::GtpV1Layer::getMessageTypeAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: std::string
    signature: std::string GtpV1Layer::getMessageTypeAsString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 547
    functionName: pcpp::GtpV1Layer::isGTPUMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::isGTPUMessage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: pcpp::GtpV1Layer::isGTPCMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV1Layer::isGTPCMessage() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:562,1
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:569,1
    - Dst: static_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:584,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:590,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:594,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:598,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 560
    functionDepth: 4
    functionLinenumber: 560
    functionLinenumberEnd: 600
    functionName: pcpp::GtpV1Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - static_cast<uint8_t*>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - pcpp::GtpV1Layer::getHeaderLen
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer::parseNextLayer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:604,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:614,1
    - Dst: pcpp::GtpV1Layer::getHeaderExtra
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:619,1
    - Dst: pcpp::GtpV1Layer::getNextExtension
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:624,1
    - Dst: GtpExtension::isNull
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:625,1
    - Dst: GtpExtension::getTotalLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:627,1
    - Dst: GtpExtension::getNextExtension
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:628,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 602
    functionDepth: 3
    functionLinenumber: 602
    functionLinenumberEnd: 634
    functionName: pcpp::GtpV1Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 2
    functionsReached:
    - GtpExtension::getTotalLength
    - GtpExtension::getNextExtension
    - GtpExtension::isNull
    - pcpp::GtpV1Layer::getHeaderExtra
    - be16toh
    - pcpp::GtpV1Layer::getHeader
    - pcpp::GtpV1Layer::getNextExtension
    linkageType: ''
    returnType: size_t
    signature: size_t GtpV1Layer::getHeaderLen() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:640,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:644,1
    - Dst: pcpp::GtpV1Layer::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:653,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 660
    functionName: pcpp::GtpV1Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV1Layer::getMessageTypeAsString
    - be32toh
    - std::stringstream::str
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: std::string
    signature: std::string GtpV1Layer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV1Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:664,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 671
    functionName: pcpp::GtpV1Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::GtpV1Layer::getHeader
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' messageType'
    argTypes:
    - GtpV2MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: operator()(const GtpV2MessageType& messageType) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const GtpV2MessageType& messageType) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:772,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 779
    functionName: pcpp::GtpV2MessageType::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string GtpV2MessageType::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:870,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 877
    functionName: pcpp::GtpV2MessageType::fromUintValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: GtpV2MessageType
    signature: GtpV2MessageType GtpV2MessageType::fromUintValue(uint8_t value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<GtpV2InformationElement::Type>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:897,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 898
    functionName: pcpp::GtpV2InformationElement::getIEType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<GtpV2InformationElement::Type>
    linkageType: ''
    returnType: GtpV2InformationElement::Type
    signature: GtpV2InformationElement::Type GtpV2InformationElement::getIEType()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 908
    functionName: pcpp::GtpV2InformationElement::getCRFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GtpV2InformationElement::getCRFlag()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 918
    functionName: pcpp::GtpV2InformationElement::getInstance
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t GtpV2InformationElement::getInstance()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getDataSize
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 928
    functionName: pcpp::GtpV2InformationElement::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getDataSize
    linkageType: ''
    returnType: size_t
    signature: size_t GtpV2InformationElement::getTotalSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:937,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 938
    functionName: pcpp::GtpV2InformationElement::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t GtpV2InformationElement::getDataSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:948,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:948,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:949,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - infoElementType
    - ' crFlag'
    - ' instance'
    - ' infoElementValue'
    argTypes:
    - GtpV2InformationElement::Type
    - std::bitset<4>
    - std::bitset<4>
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: pcpp::GtpV2InformationElementBuilder::GtpV2InformationElementBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - data
    - static_cast<uint8_t>
    - size
    linkageType: ''
    returnType: void
    signature: "void GtpV2InformationElementBuilder::GtpV2InformationElementBuilder(GtpV2InformationElement::Type
      infoElementType,\n\t                                                               const
      std::bitset<4>& crFlag,\n\t                                                               const
      std::bitset<4>& instance,\n\t                                                               const
      std::vector<uint8_t>& infoElementValue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GtpV2InformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:957,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:962,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:963,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:964,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:965,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:966,1
    - Dst: to_ulong
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:966,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:967,1
    - Dst: to_ulong
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:967,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:971,1
    - Dst: GtpV2InformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 975
    functionName: pcpp::GtpV2InformationElementBuilder::build
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<uint8_t>
    - GtpV2InformationElement
    - memcpy
    - to_ulong
    - uint8_t::uint8_t
    linkageType: ''
    returnType: GtpV2InformationElement
    signature: GtpV2InformationElement GtpV2InformationElementBuilder::build() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:986,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:988,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:992,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:993,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:998,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:999,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1003,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1004,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1009,1
    - Dst: std::bitset<4>::to_ulong
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 6
    argNames:
    - messageType
    - sequenceNumber
    - setTeid
    - teid
    - setMessagePriority
    - messagePriority
    argTypes:
    - GtpV2MessageType
    - uint32_t
    - bool
    - uint32_t
    - bool
    - std::bitset<4>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 1014
    functionName: pcpp::GtpV2Layer::GtpV2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - std::bitset<4>::to_ulong
    - static_cast<uint8_t>
    - htobe32
    - allocData
    - memcpy
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: void
    signature: "void GtpV2Layer::GtpV2Layer(GtpV2MessageType messageType, uint32_t
      sequenceNumber, bool setTeid, uint32_t teid,\n\t                       bool
      setMessagePriority, std::bitset<4> messagePriority)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const gtpv2_basic_header*>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1023,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1039
    functionName: pcpp::GtpV2Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const gtpv2_basic_header*>
    linkageType: ''
    returnType: bool
    signature: bool GtpV2Layer::isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2MessageType::fromUintValue
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1043,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1044
    functionName: pcpp::GtpV2Layer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::GtpV2MessageType::fromUintValue
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: GtpV2MessageType
    signature: GtpV2MessageType GtpV2Layer::getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' type'
    argTypes:
    - GtpV2MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1049
    functionName: pcpp::GtpV2Layer::setMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::setMessageType(const GtpV2MessageType& type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1053,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1054
    functionName: pcpp::GtpV2Layer::getMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t GtpV2Layer::getMessageLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1059
    functionName: pcpp::GtpV2Layer::isPiggybacking
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: bool
    signature: bool GtpV2Layer::isPiggybacking() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1063,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1068,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1069
    functionName: pcpp::GtpV2Layer::getTeid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - reinterpret_cast<uint32_t*>
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: std::pair<bool, uint32_t>
    signature: std::pair<bool, uint32_t> GtpV2Layer::getTeid() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1073,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1078,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1078,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1080,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1083,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1084,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1084,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1087,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - teid
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1090
    functionName: pcpp::GtpV2Layer::setTeid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - htobe16
    - static_cast<int>
    - reinterpret_cast<uint32_t*>
    - PCPP_LOG_ERROR
    - htobe32
    - be16toh
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::setTeid(uint32_t teid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1094,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1102,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1102,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1104,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1108,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1109,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1111
    functionName: pcpp::GtpV2Layer::unsetTeid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - static_cast<int>
    - PCPP_LOG_ERROR
    - be16toh
    - shortenLayer
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::unsetTeid()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1116,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1121,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1122
    functionName: pcpp::GtpV2Layer::getSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - reinterpret_cast<uint32_t*>
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GtpV2Layer::getSequenceNumber() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1127,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1132,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sequenceNumber
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1124
    functionDepth: 1
    functionLinenumber: 1124
    functionLinenumberEnd: 1134
    functionName: pcpp::GtpV2Layer::setSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::GtpV2Layer::getHeader
    - htobe32
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::setSequenceNumber(uint32_t sequenceNumber)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1152
    functionName: pcpp::GtpV2Layer::getMessagePriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: std::pair<bool, uint8_t>
    signature: std::pair<bool, uint8_t> GtpV2Layer::getMessagePriority() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1156,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1166,1
    - Dst: to_ulong
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' messagePriority'
    argTypes:
    - std::bitset<4>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1168
    functionName: pcpp::GtpV2Layer::setMessagePriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - to_ulong
    - pcpp::GtpV2Layer::getHeader
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::setMessagePriority(const std::bitset<4>& messagePriority)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1183
    functionName: pcpp::GtpV2Layer::unsetMessagePriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::unsetMessagePriority()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getIEBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1187,1
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1188,1
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1189
    functionName: pcpp::GtpV2Layer::getFirstInformationElement
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 1
    functionsReached:
    - getFirstTLVRecord
    - pcpp::GtpV2Layer::getHeaderLen
    - pcpp::GtpV2Layer::getIEBasePtr
    linkageType: ''
    returnType: GtpV2InformationElement
    signature: GtpV2InformationElement GtpV2Layer::getFirstInformationElement() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getIEBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1193,1
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1194,1
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infoElement
    argTypes:
    - GtpV2InformationElement
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1195
    functionName: pcpp::GtpV2Layer::getNextInformationElement
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getNextTLVRecord
    - pcpp::GtpV2Layer::getHeaderLen
    - pcpp::GtpV2Layer::getIEBasePtr
    linkageType: ''
    returnType: GtpV2InformationElement
    signature: GtpV2InformationElement GtpV2Layer::getNextInformationElement(GtpV2InformationElement
      infoElement) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getIEBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1199,1
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1200,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1200,1
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - infoElementType
    argTypes:
    - GtpV2InformationElement::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1197
    functionDepth: 2
    functionLinenumber: 1197
    functionLinenumberEnd: 1202
    functionName: pcpp::GtpV2Layer::getInformationElement
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint32_t>
    - pcpp::GtpV2Layer::getHeaderLen
    - getTLVRecord
    - pcpp::GtpV2Layer::getIEBasePtr
    linkageType: ''
    returnType: GtpV2InformationElement
    signature: GtpV2InformationElement GtpV2Layer::getInformationElement(GtpV2InformationElement::Type
      infoElementType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getIEBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1206,1
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1207,1
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1204
    functionDepth: 2
    functionLinenumber: 1204
    functionLinenumberEnd: 1208
    functionName: pcpp::GtpV2Layer::getInformationElementCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 1
    functionsReached:
    - getTLVRecordCount
    - pcpp::GtpV2Layer::getHeaderLen
    - pcpp::GtpV2Layer::getIEBasePtr
    linkageType: ''
    returnType: size_t
    signature: size_t GtpV2Layer::getInformationElementCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::addInformationElementAt
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1212,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1212,1
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' infoElementBuilder'
    argTypes:
    - GtpV2InformationElementBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1210
    functionDepth: 3
    functionLinenumber: 1210
    functionLinenumberEnd: 1213
    functionName: pcpp::GtpV2Layer::addInformationElement
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2Layer::addInformationElementAt
    - static_cast<int>
    - pcpp::GtpV2Layer::getHeaderLen
    linkageType: ''
    returnType: GtpV2InformationElement
    signature: GtpV2InformationElement GtpV2Layer::addInformationElement(const GtpV2InformationElementBuilder&
      infoElementBuilder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getInformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1218,1
    - Dst: auto::isNull
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1220,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1222,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1222,1
    - Dst: GtpV2InformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1224,1
    - Dst: auto::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1226,1
    - Dst: auto::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1226,1
    - Dst: pcpp::GtpV2Layer::addInformationElementAt
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' infoElementBuilder'
    - infoElementType
    argTypes:
    - GtpV2InformationElementBuilder
    - GtpV2InformationElement::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1215
    functionDepth: 3
    functionLinenumber: 1215
    functionLinenumberEnd: 1228
    functionName: pcpp::GtpV2Layer::addInformationElementAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - GtpV2InformationElement
    - static_cast<int>
    - auto::getRecordBasePtr
    - PCPP_LOG_ERROR
    - auto::getTotalSize
    - pcpp::GtpV2Layer::addInformationElementAt
    - pcpp::GtpV2Layer::getInformationElement
    - auto::isNull
    linkageType: ''
    returnType: GtpV2InformationElement
    signature: "GtpV2InformationElement GtpV2Layer::addInformationElementAfter(\n\t
      \   const GtpV2InformationElementBuilder& infoElementBuilder, GtpV2InformationElement::Type
      infoElementType)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getInformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1232,1
    - Dst: auto::isNull
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1233,1
    - Dst: auto::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1238,1
    - Dst: auto::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1240,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1241,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1246,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1246,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1246,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1246,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - infoElementType
    argTypes:
    - GtpV2InformationElement::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1249
    functionName: pcpp::GtpV2Layer::removeInformationElement
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::GtpV2Layer::getHeader
    - auto::getRecordBasePtr
    - be16toh
    - auto::getTotalSize
    - shortenLayer
    - pcpp::GtpV2Layer::getInformationElement
    - auto::isNull
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool GtpV2Layer::removeInformationElement(GtpV2InformationElement::Type
      infoElementType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getFirstInformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1253,1
    - Dst: auto::isNull
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1254,1
    - Dst: auto::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1259,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1261,1
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1261,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1266,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1266,1
    - Dst: pcpp::GtpV2Layer::getInformationElementCount
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1251
    functionDepth: 2
    functionLinenumber: 1251
    functionLinenumberEnd: 1268
    functionName: pcpp::GtpV2Layer::removeAllInformationElements
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - auto::getRecordBasePtr
    - static_cast<int>
    - shortenLayer
    - pcpp::GtpV2Layer::getHeaderLen
    - pcpp::GtpV2Layer::getInformationElementCount
    - pcpp::GtpV2Layer::getFirstInformationElement
    - auto::isNull
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool GtpV2Layer::removeAllInformationElements()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1273,1
    - Dst: auto::isNull
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1275,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1277,1
    - Dst: auto::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1281,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1283,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1285,1
    - Dst: auto::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1286,1
    - Dst: GtpV2InformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1287,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1290,1
    - Dst: auto::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1290,1
    - Dst: auto::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1290,1
    - Dst: pcpp::GtpV2Layer::getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1292,1
    - Dst: auto::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1292,1
    - Dst: auto::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1294,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1296,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1298,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1298,1
    - Dst: GtpV2InformationElement
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' infoElementBuilder'
    - offset
    argTypes:
    - GtpV2InformationElementBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1303
    functionName: pcpp::GtpV2Layer::addInformationElementAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 4
    functionsReached:
    - extendLayer
    - htobe16
    - GtpV2InformationElement
    - auto::getRecordBasePtr
    - pcpp::GtpV2Layer::getMessageLength
    - PCPP_LOG_ERROR
    - auto::purgeRecordData
    - auto::getTotalSize
    - memcpy
    - build
    - pcpp::GtpV2Layer::getHeader
    - auto::isNull
    - changeTLVRecordCount
    linkageType: ''
    returnType: GtpV2InformationElement
    signature: "GtpV2InformationElement GtpV2Layer::addInformationElementAt(\n\t    const
      GtpV2InformationElementBuilder& infoElementBuilder, int offset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1307,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1316,1
    - Dst: tryConstructNextLayerWithFallback<GtpV2Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1318,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1305
    functionDepth: 2
    functionLinenumber: 1305
    functionLinenumberEnd: 1324
    functionName: pcpp::GtpV2Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - pcpp::GtpV2Layer::getHeader
    - pcpp::GtpV2Layer::getHeaderLen
    - tryConstructNextLayerWithFallback<GtpV2Layer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::parseNextLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1328,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1335
    functionName: pcpp::GtpV2Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 14
    functionsReached:
    - be16toh
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: size_t
    signature: size_t GtpV2Layer::getHeaderLen() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1344,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1346,1
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1352
    functionName: pcpp::GtpV2Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2Layer::getHeader
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1354
    functionDepth: 3
    functionLinenumber: 1354
    functionLinenumberEnd: 1357
    functionName: pcpp::GtpV2Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2Layer::getMessageType
    linkageType: ''
    returnType: std::string
    signature: std::string GtpV2Layer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2Layer::getHeader
      Src: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp:1362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1368
    functionName: pcpp::GtpV2Layer::getIEBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    functionUses: 8
    functionsReached:
    - pcpp::GtpV2Layer::getHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GtpV2Layer::getIEBasePtr() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:32,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:33,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:41,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - optionType
    - ' ipList'
    argTypes:
    - IPv4OptionTypes
    - std::vector<IPv4Address>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - memcpy
    - uint8_t::uint8_t
    - size
    linkageType: ''
    returnType: void
    signature: void IPv4OptionBuilder::IPv4OptionBuilder(IPv4OptionTypes optionType,
      const std::vector<IPv4Address>& ipList)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:64,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:71,1
    - Dst: timestamps::size
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:78,1
    - Dst: ipAddresses::size
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:78,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:80,1
    - Dst: timestamps::size
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:86,1
    - Dst: timestamps::size
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:90,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:93,1
    - Dst: timestamps::size
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:100,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:102,1
    - Dst: timestamps::at
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:102,1
    - Dst: ipAddresses::at
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:110,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:111,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - ' timestampValue'
    argTypes:
    - IPv4TimestampOptionValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 130
    functionName: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - htobe32
    - memcpy
    - timestamps::size
    - timestamps::at
    - ipAddresses::at
    - uint8_t::uint8_t
    - ipAddresses::size
    linkageType: ''
    returnType: void
    signature: void IPv4OptionBuilder::IPv4OptionBuilder(const IPv4TimestampOptionValue&
      timestampValue)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Option
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:135,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:139,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:144,1
    - Dst: IPv4Option
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:147,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:153,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:154,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:158,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:160,1
    - Dst: IPv4Option
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 164
    functionName: pcpp::IPv4OptionBuilder::build
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - IPv4Option
    - static_cast<uint8_t>
    - PCPP_LOG_ERROR
    - memcpy
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: IPv4Option
    signature: IPv4Option IPv4OptionBuilder::build() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:172,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: pcpp::IPv4Layer::initLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    - allocData
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::initLayer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:187,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:187,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - setTotalLenAsDataLen
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: pcpp::IPv4Layer::initLayerInPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::IPv4Layer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::initLayerInPacket(bool setTotalLenAsDataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: pcpp::IPv4Layer::copyLayerData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::copyLayerData(const IPv4Layer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: pcpp::IPv4Layer::IPv4Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::initLayer
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::IPv4Layer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::initLayerInPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - setTotalLenAsDataLen
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: pcpp::IPv4Layer::IPv4Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::initLayerInPacket
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::IPv4Layer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet, bool setTotalLenAsDataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::initLayerInPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: pcpp::IPv4Layer::IPv4Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::initLayerInPacket
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::IPv4Layer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:225,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:226,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:227,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' srcIP'
    - ' dstIP'
    argTypes:
    - IPv4Address
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: pcpp::IPv4Layer::IPv4Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    - toInt
    - pcpp::IPv4Layer::initLayer
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::IPv4Layer(const IPv4Address& srcIP, const IPv4Address&
      dstIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::copyLayerData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: pcpp::IPv4Layer::IPv4Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::copyLayerData
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::IPv4Layer(const IPv4Layer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layer::operator=
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:238,1
    - Dst: copyLayerData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: '& IPv4Layer::operator=(const IPv4Layer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - copyLayerData
    - Layer::operator=
    linkageType: ''
    returnType: IPv4Layer
    signature: IPv4Layer & IPv4Layer::operator=(const IPv4Layer& other)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:247,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:251,1
    - Dst: pcpp::IPv4Layer::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:258,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:260,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:260,1
    - Dst: tryConstructNextLayerWithFallback<UdpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:267,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:267,1
    - Dst: tryConstructNextLayerWithFallback<TcpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:270,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:270,1
    - Dst: tryConstructNextLayerWithFallback<IcmpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:273,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:273,1
    - Dst: pcpp::IPLayer::getIPVersion
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:278,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:281,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:281,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:284,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:284,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:287,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:287,1
    - Dst: pcpp::GreLayer::getGREVersion
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:294,1
    - Dst: tryConstructNextLayerWithFallback<GREv0Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:297,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:297,1
    - Dst: tryConstructNextLayerWithFallback<GREv1Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:300,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:300,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:303,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:303,1
    - Dst: pcpp::IgmpLayer::getIGMPVerFromData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:311,1
    - Dst: std::min<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:312,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:312,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:312,1
    - Dst: tryConstructNextLayerWithFallback<IgmpV1Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:317,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:317,1
    - Dst: tryConstructNextLayerWithFallback<IgmpV2Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:320,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:320,1
    - Dst: tryConstructNextLayerWithFallback<IgmpV3QueryLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:325,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:326,1
    - Dst: tryConstructNextLayerWithFallback<IgmpV3ReportLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:328,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:329,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:333,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:333,1
    - Dst: tryConstructNextLayerWithFallback<AuthenticationHeaderLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:339,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:340,1
    - Dst: tryConstructNextLayerWithFallback<ESPLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:343,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:343,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:346,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:346,1
    - Dst: pcpp::VrrpLayer::getVersionFromData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:350,1
    - Dst: tryConstructNextLayerWithFallback<VrrpV2Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:353,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:353,1
    - Dst: tryConstructNextLayerWithFallback<VrrpV3Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:356,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:356,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:360,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:360,1
    - Dst: hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:368,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:369,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:369,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 370
    functionName: pcpp::IPv4Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getHeaderLen
    - std::min<size_t>
    - tryConstructNextLayerWithFallback<VrrpV2Layer, PayloadLayer>
    - pcpp::IgmpLayer::getIGMPVerFromData
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<VrrpV3Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<IcmpLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<IgmpV3ReportLayer, PayloadLayer>
    - getAttachedPacket
    - pcpp::VrrpLayer::getVersionFromData
    - tryConstructNextLayerWithFallback<IgmpV1Layer, PayloadLayer>
    - pcpp::IPLayer::getIPVersion
    - pcpp::IPv4Layer::isFragment
    - tryConstructNextLayerWithFallback<IgmpV3QueryLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<AuthenticationHeaderLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<GREv1Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<IgmpV2Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<UdpLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<TcpLayer, PayloadLayer>
    - be16toh
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<GREv0Layer, PayloadLayer>
    - hasNextLayer
    - pcpp::IPv4Layer::getIPv4Header
    - tryConstructNextLayerWithFallback<ESPLayer, PayloadLayer>
    - pcpp::GreLayer::getGREVersion
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::parseNextLayer()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:374,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:376,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:381,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:410,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:411,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:412,1
    - Dst: computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:412,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 413
    functionName: pcpp::IPv4Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - getProtocol
    - static_cast<size_t>
    - reinterpret_cast<uint16_t*>
    - computeChecksum
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getFragmentFlags
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:417,1
    - Dst: pcpp::IPv4Layer::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: pcpp::IPv4Layer::isFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4Layer::getFragmentFlags
    - pcpp::IPv4Layer::getFragmentOffset
    linkageType: ''
    returnType: bool
    signature: bool IPv4Layer::isFragment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:422,1
    - Dst: pcpp::IPv4Layer::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: pcpp::IPv4Layer::isFirstFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::isFragment
    - pcpp::IPv4Layer::getFragmentOffset
    linkageType: ''
    returnType: bool
    signature: bool IPv4Layer::isFirstFragment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:427,1
    - Dst: pcpp::IPv4Layer::getFragmentFlags
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: pcpp::IPv4Layer::isLastFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getFragmentFlags
    - pcpp::IPv4Layer::isFragment
    linkageType: ''
    returnType: bool
    signature: bool IPv4Layer::isLastFragment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: pcpp::IPv4Layer::getFragmentFlags
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t IPv4Layer::getFragmentFlags() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:437,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: pcpp::IPv4Layer::getFragmentOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t IPv4Layer::getFragmentOffset() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:443,1
    - Dst: pcpp::IPv4Layer::isFirstFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:445,1
    - Dst: pcpp::IPv4Layer::isLastFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:447,1
    - Dst: pcpp::IPv4Layer::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:453,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:454,1
    - Dst: pcpp::IPv4Layer::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:457,1
    - Dst: pcpp::IPv4Layer::getDstIPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 459
    functionName: pcpp::IPv4Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::isLastFragment
    - std::stringstream::str
    - pcpp::IPv4Layer::isFragment
    - pcpp::IPv4Layer::getSrcIPv4Address
    - pcpp::IPv4Layer::getDstIPv4Address
    - pcpp::IPv4Layer::isFirstFragment
    - pcpp::IPv4Layer::getFragmentOffset
    linkageType: ''
    returnType: std::string
    signature: std::string IPv4Layer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:463,1
    - Dst: pcpp::IPv4Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:463,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - IPv4OptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: pcpp::IPv4Layer::getOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getOptionsBasePtr
    - getTLVRecord
    - pcpp::IPv4Layer::getHeaderLen
    linkageType: ''
    returnType: IPv4Option
    signature: IPv4Option IPv4Layer::getOption(IPv4OptionTypes option) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:468,1
    - Dst: pcpp::IPv4Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:468,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: pcpp::IPv4Layer::getFirstOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - pcpp::IPv4Layer::getOptionsBasePtr
    - pcpp::IPv4Layer::getHeaderLen
    linkageType: ''
    returnType: IPv4Option
    signature: IPv4Option IPv4Layer::getFirstOption() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:473,1
    - Dst: pcpp::IPv4Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:473,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - IPv4Option
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 474
    functionName: pcpp::IPv4Layer::getNextOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getOptionsBasePtr
    - getNextTLVRecord
    - pcpp::IPv4Layer::getHeaderLen
    linkageType: ''
    returnType: IPv4Option
    signature: IPv4Option IPv4Layer::getNextOption(IPv4Option& option) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:478,1
    - Dst: pcpp::IPv4Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:478,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: pcpp::IPv4Layer::getOptionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getOptionsBasePtr
    - getTLVRecordCount
    - pcpp::IPv4Layer::getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t IPv4Layer::getOptionCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:490,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:492,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - totalOptSize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 501
    functionName: pcpp::IPv4Layer::adjustOptionsTrailer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - pcpp::IPv4Layer::getIPv4Header
    - shortenLayer
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::adjustOptionsTrailer(size_t totalOptSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:505,1
    - Dst: IPv4Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:506,1
    - Dst: IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:509,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:511,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:515,1
    - Dst: IPv4Option::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:517,1
    - Dst: IPv4Option
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:518,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:521,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:523,1
    - Dst: IPv4Option::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:524,1
    - Dst: IPv4Option
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:525,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:528,1
    - Dst: IPv4Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:528,1
    - Dst: IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:528,1
    - Dst: IPv4Option::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:530,1
    - Dst: pcpp::IPv4Layer::adjustOptionsTrailer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:536,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:541,1
    - Dst: IPv4Option
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ' optionBuilder'
    - offset
    argTypes:
    - IPv4OptionBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 546
    functionName: pcpp::IPv4Layer::addOptionAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - IPv4Option::getTotalSize
    - IPv4Option
    - IPv4Option::isNull
    - pcpp::IPv4Layer::getHeaderLen
    - PCPP_LOG_ERROR
    - IPv4Option::purgeRecordData
    - memcpy
    - IPv4Option::getRecordBasePtr
    - build
    - pcpp::IPv4Layer::adjustOptionsTrailer
    - changeTLVRecordCount
    linkageType: ''
    returnType: IPv4Option
    signature: IPv4Option IPv4Layer::addOptionAt(const IPv4OptionBuilder& optionBuilder,
      int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::addOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:550,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' optionBuilder'
    argTypes:
    - IPv4OptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: pcpp::IPv4Layer::addOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::addOptionAt
    - pcpp::IPv4Layer::getHeaderLen
    linkageType: ''
    returnType: IPv4Option
    signature: IPv4Option IPv4Layer::addOption(const IPv4OptionBuilder& optionBuilder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getOption
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:557,1
    - Dst: IPv4Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:559,1
    - Dst: IPv4Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:565,1
    - Dst: IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:565,1
    - Dst: pcpp::IPv4Layer::addOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' optionBuilder'
    - prevOptionType
    argTypes:
    - IPv4OptionBuilder
    - IPv4OptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 569
    functionName: pcpp::IPv4Layer::addOptionAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::addOptionAt
    - IPv4Option::getTotalSize
    - IPv4Option::isNull
    - IPv4Option::getRecordBasePtr
    - pcpp::IPv4Layer::getOption
    linkageType: ''
    returnType: IPv4Option
    signature: IPv4Option IPv4Layer::addOptionAfter(const IPv4OptionBuilder& optionBuilder,
      IPv4OptionTypes prevOptionType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getOption
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:573,1
    - Dst: IPv4Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:574,1
    - Dst: pcpp::IPv4Layer::getFirstOption
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:580,1
    - Dst: IPv4Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:582,1
    - Dst: IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:584,1
    - Dst: pcpp::IPv4Layer::getNextOption
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:585,1
    - Dst: IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:587,1
    - Dst: IPv4Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:589,1
    - Dst: IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:591,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:592,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:594,1
    - Dst: pcpp::IPv4Layer::adjustOptionsTrailer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:602,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - option
    argTypes:
    - IPv4OptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 610
    functionName: pcpp::IPv4Layer::removeOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - IPv4Option::getTotalSize
    - pcpp::IPv4Layer::getFirstOption
    - IPv4Option::isNull
    - PCPP_LOG_ERROR
    - changeTLVRecordCount
    - pcpp::IPv4Layer::getNextOption
    - IPv4Option::getRecordBasePtr
    - shortenLayer
    - pcpp::IPv4Layer::adjustOptionsTrailer
    - pcpp::IPv4Layer::getOption
    linkageType: ''
    returnType: bool
    signature: bool IPv4Layer::removeOption(IPv4OptionTypes option)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:616,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:616,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:619,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:621,1
    - Dst: pcpp::IPv4Layer::getOptionCount
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 623
    functionName: pcpp::IPv4Layer::removeAllOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getHeaderLen
    - changeTLVRecordCount
    - shortenLayer
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::IPv4Layer::getOptionCount
    linkageType: ''
    returnType: bool
    signature: bool IPv4Layer::removeAllOptions()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:32,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:33,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:41,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - optionType
    - ' ipList'
    argTypes:
    - IPv4OptionTypes
    - std::vector<IPv4Address>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 54
    functionName: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - memcpy
    - uint8_t::uint8_t
    - size
    linkageType: ''
    returnType: void
    signature: void IPv4OptionBuilder::IPv4OptionBuilder(IPv4OptionTypes optionType,
      const std::vector<IPv4Address>& ipList)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:64,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:71,1
    - Dst: timestamps::size
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:78,1
    - Dst: ipAddresses::size
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:78,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:80,1
    - Dst: timestamps::size
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:86,1
    - Dst: timestamps::size
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:90,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:93,1
    - Dst: timestamps::size
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:100,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:102,1
    - Dst: timestamps::at
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:102,1
    - Dst: ipAddresses::at
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:110,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:111,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - ' timestampValue'
    argTypes:
    - IPv4TimestampOptionValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 130
    functionName: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - htobe32
    - memcpy
    - timestamps::size
    - timestamps::at
    - ipAddresses::at
    - uint8_t::uint8_t
    - ipAddresses::size
    linkageType: ''
    returnType: void
    signature: void IPv4OptionBuilder::IPv4OptionBuilder(const IPv4TimestampOptionValue&
      timestampValue)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Option
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:135,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:139,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:144,1
    - Dst: IPv4Option
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:147,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:153,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:154,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:158,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:160,1
    - Dst: IPv4Option
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 164
    functionName: pcpp::IPv4OptionBuilder::build
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - IPv4Option
    - static_cast<uint8_t>
    - PCPP_LOG_ERROR
    - memcpy
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: IPv4Option
    signature: IPv4Option IPv4OptionBuilder::build() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:172,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: pcpp::IPv4Layer::initLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    - allocData
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::initLayer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:187,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:187,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - setTotalLenAsDataLen
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: pcpp::IPv4Layer::initLayerInPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::IPv4Layer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::initLayerInPacket(bool setTotalLenAsDataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: pcpp::IPv4Layer::copyLayerData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::copyLayerData(const IPv4Layer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: pcpp::IPv4Layer::IPv4Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::initLayer
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::IPv4Layer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::initLayerInPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - setTotalLenAsDataLen
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: pcpp::IPv4Layer::IPv4Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::initLayerInPacket
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::IPv4Layer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet, bool setTotalLenAsDataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::initLayerInPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: pcpp::IPv4Layer::IPv4Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::initLayerInPacket
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::IPv4Layer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:225,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:226,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:227,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' srcIP'
    - ' dstIP'
    argTypes:
    - IPv4Address
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: pcpp::IPv4Layer::IPv4Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    - toInt
    - pcpp::IPv4Layer::initLayer
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::IPv4Layer(const IPv4Address& srcIP, const IPv4Address&
      dstIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::copyLayerData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: pcpp::IPv4Layer::IPv4Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::copyLayerData
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::IPv4Layer(const IPv4Layer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layer::operator=
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:238,1
    - Dst: copyLayerData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: '& IPv4Layer::operator=(const IPv4Layer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - copyLayerData
    - Layer::operator=
    linkageType: ''
    returnType: IPv4Layer
    signature: IPv4Layer & IPv4Layer::operator=(const IPv4Layer& other)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:247,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:251,1
    - Dst: pcpp::IPv4Layer::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:258,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:260,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:260,1
    - Dst: tryConstructNextLayerWithFallback<UdpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:267,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:267,1
    - Dst: tryConstructNextLayerWithFallback<TcpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:270,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:270,1
    - Dst: tryConstructNextLayerWithFallback<IcmpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:273,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:273,1
    - Dst: pcpp::IPLayer::getIPVersion
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:278,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:281,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:281,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:284,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:284,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:287,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:287,1
    - Dst: pcpp::GreLayer::getGREVersion
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:294,1
    - Dst: tryConstructNextLayerWithFallback<GREv0Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:297,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:297,1
    - Dst: tryConstructNextLayerWithFallback<GREv1Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:300,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:300,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:303,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:303,1
    - Dst: pcpp::IgmpLayer::getIGMPVerFromData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:311,1
    - Dst: std::min<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:312,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:312,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:312,1
    - Dst: tryConstructNextLayerWithFallback<IgmpV1Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:317,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:317,1
    - Dst: tryConstructNextLayerWithFallback<IgmpV2Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:320,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:320,1
    - Dst: tryConstructNextLayerWithFallback<IgmpV3QueryLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:325,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:326,1
    - Dst: tryConstructNextLayerWithFallback<IgmpV3ReportLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:328,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:329,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:333,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:333,1
    - Dst: tryConstructNextLayerWithFallback<AuthenticationHeaderLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:339,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:340,1
    - Dst: tryConstructNextLayerWithFallback<ESPLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:343,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:343,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:346,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:346,1
    - Dst: pcpp::VrrpLayer::getVersionFromData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:350,1
    - Dst: tryConstructNextLayerWithFallback<VrrpV2Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:353,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:353,1
    - Dst: tryConstructNextLayerWithFallback<VrrpV3Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:356,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:356,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:360,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:360,1
    - Dst: hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:368,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:369,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:369,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 370
    functionName: pcpp::IPv4Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getHeaderLen
    - std::min<size_t>
    - tryConstructNextLayerWithFallback<VrrpV2Layer, PayloadLayer>
    - pcpp::IgmpLayer::getIGMPVerFromData
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<VrrpV3Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<IcmpLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<IgmpV3ReportLayer, PayloadLayer>
    - getAttachedPacket
    - pcpp::VrrpLayer::getVersionFromData
    - tryConstructNextLayerWithFallback<IgmpV1Layer, PayloadLayer>
    - pcpp::IPLayer::getIPVersion
    - pcpp::IPv4Layer::isFragment
    - tryConstructNextLayerWithFallback<IgmpV3QueryLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<AuthenticationHeaderLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<GREv1Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<IgmpV2Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<UdpLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<TcpLayer, PayloadLayer>
    - be16toh
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<GREv0Layer, PayloadLayer>
    - hasNextLayer
    - pcpp::IPv4Layer::getIPv4Header
    - tryConstructNextLayerWithFallback<ESPLayer, PayloadLayer>
    - pcpp::GreLayer::getGREVersion
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::parseNextLayer()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:374,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:376,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:381,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:410,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:411,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:412,1
    - Dst: computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:412,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 413
    functionName: pcpp::IPv4Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - getProtocol
    - static_cast<size_t>
    - reinterpret_cast<uint16_t*>
    - computeChecksum
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getFragmentFlags
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:417,1
    - Dst: pcpp::IPv4Layer::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: pcpp::IPv4Layer::isFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 5
    functionsReached:
    - pcpp::IPv4Layer::getFragmentFlags
    - pcpp::IPv4Layer::getFragmentOffset
    linkageType: ''
    returnType: bool
    signature: bool IPv4Layer::isFragment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:422,1
    - Dst: pcpp::IPv4Layer::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: pcpp::IPv4Layer::isFirstFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4Layer::isFragment
    - pcpp::IPv4Layer::getFragmentOffset
    linkageType: ''
    returnType: bool
    signature: bool IPv4Layer::isFirstFragment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:427,1
    - Dst: pcpp::IPv4Layer::getFragmentFlags
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: pcpp::IPv4Layer::isLastFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4Layer::getFragmentFlags
    - pcpp::IPv4Layer::isFragment
    linkageType: ''
    returnType: bool
    signature: bool IPv4Layer::isLastFragment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: pcpp::IPv4Layer::getFragmentFlags
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 4
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t IPv4Layer::getFragmentFlags() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:437,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: pcpp::IPv4Layer::getFragmentOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 5
    functionsReached:
    - be16toh
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t IPv4Layer::getFragmentOffset() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::isFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:443,1
    - Dst: pcpp::IPv4Layer::isFirstFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:445,1
    - Dst: pcpp::IPv4Layer::isLastFragment
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:447,1
    - Dst: pcpp::IPv4Layer::getFragmentOffset
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:453,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:454,1
    - Dst: pcpp::IPv4Layer::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:457,1
    - Dst: pcpp::IPv4Layer::getDstIPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 459
    functionName: pcpp::IPv4Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::isLastFragment
    - std::stringstream::str
    - pcpp::IPv4Layer::isFragment
    - pcpp::IPv4Layer::getSrcIPv4Address
    - pcpp::IPv4Layer::getDstIPv4Address
    - pcpp::IPv4Layer::isFirstFragment
    - pcpp::IPv4Layer::getFragmentOffset
    linkageType: ''
    returnType: std::string
    signature: std::string IPv4Layer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:463,1
    - Dst: pcpp::IPv4Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:463,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - IPv4OptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: pcpp::IPv4Layer::getOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv4Layer::getOptionsBasePtr
    - getTLVRecord
    - pcpp::IPv4Layer::getHeaderLen
    linkageType: ''
    returnType: IPv4Option
    signature: IPv4Option IPv4Layer::getOption(IPv4OptionTypes option) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:468,1
    - Dst: pcpp::IPv4Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:468,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: pcpp::IPv4Layer::getFirstOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 1
    functionsReached:
    - getFirstTLVRecord
    - pcpp::IPv4Layer::getOptionsBasePtr
    - pcpp::IPv4Layer::getHeaderLen
    linkageType: ''
    returnType: IPv4Option
    signature: IPv4Option IPv4Layer::getFirstOption() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:473,1
    - Dst: pcpp::IPv4Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:473,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - IPv4Option
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 474
    functionName: pcpp::IPv4Layer::getNextOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4Layer::getOptionsBasePtr
    - getNextTLVRecord
    - pcpp::IPv4Layer::getHeaderLen
    linkageType: ''
    returnType: IPv4Option
    signature: IPv4Option IPv4Layer::getNextOption(IPv4Option& option) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:478,1
    - Dst: pcpp::IPv4Layer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:478,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: pcpp::IPv4Layer::getOptionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4Layer::getOptionsBasePtr
    - getTLVRecordCount
    - pcpp::IPv4Layer::getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t IPv4Layer::getOptionCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:490,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:492,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - totalOptSize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 501
    functionName: pcpp::IPv4Layer::adjustOptionsTrailer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - pcpp::IPv4Layer::getIPv4Header
    - shortenLayer
    linkageType: ''
    returnType: void
    signature: void IPv4Layer::adjustOptionsTrailer(size_t totalOptSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:505,1
    - Dst: IPv4Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:506,1
    - Dst: IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:509,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:511,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:515,1
    - Dst: IPv4Option::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:517,1
    - Dst: IPv4Option
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:518,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:521,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:523,1
    - Dst: IPv4Option::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:524,1
    - Dst: IPv4Option
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:525,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:528,1
    - Dst: IPv4Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:528,1
    - Dst: IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:528,1
    - Dst: IPv4Option::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:530,1
    - Dst: pcpp::IPv4Layer::adjustOptionsTrailer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:536,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:541,1
    - Dst: IPv4Option
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ' optionBuilder'
    - offset
    argTypes:
    - IPv4OptionBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 546
    functionName: pcpp::IPv4Layer::addOptionAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - IPv4Option::getTotalSize
    - IPv4Option
    - IPv4Option::isNull
    - pcpp::IPv4Layer::getHeaderLen
    - PCPP_LOG_ERROR
    - IPv4Option::purgeRecordData
    - memcpy
    - IPv4Option::getRecordBasePtr
    - build
    - pcpp::IPv4Layer::adjustOptionsTrailer
    - changeTLVRecordCount
    linkageType: ''
    returnType: IPv4Option
    signature: IPv4Option IPv4Layer::addOptionAt(const IPv4OptionBuilder& optionBuilder,
      int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::addOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:550,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' optionBuilder'
    argTypes:
    - IPv4OptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: pcpp::IPv4Layer::addOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::addOptionAt
    - pcpp::IPv4Layer::getHeaderLen
    linkageType: ''
    returnType: IPv4Option
    signature: IPv4Option IPv4Layer::addOption(const IPv4OptionBuilder& optionBuilder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getOption
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:557,1
    - Dst: IPv4Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:559,1
    - Dst: IPv4Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:565,1
    - Dst: IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:565,1
    - Dst: pcpp::IPv4Layer::addOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' optionBuilder'
    - prevOptionType
    argTypes:
    - IPv4OptionBuilder
    - IPv4OptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 569
    functionName: pcpp::IPv4Layer::addOptionAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::addOptionAt
    - IPv4Option::getTotalSize
    - IPv4Option::isNull
    - IPv4Option::getRecordBasePtr
    - pcpp::IPv4Layer::getOption
    linkageType: ''
    returnType: IPv4Option
    signature: IPv4Option IPv4Layer::addOptionAfter(const IPv4OptionBuilder& optionBuilder,
      IPv4OptionTypes prevOptionType)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getOption
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:573,1
    - Dst: IPv4Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:574,1
    - Dst: pcpp::IPv4Layer::getFirstOption
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:580,1
    - Dst: IPv4Option::isNull
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:582,1
    - Dst: IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:584,1
    - Dst: pcpp::IPv4Layer::getNextOption
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:585,1
    - Dst: IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:587,1
    - Dst: IPv4Option::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:589,1
    - Dst: IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:591,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:592,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:594,1
    - Dst: pcpp::IPv4Layer::adjustOptionsTrailer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:602,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - option
    argTypes:
    - IPv4OptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 610
    functionName: pcpp::IPv4Layer::removeOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - IPv4Option::getTotalSize
    - pcpp::IPv4Layer::getFirstOption
    - IPv4Option::isNull
    - PCPP_LOG_ERROR
    - changeTLVRecordCount
    - pcpp::IPv4Layer::getNextOption
    - IPv4Option::getRecordBasePtr
    - shortenLayer
    - pcpp::IPv4Layer::adjustOptionsTrailer
    - pcpp::IPv4Layer::getOption
    linkageType: ''
    returnType: bool
    signature: bool IPv4Layer::removeOption(IPv4OptionTypes option)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:616,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:616,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:619,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:621,1
    - Dst: pcpp::IPv4Layer::getOptionCount
      Src: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 623
    functionName: pcpp::IPv4Layer::removeAllOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getHeaderLen
    - changeTLVRecordCount
    - shortenLayer
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::IPv4Layer::getOptionCount
    linkageType: ''
    returnType: bool
    signature: bool IPv4Layer::removeAllOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: pcpp::LdapOperationType::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string LdapOperationType::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:70,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: pcpp::LdapOperationType::fromUintValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: LdapOperationType
    signature: LdapOperationType LdapOperationType::fromUintValue(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: pcpp::LdapResultCode::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string LdapResultCode::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:178,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: pcpp::LdapResultCode::fromUintValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: LdapResultCode
    signature: LdapResultCode LdapResultCode::fromUintValue(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - messageId
    - operationType
    - ' messageRecords'
    - ' controls'
    argTypes:
    - uint16_t
    - LdapOperationType
    - std::vector<Asn1Record*>
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: pcpp::LdapLayer::LdapLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::init
    linkageType: ''
    returnType: void
    signature: "void LdapLayer::LdapLayer(uint16_t messageId, LdapOperationType operationType,\n\t
      \                    const std::vector<Asn1Record*>& messageRecords, const std::vector<LdapControl>&
      controls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: pcpp::LdapLayer::LdapLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapLayer::LdapLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t                     Packet*
      packet)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:209,1
    - Dst: std::make_unique<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:212,1
    - Dst: std::make_unique<Asn1GenericRecord>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:217,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:220,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:223,1
    - Dst: controlValue::empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:229,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:231,1
    - Dst: Asn1SequenceRecord::Asn1SequenceRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:231,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:235,1
    - Dst: controlValue::size
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:235,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:236,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:237,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:237,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:238,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:239,1
    - Dst: Asn1SequenceRecord::Asn1SequenceRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:239,1
    - Dst: std::make_unique<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:243,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:244,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:244,1
    - Dst: Asn1SequenceRecord::encode
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:249,1
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:251,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:251,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:252,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:252,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:252,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - messageId
    - operationType
    - ' messageRecords'
    - ' controls'
    argTypes:
    - uint16_t
    - LdapOperationType
    - std::vector<Asn1Record*>
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 255
    functionName: pcpp::LdapLayer::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::get
    - empty
    - Asn1SequenceRecord::encode
    - hexStringToByteArray
    - std::make_unique<uint8_t[]>
    - controlValue::size
    - auto::begin
    - Asn1SequenceRecord::Asn1SequenceRecord
    - static_cast<size_t>
    - std::vector::push_back
    - std::make_unique<Asn1GenericRecord>
    - pcpp::Asn1Record::decode
    - std::copy
    - controlValue::empty
    - auto::size
    - std::make_unique<Asn1ConstructedRecord>
    - PointerVector::pushBack
    - auto::end
    - allocData
    linkageType: ''
    returnType: void
    signature: "void LdapLayer::init(uint16_t messageId, LdapOperationType operationType,\n\t
      \                    const std::vector<Asn1Record*>& messageRecords, const std::vector<LdapControl>&
      controls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::getExtendedInfoString
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:259,1
    - Dst: pcpp::LdapLayer::getLdapOperationType
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:260,1
    - Dst: auto::empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: pcpp::LdapLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::getLdapOperationType
    - auto::empty
    - pcpp::LdapLayer::getExtendedInfoString
    linkageType: ''
    returnType: std::string
    signature: std::string LdapLayer::toString() const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:267,1
    - Dst: pcpp::LdapOperationType::fromUintValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:268,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:269,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:273,1
    - Dst: LdapBindRequestLayer::LdapBindRequestLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:273,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:275,1
    - Dst: LdapBindResponseLayer::LdapBindResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:275,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:277,1
    - Dst: LdapUnbindRequestLayer::LdapUnbindRequestLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:277,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:279,1
    - Dst: LdapSearchRequestLayer::LdapSearchRequestLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:279,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:281,1
    - Dst: LdapSearchResultEntryLayer::LdapSearchResultEntryLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:281,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:283,1
    - Dst: LdapSearchResultDoneLayer::LdapSearchResultDoneLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:283,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:285,1
    - Dst: LdapModifyResponseLayer::LdapModifyResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:285,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:287,1
    - Dst: LdapAddResponseLayer::LdapAddResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:287,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:289,1
    - Dst: LdapDeleteResponseLayer::LdapDeleteResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:289,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:291,1
    - Dst: LdapModifyDNResponseLayer::LdapModifyDNResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:291,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:293,1
    - Dst: LdapCompareResponseLayer::LdapCompareResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:293,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:297,1
    - Dst: LdapLayer::LdapLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 304
    functionName: pcpp::LdapLayer::parseLdapMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - auto::castAs
    - LdapModifyDNResponseLayer::LdapModifyDNResponseLayer
    - LdapUnbindRequestLayer::LdapUnbindRequestLayer
    - LdapAddResponseLayer::LdapAddResponseLayer
    - LdapModifyResponseLayer::LdapModifyResponseLayer
    - LdapLayer::LdapLayer
    - LdapSearchRequestLayer::LdapSearchRequestLayer
    - LdapSearchResultEntryLayer::LdapSearchResultEntryLayer
    - LdapSearchResultDoneLayer::LdapSearchResultDoneLayer
    - LdapBindRequestLayer::LdapBindRequestLayer
    - LdapDeleteResponseLayer::LdapDeleteResponseLayer
    - LdapBindResponseLayer::LdapBindResponseLayer
    - pcpp::LdapOperationType::fromUintValue
    - LdapCompareResponseLayer::LdapCompareResponseLayer
    - pcpp::Asn1Record::decode
    - std::move
    linkageType: ''
    returnType: LdapLayer
    signature: LdapLayer * LdapLayer::parseLdapMessage(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: pcpp::LdapLayer::getRootAsn1Record
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - castAs
    linkageType: ''
    returnType: Asn1SequenceRecord
    signature: Asn1SequenceRecord * LdapLayer::getRootAsn1Record() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::getRootAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: pcpp::LdapLayer::getLdapOperationAsn1Record
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::getRootAsn1Record
    linkageType: ''
    returnType: Asn1ConstructedRecord
    signature: Asn1ConstructedRecord * LdapLayer::getLdapOperationAsn1Record() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::getRootAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: pcpp::LdapLayer::getMessageID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::getRootAsn1Record
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t LdapLayer::getMessageID() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::getRootAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:328,1
    - Dst: pcpp::LdapLayer::getRootAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:333,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:334,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:336,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:338,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:340,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:343,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 349
    functionName: pcpp::LdapLayer::getControls
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::getRootAsn1Record
    - auto::getSubRecords
    - castAs
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<LdapControl>
    signature: std::vector<LdapControl> LdapLayer::getControls() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:356,1
    - Dst: pcpp::LdapOperationType::fromUintValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: pcpp::LdapLayer::getLdapOperationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::LdapLayer::getLdapOperationAsn1Record
    - pcpp::LdapOperationType::fromUintValue
    linkageType: ''
    returnType: LdapOperationType
    signature: LdapOperationType LdapLayer::getLdapOperationType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:368,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 376
    functionName: pcpp::LdapLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayerFromFactory
    - pcpp::LdapLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void LdapLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapResponseLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - messageId
    - operationType
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    - ' referral'
    - ' controls'
    argTypes:
    - uint16_t
    - LdapOperationType
    - LdapResultCode
    - std::string
    - std::string
    - std::vector<std::string>
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: pcpp::LdapResponseLayer::LdapResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapResponseLayer::init
    linkageType: ''
    returnType: void
    signature: "void LdapResponseLayer::LdapResponseLayer(uint16_t messageId, LdapOperationType
      operationType, LdapResultCode resultCode,\n\t                                     const
      std::string& matchedDN, const std::string& diagnosticMessage,\n\t                                     const
      std::vector<std::string>& referral,\n\t                                     const
      std::vector<LdapControl>& controls)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:403,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:408,1
    - Dst: Asn1OctetStringRecord::Asn1OctetStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:408,1
    - Dst: std::make_unique<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:410,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:412,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:412,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:415,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:419,1
    - Dst: pcpp::LdapLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 8
    argNames:
    - messageId
    - operationType
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    - ' referral'
    - ' additionalRecords'
    - ' controls'
    argTypes:
    - uint16_t
    - LdapOperationType
    - LdapResultCode
    - std::string
    - std::string
    - std::vector<std::string>
    - std::vector<Asn1Record*>
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 424
    functionName: pcpp::LdapResponseLayer::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::LdapLayer::init
    - Asn1OctetStringRecord::Asn1OctetStringRecord
    - std::make_unique<Asn1ConstructedRecord>
    - std::unique_ptr::get
    - empty
    - PointerVector::pushBack
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void LdapResponseLayer::init(uint16_t messageId, LdapOperationType
      operationType, LdapResultCode resultCode,\n\t                             const
      std::string& matchedDN, const std::string& diagnosticMessage,\n\t                             const
      std::vector<std::string>& referral,\n\t                             const std::vector<Asn1Record*>&
      additionalRecords,\n\t                             const std::vector<LdapControl>&
      controls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapResultCode::fromUintValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:428,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 433
    functionName: pcpp::LdapResponseLayer::getResultCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    - pcpp::LdapResultCode::fromUintValue
    linkageType: ''
    returnType: LdapResultCode
    signature: LdapResultCode LdapResponseLayer::getResultCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 442
    functionName: pcpp::LdapResponseLayer::getMatchedDN
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: std::string
    signature: std::string LdapResponseLayer::getMatchedDN() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 451
    functionName: pcpp::LdapResponseLayer::getDiagnosticMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: std::string
    signature: std::string LdapResponseLayer::getDiagnosticMessage() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:456,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:461,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:462,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:463,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:468,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:470,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 474
    functionName: pcpp::LdapResponseLayer::getReferral
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    - auto::getTagType
    - castAs
    - auto::getTagClass
    - std::vector::push_back
    - auto::castAs
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> LdapResponseLayer::getReferral() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapResponseLayer::getResultCode
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: pcpp::LdapResponseLayer::getExtendedInfoString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapResponseLayer::getResultCode
    linkageType: ''
    returnType: std::string
    signature: std::string LdapResponseLayer::getExtendedInfoString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:492,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:494,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:494,1
    - Dst: std::make_unique<Asn1GenericRecord>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:495,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:497,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:498,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:499,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:499,1
    - Dst: pcpp::LdapLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - messageId
    - version
    - ' name'
    - ' simpleAuthentication'
    - ' controls'
    argTypes:
    - uint16_t
    - uint8_t
    - std::string
    - std::string
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 503
    functionName: pcpp::LdapBindRequestLayer::LdapBindRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - data
    - pcpp::LdapLayer::init
    - static_cast<uint8_t>
    - std::unique_ptr::get
    - empty
    - size
    - std::vector::push_back
    - std::make_unique<Asn1GenericRecord>
    linkageType: ''
    returnType: void
    signature: "void LdapBindRequestLayer::LdapBindRequestLayer(uint16_t messageId,
      uint8_t version, const std::string& name,\n\t                                           const
      std::string& simpleAuthentication,\n\t                                           const
      std::vector<LdapControl>& controls)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mechanism::empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:513,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:516,1
    - Dst: Asn1OctetStringRecord::Asn1OctetStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:516,1
    - Dst: credentials::empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:517,1
    - Dst: credentials::data
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:519,1
    - Dst: credentials::size
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:520,1
    - Dst: Asn1OctetStringRecord::Asn1OctetStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:519,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:521,1
    - Dst: std::make_unique<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:524,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:525,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:527,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:527,1
    - Dst: pcpp::LdapLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - messageId
    - version
    - ' name'
    - ' saslAuthentication'
    - ' controls'
    argTypes:
    - uint16_t
    - uint8_t
    - std::string
    - SaslAuthentication
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 531
    functionName: pcpp::LdapBindRequestLayer::LdapBindRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::init
    - static_cast<uint8_t>
    - Asn1OctetStringRecord::Asn1OctetStringRecord
    - std::make_unique<Asn1ConstructedRecord>
    - std::unique_ptr::get
    - credentials::empty
    - PointerVector::pushBack
    - credentials::data
    - std::vector::push_back
    - credentials::size
    - mechanism::empty
    linkageType: ''
    returnType: void
    signature: "void LdapBindRequestLayer::LdapBindRequestLayer(uint16_t messageId,
      uint8_t version, const std::string& name,\n\t                                           const
      SaslAuthentication& saslAuthentication,\n\t                                           const
      std::vector<LdapControl>& controls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 540
    functionName: pcpp::LdapBindRequestLayer::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t LdapBindRequestLayer::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: pcpp::LdapBindRequestLayer::getName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: std::string
    signature: std::string LdapBindRequestLayer::getName() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:549,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 564
    functionName: pcpp::LdapBindRequestLayer::getAuthenticationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: LdapBindRequestLayer::AuthenticationType
    signature: LdapBindRequestLayer::AuthenticationType LdapBindRequestLayer::getAuthenticationType()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapBindRequestLayer::getAuthenticationType
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:568,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:570,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:574,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:575,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:575,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 576
    functionName: pcpp::LdapBindRequestLayer::getSimpleAuthentication
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    - std::invalid_argument
    - reinterpret_cast<const char*>
    - auto::getValueLength
    - auto::getValue
    - pcpp::LdapBindRequestLayer::getAuthenticationType
    linkageType: ''
    returnType: std::string
    signature: std::string LdapBindRequestLayer::getSimpleAuthentication() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapBindRequestLayer::getAuthenticationType
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:580,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:582,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:586,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:589,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:591,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:593,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:596,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:597,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:597,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:598,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:598,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 602
    functionName: pcpp::LdapBindRequestLayer::getSaslAuthentication
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    - std::invalid_argument
    - std::vector::size
    - auto::size
    - std::vector::data
    - hexStringToByteArray
    - auto::getSubRecords
    - std::vector::resize
    - pcpp::LdapBindRequestLayer::getAuthenticationType
    linkageType: ''
    returnType: LdapBindRequestLayer::SaslAuthentication
    signature: LdapBindRequestLayer::SaslAuthentication LdapBindRequestLayer::getSaslAuthentication()
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapBindRequestLayer::getAuthenticationType
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 615
    functionName: pcpp::LdapBindRequestLayer::getExtendedInfoString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapBindRequestLayer::getAuthenticationType
    linkageType: ''
    returnType: std::string
    signature: std::string LdapBindRequestLayer::getExtendedInfoString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:629,1
    - Dst: std::make_unique<Asn1GenericRecord>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:632,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:633,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:633,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:634,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:634,1
    - Dst: pcpp::LdapResponseLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - messageId
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    - ' referral'
    - ' serverSaslCredentials'
    - ' controls'
    argTypes:
    - uint16_t
    - LdapResultCode
    - std::string
    - std::string
    - std::vector<std::string>
    - std::vector<uint8_t>
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 639
    functionName: pcpp::LdapBindResponseLayer::LdapBindResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - data
    - std::unique_ptr::get
    - empty
    - pcpp::LdapResponseLayer::init
    - std::vector::push_back
    - size
    - std::make_unique<Asn1GenericRecord>
    linkageType: ''
    returnType: void
    signature: "void LdapBindResponseLayer::LdapBindResponseLayer(uint16_t messageId,
      LdapResultCode resultCode,\n\t                                             const
      std::string& matchedDN, const std::string& diagnosticMessage,\n\t                                             const
      std::vector<std::string>& referral,\n\t                                             const
      std::vector<uint8_t>& serverSaslCredentials,\n\t                                             const
      std::vector<LdapControl>& controls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:646,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:647,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:648,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 654
    functionName: pcpp::LdapBindResponseLayer::getServerSaslCredentials
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - auto::getValueLength
    - getLdapOperationAsn1Record
    - auto::getValue
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> LdapBindResponseLayer::getServerSaslCredentials()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - messageId
    - ' controls'
    argTypes:
    - uint16_t
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: pcpp::LdapUnbindRequestLayer::LdapUnbindRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::init
    linkageType: ''
    returnType: void
    signature: void LdapUnbindRequestLayer::LdapUnbindRequestLayer(uint16_t messageId,
      const std::vector<LdapControl>& controls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: LdapSearchRequestLayer::SearchRequestScope::toString() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string LdapSearchRequestLayer::SearchRequestScope::toString()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LdapSearchRequestLayer::SearchRequestScope::Value>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 701
    functionName: LdapSearchRequestLayer::SearchRequestScope::fromUintValue(uint8_t
      value)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<LdapSearchRequestLayer::SearchRequestScope::Value>
    linkageType: ''
    returnType: LdapSearchRequestLayer::SearchRequestScope
    signature: LdapSearchRequestLayer::SearchRequestScope LdapSearchRequestLayer::SearchRequestScope::fromUintValue(uint8_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: LdapSearchRequestLayer::DerefAliases::toString() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string LdapSearchRequestLayer::DerefAliases::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LdapSearchRequestLayer::DerefAliases::Value>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 716
    functionName: LdapSearchRequestLayer::DerefAliases::fromUintValue(uint8_t value)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<LdapSearchRequestLayer::DerefAliases::Value>
    linkageType: ''
    returnType: LdapSearchRequestLayer::DerefAliases
    signature: LdapSearchRequestLayer::DerefAliases LdapSearchRequestLayer::DerefAliases::fromUintValue(uint8_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:734,1
    - Dst: Asn1OctetStringRecord::Asn1OctetStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:734,1
    - Dst: pcpp::LdapLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - messageId
    - ' baseObject'
    - scope
    - derefAliases
    - sizeLimit
    - timeLimit
    - typesOnly
    - filterRecord
    - ' attributes'
    - ' controls'
    argTypes:
    - uint16_t
    - std::string
    - SearchRequestScope
    - DerefAliases
    - uint8_t
    - uint8_t
    - bool
    - Asn1Record*
    - std::vector<std::string>
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 742
    functionName: pcpp::LdapSearchRequestLayer::LdapSearchRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - Asn1OctetStringRecord::Asn1OctetStringRecord
    - PointerVector::pushBack
    - pcpp::LdapLayer::init
    linkageType: ''
    returnType: void
    signature: "void LdapSearchRequestLayer::LdapSearchRequestLayer(uint16_t messageId,
      const std::string& baseObject,\n\t                                               SearchRequestScope
      scope, DerefAliases derefAliases,\n\t                                               uint8_t
      sizeLimit, uint8_t timeLimit, bool typesOnly,\n\t                                               Asn1Record*
      filterRecord, const std::vector<std::string>& attributes,\n\t                                               const
      std::vector<LdapControl>& controls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 751
    functionName: pcpp::LdapSearchRequestLayer::getBaseObject
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: std::string
    signature: std::string LdapSearchRequestLayer::getBaseObject() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2MessageType::fromUintValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:755,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 760
    functionName: pcpp::LdapSearchRequestLayer::getScope
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2MessageType::fromUintValue
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: LdapSearchRequestLayer::SearchRequestScope
    signature: LdapSearchRequestLayer::SearchRequestScope LdapSearchRequestLayer::getScope()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2MessageType::fromUintValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:764,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 769
    functionName: pcpp::LdapSearchRequestLayer::getDerefAlias
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2MessageType::fromUintValue
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: LdapSearchRequestLayer::DerefAliases
    signature: LdapSearchRequestLayer::DerefAliases LdapSearchRequestLayer::getDerefAlias()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 778
    functionName: pcpp::LdapSearchRequestLayer::getSizeLimit
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t LdapSearchRequestLayer::getSizeLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 787
    functionName: pcpp::LdapSearchRequestLayer::getTimeLimit
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t LdapSearchRequestLayer::getTimeLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 796
    functionName: pcpp::LdapSearchRequestLayer::getTypesOnly
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: bool
    signature: bool LdapSearchRequestLayer::getTypesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 801
    functionName: pcpp::LdapSearchRequestLayer::getFilter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: Asn1Record
    signature: Asn1Record * LdapSearchRequestLayer::getFilter() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:806,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:812,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:813,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:815,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 819
    functionName: pcpp::LdapSearchRequestLayer::getAttributes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    - auto::getSubRecords
    - castAs
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> LdapSearchRequestLayer::getAttributes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapSearchRequestLayer::getBaseObject
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:823,1
    - Dst: auto::empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:824,1
    - Dst: pcpp::LdapSearchRequestLayer::getScope
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 821
    functionDepth: 3
    functionLinenumber: 821
    functionLinenumberEnd: 830
    functionName: pcpp::LdapSearchRequestLayer::getExtendedInfoString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapSearchRequestLayer::getScope
    - pcpp::LdapSearchRequestLayer::getBaseObject
    - auto::empty
    linkageType: ''
    returnType: std::string
    signature: std::string LdapSearchRequestLayer::getExtendedInfoString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:846,1
    - Dst: Asn1OctetStringRecord::Asn1OctetStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:846,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:852,1
    - Dst: Asn1SequenceRecord::Asn1SequenceRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:852,1
    - Dst: pcpp::LdapLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - messageId
    - ' objectName'
    - ' attributes'
    - ' controls'
    argTypes:
    - uint16_t
    - std::string
    - std::vector<LdapAttribute>
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 860
    functionName: pcpp::LdapSearchResultEntryLayer::LdapSearchResultEntryLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - Asn1OctetStringRecord::Asn1OctetStringRecord
    - PointerVector::pushBack
    - Asn1SequenceRecord::Asn1SequenceRecord
    - pcpp::LdapLayer::init
    linkageType: ''
    returnType: void
    signature: "void LdapSearchResultEntryLayer::LdapSearchResultEntryLayer(uint16_t
      messageId, const std::string& objectName,\n\t                                                       const
      std::vector<LdapAttribute>& attributes,\n\t                                                       const
      std::vector<LdapControl>& controls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 869
    functionName: pcpp::LdapSearchResultEntryLayer::getObjectName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: std::string
    signature: std::string LdapSearchResultEntryLayer::getObjectName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:876,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:877,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:879,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:882,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:885,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:887,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:889,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:889,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 897
    functionName: pcpp::LdapSearchResultEntryLayer::getAttributes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    - auto::getSubRecords
    - castAs
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<LdapAttribute>
    signature: std::vector<LdapAttribute> LdapSearchResultEntryLayer::getAttributes()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: pcpp::LdapOperationType::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string LdapOperationType::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:70,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: pcpp::LdapOperationType::fromUintValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 2
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: LdapOperationType
    signature: LdapOperationType LdapOperationType::fromUintValue(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: pcpp::LdapResultCode::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string LdapResultCode::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:178,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: pcpp::LdapResultCode::fromUintValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: LdapResultCode
    signature: LdapResultCode LdapResultCode::fromUintValue(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - messageId
    - operationType
    - ' messageRecords'
    - ' controls'
    argTypes:
    - uint16_t
    - LdapOperationType
    - std::vector<Asn1Record*>
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: pcpp::LdapLayer::LdapLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::init
    linkageType: ''
    returnType: void
    signature: "void LdapLayer::LdapLayer(uint16_t messageId, LdapOperationType operationType,\n\t
      \                    const std::vector<Asn1Record*>& messageRecords, const std::vector<LdapControl>&
      controls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: pcpp::LdapLayer::LdapLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapLayer::LdapLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t                     Packet*
      packet)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:209,1
    - Dst: std::make_unique<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:212,1
    - Dst: std::make_unique<Asn1GenericRecord>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:217,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:220,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:223,1
    - Dst: controlValue::empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:229,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:231,1
    - Dst: Asn1SequenceRecord::Asn1SequenceRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:231,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:235,1
    - Dst: controlValue::size
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:235,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:236,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:237,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:237,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:238,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:239,1
    - Dst: Asn1SequenceRecord::Asn1SequenceRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:239,1
    - Dst: std::make_unique<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:243,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:244,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:244,1
    - Dst: Asn1SequenceRecord::encode
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:249,1
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:251,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:251,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:252,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:252,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:252,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - messageId
    - operationType
    - ' messageRecords'
    - ' controls'
    argTypes:
    - uint16_t
    - LdapOperationType
    - std::vector<Asn1Record*>
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 255
    functionName: pcpp::LdapLayer::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 8
    functionsReached:
    - std::unique_ptr::get
    - empty
    - Asn1SequenceRecord::encode
    - hexStringToByteArray
    - std::make_unique<uint8_t[]>
    - controlValue::size
    - auto::begin
    - Asn1SequenceRecord::Asn1SequenceRecord
    - static_cast<size_t>
    - std::vector::push_back
    - std::make_unique<Asn1GenericRecord>
    - pcpp::Asn1Record::decode
    - std::copy
    - controlValue::empty
    - auto::size
    - std::make_unique<Asn1ConstructedRecord>
    - PointerVector::pushBack
    - auto::end
    - allocData
    linkageType: ''
    returnType: void
    signature: "void LdapLayer::init(uint16_t messageId, LdapOperationType operationType,\n\t
      \                    const std::vector<Asn1Record*>& messageRecords, const std::vector<LdapControl>&
      controls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::getExtendedInfoString
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:259,1
    - Dst: pcpp::LdapLayer::getLdapOperationType
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:260,1
    - Dst: auto::empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: pcpp::LdapLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::getLdapOperationType
    - auto::empty
    - pcpp::LdapLayer::getExtendedInfoString
    linkageType: ''
    returnType: std::string
    signature: std::string LdapLayer::toString() const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:267,1
    - Dst: pcpp::LdapOperationType::fromUintValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:268,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:269,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:273,1
    - Dst: LdapBindRequestLayer::LdapBindRequestLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:273,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:275,1
    - Dst: LdapBindResponseLayer::LdapBindResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:275,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:277,1
    - Dst: LdapUnbindRequestLayer::LdapUnbindRequestLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:277,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:279,1
    - Dst: LdapSearchRequestLayer::LdapSearchRequestLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:279,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:281,1
    - Dst: LdapSearchResultEntryLayer::LdapSearchResultEntryLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:281,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:283,1
    - Dst: LdapSearchResultDoneLayer::LdapSearchResultDoneLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:283,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:285,1
    - Dst: LdapModifyResponseLayer::LdapModifyResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:285,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:287,1
    - Dst: LdapAddResponseLayer::LdapAddResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:287,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:289,1
    - Dst: LdapDeleteResponseLayer::LdapDeleteResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:289,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:291,1
    - Dst: LdapModifyDNResponseLayer::LdapModifyDNResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:291,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:293,1
    - Dst: LdapCompareResponseLayer::LdapCompareResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:293,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:297,1
    - Dst: LdapLayer::LdapLayer
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 304
    functionName: pcpp::LdapLayer::parseLdapMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - auto::castAs
    - LdapModifyDNResponseLayer::LdapModifyDNResponseLayer
    - LdapUnbindRequestLayer::LdapUnbindRequestLayer
    - LdapAddResponseLayer::LdapAddResponseLayer
    - LdapModifyResponseLayer::LdapModifyResponseLayer
    - LdapLayer::LdapLayer
    - LdapSearchRequestLayer::LdapSearchRequestLayer
    - LdapSearchResultEntryLayer::LdapSearchResultEntryLayer
    - LdapSearchResultDoneLayer::LdapSearchResultDoneLayer
    - LdapBindRequestLayer::LdapBindRequestLayer
    - LdapDeleteResponseLayer::LdapDeleteResponseLayer
    - LdapBindResponseLayer::LdapBindResponseLayer
    - pcpp::LdapOperationType::fromUintValue
    - LdapCompareResponseLayer::LdapCompareResponseLayer
    - pcpp::Asn1Record::decode
    - std::move
    linkageType: ''
    returnType: LdapLayer
    signature: LdapLayer * LdapLayer::parseLdapMessage(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: pcpp::LdapLayer::getRootAsn1Record
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 3
    functionsReached:
    - castAs
    linkageType: ''
    returnType: Asn1SequenceRecord
    signature: Asn1SequenceRecord * LdapLayer::getRootAsn1Record() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::getRootAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: pcpp::LdapLayer::getLdapOperationAsn1Record
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::LdapLayer::getRootAsn1Record
    linkageType: ''
    returnType: Asn1ConstructedRecord
    signature: Asn1ConstructedRecord * LdapLayer::getLdapOperationAsn1Record() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::getRootAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: pcpp::LdapLayer::getMessageID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::getRootAsn1Record
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t LdapLayer::getMessageID() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::getRootAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:328,1
    - Dst: pcpp::LdapLayer::getRootAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:333,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:334,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:336,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:338,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:340,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:343,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 349
    functionName: pcpp::LdapLayer::getControls
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::getRootAsn1Record
    - auto::getSubRecords
    - castAs
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<LdapControl>
    signature: std::vector<LdapControl> LdapLayer::getControls() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:356,1
    - Dst: pcpp::LdapOperationType::fromUintValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: pcpp::LdapLayer::getLdapOperationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::LdapLayer::getLdapOperationAsn1Record
    - pcpp::LdapOperationType::fromUintValue
    linkageType: ''
    returnType: LdapOperationType
    signature: LdapOperationType LdapLayer::getLdapOperationType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:368,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 376
    functionName: pcpp::LdapLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayerFromFactory
    - pcpp::LdapLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void LdapLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapResponseLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - messageId
    - operationType
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    - ' referral'
    - ' controls'
    argTypes:
    - uint16_t
    - LdapOperationType
    - LdapResultCode
    - std::string
    - std::string
    - std::vector<std::string>
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: pcpp::LdapResponseLayer::LdapResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapResponseLayer::init
    linkageType: ''
    returnType: void
    signature: "void LdapResponseLayer::LdapResponseLayer(uint16_t messageId, LdapOperationType
      operationType, LdapResultCode resultCode,\n\t                                     const
      std::string& matchedDN, const std::string& diagnosticMessage,\n\t                                     const
      std::vector<std::string>& referral,\n\t                                     const
      std::vector<LdapControl>& controls)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:403,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:408,1
    - Dst: Asn1OctetStringRecord::Asn1OctetStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:408,1
    - Dst: std::make_unique<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:410,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:412,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:412,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:415,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:419,1
    - Dst: pcpp::LdapLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 8
    argNames:
    - messageId
    - operationType
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    - ' referral'
    - ' additionalRecords'
    - ' controls'
    argTypes:
    - uint16_t
    - LdapOperationType
    - LdapResultCode
    - std::string
    - std::string
    - std::vector<std::string>
    - std::vector<Asn1Record*>
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 424
    functionName: pcpp::LdapResponseLayer::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 3
    functionsReached:
    - pcpp::LdapLayer::init
    - Asn1OctetStringRecord::Asn1OctetStringRecord
    - std::make_unique<Asn1ConstructedRecord>
    - std::unique_ptr::get
    - empty
    - PointerVector::pushBack
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: "void LdapResponseLayer::init(uint16_t messageId, LdapOperationType
      operationType, LdapResultCode resultCode,\n\t                             const
      std::string& matchedDN, const std::string& diagnosticMessage,\n\t                             const
      std::vector<std::string>& referral,\n\t                             const std::vector<Asn1Record*>&
      additionalRecords,\n\t                             const std::vector<LdapControl>&
      controls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapResultCode::fromUintValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:428,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 433
    functionName: pcpp::LdapResponseLayer::getResultCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 1
    functionsReached:
    - getLdapOperationAsn1Record
    - pcpp::LdapResultCode::fromUintValue
    linkageType: ''
    returnType: LdapResultCode
    signature: LdapResultCode LdapResponseLayer::getResultCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 442
    functionName: pcpp::LdapResponseLayer::getMatchedDN
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: std::string
    signature: std::string LdapResponseLayer::getMatchedDN() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 451
    functionName: pcpp::LdapResponseLayer::getDiagnosticMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: std::string
    signature: std::string LdapResponseLayer::getDiagnosticMessage() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:456,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:461,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:462,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:463,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:468,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:470,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 474
    functionName: pcpp::LdapResponseLayer::getReferral
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    - auto::getTagType
    - castAs
    - auto::getTagClass
    - std::vector::push_back
    - auto::castAs
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> LdapResponseLayer::getReferral() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapResponseLayer::getResultCode
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: pcpp::LdapResponseLayer::getExtendedInfoString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapResponseLayer::getResultCode
    linkageType: ''
    returnType: std::string
    signature: std::string LdapResponseLayer::getExtendedInfoString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:492,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:494,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:494,1
    - Dst: std::make_unique<Asn1GenericRecord>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:495,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:497,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:498,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:499,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:499,1
    - Dst: pcpp::LdapLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - messageId
    - version
    - ' name'
    - ' simpleAuthentication'
    - ' controls'
    argTypes:
    - uint16_t
    - uint8_t
    - std::string
    - std::string
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 503
    functionName: pcpp::LdapBindRequestLayer::LdapBindRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - data
    - pcpp::LdapLayer::init
    - static_cast<uint8_t>
    - std::unique_ptr::get
    - empty
    - size
    - std::vector::push_back
    - std::make_unique<Asn1GenericRecord>
    linkageType: ''
    returnType: void
    signature: "void LdapBindRequestLayer::LdapBindRequestLayer(uint16_t messageId,
      uint8_t version, const std::string& name,\n\t                                           const
      std::string& simpleAuthentication,\n\t                                           const
      std::vector<LdapControl>& controls)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mechanism::empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:513,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:516,1
    - Dst: Asn1OctetStringRecord::Asn1OctetStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:516,1
    - Dst: credentials::empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:517,1
    - Dst: credentials::data
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:519,1
    - Dst: credentials::size
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:520,1
    - Dst: Asn1OctetStringRecord::Asn1OctetStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:519,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:521,1
    - Dst: std::make_unique<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:524,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:525,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:527,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:527,1
    - Dst: pcpp::LdapLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - messageId
    - version
    - ' name'
    - ' saslAuthentication'
    - ' controls'
    argTypes:
    - uint16_t
    - uint8_t
    - std::string
    - SaslAuthentication
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 531
    functionName: pcpp::LdapBindRequestLayer::LdapBindRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::init
    - static_cast<uint8_t>
    - Asn1OctetStringRecord::Asn1OctetStringRecord
    - std::make_unique<Asn1ConstructedRecord>
    - std::unique_ptr::get
    - credentials::empty
    - PointerVector::pushBack
    - credentials::data
    - std::vector::push_back
    - credentials::size
    - mechanism::empty
    linkageType: ''
    returnType: void
    signature: "void LdapBindRequestLayer::LdapBindRequestLayer(uint16_t messageId,
      uint8_t version, const std::string& name,\n\t                                           const
      SaslAuthentication& saslAuthentication,\n\t                                           const
      std::vector<LdapControl>& controls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 540
    functionName: pcpp::LdapBindRequestLayer::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t LdapBindRequestLayer::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: pcpp::LdapBindRequestLayer::getName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: std::string
    signature: std::string LdapBindRequestLayer::getName() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:549,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 564
    functionName: pcpp::LdapBindRequestLayer::getAuthenticationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 3
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: LdapBindRequestLayer::AuthenticationType
    signature: LdapBindRequestLayer::AuthenticationType LdapBindRequestLayer::getAuthenticationType()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapBindRequestLayer::getAuthenticationType
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:568,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:570,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:574,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:575,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:575,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 576
    functionName: pcpp::LdapBindRequestLayer::getSimpleAuthentication
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    - std::invalid_argument
    - reinterpret_cast<const char*>
    - auto::getValueLength
    - auto::getValue
    - pcpp::LdapBindRequestLayer::getAuthenticationType
    linkageType: ''
    returnType: std::string
    signature: std::string LdapBindRequestLayer::getSimpleAuthentication() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapBindRequestLayer::getAuthenticationType
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:580,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:582,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:586,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:589,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:591,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:593,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:596,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:597,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:597,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:598,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:598,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 602
    functionName: pcpp::LdapBindRequestLayer::getSaslAuthentication
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    - std::invalid_argument
    - std::vector::size
    - auto::size
    - std::vector::data
    - hexStringToByteArray
    - auto::getSubRecords
    - std::vector::resize
    - pcpp::LdapBindRequestLayer::getAuthenticationType
    linkageType: ''
    returnType: LdapBindRequestLayer::SaslAuthentication
    signature: LdapBindRequestLayer::SaslAuthentication LdapBindRequestLayer::getSaslAuthentication()
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapBindRequestLayer::getAuthenticationType
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 615
    functionName: pcpp::LdapBindRequestLayer::getExtendedInfoString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapBindRequestLayer::getAuthenticationType
    linkageType: ''
    returnType: std::string
    signature: std::string LdapBindRequestLayer::getExtendedInfoString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:629,1
    - Dst: std::make_unique<Asn1GenericRecord>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:632,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:633,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:633,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:634,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:634,1
    - Dst: pcpp::LdapResponseLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - messageId
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    - ' referral'
    - ' serverSaslCredentials'
    - ' controls'
    argTypes:
    - uint16_t
    - LdapResultCode
    - std::string
    - std::string
    - std::vector<std::string>
    - std::vector<uint8_t>
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 639
    functionName: pcpp::LdapBindResponseLayer::LdapBindResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - data
    - std::unique_ptr::get
    - empty
    - pcpp::LdapResponseLayer::init
    - std::vector::push_back
    - size
    - std::make_unique<Asn1GenericRecord>
    linkageType: ''
    returnType: void
    signature: "void LdapBindResponseLayer::LdapBindResponseLayer(uint16_t messageId,
      LdapResultCode resultCode,\n\t                                             const
      std::string& matchedDN, const std::string& diagnosticMessage,\n\t                                             const
      std::vector<std::string>& referral,\n\t                                             const
      std::vector<uint8_t>& serverSaslCredentials,\n\t                                             const
      std::vector<LdapControl>& controls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:646,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:647,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:648,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 654
    functionName: pcpp::LdapBindResponseLayer::getServerSaslCredentials
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - auto::getValueLength
    - getLdapOperationAsn1Record
    - auto::getValue
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> LdapBindResponseLayer::getServerSaslCredentials()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - messageId
    - ' controls'
    argTypes:
    - uint16_t
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: pcpp::LdapUnbindRequestLayer::LdapUnbindRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::init
    linkageType: ''
    returnType: void
    signature: void LdapUnbindRequestLayer::LdapUnbindRequestLayer(uint16_t messageId,
      const std::vector<LdapControl>& controls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: LdapSearchRequestLayer::SearchRequestScope::toString() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string LdapSearchRequestLayer::SearchRequestScope::toString()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LdapSearchRequestLayer::SearchRequestScope::Value>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 701
    functionName: LdapSearchRequestLayer::SearchRequestScope::fromUintValue(uint8_t
      value)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<LdapSearchRequestLayer::SearchRequestScope::Value>
    linkageType: ''
    returnType: LdapSearchRequestLayer::SearchRequestScope
    signature: LdapSearchRequestLayer::SearchRequestScope LdapSearchRequestLayer::SearchRequestScope::fromUintValue(uint8_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: LdapSearchRequestLayer::DerefAliases::toString() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string LdapSearchRequestLayer::DerefAliases::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LdapSearchRequestLayer::DerefAliases::Value>
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 716
    functionName: LdapSearchRequestLayer::DerefAliases::fromUintValue(uint8_t value)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<LdapSearchRequestLayer::DerefAliases::Value>
    linkageType: ''
    returnType: LdapSearchRequestLayer::DerefAliases
    signature: LdapSearchRequestLayer::DerefAliases LdapSearchRequestLayer::DerefAliases::fromUintValue(uint8_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:734,1
    - Dst: Asn1OctetStringRecord::Asn1OctetStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:734,1
    - Dst: pcpp::LdapLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - messageId
    - ' baseObject'
    - scope
    - derefAliases
    - sizeLimit
    - timeLimit
    - typesOnly
    - filterRecord
    - ' attributes'
    - ' controls'
    argTypes:
    - uint16_t
    - std::string
    - SearchRequestScope
    - DerefAliases
    - uint8_t
    - uint8_t
    - bool
    - Asn1Record*
    - std::vector<std::string>
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 742
    functionName: pcpp::LdapSearchRequestLayer::LdapSearchRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - Asn1OctetStringRecord::Asn1OctetStringRecord
    - PointerVector::pushBack
    - pcpp::LdapLayer::init
    linkageType: ''
    returnType: void
    signature: "void LdapSearchRequestLayer::LdapSearchRequestLayer(uint16_t messageId,
      const std::string& baseObject,\n\t                                               SearchRequestScope
      scope, DerefAliases derefAliases,\n\t                                               uint8_t
      sizeLimit, uint8_t timeLimit, bool typesOnly,\n\t                                               Asn1Record*
      filterRecord, const std::vector<std::string>& attributes,\n\t                                               const
      std::vector<LdapControl>& controls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 751
    functionName: pcpp::LdapSearchRequestLayer::getBaseObject
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 1
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: std::string
    signature: std::string LdapSearchRequestLayer::getBaseObject() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2MessageType::fromUintValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:755,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 760
    functionName: pcpp::LdapSearchRequestLayer::getScope
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::GtpV2MessageType::fromUintValue
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: LdapSearchRequestLayer::SearchRequestScope
    signature: LdapSearchRequestLayer::SearchRequestScope LdapSearchRequestLayer::getScope()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2MessageType::fromUintValue
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:764,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 769
    functionName: pcpp::LdapSearchRequestLayer::getDerefAlias
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2MessageType::fromUintValue
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: LdapSearchRequestLayer::DerefAliases
    signature: LdapSearchRequestLayer::DerefAliases LdapSearchRequestLayer::getDerefAlias()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 778
    functionName: pcpp::LdapSearchRequestLayer::getSizeLimit
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t LdapSearchRequestLayer::getSizeLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 787
    functionName: pcpp::LdapSearchRequestLayer::getTimeLimit
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t LdapSearchRequestLayer::getTimeLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 796
    functionName: pcpp::LdapSearchRequestLayer::getTypesOnly
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: bool
    signature: bool LdapSearchRequestLayer::getTypesOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 801
    functionName: pcpp::LdapSearchRequestLayer::getFilter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: Asn1Record
    signature: Asn1Record * LdapSearchRequestLayer::getFilter() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:806,1
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:812,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:813,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:815,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 819
    functionName: pcpp::LdapSearchRequestLayer::getAttributes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    - auto::getSubRecords
    - castAs
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> LdapSearchRequestLayer::getAttributes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapSearchRequestLayer::getBaseObject
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:823,1
    - Dst: auto::empty
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:824,1
    - Dst: pcpp::LdapSearchRequestLayer::getScope
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 821
    functionDepth: 3
    functionLinenumber: 821
    functionLinenumberEnd: 830
    functionName: pcpp::LdapSearchRequestLayer::getExtendedInfoString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LdapSearchRequestLayer::getScope
    - pcpp::LdapSearchRequestLayer::getBaseObject
    - auto::empty
    linkageType: ''
    returnType: std::string
    signature: std::string LdapSearchRequestLayer::getExtendedInfoString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:846,1
    - Dst: Asn1OctetStringRecord::Asn1OctetStringRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:846,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:852,1
    - Dst: Asn1SequenceRecord::Asn1SequenceRecord
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:852,1
    - Dst: pcpp::LdapLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - messageId
    - ' objectName'
    - ' attributes'
    - ' controls'
    argTypes:
    - uint16_t
    - std::string
    - std::vector<LdapAttribute>
    - std::vector<LdapControl>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 860
    functionName: pcpp::LdapSearchResultEntryLayer::LdapSearchResultEntryLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - Asn1OctetStringRecord::Asn1OctetStringRecord
    - PointerVector::pushBack
    - Asn1SequenceRecord::Asn1SequenceRecord
    - pcpp::LdapLayer::init
    linkageType: ''
    returnType: void
    signature: "void LdapSearchResultEntryLayer::LdapSearchResultEntryLayer(uint16_t
      messageId, const std::string& objectName,\n\t                                                       const
      std::vector<LdapAttribute>& attributes,\n\t                                                       const
      std::vector<LdapControl>& controls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 869
    functionName: pcpp::LdapSearchResultEntryLayer::getObjectName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    linkageType: ''
    returnType: std::string
    signature: std::string LdapSearchResultEntryLayer::getObjectName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:876,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:877,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:879,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:882,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:885,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:887,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:889,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:889,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp:893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 897
    functionName: pcpp::LdapSearchResultEntryLayer::getAttributes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
    functionUses: 0
    functionsReached:
    - getLdapOperationAsn1Record
    - auto::getSubRecords
    - castAs
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<LdapAttribute>
    signature: std::vector<LdapAttribute> LdapSearchResultEntryLayer::getAttributes()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:13,1
    - Dst: getArpHeader
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:16,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:17,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:17,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:18,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:19,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:20,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - opCode
    - ' senderMacAddr'
    - ' senderIpAddr'
    - ' targetMacAddr'
    - ' targetIpAddr'
    argTypes:
    - ArpOpcode
    - MacAddress
    - IPv4Address
    - MacAddress
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 22
    functionName: pcpp::ArpLayer::ArpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - htobe16
    - copyTo
    - getArpHeader
    - allocData
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: "void ArpLayer::ArpLayer(ArpOpcode opCode, const MacAddress& senderMacAddr,
      const IPv4Address& senderIpAddr,\n\t                   const MacAddress& targetMacAddr,
      const IPv4Address& targetIpAddr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - opCode
    - ' senderMacAddr'
    - ' targetMacAddr'
    - ' senderIpAddr'
    - ' targetIpAddr'
    argTypes:
    - ArpOpcode
    - MacAddress
    - MacAddress
    - IPv4Address
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: pcpp::ArpLayer::ArpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ArpLayer::ArpLayer(ArpOpcode opCode, const MacAddress& senderMacAddr,
      const MacAddress& targetMacAddr,\n\t                   const IPv4Address& senderIpAddr,
      const IPv4Address& targetIpAddr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' arpRequest'
    argTypes:
    - ArpRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::ArpLayer::ArpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArpLayer::ArpLayer(ArpRequest const& arpRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' arpReply'
    argTypes:
    - ArpReply
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: pcpp::ArpLayer::ArpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArpLayer::ArpLayer(ArpReply const& arpReply)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' gratuitousArpRequest'
    argTypes:
    - GratuitousArpRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pcpp::ArpLayer::ArpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArpLayer::ArpLayer(GratuitousArpRequest const& gratuitousArpRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' gratuitousArpReply'
    argTypes:
    - GratuitousArpReply
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::ArpLayer::ArpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArpLayer::ArpLayer(GratuitousArpReply const& gratuitousArpReply)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ArpOpcode>
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:53,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:53,1
    - Dst: getArpHeader
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: pcpp::ArpLayer::getOpcode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getArpHeader
    - static_cast<ArpOpcode>
    linkageType: ''
    returnType: ArpOpcode
    signature: ArpOpcode ArpLayer::getOpcode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getArpHeader
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:58,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:59,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: pcpp::ArpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - getArpHeader
    linkageType: ''
    returnType: void
    signature: void ArpLayer::computeCalculateFields()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ArpLayer::getOpcode
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:67,1
    - Dst: getTargetMacAddress
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:71,1
    - Dst: getSenderIpAddr
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:71,1
    - Dst: getTargetIpAddr
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:71,1
    - Dst: getTargetMacAddress
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:79,1
    - Dst: getSenderIpAddr
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:79,1
    - Dst: getTargetIpAddr
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 88
    functionName: pcpp::ArpLayer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached:
    - getSenderIpAddr
    - getTargetMacAddress
    - pcpp::ArpLayer::getOpcode
    - getTargetIpAddr
    linkageType: ''
    returnType: ArpMessageType
    signature: ArpMessageType ArpLayer::getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ArpLayer::getOpcode
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: pcpp::ArpLayer::isRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ArpLayer::getOpcode
    linkageType: ''
    returnType: bool
    signature: bool ArpLayer::isRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ArpLayer::getOpcode
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: pcpp::ArpLayer::isReply
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ArpLayer::getOpcode
    linkageType: ''
    returnType: bool
    signature: bool ArpLayer::isReply() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ArpLayer::getOpcode
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:102,1
    - Dst: getTargetIpAddr
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:105,1
    - Dst: getSenderIpAddr
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:106,1
    - Dst: getSenderIpAddr
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:108,1
    - Dst: getSenderMacAddress
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:109,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:111,1
    - Dst: pcpp::ArpLayer::getOpcode
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: pcpp::ArpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached:
    - getSenderMacAddress
    - getSenderIpAddr
    - getTargetIpAddr
    - pcpp::ArpLayer::getOpcode
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string ArpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:13,1
    - Dst: getArpHeader
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:16,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:17,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:17,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:18,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:19,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:20,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - opCode
    - ' senderMacAddr'
    - ' senderIpAddr'
    - ' targetMacAddr'
    - ' targetIpAddr'
    argTypes:
    - ArpOpcode
    - MacAddress
    - IPv4Address
    - MacAddress
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 22
    functionName: pcpp::ArpLayer::ArpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - htobe16
    - copyTo
    - getArpHeader
    - allocData
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: "void ArpLayer::ArpLayer(ArpOpcode opCode, const MacAddress& senderMacAddr,
      const IPv4Address& senderIpAddr,\n\t                   const MacAddress& targetMacAddr,
      const IPv4Address& targetIpAddr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - opCode
    - ' senderMacAddr'
    - ' targetMacAddr'
    - ' senderIpAddr'
    - ' targetIpAddr'
    argTypes:
    - ArpOpcode
    - MacAddress
    - MacAddress
    - IPv4Address
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: pcpp::ArpLayer::ArpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ArpLayer::ArpLayer(ArpOpcode opCode, const MacAddress& senderMacAddr,
      const MacAddress& targetMacAddr,\n\t                   const IPv4Address& senderIpAddr,
      const IPv4Address& targetIpAddr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' arpRequest'
    argTypes:
    - ArpRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::ArpLayer::ArpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArpLayer::ArpLayer(ArpRequest const& arpRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' arpReply'
    argTypes:
    - ArpReply
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: pcpp::ArpLayer::ArpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArpLayer::ArpLayer(ArpReply const& arpReply)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' gratuitousArpRequest'
    argTypes:
    - GratuitousArpRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pcpp::ArpLayer::ArpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArpLayer::ArpLayer(GratuitousArpRequest const& gratuitousArpRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' gratuitousArpReply'
    argTypes:
    - GratuitousArpReply
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::ArpLayer::ArpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArpLayer::ArpLayer(GratuitousArpReply const& gratuitousArpReply)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ArpOpcode>
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:53,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:53,1
    - Dst: getArpHeader
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: pcpp::ArpLayer::getOpcode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 4
    functionsReached:
    - be16toh
    - getArpHeader
    - static_cast<ArpOpcode>
    linkageType: ''
    returnType: ArpOpcode
    signature: ArpOpcode ArpLayer::getOpcode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getArpHeader
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:58,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:59,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: pcpp::ArpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - getArpHeader
    linkageType: ''
    returnType: void
    signature: void ArpLayer::computeCalculateFields()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ArpLayer::getOpcode
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:67,1
    - Dst: getTargetMacAddress
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:71,1
    - Dst: getSenderIpAddr
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:71,1
    - Dst: getTargetIpAddr
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:71,1
    - Dst: getTargetMacAddress
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:79,1
    - Dst: getSenderIpAddr
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:79,1
    - Dst: getTargetIpAddr
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 88
    functionName: pcpp::ArpLayer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached:
    - getSenderIpAddr
    - getTargetMacAddress
    - pcpp::ArpLayer::getOpcode
    - getTargetIpAddr
    linkageType: ''
    returnType: ArpMessageType
    signature: ArpMessageType ArpLayer::getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ArpLayer::getOpcode
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: pcpp::ArpLayer::isRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ArpLayer::getOpcode
    linkageType: ''
    returnType: bool
    signature: bool ArpLayer::isRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ArpLayer::getOpcode
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: pcpp::ArpLayer::isReply
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ArpLayer::getOpcode
    linkageType: ''
    returnType: bool
    signature: bool ArpLayer::isReply() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ArpLayer::getOpcode
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:102,1
    - Dst: getTargetIpAddr
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:105,1
    - Dst: getSenderIpAddr
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:106,1
    - Dst: getSenderIpAddr
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:108,1
    - Dst: getSenderMacAddress
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:109,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:111,1
    - Dst: pcpp::ArpLayer::getOpcode
      Src: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: pcpp::ArpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
    functionUses: 0
    functionsReached:
    - getSenderMacAddress
    - getSenderIpAddr
    - getTargetIpAddr
    - pcpp::ArpLayer::getOpcode
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string ArpLayer::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHIdentificationMessage::tryParse
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:20,1
    - Dst: pcpp::SSHHandshakeMessage::tryParse
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:24,1
    - Dst: SSHEncryptedMessage::SSHEncryptedMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: pcpp::SSHLayer::createSSHMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - SSHEncryptedMessage::SSHEncryptedMessage
    - pcpp::SSHHandshakeMessage::tryParse
    - pcpp::SSHIdentificationMessage::tryParse
    linkageType: ''
    returnType: SSHLayer
    signature: SSHLayer * SSHLayer::createSSHMessage(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:33,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: pcpp::SSHLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayerFromFactory
    - getHeaderLen
    linkageType: ''
    returnType: void
    signature: void SSHLayer::parseNextLayer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSHIdentificationMessage::SSHIdentificationMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: pcpp::SSHIdentificationMessage::tryParse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 1
    functionsReached:
    - SSHIdentificationMessage::SSHIdentificationMessage
    linkageType: ''
    returnType: SSHIdentificationMessage
    signature: "SSHIdentificationMessage * SSHIdentificationMessage::tryParse(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                             Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:62,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: pcpp::SSHIdentificationMessage::getIdentificationMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - string
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string SSHIdentificationMessage::getIdentificationMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: pcpp::SSHIdentificationMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - string
    linkageType: ''
    returnType: std::string
    signature: std::string SSHIdentificationMessage::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHHandshakeMessage::getMsgBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:76,1
    - Dst: static_cast<SSHHandshakeMessage::SSHHandshakeMessageType>
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: pcpp::SSHHandshakeMessage::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SSHHandshakeMessage::SSHHandshakeMessageType>
    - pcpp::SSHHandshakeMessage::getMsgBaseHeader
    linkageType: ''
    returnType: SSHHandshakeMessage::SSHHandshakeMessageType
    signature: SSHHandshakeMessage::SSHHandshakeMessageType SSHHandshakeMessage::getMessageType()
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHHandshakeMessage::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: pcpp::SSHHandshakeMessage::getMessageTypeStr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSHHandshakeMessage::getMessageType
    linkageType: ''
    returnType: std::string
    signature: std::string SSHHandshakeMessage::getMessageTypeStr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::SSHHandshakeMessage::getSSHHandshakeMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSHHandshakeMessage::getSSHHandshakeMessage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:112,1
    - Dst: pcpp::SSHHandshakeMessage::getMsgBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:112,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:113,1
    - Dst: pcpp::SSHHandshakeMessage::getMsgBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: pcpp::SSHHandshakeMessage::getSSHHandshakeMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - static_cast<size_t>
    - pcpp::SSHHandshakeMessage::getMsgBaseHeader
    linkageType: ''
    returnType: size_t
    signature: size_t SSHHandshakeMessage::getSSHHandshakeMessageLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHHandshakeMessage::getMsgBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: pcpp::SSHHandshakeMessage::getPaddingLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSHHandshakeMessage::getMsgBaseHeader
    linkageType: ''
    returnType: size_t
    signature: size_t SSHHandshakeMessage::getPaddingLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:123,1
    - Dst: pcpp::SSHHandshakeMessage::getMsgBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: pcpp::SSHHandshakeMessage::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SSHHandshakeMessage::getMsgBaseHeader
    linkageType: ''
    returnType: size_t
    signature: size_t SSHHandshakeMessage::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:128,1
    - Dst: pcpp::SSHHandshakeMessage::getMessageTypeStr
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: pcpp::SSHHandshakeMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - string
    - pcpp::SSHHandshakeMessage::getMessageTypeStr
    linkageType: ''
    returnType: std::string
    signature: std::string SSHHandshakeMessage::toString() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:135,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:142,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:145,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:151,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:158,1
    - Dst: SSHKeyExchangeInitMessage::SSHKeyExchangeInitMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:166,1
    - Dst: SSHHandshakeMessage::SSHHandshakeMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 170
    functionName: pcpp::SSHHandshakeMessage::tryParse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 1
    functionsReached:
    - be32toh
    - SSHHandshakeMessage::SSHHandshakeMessage
    - SSHKeyExchangeInitMessage::SSHKeyExchangeInitMessage
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: SSHHandshakeMessage
    signature: SSHHandshakeMessage * SSHHandshakeMessage::tryParse(uint8_t* data,
      size_t dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: pcpp::SSHKeyExchangeInitMessage::SSHKeyExchangeInitMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void SSHKeyExchangeInitMessage::SSHKeyExchangeInitMessage(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                     Packet*
      packet)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:195,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:195,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:195,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 208
    functionName: pcpp::SSHKeyExchangeInitMessage::parseMessageAndInitOffsets
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - reinterpret_cast<uint32_t*>
    - static_cast<size_t>
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void SSHKeyExchangeInitMessage::parseMessageAndInitOffsets()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::parseMessageAndInitOffsets
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:213,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:219,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:219,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:220,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - fieldOffsetIndex
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: pcpp::SSHKeyExchangeInitMessage::getFieldValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - be32toh
    - reinterpret_cast<uint32_t*>
    - string
    - pcpp::SSHKeyExchangeInitMessage::parseMessageAndInitOffsets
    linkageType: ''
    returnType: std::string
    signature: std::string SSHKeyExchangeInitMessage::getFieldValue(int fieldOffsetIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: pcpp::SSHKeyExchangeInitMessage::getCookie
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSHKeyExchangeInitMessage::getCookie()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getCookie
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:233,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: pcpp::SSHKeyExchangeInitMessage::getCookieAsHexStream
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    - pcpp::SSHKeyExchangeInitMessage::getCookie
    linkageType: ''
    returnType: std::string
    signature: std::string SSHKeyExchangeInitMessage::getCookieAsHexStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::parseMessageAndInitOffsets
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: pcpp::SSHKeyExchangeInitMessage::isFirstKexPacketFollows
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::parseMessageAndInitOffsets
    linkageType: ''
    returnType: bool
    signature: bool SSHKeyExchangeInitMessage::isFirstKexPacketFollows()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: pcpp::SSHEncryptedMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - string
    linkageType: ''
    returnType: std::string
    signature: std::string SSHEncryptedMessage::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHIdentificationMessage::tryParse
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:20,1
    - Dst: pcpp::SSHHandshakeMessage::tryParse
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:24,1
    - Dst: SSHEncryptedMessage::SSHEncryptedMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: pcpp::SSHLayer::createSSHMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - SSHEncryptedMessage::SSHEncryptedMessage
    - pcpp::SSHHandshakeMessage::tryParse
    - pcpp::SSHIdentificationMessage::tryParse
    linkageType: ''
    returnType: SSHLayer
    signature: SSHLayer * SSHLayer::createSSHMessage(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:33,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: pcpp::SSHLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayerFromFactory
    - getHeaderLen
    linkageType: ''
    returnType: void
    signature: void SSHLayer::parseNextLayer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSHIdentificationMessage::SSHIdentificationMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: pcpp::SSHIdentificationMessage::tryParse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 2
    functionsReached:
    - SSHIdentificationMessage::SSHIdentificationMessage
    linkageType: ''
    returnType: SSHIdentificationMessage
    signature: "SSHIdentificationMessage * SSHIdentificationMessage::tryParse(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                             Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:62,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: pcpp::SSHIdentificationMessage::getIdentificationMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - string
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string SSHIdentificationMessage::getIdentificationMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: pcpp::SSHIdentificationMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - string
    linkageType: ''
    returnType: std::string
    signature: std::string SSHIdentificationMessage::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHHandshakeMessage::getMsgBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:76,1
    - Dst: static_cast<SSHHandshakeMessage::SSHHandshakeMessageType>
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: pcpp::SSHHandshakeMessage::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<SSHHandshakeMessage::SSHHandshakeMessageType>
    - pcpp::SSHHandshakeMessage::getMsgBaseHeader
    linkageType: ''
    returnType: SSHHandshakeMessage::SSHHandshakeMessageType
    signature: SSHHandshakeMessage::SSHHandshakeMessageType SSHHandshakeMessage::getMessageType()
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHHandshakeMessage::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: pcpp::SSHHandshakeMessage::getMessageTypeStr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SSHHandshakeMessage::getMessageType
    linkageType: ''
    returnType: std::string
    signature: std::string SSHHandshakeMessage::getMessageTypeStr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::SSHHandshakeMessage::getSSHHandshakeMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSHHandshakeMessage::getSSHHandshakeMessage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:112,1
    - Dst: pcpp::SSHHandshakeMessage::getMsgBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:112,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:113,1
    - Dst: pcpp::SSHHandshakeMessage::getMsgBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: pcpp::SSHHandshakeMessage::getSSHHandshakeMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - static_cast<size_t>
    - pcpp::SSHHandshakeMessage::getMsgBaseHeader
    linkageType: ''
    returnType: size_t
    signature: size_t SSHHandshakeMessage::getSSHHandshakeMessageLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHHandshakeMessage::getMsgBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: pcpp::SSHHandshakeMessage::getPaddingLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSHHandshakeMessage::getMsgBaseHeader
    linkageType: ''
    returnType: size_t
    signature: size_t SSHHandshakeMessage::getPaddingLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:123,1
    - Dst: pcpp::SSHHandshakeMessage::getMsgBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: pcpp::SSHHandshakeMessage::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SSHHandshakeMessage::getMsgBaseHeader
    linkageType: ''
    returnType: size_t
    signature: size_t SSHHandshakeMessage::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:128,1
    - Dst: pcpp::SSHHandshakeMessage::getMessageTypeStr
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: pcpp::SSHHandshakeMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - string
    - pcpp::SSHHandshakeMessage::getMessageTypeStr
    linkageType: ''
    returnType: std::string
    signature: std::string SSHHandshakeMessage::toString() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:135,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:142,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:145,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:151,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:158,1
    - Dst: SSHKeyExchangeInitMessage::SSHKeyExchangeInitMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:166,1
    - Dst: SSHHandshakeMessage::SSHHandshakeMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:168,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 170
    functionName: pcpp::SSHHandshakeMessage::tryParse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 2
    functionsReached:
    - be32toh
    - SSHHandshakeMessage::SSHHandshakeMessage
    - SSHKeyExchangeInitMessage::SSHKeyExchangeInitMessage
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: SSHHandshakeMessage
    signature: SSHHandshakeMessage * SSHHandshakeMessage::tryParse(uint8_t* data,
      size_t dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: pcpp::SSHKeyExchangeInitMessage::SSHKeyExchangeInitMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void SSHKeyExchangeInitMessage::SSHKeyExchangeInitMessage(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                     Packet*
      packet)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:195,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:195,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:195,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 208
    functionName: pcpp::SSHKeyExchangeInitMessage::parseMessageAndInitOffsets
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 2
    functionsReached:
    - be32toh
    - reinterpret_cast<uint32_t*>
    - static_cast<size_t>
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void SSHKeyExchangeInitMessage::parseMessageAndInitOffsets()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::parseMessageAndInitOffsets
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:213,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:219,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:219,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:220,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - fieldOffsetIndex
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: pcpp::SSHKeyExchangeInitMessage::getFieldValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - be32toh
    - reinterpret_cast<uint32_t*>
    - string
    - pcpp::SSHKeyExchangeInitMessage::parseMessageAndInitOffsets
    linkageType: ''
    returnType: std::string
    signature: std::string SSHKeyExchangeInitMessage::getFieldValue(int fieldOffsetIndex)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: pcpp::SSHKeyExchangeInitMessage::getCookie
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSHKeyExchangeInitMessage::getCookie()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getCookie
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:233,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: pcpp::SSHKeyExchangeInitMessage::getCookieAsHexStream
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    - pcpp::SSHKeyExchangeInitMessage::getCookie
    linkageType: ''
    returnType: std::string
    signature: std::string SSHKeyExchangeInitMessage::getCookieAsHexStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::parseMessageAndInitOffsets
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: pcpp::SSHKeyExchangeInitMessage::isFirstKexPacketFollows
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::parseMessageAndInitOffsets
    linkageType: ''
    returnType: bool
    signature: bool SSHKeyExchangeInitMessage::isFirstKexPacketFollows()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: pcpp::SSHEncryptedMessage::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
    functionUses: 0
    functionsReached:
    - string
    linkageType: ''
    returnType: std::string
    signature: std::string SSHEncryptedMessage::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: pcpp::StpLayer::IDtoMacAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 4
    functionsReached:
    - MacAddress
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress StpLayer::IDtoMacAddress(uint64_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: pcpp::StpLayer::macAddressToID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - copyTo
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t StpLayer::macAddressToID(const pcpp::MacAddress& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: pcpp::StpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StpLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<stp_tcn_bpdu*>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:38,1
    - Dst: pcpp::StpConfigurationBPDULayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:42,1
    - Dst: StpConfigurationBPDULayer::StpConfigurationBPDULayer
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:43,1
    - Dst: pcpp::RapidStpLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:47,1
    - Dst: RapidStpLayer::RapidStpLayer
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:48,1
    - Dst: pcpp::MultipleStpLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:51,1
    - Dst: MultipleStpLayer::MultipleStpLayer
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:52,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:54,1
    - Dst: pcpp::StpTopologyChangeBPDULayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:57,1
    - Dst: StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:58,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:64,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: pcpp::StpLayer::parseStpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - MultipleStpLayer::MultipleStpLayer
    - pcpp::MultipleStpLayer::isDataValid
    - pcpp::RapidStpLayer::isDataValid
    - pcpp::StpTopologyChangeBPDULayer::isDataValid
    - StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
    - StpConfigurationBPDULayer::StpConfigurationBPDULayer
    - pcpp::StpConfigurationBPDULayer::isDataValid
    - RapidStpLayer::RapidStpLayer
    - PCPP_LOG_DEBUG
    - reinterpret_cast<stp_tcn_bpdu*>
    linkageType: ''
    returnType: StpLayer
    signature: StpLayer * StpLayer::parseStpLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setProtoId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:77,1
    - Dst: setVersion
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:78,1
    - Dst: setType
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: pcpp::StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - setVersion
    - setProtoId
    - setType
    linkageType: ''
    returnType: void
    signature: void StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: pcpp::StpTopologyChangeBPDULayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void StpTopologyChangeBPDULayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setProtoId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:94,1
    - Dst: setVersion
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:95,1
    - Dst: setType
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: pcpp::StpConfigurationBPDULayer::StpConfigurationBPDULayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - setVersion
    - setProtoId
    - setType
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::StpConfigurationBPDULayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:101,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: pcpp::StpConfigurationBPDULayer::getRootId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - be64toh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t StpConfigurationBPDULayer::getRootId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:106,1
    - Dst: htobe64
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: pcpp::StpConfigurationBPDULayer::setRootId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe64
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setRootId(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:111,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: pcpp::StpConfigurationBPDULayer::getRootPriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t StpConfigurationBPDULayer::getRootPriority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:116,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:116,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:116,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pcpp::StpConfigurationBPDULayer::setRootPriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe16
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setRootPriority(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:121,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: pcpp::StpConfigurationBPDULayer::getRootSystemIDExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t StpConfigurationBPDULayer::getRootSystemIDExtension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:126,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:126,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:126,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: pcpp::StpConfigurationBPDULayer::setRootSystemIDExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe16
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setRootSystemIDExtension(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::setRootId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:131,1
    - Dst: pcpp::StpConfigurationBPDULayer::getRootId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:131,1
    - Dst: macAddressToID
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: pcpp::StpConfigurationBPDULayer::setRootSystemID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getRootId
    - macAddressToID
    - pcpp::StpConfigurationBPDULayer::setRootId
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setRootSystemID(const pcpp::MacAddress&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:136,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: pcpp::StpConfigurationBPDULayer::getPathCost
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - be32toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t StpConfigurationBPDULayer::getPathCost() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:141,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: pcpp::StpConfigurationBPDULayer::setPathCost
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe32
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setPathCost(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:146,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: pcpp::StpConfigurationBPDULayer::getBridgeId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - be64toh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t StpConfigurationBPDULayer::getBridgeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:151,1
    - Dst: htobe64
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: pcpp::StpConfigurationBPDULayer::setBridgeId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe64
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setBridgeId(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:156,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: pcpp::StpConfigurationBPDULayer::getBridgePriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t StpConfigurationBPDULayer::getBridgePriority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:161,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:161,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:161,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: pcpp::StpConfigurationBPDULayer::setBridgePriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe16
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setBridgePriority(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:166,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: pcpp::StpConfigurationBPDULayer::getBridgeSystemIDExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t StpConfigurationBPDULayer::getBridgeSystemIDExtension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:171,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:171,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:171,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: pcpp::StpConfigurationBPDULayer::setBridgeSystemIDExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe16
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setBridgeSystemIDExtension(uint16_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::setBridgeId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:176,1
    - Dst: pcpp::StpConfigurationBPDULayer::getBridgeId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:176,1
    - Dst: macAddressToID
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: pcpp::StpConfigurationBPDULayer::setBridgeSystemID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::setBridgeId
    - pcpp::StpConfigurationBPDULayer::getBridgeId
    - macAddressToID
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setBridgeSystemID(const pcpp::MacAddress&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:181,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: pcpp::StpConfigurationBPDULayer::getPortId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t StpConfigurationBPDULayer::getPortId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:186,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: pcpp::StpConfigurationBPDULayer::setPortId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe16
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setPortId(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: pcpp::StpConfigurationBPDULayer::getMessageAge
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: double
    signature: double StpConfigurationBPDULayer::getMessageAge() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: pcpp::StpConfigurationBPDULayer::setMessageAge
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setMessageAge(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: pcpp::StpConfigurationBPDULayer::getMaximumAge
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: double
    signature: double StpConfigurationBPDULayer::getMaximumAge() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: pcpp::StpConfigurationBPDULayer::setMaximumAge
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setMaximumAge(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: pcpp::StpConfigurationBPDULayer::getTransmissionInterval
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: double
    signature: double StpConfigurationBPDULayer::getTransmissionInterval() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: pcpp::StpConfigurationBPDULayer::setTransmissionInterval
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setTransmissionInterval(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: pcpp::StpConfigurationBPDULayer::getForwardDelay
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: double
    signature: double StpConfigurationBPDULayer::getForwardDelay() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: pcpp::StpConfigurationBPDULayer::setForwardDelay
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setForwardDelay(double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: pcpp::StpConfigurationBPDULayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setProtoId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:241,1
    - Dst: setVersion
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:242,1
    - Dst: setType
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: pcpp::RapidStpLayer::RapidStpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - setVersion
    - setProtoId
    - setType
    linkageType: ''
    returnType: void
    signature: void RapidStpLayer::RapidStpLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: pcpp::RapidStpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void RapidStpLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setProtoId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:258,1
    - Dst: setVersion
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:259,1
    - Dst: setType
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: pcpp::MultipleStpLayer::MultipleStpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - setVersion
    - setProtoId
    - setType
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::MultipleStpLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:265,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: pcpp::MultipleStpLayer::getVersion3Len
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t MultipleStpLayer::getVersion3Len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:270,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: pcpp::MultipleStpLayer::setVersion3Len
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setVersion3Len(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:275,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: pcpp::MultipleStpLayer::getCISTIrpc
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MultipleStpLayer::getCISTIrpc() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:280,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: pcpp::MultipleStpLayer::setCISTIrpc
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getMstpHeader
    - htobe32
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setCISTIrpc(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:285,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: pcpp::MultipleStpLayer::getCISTBridgeId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be64toh
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t MultipleStpLayer::getCISTBridgeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:290,1
    - Dst: htobe64
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: pcpp::MultipleStpLayer::setCISTBridgeId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getMstpHeader
    - htobe64
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setCISTBridgeId(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:295,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: pcpp::MultipleStpLayer::getCISTBridgePriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t MultipleStpLayer::getCISTBridgePriority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:300,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:300,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:300,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: pcpp::MultipleStpLayer::setCISTBridgePriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setCISTBridgePriority(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:305,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: pcpp::MultipleStpLayer::getCISTBridgeSystemIDExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t MultipleStpLayer::getCISTBridgeSystemIDExtension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:310,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:310,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:310,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: pcpp::MultipleStpLayer::setCISTBridgeSystemIDExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setCISTBridgeSystemIDExtension(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::setCISTBridgeId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:315,1
    - Dst: pcpp::MultipleStpLayer::getCISTBridgeId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:315,1
    - Dst: macAddressToID
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: pcpp::MultipleStpLayer::setCISTBridgeSystemID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getCISTBridgeId
    - macAddressToID
    - pcpp::MultipleStpLayer::setCISTBridgeId
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setCISTBridgeSystemID(const pcpp::MacAddress&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:320,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:320,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:320,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:321,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:321,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:321,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:321,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: pcpp::MultipleStpLayer::getMstConfigurationName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - string
    - find
    - pcpp::MultipleStpLayer::getMstpHeader
    - std::string::begin
    - std::string::erase
    - std::string::end
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string MultipleStpLayer::getMstConfigurationName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:327,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: pcpp::MultipleStpLayer::getMstConfigRevision
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t MultipleStpLayer::getMstConfigRevision() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:332,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: pcpp::MultipleStpLayer::setMstConfigRevision
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setMstConfigRevision(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:337,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:337,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:338,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:338,1
    - Dst: std::min<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - len
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: pcpp::MultipleStpLayer::setMstConfigDigest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - pcpp::MultipleStpLayer::getMstpHeader
    - std::min<size_t>
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setMstConfigDigest(const uint8_t* value, uint8_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:343,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:343,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:344,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:344,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:344,1
    - Dst: std::min<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:344,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: pcpp::MultipleStpLayer::setMstConfigurationName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::min<size_t>
    - size
    - memcpy
    - pcpp::MultipleStpLayer::getMstpHeader
    - memset
    - c_str
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setMstConfigurationName(const std::string& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getNumberOfMSTIConfMessages
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:349,1
    - Dst: reinterpret_cast<msti_conf_msg*>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: pcpp::MultipleStpLayer::getMstiConfMessages
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<msti_conf_msg*>
    - pcpp::MultipleStpLayer::getNumberOfMSTIConfMessages
    linkageType: ''
    returnType: msti_conf_msg
    signature: msti_conf_msg * MultipleStpLayer::getMstiConfMessages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: pcpp::StpLayer::IDtoMacAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 4
    functionsReached:
    - MacAddress
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress StpLayer::IDtoMacAddress(uint64_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: pcpp::StpLayer::macAddressToID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - copyTo
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t StpLayer::macAddressToID(const pcpp::MacAddress& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: pcpp::StpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool StpLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<stp_tcn_bpdu*>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:38,1
    - Dst: pcpp::StpConfigurationBPDULayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:42,1
    - Dst: StpConfigurationBPDULayer::StpConfigurationBPDULayer
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:43,1
    - Dst: pcpp::RapidStpLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:47,1
    - Dst: RapidStpLayer::RapidStpLayer
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:48,1
    - Dst: pcpp::MultipleStpLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:51,1
    - Dst: MultipleStpLayer::MultipleStpLayer
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:52,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:54,1
    - Dst: pcpp::StpTopologyChangeBPDULayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:57,1
    - Dst: StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:58,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:64,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: pcpp::StpLayer::parseStpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - MultipleStpLayer::MultipleStpLayer
    - pcpp::MultipleStpLayer::isDataValid
    - pcpp::RapidStpLayer::isDataValid
    - pcpp::StpTopologyChangeBPDULayer::isDataValid
    - StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
    - StpConfigurationBPDULayer::StpConfigurationBPDULayer
    - pcpp::StpConfigurationBPDULayer::isDataValid
    - RapidStpLayer::RapidStpLayer
    - PCPP_LOG_DEBUG
    - reinterpret_cast<stp_tcn_bpdu*>
    linkageType: ''
    returnType: StpLayer
    signature: StpLayer * StpLayer::parseStpLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setProtoId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:77,1
    - Dst: setVersion
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:78,1
    - Dst: setType
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: pcpp::StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - setVersion
    - setProtoId
    - setType
    linkageType: ''
    returnType: void
    signature: void StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: pcpp::StpTopologyChangeBPDULayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void StpTopologyChangeBPDULayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setProtoId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:94,1
    - Dst: setVersion
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:95,1
    - Dst: setType
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: pcpp::StpConfigurationBPDULayer::StpConfigurationBPDULayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - setVersion
    - setProtoId
    - setType
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::StpConfigurationBPDULayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:101,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: pcpp::StpConfigurationBPDULayer::getRootId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - be64toh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t StpConfigurationBPDULayer::getRootId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:106,1
    - Dst: htobe64
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: pcpp::StpConfigurationBPDULayer::setRootId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe64
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setRootId(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:111,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: pcpp::StpConfigurationBPDULayer::getRootPriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t StpConfigurationBPDULayer::getRootPriority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:116,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:116,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:116,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pcpp::StpConfigurationBPDULayer::setRootPriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe16
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setRootPriority(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:121,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: pcpp::StpConfigurationBPDULayer::getRootSystemIDExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t StpConfigurationBPDULayer::getRootSystemIDExtension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:126,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:126,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:126,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: pcpp::StpConfigurationBPDULayer::setRootSystemIDExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe16
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setRootSystemIDExtension(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::setRootId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:131,1
    - Dst: pcpp::StpConfigurationBPDULayer::getRootId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:131,1
    - Dst: macAddressToID
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: pcpp::StpConfigurationBPDULayer::setRootSystemID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getRootId
    - macAddressToID
    - pcpp::StpConfigurationBPDULayer::setRootId
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setRootSystemID(const pcpp::MacAddress&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:136,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: pcpp::StpConfigurationBPDULayer::getPathCost
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - be32toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t StpConfigurationBPDULayer::getPathCost() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:141,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: pcpp::StpConfigurationBPDULayer::setPathCost
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe32
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setPathCost(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:146,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: pcpp::StpConfigurationBPDULayer::getBridgeId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - be64toh
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t StpConfigurationBPDULayer::getBridgeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:151,1
    - Dst: htobe64
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: pcpp::StpConfigurationBPDULayer::setBridgeId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe64
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setBridgeId(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:156,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: pcpp::StpConfigurationBPDULayer::getBridgePriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t StpConfigurationBPDULayer::getBridgePriority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:161,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:161,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:161,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: pcpp::StpConfigurationBPDULayer::setBridgePriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe16
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setBridgePriority(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:166,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: pcpp::StpConfigurationBPDULayer::getBridgeSystemIDExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t StpConfigurationBPDULayer::getBridgeSystemIDExtension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:171,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:171,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:171,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: pcpp::StpConfigurationBPDULayer::setBridgeSystemIDExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe16
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setBridgeSystemIDExtension(uint16_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::setBridgeId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:176,1
    - Dst: pcpp::StpConfigurationBPDULayer::getBridgeId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:176,1
    - Dst: macAddressToID
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: pcpp::StpConfigurationBPDULayer::setBridgeSystemID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::setBridgeId
    - pcpp::StpConfigurationBPDULayer::getBridgeId
    - macAddressToID
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setBridgeSystemID(const pcpp::MacAddress&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:181,1
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: pcpp::StpConfigurationBPDULayer::getPortId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t StpConfigurationBPDULayer::getPortId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:186,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: pcpp::StpConfigurationBPDULayer::setPortId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    - htobe16
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setPortId(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: pcpp::StpConfigurationBPDULayer::getMessageAge
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: double
    signature: double StpConfigurationBPDULayer::getMessageAge() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: pcpp::StpConfigurationBPDULayer::setMessageAge
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setMessageAge(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: pcpp::StpConfigurationBPDULayer::getMaximumAge
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: double
    signature: double StpConfigurationBPDULayer::getMaximumAge() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: pcpp::StpConfigurationBPDULayer::setMaximumAge
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setMaximumAge(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: pcpp::StpConfigurationBPDULayer::getTransmissionInterval
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: double
    signature: double StpConfigurationBPDULayer::getTransmissionInterval() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: pcpp::StpConfigurationBPDULayer::setTransmissionInterval
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setTransmissionInterval(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: pcpp::StpConfigurationBPDULayer::getForwardDelay
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: double
    signature: double StpConfigurationBPDULayer::getForwardDelay() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: pcpp::StpConfigurationBPDULayer::setForwardDelay
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::setForwardDelay(double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: pcpp::StpConfigurationBPDULayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setProtoId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:241,1
    - Dst: setVersion
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:242,1
    - Dst: setType
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: pcpp::RapidStpLayer::RapidStpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - setVersion
    - setProtoId
    - setType
    linkageType: ''
    returnType: void
    signature: void RapidStpLayer::RapidStpLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: pcpp::RapidStpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void RapidStpLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setProtoId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:258,1
    - Dst: setVersion
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:259,1
    - Dst: setType
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: pcpp::MultipleStpLayer::MultipleStpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - setVersion
    - setProtoId
    - setType
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::MultipleStpLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:265,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: pcpp::MultipleStpLayer::getVersion3Len
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t MultipleStpLayer::getVersion3Len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:270,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: pcpp::MultipleStpLayer::setVersion3Len
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setVersion3Len(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:275,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: pcpp::MultipleStpLayer::getCISTIrpc
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MultipleStpLayer::getCISTIrpc() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:280,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: pcpp::MultipleStpLayer::setCISTIrpc
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getMstpHeader
    - htobe32
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setCISTIrpc(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:285,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: pcpp::MultipleStpLayer::getCISTBridgeId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 1
    functionsReached:
    - be64toh
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t MultipleStpLayer::getCISTBridgeId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:290,1
    - Dst: htobe64
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: pcpp::MultipleStpLayer::setCISTBridgeId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::MultipleStpLayer::getMstpHeader
    - htobe64
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setCISTBridgeId(uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:295,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: pcpp::MultipleStpLayer::getCISTBridgePriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t MultipleStpLayer::getCISTBridgePriority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:300,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:300,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:300,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: pcpp::MultipleStpLayer::setCISTBridgePriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setCISTBridgePriority(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:305,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: pcpp::MultipleStpLayer::getCISTBridgeSystemIDExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t MultipleStpLayer::getCISTBridgeSystemIDExtension() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:310,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:310,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:310,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: pcpp::MultipleStpLayer::setCISTBridgeSystemIDExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setCISTBridgeSystemIDExtension(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::setCISTBridgeId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:315,1
    - Dst: pcpp::MultipleStpLayer::getCISTBridgeId
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:315,1
    - Dst: macAddressToID
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: pcpp::MultipleStpLayer::setCISTBridgeSystemID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getCISTBridgeId
    - macAddressToID
    - pcpp::MultipleStpLayer::setCISTBridgeId
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setCISTBridgeSystemID(const pcpp::MacAddress&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:320,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:320,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:320,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:321,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:321,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:321,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:321,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: pcpp::MultipleStpLayer::getMstConfigurationName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - string
    - find
    - pcpp::MultipleStpLayer::getMstpHeader
    - std::string::begin
    - std::string::erase
    - std::string::end
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string MultipleStpLayer::getMstConfigurationName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:327,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: pcpp::MultipleStpLayer::getMstConfigRevision
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t MultipleStpLayer::getMstConfigRevision() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:332,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: pcpp::MultipleStpLayer::setMstConfigRevision
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setMstConfigRevision(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:337,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:337,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:338,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:338,1
    - Dst: std::min<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - len
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: pcpp::MultipleStpLayer::setMstConfigDigest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - pcpp::MultipleStpLayer::getMstpHeader
    - std::min<size_t>
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setMstConfigDigest(const uint8_t* value, uint8_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:343,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:343,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:344,1
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:344,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:344,1
    - Dst: std::min<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:344,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: pcpp::MultipleStpLayer::setMstConfigurationName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::min<size_t>
    - size
    - memcpy
    - pcpp::MultipleStpLayer::getMstpHeader
    - memset
    - c_str
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer::setMstConfigurationName(const std::string& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getNumberOfMSTIConfMessages
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:349,1
    - Dst: reinterpret_cast<msti_conf_msg*>
      Src: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: pcpp::MultipleStpLayer::getMstiConfMessages
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<msti_conf_msg*>
    - pcpp::MultipleStpLayer::getNumberOfMSTIConfMessages
    linkageType: ''
    returnType: msti_conf_msg
    signature: msti_conf_msg * MultipleStpLayer::getMstiConfMessages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:19,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:21,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:22,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:23,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' sourceMac'
    - ' destMac'
    - etherType
    argTypes:
    - MacAddress
    - MacAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: pcpp::EthLayer::EthLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - copyTo
    - pcpp::EthLayer::getEthHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void EthLayer::EthLayer(const MacAddress& sourceMac, const MacAddress&
      destMac, uint16_t etherType)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:33,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:37,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:40,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:43,1
    - Dst: tryConstructNextLayerWithFallback<ArpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:46,1
    - Dst: tryConstructNextLayerWithFallback<VlanLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:50,1
    - Dst: tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:53,1
    - Dst: tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:56,1
    - Dst: tryConstructNextLayerWithFallback<MplsLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:59,1
    - Dst: tryConstructNextLayerWithFallback<WakeOnLanLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:62,1
    - Dst: hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:67,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:68,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: pcpp::EthLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<ArpLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<WakeOnLanLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<VlanLayer, PayloadLayer>
    - pcpp::EthLayer::getEthHeader
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - hasNextLayer
    - be16toh
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<MplsLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void EthLayer::parseNextLayer()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:76,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:79,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:79,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:82,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:82,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:85,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:85,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:88,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: pcpp::EthLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::EthLayer::getEthHeader
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void EthLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::EthLayer::getSourceMac
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:97,1
    - Dst: pcpp::EthLayer::getDestMac
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: pcpp::EthLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::EthLayer::getSourceMac
    - pcpp::EthLayer::getDestMac
    linkageType: ''
    returnType: std::string
    signature: std::string EthLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:111,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:111,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: pcpp::EthLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - reinterpret_cast<const uint16_t*>
    - static_cast<uint16_t>
    linkageType: ''
    returnType: bool
    signature: bool EthLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:19,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:21,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:22,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:23,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' sourceMac'
    - ' destMac'
    - etherType
    argTypes:
    - MacAddress
    - MacAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 26
    functionName: pcpp::EthLayer::EthLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - copyTo
    - pcpp::EthLayer::getEthHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void EthLayer::EthLayer(const MacAddress& sourceMac, const MacAddress&
      destMac, uint16_t etherType)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:33,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:37,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:40,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:43,1
    - Dst: tryConstructNextLayerWithFallback<ArpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:46,1
    - Dst: tryConstructNextLayerWithFallback<VlanLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:50,1
    - Dst: tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:53,1
    - Dst: tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:56,1
    - Dst: tryConstructNextLayerWithFallback<MplsLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:59,1
    - Dst: tryConstructNextLayerWithFallback<WakeOnLanLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:62,1
    - Dst: hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:67,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:68,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: pcpp::EthLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<ArpLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<WakeOnLanLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<VlanLayer, PayloadLayer>
    - pcpp::EthLayer::getEthHeader
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - hasNextLayer
    - be16toh
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<MplsLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void EthLayer::parseNextLayer()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:76,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:79,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:79,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:82,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:82,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:85,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:85,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:88,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: pcpp::EthLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::EthLayer::getEthHeader
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void EthLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::EthLayer::getSourceMac
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:97,1
    - Dst: pcpp::EthLayer::getDestMac
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: pcpp::EthLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::EthLayer::getSourceMac
    - pcpp::EthLayer::getDestMac
    linkageType: ''
    returnType: std::string
    signature: std::string EthLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:111,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:111,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: pcpp::EthLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - reinterpret_cast<const uint16_t*>
    - static_cast<uint16_t>
    linkageType: ''
    returnType: bool
    signature: bool EthLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isAllocatedToPacket
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: Layer::~Layer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - isAllocatedToPacket
    linkageType: ''
    returnType: void
    signature: void Layer::~Layer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:20,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:21,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: pcpp::Layer::Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - getHeaderLen
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void Layer::Layer(const Layer& other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:37,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:41,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: '& Layer::operator=(const Layer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - getHeaderLen
    - uint8_t::uint8_t
    linkageType: ''
    returnType: Layer
    signature: Layer & Layer::operator=(const Layer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::protoFamilyContainsProtocol
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - protocolTypeFamily
    argTypes:
    - ProtocolTypeFamily
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: pcpp::Layer::isMemberOfProtocolFamily
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::protoFamilyContainsProtocol
    linkageType: ''
    returnType: bool
    signature: bool Layer::isMemberOfProtocolFamily(ProtocolTypeFamily protocolTypeFamily)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - toArr
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: pcpp::Layer::copyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Layer::copyData(uint8_t* toArr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - destSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: pcpp::Layer::copyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t Layer::copyData(uint8_t* dest, size_t destSize) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:68,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:75,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:78,1
    - Dst: std::fill_n
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - dataLen
    - zeroInit
    argTypes:
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: pcpp::Layer::allocData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - std::fill_n
    - std::runtime_error
    - uint8_t::uint8_t
    - std::logic_error
    linkageType: ''
    returnType: void
    signature: void Layer::allocData(size_t dataLen, bool zeroInit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:90,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:94,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:96,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:98,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:101,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:102,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:103,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - offsetInLayer
    - numOfBytesToExtend
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 111
    functionName: pcpp::Layer::extendLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Layer::getAttachedPacket
    - static_cast<size_t>
    - PCPP_LOG_ERROR
    - memcpy
    - uint8_t::uint8_t
    linkageType: ''
    returnType: bool
    signature: bool Layer::extendLayer(int offsetInLayer, size_t numOfBytesToExtend)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:117,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:121,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:123,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:127,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:129,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:131,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:134,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:135,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:136,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - offsetInLayer
    - numOfBytesToShorten
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 145
    functionName: pcpp::Layer::shortenLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Layer::getAttachedPacket
    - static_cast<size_t>
    - PCPP_LOG_ERROR
    - memcpy
    - uint8_t::uint8_t
    linkageType: ''
    returnType: bool
    signature: bool Layer::shortenLayer(int offsetInLayer, size_t numOfBytesToShorten)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isAllocatedToPacket
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: Layer::~Layer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - isAllocatedToPacket
    linkageType: ''
    returnType: void
    signature: void Layer::~Layer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:20,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:21,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: pcpp::Layer::Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - getHeaderLen
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void Layer::Layer(const Layer& other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:37,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:41,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: '& Layer::operator=(const Layer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - getHeaderLen
    - uint8_t::uint8_t
    linkageType: ''
    returnType: Layer
    signature: Layer & Layer::operator=(const Layer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::protoFamilyContainsProtocol
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - protocolTypeFamily
    argTypes:
    - ProtocolTypeFamily
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: pcpp::Layer::isMemberOfProtocolFamily
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::protoFamilyContainsProtocol
    linkageType: ''
    returnType: bool
    signature: bool Layer::isMemberOfProtocolFamily(ProtocolTypeFamily protocolTypeFamily)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - toArr
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: pcpp::Layer::copyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void Layer::copyData(uint8_t* toArr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - destSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: pcpp::Layer::copyData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t Layer::copyData(uint8_t* dest, size_t destSize) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:68,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:75,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:78,1
    - Dst: std::fill_n
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - dataLen
    - zeroInit
    argTypes:
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: pcpp::Layer::allocData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - std::fill_n
    - std::runtime_error
    - uint8_t::uint8_t
    - std::logic_error
    linkageType: ''
    returnType: void
    signature: void Layer::allocData(size_t dataLen, bool zeroInit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:90,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:94,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:96,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:98,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:101,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:102,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:103,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - offsetInLayer
    - numOfBytesToExtend
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 111
    functionName: pcpp::Layer::extendLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Layer::getAttachedPacket
    - static_cast<size_t>
    - PCPP_LOG_ERROR
    - memcpy
    - uint8_t::uint8_t
    linkageType: ''
    returnType: bool
    signature: bool Layer::extendLayer(int offsetInLayer, size_t numOfBytesToExtend)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:117,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:121,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:123,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:127,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:129,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:131,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:134,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:135,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:136,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/Layer.cpp:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - offsetInLayer
    - numOfBytesToShorten
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 145
    functionName: pcpp::Layer::shortenLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Layer::getAttachedPacket
    - static_cast<size_t>
    - PCPP_LOG_ERROR
    - memcpy
    - uint8_t::uint8_t
    linkageType: ''
    returnType: bool
    signature: bool Layer::shortenLayer(int offsetInLayer, size_t numOfBytesToShorten)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: pcpp::splitByWhiteSpaces
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> splitByWhiteSpaces(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:24,1
    - Dst: parseFields
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: pcpp::SdpLayer::SdpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - parseFields
    linkageType: ''
    returnType: void
    signature: void SdpLayer::SdpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: pcpp::SdpLayer::SdpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    linkageType: ''
    returnType: void
    signature: void SdpLayer::SdpLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:38,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:44,1
    - Dst: addField
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:47,1
    - Dst: IPv4Address::toString
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:53,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:55,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:55,1
    - Dst: addField
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:56,1
    - Dst: addField
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:58,1
    - Dst: addField
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:60,1
    - Dst: addField
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:66,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:66,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 7
    argNames:
    - ' username'
    - sessionID
    - sessionVersion
    - ipAddress
    - ' sessionName'
    - startTime
    - stopTime
    argTypes:
    - std::string
    - long
    - long
    - IPv4Address
    - std::string
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 67
    functionName: pcpp::SdpLayer::SdpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - std::stringstream::str
    - IPv4Address::toString
    - addField
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: "void SdpLayer::SdpLayer(const std::string& username, long sessionID,
      long sessionVersion, IPv4Address ipAddress,\n\t                   const std::string&
      sessionName, long startTime, long stopTime)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: pcpp::SdpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SdpLayer::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:76,1
    - Dst: splitByWhiteSpaces
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:80,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:80,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:81,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: pcpp::SdpLayer::getOwnerIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached:
    - IPv4Address
    - splitByWhiteSpaces
    - std::vector::size
    - HeaderField*::getFieldValue
    - getFieldByName
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address SdpLayer::getOwnerIPv4Address() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:100,1
    - Dst: splitByWhiteSpaces
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:104,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:104,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:106,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:107,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:107,1
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' mediaType'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: pcpp::SdpLayer::getMediaPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached:
    - splitByWhiteSpaces
    - std::vector::size
    - atoi
    - HeaderField*::getFieldValue
    - getFieldByName
    - c_str
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SdpLayer::getMediaPort(const std::string& mediaType) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:123,1
    - Dst: addField
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:124,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:126,1
    - Dst: addField
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:132,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - ' mediaType'
    - mediaPort
    - ' mediaProtocol'
    - ' mediaFormat'
    - ' mediaAttributes'
    argTypes:
    - std::string
    - uint16_t
    - std::string
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 140
    functionName: pcpp::SdpLayer::addMediaDescription
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - PCPP_LOG_ERROR
    - addField
    linkageType: ''
    returnType: bool
    signature: "bool SdpLayer::addMediaDescription(const std::string& mediaType, uint16_t
      mediaPort,\n\t                                   const std::string& mediaProtocol,
      const std::string& mediaFormat,\n\t                                   const
      std::vector<std::string>& mediaAttributes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: pcpp::splitByWhiteSpaces
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> splitByWhiteSpaces(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:24,1
    - Dst: parseFields
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: pcpp::SdpLayer::SdpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - parseFields
    linkageType: ''
    returnType: void
    signature: void SdpLayer::SdpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: pcpp::SdpLayer::SdpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    linkageType: ''
    returnType: void
    signature: void SdpLayer::SdpLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:38,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:44,1
    - Dst: addField
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:47,1
    - Dst: IPv4Address::toString
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:53,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:55,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:55,1
    - Dst: addField
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:56,1
    - Dst: addField
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:58,1
    - Dst: addField
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:60,1
    - Dst: addField
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:66,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:66,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 7
    argNames:
    - ' username'
    - sessionID
    - sessionVersion
    - ipAddress
    - ' sessionName'
    - startTime
    - stopTime
    argTypes:
    - std::string
    - long
    - long
    - IPv4Address
    - std::string
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 67
    functionName: pcpp::SdpLayer::SdpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - std::stringstream::str
    - IPv4Address::toString
    - addField
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: "void SdpLayer::SdpLayer(const std::string& username, long sessionID,
      long sessionVersion, IPv4Address ipAddress,\n\t                   const std::string&
      sessionName, long startTime, long stopTime)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: pcpp::SdpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SdpLayer::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:76,1
    - Dst: splitByWhiteSpaces
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:80,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:80,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:81,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: pcpp::SdpLayer::getOwnerIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached:
    - IPv4Address
    - splitByWhiteSpaces
    - std::vector::size
    - HeaderField*::getFieldValue
    - getFieldByName
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address SdpLayer::getOwnerIPv4Address() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:100,1
    - Dst: splitByWhiteSpaces
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:104,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:104,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:106,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:107,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:107,1
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' mediaType'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: pcpp::SdpLayer::getMediaPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached:
    - splitByWhiteSpaces
    - std::vector::size
    - atoi
    - HeaderField*::getFieldValue
    - getFieldByName
    - c_str
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SdpLayer::getMediaPort(const std::string& mediaType) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:123,1
    - Dst: addField
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:124,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:126,1
    - Dst: addField
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:132,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - ' mediaType'
    - mediaPort
    - ' mediaProtocol'
    - ' mediaFormat'
    - ' mediaAttributes'
    argTypes:
    - std::string
    - uint16_t
    - std::string
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 140
    functionName: pcpp::SdpLayer::addMediaDescription
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - PCPP_LOG_ERROR
    - addField
    linkageType: ''
    returnType: bool
    signature: "bool SdpLayer::addMediaDescription(const std::string& mediaType, uint16_t
      mediaPort,\n\t                                   const std::string& mediaProtocol,
      const std::string& mediaFormat,\n\t                                   const
      std::vector<std::string>& mediaAttributes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:12,1
    - Dst: pcpp::TpktLayer::getTpktHeader
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:14,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - version
    - length
    argTypes:
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: pcpp::TpktLayer::TpktLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::TpktLayer::getTpktHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void TpktLayer::TpktLayer(uint8_t version, uint16_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TpktLayer::getTpktHeader
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: pcpp::TpktLayer::getReserved
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TpktLayer::getTpktHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t TpktLayer::getReserved() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TpktLayer::getTpktHeader
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pcpp::TpktLayer::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TpktLayer::getTpktHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t TpktLayer::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:33,1
    - Dst: pcpp::TpktLayer::getTpktHeader
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::TpktLayer::getLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::TpktLayer::getTpktHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t TpktLayer::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TpktLayer::getTpktHeader
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:38,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: pcpp::TpktLayer::setLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::TpktLayer::getTpktHeader
    linkageType: ''
    returnType: void
    signature: void TpktLayer::setLength(uint16_t length) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TpktLayer::getTpktHeader
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pcpp::TpktLayer::setVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TpktLayer::getTpktHeader
    linkageType: ''
    returnType: void
    signature: void TpktLayer::setVersion(uint8_t version) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:49,1
    - Dst: pcpp::TpktLayer::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:49,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:51,1
    - Dst: pcpp::TpktLayer::getLength
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:51,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:53,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: pcpp::TpktLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TpktLayer::getLength
    - std::ostringstream::str
    - pcpp::TpktLayer::getVersion
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string TpktLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TpktLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:58,1
    - Dst: tryConstructNextLayerWithFallback<CotpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: pcpp::TpktLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayerWithFallback<CotpLayer, PayloadLayer>
    - pcpp::TpktLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void TpktLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:12,1
    - Dst: pcpp::TpktLayer::getTpktHeader
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:14,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - version
    - length
    argTypes:
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: pcpp::TpktLayer::TpktLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::TpktLayer::getTpktHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void TpktLayer::TpktLayer(uint8_t version, uint16_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TpktLayer::getTpktHeader
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: pcpp::TpktLayer::getReserved
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TpktLayer::getTpktHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t TpktLayer::getReserved() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TpktLayer::getTpktHeader
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pcpp::TpktLayer::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TpktLayer::getTpktHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t TpktLayer::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:33,1
    - Dst: pcpp::TpktLayer::getTpktHeader
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::TpktLayer::getLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::TpktLayer::getTpktHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t TpktLayer::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TpktLayer::getTpktHeader
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:38,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: pcpp::TpktLayer::setLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::TpktLayer::getTpktHeader
    linkageType: ''
    returnType: void
    signature: void TpktLayer::setLength(uint16_t length) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TpktLayer::getTpktHeader
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pcpp::TpktLayer::setVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TpktLayer::getTpktHeader
    linkageType: ''
    returnType: void
    signature: void TpktLayer::setVersion(uint8_t version) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:49,1
    - Dst: pcpp::TpktLayer::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:49,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:51,1
    - Dst: pcpp::TpktLayer::getLength
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:51,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:53,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: pcpp::TpktLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TpktLayer::getLength
    - std::ostringstream::str
    - pcpp::TpktLayer::getVersion
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string TpktLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TpktLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:58,1
    - Dst: tryConstructNextLayerWithFallback<CotpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: pcpp::TpktLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayerWithFallback<CotpLayer, PayloadLayer>
    - pcpp::TpktLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void TpktLayer::parseNextLayer()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:36,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:41,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:49,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - first
    - maxCount
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 61
    functionName: pcpp::getTelnetSequenceType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: TelnetSequenceType
    signature: TelnetSequenceType getTelnetSequenceType(uint8_t const* first, size_t
      maxCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getTelnetSequenceType
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - maxCount
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: pcpp::isTelnetCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::getTelnetSequenceType
    linkageType: ''
    returnType: bool
    signature: bool isTelnetCommand(uint8_t const* first, size_t maxCount)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:86,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:93,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:99,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 114
    functionName: pcpp::findNextIAC
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - find
    - std::next
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * findNextIAC(uint8_t* first, uint8_t* last)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:36,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:41,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:49,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - first
    - maxCount
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 61
    functionName: pcpp::getTelnetSequenceType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: TelnetSequenceType
    signature: TelnetSequenceType getTelnetSequenceType(uint8_t const* first, size_t
      maxCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getTelnetSequenceType
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - maxCount
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: pcpp::isTelnetCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::getTelnetSequenceType
    linkageType: ''
    returnType: bool
    signature: bool isTelnetCommand(uint8_t const* first, size_t maxCount)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:86,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:93,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:99,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 114
    functionName: pcpp::findNextIAC
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - find
    - std::next
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * findNextIAC(uint8_t* first, uint8_t* last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findNextIAC
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:121,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - startPos
    - maxLength
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: pcpp::TelnetLayer::distanceToNextIAC
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - findNextIAC
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t TelnetLayer::distanceToNextIAC(uint8_t* startPos, size_t maxLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:128,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:131,1
    - Dst: pcpp::TelnetLayer::distanceToNextIAC
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:132,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:134,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:135,1
    - Dst: std::min<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:136,1
    - Dst: pcpp::TelnetLayer::distanceToNextIAC
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - startPos
    - maxLength
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: pcpp::TelnetLayer::getFieldLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - std::min<size_t>
    - static_cast<int>
    - pcpp::TelnetLayer::distanceToNextIAC
    linkageType: ''
    returnType: size_t
    signature: size_t TelnetLayer::getFieldLen(uint8_t* startPos, size_t maxLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:148,1
    - Dst: getTelnetSequenceType
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:153,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:153,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:157,1
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:167,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pos
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 172
    functionName: pcpp::TelnetLayer::getNextDataField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - std::distance
    - pcpp::TelnetLayer::getFieldLen
    - getTelnetSequenceType
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * TelnetLayer::getNextDataField(uint8_t* pos, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:180,1
    - Dst: getTelnetSequenceType
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:185,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:185,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:189,1
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:199,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pos
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 204
    functionName: pcpp::TelnetLayer::getNextCommandField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - std::distance
    - pcpp::TelnetLayer::getFieldLen
    - getTelnetSequenceType
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * TelnetLayer::getNextCommandField(uint8_t* pos, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:208,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pos
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: pcpp::TelnetLayer::getSubCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int16_t
    signature: int16_t TelnetLayer::getSubCommand(uint8_t* pos, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pos
    - ' len'
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: pcpp::TelnetLayer::getCommandData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * TelnetLayer::getCommandData(uint8_t* pos, size_t& len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:228,1
    - Dst: getTelnetSequenceType
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:236,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:240,1
    - Dst: pcpp::TelnetLayer::getNextDataField
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:247,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:250,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:255,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:256,1
    - Dst: PCPP_ASSERT
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:259,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:264,1
    - Dst: std::copy_if
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:267,1
    - Dst: std::back_inserter
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:267,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:272,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:272,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - removeEscapeCharacters
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 273
    functionName: pcpp::TelnetLayer::getDataAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - PCPP_ASSERT
    - string
    - std::distance
    - pcpp::TelnetLayer::getNextDataField
    - std::copy_if
    - std::logic_error
    - getTelnetSequenceType
    - std::back_inserter
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string TelnetLayer::getDataAsString(bool removeEscapeCharacters)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isTelnetCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:278,1
    - Dst: pcpp::TelnetLayer::getNextCommandField
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 291
    functionName: pcpp::TelnetLayer::getTotalNumberOfCommands
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - isTelnetCommand
    - pcpp::TelnetLayer::getNextCommandField
    linkageType: ''
    returnType: size_t
    signature: size_t TelnetLayer::getTotalNumberOfCommands()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:295,1
    - Dst: isTelnetCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:299,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:299,1
    - Dst: pcpp::TelnetLayer::getNextCommandField
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:306,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - command
    argTypes:
    - TelnetCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 312
    functionName: pcpp::TelnetLayer::getNumberOfCommands
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - isTelnetCommand
    - static_cast<int>
    - pcpp::TelnetLayer::getNextCommandField
    linkageType: ''
    returnType: size_t
    signature: size_t TelnetLayer::getNumberOfCommands(TelnetCommand command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isTelnetCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:317,1
    - Dst: static_cast<TelnetCommand>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:318,1
    - Dst: pcpp::TelnetLayer::getNextCommandField
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:321,1
    - Dst: static_cast<TelnetCommand>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 325
    functionName: pcpp::TelnetLayer::getFirstCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - isTelnetCommand
    - pcpp::TelnetLayer::getNextCommandField
    - static_cast<TelnetCommand>
    linkageType: ''
    returnType: TelnetLayer::TelnetCommand
    signature: TelnetLayer::TelnetCommand TelnetLayer::getFirstCommand()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isTelnetCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:332,1
    - Dst: static_cast<TelnetLayer::TelnetCommand>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:333,1
    - Dst: pcpp::TelnetLayer::getNextCommandField
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:336,1
    - Dst: static_cast<TelnetLayer::TelnetCommand>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: pcpp::TelnetLayer::getNextCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - isTelnetCommand
    - static_cast<TelnetLayer::TelnetCommand>
    - pcpp::TelnetLayer::getNextCommandField
    linkageType: ''
    returnType: TelnetLayer::TelnetCommand
    signature: TelnetLayer::TelnetCommand TelnetLayer::getNextCommand()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TelnetOption>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:349,1
    - Dst: pcpp::TelnetLayer::getSubCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:349,1
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: pcpp::TelnetLayer::getOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TelnetLayer::getSubCommand
    - static_cast<TelnetOption>
    - pcpp::TelnetLayer::getFieldLen
    linkageType: ''
    returnType: TelnetLayer::TelnetOption
    signature: TelnetLayer::TelnetOption TelnetLayer::getOption()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:357,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:359,1
    - Dst: isTelnetCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:363,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:363,1
    - Dst: static_cast<TelnetOption>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:364,1
    - Dst: pcpp::TelnetLayer::getSubCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:364,1
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:364,1
    - Dst: pcpp::TelnetLayer::getNextCommandField
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:370,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:372,1
    - Dst: static_cast<TelnetOption>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:375,1
    - Dst: pcpp::TelnetLayer::getSubCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:375,1
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:375,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - command
    argTypes:
    - TelnetCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 381
    functionName: pcpp::TelnetLayer::getOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - isTelnetCommand
    - pcpp::TelnetLayer::getSubCommand
    - static_cast<int>
    - pcpp::TelnetLayer::getNextCommandField
    - pcpp::TelnetLayer::getFieldLen
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    - static_cast<TelnetOption>
    linkageType: ''
    returnType: TelnetLayer::TelnetOption
    signature: TelnetLayer::TelnetOption TelnetLayer::getOption(TelnetCommand command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:387,1
    - Dst: pcpp::TelnetLayer::getCommandData
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' length'
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 394
    functionName: pcpp::TelnetLayer::getOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TelnetLayer::getFieldLen
    - pcpp::TelnetLayer::getCommandData
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * TelnetLayer::getOptionData(size_t& length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:399,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:401,1
    - Dst: isTelnetCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:406,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:406,1
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:408,1
    - Dst: pcpp::TelnetLayer::getCommandData
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:409,1
    - Dst: pcpp::TelnetLayer::getNextCommandField
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:419,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:421,1
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:424,1
    - Dst: pcpp::TelnetLayer::getCommandData
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:425,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - command
    - ' length'
    argTypes:
    - TelnetCommand
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 435
    functionName: pcpp::TelnetLayer::getOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - isTelnetCommand
    - static_cast<int>
    - pcpp::TelnetLayer::getNextCommandField
    - pcpp::TelnetLayer::getFieldLen
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    - pcpp::TelnetLayer::getCommandData
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * TelnetLayer::getOptionData(TelnetCommand command, size_t&
      length)
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 1
    argNames:
    - val
    argTypes:
    - TelnetCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 486
    functionName: pcpp::TelnetLayer::getTelnetCommandAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TelnetLayer::getTelnetCommandAsString(TelnetCommand val)
  - BBCount: 57
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 115
    argCount: 1
    argNames:
    - val
    argTypes:
    - TelnetOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 605
    functionName: pcpp::TelnetLayer::getTelnetOptionAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TelnetLayer::getTelnetOptionAsString(TelnetOption val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getTelnetSequenceType
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:610,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 621
    functionName: pcpp::TelnetLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - std::logic_error
    - getTelnetSequenceType
    linkageType: ''
    returnType: std::string
    signature: std::string TelnetLayer::toString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:36,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:41,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:49,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - first
    - maxCount
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 61
    functionName: pcpp::getTelnetSequenceType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: TelnetSequenceType
    signature: TelnetSequenceType getTelnetSequenceType(uint8_t const* first, size_t
      maxCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getTelnetSequenceType
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - maxCount
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: pcpp::isTelnetCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::getTelnetSequenceType
    linkageType: ''
    returnType: bool
    signature: bool isTelnetCommand(uint8_t const* first, size_t maxCount)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:86,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:93,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:99,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 114
    functionName: pcpp::findNextIAC
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - find
    - std::next
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * findNextIAC(uint8_t* first, uint8_t* last)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:36,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:41,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:49,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - first
    - maxCount
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 61
    functionName: pcpp::getTelnetSequenceType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: TelnetSequenceType
    signature: TelnetSequenceType getTelnetSequenceType(uint8_t const* first, size_t
      maxCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getTelnetSequenceType
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - maxCount
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: pcpp::isTelnetCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::getTelnetSequenceType
    linkageType: ''
    returnType: bool
    signature: bool isTelnetCommand(uint8_t const* first, size_t maxCount)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:86,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:93,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:99,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 114
    functionName: pcpp::findNextIAC
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - find
    - std::next
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * findNextIAC(uint8_t* first, uint8_t* last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findNextIAC
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:121,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - startPos
    - maxLength
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: pcpp::TelnetLayer::distanceToNextIAC
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 1
    functionsReached:
    - findNextIAC
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t TelnetLayer::distanceToNextIAC(uint8_t* startPos, size_t maxLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:128,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:131,1
    - Dst: pcpp::TelnetLayer::distanceToNextIAC
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:132,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:134,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:135,1
    - Dst: std::min<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:136,1
    - Dst: pcpp::TelnetLayer::distanceToNextIAC
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - startPos
    - maxLength
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: pcpp::TelnetLayer::getFieldLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 6
    functionsReached:
    - std::min<size_t>
    - static_cast<int>
    - pcpp::TelnetLayer::distanceToNextIAC
    linkageType: ''
    returnType: size_t
    signature: size_t TelnetLayer::getFieldLen(uint8_t* startPos, size_t maxLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:148,1
    - Dst: getTelnetSequenceType
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:153,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:153,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:157,1
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:167,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pos
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 172
    functionName: pcpp::TelnetLayer::getNextDataField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 1
    functionsReached:
    - PCPP_LOG_DEBUG
    - std::distance
    - pcpp::TelnetLayer::getFieldLen
    - getTelnetSequenceType
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * TelnetLayer::getNextDataField(uint8_t* pos, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:180,1
    - Dst: getTelnetSequenceType
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:185,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:185,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:189,1
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:199,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pos
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 204
    functionName: pcpp::TelnetLayer::getNextCommandField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 6
    functionsReached:
    - PCPP_LOG_DEBUG
    - std::distance
    - pcpp::TelnetLayer::getFieldLen
    - getTelnetSequenceType
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * TelnetLayer::getNextCommandField(uint8_t* pos, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:208,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pos
    - len
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: pcpp::TelnetLayer::getSubCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 2
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int16_t
    signature: int16_t TelnetLayer::getSubCommand(uint8_t* pos, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pos
    - ' len'
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: pcpp::TelnetLayer::getCommandData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 2
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * TelnetLayer::getCommandData(uint8_t* pos, size_t& len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:228,1
    - Dst: getTelnetSequenceType
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:236,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:240,1
    - Dst: pcpp::TelnetLayer::getNextDataField
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:247,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:250,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:255,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:256,1
    - Dst: PCPP_ASSERT
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:259,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:264,1
    - Dst: std::copy_if
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:267,1
    - Dst: std::back_inserter
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:267,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:272,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:272,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - removeEscapeCharacters
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 273
    functionName: pcpp::TelnetLayer::getDataAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - PCPP_ASSERT
    - string
    - std::distance
    - pcpp::TelnetLayer::getNextDataField
    - std::copy_if
    - std::logic_error
    - getTelnetSequenceType
    - std::back_inserter
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string TelnetLayer::getDataAsString(bool removeEscapeCharacters)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isTelnetCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:278,1
    - Dst: pcpp::TelnetLayer::getNextCommandField
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 291
    functionName: pcpp::TelnetLayer::getTotalNumberOfCommands
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - isTelnetCommand
    - pcpp::TelnetLayer::getNextCommandField
    linkageType: ''
    returnType: size_t
    signature: size_t TelnetLayer::getTotalNumberOfCommands()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:295,1
    - Dst: isTelnetCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:299,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:299,1
    - Dst: pcpp::TelnetLayer::getNextCommandField
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:306,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - command
    argTypes:
    - TelnetCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 312
    functionName: pcpp::TelnetLayer::getNumberOfCommands
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - isTelnetCommand
    - static_cast<int>
    - pcpp::TelnetLayer::getNextCommandField
    linkageType: ''
    returnType: size_t
    signature: size_t TelnetLayer::getNumberOfCommands(TelnetCommand command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isTelnetCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:317,1
    - Dst: static_cast<TelnetCommand>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:318,1
    - Dst: pcpp::TelnetLayer::getNextCommandField
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:321,1
    - Dst: static_cast<TelnetCommand>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 325
    functionName: pcpp::TelnetLayer::getFirstCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - isTelnetCommand
    - pcpp::TelnetLayer::getNextCommandField
    - static_cast<TelnetCommand>
    linkageType: ''
    returnType: TelnetLayer::TelnetCommand
    signature: TelnetLayer::TelnetCommand TelnetLayer::getFirstCommand()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isTelnetCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:332,1
    - Dst: static_cast<TelnetLayer::TelnetCommand>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:333,1
    - Dst: pcpp::TelnetLayer::getNextCommandField
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:336,1
    - Dst: static_cast<TelnetLayer::TelnetCommand>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: pcpp::TelnetLayer::getNextCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - isTelnetCommand
    - static_cast<TelnetLayer::TelnetCommand>
    - pcpp::TelnetLayer::getNextCommandField
    linkageType: ''
    returnType: TelnetLayer::TelnetCommand
    signature: TelnetLayer::TelnetCommand TelnetLayer::getNextCommand()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TelnetOption>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:349,1
    - Dst: pcpp::TelnetLayer::getSubCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:349,1
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: pcpp::TelnetLayer::getOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TelnetLayer::getSubCommand
    - static_cast<TelnetOption>
    - pcpp::TelnetLayer::getFieldLen
    linkageType: ''
    returnType: TelnetLayer::TelnetOption
    signature: TelnetLayer::TelnetOption TelnetLayer::getOption()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:357,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:359,1
    - Dst: isTelnetCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:363,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:363,1
    - Dst: static_cast<TelnetOption>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:364,1
    - Dst: pcpp::TelnetLayer::getSubCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:364,1
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:364,1
    - Dst: pcpp::TelnetLayer::getNextCommandField
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:370,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:372,1
    - Dst: static_cast<TelnetOption>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:375,1
    - Dst: pcpp::TelnetLayer::getSubCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:375,1
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:375,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - command
    argTypes:
    - TelnetCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 381
    functionName: pcpp::TelnetLayer::getOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - isTelnetCommand
    - pcpp::TelnetLayer::getSubCommand
    - static_cast<int>
    - pcpp::TelnetLayer::getNextCommandField
    - pcpp::TelnetLayer::getFieldLen
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    - static_cast<TelnetOption>
    linkageType: ''
    returnType: TelnetLayer::TelnetOption
    signature: TelnetLayer::TelnetOption TelnetLayer::getOption(TelnetCommand command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:387,1
    - Dst: pcpp::TelnetLayer::getCommandData
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' length'
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 394
    functionName: pcpp::TelnetLayer::getOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TelnetLayer::getFieldLen
    - pcpp::TelnetLayer::getCommandData
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * TelnetLayer::getOptionData(size_t& length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:399,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:401,1
    - Dst: isTelnetCommand
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:406,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:406,1
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:408,1
    - Dst: pcpp::TelnetLayer::getCommandData
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:409,1
    - Dst: pcpp::TelnetLayer::getNextCommandField
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:419,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:421,1
    - Dst: pcpp::TelnetLayer::getFieldLen
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:424,1
    - Dst: pcpp::TelnetLayer::getCommandData
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:425,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - command
    - ' length'
    argTypes:
    - TelnetCommand
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 435
    functionName: pcpp::TelnetLayer::getOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - isTelnetCommand
    - static_cast<int>
    - pcpp::TelnetLayer::getNextCommandField
    - pcpp::TelnetLayer::getFieldLen
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    - pcpp::TelnetLayer::getCommandData
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * TelnetLayer::getOptionData(TelnetCommand command, size_t&
      length)
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 1
    argNames:
    - val
    argTypes:
    - TelnetCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 486
    functionName: pcpp::TelnetLayer::getTelnetCommandAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TelnetLayer::getTelnetCommandAsString(TelnetCommand val)
  - BBCount: 57
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 115
    argCount: 1
    argNames:
    - val
    argTypes:
    - TelnetOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 605
    functionName: pcpp::TelnetLayer::getTelnetOptionAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TelnetLayer::getTelnetOptionAsString(TelnetOption val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getTelnetSequenceType
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:610,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 621
    functionName: pcpp::TelnetLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    functionUses: 0
    functionsReached:
    - std::logic_error
    - getTelnetSequenceType
    linkageType: ''
    returnType: std::string
    signature: std::string TelnetLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: pcpp::DoIpLayer::DoIpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - allocData
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::DoIpLayer(size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: pcpp::DoIpLayer::DoIpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::DoIpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<doiphdr*>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:207,1
    - Dst: pcpp::DoIpLayer::isPayloadTypeValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:213,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:213,1
    - Dst: static_cast<DoIpPayloadTypes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:216,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:216,1
    - Dst: pcpp::DoIpLayer::isProtocolVersionValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:217,1
    - Dst: pcpp::DoIpLayer::isPayloadLengthValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:220,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: pcpp::DoIpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<doiphdr*>
    - static_cast<DoIpPayloadTypes>
    - pcpp::DoIpLayer::isProtocolVersionValid
    - be32toh
    - pcpp::DoIpLayer::isPayloadLengthValid
    - pcpp::DoIpLayer::isPayloadTypeValid
    - be16toh
    linkageType: ''
    returnType: bool
    signature: bool DoIpLayer::isDataValid(uint8_t* data, size_t dataLen)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<doiphdr*>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:228,1
    - Dst: static_cast<DoIpPayloadTypes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:230,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:230,1
    - Dst: pcpp::DoIpGenericHeaderNack::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:235,1
    - Dst: DoIpGenericHeaderNack::DoIpGenericHeaderNack
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:236,1
    - Dst: pcpp::DoIpVehicleIdentificationRequest::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:239,1
    - Dst: DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:240,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithEID::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:243,1
    - Dst: DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:244,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:247,1
    - Dst: DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:248,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:251,1
    - Dst: DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:252,1
    - Dst: pcpp::DoIpRoutingActivationRequest::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:255,1
    - Dst: DoIpRoutingActivationRequest::DoIpRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:256,1
    - Dst: pcpp::DoIpRoutingActivationResponse::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:259,1
    - Dst: DoIpRoutingActivationResponse::DoIpRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:260,1
    - Dst: pcpp::DoIpAliveCheckRequest::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:263,1
    - Dst: DoIpAliveCheckRequest::DoIpAliveCheckRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:264,1
    - Dst: pcpp::DoIpAliveCheckResponse::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:267,1
    - Dst: DoIpAliveCheckResponse::DoIpAliveCheckResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:268,1
    - Dst: pcpp::DoIpEntityStatusRequest::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:271,1
    - Dst: DoIpEntityStatusRequest::DoIpEntityStatusRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:272,1
    - Dst: pcpp::DoIpEntityStatusResponse::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:275,1
    - Dst: DoIpEntityStatusResponse::DoIpEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:276,1
    - Dst: pcpp::DoIpDiagnosticPowerModeRequest::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:279,1
    - Dst: DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:280,1
    - Dst: pcpp::DoIpDiagnosticPowerModeResponse::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:283,1
    - Dst: DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:284,1
    - Dst: pcpp::DoIpDiagnosticMessage::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:287,1
    - Dst: DoIpDiagnosticMessage::DoIpDiagnosticMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:288,1
    - Dst: pcpp::DoIpGenericHeaderNack::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:291,1
    - Dst: DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:292,1
    - Dst: pcpp::DoIpGenericHeaderNack::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:295,1
    - Dst: DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 301
    functionName: pcpp::DoIpLayer::parseDoIpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationRequest::isDataLenValid
    - DoIpGenericHeaderNack::DoIpGenericHeaderNack
    - DoIpEntityStatusResponse::DoIpEntityStatusResponse
    - DoIpAliveCheckRequest::DoIpAliveCheckRequest
    - DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest
    - pcpp::DoIpVehicleIdentificationRequest::isDataLenValid
    - DoIpDiagnosticMessage::DoIpDiagnosticMessage
    - pcpp::DoIpRoutingActivationResponse::isDataLenValid
    - DoIpEntityStatusRequest::DoIpEntityStatusRequest
    - DoIpRoutingActivationResponse::DoIpRoutingActivationResponse
    - DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage
    - DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest
    - pcpp::DoIpAliveCheckResponse::isDataLenValid
    - pcpp::DoIpVehicleIdentificationRequestWithEID::isDataLenValid
    - pcpp::DoIpAliveCheckRequest::isDataLenValid
    - be16toh
    - DoIpRoutingActivationRequest::DoIpRoutingActivationRequest
    - pcpp::DoIpEntityStatusResponse::isDataLenValid
    - DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse
    - DoIpAliveCheckResponse::DoIpAliveCheckResponse
    - pcpp::DoIpEntityStatusRequest::isDataLenValid
    - DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck
    - DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID
    - pcpp::DoIpGenericHeaderNack::isDataLenValid
    - reinterpret_cast<doiphdr*>
    - static_cast<DoIpPayloadTypes>
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::isDataLenValid
    - DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN
    - pcpp::DoIpVehicleAnnouncementMessage::isDataLenValid
    - DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack
    - pcpp::DoIpDiagnosticPowerModeRequest::isDataLenValid
    - pcpp::DoIpDiagnosticMessage::isDataLenValid
    - pcpp::DoIpDiagnosticPowerModeResponse::isDataLenValid
    linkageType: ''
    returnType: DoIpLayer
    signature: DoIpLayer * DoIpLayer::parseDoIpLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:305,1
    - Dst: static_cast<DoIpProtocolVersion>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:307,1
    - Dst: static_cast<DoIpProtocolVersion>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 320
    functionName: pcpp::DoIpLayer::getProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    - static_cast<DoIpProtocolVersion>
    linkageType: ''
    returnType: DoIpProtocolVersion
    signature: DoIpProtocolVersion DoIpLayer::getProtocolVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:324,1
    - Dst: pcpp::DoIpLayer::getProtocolVersion
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: pcpp::DoIpLayer::getProtocolVersionAsStr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - find
    - pcpp::DoIpLayer::getProtocolVersion
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpLayer::getProtocolVersionAsStr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:329,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - DoIpProtocolVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: pcpp::DoIpLayer::setProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::setProtocolVersion(DoIpProtocolVersion version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rawVersion
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: pcpp::DoIpLayer::setProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::setProtocolVersion(uint8_t rawVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: pcpp::DoIpLayer::getInvertProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t DoIpLayer::getInvertProtocolVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iVersion
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: pcpp::DoIpLayer::setInvertProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::setInvertProtocolVersion(uint8_t iVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:349,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:349,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - DoIpPayloadTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: pcpp::DoIpLayer::setPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    - htobe16
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::setPayloadType(DoIpPayloadTypes type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:354,1
    - Dst: getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:354,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: pcpp::DoIpLayer::getPayloadTypeAsStr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - end
    - getPayloadType
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpLayer::getPayloadTypeAsStr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:360,1
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: pcpp::DoIpLayer::getPayloadLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    - be32toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DoIpLayer::getPayloadLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:365,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - payloadLength
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: pcpp::DoIpLayer::setPayloadLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    - htobe32
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::setPayloadLength(uint32_t payloadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:371,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:371,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:371,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:372,1
    - Dst: getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:372,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: pcpp::DoIpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::setfill
    - getPayloadType
    - std::ostringstream::str
    - pcpp::DoIpLayer::getPayloadTypeAsStr
    - std::setw
    - static_cast<uint16_t>
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::setProtocolVersion
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:378,1
    - Dst: pcpp::DoIpLayer::setInvertProtocolVersion
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:379,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:379,1
    - Dst: pcpp::DoIpLayer::setPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:380,1
    - Dst: pcpp::DoIpLayer::setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - version
    - type
    - length
    argTypes:
    - DoIpProtocolVersion
    - DoIpPayloadTypes
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 382
    functionName: pcpp::DoIpLayer::setHeaderFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpLayer::setInvertProtocolVersion
    - static_cast<uint8_t>
    - pcpp::DoIpLayer::setProtocolVersion
    - pcpp::DoIpLayer::setPayloadLength
    - pcpp::DoIpLayer::setPayloadType
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::setHeaderFields(DoIpProtocolVersion version, DoIpPayloadTypes
      type, uint32_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:386,1
    - Dst: pcpp::DoIpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:388,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:398,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 400
    functionName: pcpp::DoIpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - getPayloadType
    - constructNextLayer<PayloadLayer>
    - getAttachedPacket
    - pcpp::DoIpLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: pcpp::DoIpGenericHeaderNack::DoIpGenericHeaderNack
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpGenericHeaderNack::DoIpGenericHeaderNack(uint8_t* data, size_t
      dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:411,1
    - Dst: pcpp::DoIpGenericHeaderNack::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:411,1
    - Dst: pcpp::DoIpGenericHeaderNack::setNackCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nackCode
    argTypes:
    - DoIpGenericHeaderNackCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: pcpp::DoIpGenericHeaderNack::DoIpGenericHeaderNack
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setHeaderFields
    - pcpp::DoIpGenericHeaderNack::setNackCode
    - pcpp::DoIpGenericHeaderNack::getPayloadType
    linkageType: ''
    returnType: void
    signature: void DoIpGenericHeaderNack::DoIpGenericHeaderNack(DoIpGenericHeaderNackCodes
      nackCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:417,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:418,1
    - Dst: static_cast<DoIpGenericHeaderNackCodes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 423
    functionName: pcpp::DoIpGenericHeaderNack::getNackCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DoIpGenericHeaderNackCodes>
    - pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
    - static_cast<uint8_t>
    linkageType: ''
    returnType: DoIpGenericHeaderNackCodes
    signature: DoIpGenericHeaderNackCodes DoIpGenericHeaderNack::getNackCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:427,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nackCode
    argTypes:
    - DoIpGenericHeaderNackCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: pcpp::DoIpGenericHeaderNack::setNackCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpGenericHeaderNack::setNackCode(DoIpGenericHeaderNackCodes
      nackCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpGenericHeaderNack::getNackCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:433,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:434,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:436,1
    - Dst: pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:436,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: pcpp::DoIpGenericHeaderNack::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - find
    - pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
    - std::ostringstream::str
    - pcpp::DoIpGenericHeaderNack::getNackCode
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpGenericHeaderNack::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:445,1
    - Dst: pcpp::DoIpVehicleIdentificationRequest::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: pcpp::DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpVehicleIdentificationRequest::getPayloadType
    - setHeaderFields
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID(uint8_t*
      data, size_t dataLen,\n\t                                                                                 Layer*
      prevLayer, Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:460,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithEID::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:460,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithEID::setEID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' eid'
    argTypes:
    - std::array<uint8_t, DOIP_EID_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 462
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setHeaderFields
    - pcpp::DoIpVehicleIdentificationRequestWithEID::getPayloadType
    - pcpp::DoIpVehicleIdentificationRequestWithEID::setEID
    linkageType: ''
    returnType: void
    signature: "void DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID(\n\t
      \   const std::array<uint8_t, DOIP_EID_LEN>& eid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithEID::getVehicleIdentificationRequestWEID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::getEID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpVehicleIdentificationRequestWithEID::getVehicleIdentificationRequestWEID
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_EID_LEN>
    signature: std::array<uint8_t, DOIP_EID_LEN> DoIpVehicleIdentificationRequestWithEID::getEID()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithEID::getVehicleIdentificationRequestWEID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' eid'
    argTypes:
    - std::array<uint8_t, DOIP_EID_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::setEID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpVehicleIdentificationRequestWithEID::getVehicleIdentificationRequestWEID
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleIdentificationRequestWithEID::setEID(const std::array<uint8_t,
      DOIP_EID_LEN>& eid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:477,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithEID::getEID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:477,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpVehicleIdentificationRequestWithEID::getEID
    - std::ostringstream::str
    - pcpp::byteArrayToHexString
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpVehicleIdentificationRequestWithEID::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN(uint8_t*
      data, size_t dataLen,\n\t                                                                                 Layer*
      prevLayer, Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:493,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:493,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::setVIN
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vin'
    argTypes:
    - std::array<uint8_t, DOIP_VIN_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 495
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::getPayloadType
    - setHeaderFields
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::setVIN
    linkageType: ''
    returnType: void
    signature: "void DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN(\n\t
      \   const std::array<uint8_t, DOIP_VIN_LEN>& vin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::getVehicleIdentificationRequestWVIN
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::getVIN
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::getVehicleIdentificationRequestWVIN
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_VIN_LEN>
    signature: std::array<uint8_t, DOIP_VIN_LEN> DoIpVehicleIdentificationRequestWithVIN::getVIN()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::getVehicleIdentificationRequestWVIN
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vin'
    argTypes:
    - std::array<uint8_t, DOIP_VIN_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::setVIN
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::getVehicleIdentificationRequestWVIN
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleIdentificationRequestWithVIN::setVIN(const std::array<uint8_t,
      DOIP_VIN_LEN>& vin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:510,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:510,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::getVIN
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:510,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - string
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::getVIN
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpVehicleIdentificationRequestWithVIN::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: pcpp::DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                               Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:529,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:529,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::setVIN
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:531,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::setLogicalAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:532,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::setEID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:533,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::setGID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:534,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::setFurtherActionRequired
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ' vin'
    - logicalAddress
    - ' eid'
    - ' gid'
    - actionCode
    argTypes:
    - std::array<uint8_t, DOIP_VIN_LEN>
    - uint16_t
    - std::array<uint8_t, DOIP_EID_LEN>
    - std::array<uint8_t, DOIP_GID_LEN>
    - DoIpActionCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 536
    functionName: pcpp::DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::setEID
    - pcpp::DoIpVehicleAnnouncementMessage::setFurtherActionRequired
    - pcpp::DoIpVehicleAnnouncementMessage::setVIN
    - pcpp::DoIpVehicleAnnouncementMessage::getPayloadType
    - pcpp::DoIpVehicleAnnouncementMessage::setGID
    - pcpp::DoIpVehicleAnnouncementMessage::setLogicalAddress
    - setHeaderFields
    linkageType: ''
    returnType: void
    signature: "void DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage(const
      std::array<uint8_t, DOIP_VIN_LEN>& vin,\n\t                                                               uint16_t
      logicalAddress,\n\t                                                               const
      std::array<uint8_t, DOIP_EID_LEN>& eid,\n\t                                                               const
      std::array<uint8_t, DOIP_GID_LEN>& gid,\n\t                                                               DoIpActionCodes
      actionCode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getVIN
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_VIN_LEN>
    signature: std::array<uint8_t, DOIP_VIN_LEN> DoIpVehicleAnnouncementMessage::getVIN()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vin'
    argTypes:
    - std::array<uint8_t, DOIP_VIN_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: pcpp::DoIpVehicleAnnouncementMessage::setVIN
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleAnnouncementMessage::setVIN(const std::array<uint8_t,
      DOIP_VIN_LEN>& vin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:550,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getLogicalAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DoIpVehicleAnnouncementMessage::getLogicalAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:555,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - logicalAddress
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: pcpp::DoIpVehicleAnnouncementMessage::setLogicalAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleAnnouncementMessage::setLogicalAddress(uint16_t logicalAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getEID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_EID_LEN>
    signature: std::array<uint8_t, DOIP_EID_LEN> DoIpVehicleAnnouncementMessage::getEID()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' eid'
    argTypes:
    - std::array<uint8_t, DOIP_EID_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: pcpp::DoIpVehicleAnnouncementMessage::setEID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleAnnouncementMessage::setEID(const std::array<uint8_t,
      DOIP_EID_LEN>& eid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getGID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_GID_LEN>
    signature: std::array<uint8_t, DOIP_GID_LEN> DoIpVehicleAnnouncementMessage::getGID()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' gid'
    argTypes:
    - std::array<uint8_t, DOIP_GID_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: pcpp::DoIpVehicleAnnouncementMessage::setGID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleAnnouncementMessage::setGID(const std::array<uint8_t,
      DOIP_GID_LEN>& gid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:580,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:581,1
    - Dst: static_cast<DoIpActionCodes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 586
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getFurtherActionRequired
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DoIpActionCodes>
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    - static_cast<uint8_t>
    linkageType: ''
    returnType: DoIpActionCodes
    signature: DoIpActionCodes DoIpVehicleAnnouncementMessage::getFurtherActionRequired()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:590,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - DoIpActionCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 591
    functionName: pcpp::DoIpVehicleAnnouncementMessage::setFurtherActionRequired
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleAnnouncementMessage::setFurtherActionRequired(DoIpActionCodes
      action)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:595,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:596,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:599,1
    - Dst: static_cast<DoIpSyncStatus>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 603
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getSyncStatus
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DoIpSyncStatus>
    - std::runtime_error
    - pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
    - static_cast<uint8_t>
    linkageType: ''
    returnType: DoIpSyncStatus
    signature: DoIpSyncStatus DoIpVehicleAnnouncementMessage::getSyncStatus() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:607,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:609,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:611,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - syncStatus
    argTypes:
    - DoIpSyncStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 613
    functionName: pcpp::DoIpVehicleAnnouncementMessage::setSyncStatus
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - setPayloadLength
    - pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleAnnouncementMessage::setSyncStatus(DoIpSyncStatus syncStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 618
    functionName: pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DoIpVehicleAnnouncementMessage::hasSyncStatus() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:622,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:624,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:627,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: pcpp::DoIpVehicleAnnouncementMessage::clearSyncStatus
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setPayloadLength
    - shortenLayer
    - pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleAnnouncementMessage::clearSyncStatus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:634,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:634,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVIN
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:634,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getLogicalAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:635,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:636,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getEID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:636,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:637,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getGID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:637,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:639,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getFurtherActionRequired
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:639,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:641,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:641,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:643,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getSyncStatus
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:645,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:646,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:648,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 652
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - pcpp::DoIpVehicleAnnouncementMessage::getGID
    - pcpp::byteArrayToHexString
    - reinterpret_cast<const char*>
    - pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
    - string
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    - pcpp::DoIpVehicleAnnouncementMessage::getVIN
    - find
    - pcpp::DoIpVehicleAnnouncementMessage::getLogicalAddress
    - pcpp::DoIpVehicleAnnouncementMessage::getFurtherActionRequired
    - pcpp::DoIpVehicleAnnouncementMessage::getSyncStatus
    - std::ostringstream::str
    - pcpp::DoIpVehicleAnnouncementMessage::getEID
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpVehicleAnnouncementMessage::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: pcpp::DoIpRoutingActivationRequest::DoIpRoutingActivationRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpRoutingActivationRequest::DoIpRoutingActivationRequest(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                           Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:666,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:666,1
    - Dst: pcpp::DoIpRoutingActivationRequest::setSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:668,1
    - Dst: pcpp::DoIpRoutingActivationRequest::setActivationType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:669,1
    - Dst: pcpp::DoIpRoutingActivationRequest::setReservedIso
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sourceAddress
    - activationType
    argTypes:
    - uint16_t
    - DoIpActivationTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 672
    functionName: pcpp::DoIpRoutingActivationRequest::DoIpRoutingActivationRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationRequest::setReservedIso
    - pcpp::DoIpRoutingActivationRequest::setSourceAddress
    - setHeaderFields
    - pcpp::DoIpRoutingActivationRequest::setActivationType
    - pcpp::DoIpRoutingActivationRequest::getPayloadType
    linkageType: ''
    returnType: void
    signature: "void DoIpRoutingActivationRequest::DoIpRoutingActivationRequest(uint16_t
      sourceAddress,\n\t                                                           DoIpActivationTypes
      activationType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:676,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: pcpp::DoIpRoutingActivationRequest::getSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DoIpRoutingActivationRequest::getSourceAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:681,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: pcpp::DoIpRoutingActivationRequest::setSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationRequest::setSourceAddress(uint16_t value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DoIpActivationTypes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:686,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 696
    functionName: pcpp::DoIpRoutingActivationRequest::getActivationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    - static_cast<DoIpActivationTypes>
    linkageType: ''
    returnType: DoIpActivationTypes
    signature: DoIpActivationTypes DoIpRoutingActivationRequest::getActivationType()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:700,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - activationType
    argTypes:
    - DoIpActivationTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: pcpp::DoIpRoutingActivationRequest::setActivationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationRequest::setActivationType(DoIpActivationTypes
      activationType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: pcpp::DoIpRoutingActivationRequest::getReservedIso
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_RESERVED_ISO_LEN>
    signature: std::array<uint8_t, DOIP_RESERVED_ISO_LEN> DoIpRoutingActivationRequest::getReservedIso()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reservedIso'
    argTypes:
    - std::array<uint8_t, DOIP_RESERVED_ISO_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: pcpp::DoIpRoutingActivationRequest::setReservedIso
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationRequest::setReservedIso(const std::array<uint8_t,
      DOIP_RESERVED_ISO_LEN>& reservedIso)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:715,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:716,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:719,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 721
    functionName: pcpp::DoIpRoutingActivationRequest::getReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - std::runtime_error
    - std::array::data
    - pcpp::DoIpRoutingActivationRequest::hasReservedOem
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_RESERVED_OEM_LEN>
    signature: std::array<uint8_t, DOIP_RESERVED_OEM_LEN> DoIpRoutingActivationRequest::getReservedOem()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:725,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:727,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:729,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:730,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' reservedOem'
    argTypes:
    - std::array<uint8_t, DOIP_RESERVED_OEM_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 731
    functionName: pcpp::DoIpRoutingActivationRequest::setReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - setPayloadLength
    - data
    - memcpy
    - pcpp::DoIpRoutingActivationRequest::hasReservedOem
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationRequest::setReservedOem(const std::array<uint8_t,
      DOIP_RESERVED_OEM_LEN>& reservedOem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 736
    functionName: pcpp::DoIpRoutingActivationRequest::hasReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DoIpRoutingActivationRequest::hasReservedOem() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:740,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:742,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:746,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:747,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 749
    functionName: pcpp::DoIpRoutingActivationRequest::clearReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setPayloadLength
    - shortenLayer
    - pcpp::DoIpRoutingActivationRequest::hasReservedOem
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationRequest::clearReservedOem()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::getSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:754,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:756,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getActivationType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:756,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:758,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:758,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:760,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getReservedIso
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:760,1
    - Dst: pcpp::DoIpRoutingActivationRequest::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:762,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:763,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:763,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 767
    functionName: pcpp::DoIpRoutingActivationRequest::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - pcpp::DoIpRoutingActivationRequest::getSourceAddress
    - pcpp::byteArrayToHexString
    - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    - pcpp::DoIpRoutingActivationRequest::getReservedIso
    - find
    - std::ostringstream::str
    - pcpp::DoIpRoutingActivationRequest::hasReservedOem
    - pcpp::DoIpRoutingActivationRequest::getReservedOem
    - pcpp::DoIpRoutingActivationRequest::getActivationType
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpRoutingActivationRequest::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 775
    functionName: pcpp::DoIpRoutingActivationResponse::DoIpRoutingActivationResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpRoutingActivationResponse::DoIpRoutingActivationResponse(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                             Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:782,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:782,1
    - Dst: pcpp::DoIpRoutingActivationResponse::setLogicalAddressExternalTester
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:784,1
    - Dst: pcpp::DoIpRoutingActivationResponse::setSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:785,1
    - Dst: pcpp::DoIpRoutingActivationResponse::setResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:786,1
    - Dst: pcpp::DoIpRoutingActivationResponse::setReservedIso
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - logicalAddressExternalTester
    - sourceAddress
    - responseCode
    argTypes:
    - uint16_t
    - uint16_t
    - DoIpRoutingResponseCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 788
    functionName: pcpp::DoIpRoutingActivationResponse::DoIpRoutingActivationResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::setLogicalAddressExternalTester
    - pcpp::DoIpRoutingActivationResponse::setSourceAddress
    - pcpp::DoIpRoutingActivationResponse::setResponseCode
    - pcpp::DoIpRoutingActivationResponse::getPayloadType
    - setHeaderFields
    - pcpp::DoIpRoutingActivationResponse::setReservedIso
    linkageType: ''
    returnType: void
    signature: "void DoIpRoutingActivationResponse::DoIpRoutingActivationResponse(uint16_t
      logicalAddressExternalTester,\n\t                                                             uint16_t
      sourceAddress,\n\t                                                             DoIpRoutingResponseCodes
      responseCode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:792,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 793
    functionName: pcpp::DoIpRoutingActivationResponse::getLogicalAddressExternalTester
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DoIpRoutingActivationResponse::getLogicalAddressExternalTester()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:797,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 798
    functionName: pcpp::DoIpRoutingActivationResponse::setLogicalAddressExternalTester
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationResponse::setLogicalAddressExternalTester(uint16_t
      addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:802,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 803
    functionName: pcpp::DoIpRoutingActivationResponse::getSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DoIpRoutingActivationResponse::getSourceAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:807,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sourceAddress
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 808
    functionName: pcpp::DoIpRoutingActivationResponse::setSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationResponse::setSourceAddress(uint16_t sourceAddress)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:812,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:813,1
    - Dst: static_cast<DoIpRoutingResponseCodes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 818
    functionName: pcpp::DoIpRoutingActivationResponse::getResponseCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    - static_cast<uint8_t>
    - static_cast<DoIpRoutingResponseCodes>
    linkageType: ''
    returnType: DoIpRoutingResponseCodes
    signature: DoIpRoutingResponseCodes DoIpRoutingActivationResponse::getResponseCode()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:822,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - DoIpRoutingResponseCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: pcpp::DoIpRoutingActivationResponse::setResponseCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationResponse::setResponseCode(DoIpRoutingResponseCodes
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: pcpp::DoIpRoutingActivationResponse::getReservedIso
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_RESERVED_ISO_LEN>
    signature: std::array<uint8_t, DOIP_RESERVED_ISO_LEN> DoIpRoutingActivationResponse::getReservedIso()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reservedIso'
    argTypes:
    - std::array<uint8_t, DOIP_RESERVED_ISO_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: pcpp::DoIpRoutingActivationResponse::setReservedIso
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationResponse::setReservedIso(const std::array<uint8_t,
      DOIP_RESERVED_ISO_LEN>& reservedIso)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:837,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:838,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:841,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 843
    functionName: pcpp::DoIpRoutingActivationResponse::getReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::hasReservedOem
    - std::runtime_error
    - std::array::data
    - memcpy
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_RESERVED_OEM_LEN>
    signature: std::array<uint8_t, DOIP_RESERVED_OEM_LEN> DoIpRoutingActivationResponse::getReservedOem()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:847,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:849,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:851,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:852,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' reservedOem'
    argTypes:
    - std::array<uint8_t, DOIP_RESERVED_OEM_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 853
    functionName: pcpp::DoIpRoutingActivationResponse::setReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::hasReservedOem
    - extendLayer
    - setPayloadLength
    - data
    - memcpy
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationResponse::setReservedOem(const std::array<uint8_t,
      DOIP_RESERVED_OEM_LEN>& reservedOem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: pcpp::DoIpRoutingActivationResponse::hasReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DoIpRoutingActivationResponse::hasReservedOem() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:862,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:864,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:868,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:869,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 871
    functionName: pcpp::DoIpRoutingActivationResponse::clearReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::hasReservedOem
    - setPayloadLength
    - shortenLayer
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationResponse::clearReservedOem()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::getLogicalAddressExternalTester
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:876,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:877,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:879,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:879,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:881,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:881,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:883,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getReservedIso
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:883,1
    - Dst: pcpp::DoIpRoutingActivationResponse::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:885,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:886,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:886,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 873
    functionDepth: 2
    functionLinenumber: 873
    functionLinenumberEnd: 890
    functionName: pcpp::DoIpRoutingActivationResponse::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - pcpp::DoIpRoutingActivationResponse::hasReservedOem
    - pcpp::byteArrayToHexString
    - pcpp::DoIpRoutingActivationResponse::getLogicalAddressExternalTester
    - pcpp::DoIpRoutingActivationResponse::getSourceAddress
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    - find
    - pcpp::DoIpRoutingActivationResponse::getReservedOem
    - std::ostringstream::str
    - pcpp::DoIpRoutingActivationResponse::getReservedIso
    - pcpp::DoIpRoutingActivationResponse::getResponseCode
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpRoutingActivationResponse::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:897,1
    - Dst: pcpp::DoIpAliveCheckRequest::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 898
    functionName: pcpp::DoIpAliveCheckRequest::DoIpAliveCheckRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpAliveCheckRequest::getPayloadType
    - setHeaderFields
    linkageType: ''
    returnType: void
    signature: void DoIpAliveCheckRequest::DoIpAliveCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 905
    functionName: pcpp::DoIpAliveCheckResponse::DoIpAliveCheckResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpAliveCheckResponse::DoIpAliveCheckResponse(uint8_t* data,
      size_t dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:909,1
    - Dst: pcpp::DoIpAliveCheckResponse::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:909,1
    - Dst: pcpp::DoIpAliveCheckResponse::setSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sourceAddress
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 911
    functionName: pcpp::DoIpAliveCheckResponse::DoIpAliveCheckResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setHeaderFields
    - pcpp::DoIpAliveCheckResponse::getPayloadType
    - pcpp::DoIpAliveCheckResponse::setSourceAddress
    linkageType: ''
    returnType: void
    signature: void DoIpAliveCheckResponse::DoIpAliveCheckResponse(uint16_t sourceAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:915,1
    - Dst: pcpp::DoIpAliveCheckResponse::getAliveCheckResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionName: pcpp::DoIpAliveCheckResponse::getSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::DoIpAliveCheckResponse::getAliveCheckResponse
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DoIpAliveCheckResponse::getSourceAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpAliveCheckResponse::getAliveCheckResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:920,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sourceAddress
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: pcpp::DoIpAliveCheckResponse::setSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::DoIpAliveCheckResponse::getAliveCheckResponse
    linkageType: ''
    returnType: void
    signature: void DoIpAliveCheckResponse::setSourceAddress(uint16_t sourceAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpAliveCheckResponse::getSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:926,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 923
    functionDepth: 2
    functionLinenumber: 923
    functionLinenumberEnd: 928
    functionName: pcpp::DoIpAliveCheckResponse::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpAliveCheckResponse::getSourceAddress
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpAliveCheckResponse::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:935,1
    - Dst: pcpp::DoIpEntityStatusRequest::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: pcpp::DoIpEntityStatusRequest::DoIpEntityStatusRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpEntityStatusRequest::getPayloadType
    - setHeaderFields
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusRequest::DoIpEntityStatusRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 943
    functionName: pcpp::DoIpEntityStatusResponse::DoIpEntityStatusResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusResponse::DoIpEntityStatusResponse(uint8_t* data,
      size_t dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:949,1
    - Dst: pcpp::DoIpEntityStatusResponse::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:949,1
    - Dst: pcpp::DoIpEntityStatusResponse::setNodeType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:951,1
    - Dst: pcpp::DoIpEntityStatusResponse::setMaxConcurrentSockets
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:952,1
    - Dst: pcpp::DoIpEntityStatusResponse::setCurrentlyOpenSockets
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - nodeType
    - maxConcurrentSockets
    - currentlyOpenSockets
    argTypes:
    - DoIpEntityStatusResponseCode
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 954
    functionName: pcpp::DoIpEntityStatusResponse::DoIpEntityStatusResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpEntityStatusResponse::setMaxConcurrentSockets
    - pcpp::DoIpEntityStatusResponse::getPayloadType
    - pcpp::DoIpEntityStatusResponse::setCurrentlyOpenSockets
    - setHeaderFields
    - pcpp::DoIpEntityStatusResponse::setNodeType
    linkageType: ''
    returnType: void
    signature: "void DoIpEntityStatusResponse::DoIpEntityStatusResponse(DoIpEntityStatusResponseCode
      nodeType,\n\t                                                   uint8_t maxConcurrentSockets,
      uint8_t currentlyOpenSockets)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:957,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:958,1
    - Dst: static_cast<DoIpEntityStatusResponseCode>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 963
    functionName: pcpp::DoIpEntityStatusResponse::getNodeType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<DoIpEntityStatusResponseCode>
    - static_cast<uint8_t>
    - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    linkageType: ''
    returnType: DoIpEntityStatusResponseCode
    signature: DoIpEntityStatusResponseCode DoIpEntityStatusResponse::getNodeType()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 968
    functionName: pcpp::DoIpEntityStatusResponse::getMaxConcurrentSockets
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t DoIpEntityStatusResponse::getMaxConcurrentSockets() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 973
    functionName: pcpp::DoIpEntityStatusResponse::getCurrentlyOpenSockets
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t DoIpEntityStatusResponse::getCurrentlyOpenSockets() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::hasMaxDataSize
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:977,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:978,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:981,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 983
    functionName: pcpp::DoIpEntityStatusResponse::getMaxDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - be32toh
    - std::runtime_error
    - pcpp::DoIpEntityStatusResponse::hasMaxDataSize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DoIpEntityStatusResponse::getMaxDataSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:987,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - DoIpEntityStatusResponseCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 988
    functionName: pcpp::DoIpEntityStatusResponse::setNodeType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusResponse::setNodeType(DoIpEntityStatusResponseCode
      nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 993
    functionName: pcpp::DoIpEntityStatusResponse::hasMaxDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DoIpEntityStatusResponse::hasMaxDataSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::hasMaxDataSize
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:997,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:999,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1002,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1003,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1005
    functionName: pcpp::DoIpEntityStatusResponse::clearMaxDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setPayloadLength
    - shortenLayer
    - pcpp::DoIpEntityStatusResponse::hasMaxDataSize
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusResponse::clearMaxDataSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sockets
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1010
    functionName: pcpp::DoIpEntityStatusResponse::setMaxConcurrentSockets
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusResponse::setMaxConcurrentSockets(uint8_t sockets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sockets
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1015
    functionName: pcpp::DoIpEntityStatusResponse::setCurrentlyOpenSockets
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusResponse::setCurrentlyOpenSockets(uint8_t sockets)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::hasMaxDataSize
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1019,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1021,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1023,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1024,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1026
    functionName: pcpp::DoIpEntityStatusResponse::setMaxDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - setPayloadLength
    - pcpp::DoIpEntityStatusResponse::hasMaxDataSize
    - htobe32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusResponse::setMaxDataSize(uint32_t data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1031,1
    - Dst: pcpp::DoIpEntityStatusResponse::getNodeType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1031,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1034,1
    - Dst: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1034,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1035,1
    - Dst: pcpp::DoIpEntityStatusResponse::getMaxConcurrentSockets
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1035,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1036,1
    - Dst: pcpp::DoIpEntityStatusResponse::getCurrentlyOpenSockets
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1036,1
    - Dst: pcpp::DoIpEntityStatusResponse::hasMaxDataSize
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1037,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1040,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1043
    functionName: pcpp::DoIpEntityStatusResponse::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - pcpp::byteArrayToHexString
    - pcpp::DoIpEntityStatusResponse::hasMaxDataSize
    - find
    - std::ostringstream::str
    - pcpp::DoIpEntityStatusResponse::getNodeType
    - pcpp::DoIpEntityStatusResponse::getMaxConcurrentSockets
    - pcpp::DoIpEntityStatusResponse::getCurrentlyOpenSockets
    - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpEntityStatusResponse::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1050,1
    - Dst: pcpp::DoIpDiagnosticPowerModeRequest::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: pcpp::DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticPowerModeRequest::getPayloadType
    - setHeaderFields
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1059
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                                 Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1064,1
    - Dst: pcpp::DoIpDiagnosticPowerModeResponse::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1064,1
    - Dst: pcpp::DoIpDiagnosticPowerModeResponse::setPowerModeCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - DoIpDiagnosticPowerModeCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1066
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticPowerModeResponse::setPowerModeCode
    - pcpp::DoIpDiagnosticPowerModeResponse::getPayloadType
    - setHeaderFields
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse(DoIpDiagnosticPowerModeCodes
      code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1070,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1071,1
    - Dst: static_cast<DoIpDiagnosticPowerModeCodes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1076
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::getPowerModeCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
    - static_cast<uint8_t>
    - static_cast<DoIpDiagnosticPowerModeCodes>
    linkageType: ''
    returnType: DoIpDiagnosticPowerModeCodes
    signature: DoIpDiagnosticPowerModeCodes DoIpDiagnosticPowerModeResponse::getPowerModeCode()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1080,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - DoIpDiagnosticPowerModeCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1081
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::setPowerModeCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticPowerModeResponse::setPowerModeCode(DoIpDiagnosticPowerModeCodes
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticPowerModeResponse::getPowerModeCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1086,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1087,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1089,1
    - Dst: pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1089,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1091
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - pcpp::DoIpDiagnosticPowerModeResponse::getPowerModeCode
    - find
    - pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpDiagnosticPowerModeResponse::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1098
    functionName: pcpp::DoIpDiagnosticBase::DoIpDiagnosticBase
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticBase::DoIpDiagnosticBase(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1102,1
    - Dst: pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1103
    functionName: pcpp::DoIpDiagnosticBase::getSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DoIpDiagnosticBase::getSourceAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1107,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sourceAddress
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1108
    functionName: pcpp::DoIpDiagnosticBase::setSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticBase::setSourceAddress(uint16_t sourceAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1112,1
    - Dst: pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1113
    functionName: pcpp::DoIpDiagnosticBase::getTargetAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DoIpDiagnosticBase::getTargetAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1117,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - targetAddress
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: pcpp::DoIpDiagnosticBase::setTargetAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticBase::setTargetAddress(uint16_t targetAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1125
    functionName: pcpp::DoIpDiagnosticMessage::DoIpDiagnosticMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticMessage::DoIpDiagnosticMessage(uint8_t* data, size_t
      dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1129,1
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1131,1
    - Dst: pcpp::DoIpDiagnosticMessage::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1131,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1131,1
    - Dst: setSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1132,1
    - Dst: setTargetAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1133,1
    - Dst: pcpp::DoIpDiagnosticMessage::setDiagnosticData
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sourceAddress
    - targetAddress
    - ' diagnosticData'
    argTypes:
    - uint16_t
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1135
    functionName: pcpp::DoIpDiagnosticMessage::DoIpDiagnosticMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticMessage::setDiagnosticData
    - size
    - setTargetAddress
    - setHeaderFields
    - setSourceAddress
    - pcpp::DoIpDiagnosticMessage::getPayloadType
    linkageType: ''
    returnType: void
    signature: "void DoIpDiagnosticMessage::DoIpDiagnosticMessage(uint16_t sourceAddress,
      uint16_t targetAddress,\n\t                                             const
      std::vector<uint8_t>& diagnosticData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1141
    functionName: pcpp::DoIpDiagnosticMessage::getDiagnosticData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DoIpDiagnosticMessage::getDiagnosticData() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1145,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1147,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1150,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1150,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1150,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1153,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1157,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1157,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1159,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1159,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1160
    functionName: pcpp::DoIpDiagnosticMessage::setDiagnosticData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - extendLayer
    - setPayloadLength
    - static_cast<ptrdiff_t>
    - data
    - size
    - memcpy
    - shortenLayer
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticMessage::setDiagnosticData(const std::vector<uint8_t>&
      data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1165,1
    - Dst: getTargetAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1166,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1169
    functionName: pcpp::DoIpDiagnosticMessage::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - getTargetAddress
    - getSourceAddress
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpDiagnosticMessage::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1177
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::DoIpDiagnosticResponseMessageBase
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpDiagnosticResponseMessageBase::DoIpDiagnosticResponseMessageBase(uint8_t*
      data, size_t dataLen,\n\t                                                                     Layer*
      prevLayer, Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1183,1
    - Dst: setSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1184,1
    - Dst: setTargetAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sourceAddress
    - targetAddress
    - type
    argTypes:
    - uint16_t
    - uint16_t
    - DoIpPayloadTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1186
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::DoIpDiagnosticResponseMessageBase
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setSourceAddress
    - setTargetAddress
    - setHeaderFields
    linkageType: ''
    returnType: void
    signature: "void DoIpDiagnosticResponseMessageBase::DoIpDiagnosticResponseMessageBase(uint16_t
      sourceAddress, uint16_t targetAddress,\n\t                                                                     DoIpPayloadTypes
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticResponseMessageBase::getDiagnosticResponseMessageBase
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1191
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::setResponseCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticResponseMessageBase::getDiagnosticResponseMessageBase
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticResponseMessageBase::setResponseCode(uint8_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticResponseMessageBase::getDiagnosticResponseMessageBase
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1196
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::getResponseCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticResponseMessageBase::getDiagnosticResponseMessageBase
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t DoIpDiagnosticResponseMessageBase::getResponseCode() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticResponseMessageBase::hasPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1200,1
    - Dst: std::vector<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1205
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::getPreviousMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticResponseMessageBase::hasPreviousMessage
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DoIpDiagnosticResponseMessageBase::getPreviousMessage()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1210
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::hasPreviousMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DoIpDiagnosticResponseMessageBase::hasPreviousMessage() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1214,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1216,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1218,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1218,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1218,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1221,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1225,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1225,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1227,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1227,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1228
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::setPreviousMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - setPayloadLength
    - data
    - static_cast<int>
    - size
    - memcpy
    - shortenLayer
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticResponseMessageBase::setPreviousMessage(const std::vector<uint8_t>&
      msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticResponseMessageBase::hasPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1232,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1234,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1237,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1238,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1240
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::clearPreviousMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticResponseMessageBase::hasPreviousMessage
    - shortenLayer
    - setPayloadLength
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticResponseMessageBase::clearPreviousMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1247
    functionName: pcpp::DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck(uint8_t* data,
      size_t dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticMessageAck::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1251,1
    - Dst: pcpp::DoIpDiagnosticMessageAck::setAckCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sourceAddress
    - targetAddress
    - ackCode
    argTypes:
    - uint16_t
    - uint16_t
    - DoIpDiagnosticAckCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1254
    functionName: pcpp::DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticMessageAck::getPayloadType
    - pcpp::DoIpDiagnosticMessageAck::setAckCode
    linkageType: ''
    returnType: void
    signature: "void DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck(uint16_t sourceAddress,
      uint16_t targetAddress,\n\t                                                   DoIpDiagnosticAckCodes
      ackCode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1258,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1261
    functionName: pcpp::DoIpDiagnosticMessageAck::getAckCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - getResponseCode
    - static_cast<uint8_t>
    linkageType: ''
    returnType: DoIpDiagnosticAckCodes
    signature: DoIpDiagnosticAckCodes DoIpDiagnosticMessageAck::getAckCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1265,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - DoIpDiagnosticAckCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1266
    functionName: pcpp::DoIpDiagnosticMessageAck::setAckCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - setResponseCode
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticMessageAck::setAckCode(DoIpDiagnosticAckCodes code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticMessageAck::getAckCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1271,1
    - Dst: getSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1272,1
    - Dst: getTargetAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1273,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1274,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1275,1
    - Dst: getResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1275,1
    - Dst: hasPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1276,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1279,1
    - Dst: getPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1279,1
    - Dst: getPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1279,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1282
    functionName: pcpp::DoIpDiagnosticMessageAck::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - getPreviousMessage
    - pcpp::byteArrayToHexString
    - getSourceAddress
    - getTargetAddress
    - pcpp::DoIpDiagnosticMessageAck::getAckCode
    - find
    - std::ostringstream::str
    - getResponseCode
    - hasPreviousMessage
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpDiagnosticMessageAck::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1290
    functionName: pcpp::DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                     Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticMessageNack::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1294,1
    - Dst: pcpp::DoIpDiagnosticMessageNack::setNackCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sourceAddress
    - targetAddress
    - nackCode
    argTypes:
    - uint16_t
    - uint16_t
    - DoIpDiagnosticMessageNackCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1297
    functionName: pcpp::DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticMessageNack::getPayloadType
    - pcpp::DoIpDiagnosticMessageNack::setNackCode
    linkageType: ''
    returnType: void
    signature: "void DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack(uint16_t
      sourceAddress, uint16_t targetAddress,\n\t                                                     DoIpDiagnosticMessageNackCodes
      nackCode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1301,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1302,1
    - Dst: static_cast<DoIpDiagnosticMessageNackCodes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1307
    functionName: pcpp::DoIpDiagnosticMessageNack::getNackCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - getResponseCode
    - static_cast<uint8_t>
    - static_cast<DoIpDiagnosticMessageNackCodes>
    linkageType: ''
    returnType: DoIpDiagnosticMessageNackCodes
    signature: DoIpDiagnosticMessageNackCodes DoIpDiagnosticMessageNack::getNackCode()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1311,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - DoIpDiagnosticMessageNackCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1312
    functionName: pcpp::DoIpDiagnosticMessageNack::setNackCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - setResponseCode
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticMessageNack::setNackCode(DoIpDiagnosticMessageNackCodes
      code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticMessageNack::getNackCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1317,1
    - Dst: getSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1318,1
    - Dst: getTargetAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1319,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1321,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1322,1
    - Dst: getResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1322,1
    - Dst: hasPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1324,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1327,1
    - Dst: getPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1327,1
    - Dst: getPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1327,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1330
    functionName: pcpp::DoIpDiagnosticMessageNack::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - getPreviousMessage
    - pcpp::byteArrayToHexString
    - pcpp::DoIpDiagnosticMessageNack::getNackCode
    - getSourceAddress
    - getTargetAddress
    - find
    - std::ostringstream::str
    - getResponseCode
    - hasPreviousMessage
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpDiagnosticMessageNack::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: pcpp::DoIpLayer::DoIpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - allocData
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::DoIpLayer(size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: pcpp::DoIpLayer::DoIpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::DoIpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<doiphdr*>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:207,1
    - Dst: pcpp::DoIpLayer::isPayloadTypeValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:213,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:213,1
    - Dst: static_cast<DoIpPayloadTypes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:216,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:216,1
    - Dst: pcpp::DoIpLayer::isProtocolVersionValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:217,1
    - Dst: pcpp::DoIpLayer::isPayloadLengthValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:220,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 224
    functionName: pcpp::DoIpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 4
    functionsReached:
    - reinterpret_cast<doiphdr*>
    - static_cast<DoIpPayloadTypes>
    - pcpp::DoIpLayer::isProtocolVersionValid
    - be32toh
    - pcpp::DoIpLayer::isPayloadLengthValid
    - pcpp::DoIpLayer::isPayloadTypeValid
    - be16toh
    linkageType: ''
    returnType: bool
    signature: bool DoIpLayer::isDataValid(uint8_t* data, size_t dataLen)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<doiphdr*>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:228,1
    - Dst: static_cast<DoIpPayloadTypes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:230,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:230,1
    - Dst: pcpp::DoIpGenericHeaderNack::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:235,1
    - Dst: DoIpGenericHeaderNack::DoIpGenericHeaderNack
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:236,1
    - Dst: pcpp::DoIpVehicleIdentificationRequest::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:239,1
    - Dst: DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:240,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithEID::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:243,1
    - Dst: DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:244,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:247,1
    - Dst: DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:248,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:251,1
    - Dst: DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:252,1
    - Dst: pcpp::DoIpRoutingActivationRequest::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:255,1
    - Dst: DoIpRoutingActivationRequest::DoIpRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:256,1
    - Dst: pcpp::DoIpRoutingActivationResponse::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:259,1
    - Dst: DoIpRoutingActivationResponse::DoIpRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:260,1
    - Dst: pcpp::DoIpAliveCheckRequest::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:263,1
    - Dst: DoIpAliveCheckRequest::DoIpAliveCheckRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:264,1
    - Dst: pcpp::DoIpAliveCheckResponse::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:267,1
    - Dst: DoIpAliveCheckResponse::DoIpAliveCheckResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:268,1
    - Dst: pcpp::DoIpEntityStatusRequest::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:271,1
    - Dst: DoIpEntityStatusRequest::DoIpEntityStatusRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:272,1
    - Dst: pcpp::DoIpEntityStatusResponse::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:275,1
    - Dst: DoIpEntityStatusResponse::DoIpEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:276,1
    - Dst: pcpp::DoIpDiagnosticPowerModeRequest::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:279,1
    - Dst: DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:280,1
    - Dst: pcpp::DoIpDiagnosticPowerModeResponse::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:283,1
    - Dst: DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:284,1
    - Dst: pcpp::DoIpDiagnosticMessage::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:287,1
    - Dst: DoIpDiagnosticMessage::DoIpDiagnosticMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:288,1
    - Dst: pcpp::DoIpGenericHeaderNack::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:291,1
    - Dst: DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:292,1
    - Dst: pcpp::DoIpGenericHeaderNack::isDataLenValid
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:295,1
    - Dst: DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 301
    functionName: pcpp::DoIpLayer::parseDoIpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationRequest::isDataLenValid
    - DoIpGenericHeaderNack::DoIpGenericHeaderNack
    - DoIpEntityStatusResponse::DoIpEntityStatusResponse
    - DoIpAliveCheckRequest::DoIpAliveCheckRequest
    - DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest
    - pcpp::DoIpVehicleIdentificationRequest::isDataLenValid
    - DoIpDiagnosticMessage::DoIpDiagnosticMessage
    - pcpp::DoIpRoutingActivationResponse::isDataLenValid
    - DoIpEntityStatusRequest::DoIpEntityStatusRequest
    - DoIpRoutingActivationResponse::DoIpRoutingActivationResponse
    - DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage
    - DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest
    - pcpp::DoIpAliveCheckResponse::isDataLenValid
    - pcpp::DoIpVehicleIdentificationRequestWithEID::isDataLenValid
    - pcpp::DoIpAliveCheckRequest::isDataLenValid
    - be16toh
    - DoIpRoutingActivationRequest::DoIpRoutingActivationRequest
    - pcpp::DoIpEntityStatusResponse::isDataLenValid
    - DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse
    - DoIpAliveCheckResponse::DoIpAliveCheckResponse
    - pcpp::DoIpEntityStatusRequest::isDataLenValid
    - DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck
    - DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID
    - pcpp::DoIpGenericHeaderNack::isDataLenValid
    - reinterpret_cast<doiphdr*>
    - static_cast<DoIpPayloadTypes>
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::isDataLenValid
    - DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN
    - pcpp::DoIpVehicleAnnouncementMessage::isDataLenValid
    - DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack
    - pcpp::DoIpDiagnosticPowerModeRequest::isDataLenValid
    - pcpp::DoIpDiagnosticMessage::isDataLenValid
    - pcpp::DoIpDiagnosticPowerModeResponse::isDataLenValid
    linkageType: ''
    returnType: DoIpLayer
    signature: DoIpLayer * DoIpLayer::parseDoIpLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:305,1
    - Dst: static_cast<DoIpProtocolVersion>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:307,1
    - Dst: static_cast<DoIpProtocolVersion>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 320
    functionName: pcpp::DoIpLayer::getProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    - static_cast<DoIpProtocolVersion>
    linkageType: ''
    returnType: DoIpProtocolVersion
    signature: DoIpProtocolVersion DoIpLayer::getProtocolVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:324,1
    - Dst: pcpp::DoIpLayer::getProtocolVersion
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: pcpp::DoIpLayer::getProtocolVersionAsStr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - find
    - pcpp::DoIpLayer::getProtocolVersion
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpLayer::getProtocolVersionAsStr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:329,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - DoIpProtocolVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: pcpp::DoIpLayer::setProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::setProtocolVersion(DoIpProtocolVersion version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rawVersion
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: pcpp::DoIpLayer::setProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::setProtocolVersion(uint8_t rawVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: pcpp::DoIpLayer::getInvertProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t DoIpLayer::getInvertProtocolVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iVersion
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: pcpp::DoIpLayer::setInvertProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::setInvertProtocolVersion(uint8_t iVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:349,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:349,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - DoIpPayloadTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: pcpp::DoIpLayer::setPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    - htobe16
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::setPayloadType(DoIpPayloadTypes type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:354,1
    - Dst: getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:354,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: pcpp::DoIpLayer::getPayloadTypeAsStr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - end
    - getPayloadType
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpLayer::getPayloadTypeAsStr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:360,1
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: pcpp::DoIpLayer::getPayloadLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    - be32toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DoIpLayer::getPayloadLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getDoIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:365,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - payloadLength
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: pcpp::DoIpLayer::setPayloadLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpLayer::getDoIpHeader
    - htobe32
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::setPayloadLength(uint32_t payloadLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:371,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:371,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:371,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:372,1
    - Dst: getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:372,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: pcpp::DoIpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::setfill
    - getPayloadType
    - std::ostringstream::str
    - pcpp::DoIpLayer::getPayloadTypeAsStr
    - std::setw
    - static_cast<uint16_t>
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpLayer::setProtocolVersion
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:378,1
    - Dst: pcpp::DoIpLayer::setInvertProtocolVersion
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:379,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:379,1
    - Dst: pcpp::DoIpLayer::setPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:380,1
    - Dst: pcpp::DoIpLayer::setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - version
    - type
    - length
    argTypes:
    - DoIpProtocolVersion
    - DoIpPayloadTypes
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 382
    functionName: pcpp::DoIpLayer::setHeaderFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpLayer::setInvertProtocolVersion
    - static_cast<uint8_t>
    - pcpp::DoIpLayer::setProtocolVersion
    - pcpp::DoIpLayer::setPayloadLength
    - pcpp::DoIpLayer::setPayloadType
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::setHeaderFields(DoIpProtocolVersion version, DoIpPayloadTypes
      type, uint32_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:386,1
    - Dst: pcpp::DoIpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:388,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:398,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 400
    functionName: pcpp::DoIpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - getPayloadType
    - constructNextLayer<PayloadLayer>
    - getAttachedPacket
    - pcpp::DoIpLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void DoIpLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: pcpp::DoIpGenericHeaderNack::DoIpGenericHeaderNack
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpGenericHeaderNack::DoIpGenericHeaderNack(uint8_t* data, size_t
      dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:411,1
    - Dst: pcpp::DoIpGenericHeaderNack::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:411,1
    - Dst: pcpp::DoIpGenericHeaderNack::setNackCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - nackCode
    argTypes:
    - DoIpGenericHeaderNackCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: pcpp::DoIpGenericHeaderNack::DoIpGenericHeaderNack
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setHeaderFields
    - pcpp::DoIpGenericHeaderNack::setNackCode
    - pcpp::DoIpGenericHeaderNack::getPayloadType
    linkageType: ''
    returnType: void
    signature: void DoIpGenericHeaderNack::DoIpGenericHeaderNack(DoIpGenericHeaderNackCodes
      nackCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:417,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:418,1
    - Dst: static_cast<DoIpGenericHeaderNackCodes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 423
    functionName: pcpp::DoIpGenericHeaderNack::getNackCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<DoIpGenericHeaderNackCodes>
    - pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
    - static_cast<uint8_t>
    linkageType: ''
    returnType: DoIpGenericHeaderNackCodes
    signature: DoIpGenericHeaderNackCodes DoIpGenericHeaderNack::getNackCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:427,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nackCode
    argTypes:
    - DoIpGenericHeaderNackCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: pcpp::DoIpGenericHeaderNack::setNackCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpGenericHeaderNack::setNackCode(DoIpGenericHeaderNackCodes
      nackCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpGenericHeaderNack::getNackCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:433,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:434,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:436,1
    - Dst: pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:436,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: pcpp::DoIpGenericHeaderNack::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - find
    - pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
    - std::ostringstream::str
    - pcpp::DoIpGenericHeaderNack::getNackCode
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpGenericHeaderNack::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:445,1
    - Dst: pcpp::DoIpVehicleIdentificationRequest::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: pcpp::DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpVehicleIdentificationRequest::getPayloadType
    - setHeaderFields
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID(uint8_t*
      data, size_t dataLen,\n\t                                                                                 Layer*
      prevLayer, Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:460,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithEID::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:460,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithEID::setEID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' eid'
    argTypes:
    - std::array<uint8_t, DOIP_EID_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 462
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setHeaderFields
    - pcpp::DoIpVehicleIdentificationRequestWithEID::getPayloadType
    - pcpp::DoIpVehicleIdentificationRequestWithEID::setEID
    linkageType: ''
    returnType: void
    signature: "void DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID(\n\t
      \   const std::array<uint8_t, DOIP_EID_LEN>& eid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithEID::getVehicleIdentificationRequestWEID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::getEID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpVehicleIdentificationRequestWithEID::getVehicleIdentificationRequestWEID
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_EID_LEN>
    signature: std::array<uint8_t, DOIP_EID_LEN> DoIpVehicleIdentificationRequestWithEID::getEID()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithEID::getVehicleIdentificationRequestWEID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' eid'
    argTypes:
    - std::array<uint8_t, DOIP_EID_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::setEID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DoIpVehicleIdentificationRequestWithEID::getVehicleIdentificationRequestWEID
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleIdentificationRequestWithEID::setEID(const std::array<uint8_t,
      DOIP_EID_LEN>& eid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:477,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithEID::getEID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:477,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpVehicleIdentificationRequestWithEID::getEID
    - std::ostringstream::str
    - pcpp::byteArrayToHexString
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpVehicleIdentificationRequestWithEID::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN(uint8_t*
      data, size_t dataLen,\n\t                                                                                 Layer*
      prevLayer, Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:493,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:493,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::setVIN
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' vin'
    argTypes:
    - std::array<uint8_t, DOIP_VIN_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 495
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::getPayloadType
    - setHeaderFields
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::setVIN
    linkageType: ''
    returnType: void
    signature: "void DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN(\n\t
      \   const std::array<uint8_t, DOIP_VIN_LEN>& vin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::getVehicleIdentificationRequestWVIN
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::getVIN
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::getVehicleIdentificationRequestWVIN
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_VIN_LEN>
    signature: std::array<uint8_t, DOIP_VIN_LEN> DoIpVehicleIdentificationRequestWithVIN::getVIN()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::getVehicleIdentificationRequestWVIN
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vin'
    argTypes:
    - std::array<uint8_t, DOIP_VIN_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::setVIN
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::getVehicleIdentificationRequestWVIN
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleIdentificationRequestWithVIN::setVIN(const std::array<uint8_t,
      DOIP_VIN_LEN>& vin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:510,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:510,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::getVIN
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:510,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - string
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::getVIN
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpVehicleIdentificationRequestWithVIN::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: pcpp::DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                               Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:529,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:529,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::setVIN
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:531,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::setLogicalAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:532,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::setEID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:533,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::setGID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:534,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::setFurtherActionRequired
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ' vin'
    - logicalAddress
    - ' eid'
    - ' gid'
    - actionCode
    argTypes:
    - std::array<uint8_t, DOIP_VIN_LEN>
    - uint16_t
    - std::array<uint8_t, DOIP_EID_LEN>
    - std::array<uint8_t, DOIP_GID_LEN>
    - DoIpActionCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 536
    functionName: pcpp::DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::setEID
    - pcpp::DoIpVehicleAnnouncementMessage::setFurtherActionRequired
    - pcpp::DoIpVehicleAnnouncementMessage::setVIN
    - pcpp::DoIpVehicleAnnouncementMessage::getPayloadType
    - pcpp::DoIpVehicleAnnouncementMessage::setGID
    - pcpp::DoIpVehicleAnnouncementMessage::setLogicalAddress
    - setHeaderFields
    linkageType: ''
    returnType: void
    signature: "void DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage(const
      std::array<uint8_t, DOIP_VIN_LEN>& vin,\n\t                                                               uint16_t
      logicalAddress,\n\t                                                               const
      std::array<uint8_t, DOIP_EID_LEN>& eid,\n\t                                                               const
      std::array<uint8_t, DOIP_GID_LEN>& gid,\n\t                                                               DoIpActionCodes
      actionCode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getVIN
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_VIN_LEN>
    signature: std::array<uint8_t, DOIP_VIN_LEN> DoIpVehicleAnnouncementMessage::getVIN()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' vin'
    argTypes:
    - std::array<uint8_t, DOIP_VIN_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: pcpp::DoIpVehicleAnnouncementMessage::setVIN
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleAnnouncementMessage::setVIN(const std::array<uint8_t,
      DOIP_VIN_LEN>& vin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:550,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getLogicalAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DoIpVehicleAnnouncementMessage::getLogicalAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:555,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - logicalAddress
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: pcpp::DoIpVehicleAnnouncementMessage::setLogicalAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleAnnouncementMessage::setLogicalAddress(uint16_t logicalAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getEID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_EID_LEN>
    signature: std::array<uint8_t, DOIP_EID_LEN> DoIpVehicleAnnouncementMessage::getEID()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' eid'
    argTypes:
    - std::array<uint8_t, DOIP_EID_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 566
    functionName: pcpp::DoIpVehicleAnnouncementMessage::setEID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleAnnouncementMessage::setEID(const std::array<uint8_t,
      DOIP_EID_LEN>& eid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getGID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_GID_LEN>
    signature: std::array<uint8_t, DOIP_GID_LEN> DoIpVehicleAnnouncementMessage::getGID()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' gid'
    argTypes:
    - std::array<uint8_t, DOIP_GID_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: pcpp::DoIpVehicleAnnouncementMessage::setGID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleAnnouncementMessage::setGID(const std::array<uint8_t,
      DOIP_GID_LEN>& gid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:580,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:581,1
    - Dst: static_cast<DoIpActionCodes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 586
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getFurtherActionRequired
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<DoIpActionCodes>
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    - static_cast<uint8_t>
    linkageType: ''
    returnType: DoIpActionCodes
    signature: DoIpActionCodes DoIpVehicleAnnouncementMessage::getFurtherActionRequired()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:590,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - DoIpActionCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 591
    functionName: pcpp::DoIpVehicleAnnouncementMessage::setFurtherActionRequired
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleAnnouncementMessage::setFurtherActionRequired(DoIpActionCodes
      action)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:595,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:596,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:599,1
    - Dst: static_cast<DoIpSyncStatus>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 603
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getSyncStatus
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<DoIpSyncStatus>
    - std::runtime_error
    - pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
    - static_cast<uint8_t>
    linkageType: ''
    returnType: DoIpSyncStatus
    signature: DoIpSyncStatus DoIpVehicleAnnouncementMessage::getSyncStatus() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:607,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:609,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:611,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - syncStatus
    argTypes:
    - DoIpSyncStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 613
    functionName: pcpp::DoIpVehicleAnnouncementMessage::setSyncStatus
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - setPayloadLength
    - pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleAnnouncementMessage::setSyncStatus(DoIpSyncStatus syncStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 618
    functionName: pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DoIpVehicleAnnouncementMessage::hasSyncStatus() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:622,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:624,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:627,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: pcpp::DoIpVehicleAnnouncementMessage::clearSyncStatus
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setPayloadLength
    - shortenLayer
    - pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleAnnouncementMessage::clearSyncStatus()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:634,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:634,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVIN
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:634,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getLogicalAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:635,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:636,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getEID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:636,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:637,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getGID
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:637,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:639,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getFurtherActionRequired
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:639,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:641,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:641,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:643,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::getSyncStatus
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:645,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:646,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:648,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 652
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - pcpp::DoIpVehicleAnnouncementMessage::getGID
    - pcpp::byteArrayToHexString
    - reinterpret_cast<const char*>
    - pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
    - string
    - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    - pcpp::DoIpVehicleAnnouncementMessage::getVIN
    - find
    - pcpp::DoIpVehicleAnnouncementMessage::getLogicalAddress
    - pcpp::DoIpVehicleAnnouncementMessage::getFurtherActionRequired
    - pcpp::DoIpVehicleAnnouncementMessage::getSyncStatus
    - std::ostringstream::str
    - pcpp::DoIpVehicleAnnouncementMessage::getEID
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpVehicleAnnouncementMessage::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: pcpp::DoIpRoutingActivationRequest::DoIpRoutingActivationRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpRoutingActivationRequest::DoIpRoutingActivationRequest(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                           Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:666,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:666,1
    - Dst: pcpp::DoIpRoutingActivationRequest::setSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:668,1
    - Dst: pcpp::DoIpRoutingActivationRequest::setActivationType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:669,1
    - Dst: pcpp::DoIpRoutingActivationRequest::setReservedIso
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sourceAddress
    - activationType
    argTypes:
    - uint16_t
    - DoIpActivationTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 672
    functionName: pcpp::DoIpRoutingActivationRequest::DoIpRoutingActivationRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationRequest::setReservedIso
    - pcpp::DoIpRoutingActivationRequest::setSourceAddress
    - setHeaderFields
    - pcpp::DoIpRoutingActivationRequest::setActivationType
    - pcpp::DoIpRoutingActivationRequest::getPayloadType
    linkageType: ''
    returnType: void
    signature: "void DoIpRoutingActivationRequest::DoIpRoutingActivationRequest(uint16_t
      sourceAddress,\n\t                                                           DoIpActivationTypes
      activationType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:676,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: pcpp::DoIpRoutingActivationRequest::getSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DoIpRoutingActivationRequest::getSourceAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:681,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: pcpp::DoIpRoutingActivationRequest::setSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationRequest::setSourceAddress(uint16_t value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DoIpActivationTypes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:686,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 696
    functionName: pcpp::DoIpRoutingActivationRequest::getActivationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    - static_cast<DoIpActivationTypes>
    linkageType: ''
    returnType: DoIpActivationTypes
    signature: DoIpActivationTypes DoIpRoutingActivationRequest::getActivationType()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:700,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - activationType
    argTypes:
    - DoIpActivationTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: pcpp::DoIpRoutingActivationRequest::setActivationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationRequest::setActivationType(DoIpActivationTypes
      activationType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: pcpp::DoIpRoutingActivationRequest::getReservedIso
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_RESERVED_ISO_LEN>
    signature: std::array<uint8_t, DOIP_RESERVED_ISO_LEN> DoIpRoutingActivationRequest::getReservedIso()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reservedIso'
    argTypes:
    - std::array<uint8_t, DOIP_RESERVED_ISO_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: pcpp::DoIpRoutingActivationRequest::setReservedIso
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationRequest::setReservedIso(const std::array<uint8_t,
      DOIP_RESERVED_ISO_LEN>& reservedIso)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:715,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:716,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:719,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 721
    functionName: pcpp::DoIpRoutingActivationRequest::getReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - std::runtime_error
    - std::array::data
    - pcpp::DoIpRoutingActivationRequest::hasReservedOem
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_RESERVED_OEM_LEN>
    signature: std::array<uint8_t, DOIP_RESERVED_OEM_LEN> DoIpRoutingActivationRequest::getReservedOem()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:725,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:727,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:729,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:730,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' reservedOem'
    argTypes:
    - std::array<uint8_t, DOIP_RESERVED_OEM_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 731
    functionName: pcpp::DoIpRoutingActivationRequest::setReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - setPayloadLength
    - data
    - memcpy
    - pcpp::DoIpRoutingActivationRequest::hasReservedOem
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationRequest::setReservedOem(const std::array<uint8_t,
      DOIP_RESERVED_OEM_LEN>& reservedOem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 736
    functionName: pcpp::DoIpRoutingActivationRequest::hasReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DoIpRoutingActivationRequest::hasReservedOem() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:740,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:742,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:746,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:747,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 749
    functionName: pcpp::DoIpRoutingActivationRequest::clearReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setPayloadLength
    - shortenLayer
    - pcpp::DoIpRoutingActivationRequest::hasReservedOem
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationRequest::clearReservedOem()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationRequest::getSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:754,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:756,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getActivationType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:756,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:758,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:758,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:760,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getReservedIso
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:760,1
    - Dst: pcpp::DoIpRoutingActivationRequest::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:762,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:763,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:763,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 767
    functionName: pcpp::DoIpRoutingActivationRequest::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - pcpp::DoIpRoutingActivationRequest::getSourceAddress
    - pcpp::byteArrayToHexString
    - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    - pcpp::DoIpRoutingActivationRequest::getReservedIso
    - find
    - std::ostringstream::str
    - pcpp::DoIpRoutingActivationRequest::hasReservedOem
    - pcpp::DoIpRoutingActivationRequest::getReservedOem
    - pcpp::DoIpRoutingActivationRequest::getActivationType
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpRoutingActivationRequest::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 775
    functionName: pcpp::DoIpRoutingActivationResponse::DoIpRoutingActivationResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpRoutingActivationResponse::DoIpRoutingActivationResponse(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                             Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:782,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:782,1
    - Dst: pcpp::DoIpRoutingActivationResponse::setLogicalAddressExternalTester
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:784,1
    - Dst: pcpp::DoIpRoutingActivationResponse::setSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:785,1
    - Dst: pcpp::DoIpRoutingActivationResponse::setResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:786,1
    - Dst: pcpp::DoIpRoutingActivationResponse::setReservedIso
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - logicalAddressExternalTester
    - sourceAddress
    - responseCode
    argTypes:
    - uint16_t
    - uint16_t
    - DoIpRoutingResponseCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 788
    functionName: pcpp::DoIpRoutingActivationResponse::DoIpRoutingActivationResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::setLogicalAddressExternalTester
    - pcpp::DoIpRoutingActivationResponse::setSourceAddress
    - pcpp::DoIpRoutingActivationResponse::setResponseCode
    - pcpp::DoIpRoutingActivationResponse::getPayloadType
    - setHeaderFields
    - pcpp::DoIpRoutingActivationResponse::setReservedIso
    linkageType: ''
    returnType: void
    signature: "void DoIpRoutingActivationResponse::DoIpRoutingActivationResponse(uint16_t
      logicalAddressExternalTester,\n\t                                                             uint16_t
      sourceAddress,\n\t                                                             DoIpRoutingResponseCodes
      responseCode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:792,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 793
    functionName: pcpp::DoIpRoutingActivationResponse::getLogicalAddressExternalTester
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DoIpRoutingActivationResponse::getLogicalAddressExternalTester()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:797,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 798
    functionName: pcpp::DoIpRoutingActivationResponse::setLogicalAddressExternalTester
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationResponse::setLogicalAddressExternalTester(uint16_t
      addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:802,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 803
    functionName: pcpp::DoIpRoutingActivationResponse::getSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DoIpRoutingActivationResponse::getSourceAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:807,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sourceAddress
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 808
    functionName: pcpp::DoIpRoutingActivationResponse::setSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationResponse::setSourceAddress(uint16_t sourceAddress)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:812,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:813,1
    - Dst: static_cast<DoIpRoutingResponseCodes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 818
    functionName: pcpp::DoIpRoutingActivationResponse::getResponseCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    - static_cast<uint8_t>
    - static_cast<DoIpRoutingResponseCodes>
    linkageType: ''
    returnType: DoIpRoutingResponseCodes
    signature: DoIpRoutingResponseCodes DoIpRoutingActivationResponse::getResponseCode()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:822,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - DoIpRoutingResponseCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: pcpp::DoIpRoutingActivationResponse::setResponseCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationResponse::setResponseCode(DoIpRoutingResponseCodes
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: pcpp::DoIpRoutingActivationResponse::getReservedIso
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_RESERVED_ISO_LEN>
    signature: std::array<uint8_t, DOIP_RESERVED_ISO_LEN> DoIpRoutingActivationResponse::getReservedIso()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' reservedIso'
    argTypes:
    - std::array<uint8_t, DOIP_RESERVED_ISO_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: pcpp::DoIpRoutingActivationResponse::setReservedIso
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationResponse::setReservedIso(const std::array<uint8_t,
      DOIP_RESERVED_ISO_LEN>& reservedIso)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:837,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:838,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:841,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 843
    functionName: pcpp::DoIpRoutingActivationResponse::getReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::hasReservedOem
    - std::runtime_error
    - std::array::data
    - memcpy
    linkageType: ''
    returnType: std::array<uint8_t, DOIP_RESERVED_OEM_LEN>
    signature: std::array<uint8_t, DOIP_RESERVED_OEM_LEN> DoIpRoutingActivationResponse::getReservedOem()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:847,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:849,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:851,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:852,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' reservedOem'
    argTypes:
    - std::array<uint8_t, DOIP_RESERVED_OEM_LEN>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 853
    functionName: pcpp::DoIpRoutingActivationResponse::setReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::hasReservedOem
    - extendLayer
    - setPayloadLength
    - data
    - memcpy
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationResponse::setReservedOem(const std::array<uint8_t,
      DOIP_RESERVED_OEM_LEN>& reservedOem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: pcpp::DoIpRoutingActivationResponse::hasReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DoIpRoutingActivationResponse::hasReservedOem() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:862,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:864,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:868,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:869,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 871
    functionName: pcpp::DoIpRoutingActivationResponse::clearReservedOem
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpRoutingActivationResponse::hasReservedOem
    - setPayloadLength
    - shortenLayer
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void DoIpRoutingActivationResponse::clearReservedOem()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpRoutingActivationResponse::getLogicalAddressExternalTester
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:876,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:877,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:879,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:879,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:881,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:881,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:883,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getReservedIso
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:883,1
    - Dst: pcpp::DoIpRoutingActivationResponse::hasReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:885,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:886,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getReservedOem
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:886,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 873
    functionDepth: 2
    functionLinenumber: 873
    functionLinenumberEnd: 890
    functionName: pcpp::DoIpRoutingActivationResponse::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - pcpp::DoIpRoutingActivationResponse::hasReservedOem
    - pcpp::byteArrayToHexString
    - pcpp::DoIpRoutingActivationResponse::getLogicalAddressExternalTester
    - pcpp::DoIpRoutingActivationResponse::getSourceAddress
    - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    - find
    - pcpp::DoIpRoutingActivationResponse::getReservedOem
    - std::ostringstream::str
    - pcpp::DoIpRoutingActivationResponse::getReservedIso
    - pcpp::DoIpRoutingActivationResponse::getResponseCode
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpRoutingActivationResponse::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:897,1
    - Dst: pcpp::DoIpAliveCheckRequest::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 898
    functionName: pcpp::DoIpAliveCheckRequest::DoIpAliveCheckRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpAliveCheckRequest::getPayloadType
    - setHeaderFields
    linkageType: ''
    returnType: void
    signature: void DoIpAliveCheckRequest::DoIpAliveCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 905
    functionName: pcpp::DoIpAliveCheckResponse::DoIpAliveCheckResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpAliveCheckResponse::DoIpAliveCheckResponse(uint8_t* data,
      size_t dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:909,1
    - Dst: pcpp::DoIpAliveCheckResponse::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:909,1
    - Dst: pcpp::DoIpAliveCheckResponse::setSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sourceAddress
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 907
    functionDepth: 2
    functionLinenumber: 907
    functionLinenumberEnd: 911
    functionName: pcpp::DoIpAliveCheckResponse::DoIpAliveCheckResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setHeaderFields
    - pcpp::DoIpAliveCheckResponse::getPayloadType
    - pcpp::DoIpAliveCheckResponse::setSourceAddress
    linkageType: ''
    returnType: void
    signature: void DoIpAliveCheckResponse::DoIpAliveCheckResponse(uint16_t sourceAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:915,1
    - Dst: pcpp::DoIpAliveCheckResponse::getAliveCheckResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionName: pcpp::DoIpAliveCheckResponse::getSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::DoIpAliveCheckResponse::getAliveCheckResponse
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DoIpAliveCheckResponse::getSourceAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpAliveCheckResponse::getAliveCheckResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:920,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sourceAddress
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: pcpp::DoIpAliveCheckResponse::setSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::DoIpAliveCheckResponse::getAliveCheckResponse
    linkageType: ''
    returnType: void
    signature: void DoIpAliveCheckResponse::setSourceAddress(uint16_t sourceAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpAliveCheckResponse::getSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:926,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 923
    functionDepth: 2
    functionLinenumber: 923
    functionLinenumberEnd: 928
    functionName: pcpp::DoIpAliveCheckResponse::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpAliveCheckResponse::getSourceAddress
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpAliveCheckResponse::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:935,1
    - Dst: pcpp::DoIpEntityStatusRequest::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: pcpp::DoIpEntityStatusRequest::DoIpEntityStatusRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpEntityStatusRequest::getPayloadType
    - setHeaderFields
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusRequest::DoIpEntityStatusRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 943
    functionName: pcpp::DoIpEntityStatusResponse::DoIpEntityStatusResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusResponse::DoIpEntityStatusResponse(uint8_t* data,
      size_t dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:949,1
    - Dst: pcpp::DoIpEntityStatusResponse::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:949,1
    - Dst: pcpp::DoIpEntityStatusResponse::setNodeType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:951,1
    - Dst: pcpp::DoIpEntityStatusResponse::setMaxConcurrentSockets
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:952,1
    - Dst: pcpp::DoIpEntityStatusResponse::setCurrentlyOpenSockets
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - nodeType
    - maxConcurrentSockets
    - currentlyOpenSockets
    argTypes:
    - DoIpEntityStatusResponseCode
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 945
    functionDepth: 2
    functionLinenumber: 945
    functionLinenumberEnd: 954
    functionName: pcpp::DoIpEntityStatusResponse::DoIpEntityStatusResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpEntityStatusResponse::setMaxConcurrentSockets
    - pcpp::DoIpEntityStatusResponse::getPayloadType
    - pcpp::DoIpEntityStatusResponse::setCurrentlyOpenSockets
    - setHeaderFields
    - pcpp::DoIpEntityStatusResponse::setNodeType
    linkageType: ''
    returnType: void
    signature: "void DoIpEntityStatusResponse::DoIpEntityStatusResponse(DoIpEntityStatusResponseCode
      nodeType,\n\t                                                   uint8_t maxConcurrentSockets,
      uint8_t currentlyOpenSockets)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:957,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:958,1
    - Dst: static_cast<DoIpEntityStatusResponseCode>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 963
    functionName: pcpp::DoIpEntityStatusResponse::getNodeType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<DoIpEntityStatusResponseCode>
    - static_cast<uint8_t>
    - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    linkageType: ''
    returnType: DoIpEntityStatusResponseCode
    signature: DoIpEntityStatusResponseCode DoIpEntityStatusResponse::getNodeType()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 968
    functionName: pcpp::DoIpEntityStatusResponse::getMaxConcurrentSockets
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t DoIpEntityStatusResponse::getMaxConcurrentSockets() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 973
    functionName: pcpp::DoIpEntityStatusResponse::getCurrentlyOpenSockets
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t DoIpEntityStatusResponse::getCurrentlyOpenSockets() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::hasMaxDataSize
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:977,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:978,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:981,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 983
    functionName: pcpp::DoIpEntityStatusResponse::getMaxDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - be32toh
    - std::runtime_error
    - pcpp::DoIpEntityStatusResponse::hasMaxDataSize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DoIpEntityStatusResponse::getMaxDataSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:987,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nodeType
    argTypes:
    - DoIpEntityStatusResponseCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 988
    functionName: pcpp::DoIpEntityStatusResponse::setNodeType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusResponse::setNodeType(DoIpEntityStatusResponseCode
      nodeType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 993
    functionName: pcpp::DoIpEntityStatusResponse::hasMaxDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DoIpEntityStatusResponse::hasMaxDataSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::hasMaxDataSize
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:997,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:999,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1002,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1003,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1005
    functionName: pcpp::DoIpEntityStatusResponse::clearMaxDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setPayloadLength
    - shortenLayer
    - pcpp::DoIpEntityStatusResponse::hasMaxDataSize
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusResponse::clearMaxDataSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sockets
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1010
    functionName: pcpp::DoIpEntityStatusResponse::setMaxConcurrentSockets
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusResponse::setMaxConcurrentSockets(uint8_t sockets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sockets
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1015
    functionName: pcpp::DoIpEntityStatusResponse::setCurrentlyOpenSockets
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusResponse::setCurrentlyOpenSockets(uint8_t sockets)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpEntityStatusResponse::hasMaxDataSize
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1019,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1021,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1023,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1024,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1026
    functionName: pcpp::DoIpEntityStatusResponse::setMaxDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - setPayloadLength
    - pcpp::DoIpEntityStatusResponse::hasMaxDataSize
    - htobe32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusResponse::setMaxDataSize(uint32_t data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1031,1
    - Dst: pcpp::DoIpEntityStatusResponse::getNodeType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1031,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1034,1
    - Dst: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1034,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1035,1
    - Dst: pcpp::DoIpEntityStatusResponse::getMaxConcurrentSockets
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1035,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1036,1
    - Dst: pcpp::DoIpEntityStatusResponse::getCurrentlyOpenSockets
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1036,1
    - Dst: pcpp::DoIpEntityStatusResponse::hasMaxDataSize
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1037,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1040,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1043
    functionName: pcpp::DoIpEntityStatusResponse::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - pcpp::byteArrayToHexString
    - pcpp::DoIpEntityStatusResponse::hasMaxDataSize
    - find
    - std::ostringstream::str
    - pcpp::DoIpEntityStatusResponse::getNodeType
    - pcpp::DoIpEntityStatusResponse::getMaxConcurrentSockets
    - pcpp::DoIpEntityStatusResponse::getCurrentlyOpenSockets
    - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpEntityStatusResponse::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1050,1
    - Dst: pcpp::DoIpDiagnosticPowerModeRequest::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: pcpp::DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticPowerModeRequest::getPayloadType
    - setHeaderFields
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1059
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                                 Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1064,1
    - Dst: pcpp::DoIpDiagnosticPowerModeResponse::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1064,1
    - Dst: pcpp::DoIpDiagnosticPowerModeResponse::setPowerModeCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - DoIpDiagnosticPowerModeCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1061
    functionDepth: 2
    functionLinenumber: 1061
    functionLinenumberEnd: 1066
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticPowerModeResponse::setPowerModeCode
    - pcpp::DoIpDiagnosticPowerModeResponse::getPayloadType
    - setHeaderFields
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse(DoIpDiagnosticPowerModeCodes
      code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1070,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1071,1
    - Dst: static_cast<DoIpDiagnosticPowerModeCodes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1076
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::getPowerModeCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
    - static_cast<uint8_t>
    - static_cast<DoIpDiagnosticPowerModeCodes>
    linkageType: ''
    returnType: DoIpDiagnosticPowerModeCodes
    signature: DoIpDiagnosticPowerModeCodes DoIpDiagnosticPowerModeResponse::getPowerModeCode()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1080,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - DoIpDiagnosticPowerModeCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1081
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::setPowerModeCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticPowerModeResponse::setPowerModeCode(DoIpDiagnosticPowerModeCodes
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticPowerModeResponse::getPowerModeCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1086,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1087,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1089,1
    - Dst: pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1089,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1091
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - pcpp::DoIpDiagnosticPowerModeResponse::getPowerModeCode
    - find
    - pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpDiagnosticPowerModeResponse::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1098
    functionName: pcpp::DoIpDiagnosticBase::DoIpDiagnosticBase
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticBase::DoIpDiagnosticBase(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1102,1
    - Dst: pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1103
    functionName: pcpp::DoIpDiagnosticBase::getSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DoIpDiagnosticBase::getSourceAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1107,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sourceAddress
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1108
    functionName: pcpp::DoIpDiagnosticBase::setSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticBase::setSourceAddress(uint16_t sourceAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1112,1
    - Dst: pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1113
    functionName: pcpp::DoIpDiagnosticBase::getTargetAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DoIpDiagnosticBase::getTargetAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1117,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - targetAddress
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1118
    functionName: pcpp::DoIpDiagnosticBase::setTargetAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticBase::setTargetAddress(uint16_t targetAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1125
    functionName: pcpp::DoIpDiagnosticMessage::DoIpDiagnosticMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticMessage::DoIpDiagnosticMessage(uint8_t* data, size_t
      dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1129,1
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1131,1
    - Dst: pcpp::DoIpDiagnosticMessage::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1131,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1131,1
    - Dst: setSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1132,1
    - Dst: setTargetAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1133,1
    - Dst: pcpp::DoIpDiagnosticMessage::setDiagnosticData
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sourceAddress
    - targetAddress
    - ' diagnosticData'
    argTypes:
    - uint16_t
    - uint16_t
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1127
    functionDepth: 2
    functionLinenumber: 1127
    functionLinenumberEnd: 1135
    functionName: pcpp::DoIpDiagnosticMessage::DoIpDiagnosticMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticMessage::setDiagnosticData
    - size
    - setTargetAddress
    - setHeaderFields
    - setSourceAddress
    - pcpp::DoIpDiagnosticMessage::getPayloadType
    linkageType: ''
    returnType: void
    signature: "void DoIpDiagnosticMessage::DoIpDiagnosticMessage(uint16_t sourceAddress,
      uint16_t targetAddress,\n\t                                             const
      std::vector<uint8_t>& diagnosticData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1141
    functionName: pcpp::DoIpDiagnosticMessage::getDiagnosticData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DoIpDiagnosticMessage::getDiagnosticData() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1145,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1147,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1150,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1150,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1150,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1153,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1157,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1157,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1159,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1159,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1160
    functionName: pcpp::DoIpDiagnosticMessage::setDiagnosticData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - setPayloadLength
    - static_cast<ptrdiff_t>
    - data
    - size
    - memcpy
    - shortenLayer
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticMessage::setDiagnosticData(const std::vector<uint8_t>&
      data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1165,1
    - Dst: getTargetAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1166,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1169
    functionName: pcpp::DoIpDiagnosticMessage::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - getTargetAddress
    - getSourceAddress
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpDiagnosticMessage::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1177
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::DoIpDiagnosticResponseMessageBase
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpDiagnosticResponseMessageBase::DoIpDiagnosticResponseMessageBase(uint8_t*
      data, size_t dataLen,\n\t                                                                     Layer*
      prevLayer, Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setHeaderFields
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1183,1
    - Dst: setSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1184,1
    - Dst: setTargetAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sourceAddress
    - targetAddress
    - type
    argTypes:
    - uint16_t
    - uint16_t
    - DoIpPayloadTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1186
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::DoIpDiagnosticResponseMessageBase
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setSourceAddress
    - setTargetAddress
    - setHeaderFields
    linkageType: ''
    returnType: void
    signature: "void DoIpDiagnosticResponseMessageBase::DoIpDiagnosticResponseMessageBase(uint16_t
      sourceAddress, uint16_t targetAddress,\n\t                                                                     DoIpPayloadTypes
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticResponseMessageBase::getDiagnosticResponseMessageBase
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1191
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::setResponseCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticResponseMessageBase::getDiagnosticResponseMessageBase
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticResponseMessageBase::setResponseCode(uint8_t code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticResponseMessageBase::getDiagnosticResponseMessageBase
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1196
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::getResponseCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticResponseMessageBase::getDiagnosticResponseMessageBase
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t DoIpDiagnosticResponseMessageBase::getResponseCode() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticResponseMessageBase::hasPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1200,1
    - Dst: std::vector<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1205
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::getPreviousMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticResponseMessageBase::hasPreviousMessage
    - std::vector<uint8_t>
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> DoIpDiagnosticResponseMessageBase::getPreviousMessage()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1210
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::hasPreviousMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DoIpDiagnosticResponseMessageBase::hasPreviousMessage() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1214,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1216,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1218,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1218,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1218,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1221,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1225,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1225,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1227,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1227,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' msg'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1228
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::setPreviousMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - setPayloadLength
    - data
    - static_cast<int>
    - size
    - memcpy
    - shortenLayer
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticResponseMessageBase::setPreviousMessage(const std::vector<uint8_t>&
      msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticResponseMessageBase::hasPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1232,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1234,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1237,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1238,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1240
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::clearPreviousMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticResponseMessageBase::hasPreviousMessage
    - shortenLayer
    - setPayloadLength
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticResponseMessageBase::clearPreviousMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1247
    functionName: pcpp::DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck(uint8_t* data,
      size_t dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticMessageAck::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1251,1
    - Dst: pcpp::DoIpDiagnosticMessageAck::setAckCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sourceAddress
    - targetAddress
    - ackCode
    argTypes:
    - uint16_t
    - uint16_t
    - DoIpDiagnosticAckCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1254
    functionName: pcpp::DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticMessageAck::getPayloadType
    - pcpp::DoIpDiagnosticMessageAck::setAckCode
    linkageType: ''
    returnType: void
    signature: "void DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck(uint16_t sourceAddress,
      uint16_t targetAddress,\n\t                                                   DoIpDiagnosticAckCodes
      ackCode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1258,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1261
    functionName: pcpp::DoIpDiagnosticMessageAck::getAckCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - getResponseCode
    - static_cast<uint8_t>
    linkageType: ''
    returnType: DoIpDiagnosticAckCodes
    signature: DoIpDiagnosticAckCodes DoIpDiagnosticMessageAck::getAckCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1265,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - DoIpDiagnosticAckCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1266
    functionName: pcpp::DoIpDiagnosticMessageAck::setAckCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - setResponseCode
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticMessageAck::setAckCode(DoIpDiagnosticAckCodes code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticMessageAck::getAckCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1271,1
    - Dst: getSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1272,1
    - Dst: getTargetAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1273,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1274,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1275,1
    - Dst: getResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1275,1
    - Dst: hasPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1276,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1279,1
    - Dst: getPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1279,1
    - Dst: getPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1279,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1282
    functionName: pcpp::DoIpDiagnosticMessageAck::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - getPreviousMessage
    - pcpp::byteArrayToHexString
    - getSourceAddress
    - getTargetAddress
    - pcpp::DoIpDiagnosticMessageAck::getAckCode
    - find
    - std::ostringstream::str
    - getResponseCode
    - hasPreviousMessage
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpDiagnosticMessageAck::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1290
    functionName: pcpp::DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                     Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticMessageNack::getPayloadType
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1294,1
    - Dst: pcpp::DoIpDiagnosticMessageNack::setNackCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sourceAddress
    - targetAddress
    - nackCode
    argTypes:
    - uint16_t
    - uint16_t
    - DoIpDiagnosticMessageNackCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1297
    functionName: pcpp::DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DoIpDiagnosticMessageNack::getPayloadType
    - pcpp::DoIpDiagnosticMessageNack::setNackCode
    linkageType: ''
    returnType: void
    signature: "void DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack(uint16_t
      sourceAddress, uint16_t targetAddress,\n\t                                                     DoIpDiagnosticMessageNackCodes
      nackCode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1301,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1302,1
    - Dst: static_cast<DoIpDiagnosticMessageNackCodes>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1307
    functionName: pcpp::DoIpDiagnosticMessageNack::getNackCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 1
    functionsReached:
    - getResponseCode
    - static_cast<uint8_t>
    - static_cast<DoIpDiagnosticMessageNackCodes>
    linkageType: ''
    returnType: DoIpDiagnosticMessageNackCodes
    signature: DoIpDiagnosticMessageNackCodes DoIpDiagnosticMessageNack::getNackCode()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1311,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - DoIpDiagnosticMessageNackCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1312
    functionName: pcpp::DoIpDiagnosticMessageNack::setNackCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 2
    functionsReached:
    - setResponseCode
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticMessageNack::setNackCode(DoIpDiagnosticMessageNackCodes
      code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DoIpDiagnosticMessageNack::getNackCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1317,1
    - Dst: getSourceAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1318,1
    - Dst: getTargetAddress
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1319,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1321,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1322,1
    - Dst: getResponseCode
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1322,1
    - Dst: hasPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1324,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1327,1
    - Dst: getPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1327,1
    - Dst: getPreviousMessage
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1327,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp:1329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1330
    functionName: pcpp::DoIpDiagnosticMessageNack::getSummary
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned>
    - getPreviousMessage
    - pcpp::byteArrayToHexString
    - pcpp::DoIpDiagnosticMessageNack::getNackCode
    - getSourceAddress
    - getTargetAddress
    - find
    - std::ostringstream::str
    - getResponseCode
    - hasPreviousMessage
    linkageType: ''
    returnType: std::string
    signature: std::string DoIpDiagnosticMessageNack::getSummary() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/PacketTrailerLayer.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: pcpp::PacketTrailerLayer::getTrailerDataAsHexString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketTrailerLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    linkageType: ''
    returnType: std::string
    signature: std::string PacketTrailerLayer::getTrailerDataAsHexString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/PacketTrailerLayer.cpp:18,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/PacketTrailerLayer.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: pcpp::PacketTrailerLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketTrailerLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string PacketTrailerLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/PacketTrailerLayer.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: pcpp::PacketTrailerLayer::getTrailerDataAsHexString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketTrailerLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    linkageType: ''
    returnType: std::string
    signature: std::string PacketTrailerLayer::getTrailerDataAsHexString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/PacketTrailerLayer.cpp:18,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/PacketTrailerLayer.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: pcpp::PacketTrailerLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PacketTrailerLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string PacketTrailerLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:12,1
    - Dst: pcpp::SmtpRequestLayer::getCommandAsString
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - SmtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: pcpp::SmtpRequestLayer::setCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandInternal
    - pcpp::SmtpRequestLayer::getCommandAsString
    linkageType: ''
    returnType: bool
    signature: bool SmtpRequestLayer::setCommand(SmtpCommand code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SmtpRequestLayer::getCommandString
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:18,1
    - Dst: min
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:20,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:20,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:20,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:22,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:22,1
    - Dst: static_cast<SmtpCommand>
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: pcpp::SmtpRequestLayer::getCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - pcpp::SmtpRequestLayer::getCommandString
    - std::string::c_str
    - static_cast<SmtpCommand>
    - min
    - std::string::size
    linkageType: ''
    returnType: SmtpRequestLayer::SmtpCommand
    signature: SmtpRequestLayer::SmtpCommand SmtpRequestLayer::getCommand() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: pcpp::SmtpRequestLayer::getCommandString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 1
    functionsReached:
    - getCommandInternal
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpRequestLayer::getCommandString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: pcpp::SmtpRequestLayer::setCommandOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandOptionInternal
    linkageType: ''
    returnType: bool
    signature: bool SmtpRequestLayer::setCommandOption(const std::string& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:40,1
    - Dst: std::copy_if
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:47,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:47,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:47,1
    - Dst: std::back_inserter
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - removeEscapeCharacters
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: pcpp::SmtpRequestLayer::getCommandOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getCommandOptionInternal
    - std::copy_if
    - std::string::begin
    - std::back_inserter
    - std::string::end
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpRequestLayer::getCommandOption(bool removeEscapeCharacters)
      const
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 1
    argNames:
    - code
    argTypes:
    - SmtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 108
    functionName: pcpp::SmtpRequestLayer::getCommandInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpRequestLayer::getCommandInfo(SmtpCommand code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - code
    argTypes:
    - SmtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: pcpp::SmtpRequestLayer::getCommandAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpRequestLayer::getCommandAsString(SmtpCommand code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SmtpRequestLayer::getCommandInfo
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:126,1
    - Dst: pcpp::SmtpRequestLayer::getCommand
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: pcpp::SmtpRequestLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SmtpRequestLayer::getCommandInfo
    - pcpp::SmtpRequestLayer::getCommand
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpRequestLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:134,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - SmtpStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: pcpp::SmtpResponseLayer::setStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandInternal
    - std::ostringstream::str
    linkageType: ''
    returnType: bool
    signature: bool SmtpResponseLayer::setStatusCode(SmtpStatusCode code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SmtpStatusCode>
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:139,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:139,1
    - Dst: getCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: pcpp::SmtpResponseLayer::getStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SmtpStatusCode>
    - atoi
    - getCommandInternal
    linkageType: ''
    returnType: SmtpResponseLayer::SmtpStatusCode
    signature: SmtpResponseLayer::SmtpStatusCode SmtpResponseLayer::getStatusCode()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: pcpp::SmtpResponseLayer::getStatusCodeString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getCommandInternal
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpResponseLayer::getStatusCodeString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: pcpp::SmtpResponseLayer::setStatusOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandOptionInternal
    linkageType: ''
    returnType: bool
    signature: bool SmtpResponseLayer::setStatusOption(const std::string& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:154,1
    - Dst: std::copy_if
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:161,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:161,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:161,1
    - Dst: std::back_inserter
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - removeEscapeCharacters
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: pcpp::SmtpResponseLayer::getStatusOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getCommandOptionInternal
    - std::copy_if
    - std::string::begin
    - std::back_inserter
    - std::string::end
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpResponseLayer::getStatusOption(bool removeEscapeCharacters)
      const
  - BBCount: 36
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 1
    argNames:
    - code
    argTypes:
    - SmtpStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 242
    functionName: pcpp::SmtpResponseLayer::getStatusCodeAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpResponseLayer::getStatusCodeAsString(SmtpStatusCode
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SmtpResponseLayer::getStatusCodeAsString
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:246,1
    - Dst: pcpp::SmtpResponseLayer::getStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: pcpp::SmtpResponseLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SmtpResponseLayer::getStatusCode
    - pcpp::SmtpResponseLayer::getStatusCodeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpResponseLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:12,1
    - Dst: pcpp::SmtpRequestLayer::getCommandAsString
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - SmtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: pcpp::SmtpRequestLayer::setCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandInternal
    - pcpp::SmtpRequestLayer::getCommandAsString
    linkageType: ''
    returnType: bool
    signature: bool SmtpRequestLayer::setCommand(SmtpCommand code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SmtpRequestLayer::getCommandString
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:18,1
    - Dst: min
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:20,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:20,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:20,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:22,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:22,1
    - Dst: static_cast<SmtpCommand>
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: pcpp::SmtpRequestLayer::getCommand
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - pcpp::SmtpRequestLayer::getCommandString
    - std::string::c_str
    - static_cast<SmtpCommand>
    - min
    - std::string::size
    linkageType: ''
    returnType: SmtpRequestLayer::SmtpCommand
    signature: SmtpRequestLayer::SmtpCommand SmtpRequestLayer::getCommand() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: pcpp::SmtpRequestLayer::getCommandString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 2
    functionsReached:
    - getCommandInternal
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpRequestLayer::getCommandString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: pcpp::SmtpRequestLayer::setCommandOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandOptionInternal
    linkageType: ''
    returnType: bool
    signature: bool SmtpRequestLayer::setCommandOption(const std::string& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:40,1
    - Dst: std::copy_if
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:47,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:47,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:47,1
    - Dst: std::back_inserter
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - removeEscapeCharacters
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: pcpp::SmtpRequestLayer::getCommandOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getCommandOptionInternal
    - std::copy_if
    - std::string::begin
    - std::back_inserter
    - std::string::end
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpRequestLayer::getCommandOption(bool removeEscapeCharacters)
      const
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 1
    argNames:
    - code
    argTypes:
    - SmtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 108
    functionName: pcpp::SmtpRequestLayer::getCommandInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpRequestLayer::getCommandInfo(SmtpCommand code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - code
    argTypes:
    - SmtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: pcpp::SmtpRequestLayer::getCommandAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpRequestLayer::getCommandAsString(SmtpCommand code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SmtpRequestLayer::getCommandInfo
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:126,1
    - Dst: pcpp::SmtpRequestLayer::getCommand
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: pcpp::SmtpRequestLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SmtpRequestLayer::getCommandInfo
    - pcpp::SmtpRequestLayer::getCommand
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpRequestLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:134,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - SmtpStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: pcpp::SmtpResponseLayer::setStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandInternal
    - std::ostringstream::str
    linkageType: ''
    returnType: bool
    signature: bool SmtpResponseLayer::setStatusCode(SmtpStatusCode code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SmtpStatusCode>
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:139,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:139,1
    - Dst: getCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: pcpp::SmtpResponseLayer::getStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<SmtpStatusCode>
    - atoi
    - getCommandInternal
    linkageType: ''
    returnType: SmtpResponseLayer::SmtpStatusCode
    signature: SmtpResponseLayer::SmtpStatusCode SmtpResponseLayer::getStatusCode()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: pcpp::SmtpResponseLayer::getStatusCodeString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getCommandInternal
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpResponseLayer::getStatusCodeString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: pcpp::SmtpResponseLayer::setStatusOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - setCommandOptionInternal
    linkageType: ''
    returnType: bool
    signature: bool SmtpResponseLayer::setStatusOption(const std::string& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:154,1
    - Dst: std::copy_if
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:161,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:161,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:161,1
    - Dst: std::back_inserter
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - removeEscapeCharacters
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: pcpp::SmtpResponseLayer::getStatusOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - getCommandOptionInternal
    - std::copy_if
    - std::string::begin
    - std::back_inserter
    - std::string::end
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpResponseLayer::getStatusOption(bool removeEscapeCharacters)
      const
  - BBCount: 36
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 1
    argNames:
    - code
    argTypes:
    - SmtpStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 242
    functionName: pcpp::SmtpResponseLayer::getStatusCodeAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpResponseLayer::getStatusCodeAsString(SmtpStatusCode
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SmtpResponseLayer::getStatusCodeAsString
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:246,1
    - Dst: pcpp::SmtpResponseLayer::getStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: pcpp::SmtpResponseLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SmtpResponseLayer::getStatusCode
    - pcpp::SmtpResponseLayer::getStatusCodeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string SmtpResponseLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NflogLayer::getNflogHeader
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: pcpp::NflogLayer::getFamily
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NflogLayer::getNflogHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t NflogLayer::getFamily()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NflogLayer::getNflogHeader
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: pcpp::NflogLayer::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NflogLayer::getNflogHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t NflogLayer::getVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:29,1
    - Dst: pcpp::NflogLayer::getNflogHeader
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: pcpp::NflogLayer::getResourceId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::NflogLayer::getNflogHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t NflogLayer::getResourceId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:34,1
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:35,1
    - Dst: pcpp::NflogLayer::getTlvsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - NflogTlvType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: pcpp::NflogLayer::getTlvByType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NflogLayer::getTlvsBasePtr
    - static_cast<uint32_t>
    - getTLVRecord
    linkageType: ''
    returnType: NflogTlv
    signature: NflogTlv NflogLayer::getTlvByType(NflogTlvType type) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NflogLayer::getTlvByType
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:46,1
    - Dst: auto::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:47,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:52,1
    - Dst: auto::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:53,1
    - Dst: pcpp::NflogLayer::getFamily
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:55,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:61,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:66,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 75
    functionName: pcpp::NflogLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - auto::getTotalSize
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - pcpp::NflogLayer::getFamily
    - pcpp::NflogLayer::getTlvByType
    - auto::getValue
    - auto::isNull
    linkageType: ''
    returnType: void
    signature: void NflogLayer::parseNextLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:80,1
    - Dst: pcpp::NflogLayer::getTlvsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:80,1
    - Dst: NflogTlv::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:82,1
    - Dst: NflogTlv::getType
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:82,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:82,1
    - Dst: NflogTlv::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:84,1
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:85,1
    - Dst: pcpp::NflogLayer::getTlvsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:85,1
    - Dst: NflogTlv::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:87,1
    - Dst: NflogTlv::getType
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:87,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: pcpp::NflogLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 0
    functionsReached:
    - NflogTlv::isNull
    - NflogTlv::getTotalSize
    - pcpp::NflogLayer::getTlvsBasePtr
    - getNextTLVRecord
    - getFirstTLVRecord
    - NflogTlv::getType
    - static_cast<uint16_t>
    linkageType: ''
    returnType: size_t
    signature: size_t NflogLayer::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: pcpp::NflogLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NflogLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: pcpp::NflogLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NflogLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NflogLayer::getNflogHeader
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: pcpp::NflogLayer::getFamily
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NflogLayer::getNflogHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t NflogLayer::getFamily()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NflogLayer::getNflogHeader
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: pcpp::NflogLayer::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NflogLayer::getNflogHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t NflogLayer::getVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:29,1
    - Dst: pcpp::NflogLayer::getNflogHeader
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: pcpp::NflogLayer::getResourceId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::NflogLayer::getNflogHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t NflogLayer::getResourceId()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:34,1
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:35,1
    - Dst: pcpp::NflogLayer::getTlvsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - NflogTlvType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: pcpp::NflogLayer::getTlvByType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NflogLayer::getTlvsBasePtr
    - static_cast<uint32_t>
    - getTLVRecord
    linkageType: ''
    returnType: NflogTlv
    signature: NflogTlv NflogLayer::getTlvByType(NflogTlvType type) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NflogLayer::getTlvByType
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:46,1
    - Dst: auto::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:47,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:52,1
    - Dst: auto::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:53,1
    - Dst: pcpp::NflogLayer::getFamily
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:55,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:61,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:66,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 75
    functionName: pcpp::NflogLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - auto::getTotalSize
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - pcpp::NflogLayer::getFamily
    - pcpp::NflogLayer::getTlvByType
    - auto::getValue
    - auto::isNull
    linkageType: ''
    returnType: void
    signature: void NflogLayer::parseNextLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:80,1
    - Dst: pcpp::NflogLayer::getTlvsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:80,1
    - Dst: NflogTlv::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:82,1
    - Dst: NflogTlv::getType
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:82,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:82,1
    - Dst: NflogTlv::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:84,1
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:85,1
    - Dst: pcpp::NflogLayer::getTlvsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:85,1
    - Dst: NflogTlv::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:87,1
    - Dst: NflogTlv::getType
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:87,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: pcpp::NflogLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 0
    functionsReached:
    - NflogTlv::isNull
    - NflogTlv::getTotalSize
    - pcpp::NflogLayer::getTlvsBasePtr
    - getNextTLVRecord
    - getFirstTLVRecord
    - NflogTlv::getType
    - static_cast<uint16_t>
    linkageType: ''
    returnType: size_t
    signature: size_t NflogLayer::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: pcpp::NflogLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NflogLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: pcpp::NflogLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NflogLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: BSWAP16
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: BSWAP32
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:17,1
    - Dst: pcpp::NullLoopbackLayer::setFamily
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - family
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: pcpp::NullLoopbackLayer::NullLoopbackLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NullLoopbackLayer::setFamily
    - allocData
    linkageType: ''
    returnType: void
    signature: void NullLoopbackLayer::NullLoopbackLayer(uint32_t family)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:25,1
    - Dst: BSWAP32
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:34,1
    - Dst: BSWAP16
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 43
    functionName: pcpp::NullLoopbackLayer::getFamily
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - BSWAP32
    - BSWAP16
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NullLoopbackLayer::getFamily() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - family
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: pcpp::NullLoopbackLayer::setFamily
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NullLoopbackLayer::setFamily(uint32_t family)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NullLoopbackLayer::getFamily
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:55,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:58,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:63,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:68,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:73,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:83,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:90,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 99
    functionName: pcpp::NullLoopbackLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - pcpp::NullLoopbackLayer::getFamily
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void NullLoopbackLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: pcpp::NullLoopbackLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NullLoopbackLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: BSWAP16
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 12
    functionName: BSWAP32
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSWAP32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:17,1
    - Dst: pcpp::NullLoopbackLayer::setFamily
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - family
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: pcpp::NullLoopbackLayer::NullLoopbackLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NullLoopbackLayer::setFamily
    - allocData
    linkageType: ''
    returnType: void
    signature: void NullLoopbackLayer::NullLoopbackLayer(uint32_t family)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:25,1
    - Dst: BSWAP32
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:34,1
    - Dst: BSWAP16
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 43
    functionName: pcpp::NullLoopbackLayer::getFamily
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uint32_t*>
    - BSWAP32
    - BSWAP16
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NullLoopbackLayer::getFamily() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - family
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: pcpp::NullLoopbackLayer::setFamily
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NullLoopbackLayer::setFamily(uint32_t family)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NullLoopbackLayer::getFamily
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:55,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:58,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:63,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:68,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:73,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:83,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:90,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 99
    functionName: pcpp::NullLoopbackLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - pcpp::NullLoopbackLayer::getFamily
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void NullLoopbackLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: pcpp::NullLoopbackLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NullLoopbackLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: pcpp::IPv6Layer::initLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - allocData
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::initLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::parseExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:35,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:37,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:37,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: pcpp::IPv6Layer::IPv6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::IPv6Layer::getHeaderLen
    - pcpp::IPv6Layer::parseExtensions
    - pcpp::IPv6Layer::getIPv6Header
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::IPv6Layer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: pcpp::IPv6Layer::IPv6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::initLayer
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::IPv6Layer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:49,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:50,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:51,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' srcIP'
    - ' dstIP'
    argTypes:
    - IPv6Address
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: pcpp::IPv6Layer::IPv6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::initLayer
    - copyTo
    - pcpp::IPv6Layer::getIPv6Header
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::IPv6Layer(const IPv6Address& srcIP, const IPv6Address&
      dstIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::parseExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: pcpp::IPv6Layer::IPv6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::parseExtensions
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::IPv6Layer(const IPv6Layer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleteExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: IPv6Layer::~IPv6Layer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - deleteExtensions
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::~IPv6Layer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layer::operator=
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:70,1
    - Dst: deleteExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:72,1
    - Dst: parseExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: '& IPv6Layer::operator=(const IPv6Layer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - parseExtensions
    - Layer::operator=
    - deleteExtensions
    linkageType: ''
    returnType: IPv6Layer
    signature: IPv6Layer & IPv6Layer::operator=(const IPv6Layer& other)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:81,1
    - Dst: IPv6FragmentationHeader::IPv6FragmentationHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:94,1
    - Dst: IPv6HopByHopHeader::IPv6HopByHopHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:99,1
    - Dst: IPv6DestinationHeader::IPv6DestinationHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:104,1
    - Dst: IPv6RoutingHeader::IPv6RoutingHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:109,1
    - Dst: IPv6AuthenticationHeader::IPv6AuthenticationHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:114,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:135,1
    - Dst: IPv6Extension*::setNextHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:137,1
    - Dst: IPv6Extension*::getNextHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:138,1
    - Dst: IPv6Extension*::getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:141,1
    - Dst: IPv6Extension*::getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:142,1
    - Dst: IPv6Extension*::getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:143,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 147
    functionName: pcpp::IPv6Layer::parseExtensions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 2
    functionsReached:
    - IPv6RoutingHeader::IPv6RoutingHeader
    - IPv6AuthenticationHeader::IPv6AuthenticationHeader
    - IPv6DestinationHeader::IPv6DestinationHeader
    - IPv6FragmentationHeader::IPv6FragmentationHeader
    - IPv6HopByHopHeader::IPv6HopByHopHeader
    - IPv6Extension*::getNextHeader
    - pcpp::IPv6Layer::getIPv6Header
    - IPv6Extension*::setNextHeader
    - std::logic_error
    - IPv6Extension*::getBaseHeader
    - IPv6Extension*::getExtensionLen
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::parseExtensions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Extension*::getNextHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: pcpp::IPv6Layer::deleteExtensions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - IPv6Extension*::getNextHeader
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::deleteExtensions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Extension*::getNextHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: pcpp::IPv6Layer::getExtensionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - IPv6Extension*::getNextHeader
    linkageType: ''
    returnType: size_t
    signature: size_t IPv6Layer::getExtensionCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:182,1
    - Dst: getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:182,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:184,1
    - Dst: pcpp::IPv6Layer::deleteExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: pcpp::IPv6Layer::removeAllExtensions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::deleteExtensions
    - getBaseHeader
    - shortenLayer
    - pcpp::IPv6Layer::getIPv6Header
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::removeAllExtensions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getExtensionOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: pcpp::IPv6Layer::isFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::getExtensionOfType
    linkageType: ''
    returnType: bool
    signature: bool IPv6Layer::isFragment() const
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:196,1
    - Dst: getExtensionType
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:207,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:209,1
    - Dst: getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:213,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:217,1
    - Dst: tryConstructNextLayerWithFallback<UdpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:224,1
    - Dst: tryConstructNextLayerWithFallback<TcpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:229,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:239,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:244,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:249,1
    - Dst: pcpp::GreLayer::getGREVersion
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:257,1
    - Dst: tryConstructNextLayerWithFallback<GREv0Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:263,1
    - Dst: tryConstructNextLayerWithFallback<GREv1Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:268,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:272,1
    - Dst: tryConstructNextLayerWithFallback<AuthenticationHeaderLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:279,1
    - Dst: tryConstructNextLayerWithFallback<ESPLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:284,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:289,1
    - Dst: pcpp::VrrpLayer::getVersionFromData
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:294,1
    - Dst: constructNextLayer<VrrpV3Layer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:298,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:302,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:308,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 312
    functionName: pcpp::IPv6Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::getHeaderLen
    - getBaseHeader
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<UdpLayer, PayloadLayer>
    - constructNextLayer<VrrpV3Layer>
    - tryConstructNextLayerWithFallback<GREv0Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - getExtensionType
    - pcpp::IPv6Layer::getIPv6Header
    - tryConstructNextLayerWithFallback<TcpLayer, PayloadLayer>
    - constructNextLayerFromFactory
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<AuthenticationHeaderLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<GREv1Layer, PayloadLayer>
    - pcpp::VrrpLayer::getVersionFromData
    - tryConstructNextLayerWithFallback<ESPLayer, PayloadLayer>
    - pcpp::GreLayer::getGREVersion
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::parseNextLayer()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:316,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:317,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:323,1
    - Dst: getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:351,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 356
    functionName: pcpp::IPv6Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - getBaseHeader
    - pcpp::IPv6Layer::getIPv6Header
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::computeCalculateFields()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getSrcIPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:361,1
    - Dst: pcpp::IPv6Layer::getDstIPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:361,1
    - Dst: IPv6Extension*::getExtensionType
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:368,1
    - Dst: IPv6Extension*::getNextHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:390,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:394,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 398
    functionName: pcpp::IPv6Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::getDstIPv6Address
    - IPv6Extension*::getExtensionType
    - IPv6Extension*::getNextHeader
    - std::string::size
    - pcpp::IPv6Layer::getSrcIPv6Address
    linkageType: ''
    returnType: std::string
    signature: std::string IPv6Layer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: pcpp::IPv6Layer::initLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 2
    functionsReached:
    - allocData
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::initLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::parseExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:35,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:37,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:37,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: pcpp::IPv6Layer::IPv6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::IPv6Layer::getHeaderLen
    - pcpp::IPv6Layer::parseExtensions
    - pcpp::IPv6Layer::getIPv6Header
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::IPv6Layer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: pcpp::IPv6Layer::IPv6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::initLayer
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::IPv6Layer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:49,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:50,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:51,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' srcIP'
    - ' dstIP'
    argTypes:
    - IPv6Address
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: pcpp::IPv6Layer::IPv6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::initLayer
    - copyTo
    - pcpp::IPv6Layer::getIPv6Header
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::IPv6Layer(const IPv6Address& srcIP, const IPv6Address&
      dstIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::parseExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: pcpp::IPv6Layer::IPv6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::parseExtensions
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::IPv6Layer(const IPv6Layer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleteExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: IPv6Layer::~IPv6Layer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - deleteExtensions
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::~IPv6Layer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layer::operator=
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:70,1
    - Dst: deleteExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:72,1
    - Dst: parseExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: '& IPv6Layer::operator=(const IPv6Layer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - parseExtensions
    - Layer::operator=
    - deleteExtensions
    linkageType: ''
    returnType: IPv6Layer
    signature: IPv6Layer & IPv6Layer::operator=(const IPv6Layer& other)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:81,1
    - Dst: IPv6FragmentationHeader::IPv6FragmentationHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:94,1
    - Dst: IPv6HopByHopHeader::IPv6HopByHopHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:99,1
    - Dst: IPv6DestinationHeader::IPv6DestinationHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:104,1
    - Dst: IPv6RoutingHeader::IPv6RoutingHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:109,1
    - Dst: IPv6AuthenticationHeader::IPv6AuthenticationHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:114,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:135,1
    - Dst: IPv6Extension*::setNextHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:137,1
    - Dst: IPv6Extension*::getNextHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:138,1
    - Dst: IPv6Extension*::getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:141,1
    - Dst: IPv6Extension*::getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:142,1
    - Dst: IPv6Extension*::getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:143,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 147
    functionName: pcpp::IPv6Layer::parseExtensions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 4
    functionsReached:
    - IPv6RoutingHeader::IPv6RoutingHeader
    - IPv6AuthenticationHeader::IPv6AuthenticationHeader
    - IPv6DestinationHeader::IPv6DestinationHeader
    - IPv6FragmentationHeader::IPv6FragmentationHeader
    - IPv6HopByHopHeader::IPv6HopByHopHeader
    - IPv6Extension*::getNextHeader
    - pcpp::IPv6Layer::getIPv6Header
    - IPv6Extension*::setNextHeader
    - std::logic_error
    - IPv6Extension*::getBaseHeader
    - IPv6Extension*::getExtensionLen
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::parseExtensions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Extension*::getNextHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: pcpp::IPv6Layer::deleteExtensions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 1
    functionsReached:
    - IPv6Extension*::getNextHeader
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::deleteExtensions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Extension*::getNextHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: pcpp::IPv6Layer::getExtensionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - IPv6Extension*::getNextHeader
    linkageType: ''
    returnType: size_t
    signature: size_t IPv6Layer::getExtensionCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:182,1
    - Dst: getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:182,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:184,1
    - Dst: pcpp::IPv6Layer::deleteExtensions
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: pcpp::IPv6Layer::removeAllExtensions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::deleteExtensions
    - getBaseHeader
    - shortenLayer
    - pcpp::IPv6Layer::getIPv6Header
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::removeAllExtensions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getExtensionOfType
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: pcpp::IPv6Layer::isFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::getExtensionOfType
    linkageType: ''
    returnType: bool
    signature: bool IPv6Layer::isFragment() const
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:196,1
    - Dst: getExtensionType
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:207,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:209,1
    - Dst: getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:213,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:217,1
    - Dst: tryConstructNextLayerWithFallback<UdpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:224,1
    - Dst: tryConstructNextLayerWithFallback<TcpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:229,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:239,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:244,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:249,1
    - Dst: pcpp::GreLayer::getGREVersion
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:257,1
    - Dst: tryConstructNextLayerWithFallback<GREv0Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:263,1
    - Dst: tryConstructNextLayerWithFallback<GREv1Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:268,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:272,1
    - Dst: tryConstructNextLayerWithFallback<AuthenticationHeaderLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:279,1
    - Dst: tryConstructNextLayerWithFallback<ESPLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:284,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:289,1
    - Dst: pcpp::VrrpLayer::getVersionFromData
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:294,1
    - Dst: constructNextLayer<VrrpV3Layer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:298,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:302,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:308,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 312
    functionName: pcpp::IPv6Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::getHeaderLen
    - getBaseHeader
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<UdpLayer, PayloadLayer>
    - constructNextLayer<VrrpV3Layer>
    - tryConstructNextLayerWithFallback<GREv0Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - getExtensionType
    - pcpp::IPv6Layer::getIPv6Header
    - tryConstructNextLayerWithFallback<TcpLayer, PayloadLayer>
    - constructNextLayerFromFactory
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<AuthenticationHeaderLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<GREv1Layer, PayloadLayer>
    - pcpp::VrrpLayer::getVersionFromData
    - tryConstructNextLayerWithFallback<ESPLayer, PayloadLayer>
    - pcpp::GreLayer::getGREVersion
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::parseNextLayer()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:316,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:317,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:323,1
    - Dst: getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:351,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 356
    functionName: pcpp::IPv6Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - getBaseHeader
    - pcpp::IPv6Layer::getIPv6Header
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void IPv6Layer::computeCalculateFields()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getSrcIPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:361,1
    - Dst: pcpp::IPv6Layer::getDstIPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:361,1
    - Dst: IPv6Extension*::getExtensionType
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:368,1
    - Dst: IPv6Extension*::getNextHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:390,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp:394,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 398
    functionName: pcpp::IPv6Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::getDstIPv6Address
    - IPv6Extension*::getExtensionType
    - IPv6Extension*::getNextHeader
    - std::string::size
    - pcpp::IPv6Layer::getSrcIPv6Address
    linkageType: ''
    returnType: std::string
    signature: std::string IPv6Layer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:32,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:33,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:34,1
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - maxPacketLen
    - linkType
    argTypes:
    - size_t
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - memset
    - gettimeofday
    - uint8_t::uint8_t
    - RawPacket::RawPacket
    linkageType: ''
    returnType: void
    signature: void Packet::Packet(size_t maxPacketLen, LinkLayerType linkType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:43,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:44,1
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - linkType
    argTypes:
    - uint8_t*
    - size_t
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - memset
    - gettimeofday
    - RawPacket::RawPacket
    linkageType: ''
    returnType: void
    signature: void Packet::Packet(uint8_t* buffer, size_t bufferSize, LinkLayerType
      linkType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::destructPacketData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:51,1
    - Dst: RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:55,1
    - Dst: pcpp::Packet::parsePacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - rawPacket
    - freeRawPacket
    - parseUntil
    - parseUntilLayer
    argTypes:
    - RawPacket*
    - bool
    - ProtocolTypeFamily
    - OsiModelLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: pcpp::Packet::setRawPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::destructPacketData
    - pcpp::Packet::parsePacket
    - RawPacket*::getRawDataLen
    linkageType: ''
    returnType: void
    signature: "void Packet::setRawPacket(RawPacket* rawPacket, bool freeRawPacket,
      ProtocolTypeFamily parseUntil,\n\t                          OsiModelLayer parseUntilLayer)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:70,1
    - Dst: pcpp::Packet::destroyAllLayers
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:76,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:87,1
    - Dst: pcpp::Packet::createFirstLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:88,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:92,1
    - Dst: getOsiModelLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:111,1
    - Dst: auto*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:123,1
    - Dst: auto*::getOsiModelLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:135,1
    - Dst: auto*::isMemberOfProtocolFamily
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:143,1
    - Dst: auto*::hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:159,1
    - Dst: auto*::parseNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:164,1
    - Dst: getPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:172,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:183,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:183,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:184,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:184,1
    - Dst: static_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:188,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:188,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:188,1
    - Dst: PacketTrailerLayer::PacketTrailerLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:188,1
    - Dst: setNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:192,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 2
    argNames:
    - options
    - incrementalParsing
    argTypes:
    - PacketParseOptions
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 196
    functionName: pcpp::Packet::parsePacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 1
    functionsReached:
    - getDataLen
    - getLinkLayerType
    - PCPP_LOG_ERROR
    - auto*::getNextLayer
    - std::runtime_error
    - auto*::isMemberOfProtocolFamily
    - pcpp::Packet::destroyAllLayers
    - getPrevLayer
    - getRawData
    - static_cast<uint8_t*>
    - getData
    - pcpp::Packet::createFirstLayer
    - auto*::parseNextLayer
    - getOsiModelLayer
    - auto*::getOsiModelLayer
    - getRawDataLen
    - auto*::hasNextLayer
    - PacketTrailerLayer::PacketTrailerLayer
    - setNextLayer
    linkageType: ''
    returnType: void
    signature: void Packet::parsePacket(PacketParseOptions options, bool incrementalParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ProtocolTypeFamily>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - rawPacket
    - freeRawPacket
    - parseUntil
    - parseUntilLayer
    argTypes:
    - RawPacket*
    - bool
    - ProtocolType
    - OsiModelLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ProtocolTypeFamily>
    linkageType: ''
    returnType: void
    signature: void Packet::Packet(RawPacket* rawPacket, bool freeRawPacket, ProtocolType
      parseUntil, OsiModelLayer parseUntilLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::setRawPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rawPacket
    - freeRawPacket
    - parseUntil
    - parseUntilLayer
    argTypes:
    - RawPacket*
    - bool
    - ProtocolTypeFamily
    - OsiModelLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::setRawPacket
    linkageType: ''
    returnType: void
    signature: "void Packet::Packet(RawPacket* rawPacket, bool freeRawPacket, ProtocolTypeFamily
      parseUntil,\n\t               OsiModelLayer parseUntilLayer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ProtocolTypeFamily>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:216,1
    - Dst: pcpp::Packet::setRawPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rawPacket
    - parseUntil
    argTypes:
    - RawPacket*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::setRawPacket
    - static_cast<ProtocolTypeFamily>
    linkageType: ''
    returnType: void
    signature: void Packet::Packet(RawPacket* rawPacket, ProtocolType parseUntil)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::setRawPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rawPacket
    - parseUntilFamily
    argTypes:
    - RawPacket*
    - ProtocolTypeFamily
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::setRawPacket
    linkageType: ''
    returnType: void
    signature: void Packet::Packet(RawPacket* rawPacket, ProtocolTypeFamily parseUntilFamily)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::setRawPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rawPacket
    - parseUntilLayer
    argTypes:
    - RawPacket*
    - OsiModelLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::setRawPacket
    linkageType: ''
    returnType: void
    signature: void Packet::Packet(RawPacket* rawPacket, OsiModelLayer parseUntilLayer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::destroyAllLayers
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: pcpp::Packet::destructPacketData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::destroyAllLayers
    linkageType: ''
    returnType: void
    signature: void Packet::destructPacketData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 262
    functionName: pcpp::Packet::destroyAllLayers
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 2
    functionsReached:
    - Layer*::getNextLayer
    linkageType: ''
    returnType: void
    signature: void Packet::destroyAllLayers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destructPacketData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:266,1
    - Dst: copyDataFrom
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: '& Packet::operator=(const Packet& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - destructPacketData
    - copyDataFrom
    linkageType: ''
    returnType: Packet
    signature: Packet & Packet::operator=(const Packet& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:275,1
    - Dst: pcpp::Packet::createFirstLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:278,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:278,1
    - Dst: Layer*::parseNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:284,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 290
    functionName: pcpp::Packet::copyDataFrom
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - RawPacket::RawPacket
    - pcpp::Packet::createFirstLayer
    - getLinkLayerType
    - Layer*::parseNextLayer
    - Layer*::getNextLayer
    linkageType: ''
    returnType: void
    signature: void Packet::copyDataFrom(const Packet& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:294,1
    - Dst: reallocateData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:300,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:302,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:307,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:309,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:311,1
    - Dst: typeid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:311,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:312,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - newSize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 315
    functionName: pcpp::Packet::reallocateRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - getRawData
    - typeid
    - const_cast<uint8_t*>
    - reallocateData
    - PCPP_LOG_ERROR
    - Layer*::getHeaderLen
    - PCPP_LOG_DEBUG
    - Layer*::getNextLayer
    linkageType: ''
    returnType: void
    signature: void Packet::reallocateRawData(size_t newSize)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:321,1
    - Dst: Layer*::isAllocatedToPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:325,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:327,1
    - Dst: Layer*::getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:331,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:333,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:337,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:338,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:342,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:347,1
    - Dst: pcpp::Packet::reallocateRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:348,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:348,1
    - Dst: pcpp::Packet::reallocateRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:350,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:356,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:356,1
    - Dst: insertData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:357,1
    - Dst: Layer*::setNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:365,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:365,1
    - Dst: Layer*::setPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:366,1
    - Dst: Layer*::setNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:367,1
    - Dst: Layer*::setNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:371,1
    - Dst: setPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:373,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:377,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:380,1
    - Dst: Layer*::m_AllocationInfo::attachPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:383,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:388,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:389,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:389,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:393,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:394,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:397,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:400,1
    - Dst: Layer*::getOsiModelLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:406,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:412,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:413,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - prevLayer
    - newLayer
    - ownInPacket
    argTypes:
    - Layer*
    - Layer*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 417
    functionName: pcpp::Packet::insertLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::reallocateRawData
    - getRawData
    - Layer*::isAllocatedToPacket
    - const_cast<uint8_t*>
    - getProtocol
    - getDataLen
    - static_cast<size_t>
    - Layer*::m_AllocationInfo::attachPacket
    - Layer*::getHeaderLen
    - PCPP_LOG_ERROR
    - Layer*::setNextLayer
    - Layer*::setPrevLayer
    - Layer*::getOsiModelLayer
    - setPrevLayer
    - Layer*::getProtocol
    - Layer*::getNextLayer
    - getRawDataLen
    - insertData
    linkageType: ''
    returnType: bool
    signature: bool Packet::insertLayer(Layer* prevLayer, Layer* newLayer, bool ownInPacket)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:421,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:425,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - layerType
    - index
    argTypes:
    - ProtocolType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 432
    functionName: pcpp::Packet::removeLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::removeLayer
    - pcpp::Packet::getLayerOfType
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool Packet::removeLayer(ProtocolType layerType, int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:436,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:439,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 444
    functionName: pcpp::Packet::removeFirstLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - pcpp::Packet::removeLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool Packet::removeFirstLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getLastLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:448,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:451,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 456
    functionName: pcpp::Packet::removeLastLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::removeLayer
    - pcpp::Packet::getLastLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool Packet::removeLastLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:460,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:463,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - layer
    argTypes:
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 470
    functionName: pcpp::Packet::removeAllLayersAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::removeLayer
    - Layer*::getNextLayer
    linkageType: ''
    returnType: bool
    signature: bool Packet::removeAllLayersAfter(Layer* layer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:474,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:478,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - layerType
    - index
    argTypes:
    - ProtocolType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 488
    functionName: pcpp::Packet::detachLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::removeLayer
    - pcpp::Packet::getLayerOfType
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: Layer
    signature: Layer * Packet::detachLayer(ProtocolType layerType, int index)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:494,1
    - Dst: Layer*::isAllocatedToPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:499,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:501,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:511,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:516,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:518,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:519,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:519,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:523,1
    - Dst: removeData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:524,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:526,1
    - Dst: Layer*::m_PrevLayer::setNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:532,1
    - Dst: Layer*::m_NextLayer::setPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:534,1
    - Dst: Layer*::setNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:541,1
    - Dst: Layer*::setPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:542,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:546,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:547,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:552,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:553,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:553,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:561,1
    - Dst: Layer*::getOsiModelLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:567,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:573,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:574,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:577,1
    - Dst: Layer*::m_AllocationInfo::detach
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:589,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:590,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - layer
    - tryToDelete
    argTypes:
    - Layer*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 595
    functionName: pcpp::Packet::removeLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 5
    functionsReached:
    - getDataLen
    - Layer*::m_PrevLayer::setNextLayer
    - PCPP_LOG_ERROR
    - Layer*::setNextLayer
    - Layer*::m_NextLayer::setPrevLayer
    - std::make_unique<uint8_t[]>
    - getRawData
    - Layer*::isAllocatedToPacket
    - const_cast<uint8_t*>
    - auto::get
    - static_cast<size_t>
    - Layer*::getHeaderLen
    - Layer*::setPrevLayer
    - Layer*::getNextLayer
    - Layer*::m_AllocationInfo::detach
    - removeData
    - memcpy
    - auto::release
    - Layer*::getOsiModelLayer
    - getRawDataLen
    - getProtocol
    linkageType: ''
    returnType: bool
    signature: bool Packet::removeLayer(Layer* layer, bool tryToDelete)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:600,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:600,1
    - Dst: Layer*::getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - layerType
    - index
    argTypes:
    - ProtocolType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 612
    functionName: pcpp::Packet::getLayerOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 2
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - Layer*::getProtocol
    - Layer*::getNextLayer
    linkageType: ''
    returnType: Layer
    signature: Layer * Packet::getLayerOfType(ProtocolType layerType, int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:616,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:616,1
    - Dst: Layer*::getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - protocolType
    argTypes:
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 625
    functionName: pcpp::Packet::isPacketOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - Layer*::getProtocol
    - Layer*::getNextLayer
    linkageType: ''
    returnType: bool
    signature: bool Packet::isPacketOfType(ProtocolType protocolType) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:629,1
    - Dst: Layer*::isMemberOfProtocolFamily
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:632,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - protocolTypeFamily
    argTypes:
    - ProtocolTypeFamily
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 640
    functionName: pcpp::Packet::isPacketOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - Layer*::getNextLayer
    - Layer*::isMemberOfProtocolFamily
    linkageType: ''
    returnType: bool
    signature: bool Packet::isPacketOfType(ProtocolTypeFamily protocolTypeFamily)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:646,1
    - Dst: Layer*::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:651,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:653,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:657,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:661,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:667,1
    - Dst: pcpp::Packet::reallocateRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:668,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:668,1
    - Dst: pcpp::Packet::reallocateRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:670,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:674,1
    - Dst: insertData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:680,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:683,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:687,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:689,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:689,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:691,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:696,1
    - Dst: Layer*::getPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:699,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:708,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - layer
    - offsetInLayer
    - numOfBytesToExtend
    argTypes:
    - Layer*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 713
    functionName: pcpp::Packet::extendLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::reallocateRawData
    - getRawData
    - const_cast<uint8_t*>
    - Layer*::getAttachedPacket
    - PCPP_LOG_ERROR
    - Layer*::getHeaderLen
    - Layer*::getPrevLayer
    - Layer*::getNextLayer
    - getRawDataLen
    - insertData
    linkageType: ''
    returnType: bool
    signature: bool Packet::extendLayer(Layer* layer, int offsetInLayer, size_t numOfBytesToExtend)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:719,1
    - Dst: Layer*::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:724,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:726,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:731,1
    - Dst: removeData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:732,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:734,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:739,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:743,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:745,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:745,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:747,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:752,1
    - Dst: Layer*::getPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:755,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:758,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - layer
    - offsetInLayer
    - numOfBytesToShorten
    argTypes:
    - Layer*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 771
    functionName: pcpp::Packet::shortenLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - getRawData
    - const_cast<uint8_t*>
    - Layer*::getAttachedPacket
    - removeData
    - PCPP_LOG_ERROR
    - Layer*::getHeaderLen
    - Layer*::getPrevLayer
    - Layer*::getNextLayer
    - getRawDataLen
    linkageType: ''
    returnType: bool
    signature: bool Packet::shortenLayer(Layer* layer, int offsetInLayer, size_t numOfBytesToShorten)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layer*::getPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:776,1
    - Dst: Layer*::computeCalculateFields
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 780
    functionName: pcpp::Packet::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - Layer*::computeCalculateFields
    - Layer*::getPrevLayer
    linkageType: ''
    returnType: void
    signature: void Packet::computeCalculateFields()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:785,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:788,1
    - Dst: localtime_r
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:798,1
    - Dst: gmtime_r
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:800,1
    - Dst: localtime
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:809,1
    - Dst: gmtime
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:811,1
    - Dst: strftime
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:818,1
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:819,1
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:822,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:824,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:824,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - timeAsLocalTime
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 825
    functionName: pcpp::Packet::printPacketInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - localtime
    - strftime
    - string
    - getPacketTimeStamp
    - gmtime
    - std::ostringstream::str
    - snprintf
    - gmtime_r
    - localtime_r
    - getRawDataLen
    linkageType: ''
    returnType: std::string
    signature: std::string Packet::printPacketInfo(bool timeAsLocalTime) const
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:829,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:833,1
    - Dst: pcpp::EthLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:839,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:841,1
    - Dst: EthLayer::EthLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:841,1
    - Dst: pcpp::EthDot3Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:843,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:845,1
    - Dst: EthDot3Layer::EthDot3Layer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:845,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:851,1
    - Dst: SllLayer::SllLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:851,1
    - Dst: pcpp::Sll2Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:855,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:857,1
    - Dst: Sll2Layer::Sll2Layer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:857,1
    - Dst: pcpp::NullLoopbackLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:863,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:865,1
    - Dst: NullLoopbackLayer::NullLoopbackLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:865,1
    - Dst: pcpp::IPv4Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:874,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:876,1
    - Dst: IPv4Layer::IPv4Layer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:876,1
    - Dst: pcpp::IPv6Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:878,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:880,1
    - Dst: IPv6Layer::IPv6Layer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:880,1
    - Dst: pcpp::IPv4Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:886,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:888,1
    - Dst: IPv4Layer::IPv4Layer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:888,1
    - Dst: pcpp::IPv6Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:894,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:896,1
    - Dst: IPv6Layer::IPv6Layer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:896,1
    - Dst: pcpp::NflogLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:902,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:904,1
    - Dst: NflogLayer::NflogLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:904,1
    - Dst: pcpp::CiscoHdlcLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:910,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:912,1
    - Dst: CiscoHdlcLayer::CiscoHdlcLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:912,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:922,1
    - Dst: PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:922,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 1
    argNames:
    - linkType
    argTypes:
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 923
    functionName: pcpp::Packet::createFirstLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 2
    functionsReached:
    - CiscoHdlcLayer::CiscoHdlcLayer
    - pcpp::CiscoHdlcLayer::isDataValid
    - pcpp::IPv4Layer::isDataValid
    - IPv4Layer::IPv4Layer
    - SllLayer::SllLayer
    - PayloadLayer::PayloadLayer
    - pcpp::EthLayer::isDataValid
    - getRawData
    - pcpp::IPv6Layer::isDataValid
    - pcpp::NflogLayer::isDataValid
    - const_cast<uint8_t*>
    - Sll2Layer::Sll2Layer
    - NflogLayer::NflogLayer
    - NullLoopbackLayer::NullLoopbackLayer
    - pcpp::NullLoopbackLayer::isDataValid
    - EthDot3Layer::EthDot3Layer
    - getRawDataLen
    - pcpp::Sll2Layer::isDataValid
    - IPv6Layer::IPv6Layer
    - pcpp::EthDot3Layer::isDataValid
    - EthLayer::EthLayer
    linkageType: ''
    returnType: Layer
    signature: Layer * Packet::createFirstLayer(LinkLayerType linkType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:928,1
    - Dst: std::accumulate
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:929,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:929,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:929,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:929,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - timeAsLocalTime
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: pcpp::Packet::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - string
    - std::vector::begin
    - std::accumulate
    - pcpp::Packet::toStringList
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string Packet::toString(bool timeAsLocalTime) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:935,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:936,1
    - Dst: pcpp::Packet::printPacketInfo
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:936,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:938,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:940,1
    - Dst: Layer*::toString
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' result'
    - timeAsLocalTime
    argTypes:
    - std::vector<std::string>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 942
    functionName: pcpp::Packet::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 1
    functionsReached:
    - clear
    - pcpp::Packet::printPacketInfo
    - Layer*::toString
    - push_back
    - Layer*::getNextLayer
    linkageType: ''
    returnType: void
    signature: void Packet::toStringList(std::vector<std::string>& result, bool timeAsLocalTime)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:32,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:33,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:34,1
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - maxPacketLen
    - linkType
    argTypes:
    - size_t
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - memset
    - gettimeofday
    - uint8_t::uint8_t
    - RawPacket::RawPacket
    linkageType: ''
    returnType: void
    signature: void Packet::Packet(size_t maxPacketLen, LinkLayerType linkType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:43,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:44,1
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buffer
    - bufferSize
    - linkType
    argTypes:
    - uint8_t*
    - size_t
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - memset
    - gettimeofday
    - RawPacket::RawPacket
    linkageType: ''
    returnType: void
    signature: void Packet::Packet(uint8_t* buffer, size_t bufferSize, LinkLayerType
      linkType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::destructPacketData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:51,1
    - Dst: RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:55,1
    - Dst: pcpp::Packet::parsePacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - rawPacket
    - freeRawPacket
    - parseUntil
    - parseUntilLayer
    argTypes:
    - RawPacket*
    - bool
    - ProtocolTypeFamily
    - OsiModelLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: pcpp::Packet::setRawPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 4
    functionsReached:
    - pcpp::Packet::destructPacketData
    - pcpp::Packet::parsePacket
    - RawPacket*::getRawDataLen
    linkageType: ''
    returnType: void
    signature: "void Packet::setRawPacket(RawPacket* rawPacket, bool freeRawPacket,
      ProtocolTypeFamily parseUntil,\n\t                          OsiModelLayer parseUntilLayer)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:70,1
    - Dst: pcpp::Packet::destroyAllLayers
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:76,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:87,1
    - Dst: pcpp::Packet::createFirstLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:88,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:92,1
    - Dst: getOsiModelLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:111,1
    - Dst: auto*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:123,1
    - Dst: auto*::getOsiModelLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:135,1
    - Dst: auto*::isMemberOfProtocolFamily
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:143,1
    - Dst: auto*::hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:159,1
    - Dst: auto*::parseNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:164,1
    - Dst: getPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:172,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:183,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:183,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:184,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:184,1
    - Dst: static_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:188,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:188,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:188,1
    - Dst: PacketTrailerLayer::PacketTrailerLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:188,1
    - Dst: setNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:192,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 2
    argNames:
    - options
    - incrementalParsing
    argTypes:
    - PacketParseOptions
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 196
    functionName: pcpp::Packet::parsePacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 2
    functionsReached:
    - getDataLen
    - getLinkLayerType
    - PCPP_LOG_ERROR
    - auto*::getNextLayer
    - std::runtime_error
    - auto*::isMemberOfProtocolFamily
    - pcpp::Packet::destroyAllLayers
    - getPrevLayer
    - getRawData
    - static_cast<uint8_t*>
    - getData
    - pcpp::Packet::createFirstLayer
    - auto*::parseNextLayer
    - getOsiModelLayer
    - auto*::getOsiModelLayer
    - getRawDataLen
    - auto*::hasNextLayer
    - PacketTrailerLayer::PacketTrailerLayer
    - setNextLayer
    linkageType: ''
    returnType: void
    signature: void Packet::parsePacket(PacketParseOptions options, bool incrementalParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ProtocolTypeFamily>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - rawPacket
    - freeRawPacket
    - parseUntil
    - parseUntilLayer
    argTypes:
    - RawPacket*
    - bool
    - ProtocolType
    - OsiModelLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ProtocolTypeFamily>
    linkageType: ''
    returnType: void
    signature: void Packet::Packet(RawPacket* rawPacket, bool freeRawPacket, ProtocolType
      parseUntil, OsiModelLayer parseUntilLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::setRawPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rawPacket
    - freeRawPacket
    - parseUntil
    - parseUntilLayer
    argTypes:
    - RawPacket*
    - bool
    - ProtocolTypeFamily
    - OsiModelLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::setRawPacket
    linkageType: ''
    returnType: void
    signature: "void Packet::Packet(RawPacket* rawPacket, bool freeRawPacket, ProtocolTypeFamily
      parseUntil,\n\t               OsiModelLayer parseUntilLayer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ProtocolTypeFamily>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:216,1
    - Dst: pcpp::Packet::setRawPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rawPacket
    - parseUntil
    argTypes:
    - RawPacket*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::setRawPacket
    - static_cast<ProtocolTypeFamily>
    linkageType: ''
    returnType: void
    signature: void Packet::Packet(RawPacket* rawPacket, ProtocolType parseUntil)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::setRawPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rawPacket
    - parseUntilFamily
    argTypes:
    - RawPacket*
    - ProtocolTypeFamily
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::setRawPacket
    linkageType: ''
    returnType: void
    signature: void Packet::Packet(RawPacket* rawPacket, ProtocolTypeFamily parseUntilFamily)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::setRawPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rawPacket
    - parseUntilLayer
    argTypes:
    - RawPacket*
    - OsiModelLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::setRawPacket
    linkageType: ''
    returnType: void
    signature: void Packet::Packet(RawPacket* rawPacket, OsiModelLayer parseUntilLayer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::destroyAllLayers
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: pcpp::Packet::destructPacketData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 2
    functionsReached:
    - pcpp::Packet::destroyAllLayers
    linkageType: ''
    returnType: void
    signature: void Packet::destructPacketData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 262
    functionName: pcpp::Packet::destroyAllLayers
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 4
    functionsReached:
    - Layer*::getNextLayer
    linkageType: ''
    returnType: void
    signature: void Packet::destroyAllLayers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destructPacketData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:266,1
    - Dst: copyDataFrom
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: '& Packet::operator=(const Packet& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - destructPacketData
    - copyDataFrom
    linkageType: ''
    returnType: Packet
    signature: Packet & Packet::operator=(const Packet& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:275,1
    - Dst: pcpp::Packet::createFirstLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:278,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:278,1
    - Dst: Layer*::parseNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:284,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 290
    functionName: pcpp::Packet::copyDataFrom
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - RawPacket::RawPacket
    - pcpp::Packet::createFirstLayer
    - getLinkLayerType
    - Layer*::parseNextLayer
    - Layer*::getNextLayer
    linkageType: ''
    returnType: void
    signature: void Packet::copyDataFrom(const Packet& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:294,1
    - Dst: reallocateData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:300,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:302,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:307,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:309,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:311,1
    - Dst: typeid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:311,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:312,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - newSize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 315
    functionName: pcpp::Packet::reallocateRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 2
    functionsReached:
    - getRawData
    - typeid
    - const_cast<uint8_t*>
    - reallocateData
    - PCPP_LOG_ERROR
    - Layer*::getHeaderLen
    - PCPP_LOG_DEBUG
    - Layer*::getNextLayer
    linkageType: ''
    returnType: void
    signature: void Packet::reallocateRawData(size_t newSize)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:321,1
    - Dst: Layer*::isAllocatedToPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:325,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:327,1
    - Dst: Layer*::getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:331,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:333,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:337,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:338,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:342,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:347,1
    - Dst: pcpp::Packet::reallocateRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:348,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:348,1
    - Dst: pcpp::Packet::reallocateRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:350,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:356,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:356,1
    - Dst: insertData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:357,1
    - Dst: Layer*::setNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:365,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:365,1
    - Dst: Layer*::setPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:366,1
    - Dst: Layer*::setNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:367,1
    - Dst: Layer*::setNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:371,1
    - Dst: setPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:373,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:377,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:380,1
    - Dst: Layer*::m_AllocationInfo::attachPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:383,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:388,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:389,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:389,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:393,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:394,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:397,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:400,1
    - Dst: Layer*::getOsiModelLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:406,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:412,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:413,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - prevLayer
    - newLayer
    - ownInPacket
    argTypes:
    - Layer*
    - Layer*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 417
    functionName: pcpp::Packet::insertLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::reallocateRawData
    - getRawData
    - Layer*::isAllocatedToPacket
    - const_cast<uint8_t*>
    - getProtocol
    - getDataLen
    - static_cast<size_t>
    - Layer*::m_AllocationInfo::attachPacket
    - Layer*::getHeaderLen
    - PCPP_LOG_ERROR
    - Layer*::setNextLayer
    - Layer*::setPrevLayer
    - Layer*::getOsiModelLayer
    - setPrevLayer
    - Layer*::getProtocol
    - Layer*::getNextLayer
    - getRawDataLen
    - insertData
    linkageType: ''
    returnType: bool
    signature: bool Packet::insertLayer(Layer* prevLayer, Layer* newLayer, bool ownInPacket)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:421,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:425,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - layerType
    - index
    argTypes:
    - ProtocolType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 432
    functionName: pcpp::Packet::removeLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 6
    functionsReached:
    - pcpp::Packet::removeLayer
    - pcpp::Packet::getLayerOfType
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool Packet::removeLayer(ProtocolType layerType, int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:436,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:439,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 444
    functionName: pcpp::Packet::removeFirstLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - pcpp::Packet::removeLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool Packet::removeFirstLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getLastLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:448,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:451,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 456
    functionName: pcpp::Packet::removeLastLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::removeLayer
    - pcpp::Packet::getLastLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool Packet::removeLastLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:460,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:463,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - layer
    argTypes:
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 470
    functionName: pcpp::Packet::removeAllLayersAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::removeLayer
    - Layer*::getNextLayer
    linkageType: ''
    returnType: bool
    signature: bool Packet::removeAllLayersAfter(Layer* layer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:474,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:478,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - layerType
    - index
    argTypes:
    - ProtocolType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 488
    functionName: pcpp::Packet::detachLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::removeLayer
    - pcpp::Packet::getLayerOfType
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: Layer
    signature: Layer * Packet::detachLayer(ProtocolType layerType, int index)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:494,1
    - Dst: Layer*::isAllocatedToPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:499,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:501,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:511,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:516,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:518,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:519,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:519,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:523,1
    - Dst: removeData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:524,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:526,1
    - Dst: Layer*::m_PrevLayer::setNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:532,1
    - Dst: Layer*::m_NextLayer::setPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:534,1
    - Dst: Layer*::setNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:541,1
    - Dst: Layer*::setPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:542,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:546,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:547,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:552,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:553,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:553,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:561,1
    - Dst: Layer*::getOsiModelLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:567,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:573,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:574,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:577,1
    - Dst: Layer*::m_AllocationInfo::detach
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:589,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:590,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - layer
    - tryToDelete
    argTypes:
    - Layer*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 595
    functionName: pcpp::Packet::removeLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 10
    functionsReached:
    - getDataLen
    - Layer*::m_PrevLayer::setNextLayer
    - PCPP_LOG_ERROR
    - Layer*::setNextLayer
    - Layer*::m_NextLayer::setPrevLayer
    - std::make_unique<uint8_t[]>
    - getRawData
    - Layer*::isAllocatedToPacket
    - const_cast<uint8_t*>
    - auto::get
    - static_cast<size_t>
    - Layer*::getHeaderLen
    - Layer*::setPrevLayer
    - Layer*::getNextLayer
    - Layer*::m_AllocationInfo::detach
    - removeData
    - memcpy
    - auto::release
    - Layer*::getOsiModelLayer
    - getRawDataLen
    - getProtocol
    linkageType: ''
    returnType: bool
    signature: bool Packet::removeLayer(Layer* layer, bool tryToDelete)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:600,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:600,1
    - Dst: Layer*::getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - layerType
    - index
    argTypes:
    - ProtocolType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 612
    functionName: pcpp::Packet::getLayerOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 4
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - Layer*::getProtocol
    - Layer*::getNextLayer
    linkageType: ''
    returnType: Layer
    signature: Layer * Packet::getLayerOfType(ProtocolType layerType, int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:616,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:616,1
    - Dst: Layer*::getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - protocolType
    argTypes:
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 625
    functionName: pcpp::Packet::isPacketOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - Layer*::getProtocol
    - Layer*::getNextLayer
    linkageType: ''
    returnType: bool
    signature: bool Packet::isPacketOfType(ProtocolType protocolType) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:629,1
    - Dst: Layer*::isMemberOfProtocolFamily
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:632,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - protocolTypeFamily
    argTypes:
    - ProtocolTypeFamily
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 640
    functionName: pcpp::Packet::isPacketOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - Layer*::getNextLayer
    - Layer*::isMemberOfProtocolFamily
    linkageType: ''
    returnType: bool
    signature: bool Packet::isPacketOfType(ProtocolTypeFamily protocolTypeFamily)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:646,1
    - Dst: Layer*::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:651,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:653,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:657,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:661,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:667,1
    - Dst: pcpp::Packet::reallocateRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:668,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:668,1
    - Dst: pcpp::Packet::reallocateRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:670,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:674,1
    - Dst: insertData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:680,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:683,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:687,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:689,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:689,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:691,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:696,1
    - Dst: Layer*::getPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:699,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:708,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - layer
    - offsetInLayer
    - numOfBytesToExtend
    argTypes:
    - Layer*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 713
    functionName: pcpp::Packet::extendLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::reallocateRawData
    - getRawData
    - const_cast<uint8_t*>
    - Layer*::getAttachedPacket
    - PCPP_LOG_ERROR
    - Layer*::getHeaderLen
    - Layer*::getPrevLayer
    - Layer*::getNextLayer
    - getRawDataLen
    - insertData
    linkageType: ''
    returnType: bool
    signature: bool Packet::extendLayer(Layer* layer, int offsetInLayer, size_t numOfBytesToExtend)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:719,1
    - Dst: Layer*::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:724,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:726,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:731,1
    - Dst: removeData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:732,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:734,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:739,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:743,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:745,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:745,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:747,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:752,1
    - Dst: Layer*::getPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:755,1
    - Dst: Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:758,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - layer
    - offsetInLayer
    - numOfBytesToShorten
    argTypes:
    - Layer*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 771
    functionName: pcpp::Packet::shortenLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - getRawData
    - const_cast<uint8_t*>
    - Layer*::getAttachedPacket
    - removeData
    - PCPP_LOG_ERROR
    - Layer*::getHeaderLen
    - Layer*::getPrevLayer
    - Layer*::getNextLayer
    - getRawDataLen
    linkageType: ''
    returnType: bool
    signature: bool Packet::shortenLayer(Layer* layer, int offsetInLayer, size_t numOfBytesToShorten)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layer*::getPrevLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:776,1
    - Dst: Layer*::computeCalculateFields
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 780
    functionName: pcpp::Packet::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - Layer*::computeCalculateFields
    - Layer*::getPrevLayer
    linkageType: ''
    returnType: void
    signature: void Packet::computeCalculateFields()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:785,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:788,1
    - Dst: localtime_r
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:798,1
    - Dst: gmtime_r
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:800,1
    - Dst: localtime
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:809,1
    - Dst: gmtime
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:811,1
    - Dst: strftime
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:818,1
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:819,1
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:822,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:824,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:824,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - timeAsLocalTime
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 825
    functionName: pcpp::Packet::printPacketInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 1
    functionsReached:
    - localtime
    - strftime
    - string
    - getPacketTimeStamp
    - gmtime
    - std::ostringstream::str
    - snprintf
    - gmtime_r
    - localtime_r
    - getRawDataLen
    linkageType: ''
    returnType: std::string
    signature: std::string Packet::printPacketInfo(bool timeAsLocalTime) const
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:829,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:833,1
    - Dst: pcpp::EthLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:839,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:841,1
    - Dst: EthLayer::EthLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:841,1
    - Dst: pcpp::EthDot3Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:843,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:845,1
    - Dst: EthDot3Layer::EthDot3Layer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:845,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:851,1
    - Dst: SllLayer::SllLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:851,1
    - Dst: pcpp::Sll2Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:855,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:857,1
    - Dst: Sll2Layer::Sll2Layer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:857,1
    - Dst: pcpp::NullLoopbackLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:863,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:865,1
    - Dst: NullLoopbackLayer::NullLoopbackLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:865,1
    - Dst: pcpp::IPv4Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:874,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:876,1
    - Dst: IPv4Layer::IPv4Layer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:876,1
    - Dst: pcpp::IPv6Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:878,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:880,1
    - Dst: IPv6Layer::IPv6Layer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:880,1
    - Dst: pcpp::IPv4Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:886,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:888,1
    - Dst: IPv4Layer::IPv4Layer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:888,1
    - Dst: pcpp::IPv6Layer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:894,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:896,1
    - Dst: IPv6Layer::IPv6Layer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:896,1
    - Dst: pcpp::NflogLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:902,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:904,1
    - Dst: NflogLayer::NflogLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:904,1
    - Dst: pcpp::CiscoHdlcLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:910,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:912,1
    - Dst: CiscoHdlcLayer::CiscoHdlcLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:912,1
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:922,1
    - Dst: PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:922,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 1
    argNames:
    - linkType
    argTypes:
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 923
    functionName: pcpp::Packet::createFirstLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 4
    functionsReached:
    - CiscoHdlcLayer::CiscoHdlcLayer
    - pcpp::CiscoHdlcLayer::isDataValid
    - pcpp::IPv4Layer::isDataValid
    - IPv4Layer::IPv4Layer
    - SllLayer::SllLayer
    - PayloadLayer::PayloadLayer
    - pcpp::EthLayer::isDataValid
    - getRawData
    - pcpp::IPv6Layer::isDataValid
    - pcpp::NflogLayer::isDataValid
    - const_cast<uint8_t*>
    - Sll2Layer::Sll2Layer
    - NflogLayer::NflogLayer
    - NullLoopbackLayer::NullLoopbackLayer
    - pcpp::NullLoopbackLayer::isDataValid
    - EthDot3Layer::EthDot3Layer
    - getRawDataLen
    - pcpp::Sll2Layer::isDataValid
    - IPv6Layer::IPv6Layer
    - pcpp::EthDot3Layer::isDataValid
    - EthLayer::EthLayer
    linkageType: ''
    returnType: Layer
    signature: Layer * Packet::createFirstLayer(LinkLayerType linkType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::toStringList
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:928,1
    - Dst: std::accumulate
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:929,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:929,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:929,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:929,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - timeAsLocalTime
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 3
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: pcpp::Packet::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - string
    - std::vector::begin
    - std::accumulate
    - pcpp::Packet::toStringList
    - std::move
    linkageType: ''
    returnType: std::string
    signature: std::string Packet::toString(bool timeAsLocalTime) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:935,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:936,1
    - Dst: pcpp::Packet::printPacketInfo
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:936,1
    - Dst: Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:938,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:940,1
    - Dst: Layer*::toString
      Src: /src/PcapPlusPlus/Packet++/src/Packet.cpp:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' result'
    - timeAsLocalTime
    argTypes:
    - std::vector<std::string>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 942
    functionName: pcpp::Packet::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Packet.cpp
    functionUses: 2
    functionsReached:
    - clear
    - pcpp::Packet::printPacketInfo
    - Layer*::toString
    - push_back
    - Layer*::getNextLayer
    linkageType: ''
    returnType: void
    signature: void Packet::toStringList(std::vector<std::string>& result, bool timeAsLocalTime)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - greData
    - greDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: pcpp::GreLayer::getGREVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ProtocolType
    signature: ProtocolType GreLayer::getGREVersion(uint8_t* greData, size_t greDataLen)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<gre_basic_header*>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:42,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:45,1
    - Dst: static_cast<GreField>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:47,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - field
    - returnOffsetEvenIfFieldMissing
    argTypes:
    - GreField
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 96
    functionName: pcpp::GreLayer::getFieldValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<GreField>
    - static_cast<int>
    - reinterpret_cast<gre_basic_header*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GreLayer::getFieldValue(GreField field, bool returnOffsetEvenIfFieldMissing)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:103,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:106,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:109,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:112,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:115,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:118,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 127
    functionName: pcpp::GreLayer::computeCalculateFieldsInner
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void GreLayer::computeCalculateFieldsInner()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GreLayer::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:136,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' seqNumber'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 142
    functionName: pcpp::GreLayer::getSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GreLayer::getFieldValue
    - be32toh
    linkageType: ''
    returnType: bool
    signature: bool GreLayer::getSequenceNumber(uint32_t& seqNumber) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GreLayer::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:153,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:156,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:159,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - seqNumber
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: pcpp::GreLayer::setSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GreLayer::getFieldValue
    - extendLayer
    - PCPP_LOG_ERROR
    - htobe32
    linkageType: ''
    returnType: bool
    signature: bool GreLayer::setSequenceNumber(uint32_t seqNumber)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:177,1
    - Dst: pcpp::GreLayer::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:181,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:184,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 193
    functionName: pcpp::GreLayer::unsetSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GreLayer::getFieldValue
    - shortenLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool GreLayer::unsetSequenceNumber()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GreLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:197,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:205,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:208,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:211,1
    - Dst: constructNextLayer<VlanLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:214,1
    - Dst: constructNextLayer<MplsLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:217,1
    - Dst: tryConstructNextLayerWithFallback<PPP_PPTPLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:220,1
    - Dst: tryConstructNextLayer<EthLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:224,1
    - Dst: tryConstructNextLayerWithFallback<EthDot3Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:229,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 235
    functionName: pcpp::GreLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayer<EthLayer>
    - constructNextLayer<PayloadLayer>
    - constructNextLayer<VlanLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - constructNextLayer<MplsLayer>
    - be16toh
    - tryConstructNextLayerWithFallback<EthDot3Layer, PayloadLayer>
    - pcpp::GreLayer::getHeaderLen
    - tryConstructNextLayerWithFallback<PPP_PPTPLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void GreLayer::parseNextLayer()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: pcpp::GreLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GreLayer::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: pcpp::GREv0Layer::GREv0Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - allocData
    linkageType: ''
    returnType: void
    signature: void GREv0Layer::GREv0Layer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:267,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:270,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' checksum'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: pcpp::GREv0Layer::getChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::GREv0Layer::getGreHeader
    - getFieldValue
    linkageType: ''
    returnType: bool
    signature: bool GREv0Layer::getChecksum(uint16_t& checksum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:280,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:287,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:290,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:292,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:297,1
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 310
    functionName: pcpp::GREv0Layer::setChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - htobe16
    - pcpp::GREv0Layer::getGreHeader
    - PCPP_LOG_ERROR
    - getFieldValue
    linkageType: ''
    returnType: bool
    signature: bool GREv0Layer::setChecksum(uint16_t checksum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:314,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:318,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:325,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:327,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:329,1
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 343
    functionName: pcpp::GREv0Layer::unsetChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GREv0Layer::getGreHeader
    - getFieldValue
    - shortenLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool GREv0Layer::unsetChecksum()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:347,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:350,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' offset'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 356
    functionName: pcpp::GREv0Layer::getOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::GREv0Layer::getGreHeader
    - getFieldValue
    linkageType: ''
    returnType: bool
    signature: bool GREv0Layer::getOffset(uint16_t& offset) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:360,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:363,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 369
    functionName: pcpp::GREv0Layer::getKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::GREv0Layer::getGreHeader
    - getFieldValue
    linkageType: ''
    returnType: bool
    signature: bool GREv0Layer::getKey(uint32_t& key) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:373,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:380,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:383,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:386,1
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:390,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 396
    functionName: pcpp::GREv0Layer::setKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - pcpp::GREv0Layer::getGreHeader
    - PCPP_LOG_ERROR
    - htobe32
    - getFieldValue
    linkageType: ''
    returnType: bool
    signature: bool GREv0Layer::setKey(uint32_t key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:400,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:404,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:408,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:411,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 420
    functionName: pcpp::GREv0Layer::unsetKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GREv0Layer::getGreHeader
    - getFieldValue
    - shortenLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool GREv0Layer::unsetKey()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: computeCalculateFieldsInner
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:424,1
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:426,1
    - Dst: pcpp::GREv0Layer::setChecksum
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:430,1
    - Dst: computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:435,1
    - Dst: pcpp::GREv0Layer::setChecksum
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 438
    functionName: pcpp::GREv0Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GREv0Layer::setChecksum
    - computeCalculateFieldsInner
    - pcpp::GREv0Layer::getGreHeader
    - computeChecksum
    linkageType: ''
    returnType: void
    signature: void GREv0Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: pcpp::GREv0Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GREv0Layer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:451,1
    - Dst: pcpp::GREv1Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:454,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - callID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionName: pcpp::GREv1Layer::GREv1Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::GREv1Layer::getGreHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void GREv1Layer::GREv1Layer(uint16_t callID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv1Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:462,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:465,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' ackNum'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 471
    functionName: pcpp::GREv1Layer::getAcknowledgmentNum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - getFieldValue
    - pcpp::GREv1Layer::getGreHeader
    linkageType: ''
    returnType: bool
    signature: bool GREv1Layer::getAcknowledgmentNum(uint32_t& ackNum) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv1Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:477,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:482,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:484,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:486,1
    - Dst: pcpp::GREv1Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:490,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ackNum
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 495
    functionName: pcpp::GREv1Layer::setAcknowledgmentNum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - pcpp::GREv1Layer::getGreHeader
    - PCPP_LOG_ERROR
    - htobe32
    - getFieldValue
    linkageType: ''
    returnType: bool
    signature: bool GREv1Layer::setAcknowledgmentNum(uint32_t ackNum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv1Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:499,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:503,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:507,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:510,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:512,1
    - Dst: pcpp::GREv1Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 519
    functionName: pcpp::GREv1Layer::unsetAcknowledgmentNum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - getFieldValue
    - PCPP_LOG_ERROR
    - shortenLayer
    - pcpp::GREv1Layer::getGreHeader
    linkageType: ''
    returnType: bool
    signature: bool GREv1Layer::unsetAcknowledgmentNum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeCalculateFieldsInner
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:523,1
    - Dst: pcpp::GREv1Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:525,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:525,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: pcpp::GREv1Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - computeCalculateFieldsInner
    - htobe16
    - getHeaderLen
    - pcpp::GREv1Layer::getGreHeader
    linkageType: ''
    returnType: void
    signature: void GREv1Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: pcpp::GREv1Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GREv1Layer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:539,1
    - Dst: pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - address
    - control
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 545
    functionName: pcpp::PPP_PPTPLayer::PPP_PPTPLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void PPP_PPTPLayer::PPP_PPTPLayer(uint8_t address, uint8_t control)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPP_PPTPLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:549,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:556,1
    - Dst: pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:556,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:559,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:562,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 568
    functionName: pcpp::PPP_PPTPLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - pcpp::PPP_PPTPLayer::getHeaderLen
    - be16toh
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
    linkageType: ''
    returnType: void
    signature: void PPP_PPTPLayer::parseNextLayer()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:572,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:575,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:578,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 589
    functionName: pcpp::PPP_PPTPLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
    - htobe16
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void PPP_PPTPLayer::computeCalculateFields()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - greData
    - greDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: pcpp::GreLayer::getGREVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ProtocolType
    signature: ProtocolType GreLayer::getGREVersion(uint8_t* greData, size_t greDataLen)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<gre_basic_header*>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:42,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:45,1
    - Dst: static_cast<GreField>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:47,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - field
    - returnOffsetEvenIfFieldMissing
    argTypes:
    - GreField
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 96
    functionName: pcpp::GreLayer::getFieldValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 3
    functionsReached:
    - static_cast<GreField>
    - static_cast<int>
    - reinterpret_cast<gre_basic_header*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * GreLayer::getFieldValue(GreField field, bool returnOffsetEvenIfFieldMissing)
      const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:103,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:106,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:109,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:112,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:115,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:118,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:121,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 127
    functionName: pcpp::GreLayer::computeCalculateFieldsInner
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void GreLayer::computeCalculateFieldsInner()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GreLayer::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:136,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' seqNumber'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 142
    functionName: pcpp::GreLayer::getSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GreLayer::getFieldValue
    - be32toh
    linkageType: ''
    returnType: bool
    signature: bool GreLayer::getSequenceNumber(uint32_t& seqNumber) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GreLayer::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:153,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:156,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:159,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - seqNumber
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: pcpp::GreLayer::setSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GreLayer::getFieldValue
    - extendLayer
    - PCPP_LOG_ERROR
    - htobe32
    linkageType: ''
    returnType: bool
    signature: bool GreLayer::setSequenceNumber(uint32_t seqNumber)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:177,1
    - Dst: pcpp::GreLayer::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:181,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:184,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 193
    functionName: pcpp::GreLayer::unsetSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GreLayer::getFieldValue
    - shortenLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool GreLayer::unsetSequenceNumber()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GreLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:197,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:205,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:208,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:211,1
    - Dst: constructNextLayer<VlanLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:214,1
    - Dst: constructNextLayer<MplsLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:217,1
    - Dst: tryConstructNextLayerWithFallback<PPP_PPTPLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:220,1
    - Dst: tryConstructNextLayer<EthLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:224,1
    - Dst: tryConstructNextLayerWithFallback<EthDot3Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:229,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 235
    functionName: pcpp::GreLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayer<EthLayer>
    - constructNextLayer<PayloadLayer>
    - constructNextLayer<VlanLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - constructNextLayer<MplsLayer>
    - be16toh
    - tryConstructNextLayerWithFallback<EthDot3Layer, PayloadLayer>
    - pcpp::GreLayer::getHeaderLen
    - tryConstructNextLayerWithFallback<PPP_PPTPLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void GreLayer::parseNextLayer()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: pcpp::GreLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t GreLayer::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: pcpp::GREv0Layer::GREv0Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - allocData
    linkageType: ''
    returnType: void
    signature: void GREv0Layer::GREv0Layer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:267,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:270,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' checksum'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: pcpp::GREv0Layer::getChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::GREv0Layer::getGreHeader
    - getFieldValue
    linkageType: ''
    returnType: bool
    signature: bool GREv0Layer::getChecksum(uint16_t& checksum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:280,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:287,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:290,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:292,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:297,1
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 310
    functionName: pcpp::GREv0Layer::setChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 1
    functionsReached:
    - extendLayer
    - htobe16
    - pcpp::GREv0Layer::getGreHeader
    - PCPP_LOG_ERROR
    - getFieldValue
    linkageType: ''
    returnType: bool
    signature: bool GREv0Layer::setChecksum(uint16_t checksum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:314,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:318,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:325,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:327,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:329,1
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 343
    functionName: pcpp::GREv0Layer::unsetChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GREv0Layer::getGreHeader
    - getFieldValue
    - shortenLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool GREv0Layer::unsetChecksum()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:347,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:350,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' offset'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 356
    functionName: pcpp::GREv0Layer::getOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::GREv0Layer::getGreHeader
    - getFieldValue
    linkageType: ''
    returnType: bool
    signature: bool GREv0Layer::getOffset(uint16_t& offset) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:360,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:363,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 369
    functionName: pcpp::GREv0Layer::getKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::GREv0Layer::getGreHeader
    - getFieldValue
    linkageType: ''
    returnType: bool
    signature: bool GREv0Layer::getKey(uint32_t& key) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:373,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:380,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:383,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:386,1
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:390,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 396
    functionName: pcpp::GREv0Layer::setKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - pcpp::GREv0Layer::getGreHeader
    - PCPP_LOG_ERROR
    - htobe32
    - getFieldValue
    linkageType: ''
    returnType: bool
    signature: bool GREv0Layer::setKey(uint32_t key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:400,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:404,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:408,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:411,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 420
    functionName: pcpp::GREv0Layer::unsetKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GREv0Layer::getGreHeader
    - getFieldValue
    - shortenLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool GREv0Layer::unsetKey()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: computeCalculateFieldsInner
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:424,1
    - Dst: pcpp::GREv0Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:426,1
    - Dst: pcpp::GREv0Layer::setChecksum
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:430,1
    - Dst: computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:435,1
    - Dst: pcpp::GREv0Layer::setChecksum
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 438
    functionName: pcpp::GREv0Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GREv0Layer::setChecksum
    - computeCalculateFieldsInner
    - pcpp::GREv0Layer::getGreHeader
    - computeChecksum
    linkageType: ''
    returnType: void
    signature: void GREv0Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: pcpp::GREv0Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GREv0Layer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:451,1
    - Dst: pcpp::GREv1Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:454,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - callID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionName: pcpp::GREv1Layer::GREv1Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::GREv1Layer::getGreHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void GREv1Layer::GREv1Layer(uint16_t callID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv1Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:462,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:465,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' ackNum'
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 471
    functionName: pcpp::GREv1Layer::getAcknowledgmentNum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - getFieldValue
    - pcpp::GREv1Layer::getGreHeader
    linkageType: ''
    returnType: bool
    signature: bool GREv1Layer::getAcknowledgmentNum(uint32_t& ackNum) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv1Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:477,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:482,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:484,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:486,1
    - Dst: pcpp::GREv1Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:490,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ackNum
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 495
    functionName: pcpp::GREv1Layer::setAcknowledgmentNum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - pcpp::GREv1Layer::getGreHeader
    - PCPP_LOG_ERROR
    - htobe32
    - getFieldValue
    linkageType: ''
    returnType: bool
    signature: bool GREv1Layer::setAcknowledgmentNum(uint32_t ackNum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GREv1Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:499,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:503,1
    - Dst: getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:507,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:510,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:512,1
    - Dst: pcpp::GREv1Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 519
    functionName: pcpp::GREv1Layer::unsetAcknowledgmentNum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - getFieldValue
    - PCPP_LOG_ERROR
    - shortenLayer
    - pcpp::GREv1Layer::getGreHeader
    linkageType: ''
    returnType: bool
    signature: bool GREv1Layer::unsetAcknowledgmentNum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: computeCalculateFieldsInner
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:523,1
    - Dst: pcpp::GREv1Layer::getGreHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:525,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:525,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: pcpp::GREv1Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - computeCalculateFieldsInner
    - htobe16
    - getHeaderLen
    - pcpp::GREv1Layer::getGreHeader
    linkageType: ''
    returnType: void
    signature: void GREv1Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: pcpp::GREv1Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GREv1Layer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:539,1
    - Dst: pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - address
    - control
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 545
    functionName: pcpp::PPP_PPTPLayer::PPP_PPTPLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void PPP_PPTPLayer::PPP_PPTPLayer(uint8_t address, uint8_t control)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPP_PPTPLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:549,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:556,1
    - Dst: pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:556,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:559,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:562,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 568
    functionName: pcpp::PPP_PPTPLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - pcpp::PPP_PPTPLayer::getHeaderLen
    - be16toh
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
    linkageType: ''
    returnType: void
    signature: void PPP_PPTPLayer::parseNextLayer()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:572,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:575,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:578,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp:581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 589
    functionName: pcpp::PPP_PPTPLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
    - htobe16
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void PPP_PPTPLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:17,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:18,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:19,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:21,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:22,1
    - Dst: NdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 25
    functionName: pcpp::NdpOptionBuilder::build
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - NdpOption
    - memcpy
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: NdpOption
    signature: NdpOption NdpOptionBuilder::build() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:31,1
    - Dst: pcpp::NDPLayerBase::getNdpOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:31,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:31,1
    - Dst: getNdpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: pcpp::NDPLayerBase::getNdpOptionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    - pcpp::NDPLayerBase::getNdpOptionsBasePtr
    - getTLVRecordCount
    - getNdpHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t NDPLayerBase::getNdpOptionCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:36,1
    - Dst: pcpp::NDPLayerBase::getNdpOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:36,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:36,1
    - Dst: getNdpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pcpp::NDPLayerBase::getFirstNdpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - getHeaderLen
    - pcpp::NDPLayerBase::getNdpOptionsBasePtr
    - getNdpHeaderLen
    linkageType: ''
    returnType: NdpOption
    signature: NdpOption NDPLayerBase::getFirstNdpOption() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:41,1
    - Dst: pcpp::NDPLayerBase::getNdpOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:41,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:41,1
    - Dst: getNdpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - NdpOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: pcpp::NDPLayerBase::getNextNdpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    - pcpp::NDPLayerBase::getNdpOptionsBasePtr
    - getNextTLVRecord
    - getNdpHeaderLen
    linkageType: ''
    returnType: NdpOption
    signature: NdpOption NDPLayerBase::getNextNdpOption(NdpOption& option) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:46,1
    - Dst: pcpp::NDPLayerBase::getNdpOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:46,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:46,1
    - Dst: getNdpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - NDPNeighborOptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::NDPLayerBase::getNdpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - getNdpHeaderLen
    - getHeaderLen
    - pcpp::NDPLayerBase::getNdpOptionsBasePtr
    - getTLVRecord
    linkageType: ''
    returnType: NdpOption
    signature: NdpOption NDPLayerBase::getNdpOption(NDPNeighborOptionTypes option)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPLayerBase::addNdpOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:51,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' optionBuilder'
    argTypes:
    - NdpOptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::NDPLayerBase::addNdpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    - pcpp::NDPLayerBase::addNdpOptionAt
    linkageType: ''
    returnType: NdpOption
    signature: NdpOption NDPLayerBase::addNdpOption(const NdpOptionBuilder& optionBuilder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:56,1
    - Dst: NdpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:58,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:60,1
    - Dst: NdpOption::getType
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:60,1
    - Dst: NdpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:64,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:66,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:68,1
    - Dst: NdpOption::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:69,1
    - Dst: NdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:70,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:73,1
    - Dst: NdpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:73,1
    - Dst: NdpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:73,1
    - Dst: NdpOption::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:75,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:77,1
    - Dst: NdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ' optionBuilder'
    - offset
    argTypes:
    - NdpOptionBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 82
    functionName: pcpp::NDPLayerBase::addNdpOptionAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 1
    functionsReached:
    - extendLayer
    - NdpOption::isNull
    - NdpOption
    - PCPP_LOG_ERROR
    - NdpOption::getTotalSize
    - memcpy
    - NdpOption::getRecordBasePtr
    - changeTLVRecordCount
    - NdpOption::purgeRecordData
    - build
    - NdpOption::getType
    linkageType: ''
    returnType: NdpOption
    signature: NdpOption NDPLayerBase::addNdpOptionAt(const NdpOptionBuilder& optionBuilder,
      int offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNdpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:86,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:87,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:87,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:90,1
    - Dst: pcpp::NDPLayerBase::getNdpOptionCount
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: pcpp::NDPLayerBase::removeAllNdpOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - getNdpHeaderLen
    - getHeaderLen
    - shortenLayer
    - pcpp::NDPLayerBase::getNdpOptionCount
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool NDPLayerBase::removeAllNdpOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborSolicitationLayer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - ' targetIP'
    argTypes:
    - uint8_t
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: pcpp::NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NDPNeighborSolicitationLayer::initLayer
    linkageType: ''
    returnType: void
    signature: void NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer(uint8_t
      code, const IPv6Address& targetIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborSolicitationLayer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:104,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::addNdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:105,1
    - Dst: pcpp::NdpOptionBuilder::NdpOptionBuilder
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:106,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - ' targetIP'
    - ' srcMac'
    argTypes:
    - uint8_t
    - IPv6Address
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: pcpp::NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NDPNeighborSolicitationLayer::initLayer
    - pcpp::NdpOptionBuilder::NdpOptionBuilder
    - pcpp::NDPNeighborSolicitationLayer::addNdpOption
    - getRawData
    linkageType: ''
    returnType: void
    signature: "void NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer(uint8_t
      code, const IPv6Address& targetIP,\n\t                                                           const
      MacAddress& srcMac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:111,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::getNdpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:114,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:115,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:117,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - code
    - ' targetIP'
    argTypes:
    - uint8_t
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: pcpp::NDPNeighborSolicitationLayer::initLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 2
    functionsReached:
    - toBytes
    - static_cast<uint8_t>
    - allocData
    - memcpy
    - pcpp::NDPNeighborSolicitationLayer::getNdpHeader
    linkageType: ''
    returnType: void
    signature: void NDPNeighborSolicitationLayer::initLayer(uint8_t code, const IPv6Address&
      targetIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborSolicitationLayer::getNdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:122,1
    - Dst: NdpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: pcpp::NDPNeighborSolicitationLayer::hasLinkLayerAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - NdpOption::isNull
    - pcpp::NDPNeighborSolicitationLayer::getNdpOption
    linkageType: ''
    returnType: bool
    signature: bool NDPNeighborSolicitationLayer::hasLinkLayerAddress() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborSolicitationLayer::getNdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:128,1
    - Dst: NdpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:130,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:135,1
    - Dst: NdpOption::getValue
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: pcpp::NDPNeighborSolicitationLayer::getLinkLayerAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - NdpOption::getValue
    - NdpOption::isNull
    - MacAddress
    - pcpp::NDPNeighborSolicitationLayer::getNdpOption
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress NDPNeighborSolicitationLayer::getLinkLayerAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborSolicitationLayer::getTargetIP
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:141,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::hasLinkLayerAddress
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:142,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::getLinkLayerAddress
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:142,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: pcpp::NDPNeighborSolicitationLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - pcpp::NDPNeighborSolicitationLayer::getTargetIP
    - pcpp::NDPNeighborSolicitationLayer::hasLinkLayerAddress
    - pcpp::NDPNeighborSolicitationLayer::getLinkLayerAddress
    linkageType: ''
    returnType: std::string
    signature: std::string NDPNeighborSolicitationLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:154,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::addNdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:155,1
    - Dst: pcpp::NdpOptionBuilder::NdpOptionBuilder
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:155,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - code
    - ' targetIP'
    - ' targetMac'
    - routerFlag
    - unicastFlag
    - overrideFlag
    argTypes:
    - uint8_t
    - IPv6Address
    - MacAddress
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NDPNeighborAdvertisementLayer::initLayer
    - getRawData
    - pcpp::NdpOptionBuilder::NdpOptionBuilder
    - pcpp::NDPNeighborAdvertisementLayer::addNdpOption
    linkageType: ''
    returnType: void
    signature: "void NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer(uint8_t
      code, const IPv6Address& targetIP,\n\t                                                             const
      MacAddress& targetMac, bool routerFlag,\n\t                                                             bool
      unicastFlag, bool overrideFlag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - code
    - ' targetIP'
    - routerFlag
    - unicastFlag
    - overrideFlag
    argTypes:
    - uint8_t
    - IPv6Address
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NDPNeighborAdvertisementLayer::initLayer
    linkageType: ''
    returnType: void
    signature: "void NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer(uint8_t
      code, const IPv6Address& targetIP,\n\t                                                             bool
      routerFlag, bool unicastFlag, bool overrideFlag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:168,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:171,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:172,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:178,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - code
    - ' targetIP'
    - routerFlag
    - unicastFlag
    - overrideFlag
    argTypes:
    - uint8_t
    - IPv6Address
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: pcpp::NDPNeighborAdvertisementLayer::initLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 2
    functionsReached:
    - toBytes
    - static_cast<uint8_t>
    - pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
    - allocData
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void NDPNeighborAdvertisementLayer::initLayer(uint8_t code, const
      IPv6Address& targetIP, bool routerFlag,\n\t                                              bool
      unicastFlag, bool overrideFlag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getNdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:183,1
    - Dst: NdpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: pcpp::NDPNeighborAdvertisementLayer::hasTargetMacInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - NdpOption::isNull
    - pcpp::NDPNeighborAdvertisementLayer::getNdpOption
    linkageType: ''
    returnType: bool
    signature: bool NDPNeighborAdvertisementLayer::hasTargetMacInfo() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getNdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:189,1
    - Dst: NdpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:191,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:196,1
    - Dst: NdpOption::getValue
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: pcpp::NDPNeighborAdvertisementLayer::getTargetMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - NdpOption::getValue
    - MacAddress
    - NdpOption::isNull
    - pcpp::NDPNeighborAdvertisementLayer::getNdpOption
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress NDPNeighborAdvertisementLayer::getTargetMac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getTargetIP
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:202,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::hasTargetMacInfo
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:203,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getTargetMac
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:203,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: pcpp::NDPNeighborAdvertisementLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - pcpp::NDPNeighborAdvertisementLayer::getTargetIP
    - pcpp::NDPNeighborAdvertisementLayer::hasTargetMacInfo
    - pcpp::NDPNeighborAdvertisementLayer::getTargetMac
    linkageType: ''
    returnType: std::string
    signature: std::string NDPNeighborAdvertisementLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:17,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:18,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:19,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:21,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:22,1
    - Dst: NdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 25
    functionName: pcpp::NdpOptionBuilder::build
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - NdpOption
    - memcpy
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: NdpOption
    signature: NdpOption NdpOptionBuilder::build() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:31,1
    - Dst: pcpp::NDPLayerBase::getNdpOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:31,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:31,1
    - Dst: getNdpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: pcpp::NDPLayerBase::getNdpOptionCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 1
    functionsReached:
    - getHeaderLen
    - pcpp::NDPLayerBase::getNdpOptionsBasePtr
    - getTLVRecordCount
    - getNdpHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t NDPLayerBase::getNdpOptionCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:36,1
    - Dst: pcpp::NDPLayerBase::getNdpOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:36,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:36,1
    - Dst: getNdpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pcpp::NDPLayerBase::getFirstNdpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - getHeaderLen
    - pcpp::NDPLayerBase::getNdpOptionsBasePtr
    - getNdpHeaderLen
    linkageType: ''
    returnType: NdpOption
    signature: NdpOption NDPLayerBase::getFirstNdpOption() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:41,1
    - Dst: pcpp::NDPLayerBase::getNdpOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:41,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:41,1
    - Dst: getNdpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - NdpOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: pcpp::NDPLayerBase::getNextNdpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    - pcpp::NDPLayerBase::getNdpOptionsBasePtr
    - getNextTLVRecord
    - getNdpHeaderLen
    linkageType: ''
    returnType: NdpOption
    signature: NdpOption NDPLayerBase::getNextNdpOption(NdpOption& option) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:46,1
    - Dst: pcpp::NDPLayerBase::getNdpOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:46,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:46,1
    - Dst: getNdpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - NDPNeighborOptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::NDPLayerBase::getNdpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - getNdpHeaderLen
    - getHeaderLen
    - pcpp::NDPLayerBase::getNdpOptionsBasePtr
    - getTLVRecord
    linkageType: ''
    returnType: NdpOption
    signature: NdpOption NDPLayerBase::getNdpOption(NDPNeighborOptionTypes option)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPLayerBase::addNdpOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:51,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' optionBuilder'
    argTypes:
    - NdpOptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::NDPLayerBase::addNdpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    - pcpp::NDPLayerBase::addNdpOptionAt
    linkageType: ''
    returnType: NdpOption
    signature: NdpOption NDPLayerBase::addNdpOption(const NdpOptionBuilder& optionBuilder)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:56,1
    - Dst: NdpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:58,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:60,1
    - Dst: NdpOption::getType
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:60,1
    - Dst: NdpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:64,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:66,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:68,1
    - Dst: NdpOption::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:69,1
    - Dst: NdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:70,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:73,1
    - Dst: NdpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:73,1
    - Dst: NdpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:73,1
    - Dst: NdpOption::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:75,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:77,1
    - Dst: NdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ' optionBuilder'
    - offset
    argTypes:
    - NdpOptionBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 82
    functionName: pcpp::NDPLayerBase::addNdpOptionAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - NdpOption::isNull
    - NdpOption
    - PCPP_LOG_ERROR
    - NdpOption::getTotalSize
    - memcpy
    - NdpOption::getRecordBasePtr
    - changeTLVRecordCount
    - NdpOption::purgeRecordData
    - build
    - NdpOption::getType
    linkageType: ''
    returnType: NdpOption
    signature: NdpOption NDPLayerBase::addNdpOptionAt(const NdpOptionBuilder& optionBuilder,
      int offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNdpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:86,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:87,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:87,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:90,1
    - Dst: pcpp::NDPLayerBase::getNdpOptionCount
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: pcpp::NDPLayerBase::removeAllNdpOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - getNdpHeaderLen
    - getHeaderLen
    - shortenLayer
    - pcpp::NDPLayerBase::getNdpOptionCount
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool NDPLayerBase::removeAllNdpOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborSolicitationLayer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - ' targetIP'
    argTypes:
    - uint8_t
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: pcpp::NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NDPNeighborSolicitationLayer::initLayer
    linkageType: ''
    returnType: void
    signature: void NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer(uint8_t
      code, const IPv6Address& targetIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborSolicitationLayer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:104,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::addNdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:105,1
    - Dst: pcpp::NdpOptionBuilder::NdpOptionBuilder
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:106,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - ' targetIP'
    - ' srcMac'
    argTypes:
    - uint8_t
    - IPv6Address
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: pcpp::NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NDPNeighborSolicitationLayer::initLayer
    - pcpp::NdpOptionBuilder::NdpOptionBuilder
    - pcpp::NDPNeighborSolicitationLayer::addNdpOption
    - getRawData
    linkageType: ''
    returnType: void
    signature: "void NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer(uint8_t
      code, const IPv6Address& targetIP,\n\t                                                           const
      MacAddress& srcMac)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:111,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::getNdpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:114,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:115,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:117,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - code
    - ' targetIP'
    argTypes:
    - uint8_t
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: pcpp::NDPNeighborSolicitationLayer::initLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 4
    functionsReached:
    - toBytes
    - static_cast<uint8_t>
    - allocData
    - memcpy
    - pcpp::NDPNeighborSolicitationLayer::getNdpHeader
    linkageType: ''
    returnType: void
    signature: void NDPNeighborSolicitationLayer::initLayer(uint8_t code, const IPv6Address&
      targetIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborSolicitationLayer::getNdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:122,1
    - Dst: NdpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: pcpp::NDPNeighborSolicitationLayer::hasLinkLayerAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 1
    functionsReached:
    - NdpOption::isNull
    - pcpp::NDPNeighborSolicitationLayer::getNdpOption
    linkageType: ''
    returnType: bool
    signature: bool NDPNeighborSolicitationLayer::hasLinkLayerAddress() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborSolicitationLayer::getNdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:128,1
    - Dst: NdpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:130,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:135,1
    - Dst: NdpOption::getValue
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: pcpp::NDPNeighborSolicitationLayer::getLinkLayerAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 1
    functionsReached:
    - NdpOption::getValue
    - NdpOption::isNull
    - MacAddress
    - pcpp::NDPNeighborSolicitationLayer::getNdpOption
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress NDPNeighborSolicitationLayer::getLinkLayerAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborSolicitationLayer::getTargetIP
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:141,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::hasLinkLayerAddress
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:142,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::getLinkLayerAddress
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:142,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: pcpp::NDPNeighborSolicitationLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - pcpp::NDPNeighborSolicitationLayer::getTargetIP
    - pcpp::NDPNeighborSolicitationLayer::hasLinkLayerAddress
    - pcpp::NDPNeighborSolicitationLayer::getLinkLayerAddress
    linkageType: ''
    returnType: std::string
    signature: std::string NDPNeighborSolicitationLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:154,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::addNdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:155,1
    - Dst: pcpp::NdpOptionBuilder::NdpOptionBuilder
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:155,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - code
    - ' targetIP'
    - ' targetMac'
    - routerFlag
    - unicastFlag
    - overrideFlag
    argTypes:
    - uint8_t
    - IPv6Address
    - MacAddress
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NDPNeighborAdvertisementLayer::initLayer
    - getRawData
    - pcpp::NdpOptionBuilder::NdpOptionBuilder
    - pcpp::NDPNeighborAdvertisementLayer::addNdpOption
    linkageType: ''
    returnType: void
    signature: "void NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer(uint8_t
      code, const IPv6Address& targetIP,\n\t                                                             const
      MacAddress& targetMac, bool routerFlag,\n\t                                                             bool
      unicastFlag, bool overrideFlag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::initLayer
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - code
    - ' targetIP'
    - routerFlag
    - unicastFlag
    - overrideFlag
    argTypes:
    - uint8_t
    - IPv6Address
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::NDPNeighborAdvertisementLayer::initLayer
    linkageType: ''
    returnType: void
    signature: "void NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer(uint8_t
      code, const IPv6Address& targetIP,\n\t                                                             bool
      routerFlag, bool unicastFlag, bool overrideFlag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:168,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:171,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:172,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:178,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - code
    - ' targetIP'
    - routerFlag
    - unicastFlag
    - overrideFlag
    argTypes:
    - uint8_t
    - IPv6Address
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: pcpp::NDPNeighborAdvertisementLayer::initLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 4
    functionsReached:
    - toBytes
    - static_cast<uint8_t>
    - pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
    - allocData
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void NDPNeighborAdvertisementLayer::initLayer(uint8_t code, const
      IPv6Address& targetIP, bool routerFlag,\n\t                                              bool
      unicastFlag, bool overrideFlag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getNdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:183,1
    - Dst: NdpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: pcpp::NDPNeighborAdvertisementLayer::hasTargetMacInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 1
    functionsReached:
    - NdpOption::isNull
    - pcpp::NDPNeighborAdvertisementLayer::getNdpOption
    linkageType: ''
    returnType: bool
    signature: bool NDPNeighborAdvertisementLayer::hasTargetMacInfo() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getNdpOption
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:189,1
    - Dst: NdpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:191,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:196,1
    - Dst: NdpOption::getValue
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: pcpp::NDPNeighborAdvertisementLayer::getTargetMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 1
    functionsReached:
    - NdpOption::getValue
    - MacAddress
    - NdpOption::isNull
    - pcpp::NDPNeighborAdvertisementLayer::getNdpOption
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress NDPNeighborAdvertisementLayer::getTargetMac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getTargetIP
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:202,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::hasTargetMacInfo
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:203,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getTargetMac
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:203,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: pcpp::NDPNeighborAdvertisementLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - pcpp::NDPNeighborAdvertisementLayer::getTargetIP
    - pcpp::NDPNeighborAdvertisementLayer::hasTargetMacInfo
    - pcpp::NDPNeighborAdvertisementLayer::getTargetMac
    linkageType: ''
    returnType: std::string
    signature: std::string NDPNeighborAdvertisementLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:22,1
    - Dst: pcpp::PPPoELayer::getPPPoEHeader
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:24,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - version
    - type
    - code
    - sessionId
    - additionalBytesToAllocate
    argTypes:
    - uint8_t
    - uint8_t
    - PPPoELayer::PPPoECode
    - uint16_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: pcpp::PPPoELayer::PPPoELayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::PPPoELayer::getPPPoEHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: "void PPPoELayer::PPPoELayer(uint8_t version, uint8_t type, PPPoELayer::PPPoECode
      code, uint16_t sessionId,\n\t                       size_t additionalBytesToAllocate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoELayer::getPPPoEHeader
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:34,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: pcpp::PPPoELayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::PPPoELayer::getPPPoEHeader
    linkageType: ''
    returnType: void
    signature: void PPPoELayer::computeCalculateFields()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoESessionLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:43,1
    - Dst: pcpp::PPPoESessionLayer::getPPPNextProtocol
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:50,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:53,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:56,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 62
    functionName: pcpp::PPPoESessionLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PPPoESessionLayer::getPPPNextProtocol
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - pcpp::PPPoESessionLayer::getHeaderLen
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void PPPoESessionLayer::parseNextLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoESessionLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:66,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:68,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:72,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: pcpp::PPPoESessionLayer::getPPPNextProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::PPPoESessionLayer::getHeaderLen
    - PCPP_LOG_ERROR
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t PPPoESessionLayer::getPPPNextProtocol() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoESessionLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:78,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:80,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:84,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - nextProtocol
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: pcpp::PPPoESessionLayer::setPPPNextProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::PPPoESessionLayer::getHeaderLen
    - PCPP_LOG_ERROR
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: void
    signature: void PPPoESessionLayer::setPPPNextProtocol(uint16_t nextProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 135
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 225
    functionName: pcpp::createPPPNextProtoToStringMap
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<uint16_t, std::string>
    signature: std::unordered_map<uint16_t, std::string> createPPPNextProtoToStringMap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:231,1
    - Dst: pcpp::PPPoESessionLayer::getPPPNextProtocol
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:231,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:233,1
    - Dst: pcpp::PPPoESessionLayer::getPPPNextProtocol
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:238,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: pcpp::PPPoESessionLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PPPoESessionLayer::getPPPNextProtocol
    - end
    - find
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string PPPoESessionLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PPPoEDiscoveryLayer::PPPoETagTypes>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:253,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: PPPoEDiscoveryLayer::PPPoETag::getType() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - static_cast<PPPoEDiscoveryLayer::PPPoETagTypes>
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETagTypes
    signature: PPPoEDiscoveryLayer::PPPoETagTypes PPPoEDiscoveryLayer::PPPoETag::getType()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: PPPoEDiscoveryLayer::PPPoETag::getTotalSize() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: size_t
    signature: size_t PPPoEDiscoveryLayer::PPPoETag::getTotalSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: PPPoEDiscoveryLayer::PPPoETag::getDataSize() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: size_t
    signature: size_t PPPoEDiscoveryLayer::PPPoETag::getDataSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:275,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:276,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:276,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:277,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:277,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:278,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:279,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:281,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::PPPoETag
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: PPPoEDiscoveryLayer::PPPoETagBuilder::build() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - memcpy
    - pcpp::PPPoEDiscoveryLayer::PPPoETag::PPPoETag
    - static_cast<uint16_t>
    - uint8_t::uint8_t
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETag
    signature: PPPoEDiscoveryLayer::PPPoETag PPPoEDiscoveryLayer::PPPoETagBuilder::build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:288,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:288,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tagType
    argTypes:
    - PPPoEDiscoveryLayer::PPPoETagTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: pcpp::PPPoEDiscoveryLayer::getTag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PPPoEDiscoveryLayer::getTagBasePtr
    - static_cast<uint32_t>
    - getTLVRecord
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETag
    signature: PPPoEDiscoveryLayer::PPPoETag PPPoEDiscoveryLayer::getTag(PPPoEDiscoveryLayer::PPPoETagTypes
      tagType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:294,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: pcpp::PPPoEDiscoveryLayer::getFirstTag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - pcpp::PPPoEDiscoveryLayer::getTagBasePtr
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETag
    signature: PPPoEDiscoveryLayer::PPPoETag PPPoEDiscoveryLayer::getFirstTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:299,1
    - Dst: const_cast<PPPoEDiscoveryLayer::PPPoETag&>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:299,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tag'
    argTypes:
    - PPPoEDiscoveryLayer::PPPoETag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: pcpp::PPPoEDiscoveryLayer::getNextTag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - getNextTLVRecord
    - const_cast<PPPoEDiscoveryLayer::PPPoETag&>
    - pcpp::PPPoEDiscoveryLayer::getTagBasePtr
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETag
    signature: PPPoEDiscoveryLayer::PPPoETag PPPoEDiscoveryLayer::getNextTag(const
      PPPoEDiscoveryLayer::PPPoETag& tag) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:305,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: pcpp::PPPoEDiscoveryLayer::getTagCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - getTLVRecordCount
    - pcpp::PPPoEDiscoveryLayer::getTagBasePtr
    linkageType: ''
    returnType: int
    signature: int PPPoEDiscoveryLayer::getTagCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:310,1
    - Dst: PPPoETag::isNull
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:311,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:313,1
    - Dst: PPPoETag::getType
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:313,1
    - Dst: PPPoETag::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:317,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:319,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:321,1
    - Dst: PPPoETag::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:322,1
    - Dst: PPPoETag
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:323,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:326,1
    - Dst: PPPoETag::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:326,1
    - Dst: PPPoETag::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:326,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:330,1
    - Dst: PPPoETag::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:332,1
    - Dst: getPPPoEHeader
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:334,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:334,1
    - Dst: PPPoETag
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' tagBuilder'
    - offset
    argTypes:
    - PPPoETagBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 337
    functionName: pcpp::PPPoEDiscoveryLayer::addTagAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - PPPoETag::getTotalSize
    - PPPoETag::getType
    - extendLayer
    - htobe16
    - PPPoETag::getRecordBasePtr
    - getPPPoEHeader
    - PCPP_LOG_ERROR
    - memcpy
    - PPPoETag
    - PPPoETag::isNull
    - build
    - PPPoETag::purgeRecordData
    - changeTLVRecordCount
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETag
    signature: PPPoEDiscoveryLayer::PPPoETag PPPoEDiscoveryLayer::addTagAt(const PPPoETagBuilder&
      tagBuilder, int offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoEDiscoveryLayer::getTag
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:344,1
    - Dst: PPPoETag::isNull
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:346,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:348,1
    - Dst: PPPoETag::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:352,1
    - Dst: PPPoETag::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:352,1
    - Dst: pcpp::PPPoEDiscoveryLayer::addTagAt
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' tagBuilder'
    - prevTagType
    argTypes:
    - PPPoETagBuilder
    - PPPoETagTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 356
    functionName: pcpp::PPPoEDiscoveryLayer::addTagAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - PPPoETag::getTotalSize
    - PPPoETag::getRecordBasePtr
    - PPPoETag::isNull
    - pcpp::PPPoEDiscoveryLayer::addTagAt
    - pcpp::PPPoEDiscoveryLayer::getHeaderLen
    - pcpp::PPPoEDiscoveryLayer::getTag
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETag
    signature: "PPPoEDiscoveryLayer::PPPoETag PPPoEDiscoveryLayer::addTagAfter(const
      PPPoETagBuilder& tagBuilder,\n\t                                                               PPPoETagTypes
      prevTagType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoEDiscoveryLayer::addTagAt
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:360,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tagBuilder'
    argTypes:
    - PPPoETagBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: pcpp::PPPoEDiscoveryLayer::addTag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PPPoEDiscoveryLayer::addTagAt
    - pcpp::PPPoEDiscoveryLayer::getHeaderLen
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETag
    signature: PPPoEDiscoveryLayer::PPPoETag PPPoEDiscoveryLayer::addTag(const PPPoETagBuilder&
      tagBuilder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:365,1
    - Dst: getPPPoEHeader
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: pcpp::PPPoEDiscoveryLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - getPPPoEHeader
    linkageType: ''
    returnType: size_t
    signature: size_t PPPoEDiscoveryLayer::getHeaderLen() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoEDiscoveryLayer::getTag
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:374,1
    - Dst: PPPoEDiscoveryLayer::PPPoETag::isNull
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:375,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:377,1
    - Dst: PPPoEDiscoveryLayer::PPPoETag::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:381,1
    - Dst: PPPoEDiscoveryLayer::PPPoETag::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:383,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:385,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:390,1
    - Dst: getPPPoEHeader
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:392,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - tagType
    argTypes:
    - PPPoEDiscoveryLayer::PPPoETagTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 394
    functionName: pcpp::PPPoEDiscoveryLayer::removeTag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - PPPoEDiscoveryLayer::PPPoETag::getTotalSize
    - getPPPoEHeader
    - PPPoEDiscoveryLayer::PPPoETag::getRecordBasePtr
    - PCPP_LOG_ERROR
    - changeTLVRecordCount
    - shortenLayer
    - PPPoEDiscoveryLayer::PPPoETag::isNull
    - pcpp::PPPoEDiscoveryLayer::getTag
    linkageType: ''
    returnType: bool
    signature: bool PPPoEDiscoveryLayer::removeTag(PPPoEDiscoveryLayer::PPPoETagTypes
      tagType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagCount
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:398,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:400,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:404,1
    - Dst: getPPPoEHeader
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 407
    functionName: pcpp::PPPoEDiscoveryLayer::removeAllTags
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - getPPPoEHeader
    - pcpp::PPPoEDiscoveryLayer::getTagCount
    - shortenLayer
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool PPPoEDiscoveryLayer::removeAllTags()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:414,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:416,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:418,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:420,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:422,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:424,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:426,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:428,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:430,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:432,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:434,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - code
    argTypes:
    - PPPoECode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 438
    functionName: pcpp::PPPoEDiscoveryLayer::codeToString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - string
    linkageType: ''
    returnType: std::string
    signature: std::string PPPoEDiscoveryLayer::codeToString(PPPoECode code) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:22,1
    - Dst: pcpp::PPPoELayer::getPPPoEHeader
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:24,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - version
    - type
    - code
    - sessionId
    - additionalBytesToAllocate
    argTypes:
    - uint8_t
    - uint8_t
    - PPPoELayer::PPPoECode
    - uint16_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: pcpp::PPPoELayer::PPPoELayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::PPPoELayer::getPPPoEHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: "void PPPoELayer::PPPoELayer(uint8_t version, uint8_t type, PPPoELayer::PPPoECode
      code, uint16_t sessionId,\n\t                       size_t additionalBytesToAllocate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoELayer::getPPPoEHeader
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:34,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: pcpp::PPPoELayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::PPPoELayer::getPPPoEHeader
    linkageType: ''
    returnType: void
    signature: void PPPoELayer::computeCalculateFields()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoESessionLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:43,1
    - Dst: pcpp::PPPoESessionLayer::getPPPNextProtocol
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:50,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:53,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:56,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 62
    functionName: pcpp::PPPoESessionLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PPPoESessionLayer::getPPPNextProtocol
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - pcpp::PPPoESessionLayer::getHeaderLen
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void PPPoESessionLayer::parseNextLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoESessionLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:66,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:68,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:72,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: pcpp::PPPoESessionLayer::getPPPNextProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 3
    functionsReached:
    - be16toh
    - pcpp::PPPoESessionLayer::getHeaderLen
    - PCPP_LOG_ERROR
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t PPPoESessionLayer::getPPPNextProtocol() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoESessionLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:78,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:80,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:84,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - nextProtocol
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: pcpp::PPPoESessionLayer::setPPPNextProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::PPPoESessionLayer::getHeaderLen
    - PCPP_LOG_ERROR
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: void
    signature: void PPPoESessionLayer::setPPPNextProtocol(uint16_t nextProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 135
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 225
    functionName: pcpp::createPPPNextProtoToStringMap
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unordered_map<uint16_t, std::string>
    signature: std::unordered_map<uint16_t, std::string> createPPPNextProtoToStringMap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:231,1
    - Dst: pcpp::PPPoESessionLayer::getPPPNextProtocol
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:231,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:233,1
    - Dst: pcpp::PPPoESessionLayer::getPPPNextProtocol
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:238,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: pcpp::PPPoESessionLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PPPoESessionLayer::getPPPNextProtocol
    - end
    - find
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string PPPoESessionLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PPPoEDiscoveryLayer::PPPoETagTypes>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:253,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: PPPoEDiscoveryLayer::PPPoETag::getType() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - static_cast<PPPoEDiscoveryLayer::PPPoETagTypes>
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETagTypes
    signature: PPPoEDiscoveryLayer::PPPoETagTypes PPPoEDiscoveryLayer::PPPoETag::getType()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: PPPoEDiscoveryLayer::PPPoETag::getTotalSize() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: size_t
    signature: size_t PPPoEDiscoveryLayer::PPPoETag::getTotalSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: PPPoEDiscoveryLayer::PPPoETag::getDataSize() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: size_t
    signature: size_t PPPoEDiscoveryLayer::PPPoETag::getDataSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:275,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:276,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:276,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:277,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:277,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:278,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:279,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:281,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::PPPoETag
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: PPPoEDiscoveryLayer::PPPoETagBuilder::build() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - memcpy
    - pcpp::PPPoEDiscoveryLayer::PPPoETag::PPPoETag
    - static_cast<uint16_t>
    - uint8_t::uint8_t
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETag
    signature: PPPoEDiscoveryLayer::PPPoETag PPPoEDiscoveryLayer::PPPoETagBuilder::build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:288,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:288,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tagType
    argTypes:
    - PPPoEDiscoveryLayer::PPPoETagTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: pcpp::PPPoEDiscoveryLayer::getTag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::PPPoEDiscoveryLayer::getTagBasePtr
    - static_cast<uint32_t>
    - getTLVRecord
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETag
    signature: PPPoEDiscoveryLayer::PPPoETag PPPoEDiscoveryLayer::getTag(PPPoEDiscoveryLayer::PPPoETagTypes
      tagType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:294,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: pcpp::PPPoEDiscoveryLayer::getFirstTag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - pcpp::PPPoEDiscoveryLayer::getTagBasePtr
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETag
    signature: PPPoEDiscoveryLayer::PPPoETag PPPoEDiscoveryLayer::getFirstTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:299,1
    - Dst: const_cast<PPPoEDiscoveryLayer::PPPoETag&>
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:299,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tag'
    argTypes:
    - PPPoEDiscoveryLayer::PPPoETag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: pcpp::PPPoEDiscoveryLayer::getNextTag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - getNextTLVRecord
    - const_cast<PPPoEDiscoveryLayer::PPPoETag&>
    - pcpp::PPPoEDiscoveryLayer::getTagBasePtr
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETag
    signature: PPPoEDiscoveryLayer::PPPoETag PPPoEDiscoveryLayer::getNextTag(const
      PPPoEDiscoveryLayer::PPPoETag& tag) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:305,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: pcpp::PPPoEDiscoveryLayer::getTagCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 1
    functionsReached:
    - getTLVRecordCount
    - pcpp::PPPoEDiscoveryLayer::getTagBasePtr
    linkageType: ''
    returnType: int
    signature: int PPPoEDiscoveryLayer::getTagCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:310,1
    - Dst: PPPoETag::isNull
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:311,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:313,1
    - Dst: PPPoETag::getType
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:313,1
    - Dst: PPPoETag::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:317,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:319,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:321,1
    - Dst: PPPoETag::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:322,1
    - Dst: PPPoETag
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:323,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:326,1
    - Dst: PPPoETag::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:326,1
    - Dst: PPPoETag::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:326,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:330,1
    - Dst: PPPoETag::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:332,1
    - Dst: getPPPoEHeader
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:334,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:334,1
    - Dst: PPPoETag
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ' tagBuilder'
    - offset
    argTypes:
    - PPPoETagBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 337
    functionName: pcpp::PPPoEDiscoveryLayer::addTagAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 2
    functionsReached:
    - PPPoETag::getTotalSize
    - PPPoETag::getType
    - extendLayer
    - htobe16
    - PPPoETag::getRecordBasePtr
    - getPPPoEHeader
    - PCPP_LOG_ERROR
    - memcpy
    - PPPoETag
    - PPPoETag::isNull
    - build
    - PPPoETag::purgeRecordData
    - changeTLVRecordCount
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETag
    signature: PPPoEDiscoveryLayer::PPPoETag PPPoEDiscoveryLayer::addTagAt(const PPPoETagBuilder&
      tagBuilder, int offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoEDiscoveryLayer::getTag
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:344,1
    - Dst: PPPoETag::isNull
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:346,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:348,1
    - Dst: PPPoETag::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:352,1
    - Dst: PPPoETag::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:352,1
    - Dst: pcpp::PPPoEDiscoveryLayer::addTagAt
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' tagBuilder'
    - prevTagType
    argTypes:
    - PPPoETagBuilder
    - PPPoETagTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 356
    functionName: pcpp::PPPoEDiscoveryLayer::addTagAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - PPPoETag::getTotalSize
    - PPPoETag::getRecordBasePtr
    - PPPoETag::isNull
    - pcpp::PPPoEDiscoveryLayer::addTagAt
    - pcpp::PPPoEDiscoveryLayer::getHeaderLen
    - pcpp::PPPoEDiscoveryLayer::getTag
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETag
    signature: "PPPoEDiscoveryLayer::PPPoETag PPPoEDiscoveryLayer::addTagAfter(const
      PPPoETagBuilder& tagBuilder,\n\t                                                               PPPoETagTypes
      prevTagType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoEDiscoveryLayer::addTagAt
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:360,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' tagBuilder'
    argTypes:
    - PPPoETagBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: pcpp::PPPoEDiscoveryLayer::addTag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PPPoEDiscoveryLayer::addTagAt
    - pcpp::PPPoEDiscoveryLayer::getHeaderLen
    linkageType: ''
    returnType: PPPoEDiscoveryLayer::PPPoETag
    signature: PPPoEDiscoveryLayer::PPPoETag PPPoEDiscoveryLayer::addTag(const PPPoETagBuilder&
      tagBuilder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:365,1
    - Dst: getPPPoEHeader
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: pcpp::PPPoEDiscoveryLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 4
    functionsReached:
    - be16toh
    - getPPPoEHeader
    linkageType: ''
    returnType: size_t
    signature: size_t PPPoEDiscoveryLayer::getHeaderLen() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoEDiscoveryLayer::getTag
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:374,1
    - Dst: PPPoEDiscoveryLayer::PPPoETag::isNull
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:375,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:377,1
    - Dst: PPPoEDiscoveryLayer::PPPoETag::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:381,1
    - Dst: PPPoEDiscoveryLayer::PPPoETag::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:383,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:385,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:390,1
    - Dst: getPPPoEHeader
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:392,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - tagType
    argTypes:
    - PPPoEDiscoveryLayer::PPPoETagTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 394
    functionName: pcpp::PPPoEDiscoveryLayer::removeTag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - PPPoEDiscoveryLayer::PPPoETag::getTotalSize
    - getPPPoEHeader
    - PPPoEDiscoveryLayer::PPPoETag::getRecordBasePtr
    - PCPP_LOG_ERROR
    - changeTLVRecordCount
    - shortenLayer
    - PPPoEDiscoveryLayer::PPPoETag::isNull
    - pcpp::PPPoEDiscoveryLayer::getTag
    linkageType: ''
    returnType: bool
    signature: bool PPPoEDiscoveryLayer::removeTag(PPPoEDiscoveryLayer::PPPoETagTypes
      tagType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagCount
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:398,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:400,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:404,1
    - Dst: getPPPoEHeader
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 407
    functionName: pcpp::PPPoEDiscoveryLayer::removeAllTags
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - getPPPoEHeader
    - pcpp::PPPoEDiscoveryLayer::getTagCount
    - shortenLayer
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool PPPoEDiscoveryLayer::removeAllTags()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:414,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:416,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:418,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:420,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:422,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:424,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:426,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:428,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:430,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:432,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:434,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - code
    argTypes:
    - PPPoECode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 438
    functionName: pcpp::PPPoEDiscoveryLayer::codeToString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
    functionUses: 0
    functionsReached:
    - string
    linkageType: ''
    returnType: std::string
    signature: std::string PPPoEDiscoveryLayer::codeToString(PPPoECode code) const
  - BBCount: 42
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 135
    functionName: pcpp::MySqlMessageType::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MySqlMessageType::toString() const
  - BBCount: 36
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 179
    functionName: pcpp::MySqlMessageType::getOrigin
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySqlMessageOrigin
    signature: MySqlMessageOrigin MySqlMessageType::getOrigin() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:187,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:187,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: pcpp::MySqlMessage::getMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MySqlMessage::getMessageLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: pcpp::MySqlMessage::getPacketNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t MySqlMessage::getPacketNumber() const
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:208,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:208,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:209,1
    - Dst: std::unique_ptr<MySqlMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:221,1
    - Dst: MySqlMessage::MySqlMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:222,1
    - Dst: std::unique_ptr<MySqlMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:227,1
    - Dst: MySqlMessage::MySqlMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:228,1
    - Dst: std::unique_ptr<MySqlMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:244,1
    - Dst: MySqlQueryMessage::MySqlQueryMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:244,1
    - Dst: std::unique_ptr<MySqlMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:340,1
    - Dst: MySqlMessage::MySqlMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:341,1
    - Dst: std::unique_ptr<MySqlMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:346,1
    - Dst: MySqlMessage::MySqlMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:347,1
    - Dst: std::unique_ptr<MySqlMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:357,1
    - Dst: MySqlErrorMessage::MySqlErrorMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:357,1
    - Dst: std::unique_ptr<MySqlMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:372,1
    - Dst: MySqlMessage::MySqlMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:373,1
    - Dst: std::unique_ptr<MySqlCommandMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:377,1
    - Dst: MySqlCommandMessage::MySqlCommandMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:378,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 143
    argCount: 3
    argNames:
    - data
    - dataLen
    - origin
    argTypes:
    - uint8_t*
    - size_t
    - MySqlMessageOrigin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 379
    functionName: pcpp::MySqlMessage::parseMySqlMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<MySqlMessage>
    - MySqlErrorMessage::MySqlErrorMessage
    - MySqlMessage::MySqlMessage
    - static_cast<uint32_t>
    - MySqlQueryMessage::MySqlQueryMessage
    - MySqlCommandMessage::MySqlCommandMessage
    - std::unique_ptr<MySqlCommandMessage>
    linkageType: ''
    returnType: std::unique_ptr<MySqlMessage>
    signature: "std::unique_ptr<MySqlMessage> MySqlMessage::parseMySqlMessage(const
      uint8_t* data, size_t dataLen,\n\t                                                              MySqlMessageOrigin
      origin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: pcpp::MySqlMessage::getRawPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> MySqlMessage::getRawPayload() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MySqlMessage::getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 399
    functionName: pcpp::MySqlCommandMessage::getMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::MySqlMessage::getMessageLength
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MySqlCommandMessage::getMessageLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 408
    functionName: pcpp::MySqlCommandMessage::getRawPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> MySqlCommandMessage::getRawPayload() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 418
    functionName: pcpp::MySqlQueryMessage::getQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string MySqlQueryMessage::getQuery() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 428
    functionName: pcpp::MySqlErrorMessage::getErrorCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint16_t*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t MySqlErrorMessage::getErrorCode() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: pcpp::MySqlErrorMessage::getSqlState
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string MySqlErrorMessage::getSqlState() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 448
    functionName: pcpp::MySqlErrorMessage::getErrorMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string MySqlErrorMessage::getErrorMessage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MySqlLayer::MySqlLayer
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: pcpp::MySqlLayer::parseMySqlClientMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - MySqlLayer::MySqlLayer
    linkageType: ''
    returnType: MySqlLayer
    signature: MySqlLayer * MySqlLayer::parseMySqlClientMessage(uint8_t* data, size_t
      dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MySqlLayer::MySqlLayer
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: pcpp::MySqlLayer::parseMySqlServerMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - MySqlLayer::MySqlLayer
    linkageType: ''
    returnType: MySqlLayer
    signature: MySqlLayer * MySqlLayer::parseMySqlServerMessage(uint8_t* data, size_t
      dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:469,1
    - Dst: auto::getTotalMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:475,1
    - Dst: auto::getTotalMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:476,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:477,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 484
    functionName: '& MySqlLayer::getMySqlMessages() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - auto::getTotalMessageLength
    - std::move
    - pcpp::MySqlMessage::parseMySqlMessage
    - pushBack
    linkageType: ''
    returnType: PointerVector<MySqlMessage>
    signature: PointerVector<MySqlMessage> & MySqlLayer::getMySqlMessages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMySqlMessages
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:488,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:489,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:489,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:489,1
    - Dst: getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:490,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' messageType'
    argTypes:
    - MySqlMessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: pcpp::MySqlLayer::getMySqlMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - getMessageType
    - getMySqlMessages
    - begin
    - end
    - std::find_if
    linkageType: ''
    returnType: MySqlMessage
    signature: MySqlMessage * MySqlLayer::getMySqlMessage(const MySqlMessageType&
      messageType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMySqlMessages
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:498,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:499,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:500,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: pcpp::MySqlLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - string
    - size
    - getMySqlMessages
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string MySqlLayer::toString() const
  - BBCount: 42
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 135
    functionName: pcpp::MySqlMessageType::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MySqlMessageType::toString() const
  - BBCount: 36
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 179
    functionName: pcpp::MySqlMessageType::getOrigin
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySqlMessageOrigin
    signature: MySqlMessageOrigin MySqlMessageType::getOrigin() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:187,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:187,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: pcpp::MySqlMessage::getMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MySqlMessage::getMessageLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: pcpp::MySqlMessage::getPacketNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t MySqlMessage::getPacketNumber() const
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:208,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:208,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:209,1
    - Dst: std::unique_ptr<MySqlMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:221,1
    - Dst: MySqlMessage::MySqlMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:222,1
    - Dst: std::unique_ptr<MySqlMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:227,1
    - Dst: MySqlMessage::MySqlMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:228,1
    - Dst: std::unique_ptr<MySqlMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:244,1
    - Dst: MySqlQueryMessage::MySqlQueryMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:244,1
    - Dst: std::unique_ptr<MySqlMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:340,1
    - Dst: MySqlMessage::MySqlMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:341,1
    - Dst: std::unique_ptr<MySqlMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:346,1
    - Dst: MySqlMessage::MySqlMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:347,1
    - Dst: std::unique_ptr<MySqlMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:357,1
    - Dst: MySqlErrorMessage::MySqlErrorMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:357,1
    - Dst: std::unique_ptr<MySqlMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:372,1
    - Dst: MySqlMessage::MySqlMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:373,1
    - Dst: std::unique_ptr<MySqlCommandMessage>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:377,1
    - Dst: MySqlCommandMessage::MySqlCommandMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:378,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 143
    argCount: 3
    argNames:
    - data
    - dataLen
    - origin
    argTypes:
    - uint8_t*
    - size_t
    - MySqlMessageOrigin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 379
    functionName: pcpp::MySqlMessage::parseMySqlMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr<MySqlMessage>
    - MySqlErrorMessage::MySqlErrorMessage
    - MySqlMessage::MySqlMessage
    - static_cast<uint32_t>
    - MySqlQueryMessage::MySqlQueryMessage
    - MySqlCommandMessage::MySqlCommandMessage
    - std::unique_ptr<MySqlCommandMessage>
    linkageType: ''
    returnType: std::unique_ptr<MySqlMessage>
    signature: "std::unique_ptr<MySqlMessage> MySqlMessage::parseMySqlMessage(const
      uint8_t* data, size_t dataLen,\n\t                                                              MySqlMessageOrigin
      origin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: pcpp::MySqlMessage::getRawPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> MySqlMessage::getRawPayload() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MySqlMessage::getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 399
    functionName: pcpp::MySqlCommandMessage::getMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::MySqlMessage::getMessageLength
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MySqlCommandMessage::getMessageLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 408
    functionName: pcpp::MySqlCommandMessage::getRawPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> MySqlCommandMessage::getRawPayload() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 418
    functionName: pcpp::MySqlQueryMessage::getQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string MySqlQueryMessage::getQuery() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 428
    functionName: pcpp::MySqlErrorMessage::getErrorCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint16_t*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t MySqlErrorMessage::getErrorCode() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: pcpp::MySqlErrorMessage::getSqlState
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string MySqlErrorMessage::getSqlState() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 448
    functionName: pcpp::MySqlErrorMessage::getErrorMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string MySqlErrorMessage::getErrorMessage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MySqlLayer::MySqlLayer
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: pcpp::MySqlLayer::parseMySqlClientMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - MySqlLayer::MySqlLayer
    linkageType: ''
    returnType: MySqlLayer
    signature: MySqlLayer * MySqlLayer::parseMySqlClientMessage(uint8_t* data, size_t
      dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MySqlLayer::MySqlLayer
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: pcpp::MySqlLayer::parseMySqlServerMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - MySqlLayer::MySqlLayer
    linkageType: ''
    returnType: MySqlLayer
    signature: MySqlLayer * MySqlLayer::parseMySqlServerMessage(uint8_t* data, size_t
      dataLen, Layer* prevLayer, Packet* packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:469,1
    - Dst: auto::getTotalMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:475,1
    - Dst: auto::getTotalMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:476,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:477,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 484
    functionName: '& MySqlLayer::getMySqlMessages() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - auto::getTotalMessageLength
    - std::move
    - pcpp::MySqlMessage::parseMySqlMessage
    - pushBack
    linkageType: ''
    returnType: PointerVector<MySqlMessage>
    signature: PointerVector<MySqlMessage> & MySqlLayer::getMySqlMessages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMySqlMessages
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:488,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:489,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:489,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:489,1
    - Dst: getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:490,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' messageType'
    argTypes:
    - MySqlMessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: pcpp::MySqlLayer::getMySqlMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - getMessageType
    - getMySqlMessages
    - begin
    - end
    - std::find_if
    linkageType: ''
    returnType: MySqlMessage
    signature: MySqlMessage * MySqlLayer::getMySqlMessage(const MySqlMessageType&
      messageType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMySqlMessages
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:498,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:499,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:500,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: pcpp::MySqlLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
    functionUses: 0
    functionsReached:
    - string
    - size
    - getMySqlMessages
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string MySqlLayer::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:23,1
    - Dst: pcpp::BgpLayer::getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 30
    functionName: pcpp::BgpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::BgpLayer::getBasicHeader
    linkageType: ''
    returnType: size_t
    signature: size_t BgpLayer::getHeaderLen() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<bgp_common_header*>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:37,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:40,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:41,1
    - Dst: pcpp::BgpOpenMessageLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:47,1
    - Dst: BgpOpenMessageLayer::BgpOpenMessageLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:48,1
    - Dst: pcpp::BgpUpdateMessageLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:51,1
    - Dst: BgpUpdateMessageLayer::BgpUpdateMessageLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:52,1
    - Dst: BgpNotificationMessageLayer::BgpNotificationMessageLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:55,1
    - Dst: BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:57,1
    - Dst: BgpRouteRefreshMessageLayer::BgpRouteRefreshMessageLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 63
    functionName: pcpp::BgpLayer::parseBgpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - BgpOpenMessageLayer::BgpOpenMessageLayer
    - BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer
    - reinterpret_cast<bgp_common_header*>
    - BgpUpdateMessageLayer::BgpUpdateMessageLayer
    - be16toh
    - BgpNotificationMessageLayer::BgpNotificationMessageLayer
    - BgpRouteRefreshMessageLayer::BgpRouteRefreshMessageLayer
    - pcpp::BgpUpdateMessageLayer::isDataValid
    - static_cast<uint16_t>
    - pcpp::BgpOpenMessageLayer::isDataValid
    linkageType: ''
    returnType: BgpLayer
    signature: BgpLayer * BgpLayer::parseBgpLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getBgpMessageType
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: pcpp::BgpLayer::getMessageTypeAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - getBgpMessageType
    linkageType: ''
    returnType: std::string
    signature: std::string BgpLayer::getMessageTypeAsString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:86,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: pcpp::BgpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayerFromFactory
    - pcpp::BgpLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void BgpLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpLayer::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: pcpp::BgpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpLayer::getMessageTypeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string BgpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpLayer::getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:103,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:104,1
    - Dst: getBgpMessageType
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:105,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:106,1
    - Dst: pcpp::BgpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: pcpp::BgpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::BgpLayer::getBasicHeader
    - pcpp::BgpLayer::getHeaderLen
    - memset
    - getBgpMessageType
    linkageType: ''
    returnType: void
    signature: void BgpLayer::computeCalculateFields()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpLayer::getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:111,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:112,1
    - Dst: getBgpMessageType
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:113,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - messageLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: pcpp::BgpLayer::setBgpFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - memset
    - htobe16
    - getBgpMessageType
    - pcpp::BgpLayer::getBasicHeader
    linkageType: ''
    returnType: void
    signature: void BgpLayer::setBgpFields(size_t messageLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:126,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:128,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:129,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:131,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:131,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:133,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:137,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:137,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:139,1
    - Dst: pcpp::Layer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - offsetInLayer
    - numOfBytesToExtend
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: pcpp::BgpLayer::extendLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ptrdiff_t>
    - getData
    - PCPP_LOG_ERROR
    - pcpp::Layer::extendLayer
    - getAttachedPacket
    linkageType: ''
    returnType: bool
    signature: bool BgpLayer::extendLayer(int offsetInLayer, size_t numOfBytesToExtend)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:149,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:151,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:152,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:154,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:155,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:156,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:158,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:163,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:163,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:164,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:166,1
    - Dst: pcpp::Layer::shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - offsetInLayer
    - numOfBytesToShorten
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: pcpp::BgpLayer::shortenLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ptrdiff_t>
    - getData
    - PCPP_LOG_ERROR
    - pcpp::Layer::shortenLayer
    - getAttachedPacket
    linkageType: ''
    returnType: bool
    signature: bool BgpLayer::shortenLayer(int offsetInLayer, size_t numOfBytesToShorten)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - typeVal
    - ' valueAsHexString'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: BgpOpenMessageLayer::optional_parameter::optional_parameter(uint8_t
      typeVal, const std::string& valueAsHexString)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - hexStringToByteArray
    linkageType: ''
    returnType: void
    signature: void BgpOpenMessageLayer::optional_parameter::optional_parameter(uint8_t
      typeVal, const std::string& valueAsHexString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const bgp_common_header*>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:191,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: pcpp::BgpOpenMessageLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - reinterpret_cast<const bgp_common_header*>
    linkageType: ''
    returnType: bool
    signature: bool BgpOpenMessageLayer::isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpOpenMessageLayer::optionalParamsToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:200,1
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:203,1
    - Dst: setBgpFields
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:204,1
    - Dst: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:206,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:208,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:209,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:210,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - myAutonomousSystem
    - holdTime
    - ' bgpId'
    - ' optionalParams'
    argTypes:
    - uint16_t
    - uint16_t
    - IPv4Address
    - std::vector<optional_parameter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 218
    functionName: pcpp::BgpOpenMessageLayer::BgpOpenMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - pcpp::BgpOpenMessageLayer::getOpenMsgHeader
    - htobe16
    - setBgpFields
    - allocData
    - memcpy
    - pcpp::BgpOpenMessageLayer::optionalParamsToByteArray
    linkageType: ''
    returnType: void
    signature: "void BgpOpenMessageLayer::BgpOpenMessageLayer(uint16_t myAutonomousSystem,
      uint16_t holdTime, const IPv4Address& bgpId,\n\t                                         const
      std::vector<optional_parameter>& optionalParams)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:234,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:250,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - ' optionalParams'
    - resultByteArr
    - maxByteArrSize
    argTypes:
    - std::vector<optional_parameter>
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 258
    functionName: pcpp::BgpOpenMessageLayer::optionalParamsToByteArray
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: size_t
    signature: "size_t BgpOpenMessageLayer::optionalParamsToByteArray(const std::vector<optional_parameter>&
      optionalParams,\n\t                                                      uint8_t*
      resultByteArr, size_t maxByteArrSize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:262,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' newBgpId'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: pcpp::BgpOpenMessageLayer::setBgpId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - pcpp::BgpOpenMessageLayer::getOpenMsgHeader
    linkageType: ''
    returnType: void
    signature: void BgpOpenMessageLayer::setBgpId(const IPv4Address& newBgpId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:273,1
    - Dst: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:274,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:278,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:288,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:296,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:299,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:299,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:305,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:306,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' optionalParameters'
    argTypes:
    - std::vector<optional_parameter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 314
    functionName: pcpp::BgpOpenMessageLayer::getOptionalParameters
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpOpenMessageLayer::getOpenMsgHeader
    - getHeaderLen
    - static_cast<int>
    - static_cast<size_t>
    - PCPP_LOG_ERROR
    - memcpy
    - push_back
    linkageType: ''
    returnType: void
    signature: void BgpOpenMessageLayer::getOptionalParameters(std::vector<optional_parameter>&
      optionalParameters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:318,1
    - Dst: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:319,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:320,1
    - Dst: PCPP_LOG_WARN
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: pcpp::BgpOpenMessageLayer::getOptionalParametersLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_WARN
    - pcpp::BgpOpenMessageLayer::getOpenMsgHeader
    - getHeaderLen
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t BgpOpenMessageLayer::getOptionalParametersLength()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpOpenMessageLayer::optionalParamsToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:336,1
    - Dst: pcpp::BgpOpenMessageLayer::getOptionalParametersLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:337,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:344,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:346,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:354,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:356,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:363,1
    - Dst: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:366,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:366,1
    - Dst: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:367,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' optionalParameters'
    argTypes:
    - std::vector<optional_parameter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 370
    functionName: pcpp::BgpOpenMessageLayer::setOptionalParameters
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - pcpp::BgpOpenMessageLayer::getOpenMsgHeader
    - htobe16
    - static_cast<uint8_t>
    - PCPP_LOG_ERROR
    - pcpp::BgpOpenMessageLayer::getOptionalParametersLength
    - memcpy
    - shortenLayer
    - pcpp::BgpOpenMessageLayer::optionalParamsToByteArray
    linkageType: ''
    returnType: bool
    signature: bool BgpOpenMessageLayer::setOptionalParameters(const std::vector<optional_parameter>&
      optionalParameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpOpenMessageLayer::setOptionalParameters
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:374,1
    - Dst: std::vector<optional_parameter>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: pcpp::BgpOpenMessageLayer::clearOptionalParameters
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpOpenMessageLayer::setOptionalParameters
    - std::vector<optional_parameter>
    linkageType: ''
    returnType: bool
    signature: bool BgpOpenMessageLayer::clearOptionalParameters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - flagsVal
    - typeVal
    - ' dataAsHexString'
    argTypes:
    - uint8_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 387
    functionName: "BgpUpdateMessageLayer::path_attribute::path_attribute(uint8_t flagsVal,
      uint8_t typeVal,\n\t                                                      const
      std::string& dataAsHexString)"
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - hexStringToByteArray
    linkageType: ''
    returnType: void
    signature: "void BgpUpdateMessageLayer::path_attribute::path_attribute(uint8_t
      flagsVal, uint8_t typeVal,\n\t                                                      const
      std::string& dataAsHexString)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:396,1
    - Dst: pcpp::BgpUpdateMessageLayer::pathAttributesToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:397,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:398,1
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:402,1
    - Dst: setBgpFields
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:403,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:408,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:409,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:413,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:418,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:419,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:423,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - ' withdrawnRoutes'
    - ' pathAttributes'
    - ' nlri'
    argTypes:
    - std::vector<prefix_and_ip>
    - std::vector<path_attribute>
    - std::vector<prefix_and_ip>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 434
    functionName: pcpp::BgpUpdateMessageLayer::BgpUpdateMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::BgpUpdateMessageLayer::pathAttributesToByteArray
    - setBgpFields
    - allocData
    - pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void BgpUpdateMessageLayer::BgpUpdateMessageLayer(const std::vector<prefix_and_ip>&
      withdrawnRoutes,\n\t                                             const std::vector<path_attribute>&
      pathAttributes,\n\t                                             const std::vector<prefix_and_ip>&
      nlri)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:448,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:454,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:460,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:466,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:471,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - dataPtr
    - dataLen
    - ' result'
    argTypes:
    - uint8_t*
    - size_t
    - std::vector<prefix_and_ip>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 479
    functionName: pcpp::BgpUpdateMessageLayer::parsePrefixAndIPData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - IPv4Address
    - push_back
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: "void BgpUpdateMessageLayer::parsePrefixAndIPData(uint8_t* dataPtr,
      size_t dataLen,\n\t                                                 std::vector<prefix_and_ip>&
      result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ipAddr::toBytes
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:496,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:525,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:536,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - ' prefixAndIpData'
    - resultByteArr
    - maxByteArrSize
    argTypes:
    - std::vector<prefix_and_ip>
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 541
    functionName: pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - ipAddr::toBytes
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: size_t
    signature: "size_t BgpUpdateMessageLayer::prefixAndIPDataToByteArray(const std::vector<prefix_and_ip>&
      prefixAndIpData,\n\t                                                         uint8_t*
      resultByteArr, size_t maxByteArrSize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:557,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:573,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - ' pathAttributes'
    - resultByteArr
    - maxByteArrSize
    argTypes:
    - std::vector<path_attribute>
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 581
    functionName: pcpp::BgpUpdateMessageLayer::pathAttributesToByteArray
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: size_t
    signature: "size_t BgpUpdateMessageLayer::pathAttributesToByteArray(const std::vector<path_attribute>&
      pathAttributes,\n\t                                                        uint8_t*
      resultByteArr, size_t maxByteArrSize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:585,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 599
    functionName: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t BgpUpdateMessageLayer::getWithdrawnRoutesLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:603,1
    - Dst: pcpp::BgpUpdateMessageLayer::parsePrefixAndIPData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' withdrawnRoutes'
    argTypes:
    - std::vector<prefix_and_ip>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 611
    functionName: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    - pcpp::BgpUpdateMessageLayer::parsePrefixAndIPData
    linkageType: ''
    returnType: void
    signature: void BgpUpdateMessageLayer::getWithdrawnRoutes(std::vector<prefix_and_ip>&
      withdrawnRoutes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:615,1
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:619,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 636
    functionName: pcpp::BgpUpdateMessageLayer::getPathAttributesLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getHeaderLen
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    linkageType: ''
    returnType: size_t
    signature: size_t BgpUpdateMessageLayer::getPathAttributesLength() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:641,1
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:642,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:649,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:651,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:659,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:661,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:668,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:671,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:672,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:672,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:672,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:674,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' withdrawnRoutes'
    argTypes:
    - std::vector<prefix_and_ip>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 678
    functionName: pcpp::BgpUpdateMessageLayer::setWithdrawnRoutes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - htobe16
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    - PCPP_LOG_ERROR
    - pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
    - memcpy
    - be16toh
    - getBasicHeader
    - shortenLayer
    linkageType: ''
    returnType: bool
    signature: bool BgpUpdateMessageLayer::setWithdrawnRoutes(const std::vector<prefix_and_ip>&
      withdrawnRoutes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::setWithdrawnRoutes
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:682,1
    - Dst: std::vector<prefix_and_ip>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 3
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: pcpp::BgpUpdateMessageLayer::clearWithdrawnRoutes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpUpdateMessageLayer::setWithdrawnRoutes
    - std::vector<prefix_and_ip>
    linkageType: ''
    returnType: bool
    signature: bool BgpUpdateMessageLayer::clearWithdrawnRoutes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::getPathAttributesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:687,1
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:693,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:705,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' pathAttributes'
    argTypes:
    - std::vector<path_attribute>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 685
    functionDepth: 3
    functionLinenumber: 685
    functionLinenumberEnd: 712
    functionName: pcpp::BgpUpdateMessageLayer::getPathAttributes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - push_back
    - pcpp::BgpUpdateMessageLayer::getPathAttributesLength
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    linkageType: ''
    returnType: void
    signature: void BgpUpdateMessageLayer::getPathAttributes(std::vector<path_attribute>&
      pathAttributes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::pathAttributesToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:717,1
    - Dst: pcpp::BgpUpdateMessageLayer::getPathAttributesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:718,1
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:719,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:726,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:728,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:736,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:738,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:745,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:748,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:749,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:749,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:749,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:751,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' pathAttributes'
    argTypes:
    - std::vector<path_attribute>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 756
    functionName: pcpp::BgpUpdateMessageLayer::setPathAttributes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - htobe16
    - pcpp::BgpUpdateMessageLayer::pathAttributesToByteArray
    - pcpp::BgpUpdateMessageLayer::getPathAttributesLength
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    - PCPP_LOG_ERROR
    - memcpy
    - be16toh
    - getBasicHeader
    - shortenLayer
    linkageType: ''
    returnType: bool
    signature: bool BgpUpdateMessageLayer::setPathAttributes(const std::vector<path_attribute>&
      pathAttributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::setPathAttributes
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:760,1
    - Dst: std::vector<path_attribute>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 4
    functionLinenumber: 758
    functionLinenumberEnd: 761
    functionName: pcpp::BgpUpdateMessageLayer::clearPathAttributes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpUpdateMessageLayer::setPathAttributes
    - std::vector<path_attribute>
    linkageType: ''
    returnType: bool
    signature: bool BgpUpdateMessageLayer::clearPathAttributes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:765,1
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:769,1
    - Dst: pcpp::BgpUpdateMessageLayer::getPathAttributesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 781
    functionName: pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfoLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    - pcpp::BgpUpdateMessageLayer::getPathAttributesLength
    linkageType: ''
    returnType: size_t
    signature: size_t BgpUpdateMessageLayer::getNetworkLayerReachabilityInfoLength()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfoLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:785,1
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:791,1
    - Dst: pcpp::BgpUpdateMessageLayer::getPathAttributesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:792,1
    - Dst: pcpp::BgpUpdateMessageLayer::parsePrefixAndIPData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' nlri'
    argTypes:
    - std::vector<prefix_and_ip>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 783
    functionDepth: 4
    functionLinenumber: 783
    functionLinenumberEnd: 794
    functionName: pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    - pcpp::BgpUpdateMessageLayer::parsePrefixAndIPData
    - pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfoLength
    - pcpp::BgpUpdateMessageLayer::getPathAttributesLength
    linkageType: ''
    returnType: void
    signature: void BgpUpdateMessageLayer::getNetworkLayerReachabilityInfo(std::vector<prefix_and_ip>&
      nlri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:801,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 810
    functionName: pcpp::BgpUpdateMessageLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: bool
    signature: bool BgpUpdateMessageLayer::isDataValid(const uint8_t* data, size_t
      dataSize)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:815,1
    - Dst: pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfoLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:816,1
    - Dst: pcpp::BgpUpdateMessageLayer::getPathAttributesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:817,1
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:818,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:826,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:828,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:836,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:838,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:845,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:848,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:848,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:848,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:848,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' nlri'
    argTypes:
    - std::vector<prefix_and_ip>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 812
    functionDepth: 4
    functionLinenumber: 812
    functionLinenumberEnd: 851
    functionName: pcpp::BgpUpdateMessageLayer::setNetworkLayerReachabilityInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - htobe16
    - pcpp::BgpUpdateMessageLayer::getPathAttributesLength
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    - pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfoLength
    - pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
    - PCPP_LOG_ERROR
    - memcpy
    - be16toh
    - getBasicHeader
    - shortenLayer
    linkageType: ''
    returnType: bool
    signature: bool BgpUpdateMessageLayer::setNetworkLayerReachabilityInfo(const std::vector<prefix_and_ip>&
      nlri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::setNetworkLayerReachabilityInfo
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:855,1
    - Dst: std::vector<prefix_and_ip>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 853
    functionDepth: 5
    functionLinenumber: 853
    functionLinenumberEnd: 856
    functionName: pcpp::BgpUpdateMessageLayer::clearNetworkLayerReachabilityInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpUpdateMessageLayer::setNetworkLayerReachabilityInfo
    - std::vector<prefix_and_ip>
    linkageType: ''
    returnType: bool
    signature: bool BgpUpdateMessageLayer::clearNetworkLayerReachabilityInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpNotificationMessageLayer::initMessageData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - errorCode
    - errorSubCode
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 865
    functionName: pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpNotificationMessageLayer::initMessageData
    linkageType: ''
    returnType: void
    signature: void BgpNotificationMessageLayer::BgpNotificationMessageLayer(uint8_t
      errorCode, uint8_t errorSubCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpNotificationMessageLayer::initMessageData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - errorCode
    - errorSubCode
    - notificationData
    - notificationDataLen
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 872
    functionName: pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpNotificationMessageLayer::initMessageData
    linkageType: ''
    returnType: void
    signature: "void BgpNotificationMessageLayer::BgpNotificationMessageLayer(uint8_t
      errorCode, uint8_t errorSubCode,\n\t                                                         const
      uint8_t* notificationData,\n\t                                                         size_t
      notificationDataLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:878,1
    - Dst: pcpp::BgpNotificationMessageLayer::initMessageData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - errorCode
    - errorSubCode
    - ' notificationData'
    argTypes:
    - uint8_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 880
    functionName: pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpNotificationMessageLayer::initMessageData
    - hexStringToByteArray
    linkageType: ''
    returnType: void
    signature: "void BgpNotificationMessageLayer::BgpNotificationMessageLayer(uint8_t
      errorCode, uint8_t errorSubCode,\n\t                                                         const
      std::string& notificationData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:890,1
    - Dst: setBgpFields
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:891,1
    - Dst: pcpp::BgpNotificationMessageLayer::getNotificationMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:892,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - errorCode
    - errorSubCode
    - notificationData
    - notificationDataLen
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 897
    functionName: pcpp::BgpNotificationMessageLayer::initMessageData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 3
    functionsReached:
    - memcpy
    - pcpp::BgpNotificationMessageLayer::getNotificationMsgHeader
    - setBgpFields
    - allocData
    linkageType: ''
    returnType: void
    signature: "void BgpNotificationMessageLayer::initMessageData(uint8_t errorCode,
      uint8_t errorSubCode,\n\t                                                  const
      uint8_t* notificationData, size_t notificationDataLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 908
    functionName: pcpp::BgpNotificationMessageLayer::getNotificationDataLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t BgpNotificationMessageLayer::getNotificationDataLen() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpNotificationMessageLayer::getNotificationDataLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 918
    functionName: pcpp::BgpNotificationMessageLayer::getNotificationData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpNotificationMessageLayer::getNotificationDataLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * BgpNotificationMessageLayer::getNotificationData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpNotificationMessageLayer::getNotificationData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:922,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:928,1
    - Dst: pcpp::BgpNotificationMessageLayer::getNotificationDataLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 929
    functionName: pcpp::BgpNotificationMessageLayer::getNotificationDataAsHexString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    - pcpp::BgpNotificationMessageLayer::getNotificationData
    - pcpp::BgpNotificationMessageLayer::getNotificationDataLen
    linkageType: ''
    returnType: std::string
    signature: std::string BgpNotificationMessageLayer::getNotificationDataAsHexString()
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpNotificationMessageLayer::getNotificationDataLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:939,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:946,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:948,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:956,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:958,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:966,1
    - Dst: pcpp::BgpNotificationMessageLayer::getNotificationMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:969,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:969,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - newNotificationData
    - newNotificationDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 972
    functionName: pcpp::BgpNotificationMessageLayer::setNotificationData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - htobe16
    - pcpp::BgpNotificationMessageLayer::getNotificationMsgHeader
    - pcpp::BgpNotificationMessageLayer::getNotificationDataLen
    - PCPP_LOG_ERROR
    - memcpy
    - shortenLayer
    linkageType: ''
    returnType: bool
    signature: "bool BgpNotificationMessageLayer::setNotificationData(const uint8_t*
      newNotificationData,\n\t                                                      size_t
      newNotificationDataLen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:976,1
    - Dst: pcpp::BgpNotificationMessageLayer::setNotificationData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:978,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:982,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:986,1
    - Dst: pcpp::BgpNotificationMessageLayer::setNotificationData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' newNotificationDataAsHexString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 991
    functionName: pcpp::BgpNotificationMessageLayer::setNotificationData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::BgpNotificationMessageLayer::setNotificationData
    - empty
    - hexStringToByteArray
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool BgpNotificationMessageLayer::setNotificationData(const std::string&
      newNotificationDataAsHexString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:1000,1
    - Dst: setBgpFields
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1003
    functionName: pcpp::BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - setBgpFields
    - allocData
    linkageType: ''
    returnType: void
    signature: void BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:1012,1
    - Dst: setBgpFields
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:1013,1
    - Dst: pcpp::BgpRouteRefreshMessageLayer::getRouteRefreshHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:1014,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - afi
    - safi
    argTypes:
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1018
    functionName: pcpp::BgpRouteRefreshMessageLayer::BgpRouteRefreshMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - setBgpFields
    - pcpp::BgpRouteRefreshMessageLayer::getRouteRefreshHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void BgpRouteRefreshMessageLayer::BgpRouteRefreshMessageLayer(uint16_t
      afi, uint8_t safi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:23,1
    - Dst: pcpp::BgpLayer::getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 30
    functionName: pcpp::BgpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - pcpp::BgpLayer::getBasicHeader
    linkageType: ''
    returnType: size_t
    signature: size_t BgpLayer::getHeaderLen() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<bgp_common_header*>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:37,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:40,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:41,1
    - Dst: pcpp::BgpOpenMessageLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:47,1
    - Dst: BgpOpenMessageLayer::BgpOpenMessageLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:48,1
    - Dst: pcpp::BgpUpdateMessageLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:51,1
    - Dst: BgpUpdateMessageLayer::BgpUpdateMessageLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:52,1
    - Dst: BgpNotificationMessageLayer::BgpNotificationMessageLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:55,1
    - Dst: BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:57,1
    - Dst: BgpRouteRefreshMessageLayer::BgpRouteRefreshMessageLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 63
    functionName: pcpp::BgpLayer::parseBgpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - BgpOpenMessageLayer::BgpOpenMessageLayer
    - BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer
    - reinterpret_cast<bgp_common_header*>
    - BgpUpdateMessageLayer::BgpUpdateMessageLayer
    - be16toh
    - BgpNotificationMessageLayer::BgpNotificationMessageLayer
    - BgpRouteRefreshMessageLayer::BgpRouteRefreshMessageLayer
    - pcpp::BgpUpdateMessageLayer::isDataValid
    - static_cast<uint16_t>
    - pcpp::BgpOpenMessageLayer::isDataValid
    linkageType: ''
    returnType: BgpLayer
    signature: BgpLayer * BgpLayer::parseBgpLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getBgpMessageType
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: pcpp::BgpLayer::getMessageTypeAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 1
    functionsReached:
    - getBgpMessageType
    linkageType: ''
    returnType: std::string
    signature: std::string BgpLayer::getMessageTypeAsString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:86,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: pcpp::BgpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayerFromFactory
    - pcpp::BgpLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void BgpLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpLayer::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: pcpp::BgpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpLayer::getMessageTypeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string BgpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpLayer::getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:103,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:104,1
    - Dst: getBgpMessageType
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:105,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:106,1
    - Dst: pcpp::BgpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: pcpp::BgpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::BgpLayer::getBasicHeader
    - pcpp::BgpLayer::getHeaderLen
    - memset
    - getBgpMessageType
    linkageType: ''
    returnType: void
    signature: void BgpLayer::computeCalculateFields()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpLayer::getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:111,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:112,1
    - Dst: getBgpMessageType
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:113,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - messageLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: pcpp::BgpLayer::setBgpFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - memset
    - htobe16
    - getBgpMessageType
    - pcpp::BgpLayer::getBasicHeader
    linkageType: ''
    returnType: void
    signature: void BgpLayer::setBgpFields(size_t messageLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:126,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:128,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:129,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:131,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:131,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:133,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:137,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:137,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:139,1
    - Dst: pcpp::Layer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - offsetInLayer
    - numOfBytesToExtend
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: pcpp::BgpLayer::extendLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ptrdiff_t>
    - getData
    - PCPP_LOG_ERROR
    - pcpp::Layer::extendLayer
    - getAttachedPacket
    linkageType: ''
    returnType: bool
    signature: bool BgpLayer::extendLayer(int offsetInLayer, size_t numOfBytesToExtend)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:149,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:151,1
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:152,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:154,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:155,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:156,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:158,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:163,1
    - Dst: static_cast<ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:163,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:164,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:166,1
    - Dst: pcpp::Layer::shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - offsetInLayer
    - numOfBytesToShorten
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: pcpp::BgpLayer::shortenLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ptrdiff_t>
    - getData
    - PCPP_LOG_ERROR
    - pcpp::Layer::shortenLayer
    - getAttachedPacket
    linkageType: ''
    returnType: bool
    signature: bool BgpLayer::shortenLayer(int offsetInLayer, size_t numOfBytesToShorten)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - typeVal
    - ' valueAsHexString'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: BgpOpenMessageLayer::optional_parameter::optional_parameter(uint8_t
      typeVal, const std::string& valueAsHexString)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - hexStringToByteArray
    linkageType: ''
    returnType: void
    signature: void BgpOpenMessageLayer::optional_parameter::optional_parameter(uint8_t
      typeVal, const std::string& valueAsHexString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const bgp_common_header*>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:191,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: pcpp::BgpOpenMessageLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - reinterpret_cast<const bgp_common_header*>
    linkageType: ''
    returnType: bool
    signature: bool BgpOpenMessageLayer::isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpOpenMessageLayer::optionalParamsToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:200,1
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:203,1
    - Dst: setBgpFields
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:204,1
    - Dst: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:206,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:208,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:209,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:210,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - myAutonomousSystem
    - holdTime
    - ' bgpId'
    - ' optionalParams'
    argTypes:
    - uint16_t
    - uint16_t
    - IPv4Address
    - std::vector<optional_parameter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 218
    functionName: pcpp::BgpOpenMessageLayer::BgpOpenMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - pcpp::BgpOpenMessageLayer::getOpenMsgHeader
    - htobe16
    - setBgpFields
    - allocData
    - memcpy
    - pcpp::BgpOpenMessageLayer::optionalParamsToByteArray
    linkageType: ''
    returnType: void
    signature: "void BgpOpenMessageLayer::BgpOpenMessageLayer(uint16_t myAutonomousSystem,
      uint16_t holdTime, const IPv4Address& bgpId,\n\t                                         const
      std::vector<optional_parameter>& optionalParams)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:234,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:250,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - ' optionalParams'
    - resultByteArr
    - maxByteArrSize
    argTypes:
    - std::vector<optional_parameter>
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 258
    functionName: pcpp::BgpOpenMessageLayer::optionalParamsToByteArray
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 3
    functionsReached:
    - memcpy
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: size_t
    signature: "size_t BgpOpenMessageLayer::optionalParamsToByteArray(const std::vector<optional_parameter>&
      optionalParams,\n\t                                                      uint8_t*
      resultByteArr, size_t maxByteArrSize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:262,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' newBgpId'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: pcpp::BgpOpenMessageLayer::setBgpId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - pcpp::BgpOpenMessageLayer::getOpenMsgHeader
    linkageType: ''
    returnType: void
    signature: void BgpOpenMessageLayer::setBgpId(const IPv4Address& newBgpId)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:273,1
    - Dst: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:274,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:278,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:288,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:296,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:299,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:299,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:305,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:306,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ' optionalParameters'
    argTypes:
    - std::vector<optional_parameter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 314
    functionName: pcpp::BgpOpenMessageLayer::getOptionalParameters
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpOpenMessageLayer::getOpenMsgHeader
    - getHeaderLen
    - static_cast<int>
    - static_cast<size_t>
    - PCPP_LOG_ERROR
    - memcpy
    - push_back
    linkageType: ''
    returnType: void
    signature: void BgpOpenMessageLayer::getOptionalParameters(std::vector<optional_parameter>&
      optionalParameters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:318,1
    - Dst: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:319,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:320,1
    - Dst: PCPP_LOG_WARN
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: pcpp::BgpOpenMessageLayer::getOptionalParametersLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 1
    functionsReached:
    - PCPP_LOG_WARN
    - pcpp::BgpOpenMessageLayer::getOpenMsgHeader
    - getHeaderLen
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t BgpOpenMessageLayer::getOptionalParametersLength()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpOpenMessageLayer::optionalParamsToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:336,1
    - Dst: pcpp::BgpOpenMessageLayer::getOptionalParametersLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:337,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:344,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:346,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:354,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:356,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:363,1
    - Dst: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:366,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:366,1
    - Dst: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:367,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' optionalParameters'
    argTypes:
    - std::vector<optional_parameter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 370
    functionName: pcpp::BgpOpenMessageLayer::setOptionalParameters
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 1
    functionsReached:
    - extendLayer
    - pcpp::BgpOpenMessageLayer::getOpenMsgHeader
    - htobe16
    - static_cast<uint8_t>
    - PCPP_LOG_ERROR
    - pcpp::BgpOpenMessageLayer::getOptionalParametersLength
    - memcpy
    - shortenLayer
    - pcpp::BgpOpenMessageLayer::optionalParamsToByteArray
    linkageType: ''
    returnType: bool
    signature: bool BgpOpenMessageLayer::setOptionalParameters(const std::vector<optional_parameter>&
      optionalParameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpOpenMessageLayer::setOptionalParameters
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:374,1
    - Dst: std::vector<optional_parameter>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: pcpp::BgpOpenMessageLayer::clearOptionalParameters
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpOpenMessageLayer::setOptionalParameters
    - std::vector<optional_parameter>
    linkageType: ''
    returnType: bool
    signature: bool BgpOpenMessageLayer::clearOptionalParameters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - flagsVal
    - typeVal
    - ' dataAsHexString'
    argTypes:
    - uint8_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 387
    functionName: "BgpUpdateMessageLayer::path_attribute::path_attribute(uint8_t flagsVal,
      uint8_t typeVal,\n\t                                                      const
      std::string& dataAsHexString)"
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - hexStringToByteArray
    linkageType: ''
    returnType: void
    signature: "void BgpUpdateMessageLayer::path_attribute::path_attribute(uint8_t
      flagsVal, uint8_t typeVal,\n\t                                                      const
      std::string& dataAsHexString)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:396,1
    - Dst: pcpp::BgpUpdateMessageLayer::pathAttributesToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:397,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:398,1
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:402,1
    - Dst: setBgpFields
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:403,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:408,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:409,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:413,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:418,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:419,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:423,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - ' withdrawnRoutes'
    - ' pathAttributes'
    - ' nlri'
    argTypes:
    - std::vector<prefix_and_ip>
    - std::vector<path_attribute>
    - std::vector<prefix_and_ip>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 434
    functionName: pcpp::BgpUpdateMessageLayer::BgpUpdateMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::BgpUpdateMessageLayer::pathAttributesToByteArray
    - setBgpFields
    - allocData
    - pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void BgpUpdateMessageLayer::BgpUpdateMessageLayer(const std::vector<prefix_and_ip>&
      withdrawnRoutes,\n\t                                             const std::vector<path_attribute>&
      pathAttributes,\n\t                                             const std::vector<prefix_and_ip>&
      nlri)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:448,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:454,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:460,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:466,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:471,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - dataPtr
    - dataLen
    - ' result'
    argTypes:
    - uint8_t*
    - size_t
    - std::vector<prefix_and_ip>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 479
    functionName: pcpp::BgpUpdateMessageLayer::parsePrefixAndIPData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 2
    functionsReached:
    - IPv4Address
    - push_back
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: "void BgpUpdateMessageLayer::parsePrefixAndIPData(uint8_t* dataPtr,
      size_t dataLen,\n\t                                                 std::vector<prefix_and_ip>&
      result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ipAddr::toBytes
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:496,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:525,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:536,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - ' prefixAndIpData'
    - resultByteArr
    - maxByteArrSize
    argTypes:
    - std::vector<prefix_and_ip>
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 541
    functionName: pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 4
    functionsReached:
    - memcpy
    - ipAddr::toBytes
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: size_t
    signature: "size_t BgpUpdateMessageLayer::prefixAndIPDataToByteArray(const std::vector<prefix_and_ip>&
      prefixAndIpData,\n\t                                                         uint8_t*
      resultByteArr, size_t maxByteArrSize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:557,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:573,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - ' pathAttributes'
    - resultByteArr
    - maxByteArrSize
    argTypes:
    - std::vector<path_attribute>
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 581
    functionName: pcpp::BgpUpdateMessageLayer::pathAttributesToByteArray
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 3
    functionsReached:
    - memcpy
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: size_t
    signature: "size_t BgpUpdateMessageLayer::pathAttributesToByteArray(const std::vector<path_attribute>&
      pathAttributes,\n\t                                                        uint8_t*
      resultByteArr, size_t maxByteArrSize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:585,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 599
    functionName: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 8
    functionsReached:
    - be16toh
    - getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t BgpUpdateMessageLayer::getWithdrawnRoutesLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:603,1
    - Dst: pcpp::BgpUpdateMessageLayer::parsePrefixAndIPData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' withdrawnRoutes'
    argTypes:
    - std::vector<prefix_and_ip>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 611
    functionName: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    - pcpp::BgpUpdateMessageLayer::parsePrefixAndIPData
    linkageType: ''
    returnType: void
    signature: void BgpUpdateMessageLayer::getWithdrawnRoutes(std::vector<prefix_and_ip>&
      withdrawnRoutes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:615,1
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:619,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 636
    functionName: pcpp::BgpUpdateMessageLayer::getPathAttributesLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 5
    functionsReached:
    - be16toh
    - getHeaderLen
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    linkageType: ''
    returnType: size_t
    signature: size_t BgpUpdateMessageLayer::getPathAttributesLength() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:641,1
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:642,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:649,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:651,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:659,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:661,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:668,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:671,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:672,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:672,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:672,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:674,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' withdrawnRoutes'
    argTypes:
    - std::vector<prefix_and_ip>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 678
    functionName: pcpp::BgpUpdateMessageLayer::setWithdrawnRoutes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 1
    functionsReached:
    - extendLayer
    - htobe16
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    - PCPP_LOG_ERROR
    - pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
    - memcpy
    - be16toh
    - getBasicHeader
    - shortenLayer
    linkageType: ''
    returnType: bool
    signature: bool BgpUpdateMessageLayer::setWithdrawnRoutes(const std::vector<prefix_and_ip>&
      withdrawnRoutes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::setWithdrawnRoutes
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:682,1
    - Dst: std::vector<prefix_and_ip>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 3
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: pcpp::BgpUpdateMessageLayer::clearWithdrawnRoutes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpUpdateMessageLayer::setWithdrawnRoutes
    - std::vector<prefix_and_ip>
    linkageType: ''
    returnType: bool
    signature: bool BgpUpdateMessageLayer::clearWithdrawnRoutes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::getPathAttributesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:687,1
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:693,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:705,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' pathAttributes'
    argTypes:
    - std::vector<path_attribute>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 685
    functionDepth: 3
    functionLinenumber: 685
    functionLinenumberEnd: 712
    functionName: pcpp::BgpUpdateMessageLayer::getPathAttributes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - push_back
    - pcpp::BgpUpdateMessageLayer::getPathAttributesLength
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    linkageType: ''
    returnType: void
    signature: void BgpUpdateMessageLayer::getPathAttributes(std::vector<path_attribute>&
      pathAttributes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::pathAttributesToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:717,1
    - Dst: pcpp::BgpUpdateMessageLayer::getPathAttributesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:718,1
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:719,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:726,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:728,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:736,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:738,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:745,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:748,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:749,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:749,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:749,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:751,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ' pathAttributes'
    argTypes:
    - std::vector<path_attribute>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 756
    functionName: pcpp::BgpUpdateMessageLayer::setPathAttributes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 1
    functionsReached:
    - extendLayer
    - htobe16
    - pcpp::BgpUpdateMessageLayer::pathAttributesToByteArray
    - pcpp::BgpUpdateMessageLayer::getPathAttributesLength
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    - PCPP_LOG_ERROR
    - memcpy
    - be16toh
    - getBasicHeader
    - shortenLayer
    linkageType: ''
    returnType: bool
    signature: bool BgpUpdateMessageLayer::setPathAttributes(const std::vector<path_attribute>&
      pathAttributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::setPathAttributes
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:760,1
    - Dst: std::vector<path_attribute>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 4
    functionLinenumber: 758
    functionLinenumberEnd: 761
    functionName: pcpp::BgpUpdateMessageLayer::clearPathAttributes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpUpdateMessageLayer::setPathAttributes
    - std::vector<path_attribute>
    linkageType: ''
    returnType: bool
    signature: bool BgpUpdateMessageLayer::clearPathAttributes()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:765,1
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:769,1
    - Dst: pcpp::BgpUpdateMessageLayer::getPathAttributesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 781
    functionName: pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfoLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 2
    functionsReached:
    - getHeaderLen
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    - pcpp::BgpUpdateMessageLayer::getPathAttributesLength
    linkageType: ''
    returnType: size_t
    signature: size_t BgpUpdateMessageLayer::getNetworkLayerReachabilityInfoLength()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfoLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:785,1
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:791,1
    - Dst: pcpp::BgpUpdateMessageLayer::getPathAttributesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:792,1
    - Dst: pcpp::BgpUpdateMessageLayer::parsePrefixAndIPData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' nlri'
    argTypes:
    - std::vector<prefix_and_ip>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 783
    functionDepth: 4
    functionLinenumber: 783
    functionLinenumberEnd: 794
    functionName: pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    - pcpp::BgpUpdateMessageLayer::parsePrefixAndIPData
    - pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfoLength
    - pcpp::BgpUpdateMessageLayer::getPathAttributesLength
    linkageType: ''
    returnType: void
    signature: void BgpUpdateMessageLayer::getNetworkLayerReachabilityInfo(std::vector<prefix_and_ip>&
      nlri)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:801,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 810
    functionName: pcpp::BgpUpdateMessageLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: bool
    signature: bool BgpUpdateMessageLayer::isDataValid(const uint8_t* data, size_t
      dataSize)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:815,1
    - Dst: pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfoLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:816,1
    - Dst: pcpp::BgpUpdateMessageLayer::getPathAttributesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:817,1
    - Dst: pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:818,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:826,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:828,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:836,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:838,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:845,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:848,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:848,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:848,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:848,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' nlri'
    argTypes:
    - std::vector<prefix_and_ip>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 812
    functionDepth: 4
    functionLinenumber: 812
    functionLinenumberEnd: 851
    functionName: pcpp::BgpUpdateMessageLayer::setNetworkLayerReachabilityInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 1
    functionsReached:
    - extendLayer
    - htobe16
    - pcpp::BgpUpdateMessageLayer::getPathAttributesLength
    - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
    - pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfoLength
    - pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
    - PCPP_LOG_ERROR
    - memcpy
    - be16toh
    - getBasicHeader
    - shortenLayer
    linkageType: ''
    returnType: bool
    signature: bool BgpUpdateMessageLayer::setNetworkLayerReachabilityInfo(const std::vector<prefix_and_ip>&
      nlri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpUpdateMessageLayer::setNetworkLayerReachabilityInfo
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:855,1
    - Dst: std::vector<prefix_and_ip>
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 853
    functionDepth: 5
    functionLinenumber: 853
    functionLinenumberEnd: 856
    functionName: pcpp::BgpUpdateMessageLayer::clearNetworkLayerReachabilityInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpUpdateMessageLayer::setNetworkLayerReachabilityInfo
    - std::vector<prefix_and_ip>
    linkageType: ''
    returnType: bool
    signature: bool BgpUpdateMessageLayer::clearNetworkLayerReachabilityInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpNotificationMessageLayer::initMessageData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - errorCode
    - errorSubCode
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 865
    functionName: pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpNotificationMessageLayer::initMessageData
    linkageType: ''
    returnType: void
    signature: void BgpNotificationMessageLayer::BgpNotificationMessageLayer(uint8_t
      errorCode, uint8_t errorSubCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpNotificationMessageLayer::initMessageData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - errorCode
    - errorSubCode
    - notificationData
    - notificationDataLen
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 867
    functionDepth: 2
    functionLinenumber: 867
    functionLinenumberEnd: 872
    functionName: pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpNotificationMessageLayer::initMessageData
    linkageType: ''
    returnType: void
    signature: "void BgpNotificationMessageLayer::BgpNotificationMessageLayer(uint8_t
      errorCode, uint8_t errorSubCode,\n\t                                                         const
      uint8_t* notificationData,\n\t                                                         size_t
      notificationDataLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:878,1
    - Dst: pcpp::BgpNotificationMessageLayer::initMessageData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - errorCode
    - errorSubCode
    - ' notificationData'
    argTypes:
    - uint8_t
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 874
    functionDepth: 2
    functionLinenumber: 874
    functionLinenumberEnd: 880
    functionName: pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BgpNotificationMessageLayer::initMessageData
    - hexStringToByteArray
    linkageType: ''
    returnType: void
    signature: "void BgpNotificationMessageLayer::BgpNotificationMessageLayer(uint8_t
      errorCode, uint8_t errorSubCode,\n\t                                                         const
      std::string& notificationData)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:890,1
    - Dst: setBgpFields
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:891,1
    - Dst: pcpp::BgpNotificationMessageLayer::getNotificationMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:892,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - errorCode
    - errorSubCode
    - notificationData
    - notificationDataLen
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 897
    functionName: pcpp::BgpNotificationMessageLayer::initMessageData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 6
    functionsReached:
    - memcpy
    - pcpp::BgpNotificationMessageLayer::getNotificationMsgHeader
    - setBgpFields
    - allocData
    linkageType: ''
    returnType: void
    signature: "void BgpNotificationMessageLayer::initMessageData(uint8_t errorCode,
      uint8_t errorSubCode,\n\t                                                  const
      uint8_t* notificationData, size_t notificationDataLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 908
    functionName: pcpp::BgpNotificationMessageLayer::getNotificationDataLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 3
    functionsReached:
    - getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t BgpNotificationMessageLayer::getNotificationDataLen() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpNotificationMessageLayer::getNotificationDataLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 918
    functionName: pcpp::BgpNotificationMessageLayer::getNotificationData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::BgpNotificationMessageLayer::getNotificationDataLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * BgpNotificationMessageLayer::getNotificationData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpNotificationMessageLayer::getNotificationData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:922,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:928,1
    - Dst: pcpp::BgpNotificationMessageLayer::getNotificationDataLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 929
    functionName: pcpp::BgpNotificationMessageLayer::getNotificationDataAsHexString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    - pcpp::BgpNotificationMessageLayer::getNotificationData
    - pcpp::BgpNotificationMessageLayer::getNotificationDataLen
    linkageType: ''
    returnType: std::string
    signature: std::string BgpNotificationMessageLayer::getNotificationDataAsHexString()
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BgpNotificationMessageLayer::getNotificationDataLen
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:939,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:946,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:948,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:956,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:958,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:966,1
    - Dst: pcpp::BgpNotificationMessageLayer::getNotificationMsgHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:969,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:969,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - newNotificationData
    - newNotificationDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 972
    functionName: pcpp::BgpNotificationMessageLayer::setNotificationData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 1
    functionsReached:
    - extendLayer
    - htobe16
    - pcpp::BgpNotificationMessageLayer::getNotificationMsgHeader
    - pcpp::BgpNotificationMessageLayer::getNotificationDataLen
    - PCPP_LOG_ERROR
    - memcpy
    - shortenLayer
    linkageType: ''
    returnType: bool
    signature: "bool BgpNotificationMessageLayer::setNotificationData(const uint8_t*
      newNotificationData,\n\t                                                      size_t
      newNotificationDataLen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:976,1
    - Dst: pcpp::BgpNotificationMessageLayer::setNotificationData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:978,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:982,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:986,1
    - Dst: pcpp::BgpNotificationMessageLayer::setNotificationData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' newNotificationDataAsHexString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 991
    functionName: pcpp::BgpNotificationMessageLayer::setNotificationData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::BgpNotificationMessageLayer::setNotificationData
    - empty
    - hexStringToByteArray
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool BgpNotificationMessageLayer::setNotificationData(const std::string&
      newNotificationDataAsHexString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:1000,1
    - Dst: setBgpFields
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1003
    functionName: pcpp::BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - setBgpFields
    - allocData
    linkageType: ''
    returnType: void
    signature: void BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:1012,1
    - Dst: setBgpFields
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:1013,1
    - Dst: pcpp::BgpRouteRefreshMessageLayer::getRouteRefreshHeader
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:1014,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - afi
    - safi
    argTypes:
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1018
    functionName: pcpp::BgpRouteRefreshMessageLayer::BgpRouteRefreshMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - setBgpFields
    - pcpp::BgpRouteRefreshMessageLayer::getRouteRefreshHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void BgpRouteRefreshMessageLayer::BgpRouteRefreshMessageLayer(uint16_t
      afi, uint8_t safi)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:14,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:20,1
    - Dst: DhcpOption
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:23,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:29,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:30,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:34,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:36,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:38,1
    - Dst: DhcpOption
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 42
    functionName: pcpp::DhcpOptionBuilder::build
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - PCPP_LOG_ERROR
    - DhcpOption
    - memcpy
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: DhcpOption
    signature: DhcpOption DhcpOptionBuilder::build() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: pcpp::DhcpLayer::DhcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DhcpLayer::DhcpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numOfBytesToAllocate
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: pcpp::DhcpLayer::initDhcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - allocData
    linkageType: ''
    returnType: void
    signature: void DhcpLayer::initDhcpLayer(size_t numOfBytesToAllocate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::initDhcpLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: pcpp::DhcpLayer::DhcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::initDhcpLayer
    linkageType: ''
    returnType: void
    signature: void DhcpLayer::DhcpLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::initDhcpLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:61,1
    - Dst: pcpp::DhcpLayer::setClientHardwareAddress
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - msgType
    - ' clientMacAddr'
    argTypes:
    - DhcpMessageType
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: pcpp::DhcpLayer::DhcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::initDhcpLayer
    - pcpp::DhcpLayer::setClientHardwareAddress
    linkageType: ''
    returnType: void
    signature: void DhcpLayer::DhcpLayer(DhcpMessageType msgType, const MacAddress&
      clientMacAddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:75,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:77,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: pcpp::DhcpLayer::getClientHardwareAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - MacAddress
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress DhcpLayer::getClientHardwareAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:86,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: pcpp::DhcpLayer::setClientHardwareAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 1
    functionsReached:
    - copyTo
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: void
    signature: void DhcpLayer::setClientHardwareAddress(const MacAddress& addr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:94,1
    - Dst: pcpp::DhcpLayer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 120
    functionName: pcpp::DhcpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getMessageType
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: void
    signature: void DhcpLayer::computeCalculateFields()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:125,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 172
    functionName: pcpp::DhcpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getMessageType
    linkageType: ''
    returnType: std::string
    signature: std::string DhcpLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:176,1
    - Dst: DhcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:177,1
    - Dst: DhcpOption::getValueAs
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: pcpp::DhcpLayer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 2
    functionsReached:
    - DhcpOption::getValueAs
    - pcpp::DhcpLayer::getOptionData
    - DhcpOption::isNull
    linkageType: ''
    returnType: DhcpMessageType
    signature: DhcpMessageType DhcpLayer::getMessageType() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:188,1
    - Dst: DhcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:189,1
    - Dst: pcpp::DhcpLayer::addOptionAfter
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:191,1
    - Dst: DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:191,1
    - Dst: DhcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:192,1
    - Dst: DhcpOption::setValue
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - msgType
    argTypes:
    - DhcpMessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 198
    functionName: pcpp::DhcpLayer::setMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getOptionData
    - DhcpOption::setValue
    - DhcpOptionBuilder
    - DhcpOption::isNull
    - pcpp::DhcpLayer::addOptionAfter
    linkageType: ''
    returnType: bool
    signature: bool DhcpLayer::setMessageType(DhcpMessageType msgType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:202,1
    - Dst: pcpp::DhcpLayer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:202,1
    - Dst: pcpp::DhcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - DhcpOptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: pcpp::DhcpLayer::getOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DhcpLayer::getHeaderLen
    - pcpp::DhcpLayer::getOptionsBasePtr
    - getTLVRecord
    linkageType: ''
    returnType: DhcpOption
    signature: DhcpOption DhcpLayer::getOptionData(DhcpOptionTypes option) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:207,1
    - Dst: pcpp::DhcpLayer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:207,1
    - Dst: pcpp::DhcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: pcpp::DhcpLayer::getFirstOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - pcpp::DhcpLayer::getHeaderLen
    - pcpp::DhcpLayer::getOptionsBasePtr
    linkageType: ''
    returnType: DhcpOption
    signature: DhcpOption DhcpLayer::getFirstOptionData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:212,1
    - Dst: pcpp::DhcpLayer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:212,1
    - Dst: pcpp::DhcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dhcpOption
    argTypes:
    - DhcpOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: pcpp::DhcpLayer::getNextOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getHeaderLen
    - getNextTLVRecord
    - pcpp::DhcpLayer::getOptionsBasePtr
    linkageType: ''
    returnType: DhcpOption
    signature: DhcpOption DhcpLayer::getNextOptionData(DhcpOption dhcpOption) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:217,1
    - Dst: pcpp::DhcpLayer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:217,1
    - Dst: pcpp::DhcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: pcpp::DhcpLayer::getOptionsCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getHeaderLen
    - getTLVRecordCount
    - pcpp::DhcpLayer::getOptionsBasePtr
    linkageType: ''
    returnType: size_t
    signature: size_t DhcpLayer::getOptionsCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:222,1
    - Dst: DhcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:224,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:226,1
    - Dst: DhcpOption::getType
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:226,1
    - Dst: DhcpOption
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:227,1
    - Dst: DhcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:230,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:232,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:234,1
    - Dst: DhcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:234,1
    - Dst: DhcpOption::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:235,1
    - Dst: DhcpOption
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:236,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:239,1
    - Dst: DhcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:239,1
    - Dst: DhcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:239,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:243,1
    - Dst: DhcpOption::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:245,1
    - Dst: DhcpOption
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ' optionBuilder'
    - offset
    argTypes:
    - DhcpOptionBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 248
    functionName: pcpp::DhcpLayer::addOptionAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - DhcpOption::getType
    - DhcpOption::getRecordBasePtr
    - DhcpOption::purgeRecordData
    - PCPP_LOG_ERROR
    - DhcpOption
    - memcpy
    - DhcpOption::isNull
    - DhcpOption::getTotalSize
    - build
    - changeTLVRecordCount
    linkageType: ''
    returnType: DhcpOption
    signature: DhcpOption DhcpLayer::addOptionAt(const DhcpOptionBuilder& optionBuilder,
      int offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:253,1
    - Dst: DhcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:254,1
    - Dst: DhcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:255,1
    - Dst: pcpp::DhcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:257,1
    - Dst: pcpp::DhcpLayer::addOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' optionBuilder'
    argTypes:
    - DhcpOptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: pcpp::DhcpLayer::addOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getOptionData
    - DhcpOption::getRecordBasePtr
    - pcpp::DhcpLayer::addOptionAt
    - pcpp::DhcpLayer::getHeaderLen
    - DhcpOption::isNull
    linkageType: ''
    returnType: DhcpOption
    signature: DhcpOption DhcpLayer::addOption(const DhcpOptionBuilder& optionBuilder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:266,1
    - Dst: DhcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:268,1
    - Dst: DhcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:274,1
    - Dst: DhcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:274,1
    - Dst: pcpp::DhcpLayer::addOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' optionBuilder'
    - prevOption
    argTypes:
    - DhcpOptionBuilder
    - DhcpOptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 278
    functionName: pcpp::DhcpLayer::addOptionAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DhcpLayer::getOptionData
    - DhcpOption::getRecordBasePtr
    - pcpp::DhcpLayer::addOptionAt
    - DhcpOption::isNull
    - DhcpOption::getTotalSize
    linkageType: ''
    returnType: DhcpOption
    signature: DhcpOption DhcpLayer::addOptionAfter(const DhcpOptionBuilder& optionBuilder,
      DhcpOptionTypes prevOption)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:282,1
    - Dst: DhcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:283,1
    - Dst: DhcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:288,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:290,1
    - Dst: DhcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:290,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - DhcpOptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 297
    functionName: pcpp::DhcpLayer::removeOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getOptionData
    - DhcpOption::getRecordBasePtr
    - shortenLayer
    - DhcpOption::isNull
    - DhcpOption::getTotalSize
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool DhcpLayer::removeOption(DhcpOptionTypes optionType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:303,1
    - Dst: pcpp::DhcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:303,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:306,1
    - Dst: pcpp::DhcpLayer::getOptionsCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: pcpp::DhcpLayer::removeAllOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getHeaderLen
    - shortenLayer
    - pcpp::DhcpLayer::getOptionsCount
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool DhcpLayer::removeAllOptions()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:14,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:20,1
    - Dst: DhcpOption
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:23,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:29,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:30,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:34,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:36,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:38,1
    - Dst: DhcpOption
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 42
    functionName: pcpp::DhcpOptionBuilder::build
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - PCPP_LOG_ERROR
    - DhcpOption
    - memcpy
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: DhcpOption
    signature: DhcpOption DhcpOptionBuilder::build() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: pcpp::DhcpLayer::DhcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DhcpLayer::DhcpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - numOfBytesToAllocate
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: pcpp::DhcpLayer::initDhcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 2
    functionsReached:
    - allocData
    linkageType: ''
    returnType: void
    signature: void DhcpLayer::initDhcpLayer(size_t numOfBytesToAllocate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::initDhcpLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: pcpp::DhcpLayer::DhcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::initDhcpLayer
    linkageType: ''
    returnType: void
    signature: void DhcpLayer::DhcpLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::initDhcpLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:61,1
    - Dst: pcpp::DhcpLayer::setClientHardwareAddress
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - msgType
    - ' clientMacAddr'
    argTypes:
    - DhcpMessageType
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: pcpp::DhcpLayer::DhcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::initDhcpLayer
    - pcpp::DhcpLayer::setClientHardwareAddress
    linkageType: ''
    returnType: void
    signature: void DhcpLayer::DhcpLayer(DhcpMessageType msgType, const MacAddress&
      clientMacAddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:75,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:77,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: pcpp::DhcpLayer::getClientHardwareAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - MacAddress
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress DhcpLayer::getClientHardwareAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:86,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: pcpp::DhcpLayer::setClientHardwareAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 2
    functionsReached:
    - copyTo
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: void
    signature: void DhcpLayer::setClientHardwareAddress(const MacAddress& addr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:94,1
    - Dst: pcpp::DhcpLayer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 120
    functionName: pcpp::DhcpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getMessageType
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: void
    signature: void DhcpLayer::computeCalculateFields()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:125,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 172
    functionName: pcpp::DhcpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getMessageType
    linkageType: ''
    returnType: std::string
    signature: std::string DhcpLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:176,1
    - Dst: DhcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:177,1
    - Dst: DhcpOption::getValueAs
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: pcpp::DhcpLayer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 4
    functionsReached:
    - DhcpOption::getValueAs
    - pcpp::DhcpLayer::getOptionData
    - DhcpOption::isNull
    linkageType: ''
    returnType: DhcpMessageType
    signature: DhcpMessageType DhcpLayer::getMessageType() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:188,1
    - Dst: DhcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:189,1
    - Dst: pcpp::DhcpLayer::addOptionAfter
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:191,1
    - Dst: DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:191,1
    - Dst: DhcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:192,1
    - Dst: DhcpOption::setValue
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - msgType
    argTypes:
    - DhcpMessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 198
    functionName: pcpp::DhcpLayer::setMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getOptionData
    - DhcpOption::setValue
    - DhcpOptionBuilder
    - DhcpOption::isNull
    - pcpp::DhcpLayer::addOptionAfter
    linkageType: ''
    returnType: bool
    signature: bool DhcpLayer::setMessageType(DhcpMessageType msgType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:202,1
    - Dst: pcpp::DhcpLayer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:202,1
    - Dst: pcpp::DhcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - DhcpOptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: pcpp::DhcpLayer::getOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 7
    functionsReached:
    - pcpp::DhcpLayer::getHeaderLen
    - pcpp::DhcpLayer::getOptionsBasePtr
    - getTLVRecord
    linkageType: ''
    returnType: DhcpOption
    signature: DhcpOption DhcpLayer::getOptionData(DhcpOptionTypes option) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:207,1
    - Dst: pcpp::DhcpLayer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:207,1
    - Dst: pcpp::DhcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: pcpp::DhcpLayer::getFirstOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - getFirstTLVRecord
    - pcpp::DhcpLayer::getHeaderLen
    - pcpp::DhcpLayer::getOptionsBasePtr
    linkageType: ''
    returnType: DhcpOption
    signature: DhcpOption DhcpLayer::getFirstOptionData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:212,1
    - Dst: pcpp::DhcpLayer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:212,1
    - Dst: pcpp::DhcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dhcpOption
    argTypes:
    - DhcpOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: pcpp::DhcpLayer::getNextOptionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getHeaderLen
    - getNextTLVRecord
    - pcpp::DhcpLayer::getOptionsBasePtr
    linkageType: ''
    returnType: DhcpOption
    signature: DhcpOption DhcpLayer::getNextOptionData(DhcpOption dhcpOption) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:217,1
    - Dst: pcpp::DhcpLayer::getOptionsBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:217,1
    - Dst: pcpp::DhcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: pcpp::DhcpLayer::getOptionsCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DhcpLayer::getHeaderLen
    - getTLVRecordCount
    - pcpp::DhcpLayer::getOptionsBasePtr
    linkageType: ''
    returnType: size_t
    signature: size_t DhcpLayer::getOptionsCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: build
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:222,1
    - Dst: DhcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:224,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:226,1
    - Dst: DhcpOption::getType
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:226,1
    - Dst: DhcpOption
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:227,1
    - Dst: DhcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:230,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:232,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:234,1
    - Dst: DhcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:234,1
    - Dst: DhcpOption::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:235,1
    - Dst: DhcpOption
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:236,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:239,1
    - Dst: DhcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:239,1
    - Dst: DhcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:239,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:243,1
    - Dst: DhcpOption::purgeRecordData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:245,1
    - Dst: DhcpOption
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ' optionBuilder'
    - offset
    argTypes:
    - DhcpOptionBuilder
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 248
    functionName: pcpp::DhcpLayer::addOptionAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - DhcpOption::getType
    - DhcpOption::getRecordBasePtr
    - DhcpOption::purgeRecordData
    - PCPP_LOG_ERROR
    - DhcpOption
    - memcpy
    - DhcpOption::isNull
    - DhcpOption::getTotalSize
    - build
    - changeTLVRecordCount
    linkageType: ''
    returnType: DhcpOption
    signature: DhcpOption DhcpLayer::addOptionAt(const DhcpOptionBuilder& optionBuilder,
      int offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:253,1
    - Dst: DhcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:254,1
    - Dst: DhcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:255,1
    - Dst: pcpp::DhcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:257,1
    - Dst: pcpp::DhcpLayer::addOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' optionBuilder'
    argTypes:
    - DhcpOptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: pcpp::DhcpLayer::addOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getOptionData
    - DhcpOption::getRecordBasePtr
    - pcpp::DhcpLayer::addOptionAt
    - pcpp::DhcpLayer::getHeaderLen
    - DhcpOption::isNull
    linkageType: ''
    returnType: DhcpOption
    signature: DhcpOption DhcpLayer::addOption(const DhcpOptionBuilder& optionBuilder)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:266,1
    - Dst: DhcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:268,1
    - Dst: DhcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:274,1
    - Dst: DhcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:274,1
    - Dst: pcpp::DhcpLayer::addOptionAt
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' optionBuilder'
    - prevOption
    argTypes:
    - DhcpOptionBuilder
    - DhcpOptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 278
    functionName: pcpp::DhcpLayer::addOptionAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DhcpLayer::getOptionData
    - DhcpOption::getRecordBasePtr
    - pcpp::DhcpLayer::addOptionAt
    - DhcpOption::isNull
    - DhcpOption::getTotalSize
    linkageType: ''
    returnType: DhcpOption
    signature: DhcpOption DhcpLayer::addOptionAfter(const DhcpOptionBuilder& optionBuilder,
      DhcpOptionTypes prevOption)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getOptionData
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:282,1
    - Dst: DhcpOption::isNull
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:283,1
    - Dst: DhcpOption::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:288,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:290,1
    - Dst: DhcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:290,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - DhcpOptionTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 297
    functionName: pcpp::DhcpLayer::removeOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getOptionData
    - DhcpOption::getRecordBasePtr
    - shortenLayer
    - DhcpOption::isNull
    - DhcpOption::getTotalSize
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool DhcpLayer::removeOption(DhcpOptionTypes optionType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:303,1
    - Dst: pcpp::DhcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:303,1
    - Dst: changeTLVRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:306,1
    - Dst: pcpp::DhcpLayer::getOptionsCount
      Src: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: pcpp::DhcpLayer::removeAllOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getHeaderLen
    - shortenLayer
    - pcpp::DhcpLayer::getOptionsCount
    - changeTLVRecordCount
    linkageType: ''
    returnType: bool
    signature: bool DhcpLayer::removeAllOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: pcpp::DnsLayer::DnsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::init
    linkageType: ''
    returnType: void
    signature: void DnsLayer::DnsLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::initNewLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: pcpp::DnsLayer::DnsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::initNewLayer
    linkageType: ''
    returnType: void
    signature: void DnsLayer::DnsLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DnsLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pcpp::DnsLayer::DnsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::init
    linkageType: ''
    returnType: void
    signature: void DnsLayer::DnsLayer(const DnsLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - offsetAdjustment
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: pcpp::DnsLayer::DnsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::init
    linkageType: ''
    returnType: void
    signature: void DnsLayer::DnsLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet, size_t offsetAdjustment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::initNewLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offsetAdjustment
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: pcpp::DnsLayer::DnsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::initNewLayer
    linkageType: ''
    returnType: void
    signature: void DnsLayer::DnsLayer(size_t offsetAdjustment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layer::operator=
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:44,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:49,1
    - Dst: init
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DnsLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: '& DnsLayer::operator=(const DnsLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - init
    - IDnsResource*::getNextResource
    - Layer::operator=
    linkageType: ''
    returnType: DnsLayer
    signature: DnsLayer & DnsLayer::operator=(const DnsLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: DnsLayer::~DnsLayer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - IDnsResource*::getNextResource
    linkageType: ''
    returnType: void
    signature: void DnsLayer::~DnsLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::parseResources
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - offsetAdjustment
    - callParseResource
    argTypes:
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: pcpp::DnsLayer::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 3
    functionsReached:
    - pcpp::DnsLayer::parseResources
    linkageType: ''
    returnType: void
    signature: void DnsLayer::init(size_t offsetAdjustment, bool callParseResource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::getBasicHeaderSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:88,1
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:89,1
    - Dst: pcpp::DnsLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - offsetAdjustment
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: pcpp::DnsLayer::initNewLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - allocData
    - pcpp::DnsLayer::init
    - pcpp::DnsLayer::getBasicHeaderSize
    linkageType: ''
    returnType: void
    signature: void DnsLayer::initNewLayer(size_t offsetAdjustment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pcpp::DnsLayer::getBasicHeaderSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DnsLayer::getBasicHeaderSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<dnshdr*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: pcpp::DnsLayer::getDnsHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<dnshdr*>
    linkageType: ''
    returnType: dnshdr
    signature: dnshdr * DnsLayer::getDnsHeader() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:107,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:110,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - offsetInLayer
    - numOfBytesToExtend
    - resource
    argTypes:
    - int
    - size_t
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: pcpp::DnsLayer::extendLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - IDnsResource*::getNextResource
    - pcpp::Layer::extendLayer
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::extendLayer(int offsetInLayer, size_t numOfBytesToExtend,
      IDnsResource* resource)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:121,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:124,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - offsetInLayer
    - numOfBytesToShorten
    - resource
    argTypes:
    - int
    - size_t
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: pcpp::DnsLayer::shortenLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - IDnsResource*::getNextResource
    - pcpp::Layer::shortenLayer
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::shortenLayer(int offsetInLayer, size_t numOfBytesToShorten,
      IDnsResource* resource)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::getBasicHeaderSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:135,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:138,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:138,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:139,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:139,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:140,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:140,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:141,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:141,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:147,1
    - Dst: DnsQuery::DnsQuery
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:181,1
    - Dst: DnsQuery*::getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:183,1
    - Dst: DnsResource::DnsResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:187,1
    - Dst: DnsResource*::getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:189,1
    - Dst: IDnsResource*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:207,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:208,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 220
    functionName: pcpp::DnsLayer::parseResources
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - DnsQuery::DnsQuery
    - DnsResource*::getSize
    - PCPP_LOG_ERROR
    - be16toh
    - DnsQuery*::getSize
    - IDnsResource*::getNextResource
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::getBasicHeaderSize
    - IDnsResource*::setNextResource
    - DnsResource::DnsResource
    linkageType: ''
    returnType: void
    signature: void DnsLayer::parseResources()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IDnsResource*::getName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:231,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:234,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - startFrom
    - resourceCount
    - ' name'
    - exactMatch
    argTypes:
    - IDnsResource*
    - size_t
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 243
    functionName: pcpp::DnsLayer::getResourceByName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - IDnsResource*::getNextResource
    - IDnsResource*::getName
    - std::string::find
    linkageType: ''
    returnType: IDnsResource
    signature: "IDnsResource * DnsLayer::getResourceByName(IDnsResource* startFrom,
      size_t resourceCount, const std::string& name,\n\t                                          bool
      exactMatch) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:247,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:247,1
    - Dst: pcpp::DnsLayer::getResourceByName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:248,1
    - Dst: dynamic_cast<DnsQuery*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: pcpp::DnsLayer::getQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - dynamic_cast<DnsQuery*>
    - pcpp::DnsLayer::getResourceByName
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: DnsQuery
    signature: DnsQuery * DnsLayer::getQuery(const std::string& name, bool exactMatch)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pcpp::DnsLayer::getFirstQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DnsQuery
    signature: DnsQuery * DnsLayer::getFirstQuery() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DnsQuery*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:261,1
    - Dst: DnsQuery*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:261,1
    - Dst: DnsQuery*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:262,1
    - Dst: DnsQuery*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - query
    argTypes:
    - DnsQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: pcpp::DnsLayer::getNextQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - DnsQuery*::getType
    - DnsQuery*::getNextResource
    linkageType: ''
    returnType: DnsQuery
    signature: DnsQuery * DnsLayer::getNextQuery(DnsQuery* query) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:270,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: pcpp::DnsLayer::getQueryCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: size_t
    signature: size_t DnsLayer::getQueryCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:275,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:275,1
    - Dst: pcpp::DnsLayer::getResourceByName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:276,1
    - Dst: dynamic_cast<DnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pcpp::DnsLayer::getAnswer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - dynamic_cast<DnsResource*>
    - pcpp::DnsLayer::getResourceByName
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getAnswer(const std::string& name, bool exactMatch)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pcpp::DnsLayer::getFirstAnswer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getFirstAnswer() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:289,1
    - Dst: DnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:289,1
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:290,1
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - answer
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: pcpp::DnsLayer::getNextAnswer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - DnsResource*::getNextResource
    - DnsResource*::getType
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getNextAnswer(DnsResource* answer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:298,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: pcpp::DnsLayer::getAnswerCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: size_t
    signature: size_t DnsLayer::getAnswerCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:303,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:303,1
    - Dst: pcpp::DnsLayer::getResourceByName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:304,1
    - Dst: dynamic_cast<DnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 308
    functionName: pcpp::DnsLayer::getAuthority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - dynamic_cast<DnsResource*>
    - pcpp::DnsLayer::getResourceByName
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getAuthority(const std::string& name, bool
      exactMatch) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: pcpp::DnsLayer::getFirstAuthority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getFirstAuthority() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:317,1
    - Dst: DnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:318,1
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:318,1
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - authority
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: pcpp::DnsLayer::getNextAuthority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - DnsResource*::getNextResource
    - DnsResource*::getType
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getNextAuthority(DnsResource* authority) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:326,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: pcpp::DnsLayer::getAuthorityCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: size_t
    signature: size_t DnsLayer::getAuthorityCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:331,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:331,1
    - Dst: pcpp::DnsLayer::getResourceByName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:332,1
    - Dst: dynamic_cast<DnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: pcpp::DnsLayer::getAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - dynamic_cast<DnsResource*>
    - pcpp::DnsLayer::getResourceByName
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getAdditionalRecord(const std::string& name,
      bool exactMatch) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: pcpp::DnsLayer::getFirstAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getFirstAdditionalRecord() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:345,1
    - Dst: DnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:346,1
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:347,1
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - additionalRecord
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: pcpp::DnsLayer::getNextAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - DnsResource*::getNextResource
    - DnsResource*::getType
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getNextAdditionalRecord(DnsResource* additionalRecord)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:355,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: pcpp::DnsLayer::getAdditionalRecordCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: size_t
    signature: size_t DnsLayer::getAdditionalRecordCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:361,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:361,1
    - Dst: pcpp::DnsLayer::getQueryCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:364,1
    - Dst: pcpp::DnsLayer::getAnswerCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:367,1
    - Dst: pcpp::DnsLayer::getAuthorityCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:370,1
    - Dst: pcpp::DnsLayer::getAdditionalRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:373,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:375,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:377,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:377,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:378,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:378,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:379,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:381,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:383,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:383,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:384,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:384,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:385,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:389,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:390,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:390,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:391,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 393
    functionName: pcpp::DnsLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::getAuthorityCount
    - be16toh
    - std::ostringstream::str
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::getQueryCount
    - pcpp::DnsLayer::getAdditionalRecordCount
    - pcpp::DnsLayer::getAnswerCount
    linkageType: ''
    returnType: std::string
    signature: std::string DnsLayer::toString() const
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - resType
    argTypes:
    - DnsResourceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 418
    functionName: pcpp::DnsLayer::getFirstResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IDnsResource
    signature: IDnsResource * DnsLayer::getFirstResource(DnsResourceType resType)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<DnsQuery*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:426,1
    - Dst: dynamic_cast<DnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:431,1
    - Dst: dynamic_cast<DnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:436,1
    - Dst: dynamic_cast<DnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - resType
    - resource
    argTypes:
    - DnsResourceType
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 447
    functionName: pcpp::DnsLayer::setFirstResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<DnsQuery*>
    - dynamic_cast<DnsResource*>
    linkageType: ''
    returnType: void
    signature: void DnsLayer::setFirstResource(DnsResourceType resType, IDnsResource*
      resource)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:454,1
    - Dst: DnsResource::DnsResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:456,1
    - Dst: DnsResource*::setDnsClass
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:458,1
    - Dst: DnsResource*::setDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:460,1
    - Dst: DnsResource*::setName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:463,1
    - Dst: DnsResource*::setTTL
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:465,1
    - Dst: DnsResource*::setData
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:467,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:470,1
    - Dst: pcpp::DnsLayer::getBasicHeaderSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:474,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:476,1
    - Dst: IDnsResource*::getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:478,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:483,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:488,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:489,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:497,1
    - Dst: DnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:497,1
    - Dst: DnsResource*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:498,1
    - Dst: DnsResource*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:500,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:500,1
    - Dst: DnsResource*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:505,1
    - Dst: pcpp::DnsLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:509,1
    - Dst: DnsResource*::getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:509,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:511,1
    - Dst: DnsResource*::setDnsLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:517,1
    - Dst: IDnsResource*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:522,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:524,1
    - Dst: DnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:524,1
    - Dst: pcpp::DnsLayer::setFirstResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:526,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:529,1
    - Dst: DnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:529,1
    - Dst: pcpp::DnsLayer::setFirstResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:533,1
    - Dst: pcpp::DnsLayer::setFirstResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:540,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 6
    argNames:
    - resType
    - ' name'
    - dnsType
    - dnsClass
    - ttl
    - data
    argTypes:
    - DnsResourceType
    - std::string
    - DnsType
    - DnsClass
    - uint32_t
    - IDnsResourceData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 544
    functionName: pcpp::DnsLayer::addResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - IDnsResource*::getSize
    - PCPP_LOG_ERROR
    - DnsResource*::setNextResource
    - DnsResource*::setTTL
    - IDnsResource*::setNextResource
    - DnsResource::DnsResource
    - DnsResource*::getType
    - IDnsResource*::getType
    - DnsResource*::setDnsLayer
    - pcpp::DnsLayer::extendLayer
    - DnsResource*::setName
    - DnsResource*::setDnsType
    - pcpp::DnsLayer::getBasicHeaderSize
    - memset
    - pcpp::DnsLayer::setFirstResource
    - DnsResource*::getSize
    - DnsResource*::setDnsClass
    - DnsResource*::setData
    - IDnsResource*::getNextResource
    linkageType: ''
    returnType: DnsResource
    signature: "DnsResource * DnsLayer::addResource(DnsResourceType resType, const
      std::string& name, DnsType dnsType,\n\t                                   DnsClass
      dnsClass, uint32_t ttl, IDnsResourceData* data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DnsQuery::DnsQuery
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:550,1
    - Dst: DnsQuery*::setDnsClass
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:552,1
    - Dst: DnsQuery*::setDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:553,1
    - Dst: DnsQuery*::setName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:556,1
    - Dst: pcpp::DnsLayer::getBasicHeaderSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:559,1
    - Dst: pcpp::DnsLayer::getFirstQuery
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:560,1
    - Dst: DnsQuery*::getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:563,1
    - Dst: pcpp::DnsLayer::getNextQuery
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:564,1
    - Dst: DnsQuery*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:572,1
    - Dst: DnsQuery*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:572,1
    - Dst: DnsQuery*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:574,1
    - Dst: pcpp::DnsLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:577,1
    - Dst: DnsQuery*::getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:577,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:579,1
    - Dst: DnsQuery*::setDnsLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:585,1
    - Dst: DnsQuery*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:589,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:597,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:597,1
    - Dst: pcpp::DnsLayer::getQueryCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - ' name'
    - dnsType
    - dnsClass
    argTypes:
    - std::string
    - DnsType
    - DnsClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 600
    functionName: pcpp::DnsLayer::addQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - DnsQuery::DnsQuery
    - pcpp::DnsLayer::getNextQuery
    - pcpp::DnsLayer::extendLayer
    - DnsQuery*::setName
    - DnsQuery*::setDnsLayer
    - PCPP_LOG_ERROR
    - DnsQuery*::getNextResource
    - DnsQuery*::getSize
    - DnsQuery*::setNextResource
    - DnsQuery*::setDnsClass
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::getBasicHeaderSize
    - pcpp::DnsLayer::getQueryCount
    - DnsQuery*::setDnsType
    - pcpp::DnsLayer::getFirstQuery
    linkageType: ''
    returnType: DnsQuery
    signature: DnsQuery * DnsLayer::addQuery(const std::string& name, DnsType dnsType,
      DnsClass dnsClass)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:607,1
    - Dst: DnsQuery*::getName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:607,1
    - Dst: DnsQuery*::getDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:607,1
    - Dst: DnsQuery*::getDnsClass
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - copyQuery
    argTypes:
    - DnsQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 608
    functionName: pcpp::DnsLayer::addQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - DnsQuery*::getDnsType
    - pcpp::DnsLayer::addQuery
    - DnsQuery*::getDnsClass
    - DnsQuery*::getName
    linkageType: ''
    returnType: DnsQuery
    signature: DnsQuery * DnsLayer::addQuery(DnsQuery* const copyQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::getQuery
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:612,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:615,1
    - Dst: pcpp::DnsLayer::removeQuery
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' queryNameToRemove'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 620
    functionName: pcpp::DnsLayer::removeQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DnsLayer::removeQuery
    - PCPP_LOG_DEBUG
    - pcpp::DnsLayer::getQuery
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeQuery(const std::string& queryNameToRemove, bool
      exactMatch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::removeResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:624,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:628,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:628,1
    - Dst: pcpp::DnsLayer::getQueryCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - queryToRemove
    argTypes:
    - DnsQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 632
    functionName: pcpp::DnsLayer::removeQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DnsLayer::getQueryCount
    - htobe16
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::removeResource
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeQuery(DnsQuery* queryToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:637,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:641,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:641,1
    - Dst: pcpp::DnsLayer::getAnswerCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' name'
    - dnsType
    - dnsClass
    - ttl
    - data
    argTypes:
    - std::string
    - DnsType
    - DnsClass
    - uint32_t
    - IDnsResourceData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 4
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: pcpp::DnsLayer::addAnswer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::addResource
    - htobe16
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::getAnswerCount
    linkageType: ''
    returnType: DnsResource
    signature: "DnsResource * DnsLayer::addAnswer(const std::string& name, DnsType
      dnsType, DnsClass dnsClass, uint32_t ttl,\n\t                                 IDnsResourceData*
      data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addAnswer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:652,1
    - Dst: DnsResource*::getName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:652,1
    - Dst: DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:652,1
    - Dst: DnsResource*::getDnsClass
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:652,1
    - Dst: DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:653,1
    - Dst: DnsResource*::getData
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - copyAnswer
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 654
    functionName: pcpp::DnsLayer::addAnswer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DnsLayer::addAnswer
    - DnsResource*::getData
    - DnsResource*::getDnsClass
    - DnsResource*::getDnsType
    - DnsResource*::getName
    - DnsResource*::getTTL
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::addAnswer(DnsResource* const copyAnswer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::getAnswer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:658,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:661,1
    - Dst: pcpp::DnsLayer::removeAnswer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' answerNameToRemove'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 666
    functionName: pcpp::DnsLayer::removeAnswer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DnsLayer::removeAnswer
    - pcpp::DnsLayer::getAnswer
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeAnswer(const std::string& answerNameToRemove,
      bool exactMatch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::removeResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:670,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:674,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:674,1
    - Dst: pcpp::DnsLayer::getAnswerCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - answerToRemove
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 678
    functionName: pcpp::DnsLayer::removeAnswer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::removeResource
    - pcpp::DnsLayer::getAnswerCount
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeAnswer(DnsResource* answerToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:683,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:687,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:687,1
    - Dst: pcpp::DnsLayer::getAuthorityCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' name'
    - dnsType
    - dnsClass
    - ttl
    - data
    argTypes:
    - std::string
    - DnsType
    - DnsClass
    - uint32_t
    - IDnsResourceData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 680
    functionDepth: 4
    functionLinenumber: 680
    functionLinenumberEnd: 691
    functionName: pcpp::DnsLayer::addAuthority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::addResource
    - htobe16
    - pcpp::DnsLayer::getAuthorityCount
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: DnsResource
    signature: "DnsResource * DnsLayer::addAuthority(const std::string& name, DnsType
      dnsType, DnsClass dnsClass, uint32_t ttl,\n\t                                    IDnsResourceData*
      data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addAuthority
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:698,1
    - Dst: DnsResource*::getName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:698,1
    - Dst: DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:698,1
    - Dst: DnsResource*::getDnsClass
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:698,1
    - Dst: DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:699,1
    - Dst: DnsResource*::getData
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - copyAuthority
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 700
    functionName: pcpp::DnsLayer::addAuthority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DnsLayer::addAuthority
    - DnsResource*::getData
    - DnsResource*::getDnsClass
    - DnsResource*::getDnsType
    - DnsResource*::getName
    - DnsResource*::getTTL
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::addAuthority(DnsResource* const copyAuthority)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::getAuthority
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:704,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:707,1
    - Dst: pcpp::DnsLayer::removeAuthority
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' authorityNameToRemove'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 712
    functionName: pcpp::DnsLayer::removeAuthority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DnsLayer::removeAuthority
    - pcpp::DnsLayer::getAuthority
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeAuthority(const std::string& authorityNameToRemove,
      bool exactMatch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::removeResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:716,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:720,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:720,1
    - Dst: pcpp::DnsLayer::getAuthorityCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - authorityToRemove
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 724
    functionName: pcpp::DnsLayer::removeAuthority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DnsLayer::getAuthorityCount
    - htobe16
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::removeResource
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeAuthority(DnsResource* authorityToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:729,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:733,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:733,1
    - Dst: pcpp::DnsLayer::getAdditionalRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' name'
    - dnsType
    - dnsClass
    - ttl
    - data
    argTypes:
    - std::string
    - DnsType
    - DnsClass
    - uint32_t
    - IDnsResourceData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 726
    functionDepth: 4
    functionLinenumber: 726
    functionLinenumberEnd: 737
    functionName: pcpp::DnsLayer::addAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::addResource
    - htobe16
    - pcpp::DnsLayer::getAdditionalRecordCount
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: DnsResource
    signature: "DnsResource * DnsLayer::addAdditionalRecord(const std::string& name,
      DnsType dnsType, DnsClass dnsClass,\n\t                                           uint32_t
      ttl, IDnsResourceData* data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addAdditionalRecord
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:742,1
    - Dst: DnsResource*::setCustomDnsClass
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' name'
    - dnsType
    - customData1
    - customData2
    - data
    argTypes:
    - std::string
    - DnsType
    - uint16_t
    - uint32_t
    - IDnsResourceData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 749
    functionName: pcpp::DnsLayer::addAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - DnsResource*::setCustomDnsClass
    - pcpp::DnsLayer::addAdditionalRecord
    linkageType: ''
    returnType: DnsResource
    signature: "DnsResource * DnsLayer::addAdditionalRecord(const std::string& name,
      DnsType dnsType, uint16_t customData1,\n\t                                           uint32_t
      customData2, IDnsResourceData* data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addAdditionalRecord
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:756,1
    - Dst: DnsResource*::getName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:756,1
    - Dst: DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:756,1
    - Dst: DnsResource*::getCustomDnsClass
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:757,1
    - Dst: DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:757,1
    - Dst: DnsResource*::getData
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - copyAdditionalRecord
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 759
    functionName: pcpp::DnsLayer::addAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - DnsResource*::getData
    - DnsResource*::getCustomDnsClass
    - pcpp::DnsLayer::addAdditionalRecord
    - DnsResource*::getDnsType
    - DnsResource*::getName
    - DnsResource*::getTTL
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::addAdditionalRecord(DnsResource* const copyAdditionalRecord)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::getAdditionalRecord
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:763,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:766,1
    - Dst: pcpp::DnsLayer::removeAdditionalRecord
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' additionalRecordNameToRemove'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 761
    functionDepth: 3
    functionLinenumber: 761
    functionLinenumberEnd: 771
    functionName: pcpp::DnsLayer::removeAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DnsLayer::removeAdditionalRecord
    - pcpp::DnsLayer::getAdditionalRecord
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeAdditionalRecord(const std::string& additionalRecordNameToRemove,
      bool exactMatch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::removeResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:775,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:779,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:779,1
    - Dst: pcpp::DnsLayer::getAdditionalRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - additionalRecordToRemove
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 783
    functionName: pcpp::DnsLayer::removeAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::DnsLayer::getAdditionalRecordCount
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::removeResource
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeAdditionalRecord(DnsResource* additionalRecordToRemove)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:789,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:800,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:810,1
    - Dst: pcpp::DnsLayer::shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:815,1
    - Dst: IDnsResource*::getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:815,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:817,1
    - Dst: IDnsResource*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:824,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:824,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:828,1
    - Dst: pcpp::DnsLayer::getFirstResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:832,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:832,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:834,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:835,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:835,1
    - Dst: pcpp::DnsLayer::setFirstResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:836,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:836,1
    - Dst: pcpp::DnsLayer::setFirstResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:838,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:838,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - resourceToRemove
    argTypes:
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 845
    functionName: pcpp::DnsLayer::removeResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 4
    functionsReached:
    - pcpp::DnsLayer::setFirstResource
    - IDnsResource*::getSize
    - pcpp::DnsLayer::shortenLayer
    - IDnsResource*::getType
    - PCPP_LOG_ERROR
    - pcpp::DnsLayer::getFirstResource
    - IDnsResource*::getNextResource
    - PCPP_LOG_DEBUG
    - IDnsResource*::setNextResource
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeResource(IDnsResource* resourceToRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 854
    functionName: pcpp::DnsOverTcpLayer::getTcpMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DnsOverTcpLayer::getTcpMessageLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: pcpp::DnsOverTcpLayer::setTcpMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    linkageType: ''
    returnType: void
    signature: void DnsOverTcpLayer::setTcpMessageLength(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsOverTcpLayer::setTcpMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 864
    functionName: pcpp::DnsOverTcpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsOverTcpLayer::setTcpMessageLength
    linkageType: ''
    returnType: void
    signature: void DnsOverTcpLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: pcpp::DnsLayer::DnsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::init
    linkageType: ''
    returnType: void
    signature: void DnsLayer::DnsLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::initNewLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: pcpp::DnsLayer::DnsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::initNewLayer
    linkageType: ''
    returnType: void
    signature: void DnsLayer::DnsLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DnsLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pcpp::DnsLayer::DnsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::init
    linkageType: ''
    returnType: void
    signature: void DnsLayer::DnsLayer(const DnsLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - offsetAdjustment
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: pcpp::DnsLayer::DnsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::init
    linkageType: ''
    returnType: void
    signature: void DnsLayer::DnsLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet, size_t offsetAdjustment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::initNewLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offsetAdjustment
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: pcpp::DnsLayer::DnsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::initNewLayer
    linkageType: ''
    returnType: void
    signature: void DnsLayer::DnsLayer(size_t offsetAdjustment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Layer::operator=
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:44,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:49,1
    - Dst: init
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DnsLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: '& DnsLayer::operator=(const DnsLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - init
    - IDnsResource*::getNextResource
    - Layer::operator=
    linkageType: ''
    returnType: DnsLayer
    signature: DnsLayer & DnsLayer::operator=(const DnsLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: DnsLayer::~DnsLayer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - IDnsResource*::getNextResource
    linkageType: ''
    returnType: void
    signature: void DnsLayer::~DnsLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::parseResources
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - offsetAdjustment
    - callParseResource
    argTypes:
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: pcpp::DnsLayer::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 7
    functionsReached:
    - pcpp::DnsLayer::parseResources
    linkageType: ''
    returnType: void
    signature: void DnsLayer::init(size_t offsetAdjustment, bool callParseResource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::getBasicHeaderSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:88,1
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:89,1
    - Dst: pcpp::DnsLayer::init
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - offsetAdjustment
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: pcpp::DnsLayer::initNewLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 4
    functionsReached:
    - allocData
    - pcpp::DnsLayer::init
    - pcpp::DnsLayer::getBasicHeaderSize
    linkageType: ''
    returnType: void
    signature: void DnsLayer::initNewLayer(size_t offsetAdjustment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pcpp::DnsLayer::getBasicHeaderSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DnsLayer::getBasicHeaderSize()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<dnshdr*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: pcpp::DnsLayer::getDnsHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 18
    functionsReached:
    - reinterpret_cast<dnshdr*>
    linkageType: ''
    returnType: dnshdr
    signature: dnshdr * DnsLayer::getDnsHeader() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:107,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:110,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - offsetInLayer
    - numOfBytesToExtend
    - resource
    argTypes:
    - int
    - size_t
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: pcpp::DnsLayer::extendLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - IDnsResource*::getNextResource
    - pcpp::Layer::extendLayer
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::extendLayer(int offsetInLayer, size_t numOfBytesToExtend,
      IDnsResource* resource)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:121,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:124,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - offsetInLayer
    - numOfBytesToShorten
    - resource
    argTypes:
    - int
    - size_t
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: pcpp::DnsLayer::shortenLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - IDnsResource*::getNextResource
    - pcpp::Layer::shortenLayer
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::shortenLayer(int offsetInLayer, size_t numOfBytesToShorten,
      IDnsResource* resource)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::getBasicHeaderSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:135,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:138,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:138,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:139,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:139,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:140,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:140,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:141,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:141,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:147,1
    - Dst: DnsQuery::DnsQuery
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:181,1
    - Dst: DnsQuery*::getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:183,1
    - Dst: DnsResource::DnsResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:187,1
    - Dst: DnsResource*::getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:189,1
    - Dst: IDnsResource*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:207,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:208,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 220
    functionName: pcpp::DnsLayer::parseResources
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - DnsQuery::DnsQuery
    - DnsResource*::getSize
    - PCPP_LOG_ERROR
    - be16toh
    - DnsQuery*::getSize
    - IDnsResource*::getNextResource
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::getBasicHeaderSize
    - IDnsResource*::setNextResource
    - DnsResource::DnsResource
    linkageType: ''
    returnType: void
    signature: void DnsLayer::parseResources()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IDnsResource*::getName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:231,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:234,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - startFrom
    - resourceCount
    - ' name'
    - exactMatch
    argTypes:
    - IDnsResource*
    - size_t
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 243
    functionName: pcpp::DnsLayer::getResourceByName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 4
    functionsReached:
    - IDnsResource*::getNextResource
    - IDnsResource*::getName
    - std::string::find
    linkageType: ''
    returnType: IDnsResource
    signature: "IDnsResource * DnsLayer::getResourceByName(IDnsResource* startFrom,
      size_t resourceCount, const std::string& name,\n\t                                          bool
      exactMatch) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:247,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:247,1
    - Dst: pcpp::DnsLayer::getResourceByName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:248,1
    - Dst: dynamic_cast<DnsQuery*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: pcpp::DnsLayer::getQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - dynamic_cast<DnsQuery*>
    - pcpp::DnsLayer::getResourceByName
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: DnsQuery
    signature: DnsQuery * DnsLayer::getQuery(const std::string& name, bool exactMatch)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pcpp::DnsLayer::getFirstQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: DnsQuery
    signature: DnsQuery * DnsLayer::getFirstQuery() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DnsQuery*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:261,1
    - Dst: DnsQuery*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:261,1
    - Dst: DnsQuery*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:262,1
    - Dst: DnsQuery*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - query
    argTypes:
    - DnsQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 266
    functionName: pcpp::DnsLayer::getNextQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - DnsQuery*::getType
    - DnsQuery*::getNextResource
    linkageType: ''
    returnType: DnsQuery
    signature: DnsQuery * DnsLayer::getNextQuery(DnsQuery* query) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:270,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: pcpp::DnsLayer::getQueryCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 3
    functionsReached:
    - be16toh
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: size_t
    signature: size_t DnsLayer::getQueryCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:275,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:275,1
    - Dst: pcpp::DnsLayer::getResourceByName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:276,1
    - Dst: dynamic_cast<DnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: pcpp::DnsLayer::getAnswer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - dynamic_cast<DnsResource*>
    - pcpp::DnsLayer::getResourceByName
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getAnswer(const std::string& name, bool exactMatch)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: pcpp::DnsLayer::getFirstAnswer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getFirstAnswer() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:289,1
    - Dst: DnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:289,1
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:290,1
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - answer
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: pcpp::DnsLayer::getNextAnswer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - DnsResource*::getNextResource
    - DnsResource*::getType
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getNextAnswer(DnsResource* answer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:298,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: pcpp::DnsLayer::getAnswerCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 3
    functionsReached:
    - be16toh
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: size_t
    signature: size_t DnsLayer::getAnswerCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:303,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:303,1
    - Dst: pcpp::DnsLayer::getResourceByName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:304,1
    - Dst: dynamic_cast<DnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 308
    functionName: pcpp::DnsLayer::getAuthority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - dynamic_cast<DnsResource*>
    - pcpp::DnsLayer::getResourceByName
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getAuthority(const std::string& name, bool
      exactMatch) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: pcpp::DnsLayer::getFirstAuthority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getFirstAuthority() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:317,1
    - Dst: DnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:318,1
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:318,1
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - authority
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: pcpp::DnsLayer::getNextAuthority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - DnsResource*::getNextResource
    - DnsResource*::getType
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getNextAuthority(DnsResource* authority) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:326,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: pcpp::DnsLayer::getAuthorityCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 3
    functionsReached:
    - be16toh
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: size_t
    signature: size_t DnsLayer::getAuthorityCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:331,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:331,1
    - Dst: pcpp::DnsLayer::getResourceByName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:332,1
    - Dst: dynamic_cast<DnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: pcpp::DnsLayer::getAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - dynamic_cast<DnsResource*>
    - pcpp::DnsLayer::getResourceByName
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getAdditionalRecord(const std::string& name,
      bool exactMatch) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: pcpp::DnsLayer::getFirstAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getFirstAdditionalRecord() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:345,1
    - Dst: DnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:346,1
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:347,1
    - Dst: DnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - additionalRecord
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: pcpp::DnsLayer::getNextAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - DnsResource*::getNextResource
    - DnsResource*::getType
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::getNextAdditionalRecord(DnsResource* additionalRecord)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:355,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: pcpp::DnsLayer::getAdditionalRecordCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 3
    functionsReached:
    - be16toh
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: size_t
    signature: size_t DnsLayer::getAdditionalRecordCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:361,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:361,1
    - Dst: pcpp::DnsLayer::getQueryCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:364,1
    - Dst: pcpp::DnsLayer::getAnswerCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:367,1
    - Dst: pcpp::DnsLayer::getAuthorityCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:370,1
    - Dst: pcpp::DnsLayer::getAdditionalRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:373,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:375,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:377,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:377,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:378,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:378,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:379,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:381,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:383,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:383,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:384,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:384,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:385,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:389,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:390,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:390,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:391,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 393
    functionName: pcpp::DnsLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer::getAuthorityCount
    - be16toh
    - std::ostringstream::str
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::getQueryCount
    - pcpp::DnsLayer::getAdditionalRecordCount
    - pcpp::DnsLayer::getAnswerCount
    linkageType: ''
    returnType: std::string
    signature: std::string DnsLayer::toString() const
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - resType
    argTypes:
    - DnsResourceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 418
    functionName: pcpp::DnsLayer::getFirstResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: IDnsResource
    signature: IDnsResource * DnsLayer::getFirstResource(DnsResourceType resType)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<DnsQuery*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:426,1
    - Dst: dynamic_cast<DnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:431,1
    - Dst: dynamic_cast<DnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:436,1
    - Dst: dynamic_cast<DnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - resType
    - resource
    argTypes:
    - DnsResourceType
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 447
    functionName: pcpp::DnsLayer::setFirstResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - dynamic_cast<DnsQuery*>
    - dynamic_cast<DnsResource*>
    linkageType: ''
    returnType: void
    signature: void DnsLayer::setFirstResource(DnsResourceType resType, IDnsResource*
      resource)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:454,1
    - Dst: DnsResource::DnsResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:456,1
    - Dst: DnsResource*::setDnsClass
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:458,1
    - Dst: DnsResource*::setDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:460,1
    - Dst: DnsResource*::setName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:463,1
    - Dst: DnsResource*::setTTL
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:465,1
    - Dst: DnsResource*::setData
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:467,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:470,1
    - Dst: pcpp::DnsLayer::getBasicHeaderSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:474,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:476,1
    - Dst: IDnsResource*::getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:478,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:483,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:488,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:489,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:497,1
    - Dst: DnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:497,1
    - Dst: DnsResource*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:498,1
    - Dst: DnsResource*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:500,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:500,1
    - Dst: DnsResource*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:505,1
    - Dst: pcpp::DnsLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:509,1
    - Dst: DnsResource*::getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:509,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:511,1
    - Dst: DnsResource*::setDnsLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:517,1
    - Dst: IDnsResource*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:522,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:524,1
    - Dst: DnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:524,1
    - Dst: pcpp::DnsLayer::setFirstResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:526,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:529,1
    - Dst: DnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:529,1
    - Dst: pcpp::DnsLayer::setFirstResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:533,1
    - Dst: pcpp::DnsLayer::setFirstResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:540,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 6
    argNames:
    - resType
    - ' name'
    - dnsType
    - dnsClass
    - ttl
    - data
    argTypes:
    - DnsResourceType
    - std::string
    - DnsType
    - DnsClass
    - uint32_t
    - IDnsResourceData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 544
    functionName: pcpp::DnsLayer::addResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 3
    functionsReached:
    - IDnsResource*::getSize
    - PCPP_LOG_ERROR
    - DnsResource*::setNextResource
    - DnsResource*::setTTL
    - IDnsResource*::setNextResource
    - DnsResource::DnsResource
    - DnsResource*::getType
    - IDnsResource*::getType
    - DnsResource*::setDnsLayer
    - pcpp::DnsLayer::extendLayer
    - DnsResource*::setName
    - DnsResource*::setDnsType
    - pcpp::DnsLayer::getBasicHeaderSize
    - memset
    - pcpp::DnsLayer::setFirstResource
    - DnsResource*::getSize
    - DnsResource*::setDnsClass
    - DnsResource*::setData
    - IDnsResource*::getNextResource
    linkageType: ''
    returnType: DnsResource
    signature: "DnsResource * DnsLayer::addResource(DnsResourceType resType, const
      std::string& name, DnsType dnsType,\n\t                                   DnsClass
      dnsClass, uint32_t ttl, IDnsResourceData* data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DnsQuery::DnsQuery
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:550,1
    - Dst: DnsQuery*::setDnsClass
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:552,1
    - Dst: DnsQuery*::setDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:553,1
    - Dst: DnsQuery*::setName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:556,1
    - Dst: pcpp::DnsLayer::getBasicHeaderSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:559,1
    - Dst: pcpp::DnsLayer::getFirstQuery
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:560,1
    - Dst: DnsQuery*::getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:563,1
    - Dst: pcpp::DnsLayer::getNextQuery
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:564,1
    - Dst: DnsQuery*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:572,1
    - Dst: DnsQuery*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:572,1
    - Dst: DnsQuery*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:574,1
    - Dst: pcpp::DnsLayer::extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:577,1
    - Dst: DnsQuery*::getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:577,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:579,1
    - Dst: DnsQuery*::setDnsLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:585,1
    - Dst: DnsQuery*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:589,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:597,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:597,1
    - Dst: pcpp::DnsLayer::getQueryCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - ' name'
    - dnsType
    - dnsClass
    argTypes:
    - std::string
    - DnsType
    - DnsClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 600
    functionName: pcpp::DnsLayer::addQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - DnsQuery::DnsQuery
    - pcpp::DnsLayer::getNextQuery
    - pcpp::DnsLayer::extendLayer
    - DnsQuery*::setName
    - DnsQuery*::setDnsLayer
    - PCPP_LOG_ERROR
    - DnsQuery*::getNextResource
    - DnsQuery*::getSize
    - DnsQuery*::setNextResource
    - DnsQuery*::setDnsClass
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::getBasicHeaderSize
    - pcpp::DnsLayer::getQueryCount
    - DnsQuery*::setDnsType
    - pcpp::DnsLayer::getFirstQuery
    linkageType: ''
    returnType: DnsQuery
    signature: DnsQuery * DnsLayer::addQuery(const std::string& name, DnsType dnsType,
      DnsClass dnsClass)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:607,1
    - Dst: DnsQuery*::getName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:607,1
    - Dst: DnsQuery*::getDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:607,1
    - Dst: DnsQuery*::getDnsClass
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - copyQuery
    argTypes:
    - DnsQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 608
    functionName: pcpp::DnsLayer::addQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - DnsQuery*::getDnsType
    - pcpp::DnsLayer::addQuery
    - DnsQuery*::getDnsClass
    - DnsQuery*::getName
    linkageType: ''
    returnType: DnsQuery
    signature: DnsQuery * DnsLayer::addQuery(DnsQuery* const copyQuery)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::getQuery
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:612,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:615,1
    - Dst: pcpp::DnsLayer::removeQuery
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' queryNameToRemove'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 620
    functionName: pcpp::DnsLayer::removeQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DnsLayer::removeQuery
    - PCPP_LOG_DEBUG
    - pcpp::DnsLayer::getQuery
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeQuery(const std::string& queryNameToRemove, bool
      exactMatch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::removeResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:624,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:628,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:628,1
    - Dst: pcpp::DnsLayer::getQueryCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - queryToRemove
    argTypes:
    - DnsQuery*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 622
    functionDepth: 4
    functionLinenumber: 622
    functionLinenumberEnd: 632
    functionName: pcpp::DnsLayer::removeQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DnsLayer::getQueryCount
    - htobe16
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::removeResource
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeQuery(DnsQuery* queryToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:637,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:641,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:641,1
    - Dst: pcpp::DnsLayer::getAnswerCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' name'
    - dnsType
    - dnsClass
    - ttl
    - data
    argTypes:
    - std::string
    - DnsType
    - DnsClass
    - uint32_t
    - IDnsResourceData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 4
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: pcpp::DnsLayer::addAnswer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DnsLayer::addResource
    - htobe16
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::getAnswerCount
    linkageType: ''
    returnType: DnsResource
    signature: "DnsResource * DnsLayer::addAnswer(const std::string& name, DnsType
      dnsType, DnsClass dnsClass, uint32_t ttl,\n\t                                 IDnsResourceData*
      data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addAnswer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:652,1
    - Dst: DnsResource*::getName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:652,1
    - Dst: DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:652,1
    - Dst: DnsResource*::getDnsClass
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:652,1
    - Dst: DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:653,1
    - Dst: DnsResource*::getData
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - copyAnswer
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 654
    functionName: pcpp::DnsLayer::addAnswer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DnsLayer::addAnswer
    - DnsResource*::getData
    - DnsResource*::getDnsClass
    - DnsResource*::getDnsType
    - DnsResource*::getName
    - DnsResource*::getTTL
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::addAnswer(DnsResource* const copyAnswer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::getAnswer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:658,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:661,1
    - Dst: pcpp::DnsLayer::removeAnswer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' answerNameToRemove'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 656
    functionDepth: 3
    functionLinenumber: 656
    functionLinenumberEnd: 666
    functionName: pcpp::DnsLayer::removeAnswer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DnsLayer::removeAnswer
    - pcpp::DnsLayer::getAnswer
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeAnswer(const std::string& answerNameToRemove,
      bool exactMatch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::removeResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:670,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:674,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:674,1
    - Dst: pcpp::DnsLayer::getAnswerCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - answerToRemove
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 668
    functionDepth: 4
    functionLinenumber: 668
    functionLinenumberEnd: 678
    functionName: pcpp::DnsLayer::removeAnswer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::removeResource
    - pcpp::DnsLayer::getAnswerCount
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeAnswer(DnsResource* answerToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:683,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:687,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:687,1
    - Dst: pcpp::DnsLayer::getAuthorityCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' name'
    - dnsType
    - dnsClass
    - ttl
    - data
    argTypes:
    - std::string
    - DnsType
    - DnsClass
    - uint32_t
    - IDnsResourceData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 680
    functionDepth: 4
    functionLinenumber: 680
    functionLinenumberEnd: 691
    functionName: pcpp::DnsLayer::addAuthority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DnsLayer::addResource
    - htobe16
    - pcpp::DnsLayer::getAuthorityCount
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: DnsResource
    signature: "DnsResource * DnsLayer::addAuthority(const std::string& name, DnsType
      dnsType, DnsClass dnsClass, uint32_t ttl,\n\t                                    IDnsResourceData*
      data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addAuthority
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:698,1
    - Dst: DnsResource*::getName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:698,1
    - Dst: DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:698,1
    - Dst: DnsResource*::getDnsClass
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:698,1
    - Dst: DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:699,1
    - Dst: DnsResource*::getData
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - copyAuthority
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 700
    functionName: pcpp::DnsLayer::addAuthority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DnsLayer::addAuthority
    - DnsResource*::getData
    - DnsResource*::getDnsClass
    - DnsResource*::getDnsType
    - DnsResource*::getName
    - DnsResource*::getTTL
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::addAuthority(DnsResource* const copyAuthority)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::getAuthority
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:704,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:707,1
    - Dst: pcpp::DnsLayer::removeAuthority
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' authorityNameToRemove'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 712
    functionName: pcpp::DnsLayer::removeAuthority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DnsLayer::removeAuthority
    - pcpp::DnsLayer::getAuthority
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeAuthority(const std::string& authorityNameToRemove,
      bool exactMatch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::removeResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:716,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:720,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:720,1
    - Dst: pcpp::DnsLayer::getAuthorityCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - authorityToRemove
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 714
    functionDepth: 4
    functionLinenumber: 714
    functionLinenumberEnd: 724
    functionName: pcpp::DnsLayer::removeAuthority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DnsLayer::getAuthorityCount
    - htobe16
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::removeResource
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeAuthority(DnsResource* authorityToRemove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:729,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:733,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:733,1
    - Dst: pcpp::DnsLayer::getAdditionalRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' name'
    - dnsType
    - dnsClass
    - ttl
    - data
    argTypes:
    - std::string
    - DnsType
    - DnsClass
    - uint32_t
    - IDnsResourceData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 726
    functionDepth: 4
    functionLinenumber: 726
    functionLinenumberEnd: 737
    functionName: pcpp::DnsLayer::addAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DnsLayer::addResource
    - htobe16
    - pcpp::DnsLayer::getAdditionalRecordCount
    - pcpp::DnsLayer::getDnsHeader
    linkageType: ''
    returnType: DnsResource
    signature: "DnsResource * DnsLayer::addAdditionalRecord(const std::string& name,
      DnsType dnsType, DnsClass dnsClass,\n\t                                           uint32_t
      ttl, IDnsResourceData* data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addAdditionalRecord
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:742,1
    - Dst: DnsResource*::setCustomDnsClass
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - ' name'
    - dnsType
    - customData1
    - customData2
    - data
    argTypes:
    - std::string
    - DnsType
    - uint16_t
    - uint32_t
    - IDnsResourceData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 749
    functionName: pcpp::DnsLayer::addAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 3
    functionsReached:
    - DnsResource*::setCustomDnsClass
    - pcpp::DnsLayer::addAdditionalRecord
    linkageType: ''
    returnType: DnsResource
    signature: "DnsResource * DnsLayer::addAdditionalRecord(const std::string& name,
      DnsType dnsType, uint16_t customData1,\n\t                                           uint32_t
      customData2, IDnsResourceData* data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::addAdditionalRecord
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:756,1
    - Dst: DnsResource*::getName
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:756,1
    - Dst: DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:756,1
    - Dst: DnsResource*::getCustomDnsClass
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:757,1
    - Dst: DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:757,1
    - Dst: DnsResource*::getData
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - copyAdditionalRecord
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 759
    functionName: pcpp::DnsLayer::addAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 4
    functionsReached:
    - DnsResource*::getData
    - DnsResource*::getCustomDnsClass
    - pcpp::DnsLayer::addAdditionalRecord
    - DnsResource*::getDnsType
    - DnsResource*::getName
    - DnsResource*::getTTL
    linkageType: ''
    returnType: DnsResource
    signature: DnsResource * DnsLayer::addAdditionalRecord(DnsResource* const copyAdditionalRecord)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::getAdditionalRecord
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:763,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:766,1
    - Dst: pcpp::DnsLayer::removeAdditionalRecord
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' additionalRecordNameToRemove'
    - exactMatch
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 761
    functionDepth: 3
    functionLinenumber: 761
    functionLinenumberEnd: 771
    functionName: pcpp::DnsLayer::removeAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DnsLayer::removeAdditionalRecord
    - pcpp::DnsLayer::getAdditionalRecord
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeAdditionalRecord(const std::string& additionalRecordNameToRemove,
      bool exactMatch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::removeResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:775,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:779,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:779,1
    - Dst: pcpp::DnsLayer::getAdditionalRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - additionalRecordToRemove
    argTypes:
    - DnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 773
    functionDepth: 4
    functionLinenumber: 773
    functionLinenumberEnd: 783
    functionName: pcpp::DnsLayer::removeAdditionalRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::DnsLayer::getAdditionalRecordCount
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::removeResource
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeAdditionalRecord(DnsResource* additionalRecordToRemove)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:789,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:800,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:810,1
    - Dst: pcpp::DnsLayer::shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:815,1
    - Dst: IDnsResource*::getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:815,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:817,1
    - Dst: IDnsResource*::setNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:824,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:824,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:828,1
    - Dst: pcpp::DnsLayer::getFirstResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:832,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:832,1
    - Dst: IDnsResource*::getNextResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:834,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:835,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:835,1
    - Dst: pcpp::DnsLayer::setFirstResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:836,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:836,1
    - Dst: pcpp::DnsLayer::setFirstResource
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:838,1
    - Dst: IDnsResource*::getType
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:838,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - resourceToRemove
    argTypes:
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 845
    functionName: pcpp::DnsLayer::removeResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 8
    functionsReached:
    - pcpp::DnsLayer::setFirstResource
    - IDnsResource*::getSize
    - pcpp::DnsLayer::shortenLayer
    - IDnsResource*::getType
    - PCPP_LOG_ERROR
    - pcpp::DnsLayer::getFirstResource
    - IDnsResource*::getNextResource
    - PCPP_LOG_DEBUG
    - IDnsResource*::setNextResource
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::removeResource(IDnsResource* resourceToRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 854
    functionName: pcpp::DnsOverTcpLayer::getTcpMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DnsOverTcpLayer::getTcpMessageLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: pcpp::DnsOverTcpLayer::setTcpMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    linkageType: ''
    returnType: void
    signature: void DnsOverTcpLayer::setTcpMessageLength(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsOverTcpLayer::setTcpMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 864
    functionName: pcpp::DnsOverTcpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsOverTcpLayer::setTcpMessageLength
    linkageType: ''
    returnType: void
    signature: void DnsOverTcpLayer::computeCalculateFields()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLLayer::isSSLPort
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:17,1
    - Dst: pcpp::SSLLayer::isSSLPort
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:17,1
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:32,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:32,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 5
    argNames:
    - srcPort
    - dstPort
    - data
    - dataLen
    - ignorePorts
    argTypes:
    - uint16_t
    - uint16_t
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 40
    functionName: pcpp::SSLLayer::IsSSLMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - SSLVersion
    - pcpp::SSLLayer::isSSLPort
    linkageType: ''
    returnType: bool
    signature: bool SSLLayer::IsSSLMessage(uint16_t srcPort, uint16_t dstPort, uint8_t*
      data, size_t dataLen, bool ignorePorts)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<ssl_tls_record_layer>
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:44,1
    - Dst: SSLHandshakeLayer::SSLHandshakeLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:54,1
    - Dst: SSLAlertLayer::SSLAlertLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:59,1
    - Dst: SSLChangeCipherSpecLayer::SSLChangeCipherSpecLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:64,1
    - Dst: SSLApplicationDataLayer::SSLApplicationDataLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 75
    functionName: pcpp::SSLLayer::createSSLMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - SSLChangeCipherSpecLayer::SSLChangeCipherSpecLayer
    - SSLHandshakeLayer::SSLHandshakeLayer
    - SSLAlertLayer::SSLAlertLayer
    - SSLApplicationDataLayer::SSLApplicationDataLayer
    - canReinterpretAs<ssl_tls_record_layer>
    linkageType: ''
    returnType: SSLLayer
    signature: SSLLayer * SSLLayer::createSSLMessage(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:79,1
    - Dst: pcpp::SSLLayer::getRecordLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:79,1
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: pcpp::SSLLayer::getRecordVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SSLLayer::getRecordLayer
    - SSLVersion
    linkageType: ''
    returnType: SSLVersion
    signature: SSLVersion SSLLayer::getRecordVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLLayer::getRecordLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: pcpp::SSLLayer::getRecordType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLLayer::getRecordLayer
    linkageType: ''
    returnType: SSLRecordType
    signature: SSLRecordType SSLLayer::getRecordType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:90,1
    - Dst: pcpp::SSLLayer::getRecordLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: pcpp::SSLLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SSLLayer::getRecordLayer
    linkageType: ''
    returnType: size_t
    signature: size_t SSLLayer::getHeaderLen() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:98,1
    - Dst: pcpp::SSLLayer::IsSSLMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:102,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: pcpp::SSLLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayerFromFactory
    - pcpp::SSLLayer::IsSSLMessage
    - pcpp::SSLLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void SSLLayer::parseNextLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRecordVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:115,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:116,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:119,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:121,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: pcpp::SSLHandshakeLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - getRecordVersion
    - at
    - std::stringstream::str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string SSLHandshakeLayer::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:131,1
    - Dst: getRecordLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:131,1
    - Dst: pcpp::SSLHandshakeMessage::createHandshakeMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:142,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:146,1
    - Dst: SSLHandshakeMessage*::getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:147,1
    - Dst: SSLHandshakeMessage*::getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: pcpp::SSLHandshakeLayer::SSLHandshakeLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - SSLHandshakeMessage*::getMessageLength
    - pcpp::SSLHandshakeMessage::createHandshakeMessage
    - pushBack
    - be16toh
    - getRecordLayer
    linkageType: ''
    returnType: void
    signature: void SSLHandshakeLayer::SSLHandshakeLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:154,1
    - Dst: const_cast<SSLHandshakeMessage*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:157,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: pcpp::SSLHandshakeLayer::getHandshakeMessageAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - at
    - const_cast<SSLHandshakeMessage*>
    - size
    linkageType: ''
    returnType: SSLHandshakeMessage
    signature: SSLHandshakeMessage * SSLHandshakeLayer::getHandshakeMessageAt(int
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRecordVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:167,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: pcpp::SSLChangeCipherSpecLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - getRecordVersion
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string SSLChangeCipherSpecLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: pcpp::SSLAlertLayer::getAlertLevel
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLAlertLevel
    signature: SSLAlertLevel SSLAlertLayer::getAlertLevel() const
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLAlertLayer::getAlertLevel
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 224
    functionName: pcpp::SSLAlertLayer::getAlertDescription
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLAlertLayer::getAlertLevel
    linkageType: ''
    returnType: SSLAlertDescription
    signature: SSLAlertDescription SSLAlertLayer::getAlertDescription()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRecordVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:229,1
    - Dst: pcpp::SSLAlertLayer::getAlertLevel
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:230,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: pcpp::SSLAlertLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - getRecordVersion
    - std::stringstream::str
    - pcpp::SSLAlertLayer::getAlertLevel
    linkageType: ''
    returnType: std::string
    signature: std::string SSLAlertLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: pcpp::SSLApplicationDataLayer::getEncryptedData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLApplicationDataLayer::getEncryptedData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: pcpp::SSLApplicationDataLayer::getEncryptedDataLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t SSLApplicationDataLayer::getEncryptedDataLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRecordVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: pcpp::SSLApplicationDataLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - getRecordVersion
    linkageType: ''
    returnType: std::string
    signature: std::string SSLApplicationDataLayer::toString() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLLayer::isSSLPort
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:17,1
    - Dst: pcpp::SSLLayer::isSSLPort
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:17,1
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:32,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:32,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 5
    argNames:
    - srcPort
    - dstPort
    - data
    - dataLen
    - ignorePorts
    argTypes:
    - uint16_t
    - uint16_t
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 40
    functionName: pcpp::SSLLayer::IsSSLMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 3
    functionsReached:
    - be16toh
    - SSLVersion
    - pcpp::SSLLayer::isSSLPort
    linkageType: ''
    returnType: bool
    signature: bool SSLLayer::IsSSLMessage(uint16_t srcPort, uint16_t dstPort, uint8_t*
      data, size_t dataLen, bool ignorePorts)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<ssl_tls_record_layer>
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:44,1
    - Dst: SSLHandshakeLayer::SSLHandshakeLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:54,1
    - Dst: SSLAlertLayer::SSLAlertLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:59,1
    - Dst: SSLChangeCipherSpecLayer::SSLChangeCipherSpecLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:64,1
    - Dst: SSLApplicationDataLayer::SSLApplicationDataLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 75
    functionName: pcpp::SSLLayer::createSSLMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - SSLChangeCipherSpecLayer::SSLChangeCipherSpecLayer
    - SSLHandshakeLayer::SSLHandshakeLayer
    - SSLAlertLayer::SSLAlertLayer
    - SSLApplicationDataLayer::SSLApplicationDataLayer
    - canReinterpretAs<ssl_tls_record_layer>
    linkageType: ''
    returnType: SSLLayer
    signature: SSLLayer * SSLLayer::createSSLMessage(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:79,1
    - Dst: pcpp::SSLLayer::getRecordLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:79,1
    - Dst: SSLVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: pcpp::SSLLayer::getRecordVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SSLLayer::getRecordLayer
    - SSLVersion
    linkageType: ''
    returnType: SSLVersion
    signature: SSLVersion SSLLayer::getRecordVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLLayer::getRecordLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: pcpp::SSLLayer::getRecordType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLLayer::getRecordLayer
    linkageType: ''
    returnType: SSLRecordType
    signature: SSLRecordType SSLLayer::getRecordType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:90,1
    - Dst: pcpp::SSLLayer::getRecordLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: pcpp::SSLLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::SSLLayer::getRecordLayer
    linkageType: ''
    returnType: size_t
    signature: size_t SSLLayer::getHeaderLen() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:98,1
    - Dst: pcpp::SSLLayer::IsSSLMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:102,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: pcpp::SSLLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayerFromFactory
    - pcpp::SSLLayer::IsSSLMessage
    - pcpp::SSLLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void SSLLayer::parseNextLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRecordVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:115,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:116,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:119,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:121,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: pcpp::SSLHandshakeLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - getRecordVersion
    - at
    - std::stringstream::str
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string SSLHandshakeLayer::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:131,1
    - Dst: getRecordLayer
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:131,1
    - Dst: pcpp::SSLHandshakeMessage::createHandshakeMessage
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:142,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:146,1
    - Dst: SSLHandshakeMessage*::getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:147,1
    - Dst: SSLHandshakeMessage*::getMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: pcpp::SSLHandshakeLayer::SSLHandshakeLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - SSLHandshakeMessage*::getMessageLength
    - pcpp::SSLHandshakeMessage::createHandshakeMessage
    - pushBack
    - be16toh
    - getRecordLayer
    linkageType: ''
    returnType: void
    signature: void SSLHandshakeLayer::SSLHandshakeLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:154,1
    - Dst: const_cast<SSLHandshakeMessage*>
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:157,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: pcpp::SSLHandshakeLayer::getHandshakeMessageAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - at
    - const_cast<SSLHandshakeMessage*>
    - size
    linkageType: ''
    returnType: SSLHandshakeMessage
    signature: SSLHandshakeMessage * SSLHandshakeLayer::getHandshakeMessageAt(int
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRecordVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:167,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: pcpp::SSLChangeCipherSpecLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - getRecordVersion
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string SSLChangeCipherSpecLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: pcpp::SSLAlertLayer::getAlertLevel
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: SSLAlertLevel
    signature: SSLAlertLevel SSLAlertLayer::getAlertLevel() const
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLAlertLayer::getAlertLevel
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 224
    functionName: pcpp::SSLAlertLayer::getAlertDescription
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLAlertLayer::getAlertLevel
    linkageType: ''
    returnType: SSLAlertDescription
    signature: SSLAlertDescription SSLAlertLayer::getAlertDescription()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRecordVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:229,1
    - Dst: pcpp::SSLAlertLayer::getAlertLevel
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:230,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: pcpp::SSLAlertLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - getRecordVersion
    - std::stringstream::str
    - pcpp::SSLAlertLayer::getAlertLevel
    linkageType: ''
    returnType: std::string
    signature: std::string SSLAlertLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: pcpp::SSLApplicationDataLayer::getEncryptedData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SSLApplicationDataLayer::getEncryptedData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: pcpp::SSLApplicationDataLayer::getEncryptedDataLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t SSLApplicationDataLayer::getEncryptedDataLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRecordVersion
      Src: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: pcpp::SSLApplicationDataLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
    functionUses: 0
    functionsReached:
    - getRecordVersion
    linkageType: ''
    returnType: std::string
    signature: std::string SSLApplicationDataLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:22,1
    - Dst: pcpp::AuthenticationHeaderLayer::getAHHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: pcpp::AuthenticationHeaderLayer::getSPI
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::AuthenticationHeaderLayer::getAHHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t AuthenticationHeaderLayer::getSPI() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:27,1
    - Dst: pcpp::AuthenticationHeaderLayer::getAHHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: pcpp::AuthenticationHeaderLayer::getSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::AuthenticationHeaderLayer::getAHHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t AuthenticationHeaderLayer::getSequenceNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AuthenticationHeaderLayer::getAHHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: pcpp::AuthenticationHeaderLayer::getICVLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::AuthenticationHeaderLayer::getAHHeader
    linkageType: ''
    returnType: size_t
    signature: size_t AuthenticationHeaderLayer::getICVLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AuthenticationHeaderLayer::getICVLength
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: pcpp::AuthenticationHeaderLayer::getICVBytes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::AuthenticationHeaderLayer::getICVLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * AuthenticationHeaderLayer::getICVBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AuthenticationHeaderLayer::getICVBytes
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:47,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:51,1
    - Dst: pcpp::AuthenticationHeaderLayer::getICVLength
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: pcpp::AuthenticationHeaderLayer::getICVHexStream
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    - pcpp::AuthenticationHeaderLayer::getICVBytes
    - pcpp::AuthenticationHeaderLayer::getICVLength
    linkageType: ''
    returnType: std::string
    signature: std::string AuthenticationHeaderLayer::getICVHexStream() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AuthenticationHeaderLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:56,1
    - Dst: pcpp::AuthenticationHeaderLayer::getAHHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:63,1
    - Dst: tryConstructNextLayerWithFallback<UdpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:67,1
    - Dst: tryConstructNextLayerWithFallback<TcpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:72,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:82,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:87,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:92,1
    - Dst: tryConstructNextLayerWithFallback<ESPLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:100,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 106
    functionName: pcpp::AuthenticationHeaderLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayerWithFallback<UdpLayer, PayloadLayer>
    - constructNextLayer<PayloadLayer>
    - pcpp::AuthenticationHeaderLayer::getHeaderLen
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<TcpLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<ESPLayer, PayloadLayer>
    - pcpp::AuthenticationHeaderLayer::getAHHeader
    linkageType: ''
    returnType: void
    signature: void AuthenticationHeaderLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pcpp::AuthenticationHeaderLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string AuthenticationHeaderLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:119,1
    - Dst: pcpp::ESPLayer::getESPHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: pcpp::ESPLayer::getSPI
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::ESPLayer::getESPHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ESPLayer::getSPI() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:124,1
    - Dst: pcpp::ESPLayer::getESPHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pcpp::ESPLayer::getSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::ESPLayer::getESPHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ESPLayer::getSequenceNumber() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ESPLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:129,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: pcpp::ESPLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - pcpp::ESPLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void ESPLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ESPLayer::getSPI
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:139,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: pcpp::ESPLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ESPLayer::getSPI
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ESPLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:22,1
    - Dst: pcpp::AuthenticationHeaderLayer::getAHHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: pcpp::AuthenticationHeaderLayer::getSPI
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::AuthenticationHeaderLayer::getAHHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t AuthenticationHeaderLayer::getSPI() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:27,1
    - Dst: pcpp::AuthenticationHeaderLayer::getAHHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: pcpp::AuthenticationHeaderLayer::getSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::AuthenticationHeaderLayer::getAHHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t AuthenticationHeaderLayer::getSequenceNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AuthenticationHeaderLayer::getAHHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: pcpp::AuthenticationHeaderLayer::getICVLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::AuthenticationHeaderLayer::getAHHeader
    linkageType: ''
    returnType: size_t
    signature: size_t AuthenticationHeaderLayer::getICVLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AuthenticationHeaderLayer::getICVLength
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: pcpp::AuthenticationHeaderLayer::getICVBytes
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::AuthenticationHeaderLayer::getICVLength
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * AuthenticationHeaderLayer::getICVBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AuthenticationHeaderLayer::getICVBytes
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:47,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:51,1
    - Dst: pcpp::AuthenticationHeaderLayer::getICVLength
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: pcpp::AuthenticationHeaderLayer::getICVHexStream
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    - pcpp::AuthenticationHeaderLayer::getICVBytes
    - pcpp::AuthenticationHeaderLayer::getICVLength
    linkageType: ''
    returnType: std::string
    signature: std::string AuthenticationHeaderLayer::getICVHexStream() const
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AuthenticationHeaderLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:56,1
    - Dst: pcpp::AuthenticationHeaderLayer::getAHHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:63,1
    - Dst: tryConstructNextLayerWithFallback<UdpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:67,1
    - Dst: tryConstructNextLayerWithFallback<TcpLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:72,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:82,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:87,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:92,1
    - Dst: tryConstructNextLayerWithFallback<ESPLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:100,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 106
    functionName: pcpp::AuthenticationHeaderLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayerWithFallback<UdpLayer, PayloadLayer>
    - constructNextLayer<PayloadLayer>
    - pcpp::AuthenticationHeaderLayer::getHeaderLen
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<TcpLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<ESPLayer, PayloadLayer>
    - pcpp::AuthenticationHeaderLayer::getAHHeader
    linkageType: ''
    returnType: void
    signature: void AuthenticationHeaderLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pcpp::AuthenticationHeaderLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string AuthenticationHeaderLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:119,1
    - Dst: pcpp::ESPLayer::getESPHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: pcpp::ESPLayer::getSPI
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 1
    functionsReached:
    - be32toh
    - pcpp::ESPLayer::getESPHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ESPLayer::getSPI() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:124,1
    - Dst: pcpp::ESPLayer::getESPHeader
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pcpp::ESPLayer::getSequenceNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::ESPLayer::getESPHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ESPLayer::getSequenceNumber() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ESPLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:129,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: pcpp::ESPLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - pcpp::ESPLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void ESPLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ESPLayer::getSPI
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:139,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: pcpp::ESPLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ESPLayer::getSPI
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ESPLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:14,1
    - Dst: pcpp::IgmpLayer::getHeaderSizeByVerAndType
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:14,1
    - Dst: pcpp::IgmpLayer::setType
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:17,1
    - Dst: pcpp::IgmpLayer::setGroupAddress
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:18,1
    - Dst: pcpp::IgmpLayer::getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - type
    - ' groupAddr'
    - maxResponseTime
    - igmpVer
    argTypes:
    - IgmpType
    - IPv4Address
    - uint8_t
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: pcpp::IgmpLayer::IgmpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpLayer::setType
    - pcpp::IgmpLayer::setGroupAddress
    - allocData
    - pcpp::IgmpLayer::getIgmpHeader
    - pcpp::IgmpLayer::getHeaderSizeByVerAndType
    linkageType: ''
    returnType: void
    signature: void IgmpLayer::IgmpLayer(IgmpType type, const IPv4Address& groupAddr,
      uint8_t maxResponseTime, ProtocolType igmpVer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpLayer::getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:25,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' groupAddr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: pcpp::IgmpLayer::setGroupAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 1
    functionsReached:
    - toInt
    - pcpp::IgmpLayer::getIgmpHeader
    linkageType: ''
    returnType: void
    signature: void IgmpLayer::setGroupAddress(const IPv4Address& groupAddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpLayer::getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:31,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: pcpp::IgmpLayer::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpLayer::getIgmpHeader
    linkageType: ''
    returnType: IgmpType
    signature: IgmpType IgmpLayer::getType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpLayer::getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - IgmpType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: pcpp::IgmpLayer::setType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IgmpLayer::getIgmpHeader
    linkageType: ''
    returnType: void
    signature: void IgmpLayer::setType(IgmpType type)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - data
    - dataLen
    - ' isQuery'
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 84
    functionName: pcpp::IgmpLayer::getIGMPVerFromData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ProtocolType
    signature: ProtocolType IgmpLayer::getIGMPVerFromData(uint8_t* data, size_t dataLen,
      bool& isQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:89,1
    - Dst: pcpp::IgmpLayer::getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:89,1
    - Dst: pcpp::IgmpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:90,1
    - Dst: computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: pcpp::IgmpLayer::calculateChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpLayer::getHeaderLen
    - computeChecksum
    - pcpp::IgmpLayer::getIgmpHeader
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t IgmpLayer::calculateChecksum()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - igmpVer
    - igmpType
    argTypes:
    - ProtocolType
    - IgmpType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: pcpp::IgmpLayer::getHeaderSizeByVerAndType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t IgmpLayer::getHeaderSizeByVerAndType(ProtocolType igmpVer, IgmpType
      igmpType) const
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:113,1
    - Dst: pcpp::IgmpLayer::getType
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:127,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 175
    functionName: pcpp::IgmpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpLayer::getType
    - getProtocol
    linkageType: ''
    returnType: std::string
    signature: std::string IgmpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:181,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:183,1
    - Dst: calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: pcpp::IgmpV1Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - calculateChecksum
    - getIgmpHeader
    linkageType: ''
    returnType: void
    signature: void IgmpV1Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:191,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:193,1
    - Dst: calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: pcpp::IgmpV2Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - calculateChecksum
    - getIgmpHeader
    linkageType: ''
    returnType: void
    signature: void IgmpV2Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: pcpp::IgmpV3QueryLayer::IgmpV3QueryLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IgmpV3QueryLayer::IgmpV3QueryLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' multicastAddr'
    - maxResponseTime
    - s_qrv
    argTypes:
    - IPv4Address
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: pcpp::IgmpV3QueryLayer::IgmpV3QueryLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    linkageType: ''
    returnType: void
    signature: void IgmpV3QueryLayer::IgmpV3QueryLayer(const IPv4Address& multicastAddr,
      uint8_t maxResponseTime, uint8_t s_qrv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:210,1
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: pcpp::IgmpV3QueryLayer::getSourceAddressCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t IgmpV3QueryLayer::getSourceAddressCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::getSourceAddressCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:215,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:217,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:221,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:222,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:225,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: pcpp::IgmpV3QueryLayer::getSourceAddressAtIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3QueryLayer::getSourceAddressCount
    - getDataLen
    - IPv4Address
    - reinterpret_cast<uint32_t*>
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address IgmpV3QueryLayer::getSourceAddressAtIndex(int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::getSourceAddressCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:230,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:235,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: pcpp::IgmpV3QueryLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3QueryLayer::getSourceAddressCount
    - getDataLen
    linkageType: ''
    returnType: size_t
    signature: size_t IgmpV3QueryLayer::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:243,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:245,1
    - Dst: calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: pcpp::IgmpV3QueryLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    - calculateChecksum
    linkageType: ''
    returnType: void
    signature: void IgmpV3QueryLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:250,1
    - Dst: pcpp::IgmpV3QueryLayer::getSourceAddressCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: pcpp::IgmpV3QueryLayer::addSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3QueryLayer::getSourceAddressCount
    - pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
    linkageType: ''
    returnType: bool
    signature: bool IgmpV3QueryLayer::addSourceAddress(const IPv4Address& addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::getSourceAddressCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:255,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:257,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:259,1
    - Dst: pcpp::IgmpV3QueryLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:264,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:266,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:270,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:272,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:276,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:276,1
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:278,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' addr'
    - index
    argTypes:
    - IPv4Address
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 281
    functionName: pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 1
    functionsReached:
    - extendLayer
    - toBytes
    - htobe16
    - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    - static_cast<int>
    - PCPP_LOG_ERROR
    - memcpy
    - pcpp::IgmpV3QueryLayer::getHeaderLen
    - pcpp::IgmpV3QueryLayer::getSourceAddressCount
    linkageType: ''
    returnType: bool
    signature: bool IgmpV3QueryLayer::addSourceAddressAtIndex(const IPv4Address& addr,
      int index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::getSourceAddressCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:285,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:287,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:289,1
    - Dst: pcpp::IgmpV3QueryLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:294,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:296,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:300,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:302,1
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:306,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 309
    functionName: pcpp::IgmpV3QueryLayer::removeSourceAddressAtIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    - static_cast<int>
    - PCPP_LOG_ERROR
    - pcpp::IgmpV3QueryLayer::getHeaderLen
    - shortenLayer
    - pcpp::IgmpV3QueryLayer::getSourceAddressCount
    linkageType: ''
    returnType: bool
    signature: bool IgmpV3QueryLayer::removeSourceAddressAtIndex(int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:314,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:316,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:318,1
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 325
    functionName: pcpp::IgmpV3QueryLayer::removeAllSourceAddresses
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    - pcpp::IgmpV3QueryLayer::getHeaderLen
    - shortenLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool IgmpV3QueryLayer::removeAllSourceAddresses()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:331,1
    - Dst: pcpp::IgmpV3ReportLayer::getReportHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: pcpp::IgmpV3ReportLayer::getGroupRecordCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::IgmpV3ReportLayer::getReportHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t IgmpV3ReportLayer::getGroupRecordCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3ReportLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: pcpp::IgmpV3ReportLayer::getFirstGroupRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3ReportLayer::getHeaderLen
    linkageType: ''
    returnType: igmpv3_group_record
    signature: igmpv3_group_record * IgmpV3ReportLayer::getFirstGroupRecord() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:349,1
    - Dst: igmpv3_group_record*::getRecordLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:349,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:350,1
    - Dst: static_cast<std::ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:350,1
    - Dst: pcpp::IgmpV3ReportLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:350,1
    - Dst: reinterpret_cast<igmpv3_group_record*>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - groupRecord
    argTypes:
    - igmpv3_group_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: pcpp::IgmpV3ReportLayer::getNextGroupRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3ReportLayer::getHeaderLen
    - static_cast<std::ptrdiff_t>
    - reinterpret_cast<uint8_t*>
    - std::distance
    - reinterpret_cast<igmpv3_group_record*>
    - igmpv3_group_record*::getRecordLen
    linkageType: ''
    returnType: igmpv3_group_record
    signature: igmpv3_group_record * IgmpV3ReportLayer::getNextGroupRecord(igmpv3_group_record*
      groupRecord) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3ReportLayer::getReportHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:362,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:364,1
    - Dst: calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: pcpp::IgmpV3ReportLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IgmpV3ReportLayer::getReportHeader
    - calculateChecksum
    linkageType: ''
    returnType: void
    signature: void IgmpV3ReportLayer::computeCalculateFields()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:371,1
    - Dst: pcpp::IgmpV3ReportLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:371,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:373,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:377,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:379,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:381,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:385,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:386,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:388,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:391,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:391,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:396,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:396,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:400,1
    - Dst: pcpp::IgmpV3ReportLayer::getReportHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:404,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:404,1
    - Dst: pcpp::IgmpV3ReportLayer::getGroupRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:404,1
    - Dst: reinterpret_cast<igmpv3_group_record*>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - recordType
    - ' multicastAddress'
    - ' sourceAddresses'
    - offset
    argTypes:
    - uint8_t
    - IPv4Address
    - std::vector<IPv4Address>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 407
    functionName: pcpp::IgmpV3ReportLayer::addGroupRecordAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3ReportLayer::getHeaderLen
    - extendLayer
    - toInt
    - htobe16
    - toBytes
    - static_cast<int>
    - PCPP_LOG_ERROR
    - size
    - memcpy
    - reinterpret_cast<igmpv3_group_record*>
    - memset
    - pcpp::IgmpV3ReportLayer::getReportHeader
    - uint8_t::uint8_t
    - pcpp::IgmpV3ReportLayer::getGroupRecordCount
    linkageType: ''
    returnType: igmpv3_group_record
    signature: "igmpv3_group_record * IgmpV3ReportLayer::addGroupRecordAt(uint8_t
      recordType, const IPv4Address& multicastAddress,\n\t                                                         const
      std::vector<IPv4Address>& sourceAddresses,\n\t                                                         int
      offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3ReportLayer::addGroupRecordAt
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:412,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:412,1
    - Dst: pcpp::IgmpV3ReportLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - recordType
    - ' multicastAddress'
    - ' sourceAddresses'
    argTypes:
    - uint8_t
    - IPv4Address
    - std::vector<IPv4Address>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: pcpp::IgmpV3ReportLayer::addGroupRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3ReportLayer::addGroupRecordAt
    - static_cast<int>
    - pcpp::IgmpV3ReportLayer::getHeaderLen
    linkageType: ''
    returnType: igmpv3_group_record
    signature: "igmpv3_group_record * IgmpV3ReportLayer::addGroupRecord(uint8_t recordType,
      const IPv4Address& multicastAddress,\n\t                                                       const
      std::vector<IPv4Address>& sourceAddresses)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3ReportLayer::getGroupRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:420,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:424,1
    - Dst: pcpp::IgmpV3ReportLayer::getFirstGroupRecord
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:430,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:435,1
    - Dst: igmpv3_group_record*::getRecordLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:439,1
    - Dst: pcpp::IgmpV3ReportLayer::getNextGroupRecord
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:440,1
    - Dst: pcpp::IgmpV3ReportLayer::addGroupRecordAt
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - recordType
    - ' multicastAddress'
    - ' sourceAddresses'
    - index
    argTypes:
    - uint8_t
    - IPv4Address
    - std::vector<IPv4Address>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 444
    functionName: pcpp::IgmpV3ReportLayer::addGroupRecordAtIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3ReportLayer::getNextGroupRecord
    - pcpp::IgmpV3ReportLayer::getFirstGroupRecord
    - PCPP_LOG_ERROR
    - pcpp::IgmpV3ReportLayer::addGroupRecordAt
    - pcpp::IgmpV3ReportLayer::getGroupRecordCount
    - igmpv3_group_record*::getRecordLen
    linkageType: ''
    returnType: igmpv3_group_record
    signature: "igmpv3_group_record * IgmpV3ReportLayer::addGroupRecordAtIndex(uint8_t
      recordType,\n\t                                                              const
      IPv4Address& multicastAddress,\n\t                                                              const
      std::vector<IPv4Address>& sourceAddresses,\n\t                                                              int
      index)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3ReportLayer::getGroupRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:448,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:452,1
    - Dst: pcpp::IgmpV3ReportLayer::getFirstGroupRecord
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:458,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:463,1
    - Dst: igmpv3_group_record*::getRecordLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:468,1
    - Dst: pcpp::IgmpV3ReportLayer::getNextGroupRecord
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:469,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:472,1
    - Dst: igmpv3_group_record*::getRecordLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:472,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:474,1
    - Dst: pcpp::IgmpV3ReportLayer::getReportHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:478,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 481
    functionName: pcpp::IgmpV3ReportLayer::removeGroupRecordAtIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IgmpV3ReportLayer::getNextGroupRecord
    - pcpp::IgmpV3ReportLayer::getFirstGroupRecord
    - PCPP_LOG_ERROR
    - shortenLayer
    - pcpp::IgmpV3ReportLayer::getReportHeader
    - pcpp::IgmpV3ReportLayer::getGroupRecordCount
    - igmpv3_group_record*::getRecordLen
    linkageType: ''
    returnType: bool
    signature: bool IgmpV3ReportLayer::removeGroupRecordAtIndex(int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:487,1
    - Dst: pcpp::IgmpV3ReportLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:487,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:489,1
    - Dst: pcpp::IgmpV3ReportLayer::getReportHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 495
    functionName: pcpp::IgmpV3ReportLayer::removeAllGroupRecords
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3ReportLayer::getHeaderLen
    - pcpp::IgmpV3ReportLayer::getReportHeader
    - shortenLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool IgmpV3ReportLayer::removeAllGroupRecords()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: pcpp::igmpv3_group_record::getSourceAddressCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t igmpv3_group_record::getSourceAddressCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::igmpv3_group_record::getSourceAddressCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:506,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:508,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:512,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 513
    functionName: pcpp::igmpv3_group_record::getSourceAddressAtIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::igmpv3_group_record::getSourceAddressCount
    - IPv4Address
    - reinterpret_cast<const uint32_t*>
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address igmpv3_group_record::getSourceAddressAtIndex(int index)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::igmpv3_group_record::getSourceAddressCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 521
    functionName: pcpp::igmpv3_group_record::getRecordLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::igmpv3_group_record::getSourceAddressCount
    linkageType: ''
    returnType: size_t
    signature: size_t igmpv3_group_record::getRecordLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:14,1
    - Dst: pcpp::IgmpLayer::getHeaderSizeByVerAndType
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:14,1
    - Dst: pcpp::IgmpLayer::setType
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:17,1
    - Dst: pcpp::IgmpLayer::setGroupAddress
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:18,1
    - Dst: pcpp::IgmpLayer::getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - type
    - ' groupAddr'
    - maxResponseTime
    - igmpVer
    argTypes:
    - IgmpType
    - IPv4Address
    - uint8_t
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: pcpp::IgmpLayer::IgmpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpLayer::setType
    - pcpp::IgmpLayer::setGroupAddress
    - allocData
    - pcpp::IgmpLayer::getIgmpHeader
    - pcpp::IgmpLayer::getHeaderSizeByVerAndType
    linkageType: ''
    returnType: void
    signature: void IgmpLayer::IgmpLayer(IgmpType type, const IPv4Address& groupAddr,
      uint8_t maxResponseTime, ProtocolType igmpVer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpLayer::getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:25,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' groupAddr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: pcpp::IgmpLayer::setGroupAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 2
    functionsReached:
    - toInt
    - pcpp::IgmpLayer::getIgmpHeader
    linkageType: ''
    returnType: void
    signature: void IgmpLayer::setGroupAddress(const IPv4Address& groupAddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpLayer::getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:31,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: pcpp::IgmpLayer::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IgmpLayer::getIgmpHeader
    linkageType: ''
    returnType: IgmpType
    signature: IgmpType IgmpLayer::getType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpLayer::getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - IgmpType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: pcpp::IgmpLayer::setType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IgmpLayer::getIgmpHeader
    linkageType: ''
    returnType: void
    signature: void IgmpLayer::setType(IgmpType type)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - data
    - dataLen
    - ' isQuery'
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 84
    functionName: pcpp::IgmpLayer::getIGMPVerFromData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ProtocolType
    signature: ProtocolType IgmpLayer::getIGMPVerFromData(uint8_t* data, size_t dataLen,
      bool& isQuery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:89,1
    - Dst: pcpp::IgmpLayer::getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:89,1
    - Dst: pcpp::IgmpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:90,1
    - Dst: computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: pcpp::IgmpLayer::calculateChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpLayer::getHeaderLen
    - computeChecksum
    - pcpp::IgmpLayer::getIgmpHeader
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t IgmpLayer::calculateChecksum()
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - igmpVer
    - igmpType
    argTypes:
    - ProtocolType
    - IgmpType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: pcpp::IgmpLayer::getHeaderSizeByVerAndType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t IgmpLayer::getHeaderSizeByVerAndType(ProtocolType igmpVer, IgmpType
      igmpType) const
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:113,1
    - Dst: pcpp::IgmpLayer::getType
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:127,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 175
    functionName: pcpp::IgmpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpLayer::getType
    - getProtocol
    linkageType: ''
    returnType: std::string
    signature: std::string IgmpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:181,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:183,1
    - Dst: calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: pcpp::IgmpV1Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - calculateChecksum
    - getIgmpHeader
    linkageType: ''
    returnType: void
    signature: void IgmpV1Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:191,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:193,1
    - Dst: calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: pcpp::IgmpV2Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - calculateChecksum
    - getIgmpHeader
    linkageType: ''
    returnType: void
    signature: void IgmpV2Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: pcpp::IgmpV3QueryLayer::IgmpV3QueryLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IgmpV3QueryLayer::IgmpV3QueryLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' multicastAddr'
    - maxResponseTime
    - s_qrv
    argTypes:
    - IPv4Address
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: pcpp::IgmpV3QueryLayer::IgmpV3QueryLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    linkageType: ''
    returnType: void
    signature: void IgmpV3QueryLayer::IgmpV3QueryLayer(const IPv4Address& multicastAddr,
      uint8_t maxResponseTime, uint8_t s_qrv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:210,1
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: pcpp::IgmpV3QueryLayer::getSourceAddressCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 5
    functionsReached:
    - be16toh
    - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t IgmpV3QueryLayer::getSourceAddressCount() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::getSourceAddressCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:215,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:217,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:221,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:222,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:225,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: pcpp::IgmpV3QueryLayer::getSourceAddressAtIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3QueryLayer::getSourceAddressCount
    - getDataLen
    - IPv4Address
    - reinterpret_cast<uint32_t*>
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address IgmpV3QueryLayer::getSourceAddressAtIndex(int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::getSourceAddressCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:230,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:235,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: pcpp::IgmpV3QueryLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 3
    functionsReached:
    - pcpp::IgmpV3QueryLayer::getSourceAddressCount
    - getDataLen
    linkageType: ''
    returnType: size_t
    signature: size_t IgmpV3QueryLayer::getHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:243,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:245,1
    - Dst: calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: pcpp::IgmpV3QueryLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    - calculateChecksum
    linkageType: ''
    returnType: void
    signature: void IgmpV3QueryLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:250,1
    - Dst: pcpp::IgmpV3QueryLayer::getSourceAddressCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 4
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: pcpp::IgmpV3QueryLayer::addSourceAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3QueryLayer::getSourceAddressCount
    - pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
    linkageType: ''
    returnType: bool
    signature: bool IgmpV3QueryLayer::addSourceAddress(const IPv4Address& addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::getSourceAddressCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:255,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:257,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:259,1
    - Dst: pcpp::IgmpV3QueryLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:264,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:266,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:270,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:272,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:276,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:276,1
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:278,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' addr'
    - index
    argTypes:
    - IPv4Address
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 281
    functionName: pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - toBytes
    - htobe16
    - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    - static_cast<int>
    - PCPP_LOG_ERROR
    - memcpy
    - pcpp::IgmpV3QueryLayer::getHeaderLen
    - pcpp::IgmpV3QueryLayer::getSourceAddressCount
    linkageType: ''
    returnType: bool
    signature: bool IgmpV3QueryLayer::addSourceAddressAtIndex(const IPv4Address& addr,
      int index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::getSourceAddressCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:285,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:287,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:289,1
    - Dst: pcpp::IgmpV3QueryLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:294,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:296,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:300,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:302,1
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:306,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 309
    functionName: pcpp::IgmpV3QueryLayer::removeSourceAddressAtIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    - static_cast<int>
    - PCPP_LOG_ERROR
    - pcpp::IgmpV3QueryLayer::getHeaderLen
    - shortenLayer
    - pcpp::IgmpV3QueryLayer::getSourceAddressCount
    linkageType: ''
    returnType: bool
    signature: bool IgmpV3QueryLayer::removeSourceAddressAtIndex(int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3QueryLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:314,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:316,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:318,1
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 325
    functionName: pcpp::IgmpV3QueryLayer::removeAllSourceAddresses
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    - pcpp::IgmpV3QueryLayer::getHeaderLen
    - shortenLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool IgmpV3QueryLayer::removeAllSourceAddresses()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:331,1
    - Dst: pcpp::IgmpV3ReportLayer::getReportHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: pcpp::IgmpV3ReportLayer::getGroupRecordCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 3
    functionsReached:
    - be16toh
    - pcpp::IgmpV3ReportLayer::getReportHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t IgmpV3ReportLayer::getGroupRecordCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3ReportLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: pcpp::IgmpV3ReportLayer::getFirstGroupRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IgmpV3ReportLayer::getHeaderLen
    linkageType: ''
    returnType: igmpv3_group_record
    signature: igmpv3_group_record * IgmpV3ReportLayer::getFirstGroupRecord() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:349,1
    - Dst: igmpv3_group_record*::getRecordLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:349,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:350,1
    - Dst: static_cast<std::ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:350,1
    - Dst: pcpp::IgmpV3ReportLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:350,1
    - Dst: reinterpret_cast<igmpv3_group_record*>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - groupRecord
    argTypes:
    - igmpv3_group_record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: pcpp::IgmpV3ReportLayer::getNextGroupRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IgmpV3ReportLayer::getHeaderLen
    - static_cast<std::ptrdiff_t>
    - reinterpret_cast<uint8_t*>
    - std::distance
    - reinterpret_cast<igmpv3_group_record*>
    - igmpv3_group_record*::getRecordLen
    linkageType: ''
    returnType: igmpv3_group_record
    signature: igmpv3_group_record * IgmpV3ReportLayer::getNextGroupRecord(igmpv3_group_record*
      groupRecord) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3ReportLayer::getReportHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:362,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:364,1
    - Dst: calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: pcpp::IgmpV3ReportLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IgmpV3ReportLayer::getReportHeader
    - calculateChecksum
    linkageType: ''
    returnType: void
    signature: void IgmpV3ReportLayer::computeCalculateFields()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:371,1
    - Dst: pcpp::IgmpV3ReportLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:371,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:373,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:377,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:379,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:381,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:385,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:386,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:388,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:391,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:391,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:396,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:396,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:400,1
    - Dst: pcpp::IgmpV3ReportLayer::getReportHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:404,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:404,1
    - Dst: pcpp::IgmpV3ReportLayer::getGroupRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:404,1
    - Dst: reinterpret_cast<igmpv3_group_record*>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - recordType
    - ' multicastAddress'
    - ' sourceAddresses'
    - offset
    argTypes:
    - uint8_t
    - IPv4Address
    - std::vector<IPv4Address>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 407
    functionName: pcpp::IgmpV3ReportLayer::addGroupRecordAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IgmpV3ReportLayer::getHeaderLen
    - extendLayer
    - toInt
    - htobe16
    - toBytes
    - static_cast<int>
    - PCPP_LOG_ERROR
    - size
    - memcpy
    - reinterpret_cast<igmpv3_group_record*>
    - memset
    - pcpp::IgmpV3ReportLayer::getReportHeader
    - uint8_t::uint8_t
    - pcpp::IgmpV3ReportLayer::getGroupRecordCount
    linkageType: ''
    returnType: igmpv3_group_record
    signature: "igmpv3_group_record * IgmpV3ReportLayer::addGroupRecordAt(uint8_t
      recordType, const IPv4Address& multicastAddress,\n\t                                                         const
      std::vector<IPv4Address>& sourceAddresses,\n\t                                                         int
      offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3ReportLayer::addGroupRecordAt
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:412,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:412,1
    - Dst: pcpp::IgmpV3ReportLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - recordType
    - ' multicastAddress'
    - ' sourceAddresses'
    argTypes:
    - uint8_t
    - IPv4Address
    - std::vector<IPv4Address>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: pcpp::IgmpV3ReportLayer::addGroupRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3ReportLayer::addGroupRecordAt
    - static_cast<int>
    - pcpp::IgmpV3ReportLayer::getHeaderLen
    linkageType: ''
    returnType: igmpv3_group_record
    signature: "igmpv3_group_record * IgmpV3ReportLayer::addGroupRecord(uint8_t recordType,
      const IPv4Address& multicastAddress,\n\t                                                       const
      std::vector<IPv4Address>& sourceAddresses)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3ReportLayer::getGroupRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:420,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:424,1
    - Dst: pcpp::IgmpV3ReportLayer::getFirstGroupRecord
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:430,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:435,1
    - Dst: igmpv3_group_record*::getRecordLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:439,1
    - Dst: pcpp::IgmpV3ReportLayer::getNextGroupRecord
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:440,1
    - Dst: pcpp::IgmpV3ReportLayer::addGroupRecordAt
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - recordType
    - ' multicastAddress'
    - ' sourceAddresses'
    - index
    argTypes:
    - uint8_t
    - IPv4Address
    - std::vector<IPv4Address>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 444
    functionName: pcpp::IgmpV3ReportLayer::addGroupRecordAtIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3ReportLayer::getNextGroupRecord
    - pcpp::IgmpV3ReportLayer::getFirstGroupRecord
    - PCPP_LOG_ERROR
    - pcpp::IgmpV3ReportLayer::addGroupRecordAt
    - pcpp::IgmpV3ReportLayer::getGroupRecordCount
    - igmpv3_group_record*::getRecordLen
    linkageType: ''
    returnType: igmpv3_group_record
    signature: "igmpv3_group_record * IgmpV3ReportLayer::addGroupRecordAtIndex(uint8_t
      recordType,\n\t                                                              const
      IPv4Address& multicastAddress,\n\t                                                              const
      std::vector<IPv4Address>& sourceAddresses,\n\t                                                              int
      index)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpV3ReportLayer::getGroupRecordCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:448,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:452,1
    - Dst: pcpp::IgmpV3ReportLayer::getFirstGroupRecord
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:458,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:463,1
    - Dst: igmpv3_group_record*::getRecordLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:468,1
    - Dst: pcpp::IgmpV3ReportLayer::getNextGroupRecord
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:469,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:472,1
    - Dst: igmpv3_group_record*::getRecordLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:472,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:474,1
    - Dst: pcpp::IgmpV3ReportLayer::getReportHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:478,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 481
    functionName: pcpp::IgmpV3ReportLayer::removeGroupRecordAtIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IgmpV3ReportLayer::getNextGroupRecord
    - pcpp::IgmpV3ReportLayer::getFirstGroupRecord
    - PCPP_LOG_ERROR
    - shortenLayer
    - pcpp::IgmpV3ReportLayer::getReportHeader
    - pcpp::IgmpV3ReportLayer::getGroupRecordCount
    - igmpv3_group_record*::getRecordLen
    linkageType: ''
    returnType: bool
    signature: bool IgmpV3ReportLayer::removeGroupRecordAtIndex(int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:487,1
    - Dst: pcpp::IgmpV3ReportLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:487,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:489,1
    - Dst: pcpp::IgmpV3ReportLayer::getReportHeader
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 495
    functionName: pcpp::IgmpV3ReportLayer::removeAllGroupRecords
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV3ReportLayer::getHeaderLen
    - pcpp::IgmpV3ReportLayer::getReportHeader
    - shortenLayer
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool IgmpV3ReportLayer::removeAllGroupRecords()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: pcpp::igmpv3_group_record::getSourceAddressCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t igmpv3_group_record::getSourceAddressCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::igmpv3_group_record::getSourceAddressCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:506,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:508,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:512,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 513
    functionName: pcpp::igmpv3_group_record::getSourceAddressAtIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::igmpv3_group_record::getSourceAddressCount
    - IPv4Address
    - reinterpret_cast<const uint32_t*>
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address igmpv3_group_record::getSourceAddressAtIndex(int index)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::igmpv3_group_record::getSourceAddressCount
      Src: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 521
    functionName: pcpp::igmpv3_group_record::getRecordLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::igmpv3_group_record::getSourceAddressCount
    linkageType: ''
    returnType: size_t
    signature: size_t igmpv3_group_record::getRecordLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:16,1
    - Dst: pcpp::MplsLayer::setMplsLabel
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:19,1
    - Dst: pcpp::MplsLayer::setTTL
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:20,1
    - Dst: pcpp::MplsLayer::setExperimentalUseValue
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:21,1
    - Dst: pcpp::MplsLayer::setBottomOfStack
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - mplsLabel
    - ttl
    - experimentalUseValue
    - bottomOfStack
    argTypes:
    - uint32_t
    - uint8_t
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: pcpp::MplsLayer::MplsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::MplsLayer::setExperimentalUseValue
    - pcpp::MplsLayer::setMplsLabel
    - allocData
    - pcpp::MplsLayer::setBottomOfStack
    - pcpp::MplsLayer::setTTL
    linkageType: ''
    returnType: void
    signature: void MplsLayer::MplsLayer(uint32_t mplsLabel, uint8_t ttl, uint8_t
      experimentalUseValue, bool bottomOfStack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: pcpp::MplsLayer::isBottomOfStack
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::MplsLayer::getMplsHeader
    linkageType: ''
    returnType: bool
    signature: bool MplsLayer::isBottomOfStack() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:33,1
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: pcpp::MplsLayer::setBottomOfStack
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::MplsLayer::getMplsHeader
    linkageType: ''
    returnType: void
    signature: void MplsLayer::setBottomOfStack(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: pcpp::MplsLayer::getExperimentalUseValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::MplsLayer::getMplsHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t MplsLayer::getExperimentalUseValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:48,1
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 64
    functionName: pcpp::MplsLayer::setExperimentalUseValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::MplsLayer::getMplsHeader
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool MplsLayer::setExperimentalUseValue(uint8_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:68,1
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:68,1
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: pcpp::MplsLayer::getMplsLabel
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::MplsLayer::getMplsHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MplsLayer::getMplsLabel() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:75,1
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:81,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - label
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 99
    functionName: pcpp::MplsLayer::setMplsLabel
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::MplsLayer::getMplsHeader
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool MplsLayer::setMplsLabel(uint32_t label)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MplsLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:103,1
    - Dst: pcpp::MplsLayer::isBottomOfStack
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:110,1
    - Dst: constructNextLayer<MplsLayer>
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:112,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:120,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:123,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: pcpp::MplsLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - constructNextLayer<MplsLayer>
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - pcpp::MplsLayer::isBottomOfStack
    - pcpp::MplsLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void MplsLayer::parseNextLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:132,1
    - Dst: pcpp::MplsLayer::setBottomOfStack
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:135,1
    - Dst: Layer*::getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: pcpp::MplsLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 0
    functionsReached:
    - Layer*::getProtocol
    - getNextLayer
    - pcpp::MplsLayer::setBottomOfStack
    linkageType: ''
    returnType: void
    signature: void MplsLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MplsLayer::getMplsLabel
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:142,1
    - Dst: pcpp::MplsLayer::getExperimentalUseValue
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:144,1
    - Dst: pcpp::MplsLayer::getTTL
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:146,1
    - Dst: pcpp::MplsLayer::isBottomOfStack
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:147,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:149,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:149,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: pcpp::MplsLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::MplsLayer::getExperimentalUseValue
    - std::ostringstream::str
    - pcpp::MplsLayer::isBottomOfStack
    - pcpp::MplsLayer::getTTL
    - pcpp::MplsLayer::getMplsLabel
    linkageType: ''
    returnType: std::string
    signature: std::string MplsLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:16,1
    - Dst: pcpp::MplsLayer::setMplsLabel
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:19,1
    - Dst: pcpp::MplsLayer::setTTL
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:20,1
    - Dst: pcpp::MplsLayer::setExperimentalUseValue
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:21,1
    - Dst: pcpp::MplsLayer::setBottomOfStack
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - mplsLabel
    - ttl
    - experimentalUseValue
    - bottomOfStack
    argTypes:
    - uint32_t
    - uint8_t
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: pcpp::MplsLayer::MplsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::MplsLayer::setExperimentalUseValue
    - pcpp::MplsLayer::setMplsLabel
    - allocData
    - pcpp::MplsLayer::setBottomOfStack
    - pcpp::MplsLayer::setTTL
    linkageType: ''
    returnType: void
    signature: void MplsLayer::MplsLayer(uint32_t mplsLabel, uint8_t ttl, uint8_t
      experimentalUseValue, bool bottomOfStack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: pcpp::MplsLayer::isBottomOfStack
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::MplsLayer::getMplsHeader
    linkageType: ''
    returnType: bool
    signature: bool MplsLayer::isBottomOfStack() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:33,1
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: pcpp::MplsLayer::setBottomOfStack
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 3
    functionsReached:
    - pcpp::MplsLayer::getMplsHeader
    linkageType: ''
    returnType: void
    signature: void MplsLayer::setBottomOfStack(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: pcpp::MplsLayer::getExperimentalUseValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::MplsLayer::getMplsHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t MplsLayer::getExperimentalUseValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:48,1
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 64
    functionName: pcpp::MplsLayer::setExperimentalUseValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::MplsLayer::getMplsHeader
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool MplsLayer::setExperimentalUseValue(uint8_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:68,1
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:68,1
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: pcpp::MplsLayer::getMplsLabel
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::MplsLayer::getMplsHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t MplsLayer::getMplsLabel() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:75,1
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:81,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - label
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 99
    functionName: pcpp::MplsLayer::setMplsLabel
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::MplsLayer::getMplsHeader
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool MplsLayer::setMplsLabel(uint32_t label)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MplsLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:103,1
    - Dst: pcpp::MplsLayer::isBottomOfStack
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:110,1
    - Dst: constructNextLayer<MplsLayer>
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:112,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:120,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:123,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: pcpp::MplsLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - constructNextLayer<MplsLayer>
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - pcpp::MplsLayer::isBottomOfStack
    - pcpp::MplsLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void MplsLayer::parseNextLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNextLayer
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:132,1
    - Dst: pcpp::MplsLayer::setBottomOfStack
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:135,1
    - Dst: Layer*::getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: pcpp::MplsLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 0
    functionsReached:
    - Layer*::getProtocol
    - getNextLayer
    - pcpp::MplsLayer::setBottomOfStack
    linkageType: ''
    returnType: void
    signature: void MplsLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MplsLayer::getMplsLabel
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:142,1
    - Dst: pcpp::MplsLayer::getExperimentalUseValue
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:144,1
    - Dst: pcpp::MplsLayer::getTTL
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:146,1
    - Dst: pcpp::MplsLayer::isBottomOfStack
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:147,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:149,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:149,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: pcpp::MplsLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::MplsLayer::getExperimentalUseValue
    - std::ostringstream::str
    - pcpp::MplsLayer::isBottomOfStack
    - pcpp::MplsLayer::getTTL
    - pcpp::MplsLayer::getMplsLabel
    linkageType: ''
    returnType: std::string
    signature: std::string MplsLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:21,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:22,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:23,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: pcpp::pack4
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t pack4(const char* data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::pack4
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: operator""_packed4(const char* str, size_t len)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::pack4
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator""_packed4(const char* str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:21,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:22,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:23,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: pcpp::pack4
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t pack4(const char* data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::pack4
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: operator""_packed4(const char* str, size_t len)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::pack4
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator""_packed4(const char* str, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:60,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:60,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:60,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:60,1
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:62,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:64,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: pcpp::SipLayer::getContentLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - atoi
    - std::transform
    - std::string::begin
    - HeaderField*::getFieldValue
    - std::string::end
    - getFieldByName
    linkageType: ''
    returnType: int
    signature: int SipLayer::getContentLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:73,1
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:76,1
    - Dst: insertField
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:77,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:77,1
    - Dst: HeaderField*::setFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:80,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - contentLength
    - ' prevFieldName'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: pcpp::SipLayer::setContentLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - HeaderField*::setFieldValue
    - getFieldByName
    - insertField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * SipLayer::setContentLength(int contentLength, const std::string&
      prevFieldName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:87,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:90,1
    - Dst: pcpp::SipLayer::getContentLength
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:92,1
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:94,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:96,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:102,1
    - Dst: constructNextLayer<SdpLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:104,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 110
    functionName: pcpp::SipLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    - constructNextLayer<PayloadLayer>
    - getFieldByName
    - constructNextLayer<SdpLayer>
    - pcpp::SipLayer::getContentLength
    - HeaderField*::getFieldValue
    - getLayerPayloadSize
    - std::string::find
    linkageType: ''
    returnType: void
    signature: void SipLayer::parseNextLayer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:114,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:118,1
    - Dst: pcpp::SipLayer::getContentLength
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:121,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:122,1
    - Dst: pcpp::SipLayer::setContentLength
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: pcpp::SipLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipLayer::setContentLength
    - getHeaderLen
    - static_cast<int>
    - pcpp::SipLayer::getContentLength
    - getFieldByName
    linkageType: ''
    returnType: void
    signature: void SipLayer::computeCalculateFields()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pack4
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:134,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 160
    functionName: pcpp::SipLayer::detectSipMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pack4
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: SipLayer::SipParseResult
    signature: SipLayer::SipParseResult SipLayer::detectSipMessageType(const uint8_t*
      data, size_t dataLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SipLayer::isSipPort
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:165,1
    - Dst: pcpp::SipLayer::isSipPort
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:165,1
    - Dst: pcpp::SipRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:170,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:170,1
    - Dst: SipRequestLayer::SipRequestLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:173,1
    - Dst: pcpp::SipResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:176,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:176,1
    - Dst: pcpp::SipResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:178,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:178,1
    - Dst: SipResponseLayer::SipResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 6
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - srcPort
    - dstPort
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 184
    functionName: pcpp::SipLayer::parseSipLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipLayer::isSipPort
    - pcpp::SipResponseFirstLine::parseVersion
    - SipRequestLayer::SipRequestLayer
    - pcpp::SipResponseFirstLine::parseStatusCode
    - reinterpret_cast<char*>
    - SipResponseLayer::SipResponseLayer
    - pcpp::SipRequestFirstLine::parseMethod
    linkageType: ''
    returnType: SipLayer
    signature: "SipLayer * SipLayer::parseSipLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet, uint16_t srcPort,\n\t                                  uint16_t
      dstPort)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SipLayer::detectSipMessageType
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:188,1
    - Dst: pcpp::SipRequestFirstLine::parseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:197,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:197,1
    - Dst: SipRequestLayer::SipRequestLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:199,1
    - Dst: pcpp::SipResponseFirstLine::parseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:204,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:204,1
    - Dst: SipResponseLayer::SipResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 209
    functionName: pcpp::SipLayer::parseSipLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipResponseFirstLine::parseFirstLine
    - pcpp::SipLayer::detectSipMessageType
    - SipRequestLayer::SipRequestLayer
    - pcpp::SipRequestFirstLine::parseFirstLine
    - reinterpret_cast<char*>
    - SipResponseLayer::SipResponseLayer
    linkageType: ''
    returnType: SipLayer
    signature: SipLayer * SipLayer::parseSipLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SipRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:215,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:215,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:215,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:219,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:222,1
    - Dst: pcpp::SipRequestFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:224,1
    - Dst: static_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:228,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:228,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:228,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:229,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:231,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:236,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:240,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:244,1
    - Dst: pcpp::SipRequestFirstLine::getUri
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - sipRequest
    argTypes:
    - SipRequestLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 246
    functionName: pcpp::SipRequestFirstLine::SipRequestFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipRequestFirstLine::getUri
    - length
    - getDataLen
    - pcpp::SipRequestFirstLine::parseVersion
    - static_cast<size_t>
    - static_cast<char*>
    - memchr
    - PCPP_LOG_DEBUG
    - reinterpret_cast<char*>
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::SipRequestFirstLine::parseMethod
    linkageType: ''
    returnType: void
    signature: void SipRequestFirstLine::SipRequestFirstLine(SipRequestLayer* sipRequest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:254,1
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:260,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:271,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:272,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:273,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:276,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:277,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:278,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:278,1
    - Dst: std::terminate
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - sipRequest
    - method
    - ' version'
    - ' uri'
    argTypes:
    - SipRequestLayer*
    - SipRequestLayer::SipMethod
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 289
    functionName: pcpp::SipRequestFirstLine::SipRequestFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - length
    - setMessage
    - memcpy
    - std::string::c_str
    - std::terminate
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: "void SipRequestFirstLine::SipRequestFirstLine(SipRequestLayer* sipRequest,
      SipRequestLayer::SipMethod method,\n\t                                         const
      std::string& version, const std::string& uri)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:309,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:309,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 315
    functionName: pcpp::SipRequestFirstLine::parseMethod
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 4
    functionsReached:
    - end
    - find
    - string
    linkageType: ''
    returnType: SipRequestLayer::SipMethod
    signature: SipRequestLayer::SipMethod SipRequestFirstLine::parseMethod(const char*
      data, size_t dataLen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:324,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:337,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:343,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:343,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:345,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:356,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:363,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:376,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:383,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:388,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 393
    functionName: pcpp::SipRequestFirstLine::parseFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    - std::move
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: std::pair<bool, SipRequestFirstLine::SipFirstLineData>
    signature: "std::pair<bool, SipRequestFirstLine::SipFirstLineData> SipRequestFirstLine::parseFirstLine(const
      char* data,\n\t                                                                                           size_t
      dataLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:397,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:397,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:404,1
    - Dst: cross_platform_memmem
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:405,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:405,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:414,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:414,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:415,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:426,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:430,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 433
    functionName: pcpp::SipRequestFirstLine::parseVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 1
    functionsReached:
    - cross_platform_memmem
    - getDataLen
    - static_cast<size_t>
    - string
    - static_cast<uint16_t>
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void SipRequestFirstLine::parseVersion()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:439,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:444,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:444,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:447,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:449,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:455,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:457,1
    - Dst: shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:464,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:467,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:467,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - newMethod
    argTypes:
    - SipRequestLayer::SipMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 477
    functionName: pcpp::SipRequestFirstLine::setMethod
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - shiftFieldsOffset
    - length
    - PCPP_LOG_ERROR
    - memcpy
    - shortenLayer
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool SipRequestFirstLine::setMethod(SipRequestLayer::SipMethod newMethod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:483,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 489
    functionName: pcpp::SipRequestFirstLine::getUri
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<char*>
    - std::string::assign
    linkageType: ''
    returnType: std::string
    signature: std::string SipRequestFirstLine::getUri() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:495,1
    - Dst: pcpp::SipRequestFirstLine::getUri
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:500,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:501,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:501,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:504,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:506,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:512,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:514,1
    - Dst: shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:521,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:524,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:524,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' newUri'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 530
    functionName: pcpp::SipRequestFirstLine::setUri
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - shiftFieldsOffset
    - std::string::length
    - pcpp::SipRequestFirstLine::getUri
    - length
    - PCPP_LOG_ERROR
    - memcpy
    - shortenLayer
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool SipRequestFirstLine::setUri(const std::string& newUri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SipRequestFirstLine::SipRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:537,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:538,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:538,1
    - Dst: parseFields
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: pcpp::SipRequestLayer::SipRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - parseFields
    - SipRequestFirstLine::SipRequestFirstLine
    - getSize
    linkageType: ''
    returnType: void
    signature: void SipRequestLayer::SipRequestLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SipRequestFirstLine::SipRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:545,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:546,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - method
    - ' requestUri'
    - ' version'
    argTypes:
    - SipMethod
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 547
    functionName: pcpp::SipRequestLayer::SipRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - SipRequestFirstLine::SipRequestFirstLine
    - getSize
    linkageType: ''
    returnType: void
    signature: void SipRequestLayer::SipRequestLayer(SipMethod method, const std::string&
      requestUri, const std::string& version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SipRequestFirstLine::SipRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SipRequestLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: pcpp::SipRequestLayer::SipRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - SipRequestFirstLine::SipRequestFirstLine
    linkageType: ''
    returnType: void
    signature: void SipRequestLayer::SipRequestLayer(const SipRequestLayer& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SipLayer::operator=
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:556,1
    - Dst: SipRequestFirstLine::SipRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SipRequestLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 564
    functionName: '& SipRequestLayer::operator=(const SipRequestLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - SipLayer::operator=
    - SipRequestFirstLine::SipRequestFirstLine
    linkageType: ''
    returnType: SipRequestLayer
    signature: SipRequestLayer & SipRequestLayer::operator=(const SipRequestLayer&
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: SipRequestLayer::~SipRequestLayer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SipRequestLayer::~SipRequestLayer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:575,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:578,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:583,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:584,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:584,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:586,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:592,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:592,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 601
    functionName: pcpp::SipRequestLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - getSize
    - string
    - char::char
    - strncpy
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string SipRequestLayer::toString() const
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:703,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:704,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 165
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 872
    functionName: pcpp::parseStatusCodePure
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: SipResponseLayer::SipResponseStatusCode
    signature: SipResponseLayer::SipResponseStatusCode parseStatusCodePure(const char*
      data, size_t dataLen)
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:703,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:704,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 165
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 872
    functionName: pcpp::parseStatusCodePure
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: SipResponseLayer::SipResponseStatusCode
    signature: SipResponseLayer::SipResponseStatusCode parseStatusCodePure(const char*
      data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SipResponseFirstLine::SipResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:878,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:879,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:879,1
    - Dst: parseFields
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 881
    functionName: pcpp::SipResponseLayer::SipResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - SipResponseFirstLine::SipResponseFirstLine
    - getSize
    - parseFields
    linkageType: ''
    returnType: void
    signature: void SipResponseLayer::SipResponseLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:887,1
    - Dst: SipResponseFirstLine::SipResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:887,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:888,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - statusCode
    - statusCodeString
    - ' sipVersion'
    argTypes:
    - SipResponseLayer::SipResponseStatusCode
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 889
    functionName: pcpp::SipResponseLayer::SipResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - SipResponseFirstLine::SipResponseFirstLine
    - std::move
    - getSize
    linkageType: ''
    returnType: void
    signature: "void SipResponseLayer::SipResponseLayer(SipResponseLayer::SipResponseStatusCode
      statusCode, std::string statusCodeString,\n\t                                   const
      std::string& sipVersion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: SipResponseLayer::~SipResponseLayer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SipResponseLayer::~SipResponseLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SipResponseFirstLine::SipResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SipResponseLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 899
    functionName: pcpp::SipResponseLayer::SipResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - SipResponseFirstLine::SipResponseFirstLine
    linkageType: ''
    returnType: void
    signature: void SipResponseLayer::SipResponseLayer(const SipResponseLayer& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SipLayer::operator=
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:903,1
    - Dst: SipResponseFirstLine::SipResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SipResponseLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 911
    functionName: '& SipResponseLayer::operator=(const SipResponseLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - SipResponseFirstLine::SipResponseFirstLine
    - SipLayer::operator=
    linkageType: ''
    returnType: SipResponseLayer
    signature: SipResponseLayer & SipResponseLayer::operator=(const SipResponseLayer&
      other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:917,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:920,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:925,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:926,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:926,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:928,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:934,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:934,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 943
    functionName: pcpp::SipResponseLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - getSize
    - string
    - char::char
    - strncpy
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string SipResponseLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 950
    functionName: pcpp::SipResponseFirstLine::getStatusCodeAsInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SipResponseFirstLine::getStatusCodeAsInt() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:961,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 968
    functionName: pcpp::SipResponseFirstLine::getStatusCodeString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<char*>
    - std::string::assign
    linkageType: ''
    returnType: std::string
    signature: std::string SipResponseFirstLine::getStatusCodeString() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:975,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:984,1
    - Dst: pcpp::SipResponseFirstLine::getStatusCodeString
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:984,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:988,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:990,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:996,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:998,1
    - Dst: shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1005,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1009,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1009,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1009,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1014,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1014,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - newStatusCode
    - statusCodeString
    argTypes:
    - SipResponseLayer::SipResponseStatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 1020
    functionName: pcpp::SipResponseFirstLine::setStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - shiftFieldsOffset
    - pcpp::SipResponseFirstLine::getStatusCodeString
    - std::string::length
    - PCPP_LOG_ERROR
    - memcpy
    - std::string::c_str
    - shortenLayer
    - std::ostringstream::str
    linkageType: ''
    returnType: bool
    signature: "bool SipResponseFirstLine::setStatusCode(SipResponseLayer::SipResponseStatusCode
      newStatusCode,\n\t                                         std::string statusCodeString)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1027,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1027,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1029,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1029,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1034,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1035,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1035,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' newVersion'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1037
    functionName: pcpp::SipResponseFirstLine::setVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - length
    - PCPP_LOG_ERROR
    - memcpy
    - reinterpret_cast<char*>
    - c_str
    linkageType: ''
    returnType: void
    signature: void SipResponseFirstLine::setVersion(const std::string& newVersion)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseStatusCodePure
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1053,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1054
    functionName: pcpp::SipResponseFirstLine::parseStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 3
    functionsReached:
    - parseStatusCodePure
    linkageType: ''
    returnType: SipResponseLayer::SipResponseStatusCode
    signature: SipResponseLayer::SipResponseStatusCode SipResponseFirstLine::parseStatusCode(const
      char* data, size_t dataLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SipResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1058,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1058,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1058,1
    - Dst: pcpp::SipResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1065,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1065,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1065,1
    - Dst: static_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1069,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1070,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1070,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1072,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1077,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1081,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1085,1
    - Dst: pcpp::SipResponseFirstLine::getStatusCodeString
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1085,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - sipResponse
    argTypes:
    - SipResponseLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1088
    functionName: pcpp::SipResponseFirstLine::SipResponseFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipResponseFirstLine::getStatusCodeString
    - getDataLen
    - pcpp::SipResponseFirstLine::parseVersion
    - static_cast<char*>
    - pcpp::SipResponseFirstLine::parseStatusCode
    - memchr
    - PCPP_LOG_DEBUG
    - reinterpret_cast<char*>
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void SipResponseFirstLine::SipResponseFirstLine(SipResponseLayer* sipResponse)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1096,1
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1102,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1115,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1117,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1120,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1121,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1122,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - sipResponse
    - ' version'
    - statusCode
    - statusCodeString
    argTypes:
    - SipResponseLayer*
    - std::string
    - SipResponseLayer::SipResponseStatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1125
    functionName: pcpp::SipResponseFirstLine::SipResponseFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - setMessage
    - memcpy
    - std::ostringstream::str
    - std::string::c_str
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: "void SipResponseFirstLine::SipResponseFirstLine(SipResponseLayer*
      sipResponse, const std::string& version,\n\t                                           SipResponseLayer::SipResponseStatusCode
      statusCode,\n\t                                           std::string statusCodeString)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1131,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1137,1
    - Dst: static_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1141,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1141,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1146
    functionName: pcpp::SipResponseFirstLine::parseVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 2
    functionsReached:
    - string
    - static_cast<const char*>
    - memchr
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: std::string
    signature: std::string SipResponseFirstLine::parseVersion(const char* data, size_t
      dataLen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1156,1
    - Dst: pack4
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1160,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1162,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1168,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1171,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1180,1
    - Dst: parseStatusCodePure
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1184,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1187,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1196
    functionName: pcpp::SipResponseFirstLine::parseFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 1
    functionsReached:
    - string
    - parseStatusCodePure
    - find
    - PCPP_LOG_DEBUG
    - pack4
    linkageType: ''
    returnType: std::pair<bool, SipResponseFirstLine::FirstLineData>
    signature: "std::pair<bool, SipResponseFirstLine::FirstLineData> SipResponseFirstLine::parseFirstLine(const
      char* data,\n\t                                                                                          size_t
      dataLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:21,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:22,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:23,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: pcpp::pack4
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t pack4(const char* data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pack4
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: operator""_packed4(const char* str, size_t len)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pack4
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator""_packed4(const char* str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:21,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:22,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:23,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: pcpp::pack4
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t pack4(const char* data, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pack4
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: operator""_packed4(const char* str, size_t len)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pack4
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t operator""_packed4(const char* str, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:60,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:60,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:60,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:60,1
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:62,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:64,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: pcpp::SipLayer::getContentLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 2
    functionsReached:
    - atoi
    - std::transform
    - std::string::begin
    - HeaderField*::getFieldValue
    - std::string::end
    - getFieldByName
    linkageType: ''
    returnType: int
    signature: int SipLayer::getContentLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:73,1
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:76,1
    - Dst: insertField
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:77,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:77,1
    - Dst: HeaderField*::setFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:80,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - contentLength
    - ' prevFieldName'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: pcpp::SipLayer::setContentLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 1
    functionsReached:
    - std::ostringstream::str
    - HeaderField*::setFieldValue
    - getFieldByName
    - insertField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * SipLayer::setContentLength(int contentLength, const std::string&
      prevFieldName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getLayerPayloadSize
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:87,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:90,1
    - Dst: pcpp::SipLayer::getContentLength
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:92,1
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:94,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:96,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:102,1
    - Dst: constructNextLayer<SdpLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:104,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 110
    functionName: pcpp::SipLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    - constructNextLayer<PayloadLayer>
    - getFieldByName
    - constructNextLayer<SdpLayer>
    - pcpp::SipLayer::getContentLength
    - HeaderField*::getFieldValue
    - getLayerPayloadSize
    - std::string::find
    linkageType: ''
    returnType: void
    signature: void SipLayer::parseNextLayer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:114,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:118,1
    - Dst: pcpp::SipLayer::getContentLength
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:121,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:122,1
    - Dst: pcpp::SipLayer::setContentLength
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: pcpp::SipLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipLayer::setContentLength
    - getHeaderLen
    - static_cast<int>
    - pcpp::SipLayer::getContentLength
    - getFieldByName
    linkageType: ''
    returnType: void
    signature: void SipLayer::computeCalculateFields()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pack4
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:134,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 160
    functionName: pcpp::SipLayer::detectSipMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 1
    functionsReached:
    - pack4
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: SipLayer::SipParseResult
    signature: SipLayer::SipParseResult SipLayer::detectSipMessageType(const uint8_t*
      data, size_t dataLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SipLayer::isSipPort
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:165,1
    - Dst: pcpp::SipLayer::isSipPort
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:165,1
    - Dst: pcpp::SipRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:170,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:170,1
    - Dst: SipRequestLayer::SipRequestLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:173,1
    - Dst: pcpp::SipResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:176,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:176,1
    - Dst: pcpp::SipResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:178,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:178,1
    - Dst: SipResponseLayer::SipResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 6
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - srcPort
    - dstPort
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 184
    functionName: pcpp::SipLayer::parseSipLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipLayer::isSipPort
    - pcpp::SipResponseFirstLine::parseVersion
    - SipRequestLayer::SipRequestLayer
    - pcpp::SipResponseFirstLine::parseStatusCode
    - reinterpret_cast<char*>
    - SipResponseLayer::SipResponseLayer
    - pcpp::SipRequestFirstLine::parseMethod
    linkageType: ''
    returnType: SipLayer
    signature: "SipLayer * SipLayer::parseSipLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet, uint16_t srcPort,\n\t                                  uint16_t
      dstPort)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SipLayer::detectSipMessageType
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:188,1
    - Dst: pcpp::SipRequestFirstLine::parseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:197,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:197,1
    - Dst: SipRequestLayer::SipRequestLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:199,1
    - Dst: pcpp::SipResponseFirstLine::parseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:204,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:204,1
    - Dst: SipResponseLayer::SipResponseLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 209
    functionName: pcpp::SipLayer::parseSipLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipResponseFirstLine::parseFirstLine
    - pcpp::SipLayer::detectSipMessageType
    - SipRequestLayer::SipRequestLayer
    - pcpp::SipRequestFirstLine::parseFirstLine
    - reinterpret_cast<char*>
    - SipResponseLayer::SipResponseLayer
    linkageType: ''
    returnType: SipLayer
    signature: SipLayer * SipLayer::parseSipLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SipRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:215,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:215,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:215,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:219,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:222,1
    - Dst: pcpp::SipRequestFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:224,1
    - Dst: static_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:228,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:228,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:228,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:229,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:231,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:236,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:240,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:244,1
    - Dst: pcpp::SipRequestFirstLine::getUri
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - sipRequest
    argTypes:
    - SipRequestLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 246
    functionName: pcpp::SipRequestFirstLine::SipRequestFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipRequestFirstLine::getUri
    - length
    - getDataLen
    - pcpp::SipRequestFirstLine::parseVersion
    - static_cast<size_t>
    - static_cast<char*>
    - memchr
    - PCPP_LOG_DEBUG
    - reinterpret_cast<char*>
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::SipRequestFirstLine::parseMethod
    linkageType: ''
    returnType: void
    signature: void SipRequestFirstLine::SipRequestFirstLine(SipRequestLayer* sipRequest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:254,1
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:260,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:271,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:272,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:273,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:276,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:277,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:278,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:278,1
    - Dst: std::terminate
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - sipRequest
    - method
    - ' version'
    - ' uri'
    argTypes:
    - SipRequestLayer*
    - SipRequestLayer::SipMethod
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 289
    functionName: pcpp::SipRequestFirstLine::SipRequestFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - length
    - setMessage
    - memcpy
    - std::string::c_str
    - std::terminate
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: "void SipRequestFirstLine::SipRequestFirstLine(SipRequestLayer* sipRequest,
      SipRequestLayer::SipMethod method,\n\t                                         const
      std::string& version, const std::string& uri)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:309,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:309,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 315
    functionName: pcpp::SipRequestFirstLine::parseMethod
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 6
    functionsReached:
    - end
    - find
    - string
    linkageType: ''
    returnType: SipRequestLayer::SipMethod
    signature: SipRequestLayer::SipMethod SipRequestFirstLine::parseMethod(const char*
      data, size_t dataLen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:324,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:337,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:343,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:343,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:345,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:356,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:363,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:376,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:383,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:388,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 393
    functionName: pcpp::SipRequestFirstLine::parseFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 2
    functionsReached:
    - end
    - find
    - std::move
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: std::pair<bool, SipRequestFirstLine::SipFirstLineData>
    signature: "std::pair<bool, SipRequestFirstLine::SipFirstLineData> SipRequestFirstLine::parseFirstLine(const
      char* data,\n\t                                                                                           size_t
      dataLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:397,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:397,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:404,1
    - Dst: cross_platform_memmem
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:405,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:405,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:414,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:414,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:415,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:426,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:430,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 433
    functionName: pcpp::SipRequestFirstLine::parseVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 2
    functionsReached:
    - cross_platform_memmem
    - getDataLen
    - static_cast<size_t>
    - string
    - static_cast<uint16_t>
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void SipRequestFirstLine::parseVersion()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:439,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:444,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:444,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:447,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:449,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:455,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:457,1
    - Dst: shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:464,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:467,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:467,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - newMethod
    argTypes:
    - SipRequestLayer::SipMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 477
    functionName: pcpp::SipRequestFirstLine::setMethod
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - shiftFieldsOffset
    - length
    - PCPP_LOG_ERROR
    - memcpy
    - shortenLayer
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool SipRequestFirstLine::setMethod(SipRequestLayer::SipMethod newMethod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:483,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 489
    functionName: pcpp::SipRequestFirstLine::getUri
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<char*>
    - std::string::assign
    linkageType: ''
    returnType: std::string
    signature: std::string SipRequestFirstLine::getUri() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:495,1
    - Dst: pcpp::SipRequestFirstLine::getUri
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:500,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:501,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:501,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:504,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:506,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:512,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:514,1
    - Dst: shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:521,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:524,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:524,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' newUri'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 530
    functionName: pcpp::SipRequestFirstLine::setUri
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - shiftFieldsOffset
    - std::string::length
    - pcpp::SipRequestFirstLine::getUri
    - length
    - PCPP_LOG_ERROR
    - memcpy
    - shortenLayer
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool SipRequestFirstLine::setUri(const std::string& newUri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SipRequestFirstLine::SipRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:537,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:538,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:538,1
    - Dst: parseFields
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: pcpp::SipRequestLayer::SipRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - parseFields
    - SipRequestFirstLine::SipRequestFirstLine
    - getSize
    linkageType: ''
    returnType: void
    signature: void SipRequestLayer::SipRequestLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SipRequestFirstLine::SipRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:545,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:546,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - method
    - ' requestUri'
    - ' version'
    argTypes:
    - SipMethod
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 547
    functionName: pcpp::SipRequestLayer::SipRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - SipRequestFirstLine::SipRequestFirstLine
    - getSize
    linkageType: ''
    returnType: void
    signature: void SipRequestLayer::SipRequestLayer(SipMethod method, const std::string&
      requestUri, const std::string& version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SipRequestFirstLine::SipRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SipRequestLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: pcpp::SipRequestLayer::SipRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - SipRequestFirstLine::SipRequestFirstLine
    linkageType: ''
    returnType: void
    signature: void SipRequestLayer::SipRequestLayer(const SipRequestLayer& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SipLayer::operator=
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:556,1
    - Dst: SipRequestFirstLine::SipRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SipRequestLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 564
    functionName: '& SipRequestLayer::operator=(const SipRequestLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - SipLayer::operator=
    - SipRequestFirstLine::SipRequestFirstLine
    linkageType: ''
    returnType: SipRequestLayer
    signature: SipRequestLayer & SipRequestLayer::operator=(const SipRequestLayer&
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: SipRequestLayer::~SipRequestLayer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SipRequestLayer::~SipRequestLayer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:575,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:578,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:583,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:584,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:584,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:586,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:592,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:592,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 601
    functionName: pcpp::SipRequestLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - getSize
    - string
    - char::char
    - strncpy
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string SipRequestLayer::toString() const
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:703,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:704,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 165
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 872
    functionName: pcpp::parseStatusCodePure
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: SipResponseLayer::SipResponseStatusCode
    signature: SipResponseLayer::SipResponseStatusCode parseStatusCodePure(const char*
      data, size_t dataLen)
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:703,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:704,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 165
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 872
    functionName: pcpp::parseStatusCodePure
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: SipResponseLayer::SipResponseStatusCode
    signature: SipResponseLayer::SipResponseStatusCode parseStatusCodePure(const char*
      data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SipResponseFirstLine::SipResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:878,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:879,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:879,1
    - Dst: parseFields
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 881
    functionName: pcpp::SipResponseLayer::SipResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - SipResponseFirstLine::SipResponseFirstLine
    - getSize
    - parseFields
    linkageType: ''
    returnType: void
    signature: void SipResponseLayer::SipResponseLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:887,1
    - Dst: SipResponseFirstLine::SipResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:887,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:888,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - statusCode
    - statusCodeString
    - ' sipVersion'
    argTypes:
    - SipResponseLayer::SipResponseStatusCode
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 889
    functionName: pcpp::SipResponseLayer::SipResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - SipResponseFirstLine::SipResponseFirstLine
    - std::move
    - getSize
    linkageType: ''
    returnType: void
    signature: "void SipResponseLayer::SipResponseLayer(SipResponseLayer::SipResponseStatusCode
      statusCode, std::string statusCodeString,\n\t                                   const
      std::string& sipVersion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: SipResponseLayer::~SipResponseLayer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SipResponseLayer::~SipResponseLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SipResponseFirstLine::SipResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SipResponseLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 899
    functionName: pcpp::SipResponseLayer::SipResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - SipResponseFirstLine::SipResponseFirstLine
    linkageType: ''
    returnType: void
    signature: void SipResponseLayer::SipResponseLayer(const SipResponseLayer& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SipLayer::operator=
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:903,1
    - Dst: SipResponseFirstLine::SipResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SipResponseLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 911
    functionName: '& SipResponseLayer::operator=(const SipResponseLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - SipResponseFirstLine::SipResponseFirstLine
    - SipLayer::operator=
    linkageType: ''
    returnType: SipResponseLayer
    signature: SipResponseLayer & SipResponseLayer::operator=(const SipResponseLayer&
      other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:917,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:920,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:925,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:926,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:926,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:928,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:934,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:934,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 943
    functionName: pcpp::SipResponseLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - getSize
    - string
    - char::char
    - strncpy
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string SipResponseLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 950
    functionName: pcpp::SipResponseFirstLine::getStatusCodeAsInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SipResponseFirstLine::getStatusCodeAsInt() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:961,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:961,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 968
    functionName: pcpp::SipResponseFirstLine::getStatusCodeString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<char*>
    - std::string::assign
    linkageType: ''
    returnType: std::string
    signature: std::string SipResponseFirstLine::getStatusCodeString() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:975,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:984,1
    - Dst: pcpp::SipResponseFirstLine::getStatusCodeString
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:984,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:988,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:990,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:996,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:998,1
    - Dst: shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1005,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1009,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1009,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1009,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1014,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1014,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - newStatusCode
    - statusCodeString
    argTypes:
    - SipResponseLayer::SipResponseStatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 1020
    functionName: pcpp::SipResponseFirstLine::setStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - shiftFieldsOffset
    - pcpp::SipResponseFirstLine::getStatusCodeString
    - std::string::length
    - PCPP_LOG_ERROR
    - memcpy
    - std::string::c_str
    - shortenLayer
    - std::ostringstream::str
    linkageType: ''
    returnType: bool
    signature: "bool SipResponseFirstLine::setStatusCode(SipResponseLayer::SipResponseStatusCode
      newStatusCode,\n\t                                         std::string statusCodeString)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1027,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1027,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1029,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1029,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1034,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1035,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1035,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' newVersion'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1037
    functionName: pcpp::SipResponseFirstLine::setVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - length
    - PCPP_LOG_ERROR
    - memcpy
    - reinterpret_cast<char*>
    - c_str
    linkageType: ''
    returnType: void
    signature: void SipResponseFirstLine::setVersion(const std::string& newVersion)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseStatusCodePure
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1053,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1054
    functionName: pcpp::SipResponseFirstLine::parseStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 5
    functionsReached:
    - parseStatusCodePure
    linkageType: ''
    returnType: SipResponseLayer::SipResponseStatusCode
    signature: SipResponseLayer::SipResponseStatusCode SipResponseFirstLine::parseStatusCode(const
      char* data, size_t dataLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SipResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1058,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1058,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1058,1
    - Dst: pcpp::SipResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1065,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1065,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1065,1
    - Dst: static_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1069,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1070,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1070,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1072,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1077,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1081,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1085,1
    - Dst: pcpp::SipResponseFirstLine::getStatusCodeString
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1085,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - sipResponse
    argTypes:
    - SipResponseLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1056
    functionDepth: 2
    functionLinenumber: 1056
    functionLinenumberEnd: 1088
    functionName: pcpp::SipResponseFirstLine::SipResponseFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipResponseFirstLine::getStatusCodeString
    - getDataLen
    - pcpp::SipResponseFirstLine::parseVersion
    - static_cast<char*>
    - pcpp::SipResponseFirstLine::parseStatusCode
    - memchr
    - PCPP_LOG_DEBUG
    - reinterpret_cast<char*>
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void SipResponseFirstLine::SipResponseFirstLine(SipResponseLayer* sipResponse)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1096,1
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1102,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1115,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1117,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1120,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1121,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1122,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - sipResponse
    - ' version'
    - statusCode
    - statusCodeString
    argTypes:
    - SipResponseLayer*
    - std::string
    - SipResponseLayer::SipResponseStatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1125
    functionName: pcpp::SipResponseFirstLine::SipResponseFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - setMessage
    - memcpy
    - std::ostringstream::str
    - std::string::c_str
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: "void SipResponseFirstLine::SipResponseFirstLine(SipResponseLayer*
      sipResponse, const std::string& version,\n\t                                           SipResponseLayer::SipResponseStatusCode
      statusCode,\n\t                                           std::string statusCodeString)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1131,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1137,1
    - Dst: static_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1141,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1141,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1146
    functionName: pcpp::SipResponseFirstLine::parseVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 4
    functionsReached:
    - string
    - static_cast<const char*>
    - memchr
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: std::string
    signature: std::string SipResponseFirstLine::parseVersion(const char* data, size_t
      dataLen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1156,1
    - Dst: pack4
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1160,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1162,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1168,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1171,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1180,1
    - Dst: parseStatusCodePure
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1184,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1187,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp:1193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1196
    functionName: pcpp::SipResponseFirstLine::parseFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
    functionUses: 2
    functionsReached:
    - string
    - parseStatusCodePure
    - find
    - PCPP_LOG_DEBUG
    - pack4
    linkageType: ''
    returnType: std::pair<bool, SipResponseFirstLine::FirstLineData>
    signature: "std::pair<bool, SipResponseFirstLine::FirstLineData> SipResponseFirstLine::parseFirstLine(const
      char* data,\n\t                                                                                          size_t
      dataLen)"
  - BBCount: 43
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 161
    functionName: pcpp::PostgresMessageType::toChar
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char PostgresMessageType::toChar() const
  - BBCount: 55
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 278
    functionName: pcpp::PostgresMessageType::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresMessageType::toString() const
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 306
    functionName: pcpp::PostgresMessageType::getOrigin
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PostgresMessageOrigin
    signature: PostgresMessageOrigin PostgresMessageType::getOrigin() const
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:317,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:318,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:321,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:321,1
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:324,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:325,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:335,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:335,1
    - Dst: std::make_unique<PostgresParameterStatus>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:417,1
    - Dst: std::make_unique<PostgresDataRowMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:456,1
    - Dst: std::make_unique<PostgresErrorResponseMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:465,1
    - Dst: std::make_unique<PostgresRowDescriptionMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:509,1
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:517,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:517,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 156
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 518
    functionName: pcpp::PostgresMessage::parsePostgresBackendMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PostgresErrorResponseMessage>
    - std::make_unique<PostgresParameterStatus>
    - be32toh
    - std::make_unique<PostgresRowDescriptionMessage>
    - reinterpret_cast<const uint32_t*>
    - PostgresMessage::PostgresMessage
    - std::make_unique<PostgresDataRowMessage>
    - std::unique_ptr<PostgresMessage>
    linkageType: ''
    returnType: std::unique_ptr<PostgresMessage>
    signature: std::unique_ptr<PostgresMessage> PostgresMessage::parsePostgresBackendMessage(const
      uint8_t* data, size_t dataLen)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:532,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:533,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:536,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:536,1
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:539,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:540,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:543,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:543,1
    - Dst: std::make_unique<PostgresStartupMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:550,1
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:573,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:573,1
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:578,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:579,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:582,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:582,1
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:585,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:586,1
    - Dst: std::make_unique<PostgresQueryMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:594,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:595,1
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:663,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:663,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 96
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 664
    functionName: pcpp::PostgresMessage::parsePostgresFrontendMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PostgresQueryMessage>
    - std::make_unique<PostgresStartupMessage>
    - be32toh
    - static_cast<size_t>
    - reinterpret_cast<const uint32_t*>
    - PostgresMessage::PostgresMessage
    - std::unique_ptr<PostgresMessage>
    linkageType: ''
    returnType: std::unique_ptr<PostgresMessage>
    signature: std::unique_ptr<PostgresMessage> PostgresMessage::parsePostgresFrontendMessage(const
      uint8_t* data, size_t dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:674,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 675
    functionName: pcpp::PostgresMessage::getMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - reinterpret_cast<const uint32_t*>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PostgresMessage::getMessageLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 685
    functionName: pcpp::PostgresMessage::getRawPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PostgresMessage::getRawPayload() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:696,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 701
    functionName: pcpp::PostgresParameterStatus::getParameterName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - find
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresParameterStatus::getParameterName() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:712,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:715,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 725
    functionName: pcpp::PostgresParameterStatus::getParameterValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - find
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresParameterStatus::getParameterValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:736,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 740
    functionName: pcpp::PostgresQueryMessage::getQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - find
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresQueryMessage::getQuery() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:750,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:750,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:754,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:755,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:764,1
    - Dst: PostgresColumnInfo::name::assign
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:770,1
    - Dst: static_cast<std::ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:773,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:775,1
    - Dst: reinterpret_cast<const ::internal::PostgresColumnFixedData*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:781,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:782,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:783,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:784,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:785,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:786,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:787,1
    - Dst: static_cast<PostgresColumnFormat>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:789,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:792,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 796
    functionName: pcpp::PostgresRowDescriptionMessage::getColumnInfos
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<std::ptrdiff_t>
    - static_cast<PostgresColumnFormat>
    - reinterpret_cast<const char*>
    - be32toh
    - std::vector::push_back
    - be16toh
    - reinterpret_cast<const ::internal::PostgresColumnFixedData*>
    - find
    - reinterpret_cast<const uint16_t*>
    - PostgresColumnInfo::name::assign
    linkageType: ''
    returnType: std::vector<PostgresRowDescriptionMessage::PostgresColumnInfo>
    signature: std::vector<PostgresRowDescriptionMessage::PostgresColumnInfo> PostgresRowDescriptionMessage::getColumnInfos()
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:806,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:806,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:822,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:827,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:827,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:832,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:841,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 846
    functionName: pcpp::PostgresDataRowMessage::getDataRow
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - reinterpret_cast<const uint32_t*>
    - std::vector::emplace_back
    - be16toh
    - reinterpret_cast<const uint16_t*>
    linkageType: ''
    returnType: std::vector<PostgresDataRowMessage::ColumnData>
    signature: std::vector<PostgresDataRowMessage::ColumnData> PostgresDataRowMessage::getDataRow()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: PostgresDataRowMessage::ColumnData::toHexString() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresDataRowMessage::ColumnData::toHexString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 861
    functionName: PostgresDataRowMessage::ColumnData::toString() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresDataRowMessage::ColumnData::toString() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:870,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:886,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:886,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:894,1
    - Dst: static_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:896,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:896,1
    - Dst: std::string::assign
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:901,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:902,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:902,1
    - Dst: std::string::assign
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:906,1
    - Dst: static_cast<ErrorField>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:912,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:913,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 919
    functionName: '& PostgresErrorResponseMessage::getFields() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const char*>
    - reinterpret_cast<const char*>
    - end
    - static_cast<size_t>
    - std::string::assign
    - find
    - memchr
    - static_cast<ErrorField>
    - std::move
    linkageType: ''
    returnType: PostgresErrorResponseMessage::FieldMap
    signature: PostgresErrorResponseMessage::FieldMap & PostgresErrorResponseMessage::getFields()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 928
    functionName: pcpp::PostgresStartupMessage::getProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint32_t*>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PostgresStartupMessage::getProtocolVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:932,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 933
    functionName: pcpp::PostgresStartupMessage::getProtocolMajorVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - reinterpret_cast<const uint16_t*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t PostgresStartupMessage::getProtocolMajorVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:937,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 938
    functionName: pcpp::PostgresStartupMessage::getProtocolMinorVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - reinterpret_cast<const uint16_t*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t PostgresStartupMessage::getProtocolMinorVersion() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:950,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 958
    functionName: pcpp::PostgresStartupMessage::readString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresStartupMessage::readString(size_t offset) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: readString
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:976,1
    - Dst: auto::empty
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:977,1
    - Dst: auto::length
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:981,1
    - Dst: readString
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:987,1
    - Dst: auto::length
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:988,1
    - Dst: emplace
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:990,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:990,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:990,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 995
    functionName: '& PostgresStartupMessage::getParameters() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - readString
    - auto::empty
    - auto::length
    - emplace
    - std::move
    linkageType: ''
    returnType: PostgresStartupMessage::ParameterMap
    signature: PostgresStartupMessage::ParameterMap & PostgresStartupMessage::getParameters()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getParameters
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:999,1
    - Dst: auto::find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1000,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1006
    functionName: pcpp::PostgresStartupMessage::getParameter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - getParameters
    - auto::end
    - auto::find
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresStartupMessage::getParameter(const std::string&
      name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PostgresLayer::PostgresLayer
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1012
    functionName: pcpp::PostgresLayer::parsePostgresBackendMessages
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - PostgresLayer::PostgresLayer
    linkageType: ''
    returnType: PostgresLayer
    signature: "PostgresLayer * PostgresLayer::parsePostgresBackendMessages(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                           Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PostgresLayer::PostgresLayer
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1018
    functionName: pcpp::PostgresLayer::parsePostgresFrontendMessages
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - PostgresLayer::PostgresLayer
    linkageType: ''
    returnType: PostgresLayer
    signature: "PostgresLayer * PostgresLayer::parsePostgresFrontendMessages(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                            Packet*
      packet)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseFunc
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1033,1
    - Dst: auto::getTotalMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1039,1
    - Dst: auto::getTotalMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1040,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1041,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1041,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1048
    functionName: '& PostgresLayer::getPostgresMessages() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - auto::getTotalMessageLength
    - parseFunc
    - std::move
    - pushBack
    linkageType: ''
    returnType: PointerVector<PostgresMessage>
    signature: PointerVector<PostgresMessage> & PostgresLayer::getPostgresMessages()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPostgresMessages
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1052,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1053,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1053,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1053,1
    - Dst: getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1054,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' messageType'
    argTypes:
    - PostgresMessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1058
    functionName: pcpp::PostgresLayer::getPostgresMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - getPostgresMessages
    - getMessageType
    - begin
    - end
    - std::find_if
    linkageType: ''
    returnType: PostgresMessage
    signature: PostgresMessage * PostgresLayer::getPostgresMessage(const PostgresMessageType&
      messageType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPostgresMessages
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1062,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1063,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1065,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1066
    functionName: pcpp::PostgresLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - size
    - string
    - getPostgresMessages
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresLayer::toString() const
  - BBCount: 43
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 161
    functionName: pcpp::PostgresMessageType::toChar
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char PostgresMessageType::toChar() const
  - BBCount: 55
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 278
    functionName: pcpp::PostgresMessageType::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresMessageType::toString() const
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 306
    functionName: pcpp::PostgresMessageType::getOrigin
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PostgresMessageOrigin
    signature: PostgresMessageOrigin PostgresMessageType::getOrigin() const
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:317,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:318,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:321,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:321,1
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:324,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:325,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:335,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:335,1
    - Dst: std::make_unique<PostgresParameterStatus>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:417,1
    - Dst: std::make_unique<PostgresDataRowMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:456,1
    - Dst: std::make_unique<PostgresErrorResponseMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:465,1
    - Dst: std::make_unique<PostgresRowDescriptionMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:509,1
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:517,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:517,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 156
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 518
    functionName: pcpp::PostgresMessage::parsePostgresBackendMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PostgresErrorResponseMessage>
    - std::make_unique<PostgresParameterStatus>
    - be32toh
    - std::make_unique<PostgresRowDescriptionMessage>
    - reinterpret_cast<const uint32_t*>
    - PostgresMessage::PostgresMessage
    - std::make_unique<PostgresDataRowMessage>
    - std::unique_ptr<PostgresMessage>
    linkageType: ''
    returnType: std::unique_ptr<PostgresMessage>
    signature: std::unique_ptr<PostgresMessage> PostgresMessage::parsePostgresBackendMessage(const
      uint8_t* data, size_t dataLen)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:532,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:533,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:536,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:536,1
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:539,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:540,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:543,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:543,1
    - Dst: std::make_unique<PostgresStartupMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:550,1
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:573,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:573,1
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:578,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:579,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:582,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:582,1
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:585,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:586,1
    - Dst: std::make_unique<PostgresQueryMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:594,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:595,1
    - Dst: std::unique_ptr<PostgresMessage>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:663,1
    - Dst: PostgresMessage::PostgresMessage
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:663,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 96
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 664
    functionName: pcpp::PostgresMessage::parsePostgresFrontendMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<PostgresQueryMessage>
    - std::make_unique<PostgresStartupMessage>
    - be32toh
    - static_cast<size_t>
    - reinterpret_cast<const uint32_t*>
    - PostgresMessage::PostgresMessage
    - std::unique_ptr<PostgresMessage>
    linkageType: ''
    returnType: std::unique_ptr<PostgresMessage>
    signature: std::unique_ptr<PostgresMessage> PostgresMessage::parsePostgresFrontendMessage(const
      uint8_t* data, size_t dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:674,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 675
    functionName: pcpp::PostgresMessage::getMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - reinterpret_cast<const uint32_t*>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PostgresMessage::getMessageLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 685
    functionName: pcpp::PostgresMessage::getRawPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> PostgresMessage::getRawPayload() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:696,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 701
    functionName: pcpp::PostgresParameterStatus::getParameterName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - find
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresParameterStatus::getParameterName() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:712,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:715,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 725
    functionName: pcpp::PostgresParameterStatus::getParameterValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - find
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresParameterStatus::getParameterValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:736,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 740
    functionName: pcpp::PostgresQueryMessage::getQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - find
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresQueryMessage::getQuery() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:750,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:750,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:754,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:755,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:764,1
    - Dst: PostgresColumnInfo::name::assign
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:770,1
    - Dst: static_cast<std::ptrdiff_t>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:773,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:775,1
    - Dst: reinterpret_cast<const ::internal::PostgresColumnFixedData*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:781,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:782,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:783,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:784,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:785,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:786,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:787,1
    - Dst: static_cast<PostgresColumnFormat>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:789,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:792,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 796
    functionName: pcpp::PostgresRowDescriptionMessage::getColumnInfos
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<std::ptrdiff_t>
    - static_cast<PostgresColumnFormat>
    - reinterpret_cast<const char*>
    - be32toh
    - std::vector::push_back
    - be16toh
    - reinterpret_cast<const ::internal::PostgresColumnFixedData*>
    - find
    - reinterpret_cast<const uint16_t*>
    - PostgresColumnInfo::name::assign
    linkageType: ''
    returnType: std::vector<PostgresRowDescriptionMessage::PostgresColumnInfo>
    signature: std::vector<PostgresRowDescriptionMessage::PostgresColumnInfo> PostgresRowDescriptionMessage::getColumnInfos()
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:806,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:806,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:822,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:827,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:827,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:832,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:841,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 846
    functionName: pcpp::PostgresDataRowMessage::getDataRow
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - reinterpret_cast<const uint32_t*>
    - std::vector::emplace_back
    - be16toh
    - reinterpret_cast<const uint16_t*>
    linkageType: ''
    returnType: std::vector<PostgresDataRowMessage::ColumnData>
    signature: std::vector<PostgresDataRowMessage::ColumnData> PostgresDataRowMessage::getDataRow()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: PostgresDataRowMessage::ColumnData::toHexString() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresDataRowMessage::ColumnData::toHexString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 861
    functionName: PostgresDataRowMessage::ColumnData::toString() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresDataRowMessage::ColumnData::toString() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:870,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:886,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:886,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:894,1
    - Dst: static_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:896,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:896,1
    - Dst: std::string::assign
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:901,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:902,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:902,1
    - Dst: std::string::assign
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:906,1
    - Dst: static_cast<ErrorField>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:912,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:913,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 919
    functionName: '& PostgresErrorResponseMessage::getFields() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const char*>
    - reinterpret_cast<const char*>
    - end
    - static_cast<size_t>
    - std::string::assign
    - find
    - memchr
    - static_cast<ErrorField>
    - std::move
    linkageType: ''
    returnType: PostgresErrorResponseMessage::FieldMap
    signature: PostgresErrorResponseMessage::FieldMap & PostgresErrorResponseMessage::getFields()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 928
    functionName: pcpp::PostgresStartupMessage::getProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint32_t*>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PostgresStartupMessage::getProtocolVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:932,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 933
    functionName: pcpp::PostgresStartupMessage::getProtocolMajorVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - reinterpret_cast<const uint16_t*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t PostgresStartupMessage::getProtocolMajorVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:937,1
    - Dst: reinterpret_cast<const uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 938
    functionName: pcpp::PostgresStartupMessage::getProtocolMinorVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - reinterpret_cast<const uint16_t*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t PostgresStartupMessage::getProtocolMinorVersion() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:950,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - offset
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 958
    functionName: pcpp::PostgresStartupMessage::readString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresStartupMessage::readString(size_t offset) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: readString
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:976,1
    - Dst: auto::empty
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:977,1
    - Dst: auto::length
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:981,1
    - Dst: readString
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:987,1
    - Dst: auto::length
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:988,1
    - Dst: emplace
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:990,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:990,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:990,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 995
    functionName: '& PostgresStartupMessage::getParameters() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - readString
    - auto::empty
    - auto::length
    - emplace
    - std::move
    linkageType: ''
    returnType: PostgresStartupMessage::ParameterMap
    signature: PostgresStartupMessage::ParameterMap & PostgresStartupMessage::getParameters()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getParameters
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:999,1
    - Dst: auto::find
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1000,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1006
    functionName: pcpp::PostgresStartupMessage::getParameter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - getParameters
    - auto::end
    - auto::find
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresStartupMessage::getParameter(const std::string&
      name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PostgresLayer::PostgresLayer
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1012
    functionName: pcpp::PostgresLayer::parsePostgresBackendMessages
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - PostgresLayer::PostgresLayer
    linkageType: ''
    returnType: PostgresLayer
    signature: "PostgresLayer * PostgresLayer::parsePostgresBackendMessages(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                           Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PostgresLayer::PostgresLayer
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1018
    functionName: pcpp::PostgresLayer::parsePostgresFrontendMessages
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - PostgresLayer::PostgresLayer
    linkageType: ''
    returnType: PostgresLayer
    signature: "PostgresLayer * PostgresLayer::parsePostgresFrontendMessages(uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t                                                            Packet*
      packet)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseFunc
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1033,1
    - Dst: auto::getTotalMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1039,1
    - Dst: auto::getTotalMessageLength
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1040,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1041,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1041,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1048
    functionName: '& PostgresLayer::getPostgresMessages() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - auto::getTotalMessageLength
    - parseFunc
    - std::move
    - pushBack
    linkageType: ''
    returnType: PointerVector<PostgresMessage>
    signature: PointerVector<PostgresMessage> & PostgresLayer::getPostgresMessages()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPostgresMessages
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1052,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1053,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1053,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1053,1
    - Dst: getMessageType
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1054,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' messageType'
    argTypes:
    - PostgresMessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1058
    functionName: pcpp::PostgresLayer::getPostgresMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - getPostgresMessages
    - getMessageType
    - begin
    - end
    - std::find_if
    linkageType: ''
    returnType: PostgresMessage
    signature: PostgresMessage * PostgresLayer::getPostgresMessage(const PostgresMessageType&
      messageType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getPostgresMessages
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1062,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1063,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1065,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1066
    functionName: pcpp::PostgresLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    functionUses: 0
    functionsReached:
    - size
    - string
    - getPostgresMessages
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string PostgresLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:18,1
    - Dst: pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:20,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - address
    argTypes:
    - AddressType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: pcpp::CiscoHdlcLayer::CiscoHdlcLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
    - static_cast<uint8_t>
    - allocData
    linkageType: ''
    returnType: void
    signature: void CiscoHdlcLayer::CiscoHdlcLayer(AddressType address)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:29,1
    - Dst: pcpp::CiscoHdlcLayer::setNextProtocol
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:33,1
    - Dst: pcpp::CiscoHdlcLayer::setNextProtocol
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: pcpp::CiscoHdlcLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CiscoHdlcLayer::setNextProtocol
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void CiscoHdlcLayer::computeCalculateFields()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:50,1
    - Dst: pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:50,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:56,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:61,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: pcpp::CiscoHdlcLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - be16toh
    - pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void CiscoHdlcLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: pcpp::CiscoHdlcLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CiscoHdlcLayer::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AddressType>
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:79,1
    - Dst: pcpp::CiscoHdlcLayer::getAddressValue
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:79,1
    - Dst: static_cast<AddressType>
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:84,1
    - Dst: pcpp::CiscoHdlcLayer::getAddressValue
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: pcpp::CiscoHdlcLayer::getAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CiscoHdlcLayer::getAddressValue
    - static_cast<AddressType>
    linkageType: ''
    returnType: CiscoHdlcLayer::AddressType
    signature: CiscoHdlcLayer::AddressType CiscoHdlcLayer::getAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: pcpp::CiscoHdlcLayer::getAddressValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CiscoHdlcLayer::getAddressValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:102,1
    - Dst: pcpp::CiscoHdlcLayer::setAddressValue
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:105,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - address
    argTypes:
    - AddressType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: pcpp::CiscoHdlcLayer::setAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CiscoHdlcLayer::setAddressValue
    - std::invalid_argument
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void CiscoHdlcLayer::setAddress(AddressType address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - address
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pcpp::CiscoHdlcLayer::setAddressValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
    linkageType: ''
    returnType: void
    signature: void CiscoHdlcLayer::setAddressValue(uint8_t address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:115,1
    - Dst: pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: pcpp::CiscoHdlcLayer::getNextProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t CiscoHdlcLayer::getNextProtocol() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:120,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: pcpp::CiscoHdlcLayer::setNextProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
    linkageType: ''
    returnType: void
    signature: void CiscoHdlcLayer::setNextProtocol(uint16_t protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:18,1
    - Dst: pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:20,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - address
    argTypes:
    - AddressType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: pcpp::CiscoHdlcLayer::CiscoHdlcLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
    - static_cast<uint8_t>
    - allocData
    linkageType: ''
    returnType: void
    signature: void CiscoHdlcLayer::CiscoHdlcLayer(AddressType address)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:29,1
    - Dst: pcpp::CiscoHdlcLayer::setNextProtocol
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:33,1
    - Dst: pcpp::CiscoHdlcLayer::setNextProtocol
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: pcpp::CiscoHdlcLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CiscoHdlcLayer::setNextProtocol
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void CiscoHdlcLayer::computeCalculateFields()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:50,1
    - Dst: pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:50,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:56,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:61,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: pcpp::CiscoHdlcLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<PayloadLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - be16toh
    - pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void CiscoHdlcLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: pcpp::CiscoHdlcLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CiscoHdlcLayer::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AddressType>
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:79,1
    - Dst: pcpp::CiscoHdlcLayer::getAddressValue
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:79,1
    - Dst: static_cast<AddressType>
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:84,1
    - Dst: pcpp::CiscoHdlcLayer::getAddressValue
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: pcpp::CiscoHdlcLayer::getAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CiscoHdlcLayer::getAddressValue
    - static_cast<AddressType>
    linkageType: ''
    returnType: CiscoHdlcLayer::AddressType
    signature: CiscoHdlcLayer::AddressType CiscoHdlcLayer::getAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: pcpp::CiscoHdlcLayer::getAddressValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CiscoHdlcLayer::getAddressValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:102,1
    - Dst: pcpp::CiscoHdlcLayer::setAddressValue
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:105,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - address
    argTypes:
    - AddressType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: pcpp::CiscoHdlcLayer::setAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CiscoHdlcLayer::setAddressValue
    - std::invalid_argument
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void CiscoHdlcLayer::setAddress(AddressType address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - address
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pcpp::CiscoHdlcLayer::setAddressValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
    linkageType: ''
    returnType: void
    signature: void CiscoHdlcLayer::setAddressValue(uint8_t address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:115,1
    - Dst: pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: pcpp::CiscoHdlcLayer::getNextProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t CiscoHdlcLayer::getNextProtocol() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:120,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: pcpp::CiscoHdlcLayer::setNextProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
    linkageType: ''
    returnType: void
    signature: void CiscoHdlcLayer::setNextProtocol(uint16_t protocol)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: SomeIpSdOption::~SomeIpSdOption()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdOption::~SomeIpSdOption()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<OptionType>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:21,1
    - Dst: pcpp::SomeIpSdOption::getSomeIpSdOptionHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: pcpp::SomeIpSdOption::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdOption::getSomeIpSdOptionHeader
    - static_cast<OptionType>
    linkageType: ''
    returnType: SomeIpSdOption::OptionType
    signature: SomeIpSdOption::OptionType SomeIpSdOption::getType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdOption::getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: pcpp::SomeIpSdOption::getDataPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SomeIpSdOption::getDataPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SomeIpSdOption::getDataPtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdOption::getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: pcpp::SomeIpSdOption::getSomeIpSdOptionHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SomeIpSdOption::getDataPtr
    linkageType: ''
    returnType: SomeIpSdOption::someipsdhdroptionsbase
    signature: SomeIpSdOption::someipsdhdroptionsbase * SomeIpSdOption::getSomeIpSdOptionHeader()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdOption::getSomeIpSdOptionHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:39,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:41,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - OptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: pcpp::SomeIpSdOption::initStdFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::SomeIpSdOption::getSomeIpSdOptionHeader
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void SomeIpSdOption::initStdFields(OptionType type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:52,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:53,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:58,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:61,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:64,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:68,1
    - Dst: IPv4Address::toInt
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:69,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - type
    - ipAddress
    - port
    - l4Protocol
    argTypes:
    - IPv4OptionType
    - IPv4Address
    - uint16_t
    - SomeIpSdProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 72
    functionName: pcpp::SomeIpSdIPv4Option::SomeIpSdIPv4Option
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - initStdFields
    - IPv4Address::toInt
    - getDataPtr
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: "void SomeIpSdIPv4Option::SomeIpSdIPv4Option(IPv4OptionType type, IPv4Address
      ipAddress, uint16_t port,\n\t                                       SomeIpSdProtocolType
      l4Protocol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: pcpp::SomeIpSdIPv4Option::SomeIpSdIPv4Option
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdIPv4Option::SomeIpSdIPv4Option(const IDataContainer* dataContainer,
      size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: pcpp::SomeIpSdIPv4Option::getIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address SomeIpSdIPv4Option::getIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:90,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: pcpp::SomeIpSdIPv4Option::getPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getDataPtr
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpSdIPv4Option::getPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: pcpp::SomeIpSdIPv4Option::getProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    linkageType: ''
    returnType: SomeIpSdProtocolType
    signature: SomeIpSdProtocolType SomeIpSdIPv4Option::getProtocol() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:106,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:107,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:112,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:115,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:118,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:122,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:123,1
    - Dst: IPv6Address::toBytes
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:123,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - type
    - ipAddress
    - port
    - l4Protocol
    argTypes:
    - IPv6OptionType
    - IPv6Address
    - uint16_t
    - SomeIpSdProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 126
    functionName: pcpp::SomeIpSdIPv6Option::SomeIpSdIPv6Option
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - std::memcpy
    - initStdFields
    - getDataPtr
    - IPv6Address::toBytes
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: "void SomeIpSdIPv6Option::SomeIpSdIPv6Option(IPv6OptionType type, IPv6Address
      ipAddress, uint16_t port,\n\t                                       SomeIpSdProtocolType
      l4Protocol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: pcpp::SomeIpSdIPv6Option::SomeIpSdIPv6Option
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdIPv6Option::SomeIpSdIPv6Option(const IDataContainer* dataContainer,
      size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: pcpp::SomeIpSdIPv6Option::getIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address SomeIpSdIPv6Option::getIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:144,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: pcpp::SomeIpSdIPv6Option::getPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getDataPtr
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpSdIPv6Option::getPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: pcpp::SomeIpSdIPv6Option::getProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    linkageType: ''
    returnType: SomeIpSdProtocolType
    signature: SomeIpSdProtocolType SomeIpSdIPv6Option::getProtocol() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:158,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:159,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:160,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:162,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:163,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:163,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:163,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' configurationString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: pcpp::SomeIpSdConfigurationOption::SomeIpSdConfigurationOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - initStdFields
    - length
    - memset
    - getDataPtr
    - std::memcpy
    - uint8_t::uint8_t
    - c_str
    linkageType: ''
    returnType: void
    signature: void SomeIpSdConfigurationOption::SomeIpSdConfigurationOption(const
      std::string& configurationString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:170,1
    - Dst: getSomeIpSdOptionHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: pcpp::SomeIpSdConfigurationOption::SomeIpSdConfigurationOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getSomeIpSdOptionHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdConfigurationOption::SomeIpSdConfigurationOption(const
      IDataContainer* dataContainer, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:175,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:175,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:176,1
    - Dst: getSomeIpSdOptionHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: pcpp::SomeIpSdConfigurationOption::getConfigurationString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getDataPtr
    - string
    - getSomeIpSdOptionHeader
    linkageType: ''
    returnType: std::string
    signature: std::string SomeIpSdConfigurationOption::getConfigurationString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:184,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:185,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:187,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:189,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:190,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - priority
    - weight
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: pcpp::SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - initStdFields
    - getDataPtr
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption(uint16_t
      priority, uint16_t weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: pcpp::SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption(const
      IDataContainer* dataContainer, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:202,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: pcpp::SomeIpSdLoadBalancingOption::getPriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getDataPtr
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpSdLoadBalancingOption::getPriority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:208,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: pcpp::SomeIpSdLoadBalancingOption::getWeight
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getDataPtr
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpSdLoadBalancingOption::getWeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:217,1
    - Dst: pcpp::SomeIpSdEntry::setMinorVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - type
    - serviceID
    - instanceID
    - majorVersion
    - TTL
    - minorVersion
    argTypes:
    - EntryType
    - uint16_t
    - uint16_t
    - uint8_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: pcpp::SomeIpSdEntry::SomeIpSdEntry
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdEntry::initStdFields
    - pcpp::SomeIpSdEntry::setMinorVersion
    linkageType: ''
    returnType: void
    signature: "void SomeIpSdEntry::SomeIpSdEntry(EntryType type, uint16_t serviceID,
      uint16_t instanceID, uint8_t majorVersion,\n\t                             uint32_t
      TTL, uint32_t minorVersion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:224,1
    - Dst: pcpp::SomeIpSdEntry::setCounter
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:225,1
    - Dst: pcpp::SomeIpSdEntry::setEventgroupId
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - type
    - serviceID
    - instanceID
    - majorVersion
    - TTL
    - counter
    - eventGroupID
    argTypes:
    - EntryType
    - uint16_t
    - uint16_t
    - uint8_t
    - uint32_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: pcpp::SomeIpSdEntry::SomeIpSdEntry
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdEntry::setCounter
    - pcpp::SomeIpSdEntry::initStdFields
    - pcpp::SomeIpSdEntry::setEventgroupId
    linkageType: ''
    returnType: void
    signature: "void SomeIpSdEntry::SomeIpSdEntry(EntryType type, uint16_t serviceID,
      uint16_t instanceID, uint8_t majorVersion,\n\t                             uint32_t
      TTL, uint8_t counter, uint16_t eventGroupID)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:234,1
    - Dst: static_cast<TypeInternal>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:235,1
    - Dst: pcpp::SomeIpSdEntry::getTtl
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:236,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - pSomeIpSdLayer
    - offset
    argTypes:
    - SomeIpSdLayer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 279
    functionName: pcpp::SomeIpSdEntry::SomeIpSdEntry
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<TypeInternal>
    - pcpp::SomeIpSdEntry::getTtl
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::SomeIpSdEntry(const SomeIpSdLayer* pSomeIpSdLayer,
      size_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: SomeIpSdEntry::~SomeIpSdEntry()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::~SomeIpSdEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: pcpp::SomeIpSdEntry::getDataPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SomeIpSdEntry::getDataPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SomeIpSdEntry::getDataPtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SomeIpSdEntry::getDataPtr
    linkageType: ''
    returnType: SomeIpSdEntry::someipsdhdrentry
    signature: SomeIpSdEntry::someipsdhdrentry * SomeIpSdEntry::getSomeIpSdEntryHeader()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: pcpp::SomeIpSdEntry::getNumOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpSdEntry::getNumOptions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:308,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: pcpp::SomeIpSdEntry::getServiceId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpSdEntry::getServiceId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:313,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serviceId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: pcpp::SomeIpSdEntry::setServiceId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::setServiceId(uint16_t serviceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:318,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: pcpp::SomeIpSdEntry::getInstanceId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpSdEntry::getInstanceId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:323,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instanceId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: pcpp::SomeIpSdEntry::setInstanceId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::setInstanceId(uint16_t instanceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:328,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: pcpp::SomeIpSdEntry::getMajorVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpSdEntry::getMajorVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:333,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:334,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - majorVersion
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: pcpp::SomeIpSdEntry::setMajorVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - htobe32
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::setMajorVersion(uint8_t majorVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:340,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: pcpp::SomeIpSdEntry::getTtl
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - be32toh
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpSdEntry::getTtl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:345,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:347,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ttl
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: pcpp::SomeIpSdEntry::setTtl
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - htobe32
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::setTtl(uint32_t ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:353,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: pcpp::SomeIpSdEntry::getMinorVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpSdEntry::getMinorVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:358,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - minorVersion
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: pcpp::SomeIpSdEntry::setMinorVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe32
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::setMinorVersion(uint32_t minorVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:363,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: pcpp::SomeIpSdEntry::getCounter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpSdEntry::getCounter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:368,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:369,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - counter
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: pcpp::SomeIpSdEntry::setCounter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - be32toh
    - htobe32
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::setCounter(uint8_t counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:374,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: pcpp::SomeIpSdEntry::getEventgroupId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpSdEntry::getEventgroupId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:379,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:380,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eventgroupID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: pcpp::SomeIpSdEntry::setEventgroupId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - be32toh
    - htobe32
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::setEventgroupId(uint16_t eventgroupID)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:391,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:392,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:394,1
    - Dst: pcpp::SomeIpSdEntry::setServiceId
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:395,1
    - Dst: pcpp::SomeIpSdEntry::setInstanceId
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:396,1
    - Dst: pcpp::SomeIpSdEntry::setMajorVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:397,1
    - Dst: pcpp::SomeIpSdEntry::setTtl
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:398,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:404,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:410,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:416,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 5
    argNames:
    - type
    - serviceID
    - instanceID
    - majorVersion
    - TTL
    argTypes:
    - EntryType
    - uint16_t
    - uint16_t
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 428
    functionName: pcpp::SomeIpSdEntry::initStdFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::SomeIpSdEntry::setTtl
    - static_cast<uint8_t>
    - pcpp::SomeIpSdEntry::setInstanceId
    - pcpp::SomeIpSdEntry::setServiceId
    - pcpp::SomeIpSdEntry::setMajorVersion
    - memset
    - uint8_t::uint8_t
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: "void SomeIpSdEntry::initStdFields(EntryType type, uint16_t serviceID,
      uint16_t instanceID, uint8_t majorVersion,\n\t                                  uint32_t
      TTL)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::countOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: pcpp::SomeIpSdLayer::SomeIpSdLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdLayer::countOptions
    linkageType: ''
    returnType: void
    signature: void SomeIpSdLayer::SomeIpSdLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:442,1
    - Dst: setServiceID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:446,1
    - Dst: setMethodID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:447,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:448,1
    - Dst: setClientID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:449,1
    - Dst: setSessionID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:450,1
    - Dst: setProtocolVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:451,1
    - Dst: setInterfaceVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:452,1
    - Dst: setMessageType
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:453,1
    - Dst: setReturnCode
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:454,1
    - Dst: pcpp::SomeIpSdLayer::setFlags
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 8
    argNames:
    - serviceID
    - methodID
    - clientID
    - sessionID
    - interfaceVersion
    - type
    - returnCode
    - flags
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - MsgType
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 456
    functionName: pcpp::SomeIpSdLayer::SomeIpSdLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - setMessageType
    - setPayloadLength
    - pcpp::SomeIpSdLayer::setFlags
    - allocData
    - setReturnCode
    - setSessionID
    - setInterfaceVersion
    - setMethodID
    - setProtocolVersion
    - setClientID
    - setServiceID
    linkageType: ''
    returnType: void
    signature: "void SomeIpSdLayer::SomeIpSdLayer(uint16_t serviceID, uint16_t methodID,
      uint16_t clientID, uint16_t sessionID,\n\t                             uint8_t
      interfaceVersion, MsgType type, uint8_t returnCode, uint8_t flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: pcpp::SomeIpSdLayer::getFlags
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpSdLayer::getFlags() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: pcpp::SomeIpSdLayer::setFlags
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdLayer::setFlags(uint8_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: pcpp::SomeIpSdLayer::getNumEntries
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpSdLayer::getNumEntries() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: pcpp::SomeIpSdLayer::getNumOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpSdLayer::getNumOptions() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:482,1
    - Dst: SomeIpSdEntry::SomeIpSdEntry
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:495,1
    - Dst: EntryPtr::getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:497,1
    - Dst: EntriesVec::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 505
    functionName: pcpp::SomeIpSdLayer::getEntries
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - SomeIpSdEntry::SomeIpSdEntry
    - EntriesVec::push_back
    - EntryPtr::getLength
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: SomeIpSdLayer::EntriesVec
    signature: SomeIpSdLayer::EntriesVec SomeIpSdLayer::getEntries() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:512,1
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:513,1
    - Dst: static_cast<SomeIpSdOption::OptionType>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:518,1
    - Dst: pcpp::SomeIpSdLayer::parseOption
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:520,1
    - Dst: OptionsVec::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:524,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:524,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 533
    functionName: pcpp::SomeIpSdLayer::getOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdLayer::parseOption
    - pcpp::SomeIpSdLayer::getLenOptions
    - OptionsVec::push_back
    - be16toh
    - static_cast<SomeIpSdOption::OptionType>
    - pcpp::SomeIpSdLayer::getLenEntries
    - std::move
    linkageType: ''
    returnType: SomeIpSdLayer::OptionsVec
    signature: SomeIpSdLayer::OptionsVec SomeIpSdLayer::getOptions() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getNumEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:540,1
    - Dst: pcpp::SomeIpSdLayer::getLenOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:543,1
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:544,1
    - Dst: static_cast<SomeIpSdOption::OptionType>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:563,1
    - Dst: pcpp::SomeIpSdLayer::parseOption
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:565,1
    - Dst: OptionsVec::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:569,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:569,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:573,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 580
    functionName: pcpp::SomeIpSdLayer::getOptionsFromEntry
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdLayer::getNumEntries
    - pcpp::SomeIpSdLayer::parseOption
    - pcpp::SomeIpSdLayer::getLenOptions
    - OptionsVec::push_back
    - be16toh
    - static_cast<SomeIpSdOption::OptionType>
    - pcpp::SomeIpSdLayer::getLenEntries
    - std::move
    linkageType: ''
    returnType: SomeIpSdLayer::OptionsVec
    signature: SomeIpSdLayer::OptionsVec SomeIpSdLayer::getOptionsFromEntry(uint32_t
      index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getNumEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:584,1
    - Dst: pcpp::SomeIpSdLayer::findOption
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:589,1
    - Dst: pcpp::SomeIpSdLayer::addOptionIndex
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:590,1
    - Dst: pcpp::SomeIpSdLayer::addOption
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - indexEntry
    - ' option'
    argTypes:
    - uint32_t
    - SomeIpSdOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 603
    functionName: pcpp::SomeIpSdLayer::addOptionTo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdLayer::getNumEntries
    - pcpp::SomeIpSdLayer::addOptionIndex
    - pcpp::SomeIpSdLayer::findOption
    - pcpp::SomeIpSdLayer::addOption
    linkageType: ''
    returnType: bool
    signature: bool SomeIpSdLayer::addOptionTo(uint32_t indexEntry, const SomeIpSdOption&
      option)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getNumEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:609,1
    - Dst: pcpp::SomeIpSdLayer::getNumOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:609,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 612
    functionName: pcpp::SomeIpSdLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdLayer::getNumEntries
    - std::stringstream::str
    - pcpp::SomeIpSdLayer::getNumOptions
    linkageType: ''
    returnType: std::string
    signature: std::string SomeIpSdLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:616,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:619,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:619,1
    - Dst: pcpp::SomeIpSdLayer::setLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:621,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:621,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:623,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:623,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:623,1
    - Dst: getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:625,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:626,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:626,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:626,1
    - Dst: pcpp::SomeIpSdLayer::getNumEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - SomeIpSdEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 629
    functionName: pcpp::SomeIpSdLayer::addEntry
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - pcpp::SomeIpSdLayer::getNumEntries
    - be32toh
    - getSomeIpHeader
    - getLength
    - memcpy
    - htobe32
    - getDataPtr
    - pcpp::SomeIpSdLayer::setLenEntries
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpSdLayer::addEntry(const SomeIpSdEntry& entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:635,1
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:637,1
    - Dst: pcpp::SomeIpSdLayer::getLenOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:637,1
    - Dst: pcpp::SomeIpSdLayer::countOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 644
    functionName: pcpp::SomeIpSdLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdLayer::countOptions
    - pcpp::SomeIpSdLayer::getLenOptions
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: bool
    signature: bool SomeIpSdLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:648,1
    - Dst: pcpp::SomeIpSdLayer::getLenOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:649,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' count'
    - data
    argTypes:
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 666
    functionName: pcpp::SomeIpSdLayer::countOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - pcpp::SomeIpSdLayer::getLenOptions
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: bool
    signature: bool SomeIpSdLayer::countOptions(uint32_t& count, const uint8_t* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:670,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:675,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:677,1
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:679,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:679,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - SomeIpSdOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 689
    functionName: pcpp::SomeIpSdLayer::findOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - memcmp
    - getLength
    - be16toh
    - getDataPtr
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpSdLayer::findOption(const SomeIpSdOption& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:693,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:695,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:695,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:696,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:696,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:696,1
    - Dst: pcpp::SomeIpSdLayer::setLenOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:698,1
    - Dst: pcpp::SomeIpSdLayer::getLenOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:698,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:698,1
    - Dst: getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:700,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:701,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:701,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - SomeIpSdOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 704
    functionName: pcpp::SomeIpSdLayer::addOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - extendLayer
    - pcpp::SomeIpSdLayer::setLenOptions
    - getHeaderLen
    - pcpp::SomeIpSdLayer::getLenOptions
    - be32toh
    - getSomeIpHeader
    - getLength
    - memcpy
    - htobe32
    - getDataPtr
    linkageType: ''
    returnType: void
    signature: void SomeIpSdLayer::addOption(const SomeIpSdOption& option)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:732,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - indexEntry
    - indexOffset
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 755
    functionName: pcpp::SomeIpSdLayer::addOptionIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool SomeIpSdLayer::addOptionIndex(uint32_t indexEntry, uint32_t indexOffset)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SomeIpSdIPv4Option::SomeIpSdIPv4Option
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:765,1
    - Dst: SomeIpSdIPv6Option::SomeIpSdIPv6Option
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:771,1
    - Dst: SomeIpSdConfigurationOption::SomeIpSdConfigurationOption
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:775,1
    - Dst: SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - type
    - offset
    argTypes:
    - SomeIpSdOption::OptionType
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 785
    functionName: pcpp::SomeIpSdLayer::parseOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 2
    functionsReached:
    - SomeIpSdIPv6Option::SomeIpSdIPv6Option
    - SomeIpSdIPv4Option::SomeIpSdIPv4Option
    - SomeIpSdConfigurationOption::SomeIpSdConfigurationOption
    - SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption
    linkageType: ''
    returnType: SomeIpSdLayer::OptionPtr
    signature: SomeIpSdLayer::OptionPtr SomeIpSdLayer::parseOption(SomeIpSdOption::OptionType
      type, size_t offset) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: pcpp::SomeIpSdLayer::getLenEntries
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 9
    functionsReached:
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: size_t
    signature: size_t SomeIpSdLayer::getLenEntries() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 795
    functionName: pcpp::SomeIpSdLayer::getLenEntries
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 9
    functionsReached:
    - be32toh
    linkageType: ''
    returnType: size_t
    signature: size_t SomeIpSdLayer::getLenEntries(const uint8_t* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 800
    functionName: pcpp::SomeIpSdLayer::getLenOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 6
    functionsReached:
    - pcpp::SomeIpSdLayer::getLenOptions
    linkageType: ''
    returnType: size_t
    signature: size_t SomeIpSdLayer::getLenOptions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:804,1
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: pcpp::SomeIpSdLayer::getLenOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 6
    functionsReached:
    - be32toh
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: size_t
    signature: size_t SomeIpSdLayer::getLenOptions(const uint8_t* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: pcpp::SomeIpSdLayer::setLenEntries
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe32
    linkageType: ''
    returnType: void
    signature: void SomeIpSdLayer::setLenEntries(uint32_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:814,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 815
    functionName: pcpp::SomeIpSdLayer::setLenOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe32
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: void
    signature: void SomeIpSdLayer::setLenOptions(uint32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: SomeIpSdOption::~SomeIpSdOption()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdOption::~SomeIpSdOption()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<OptionType>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:21,1
    - Dst: pcpp::SomeIpSdOption::getSomeIpSdOptionHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: pcpp::SomeIpSdOption::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdOption::getSomeIpSdOptionHeader
    - static_cast<OptionType>
    linkageType: ''
    returnType: SomeIpSdOption::OptionType
    signature: SomeIpSdOption::OptionType SomeIpSdOption::getType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdOption::getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: pcpp::SomeIpSdOption::getDataPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 3
    functionsReached:
    - pcpp::SomeIpSdOption::getDataPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SomeIpSdOption::getDataPtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdOption::getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: pcpp::SomeIpSdOption::getSomeIpSdOptionHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 3
    functionsReached:
    - pcpp::SomeIpSdOption::getDataPtr
    linkageType: ''
    returnType: SomeIpSdOption::someipsdhdroptionsbase
    signature: SomeIpSdOption::someipsdhdroptionsbase * SomeIpSdOption::getSomeIpSdOptionHeader()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdOption::getSomeIpSdOptionHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:39,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:41,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - OptionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: pcpp::SomeIpSdOption::initStdFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::SomeIpSdOption::getSomeIpSdOptionHeader
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void SomeIpSdOption::initStdFields(OptionType type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:52,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:53,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:58,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:61,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:64,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:68,1
    - Dst: IPv4Address::toInt
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:69,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - type
    - ipAddress
    - port
    - l4Protocol
    argTypes:
    - IPv4OptionType
    - IPv4Address
    - uint16_t
    - SomeIpSdProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 72
    functionName: pcpp::SomeIpSdIPv4Option::SomeIpSdIPv4Option
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - initStdFields
    - IPv4Address::toInt
    - getDataPtr
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: "void SomeIpSdIPv4Option::SomeIpSdIPv4Option(IPv4OptionType type, IPv4Address
      ipAddress, uint16_t port,\n\t                                       SomeIpSdProtocolType
      l4Protocol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: pcpp::SomeIpSdIPv4Option::SomeIpSdIPv4Option
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdIPv4Option::SomeIpSdIPv4Option(const IDataContainer* dataContainer,
      size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: pcpp::SomeIpSdIPv4Option::getIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address SomeIpSdIPv4Option::getIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:90,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: pcpp::SomeIpSdIPv4Option::getPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getDataPtr
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpSdIPv4Option::getPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: pcpp::SomeIpSdIPv4Option::getProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    linkageType: ''
    returnType: SomeIpSdProtocolType
    signature: SomeIpSdProtocolType SomeIpSdIPv4Option::getProtocol() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:106,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:107,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:112,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:115,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:118,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:122,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:123,1
    - Dst: IPv6Address::toBytes
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:123,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - type
    - ipAddress
    - port
    - l4Protocol
    argTypes:
    - IPv6OptionType
    - IPv6Address
    - uint16_t
    - SomeIpSdProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 126
    functionName: pcpp::SomeIpSdIPv6Option::SomeIpSdIPv6Option
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - std::memcpy
    - initStdFields
    - getDataPtr
    - IPv6Address::toBytes
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: "void SomeIpSdIPv6Option::SomeIpSdIPv6Option(IPv6OptionType type, IPv6Address
      ipAddress, uint16_t port,\n\t                                       SomeIpSdProtocolType
      l4Protocol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: pcpp::SomeIpSdIPv6Option::SomeIpSdIPv6Option
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdIPv6Option::SomeIpSdIPv6Option(const IDataContainer* dataContainer,
      size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: pcpp::SomeIpSdIPv6Option::getIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address SomeIpSdIPv6Option::getIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:144,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: pcpp::SomeIpSdIPv6Option::getPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getDataPtr
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpSdIPv6Option::getPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: pcpp::SomeIpSdIPv6Option::getProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - getDataPtr
    linkageType: ''
    returnType: SomeIpSdProtocolType
    signature: SomeIpSdProtocolType SomeIpSdIPv6Option::getProtocol() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:158,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:159,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:160,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:162,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:163,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:163,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:163,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' configurationString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: pcpp::SomeIpSdConfigurationOption::SomeIpSdConfigurationOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - initStdFields
    - length
    - memset
    - getDataPtr
    - std::memcpy
    - uint8_t::uint8_t
    - c_str
    linkageType: ''
    returnType: void
    signature: void SomeIpSdConfigurationOption::SomeIpSdConfigurationOption(const
      std::string& configurationString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:170,1
    - Dst: getSomeIpSdOptionHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: pcpp::SomeIpSdConfigurationOption::SomeIpSdConfigurationOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getSomeIpSdOptionHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdConfigurationOption::SomeIpSdConfigurationOption(const
      IDataContainer* dataContainer, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:175,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:175,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:176,1
    - Dst: getSomeIpSdOptionHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: pcpp::SomeIpSdConfigurationOption::getConfigurationString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getDataPtr
    - string
    - getSomeIpSdOptionHeader
    linkageType: ''
    returnType: std::string
    signature: std::string SomeIpSdConfigurationOption::getConfigurationString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:184,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:185,1
    - Dst: initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:187,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:189,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:190,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - priority
    - weight
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: pcpp::SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - initStdFields
    - getDataPtr
    - memset
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption(uint16_t
      priority, uint16_t weight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: pcpp::SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption(const
      IDataContainer* dataContainer, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:202,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: pcpp::SomeIpSdLoadBalancingOption::getPriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getDataPtr
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpSdLoadBalancingOption::getPriority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:208,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: pcpp::SomeIpSdLoadBalancingOption::getWeight
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getDataPtr
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpSdLoadBalancingOption::getWeight() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:217,1
    - Dst: pcpp::SomeIpSdEntry::setMinorVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - type
    - serviceID
    - instanceID
    - majorVersion
    - TTL
    - minorVersion
    argTypes:
    - EntryType
    - uint16_t
    - uint16_t
    - uint8_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: pcpp::SomeIpSdEntry::SomeIpSdEntry
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdEntry::initStdFields
    - pcpp::SomeIpSdEntry::setMinorVersion
    linkageType: ''
    returnType: void
    signature: "void SomeIpSdEntry::SomeIpSdEntry(EntryType type, uint16_t serviceID,
      uint16_t instanceID, uint8_t majorVersion,\n\t                             uint32_t
      TTL, uint32_t minorVersion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::initStdFields
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:224,1
    - Dst: pcpp::SomeIpSdEntry::setCounter
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:225,1
    - Dst: pcpp::SomeIpSdEntry::setEventgroupId
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - type
    - serviceID
    - instanceID
    - majorVersion
    - TTL
    - counter
    - eventGroupID
    argTypes:
    - EntryType
    - uint16_t
    - uint16_t
    - uint8_t
    - uint32_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: pcpp::SomeIpSdEntry::SomeIpSdEntry
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdEntry::setCounter
    - pcpp::SomeIpSdEntry::initStdFields
    - pcpp::SomeIpSdEntry::setEventgroupId
    linkageType: ''
    returnType: void
    signature: "void SomeIpSdEntry::SomeIpSdEntry(EntryType type, uint16_t serviceID,
      uint16_t instanceID, uint8_t majorVersion,\n\t                             uint32_t
      TTL, uint8_t counter, uint16_t eventGroupID)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:234,1
    - Dst: static_cast<TypeInternal>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:235,1
    - Dst: pcpp::SomeIpSdEntry::getTtl
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:236,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - pSomeIpSdLayer
    - offset
    argTypes:
    - SomeIpSdLayer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 279
    functionName: pcpp::SomeIpSdEntry::SomeIpSdEntry
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<TypeInternal>
    - pcpp::SomeIpSdEntry::getTtl
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::SomeIpSdEntry(const SomeIpSdLayer* pSomeIpSdLayer,
      size_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: SomeIpSdEntry::~SomeIpSdEntry()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::~SomeIpSdEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: pcpp::SomeIpSdEntry::getDataPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 3
    functionsReached:
    - pcpp::SomeIpSdEntry::getDataPtr
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * SomeIpSdEntry::getDataPtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 18
    functionsReached:
    - pcpp::SomeIpSdEntry::getDataPtr
    linkageType: ''
    returnType: SomeIpSdEntry::someipsdhdrentry
    signature: SomeIpSdEntry::someipsdhdrentry * SomeIpSdEntry::getSomeIpSdEntryHeader()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: pcpp::SomeIpSdEntry::getNumOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpSdEntry::getNumOptions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:308,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: pcpp::SomeIpSdEntry::getServiceId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpSdEntry::getServiceId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:313,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serviceId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: pcpp::SomeIpSdEntry::setServiceId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::setServiceId(uint16_t serviceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:318,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: pcpp::SomeIpSdEntry::getInstanceId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpSdEntry::getInstanceId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:323,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instanceId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: pcpp::SomeIpSdEntry::setInstanceId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::setInstanceId(uint16_t instanceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:328,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: pcpp::SomeIpSdEntry::getMajorVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpSdEntry::getMajorVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:333,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:334,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - majorVersion
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 336
    functionName: pcpp::SomeIpSdEntry::setMajorVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - be32toh
    - htobe32
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::setMajorVersion(uint8_t majorVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:340,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: pcpp::SomeIpSdEntry::getTtl
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 2
    functionsReached:
    - be32toh
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpSdEntry::getTtl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:345,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:347,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ttl
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: pcpp::SomeIpSdEntry::setTtl
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached:
    - be32toh
    - htobe32
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::setTtl(uint32_t ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:353,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: pcpp::SomeIpSdEntry::getMinorVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpSdEntry::getMinorVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:358,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - minorVersion
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: pcpp::SomeIpSdEntry::setMinorVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe32
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::setMinorVersion(uint32_t minorVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:363,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: pcpp::SomeIpSdEntry::getCounter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpSdEntry::getCounter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:368,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:369,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - counter
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: pcpp::SomeIpSdEntry::setCounter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 2
    functionsReached:
    - be32toh
    - htobe32
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::setCounter(uint8_t counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:374,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: pcpp::SomeIpSdEntry::getEventgroupId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpSdEntry::getEventgroupId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:379,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:380,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eventgroupID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: pcpp::SomeIpSdEntry::setEventgroupId
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 2
    functionsReached:
    - be32toh
    - htobe32
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry::setEventgroupId(uint16_t eventgroupID)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:391,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:392,1
    - Dst: pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:394,1
    - Dst: pcpp::SomeIpSdEntry::setServiceId
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:395,1
    - Dst: pcpp::SomeIpSdEntry::setInstanceId
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:396,1
    - Dst: pcpp::SomeIpSdEntry::setMajorVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:397,1
    - Dst: pcpp::SomeIpSdEntry::setTtl
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:398,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:404,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:410,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:416,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 5
    argNames:
    - type
    - serviceID
    - instanceID
    - majorVersion
    - TTL
    argTypes:
    - EntryType
    - uint16_t
    - uint16_t
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 428
    functionName: pcpp::SomeIpSdEntry::initStdFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 4
    functionsReached:
    - pcpp::SomeIpSdEntry::setTtl
    - static_cast<uint8_t>
    - pcpp::SomeIpSdEntry::setInstanceId
    - pcpp::SomeIpSdEntry::setServiceId
    - pcpp::SomeIpSdEntry::setMajorVersion
    - memset
    - uint8_t::uint8_t
    - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
    linkageType: ''
    returnType: void
    signature: "void SomeIpSdEntry::initStdFields(EntryType type, uint16_t serviceID,
      uint16_t instanceID, uint8_t majorVersion,\n\t                                  uint32_t
      TTL)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::countOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: pcpp::SomeIpSdLayer::SomeIpSdLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdLayer::countOptions
    linkageType: ''
    returnType: void
    signature: void SomeIpSdLayer::SomeIpSdLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:442,1
    - Dst: setServiceID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:446,1
    - Dst: setMethodID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:447,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:448,1
    - Dst: setClientID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:449,1
    - Dst: setSessionID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:450,1
    - Dst: setProtocolVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:451,1
    - Dst: setInterfaceVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:452,1
    - Dst: setMessageType
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:453,1
    - Dst: setReturnCode
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:454,1
    - Dst: pcpp::SomeIpSdLayer::setFlags
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 8
    argNames:
    - serviceID
    - methodID
    - clientID
    - sessionID
    - interfaceVersion
    - type
    - returnCode
    - flags
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - MsgType
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 456
    functionName: pcpp::SomeIpSdLayer::SomeIpSdLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - setMessageType
    - setPayloadLength
    - pcpp::SomeIpSdLayer::setFlags
    - allocData
    - setReturnCode
    - setSessionID
    - setInterfaceVersion
    - setMethodID
    - setProtocolVersion
    - setClientID
    - setServiceID
    linkageType: ''
    returnType: void
    signature: "void SomeIpSdLayer::SomeIpSdLayer(uint16_t serviceID, uint16_t methodID,
      uint16_t clientID, uint16_t sessionID,\n\t                             uint8_t
      interfaceVersion, MsgType type, uint8_t returnCode, uint8_t flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: pcpp::SomeIpSdLayer::getFlags
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpSdLayer::getFlags() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: pcpp::SomeIpSdLayer::setFlags
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdLayer::setFlags(uint8_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: pcpp::SomeIpSdLayer::getNumEntries
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 4
    functionsReached:
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpSdLayer::getNumEntries() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: pcpp::SomeIpSdLayer::getNumOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpSdLayer::getNumOptions() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:482,1
    - Dst: SomeIpSdEntry::SomeIpSdEntry
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:495,1
    - Dst: EntryPtr::getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:497,1
    - Dst: EntriesVec::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 505
    functionName: pcpp::SomeIpSdLayer::getEntries
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - SomeIpSdEntry::SomeIpSdEntry
    - EntriesVec::push_back
    - EntryPtr::getLength
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: SomeIpSdLayer::EntriesVec
    signature: SomeIpSdLayer::EntriesVec SomeIpSdLayer::getEntries() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:512,1
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:513,1
    - Dst: static_cast<SomeIpSdOption::OptionType>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:518,1
    - Dst: pcpp::SomeIpSdLayer::parseOption
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:520,1
    - Dst: OptionsVec::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:524,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:524,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 533
    functionName: pcpp::SomeIpSdLayer::getOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdLayer::parseOption
    - pcpp::SomeIpSdLayer::getLenOptions
    - OptionsVec::push_back
    - be16toh
    - static_cast<SomeIpSdOption::OptionType>
    - pcpp::SomeIpSdLayer::getLenEntries
    - std::move
    linkageType: ''
    returnType: SomeIpSdLayer::OptionsVec
    signature: SomeIpSdLayer::OptionsVec SomeIpSdLayer::getOptions() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getNumEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:540,1
    - Dst: pcpp::SomeIpSdLayer::getLenOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:543,1
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:544,1
    - Dst: static_cast<SomeIpSdOption::OptionType>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:563,1
    - Dst: pcpp::SomeIpSdLayer::parseOption
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:565,1
    - Dst: OptionsVec::push_back
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:569,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:569,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:573,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - index
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 580
    functionName: pcpp::SomeIpSdLayer::getOptionsFromEntry
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdLayer::getNumEntries
    - pcpp::SomeIpSdLayer::parseOption
    - pcpp::SomeIpSdLayer::getLenOptions
    - OptionsVec::push_back
    - be16toh
    - static_cast<SomeIpSdOption::OptionType>
    - pcpp::SomeIpSdLayer::getLenEntries
    - std::move
    linkageType: ''
    returnType: SomeIpSdLayer::OptionsVec
    signature: SomeIpSdLayer::OptionsVec SomeIpSdLayer::getOptionsFromEntry(uint32_t
      index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getNumEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:584,1
    - Dst: pcpp::SomeIpSdLayer::findOption
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:589,1
    - Dst: pcpp::SomeIpSdLayer::addOptionIndex
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:590,1
    - Dst: pcpp::SomeIpSdLayer::addOption
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - indexEntry
    - ' option'
    argTypes:
    - uint32_t
    - SomeIpSdOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 603
    functionName: pcpp::SomeIpSdLayer::addOptionTo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdLayer::getNumEntries
    - pcpp::SomeIpSdLayer::addOptionIndex
    - pcpp::SomeIpSdLayer::findOption
    - pcpp::SomeIpSdLayer::addOption
    linkageType: ''
    returnType: bool
    signature: bool SomeIpSdLayer::addOptionTo(uint32_t indexEntry, const SomeIpSdOption&
      option)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getNumEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:609,1
    - Dst: pcpp::SomeIpSdLayer::getNumOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:609,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 612
    functionName: pcpp::SomeIpSdLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdLayer::getNumEntries
    - std::stringstream::str
    - pcpp::SomeIpSdLayer::getNumOptions
    linkageType: ''
    returnType: std::string
    signature: std::string SomeIpSdLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:616,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:619,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:619,1
    - Dst: pcpp::SomeIpSdLayer::setLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:621,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:621,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:623,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:623,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:623,1
    - Dst: getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:625,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:626,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:626,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:626,1
    - Dst: pcpp::SomeIpSdLayer::getNumEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' entry'
    argTypes:
    - SomeIpSdEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 629
    functionName: pcpp::SomeIpSdLayer::addEntry
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - pcpp::SomeIpSdLayer::getNumEntries
    - be32toh
    - getSomeIpHeader
    - getLength
    - memcpy
    - htobe32
    - getDataPtr
    - pcpp::SomeIpSdLayer::setLenEntries
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpSdLayer::addEntry(const SomeIpSdEntry& entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:635,1
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:637,1
    - Dst: pcpp::SomeIpSdLayer::getLenOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:637,1
    - Dst: pcpp::SomeIpSdLayer::countOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 644
    functionName: pcpp::SomeIpSdLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdLayer::countOptions
    - pcpp::SomeIpSdLayer::getLenOptions
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: bool
    signature: bool SomeIpSdLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:648,1
    - Dst: pcpp::SomeIpSdLayer::getLenOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:649,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' count'
    - data
    argTypes:
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 666
    functionName: pcpp::SomeIpSdLayer::countOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 4
    functionsReached:
    - be16toh
    - pcpp::SomeIpSdLayer::getLenOptions
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: bool
    signature: bool SomeIpSdLayer::countOptions(uint32_t& count, const uint8_t* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:670,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:675,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:677,1
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:679,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:679,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - SomeIpSdOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 689
    functionName: pcpp::SomeIpSdLayer::findOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 2
    functionsReached:
    - memcmp
    - getLength
    - be16toh
    - getDataPtr
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpSdLayer::findOption(const SomeIpSdOption& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:693,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:695,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:695,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:696,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:696,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:696,1
    - Dst: pcpp::SomeIpSdLayer::setLenOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:698,1
    - Dst: pcpp::SomeIpSdLayer::getLenOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:698,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:698,1
    - Dst: getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:700,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:701,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:701,1
    - Dst: getLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' option'
    argTypes:
    - SomeIpSdOption
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 704
    functionName: pcpp::SomeIpSdLayer::addOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - pcpp::SomeIpSdLayer::setLenOptions
    - getHeaderLen
    - pcpp::SomeIpSdLayer::getLenOptions
    - be32toh
    - getSomeIpHeader
    - getLength
    - memcpy
    - htobe32
    - getDataPtr
    linkageType: ''
    returnType: void
    signature: void SomeIpSdLayer::addOption(const SomeIpSdOption& option)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:732,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - indexEntry
    - indexOffset
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 755
    functionName: pcpp::SomeIpSdLayer::addOptionIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool SomeIpSdLayer::addOptionIndex(uint32_t indexEntry, uint32_t indexOffset)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SomeIpSdIPv4Option::SomeIpSdIPv4Option
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:765,1
    - Dst: SomeIpSdIPv6Option::SomeIpSdIPv6Option
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:771,1
    - Dst: SomeIpSdConfigurationOption::SomeIpSdConfigurationOption
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:775,1
    - Dst: SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - type
    - offset
    argTypes:
    - SomeIpSdOption::OptionType
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 785
    functionName: pcpp::SomeIpSdLayer::parseOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 4
    functionsReached:
    - SomeIpSdIPv6Option::SomeIpSdIPv6Option
    - SomeIpSdIPv4Option::SomeIpSdIPv4Option
    - SomeIpSdConfigurationOption::SomeIpSdConfigurationOption
    - SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption
    linkageType: ''
    returnType: SomeIpSdLayer::OptionPtr
    signature: SomeIpSdLayer::OptionPtr SomeIpSdLayer::parseOption(SomeIpSdOption::OptionType
      type, size_t offset) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: pcpp::SomeIpSdLayer::getLenEntries
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 20
    functionsReached:
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: size_t
    signature: size_t SomeIpSdLayer::getLenEntries() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 795
    functionName: pcpp::SomeIpSdLayer::getLenEntries
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 20
    functionsReached:
    - be32toh
    linkageType: ''
    returnType: size_t
    signature: size_t SomeIpSdLayer::getLenEntries(const uint8_t* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenOptions
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 800
    functionName: pcpp::SomeIpSdLayer::getLenOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 12
    functionsReached:
    - pcpp::SomeIpSdLayer::getLenOptions
    linkageType: ''
    returnType: size_t
    signature: size_t SomeIpSdLayer::getLenOptions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:804,1
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: pcpp::SomeIpSdLayer::getLenOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 12
    functionsReached:
    - be32toh
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: size_t
    signature: size_t SomeIpSdLayer::getLenOptions(const uint8_t* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: pcpp::SomeIpSdLayer::setLenEntries
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe32
    linkageType: ''
    returnType: void
    signature: void SomeIpSdLayer::setLenEntries(uint32_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::getLenEntries
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:814,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 815
    functionName: pcpp::SomeIpSdLayer::setLenOptions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe32
    - pcpp::SomeIpSdLayer::getLenEntries
    linkageType: ''
    returnType: void
    signature: void SomeIpSdLayer::setLenOptions(uint32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:17,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:19,1
    - Dst: pcpp::TextBasedProtocolMessage::addField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' fieldName'
    - ' fieldValue'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: pcpp::HttpMessage::addField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TextBasedProtocolMessage::addField
    - getFieldByName
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * HttpMessage::addField(const std::string& fieldName, const
      std::string& fieldValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:28,1
    - Dst: getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:28,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:30,1
    - Dst: getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:30,1
    - Dst: pcpp::TextBasedProtocolMessage::addField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' newField'
    argTypes:
    - HeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: pcpp::HttpMessage::addField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TextBasedProtocolMessage::addField
    - PCPP_LOG_ERROR
    - getFieldByName
    - getFieldName
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * HttpMessage::addField(const HeaderField& newField)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:40,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:42,1
    - Dst: pcpp::TextBasedProtocolMessage::insertField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - prevField
    - ' fieldName'
    - ' fieldValue'
    argTypes:
    - HeaderField*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: pcpp::HttpMessage::insertField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TextBasedProtocolMessage::insertField
    - getFieldByName
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: HeaderField
    signature: "HeaderField * HttpMessage::insertField(HeaderField* prevField, const
      std::string& fieldName,\n\t                                      const std::string&
      fieldValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:51,1
    - Dst: getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:51,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:53,1
    - Dst: getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:53,1
    - Dst: pcpp::TextBasedProtocolMessage::insertField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - prevField
    - ' newField'
    argTypes:
    - HeaderField*
    - HeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: pcpp::HttpMessage::insertField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - pcpp::TextBasedProtocolMessage::insertField
    - getFieldByName
    - getFieldName
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * HttpMessage::insertField(HeaderField* prevField, const
      HeaderField& newField)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestFirstLine::HttpRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:65,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:66,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:66,1
    - Dst: parseFields
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: pcpp::HttpRequestLayer::HttpRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - HttpRequestFirstLine::HttpRequestFirstLine
    - getSize
    - parseFields
    linkageType: ''
    returnType: void
    signature: void HttpRequestLayer::HttpRequestLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestFirstLine::HttpRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:73,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:74,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - method
    - ' uri'
    - version
    argTypes:
    - HttpMethod
    - std::string
    - HttpVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: pcpp::HttpRequestLayer::HttpRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - HttpRequestFirstLine::HttpRequestFirstLine
    - getSize
    linkageType: ''
    returnType: void
    signature: void HttpRequestLayer::HttpRequestLayer(HttpMethod method, const std::string&
      uri, HttpVersion version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestFirstLine::HttpRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HttpRequestLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: pcpp::HttpRequestLayer::HttpRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - HttpRequestFirstLine::HttpRequestFirstLine
    linkageType: ''
    returnType: void
    signature: void HttpRequestLayer::HttpRequestLayer(const HttpRequestLayer& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpMessage::operator=
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:84,1
    - Dst: HttpRequestFirstLine::HttpRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HttpRequestLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: '& HttpRequestLayer::operator=(const HttpRequestLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - HttpMessage::operator=
    - HttpRequestFirstLine::HttpRequestFirstLine
    linkageType: ''
    returnType: HttpRequestLayer
    signature: HttpRequestLayer & HttpRequestLayer::operator=(const HttpRequestLayer&
      other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:96,1
    - Dst: getUri
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:98,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:100,1
    - Dst: getUri
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: pcpp::HttpRequestLayer::getUrl
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - getUri
    - HeaderField*::getFieldValue
    - getFieldByName
    linkageType: ''
    returnType: std::string
    signature: std::string HttpRequestLayer::getUrl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: HttpRequestLayer::~HttpRequestLayer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpRequestLayer::~HttpRequestLayer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:112,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:115,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:120,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:121,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:121,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:123,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:129,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:129,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 138
    functionName: pcpp::HttpRequestLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - getSize
    - string
    - char::char
    - strncpy
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string HttpRequestLayer::toString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HttpRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:168,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:168,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:172,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:176,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:181,1
    - Dst: pcpp::HttpRequestFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:184,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:188,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:193,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:201,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:205,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:209,1
    - Dst: pcpp::HttpRequestFirstLine::getUri
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - httpRequest
    argTypes:
    - HttpRequestLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 213
    functionName: pcpp::HttpRequestFirstLine::HttpRequestFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - length
    - getDataLen
    - pcpp::HttpRequestFirstLine::parseVersion
    - memchr
    - PCPP_LOG_DEBUG
    - pcpp::HttpRequestFirstLine::getUri
    - pcpp::HttpRequestFirstLine::parseMethod
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void HttpRequestFirstLine::HttpRequestFirstLine(HttpRequestLayer* httpRequest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:222,1
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:228,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:240,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:241,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:242,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:245,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:246,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:247,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:247,1
    - Dst: std::terminate
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - httpRequest
    - method
    - version
    - ' uri'
    argTypes:
    - HttpRequestLayer*
    - HttpRequestLayer::HttpMethod
    - HttpVersion
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 259
    functionName: pcpp::HttpRequestFirstLine::HttpRequestFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - length
    - setMessage
    - memcpy
    - std::string::c_str
    - std::terminate
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: "void HttpRequestFirstLine::HttpRequestFirstLine(HttpRequestLayer*
      httpRequest, HttpRequestLayer::HttpMethod method,\n\t                                           HttpVersion
      version, const std::string& uri)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:279,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:279,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 285
    functionName: pcpp::HttpRequestFirstLine::parseMethod
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 3
    functionsReached:
    - end
    - find
    - string
    linkageType: ''
    returnType: HttpRequestLayer::HttpMethod
    signature: HttpRequestLayer::HttpMethod HttpRequestFirstLine::parseMethod(const
      char* data, size_t dataLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cross_platform_memmem
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:290,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:290,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:300,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:300,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:309,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:309,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 320
    functionName: pcpp::HttpRequestFirstLine::parseVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 1
    functionsReached:
    - cross_platform_memmem
    - end
    - getDataLen
    - static_cast<size_t>
    - string
    - find
    linkageType: ''
    returnType: void
    signature: void HttpRequestFirstLine::parseVersion()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:326,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:331,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:331,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:334,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:336,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:342,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:344,1
    - Dst: shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:350,1
    - Dst: getFirstField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:350,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:352,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:352,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - newMethod
    argTypes:
    - HttpRequestLayer::HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 359
    functionName: pcpp::HttpRequestFirstLine::setMethod
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - shiftFieldsOffset
    - getFirstField
    - length
    - PCPP_LOG_ERROR
    - memcpy
    - shortenLayer
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool HttpRequestFirstLine::setMethod(HttpRequestLayer::HttpMethod newMethod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 370
    functionName: pcpp::HttpRequestFirstLine::getUri
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 1
    functionsReached:
    - std::string::assign
    linkageType: ''
    returnType: std::string
    signature: std::string HttpRequestFirstLine::getUri() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string::compare
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:375,1
    - Dst: pcpp::HttpRequestFirstLine::getUri
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:379,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:380,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:380,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:383,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:385,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:391,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:393,1
    - Dst: shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:399,1
    - Dst: getFirstField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:399,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:401,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:401,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - newUri
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 406
    functionName: pcpp::HttpRequestFirstLine::setUri
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - shiftFieldsOffset
    - std::string::length
    - getFirstField
    - std::string::compare
    - PCPP_LOG_ERROR
    - memcpy
    - std::string::c_str
    - shortenLayer
    - pcpp::HttpRequestFirstLine::getUri
    linkageType: ''
    returnType: bool
    signature: bool HttpRequestFirstLine::setUri(std::string newUri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:417,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - newVersion
    argTypes:
    - HttpVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 420
    functionName: pcpp::HttpRequestFirstLine::setVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - c_str
    linkageType: ''
    returnType: void
    signature: void HttpRequestFirstLine::setVersion(HttpVersion newVersion)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:517,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:517,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:519,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - ' statusCodeNumber'
    - ' statusMessage'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 543
    functionName: pcpp::HttpResponseStatusCode::HttpResponseStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - end
    - at
    - find
    linkageType: ''
    returnType: void
    signature: void HttpResponseStatusCode::HttpResponseStatusCode(const int& statusCodeNumber,
      const std::string& statusMessage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - HttpResponseStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: operator()(const HttpResponseStatusCode& status) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const HttpResponseStatusCode& status) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' statusCode'
    - ' statusMessage'
    argTypes:
    - Value
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 655
    functionName: pcpp::HttpResponseStatusCode::HttpResponseStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpResponseStatusCode::HttpResponseStatusCode(const Value& statusCode,
      const std::string& statusMessage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 664
    functionName: pcpp::HttpResponseStatusCode::getMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string HttpResponseStatusCode::getMessage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpResponseFirstLine::HttpResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:669,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:670,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:670,1
    - Dst: parseFields
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 672
    functionName: pcpp::HttpResponseLayer::HttpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - HttpResponseFirstLine::HttpResponseFirstLine
    - getSize
    - parseFields
    linkageType: ''
    returnType: void
    signature: void HttpResponseLayer::HttpResponseLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpResponseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:678,1
    - Dst: HttpResponseFirstLine::HttpResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:678,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:679,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - version
    - ' statusCode'
    - ' statusCodeString'
    argTypes:
    - HttpVersion
    - HttpResponseStatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 680
    functionName: pcpp::HttpResponseLayer::HttpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - HttpResponseStatusCode
    - HttpResponseFirstLine::HttpResponseFirstLine
    - getSize
    linkageType: ''
    returnType: void
    signature: "void HttpResponseLayer::HttpResponseLayer(HttpVersion version, const
      HttpResponseStatusCode& statusCode,\n\t                                     const
      std::string& statusCodeString)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpResponseFirstLine::HttpResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:685,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:686,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - version
    - ' statusCode'
    argTypes:
    - HttpVersion
    - HttpResponseStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 687
    functionName: pcpp::HttpResponseLayer::HttpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - HttpResponseFirstLine::HttpResponseFirstLine
    - getSize
    linkageType: ''
    returnType: void
    signature: void HttpResponseLayer::HttpResponseLayer(HttpVersion version, const
      HttpResponseStatusCode& statusCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: HttpResponseLayer::~HttpResponseLayer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpResponseLayer::~HttpResponseLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpResponseFirstLine::HttpResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HttpResponseLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 697
    functionName: pcpp::HttpResponseLayer::HttpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - HttpResponseFirstLine::HttpResponseFirstLine
    linkageType: ''
    returnType: void
    signature: void HttpResponseLayer::HttpResponseLayer(const HttpResponseLayer&
      other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpMessage::operator=
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:701,1
    - Dst: HttpResponseFirstLine::HttpResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HttpResponseLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 709
    functionName: '& HttpResponseLayer::operator=(const HttpResponseLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - HttpMessage::operator=
    - HttpResponseFirstLine::HttpResponseFirstLine
    linkageType: ''
    returnType: HttpResponseLayer
    signature: HttpResponseLayer & HttpResponseLayer::operator=(const HttpResponseLayer&
      other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:716,1
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:719,1
    - Dst: insertField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:720,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:720,1
    - Dst: HeaderField*::setFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:723,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - contentLength
    - ' prevFieldName'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 726
    functionName: pcpp::HttpResponseLayer::setContentLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - HeaderField*::setFieldValue
    - getFieldByName
    - insertField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * HttpResponseLayer::setContentLength(int contentLength,
      const std::string& prevFieldName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:731,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:731,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:731,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:731,1
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:733,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:735,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 737
    functionName: pcpp::HttpResponseLayer::getContentLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - atoi
    - std::transform
    - std::string::begin
    - HeaderField*::getFieldValue
    - std::string::end
    - getFieldByName
    linkageType: ''
    returnType: int
    signature: int HttpResponseLayer::getContentLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:743,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:746,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:747,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:747,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:749,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:755,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:755,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 764
    functionName: pcpp::HttpResponseLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - getSize
    - string
    - char::char
    - strncpy
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string HttpResponseLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 771
    functionName: pcpp::HttpResponseFirstLine::getStatusCodeAsInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - toInt
    linkageType: ''
    returnType: int
    signature: int HttpResponseFirstLine::getStatusCodeAsInt() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isUnsupportedCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:775,1
    - Dst: getMessage
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: pcpp::HttpResponseFirstLine::getStatusCodeString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - getMessage
    - isUnsupportedCode
    linkageType: ''
    returnType: std::string
    signature: std::string HttpResponseFirstLine::getStatusCodeString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HttpResponseFirstLine::setStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:787,1
    - Dst: HttpResponseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' newStatusCode'
    - ' statusCodeString'
    argTypes:
    - HttpResponseStatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: pcpp::HttpResponseFirstLine::setStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::HttpResponseFirstLine::setStatusCode
    - HttpResponseStatusCode
    linkageType: ''
    returnType: bool
    signature: "bool HttpResponseFirstLine::setStatusCode(const HttpResponseStatusCode&
      newStatusCode,\n\t                                          const std::string&
      statusCodeString)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isUnsupportedCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:792,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:794,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:794,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:795,1
    - Dst: getMessage
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:802,1
    - Dst: auto::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:804,1
    - Dst: pcpp::HttpResponseFirstLine::getStatusCodeString
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:804,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:807,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:809,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:815,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:817,1
    - Dst: shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:823,1
    - Dst: getFirstField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:823,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:826,1
    - Dst: auto::c_str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:826,1
    - Dst: auto::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:827,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:830,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:830,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' newStatusCode'
    argTypes:
    - HttpResponseStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 837
    functionName: pcpp::HttpResponseFirstLine::setStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 1
    functionsReached:
    - extendLayer
    - shiftFieldsOffset
    - getFirstField
    - toString
    - auto::c_str
    - PCPP_LOG_ERROR
    - auto::length
    - memcpy
    - at
    - shortenLayer
    - isUnsupportedCode
    - getMessage
    - pcpp::HttpResponseFirstLine::getStatusCodeString
    linkageType: ''
    returnType: bool
    signature: bool HttpResponseFirstLine::setStatusCode(const HttpResponseStatusCode&
      newStatusCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:845,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - newVersion
    argTypes:
    - HttpVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 848
    functionName: pcpp::HttpResponseFirstLine::setVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - c_str
    linkageType: ''
    returnType: void
    signature: void HttpResponseFirstLine::setVersion(HttpVersion newVersion)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:858,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:860,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:860,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:860,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:860,1
    - Dst: std::isdigit
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:861,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:861,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:885,1
    - Dst: std::string::back
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:885,1
    - Dst: std::string::pop_back
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:887,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:889,1
    - Dst: HttpResponseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:894,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:894,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 895
    functionName: pcpp::HttpResponseFirstLine::parseStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 2
    functionsReached:
    - std::string::pop_back
    - HttpResponseStatusCode
    - std::string::back
    - string
    - std::string::empty
    - std::stoi
    - std::find_if
    - std::isdigit
    - std::string::begin
    - std::string::end
    linkageType: ''
    returnType: HttpResponseStatusCode
    signature: HttpResponseStatusCode HttpResponseFirstLine::parseStatusCode(const
      char* data, size_t dataLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HttpResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:899,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:899,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:906,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:906,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:910,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:918,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:922,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:925,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:926,1
    - Dst: pcpp::HttpResponseFirstLine::getStatusCodeString
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - httpResponse
    argTypes:
    - HttpResponseLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 897
    functionDepth: 2
    functionLinenumber: 897
    functionLinenumberEnd: 929
    functionName: pcpp::HttpResponseFirstLine::HttpResponseFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - getDataLen
    - pcpp::HttpResponseFirstLine::parseStatusCode
    - pcpp::HttpResponseFirstLine::parseVersion
    - memchr
    - PCPP_LOG_DEBUG
    - pcpp::HttpResponseFirstLine::getStatusCodeString
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void HttpResponseFirstLine::HttpResponseFirstLine(HttpResponseLayer*
      httpResponse)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isUnsupportedCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:934,1
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:936,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:936,1
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:942,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:951,1
    - Dst: getMessage
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:952,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:954,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:957,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:958,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:959,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - httpResponse
    - version
    - ' statusCode'
    argTypes:
    - HttpResponseLayer*
    - HttpVersion
    - HttpResponseStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 962
    functionName: pcpp::HttpResponseFirstLine::HttpResponseFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - toString
    - setMessage
    - memcpy
    - at
    - std::string::c_str
    - isUnsupportedCode
    - getMessage
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: "void HttpResponseFirstLine::HttpResponseFirstLine(HttpResponseLayer*
      httpResponse, HttpVersion version,\n\t                                             const
      HttpResponseStatusCode& statusCode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:968,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:974,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:979,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:979,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:980,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 985
    functionName: pcpp::HttpResponseFirstLine::parseVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 3
    functionsReached:
    - end
    - find
    - string
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: HttpVersion
    signature: HttpVersion HttpResponseFirstLine::parseVersion(const char* data, size_t
      dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:17,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:19,1
    - Dst: pcpp::TextBasedProtocolMessage::addField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' fieldName'
    - ' fieldValue'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: pcpp::HttpMessage::addField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TextBasedProtocolMessage::addField
    - getFieldByName
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * HttpMessage::addField(const std::string& fieldName, const
      std::string& fieldValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:28,1
    - Dst: getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:28,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:30,1
    - Dst: getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:30,1
    - Dst: pcpp::TextBasedProtocolMessage::addField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' newField'
    argTypes:
    - HeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: pcpp::HttpMessage::addField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TextBasedProtocolMessage::addField
    - PCPP_LOG_ERROR
    - getFieldByName
    - getFieldName
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * HttpMessage::addField(const HeaderField& newField)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:40,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:42,1
    - Dst: pcpp::TextBasedProtocolMessage::insertField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - prevField
    - ' fieldName'
    - ' fieldValue'
    argTypes:
    - HeaderField*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: pcpp::HttpMessage::insertField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TextBasedProtocolMessage::insertField
    - getFieldByName
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: HeaderField
    signature: "HeaderField * HttpMessage::insertField(HeaderField* prevField, const
      std::string& fieldName,\n\t                                      const std::string&
      fieldValue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:51,1
    - Dst: getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:51,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:53,1
    - Dst: getFieldName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:53,1
    - Dst: pcpp::TextBasedProtocolMessage::insertField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - prevField
    - ' newField'
    argTypes:
    - HeaderField*
    - HeaderField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: pcpp::HttpMessage::insertField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - pcpp::TextBasedProtocolMessage::insertField
    - getFieldByName
    - getFieldName
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * HttpMessage::insertField(HeaderField* prevField, const
      HeaderField& newField)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestFirstLine::HttpRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:65,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:66,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:66,1
    - Dst: parseFields
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: pcpp::HttpRequestLayer::HttpRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - HttpRequestFirstLine::HttpRequestFirstLine
    - getSize
    - parseFields
    linkageType: ''
    returnType: void
    signature: void HttpRequestLayer::HttpRequestLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestFirstLine::HttpRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:73,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:74,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - method
    - ' uri'
    - version
    argTypes:
    - HttpMethod
    - std::string
    - HttpVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: pcpp::HttpRequestLayer::HttpRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - HttpRequestFirstLine::HttpRequestFirstLine
    - getSize
    linkageType: ''
    returnType: void
    signature: void HttpRequestLayer::HttpRequestLayer(HttpMethod method, const std::string&
      uri, HttpVersion version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRequestFirstLine::HttpRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HttpRequestLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: pcpp::HttpRequestLayer::HttpRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - HttpRequestFirstLine::HttpRequestFirstLine
    linkageType: ''
    returnType: void
    signature: void HttpRequestLayer::HttpRequestLayer(const HttpRequestLayer& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpMessage::operator=
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:84,1
    - Dst: HttpRequestFirstLine::HttpRequestFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HttpRequestLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: '& HttpRequestLayer::operator=(const HttpRequestLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - HttpMessage::operator=
    - HttpRequestFirstLine::HttpRequestFirstLine
    linkageType: ''
    returnType: HttpRequestLayer
    signature: HttpRequestLayer & HttpRequestLayer::operator=(const HttpRequestLayer&
      other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:96,1
    - Dst: getUri
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:98,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:100,1
    - Dst: getUri
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: pcpp::HttpRequestLayer::getUrl
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - getUri
    - HeaderField*::getFieldValue
    - getFieldByName
    linkageType: ''
    returnType: std::string
    signature: std::string HttpRequestLayer::getUrl() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: HttpRequestLayer::~HttpRequestLayer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpRequestLayer::~HttpRequestLayer()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:112,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:115,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:120,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:121,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:121,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:123,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:129,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:129,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 138
    functionName: pcpp::HttpRequestLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - getSize
    - string
    - char::char
    - strncpy
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string HttpRequestLayer::toString() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HttpRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:168,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:168,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:172,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:176,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:181,1
    - Dst: pcpp::HttpRequestFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:184,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:188,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:193,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:201,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:205,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:209,1
    - Dst: pcpp::HttpRequestFirstLine::getUri
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - httpRequest
    argTypes:
    - HttpRequestLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 213
    functionName: pcpp::HttpRequestFirstLine::HttpRequestFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - length
    - getDataLen
    - pcpp::HttpRequestFirstLine::parseVersion
    - memchr
    - PCPP_LOG_DEBUG
    - pcpp::HttpRequestFirstLine::getUri
    - pcpp::HttpRequestFirstLine::parseMethod
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void HttpRequestFirstLine::HttpRequestFirstLine(HttpRequestLayer* httpRequest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:222,1
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:228,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:240,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:241,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:242,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:245,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:246,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:247,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:247,1
    - Dst: std::terminate
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - httpRequest
    - method
    - version
    - ' uri'
    argTypes:
    - HttpRequestLayer*
    - HttpRequestLayer::HttpMethod
    - HttpVersion
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 259
    functionName: pcpp::HttpRequestFirstLine::HttpRequestFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - length
    - setMessage
    - memcpy
    - std::string::c_str
    - std::terminate
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: "void HttpRequestFirstLine::HttpRequestFirstLine(HttpRequestLayer*
      httpRequest, HttpRequestLayer::HttpMethod method,\n\t                                           HttpVersion
      version, const std::string& uri)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:279,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:279,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 285
    functionName: pcpp::HttpRequestFirstLine::parseMethod
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 4
    functionsReached:
    - end
    - find
    - string
    linkageType: ''
    returnType: HttpRequestLayer::HttpMethod
    signature: HttpRequestLayer::HttpMethod HttpRequestFirstLine::parseMethod(const
      char* data, size_t dataLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cross_platform_memmem
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:290,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:290,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:300,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:300,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:309,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:309,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 320
    functionName: pcpp::HttpRequestFirstLine::parseVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 2
    functionsReached:
    - cross_platform_memmem
    - end
    - getDataLen
    - static_cast<size_t>
    - string
    - find
    linkageType: ''
    returnType: void
    signature: void HttpRequestFirstLine::parseVersion()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:326,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:331,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:331,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:334,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:336,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:342,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:344,1
    - Dst: shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:350,1
    - Dst: getFirstField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:350,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:352,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:352,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - newMethod
    argTypes:
    - HttpRequestLayer::HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 359
    functionName: pcpp::HttpRequestFirstLine::setMethod
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - shiftFieldsOffset
    - getFirstField
    - length
    - PCPP_LOG_ERROR
    - memcpy
    - shortenLayer
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool HttpRequestFirstLine::setMethod(HttpRequestLayer::HttpMethod newMethod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::assign
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 370
    functionName: pcpp::HttpRequestFirstLine::getUri
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 3
    functionsReached:
    - std::string::assign
    linkageType: ''
    returnType: std::string
    signature: std::string HttpRequestFirstLine::getUri() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string::compare
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:375,1
    - Dst: pcpp::HttpRequestFirstLine::getUri
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:379,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:380,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:380,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:383,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:385,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:391,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:393,1
    - Dst: shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:399,1
    - Dst: getFirstField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:399,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:401,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:401,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - newUri
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 406
    functionName: pcpp::HttpRequestFirstLine::setUri
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - shiftFieldsOffset
    - std::string::length
    - getFirstField
    - std::string::compare
    - PCPP_LOG_ERROR
    - memcpy
    - std::string::c_str
    - shortenLayer
    - pcpp::HttpRequestFirstLine::getUri
    linkageType: ''
    returnType: bool
    signature: bool HttpRequestFirstLine::setUri(std::string newUri)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:417,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - newVersion
    argTypes:
    - HttpVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 420
    functionName: pcpp::HttpRequestFirstLine::setVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - c_str
    linkageType: ''
    returnType: void
    signature: void HttpRequestFirstLine::setVersion(HttpVersion newVersion)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:517,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:517,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:519,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - ' statusCodeNumber'
    - ' statusMessage'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 543
    functionName: pcpp::HttpResponseStatusCode::HttpResponseStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - end
    - at
    - find
    linkageType: ''
    returnType: void
    signature: void HttpResponseStatusCode::HttpResponseStatusCode(const int& statusCodeNumber,
      const std::string& statusMessage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - HttpResponseStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: operator()(const HttpResponseStatusCode& status) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const HttpResponseStatusCode& status) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' statusCode'
    - ' statusMessage'
    argTypes:
    - Value
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 655
    functionName: pcpp::HttpResponseStatusCode::HttpResponseStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpResponseStatusCode::HttpResponseStatusCode(const Value& statusCode,
      const std::string& statusMessage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 664
    functionName: pcpp::HttpResponseStatusCode::getMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: std::string
    signature: std::string HttpResponseStatusCode::getMessage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpResponseFirstLine::HttpResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:669,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:670,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:670,1
    - Dst: parseFields
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 672
    functionName: pcpp::HttpResponseLayer::HttpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - HttpResponseFirstLine::HttpResponseFirstLine
    - getSize
    - parseFields
    linkageType: ''
    returnType: void
    signature: void HttpResponseLayer::HttpResponseLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpResponseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:678,1
    - Dst: HttpResponseFirstLine::HttpResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:678,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:679,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - version
    - ' statusCode'
    - ' statusCodeString'
    argTypes:
    - HttpVersion
    - HttpResponseStatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 680
    functionName: pcpp::HttpResponseLayer::HttpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - HttpResponseStatusCode
    - HttpResponseFirstLine::HttpResponseFirstLine
    - getSize
    linkageType: ''
    returnType: void
    signature: "void HttpResponseLayer::HttpResponseLayer(HttpVersion version, const
      HttpResponseStatusCode& statusCode,\n\t                                     const
      std::string& statusCodeString)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpResponseFirstLine::HttpResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:685,1
    - Dst: setFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:686,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - version
    - ' statusCode'
    argTypes:
    - HttpVersion
    - HttpResponseStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 687
    functionName: pcpp::HttpResponseLayer::HttpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - setFieldsOffset
    - HttpResponseFirstLine::HttpResponseFirstLine
    - getSize
    linkageType: ''
    returnType: void
    signature: void HttpResponseLayer::HttpResponseLayer(HttpVersion version, const
      HttpResponseStatusCode& statusCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: HttpResponseLayer::~HttpResponseLayer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpResponseLayer::~HttpResponseLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpResponseFirstLine::HttpResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HttpResponseLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 697
    functionName: pcpp::HttpResponseLayer::HttpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - HttpResponseFirstLine::HttpResponseFirstLine
    linkageType: ''
    returnType: void
    signature: void HttpResponseLayer::HttpResponseLayer(const HttpResponseLayer&
      other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HttpMessage::operator=
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:701,1
    - Dst: HttpResponseFirstLine::HttpResponseFirstLine
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HttpResponseLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 709
    functionName: '& HttpResponseLayer::operator=(const HttpResponseLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - HttpMessage::operator=
    - HttpResponseFirstLine::HttpResponseFirstLine
    linkageType: ''
    returnType: HttpResponseLayer
    signature: HttpResponseLayer & HttpResponseLayer::operator=(const HttpResponseLayer&
      other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:716,1
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:719,1
    - Dst: insertField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:720,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:720,1
    - Dst: HeaderField*::setFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:723,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - contentLength
    - ' prevFieldName'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 726
    functionName: pcpp::HttpResponseLayer::setContentLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - HeaderField*::setFieldValue
    - getFieldByName
    - insertField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * HttpResponseLayer::setContentLength(int contentLength,
      const std::string& prevFieldName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:731,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:731,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:731,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:731,1
    - Dst: getFieldByName
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:733,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:735,1
    - Dst: HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 737
    functionName: pcpp::HttpResponseLayer::getContentLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - atoi
    - std::transform
    - std::string::begin
    - HeaderField*::getFieldValue
    - std::string::end
    - getFieldByName
    linkageType: ''
    returnType: int
    signature: int HttpResponseLayer::getContentLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:743,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:746,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:747,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:747,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:749,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:755,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:755,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 764
    functionName: pcpp::HttpResponseLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - getSize
    - string
    - char::char
    - strncpy
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: std::string
    signature: std::string HttpResponseLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 771
    functionName: pcpp::HttpResponseFirstLine::getStatusCodeAsInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - toInt
    linkageType: ''
    returnType: int
    signature: int HttpResponseFirstLine::getStatusCodeAsInt() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isUnsupportedCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:775,1
    - Dst: getMessage
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: pcpp::HttpResponseFirstLine::getStatusCodeString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 2
    functionsReached:
    - getMessage
    - isUnsupportedCode
    linkageType: ''
    returnType: std::string
    signature: std::string HttpResponseFirstLine::getStatusCodeString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HttpResponseFirstLine::setStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:787,1
    - Dst: HttpResponseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' newStatusCode'
    - ' statusCodeString'
    argTypes:
    - HttpResponseStatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: pcpp::HttpResponseFirstLine::setStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::HttpResponseFirstLine::setStatusCode
    - HttpResponseStatusCode
    linkageType: ''
    returnType: bool
    signature: "bool HttpResponseFirstLine::setStatusCode(const HttpResponseStatusCode&
      newStatusCode,\n\t                                          const std::string&
      statusCodeString)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isUnsupportedCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:792,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:794,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:794,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:795,1
    - Dst: getMessage
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:802,1
    - Dst: auto::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:804,1
    - Dst: pcpp::HttpResponseFirstLine::getStatusCodeString
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:804,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:807,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:809,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:815,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:817,1
    - Dst: shiftFieldsOffset
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:823,1
    - Dst: getFirstField
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:823,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:826,1
    - Dst: auto::c_str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:826,1
    - Dst: auto::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:827,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:830,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:830,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' newStatusCode'
    argTypes:
    - HttpResponseStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 837
    functionName: pcpp::HttpResponseFirstLine::setStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - shiftFieldsOffset
    - getFirstField
    - toString
    - auto::c_str
    - PCPP_LOG_ERROR
    - auto::length
    - memcpy
    - at
    - shortenLayer
    - isUnsupportedCode
    - getMessage
    - pcpp::HttpResponseFirstLine::getStatusCodeString
    linkageType: ''
    returnType: bool
    signature: bool HttpResponseFirstLine::setStatusCode(const HttpResponseStatusCode&
      newStatusCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:845,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - newVersion
    argTypes:
    - HttpVersion
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 848
    functionName: pcpp::HttpResponseFirstLine::setVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - c_str
    linkageType: ''
    returnType: void
    signature: void HttpResponseFirstLine::setVersion(HttpVersion newVersion)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:858,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:860,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:860,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:860,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:860,1
    - Dst: std::isdigit
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:861,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:861,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:885,1
    - Dst: std::string::back
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:885,1
    - Dst: std::string::pop_back
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:887,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:889,1
    - Dst: HttpResponseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:894,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:894,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 895
    functionName: pcpp::HttpResponseFirstLine::parseStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 3
    functionsReached:
    - std::string::pop_back
    - HttpResponseStatusCode
    - std::string::back
    - string
    - std::string::empty
    - std::stoi
    - std::find_if
    - std::isdigit
    - std::string::begin
    - std::string::end
    linkageType: ''
    returnType: HttpResponseStatusCode
    signature: HttpResponseStatusCode HttpResponseFirstLine::parseStatusCode(const
      char* data, size_t dataLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HttpResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:899,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:899,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:906,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:906,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:910,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:918,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:922,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:925,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:926,1
    - Dst: pcpp::HttpResponseFirstLine::getStatusCodeString
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - httpResponse
    argTypes:
    - HttpResponseLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 897
    functionDepth: 2
    functionLinenumber: 897
    functionLinenumberEnd: 929
    functionName: pcpp::HttpResponseFirstLine::HttpResponseFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - getDataLen
    - pcpp::HttpResponseFirstLine::parseStatusCode
    - pcpp::HttpResponseFirstLine::parseVersion
    - memchr
    - PCPP_LOG_DEBUG
    - pcpp::HttpResponseFirstLine::getStatusCodeString
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void HttpResponseFirstLine::HttpResponseFirstLine(HttpResponseLayer*
      httpResponse)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isUnsupportedCode
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:934,1
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:936,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:936,1
    - Dst: setMessage
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:942,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:951,1
    - Dst: getMessage
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:952,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:954,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:957,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:958,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:959,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - httpResponse
    - version
    - ' statusCode'
    argTypes:
    - HttpResponseLayer*
    - HttpVersion
    - HttpResponseStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 962
    functionName: pcpp::HttpResponseFirstLine::HttpResponseFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - toString
    - setMessage
    - memcpy
    - at
    - std::string::c_str
    - isUnsupportedCode
    - getMessage
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: "void HttpResponseFirstLine::HttpResponseFirstLine(HttpResponseLayer*
      httpResponse, HttpVersion version,\n\t                                             const
      HttpResponseStatusCode& statusCode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:968,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:974,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:979,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:979,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp:980,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 985
    functionName: pcpp::HttpResponseFirstLine::parseVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    functionUses: 4
    functionsReached:
    - end
    - find
    - string
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: HttpVersion
    signature: HttpVersion HttpResponseFirstLine::parseVersion(const char* data, size_t
      dataLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:28,1
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:31,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:40,1
    - Dst: pcpp::VrrpLayer::setVirtualRouterID
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:41,1
    - Dst: pcpp::VrrpLayer::setPriority
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - subProtocol
    - virtualRouterId
    - priority
    argTypes:
    - ProtocolType
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 43
    functionName: pcpp::VrrpLayer::VrrpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::setPriority
    - static_cast<uint8_t>
    - pcpp::VrrpLayer::getVrrpHeader
    - allocData
    - pcpp::VrrpLayer::setVirtualRouterID
    linkageType: ''
    returnType: void
    signature: void VrrpLayer::VrrpLayer(ProtocolType subProtocol, uint8_t virtualRouterId,
      uint8_t priority)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 63
    functionName: pcpp::VrrpLayer::getVersionFromData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ProtocolType
    signature: ProtocolType VrrpLayer::getVersionFromData(uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::calculateAndSetChecksum
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: pcpp::VrrpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::calculateAndSetChecksum
    linkageType: ''
    returnType: void
    signature: void VrrpLayer::computeCalculateFields()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getAddressType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: pcpp::VrrpLayer::getIPAddressLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::getAddressType
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VrrpLayer::getIPAddressLen() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:83,1
    - Dst: calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:89,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: pcpp::VrrpLayer::isChecksumCorrect
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::VrrpLayer::getVrrpHeader
    - calculateChecksum
    linkageType: ''
    returnType: bool
    signature: bool VrrpLayer::isChecksumCorrect() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: pcpp::VrrpLayer::getPriorityAsEnum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: VrrpLayer::VrrpPriority
    signature: VrrpLayer::VrrpPriority VrrpLayer::getPriorityAsEnum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:112,1
    - Dst: pcpp::VrrpLayer::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:112,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:113,1
    - Dst: pcpp::VrrpLayer::getVirtualRouterID
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:113,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:114,1
    - Dst: pcpp::VrrpLayer::getIPAddressesCount
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: pcpp::VrrpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::getVirtualRouterID
    - pcpp::VrrpLayer::getIPAddressesCount
    - pcpp::VrrpLayer::getVersion
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string VrrpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: pcpp::VrrpLayer::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VrrpLayer::getVersion() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: pcpp::VrrpLayer::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: VrrpLayer::VrrpType
    signature: VrrpLayer::VrrpType VrrpLayer::getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: pcpp::VrrpLayer::getVirtualRouterID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VrrpLayer::getVirtualRouterID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - virtualRouterID
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: pcpp::VrrpLayer::setVirtualRouterID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: void
    signature: void VrrpLayer::setVirtualRouterID(uint8_t virtualRouterID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: pcpp::VrrpLayer::getPriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VrrpLayer::getPriority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priority
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: pcpp::VrrpLayer::setPriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: void
    signature: void VrrpLayer::setPriority(uint8_t priority)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:154,1
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: pcpp::VrrpLayer::getChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t VrrpLayer::getChecksum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:159,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:159,1
    - Dst: calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: pcpp::VrrpLayer::calculateAndSetChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    - htobe16
    - calculateChecksum
    linkageType: ''
    returnType: void
    signature: void VrrpLayer::calculateAndSetChecksum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: pcpp::VrrpLayer::getIPAddressesCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VrrpLayer::getIPAddressesCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getFirstIPAddressPtr
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:170,1
    - Dst: pcpp::VrrpLayer::getIPAddressFromData
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:173,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:174,1
    - Dst: pcpp::VrrpLayer::getNextIPAddressPtr
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: pcpp::VrrpLayer::getIPAddresses
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::getFirstIPAddressPtr
    - pcpp::VrrpLayer::getNextIPAddressPtr
    - pcpp::VrrpLayer::getIPAddressFromData
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<IPAddress>
    signature: std::vector<IPAddress> VrrpLayer::getIPAddresses() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getIPAddressLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:183,1
    - Dst: pcpp::VrrpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: pcpp::VrrpLayer::getFirstIPAddressPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::VrrpLayer::getIPAddressLen
    - pcpp::VrrpLayer::getHeaderLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * VrrpLayer::getFirstIPAddressPtr() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getIPAddressLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:201,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:202,1
    - Dst: pcpp::VrrpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ipAddressPtr
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 213
    functionName: pcpp::VrrpLayer::getNextIPAddressPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - pcpp::VrrpLayer::getIPAddressLen
    - pcpp::VrrpLayer::getHeaderLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * VrrpLayer::getNextIPAddressPtr(uint8_t* ipAddressPtr) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:217,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:219,1
    - Dst: pcpp::VrrpLayer::isIPAddressValid
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:225,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:227,1
    - Dst: pcpp::VrrpLayer::getIPAddressesCount
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:232,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:232,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:234,1
    - Dst: pcpp::VrrpLayer::getIPAddressLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:238,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:239,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:245,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:247,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:252,1
    - Dst: pcpp::VrrpLayer::copyIPAddressToData
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:255,1
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:259,1
    - Dst: pcpp::VrrpLayer::getIPAddressesCount
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:259,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' ipAddresses'
    - offset
    argTypes:
    - std::vector<IPAddress>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 262
    functionName: pcpp::VrrpLayer::addIPAddressesAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - pcpp::VrrpLayer::copyIPAddressToData
    - pcpp::VrrpLayer::getIPAddressesCount
    - pcpp::VrrpLayer::getVrrpHeader
    - getData
    - pcpp::VrrpLayer::getIPAddressLen
    - pcpp::VrrpLayer::getHeaderLen
    - PCPP_LOG_ERROR
    - size
    - pcpp::VrrpLayer::isIPAddressValid
    linkageType: ''
    returnType: bool
    signature: bool VrrpLayer::addIPAddressesAt(const std::vector<IPAddress>& ipAddresses,
      int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::addIPAddressesAt
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:266,1
    - Dst: pcpp::VrrpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddresses'
    argTypes:
    - std::vector<IPAddress>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: pcpp::VrrpLayer::addIPAddresses
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::addIPAddressesAt
    - pcpp::VrrpLayer::getHeaderLen
    linkageType: ''
    returnType: bool
    signature: bool VrrpLayer::addIPAddresses(const std::vector<IPAddress>& ipAddresses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:272,1
    - Dst: pcpp::VrrpLayer::addIPAddressesAt
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:274,1
    - Dst: pcpp::VrrpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ipAddress'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: pcpp::VrrpLayer::addIPAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::addIPAddressesAt
    - pcpp::VrrpLayer::getHeaderLen
    - std::vector::push_back
    linkageType: ''
    returnType: bool
    signature: bool VrrpLayer::addIPAddress(const IPAddress& ipAddress)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getIPAddressesCount
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:279,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:283,1
    - Dst: pcpp::VrrpLayer::getIPAddressLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:287,1
    - Dst: pcpp::VrrpLayer::getFirstIPAddressPtr
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:290,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:295,1
    - Dst: pcpp::VrrpLayer::getNextIPAddressPtr
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:301,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:304,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:306,1
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 313
    functionName: pcpp::VrrpLayer::removeIPAddressAtIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::getNextIPAddressPtr
    - pcpp::VrrpLayer::getIPAddressesCount
    - pcpp::VrrpLayer::getFirstIPAddressPtr
    - pcpp::VrrpLayer::getVrrpHeader
    - pcpp::VrrpLayer::getIPAddressLen
    - PCPP_LOG_ERROR
    - shortenLayer
    linkageType: ''
    returnType: bool
    signature: bool VrrpLayer::removeIPAddressAtIndex(int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:318,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:324,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:326,1
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 333
    functionName: pcpp::VrrpLayer::removeAllIPAddresses
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    - shortenLayer
    - pcpp::VrrpLayer::getHeaderLen
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool VrrpLayer::removeAllIPAddresses()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getIPAddressLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:337,1
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:339,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:341,1
    - Dst: getIPv4
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:341,1
    - Dst: isIPv6
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:343,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:345,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - ' ipAddress'
    argTypes:
    - uint8_t*
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 347
    functionName: pcpp::VrrpLayer::copyIPAddressToData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - getIPv4
    - getIPv6
    - pcpp::VrrpLayer::getIPAddressLen
    - memcpy
    - isIPv6
    - isIPv4
    linkageType: ''
    returnType: void
    signature: void VrrpLayer::copyIPAddressToData(uint8_t* data, const IPAddress&
      ipAddress) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getAddressType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:351,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:353,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:353,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: pcpp::VrrpLayer::getIPAddressFromData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - IPv6Address
    - pcpp::VrrpLayer::getAddressType
    - IPv4Address
    - reinterpret_cast<const uint32_t*>
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress VrrpLayer::getIPAddressFromData(uint8_t* data) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isIPv6
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:361,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:361,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:363,1
    - Dst: pcpp::VrrpLayer::getType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:366,1
    - Dst: pcpp::VrrpLayer::getAddressType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:366,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' ipAddress'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 373
    functionName: pcpp::VrrpLayer::isIPAddressValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::VrrpLayer::getAddressType
    - getProtocol
    - PCPP_LOG_ERROR
    - isIPv6
    - pcpp::VrrpLayer::getType
    linkageType: ''
    returnType: bool
    signature: bool VrrpLayer::isIPAddressValid(IPAddress& ipAddress) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: pcpp::VrrpLayer::getAddressType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: IPAddress::AddressType
    signature: IPAddress::AddressType VrrpLayer::getAddressType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addressType
    argTypes:
    - IPAddress::AddressType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: pcpp::VrrpLayer::setAddressType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VrrpLayer::setAddressType(IPAddress::AddressType addressType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpV2Layer::setAdvInt
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:390,1
    - Dst: pcpp::VrrpV2Layer::setAuthType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - virtualRouterId
    - priority
    - advInt
    - authType
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: pcpp::VrrpV2Layer::VrrpV2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpV2Layer::setAuthType
    - pcpp::VrrpV2Layer::setAdvInt
    linkageType: ''
    returnType: void
    signature: void VrrpV2Layer::VrrpV2Layer(uint8_t virtualRouterId, uint8_t priority,
      uint8_t advInt, uint8_t authType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpV2Layer::getAuthType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:396,1
    - Dst: static_cast<VrrpAuthType>
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 403
    functionName: pcpp::VrrpV2Layer::getAuthTypeAsEnum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpV2Layer::getAuthType
    - static_cast<VrrpAuthType>
    linkageType: ''
    returnType: VrrpV2Layer::VrrpAuthType
    signature: VrrpV2Layer::VrrpAuthType VrrpV2Layer::getAuthTypeAsEnum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: pcpp::VrrpV2Layer::getAdvInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - getVrrpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VrrpV2Layer::getAdvInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - advInt
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: pcpp::VrrpV2Layer::setAdvInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - getVrrpHeader
    linkageType: ''
    returnType: void
    signature: void VrrpV2Layer::setAdvInt(uint8_t advInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: pcpp::VrrpV2Layer::getAuthType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - getVrrpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VrrpV2Layer::getAuthType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - authType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: pcpp::VrrpV2Layer::setAuthType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - getVrrpHeader
    linkageType: ''
    returnType: void
    signature: void VrrpV2Layer::setAuthType(uint8_t authType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:433,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:433,1
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:438,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:440,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:441,1
    - Dst: computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 449
    functionName: pcpp::VrrpV2Layer::calculateChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    - getData
    - getDataLen
    - getVrrpHeader
    - reinterpret_cast<uint16_t*>
    - computeChecksum
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t VrrpV2Layer::calculateChecksum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setAddressType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:457,1
    - Dst: pcpp::VrrpV3Layer::setMaxAdvInt
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - addressType
    - virtualRouterId
    - priority
    - maxAdvInt
    argTypes:
    - IPAddress::AddressType
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: pcpp::VrrpV3Layer::VrrpV3Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpV3Layer::setMaxAdvInt
    - setAddressType
    linkageType: ''
    returnType: void
    signature: "void VrrpV3Layer::VrrpV3Layer(IPAddress::AddressType addressType,
      uint8_t virtualRouterId, uint8_t priority,\n\t                         uint16_t
      maxAdvInt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:463,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: pcpp::VrrpV3Layer::getMaxAdvInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getVrrpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t VrrpV3Layer::getMaxAdvInt() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:472,1
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:474,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - maxAdvInt
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 476
    functionName: pcpp::VrrpV3Layer::setMaxAdvInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - getVrrpHeader
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void VrrpV3Layer::setMaxAdvInt(uint16_t maxAdvInt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:480,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:483,1
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:487,1
    - Dst: auto*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:491,1
    - Dst: auto*::getDstIPAddress
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:492,1
    - Dst: getAddressType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:494,1
    - Dst: computePseudoHdrChecksum
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:496,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:496,1
    - Dst: computePseudoHdrChecksum
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:501,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 508
    functionName: pcpp::VrrpV3Layer::calculateChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - computePseudoHdrChecksum
    - auto*::getDstIPAddress
    - auto*::getSrcIPAddress
    - getDataLen
    - getVrrpHeader
    - PCPP_LOG_ERROR
    - getAddressType
    - getAttachedPacket
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t VrrpV3Layer::calculateChecksum() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:28,1
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:31,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:40,1
    - Dst: pcpp::VrrpLayer::setVirtualRouterID
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:41,1
    - Dst: pcpp::VrrpLayer::setPriority
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - subProtocol
    - virtualRouterId
    - priority
    argTypes:
    - ProtocolType
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 43
    functionName: pcpp::VrrpLayer::VrrpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::setPriority
    - static_cast<uint8_t>
    - pcpp::VrrpLayer::getVrrpHeader
    - allocData
    - pcpp::VrrpLayer::setVirtualRouterID
    linkageType: ''
    returnType: void
    signature: void VrrpLayer::VrrpLayer(ProtocolType subProtocol, uint8_t virtualRouterId,
      uint8_t priority)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 63
    functionName: pcpp::VrrpLayer::getVersionFromData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ProtocolType
    signature: ProtocolType VrrpLayer::getVersionFromData(uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::calculateAndSetChecksum
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: pcpp::VrrpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::calculateAndSetChecksum
    linkageType: ''
    returnType: void
    signature: void VrrpLayer::computeCalculateFields()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getAddressType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: pcpp::VrrpLayer::getIPAddressLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 5
    functionsReached:
    - pcpp::VrrpLayer::getAddressType
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VrrpLayer::getIPAddressLen() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:83,1
    - Dst: calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:89,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: pcpp::VrrpLayer::isChecksumCorrect
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::VrrpLayer::getVrrpHeader
    - calculateChecksum
    linkageType: ''
    returnType: bool
    signature: bool VrrpLayer::isChecksumCorrect() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: pcpp::VrrpLayer::getPriorityAsEnum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: VrrpLayer::VrrpPriority
    signature: VrrpLayer::VrrpPriority VrrpLayer::getPriorityAsEnum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:112,1
    - Dst: pcpp::VrrpLayer::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:112,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:113,1
    - Dst: pcpp::VrrpLayer::getVirtualRouterID
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:113,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:114,1
    - Dst: pcpp::VrrpLayer::getIPAddressesCount
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: pcpp::VrrpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::getVirtualRouterID
    - pcpp::VrrpLayer::getIPAddressesCount
    - pcpp::VrrpLayer::getVersion
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string VrrpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: pcpp::VrrpLayer::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VrrpLayer::getVersion() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: pcpp::VrrpLayer::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: VrrpLayer::VrrpType
    signature: VrrpLayer::VrrpType VrrpLayer::getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: pcpp::VrrpLayer::getVirtualRouterID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VrrpLayer::getVirtualRouterID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - virtualRouterID
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: pcpp::VrrpLayer::setVirtualRouterID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: void
    signature: void VrrpLayer::setVirtualRouterID(uint8_t virtualRouterID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: pcpp::VrrpLayer::getPriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VrrpLayer::getPriority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priority
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: pcpp::VrrpLayer::setPriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: void
    signature: void VrrpLayer::setPriority(uint8_t priority)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:154,1
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: pcpp::VrrpLayer::getChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t VrrpLayer::getChecksum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:159,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:159,1
    - Dst: calculateChecksum
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: pcpp::VrrpLayer::calculateAndSetChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    - htobe16
    - calculateChecksum
    linkageType: ''
    returnType: void
    signature: void VrrpLayer::calculateAndSetChecksum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: pcpp::VrrpLayer::getIPAddressesCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 4
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VrrpLayer::getIPAddressesCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getFirstIPAddressPtr
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:170,1
    - Dst: pcpp::VrrpLayer::getIPAddressFromData
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:173,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:174,1
    - Dst: pcpp::VrrpLayer::getNextIPAddressPtr
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: pcpp::VrrpLayer::getIPAddresses
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::getFirstIPAddressPtr
    - pcpp::VrrpLayer::getNextIPAddressPtr
    - pcpp::VrrpLayer::getIPAddressFromData
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<IPAddress>
    signature: std::vector<IPAddress> VrrpLayer::getIPAddresses() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getIPAddressLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:183,1
    - Dst: pcpp::VrrpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: pcpp::VrrpLayer::getFirstIPAddressPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 3
    functionsReached:
    - pcpp::VrrpLayer::getIPAddressLen
    - pcpp::VrrpLayer::getHeaderLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * VrrpLayer::getFirstIPAddressPtr() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getIPAddressLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:201,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:202,1
    - Dst: pcpp::VrrpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ipAddressPtr
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 213
    functionName: pcpp::VrrpLayer::getNextIPAddressPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    - pcpp::VrrpLayer::getIPAddressLen
    - pcpp::VrrpLayer::getHeaderLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * VrrpLayer::getNextIPAddressPtr(uint8_t* ipAddressPtr) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:217,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:219,1
    - Dst: pcpp::VrrpLayer::isIPAddressValid
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:225,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:227,1
    - Dst: pcpp::VrrpLayer::getIPAddressesCount
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:232,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:232,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:234,1
    - Dst: pcpp::VrrpLayer::getIPAddressLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:238,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:239,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:245,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:247,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:252,1
    - Dst: pcpp::VrrpLayer::copyIPAddressToData
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:255,1
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:259,1
    - Dst: pcpp::VrrpLayer::getIPAddressesCount
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:259,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' ipAddresses'
    - offset
    argTypes:
    - std::vector<IPAddress>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 262
    functionName: pcpp::VrrpLayer::addIPAddressesAt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - pcpp::VrrpLayer::copyIPAddressToData
    - pcpp::VrrpLayer::getIPAddressesCount
    - pcpp::VrrpLayer::getVrrpHeader
    - getData
    - pcpp::VrrpLayer::getIPAddressLen
    - pcpp::VrrpLayer::getHeaderLen
    - PCPP_LOG_ERROR
    - size
    - pcpp::VrrpLayer::isIPAddressValid
    linkageType: ''
    returnType: bool
    signature: bool VrrpLayer::addIPAddressesAt(const std::vector<IPAddress>& ipAddresses,
      int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::addIPAddressesAt
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:266,1
    - Dst: pcpp::VrrpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddresses'
    argTypes:
    - std::vector<IPAddress>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: pcpp::VrrpLayer::addIPAddresses
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::addIPAddressesAt
    - pcpp::VrrpLayer::getHeaderLen
    linkageType: ''
    returnType: bool
    signature: bool VrrpLayer::addIPAddresses(const std::vector<IPAddress>& ipAddresses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:272,1
    - Dst: pcpp::VrrpLayer::addIPAddressesAt
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:274,1
    - Dst: pcpp::VrrpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ipAddress'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: pcpp::VrrpLayer::addIPAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::addIPAddressesAt
    - pcpp::VrrpLayer::getHeaderLen
    - std::vector::push_back
    linkageType: ''
    returnType: bool
    signature: bool VrrpLayer::addIPAddress(const IPAddress& ipAddress)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getIPAddressesCount
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:279,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:283,1
    - Dst: pcpp::VrrpLayer::getIPAddressLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:287,1
    - Dst: pcpp::VrrpLayer::getFirstIPAddressPtr
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:290,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:295,1
    - Dst: pcpp::VrrpLayer::getNextIPAddressPtr
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:301,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:304,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:306,1
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 313
    functionName: pcpp::VrrpLayer::removeIPAddressAtIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::getNextIPAddressPtr
    - pcpp::VrrpLayer::getIPAddressesCount
    - pcpp::VrrpLayer::getFirstIPAddressPtr
    - pcpp::VrrpLayer::getVrrpHeader
    - pcpp::VrrpLayer::getIPAddressLen
    - PCPP_LOG_ERROR
    - shortenLayer
    linkageType: ''
    returnType: bool
    signature: bool VrrpLayer::removeIPAddressAtIndex(int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:318,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:324,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:326,1
    - Dst: pcpp::VrrpLayer::getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 333
    functionName: pcpp::VrrpLayer::removeAllIPAddresses
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpLayer::getVrrpHeader
    - shortenLayer
    - pcpp::VrrpLayer::getHeaderLen
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool VrrpLayer::removeAllIPAddresses()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getIPAddressLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:337,1
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:339,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:341,1
    - Dst: getIPv4
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:341,1
    - Dst: isIPv6
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:343,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:345,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - ' ipAddress'
    argTypes:
    - uint8_t*
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 347
    functionName: pcpp::VrrpLayer::copyIPAddressToData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 2
    functionsReached:
    - getIPv4
    - getIPv6
    - pcpp::VrrpLayer::getIPAddressLen
    - memcpy
    - isIPv6
    - isIPv4
    linkageType: ''
    returnType: void
    signature: void VrrpLayer::copyIPAddressToData(uint8_t* data, const IPAddress&
      ipAddress) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::getAddressType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:351,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:353,1
    - Dst: reinterpret_cast<const uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:353,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: pcpp::VrrpLayer::getIPAddressFromData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 2
    functionsReached:
    - IPv6Address
    - pcpp::VrrpLayer::getAddressType
    - IPv4Address
    - reinterpret_cast<const uint32_t*>
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress VrrpLayer::getIPAddressFromData(uint8_t* data) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isIPv6
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:361,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:361,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:363,1
    - Dst: pcpp::VrrpLayer::getType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:366,1
    - Dst: pcpp::VrrpLayer::getAddressType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:366,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' ipAddress'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 373
    functionName: pcpp::VrrpLayer::isIPAddressValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::VrrpLayer::getAddressType
    - getProtocol
    - PCPP_LOG_ERROR
    - isIPv6
    - pcpp::VrrpLayer::getType
    linkageType: ''
    returnType: bool
    signature: bool VrrpLayer::isIPAddressValid(IPAddress& ipAddress) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: pcpp::VrrpLayer::getAddressType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: IPAddress::AddressType
    signature: IPAddress::AddressType VrrpLayer::getAddressType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addressType
    argTypes:
    - IPAddress::AddressType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: pcpp::VrrpLayer::setAddressType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VrrpLayer::setAddressType(IPAddress::AddressType addressType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpV2Layer::setAdvInt
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:390,1
    - Dst: pcpp::VrrpV2Layer::setAuthType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - virtualRouterId
    - priority
    - advInt
    - authType
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: pcpp::VrrpV2Layer::VrrpV2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpV2Layer::setAuthType
    - pcpp::VrrpV2Layer::setAdvInt
    linkageType: ''
    returnType: void
    signature: void VrrpV2Layer::VrrpV2Layer(uint8_t virtualRouterId, uint8_t priority,
      uint8_t advInt, uint8_t authType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpV2Layer::getAuthType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:396,1
    - Dst: static_cast<VrrpAuthType>
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 403
    functionName: pcpp::VrrpV2Layer::getAuthTypeAsEnum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpV2Layer::getAuthType
    - static_cast<VrrpAuthType>
    linkageType: ''
    returnType: VrrpV2Layer::VrrpAuthType
    signature: VrrpV2Layer::VrrpAuthType VrrpV2Layer::getAuthTypeAsEnum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: pcpp::VrrpV2Layer::getAdvInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - getVrrpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VrrpV2Layer::getAdvInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - advInt
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: pcpp::VrrpV2Layer::setAdvInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 2
    functionsReached:
    - getVrrpHeader
    linkageType: ''
    returnType: void
    signature: void VrrpV2Layer::setAdvInt(uint8_t advInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: pcpp::VrrpV2Layer::getAuthType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 2
    functionsReached:
    - getVrrpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VrrpV2Layer::getAuthType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - authType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 429
    functionName: pcpp::VrrpV2Layer::setAuthType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 2
    functionsReached:
    - getVrrpHeader
    linkageType: ''
    returnType: void
    signature: void VrrpV2Layer::setAuthType(uint8_t authType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getData
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:433,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:433,1
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:438,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:440,1
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:441,1
    - Dst: computeChecksum
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 449
    functionName: pcpp::VrrpV2Layer::calculateChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - getHeaderLen
    - getData
    - getDataLen
    - getVrrpHeader
    - reinterpret_cast<uint16_t*>
    - computeChecksum
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t VrrpV2Layer::calculateChecksum() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setAddressType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:457,1
    - Dst: pcpp::VrrpV3Layer::setMaxAdvInt
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - addressType
    - virtualRouterId
    - priority
    - maxAdvInt
    argTypes:
    - IPAddress::AddressType
    - uint8_t
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: pcpp::VrrpV3Layer::VrrpV3Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VrrpV3Layer::setMaxAdvInt
    - setAddressType
    linkageType: ''
    returnType: void
    signature: "void VrrpV3Layer::VrrpV3Layer(IPAddress::AddressType addressType,
      uint8_t virtualRouterId, uint8_t priority,\n\t                         uint16_t
      maxAdvInt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:463,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: pcpp::VrrpV3Layer::getMaxAdvInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getVrrpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t VrrpV3Layer::getMaxAdvInt() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:472,1
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:474,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - maxAdvInt
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 476
    functionName: pcpp::VrrpV3Layer::setMaxAdvInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - getVrrpHeader
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void VrrpV3Layer::setMaxAdvInt(uint16_t maxAdvInt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:480,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:483,1
    - Dst: getVrrpHeader
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:487,1
    - Dst: auto*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:491,1
    - Dst: auto*::getDstIPAddress
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:492,1
    - Dst: getAddressType
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:494,1
    - Dst: computePseudoHdrChecksum
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:496,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:496,1
    - Dst: computePseudoHdrChecksum
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:501,1
    - Dst: getDataLen
      Src: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 508
    functionName: pcpp::VrrpV3Layer::calculateChecksum
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
    functionUses: 0
    functionsReached:
    - computePseudoHdrChecksum
    - auto*::getDstIPAddress
    - auto*::getSrcIPAddress
    - getDataLen
    - getVrrpHeader
    - PCPP_LOG_ERROR
    - getAddressType
    - getAttachedPacket
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t VrrpV3Layer::calculateChecksum() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IDnsResource::decodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:15,1
    - Dst: pcpp::IDnsResource::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dnsLayer
    - offsetInLayer
    argTypes:
    - DnsLayer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: pcpp::IDnsResource::IDnsResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IDnsResource::decodeName
    - pcpp::IDnsResource::getRawData
    linkageType: ''
    returnType: void
    signature: void IDnsResource::IDnsResource(DnsLayer* dnsLayer, size_t offsetInLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - emptyRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: pcpp::IDnsResource::IDnsResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IDnsResource::IDnsResource(uint8_t* emptyRawData)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: pcpp::IDnsResource::getRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * IDnsResource::getRawData() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - resultPtr
    - result
    - encodedNameLength
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: pcpp::cleanup
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cleanup(char* resultPtr, char* result, size_t encodedNameLength)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:76,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:82,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:87,1
    - Dst: pcpp::IDnsResource::decodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:89,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:123,1
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:154,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 3
    argNames:
    - encodedName
    - result
    - iteration
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 155
    functionName: pcpp::IDnsResource::decodeName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 2
    functionsReached:
    - cleanup
    - pcpp::IDnsResource::decodeName
    - PCPP_LOG_ERROR
    - memcpy
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t IDnsResource::decodeName(const char* encodedName, char* result,
      int iteration)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:162,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:168,1
    - Dst: std::stringstream::fail
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:173,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:175,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:186,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:188,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:188,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:188,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:189,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - ' decodedName'
    - result
    - ' resultLen'
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 195
    functionName: pcpp::IDnsResource::encodeName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - getline
    - std::string::length
    - std::stringstream::fail
    - PCPP_LOG_ERROR
    - std::string::substr
    - memcpy
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void IDnsResource::encodeName(const std::string& decodedName, char*
      result, size_t& resultLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:199,1
    - Dst: pcpp::IDnsResource::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:199,1
    - Dst: static_cast<DnsType>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:200,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: pcpp::IDnsResource::getDnsType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::IDnsResource::getRawData
    - static_cast<DnsType>
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: DnsType
    signature: DnsType IDnsResource::getDnsType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:205,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:206,1
    - Dst: pcpp::IDnsResource::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newType
    argTypes:
    - DnsType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: pcpp::IDnsResource::setDnsType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - htobe16
    - pcpp::IDnsResource::getRawData
    linkageType: ''
    returnType: void
    signature: void IDnsResource::setDnsType(DnsType newType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:211,1
    - Dst: pcpp::IDnsResource::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:211,1
    - Dst: static_cast<DnsClass>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:212,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: pcpp::IDnsResource::getDnsClass
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::IDnsResource::getRawData
    - static_cast<DnsClass>
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: DnsClass
    signature: DnsClass IDnsResource::getDnsClass() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:217,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:218,1
    - Dst: pcpp::IDnsResource::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newClass
    argTypes:
    - DnsClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: pcpp::IDnsResource::setDnsClass
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - htobe16
    - pcpp::IDnsResource::getRawData
    linkageType: ''
    returnType: void
    signature: void IDnsResource::setDnsClass(DnsClass newClass)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IDnsResource::encodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:225,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:230,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:232,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:238,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:240,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:247,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:248,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:249,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:250,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:254,1
    - Dst: pcpp::IDnsResource::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - ' newName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 259
    functionName: pcpp::IDnsResource::setName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - pcpp::IDnsResource::getRawData
    - getSize
    - char::char
    - PCPP_LOG_ERROR
    - memcpy
    - shortenLayer
    - pcpp::IDnsResource::encodeName
    linkageType: ''
    returnType: bool
    signature: bool IDnsResource::setName(const std::string& newName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:263,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dnsLayer
    - offsetInLayer
    argTypes:
    - DnsLayer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: pcpp::IDnsResource::setDnsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - getSize
    linkageType: ''
    returnType: void
    signature: void IDnsResource::setDnsLayer(DnsLayer* dnsLayer, size_t offsetInLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:271,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:271,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: pcpp::DnsResource::getTTL
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - reinterpret_cast<uint32_t*>
    - getRawData
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DnsResource::getTTL() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:277,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:278,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newTTL
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: pcpp::DnsResource::setTTL
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - getRawData
    - htobe32
    linkageType: ''
    returnType: void
    signature: void DnsResource::setTTL(uint32_t newTTL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:293,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:293,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: pcpp::DnsResource::getDataLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getRawData
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: size_t
    signature: size_t DnsResource::getDataLength() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:299,1
    - Dst: pcpp::DnsResource::getDataLength
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:300,1
    - Dst: getDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:302,1
    - Dst: DnsResourceDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:306,1
    - Dst: IPv4DnsResourceData::IPv4DnsResourceData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:306,1
    - Dst: DnsResourceDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:311,1
    - Dst: IPv6DnsResourceData::IPv6DnsResourceData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:311,1
    - Dst: DnsResourceDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:319,1
    - Dst: const_cast<IDnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:320,1
    - Dst: static_cast<const IDnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:320,1
    - Dst: StringDnsResourceData::StringDnsResourceData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:319,1
    - Dst: DnsResourceDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:325,1
    - Dst: const_cast<IDnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:326,1
    - Dst: static_cast<const IDnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:326,1
    - Dst: MxDnsResourceData::MxDnsResourceData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:325,1
    - Dst: DnsResourceDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:331,1
    - Dst: GenericDnsResourceData::GenericDnsResourceData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 334
    functionName: pcpp::DnsResource::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsResource::getDataLength
    - getRawData
    - getDnsType
    - GenericDnsResourceData::GenericDnsResourceData
    - const_cast<IDnsResource*>
    - IPv4DnsResourceData::IPv4DnsResourceData
    - StringDnsResourceData::StringDnsResourceData
    - static_cast<const IDnsResource*>
    - DnsResourceDataPtr
    - MxDnsResourceData::MxDnsResourceData
    - IPv6DnsResourceData::IPv6DnsResourceData
    linkageType: ''
    returnType: DnsResourceDataPtr
    signature: DnsResourceDataPtr DnsResource::getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: pcpp::DnsResource::getDataOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DnsResource::getDataOffset() const
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:349,1
    - Dst: getDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:353,1
    - Dst: IDnsResourceData*::isTypeOf
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:357,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:359,1
    - Dst: IDnsResourceData*::isTypeOf
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:367,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:369,1
    - Dst: IDnsResourceData*::isTypeOf
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:380,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:382,1
    - Dst: IDnsResourceData*::isTypeOf
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:391,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:393,1
    - Dst: IDnsResourceData*::toByteArr
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:406,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:408,1
    - Dst: pcpp::DnsResource::getDataLength
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:417,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:420,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:422,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:428,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:430,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:437,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:437,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:439,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:440,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:440,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 1
    argNames:
    - data
    argTypes:
    - IDnsResourceData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 443
    functionName: pcpp::DnsResource::setData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsResource::getDataLength
    - extendLayer
    - htobe16
    - getRawData
    - getDnsType
    - IDnsResourceData*::isTypeOf
    - PCPP_LOG_ERROR
    - memcpy
    - IDnsResourceData*::toByteArr
    - shortenLayer
    linkageType: ''
    returnType: bool
    signature: bool DnsResource::setData(IDnsResourceData* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:447,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:447,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: pcpp::DnsResource::getCustomDnsClass
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getRawData
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DnsResource::getCustomDnsClass() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:453,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - customValue
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: pcpp::DnsResource::setCustomDnsClass
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - getRawData
    linkageType: ''
    returnType: void
    signature: void DnsResource::setCustomDnsClass(uint16_t customValue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IDnsResource::decodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:15,1
    - Dst: pcpp::IDnsResource::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dnsLayer
    - offsetInLayer
    argTypes:
    - DnsLayer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 18
    functionName: pcpp::IDnsResource::IDnsResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IDnsResource::decodeName
    - pcpp::IDnsResource::getRawData
    linkageType: ''
    returnType: void
    signature: void IDnsResource::IDnsResource(DnsLayer* dnsLayer, size_t offsetInLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - emptyRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: pcpp::IDnsResource::IDnsResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IDnsResource::IDnsResource(uint8_t* emptyRawData)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: pcpp::IDnsResource::getRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * IDnsResource::getRawData() const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - resultPtr
    - result
    - encodedNameLength
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: pcpp::cleanup
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t cleanup(char* resultPtr, char* result, size_t encodedNameLength)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:76,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:82,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:87,1
    - Dst: pcpp::IDnsResource::decodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:89,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:123,1
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:154,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 3
    argNames:
    - encodedName
    - result
    - iteration
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 155
    functionName: pcpp::IDnsResource::decodeName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 4
    functionsReached:
    - cleanup
    - pcpp::IDnsResource::decodeName
    - PCPP_LOG_ERROR
    - memcpy
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t IDnsResource::decodeName(const char* encodedName, char* result,
      int iteration)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getline
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:162,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:168,1
    - Dst: std::stringstream::fail
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:173,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:175,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:186,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:188,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:188,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:188,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:189,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - ' decodedName'
    - result
    - ' resultLen'
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 195
    functionName: pcpp::IDnsResource::encodeName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 1
    functionsReached:
    - getline
    - std::string::length
    - std::stringstream::fail
    - PCPP_LOG_ERROR
    - std::string::substr
    - memcpy
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: void IDnsResource::encodeName(const std::string& decodedName, char*
      result, size_t& resultLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:199,1
    - Dst: pcpp::IDnsResource::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:199,1
    - Dst: static_cast<DnsType>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:200,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: pcpp::IDnsResource::getDnsType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::IDnsResource::getRawData
    - static_cast<DnsType>
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: DnsType
    signature: DnsType IDnsResource::getDnsType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:205,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:206,1
    - Dst: pcpp::IDnsResource::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newType
    argTypes:
    - DnsType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: pcpp::IDnsResource::setDnsType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - htobe16
    - pcpp::IDnsResource::getRawData
    linkageType: ''
    returnType: void
    signature: void IDnsResource::setDnsType(DnsType newType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:211,1
    - Dst: pcpp::IDnsResource::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:211,1
    - Dst: static_cast<DnsClass>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:212,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: pcpp::IDnsResource::getDnsClass
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::IDnsResource::getRawData
    - static_cast<DnsClass>
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: DnsClass
    signature: DnsClass IDnsResource::getDnsClass() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:217,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:218,1
    - Dst: pcpp::IDnsResource::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newClass
    argTypes:
    - DnsClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: pcpp::IDnsResource::setDnsClass
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - htobe16
    - pcpp::IDnsResource::getRawData
    linkageType: ''
    returnType: void
    signature: void IDnsResource::setDnsClass(DnsClass newClass)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IDnsResource::encodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:225,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:230,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:232,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:238,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:240,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:247,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:248,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:249,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:250,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:254,1
    - Dst: pcpp::IDnsResource::getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - ' newName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 259
    functionName: pcpp::IDnsResource::setName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - extendLayer
    - pcpp::IDnsResource::getRawData
    - getSize
    - char::char
    - PCPP_LOG_ERROR
    - memcpy
    - shortenLayer
    - pcpp::IDnsResource::encodeName
    linkageType: ''
    returnType: bool
    signature: bool IDnsResource::setName(const std::string& newName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:263,1
    - Dst: getSize
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dnsLayer
    - offsetInLayer
    argTypes:
    - DnsLayer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: pcpp::IDnsResource::setDnsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - getSize
    linkageType: ''
    returnType: void
    signature: void IDnsResource::setDnsLayer(DnsLayer* dnsLayer, size_t offsetInLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:271,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:271,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: pcpp::DnsResource::getTTL
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - reinterpret_cast<uint32_t*>
    - getRawData
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DnsResource::getTTL() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:277,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:278,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newTTL
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: pcpp::DnsResource::setTTL
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - getRawData
    - htobe32
    linkageType: ''
    returnType: void
    signature: void DnsResource::setTTL(uint32_t newTTL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:293,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:293,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: pcpp::DnsResource::getDataLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - getRawData
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: size_t
    signature: size_t DnsResource::getDataLength() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:299,1
    - Dst: pcpp::DnsResource::getDataLength
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:300,1
    - Dst: getDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:302,1
    - Dst: DnsResourceDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:306,1
    - Dst: IPv4DnsResourceData::IPv4DnsResourceData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:306,1
    - Dst: DnsResourceDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:311,1
    - Dst: IPv6DnsResourceData::IPv6DnsResourceData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:311,1
    - Dst: DnsResourceDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:319,1
    - Dst: const_cast<IDnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:320,1
    - Dst: static_cast<const IDnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:320,1
    - Dst: StringDnsResourceData::StringDnsResourceData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:319,1
    - Dst: DnsResourceDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:325,1
    - Dst: const_cast<IDnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:326,1
    - Dst: static_cast<const IDnsResource*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:326,1
    - Dst: MxDnsResourceData::MxDnsResourceData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:325,1
    - Dst: DnsResourceDataPtr
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:331,1
    - Dst: GenericDnsResourceData::GenericDnsResourceData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 334
    functionName: pcpp::DnsResource::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsResource::getDataLength
    - getRawData
    - getDnsType
    - GenericDnsResourceData::GenericDnsResourceData
    - const_cast<IDnsResource*>
    - IPv4DnsResourceData::IPv4DnsResourceData
    - StringDnsResourceData::StringDnsResourceData
    - static_cast<const IDnsResource*>
    - DnsResourceDataPtr
    - MxDnsResourceData::MxDnsResourceData
    - IPv6DnsResourceData::IPv6DnsResourceData
    linkageType: ''
    returnType: DnsResourceDataPtr
    signature: DnsResourceDataPtr DnsResource::getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: pcpp::DnsResource::getDataOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t DnsResource::getDataOffset() const
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:349,1
    - Dst: getDnsType
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:353,1
    - Dst: IDnsResourceData*::isTypeOf
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:357,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:359,1
    - Dst: IDnsResourceData*::isTypeOf
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:367,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:369,1
    - Dst: IDnsResourceData*::isTypeOf
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:380,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:382,1
    - Dst: IDnsResourceData*::isTypeOf
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:391,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:393,1
    - Dst: IDnsResourceData*::toByteArr
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:406,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:408,1
    - Dst: pcpp::DnsResource::getDataLength
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:417,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:420,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:422,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:428,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:430,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:437,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:437,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:439,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:440,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:440,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 1
    argNames:
    - data
    argTypes:
    - IDnsResourceData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 443
    functionName: pcpp::DnsResource::setData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsResource::getDataLength
    - extendLayer
    - htobe16
    - getRawData
    - getDnsType
    - IDnsResourceData*::isTypeOf
    - PCPP_LOG_ERROR
    - memcpy
    - IDnsResourceData*::toByteArr
    - shortenLayer
    linkageType: ''
    returnType: bool
    signature: bool DnsResource::setData(IDnsResourceData* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:447,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:447,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: pcpp::DnsResource::getCustomDnsClass
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - getRawData
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DnsResource::getCustomDnsClass() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:453,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - customValue
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: pcpp::DnsResource::setCustomDnsClass
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - getRawData
    linkageType: ''
    returnType: void
    signature: void DnsResource::setCustomDnsClass(uint16_t customValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:25,1
    - Dst: pcpp::Sll2Layer::setPacketType
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:26,1
    - Dst: pcpp::Sll2Layer::setArphrdType
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:27,1
    - Dst: pcpp::Sll2Layer::setInterfaceIndex
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - interfaceIndex
    - ARPHRDType
    - packetType
    argTypes:
    - uint32_t
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: pcpp::Sll2Layer::Sll2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Sll2Layer::setInterfaceIndex
    - pcpp::Sll2Layer::setPacketType
    - pcpp::Sll2Layer::setArphrdType
    - allocData
    linkageType: ''
    returnType: void
    signature: void Sll2Layer::Sll2Layer(uint32_t interfaceIndex, uint16_t ARPHRDType,
      uint8_t packetType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:36,1
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:40,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:41,1
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - addr
    - addrLength
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: pcpp::Sll2Layer::setLinkLayerAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::Sll2Layer::getSll2Header
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool Sll2Layer::setLinkLayerAddr(const uint8_t* addr, size_t addrLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getLinkLayerAddr
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:47,1
    - Dst: pcpp::Sll2Layer::getLinkLayerAddrLen
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:48,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: pcpp::Sll2Layer::getLinkLayerAsMacAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - MacAddress
    - pcpp::Sll2Layer::getLinkLayerAddr
    - pcpp::Sll2Layer::getLinkLayerAddrLen
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress Sll2Layer::getLinkLayerAsMacAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:59,1
    - Dst: pcpp::Sll2Layer::setLinkLayerAddr
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' macAddr'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: pcpp::Sll2Layer::setMacAddressAsLinkLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Sll2Layer::setLinkLayerAddr
    - copyTo
    linkageType: ''
    returnType: bool
    signature: bool Sll2Layer::setMacAddressAsLinkLayer(const MacAddress& macAddr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:71,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:72,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:76,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:81,1
    - Dst: constructNextLayer<ArpLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:86,1
    - Dst: constructNextLayer<VlanLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:92,1
    - Dst: tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:97,1
    - Dst: tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:102,1
    - Dst: constructNextLayer<MplsLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:107,1
    - Dst: tryConstructNextLayerWithFallback<LLCLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:112,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 121
    functionName: pcpp::Sll2Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<LLCLayer, PayloadLayer>
    - constructNextLayer<ArpLayer>
    - constructNextLayer<PayloadLayer>
    - constructNextLayer<VlanLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - constructNextLayer<MplsLayer>
    - be16toh
    - pcpp::Sll2Layer::getSll2Header
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void Sll2Layer::parseNextLayer()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:128,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:129,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:132,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:135,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:138,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:141,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: pcpp::Sll2Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::Sll2Layer::getSll2Header
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void Sll2Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: pcpp::Sll2Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Sll2Layer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: pcpp::Sll2Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Sll2Layer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:163,1
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: pcpp::Sll2Layer::getProtocolType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Sll2Layer::getProtocolType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:168,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - protocolType
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: pcpp::Sll2Layer::setProtocolType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: void
    signature: void Sll2Layer::setProtocolType(uint16_t protocolType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:173,1
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: pcpp::Sll2Layer::getInterfaceIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sll2Layer::getInterfaceIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:178,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interfaceIndex
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: pcpp::Sll2Layer::setInterfaceIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Sll2Layer::getSll2Header
    - htobe32
    linkageType: ''
    returnType: void
    signature: void Sll2Layer::setInterfaceIndex(uint32_t interfaceIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:183,1
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: pcpp::Sll2Layer::getArphrdType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Sll2Layer::getArphrdType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:188,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arphrdType
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: pcpp::Sll2Layer::setArphrdType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: void
    signature: void Sll2Layer::setArphrdType(uint16_t arphrdType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: pcpp::Sll2Layer::getPacketType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Sll2Layer::getPacketType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - packetType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: pcpp::Sll2Layer::setPacketType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: void
    signature: void Sll2Layer::setPacketType(uint8_t packetType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: pcpp::Sll2Layer::getLinkLayerAddrLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Sll2Layer::getLinkLayerAddrLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: pcpp::Sll2Layer::getLinkLayerAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * Sll2Layer::getLinkLayerAddr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:25,1
    - Dst: pcpp::Sll2Layer::setPacketType
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:26,1
    - Dst: pcpp::Sll2Layer::setArphrdType
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:27,1
    - Dst: pcpp::Sll2Layer::setInterfaceIndex
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - interfaceIndex
    - ARPHRDType
    - packetType
    argTypes:
    - uint32_t
    - uint16_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: pcpp::Sll2Layer::Sll2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Sll2Layer::setInterfaceIndex
    - pcpp::Sll2Layer::setPacketType
    - pcpp::Sll2Layer::setArphrdType
    - allocData
    linkageType: ''
    returnType: void
    signature: void Sll2Layer::Sll2Layer(uint32_t interfaceIndex, uint16_t ARPHRDType,
      uint8_t packetType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:36,1
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:40,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:41,1
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - addr
    - addrLength
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: pcpp::Sll2Layer::setLinkLayerAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - pcpp::Sll2Layer::getSll2Header
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool Sll2Layer::setLinkLayerAddr(const uint8_t* addr, size_t addrLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getLinkLayerAddr
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:47,1
    - Dst: pcpp::Sll2Layer::getLinkLayerAddrLen
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:48,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: pcpp::Sll2Layer::getLinkLayerAsMacAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - MacAddress
    - pcpp::Sll2Layer::getLinkLayerAddr
    - pcpp::Sll2Layer::getLinkLayerAddrLen
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress Sll2Layer::getLinkLayerAsMacAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:59,1
    - Dst: pcpp::Sll2Layer::setLinkLayerAddr
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' macAddr'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: pcpp::Sll2Layer::setMacAddressAsLinkLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Sll2Layer::setLinkLayerAddr
    - copyTo
    linkageType: ''
    returnType: bool
    signature: bool Sll2Layer::setMacAddressAsLinkLayer(const MacAddress& macAddr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:71,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:72,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:76,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:81,1
    - Dst: constructNextLayer<ArpLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:86,1
    - Dst: constructNextLayer<VlanLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:92,1
    - Dst: tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:97,1
    - Dst: tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:102,1
    - Dst: constructNextLayer<MplsLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:107,1
    - Dst: tryConstructNextLayerWithFallback<LLCLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:112,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 121
    functionName: pcpp::Sll2Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<LLCLayer, PayloadLayer>
    - constructNextLayer<ArpLayer>
    - constructNextLayer<PayloadLayer>
    - constructNextLayer<VlanLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - constructNextLayer<MplsLayer>
    - be16toh
    - pcpp::Sll2Layer::getSll2Header
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void Sll2Layer::parseNextLayer()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:128,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:129,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:132,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:135,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:138,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:141,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: pcpp::Sll2Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::Sll2Layer::getSll2Header
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void Sll2Layer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: pcpp::Sll2Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Sll2Layer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: pcpp::Sll2Layer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Sll2Layer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:163,1
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: pcpp::Sll2Layer::getProtocolType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Sll2Layer::getProtocolType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:168,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - protocolType
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: pcpp::Sll2Layer::setProtocolType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: void
    signature: void Sll2Layer::setProtocolType(uint16_t protocolType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:173,1
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: pcpp::Sll2Layer::getInterfaceIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Sll2Layer::getInterfaceIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:178,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - interfaceIndex
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: pcpp::Sll2Layer::setInterfaceIndex
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::Sll2Layer::getSll2Header
    - htobe32
    linkageType: ''
    returnType: void
    signature: void Sll2Layer::setInterfaceIndex(uint32_t interfaceIndex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:183,1
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: pcpp::Sll2Layer::getArphrdType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Sll2Layer::getArphrdType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:188,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arphrdType
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: pcpp::Sll2Layer::setArphrdType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: void
    signature: void Sll2Layer::setArphrdType(uint16_t arphrdType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: pcpp::Sll2Layer::getPacketType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Sll2Layer::getPacketType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - packetType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: pcpp::Sll2Layer::setPacketType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: void
    signature: void Sll2Layer::setPacketType(uint8_t packetType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: pcpp::Sll2Layer::getLinkLayerAddrLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Sll2Layer::getLinkLayerAddrLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::getSll2Header
      Src: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: pcpp::Sll2Layer::getLinkLayerAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::Sll2Layer::getSll2Header
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * Sll2Layer::getLinkLayerAddr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - pRawData
    - rawDataLen
    - timestamp
    - takeOwnership
    - layerType
    argTypes:
    - uint8_t*
    - int
    - timeval
    - bool
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: pcpp::RawPacket::RawPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::toTimespec
    linkageType: ''
    returnType: void
    signature: "void RawPacket::RawPacket(const uint8_t* pRawData, int rawDataLen,
      timeval timestamp, bool takeOwnership,\n\t                     LinkLayerType
      layerType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - pRawData
    - rawDataLen
    - timestamp
    - takeOwnership
    - layerType
    argTypes:
    - uint8_t*
    - int
    - timespec
    - bool
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: pcpp::RawPacket::RawPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - const_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: "void RawPacket::RawPacket(const uint8_t* pRawData, int rawDataLen,
      timespec timestamp, bool takeOwnership,\n\t                     LinkLayerType
      layerType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: RawPacket::~RawPacket()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void RawPacket::~RawPacket()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::copyDataFrom
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: pcpp::RawPacket::RawPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RawPacket::copyDataFrom
    linkageType: ''
    returnType: void
    signature: void RawPacket::RawPacket(const RawPacket& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:36,1
    - Dst: copyDataFrom
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: '& RawPacket::operator=(const RawPacket& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - clear
    - copyDataFrom
    linkageType: ''
    returnType: RawPacket
    signature: RawPacket & RawPacket::operator=(const RawPacket& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::RawPacket::clone
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - RawPacket::RawPacket
    linkageType: ''
    returnType: RawPacket
    signature: RawPacket * RawPacket::clone() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:59,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' other'
    - allocateData
    argTypes:
    - RawPacket
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: pcpp::RawPacket::copyDataFrom
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void RawPacket::copyDataFrom(const RawPacket& other, bool allocateData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::setRawData
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:75,1
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - pRawData
    - rawDataLen
    - timestamp
    - layerType
    - frameLength
    argTypes:
    - uint8_t*
    - int
    - timeval
    - LinkLayerType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: pcpp::RawPacket::setRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 1
    functionsReached:
    - pcpp::internal::toTimespec
    - pcpp::RawPacket::setRawData
    linkageType: ''
    returnType: bool
    signature: "bool RawPacket::setRawData(const uint8_t* pRawData, int rawDataLen,
      timeval timestamp, LinkLayerType layerType,\n\t                           int
      frameLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::setRawData
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:83,1
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pRawData
    - rawDataLen
    - takeOwnership
    - timestamp
    - layerType
    - frameLength
    argTypes:
    - uint8_t*
    - int
    - bool
    - timeval
    - LinkLayerType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: pcpp::RawPacket::setRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 2
    functionsReached:
    - pcpp::internal::toTimespec
    - pcpp::RawPacket::setRawData
    linkageType: ''
    returnType: bool
    signature: "bool RawPacket::setRawData(const uint8_t* pRawData, int rawDataLen,
      bool takeOwnership, timeval timestamp,\n\t                           LinkLayerType
      layerType, int frameLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::doSetRawData
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pRawData
    - rawDataLen
    - timestamp
    - layerType
    - frameLength
    argTypes:
    - uint8_t*
    - int
    - timespec
    - LinkLayerType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: pcpp::RawPacket::setRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 2
    functionsReached:
    - pcpp::RawPacket::doSetRawData
    linkageType: ''
    returnType: bool
    signature: "bool RawPacket::setRawData(const uint8_t* pRawData, int rawDataLen,
      timespec timestamp, LinkLayerType layerType,\n\t                           int
      frameLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::doSetRawData
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pRawData
    - rawDataLen
    - takeOwnership
    - timestamp
    - layerType
    - frameLength
    argTypes:
    - uint8_t*
    - int
    - bool
    - timespec
    - LinkLayerType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: pcpp::RawPacket::setRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 2
    functionsReached:
    - pcpp::RawPacket::doSetRawData
    linkageType: ''
    returnType: bool
    signature: "bool RawPacket::setRawData(const uint8_t* pRawData, int rawDataLen,
      bool takeOwnership, timespec timestamp,\n\t                           LinkLayerType
      layerType, int frameLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::clear
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - pRawData
    - rawDataLen
    - takeOwnership
    - timestamp
    - layerType
    - frameLength
    argTypes:
    - uint8_t*
    - int
    - bool
    - timespec
    - LinkLayerType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: pcpp::RawPacket::doSetRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 2
    functionsReached:
    - pcpp::RawPacket::clear
    linkageType: ''
    returnType: bool
    signature: "bool RawPacket::doSetRawData(const uint8_t* pRawData, int rawDataLen,
      bool takeOwnership, timespec timestamp,\n\t                             LinkLayerType
      layerType, int frameLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::setRawData
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pRawData
    - rawDataLen
    - timestamp
    - layerType
    argTypes:
    - uint8_t*
    - int
    - timespec
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: pcpp::RawPacket::initWithRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RawPacket::setRawData
    linkageType: ''
    returnType: bool
    signature: "bool RawPacket::initWithRawData(const uint8_t* pRawData, int rawDataLen,
      timespec timestamp,\n\t                                LinkLayerType layerType)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: pcpp::RawPacket::clear
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawPacket::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dataToAppend
    - dataToAppendLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pcpp::RawPacket::appendData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void RawPacket::appendData(const uint8_t* dataToAppend, size_t dataToAppendLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:144,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:145,1
    - Dst: memmove
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:151,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - atIndex
    - dataToInsert
    - dataToInsertLen
    argTypes:
    - int
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 161
    functionName: pcpp::RawPacket::insertData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - memmove
    - std::out_of_range
    - to_string
    linkageType: ''
    returnType: void
    signature: void RawPacket::insertData(int atIndex, const uint8_t* dataToInsert,
      size_t dataToInsertLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:170,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:175,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:176,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - newBufferLength
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 185
    functionName: pcpp::RawPacket::reallocateData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - uint8_t::uint8_t
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool RawPacket::reallocateData(size_t newBufferLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:191,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:192,1
    - Dst: memmove
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - atIndex
    - numOfBytesToRemove
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 211
    functionName: pcpp::RawPacket::removeData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - memmove
    - PCPP_LOG_ERROR
    - to_string
    linkageType: ''
    returnType: bool
    signature: bool RawPacket::removeData(int atIndex, size_t numOfBytesToRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::setPacketTimeStamp
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:215,1
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timestamp
    argTypes:
    - timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: pcpp::RawPacket::setPacketTimeStamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 1
    functionsReached:
    - pcpp::internal::toTimespec
    - pcpp::RawPacket::setPacketTimeStamp
    linkageType: ''
    returnType: bool
    signature: bool RawPacket::setPacketTimeStamp(timeval timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timestamp
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: pcpp::RawPacket::setPacketTimeStamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RawPacket::setPacketTimeStamp(timespec timestamp)
  - BBCount: 94
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LinkLayerType>
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 99
    argCount: 1
    argNames:
    - linkTypeValue
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 326
    functionName: pcpp::RawPacket::isLinkTypeValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - static_cast<LinkLayerType>
    linkageType: ''
    returnType: bool
    signature: bool RawPacket::isLinkTypeValid(int linkTypeValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - pRawData
    - rawDataLen
    - timestamp
    - takeOwnership
    - layerType
    argTypes:
    - uint8_t*
    - int
    - timeval
    - bool
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: pcpp::RawPacket::RawPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::toTimespec
    linkageType: ''
    returnType: void
    signature: "void RawPacket::RawPacket(const uint8_t* pRawData, int rawDataLen,
      timeval timestamp, bool takeOwnership,\n\t                     LinkLayerType
      layerType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - pRawData
    - rawDataLen
    - timestamp
    - takeOwnership
    - layerType
    argTypes:
    - uint8_t*
    - int
    - timespec
    - bool
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: pcpp::RawPacket::RawPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - const_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: "void RawPacket::RawPacket(const uint8_t* pRawData, int rawDataLen,
      timespec timestamp, bool takeOwnership,\n\t                     LinkLayerType
      layerType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: RawPacket::~RawPacket()
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void RawPacket::~RawPacket()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::copyDataFrom
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: pcpp::RawPacket::RawPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RawPacket::copyDataFrom
    linkageType: ''
    returnType: void
    signature: void RawPacket::RawPacket(const RawPacket& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:36,1
    - Dst: copyDataFrom
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: '& RawPacket::operator=(const RawPacket& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - clear
    - copyDataFrom
    linkageType: ''
    returnType: RawPacket
    signature: RawPacket & RawPacket::operator=(const RawPacket& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::RawPacket::clone
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - RawPacket::RawPacket
    linkageType: ''
    returnType: RawPacket
    signature: RawPacket * RawPacket::clone() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:59,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' other'
    - allocateData
    argTypes:
    - RawPacket
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: pcpp::RawPacket::copyDataFrom
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 2
    functionsReached:
    - memcpy
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void RawPacket::copyDataFrom(const RawPacket& other, bool allocateData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::setRawData
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:75,1
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - pRawData
    - rawDataLen
    - timestamp
    - layerType
    - frameLength
    argTypes:
    - uint8_t*
    - int
    - timeval
    - LinkLayerType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: pcpp::RawPacket::setRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 4
    functionsReached:
    - pcpp::internal::toTimespec
    - pcpp::RawPacket::setRawData
    linkageType: ''
    returnType: bool
    signature: "bool RawPacket::setRawData(const uint8_t* pRawData, int rawDataLen,
      timeval timestamp, LinkLayerType layerType,\n\t                           int
      frameLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::setRawData
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:83,1
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pRawData
    - rawDataLen
    - takeOwnership
    - timestamp
    - layerType
    - frameLength
    argTypes:
    - uint8_t*
    - int
    - bool
    - timeval
    - LinkLayerType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: pcpp::RawPacket::setRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 5
    functionsReached:
    - pcpp::internal::toTimespec
    - pcpp::RawPacket::setRawData
    linkageType: ''
    returnType: bool
    signature: "bool RawPacket::setRawData(const uint8_t* pRawData, int rawDataLen,
      bool takeOwnership, timeval timestamp,\n\t                           LinkLayerType
      layerType, int frameLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::doSetRawData
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pRawData
    - rawDataLen
    - timestamp
    - layerType
    - frameLength
    argTypes:
    - uint8_t*
    - int
    - timespec
    - LinkLayerType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: pcpp::RawPacket::setRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 5
    functionsReached:
    - pcpp::RawPacket::doSetRawData
    linkageType: ''
    returnType: bool
    signature: "bool RawPacket::setRawData(const uint8_t* pRawData, int rawDataLen,
      timespec timestamp, LinkLayerType layerType,\n\t                           int
      frameLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::doSetRawData
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pRawData
    - rawDataLen
    - takeOwnership
    - timestamp
    - layerType
    - frameLength
    argTypes:
    - uint8_t*
    - int
    - bool
    - timespec
    - LinkLayerType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: pcpp::RawPacket::setRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 5
    functionsReached:
    - pcpp::RawPacket::doSetRawData
    linkageType: ''
    returnType: bool
    signature: "bool RawPacket::setRawData(const uint8_t* pRawData, int rawDataLen,
      bool takeOwnership, timespec timestamp,\n\t                           LinkLayerType
      layerType, int frameLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::clear
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - pRawData
    - rawDataLen
    - takeOwnership
    - timestamp
    - layerType
    - frameLength
    argTypes:
    - uint8_t*
    - int
    - bool
    - timespec
    - LinkLayerType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: pcpp::RawPacket::doSetRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 4
    functionsReached:
    - pcpp::RawPacket::clear
    linkageType: ''
    returnType: bool
    signature: "bool RawPacket::doSetRawData(const uint8_t* pRawData, int rawDataLen,
      bool takeOwnership, timespec timestamp,\n\t                             LinkLayerType
      layerType, int frameLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::setRawData
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pRawData
    - rawDataLen
    - timestamp
    - layerType
    argTypes:
    - uint8_t*
    - int
    - timespec
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: pcpp::RawPacket::initWithRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RawPacket::setRawData
    linkageType: ''
    returnType: bool
    signature: "bool RawPacket::initWithRawData(const uint8_t* pRawData, int rawDataLen,
      timespec timestamp,\n\t                                LinkLayerType layerType)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: pcpp::RawPacket::clear
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawPacket::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dataToAppend
    - dataToAppendLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: pcpp::RawPacket::appendData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void RawPacket::appendData(const uint8_t* dataToAppend, size_t dataToAppendLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:144,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:145,1
    - Dst: memmove
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:151,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - atIndex
    - dataToInsert
    - dataToInsertLen
    argTypes:
    - int
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 161
    functionName: pcpp::RawPacket::insertData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - memmove
    - std::out_of_range
    - to_string
    linkageType: ''
    returnType: void
    signature: void RawPacket::insertData(int atIndex, const uint8_t* dataToInsert,
      size_t dataToInsertLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:170,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:175,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:176,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - newBufferLength
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 185
    functionName: pcpp::RawPacket::reallocateData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - uint8_t::uint8_t
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool RawPacket::reallocateData(size_t newBufferLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:191,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:192,1
    - Dst: memmove
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - atIndex
    - numOfBytesToRemove
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 211
    functionName: pcpp::RawPacket::removeData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - memmove
    - PCPP_LOG_ERROR
    - to_string
    linkageType: ''
    returnType: bool
    signature: bool RawPacket::removeData(int atIndex, size_t numOfBytesToRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::setPacketTimeStamp
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:215,1
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timestamp
    argTypes:
    - timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: pcpp::RawPacket::setPacketTimeStamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 2
    functionsReached:
    - pcpp::internal::toTimespec
    - pcpp::RawPacket::setPacketTimeStamp
    linkageType: ''
    returnType: bool
    signature: bool RawPacket::setPacketTimeStamp(timeval timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timestamp
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: pcpp::RawPacket::setPacketTimeStamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RawPacket::setPacketTimeStamp(timespec timestamp)
  - BBCount: 94
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LinkLayerType>
      Src: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 99
    argCount: 1
    argNames:
    - linkTypeValue
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 326
    functionName: pcpp::RawPacket::isLinkTypeValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
    functionUses: 0
    functionsReached:
    - static_cast<LinkLayerType>
    linkageType: ''
    returnType: bool
    signature: bool RawPacket::isLinkTypeValid(int linkTypeValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - uint32Id
    - ' uint16IdUpper'
    - ' uint16IdLower'
    argTypes:
    - uint32_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: pcpp::splitUint32Id
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void splitUint32Id(uint32_t uint32Id, uint16_t& uint16IdUpper, uint16_t&
      uint16IdLower)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:30,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:31,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:32,1
    - Dst: pcpp::SomeIpLayer::setServiceID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:34,1
    - Dst: pcpp::SomeIpLayer::setMethodID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:35,1
    - Dst: pcpp::SomeIpLayer::setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:36,1
    - Dst: pcpp::SomeIpLayer::setClientID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:37,1
    - Dst: pcpp::SomeIpLayer::setSessionID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:38,1
    - Dst: pcpp::SomeIpLayer::setProtocolVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:39,1
    - Dst: pcpp::SomeIpLayer::setInterfaceVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:40,1
    - Dst: pcpp::SomeIpLayer::setMessageType
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:41,1
    - Dst: pcpp::SomeIpLayer::setReturnCode
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 9
    argNames:
    - serviceID
    - methodID
    - clientID
    - sessionID
    - interfaceVersion
    - type
    - returnCode
    - data
    - dataLen
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - MsgType
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 43
    functionName: pcpp::SomeIpLayer::SomeIpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::setClientID
    - pcpp::SomeIpLayer::setMethodID
    - pcpp::SomeIpLayer::setReturnCode
    - pcpp::SomeIpLayer::setMessageType
    - allocData
    - memcpy
    - pcpp::SomeIpLayer::setProtocolVersion
    - pcpp::SomeIpLayer::setInterfaceVersion
    - pcpp::SomeIpLayer::setPayloadLength
    - pcpp::SomeIpLayer::setSessionID
    - memset
    - pcpp::SomeIpLayer::setServiceID
    linkageType: ''
    returnType: void
    signature: "void SomeIpLayer::SomeIpLayer(uint16_t serviceID, uint16_t methodID,
      uint16_t clientID, uint16_t sessionID,\n\t                         uint8_t interfaceVersion,
      MsgType type, uint8_t returnCode, const uint8_t* const data,\n\t                         size_t
      dataLen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:50,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:53,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:54,1
    - Dst: PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:56,1
    - Dst: PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:59,1
    - Dst: static_cast<MsgType>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:63,1
    - Dst: PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:77,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:80,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:80,1
    - Dst: pcpp::SomeIpSdLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:81,1
    - Dst: SomeIpSdLayer::SomeIpSdLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:83,1
    - Dst: SomeIpTpLayer::SomeIpTpLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:87,1
    - Dst: SomeIpLayer::SomeIpLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:91,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 93
    functionName: pcpp::SomeIpLayer::parseSomeIpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - PayloadLayer::PayloadLayer
    - SomeIpTpLayer::SomeIpTpLayer
    - static_cast<MsgType>
    - be32toh
    - SomeIpLayer::SomeIpLayer
    - memcpy
    - be16toh
    - SomeIpSdLayer::SomeIpSdLayer
    - pcpp::SomeIpSdLayer::isDataValid
    linkageType: ''
    returnType: Layer
    signature: Layer * SomeIpLayer::parseSomeIpLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::isSomeIpSdPort
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:97,1
    - Dst: std::any_of
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:98,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:98,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: pcpp::SomeIpLayer::isSomeIpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 4
    functionsReached:
    - end
    - begin
    - pcpp::SomeIpSdLayer::isSomeIpSdPort
    - std::any_of
    linkageType: ''
    returnType: bool
    signature: bool SomeIpLayer::isSomeIpPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: pcpp::SomeIpLayer::addSomeIpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::addSomeIpPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: pcpp::SomeIpLayer::removeSomeIpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::removeSomeIpPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pcpp::SomeIpLayer::removeAllSomeIpPorts
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::removeAllSomeIpPorts()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:119,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:121,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: pcpp::SomeIpLayer::getMessageID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpLayer::getMessageID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: splitUint32Id
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:129,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:131,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:132,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - messageID
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: pcpp::SomeIpLayer::setMessageID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::SomeIpLayer::getSomeIpHeader
    - splitUint32Id
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setMessageID(uint32_t messageID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:138,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: pcpp::SomeIpLayer::getServiceID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpLayer::getServiceID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:143,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serviceID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: pcpp::SomeIpLayer::setServiceID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setServiceID(uint16_t serviceID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:148,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: pcpp::SomeIpLayer::getMethodID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpLayer::getMethodID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:153,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - methodID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: pcpp::SomeIpLayer::setMethodID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setMethodID(uint16_t methodID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:158,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: pcpp::SomeIpLayer::getLengthField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpLayer::getLengthField() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:163,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:165,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: pcpp::SomeIpLayer::getRequestID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpLayer::getRequestID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: splitUint32Id
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:173,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:175,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:176,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - requestID
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: pcpp::SomeIpLayer::setRequestID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::SomeIpLayer::getSomeIpHeader
    - splitUint32Id
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setRequestID(uint32_t requestID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:182,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pcpp::SomeIpLayer::getClientID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpLayer::getClientID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:187,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - clientID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: pcpp::SomeIpLayer::setClientID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setClientID(uint16_t clientID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:192,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: pcpp::SomeIpLayer::getSessionID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpLayer::getSessionID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:197,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sessionID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: pcpp::SomeIpLayer::setSessionID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setSessionID(uint16_t sessionID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: pcpp::SomeIpLayer::getProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpLayer::getProtocolVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: pcpp::SomeIpLayer::setProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setProtocolVersion(uint8_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: pcpp::SomeIpLayer::getInterfaceVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpLayer::getInterfaceVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: pcpp::SomeIpLayer::setInterfaceVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setInterfaceVersion(uint8_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SomeIpLayer::MsgType>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:222,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: pcpp::SomeIpLayer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SomeIpLayer::MsgType>
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: SomeIpLayer::MsgType
    signature: SomeIpLayer::MsgType SomeIpLayer::getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: pcpp::SomeIpLayer::getMessageTypeAsInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpLayer::getMessageTypeAsInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::setMessageType
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:232,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - MsgType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: pcpp::SomeIpLayer::setMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::SomeIpLayer::setMessageType
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setMessageType(MsgType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: pcpp::SomeIpLayer::setMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setMessageType(uint8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: pcpp::SomeIpLayer::getReturnCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpLayer::getReturnCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - returnCode
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: pcpp::SomeIpLayer::setReturnCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setReturnCode(uint8_t returnCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:252,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - payloadLength
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: pcpp::SomeIpLayer::setPayloadLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    - htobe32
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setPayloadLength(uint32_t payloadLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:259,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 267
    functionName: pcpp::SomeIpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayerFromFactory
    - pcpp::SomeIpLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getServiceID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:273,1
    - Dst: pcpp::SomeIpLayer::getMethodID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:274,1
    - Dst: pcpp::SomeIpLayer::getLengthField
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:274,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: pcpp::SomeIpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::getServiceID
    - pcpp::SomeIpLayer::getMethodID
    - std::stringstream::str
    - pcpp::SomeIpLayer::getLengthField
    linkageType: ''
    returnType: std::string
    signature: std::string SomeIpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:288,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:289,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:290,1
    - Dst: setServiceID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:292,1
    - Dst: setMethodID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:293,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:294,1
    - Dst: setClientID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:295,1
    - Dst: setSessionID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:296,1
    - Dst: setProtocolVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:297,1
    - Dst: setInterfaceVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:298,1
    - Dst: setMessageType
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:299,1
    - Dst: pcpp::SomeIpTpLayer::setTpFlag
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:299,1
    - Dst: setReturnCode
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:300,1
    - Dst: pcpp::SomeIpTpLayer::setOffset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:301,1
    - Dst: pcpp::SomeIpTpLayer::setMoreSegmentsFlag
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 11
    argNames:
    - serviceID
    - methodID
    - clientID
    - sessionID
    - interfaceVersion
    - type
    - returnCode
    - offset
    - moreSegmentsFlag
    - data
    - dataLen
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - MsgType
    - uint8_t
    - uint32_t
    - bool
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 303
    functionName: pcpp::SomeIpTpLayer::SomeIpTpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setMessageType
    - pcpp::SomeIpTpLayer::setMoreSegmentsFlag
    - setPayloadLength
    - pcpp::SomeIpTpLayer::setTpFlag
    - pcpp::SomeIpTpLayer::setOffset
    - setProtocolVersion
    - allocData
    - memcpy
    - setSessionID
    - setReturnCode
    - setInterfaceVersion
    - memset
    - setClientID
    - setMethodID
    - setServiceID
    linkageType: ''
    returnType: void
    signature: "void SomeIpTpLayer::SomeIpTpLayer(uint16_t serviceID, uint16_t methodID,
      uint16_t clientID, uint16_t sessionID,\n\t                             uint8_t
      interfaceVersion, MsgType type, uint8_t returnCode, uint32_t offset,\n\t                             bool
      moreSegmentsFlag, const uint8_t* const data, size_t dataLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:307,1
    - Dst: pcpp::SomeIpTpLayer::getSomeIpTpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: pcpp::SomeIpTpLayer::getOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SomeIpTpLayer::getSomeIpTpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpTpLayer::getOffset() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:314,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:318,1
    - Dst: pcpp::SomeIpTpLayer::getSomeIpTpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:318,1
    - Dst: pcpp::SomeIpTpLayer::getSomeIpTpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:319,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: pcpp::SomeIpTpLayer::setOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 1
    functionsReached:
    - be32toh
    - pcpp::SomeIpTpLayer::getSomeIpTpHeader
    - std::invalid_argument
    - htobe32
    linkageType: ''
    returnType: void
    signature: void SomeIpTpLayer::setOffset(uint32_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:324,1
    - Dst: pcpp::SomeIpTpLayer::getSomeIpTpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: pcpp::SomeIpTpLayer::getMoreSegmentsFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SomeIpTpLayer::getSomeIpTpHeader
    linkageType: ''
    returnType: bool
    signature: bool SomeIpTpLayer::getMoreSegmentsFlag() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:329,1
    - Dst: pcpp::SomeIpTpLayer::getSomeIpTpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:329,1
    - Dst: pcpp::SomeIpTpLayer::getSomeIpTpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:340,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 341
    functionName: pcpp::SomeIpTpLayer::setMoreSegmentsFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 1
    functionsReached:
    - be32toh
    - pcpp::SomeIpTpLayer::getSomeIpTpHeader
    - htobe32
    linkageType: ''
    returnType: void
    signature: void SomeIpTpLayer::setMoreSegmentsFlag(bool flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setMessageType
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:345,1
    - Dst: pcpp::SomeIpTpLayer::setTpFlag
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:345,1
    - Dst: getMessageTypeAsInt
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: pcpp::SomeIpTpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - getMessageTypeAsInt
    - pcpp::SomeIpTpLayer::setTpFlag
    - setMessageType
    linkageType: ''
    returnType: void
    signature: void SomeIpTpLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getServiceID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:352,1
    - Dst: getMethodID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:353,1
    - Dst: getLengthField
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:353,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: pcpp::SomeIpTpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - getLengthField
    - getServiceID
    - getMethodID
    linkageType: ''
    returnType: std::string
    signature: std::string SomeIpTpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - messageType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: pcpp::SomeIpTpLayer::setTpFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpTpLayer::setTpFlag(uint8_t messageType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - uint32Id
    - ' uint16IdUpper'
    - ' uint16IdLower'
    argTypes:
    - uint32_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: pcpp::splitUint32Id
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void splitUint32Id(uint32_t uint32Id, uint16_t& uint16IdUpper, uint16_t&
      uint16IdLower)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:30,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:31,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:32,1
    - Dst: pcpp::SomeIpLayer::setServiceID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:34,1
    - Dst: pcpp::SomeIpLayer::setMethodID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:35,1
    - Dst: pcpp::SomeIpLayer::setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:36,1
    - Dst: pcpp::SomeIpLayer::setClientID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:37,1
    - Dst: pcpp::SomeIpLayer::setSessionID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:38,1
    - Dst: pcpp::SomeIpLayer::setProtocolVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:39,1
    - Dst: pcpp::SomeIpLayer::setInterfaceVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:40,1
    - Dst: pcpp::SomeIpLayer::setMessageType
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:41,1
    - Dst: pcpp::SomeIpLayer::setReturnCode
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 9
    argNames:
    - serviceID
    - methodID
    - clientID
    - sessionID
    - interfaceVersion
    - type
    - returnCode
    - data
    - dataLen
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - MsgType
    - uint8_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 43
    functionName: pcpp::SomeIpLayer::SomeIpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::setClientID
    - pcpp::SomeIpLayer::setMethodID
    - pcpp::SomeIpLayer::setReturnCode
    - pcpp::SomeIpLayer::setMessageType
    - allocData
    - memcpy
    - pcpp::SomeIpLayer::setProtocolVersion
    - pcpp::SomeIpLayer::setInterfaceVersion
    - pcpp::SomeIpLayer::setPayloadLength
    - pcpp::SomeIpLayer::setSessionID
    - memset
    - pcpp::SomeIpLayer::setServiceID
    linkageType: ''
    returnType: void
    signature: "void SomeIpLayer::SomeIpLayer(uint16_t serviceID, uint16_t methodID,
      uint16_t clientID, uint16_t sessionID,\n\t                         uint8_t interfaceVersion,
      MsgType type, uint8_t returnCode, const uint8_t* const data,\n\t                         size_t
      dataLen)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:50,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:53,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:54,1
    - Dst: PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:56,1
    - Dst: PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:59,1
    - Dst: static_cast<MsgType>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:63,1
    - Dst: PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:77,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:80,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:80,1
    - Dst: pcpp::SomeIpSdLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:81,1
    - Dst: SomeIpSdLayer::SomeIpSdLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:83,1
    - Dst: SomeIpTpLayer::SomeIpTpLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:87,1
    - Dst: SomeIpLayer::SomeIpLayer
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:91,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 93
    functionName: pcpp::SomeIpLayer::parseSomeIpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - PayloadLayer::PayloadLayer
    - SomeIpTpLayer::SomeIpTpLayer
    - static_cast<MsgType>
    - be32toh
    - SomeIpLayer::SomeIpLayer
    - memcpy
    - be16toh
    - SomeIpSdLayer::SomeIpSdLayer
    - pcpp::SomeIpSdLayer::isDataValid
    linkageType: ''
    returnType: Layer
    signature: Layer * SomeIpLayer::parseSomeIpLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpSdLayer::isSomeIpSdPort
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:97,1
    - Dst: std::any_of
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:98,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:98,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: pcpp::SomeIpLayer::isSomeIpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 4
    functionsReached:
    - end
    - begin
    - pcpp::SomeIpSdLayer::isSomeIpSdPort
    - std::any_of
    linkageType: ''
    returnType: bool
    signature: bool SomeIpLayer::isSomeIpPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: pcpp::SomeIpLayer::addSomeIpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::addSomeIpPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: pcpp::SomeIpLayer::removeSomeIpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - erase
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::removeSomeIpPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pcpp::SomeIpLayer::removeAllSomeIpPorts
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::removeAllSomeIpPorts()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:119,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:121,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: pcpp::SomeIpLayer::getMessageID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpLayer::getMessageID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: splitUint32Id
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:129,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:131,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:132,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - messageID
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: pcpp::SomeIpLayer::setMessageID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::SomeIpLayer::getSomeIpHeader
    - splitUint32Id
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setMessageID(uint32_t messageID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:138,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: pcpp::SomeIpLayer::getServiceID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpLayer::getServiceID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:143,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serviceID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: pcpp::SomeIpLayer::setServiceID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setServiceID(uint16_t serviceID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:148,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: pcpp::SomeIpLayer::getMethodID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpLayer::getMethodID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:153,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - methodID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: pcpp::SomeIpLayer::setMethodID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setMethodID(uint16_t methodID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:158,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: pcpp::SomeIpLayer::getLengthField
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 1
    functionsReached:
    - be32toh
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpLayer::getLengthField() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:163,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:165,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: pcpp::SomeIpLayer::getRequestID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpLayer::getRequestID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: splitUint32Id
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:173,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:175,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:176,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - requestID
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: pcpp::SomeIpLayer::setRequestID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::SomeIpLayer::getSomeIpHeader
    - splitUint32Id
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setRequestID(uint32_t requestID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:182,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pcpp::SomeIpLayer::getClientID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpLayer::getClientID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:187,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - clientID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: pcpp::SomeIpLayer::setClientID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setClientID(uint16_t clientID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:192,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: pcpp::SomeIpLayer::getSessionID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t SomeIpLayer::getSessionID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:197,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sessionID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: pcpp::SomeIpLayer::setSessionID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 2
    functionsReached:
    - htobe16
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setSessionID(uint16_t sessionID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: pcpp::SomeIpLayer::getProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpLayer::getProtocolVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: pcpp::SomeIpLayer::setProtocolVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setProtocolVersion(uint8_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: pcpp::SomeIpLayer::getInterfaceVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpLayer::getInterfaceVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: pcpp::SomeIpLayer::setInterfaceVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setInterfaceVersion(uint8_t version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SomeIpLayer::MsgType>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:222,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: pcpp::SomeIpLayer::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - static_cast<SomeIpLayer::MsgType>
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: SomeIpLayer::MsgType
    signature: SomeIpLayer::MsgType SomeIpLayer::getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: pcpp::SomeIpLayer::getMessageTypeAsInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpLayer::getMessageTypeAsInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::setMessageType
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:232,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - MsgType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: pcpp::SomeIpLayer::setMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 4
    functionsReached:
    - pcpp::SomeIpLayer::setMessageType
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setMessageType(MsgType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: pcpp::SomeIpLayer::setMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 4
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setMessageType(uint8_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: pcpp::SomeIpLayer::getReturnCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpLayer::getReturnCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - returnCode
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: pcpp::SomeIpLayer::setReturnCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setReturnCode(uint8_t returnCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:252,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - payloadLength
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: pcpp::SomeIpLayer::setPayloadLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeader
    - htobe32
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::setPayloadLength(uint32_t payloadLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:259,1
    - Dst: constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 267
    functionName: pcpp::SomeIpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayerFromFactory
    - pcpp::SomeIpLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getServiceID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:273,1
    - Dst: pcpp::SomeIpLayer::getMethodID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:274,1
    - Dst: pcpp::SomeIpLayer::getLengthField
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:274,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: pcpp::SomeIpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::getServiceID
    - pcpp::SomeIpLayer::getMethodID
    - std::stringstream::str
    - pcpp::SomeIpLayer::getLengthField
    linkageType: ''
    returnType: std::string
    signature: std::string SomeIpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:288,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:289,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:290,1
    - Dst: setServiceID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:292,1
    - Dst: setMethodID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:293,1
    - Dst: setPayloadLength
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:294,1
    - Dst: setClientID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:295,1
    - Dst: setSessionID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:296,1
    - Dst: setProtocolVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:297,1
    - Dst: setInterfaceVersion
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:298,1
    - Dst: setMessageType
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:299,1
    - Dst: pcpp::SomeIpTpLayer::setTpFlag
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:299,1
    - Dst: setReturnCode
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:300,1
    - Dst: pcpp::SomeIpTpLayer::setOffset
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:301,1
    - Dst: pcpp::SomeIpTpLayer::setMoreSegmentsFlag
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 11
    argNames:
    - serviceID
    - methodID
    - clientID
    - sessionID
    - interfaceVersion
    - type
    - returnCode
    - offset
    - moreSegmentsFlag
    - data
    - dataLen
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    - uint16_t
    - uint8_t
    - MsgType
    - uint8_t
    - uint32_t
    - bool
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 303
    functionName: pcpp::SomeIpTpLayer::SomeIpTpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - setMessageType
    - pcpp::SomeIpTpLayer::setMoreSegmentsFlag
    - setPayloadLength
    - pcpp::SomeIpTpLayer::setTpFlag
    - pcpp::SomeIpTpLayer::setOffset
    - setProtocolVersion
    - allocData
    - memcpy
    - setSessionID
    - setReturnCode
    - setInterfaceVersion
    - memset
    - setClientID
    - setMethodID
    - setServiceID
    linkageType: ''
    returnType: void
    signature: "void SomeIpTpLayer::SomeIpTpLayer(uint16_t serviceID, uint16_t methodID,
      uint16_t clientID, uint16_t sessionID,\n\t                             uint8_t
      interfaceVersion, MsgType type, uint8_t returnCode, uint32_t offset,\n\t                             bool
      moreSegmentsFlag, const uint8_t* const data, size_t dataLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:307,1
    - Dst: pcpp::SomeIpTpLayer::getSomeIpTpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: pcpp::SomeIpTpLayer::getOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SomeIpTpLayer::getSomeIpTpHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t SomeIpTpLayer::getOffset() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:314,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:318,1
    - Dst: pcpp::SomeIpTpLayer::getSomeIpTpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:318,1
    - Dst: pcpp::SomeIpTpLayer::getSomeIpTpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:319,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: pcpp::SomeIpTpLayer::setOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 2
    functionsReached:
    - be32toh
    - pcpp::SomeIpTpLayer::getSomeIpTpHeader
    - std::invalid_argument
    - htobe32
    linkageType: ''
    returnType: void
    signature: void SomeIpTpLayer::setOffset(uint32_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:324,1
    - Dst: pcpp::SomeIpTpLayer::getSomeIpTpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: pcpp::SomeIpTpLayer::getMoreSegmentsFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::SomeIpTpLayer::getSomeIpTpHeader
    linkageType: ''
    returnType: bool
    signature: bool SomeIpTpLayer::getMoreSegmentsFlag() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:329,1
    - Dst: pcpp::SomeIpTpLayer::getSomeIpTpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:329,1
    - Dst: pcpp::SomeIpTpLayer::getSomeIpTpHeader
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:340,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - flag
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 341
    functionName: pcpp::SomeIpTpLayer::setMoreSegmentsFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 2
    functionsReached:
    - be32toh
    - pcpp::SomeIpTpLayer::getSomeIpTpHeader
    - htobe32
    linkageType: ''
    returnType: void
    signature: void SomeIpTpLayer::setMoreSegmentsFlag(bool flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setMessageType
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:345,1
    - Dst: pcpp::SomeIpTpLayer::setTpFlag
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:345,1
    - Dst: getMessageTypeAsInt
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: pcpp::SomeIpTpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - getMessageTypeAsInt
    - pcpp::SomeIpTpLayer::setTpFlag
    - setMessageType
    linkageType: ''
    returnType: void
    signature: void SomeIpTpLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getServiceID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:352,1
    - Dst: getMethodID
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:353,1
    - Dst: getLengthField
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:353,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 356
    functionName: pcpp::SomeIpTpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - getLengthField
    - getServiceID
    - getMethodID
    linkageType: ''
    returnType: std::string
    signature: std::string SomeIpTpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - messageType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: pcpp::SomeIpTpLayer::setTpFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t SomeIpTpLayer::setTpFlag(uint8_t messageType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:13,1
    - Dst: pcpp::CotpLayer::getCotpHeader
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tpduNumber
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: pcpp::CotpLayer::CotpLayer(uint8_t tpduNumber)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getCotpHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void pcpp::CotpLayer::CotpLayer(uint8_t tpduNumber)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: pcpp::CotpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CotpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CotpLayer::getCotpHeader
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pcpp::CotpLayer::getLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getCotpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CotpLayer::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CotpLayer::getCotpHeader
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::CotpLayer::getPduType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getCotpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CotpLayer::getPduType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CotpLayer::getCotpHeader
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: pcpp::CotpLayer::getTpduNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getCotpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CotpLayer::getTpduNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CotpLayer::getCotpHeader
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pcpp::CotpLayer::setLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getCotpHeader
    linkageType: ''
    returnType: void
    signature: void CotpLayer::setLength(uint8_t length) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CotpLayer::getCotpHeader
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pduType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::CotpLayer::setPduType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getCotpHeader
    linkageType: ''
    returnType: void
    signature: void CotpLayer::setPduType(uint8_t pduType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CotpLayer::getCotpHeader
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tpduNumber
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: pcpp::CotpLayer::setTpduNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getCotpHeader
    linkageType: ''
    returnType: void
    signature: void CotpLayer::setTpduNumber(uint8_t tpduNumber) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: pcpp::CotpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CotpLayer::isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CotpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:66,1
    - Dst: tryConstructNextLayerWithFallback<S7CommLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: pcpp::CotpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getHeaderLen
    - tryConstructNextLayerWithFallback<S7CommLayer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void CotpLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:13,1
    - Dst: pcpp::CotpLayer::getCotpHeader
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tpduNumber
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: pcpp::CotpLayer::CotpLayer(uint8_t tpduNumber)
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getCotpHeader
    - allocData
    linkageType: ''
    returnType: void
    signature: void pcpp::CotpLayer::CotpLayer(uint8_t tpduNumber)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: pcpp::CotpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CotpLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CotpLayer::getCotpHeader
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pcpp::CotpLayer::getLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getCotpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CotpLayer::getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CotpLayer::getCotpHeader
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::CotpLayer::getPduType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getCotpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CotpLayer::getPduType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CotpLayer::getCotpHeader
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: pcpp::CotpLayer::getTpduNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getCotpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t CotpLayer::getTpduNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CotpLayer::getCotpHeader
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pcpp::CotpLayer::setLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getCotpHeader
    linkageType: ''
    returnType: void
    signature: void CotpLayer::setLength(uint8_t length) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CotpLayer::getCotpHeader
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pduType
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::CotpLayer::setPduType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getCotpHeader
    linkageType: ''
    returnType: void
    signature: void CotpLayer::setPduType(uint8_t pduType) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CotpLayer::getCotpHeader
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tpduNumber
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: pcpp::CotpLayer::setTpduNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getCotpHeader
    linkageType: ''
    returnType: void
    signature: void CotpLayer::setTpduNumber(uint8_t tpduNumber) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: pcpp::CotpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CotpLayer::isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CotpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:66,1
    - Dst: tryConstructNextLayerWithFallback<S7CommLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: pcpp::CotpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::CotpLayer::getHeaderLen
    - tryConstructNextLayerWithFallback<S7CommLayer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void CotpLayer::parseNextLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:19,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:22,1
    - Dst: pcpp::VlanLayer::setVlanID
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:23,1
    - Dst: pcpp::VlanLayer::setCFI
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:24,1
    - Dst: pcpp::VlanLayer::setPriority
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:25,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - vlanID
    - cfi
    - priority
    - etherType
    argTypes:
    - uint16_t
    - bool
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: pcpp::VlanLayer::VlanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::VlanLayer::setVlanID
    - pcpp::VlanLayer::getVlanHeader
    - pcpp::VlanLayer::setPriority
    - pcpp::VlanLayer::setCFI
    - allocData
    linkageType: ''
    returnType: void
    signature: void VlanLayer::VlanLayer(const uint16_t vlanID, bool cfi, uint8_t
      priority, uint16_t etherType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:31,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: pcpp::VlanLayer::getVlanID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::VlanLayer::getVlanHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t VlanLayer::getVlanID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:36,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pcpp::VlanLayer::getCFI
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::VlanLayer::getVlanHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VlanLayer::getCFI() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:41,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: pcpp::VlanLayer::getPriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - pcpp::VlanLayer::getVlanHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VlanLayer::getPriority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:46,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:46,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:46,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::VlanLayer::setVlanID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - htobe16
    - pcpp::VlanLayer::getVlanHeader
    linkageType: ''
    returnType: void
    signature: void VlanLayer::setVlanID(uint16_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:51,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:51,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:51,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfi
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::VlanLayer::setCFI
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - htobe16
    - pcpp::VlanLayer::getVlanHeader
    linkageType: ''
    returnType: void
    signature: void VlanLayer::setCFI(bool cfi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:56,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:56,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:56,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priority
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: pcpp::VlanLayer::setPriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - htobe16
    - pcpp::VlanLayer::getVlanHeader
    linkageType: ''
    returnType: void
    signature: void VlanLayer::setPriority(uint8_t priority)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:67,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:68,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:72,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:77,1
    - Dst: constructNextLayer<ArpLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:82,1
    - Dst: constructNextLayer<VlanLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:88,1
    - Dst: tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:93,1
    - Dst: tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:98,1
    - Dst: constructNextLayer<MplsLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:103,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:108,1
    - Dst: tryConstructNextLayerWithFallback<LLCLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:110,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:114,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 119
    functionName: pcpp::VlanLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<LLCLayer, PayloadLayer>
    - constructNextLayer<ArpLayer>
    - pcpp::VlanLayer::getVlanHeader
    - constructNextLayer<PayloadLayer>
    - constructNextLayer<VlanLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - constructNextLayer<MplsLayer>
    - be16toh
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void VlanLayer::parseNextLayer()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:126,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:129,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:129,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:132,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:132,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:135,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:135,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:138,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 143
    functionName: pcpp::VlanLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::VlanLayer::getVlanHeader
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void VlanLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VlanLayer::getCFI
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:148,1
    - Dst: pcpp::VlanLayer::getPriority
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:150,1
    - Dst: pcpp::VlanLayer::getVlanID
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:152,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:154,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:154,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: pcpp::VlanLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VlanLayer::getCFI
    - pcpp::VlanLayer::getPriority
    - std::ostringstream::str
    - pcpp::VlanLayer::getVlanID
    linkageType: ''
    returnType: std::string
    signature: std::string VlanLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:19,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:22,1
    - Dst: pcpp::VlanLayer::setVlanID
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:23,1
    - Dst: pcpp::VlanLayer::setCFI
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:24,1
    - Dst: pcpp::VlanLayer::setPriority
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:25,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - vlanID
    - cfi
    - priority
    - etherType
    argTypes:
    - uint16_t
    - bool
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: pcpp::VlanLayer::VlanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::VlanLayer::setVlanID
    - pcpp::VlanLayer::getVlanHeader
    - pcpp::VlanLayer::setPriority
    - pcpp::VlanLayer::setCFI
    - allocData
    linkageType: ''
    returnType: void
    signature: void VlanLayer::VlanLayer(const uint16_t vlanID, bool cfi, uint8_t
      priority, uint16_t etherType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:31,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: pcpp::VlanLayer::getVlanID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::VlanLayer::getVlanHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t VlanLayer::getVlanID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:36,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pcpp::VlanLayer::getCFI
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::VlanLayer::getVlanHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VlanLayer::getCFI() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:41,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: pcpp::VlanLayer::getPriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 1
    functionsReached:
    - be16toh
    - pcpp::VlanLayer::getVlanHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t VlanLayer::getPriority() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:46,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:46,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:46,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::VlanLayer::setVlanID
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - htobe16
    - pcpp::VlanLayer::getVlanHeader
    linkageType: ''
    returnType: void
    signature: void VlanLayer::setVlanID(uint16_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:51,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:51,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:51,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cfi
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::VlanLayer::setCFI
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - htobe16
    - pcpp::VlanLayer::getVlanHeader
    linkageType: ''
    returnType: void
    signature: void VlanLayer::setCFI(bool cfi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:56,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:56,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:56,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priority
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: pcpp::VlanLayer::setPriority
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 2
    functionsReached:
    - be16toh
    - htobe16
    - pcpp::VlanLayer::getVlanHeader
    linkageType: ''
    returnType: void
    signature: void VlanLayer::setPriority(uint8_t priority)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:67,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:68,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:72,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:77,1
    - Dst: constructNextLayer<ArpLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:82,1
    - Dst: constructNextLayer<VlanLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:88,1
    - Dst: tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:93,1
    - Dst: tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:98,1
    - Dst: constructNextLayer<MplsLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:103,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:108,1
    - Dst: tryConstructNextLayerWithFallback<LLCLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:110,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:114,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 119
    functionName: pcpp::VlanLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
    - tryConstructNextLayerWithFallback<LLCLayer, PayloadLayer>
    - constructNextLayer<ArpLayer>
    - pcpp::VlanLayer::getVlanHeader
    - constructNextLayer<PayloadLayer>
    - constructNextLayer<VlanLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - constructNextLayer<MplsLayer>
    - be16toh
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void VlanLayer::parseNextLayer()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:126,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:129,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:129,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:132,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:132,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:135,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:135,1
    - Dst: pcpp::VlanLayer::getVlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:138,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 143
    functionName: pcpp::VlanLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::VlanLayer::getVlanHeader
    - getProtocol
    linkageType: ''
    returnType: void
    signature: void VlanLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VlanLayer::getCFI
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:148,1
    - Dst: pcpp::VlanLayer::getPriority
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:150,1
    - Dst: pcpp::VlanLayer::getVlanID
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:152,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:154,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:154,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: pcpp::VlanLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VlanLayer::getCFI
    - pcpp::VlanLayer::getPriority
    - std::ostringstream::str
    - pcpp::VlanLayer::getVlanID
    linkageType: ''
    returnType: std::string
    signature: std::string VlanLayer::toString() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:13,1
    - Dst: pcpp::VxlanLayer::setVNI
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:17,1
    - Dst: pcpp::VxlanLayer::getVxlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:19,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:22,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - vni
    - groupPolicyID
    - setGbpFlag
    - setPolicyAppliedFlag
    - setDontLearnFlag
    argTypes:
    - uint32_t
    - uint16_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 32
    functionName: pcpp::VxlanLayer::VxlanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VxlanLayer::setVNI
    - pcpp::VxlanLayer::getVxlanHeader
    - htobe16
    - allocData
    linkageType: ''
    returnType: void
    signature: "void VxlanLayer::VxlanLayer(uint32_t vni, uint16_t groupPolicyID,
      bool setGbpFlag, bool setPolicyAppliedFlag,\n\t                       bool setDontLearnFlag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:36,1
    - Dst: pcpp::VxlanLayer::getVxlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pcpp::VxlanLayer::getVNI
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::VxlanLayer::getVxlanHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t VxlanLayer::getVNI() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VxlanLayer::getVxlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:41,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vni
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: pcpp::VxlanLayer::setVNI
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp
    functionUses: 1
    functionsReached:
    - pcpp::VxlanLayer::getVxlanHeader
    - htobe32
    linkageType: ''
    returnType: void
    signature: void VxlanLayer::setVNI(uint32_t vni)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::VxlanLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string VxlanLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: constructNextLayer<EthLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: pcpp::VxlanLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<EthLayer>
    linkageType: ''
    returnType: void
    signature: void VxlanLayer::parseNextLayer()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:13,1
    - Dst: pcpp::VxlanLayer::setVNI
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:17,1
    - Dst: pcpp::VxlanLayer::getVxlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:19,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:22,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - vni
    - groupPolicyID
    - setGbpFlag
    - setPolicyAppliedFlag
    - setDontLearnFlag
    argTypes:
    - uint32_t
    - uint16_t
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 32
    functionName: pcpp::VxlanLayer::VxlanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VxlanLayer::setVNI
    - pcpp::VxlanLayer::getVxlanHeader
    - htobe16
    - allocData
    linkageType: ''
    returnType: void
    signature: "void VxlanLayer::VxlanLayer(uint32_t vni, uint16_t groupPolicyID,
      bool setGbpFlag, bool setPolicyAppliedFlag,\n\t                       bool setDontLearnFlag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:36,1
    - Dst: pcpp::VxlanLayer::getVxlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pcpp::VxlanLayer::getVNI
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::VxlanLayer::getVxlanHeader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t VxlanLayer::getVNI() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VxlanLayer::getVxlanHeader
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:41,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vni
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: pcpp::VxlanLayer::setVNI
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp
    functionUses: 2
    functionsReached:
    - pcpp::VxlanLayer::getVxlanHeader
    - htobe32
    linkageType: ''
    returnType: void
    signature: void VxlanLayer::setVNI(uint32_t vni)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::VxlanLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string VxlanLayer::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: constructNextLayer<EthLayer>
      Src: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: pcpp::VxlanLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp
    functionUses: 0
    functionsReached:
    - constructNextLayer<EthLayer>
    linkageType: ''
    returnType: void
    signature: void VxlanLayer::parseNextLayer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:17,1
    - Dst: IDnsResource*::decodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - encodedName
    - result
    - dnsResource
    argTypes:
    - char*
    - char*
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: pcpp::IDnsResourceData::decodeName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - IDnsResource*::decodeName
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: size_t
    signature: size_t IDnsResourceData::decodeName(const char* encodedName, char*
      result, IDnsResource* dnsResource) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:29,1
    - Dst: IDnsResource*::encodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' decodedName'
    - result
    - ' resultLen'
    - dnsResource
    argTypes:
    - std::string
    - char*
    - size_t
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: pcpp::IDnsResourceData::encodeName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - IDnsResource*::encodeName
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: "void IDnsResourceData::encodeName(const std::string& decodedName,
      char* result, size_t& resultLen,\n\t                                  IDnsResource*
      dnsResource) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:41,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dataPtr
    - dataLen
    - dnsResource
    argTypes:
    - uint8_t*
    - size_t
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: pcpp::StringDnsResourceData::StringDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - decodeName
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void StringDnsResourceData::StringDnsResourceData(const uint8_t* dataPtr,
      size_t dataLen, IDnsResource* dnsResource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - arr
    - ' arrLength'
    - dnsResource
    argTypes:
    - uint8_t*
    - size_t
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: pcpp::StringDnsResourceData::toByteArr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - encodeName
    linkageType: ''
    returnType: bool
    signature: bool StringDnsResourceData::toByteArr(uint8_t* arr, size_t& arrLength,
      IDnsResource* dnsResource) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:58,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dataPtr
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: pcpp::IPv4DnsResourceData::IPv4DnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - IPv4Address
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void IPv4DnsResourceData::IPv4DnsResourceData(const uint8_t* dataPtr,
      size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:69,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arr
    - ' arrLength'
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: pcpp::IPv4DnsResourceData::toByteArr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - toBytes
    linkageType: ''
    returnType: bool
    signature: bool IPv4DnsResourceData::toByteArr(uint8_t* arr, size_t& arrLength,
      IDnsResource*) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:77,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dataPtr
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: pcpp::IPv6DnsResourceData::IPv6DnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - IPv6Address
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void IPv6DnsResourceData::IPv6DnsResourceData(const uint8_t* dataPtr,
      size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arr
    - ' arrLength'
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: pcpp::IPv6DnsResourceData::toByteArr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - copyTo
    linkageType: ''
    returnType: bool
    signature: bool IPv6DnsResourceData::toByteArr(uint8_t* arr, size_t& arrLength,
      IDnsResource*) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:95,1
    - Dst: decodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:97,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - dataPtr
    - dataLen
    - dnsResource
    argTypes:
    - uint8_t*
    - size_t
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: pcpp::MxDnsResourceData::MxDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - PCPP_LOG_ERROR
    - decodeName
    linkageType: ''
    returnType: void
    signature: void MxDnsResourceData::MxDnsResourceData(uint8_t* dataPtr, size_t
      dataLen, IDnsResource* dnsResource)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' preference'
    - ' mailExchange'
    argTypes:
    - uint16_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: pcpp::MxDnsResourceData::MxDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MxDnsResourceData::MxDnsResourceData(const uint16_t& preference,
      const std::string& mailExchange)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MxDnsResourceData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: MxDnsResourceData::operator==(const MxDnsResourceData& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MxDnsResourceData::operator==(const MxDnsResourceData& other)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - preference
    - mailExchange
    argTypes:
    - uint16_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: pcpp::MxDnsResourceData::setMxData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MxDnsResourceData::setMxData(uint16_t preference, std::string
      mailExchange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: pcpp::MxDnsResourceData::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MxDnsResourceData::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:131,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:132,1
    - Dst: encodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arr
    - ' arrLength'
    - dnsResource
    argTypes:
    - uint8_t*
    - size_t
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: pcpp::MxDnsResourceData::toByteArr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - htobe16
    - encodeName
    linkageType: ''
    returnType: bool
    signature: bool MxDnsResourceData::toByteArr(uint8_t* arr, size_t& arrLength,
      IDnsResource* dnsResource) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:146,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dataPtr
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: pcpp::GenericDnsResourceData::GenericDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void GenericDnsResourceData::GenericDnsResourceData(const uint8_t*
      dataPtr, size_t dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:155,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:158,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' dataAsHexString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: pcpp::GenericDnsResourceData::GenericDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - hexStringToByteArray
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void GenericDnsResourceData::GenericDnsResourceData(const std::string&
      dataAsHexString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:169,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericDnsResourceData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: pcpp::GenericDnsResourceData::GenericDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void GenericDnsResourceData::GenericDnsResourceData(const GenericDnsResourceData&
      other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:183,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericDnsResourceData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: '& GenericDnsResourceData::operator=(const GenericDnsResourceData&
      other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - uint8_t::uint8_t
    linkageType: ''
    returnType: GenericDnsResourceData
    signature: GenericDnsResourceData & GenericDnsResourceData::operator=(const GenericDnsResourceData&
      other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericDnsResourceData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: GenericDnsResourceData::operator==(const GenericDnsResourceData&
      other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool GenericDnsResourceData::operator==(const GenericDnsResourceData&
      other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: pcpp::GenericDnsResourceData::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    linkageType: ''
    returnType: std::string
    signature: std::string GenericDnsResourceData::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:207,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - arr
    - ' arrLength'
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: pcpp::GenericDnsResourceData::toByteArr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool GenericDnsResourceData::toByteArr(uint8_t* arr, size_t& arrLength,
      IDnsResource*) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:17,1
    - Dst: IDnsResource*::decodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - encodedName
    - result
    - dnsResource
    argTypes:
    - char*
    - char*
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: pcpp::IDnsResourceData::decodeName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - IDnsResource*::decodeName
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: size_t
    signature: size_t IDnsResourceData::decodeName(const char* encodedName, char*
      result, IDnsResource* dnsResource) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:29,1
    - Dst: IDnsResource*::encodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' decodedName'
    - result
    - ' resultLen'
    - dnsResource
    argTypes:
    - std::string
    - char*
    - size_t
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: pcpp::IDnsResourceData::encodeName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - IDnsResource*::encodeName
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: "void IDnsResourceData::encodeName(const std::string& decodedName,
      char* result, size_t& resultLen,\n\t                                  IDnsResource*
      dnsResource) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:41,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dataPtr
    - dataLen
    - dnsResource
    argTypes:
    - uint8_t*
    - size_t
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: pcpp::StringDnsResourceData::StringDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - decodeName
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void StringDnsResourceData::StringDnsResourceData(const uint8_t* dataPtr,
      size_t dataLen, IDnsResource* dnsResource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - arr
    - ' arrLength'
    - dnsResource
    argTypes:
    - uint8_t*
    - size_t
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: pcpp::StringDnsResourceData::toByteArr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - encodeName
    linkageType: ''
    returnType: bool
    signature: bool StringDnsResourceData::toByteArr(uint8_t* arr, size_t& arrLength,
      IDnsResource* dnsResource) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:58,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dataPtr
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: pcpp::IPv4DnsResourceData::IPv4DnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - IPv4Address
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void IPv4DnsResourceData::IPv4DnsResourceData(const uint8_t* dataPtr,
      size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:69,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arr
    - ' arrLength'
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: pcpp::IPv4DnsResourceData::toByteArr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - toBytes
    linkageType: ''
    returnType: bool
    signature: bool IPv4DnsResourceData::toByteArr(uint8_t* arr, size_t& arrLength,
      IDnsResource*) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:77,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dataPtr
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: pcpp::IPv6DnsResourceData::IPv6DnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - IPv6Address
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void IPv6DnsResourceData::IPv6DnsResourceData(const uint8_t* dataPtr,
      size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arr
    - ' arrLength'
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: pcpp::IPv6DnsResourceData::toByteArr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - copyTo
    linkageType: ''
    returnType: bool
    signature: bool IPv6DnsResourceData::toByteArr(uint8_t* arr, size_t& arrLength,
      IDnsResource*) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:95,1
    - Dst: decodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:97,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - dataPtr
    - dataLen
    - dnsResource
    argTypes:
    - uint8_t*
    - size_t
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: pcpp::MxDnsResourceData::MxDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - be16toh
    - PCPP_LOG_ERROR
    - decodeName
    linkageType: ''
    returnType: void
    signature: void MxDnsResourceData::MxDnsResourceData(uint8_t* dataPtr, size_t
      dataLen, IDnsResource* dnsResource)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' preference'
    - ' mailExchange'
    argTypes:
    - uint16_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: pcpp::MxDnsResourceData::MxDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MxDnsResourceData::MxDnsResourceData(const uint16_t& preference,
      const std::string& mailExchange)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MxDnsResourceData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: MxDnsResourceData::operator==(const MxDnsResourceData& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool MxDnsResourceData::operator==(const MxDnsResourceData& other)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - preference
    - mailExchange
    argTypes:
    - uint16_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: pcpp::MxDnsResourceData::setMxData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MxDnsResourceData::setMxData(uint16_t preference, std::string
      mailExchange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: pcpp::MxDnsResourceData::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string MxDnsResourceData::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:131,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:132,1
    - Dst: encodeName
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arr
    - ' arrLength'
    - dnsResource
    argTypes:
    - uint8_t*
    - size_t
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: pcpp::MxDnsResourceData::toByteArr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - htobe16
    - encodeName
    linkageType: ''
    returnType: bool
    signature: bool MxDnsResourceData::toByteArr(uint8_t* arr, size_t& arrLength,
      IDnsResource* dnsResource) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:146,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dataPtr
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: pcpp::GenericDnsResourceData::GenericDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void GenericDnsResourceData::GenericDnsResourceData(const uint8_t*
      dataPtr, size_t dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:155,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:158,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' dataAsHexString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: pcpp::GenericDnsResourceData::GenericDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - hexStringToByteArray
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void GenericDnsResourceData::GenericDnsResourceData(const std::string&
      dataAsHexString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:169,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericDnsResourceData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: pcpp::GenericDnsResourceData::GenericDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - uint8_t::uint8_t
    linkageType: ''
    returnType: void
    signature: void GenericDnsResourceData::GenericDnsResourceData(const GenericDnsResourceData&
      other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:183,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericDnsResourceData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: '& GenericDnsResourceData::operator=(const GenericDnsResourceData&
      other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - uint8_t::uint8_t
    linkageType: ''
    returnType: GenericDnsResourceData
    signature: GenericDnsResourceData & GenericDnsResourceData::operator=(const GenericDnsResourceData&
      other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GenericDnsResourceData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: GenericDnsResourceData::operator==(const GenericDnsResourceData&
      other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool GenericDnsResourceData::operator==(const GenericDnsResourceData&
      other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: pcpp::GenericDnsResourceData::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - byteArrayToHexString
    linkageType: ''
    returnType: std::string
    signature: std::string GenericDnsResourceData::toString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:207,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - arr
    - ' arrLength'
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: pcpp::GenericDnsResourceData::toByteArr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool GenericDnsResourceData::toByteArr(uint8_t* arr, size_t& arrLength,
      IDnsResource*) const
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 63
    functionName: pcpp::X509Algorithm::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509Algorithm::toString() const
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 123
    functionName: pcpp::X509Algorithm::getOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509Algorithm::getOidValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Algorithm::toString
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:152,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:154,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: pcpp::X509Algorithm::fromOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - end
    - pcpp::X509Algorithm::toString
    - find
    linkageType: ''
    returnType: X509Algorithm
    signature: X509Algorithm X509Algorithm::fromOidValue(const Asn1ObjectIdentifier&
      value)
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 209
    functionName: pcpp::X520DistinguishedName::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X520DistinguishedName::toString() const
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 257
    functionName: pcpp::X520DistinguishedName::getShortName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X520DistinguishedName::getShortName() const
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 305
    functionName: pcpp::X520DistinguishedName::getOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X520DistinguishedName::getOidValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X520DistinguishedName::toString
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:331,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:333,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: pcpp::X520DistinguishedName::fromOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X520DistinguishedName::toString
    - end
    - find
    linkageType: ''
    returnType: X520DistinguishedName
    signature: X520DistinguishedName X520DistinguishedName::fromOidValue(const Asn1ObjectIdentifier&
      value)
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 390
    functionName: pcpp::X509ExtensionType::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509ExtensionType::toString() const
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 440
    functionName: pcpp::X509ExtensionType::getOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509ExtensionType::getOidValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509ExtensionType::toString
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:467,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:469,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: pcpp::X509ExtensionType::fromOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509ExtensionType::toString
    - end
    - find
    linkageType: ''
    returnType: X509ExtensionType
    signature: X509ExtensionType X509ExtensionType::fromOidValue(const Asn1ObjectIdentifier&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Asn1Record*::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:481,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - record
    - ' fieldName'
    argTypes:
    - Asn1Record*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 487
    functionName: pcpp::castRecordAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - Asn1Record*::castAs
    - std::runtime_error
    linkageType: ''
    returnType: Asn1RecordType
    signature: Asn1RecordType * castRecordAs(Asn1Record* record, const std::string&
      fieldName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::castRecordAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:494,1
    - Dst: Asn1ConstructedRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:494,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - record
    - index
    - ' fieldName'
    argTypes:
    - Asn1ConstructedRecord*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 500
    functionName: pcpp::getSubRecordAndCast
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pcpp::castRecordAs
    - Asn1ConstructedRecord*::getSubRecords
    linkageType: ''
    returnType: Asn1RecordType
    signature: Asn1RecordType * getSubRecordAndCast(Asn1ConstructedRecord* record,
      int index, const std::string& fieldName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:504,1
    - Dst: std::string::reserve
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:511,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:511,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:511,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:511,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:513,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' delimiter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 523
    functionName: pcpp::X509SerialNumber::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - length
    - empty
    - std::string::reserve
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string X509SerialNumber::toString(const std::string& delimiter)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getValueAsString
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' format'
    - ' timezone'
    - includeMilliseconds
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: pcpp::X509Timestamp::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getValueAsString
    linkageType: ''
    returnType: std::string
    signature: "std::string X509Timestamp::toString(const std::string& format, const
      std::string& timezone,\n\t                                    bool includeMilliseconds)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' timezone'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: pcpp::X509Timestamp::getTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getValue
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point X509Timestamp::getTimestamp(const
      std::string& timezone) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:547,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:547,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:547,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' delimiter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 552
    functionName: pcpp::X509Key::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - std::setfill
    - static_cast<int>
    - std::ostringstream::str
    - std::setw
    linkageType: ''
    returnType: std::string
    signature: std::string X509Key::toString(const std::string& delimiter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: '& X509Key::getBytes() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509Key::getBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:563,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:566,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:566,1
    - Dst: static_cast<X509Version>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 570
    functionName: pcpp::X509Internal::X509VersionRecord::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - getSubRecordAndCast<Asn1IntegerRecord>
    - static_cast<X509Version>
    - to_string
    linkageType: ''
    returnType: X509Version
    signature: X509Version X509VersionRecord::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Asn1Record*::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:574,1
    - Dst: Asn1Record*::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:574,1
    - Dst: Asn1Record*::isConstructed
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - Asn1Record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - Asn1Record*::isConstructed
    - Asn1Record*::getTagClass
    - Asn1Record*::getTagType
    linkageType: ''
    returnType: bool
    signature: bool X509VersionRecord::isValidVersionRecord(const Asn1Record* record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:580,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:583,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 589
    functionName: pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - std::runtime_error
    - auto::getSubRecords
    linkageType: ''
    returnType: Asn1Record
    signature: Asn1Record * X509RelativeDistinguishedName::getRecord(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castRecordAs<Asn1ObjectIdentifierRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:593,1
    - Dst: pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:593,1
    - Dst: pcpp::X520DistinguishedName::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:594,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: pcpp::X509Internal::X509RelativeDistinguishedName::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
    - pcpp::X520DistinguishedName::fromOidValue
    - castRecordAs<Asn1ObjectIdentifierRecord>
    - auto::getValue
    linkageType: ''
    returnType: X520DistinguishedName
    signature: X520DistinguishedName X509RelativeDistinguishedName::getType() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:599,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:600,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:604,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:608,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:612,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:616,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:617,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:617,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 620
    functionName: pcpp::X509Internal::X509RelativeDistinguishedName::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
    - static_cast<int>
    - std::runtime_error
    - auto::getUniversalTagType
    - auto::castAs
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string X509RelativeDistinguishedName::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:625,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:627,1
    - Dst: X509RelativeDistinguishedName
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:627,1
    - Dst: castRecordAs<Asn1SetRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 631
    functionName: pcpp::X509Internal::X509Name::getRDNs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecords
    - X509RelativeDistinguishedName
    - castRecordAs<Asn1SetRecord>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<X509RelativeDistinguishedName>
    signature: std::vector<X509RelativeDistinguishedName> X509Name::getRDNs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ObjectIdentifierRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:635,1
    - Dst: pcpp::X509Algorithm::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:636,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: pcpp::X509Internal::X509AlgorithmIdentifier::getAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1ObjectIdentifierRecord>
    - auto::getValue
    - pcpp::X509Algorithm::fromOidValue
    linkageType: ''
    returnType: X509Algorithm
    signature: X509Algorithm X509AlgorithmIdentifier::getAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Timestamp
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:641,1
    - Dst: getSubRecordAndCast<Asn1TimeRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: pcpp::X509Internal::X509Validity::getNotBefore
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1TimeRecord>
    - X509Timestamp
    linkageType: ''
    returnType: X509Timestamp
    signature: X509Timestamp X509Validity::getNotBefore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Timestamp
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:646,1
    - Dst: getSubRecordAndCast<Asn1TimeRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: pcpp::X509Internal::X509Validity::getNotAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1TimeRecord>
    - X509Timestamp
    linkageType: ''
    returnType: X509Timestamp
    signature: X509Timestamp X509Validity::getNotAfter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:652,1
    - Dst: X509AlgorithmIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: pcpp::X509Internal::X509SubjectPublicKeyInfo::getAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509AlgorithmIdentifier
    linkageType: ''
    returnType: X509AlgorithmIdentifier
    signature: X509AlgorithmIdentifier X509SubjectPublicKeyInfo::getAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Key
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:658,1
    - Dst: getSubRecordAndCast<Asn1BitStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: pcpp::X509Internal::X509SubjectPublicKeyInfo::getSubjectPublicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509Key
    - getSubRecordAndCast<Asn1BitStringRecord>
    linkageType: ''
    returnType: X509Key
    signature: X509Key X509SubjectPublicKeyInfo::getSubjectPublicKey() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - root
    argTypes:
    - Asn1SequenceRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: pcpp::X509Internal::X509Extension::X509Extension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - Asn1SequenceRecord*::getSubRecords
    linkageType: ''
    returnType: void
    signature: void X509Extension::X509Extension(Asn1SequenceRecord* root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ObjectIdentifierRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:675,1
    - Dst: pcpp::X509ExtensionType::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:676,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 677
    functionName: pcpp::X509Internal::X509Extension::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1ObjectIdentifierRecord>
    - pcpp::X509ExtensionType::fromOidValue
    - auto::getValue
    linkageType: ''
    returnType: X509ExtensionType
    signature: X509ExtensionType X509Extension::getType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1BooleanRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 687
    functionName: pcpp::X509Internal::X509Extension::isCritical
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1BooleanRecord>
    linkageType: ''
    returnType: bool
    signature: bool X509Extension::isCritical() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1OctetStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 693
    functionName: pcpp::X509Internal::X509Extension::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1OctetStringRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string X509Extension::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:698,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:699,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:701,1
    - Dst: X509Extension
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:701,1
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 705
    functionName: pcpp::X509Internal::X509Extensions::getExtensions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - castRecordAs<Asn1SequenceRecord>
    - std::vector::push_back
    - auto::getSubRecords
    - X509Extension
    linkageType: ''
    returnType: std::vector<X509Extension>
    signature: std::vector<X509Extension> X509Extensions::getExtensions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Asn1Record*::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:709,1
    - Dst: Asn1Record*::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:709,1
    - Dst: Asn1Record*::isConstructed
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - Asn1Record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 711
    functionName: pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - Asn1Record*::isConstructed
    - Asn1Record*::getTagClass
    - Asn1Record*::getTagType
    linkageType: ''
    returnType: bool
    signature: bool X509Extensions::isValidExtensionsRecord(const Asn1Record* record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:715,1
    - Dst: X509SerialNumber
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 718
    functionName: pcpp::X509Internal::X509TBSCertificate::getSerialNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509SerialNumber
    - getSubRecordAndCast<Asn1IntegerRecord>
    linkageType: ''
    returnType: X509SerialNumber
    signature: X509SerialNumber X509TBSCertificate::getSerialNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:722,1
    - Dst: X509AlgorithmIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: pcpp::X509Internal::X509TBSCertificate::getSignature
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509AlgorithmIdentifier
    linkageType: ''
    returnType: X509AlgorithmIdentifier
    signature: X509AlgorithmIdentifier X509TBSCertificate::getSignature() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:731,1
    - Dst: pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:732,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:744,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:744,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:746,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:748,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:748,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:751,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:754,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:754,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:757,1
    - Dst: pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:760,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:768,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - root
    argTypes:
    - Asn1SequenceRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 770
    functionName: pcpp::X509Internal::X509TBSCertificate::X509TBSCertificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
    - pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
    - Asn1SequenceRecord*::getSubRecords
    - auto::getTagType
    - auto::getTagClass
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void X509TBSCertificate::X509TBSCertificate(Asn1SequenceRecord* root)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:779,1
    - Dst: X509VersionRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:780,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 782
    functionName: pcpp::X509Internal::X509TBSCertificate::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - auto::getVersion
    - X509VersionRecord
    - getSubRecordAndCast<Asn1ConstructedRecord>
    linkageType: ''
    returnType: X509Version
    signature: X509Version X509TBSCertificate::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:786,1
    - Dst: X509Name
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: pcpp::X509Internal::X509TBSCertificate::getIssuer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509Name
    linkageType: ''
    returnType: X509Name
    signature: X509Name X509TBSCertificate::getIssuer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:792,1
    - Dst: X509Validity
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 794
    functionName: pcpp::X509Internal::X509TBSCertificate::getValidity
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509Validity
    linkageType: ''
    returnType: X509Validity
    signature: X509Validity X509TBSCertificate::getValidity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:798,1
    - Dst: X509Name
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 800
    functionName: pcpp::X509Internal::X509TBSCertificate::getSubject
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509Name
    linkageType: ''
    returnType: X509Name
    signature: X509Name X509TBSCertificate::getSubject() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:804,1
    - Dst: X509SubjectPublicKeyInfo
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 807
    functionName: pcpp::X509Internal::X509TBSCertificate::getSubjectPublicKeyInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509SubjectPublicKeyInfo
    linkageType: ''
    returnType: X509SubjectPublicKeyInfo
    signature: X509SubjectPublicKeyInfo X509TBSCertificate::getSubjectPublicKeyInfo()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:816,1
    - Dst: std::unique_ptr<X509Extensions>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:817,1
    - Dst: X509Extensions::X509Extensions
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 818
    functionName: pcpp::X509Internal::X509TBSCertificate::getExtensions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<X509Extensions>
    - X509Extensions::X509Extensions
    - getSubRecordAndCast<Asn1ConstructedRecord>
    linkageType: ''
    returnType: std::unique_ptr<X509Extensions>
    signature: std::unique_ptr<X509Extensions> X509TBSCertificate::getExtensions()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<X509Certificate>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:822,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:822,1
    - Dst: X509Certificate::X509Certificate
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: pcpp::X509Internal::X509Certificate::decode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<X509Certificate>
    - pcpp::Asn1Record::decode
    - X509Certificate::X509Certificate
    linkageType: ''
    returnType: std::unique_ptr<X509Certificate>
    signature: std::unique_ptr<X509Certificate> X509Certificate::decode(const uint8_t*
      data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:827,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: pcpp::X509Internal::X509Certificate::getAsn1Root
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - castRecordAs<Asn1SequenceRecord>
    - get
    linkageType: ''
    returnType: Asn1SequenceRecord
    signature: Asn1SequenceRecord * X509Certificate::getAsn1Root() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:832,1
    - Dst: pcpp::X509Internal::X509Certificate::getAsn1Root
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:832,1
    - Dst: X509TBSCertificate
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 834
    functionName: pcpp::X509Internal::X509Certificate::getTbsCertificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509TBSCertificate
    - getSubRecordAndCast<Asn1SequenceRecord>
    - pcpp::X509Internal::X509Certificate::getAsn1Root
    linkageType: ''
    returnType: X509TBSCertificate
    signature: X509TBSCertificate X509Certificate::getTbsCertificate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:839,1
    - Dst: pcpp::X509Internal::X509Certificate::getAsn1Root
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:839,1
    - Dst: X509AlgorithmIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 841
    functionName: pcpp::X509Internal::X509Certificate::getSignatureAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - pcpp::X509Internal::X509Certificate::getAsn1Root
    - X509AlgorithmIdentifier
    linkageType: ''
    returnType: X509AlgorithmIdentifier
    signature: X509AlgorithmIdentifier X509Certificate::getSignatureAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Key
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:845,1
    - Dst: getSubRecordAndCast<Asn1BitStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:846,1
    - Dst: pcpp::X509Internal::X509Certificate::getAsn1Root
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 847
    functionName: pcpp::X509Internal::X509Certificate::getSignature
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509Key
    - pcpp::X509Internal::X509Certificate::getAsn1Root
    - getSubRecordAndCast<Asn1BitStringRecord>
    linkageType: ''
    returnType: X509Key
    signature: X509Key X509Certificate::getSignature() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509Certificate::encode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 852
    functionName: pcpp::X509Internal::X509Certificate::encode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached:
    - pcpp::X509Internal::X509Certificate::encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X509Certificate::encode()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:563,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:566,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:566,1
    - Dst: static_cast<X509Version>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 570
    functionName: pcpp::X509Internal::X509VersionRecord::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - getSubRecordAndCast<Asn1IntegerRecord>
    - static_cast<X509Version>
    - to_string
    linkageType: ''
    returnType: X509Version
    signature: X509Version X509VersionRecord::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Asn1Record*::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:574,1
    - Dst: Asn1Record*::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:574,1
    - Dst: Asn1Record*::isConstructed
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - Asn1Record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached:
    - Asn1Record*::isConstructed
    - Asn1Record*::getTagClass
    - Asn1Record*::getTagType
    linkageType: ''
    returnType: bool
    signature: bool X509VersionRecord::isValidVersionRecord(const Asn1Record* record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:580,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:583,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 589
    functionName: pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 2
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - std::runtime_error
    - auto::getSubRecords
    linkageType: ''
    returnType: Asn1Record
    signature: Asn1Record * X509RelativeDistinguishedName::getRecord(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castRecordAs<Asn1ObjectIdentifierRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:593,1
    - Dst: pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:593,1
    - Dst: pcpp::X520DistinguishedName::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:594,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: pcpp::X509Internal::X509RelativeDistinguishedName::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
    - pcpp::X520DistinguishedName::fromOidValue
    - castRecordAs<Asn1ObjectIdentifierRecord>
    - auto::getValue
    linkageType: ''
    returnType: X520DistinguishedName
    signature: X520DistinguishedName X509RelativeDistinguishedName::getType() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:599,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:600,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:604,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:608,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:612,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:616,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:617,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:617,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 620
    functionName: pcpp::X509Internal::X509RelativeDistinguishedName::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
    - static_cast<int>
    - std::runtime_error
    - auto::getUniversalTagType
    - auto::castAs
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string X509RelativeDistinguishedName::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:625,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:627,1
    - Dst: X509RelativeDistinguishedName
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:627,1
    - Dst: castRecordAs<Asn1SetRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 631
    functionName: pcpp::X509Internal::X509Name::getRDNs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecords
    - X509RelativeDistinguishedName
    - castRecordAs<Asn1SetRecord>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<X509RelativeDistinguishedName>
    signature: std::vector<X509RelativeDistinguishedName> X509Name::getRDNs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ObjectIdentifierRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:635,1
    - Dst: pcpp::X509Algorithm::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:636,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: pcpp::X509Internal::X509AlgorithmIdentifier::getAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1ObjectIdentifierRecord>
    - auto::getValue
    - pcpp::X509Algorithm::fromOidValue
    linkageType: ''
    returnType: X509Algorithm
    signature: X509Algorithm X509AlgorithmIdentifier::getAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Timestamp
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:641,1
    - Dst: getSubRecordAndCast<Asn1TimeRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: pcpp::X509Internal::X509Validity::getNotBefore
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1TimeRecord>
    - X509Timestamp
    linkageType: ''
    returnType: X509Timestamp
    signature: X509Timestamp X509Validity::getNotBefore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Timestamp
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:646,1
    - Dst: getSubRecordAndCast<Asn1TimeRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: pcpp::X509Internal::X509Validity::getNotAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1TimeRecord>
    - X509Timestamp
    linkageType: ''
    returnType: X509Timestamp
    signature: X509Timestamp X509Validity::getNotAfter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:652,1
    - Dst: X509AlgorithmIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: pcpp::X509Internal::X509SubjectPublicKeyInfo::getAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509AlgorithmIdentifier
    linkageType: ''
    returnType: X509AlgorithmIdentifier
    signature: X509AlgorithmIdentifier X509SubjectPublicKeyInfo::getAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Key
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:658,1
    - Dst: getSubRecordAndCast<Asn1BitStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: pcpp::X509Internal::X509SubjectPublicKeyInfo::getSubjectPublicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509Key
    - getSubRecordAndCast<Asn1BitStringRecord>
    linkageType: ''
    returnType: X509Key
    signature: X509Key X509SubjectPublicKeyInfo::getSubjectPublicKey() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - root
    argTypes:
    - Asn1SequenceRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: pcpp::X509Internal::X509Extension::X509Extension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - Asn1SequenceRecord*::getSubRecords
    linkageType: ''
    returnType: void
    signature: void X509Extension::X509Extension(Asn1SequenceRecord* root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ObjectIdentifierRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:675,1
    - Dst: pcpp::X509ExtensionType::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:676,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 677
    functionName: pcpp::X509Internal::X509Extension::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1ObjectIdentifierRecord>
    - pcpp::X509ExtensionType::fromOidValue
    - auto::getValue
    linkageType: ''
    returnType: X509ExtensionType
    signature: X509ExtensionType X509Extension::getType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1BooleanRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 687
    functionName: pcpp::X509Internal::X509Extension::isCritical
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1BooleanRecord>
    linkageType: ''
    returnType: bool
    signature: bool X509Extension::isCritical() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1OctetStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 693
    functionName: pcpp::X509Internal::X509Extension::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1OctetStringRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string X509Extension::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:698,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:699,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:701,1
    - Dst: X509Extension
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:701,1
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 705
    functionName: pcpp::X509Internal::X509Extensions::getExtensions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - castRecordAs<Asn1SequenceRecord>
    - std::vector::push_back
    - auto::getSubRecords
    - X509Extension
    linkageType: ''
    returnType: std::vector<X509Extension>
    signature: std::vector<X509Extension> X509Extensions::getExtensions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Asn1Record*::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:709,1
    - Dst: Asn1Record*::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:709,1
    - Dst: Asn1Record*::isConstructed
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - Asn1Record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 711
    functionName: pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached:
    - Asn1Record*::isConstructed
    - Asn1Record*::getTagClass
    - Asn1Record*::getTagType
    linkageType: ''
    returnType: bool
    signature: bool X509Extensions::isValidExtensionsRecord(const Asn1Record* record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:715,1
    - Dst: X509SerialNumber
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 718
    functionName: pcpp::X509Internal::X509TBSCertificate::getSerialNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509SerialNumber
    - getSubRecordAndCast<Asn1IntegerRecord>
    linkageType: ''
    returnType: X509SerialNumber
    signature: X509SerialNumber X509TBSCertificate::getSerialNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:722,1
    - Dst: X509AlgorithmIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: pcpp::X509Internal::X509TBSCertificate::getSignature
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509AlgorithmIdentifier
    linkageType: ''
    returnType: X509AlgorithmIdentifier
    signature: X509AlgorithmIdentifier X509TBSCertificate::getSignature() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:731,1
    - Dst: pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:732,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:744,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:744,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:746,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:748,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:748,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:751,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:754,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:754,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:757,1
    - Dst: pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:760,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:768,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - root
    argTypes:
    - Asn1SequenceRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 770
    functionName: pcpp::X509Internal::X509TBSCertificate::X509TBSCertificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
    - pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
    - Asn1SequenceRecord*::getSubRecords
    - auto::getTagType
    - auto::getTagClass
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void X509TBSCertificate::X509TBSCertificate(Asn1SequenceRecord* root)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:779,1
    - Dst: X509VersionRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:780,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 782
    functionName: pcpp::X509Internal::X509TBSCertificate::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - auto::getVersion
    - X509VersionRecord
    - getSubRecordAndCast<Asn1ConstructedRecord>
    linkageType: ''
    returnType: X509Version
    signature: X509Version X509TBSCertificate::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:786,1
    - Dst: X509Name
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: pcpp::X509Internal::X509TBSCertificate::getIssuer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509Name
    linkageType: ''
    returnType: X509Name
    signature: X509Name X509TBSCertificate::getIssuer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:792,1
    - Dst: X509Validity
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 794
    functionName: pcpp::X509Internal::X509TBSCertificate::getValidity
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509Validity
    linkageType: ''
    returnType: X509Validity
    signature: X509Validity X509TBSCertificate::getValidity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:798,1
    - Dst: X509Name
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 800
    functionName: pcpp::X509Internal::X509TBSCertificate::getSubject
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509Name
    linkageType: ''
    returnType: X509Name
    signature: X509Name X509TBSCertificate::getSubject() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:804,1
    - Dst: X509SubjectPublicKeyInfo
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 807
    functionName: pcpp::X509Internal::X509TBSCertificate::getSubjectPublicKeyInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509SubjectPublicKeyInfo
    linkageType: ''
    returnType: X509SubjectPublicKeyInfo
    signature: X509SubjectPublicKeyInfo X509TBSCertificate::getSubjectPublicKeyInfo()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:816,1
    - Dst: std::unique_ptr<X509Extensions>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:817,1
    - Dst: X509Extensions::X509Extensions
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 818
    functionName: pcpp::X509Internal::X509TBSCertificate::getExtensions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<X509Extensions>
    - X509Extensions::X509Extensions
    - getSubRecordAndCast<Asn1ConstructedRecord>
    linkageType: ''
    returnType: std::unique_ptr<X509Extensions>
    signature: std::unique_ptr<X509Extensions> X509TBSCertificate::getExtensions()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<X509Certificate>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:822,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:822,1
    - Dst: X509Certificate::X509Certificate
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: pcpp::X509Internal::X509Certificate::decode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<X509Certificate>
    - pcpp::Asn1Record::decode
    - X509Certificate::X509Certificate
    linkageType: ''
    returnType: std::unique_ptr<X509Certificate>
    signature: std::unique_ptr<X509Certificate> X509Certificate::decode(const uint8_t*
      data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:827,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: pcpp::X509Internal::X509Certificate::getAsn1Root
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 3
    functionsReached:
    - castRecordAs<Asn1SequenceRecord>
    - get
    linkageType: ''
    returnType: Asn1SequenceRecord
    signature: Asn1SequenceRecord * X509Certificate::getAsn1Root() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:832,1
    - Dst: pcpp::X509Internal::X509Certificate::getAsn1Root
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:832,1
    - Dst: X509TBSCertificate
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 834
    functionName: pcpp::X509Internal::X509Certificate::getTbsCertificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509TBSCertificate
    - getSubRecordAndCast<Asn1SequenceRecord>
    - pcpp::X509Internal::X509Certificate::getAsn1Root
    linkageType: ''
    returnType: X509TBSCertificate
    signature: X509TBSCertificate X509Certificate::getTbsCertificate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:839,1
    - Dst: pcpp::X509Internal::X509Certificate::getAsn1Root
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:839,1
    - Dst: X509AlgorithmIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 841
    functionName: pcpp::X509Internal::X509Certificate::getSignatureAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - pcpp::X509Internal::X509Certificate::getAsn1Root
    - X509AlgorithmIdentifier
    linkageType: ''
    returnType: X509AlgorithmIdentifier
    signature: X509AlgorithmIdentifier X509Certificate::getSignatureAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Key
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:845,1
    - Dst: getSubRecordAndCast<Asn1BitStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:846,1
    - Dst: pcpp::X509Internal::X509Certificate::getAsn1Root
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 847
    functionName: pcpp::X509Internal::X509Certificate::getSignature
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509Key
    - pcpp::X509Internal::X509Certificate::getAsn1Root
    - getSubRecordAndCast<Asn1BitStringRecord>
    linkageType: ''
    returnType: X509Key
    signature: X509Key X509Certificate::getSignature() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509Certificate::encode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 852
    functionName: pcpp::X509Internal::X509Certificate::encode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 2
    functionsReached:
    - pcpp::X509Internal::X509Certificate::encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X509Certificate::encode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRDNs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:857,1
    - Dst: emplace_back
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:859,1
    - Dst: getType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:859,1
    - Dst: getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' internalName'
    argTypes:
    - X509Internal::X509Name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 861
    functionName: pcpp::X509Name::X509Name
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - getValue
    - getRDNs
    - getType
    linkageType: ''
    returnType: void
    signature: void X509Name::X509Name(const X509Internal::X509Name& internalName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: type::getShortName
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:874,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' delimiter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 879
    functionName: pcpp::X509Name::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - type::getShortName
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string X509Name::toString(const std::string& delimiter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Extension::isCritical
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:882,1
    - Dst: pcpp::X509Extension::getType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:882,1
    - Dst: getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' internalExtension'
    argTypes:
    - X509Internal::X509Extension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: pcpp::X509Extension::X509Extension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Extension::getType
    - getValue
    - pcpp::X509Extension::isCritical
    linkageType: ''
    returnType: void
    signature: void X509Extension::X509Extension(const X509Internal::X509Extension&
      internalExtension)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<X509ExtensionData>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:892,1
    - Dst: X509BasicConstraintsExtension::X509BasicConstraintsExtension
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:892,1
    - Dst: std::unique_ptr<X509ExtensionData>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:896,1
    - Dst: X509SubjectKeyIdentifierExtension::X509SubjectKeyIdentifierExtension
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:896,1
    - Dst: std::unique_ptr<X509ExtensionData>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:900,1
    - Dst: X509KeyUsageExtension::X509KeyUsageExtension
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:900,1
    - Dst: std::unique_ptr<X509ExtensionData>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:904,1
    - Dst: X509ExtendedKeyUsageExtension::X509ExtendedKeyUsageExtension
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 911
    functionName: pcpp::X509Extension::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509BasicConstraintsExtension::X509BasicConstraintsExtension
    - X509KeyUsageExtension::X509KeyUsageExtension
    - X509SubjectKeyIdentifierExtension::X509SubjectKeyIdentifierExtension
    - X509ExtendedKeyUsageExtension::X509ExtendedKeyUsageExtension
    - std::unique_ptr<X509ExtensionData>
    linkageType: ''
    returnType: std::unique_ptr<X509ExtensionData>
    signature: std::unique_ptr<X509ExtensionData> X509Extension::getData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509Certificate::decode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:914,1
    - Dst: getTbsCertificate
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:915,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - derData
    - derDataLen
    - ownDerData
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 921
    functionName: pcpp::X509Certificate::X509Certificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getTbsCertificate
    - pcpp::X509Internal::X509Certificate::decode
    - reset
    linkageType: ''
    returnType: void
    signature: void X509Certificate::X509Certificate(uint8_t* derData, size_t derDataLen,
      bool ownDerData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509Certificate::decode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:924,1
    - Dst: std::unique_ptr<uint8_t[]>::get
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:924,1
    - Dst: getTbsCertificate
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:925,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - derData
    - derDataLen
    argTypes:
    - std::unique_ptr<uint8_t[]>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 928
    functionName: pcpp::X509Certificate::X509Certificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getTbsCertificate
    - pcpp::X509Internal::X509Certificate::decode
    - std::unique_ptr<uint8_t[]>::get
    - std::move
    linkageType: ''
    returnType: void
    signature: void X509Certificate::X509Certificate(std::unique_ptr<uint8_t[]> derData,
      size_t derDataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Certificate::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 933
    functionName: pcpp::X509Certificate::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached:
    - pcpp::X509Certificate::getVersion
    linkageType: ''
    returnType: X509Version
    signature: X509Version X509Certificate::getVersion() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getExtensions
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:939,1
    - Dst: auto::getExtensions
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:942,1
    - Dst: emplace_back
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:944,1
    - Dst: X509Extension
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 951
    functionName: '& X509Certificate::getExtensions() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - getExtensions
    - X509Extension
    - auto::getExtensions
    linkageType: ''
    returnType: std::vector<X509Extension>
    signature: std::vector<X509Extension> & X509Certificate::getExtensions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExtensions
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:955,1
    - Dst: std::any_of
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:956,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:956,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:956,1
    - Dst: getType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' extensionType'
    argTypes:
    - X509ExtensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 958
    functionName: pcpp::X509Certificate::hasExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::end
    - getExtensions
    - getType
    - std::any_of
    linkageType: ''
    returnType: bool
    signature: bool X509Certificate::hasExtension(const X509ExtensionType& extensionType)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getExtensions
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:962,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:964,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:964,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:964,1
    - Dst: getType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:965,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - extensionType
    argTypes:
    - X509ExtensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 974
    functionName: pcpp::X509Certificate::getExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - std::find_if
    - getExtensions
    - getType
    linkageType: ''
    returnType: X509Extension
    signature: X509Extension * X509Certificate::getExtension(X509ExtensionType extensionType)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Name
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:978,1
    - Dst: pcpp::X509Certificate::getSubject
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 979
    functionName: pcpp::X509Certificate::getSubject
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached:
    - pcpp::X509Certificate::getSubject
    - X509Name
    linkageType: ''
    returnType: X509Name
    signature: X509Name X509Certificate::getSubject() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Name
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:983,1
    - Dst: pcpp::X509Certificate::getIssuer
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 984
    functionName: pcpp::X509Certificate::getIssuer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached:
    - pcpp::X509Certificate::getIssuer
    - X509Name
    linkageType: ''
    returnType: X509Name
    signature: X509Name X509Certificate::getIssuer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Certificate::getSerialNumber
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 989
    functionName: pcpp::X509Certificate::getSerialNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached:
    - pcpp::X509Certificate::getSerialNumber
    linkageType: ''
    returnType: X509SerialNumber
    signature: X509SerialNumber X509Certificate::getSerialNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getValidity
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 994
    functionName: pcpp::X509Certificate::getNotBefore
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getValidity
    linkageType: ''
    returnType: X509Timestamp
    signature: X509Timestamp X509Certificate::getNotBefore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getValidity
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 999
    functionName: pcpp::X509Certificate::getNotAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getValidity
    linkageType: ''
    returnType: X509Timestamp
    signature: X509Timestamp X509Certificate::getNotAfter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubjectPublicKeyInfo
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1004
    functionName: pcpp::X509Certificate::getPublicKeyAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubjectPublicKeyInfo
    linkageType: ''
    returnType: X509Algorithm
    signature: X509Algorithm X509Certificate::getPublicKeyAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubjectPublicKeyInfo
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1009
    functionName: pcpp::X509Certificate::getPublicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubjectPublicKeyInfo
    linkageType: ''
    returnType: X509Key
    signature: X509Key X509Certificate::getPublicKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Certificate::getSignatureAlgorithm
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1014
    functionName: pcpp::X509Certificate::getSignatureAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached:
    - pcpp::X509Certificate::getSignatureAlgorithm
    linkageType: ''
    returnType: X509Algorithm
    signature: X509Algorithm X509Certificate::getSignatureAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Certificate::getSignature
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1019
    functionName: pcpp::X509Certificate::getSignature
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached:
    - pcpp::X509Certificate::getSignature
    linkageType: ''
    returnType: X509Key
    signature: X509Key X509Certificate::getSignature() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1024
    functionName: pcpp::X509Certificate::getRawCertificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: X509Internal::X509Certificate
    signature: X509Internal::X509Certificate * X509Certificate::getRawCertificate()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1029
    functionName: pcpp::X509Certificate::toDER
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X509Certificate::toDER() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PemCodec::encode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1033,1
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1031
    functionDepth: 2
    functionLinenumber: 1031
    functionLinenumberEnd: 1034
    functionName: pcpp::X509Certificate::toPEM
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - encode
    - pcpp::PemCodec::encode
    linkageType: ''
    returnType: std::string
    signature: std::string X509Certificate::toPEM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resp_print_bulk_array
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1038,1
    - Dst: getExtensions
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1039,1
    - Dst: auto::push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1041,1
    - Dst: getType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1042,1
    - Dst: isCritical
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1043,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1048,1
    - Dst: pcpp::X509Certificate::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1048,1
    - Dst: pcpp::X509Certificate::getSerialNumber
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1049,1
    - Dst: pcpp::X509Certificate::getIssuer
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1050,1
    - Dst: pcpp::X509Certificate::getNotBefore
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1053,1
    - Dst: pcpp::X509Certificate::getNotAfter
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1054,1
    - Dst: pcpp::X509Certificate::getSubject
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1056,1
    - Dst: pcpp::X509Certificate::getPublicKeyAlgorithm
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1058,1
    - Dst: pcpp::X509Certificate::getPublicKey
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1059,1
    - Dst: pcpp::X509Certificate::getSignatureAlgorithm
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1061,1
    - Dst: pcpp::X509Certificate::getSignature
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1062,1
    - Dst: nlohmann::ordered_json::dump
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - indent
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1036
    functionDepth: 3
    functionLinenumber: 1036
    functionLinenumberEnd: 1066
    functionName: pcpp::X509Certificate::toJson
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Certificate::getVersion
    - pcpp::X509Certificate::getNotAfter
    - auto::push_back
    - pcpp::X509Certificate::getPublicKey
    - resp_print_bulk_array
    - static_cast<int>
    - pcpp::X509Certificate::getNotBefore
    - pcpp::X509Certificate::getSignatureAlgorithm
    - pcpp::X509Certificate::getIssuer
    - isCritical
    - pcpp::X509Certificate::getSerialNumber
    - getExtensions
    - pcpp::X509Certificate::getSubject
    - pcpp::X509Certificate::getSignature
    - getType
    - pcpp::X509Certificate::getPublicKeyAlgorithm
    - nlohmann::ordered_json::dump
    linkageType: ''
    returnType: std::string
    signature: std::string X509Certificate::toJson(int indent) const
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 63
    functionName: pcpp::X509Algorithm::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509Algorithm::toString() const
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 123
    functionName: pcpp::X509Algorithm::getOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509Algorithm::getOidValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Algorithm::toString
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:152,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:154,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: pcpp::X509Algorithm::fromOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 2
    functionsReached:
    - end
    - pcpp::X509Algorithm::toString
    - find
    linkageType: ''
    returnType: X509Algorithm
    signature: X509Algorithm X509Algorithm::fromOidValue(const Asn1ObjectIdentifier&
      value)
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 209
    functionName: pcpp::X520DistinguishedName::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X520DistinguishedName::toString() const
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 257
    functionName: pcpp::X520DistinguishedName::getShortName
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X520DistinguishedName::getShortName() const
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 305
    functionName: pcpp::X520DistinguishedName::getOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X520DistinguishedName::getOidValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X520DistinguishedName::toString
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:331,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:333,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: pcpp::X520DistinguishedName::fromOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 2
    functionsReached:
    - pcpp::X520DistinguishedName::toString
    - end
    - find
    linkageType: ''
    returnType: X520DistinguishedName
    signature: X520DistinguishedName X520DistinguishedName::fromOidValue(const Asn1ObjectIdentifier&
      value)
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 390
    functionName: pcpp::X509ExtensionType::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509ExtensionType::toString() const
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 440
    functionName: pcpp::X509ExtensionType::getOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509ExtensionType::getOidValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509ExtensionType::toString
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:467,1
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:469,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: pcpp::X509ExtensionType::fromOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 2
    functionsReached:
    - pcpp::X509ExtensionType::toString
    - end
    - find
    linkageType: ''
    returnType: X509ExtensionType
    signature: X509ExtensionType X509ExtensionType::fromOidValue(const Asn1ObjectIdentifier&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Asn1Record*::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:481,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - record
    - ' fieldName'
    argTypes:
    - Asn1Record*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 487
    functionName: pcpp::castRecordAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached:
    - Asn1Record*::castAs
    - std::runtime_error
    linkageType: ''
    returnType: Asn1RecordType
    signature: Asn1RecordType * castRecordAs(Asn1Record* record, const std::string&
      fieldName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::castRecordAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:494,1
    - Dst: Asn1ConstructedRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:494,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - record
    - index
    - ' fieldName'
    argTypes:
    - Asn1ConstructedRecord*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 500
    functionName: pcpp::getSubRecordAndCast
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pcpp::castRecordAs
    - Asn1ConstructedRecord*::getSubRecords
    linkageType: ''
    returnType: Asn1RecordType
    signature: Asn1RecordType * getSubRecordAndCast(Asn1ConstructedRecord* record,
      int index, const std::string& fieldName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:504,1
    - Dst: std::string::reserve
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:511,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:511,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:511,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:511,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:513,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' delimiter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 523
    functionName: pcpp::X509SerialNumber::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - length
    - empty
    - std::string::reserve
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string X509SerialNumber::toString(const std::string& delimiter)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getValueAsString
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' format'
    - ' timezone'
    - includeMilliseconds
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: pcpp::X509Timestamp::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getValueAsString
    linkageType: ''
    returnType: std::string
    signature: "std::string X509Timestamp::toString(const std::string& format, const
      std::string& timezone,\n\t                                    bool includeMilliseconds)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' timezone'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: pcpp::X509Timestamp::getTimestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getValue
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point X509Timestamp::getTimestamp(const
      std::string& timezone) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:547,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:547,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:547,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' delimiter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 552
    functionName: pcpp::X509Key::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - std::setfill
    - static_cast<int>
    - std::ostringstream::str
    - std::setw
    linkageType: ''
    returnType: std::string
    signature: std::string X509Key::toString(const std::string& delimiter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 557
    functionName: '& X509Key::getBytes() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & X509Key::getBytes() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:563,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:566,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:566,1
    - Dst: static_cast<X509Version>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 570
    functionName: pcpp::X509Internal::X509VersionRecord::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - getSubRecordAndCast<Asn1IntegerRecord>
    - static_cast<X509Version>
    - to_string
    linkageType: ''
    returnType: X509Version
    signature: X509Version X509VersionRecord::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Asn1Record*::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:574,1
    - Dst: Asn1Record*::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:574,1
    - Dst: Asn1Record*::isConstructed
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - Asn1Record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 2
    functionsReached:
    - Asn1Record*::isConstructed
    - Asn1Record*::getTagClass
    - Asn1Record*::getTagType
    linkageType: ''
    returnType: bool
    signature: bool X509VersionRecord::isValidVersionRecord(const Asn1Record* record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:580,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:583,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 589
    functionName: pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 4
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - std::runtime_error
    - auto::getSubRecords
    linkageType: ''
    returnType: Asn1Record
    signature: Asn1Record * X509RelativeDistinguishedName::getRecord(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castRecordAs<Asn1ObjectIdentifierRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:593,1
    - Dst: pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:593,1
    - Dst: pcpp::X520DistinguishedName::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:594,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: pcpp::X509Internal::X509RelativeDistinguishedName::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
    - pcpp::X520DistinguishedName::fromOidValue
    - castRecordAs<Asn1ObjectIdentifierRecord>
    - auto::getValue
    linkageType: ''
    returnType: X520DistinguishedName
    signature: X520DistinguishedName X509RelativeDistinguishedName::getType() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:599,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:600,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:604,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:608,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:612,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:616,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:617,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:617,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 620
    functionName: pcpp::X509Internal::X509RelativeDistinguishedName::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
    - static_cast<int>
    - std::runtime_error
    - auto::getUniversalTagType
    - auto::castAs
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string X509RelativeDistinguishedName::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:625,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:627,1
    - Dst: X509RelativeDistinguishedName
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:627,1
    - Dst: castRecordAs<Asn1SetRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 631
    functionName: pcpp::X509Internal::X509Name::getRDNs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecords
    - X509RelativeDistinguishedName
    - castRecordAs<Asn1SetRecord>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<X509RelativeDistinguishedName>
    signature: std::vector<X509RelativeDistinguishedName> X509Name::getRDNs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ObjectIdentifierRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:635,1
    - Dst: pcpp::X509Algorithm::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:636,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: pcpp::X509Internal::X509AlgorithmIdentifier::getAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1ObjectIdentifierRecord>
    - auto::getValue
    - pcpp::X509Algorithm::fromOidValue
    linkageType: ''
    returnType: X509Algorithm
    signature: X509Algorithm X509AlgorithmIdentifier::getAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Timestamp
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:641,1
    - Dst: getSubRecordAndCast<Asn1TimeRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: pcpp::X509Internal::X509Validity::getNotBefore
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1TimeRecord>
    - X509Timestamp
    linkageType: ''
    returnType: X509Timestamp
    signature: X509Timestamp X509Validity::getNotBefore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Timestamp
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:646,1
    - Dst: getSubRecordAndCast<Asn1TimeRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: pcpp::X509Internal::X509Validity::getNotAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1TimeRecord>
    - X509Timestamp
    linkageType: ''
    returnType: X509Timestamp
    signature: X509Timestamp X509Validity::getNotAfter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:652,1
    - Dst: X509AlgorithmIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: pcpp::X509Internal::X509SubjectPublicKeyInfo::getAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509AlgorithmIdentifier
    linkageType: ''
    returnType: X509AlgorithmIdentifier
    signature: X509AlgorithmIdentifier X509SubjectPublicKeyInfo::getAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Key
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:658,1
    - Dst: getSubRecordAndCast<Asn1BitStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: pcpp::X509Internal::X509SubjectPublicKeyInfo::getSubjectPublicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509Key
    - getSubRecordAndCast<Asn1BitStringRecord>
    linkageType: ''
    returnType: X509Key
    signature: X509Key X509SubjectPublicKeyInfo::getSubjectPublicKey() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - root
    argTypes:
    - Asn1SequenceRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: pcpp::X509Internal::X509Extension::X509Extension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - Asn1SequenceRecord*::getSubRecords
    linkageType: ''
    returnType: void
    signature: void X509Extension::X509Extension(Asn1SequenceRecord* root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ObjectIdentifierRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:675,1
    - Dst: pcpp::X509ExtensionType::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:676,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 677
    functionName: pcpp::X509Internal::X509Extension::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1ObjectIdentifierRecord>
    - pcpp::X509ExtensionType::fromOidValue
    - auto::getValue
    linkageType: ''
    returnType: X509ExtensionType
    signature: X509ExtensionType X509Extension::getType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1BooleanRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 687
    functionName: pcpp::X509Internal::X509Extension::isCritical
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1BooleanRecord>
    linkageType: ''
    returnType: bool
    signature: bool X509Extension::isCritical() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1OctetStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 693
    functionName: pcpp::X509Internal::X509Extension::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1OctetStringRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string X509Extension::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:698,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:699,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:701,1
    - Dst: X509Extension
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:701,1
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 705
    functionName: pcpp::X509Internal::X509Extensions::getExtensions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - castRecordAs<Asn1SequenceRecord>
    - std::vector::push_back
    - auto::getSubRecords
    - X509Extension
    linkageType: ''
    returnType: std::vector<X509Extension>
    signature: std::vector<X509Extension> X509Extensions::getExtensions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Asn1Record*::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:709,1
    - Dst: Asn1Record*::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:709,1
    - Dst: Asn1Record*::isConstructed
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - Asn1Record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 711
    functionName: pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 2
    functionsReached:
    - Asn1Record*::isConstructed
    - Asn1Record*::getTagClass
    - Asn1Record*::getTagType
    linkageType: ''
    returnType: bool
    signature: bool X509Extensions::isValidExtensionsRecord(const Asn1Record* record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:715,1
    - Dst: X509SerialNumber
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 718
    functionName: pcpp::X509Internal::X509TBSCertificate::getSerialNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509SerialNumber
    - getSubRecordAndCast<Asn1IntegerRecord>
    linkageType: ''
    returnType: X509SerialNumber
    signature: X509SerialNumber X509TBSCertificate::getSerialNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:722,1
    - Dst: X509AlgorithmIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: pcpp::X509Internal::X509TBSCertificate::getSignature
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509AlgorithmIdentifier
    linkageType: ''
    returnType: X509AlgorithmIdentifier
    signature: X509AlgorithmIdentifier X509TBSCertificate::getSignature() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:731,1
    - Dst: pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:732,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:744,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:744,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:746,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:748,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:748,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:751,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:754,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:754,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:757,1
    - Dst: pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:760,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:768,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - root
    argTypes:
    - Asn1SequenceRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 770
    functionName: pcpp::X509Internal::X509TBSCertificate::X509TBSCertificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
    - pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
    - Asn1SequenceRecord*::getSubRecords
    - auto::getTagType
    - auto::getTagClass
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void X509TBSCertificate::X509TBSCertificate(Asn1SequenceRecord* root)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:779,1
    - Dst: X509VersionRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:780,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 782
    functionName: pcpp::X509Internal::X509TBSCertificate::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - auto::getVersion
    - X509VersionRecord
    - getSubRecordAndCast<Asn1ConstructedRecord>
    linkageType: ''
    returnType: X509Version
    signature: X509Version X509TBSCertificate::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:786,1
    - Dst: X509Name
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: pcpp::X509Internal::X509TBSCertificate::getIssuer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509Name
    linkageType: ''
    returnType: X509Name
    signature: X509Name X509TBSCertificate::getIssuer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:792,1
    - Dst: X509Validity
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 794
    functionName: pcpp::X509Internal::X509TBSCertificate::getValidity
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509Validity
    linkageType: ''
    returnType: X509Validity
    signature: X509Validity X509TBSCertificate::getValidity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:798,1
    - Dst: X509Name
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 800
    functionName: pcpp::X509Internal::X509TBSCertificate::getSubject
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509Name
    linkageType: ''
    returnType: X509Name
    signature: X509Name X509TBSCertificate::getSubject() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:804,1
    - Dst: X509SubjectPublicKeyInfo
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 807
    functionName: pcpp::X509Internal::X509TBSCertificate::getSubjectPublicKeyInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509SubjectPublicKeyInfo
    linkageType: ''
    returnType: X509SubjectPublicKeyInfo
    signature: X509SubjectPublicKeyInfo X509TBSCertificate::getSubjectPublicKeyInfo()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:816,1
    - Dst: std::unique_ptr<X509Extensions>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:817,1
    - Dst: X509Extensions::X509Extensions
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 818
    functionName: pcpp::X509Internal::X509TBSCertificate::getExtensions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<X509Extensions>
    - X509Extensions::X509Extensions
    - getSubRecordAndCast<Asn1ConstructedRecord>
    linkageType: ''
    returnType: std::unique_ptr<X509Extensions>
    signature: std::unique_ptr<X509Extensions> X509TBSCertificate::getExtensions()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<X509Certificate>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:822,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:822,1
    - Dst: X509Certificate::X509Certificate
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: pcpp::X509Internal::X509Certificate::decode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr<X509Certificate>
    - pcpp::Asn1Record::decode
    - X509Certificate::X509Certificate
    linkageType: ''
    returnType: std::unique_ptr<X509Certificate>
    signature: std::unique_ptr<X509Certificate> X509Certificate::decode(const uint8_t*
      data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:827,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: pcpp::X509Internal::X509Certificate::getAsn1Root
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 6
    functionsReached:
    - castRecordAs<Asn1SequenceRecord>
    - get
    linkageType: ''
    returnType: Asn1SequenceRecord
    signature: Asn1SequenceRecord * X509Certificate::getAsn1Root() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:832,1
    - Dst: pcpp::X509Internal::X509Certificate::getAsn1Root
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:832,1
    - Dst: X509TBSCertificate
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 834
    functionName: pcpp::X509Internal::X509Certificate::getTbsCertificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509TBSCertificate
    - getSubRecordAndCast<Asn1SequenceRecord>
    - pcpp::X509Internal::X509Certificate::getAsn1Root
    linkageType: ''
    returnType: X509TBSCertificate
    signature: X509TBSCertificate X509Certificate::getTbsCertificate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:839,1
    - Dst: pcpp::X509Internal::X509Certificate::getAsn1Root
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:839,1
    - Dst: X509AlgorithmIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 841
    functionName: pcpp::X509Internal::X509Certificate::getSignatureAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - pcpp::X509Internal::X509Certificate::getAsn1Root
    - X509AlgorithmIdentifier
    linkageType: ''
    returnType: X509AlgorithmIdentifier
    signature: X509AlgorithmIdentifier X509Certificate::getSignatureAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Key
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:845,1
    - Dst: getSubRecordAndCast<Asn1BitStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:846,1
    - Dst: pcpp::X509Internal::X509Certificate::getAsn1Root
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 847
    functionName: pcpp::X509Internal::X509Certificate::getSignature
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509Key
    - pcpp::X509Internal::X509Certificate::getAsn1Root
    - getSubRecordAndCast<Asn1BitStringRecord>
    linkageType: ''
    returnType: X509Key
    signature: X509Key X509Certificate::getSignature() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509Certificate::encode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 852
    functionName: pcpp::X509Internal::X509Certificate::encode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 3
    functionsReached:
    - pcpp::X509Internal::X509Certificate::encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X509Certificate::encode()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:563,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:566,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:566,1
    - Dst: static_cast<X509Version>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 570
    functionName: pcpp::X509Internal::X509VersionRecord::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - getSubRecordAndCast<Asn1IntegerRecord>
    - static_cast<X509Version>
    - to_string
    linkageType: ''
    returnType: X509Version
    signature: X509Version X509VersionRecord::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Asn1Record*::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:574,1
    - Dst: Asn1Record*::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:574,1
    - Dst: Asn1Record*::isConstructed
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - Asn1Record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 3
    functionsReached:
    - Asn1Record*::isConstructed
    - Asn1Record*::getTagClass
    - Asn1Record*::getTagType
    linkageType: ''
    returnType: bool
    signature: bool X509VersionRecord::isValidVersionRecord(const Asn1Record* record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:580,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:583,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 589
    functionName: pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 6
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - std::runtime_error
    - auto::getSubRecords
    linkageType: ''
    returnType: Asn1Record
    signature: Asn1Record * X509RelativeDistinguishedName::getRecord(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castRecordAs<Asn1ObjectIdentifierRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:593,1
    - Dst: pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:593,1
    - Dst: pcpp::X520DistinguishedName::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:594,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: pcpp::X509Internal::X509RelativeDistinguishedName::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
    - pcpp::X520DistinguishedName::fromOidValue
    - castRecordAs<Asn1ObjectIdentifierRecord>
    - auto::getValue
    linkageType: ''
    returnType: X520DistinguishedName
    signature: X520DistinguishedName X509RelativeDistinguishedName::getType() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:599,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:600,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:604,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:608,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:612,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:616,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:617,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:617,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 620
    functionName: pcpp::X509Internal::X509RelativeDistinguishedName::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
    - static_cast<int>
    - std::runtime_error
    - auto::getUniversalTagType
    - auto::castAs
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string X509RelativeDistinguishedName::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:625,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:627,1
    - Dst: X509RelativeDistinguishedName
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:627,1
    - Dst: castRecordAs<Asn1SetRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 631
    functionName: pcpp::X509Internal::X509Name::getRDNs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecords
    - X509RelativeDistinguishedName
    - castRecordAs<Asn1SetRecord>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<X509RelativeDistinguishedName>
    signature: std::vector<X509RelativeDistinguishedName> X509Name::getRDNs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ObjectIdentifierRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:635,1
    - Dst: pcpp::X509Algorithm::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:636,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: pcpp::X509Internal::X509AlgorithmIdentifier::getAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1ObjectIdentifierRecord>
    - auto::getValue
    - pcpp::X509Algorithm::fromOidValue
    linkageType: ''
    returnType: X509Algorithm
    signature: X509Algorithm X509AlgorithmIdentifier::getAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Timestamp
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:641,1
    - Dst: getSubRecordAndCast<Asn1TimeRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: pcpp::X509Internal::X509Validity::getNotBefore
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1TimeRecord>
    - X509Timestamp
    linkageType: ''
    returnType: X509Timestamp
    signature: X509Timestamp X509Validity::getNotBefore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Timestamp
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:646,1
    - Dst: getSubRecordAndCast<Asn1TimeRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: pcpp::X509Internal::X509Validity::getNotAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1TimeRecord>
    - X509Timestamp
    linkageType: ''
    returnType: X509Timestamp
    signature: X509Timestamp X509Validity::getNotAfter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:652,1
    - Dst: X509AlgorithmIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: pcpp::X509Internal::X509SubjectPublicKeyInfo::getAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509AlgorithmIdentifier
    linkageType: ''
    returnType: X509AlgorithmIdentifier
    signature: X509AlgorithmIdentifier X509SubjectPublicKeyInfo::getAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Key
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:658,1
    - Dst: getSubRecordAndCast<Asn1BitStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: pcpp::X509Internal::X509SubjectPublicKeyInfo::getSubjectPublicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509Key
    - getSubRecordAndCast<Asn1BitStringRecord>
    linkageType: ''
    returnType: X509Key
    signature: X509Key X509SubjectPublicKeyInfo::getSubjectPublicKey() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - root
    argTypes:
    - Asn1SequenceRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: pcpp::X509Internal::X509Extension::X509Extension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - Asn1SequenceRecord*::getSubRecords
    linkageType: ''
    returnType: void
    signature: void X509Extension::X509Extension(Asn1SequenceRecord* root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ObjectIdentifierRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:675,1
    - Dst: pcpp::X509ExtensionType::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:676,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 677
    functionName: pcpp::X509Internal::X509Extension::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1ObjectIdentifierRecord>
    - pcpp::X509ExtensionType::fromOidValue
    - auto::getValue
    linkageType: ''
    returnType: X509ExtensionType
    signature: X509ExtensionType X509Extension::getType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1BooleanRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 687
    functionName: pcpp::X509Internal::X509Extension::isCritical
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1BooleanRecord>
    linkageType: ''
    returnType: bool
    signature: bool X509Extension::isCritical() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1OctetStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 693
    functionName: pcpp::X509Internal::X509Extension::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1OctetStringRecord>
    linkageType: ''
    returnType: std::string
    signature: std::string X509Extension::getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:698,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:699,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:701,1
    - Dst: X509Extension
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:701,1
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 705
    functionName: pcpp::X509Internal::X509Extensions::getExtensions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - castRecordAs<Asn1SequenceRecord>
    - std::vector::push_back
    - auto::getSubRecords
    - X509Extension
    linkageType: ''
    returnType: std::vector<X509Extension>
    signature: std::vector<X509Extension> X509Extensions::getExtensions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Asn1Record*::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:709,1
    - Dst: Asn1Record*::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:709,1
    - Dst: Asn1Record*::isConstructed
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - Asn1Record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 711
    functionName: pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 3
    functionsReached:
    - Asn1Record*::isConstructed
    - Asn1Record*::getTagClass
    - Asn1Record*::getTagType
    linkageType: ''
    returnType: bool
    signature: bool X509Extensions::isValidExtensionsRecord(const Asn1Record* record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:715,1
    - Dst: X509SerialNumber
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 718
    functionName: pcpp::X509Internal::X509TBSCertificate::getSerialNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509SerialNumber
    - getSubRecordAndCast<Asn1IntegerRecord>
    linkageType: ''
    returnType: X509SerialNumber
    signature: X509SerialNumber X509TBSCertificate::getSerialNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:722,1
    - Dst: X509AlgorithmIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: pcpp::X509Internal::X509TBSCertificate::getSignature
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509AlgorithmIdentifier
    linkageType: ''
    returnType: X509AlgorithmIdentifier
    signature: X509AlgorithmIdentifier X509TBSCertificate::getSignature() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:731,1
    - Dst: pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:732,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:744,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:744,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:746,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:748,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:748,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:751,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:754,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:754,1
    - Dst: Asn1SequenceRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:757,1
    - Dst: pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:760,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:768,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - root
    argTypes:
    - Asn1SequenceRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 770
    functionName: pcpp::X509Internal::X509TBSCertificate::X509TBSCertificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
    - pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
    - Asn1SequenceRecord*::getSubRecords
    - auto::getTagType
    - auto::getTagClass
    - static_cast<size_t>
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void X509TBSCertificate::X509TBSCertificate(Asn1SequenceRecord* root)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:779,1
    - Dst: X509VersionRecord
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:780,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 782
    functionName: pcpp::X509Internal::X509TBSCertificate::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - auto::getVersion
    - X509VersionRecord
    - getSubRecordAndCast<Asn1ConstructedRecord>
    linkageType: ''
    returnType: X509Version
    signature: X509Version X509TBSCertificate::getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:786,1
    - Dst: X509Name
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: pcpp::X509Internal::X509TBSCertificate::getIssuer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509Name
    linkageType: ''
    returnType: X509Name
    signature: X509Name X509TBSCertificate::getIssuer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:792,1
    - Dst: X509Validity
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 794
    functionName: pcpp::X509Internal::X509TBSCertificate::getValidity
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509Validity
    linkageType: ''
    returnType: X509Validity
    signature: X509Validity X509TBSCertificate::getValidity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:798,1
    - Dst: X509Name
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 800
    functionName: pcpp::X509Internal::X509TBSCertificate::getSubject
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509Name
    linkageType: ''
    returnType: X509Name
    signature: X509Name X509TBSCertificate::getSubject() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:804,1
    - Dst: X509SubjectPublicKeyInfo
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 807
    functionName: pcpp::X509Internal::X509TBSCertificate::getSubjectPublicKeyInfo
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - X509SubjectPublicKeyInfo
    linkageType: ''
    returnType: X509SubjectPublicKeyInfo
    signature: X509SubjectPublicKeyInfo X509TBSCertificate::getSubjectPublicKeyInfo()
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1ConstructedRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:816,1
    - Dst: std::unique_ptr<X509Extensions>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:817,1
    - Dst: X509Extensions::X509Extensions
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 818
    functionName: pcpp::X509Internal::X509TBSCertificate::getExtensions
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr<X509Extensions>
    - X509Extensions::X509Extensions
    - getSubRecordAndCast<Asn1ConstructedRecord>
    linkageType: ''
    returnType: std::unique_ptr<X509Extensions>
    signature: std::unique_ptr<X509Extensions> X509TBSCertificate::getExtensions()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<X509Certificate>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:822,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:822,1
    - Dst: X509Certificate::X509Certificate
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: pcpp::X509Internal::X509Certificate::decode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr<X509Certificate>
    - pcpp::Asn1Record::decode
    - X509Certificate::X509Certificate
    linkageType: ''
    returnType: std::unique_ptr<X509Certificate>
    signature: std::unique_ptr<X509Certificate> X509Certificate::decode(const uint8_t*
      data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:827,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: pcpp::X509Internal::X509Certificate::getAsn1Root
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 9
    functionsReached:
    - castRecordAs<Asn1SequenceRecord>
    - get
    linkageType: ''
    returnType: Asn1SequenceRecord
    signature: Asn1SequenceRecord * X509Certificate::getAsn1Root() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:832,1
    - Dst: pcpp::X509Internal::X509Certificate::getAsn1Root
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:832,1
    - Dst: X509TBSCertificate
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 834
    functionName: pcpp::X509Internal::X509Certificate::getTbsCertificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509TBSCertificate
    - getSubRecordAndCast<Asn1SequenceRecord>
    - pcpp::X509Internal::X509Certificate::getAsn1Root
    linkageType: ''
    returnType: X509TBSCertificate
    signature: X509TBSCertificate X509Certificate::getTbsCertificate() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecordAndCast<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:839,1
    - Dst: pcpp::X509Internal::X509Certificate::getAsn1Root
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:839,1
    - Dst: X509AlgorithmIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 841
    functionName: pcpp::X509Internal::X509Certificate::getSignatureAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getSubRecordAndCast<Asn1SequenceRecord>
    - pcpp::X509Internal::X509Certificate::getAsn1Root
    - X509AlgorithmIdentifier
    linkageType: ''
    returnType: X509AlgorithmIdentifier
    signature: X509AlgorithmIdentifier X509Certificate::getSignatureAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Key
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:845,1
    - Dst: getSubRecordAndCast<Asn1BitStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:846,1
    - Dst: pcpp::X509Internal::X509Certificate::getAsn1Root
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 847
    functionName: pcpp::X509Internal::X509Certificate::getSignature
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509Key
    - pcpp::X509Internal::X509Certificate::getAsn1Root
    - getSubRecordAndCast<Asn1BitStringRecord>
    linkageType: ''
    returnType: X509Key
    signature: X509Key X509Certificate::getSignature() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509Certificate::encode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 852
    functionName: pcpp::X509Internal::X509Certificate::encode
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 4
    functionsReached:
    - pcpp::X509Internal::X509Certificate::encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X509Certificate::encode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRDNs
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:857,1
    - Dst: emplace_back
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:859,1
    - Dst: getType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:859,1
    - Dst: getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' internalName'
    argTypes:
    - X509Internal::X509Name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 861
    functionName: pcpp::X509Name::X509Name
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - getValue
    - getRDNs
    - getType
    linkageType: ''
    returnType: void
    signature: void X509Name::X509Name(const X509Internal::X509Name& internalName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: type::getShortName
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:874,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' delimiter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 879
    functionName: pcpp::X509Name::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - type::getShortName
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string X509Name::toString(const std::string& delimiter) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Extension::isCritical
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:882,1
    - Dst: pcpp::X509Extension::getType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:882,1
    - Dst: getValue
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' internalExtension'
    argTypes:
    - X509Internal::X509Extension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: pcpp::X509Extension::X509Extension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Extension::getType
    - getValue
    - pcpp::X509Extension::isCritical
    linkageType: ''
    returnType: void
    signature: void X509Extension::X509Extension(const X509Internal::X509Extension&
      internalExtension)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<X509ExtensionData>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:892,1
    - Dst: X509BasicConstraintsExtension::X509BasicConstraintsExtension
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:892,1
    - Dst: std::unique_ptr<X509ExtensionData>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:896,1
    - Dst: X509SubjectKeyIdentifierExtension::X509SubjectKeyIdentifierExtension
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:896,1
    - Dst: std::unique_ptr<X509ExtensionData>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:900,1
    - Dst: X509KeyUsageExtension::X509KeyUsageExtension
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:900,1
    - Dst: std::unique_ptr<X509ExtensionData>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:904,1
    - Dst: X509ExtendedKeyUsageExtension::X509ExtendedKeyUsageExtension
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 911
    functionName: pcpp::X509Extension::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - X509BasicConstraintsExtension::X509BasicConstraintsExtension
    - X509KeyUsageExtension::X509KeyUsageExtension
    - X509SubjectKeyIdentifierExtension::X509SubjectKeyIdentifierExtension
    - X509ExtendedKeyUsageExtension::X509ExtendedKeyUsageExtension
    - std::unique_ptr<X509ExtensionData>
    linkageType: ''
    returnType: std::unique_ptr<X509ExtensionData>
    signature: std::unique_ptr<X509ExtensionData> X509Extension::getData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509Certificate::decode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:914,1
    - Dst: getTbsCertificate
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:915,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - derData
    - derDataLen
    - ownDerData
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 921
    functionName: pcpp::X509Certificate::X509Certificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getTbsCertificate
    - pcpp::X509Internal::X509Certificate::decode
    - reset
    linkageType: ''
    returnType: void
    signature: void X509Certificate::X509Certificate(uint8_t* derData, size_t derDataLen,
      bool ownDerData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509Certificate::decode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:924,1
    - Dst: std::unique_ptr<uint8_t[]>::get
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:924,1
    - Dst: getTbsCertificate
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:925,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - derData
    - derDataLen
    argTypes:
    - std::unique_ptr<uint8_t[]>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 928
    functionName: pcpp::X509Certificate::X509Certificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - getTbsCertificate
    - pcpp::X509Internal::X509Certificate::decode
    - std::unique_ptr<uint8_t[]>::get
    - std::move
    linkageType: ''
    returnType: void
    signature: void X509Certificate::X509Certificate(std::unique_ptr<uint8_t[]> derData,
      size_t derDataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Certificate::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 933
    functionName: pcpp::X509Certificate::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 3
    functionsReached:
    - pcpp::X509Certificate::getVersion
    linkageType: ''
    returnType: X509Version
    signature: X509Version X509Certificate::getVersion() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getExtensions
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:939,1
    - Dst: auto::getExtensions
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:942,1
    - Dst: emplace_back
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:944,1
    - Dst: X509Extension
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 951
    functionName: '& X509Certificate::getExtensions() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - emplace_back
    - getExtensions
    - X509Extension
    - auto::getExtensions
    linkageType: ''
    returnType: std::vector<X509Extension>
    signature: std::vector<X509Extension> & X509Certificate::getExtensions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getExtensions
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:955,1
    - Dst: std::any_of
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:956,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:956,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:956,1
    - Dst: getType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' extensionType'
    argTypes:
    - X509ExtensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 958
    functionName: pcpp::X509Certificate::hasExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::end
    - getExtensions
    - getType
    - std::any_of
    linkageType: ''
    returnType: bool
    signature: bool X509Certificate::hasExtension(const X509ExtensionType& extensionType)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getExtensions
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:962,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:964,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:964,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:964,1
    - Dst: getType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:965,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - extensionType
    argTypes:
    - X509ExtensionType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 974
    functionName: pcpp::X509Certificate::getExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - std::find_if
    - getExtensions
    - getType
    linkageType: ''
    returnType: X509Extension
    signature: X509Extension * X509Certificate::getExtension(X509ExtensionType extensionType)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Name
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:978,1
    - Dst: pcpp::X509Certificate::getSubject
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 979
    functionName: pcpp::X509Certificate::getSubject
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 3
    functionsReached:
    - pcpp::X509Certificate::getSubject
    - X509Name
    linkageType: ''
    returnType: X509Name
    signature: X509Name X509Certificate::getSubject() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509Name
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:983,1
    - Dst: pcpp::X509Certificate::getIssuer
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 984
    functionName: pcpp::X509Certificate::getIssuer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 3
    functionsReached:
    - pcpp::X509Certificate::getIssuer
    - X509Name
    linkageType: ''
    returnType: X509Name
    signature: X509Name X509Certificate::getIssuer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Certificate::getSerialNumber
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 989
    functionName: pcpp::X509Certificate::getSerialNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 3
    functionsReached:
    - pcpp::X509Certificate::getSerialNumber
    linkageType: ''
    returnType: X509SerialNumber
    signature: X509SerialNumber X509Certificate::getSerialNumber() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getValidity
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 994
    functionName: pcpp::X509Certificate::getNotBefore
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached:
    - getValidity
    linkageType: ''
    returnType: X509Timestamp
    signature: X509Timestamp X509Certificate::getNotBefore() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getValidity
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 999
    functionName: pcpp::X509Certificate::getNotAfter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached:
    - getValidity
    linkageType: ''
    returnType: X509Timestamp
    signature: X509Timestamp X509Certificate::getNotAfter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubjectPublicKeyInfo
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1004
    functionName: pcpp::X509Certificate::getPublicKeyAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached:
    - getSubjectPublicKeyInfo
    linkageType: ''
    returnType: X509Algorithm
    signature: X509Algorithm X509Certificate::getPublicKeyAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubjectPublicKeyInfo
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1009
    functionName: pcpp::X509Certificate::getPublicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 1
    functionsReached:
    - getSubjectPublicKeyInfo
    linkageType: ''
    returnType: X509Key
    signature: X509Key X509Certificate::getPublicKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Certificate::getSignatureAlgorithm
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1014
    functionName: pcpp::X509Certificate::getSignatureAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 3
    functionsReached:
    - pcpp::X509Certificate::getSignatureAlgorithm
    linkageType: ''
    returnType: X509Algorithm
    signature: X509Algorithm X509Certificate::getSignatureAlgorithm() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Certificate::getSignature
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1019
    functionName: pcpp::X509Certificate::getSignature
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 3
    functionsReached:
    - pcpp::X509Certificate::getSignature
    linkageType: ''
    returnType: X509Key
    signature: X509Key X509Certificate::getSignature() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1024
    functionName: pcpp::X509Certificate::getRawCertificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: X509Internal::X509Certificate
    signature: X509Internal::X509Certificate * X509Certificate::getRawCertificate()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1029
    functionName: pcpp::X509Certificate::toDER
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> X509Certificate::toDER() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PemCodec::encode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1033,1
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1031
    functionDepth: 2
    functionLinenumber: 1031
    functionLinenumberEnd: 1034
    functionName: pcpp::X509Certificate::toPEM
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - encode
    - pcpp::PemCodec::encode
    linkageType: ''
    returnType: std::string
    signature: std::string X509Certificate::toPEM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resp_print_bulk_array
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1038,1
    - Dst: getExtensions
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1039,1
    - Dst: auto::push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1041,1
    - Dst: getType
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1042,1
    - Dst: isCritical
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1043,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1048,1
    - Dst: pcpp::X509Certificate::getVersion
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1048,1
    - Dst: pcpp::X509Certificate::getSerialNumber
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1049,1
    - Dst: pcpp::X509Certificate::getIssuer
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1050,1
    - Dst: pcpp::X509Certificate::getNotBefore
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1053,1
    - Dst: pcpp::X509Certificate::getNotAfter
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1054,1
    - Dst: pcpp::X509Certificate::getSubject
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1056,1
    - Dst: pcpp::X509Certificate::getPublicKeyAlgorithm
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1058,1
    - Dst: pcpp::X509Certificate::getPublicKey
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1059,1
    - Dst: pcpp::X509Certificate::getSignatureAlgorithm
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1061,1
    - Dst: pcpp::X509Certificate::getSignature
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1062,1
    - Dst: nlohmann::ordered_json::dump
      Src: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - indent
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1036
    functionDepth: 3
    functionLinenumber: 1036
    functionLinenumberEnd: 1066
    functionName: pcpp::X509Certificate::toJson
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Certificate::getVersion
    - pcpp::X509Certificate::getNotAfter
    - auto::push_back
    - pcpp::X509Certificate::getPublicKey
    - resp_print_bulk_array
    - static_cast<int>
    - pcpp::X509Certificate::getNotBefore
    - pcpp::X509Certificate::getSignatureAlgorithm
    - pcpp::X509Certificate::getIssuer
    - isCritical
    - pcpp::X509Certificate::getSerialNumber
    - getExtensions
    - pcpp::X509Certificate::getSubject
    - pcpp::X509Certificate::getSignature
    - getType
    - pcpp::X509Certificate::getPublicKeyAlgorithm
    - nlohmann::ordered_json::dump
    linkageType: ''
    returnType: std::string
    signature: std::string X509Certificate::toJson(int indent) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:19,1
    - Dst: reinterpret_cast<sll_header*>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:21,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:22,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - packetType
    - ARPHRDType
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: pcpp::SllLayer::SllLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - reinterpret_cast<sll_header*>
    - allocData
    linkageType: ''
    returnType: void
    signature: void SllLayer::SllLayer(uint16_t packetType, uint16_t ARPHRDType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:31,1
    - Dst: pcpp::SllLayer::getSllHeader
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:35,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:36,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - addr
    - addrLength
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: pcpp::SllLayer::setLinkLayerAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - htobe16
    - PCPP_LOG_ERROR
    - pcpp::SllLayer::getSllHeader
    linkageType: ''
    returnType: bool
    signature: bool SllLayer::setLinkLayerAddr(uint8_t* addr, size_t addrLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:45,1
    - Dst: pcpp::SllLayer::setLinkLayerAddr
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' macAddr'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: pcpp::SllLayer::setMacAddressAsLinkLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp
    functionUses: 0
    functionsReached:
    - copyTo
    - pcpp::SllLayer::setLinkLayerAddr
    linkageType: ''
    returnType: bool
    signature: bool SllLayer::setMacAddressAsLinkLayer(MacAddress const& macAddr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SllLayer::getSllHeader
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:57,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:58,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:62,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:67,1
    - Dst: constructNextLayer<ArpLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:72,1
    - Dst: constructNextLayer<VlanLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:78,1
    - Dst: tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:83,1
    - Dst: tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:88,1
    - Dst: constructNextLayer<MplsLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:93,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:98,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 102
    functionName: pcpp::SllLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
    - constructNextLayer<PayloadLayer>
    - constructNextLayer<ArpLayer>
    - constructNextLayer<VlanLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - constructNextLayer<MplsLayer>
    - be16toh
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - pcpp::SllLayer::getSllHeader
    - tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void SllLayer::parseNextLayer()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SllLayer::getSllHeader
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:109,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:110,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:113,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:116,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:119,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 127
    functionName: pcpp::SllLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - getProtocol
    - pcpp::SllLayer::getSllHeader
    linkageType: ''
    returnType: void
    signature: void SllLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: pcpp::SllLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SllLayer::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:19,1
    - Dst: reinterpret_cast<sll_header*>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:21,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:22,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - packetType
    - ARPHRDType
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: pcpp::SllLayer::SllLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - reinterpret_cast<sll_header*>
    - allocData
    linkageType: ''
    returnType: void
    signature: void SllLayer::SllLayer(uint16_t packetType, uint16_t ARPHRDType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:31,1
    - Dst: pcpp::SllLayer::getSllHeader
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:35,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:36,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - addr
    - addrLength
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: pcpp::SllLayer::setLinkLayerAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - htobe16
    - PCPP_LOG_ERROR
    - pcpp::SllLayer::getSllHeader
    linkageType: ''
    returnType: bool
    signature: bool SllLayer::setLinkLayerAddr(uint8_t* addr, size_t addrLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:45,1
    - Dst: pcpp::SllLayer::setLinkLayerAddr
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' macAddr'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: pcpp::SllLayer::setMacAddressAsLinkLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp
    functionUses: 0
    functionsReached:
    - copyTo
    - pcpp::SllLayer::setLinkLayerAddr
    linkageType: ''
    returnType: bool
    signature: bool SllLayer::setMacAddressAsLinkLayer(MacAddress const& macAddr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SllLayer::getSllHeader
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:57,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:58,1
    - Dst: tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:62,1
    - Dst: tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:67,1
    - Dst: constructNextLayer<ArpLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:72,1
    - Dst: constructNextLayer<VlanLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:78,1
    - Dst: tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:83,1
    - Dst: tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:88,1
    - Dst: constructNextLayer<MplsLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:93,1
    - Dst: constructNextLayer<PayloadLayer>
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:98,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 102
    functionName: pcpp::SllLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp
    functionUses: 0
    functionsReached:
    - tryConstructNextLayerWithFallback<PPPoEDiscoveryLayer, PayloadLayer>
    - constructNextLayer<PayloadLayer>
    - constructNextLayer<ArpLayer>
    - constructNextLayer<VlanLayer>
    - tryConstructNextLayerWithFallback<IPv6Layer, PayloadLayer>
    - constructNextLayer<MplsLayer>
    - be16toh
    - tryConstructNextLayerWithFallback<IPv4Layer, PayloadLayer>
    - pcpp::SllLayer::getSllHeader
    - tryConstructNextLayerWithFallback<PPPoESessionLayer, PayloadLayer>
    linkageType: ''
    returnType: void
    signature: void SllLayer::parseNextLayer()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SllLayer::getSllHeader
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:109,1
    - Dst: getProtocol
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:110,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:113,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:116,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:119,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 127
    functionName: pcpp::SllLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - getProtocol
    - pcpp::SllLayer::getSllHeader
    linkageType: ''
    returnType: void
    signature: void SllLayer::computeCalculateFields()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: pcpp::SllLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SllLayer::toString() const
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 40
    functionName: pcpp::X509ExtendedKeyUsagePurpose::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509ExtendedKeyUsagePurpose::toString() const
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 75
    functionName: pcpp::X509ExtendedKeyUsagePurpose::getOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509ExtendedKeyUsagePurpose::getOidValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:97,1
    - Dst: pcpp::X509ExtendedKeyUsagePurpose::toString
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:97,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: pcpp::X509ExtendedKeyUsagePurpose::fromOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    - pcpp::X509ExtendedKeyUsagePurpose::toString
    linkageType: ''
    returnType: X509ExtendedKeyUsagePurpose
    signature: X509ExtendedKeyUsagePurpose X509ExtendedKeyUsagePurpose::fromOidValue(const
      Asn1ObjectIdentifier& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Asn1Record*::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:112,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - record
    - ' extensionName'
    - ' fieldName'
    argTypes:
    - Asn1Record*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: pcpp::castRecordAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 2
    functionsReached:
    - Asn1Record*::castAs
    - std::runtime_error
    linkageType: ''
    returnType: Asn1RecordType
    signature: "Asn1RecordType * castRecordAs(Asn1Record* record, const std::string&
      extensionName,\n\t                                    const std::string& fieldName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::castRecordAs
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:126,1
    - Dst: Asn1ConstructedRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:126,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - record
    - index
    - ' extensionName'
    - ' fieldName'
    argTypes:
    - Asn1ConstructedRecord*
    - int
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: pcpp::getSubRecordAndCast
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pcpp::castRecordAs
    - Asn1ConstructedRecord*::getSubRecords
    linkageType: ''
    returnType: Asn1RecordType
    signature: "Asn1RecordType * getSubRecordAndCast(Asn1ConstructedRecord* record,
      int index,\n\t                                           const std::string&
      extensionName, const std::string& fieldName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:139,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:139,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:140,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:140,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:140,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:141,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:141,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' rawData'
    - ' rawDataBytes'
    argTypes:
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: pcpp::X509Internal::X509ExtensionDataDecoder::decodeAsn1Data
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - data
    - length
    - size
    - hexStringToByteArray
    - resize
    - pcpp::Asn1Record::decode
    linkageType: ''
    returnType: std::unique_ptr<Asn1Record>
    signature: "std::unique_ptr<Asn1Record> X509ExtensionDataDecoder::decodeAsn1Data(const
      std::string& rawData,\n\t\t                                                                     std::vector<uint8_t>&
      rawDataBytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:148,1
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:149,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:149,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:152,1
    - Dst: getSubRecordAndCast<Asn1BooleanRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:154,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:158,1
    - Dst: getSubRecordAndCast<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:161,1
    - Dst: std::unique_ptr<X509BasicConstraintsDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:166,1
    - Dst: X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 168
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - decodeAsn1Data
    - auto::get
    - castRecordAs<Asn1SequenceRecord>
    - X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
    - getSubRecordAndCast<Asn1BooleanRecord>
    - getSubRecordAndCast<Asn1IntegerRecord>
    - auto::getSubRecords
    - std::unique_ptr<X509BasicConstraintsDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509BasicConstraintsDataDecoder>
    signature: "std::unique_ptr<X509BasicConstraintsDataDecoder> X509BasicConstraintsDataDecoder::create(\n\t\t
      \   const std::string& rawData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:174,1
    - Dst: castRecordAs<Asn1OctetStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:176,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:176,1
    - Dst: std::unique_ptr<X509SubjectKeyIdentifierDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:178,1
    - Dst: X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - decodeAsn1Data
    - castRecordAs<Asn1OctetStringRecord>
    - auto::get
    - X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
    - std::unique_ptr<X509SubjectKeyIdentifierDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509SubjectKeyIdentifierDataDecoder>
    signature: "std::unique_ptr<X509SubjectKeyIdentifierDataDecoder> X509SubjectKeyIdentifierDataDecoder::create(\n\t\t
      \   const std::string& rawData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:185,1
    - Dst: castRecordAs<Asn1BitStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:186,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:186,1
    - Dst: std::unique_ptr<X509KeyUsageDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:187,1
    - Dst: X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: pcpp::X509Internal::X509KeyUsageDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
    - decodeAsn1Data
    - auto::get
    - castRecordAs<Asn1BitStringRecord>
    - std::unique_ptr<X509KeyUsageDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509KeyUsageDataDecoder>
    signature: std::unique_ptr<X509KeyUsageDataDecoder> X509KeyUsageDataDecoder::create(const
      std::string& rawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:194,1
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:196,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:196,1
    - Dst: std::unique_ptr<X509ExtendedKeyUsageDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:197,1
    - Dst: X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:197,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:198,1
    - Dst: auto::m_ExtendedKeyUsagePurposes::push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:200,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - decodeAsn1Data
    - castAs
    - auto::get
    - castRecordAs<Asn1SequenceRecord>
    - X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
    - auto::getSubRecords
    - auto::m_ExtendedKeyUsagePurposes::push_back
    - std::unique_ptr<X509ExtendedKeyUsageDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509ExtendedKeyUsageDataDecoder>
    signature: "std::unique_ptr<X509ExtendedKeyUsageDataDecoder> X509ExtendedKeyUsageDataDecoder::create(\n\t\t
      \   const std::string& rawData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:139,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:139,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:140,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:140,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:140,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:141,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:141,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' rawData'
    - ' rawDataBytes'
    argTypes:
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: pcpp::X509Internal::X509ExtensionDataDecoder::decodeAsn1Data
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - data
    - length
    - size
    - hexStringToByteArray
    - resize
    - pcpp::Asn1Record::decode
    linkageType: ''
    returnType: std::unique_ptr<Asn1Record>
    signature: "std::unique_ptr<Asn1Record> X509ExtensionDataDecoder::decodeAsn1Data(const
      std::string& rawData,\n\t\t                                                                     std::vector<uint8_t>&
      rawDataBytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:148,1
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:149,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:149,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:152,1
    - Dst: getSubRecordAndCast<Asn1BooleanRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:154,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:158,1
    - Dst: getSubRecordAndCast<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:161,1
    - Dst: std::unique_ptr<X509BasicConstraintsDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:166,1
    - Dst: X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 168
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - decodeAsn1Data
    - auto::get
    - castRecordAs<Asn1SequenceRecord>
    - X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
    - getSubRecordAndCast<Asn1BooleanRecord>
    - getSubRecordAndCast<Asn1IntegerRecord>
    - auto::getSubRecords
    - std::unique_ptr<X509BasicConstraintsDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509BasicConstraintsDataDecoder>
    signature: "std::unique_ptr<X509BasicConstraintsDataDecoder> X509BasicConstraintsDataDecoder::create(\n\t\t
      \   const std::string& rawData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:174,1
    - Dst: castRecordAs<Asn1OctetStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:176,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:176,1
    - Dst: std::unique_ptr<X509SubjectKeyIdentifierDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:178,1
    - Dst: X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - decodeAsn1Data
    - castRecordAs<Asn1OctetStringRecord>
    - auto::get
    - X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
    - std::unique_ptr<X509SubjectKeyIdentifierDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509SubjectKeyIdentifierDataDecoder>
    signature: "std::unique_ptr<X509SubjectKeyIdentifierDataDecoder> X509SubjectKeyIdentifierDataDecoder::create(\n\t\t
      \   const std::string& rawData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:185,1
    - Dst: castRecordAs<Asn1BitStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:186,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:186,1
    - Dst: std::unique_ptr<X509KeyUsageDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:187,1
    - Dst: X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: pcpp::X509Internal::X509KeyUsageDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
    - decodeAsn1Data
    - auto::get
    - castRecordAs<Asn1BitStringRecord>
    - std::unique_ptr<X509KeyUsageDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509KeyUsageDataDecoder>
    signature: std::unique_ptr<X509KeyUsageDataDecoder> X509KeyUsageDataDecoder::create(const
      std::string& rawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:194,1
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:196,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:196,1
    - Dst: std::unique_ptr<X509ExtendedKeyUsageDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:197,1
    - Dst: X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:197,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:198,1
    - Dst: auto::m_ExtendedKeyUsagePurposes::push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:200,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - decodeAsn1Data
    - castAs
    - auto::get
    - castRecordAs<Asn1SequenceRecord>
    - X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
    - auto::getSubRecords
    - auto::m_ExtendedKeyUsagePurposes::push_back
    - std::unique_ptr<X509ExtendedKeyUsageDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509ExtendedKeyUsageDataDecoder>
    signature: "std::unique_ptr<X509ExtendedKeyUsageDataDecoder> X509ExtendedKeyUsageDataDecoder::create(\n\t\t
      \   const std::string& rawData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509BasicConstraintsDataDecoder::create
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:210,1
    - Dst: auto::isCA
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:211,1
    - Dst: auto::getPathLenConstraint
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rawExtensionData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: pcpp::X509BasicConstraintsExtension::X509BasicConstraintsExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - auto::isCA
    - auto::getPathLenConstraint
    - pcpp::X509Internal::X509BasicConstraintsDataDecoder::create
    linkageType: ''
    returnType: void
    signature: void X509BasicConstraintsExtension::X509BasicConstraintsExtension(const
      std::string& rawExtensionData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::create
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:217,1
    - Dst: auto::getKeyIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawExtensionData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: pcpp::X509SubjectKeyIdentifierExtension::X509SubjectKeyIdentifierExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::create
    - auto::getKeyIdentifier
    linkageType: ''
    returnType: void
    signature: void X509SubjectKeyIdentifierExtension::X509SubjectKeyIdentifierExtension(const
      std::string& rawExtensionData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509KeyUsageDataDecoder::create
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:223,1
    - Dst: auto::getKeyUsage
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawExtensionData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: pcpp::X509KeyUsageExtension::X509KeyUsageExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509KeyUsageDataDecoder::create
    - auto::getKeyUsage
    linkageType: ''
    returnType: void
    signature: void X509KeyUsageExtension::X509KeyUsageExtension(const std::string&
      rawExtensionData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:229,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - location
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: pcpp::X509KeyUsageExtension::isBitSet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isBitSet(size_t location) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: pcpp::X509KeyUsageExtension::isDigitalSignature
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isDigitalSignature() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: pcpp::X509KeyUsageExtension::isNonRepudiation
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isNonRepudiation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: pcpp::X509KeyUsageExtension::isKeyEncipherment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isKeyEncipherment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: pcpp::X509KeyUsageExtension::isDataEncipherment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isDataEncipherment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: pcpp::X509KeyUsageExtension::isKeyAgreement
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isKeyAgreement() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: pcpp::X509KeyUsageExtension::isKeyCertSign
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isKeyCertSign() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: pcpp::X509KeyUsageExtension::isCRLSign
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isCRLSign() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: pcpp::X509KeyUsageExtension::isEncipherOnly
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isEncipherOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: pcpp::X509KeyUsageExtension::isDecipherOnly
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isDecipherOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::create
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:284,1
    - Dst: auto::getExtendedKeyUsagePurposes
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:285,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:287,1
    - Dst: pcpp::X509ExtendedKeyUsagePurpose::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rawExtensionData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: pcpp::X509ExtendedKeyUsageExtension::X509ExtendedKeyUsageExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::create
    - auto::getExtendedKeyUsagePurposes
    - pcpp::X509ExtendedKeyUsagePurpose::fromOidValue
    linkageType: ''
    returnType: void
    signature: void X509ExtendedKeyUsageExtension::X509ExtendedKeyUsageExtension(const
      std::string& rawExtensionData)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 40
    functionName: pcpp::X509ExtendedKeyUsagePurpose::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509ExtendedKeyUsagePurpose::toString() const
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 75
    functionName: pcpp::X509ExtendedKeyUsagePurpose::getOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string X509ExtendedKeyUsagePurpose::getOidValue() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:97,1
    - Dst: pcpp::X509ExtendedKeyUsagePurpose::toString
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:97,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: pcpp::X509ExtendedKeyUsagePurpose::fromOidValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    - pcpp::X509ExtendedKeyUsagePurpose::toString
    linkageType: ''
    returnType: X509ExtendedKeyUsagePurpose
    signature: X509ExtendedKeyUsagePurpose X509ExtendedKeyUsagePurpose::fromOidValue(const
      Asn1ObjectIdentifier& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Asn1Record*::castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:112,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - record
    - ' extensionName'
    - ' fieldName'
    argTypes:
    - Asn1Record*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: pcpp::castRecordAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 3
    functionsReached:
    - Asn1Record*::castAs
    - std::runtime_error
    linkageType: ''
    returnType: Asn1RecordType
    signature: "Asn1RecordType * castRecordAs(Asn1Record* record, const std::string&
      extensionName,\n\t                                    const std::string& fieldName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::castRecordAs
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:126,1
    - Dst: Asn1ConstructedRecord*::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:126,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - record
    - index
    - ' extensionName'
    - ' fieldName'
    argTypes:
    - Asn1ConstructedRecord*
    - int
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: pcpp::getSubRecordAndCast
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pcpp::castRecordAs
    - Asn1ConstructedRecord*::getSubRecords
    linkageType: ''
    returnType: Asn1RecordType
    signature: "Asn1RecordType * getSubRecordAndCast(Asn1ConstructedRecord* record,
      int index,\n\t                                           const std::string&
      extensionName, const std::string& fieldName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:139,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:139,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:140,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:140,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:140,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:141,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:141,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' rawData'
    - ' rawDataBytes'
    argTypes:
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: pcpp::X509Internal::X509ExtensionDataDecoder::decodeAsn1Data
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - data
    - length
    - size
    - hexStringToByteArray
    - resize
    - pcpp::Asn1Record::decode
    linkageType: ''
    returnType: std::unique_ptr<Asn1Record>
    signature: "std::unique_ptr<Asn1Record> X509ExtensionDataDecoder::decodeAsn1Data(const
      std::string& rawData,\n\t\t                                                                     std::vector<uint8_t>&
      rawDataBytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:148,1
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:149,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:149,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:152,1
    - Dst: getSubRecordAndCast<Asn1BooleanRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:154,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:158,1
    - Dst: getSubRecordAndCast<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:161,1
    - Dst: std::unique_ptr<X509BasicConstraintsDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:166,1
    - Dst: X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 168
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 1
    functionsReached:
    - decodeAsn1Data
    - auto::get
    - castRecordAs<Asn1SequenceRecord>
    - X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
    - getSubRecordAndCast<Asn1BooleanRecord>
    - getSubRecordAndCast<Asn1IntegerRecord>
    - auto::getSubRecords
    - std::unique_ptr<X509BasicConstraintsDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509BasicConstraintsDataDecoder>
    signature: "std::unique_ptr<X509BasicConstraintsDataDecoder> X509BasicConstraintsDataDecoder::create(\n\t\t
      \   const std::string& rawData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:174,1
    - Dst: castRecordAs<Asn1OctetStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:176,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:176,1
    - Dst: std::unique_ptr<X509SubjectKeyIdentifierDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:178,1
    - Dst: X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 1
    functionsReached:
    - decodeAsn1Data
    - castRecordAs<Asn1OctetStringRecord>
    - auto::get
    - X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
    - std::unique_ptr<X509SubjectKeyIdentifierDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509SubjectKeyIdentifierDataDecoder>
    signature: "std::unique_ptr<X509SubjectKeyIdentifierDataDecoder> X509SubjectKeyIdentifierDataDecoder::create(\n\t\t
      \   const std::string& rawData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:185,1
    - Dst: castRecordAs<Asn1BitStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:186,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:186,1
    - Dst: std::unique_ptr<X509KeyUsageDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:187,1
    - Dst: X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: pcpp::X509Internal::X509KeyUsageDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 1
    functionsReached:
    - X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
    - decodeAsn1Data
    - auto::get
    - castRecordAs<Asn1BitStringRecord>
    - std::unique_ptr<X509KeyUsageDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509KeyUsageDataDecoder>
    signature: std::unique_ptr<X509KeyUsageDataDecoder> X509KeyUsageDataDecoder::create(const
      std::string& rawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:194,1
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:196,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:196,1
    - Dst: std::unique_ptr<X509ExtendedKeyUsageDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:197,1
    - Dst: X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:197,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:198,1
    - Dst: auto::m_ExtendedKeyUsagePurposes::push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:200,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 1
    functionsReached:
    - decodeAsn1Data
    - castAs
    - auto::get
    - castRecordAs<Asn1SequenceRecord>
    - X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
    - auto::getSubRecords
    - auto::m_ExtendedKeyUsagePurposes::push_back
    - std::unique_ptr<X509ExtendedKeyUsageDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509ExtendedKeyUsageDataDecoder>
    signature: "std::unique_ptr<X509ExtendedKeyUsageDataDecoder> X509ExtendedKeyUsageDataDecoder::create(\n\t\t
      \   const std::string& rawData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:139,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:139,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:140,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:140,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:140,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:141,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:141,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' rawData'
    - ' rawDataBytes'
    argTypes:
    - std::string
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: pcpp::X509Internal::X509ExtensionDataDecoder::decodeAsn1Data
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - data
    - length
    - size
    - hexStringToByteArray
    - resize
    - pcpp::Asn1Record::decode
    linkageType: ''
    returnType: std::unique_ptr<Asn1Record>
    signature: "std::unique_ptr<Asn1Record> X509ExtensionDataDecoder::decodeAsn1Data(const
      std::string& rawData,\n\t\t                                                                     std::vector<uint8_t>&
      rawDataBytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:148,1
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:149,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:149,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:152,1
    - Dst: getSubRecordAndCast<Asn1BooleanRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:154,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:158,1
    - Dst: getSubRecordAndCast<Asn1IntegerRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:161,1
    - Dst: std::unique_ptr<X509BasicConstraintsDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:166,1
    - Dst: X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 168
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 1
    functionsReached:
    - decodeAsn1Data
    - auto::get
    - castRecordAs<Asn1SequenceRecord>
    - X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
    - getSubRecordAndCast<Asn1BooleanRecord>
    - getSubRecordAndCast<Asn1IntegerRecord>
    - auto::getSubRecords
    - std::unique_ptr<X509BasicConstraintsDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509BasicConstraintsDataDecoder>
    signature: "std::unique_ptr<X509BasicConstraintsDataDecoder> X509BasicConstraintsDataDecoder::create(\n\t\t
      \   const std::string& rawData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:174,1
    - Dst: castRecordAs<Asn1OctetStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:176,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:176,1
    - Dst: std::unique_ptr<X509SubjectKeyIdentifierDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:178,1
    - Dst: X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 1
    functionsReached:
    - decodeAsn1Data
    - castRecordAs<Asn1OctetStringRecord>
    - auto::get
    - X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
    - std::unique_ptr<X509SubjectKeyIdentifierDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509SubjectKeyIdentifierDataDecoder>
    signature: "std::unique_ptr<X509SubjectKeyIdentifierDataDecoder> X509SubjectKeyIdentifierDataDecoder::create(\n\t\t
      \   const std::string& rawData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:185,1
    - Dst: castRecordAs<Asn1BitStringRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:186,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:186,1
    - Dst: std::unique_ptr<X509KeyUsageDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:187,1
    - Dst: X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: pcpp::X509Internal::X509KeyUsageDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 1
    functionsReached:
    - X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
    - decodeAsn1Data
    - auto::get
    - castRecordAs<Asn1BitStringRecord>
    - std::unique_ptr<X509KeyUsageDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509KeyUsageDataDecoder>
    signature: std::unique_ptr<X509KeyUsageDataDecoder> X509KeyUsageDataDecoder::create(const
      std::string& rawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeAsn1Data
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:194,1
    - Dst: castRecordAs<Asn1SequenceRecord>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:196,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:196,1
    - Dst: std::unique_ptr<X509ExtendedKeyUsageDataDecoder>
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:197,1
    - Dst: X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:197,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:198,1
    - Dst: auto::m_ExtendedKeyUsagePurposes::push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:200,1
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' rawData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::create
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 1
    functionsReached:
    - decodeAsn1Data
    - castAs
    - auto::get
    - castRecordAs<Asn1SequenceRecord>
    - X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
    - auto::getSubRecords
    - auto::m_ExtendedKeyUsagePurposes::push_back
    - std::unique_ptr<X509ExtendedKeyUsageDataDecoder>
    linkageType: ''
    returnType: std::unique_ptr<X509ExtendedKeyUsageDataDecoder>
    signature: "std::unique_ptr<X509ExtendedKeyUsageDataDecoder> X509ExtendedKeyUsageDataDecoder::create(\n\t\t
      \   const std::string& rawData)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509BasicConstraintsDataDecoder::create
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:210,1
    - Dst: auto::isCA
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:211,1
    - Dst: auto::getPathLenConstraint
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' rawExtensionData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: pcpp::X509BasicConstraintsExtension::X509BasicConstraintsExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - auto::isCA
    - auto::getPathLenConstraint
    - pcpp::X509Internal::X509BasicConstraintsDataDecoder::create
    linkageType: ''
    returnType: void
    signature: void X509BasicConstraintsExtension::X509BasicConstraintsExtension(const
      std::string& rawExtensionData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::create
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:217,1
    - Dst: auto::getKeyIdentifier
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawExtensionData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: pcpp::X509SubjectKeyIdentifierExtension::X509SubjectKeyIdentifierExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::create
    - auto::getKeyIdentifier
    linkageType: ''
    returnType: void
    signature: void X509SubjectKeyIdentifierExtension::X509SubjectKeyIdentifierExtension(const
      std::string& rawExtensionData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509KeyUsageDataDecoder::create
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:223,1
    - Dst: auto::getKeyUsage
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawExtensionData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: pcpp::X509KeyUsageExtension::X509KeyUsageExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509Internal::X509KeyUsageDataDecoder::create
    - auto::getKeyUsage
    linkageType: ''
    returnType: void
    signature: void X509KeyUsageExtension::X509KeyUsageExtension(const std::string&
      rawExtensionData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:229,1
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - location
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: pcpp::X509KeyUsageExtension::isBitSet
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 9
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isBitSet(size_t location) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: pcpp::X509KeyUsageExtension::isDigitalSignature
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isDigitalSignature() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: pcpp::X509KeyUsageExtension::isNonRepudiation
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isNonRepudiation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: pcpp::X509KeyUsageExtension::isKeyEncipherment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isKeyEncipherment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: pcpp::X509KeyUsageExtension::isDataEncipherment
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isDataEncipherment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: pcpp::X509KeyUsageExtension::isKeyAgreement
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isKeyAgreement() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: pcpp::X509KeyUsageExtension::isKeyCertSign
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isKeyCertSign() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: pcpp::X509KeyUsageExtension::isCRLSign
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isCRLSign() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: pcpp::X509KeyUsageExtension::isEncipherOnly
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isEncipherOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509KeyUsageExtension::isBitSet
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: pcpp::X509KeyUsageExtension::isDecipherOnly
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - pcpp::X509KeyUsageExtension::isBitSet
    linkageType: ''
    returnType: bool
    signature: bool X509KeyUsageExtension::isDecipherOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::create
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:284,1
    - Dst: auto::getExtendedKeyUsagePurposes
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:285,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:287,1
    - Dst: pcpp::X509ExtendedKeyUsagePurpose::fromOidValue
      Src: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rawExtensionData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: pcpp::X509ExtendedKeyUsageExtension::X509ExtendedKeyUsageExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
    functionUses: 0
    functionsReached:
    - push_back
    - pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::create
    - auto::getExtendedKeyUsagePurposes
    - pcpp::X509ExtendedKeyUsagePurpose::fromOidValue
    linkageType: ''
    returnType: void
    signature: void X509ExtendedKeyUsageExtension::X509ExtendedKeyUsageExtension(const
      std::string& rawExtensionData)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 25
    functionName: pcpp::IPLayer::getIPVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ProtocolType
    signature: ProtocolType IPLayer::getIPVersion(uint8_t const* data, size_t dataLen)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 25
    functionName: pcpp::IPLayer::getIPVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/IPLayer.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ProtocolType
    signature: ProtocolType IPLayer::getIPVersion(uint8_t const* data, size_t dataLen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:27,1
    - Dst: std::string::find_first_of
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:28,1
    - Dst: std::string::rfind
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:29,1
    - Dst: min
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:36,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 42
    functionName: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 0
    functionsReached:
    - std::string::rfind
    - min
    - std::string::find_first_of
    linkageType: ''
    returnType: size_t
    signature: size_t SingleCommandTextProtocol::getArgumentFieldOffset() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:47,1
    - Dst: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:47,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:49,1
    - Dst: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hyphen
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: pcpp::SingleCommandTextProtocol::setDelimiter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 0
    functionsReached:
    - memset
    - pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
    linkageType: ''
    returnType: void
    signature: void SingleCommandTextProtocol::setDelimiter(bool hyphen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:54,1
    - Dst: rfind
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: pcpp::SingleCommandTextProtocol::hyphenRequired
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 0
    functionsReached:
    - find
    - rfind
    linkageType: ''
    returnType: bool
    signature: bool SingleCommandTextProtocol::hyphenRequired(const std::string& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:63,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:64,1
    - Dst: pcpp::SingleCommandTextProtocol::setCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:65,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:66,1
    - Dst: pcpp::SingleCommandTextProtocol::setCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' command'
    - ' option'
    - protocol
    argTypes:
    - std::string
    - std::string
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: pcpp::SingleCommandTextProtocol::SingleCommandTextProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pcpp::SingleCommandTextProtocol::setCommandInternal
    - pcpp::SingleCommandTextProtocol::setCommandOptionInternal
    - allocData
    linkageType: ''
    returnType: void
    signature: "void SingleCommandTextProtocol::SingleCommandTextProtocol(const std::string&
      command, const std::string& option,\n\t                                                     ProtocolType
      protocol)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:72,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:78,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:80,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:80,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:83,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:85,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:85,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:89,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:89,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 91
    functionName: pcpp::SingleCommandTextProtocol::setCommandInternal
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 1
    functionsReached:
    - extendLayer
    - memcpy
    - std::string::c_str
    - shortenLayer
    - pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: bool SingleCommandTextProtocol::setCommandInternal(std::string value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string::rfind
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:95,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:96,1
    - Dst: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:99,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:101,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:103,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:103,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:106,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:108,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:108,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:112,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:112,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:112,1
    - Dst: pcpp::SingleCommandTextProtocol::hyphenRequired
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:114,1
    - Dst: pcpp::SingleCommandTextProtocol::setDelimiter
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:115,1
    - Dst: pcpp::SingleCommandTextProtocol::setDelimiter
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 119
    functionName: pcpp::SingleCommandTextProtocol::setCommandOptionInternal
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 1
    functionsReached:
    - extendLayer
    - pcpp::SingleCommandTextProtocol::setDelimiter
    - std::string::rfind
    - memcpy
    - std::string::c_str
    - shortenLayer
    - pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
    - std::string::size
    - pcpp::SingleCommandTextProtocol::hyphenRequired
    linkageType: ''
    returnType: bool
    signature: bool SingleCommandTextProtocol::setCommandOptionInternal(std::string
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:123,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:127,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:127,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:128,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: pcpp::SingleCommandTextProtocol::getCommandInternal
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 0
    functionsReached:
    - string
    - reinterpret_cast<char*>
    - pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
    linkageType: ''
    returnType: std::string
    signature: std::string SingleCommandTextProtocol::getCommandInternal() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:133,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:143,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:143,1
    - Dst: pcpp::SingleCommandTextProtocol::getCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:147,1
    - Dst: auto::find
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:153,1
    - Dst: auto::replace
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:155,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 161
    functionName: pcpp::SingleCommandTextProtocol::getCommandOptionInternal
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SingleCommandTextProtocol::getCommandInternal
    - length
    - auto::replace
    - string
    - pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
    - reinterpret_cast<char*>
    - auto::find
    linkageType: ''
    returnType: std::string
    signature: std::string SingleCommandTextProtocol::getCommandOptionInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: pcpp::SingleCommandTextProtocol::isMultiLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
    linkageType: ''
    returnType: bool
    signature: bool SingleCommandTextProtocol::isMultiLine() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:173,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:173,1
    - Dst: std::string::rfind
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: pcpp::SingleCommandTextProtocol::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 0
    functionsReached:
    - std::string::rfind
    - string
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: bool
    signature: bool SingleCommandTextProtocol::isDataValid(const uint8_t* data, size_t
      dataSize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find_first_of
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:27,1
    - Dst: std::string::find_first_of
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:28,1
    - Dst: std::string::rfind
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:29,1
    - Dst: min
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:36,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 42
    functionName: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 6
    functionsReached:
    - std::string::rfind
    - min
    - std::string::find_first_of
    linkageType: ''
    returnType: size_t
    signature: size_t SingleCommandTextProtocol::getArgumentFieldOffset() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:47,1
    - Dst: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:47,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:49,1
    - Dst: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hyphen
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: pcpp::SingleCommandTextProtocol::setDelimiter
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 1
    functionsReached:
    - memset
    - pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
    linkageType: ''
    returnType: void
    signature: void SingleCommandTextProtocol::setDelimiter(bool hyphen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:54,1
    - Dst: rfind
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: pcpp::SingleCommandTextProtocol::hyphenRequired
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 1
    functionsReached:
    - find
    - rfind
    linkageType: ''
    returnType: bool
    signature: bool SingleCommandTextProtocol::hyphenRequired(const std::string& value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:63,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:64,1
    - Dst: pcpp::SingleCommandTextProtocol::setCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:65,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:66,1
    - Dst: pcpp::SingleCommandTextProtocol::setCommandOptionInternal
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' command'
    - ' option'
    - protocol
    argTypes:
    - std::string
    - std::string
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: pcpp::SingleCommandTextProtocol::SingleCommandTextProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 0
    functionsReached:
    - empty
    - pcpp::SingleCommandTextProtocol::setCommandInternal
    - pcpp::SingleCommandTextProtocol::setCommandOptionInternal
    - allocData
    linkageType: ''
    returnType: void
    signature: "void SingleCommandTextProtocol::SingleCommandTextProtocol(const std::string&
      command, const std::string& option,\n\t                                                     ProtocolType
      protocol)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:72,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:78,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:80,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:80,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:83,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:85,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:85,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:89,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:89,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 91
    functionName: pcpp::SingleCommandTextProtocol::setCommandInternal
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - memcpy
    - std::string::c_str
    - shortenLayer
    - pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: bool SingleCommandTextProtocol::setCommandInternal(std::string value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::string::rfind
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:95,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:96,1
    - Dst: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:99,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:101,1
    - Dst: shortenLayer
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:103,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:103,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:106,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:108,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:108,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:112,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:112,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:112,1
    - Dst: pcpp::SingleCommandTextProtocol::hyphenRequired
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:114,1
    - Dst: pcpp::SingleCommandTextProtocol::setDelimiter
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:115,1
    - Dst: pcpp::SingleCommandTextProtocol::setDelimiter
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 119
    functionName: pcpp::SingleCommandTextProtocol::setCommandOptionInternal
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 2
    functionsReached:
    - extendLayer
    - pcpp::SingleCommandTextProtocol::setDelimiter
    - std::string::rfind
    - memcpy
    - std::string::c_str
    - shortenLayer
    - pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
    - std::string::size
    - pcpp::SingleCommandTextProtocol::hyphenRequired
    linkageType: ''
    returnType: bool
    signature: bool SingleCommandTextProtocol::setCommandOptionInternal(std::string
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:123,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:127,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:127,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:128,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: pcpp::SingleCommandTextProtocol::getCommandInternal
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 1
    functionsReached:
    - string
    - reinterpret_cast<char*>
    - pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
    linkageType: ''
    returnType: std::string
    signature: std::string SingleCommandTextProtocol::getCommandInternal() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:133,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:143,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:143,1
    - Dst: pcpp::SingleCommandTextProtocol::getCommandInternal
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:147,1
    - Dst: auto::find
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:153,1
    - Dst: auto::replace
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:155,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 161
    functionName: pcpp::SingleCommandTextProtocol::getCommandOptionInternal
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SingleCommandTextProtocol::getCommandInternal
    - length
    - auto::replace
    - string
    - pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
    - reinterpret_cast<char*>
    - auto::find
    linkageType: ''
    returnType: std::string
    signature: std::string SingleCommandTextProtocol::getCommandOptionInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: pcpp::SingleCommandTextProtocol::isMultiLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
    linkageType: ''
    returnType: bool
    signature: bool SingleCommandTextProtocol::isMultiLine() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:173,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:173,1
    - Dst: std::string::rfind
      Src: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: pcpp::SingleCommandTextProtocol::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
    functionUses: 0
    functionsReached:
    - std::string::rfind
    - string
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: bool
    signature: bool SingleCommandTextProtocol::isDataValid(const uint8_t* data, size_t
      dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: pcpp::X509ExtendedKeyUsagePurpose::X509ExtendedKeyUsagePurpose
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509ExtendedKeyUsagePurpose()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: pcpp::X509ExtendedKeyUsagePurpose::X509ExtendedKeyUsagePurpose
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509ExtendedKeyUsagePurpose(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::isCA
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCA() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::getPathLenConstraint
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPathLenConstraint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - isCA
    - pathLenConstraint
    argTypes:
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509BasicConstraintsDataDecoder(bool isCA, int pathLenConstraint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: '& getKeyIdentifier() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getKeyIdentifier() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' keyIdentifier'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509SubjectKeyIdentifierDataDecoder(const std::string& keyIdentifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: '& getKeyUsage() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getKeyUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' keyUsage'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: pcpp::X509Internal::X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509KeyUsageDataDecoder(const std::string& keyUsage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: '& getExtendedKeyUsagePurposes() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Asn1ObjectIdentifier>
    signature: std::vector<Asn1ObjectIdentifier> & getExtendedKeyUsagePurposes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509ExtendedKeyUsageDataDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::isCA
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCA() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::getPathLenConstraint
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPathLenConstraint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - isCA
    - pathLenConstraint
    argTypes:
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509BasicConstraintsDataDecoder(bool isCA, int pathLenConstraint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: '& getKeyIdentifier() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getKeyIdentifier() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' keyIdentifier'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509SubjectKeyIdentifierDataDecoder(const std::string& keyIdentifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: '& getKeyUsage() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getKeyUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' keyUsage'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: pcpp::X509Internal::X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509KeyUsageDataDecoder(const std::string& keyUsage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: '& getExtendedKeyUsagePurposes() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Asn1ObjectIdentifier>
    signature: std::vector<Asn1ObjectIdentifier> & getExtendedKeyUsagePurposes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509ExtendedKeyUsageDataDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: ~X509ExtensionData()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~X509ExtensionData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<X509ExtensionDataType*>
      Src: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h:207,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: pcpp::X509ExtensionData::castAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<X509ExtensionDataType*>
    - std::runtime_error
    linkageType: ''
    returnType: X509ExtensionDataType
    signature: X509ExtensionDataType * castAs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: pcpp::X509BasicConstraintsExtension::isCA
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCA() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: pcpp::X509BasicConstraintsExtension::getPathLenConstraint
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPathLenConstraint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: pcpp::X509SubjectKeyIdentifierExtension::getKeyIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getKeyIdentifier() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: '& getPurposes() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<X509ExtendedKeyUsagePurpose>
    signature: std::vector<X509ExtendedKeyUsagePurpose> & getPurposes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: pcpp::X509ExtendedKeyUsagePurpose::X509ExtendedKeyUsagePurpose
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509ExtendedKeyUsagePurpose()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: pcpp::X509ExtendedKeyUsagePurpose::X509ExtendedKeyUsagePurpose
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509ExtendedKeyUsagePurpose(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::isCA
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCA() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::getPathLenConstraint
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPathLenConstraint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - isCA
    - pathLenConstraint
    argTypes:
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509BasicConstraintsDataDecoder(bool isCA, int pathLenConstraint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: '& getKeyIdentifier() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getKeyIdentifier() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' keyIdentifier'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509SubjectKeyIdentifierDataDecoder(const std::string& keyIdentifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: '& getKeyUsage() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getKeyUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' keyUsage'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: pcpp::X509Internal::X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509KeyUsageDataDecoder(const std::string& keyUsage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: '& getExtendedKeyUsagePurposes() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Asn1ObjectIdentifier>
    signature: std::vector<Asn1ObjectIdentifier> & getExtendedKeyUsagePurposes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509ExtendedKeyUsageDataDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::isCA
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCA() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::getPathLenConstraint
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPathLenConstraint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - isCA
    - pathLenConstraint
    argTypes:
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: pcpp::X509Internal::X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509BasicConstraintsDataDecoder(bool isCA, int pathLenConstraint)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: '& getKeyIdentifier() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getKeyIdentifier() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' keyIdentifier'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509SubjectKeyIdentifierDataDecoder(const std::string& keyIdentifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: '& getKeyUsage() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getKeyUsage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' keyUsage'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: pcpp::X509Internal::X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509KeyUsageDataDecoder(const std::string& keyUsage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: '& getExtendedKeyUsagePurposes() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Asn1ObjectIdentifier>
    signature: std::vector<Asn1ObjectIdentifier> & getExtendedKeyUsagePurposes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509ExtendedKeyUsageDataDecoder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: ~X509ExtensionData()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~X509ExtensionData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<X509ExtensionDataType*>
      Src: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h:207,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 213
    functionName: pcpp::X509ExtensionData::castAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<X509ExtensionDataType*>
    - std::runtime_error
    linkageType: ''
    returnType: X509ExtensionDataType
    signature: X509ExtensionDataType * castAs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: pcpp::X509BasicConstraintsExtension::isCA
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCA() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: pcpp::X509BasicConstraintsExtension::getPathLenConstraint
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPathLenConstraint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: pcpp::X509SubjectKeyIdentifierExtension::getKeyIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getKeyIdentifier() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: '& getPurposes() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<X509ExtendedKeyUsagePurpose>
    signature: std::vector<X509ExtendedKeyUsagePurpose> & getPurposes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: pcpp::WakeOnLanLayer::WakeOnLanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WakeOnLanLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wol_header*>
      Src: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: pcpp::WakeOnLanLayer::getWakeOnLanHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<wol_header*>
    linkageType: ''
    returnType: wol_header
    signature: wol_header * getWakeOnLanHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::WakeOnLanLayer::isWakeOnLanPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isWakeOnLanPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: pcpp::WakeOnLanLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: pcpp::WakeOnLanLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: pcpp::WakeOnLanLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: pcpp::WakeOnLanLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: pcpp::WakeOnLanLayer::WakeOnLanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WakeOnLanLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wol_header*>
      Src: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: pcpp::WakeOnLanLayer::getWakeOnLanHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<wol_header*>
    linkageType: ''
    returnType: wol_header
    signature: wol_header * getWakeOnLanHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::WakeOnLanLayer::isWakeOnLanPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isWakeOnLanPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: pcpp::WakeOnLanLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: pcpp::WakeOnLanLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: pcpp::WakeOnLanLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: pcpp::WakeOnLanLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: pcpp::AuthenticationHeaderLayer::AuthenticationHeaderLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuthenticationHeaderLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ipsec_authentication_header*>
      Src: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: pcpp::AuthenticationHeaderLayer::getAHHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<ipsec_authentication_header*>
    linkageType: ''
    returnType: ipsec_authentication_header
    signature: ipsec_authentication_header * getAHHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h:91,1
    - Dst: pcpp::AuthenticationHeaderLayer::getAHHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pcpp::AuthenticationHeaderLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - pcpp::AuthenticationHeaderLayer::getAHHeader
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: pcpp::AuthenticationHeaderLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: pcpp::AuthenticationHeaderLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: pcpp::AuthenticationHeaderLayer::AuthenticationHeaderLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuthenticationHeaderLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: pcpp::ESPLayer::ESPLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ESPLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ipsec_esp*>
      Src: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: pcpp::ESPLayer::getESPHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<ipsec_esp*>
    linkageType: ''
    returnType: ipsec_esp
    signature: ipsec_esp * getESPHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: pcpp::ESPLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: pcpp::ESPLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: pcpp::ESPLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: pcpp::ESPLayer::ESPLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ESPLayer()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: pcpp::AuthenticationHeaderLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AuthenticationHeaderLayer::isDataValid(const uint8_t* data, size_t
      dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: pcpp::ESPLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ESPLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: pcpp::AuthenticationHeaderLayer::AuthenticationHeaderLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuthenticationHeaderLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ipsec_authentication_header*>
      Src: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: pcpp::AuthenticationHeaderLayer::getAHHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 9
    functionsReached:
    - reinterpret_cast<ipsec_authentication_header*>
    linkageType: ''
    returnType: ipsec_authentication_header
    signature: ipsec_authentication_header * getAHHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h:91,1
    - Dst: pcpp::AuthenticationHeaderLayer::getAHHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pcpp::AuthenticationHeaderLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - pcpp::AuthenticationHeaderLayer::getAHHeader
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: pcpp::AuthenticationHeaderLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: pcpp::AuthenticationHeaderLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: pcpp::AuthenticationHeaderLayer::AuthenticationHeaderLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuthenticationHeaderLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: pcpp::ESPLayer::ESPLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ESPLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ipsec_esp*>
      Src: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: pcpp::ESPLayer::getESPHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<ipsec_esp*>
    linkageType: ''
    returnType: ipsec_esp
    signature: ipsec_esp * getESPHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: pcpp::ESPLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: pcpp::ESPLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: pcpp::ESPLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: pcpp::ESPLayer::ESPLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ESPLayer()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: pcpp::AuthenticationHeaderLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AuthenticationHeaderLayer::isDataValid(const uint8_t* data, size_t
      dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: pcpp::ESPLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ESPLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ~HttpMessage() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpMessage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: pcpp::HttpMessage::isHttpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isHttpPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: pcpp::HttpMessage::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - protocol
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: pcpp::HttpMessage::HttpMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpMessage(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, ProtocolType protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: pcpp::HttpMessage::HttpMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HttpMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: pcpp::HttpMessage::HttpMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpMessage(const HttpMessage& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextBasedProtocolMessage::operator=
      Src: /src/PcapPlusPlus/Packet++/header/HttpLayer.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HttpMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: '& operator=(const HttpMessage& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached:
    - TextBasedProtocolMessage::operator=
    linkageType: ''
    returnType: HttpMessage
    signature: HttpMessage & operator=(const HttpMessage& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: pcpp::HttpMessage::getHeaderFieldNameValueSeparator
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getHeaderFieldNameValueSeparator() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: pcpp::HttpMessage::spacesAllowedBetweenHeaderFieldNameAndValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool spacesAllowedBetweenHeaderFieldNameAndValue() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: pcpp::HttpRequestLayer::getFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpRequestFirstLine
    signature: HttpRequestFirstLine * getFirstLine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: pcpp::HttpResponseStatusCode::HttpResponseStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpResponseStatusCode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - statusCode
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 417
    functionName: pcpp::HttpResponseStatusCode::HttpResponseStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpResponseStatusCode(Value statusCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/header/HttpLayer.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: pcpp::HttpResponseStatusCode::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/HttpLayer.h:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: pcpp::HttpResponseStatusCode::toInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int toInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: pcpp::HttpResponseStatusCode::isUnsupportedCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isUnsupportedCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: pcpp::HttpResponseLayer::getFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpResponseFirstLine
    signature: HttpResponseFirstLine * getFirstLine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: pcpp::HttpRequestFirstLine::getMethod
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpRequestLayer::HttpMethod
    signature: HttpRequestLayer::HttpMethod getMethod() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: pcpp::HttpRequestFirstLine::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpVersion
    signature: HttpVersion getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: pcpp::HttpRequestFirstLine::getSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: pcpp::HttpRequestFirstLine::isComplete
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isComplete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 634
    functionName: ~HttpRequestFirstLineException() noexcept
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpRequestFirstLineException() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: pcpp::HttpRequestFirstLine::HttpRequestFirstLineException::setMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMessage(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/header/HttpLayer.h:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: pcpp::HttpRequestFirstLine::HttpRequestFirstLineException::what
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: pcpp::getStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpResponseStatusCode
    signature: HttpResponseStatusCode getStatusCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionName: pcpp::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpVersion
    signature: HttpVersion getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 735
    functionName: pcpp::getSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: pcpp::isComplete
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isComplete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 755
    functionName: ~HttpResponseFirstLineException() noexcept
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpResponseFirstLineException() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 759
    functionName: pcpp::HttpResponseFirstLineException::setMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMessage(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/header/HttpLayer.h:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: pcpp::HttpResponseFirstLineException::what
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: ~HttpMessage() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpMessage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: pcpp::HttpMessage::isHttpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isHttpPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: pcpp::HttpMessage::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - protocol
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: pcpp::HttpMessage::HttpMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpMessage(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, ProtocolType protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: pcpp::HttpMessage::HttpMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HttpMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: pcpp::HttpMessage::HttpMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpMessage(const HttpMessage& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextBasedProtocolMessage::operator=
      Src: /src/PcapPlusPlus/Packet++/header/HttpLayer.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HttpMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: '& operator=(const HttpMessage& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached:
    - TextBasedProtocolMessage::operator=
    linkageType: ''
    returnType: HttpMessage
    signature: HttpMessage & operator=(const HttpMessage& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: pcpp::HttpMessage::getHeaderFieldNameValueSeparator
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getHeaderFieldNameValueSeparator() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: pcpp::HttpMessage::spacesAllowedBetweenHeaderFieldNameAndValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool spacesAllowedBetweenHeaderFieldNameAndValue() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: pcpp::HttpRequestLayer::getFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpRequestFirstLine
    signature: HttpRequestFirstLine * getFirstLine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: pcpp::HttpResponseStatusCode::HttpResponseStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpResponseStatusCode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - statusCode
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 417
    functionName: pcpp::HttpResponseStatusCode::HttpResponseStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpResponseStatusCode(Value statusCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/header/HttpLayer.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: pcpp::HttpResponseStatusCode::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/HttpLayer.h:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: pcpp::HttpResponseStatusCode::toInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int toInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: pcpp::HttpResponseStatusCode::isUnsupportedCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isUnsupportedCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: pcpp::HttpResponseLayer::getFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpResponseFirstLine
    signature: HttpResponseFirstLine * getFirstLine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: pcpp::HttpRequestFirstLine::getMethod
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpRequestLayer::HttpMethod
    signature: HttpRequestLayer::HttpMethod getMethod() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: pcpp::HttpRequestFirstLine::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpVersion
    signature: HttpVersion getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: pcpp::HttpRequestFirstLine::getSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: pcpp::HttpRequestFirstLine::isComplete
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isComplete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 634
    functionName: ~HttpRequestFirstLineException() noexcept
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpRequestFirstLineException() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 638
    functionName: pcpp::HttpRequestFirstLine::HttpRequestFirstLineException::setMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMessage(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/header/HttpLayer.h:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: pcpp::HttpRequestFirstLine::HttpRequestFirstLineException::what
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: pcpp::getStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpResponseStatusCode
    signature: HttpResponseStatusCode getStatusCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionName: pcpp::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpVersion
    signature: HttpVersion getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 735
    functionName: pcpp::getSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: pcpp::isComplete
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isComplete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 755
    functionName: ~HttpResponseFirstLineException() noexcept
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpResponseFirstLineException() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 759
    functionName: pcpp::HttpResponseFirstLineException::setMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMessage(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/header/HttpLayer.h:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: pcpp::HttpResponseFirstLineException::what
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: pcpp::CotpLayer::CotpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CotpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~CotpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CotpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: pcpp::CotpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: pcpp::CotpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pcpp::CotpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<cotphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/CotpLayer.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: pcpp::CotpLayer::getCotpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
    functionUses: 14
    functionsReached:
    - reinterpret_cast<cotphdr*>
    linkageType: ''
    returnType: cotphdr
    signature: cotphdr * getCotpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: pcpp::CotpLayer::CotpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CotpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~CotpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CotpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: pcpp::CotpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: pcpp::CotpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pcpp::CotpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<cotphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/CotpLayer.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: pcpp::CotpLayer::getCotpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
    functionUses: 14
    functionsReached:
    - reinterpret_cast<cotphdr*>
    linkageType: ''
    returnType: cotphdr
    signature: cotphdr * getCotpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ssl_tls_record_layer*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: pcpp::SSLLayer::getRecordLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<ssl_tls_record_layer*>
    linkageType: ''
    returnType: ssl_tls_record_layer
    signature: ssl_tls_record_layer * getRecordLayer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: pcpp::SSLLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: pcpp::SSLLayer::SSLLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: pcpp::SSLHandshakeLayer::getHandshakeMessagesCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t getHandshakeMessagesCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: pcpp::SSLHandshakeLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: pcpp::SSLChangeCipherSpecLayer::SSLChangeCipherSpecLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLChangeCipherSpecLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: ~SSLChangeCipherSpecLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLChangeCipherSpecLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: pcpp::SSLChangeCipherSpecLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: pcpp::SSLAlertLayer::SSLAlertLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLAlertLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 393
    functionName: ~SSLAlertLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLAlertLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: pcpp::SSLAlertLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: pcpp::SSLApplicationDataLayer::SSLApplicationDataLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLApplicationDataLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 425
    functionName: ~SSLApplicationDataLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLApplicationDataLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    functionName: pcpp::SSLApplicationDataLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:445,1
    - Dst: const_cast<SSLHandshakeMessage*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:448,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:448,1
    - Dst: dynamic_cast<THandshakeMessage*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 455
    functionName: pcpp::SSLHandshakeLayer::getHandshakeMessageOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<THandshakeMessage*>
    - at
    - const_cast<SSLHandshakeMessage*>
    - size
    linkageType: ''
    returnType: THandshakeMessage
    signature: THandshakeMessage * SSLHandshakeLayer::getHandshakeMessageOfType()
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:460,1
    - Dst: const_cast<SSLHandshakeMessage*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:466,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:466,1
    - Dst: const_cast<SSLHandshakeMessage*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:477,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:477,1
    - Dst: dynamic_cast<THandshakeMessage*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - after
    argTypes:
    - SSLHandshakeMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 484
    functionName: pcpp::SSLHandshakeLayer::getNextHandshakeMessageOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<THandshakeMessage*>
    - at
    - const_cast<SSLHandshakeMessage*>
    - size
    linkageType: ''
    returnType: THandshakeMessage
    signature: THandshakeMessage * SSLHandshakeLayer::getNextHandshakeMessageOfType(const
      SSLHandshakeMessage* after) const
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 511
    functionName: pcpp::SSLLayer::isSSLPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SSLLayer::isSSLPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ssl_tls_record_layer*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: pcpp::SSLLayer::getRecordLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<ssl_tls_record_layer*>
    linkageType: ''
    returnType: ssl_tls_record_layer
    signature: ssl_tls_record_layer * getRecordLayer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: pcpp::SSLLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: pcpp::SSLLayer::SSLLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: pcpp::SSLHandshakeLayer::getHandshakeMessagesCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t getHandshakeMessagesCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: pcpp::SSLHandshakeLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: pcpp::SSLChangeCipherSpecLayer::SSLChangeCipherSpecLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLChangeCipherSpecLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: ~SSLChangeCipherSpecLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLChangeCipherSpecLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: pcpp::SSLChangeCipherSpecLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: pcpp::SSLAlertLayer::SSLAlertLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLAlertLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 393
    functionName: ~SSLAlertLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLAlertLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: pcpp::SSLAlertLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: pcpp::SSLApplicationDataLayer::SSLApplicationDataLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLApplicationDataLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 425
    functionName: ~SSLApplicationDataLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLApplicationDataLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    functionName: pcpp::SSLApplicationDataLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:445,1
    - Dst: const_cast<SSLHandshakeMessage*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:448,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:448,1
    - Dst: dynamic_cast<THandshakeMessage*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 455
    functionName: pcpp::SSLHandshakeLayer::getHandshakeMessageOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<THandshakeMessage*>
    - at
    - const_cast<SSLHandshakeMessage*>
    - size
    linkageType: ''
    returnType: THandshakeMessage
    signature: THandshakeMessage * SSLHandshakeLayer::getHandshakeMessageOfType()
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:460,1
    - Dst: const_cast<SSLHandshakeMessage*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:466,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:466,1
    - Dst: const_cast<SSLHandshakeMessage*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:477,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:477,1
    - Dst: dynamic_cast<THandshakeMessage*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLLayer.h:478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - after
    argTypes:
    - SSLHandshakeMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 484
    functionName: pcpp::SSLHandshakeLayer::getNextHandshakeMessageOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<THandshakeMessage*>
    - at
    - const_cast<SSLHandshakeMessage*>
    - size
    linkageType: ''
    returnType: THandshakeMessage
    signature: THandshakeMessage * SSLHandshakeLayer::getNextHandshakeMessageOfType(const
      SSLHandshakeMessage* after) const
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 511
    functionName: pcpp::SSLLayer::isSSLPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SSLLayer::isSSLPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: ~GtpV1Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GtpV1Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: pcpp::GtpV1Layer::GtpV1Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<gtpv1_header*>
      Src: /src/PcapPlusPlus/Packet++/header/GtpLayer.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: pcpp::GtpV1Layer::getHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 30
    functionsReached:
    - reinterpret_cast<gtpv1_header*>
    linkageType: ''
    returnType: gtpv1_header
    signature: gtpv1_header * getHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: pcpp::GtpV1Layer::isGTPv1Port
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGTPv1Port(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: pcpp::GtpV1Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 590
    functionName: pcpp::GtpV2MessageType::GtpV2MessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV2MessageType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 596
    functionName: pcpp::GtpV2MessageType::GtpV2MessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV2MessageType(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 611
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - infoElementRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 918
    functionName: pcpp::GtpV2InformationElement::GtpV2InformationElement
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV2InformationElement(uint8_t* infoElementRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 920
    functionName: ~GtpV2InformationElement() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GtpV2InformationElement() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: pcpp::GtpV2InformationElement::getValueOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getValueOffset() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 972
    functionName: ~GtpV2Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GtpV2Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 981
    functionName: pcpp::GtpV2Layer::GtpV2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 999
    functionName: pcpp::GtpV2Layer::isGTPv2Port
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGTPv2Port(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1115
    functionName: pcpp::GtpV2Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<gtpv2_basic_header*>
      Src: /src/PcapPlusPlus/Packet++/header/GtpLayer.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1136
    functionName: pcpp::GtpV2Layer::getHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 38
    functionsReached:
    - reinterpret_cast<gtpv2_basic_header*>
    linkageType: ''
    returnType: gtpv2_basic_header
    signature: gtpv2_basic_header * getHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: ~GtpV1Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GtpV1Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: pcpp::GtpV1Layer::GtpV1Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV1Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<gtpv1_header*>
      Src: /src/PcapPlusPlus/Packet++/header/GtpLayer.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: pcpp::GtpV1Layer::getHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 30
    functionsReached:
    - reinterpret_cast<gtpv1_header*>
    linkageType: ''
    returnType: gtpv1_header
    signature: gtpv1_header * getHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: pcpp::GtpV1Layer::isGTPv1Port
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGTPv1Port(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: pcpp::GtpV1Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 590
    functionName: pcpp::GtpV2MessageType::GtpV2MessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV2MessageType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 596
    functionName: pcpp::GtpV2MessageType::GtpV2MessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV2MessageType(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 611
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - infoElementRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 918
    functionName: pcpp::GtpV2InformationElement::GtpV2InformationElement
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV2InformationElement(uint8_t* infoElementRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 920
    functionName: ~GtpV2InformationElement() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GtpV2InformationElement() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: pcpp::GtpV2InformationElement::getValueOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getValueOffset() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 972
    functionName: ~GtpV2Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GtpV2Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 981
    functionName: pcpp::GtpV2Layer::GtpV2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GtpV2Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 999
    functionName: pcpp::GtpV2Layer::isGTPv2Port
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isGTPv2Port(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1115
    functionName: pcpp::GtpV2Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<gtpv2_basic_header*>
      Src: /src/PcapPlusPlus/Packet++/header/GtpLayer.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1136
    functionName: pcpp::GtpV2Layer::getHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    functionUses: 38
    functionsReached:
    - reinterpret_cast<gtpv2_basic_header*>
    linkageType: ''
    returnType: gtpv2_basic_header
    signature: gtpv2_basic_header * getHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~IDataContainer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IDataContainer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - packet
    - managed
    argTypes:
    - Packet*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: pcpp::internal::attachPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void attachPacket(Packet* packet, bool managed, bool force = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: pcpp::internal::detach
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void detach()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - packet
    - managed
    argTypes:
    - Packet*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: pcpp::internal::attachPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void attachPacket(Packet* packet, bool managed, bool force = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: pcpp::internal::detach
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void detach()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pcpp::Layer::getNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Layer
    signature: Layer * getNextLayer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: pcpp::Layer::getPrevLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Layer
    signature: Layer * getPrevLayer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: pcpp::Layer::getProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProtocolType
    signature: ProtocolType getProtocol() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: pcpp::Layer::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: pcpp::Layer::getDataLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getDataLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: pcpp::Layer::getLayerPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached:
    - getHeaderLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getLayerPayload() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: pcpp::Layer::getLayerPayloadSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached:
    - getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t getLayerPayloadSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pcpp::Layer::isAllocatedToPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isAllocatedToPacket() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: pcpp::Layer::getDataPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getDataPtr(size_t offset = 0) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: pcpp::Layer::Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Layer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: pcpp::Layer::Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, ProtocolType protocol = UnknownProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: pcpp::Layer::getAttachedPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Packet
    signature: Packet * getAttachedPacket()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: pcpp::Layer::getAttachedPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Packet
    signature: Packet * getAttachedPacket() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nextLayer
    argTypes:
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: pcpp::Layer::setNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setNextLayer(Layer* nextLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prevLayer
    argTypes:
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: pcpp::Layer::setPrevLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPrevLayer(Layer* prevLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: pcpp::Layer::hasNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasNextLayer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::constructNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:316,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:316,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: pcpp::Layer::constructNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 1
    functionsReached:
    - pcpp::Layer::constructNextLayer
    - std::forward<Args>
    - pcpp::Layer::getAttachedPacket
    linkageType: ''
    returnType: Layer
    signature: Layer * constructNextLayer(uint8_t* data, size_t dataLen, Args&&...
      extraArgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:330,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:332,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:335,1
    - Dst: T::T
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:335,1
    - Dst: pcpp::Layer::setNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: pcpp::Layer::constructNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 1
    functionsReached:
    - std::forward<Args>
    - pcpp::Layer::setNextLayer
    - T::T
    - std::runtime_error
    - pcpp::Layer::hasNextLayer
    linkageType: ''
    returnType: Layer
    signature: Layer * constructNextLayer(uint8_t* data, size_t dataLen, Packet* packet,
      Args&&... extraArgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:360,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:360,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - factoryFn
    - data
    - dataLen
    argTypes:
    - TFactory
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: pcpp::Layer::constructNextLayerFromFactory
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 1
    functionsReached:
    - std::forward<Args>
    - pcpp::Layer::getAttachedPacket
    - pcpp::Layer::constructNextLayerFromFactory
    linkageType: ''
    returnType: Layer
    signature: Layer * constructNextLayerFromFactory(TFactory factoryFn, uint8_t*
      data, size_t dataLen, Args&&... extraArgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:384,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:386,1
    - Dst: factoryFn
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:390,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:390,1
    - Dst: pcpp::Layer::setNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - factoryFn
    - data
    - dataLen
    - packet
    argTypes:
    - TFactory
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 393
    functionName: pcpp::Layer::constructNextLayerFromFactory
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 1
    functionsReached:
    - std::forward<Args>
    - factoryFn
    - pcpp::Layer::setNextLayer
    - std::runtime_error
    - pcpp::Layer::hasNextLayer
    linkageType: ''
    returnType: Layer
    signature: "Layer * constructNextLayerFromFactory(TFactory factoryFn, uint8_t*
      data, size_t dataLen, Packet* packet,\n\t\t                                     Args&&...
      extraArgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::tryConstructNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:411,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:411,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: pcpp::Layer::tryConstructNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 1
    functionsReached:
    - std::forward<Args>
    - pcpp::Layer::tryConstructNextLayer
    - pcpp::Layer::getAttachedPacket
    linkageType: ''
    returnType: Layer
    signature: Layer * tryConstructNextLayer(uint8_t* data, size_t dataLen, Args&&...
      extraArgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WireGuardLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:429,1
    - Dst: pcpp::Layer::constructNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:431,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 434
    functionName: pcpp::Layer::tryConstructNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 1
    functionsReached:
    - pcpp::Layer::constructNextLayer
    - std::forward<Args>
    - pcpp::WireGuardLayer::isDataValid
    linkageType: ''
    returnType: Layer
    signature: Layer * tryConstructNextLayer(uint8_t* data, size_t dataLen, Packet*
      packet, Args&&... extraArgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::tryConstructNextLayerWithFallback
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:455,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:455,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 457
    functionName: pcpp::Layer::tryConstructNextLayerWithFallback
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 1
    functionsReached:
    - std::forward<Args>
    - pcpp::Layer::tryConstructNextLayerWithFallback
    - pcpp::Layer::getAttachedPacket
    linkageType: ''
    returnType: Layer
    signature: Layer * tryConstructNextLayerWithFallback(uint8_t* data, size_t dataLen,
      Args&&... extraArgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::tryConstructNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:477,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:477,1
    - Dst: pcpp::Layer::constructNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: pcpp::Layer::tryConstructNextLayerWithFallback
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 1
    functionsReached:
    - pcpp::Layer::constructNextLayer
    - std::forward<Args>
    - pcpp::Layer::tryConstructNextLayer
    linkageType: ''
    returnType: Layer
    signature: Layer * tryConstructNextLayerWithFallback(uint8_t* data, size_t dataLen,
      Packet* packet, Args&&... extraArgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::tryConstructNextLayerFromFactoryWithFallback
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:511,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:512,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - factoryFn
    - data
    - dataLen
    argTypes:
    - TFactory
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 513
    functionName: pcpp::Layer::tryConstructNextLayerFromFactoryWithFallback
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 1
    functionsReached:
    - std::forward<Args>
    - pcpp::Layer::tryConstructNextLayerFromFactoryWithFallback
    - pcpp::Layer::getAttachedPacket
    linkageType: ''
    returnType: Layer
    signature: "Layer * tryConstructNextLayerFromFactoryWithFallback(TFactory factoryFn,
      uint8_t* data, size_t dataLen,\n\t\t                                                    Args&&...
      extraArgs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:539,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:540,1
    - Dst: pcpp::Layer::constructNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - factoryFn
    - data
    - dataLen
    - packet
    argTypes:
    - TFactory
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 548
    functionName: pcpp::Layer::tryConstructNextLayerFromFactoryWithFallback
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 1
    functionsReached:
    - pcpp::Layer::constructNextLayer
    - std::forward<Args>
    - pcpp::Layer::constructNextLayerFromFactory
    linkageType: ''
    returnType: Layer
    signature: "Layer * tryConstructNextLayerFromFactoryWithFallback(TFactory factoryFn,
      uint8_t* data, size_t dataLen,\n\t\t                                                    Packet*
      packet, Args&&... extraArgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: pcpp::Layer::canReinterpretAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canReinterpretAs(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' layer'
    argTypes:
    - std::ostream
    - pcpp::Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: '& operator<<(std::ostream& os, const pcpp::Layer& layer)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const pcpp::Layer& layer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~IDataContainer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IDataContainer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - packet
    - managed
    argTypes:
    - Packet*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: pcpp::internal::attachPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void attachPacket(Packet* packet, bool managed, bool force = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: pcpp::internal::detach
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void detach()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - packet
    - managed
    argTypes:
    - Packet*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: pcpp::internal::attachPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void attachPacket(Packet* packet, bool managed, bool force = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: pcpp::internal::detach
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void detach()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: pcpp::Layer::getNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Layer
    signature: Layer * getNextLayer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: pcpp::Layer::getPrevLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Layer
    signature: Layer * getPrevLayer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: pcpp::Layer::getProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProtocolType
    signature: ProtocolType getProtocol() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: pcpp::Layer::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: pcpp::Layer::getDataLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getDataLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: pcpp::Layer::getLayerPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached:
    - getHeaderLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getLayerPayload() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: pcpp::Layer::getLayerPayloadSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached:
    - getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t getLayerPayloadSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pcpp::Layer::isAllocatedToPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isAllocatedToPacket() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: pcpp::Layer::getDataPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getDataPtr(size_t offset = 0) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: pcpp::Layer::Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Layer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: pcpp::Layer::Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, ProtocolType protocol = UnknownProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: pcpp::Layer::getAttachedPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Packet
    signature: Packet * getAttachedPacket()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: pcpp::Layer::getAttachedPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: Packet
    signature: Packet * getAttachedPacket() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nextLayer
    argTypes:
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: pcpp::Layer::setNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setNextLayer(Layer* nextLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prevLayer
    argTypes:
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: pcpp::Layer::setPrevLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setPrevLayer(Layer* prevLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: pcpp::Layer::hasNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hasNextLayer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::constructNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:316,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:316,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: pcpp::Layer::constructNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 5
    functionsReached:
    - pcpp::Layer::constructNextLayer
    - std::forward<Args>
    - pcpp::Layer::getAttachedPacket
    linkageType: ''
    returnType: Layer
    signature: Layer * constructNextLayer(uint8_t* data, size_t dataLen, Args&&...
      extraArgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:330,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:332,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:335,1
    - Dst: T::T
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:335,1
    - Dst: pcpp::Layer::setNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: pcpp::Layer::constructNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 5
    functionsReached:
    - std::forward<Args>
    - pcpp::Layer::setNextLayer
    - T::T
    - std::runtime_error
    - pcpp::Layer::hasNextLayer
    linkageType: ''
    returnType: Layer
    signature: Layer * constructNextLayer(uint8_t* data, size_t dataLen, Packet* packet,
      Args&&... extraArgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:360,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:360,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - factoryFn
    - data
    - dataLen
    argTypes:
    - TFactory
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: pcpp::Layer::constructNextLayerFromFactory
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 3
    functionsReached:
    - std::forward<Args>
    - pcpp::Layer::getAttachedPacket
    - pcpp::Layer::constructNextLayerFromFactory
    linkageType: ''
    returnType: Layer
    signature: Layer * constructNextLayerFromFactory(TFactory factoryFn, uint8_t*
      data, size_t dataLen, Args&&... extraArgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::hasNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:384,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:386,1
    - Dst: factoryFn
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:390,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:390,1
    - Dst: pcpp::Layer::setNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - factoryFn
    - data
    - dataLen
    - packet
    argTypes:
    - TFactory
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 393
    functionName: pcpp::Layer::constructNextLayerFromFactory
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 3
    functionsReached:
    - std::forward<Args>
    - factoryFn
    - pcpp::Layer::setNextLayer
    - std::runtime_error
    - pcpp::Layer::hasNextLayer
    linkageType: ''
    returnType: Layer
    signature: "Layer * constructNextLayerFromFactory(TFactory factoryFn, uint8_t*
      data, size_t dataLen, Packet* packet,\n\t\t                                     Args&&...
      extraArgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::tryConstructNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:411,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:411,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: pcpp::Layer::tryConstructNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 3
    functionsReached:
    - std::forward<Args>
    - pcpp::Layer::tryConstructNextLayer
    - pcpp::Layer::getAttachedPacket
    linkageType: ''
    returnType: Layer
    signature: Layer * tryConstructNextLayer(uint8_t* data, size_t dataLen, Args&&...
      extraArgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WireGuardLayer::isDataValid
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:429,1
    - Dst: pcpp::Layer::constructNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:431,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 434
    functionName: pcpp::Layer::tryConstructNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 3
    functionsReached:
    - pcpp::Layer::constructNextLayer
    - std::forward<Args>
    - pcpp::WireGuardLayer::isDataValid
    linkageType: ''
    returnType: Layer
    signature: Layer * tryConstructNextLayer(uint8_t* data, size_t dataLen, Packet*
      packet, Args&&... extraArgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::tryConstructNextLayerWithFallback
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:455,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:455,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 457
    functionName: pcpp::Layer::tryConstructNextLayerWithFallback
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 2
    functionsReached:
    - std::forward<Args>
    - pcpp::Layer::tryConstructNextLayerWithFallback
    - pcpp::Layer::getAttachedPacket
    linkageType: ''
    returnType: Layer
    signature: Layer * tryConstructNextLayerWithFallback(uint8_t* data, size_t dataLen,
      Args&&... extraArgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::tryConstructNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:477,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:477,1
    - Dst: pcpp::Layer::constructNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: pcpp::Layer::tryConstructNextLayerWithFallback
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 2
    functionsReached:
    - pcpp::Layer::constructNextLayer
    - std::forward<Args>
    - pcpp::Layer::tryConstructNextLayer
    linkageType: ''
    returnType: Layer
    signature: Layer * tryConstructNextLayerWithFallback(uint8_t* data, size_t dataLen,
      Packet* packet, Args&&... extraArgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::tryConstructNextLayerFromFactoryWithFallback
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:511,1
    - Dst: pcpp::Layer::getAttachedPacket
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:512,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - factoryFn
    - data
    - dataLen
    argTypes:
    - TFactory
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 513
    functionName: pcpp::Layer::tryConstructNextLayerFromFactoryWithFallback
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 2
    functionsReached:
    - std::forward<Args>
    - pcpp::Layer::tryConstructNextLayerFromFactoryWithFallback
    - pcpp::Layer::getAttachedPacket
    linkageType: ''
    returnType: Layer
    signature: "Layer * tryConstructNextLayerFromFactoryWithFallback(TFactory factoryFn,
      uint8_t* data, size_t dataLen,\n\t\t                                                    Args&&...
      extraArgs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Layer::constructNextLayerFromFactory
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:539,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:540,1
    - Dst: pcpp::Layer::constructNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - factoryFn
    - data
    - dataLen
    - packet
    argTypes:
    - TFactory
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 548
    functionName: pcpp::Layer::tryConstructNextLayerFromFactoryWithFallback
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 2
    functionsReached:
    - pcpp::Layer::constructNextLayer
    - std::forward<Args>
    - pcpp::Layer::constructNextLayerFromFactory
    linkageType: ''
    returnType: Layer
    signature: "Layer * tryConstructNextLayerFromFactoryWithFallback(TFactory factoryFn,
      uint8_t* data, size_t dataLen,\n\t\t                                                    Packet*
      packet, Args&&... extraArgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: pcpp::Layer::canReinterpretAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canReinterpretAs(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/Layer.h:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' layer'
    argTypes:
    - std::ostream
    - pcpp::Layer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: '& operator<<(std::ostream& os, const pcpp::Layer& layer)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Layer.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const pcpp::Layer& layer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::IDnsResource::getNextResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IDnsResource
    signature: IDnsResource * getNextResource() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - next
    argTypes:
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: pcpp::IDnsResource::setNextResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setNextResource(IDnsResource* next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ~IDnsResource()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IDnsResource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '& getName() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: pcpp::IDnsResource::getNameOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getNameOffset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - dnsLayer
    - offsetInLayer
    argTypes:
    - DnsLayer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: pcpp::DnsQuery::DnsQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsQuery(DnsLayer* dnsLayer, size_t offsetInLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - emptyRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: pcpp::DnsQuery::DnsQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsQuery(uint8_t* emptyRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: ~DnsQuery() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DnsQuery() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: pcpp::DnsQuery::getSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: pcpp::DnsQuery::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DnsResourceType
    signature: DnsResourceType getType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dnsLayer
    - offsetInLayer
    - resourceType
    argTypes:
    - DnsLayer*
    - size_t
    - DnsResourceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: pcpp::DnsResource::DnsResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsResource(DnsLayer* dnsLayer, size_t offsetInLayer, DnsResourceType
      resourceType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - emptyRawData
    - resType
    argTypes:
    - uint8_t*
    - DnsResourceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: pcpp::DnsResource::DnsResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsResource(uint8_t* emptyRawData, DnsResourceType resType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: ~DnsResource() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DnsResource() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsResource::getDataLength
      Src: /src/PcapPlusPlus/Packet++/header/DnsResource.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: pcpp::DnsResource::getSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached:
    - pcpp::DnsResource::getDataLength
    linkageType: ''
    returnType: size_t
    signature: size_t getSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: pcpp::DnsResource::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DnsResourceType
    signature: DnsResourceType getType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::IDnsResource::getNextResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IDnsResource
    signature: IDnsResource * getNextResource() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - next
    argTypes:
    - IDnsResource*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: pcpp::IDnsResource::setNextResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setNextResource(IDnsResource* next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ~IDnsResource()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IDnsResource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: '& getName() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & getName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: pcpp::IDnsResource::getNameOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getNameOffset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - dnsLayer
    - offsetInLayer
    argTypes:
    - DnsLayer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: pcpp::DnsQuery::DnsQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsQuery(DnsLayer* dnsLayer, size_t offsetInLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - emptyRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: pcpp::DnsQuery::DnsQuery
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsQuery(uint8_t* emptyRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: ~DnsQuery() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DnsQuery() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: pcpp::DnsQuery::getSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: pcpp::DnsQuery::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DnsResourceType
    signature: DnsResourceType getType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dnsLayer
    - offsetInLayer
    - resourceType
    argTypes:
    - DnsLayer*
    - size_t
    - DnsResourceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: pcpp::DnsResource::DnsResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsResource(DnsLayer* dnsLayer, size_t offsetInLayer, DnsResourceType
      resourceType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - emptyRawData
    - resType
    argTypes:
    - uint8_t*
    - DnsResourceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: pcpp::DnsResource::DnsResource
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsResource(uint8_t* emptyRawData, DnsResourceType resType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: ~DnsResource() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DnsResource() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsResource::getDataLength
      Src: /src/PcapPlusPlus/Packet++/header/DnsResource.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: pcpp::DnsResource::getSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached:
    - pcpp::DnsResource::getDataLength
    linkageType: ''
    returnType: size_t
    signature: size_t getSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: pcpp::DnsResource::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResource.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DnsResourceType
    signature: DnsResourceType getType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ~PPPoELayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PPPoELayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pppoe_header*>
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: pcpp::PPPoELayer::getPPPoEHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<pppoe_header*>
    linkageType: ''
    returnType: pppoe_header
    signature: pppoe_header * getPPPoEHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: pcpp::PPPoELayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - protocol
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: pcpp::PPPoELayer::PPPoELayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PPPoELayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, ProtocolType protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: pcpp::PPPoESessionLayer::PPPoESessionLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PPPoESessionLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoESessionLayer::setPPPNextProtocol
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - version
    - type
    - sessionId
    - pppNextProtocol
    argTypes:
    - uint8_t
    - uint8_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: pcpp::PPPoESessionLayer::PPPoESessionLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached:
    - pcpp::PPPoESessionLayer::setPPPNextProtocol
    linkageType: ''
    returnType: void
    signature: void PPPoESessionLayer(uint8_t version, uint8_t type, uint16_t sessionId,
      uint16_t pppNextProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~PPPoESessionLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PPPoESessionLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: pcpp::PPPoESessionLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tagRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: pcpp::PPPoEDiscoveryLayer::PPPoETag::PPPoETag
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PPPoETag(uint8_t* tagRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: ~PPPoETag() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PPPoETag() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDataSize
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:229,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:233,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: pcpp::PPPoEDiscoveryLayer::PPPoETag::getValueAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached:
    - getDataSize
    - string
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string getValueAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tagType
    argTypes:
    - PPPoETagTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void PPPoETagBuilder(PPPoETagTypes tagType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - tagType
    - tagValue
    argTypes:
    - PPPoETagTypes
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void PPPoETagBuilder(PPPoETagTypes tagType, uint32_t tagValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - tagType
    - tagValue
    - tagValueLen
    argTypes:
    - PPPoETagTypes
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void PPPoETagBuilder(PPPoETagTypes tagType, uint8_t* tagValue, uint8_t
      tagValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoEDiscoveryLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: pcpp::PPPoEDiscoveryLayer::PPPoEDiscoveryLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached:
    - pcpp::PPPoEDiscoveryLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void PPPoEDiscoveryLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - version
    - type
    - code
    - sessionId
    argTypes:
    - uint8_t
    - uint8_t
    - PPPoELayer::PPPoECode
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: pcpp::PPPoEDiscoveryLayer::PPPoEDiscoveryLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PPPoEDiscoveryLayer(uint8_t version, uint8_t type, PPPoELayer::PPPoECode
      code, uint16_t sessionId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: pcpp::PPPoEDiscoveryLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoEDiscoveryLayer::codeToString
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:361,1
    - Dst: getPPPoEHeader
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: pcpp::PPPoEDiscoveryLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached:
    - getPPPoEHeader
    - pcpp::PPPoEDiscoveryLayer::codeToString
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: pcpp::PPPoEDiscoveryLayer::getTagBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getTagBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pcpp::PPPoESessionLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PPPoESessionLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: pcpp::PPPoEDiscoveryLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PPPoEDiscoveryLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ~PPPoELayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PPPoELayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<pppoe_header*>
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: pcpp::PPPoELayer::getPPPoEHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<pppoe_header*>
    linkageType: ''
    returnType: pppoe_header
    signature: pppoe_header * getPPPoEHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: pcpp::PPPoELayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - protocol
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: pcpp::PPPoELayer::PPPoELayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PPPoELayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, ProtocolType protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: pcpp::PPPoESessionLayer::PPPoESessionLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PPPoESessionLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoESessionLayer::setPPPNextProtocol
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - version
    - type
    - sessionId
    - pppNextProtocol
    argTypes:
    - uint8_t
    - uint8_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: pcpp::PPPoESessionLayer::PPPoESessionLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached:
    - pcpp::PPPoESessionLayer::setPPPNextProtocol
    linkageType: ''
    returnType: void
    signature: void PPPoESessionLayer(uint8_t version, uint8_t type, uint16_t sessionId,
      uint16_t pppNextProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: ~PPPoESessionLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PPPoESessionLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: pcpp::PPPoESessionLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tagRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: pcpp::PPPoEDiscoveryLayer::PPPoETag::PPPoETag
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PPPoETag(uint8_t* tagRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: ~PPPoETag() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PPPoETag() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDataSize
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:229,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:233,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: pcpp::PPPoEDiscoveryLayer::PPPoETag::getValueAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached:
    - getDataSize
    - string
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string getValueAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tagType
    argTypes:
    - PPPoETagTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void PPPoETagBuilder(PPPoETagTypes tagType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - tagType
    - tagValue
    argTypes:
    - PPPoETagTypes
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void PPPoETagBuilder(PPPoETagTypes tagType, uint32_t tagValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - tagType
    - tagValue
    - tagValueLen
    argTypes:
    - PPPoETagTypes
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void PPPoETagBuilder(PPPoETagTypes tagType, uint8_t* tagValue, uint8_t
      tagValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoEDiscoveryLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: pcpp::PPPoEDiscoveryLayer::PPPoEDiscoveryLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached:
    - pcpp::PPPoEDiscoveryLayer::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void PPPoEDiscoveryLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - version
    - type
    - code
    - sessionId
    argTypes:
    - uint8_t
    - uint8_t
    - PPPoELayer::PPPoECode
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: pcpp::PPPoEDiscoveryLayer::PPPoEDiscoveryLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PPPoEDiscoveryLayer(uint8_t version, uint8_t type, PPPoELayer::PPPoECode
      code, uint16_t sessionId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: pcpp::PPPoEDiscoveryLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PPPoEDiscoveryLayer::codeToString
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:361,1
    - Dst: getPPPoEHeader
      Src: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: pcpp::PPPoEDiscoveryLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached:
    - getPPPoEHeader
    - pcpp::PPPoEDiscoveryLayer::codeToString
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: pcpp::PPPoEDiscoveryLayer::getTagBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getTagBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pcpp::PPPoESessionLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PPPoESessionLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: pcpp::PPPoEDiscoveryLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PPPoEDiscoveryLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~PacketKey()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PacketKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: pcpp::IPReassembly::PacketKey::PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PacketKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: pcpp::IPReassembly::PacketKey::PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketKey(const PacketKey& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: pcpp::IPReassembly::IPv4PacketKey::IPv4PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4PacketKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ipid
    - srcip
    - dstip
    argTypes:
    - uint16_t
    - IPv4Address
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: pcpp::IPReassembly::IPv4PacketKey::IPv4PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4PacketKey(uint16_t ipid, IPv4Address srcip, IPv4Address dstip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4PacketKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: pcpp::IPReassembly::IPv4PacketKey::IPv4PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4PacketKey(const IPv4PacketKey& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4PacketKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: '& operator=(const IPv4PacketKey& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4PacketKey
    signature: IPv4PacketKey & operator=(const IPv4PacketKey& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: pcpp::IPReassembly::IPv4PacketKey::getIpID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getIpID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: pcpp::IPReassembly::IPv4PacketKey::getSrcIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getSrcIP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: pcpp::IPReassembly::IPv4PacketKey::getDstIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getDstIP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ipID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: pcpp::IPReassembly::IPv4PacketKey::setIpID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIpID(uint16_t ipID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' srcIP'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: pcpp::IPReassembly::IPv4PacketKey::setSrcIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSrcIP(const IPv4Address& srcIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dstIP'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: pcpp::IPReassembly::IPv4PacketKey::setDstIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDstIP(const IPv4Address& dstIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: pcpp::IPReassembly::IPv4PacketKey::getProtocolType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProtocolType
    signature: ProtocolType getProtocolType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4PacketKey::IPv4PacketKey
      Src: /src/PcapPlusPlus/Packet++/header/IPReassembly.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: pcpp::IPReassembly::IPv4PacketKey::clone
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached:
    - IPv4PacketKey::IPv4PacketKey
    linkageType: ''
    returnType: PacketKey
    signature: PacketKey * clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: pcpp::IPReassembly::IPv6PacketKey::IPv6PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6PacketKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - fragmentID
    - srcip
    - dstip
    argTypes:
    - uint32_t
    - IPv6Address
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: pcpp::IPReassembly::IPv6PacketKey::IPv6PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6PacketKey(uint32_t fragmentID, IPv6Address srcip, IPv6Address
      dstip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6PacketKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: pcpp::IPReassembly::IPv6PacketKey::IPv6PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6PacketKey(const IPv6PacketKey& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6PacketKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: '& operator=(const IPv6PacketKey& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6PacketKey
    signature: IPv6PacketKey & operator=(const IPv6PacketKey& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: pcpp::IPReassembly::IPv6PacketKey::getFragmentID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getFragmentID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: pcpp::IPReassembly::IPv6PacketKey::getSrcIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getSrcIP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: pcpp::IPReassembly::IPv6PacketKey::getDstIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getDstIP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fragID
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: pcpp::IPReassembly::IPv6PacketKey::setFragmentID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFragmentID(uint32_t fragID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' srcIP'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: pcpp::IPReassembly::IPv6PacketKey::setSrcIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSrcIP(const IPv6Address& srcIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dstIP'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: pcpp::IPReassembly::IPv6PacketKey::setDstIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDstIP(const IPv6Address& dstIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: pcpp::IPReassembly::IPv6PacketKey::getProtocolType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProtocolType
    signature: ProtocolType getProtocolType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6PacketKey::IPv6PacketKey
      Src: /src/PcapPlusPlus/Packet++/header/IPReassembly.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: pcpp::IPReassembly::IPv6PacketKey::clone
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached:
    - IPv6PacketKey::IPv6PacketKey
    linkageType: ''
    returnType: PacketKey
    signature: PacketKey * clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: pcpp::IPReassembly::IPReassembly
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IPReassembly(OnFragmentsClean onFragmentsCleanCallback = nullptr,
      void* callbackUserCookie = nullptr,\n\t\t                      size_t maxPacketsToStore
      = PCPP_IP_REASSEMBLY_DEFAULT_MAX_PACKETS_TO_STORE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMaxSize
      Src: /src/PcapPlusPlus/Packet++/header/IPReassembly.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: pcpp::IPReassembly::getMaxCapacity
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached:
    - getMaxSize
    linkageType: ''
    returnType: size_t
    signature: size_t getMaxCapacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/header/IPReassembly.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: pcpp::IPReassembly::getCurrentCapacity
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t getCurrentCapacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: pcpp::IPReassembly::IPFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPFragment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: ~IPFragment()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IPFragment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pktKey
    - fragId
    argTypes:
    - PacketKey*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 467
    functionName: pcpp::IPReassembly::IPFragmentData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPFragmentData(PacketKey* pktKey, uint32_t fragId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 475
    functionName: ~IPFragmentData()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IPFragmentData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ~PacketKey()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PacketKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: pcpp::IPReassembly::PacketKey::PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PacketKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: pcpp::IPReassembly::PacketKey::PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketKey(const PacketKey& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: pcpp::IPReassembly::IPv4PacketKey::IPv4PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4PacketKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ipid
    - srcip
    - dstip
    argTypes:
    - uint16_t
    - IPv4Address
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: pcpp::IPReassembly::IPv4PacketKey::IPv4PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4PacketKey(uint16_t ipid, IPv4Address srcip, IPv4Address dstip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4PacketKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: pcpp::IPReassembly::IPv4PacketKey::IPv4PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4PacketKey(const IPv4PacketKey& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4PacketKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: '& operator=(const IPv4PacketKey& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4PacketKey
    signature: IPv4PacketKey & operator=(const IPv4PacketKey& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: pcpp::IPReassembly::IPv4PacketKey::getIpID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getIpID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: pcpp::IPReassembly::IPv4PacketKey::getSrcIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getSrcIP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: pcpp::IPReassembly::IPv4PacketKey::getDstIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getDstIP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ipID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: pcpp::IPReassembly::IPv4PacketKey::setIpID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setIpID(uint16_t ipID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' srcIP'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: pcpp::IPReassembly::IPv4PacketKey::setSrcIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSrcIP(const IPv4Address& srcIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dstIP'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: pcpp::IPReassembly::IPv4PacketKey::setDstIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDstIP(const IPv4Address& dstIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: pcpp::IPReassembly::IPv4PacketKey::getProtocolType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProtocolType
    signature: ProtocolType getProtocolType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4PacketKey::IPv4PacketKey
      Src: /src/PcapPlusPlus/Packet++/header/IPReassembly.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: pcpp::IPReassembly::IPv4PacketKey::clone
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached:
    - IPv4PacketKey::IPv4PacketKey
    linkageType: ''
    returnType: PacketKey
    signature: PacketKey * clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: pcpp::IPReassembly::IPv6PacketKey::IPv6PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6PacketKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - fragmentID
    - srcip
    - dstip
    argTypes:
    - uint32_t
    - IPv6Address
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: pcpp::IPReassembly::IPv6PacketKey::IPv6PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6PacketKey(uint32_t fragmentID, IPv6Address srcip, IPv6Address
      dstip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6PacketKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: pcpp::IPReassembly::IPv6PacketKey::IPv6PacketKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6PacketKey(const IPv6PacketKey& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6PacketKey
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: '& operator=(const IPv6PacketKey& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6PacketKey
    signature: IPv6PacketKey & operator=(const IPv6PacketKey& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: pcpp::IPReassembly::IPv6PacketKey::getFragmentID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getFragmentID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: pcpp::IPReassembly::IPv6PacketKey::getSrcIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getSrcIP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: pcpp::IPReassembly::IPv6PacketKey::getDstIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getDstIP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fragID
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: pcpp::IPReassembly::IPv6PacketKey::setFragmentID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFragmentID(uint32_t fragID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' srcIP'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: pcpp::IPReassembly::IPv6PacketKey::setSrcIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setSrcIP(const IPv6Address& srcIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' dstIP'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: pcpp::IPReassembly::IPv6PacketKey::setDstIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDstIP(const IPv6Address& dstIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: pcpp::IPReassembly::IPv6PacketKey::getProtocolType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProtocolType
    signature: ProtocolType getProtocolType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6PacketKey::IPv6PacketKey
      Src: /src/PcapPlusPlus/Packet++/header/IPReassembly.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: pcpp::IPReassembly::IPv6PacketKey::clone
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached:
    - IPv6PacketKey::IPv6PacketKey
    linkageType: ''
    returnType: PacketKey
    signature: PacketKey * clone() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: pcpp::IPReassembly::IPReassembly
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IPReassembly(OnFragmentsClean onFragmentsCleanCallback = nullptr,
      void* callbackUserCookie = nullptr,\n\t\t                      size_t maxPacketsToStore
      = PCPP_IP_REASSEMBLY_DEFAULT_MAX_PACKETS_TO_STORE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getMaxSize
      Src: /src/PcapPlusPlus/Packet++/header/IPReassembly.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: pcpp::IPReassembly::getMaxCapacity
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached:
    - getMaxSize
    linkageType: ''
    returnType: size_t
    signature: size_t getMaxCapacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/header/IPReassembly.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: pcpp::IPReassembly::getCurrentCapacity
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t getCurrentCapacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: pcpp::IPReassembly::IPFragment
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPFragment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: ~IPFragment()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IPFragment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pktKey
    - fragId
    argTypes:
    - PacketKey*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 467
    functionName: pcpp::IPReassembly::IPFragmentData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPFragmentData(PacketKey* pktKey, uint32_t fragId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 475
    functionName: ~IPFragmentData()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IPFragmentData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: pcpp::RawPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawPacket()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: pcpp::getObjectType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getObjectType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: pcpp::getRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getRawData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: pcpp::getLinkLayerType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinkLayerType
    signature: LinkLayerType getLinkLayerType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: pcpp::getRawDataLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getRawDataLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: pcpp::getFrameLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getFrameLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: pcpp::getPacketTimeStamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: timespec
    signature: timespec getPacketTimeStamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: pcpp::isPacketSet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isPacketSet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 312
    functionName: pcpp::RawPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawPacket()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: pcpp::getObjectType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getObjectType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: pcpp::getRawData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getRawData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: pcpp::getLinkLayerType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinkLayerType
    signature: LinkLayerType getLinkLayerType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: pcpp::getRawDataLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getRawDataLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: pcpp::getFrameLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getFrameLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 496
    functionName: pcpp::getPacketTimeStamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: timespec
    signature: timespec getPacketTimeStamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 515
    functionName: pcpp::isPacketSet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isPacketSet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getImplType
      Src: /src/PcapPlusPlus/Packet++/header/RawPacket.h:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: internal::getRawPacketImplementationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached:
    - getImplType
    linkageType: ''
    returnType: RawPacketImplType
    signature: RawPacketImplType getRawPacketImplementationType(RawPacket const& rawPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getImplType
      Src: /src/PcapPlusPlus/Packet++/header/RawPacket.h:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: internal::getRawPacketImplementationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    functionUses: 0
    functionsReached:
    - getImplType
    linkageType: ''
    returnType: RawPacketImplType
    signature: RawPacketImplType getRawPacketImplementationType(RawPacket const& rawPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - portSrc
    - portDst
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: pcpp::SSHLayer::isSSHPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSSHPort(uint16_t portSrc, uint16_t portDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: pcpp::SSHLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: pcpp::SSHLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: pcpp::SSHLayer::SSHLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSHLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: pcpp::SSHIdentificationMessage::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: pcpp::SSHIdentificationMessage::SSHIdentificationMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSHIdentificationMessage(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: pcpp::SSHHandshakeMessage::SSHHandshakeMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSHHandshakeMessage(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ssh_message_base*>
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: pcpp::SSHHandshakeMessage::getMsgBaseHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<ssh_message_base*>
    linkageType: ''
    returnType: ssh_message_base
    signature: ssh_message_base * getMsgBaseHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: pcpp::SSHKeyExchangeInitMessage::getKeyExchangeAlgorithms
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getKeyExchangeAlgorithms()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: pcpp::SSHKeyExchangeInitMessage::getServerHostKeyAlgorithms
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getServerHostKeyAlgorithms()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: pcpp::SSHKeyExchangeInitMessage::getEncryptionAlgorithmsClientToServer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getEncryptionAlgorithmsClientToServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: pcpp::SSHKeyExchangeInitMessage::getEncryptionAlgorithmsServerToClient
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getEncryptionAlgorithmsServerToClient()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: pcpp::SSHKeyExchangeInitMessage::getMacAlgorithmsClientToServer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getMacAlgorithmsClientToServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: pcpp::SSHKeyExchangeInitMessage::getMacAlgorithmsServerToClient
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getMacAlgorithmsServerToClient()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: pcpp::SSHKeyExchangeInitMessage::getCompressionAlgorithmsClientToServer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getCompressionAlgorithmsClientToServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: pcpp::SSHKeyExchangeInitMessage::getCompressionAlgorithmsServerToClient
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getCompressionAlgorithmsServerToClient()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: pcpp::SSHKeyExchangeInitMessage::getLanguagesClientToServer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getLanguagesClientToServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: pcpp::SSHKeyExchangeInitMessage::getLanguagesServerToClient
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getLanguagesServerToClient()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: pcpp::SSHEncryptedMessage::SSHEncryptedMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSHEncryptedMessage(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: pcpp::SSHEncryptedMessage::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - portSrc
    - portDst
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: pcpp::SSHLayer::isSSHPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSSHPort(uint16_t portSrc, uint16_t portDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: pcpp::SSHLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: pcpp::SSHLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: pcpp::SSHLayer::SSHLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSHLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: pcpp::SSHIdentificationMessage::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: pcpp::SSHIdentificationMessage::SSHIdentificationMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSHIdentificationMessage(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: pcpp::SSHHandshakeMessage::SSHHandshakeMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSHHandshakeMessage(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ssh_message_base*>
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: pcpp::SSHHandshakeMessage::getMsgBaseHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<ssh_message_base*>
    linkageType: ''
    returnType: ssh_message_base
    signature: ssh_message_base * getMsgBaseHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: pcpp::SSHKeyExchangeInitMessage::getKeyExchangeAlgorithms
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getKeyExchangeAlgorithms()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: pcpp::SSHKeyExchangeInitMessage::getServerHostKeyAlgorithms
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getServerHostKeyAlgorithms()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: pcpp::SSHKeyExchangeInitMessage::getEncryptionAlgorithmsClientToServer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getEncryptionAlgorithmsClientToServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: pcpp::SSHKeyExchangeInitMessage::getEncryptionAlgorithmsServerToClient
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getEncryptionAlgorithmsServerToClient()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: pcpp::SSHKeyExchangeInitMessage::getMacAlgorithmsClientToServer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getMacAlgorithmsClientToServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: pcpp::SSHKeyExchangeInitMessage::getMacAlgorithmsServerToClient
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getMacAlgorithmsServerToClient()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: pcpp::SSHKeyExchangeInitMessage::getCompressionAlgorithmsClientToServer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getCompressionAlgorithmsClientToServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: pcpp::SSHKeyExchangeInitMessage::getCompressionAlgorithmsServerToClient
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getCompressionAlgorithmsServerToClient()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: pcpp::SSHKeyExchangeInitMessage::getLanguagesClientToServer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getLanguagesClientToServer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSHKeyExchangeInitMessage::getFieldValue
      Src: /src/PcapPlusPlus/Packet++/header/SSHLayer.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: pcpp::SSHKeyExchangeInitMessage::getLanguagesServerToClient
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage::getFieldValue
    linkageType: ''
    returnType: std::string
    signature: std::string getLanguagesServerToClient()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: pcpp::SSHEncryptedMessage::SSHEncryptedMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSHEncryptedMessage(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: pcpp::SSHEncryptedMessage::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - attrRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: pcpp::RadiusAttribute::RadiusAttribute
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttribute(uint8_t* attrRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~RadiusAttribute() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RadiusAttribute() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: pcpp::RadiusAttribute::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalSize() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: pcpp::RadiusAttribute::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getDataSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - attrType
    - attrValue
    - attrValueLen
    argTypes:
    - uint8_t
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttributeBuilder(uint8_t attrType, const uint8_t* attrValue,
      uint8_t attrValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - attrType
    - attrValue
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttributeBuilder(uint8_t attrType, uint8_t attrValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - attrType
    - attrValue
    argTypes:
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttributeBuilder(uint8_t attrType, uint16_t attrValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - attrType
    - attrValue
    argTypes:
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttributeBuilder(uint8_t attrType, uint32_t attrValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - attrType
    - ' attrValue'
    argTypes:
    - uint8_t
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttributeBuilder(uint8_t attrType, const IPv4Address& attrValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - attrType
    - ' attrValue'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttributeBuilder(uint8_t attrType, const std::string& attrValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RadiusAttributeBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttributeBuilder(const RadiusAttributeBuilder& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLVRecordBuilder::operator=
      Src: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RadiusAttributeBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: '& operator=(const RadiusAttributeBuilder& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached:
    - TLVRecordBuilder::operator=
    linkageType: ''
    returnType: RadiusAttributeBuilder
    signature: RadiusAttributeBuilder & operator=(const RadiusAttributeBuilder& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: pcpp::RadiusLayer::getAttributesBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getAttributesBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: pcpp::RadiusLayer::RadiusLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: ~RadiusLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RadiusLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<radius_header*>
      Src: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pcpp::RadiusLayer::getRadiusHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 20
    functionsReached:
    - reinterpret_cast<radius_header*>
    linkageType: ''
    returnType: radius_header
    signature: radius_header * getRadiusHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: pcpp::RadiusLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: pcpp::RadiusLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: pcpp::RadiusLayer::isRadiusPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RadiusLayer::isRadiusPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - attrRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: pcpp::RadiusAttribute::RadiusAttribute
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttribute(uint8_t* attrRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~RadiusAttribute() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RadiusAttribute() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: pcpp::RadiusAttribute::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalSize() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: pcpp::RadiusAttribute::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getDataSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - attrType
    - attrValue
    - attrValueLen
    argTypes:
    - uint8_t
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttributeBuilder(uint8_t attrType, const uint8_t* attrValue,
      uint8_t attrValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - attrType
    - attrValue
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttributeBuilder(uint8_t attrType, uint8_t attrValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - attrType
    - attrValue
    argTypes:
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttributeBuilder(uint8_t attrType, uint16_t attrValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - attrType
    - attrValue
    argTypes:
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttributeBuilder(uint8_t attrType, uint32_t attrValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - attrType
    - ' attrValue'
    argTypes:
    - uint8_t
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttributeBuilder(uint8_t attrType, const IPv4Address& attrValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - attrType
    - ' attrValue'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttributeBuilder(uint8_t attrType, const std::string& attrValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RadiusAttributeBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusAttributeBuilder(const RadiusAttributeBuilder& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLVRecordBuilder::operator=
      Src: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RadiusAttributeBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: '& operator=(const RadiusAttributeBuilder& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached:
    - TLVRecordBuilder::operator=
    linkageType: ''
    returnType: RadiusAttributeBuilder
    signature: RadiusAttributeBuilder & operator=(const RadiusAttributeBuilder& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: pcpp::RadiusLayer::getAttributesBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getAttributesBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: pcpp::RadiusLayer::RadiusLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RadiusLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: ~RadiusLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RadiusLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<radius_header*>
      Src: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: pcpp::RadiusLayer::getRadiusHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 20
    functionsReached:
    - reinterpret_cast<radius_header*>
    linkageType: ''
    returnType: radius_header
    signature: radius_header * getRadiusHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: pcpp::RadiusLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: pcpp::RadiusLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: pcpp::RadiusLayer::isRadiusPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RadiusLayer::isRadiusPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: pcpp::TcpOption::TcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcpOption(uint8_t* optionRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: ~TcpOption() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TcpOption() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTcpOptionType
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: "(\"Use getTcpOptionEnumType instead\")\n\t\tTcpOptionType getTcpOptionType()
      const"
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - getTcpOptionType
    linkageType: ''
    returnType: PCPP_DEPRECATED
    signature: "PCPP_DEPRECATED (\"Use getTcpOptionEnumType instead\")\n\t\tTcpOptionType
      getTcpOptionType() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: pcpp::TcpOption::getTcpOptionEnumType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 1
    functionsReached:
    - pcpp::TcpOption::getTcpOptionEnumType
    linkageType: ''
    returnType: TcpOptionEnumType
    signature: TcpOptionEnumType getTcpOptionEnumType() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const TLVRawData*>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:283,1
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:290,1
    - Dst: pcpp::TcpOption::canAssign
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - recordRawData
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: pcpp::TcpOption::canAssign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 1
    functionsReached:
    - pcpp::TcpOption::getTcpOptionEnumType
    - pcpp::TcpOption::canAssign
    - reinterpret_cast<const TLVRawData*>
    linkageType: ''
    returnType: bool
    signature: bool canAssign(const uint8_t* recordRawData, size_t tlvDataLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:304,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 309
    functionName: pcpp::TcpOption::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - pcpp::TcpOption::getTcpOptionEnumType
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalSize() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:316,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 321
    functionName: pcpp::TcpOption::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - pcpp::TcpOption::getTcpOptionEnumType
    linkageType: ''
    returnType: size_t
    signature: size_t getDataSize() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TcpOptionType>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - TLVRawData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: pcpp::TcpOption::getTcpOptionType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<TcpOptionType>
    linkageType: ''
    returnType: TcpOptionType
    signature: TcpOptionType getTcpOptionType(const TLVRawData* optionRawData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TcpOptionEnumType>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - TLVRawData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: pcpp::TcpOption::getTcpOptionEnumType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 4
    functionsReached:
    - static_cast<TcpOptionEnumType>
    linkageType: ''
    returnType: TcpOptionEnumType
    signature: TcpOptionEnumType getTcpOptionEnumType(const TLVRawData* optionRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - optionType
    - optionValue
    - optionValueLen
    argTypes:
    - TcpOptionType
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionType optionType, const uint8_t* optionValue,
      uint8_t optionValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - optionType
    - optionValue
    - optionValueLen
    argTypes:
    - TcpOptionEnumType
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionEnumType optionType, const uint8_t*
      optionValue, uint8_t optionValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - TcpOptionType
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionType optionType, uint8_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - TcpOptionEnumType
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionEnumType optionType, uint8_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - TcpOptionType
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionType optionType, uint16_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - TcpOptionEnumType
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionEnumType optionType, uint16_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - TcpOptionType
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionType optionType, uint32_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - TcpOptionEnumType
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionEnumType optionType, uint32_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: pcpp::TcpOption::TcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcpOption(uint8_t* optionRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: ~TcpOption() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TcpOption() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTcpOptionType
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: "(\"Use getTcpOptionEnumType instead\")\n\t\tTcpOptionType getTcpOptionType()
      const"
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - getTcpOptionType
    linkageType: ''
    returnType: PCPP_DEPRECATED
    signature: "PCPP_DEPRECATED (\"Use getTcpOptionEnumType instead\")\n\t\tTcpOptionType
      getTcpOptionType() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: pcpp::TcpOption::getTcpOptionEnumType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 5
    functionsReached:
    - pcpp::TcpOption::getTcpOptionEnumType
    linkageType: ''
    returnType: TcpOptionEnumType
    signature: TcpOptionEnumType getTcpOptionEnumType() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const TLVRawData*>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:283,1
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:290,1
    - Dst: pcpp::TcpOption::canAssign
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - recordRawData
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: pcpp::TcpOption::canAssign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 2
    functionsReached:
    - pcpp::TcpOption::getTcpOptionEnumType
    - pcpp::TcpOption::canAssign
    - reinterpret_cast<const TLVRawData*>
    linkageType: ''
    returnType: bool
    signature: bool canAssign(const uint8_t* recordRawData, size_t tlvDataLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:304,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 309
    functionName: pcpp::TcpOption::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - pcpp::TcpOption::getTcpOptionEnumType
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalSize() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:316,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 321
    functionName: pcpp::TcpOption::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - pcpp::TcpOption::getTcpOptionEnumType
    linkageType: ''
    returnType: size_t
    signature: size_t getDataSize() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TcpOptionType>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - TLVRawData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: pcpp::TcpOption::getTcpOptionType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<TcpOptionType>
    linkageType: ''
    returnType: TcpOptionType
    signature: TcpOptionType getTcpOptionType(const TLVRawData* optionRawData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TcpOptionEnumType>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - TLVRawData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: pcpp::TcpOption::getTcpOptionEnumType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 8
    functionsReached:
    - static_cast<TcpOptionEnumType>
    linkageType: ''
    returnType: TcpOptionEnumType
    signature: TcpOptionEnumType getTcpOptionEnumType(const TLVRawData* optionRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - optionType
    - optionValue
    - optionValueLen
    argTypes:
    - TcpOptionType
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionType optionType, const uint8_t* optionValue,
      uint8_t optionValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - optionType
    - optionValue
    - optionValueLen
    argTypes:
    - TcpOptionEnumType
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionEnumType optionType, const uint8_t*
      optionValue, uint8_t optionValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - TcpOptionType
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionType optionType, uint8_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - TcpOptionEnumType
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionEnumType optionType, uint8_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - TcpOptionType
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionType optionType, uint16_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - TcpOptionEnumType
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionEnumType optionType, uint16_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - TcpOptionType
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionType optionType, uint32_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - TcpOptionEnumType
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: pcpp::TcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void TcpOptionBuilder(TcpOptionEnumType optionType, uint32_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: ~TcpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TcpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tcphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 474
    functionName: TcpLayer::getTcpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<tcphdr*>
    linkageType: ''
    returnType: tcphdr
    signature: tcphdr * getTcpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 568
    functionName: TcpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - TcpLayer::getTcpHeader
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 578
    functionName: TcpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 588
    functionName: TcpLayer::getOptionsBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getOptionsBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const tcphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/TcpLayer.h:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 601
    functionName: TcpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const tcphdr*>
    linkageType: ''
    returnType: bool
    signature: bool TcpLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_common_header*>
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::WireGuardLayer::getBasicHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<wg_common_header*>
    linkageType: ''
    returnType: wg_common_header
    signature: wg_common_header * getBasicHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pcpp::WireGuardLayer::WireGuardLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WireGuardLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: pcpp::WireGuardLayer::WireGuardLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WireGuardLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - portSrc
    - portDst
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: pcpp::WireGuardLayer::isWireGuardPorts
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isWireGuardPorts(uint16_t portSrc, uint16_t portDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: pcpp::WireGuardLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: pcpp::WireGuardLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pcpp::WireGuardLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: pcpp::WireGuardLayer::getWireGuardMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WireGuardMessageType
    signature: WireGuardMessageType getWireGuardMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:152,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 12
    functionsReached:
    - getBasicHeader
    - reinterpret_cast<wg_handshake_initiation*>
    linkageType: ''
    returnType: wg_handshake_initiation
    signature: wg_handshake_initiation * getHandshakeInitiationHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: pcpp::WireGuardHandshakeInitiationLayer::WireGuardHandshakeInitiationLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeInitiationLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getWireGuardMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WireGuardMessageType
    signature: WireGuardMessageType getWireGuardMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:249,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 12
    functionsReached:
    - getBasicHeader
    - reinterpret_cast<wg_handshake_response*>
    linkageType: ''
    returnType: wg_handshake_response
    signature: wg_handshake_response * getHandshakeResponseHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: pcpp::WireGuardHandshakeResponseLayer::WireGuardHandshakeResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeResponseLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: pcpp::WireGuardHandshakeResponseLayer::getWireGuardMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WireGuardMessageType
    signature: WireGuardMessageType getWireGuardMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_cookie_reply*>
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:339,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 6
    functionsReached:
    - getBasicHeader
    - reinterpret_cast<wg_cookie_reply*>
    linkageType: ''
    returnType: wg_cookie_reply
    signature: wg_cookie_reply * getCookieReplyHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: pcpp::WireGuardCookieReplyLayer::WireGuardCookieReplyLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WireGuardCookieReplyLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pcpp::WireGuardCookieReplyLayer::getWireGuardMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WireGuardMessageType
    signature: WireGuardMessageType getWireGuardMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_transport_data*>
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:406,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: pcpp::WireGuardTransportDataLayer::getTransportHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 6
    functionsReached:
    - getBasicHeader
    - reinterpret_cast<wg_transport_data*>
    linkageType: ''
    returnType: wg_transport_data
    signature: wg_transport_data * getTransportHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: pcpp::WireGuardTransportDataLayer::WireGuardTransportDataLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WireGuardTransportDataLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: pcpp::WireGuardTransportDataLayer::getWireGuardMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WireGuardMessageType
    signature: WireGuardMessageType getWireGuardMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_common_header*>
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::WireGuardLayer::getBasicHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<wg_common_header*>
    linkageType: ''
    returnType: wg_common_header
    signature: wg_common_header * getBasicHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: pcpp::WireGuardLayer::WireGuardLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WireGuardLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: pcpp::WireGuardLayer::WireGuardLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WireGuardLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - portSrc
    - portDst
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: pcpp::WireGuardLayer::isWireGuardPorts
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isWireGuardPorts(uint16_t portSrc, uint16_t portDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: pcpp::WireGuardLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: pcpp::WireGuardLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pcpp::WireGuardLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: pcpp::WireGuardLayer::getWireGuardMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WireGuardMessageType
    signature: WireGuardMessageType getWireGuardMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_initiation*>
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:152,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 12
    functionsReached:
    - getBasicHeader
    - reinterpret_cast<wg_handshake_initiation*>
    linkageType: ''
    returnType: wg_handshake_initiation
    signature: wg_handshake_initiation * getHandshakeInitiationHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: pcpp::WireGuardHandshakeInitiationLayer::WireGuardHandshakeInitiationLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeInitiationLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: pcpp::WireGuardHandshakeInitiationLayer::getWireGuardMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WireGuardMessageType
    signature: WireGuardMessageType getWireGuardMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_handshake_response*>
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:249,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 12
    functionsReached:
    - getBasicHeader
    - reinterpret_cast<wg_handshake_response*>
    linkageType: ''
    returnType: wg_handshake_response
    signature: wg_handshake_response * getHandshakeResponseHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: pcpp::WireGuardHandshakeResponseLayer::WireGuardHandshakeResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WireGuardHandshakeResponseLayer(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: pcpp::WireGuardHandshakeResponseLayer::getWireGuardMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WireGuardMessageType
    signature: WireGuardMessageType getWireGuardMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_cookie_reply*>
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:339,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 6
    functionsReached:
    - getBasicHeader
    - reinterpret_cast<wg_cookie_reply*>
    linkageType: ''
    returnType: wg_cookie_reply
    signature: wg_cookie_reply * getCookieReplyHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: pcpp::WireGuardCookieReplyLayer::WireGuardCookieReplyLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WireGuardCookieReplyLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pcpp::WireGuardCookieReplyLayer::getWireGuardMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WireGuardMessageType
    signature: WireGuardMessageType getWireGuardMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<wg_transport_data*>
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:406,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: pcpp::WireGuardTransportDataLayer::getTransportHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 6
    functionsReached:
    - getBasicHeader
    - reinterpret_cast<wg_transport_data*>
    linkageType: ''
    returnType: wg_transport_data
    signature: wg_transport_data * getTransportHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: pcpp::WireGuardTransportDataLayer::WireGuardTransportDataLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WireGuardTransportDataLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 452
    functionName: pcpp::WireGuardTransportDataLayer::getWireGuardMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WireGuardMessageType
    signature: WireGuardMessageType getWireGuardMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - root
    - decoderType
    argTypes:
    - Asn1SequenceRecord*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: pcpp::internal::PrivateKeyDataView::PrivateKeyDataView
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PrivateKeyDataView(Asn1SequenceRecord* root, std::string decoderType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~PrivateKeyDataView()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrivateKeyDataView()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecords
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:33,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' fieldName'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: pcpp::internal::PrivateKeyDataView::castSubRecordAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - getSubRecords
    - std::runtime_error
    linkageType: ''
    returnType: Asn1RecordType
    signature: Asn1RecordType * castSubRecordAs(int index, const std::string& fieldName)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - root
    - decoderType
    argTypes:
    - Asn1SequenceRecord*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: pcpp::internal::RSAPrivateKeyDataView::RSAPrivateKeyDataView
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSAPrivateKeyDataView(Asn1SequenceRecord* root, std::string decoderType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: ~RSAPrivateKeyDataView()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RSAPrivateKeyDataView()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: ~ECPrivateKeyDataView()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ECPrivateKeyDataView()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: pcpp::internal::CryptographicKey::toDER
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> toDER() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PemCodec::encode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:143,1
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: pcpp::internal::CryptographicKey::toPEM
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - encode
    - pcpp::PemCodec::encode
    linkageType: ''
    returnType: std::string
    signature: std::string toPEM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:148,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:148,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - derData
    - derDataLen
    argTypes:
    - std::unique_ptr<uint8_t[]>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: pcpp::internal::CryptographicKey::CryptographicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - pcpp::Asn1Record::decode
    - get
    - std::move
    linkageType: ''
    returnType: void
    signature: void CryptographicKey(std::unique_ptr<uint8_t[]> derData, size_t derDataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:153,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - derData
    - derDataLen
    - ownDerData
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: pcpp::internal::CryptographicKey::CryptographicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - reset
    - pcpp::Asn1Record::decode
    linkageType: ''
    returnType: void
    signature: void CryptographicKey(uint8_t* derData, size_t derDataLen, bool ownDerData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: ~CryptographicKey()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CryptographicKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:166,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:170,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: pcpp::internal::CryptographicKey::getRoot
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - string
    - castAs
    linkageType: ''
    returnType: Asn1SequenceRecord
    signature: Asn1SequenceRecord * getRoot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::CryptographicKey::getRoot
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:179,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:183,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' fieldName'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: pcpp::internal::CryptographicKey::castSubRecordAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - string
    - pcpp::internal::CryptographicKey::getRoot
    linkageType: ''
    returnType: Asn1RecordType
    signature: Asn1RecordType * castSubRecordAs(int index, const std::string& fieldName)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - root
    - decoderType
    argTypes:
    - Asn1SequenceRecord*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: pcpp::internal::PrivateKeyDataView::PrivateKeyDataView
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PrivateKeyDataView(Asn1SequenceRecord* root, std::string decoderType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~PrivateKeyDataView()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrivateKeyDataView()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecords
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:33,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' fieldName'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: pcpp::internal::PrivateKeyDataView::castSubRecordAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - getSubRecords
    - std::runtime_error
    linkageType: ''
    returnType: Asn1RecordType
    signature: Asn1RecordType * castSubRecordAs(int index, const std::string& fieldName)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - root
    - decoderType
    argTypes:
    - Asn1SequenceRecord*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: pcpp::internal::RSAPrivateKeyDataView::RSAPrivateKeyDataView
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSAPrivateKeyDataView(Asn1SequenceRecord* root, std::string decoderType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: ~RSAPrivateKeyDataView()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RSAPrivateKeyDataView()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: ~ECPrivateKeyDataView()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ECPrivateKeyDataView()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: pcpp::internal::CryptographicKey::toDER
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> toDER() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PemCodec::encode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:143,1
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: pcpp::internal::CryptographicKey::toPEM
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - encode
    - pcpp::PemCodec::encode
    linkageType: ''
    returnType: std::string
    signature: std::string toPEM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:148,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:148,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - derData
    - derDataLen
    argTypes:
    - std::unique_ptr<uint8_t[]>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: pcpp::internal::CryptographicKey::CryptographicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - pcpp::Asn1Record::decode
    - get
    - std::move
    linkageType: ''
    returnType: void
    signature: void CryptographicKey(std::unique_ptr<uint8_t[]> derData, size_t derDataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:153,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - derData
    - derDataLen
    - ownDerData
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: pcpp::internal::CryptographicKey::CryptographicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - reset
    - pcpp::Asn1Record::decode
    linkageType: ''
    returnType: void
    signature: void CryptographicKey(uint8_t* derData, size_t derDataLen, bool ownDerData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: ~CryptographicKey()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CryptographicKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:166,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:170,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: pcpp::internal::CryptographicKey::getRoot
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 1
    functionsReached:
    - std::runtime_error
    - string
    - castAs
    linkageType: ''
    returnType: Asn1SequenceRecord
    signature: Asn1SequenceRecord * getRoot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::CryptographicKey::getRoot
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:179,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:183,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' fieldName'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: pcpp::internal::CryptographicKey::castSubRecordAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - string
    - pcpp::internal::CryptographicKey::getRoot
    linkageType: ''
    returnType: Asn1RecordType
    signature: Asn1RecordType * castSubRecordAs(int index, const std::string& fieldName)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: pcpp::CryptographicKeyAlgorithm::CryptographicKeyAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CryptographicKeyAlgorithm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: pcpp::CryptographicKeyAlgorithm::CryptographicKeyAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CryptographicKeyAlgorithm(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:263,1
    - Dst: getRoot
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - derData
    - derDataLen
    argTypes:
    - std::unique_ptr<uint8_t[]>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: pcpp::RSAPrivateKey::RSAPrivateKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - getRoot
    - std::move
    linkageType: ''
    returnType: void
    signature: void RSAPrivateKey(std::unique_ptr<uint8_t[]> derData, size_t derDataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - derData
    - derDataLen
    - ownDerData
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: pcpp::RSAPrivateKey::RSAPrivateKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - getRoot
    linkageType: ''
    returnType: void
    signature: void RSAPrivateKey(uint8_t* derData, size_t derDataLen, bool ownDerData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:288,1
    - Dst: getRoot
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - derData
    - derDataLen
    argTypes:
    - std::unique_ptr<uint8_t[]>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: pcpp::ECPrivateKey::ECPrivateKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - getRoot
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECPrivateKey(std::unique_ptr<uint8_t[]> derData, size_t derDataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - derData
    - derDataLen
    - ownDerData
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: pcpp::ECPrivateKey::ECPrivateKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - getRoot
    linkageType: ''
    returnType: void
    signature: void ECPrivateKey(uint8_t* derData, size_t derDataLen, bool ownDerData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: ~PrivateKeyData()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrivateKeyData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<PrivateKeyDataType*>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:327,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: pcpp::PKCS8PrivateKey::PrivateKeyData::castAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - dynamic_cast<PrivateKeyDataType*>
    linkageType: ''
    returnType: PrivateKeyDataType
    signature: PrivateKeyDataType * castAs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PKCS8PrivateKey::PrivateKeyData::castAs
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: pcpp::PKCS8PrivateKey::PrivateKeyData::getRoot
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - pcpp::PKCS8PrivateKey::PrivateKeyData::castAs
    linkageType: ''
    returnType: Asn1SequenceRecord
    signature: Asn1SequenceRecord * getRoot() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PKCS8PrivateKey::getPrivateKey
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:397,1
    - Dst: dynamic_cast<PrivateKeyDataType*>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:403,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:403,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:405,1
    - Dst: std::unique_ptr<PrivateKeyDataType>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 395
    functionDepth: 4
    functionLinenumber: 395
    functionLinenumberEnd: 410
    functionName: pcpp::PKCS8PrivateKey::getPrivateKeyAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - auto::get
    - std::unique_ptr<PrivateKeyDataType>
    - dynamic_cast<PrivateKeyDataType*>
    - auto::release
    - pcpp::PKCS8PrivateKey::getPrivateKey
    linkageType: ''
    returnType: std::unique_ptr<PrivateKeyDataType>
    signature: std::unique_ptr<PrivateKeyDataType> getPrivateKeyAs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - root
    - decoderType
    argTypes:
    - Asn1SequenceRecord*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: pcpp::internal::PrivateKeyDataView::PrivateKeyDataView
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PrivateKeyDataView(Asn1SequenceRecord* root, std::string decoderType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~PrivateKeyDataView()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrivateKeyDataView()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecords
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:33,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' fieldName'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: pcpp::internal::PrivateKeyDataView::castSubRecordAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - getSubRecords
    - std::runtime_error
    linkageType: ''
    returnType: Asn1RecordType
    signature: Asn1RecordType * castSubRecordAs(int index, const std::string& fieldName)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - root
    - decoderType
    argTypes:
    - Asn1SequenceRecord*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: pcpp::internal::RSAPrivateKeyDataView::RSAPrivateKeyDataView
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSAPrivateKeyDataView(Asn1SequenceRecord* root, std::string decoderType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: ~RSAPrivateKeyDataView()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RSAPrivateKeyDataView()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: ~ECPrivateKeyDataView()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ECPrivateKeyDataView()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: pcpp::internal::CryptographicKey::toDER
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> toDER() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PemCodec::encode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:143,1
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: pcpp::internal::CryptographicKey::toPEM
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - encode
    - pcpp::PemCodec::encode
    linkageType: ''
    returnType: std::string
    signature: std::string toPEM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:148,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:148,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - derData
    - derDataLen
    argTypes:
    - std::unique_ptr<uint8_t[]>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: pcpp::internal::CryptographicKey::CryptographicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - pcpp::Asn1Record::decode
    - get
    - std::move
    linkageType: ''
    returnType: void
    signature: void CryptographicKey(std::unique_ptr<uint8_t[]> derData, size_t derDataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:153,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - derData
    - derDataLen
    - ownDerData
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: pcpp::internal::CryptographicKey::CryptographicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - reset
    - pcpp::Asn1Record::decode
    linkageType: ''
    returnType: void
    signature: void CryptographicKey(uint8_t* derData, size_t derDataLen, bool ownDerData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: ~CryptographicKey()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CryptographicKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:166,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:170,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: pcpp::internal::CryptographicKey::getRoot
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 2
    functionsReached:
    - std::runtime_error
    - string
    - castAs
    linkageType: ''
    returnType: Asn1SequenceRecord
    signature: Asn1SequenceRecord * getRoot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::CryptographicKey::getRoot
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:179,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:183,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' fieldName'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: pcpp::internal::CryptographicKey::castSubRecordAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - string
    - pcpp::internal::CryptographicKey::getRoot
    linkageType: ''
    returnType: Asn1RecordType
    signature: Asn1RecordType * castSubRecordAs(int index, const std::string& fieldName)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - root
    - decoderType
    argTypes:
    - Asn1SequenceRecord*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: pcpp::internal::PrivateKeyDataView::PrivateKeyDataView
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PrivateKeyDataView(Asn1SequenceRecord* root, std::string decoderType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~PrivateKeyDataView()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrivateKeyDataView()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSubRecords
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:33,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' fieldName'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: pcpp::internal::PrivateKeyDataView::castSubRecordAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - getSubRecords
    - std::runtime_error
    linkageType: ''
    returnType: Asn1RecordType
    signature: Asn1RecordType * castSubRecordAs(int index, const std::string& fieldName)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - root
    - decoderType
    argTypes:
    - Asn1SequenceRecord*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: pcpp::internal::RSAPrivateKeyDataView::RSAPrivateKeyDataView
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RSAPrivateKeyDataView(Asn1SequenceRecord* root, std::string decoderType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: ~RSAPrivateKeyDataView()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RSAPrivateKeyDataView()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: ~ECPrivateKeyDataView()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ECPrivateKeyDataView()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: pcpp::internal::CryptographicKey::toDER
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> toDER() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PemCodec::encode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:143,1
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: pcpp::internal::CryptographicKey::toPEM
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - encode
    - pcpp::PemCodec::encode
    linkageType: ''
    returnType: std::string
    signature: std::string toPEM() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:148,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:148,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - derData
    - derDataLen
    argTypes:
    - std::unique_ptr<uint8_t[]>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: pcpp::internal::CryptographicKey::CryptographicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - pcpp::Asn1Record::decode
    - get
    - std::move
    linkageType: ''
    returnType: void
    signature: void CryptographicKey(std::unique_ptr<uint8_t[]> derData, size_t derDataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:153,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - derData
    - derDataLen
    - ownDerData
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: pcpp::internal::CryptographicKey::CryptographicKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - reset
    - pcpp::Asn1Record::decode
    linkageType: ''
    returnType: void
    signature: void CryptographicKey(uint8_t* derData, size_t derDataLen, bool ownDerData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: ~CryptographicKey()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CryptographicKey()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: castAs
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:166,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:170,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: pcpp::internal::CryptographicKey::getRoot
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 3
    functionsReached:
    - std::runtime_error
    - string
    - castAs
    linkageType: ''
    returnType: Asn1SequenceRecord
    signature: Asn1SequenceRecord * getRoot() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::CryptographicKey::getRoot
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:179,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:183,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - index
    - ' fieldName'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: pcpp::internal::CryptographicKey::castSubRecordAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - string
    - pcpp::internal::CryptographicKey::getRoot
    linkageType: ''
    returnType: Asn1RecordType
    signature: Asn1RecordType * castSubRecordAs(int index, const std::string& fieldName)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: pcpp::CryptographicKeyAlgorithm::CryptographicKeyAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CryptographicKeyAlgorithm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: pcpp::CryptographicKeyAlgorithm::CryptographicKeyAlgorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CryptographicKeyAlgorithm(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:263,1
    - Dst: getRoot
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - derData
    - derDataLen
    argTypes:
    - std::unique_ptr<uint8_t[]>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: pcpp::RSAPrivateKey::RSAPrivateKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - getRoot
    - std::move
    linkageType: ''
    returnType: void
    signature: void RSAPrivateKey(std::unique_ptr<uint8_t[]> derData, size_t derDataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - derData
    - derDataLen
    - ownDerData
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: pcpp::RSAPrivateKey::RSAPrivateKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - getRoot
    linkageType: ''
    returnType: void
    signature: void RSAPrivateKey(uint8_t* derData, size_t derDataLen, bool ownDerData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:288,1
    - Dst: getRoot
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - derData
    - derDataLen
    argTypes:
    - std::unique_ptr<uint8_t[]>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: pcpp::ECPrivateKey::ECPrivateKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - getRoot
    - std::move
    linkageType: ''
    returnType: void
    signature: void ECPrivateKey(std::unique_ptr<uint8_t[]> derData, size_t derDataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRoot
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - derData
    - derDataLen
    - ownDerData
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: pcpp::ECPrivateKey::ECPrivateKey
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - getRoot
    linkageType: ''
    returnType: void
    signature: void ECPrivateKey(uint8_t* derData, size_t derDataLen, bool ownDerData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: ~PrivateKeyData()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrivateKeyData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<PrivateKeyDataType*>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:327,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: pcpp::PKCS8PrivateKey::PrivateKeyData::castAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 1
    functionsReached:
    - std::runtime_error
    - dynamic_cast<PrivateKeyDataType*>
    linkageType: ''
    returnType: PrivateKeyDataType
    signature: PrivateKeyDataType * castAs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PKCS8PrivateKey::PrivateKeyData::castAs
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: pcpp::PKCS8PrivateKey::PrivateKeyData::getRoot
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - pcpp::PKCS8PrivateKey::PrivateKeyData::castAs
    linkageType: ''
    returnType: Asn1SequenceRecord
    signature: Asn1SequenceRecord * getRoot() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PKCS8PrivateKey::getPrivateKey
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:397,1
    - Dst: dynamic_cast<PrivateKeyDataType*>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:403,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:403,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:405,1
    - Dst: std::unique_ptr<PrivateKeyDataType>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 395
    functionDepth: 4
    functionLinenumber: 395
    functionLinenumberEnd: 410
    functionName: pcpp::PKCS8PrivateKey::getPrivateKeyAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    functionUses: 0
    functionsReached:
    - auto::get
    - std::unique_ptr<PrivateKeyDataType>
    - dynamic_cast<PrivateKeyDataType*>
    - auto::release
    - pcpp::PKCS8PrivateKey::getPrivateKey
    linkageType: ''
    returnType: std::unique_ptr<PrivateKeyDataType>
    signature: std::unique_ptr<PrivateKeyDataType> getPrivateKeyAs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    functionName: pcpp::DhcpOption::DhcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DhcpOption(uint8_t* optionRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: ~DhcpOption() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DhcpOption() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getValueAs<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: pcpp::DhcpOption::getValueAsIpAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - getValueAs<uint32_t>
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getValueAsIpAddr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setValue<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:411,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: pcpp::DhcpOption::setValueIpAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - toInt
    - setValue<uint32_t>
    linkageType: ''
    returnType: void
    signature: void setValueIpAddr(const IPv4Address& addr, int valueOffset = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpOption::getDataSize
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:423,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:423,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:426,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:426,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 428
    functionName: pcpp::DhcpOption::getValueAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::DhcpOption::getDataSize
    - reinterpret_cast<const char*>
    - static_cast<int>
    - static_cast<size_t>
    - string
    linkageType: ''
    returnType: std::string
    signature: std::string getValueAsString(int valueOffset = 0) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:439,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:439,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:442,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:443,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:445,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' stringValue'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 446
    functionName: pcpp::DhcpOption::setValueString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - memcpy
    - length
    - static_cast<size_t>
    - data
    linkageType: ''
    returnType: void
    signature: void setValueString(const std::string& stringValue, int valueOffset
      = 0)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TLVRawData const*>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:454,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:461,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:462,1
    - Dst: pcpp::TcpOption::canAssign
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - recordRawData
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 466
    functionName: pcpp::DhcpOption::canAssign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::TcpOption::canAssign
    - static_cast<uint8_t>
    - reinterpret_cast<TLVRawData const*>
    linkageType: ''
    returnType: bool
    signature: bool canAssign(const uint8_t* recordRawData, size_t tlvDataLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:475,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:476,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 480
    functionName: pcpp::DhcpOption::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalSize() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:487,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: pcpp::DhcpOption::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getDataSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - optionType
    - optionValue
    - optionValueLen
    argTypes:
    - DhcpOptionTypes
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DhcpOptionBuilder(DhcpOptionTypes optionType, const uint8_t* optionValue,
      uint8_t optionValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - DhcpOptionTypes
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DhcpOptionBuilder(DhcpOptionTypes optionType, uint8_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - DhcpOptionTypes
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DhcpOptionBuilder(DhcpOptionTypes optionType, uint16_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - DhcpOptionTypes
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 533
    functionName: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DhcpOptionBuilder(DhcpOptionTypes optionType, uint32_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - ' optionValue'
    argTypes:
    - DhcpOptionTypes
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 541
    functionName: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DhcpOptionBuilder(DhcpOptionTypes optionType, const IPv4Address&
      optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - ' optionValue'
    argTypes:
    - DhcpOptionTypes
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DhcpOptionBuilder(DhcpOptionTypes optionType, const std::string&
      optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DhcpOptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 554
    functionName: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DhcpOptionBuilder(const DhcpOptionBuilder& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLVRecordBuilder::operator=
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DhcpOptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 563
    functionName: '& operator=(const DhcpOptionBuilder& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - TLVRecordBuilder::operator=
    linkageType: ''
    returnType: DhcpOptionBuilder
    signature: DhcpOptionBuilder & operator=(const DhcpOptionBuilder& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 592
    functionName: ~DhcpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DhcpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<dhcp_header>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: pcpp::DhcpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<dhcp_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<dhcp_header*>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 605
    functionName: pcpp::DhcpLayer::getDhcpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<dhcp_header*>
    linkageType: ''
    returnType: dhcp_header
    signature: dhcp_header * getDhcpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<BootpOpCodes>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:610,1
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 611
    functionName: pcpp::DhcpLayer::getOpCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<BootpOpCodes>
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: BootpOpCodes
    signature: BootpOpCodes getOpCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 618
    functionName: pcpp::DhcpLayer::getClientIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getClientIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:624,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 625
    functionName: pcpp::DhcpLayer::setClientIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - toInt
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: void
    signature: void setClientIpAddress(const IPv4Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: pcpp::DhcpLayer::getServerIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getServerIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:638,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 639
    functionName: pcpp::DhcpLayer::setServerIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - toInt
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: void
    signature: void setServerIpAddress(const IPv4Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 645
    functionName: pcpp::DhcpLayer::getYourIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getYourIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:651,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: pcpp::DhcpLayer::setYourIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - toInt
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: void
    signature: void setYourIpAddress(const IPv4Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 659
    functionName: pcpp::DhcpLayer::getGatewayIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getGatewayIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:665,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 666
    functionName: pcpp::DhcpLayer::setGatewayIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - toInt
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: void
    signature: void setGatewayIpAddress(const IPv4Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 744
    functionName: pcpp::DhcpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 750
    functionName: pcpp::DhcpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: pcpp::DhcpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 773
    functionName: pcpp::DhcpLayer::getOptionsBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getOptionsBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - portSrc
    - portDst
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: pcpp::DhcpLayer::isDhcpPorts
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DhcpLayer::isDhcpPorts(uint16_t portSrc, uint16_t portDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    functionName: pcpp::DhcpOption::DhcpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DhcpOption(uint8_t* optionRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: ~DhcpOption() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DhcpOption() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getValueAs<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: pcpp::DhcpOption::getValueAsIpAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - getValueAs<uint32_t>
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getValueAsIpAddr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setValue<uint32_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:411,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: pcpp::DhcpOption::setValueIpAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - toInt
    - setValue<uint32_t>
    linkageType: ''
    returnType: void
    signature: void setValueIpAddr(const IPv4Address& addr, int valueOffset = 0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpOption::getDataSize
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:423,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:423,1
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:426,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:426,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 428
    functionName: pcpp::DhcpOption::getValueAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::DhcpOption::getDataSize
    - reinterpret_cast<const char*>
    - static_cast<int>
    - static_cast<size_t>
    - string
    linkageType: ''
    returnType: std::string
    signature: std::string getValueAsString(int valueOffset = 0) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:439,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:439,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:442,1
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:443,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:445,1
    - Dst: data
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' stringValue'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 446
    functionName: pcpp::DhcpOption::setValueString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - memcpy
    - length
    - static_cast<size_t>
    - data
    linkageType: ''
    returnType: void
    signature: void setValueString(const std::string& stringValue, int valueOffset
      = 0)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TLVRawData const*>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:454,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:461,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:462,1
    - Dst: pcpp::TcpOption::canAssign
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - recordRawData
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 466
    functionName: pcpp::DhcpOption::canAssign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::TcpOption::canAssign
    - static_cast<uint8_t>
    - reinterpret_cast<TLVRawData const*>
    linkageType: ''
    returnType: bool
    signature: bool canAssign(const uint8_t* recordRawData, size_t tlvDataLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:475,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:476,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 480
    functionName: pcpp::DhcpOption::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - static_cast<uint8_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalSize() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:487,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: pcpp::DhcpOption::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 2
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getDataSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - optionType
    - optionValue
    - optionValueLen
    argTypes:
    - DhcpOptionTypes
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DhcpOptionBuilder(DhcpOptionTypes optionType, const uint8_t* optionValue,
      uint8_t optionValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - DhcpOptionTypes
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DhcpOptionBuilder(DhcpOptionTypes optionType, uint8_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - DhcpOptionTypes
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DhcpOptionBuilder(DhcpOptionTypes optionType, uint16_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - DhcpOptionTypes
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 533
    functionName: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DhcpOptionBuilder(DhcpOptionTypes optionType, uint32_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - ' optionValue'
    argTypes:
    - DhcpOptionTypes
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 541
    functionName: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DhcpOptionBuilder(DhcpOptionTypes optionType, const IPv4Address&
      optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - ' optionValue'
    argTypes:
    - DhcpOptionTypes
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: void DhcpOptionBuilder(DhcpOptionTypes optionType, const std::string&
      optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DhcpOptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 554
    functionName: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DhcpOptionBuilder(const DhcpOptionBuilder& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLVRecordBuilder::operator=
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DhcpOptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 563
    functionName: '& operator=(const DhcpOptionBuilder& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - TLVRecordBuilder::operator=
    linkageType: ''
    returnType: DhcpOptionBuilder
    signature: DhcpOptionBuilder & operator=(const DhcpOptionBuilder& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 592
    functionName: ~DhcpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DhcpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<dhcp_header>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: pcpp::DhcpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<dhcp_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<dhcp_header*>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 605
    functionName: pcpp::DhcpLayer::getDhcpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 15
    functionsReached:
    - reinterpret_cast<dhcp_header*>
    linkageType: ''
    returnType: dhcp_header
    signature: dhcp_header * getDhcpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<BootpOpCodes>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:610,1
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 611
    functionName: pcpp::DhcpLayer::getOpCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<BootpOpCodes>
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: BootpOpCodes
    signature: BootpOpCodes getOpCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 618
    functionName: pcpp::DhcpLayer::getClientIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getClientIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:624,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 625
    functionName: pcpp::DhcpLayer::setClientIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - toInt
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: void
    signature: void setClientIpAddress(const IPv4Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: pcpp::DhcpLayer::getServerIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getServerIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:638,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 639
    functionName: pcpp::DhcpLayer::setServerIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - toInt
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: void
    signature: void setServerIpAddress(const IPv4Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 645
    functionName: pcpp::DhcpLayer::getYourIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getYourIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:651,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: pcpp::DhcpLayer::setYourIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - toInt
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: void
    signature: void setYourIpAddress(const IPv4Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 659
    functionName: pcpp::DhcpLayer::getGatewayIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getGatewayIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:665,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 666
    functionName: pcpp::DhcpLayer::setGatewayIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached:
    - toInt
    - pcpp::DhcpLayer::getDhcpHeader
    linkageType: ''
    returnType: void
    signature: void setGatewayIpAddress(const IPv4Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 744
    functionName: pcpp::DhcpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 750
    functionName: pcpp::DhcpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: pcpp::DhcpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 773
    functionName: pcpp::DhcpLayer::getOptionsBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getOptionsBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - portSrc
    - portDst
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: pcpp::DhcpLayer::isDhcpPorts
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DhcpLayer::isDhcpPorts(uint16_t portSrc, uint16_t portDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: pcpp::FtpLayer::FtpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FtpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' command'
    - ' option'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: pcpp::FtpLayer::FtpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FtpLayer(const std::string& command, const std::string& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: pcpp::FtpLayer::isFtpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFtpPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::FtpLayer::isFtpDataPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFtpDataPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: pcpp::FtpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: pcpp::FtpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: pcpp::FtpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: pcpp::FtpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: pcpp::FtpRequestLayer::FtpRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FtpRequestLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::FtpRequestLayer::getCommandAsString
      Src: /src/PcapPlusPlus/Packet++/header/FtpLayer.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - FtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: pcpp::FtpRequestLayer::FtpRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::FtpRequestLayer::getCommandAsString
    linkageType: ''
    returnType: void
    signature: void FtpRequestLayer(const FtpCommand& command, const std::string&
      option = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: pcpp::FtpResponseLayer::FtpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FtpResponseLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/header/FtpLayer.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' code'
    argTypes:
    - FtpStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: pcpp::FtpResponseLayer::FtpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: void
    signature: void FtpResponseLayer(const FtpStatusCode& code, const std::string&
      option = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: pcpp::FtpDataLayer::FtpDataLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FtpDataLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: pcpp::FtpLayer::FtpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FtpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' command'
    - ' option'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: pcpp::FtpLayer::FtpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FtpLayer(const std::string& command, const std::string& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: pcpp::FtpLayer::isFtpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFtpPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: pcpp::FtpLayer::isFtpDataPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isFtpDataPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: pcpp::FtpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: pcpp::FtpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: pcpp::FtpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: pcpp::FtpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: pcpp::FtpRequestLayer::FtpRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FtpRequestLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::FtpRequestLayer::getCommandAsString
      Src: /src/PcapPlusPlus/Packet++/header/FtpLayer.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - FtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: pcpp::FtpRequestLayer::FtpRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::FtpRequestLayer::getCommandAsString
    linkageType: ''
    returnType: void
    signature: void FtpRequestLayer(const FtpCommand& command, const std::string&
      option = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: pcpp::FtpResponseLayer::FtpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FtpResponseLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/header/FtpLayer.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' code'
    argTypes:
    - FtpStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: pcpp::FtpResponseLayer::FtpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: void
    signature: void FtpResponseLayer(const FtpStatusCode& code, const std::string&
      option = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: pcpp::FtpDataLayer::FtpDataLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FtpDataLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: pcpp::TelnetLayer::TelnetLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TelnetLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: pcpp::TelnetLayer::isTelnetPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTelnetPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: pcpp::TelnetLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: pcpp::TelnetLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: pcpp::TelnetLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: pcpp::TelnetLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: pcpp::TelnetLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: pcpp::TelnetLayer::TelnetLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TelnetLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: pcpp::TelnetLayer::isTelnetPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTelnetPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: pcpp::TelnetLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: pcpp::TelnetLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: pcpp::TelnetLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: pcpp::TelnetLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: pcpp::TelnetLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~SdpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SdpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SdpLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: pcpp::SdpLayer::SdpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SdpLayer(const SdpLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextBasedProtocolMessage::operator=
      Src: /src/PcapPlusPlus/Packet++/header/SdpLayer.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SdpLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: '& operator=(const SdpLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
    functionUses: 0
    functionsReached:
    - TextBasedProtocolMessage::operator=
    linkageType: ''
    returnType: SdpLayer
    signature: SdpLayer & operator=(const SdpLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: pcpp::SdpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: pcpp::SdpLayer::getHeaderFieldNameValueSeparator
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getHeaderFieldNameValueSeparator() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: pcpp::SdpLayer::spacesAllowedBetweenHeaderFieldNameAndValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool spacesAllowedBetweenHeaderFieldNameAndValue() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~SdpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SdpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SdpLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: pcpp::SdpLayer::SdpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SdpLayer(const SdpLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextBasedProtocolMessage::operator=
      Src: /src/PcapPlusPlus/Packet++/header/SdpLayer.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SdpLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: '& operator=(const SdpLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
    functionUses: 0
    functionsReached:
    - TextBasedProtocolMessage::operator=
    linkageType: ''
    returnType: SdpLayer
    signature: SdpLayer & operator=(const SdpLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: pcpp::SdpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: pcpp::SdpLayer::getHeaderFieldNameValueSeparator
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getHeaderFieldNameValueSeparator() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: pcpp::SdpLayer::spacesAllowedBetweenHeaderFieldNameAndValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool spacesAllowedBetweenHeaderFieldNameAndValue() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<mpls_header*>
      Src: /src/PcapPlusPlus/Packet++/header/MplsLayer.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pcpp::MplsLayer::getMplsHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 12
    functionsReached:
    - reinterpret_cast<mpls_header*>
    linkageType: ''
    returnType: mpls_header
    signature: mpls_header * getMplsHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: pcpp::MplsLayer::MplsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MplsLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~MplsLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MplsLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/header/MplsLayer.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: pcpp::MplsLayer::getTTL
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 2
    functionsReached:
    - pcpp::MplsLayer::getMplsHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getTTL() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/header/MplsLayer.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ttl
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: pcpp::MplsLayer::setTTL
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 2
    functionsReached:
    - pcpp::MplsLayer::getMplsHeader
    linkageType: ''
    returnType: void
    signature: void setTTL(uint8_t ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pcpp::MplsLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::MplsLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<mpls_header>
      Src: /src/PcapPlusPlus/Packet++/header/MplsLayer.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pcpp::MplsLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<mpls_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<mpls_header*>
      Src: /src/PcapPlusPlus/Packet++/header/MplsLayer.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: pcpp::MplsLayer::getMplsHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 14
    functionsReached:
    - reinterpret_cast<mpls_header*>
    linkageType: ''
    returnType: mpls_header
    signature: mpls_header * getMplsHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: pcpp::MplsLayer::MplsLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MplsLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: ~MplsLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MplsLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/header/MplsLayer.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: pcpp::MplsLayer::getTTL
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 2
    functionsReached:
    - pcpp::MplsLayer::getMplsHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getTTL() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MplsLayer::getMplsHeader
      Src: /src/PcapPlusPlus/Packet++/header/MplsLayer.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ttl
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: pcpp::MplsLayer::setTTL
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 2
    functionsReached:
    - pcpp::MplsLayer::getMplsHeader
    linkageType: ''
    returnType: void
    signature: void setTTL(uint8_t ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: pcpp::MplsLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::MplsLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<mpls_header>
      Src: /src/PcapPlusPlus/Packet++/header/MplsLayer.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pcpp::MplsLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<mpls_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: pcpp::SomeIpLayer::SomeIpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ~SomeIpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SomeIpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<someiphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: pcpp::SomeIpLayer::getSomeIpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 46
    functionsReached:
    - reinterpret_cast<someiphdr*>
    linkageType: ''
    returnType: someiphdr
    signature: someiphdr * getSomeIpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: pcpp::SomeIpLayer::getPduPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeaderLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getPduPayload() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h:246,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: pcpp::SomeIpLayer::getPduPayloadSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeaderLen
    - pcpp::SomeIpLayer::getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t getPduPayloadSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getLengthField
      Src: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: pcpp::SomeIpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 3
    functionsReached:
    - pcpp::SomeIpLayer::getLengthField
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: pcpp::SomeIpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: pcpp::SomeIpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: pcpp::SomeIpLayer::SomeIpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: pcpp::SomeIpLayer::getSomeIpHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getSomeIpHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: pcpp::SomeIpTpLayer::SomeIpTpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpTpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: ~SomeIpTpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SomeIpTpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<someiptphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: pcpp::SomeIpTpLayer::getSomeIpTpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<someiptphdr*>
    linkageType: ''
    returnType: someiptphdr
    signature: someiptphdr * getSomeIpTpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: pcpp::SomeIpTpLayer::getSomeIpHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getSomeIpHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: pcpp::SomeIpLayer::SomeIpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ~SomeIpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SomeIpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<someiphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: pcpp::SomeIpLayer::getSomeIpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 46
    functionsReached:
    - reinterpret_cast<someiphdr*>
    linkageType: ''
    returnType: someiphdr
    signature: someiphdr * getSomeIpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getSomeIpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: pcpp::SomeIpLayer::getPduPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeaderLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getPduPayload() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h:246,1
    - Dst: pcpp::SomeIpLayer::getSomeIpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: pcpp::SomeIpLayer::getPduPayloadSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::getSomeIpHeaderLen
    - pcpp::SomeIpLayer::getHeaderLen
    linkageType: ''
    returnType: size_t
    signature: size_t getPduPayloadSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::getLengthField
      Src: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: pcpp::SomeIpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 4
    functionsReached:
    - pcpp::SomeIpLayer::getLengthField
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: pcpp::SomeIpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: pcpp::SomeIpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: pcpp::SomeIpLayer::SomeIpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: pcpp::SomeIpLayer::getSomeIpHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getSomeIpHeaderLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: pcpp::SomeIpTpLayer::SomeIpTpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpTpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: ~SomeIpTpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SomeIpTpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<someiptphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: pcpp::SomeIpTpLayer::getSomeIpTpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<someiptphdr*>
    linkageType: ''
    returnType: someiptphdr
    signature: someiptphdr * getSomeIpTpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: pcpp::SomeIpTpLayer::getSomeIpHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getSomeIpHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: pcpp::SipLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pcpp::SipLayer::isSipPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSipPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - protocol
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: pcpp::SipLayer::SipLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SipLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, ProtocolType protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: pcpp::SipLayer::SipLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SipLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SipLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: pcpp::SipLayer::SipLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SipLayer(const SipLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextBasedProtocolMessage::operator=
      Src: /src/PcapPlusPlus/Packet++/header/SipLayer.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SipLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: '& operator=(const SipLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached:
    - TextBasedProtocolMessage::operator=
    linkageType: ''
    returnType: SipLayer
    signature: SipLayer & operator=(const SipLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: pcpp::SipLayer::getHeaderFieldNameValueSeparator
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getHeaderFieldNameValueSeparator() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: pcpp::SipLayer::spacesAllowedBetweenHeaderFieldNameAndValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool spacesAllowedBetweenHeaderFieldNameAndValue() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: pcpp::SipRequestLayer::getFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SipRequestFirstLine
    signature: SipRequestFirstLine * getFirstLine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: pcpp::SipResponseLayer::getFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SipResponseFirstLine
    signature: SipResponseFirstLine * getFirstLine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: pcpp::SipRequestFirstLine::getMethod
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SipRequestLayer::SipMethod
    signature: SipRequestLayer::SipMethod getMethod() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: pcpp::SipRequestFirstLine::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 586
    functionName: pcpp::SipRequestFirstLine::getSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: pcpp::SipRequestFirstLine::isComplete
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isComplete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 605
    functionName: ~SipRequestFirstLineException() noexcept
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SipRequestFirstLineException() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: pcpp::SipRequestFirstLine::SipRequestFirstLineException::setMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMessage(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/header/SipLayer.h:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: pcpp::SipRequestFirstLine::SipRequestFirstLineException::what
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: pcpp::SipResponseFirstLine::getStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SipResponseLayer::SipResponseStatusCode
    signature: SipResponseLayer::SipResponseStatusCode getStatusCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: pcpp::SipResponseFirstLine::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: pcpp::SipResponseFirstLine::getSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: pcpp::SipResponseFirstLine::isComplete
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isComplete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 730
    functionName: ~SipResponseFirstLineException() noexcept
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SipResponseFirstLineException() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 734
    functionName: pcpp::SipResponseFirstLine::SipResponseFirstLineException::setMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMessage(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/header/SipLayer.h:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 738
    functionName: pcpp::SipResponseFirstLine::SipResponseFirstLineException::what
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: pcpp::SipLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pcpp::SipLayer::isSipPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSipPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - protocol
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: pcpp::SipLayer::SipLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SipLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, ProtocolType protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: pcpp::SipLayer::SipLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SipLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SipLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: pcpp::SipLayer::SipLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SipLayer(const SipLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TextBasedProtocolMessage::operator=
      Src: /src/PcapPlusPlus/Packet++/header/SipLayer.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SipLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: '& operator=(const SipLayer& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached:
    - TextBasedProtocolMessage::operator=
    linkageType: ''
    returnType: SipLayer
    signature: SipLayer & operator=(const SipLayer& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: pcpp::SipLayer::getHeaderFieldNameValueSeparator
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getHeaderFieldNameValueSeparator() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: pcpp::SipLayer::spacesAllowedBetweenHeaderFieldNameAndValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool spacesAllowedBetweenHeaderFieldNameAndValue() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: pcpp::SipRequestLayer::getFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SipRequestFirstLine
    signature: SipRequestFirstLine * getFirstLine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: pcpp::SipResponseLayer::getFirstLine
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SipResponseFirstLine
    signature: SipResponseFirstLine * getFirstLine() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: pcpp::SipRequestFirstLine::getMethod
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SipRequestLayer::SipMethod
    signature: SipRequestLayer::SipMethod getMethod() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: pcpp::SipRequestFirstLine::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 586
    functionName: pcpp::SipRequestFirstLine::getSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: pcpp::SipRequestFirstLine::isComplete
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isComplete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 605
    functionName: ~SipRequestFirstLineException() noexcept
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SipRequestFirstLineException() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: pcpp::SipRequestFirstLine::SipRequestFirstLineException::setMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMessage(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/header/SipLayer.h:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: pcpp::SipRequestFirstLine::SipRequestFirstLineException::what
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: pcpp::SipResponseFirstLine::getStatusCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SipResponseLayer::SipResponseStatusCode
    signature: SipResponseLayer::SipResponseStatusCode getStatusCode() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: pcpp::SipResponseFirstLine::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: pcpp::SipResponseFirstLine::getSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: pcpp::SipResponseFirstLine::isComplete
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isComplete() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 730
    functionName: ~SipResponseFirstLineException() noexcept
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SipResponseFirstLineException() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 734
    functionName: pcpp::SipResponseFirstLine::SipResponseFirstLineException::setMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setMessage(const std::string& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PcapPlusPlus/Packet++/header/SipLayer.h:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 738
    functionName: pcpp::SipResponseFirstLine::SipResponseFirstLineException::what
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pcpp::IPLayer::IPLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~IPLayer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IPLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: pcpp::IPLayer::IPLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~IPLayer()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IPLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: pcpp::PostgresMessageType::PostgresMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresMessageType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: pcpp::PostgresMessageType::PostgresMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresMessageType(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' messageType'
    argTypes:
    - std::ostream
    - PostgresMessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: '& operator<<(std::ostream& os, const PostgresMessageType& messageType)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const PostgresMessageType&
      messageType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: operator std::string() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: ~PostgresMessage()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PostgresMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: pcpp::PostgresMessage::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PostgresMessageType
    signature: PostgresMessageType getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOrigin
      Src: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: pcpp::PostgresMessage::getMessageOrigin
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached:
    - getOrigin
    linkageType: ''
    returnType: PostgresMessageOrigin
    signature: PostgresMessageOrigin getMessageOrigin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: pcpp::PostgresMessage::getTotalMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalMessageLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - ' messageType'
    argTypes:
    - uint8_t*
    - size_t
    - PostgresMessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: pcpp::PostgresMessage::PostgresMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresMessage(const uint8_t* data, size_t dataLen, const PostgresMessageType&
      messageType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: pcpp::PostgresStartupMessage::PostgresStartupMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresStartupMessage(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: pcpp::PostgresParameterStatus::PostgresParameterStatus
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresParameterStatus(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: pcpp::PostgresQueryMessage::PostgresQueryMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresQueryMessage(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: pcpp::PostgresRowDescriptionMessage::PostgresRowDescriptionMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresRowDescriptionMessage(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 390
    functionName: pcpp::PostgresDataRowMessage::ColumnData::ColumnData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ColumnData(const uint8_t* data, size_t dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 400
    functionName: pcpp::PostgresDataRowMessage::ColumnData::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: pcpp::PostgresDataRowMessage::ColumnData::isNull
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: pcpp::PostgresDataRowMessage::PostgresDataRowMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresDataRowMessage(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 488
    functionName: pcpp::PostgresErrorResponseMessage::PostgresErrorResponseMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresErrorResponseMessage(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: ~PostgresLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PostgresLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: pcpp::PostgresLayer::isPostgresPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isPostgresPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: pcpp::PostgresLayer::getPostgresOrigin
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PostgresMessageOrigin
    signature: PostgresMessageOrigin getPostgresOrigin() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPostgresMessages
      Src: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h:551,1
    - Dst: dynamic_cast<const TMessage*>
      Src: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: pcpp::PostgresLayer::getPostgresMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached:
    - getPostgresMessages
    - dynamic_cast<const TMessage*>
    linkageType: ''
    returnType: TMessage
    signature: TMessage * getPostgresMessage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: pcpp::PostgresLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 573
    functionName: pcpp::PostgresLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 577
    functionName: pcpp::PostgresLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 583
    functionName: pcpp::PostgresLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - messageOrigin
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - PostgresMessageOrigin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: pcpp::PostgresLayer::PostgresLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PostgresLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet,\n\t\t              PostgresMessageOrigin messageOrigin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: pcpp::PostgresMessageType::PostgresMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresMessageType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: pcpp::PostgresMessageType::PostgresMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresMessageType(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' messageType'
    argTypes:
    - std::ostream
    - PostgresMessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: '& operator<<(std::ostream& os, const PostgresMessageType& messageType)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const PostgresMessageType&
      messageType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: operator std::string() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: ~PostgresMessage()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PostgresMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: pcpp::PostgresMessage::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PostgresMessageType
    signature: PostgresMessageType getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOrigin
      Src: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: pcpp::PostgresMessage::getMessageOrigin
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached:
    - getOrigin
    linkageType: ''
    returnType: PostgresMessageOrigin
    signature: PostgresMessageOrigin getMessageOrigin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: pcpp::PostgresMessage::getTotalMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalMessageLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - ' messageType'
    argTypes:
    - uint8_t*
    - size_t
    - PostgresMessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: pcpp::PostgresMessage::PostgresMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresMessage(const uint8_t* data, size_t dataLen, const PostgresMessageType&
      messageType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: pcpp::PostgresStartupMessage::PostgresStartupMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresStartupMessage(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: pcpp::PostgresParameterStatus::PostgresParameterStatus
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresParameterStatus(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: pcpp::PostgresQueryMessage::PostgresQueryMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresQueryMessage(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: pcpp::PostgresRowDescriptionMessage::PostgresRowDescriptionMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresRowDescriptionMessage(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 390
    functionName: pcpp::PostgresDataRowMessage::ColumnData::ColumnData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ColumnData(const uint8_t* data, size_t dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 400
    functionName: pcpp::PostgresDataRowMessage::ColumnData::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: pcpp::PostgresDataRowMessage::ColumnData::isNull
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: pcpp::PostgresDataRowMessage::PostgresDataRowMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresDataRowMessage(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 488
    functionName: pcpp::PostgresErrorResponseMessage::PostgresErrorResponseMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PostgresErrorResponseMessage(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: ~PostgresLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PostgresLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: pcpp::PostgresLayer::isPostgresPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isPostgresPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: pcpp::PostgresLayer::getPostgresOrigin
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PostgresMessageOrigin
    signature: PostgresMessageOrigin getPostgresOrigin() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPostgresMessages
      Src: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h:551,1
    - Dst: dynamic_cast<const TMessage*>
      Src: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: pcpp::PostgresLayer::getPostgresMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached:
    - getPostgresMessages
    - dynamic_cast<const TMessage*>
    linkageType: ''
    returnType: TMessage
    signature: TMessage * getPostgresMessage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: pcpp::PostgresLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 573
    functionName: pcpp::PostgresLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 577
    functionName: pcpp::PostgresLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 583
    functionName: pcpp::PostgresLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - messageOrigin
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - PostgresMessageOrigin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: pcpp::PostgresLayer::PostgresLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PostgresLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet,\n\t\t              PostgresMessageOrigin messageOrigin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: pcpp::LLCLayer::LLCLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LLCLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LLCLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<llc_header*>
      Src: /src/PcapPlusPlus/Packet++/header/LLCLayer.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: pcpp::LLCLayer::getLlcHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LLCLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<llc_header*>
    linkageType: ''
    returnType: llc_header
    signature: llc_header * getLlcHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: pcpp::LLCLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LLCLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: pcpp::LLCLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LLCLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: pcpp::LLCLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LLCLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: pcpp::LLCLayer::LLCLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LLCLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LLCLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<llc_header*>
      Src: /src/PcapPlusPlus/Packet++/header/LLCLayer.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: pcpp::LLCLayer::getLlcHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LLCLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<llc_header*>
    linkageType: ''
    returnType: llc_header
    signature: llc_header * getLlcHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: pcpp::LLCLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LLCLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: pcpp::LLCLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LLCLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: pcpp::LLCLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LLCLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: pcpp::getAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: pcpp::IcmpLayer::IcmpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IcmpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: ~IcmpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IcmpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<icmphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: pcpp::IcmpLayer::getIcmpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    functionUses: 34
    functionsReached:
    - reinterpret_cast<icmphdr*>
    linkageType: ''
    returnType: icmphdr
    signature: icmphdr * getIcmpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - IcmpMessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: pcpp::IcmpLayer::isMessageOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    functionUses: 30
    functionsReached:
    - pcpp::IcmpLayer::getMessageType
    linkageType: ''
    returnType: bool
    signature: bool isMessageOfType(IcmpMessageType type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 614
    functionName: pcpp::IcmpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 659
    functionName: pcpp::IcmpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IcmpLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: pcpp::getAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: pcpp::IcmpLayer::IcmpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IcmpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: ~IcmpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IcmpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<icmphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: pcpp::IcmpLayer::getIcmpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    functionUses: 34
    functionsReached:
    - reinterpret_cast<icmphdr*>
    linkageType: ''
    returnType: icmphdr
    signature: icmphdr * getIcmpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpLayer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - IcmpMessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: pcpp::IcmpLayer::isMessageOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    functionUses: 30
    functionsReached:
    - pcpp::IcmpLayer::getMessageType
    linkageType: ''
    returnType: bool
    signature: bool isMessageOfType(IcmpMessageType type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 614
    functionName: pcpp::IcmpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 659
    functionName: pcpp::IcmpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IcmpLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~GreLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GreLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: pcpp::GreLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - protocol
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: pcpp::GreLayer::GreLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GreLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, ProtocolType protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: pcpp::GreLayer::GreLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GreLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: pcpp::GREv0Layer::GREv0Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GREv0Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: ~GREv0Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GREv0Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<gre_basic_header*>
      Src: /src/PcapPlusPlus/Packet++/header/GreLayer.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: pcpp::GREv0Layer::getGreHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 16
    functionsReached:
    - reinterpret_cast<gre_basic_header*>
    linkageType: ''
    returnType: gre_basic_header
    signature: gre_basic_header * getGreHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: pcpp::GREv0Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: pcpp::GREv1Layer::GREv1Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GREv1Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: ~GREv1Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GREv1Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<gre1_header*>
      Src: /src/PcapPlusPlus/Packet++/header/GreLayer.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: pcpp::GREv1Layer::getGreHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<gre1_header*>
    linkageType: ''
    returnType: gre1_header
    signature: gre1_header * getGreHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: pcpp::GREv1Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: pcpp::PPP_PPTPLayer::PPP_PPTPLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PPP_PPTPLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: ~PPP_PPTPLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PPP_PPTPLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ppp_pptp_header*>
      Src: /src/PcapPlusPlus/Packet++/header/GreLayer.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<ppp_pptp_header*>
    linkageType: ''
    returnType: ppp_pptp_header
    signature: ppp_pptp_header * getPPP_PPTPHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: pcpp::PPP_PPTPLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: pcpp::PPP_PPTPLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: pcpp::PPP_PPTPLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: pcpp::PPP_PPTPLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PPP_PPTPLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: ~GreLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GreLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: pcpp::GreLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - protocol
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: pcpp::GreLayer::GreLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GreLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, ProtocolType protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: pcpp::GreLayer::GreLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GreLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: pcpp::GREv0Layer::GREv0Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GREv0Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: ~GREv0Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GREv0Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<gre_basic_header*>
      Src: /src/PcapPlusPlus/Packet++/header/GreLayer.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: pcpp::GREv0Layer::getGreHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 16
    functionsReached:
    - reinterpret_cast<gre_basic_header*>
    linkageType: ''
    returnType: gre_basic_header
    signature: gre_basic_header * getGreHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: pcpp::GREv0Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: pcpp::GREv1Layer::GREv1Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GREv1Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: ~GREv1Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GREv1Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<gre1_header*>
      Src: /src/PcapPlusPlus/Packet++/header/GreLayer.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: pcpp::GREv1Layer::getGreHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<gre1_header*>
    linkageType: ''
    returnType: gre1_header
    signature: gre1_header * getGreHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: pcpp::GREv1Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: pcpp::PPP_PPTPLayer::PPP_PPTPLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PPP_PPTPLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: ~PPP_PPTPLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PPP_PPTPLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ppp_pptp_header*>
      Src: /src/PcapPlusPlus/Packet++/header/GreLayer.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<ppp_pptp_header*>
    linkageType: ''
    returnType: ppp_pptp_header
    signature: ppp_pptp_header * getPPP_PPTPHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: pcpp::PPP_PPTPLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: pcpp::PPP_PPTPLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: pcpp::PPP_PPTPLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: pcpp::PPP_PPTPLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PPP_PPTPLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: pcpp::VxlanLayer::VxlanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VxlanLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: ~VxlanLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VxlanLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<vxlan_header>
      Src: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: pcpp::VxlanLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<vxlan_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vxlan_header*>
      Src: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::VxlanLayer::getVxlanHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<vxlan_header*>
    linkageType: ''
    returnType: vxlan_header
    signature: vxlan_header * getVxlanHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: pcpp::VxlanLayer::isVxlanPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVxlanPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pcpp::VxlanLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: pcpp::VxlanLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: pcpp::VxlanLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: pcpp::VxlanLayer::VxlanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VxlanLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: ~VxlanLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VxlanLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<vxlan_header>
      Src: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: pcpp::VxlanLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<vxlan_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vxlan_header*>
      Src: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::VxlanLayer::getVxlanHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<vxlan_header*>
    linkageType: ''
    returnType: vxlan_header
    signature: vxlan_header * getVxlanHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: pcpp::VxlanLayer::isVxlanPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVxlanPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pcpp::VxlanLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: pcpp::VxlanLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: pcpp::VxlanLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ProtocolTypeFamily>
      Src: /src/PcapPlusPlus/Packet++/header/ProtocolType.h:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - family
    - protocol
    argTypes:
    - ProtocolTypeFamily
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: pcpp::internal::protoFamilyContainsProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ProtocolType.h
    functionUses: 2
    functionsReached:
    - static_cast<ProtocolTypeFamily>
    linkageType: ''
    returnType: bool
    signature: bool protoFamilyContainsProtocol(ProtocolTypeFamily family, ProtocolType
      protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ProtocolTypeFamily>
      Src: /src/PcapPlusPlus/Packet++/header/ProtocolType.h:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - family
    - protocol
    argTypes:
    - ProtocolTypeFamily
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: pcpp::internal::protoFamilyContainsProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ProtocolType.h
    functionUses: 2
    functionsReached:
    - static_cast<ProtocolTypeFamily>
    linkageType: ''
    returnType: bool
    signature: bool protoFamilyContainsProtocol(ProtocolTypeFamily family, ProtocolType
      protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ProtocolTypeFamily>
      Src: /src/PcapPlusPlus/Packet++/header/ProtocolType.h:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - family
    - protocol
    argTypes:
    - ProtocolTypeFamily
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: pcpp::internal::protoFamilyContainsProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ProtocolType.h
    functionUses: 2
    functionsReached:
    - static_cast<ProtocolTypeFamily>
    linkageType: ''
    returnType: bool
    signature: bool protoFamilyContainsProtocol(ProtocolTypeFamily family, ProtocolType
      protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ProtocolTypeFamily>
      Src: /src/PcapPlusPlus/Packet++/header/ProtocolType.h:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - family
    - protocol
    argTypes:
    - ProtocolTypeFamily
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: pcpp::internal::protoFamilyContainsProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ProtocolType.h
    functionUses: 2
    functionsReached:
    - static_cast<ProtocolTypeFamily>
    linkageType: ''
    returnType: bool
    signature: bool protoFamilyContainsProtocol(ProtocolTypeFamily family, ProtocolType
      protocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: pcpp::DnsLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: pcpp::DnsLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: pcpp::DnsLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: pcpp::DnsLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: pcpp::DnsOverTcpLayer::DnsOverTcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsOverTcpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: pcpp::DnsOverTcpLayer::DnsOverTcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsOverTcpLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DnsOverTcpLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 451
    functionName: pcpp::DnsOverTcpLayer::DnsOverTcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsOverTcpLayer(const DnsOverTcpLayer& other)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 479
    functionName: pcpp::DnsLayer::isDnsPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::isDnsPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - data
    - dataLen
    - dnsOverTcp
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: pcpp::DnsLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::isDataValid(const uint8_t* data, size_t dataLen, bool
      dnsOverTcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: pcpp::DnsLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: pcpp::DnsLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: pcpp::DnsLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: pcpp::DnsLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: pcpp::DnsOverTcpLayer::DnsOverTcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsOverTcpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: pcpp::DnsOverTcpLayer::DnsOverTcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsOverTcpLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DnsOverTcpLayer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 451
    functionName: pcpp::DnsOverTcpLayer::DnsOverTcpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsOverTcpLayer(const DnsOverTcpLayer& other)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 479
    functionName: pcpp::DnsLayer::isDnsPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::isDnsPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - data
    - dataLen
    - dnsOverTcp
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: pcpp::DnsLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DnsLayer::isDataValid(const uint8_t* data, size_t dataLen, bool
      dnsOverTcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: pcpp::StpLayer::StpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: pcpp::StpLayer::StpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - allocData
    linkageType: ''
    returnType: void
    signature: void StpLayer(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<stp_header*>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: pcpp::StpLayer::getStpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<stp_header*>
    linkageType: ''
    returnType: stp_header
    signature: stp_header * getStpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::getStpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: pcpp::StpLayer::getProtoId
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpLayer::getStpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getProtoId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::getStpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: pcpp::StpLayer::setProtoId
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpLayer::getStpHeader
    linkageType: ''
    returnType: void
    signature: void setProtoId(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::getStpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: pcpp::StpLayer::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpLayer::getStpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::getStpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: pcpp::StpLayer::setVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpLayer::getStpHeader
    linkageType: ''
    returnType: void
    signature: void setVersion(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::getStpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: pcpp::StpLayer::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpLayer::getStpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::getStpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: pcpp::StpLayer::setType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpLayer::getStpHeader
    linkageType: ''
    returnType: void
    signature: void setType(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: pcpp::StpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: pcpp::StpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: pcpp::StpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: pcpp::StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StpTopologyChangeBPDULayer(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: pcpp::StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StpTopologyChangeBPDULayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getStpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: pcpp::StpTopologyChangeBPDULayer::getStpTcnHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - getStpHeader
    linkageType: ''
    returnType: stp_tcn_bpdu
    signature: stp_tcn_bpdu * getStpTcnHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: pcpp::StpTopologyChangeBPDULayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: pcpp::StpTopologyChangeBPDULayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<stp_tcn_bpdu>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: pcpp::StpTopologyChangeBPDULayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 2
    functionsReached:
    - canReinterpretAs<stp_tcn_bpdu>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: pcpp::StpConfigurationBPDULayer::StpConfigurationBPDULayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: pcpp::StpConfigurationBPDULayer::StpConfigurationBPDULayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<stp_conf_bpdu*>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: pcpp::StpConfigurationBPDULayer::getStpConfHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 48
    functionsReached:
    - reinterpret_cast<stp_conf_bpdu*>
    linkageType: ''
    returnType: stp_conf_bpdu
    signature: stp_conf_bpdu * getStpConfHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: pcpp::StpConfigurationBPDULayer::getFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getFlag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: pcpp::StpConfigurationBPDULayer::setFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: void
    signature: void setFlag(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDtoMacAddress
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:353,1
    - Dst: pcpp::StpConfigurationBPDULayer::getRootId
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: pcpp::StpConfigurationBPDULayer::getRootSystemID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getRootId
    - IDtoMacAddress
    linkageType: ''
    returnType: pcpp::MacAddress
    signature: pcpp::MacAddress getRootSystemID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDtoMacAddress
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:396,1
    - Dst: pcpp::StpConfigurationBPDULayer::getBridgeId
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: pcpp::StpConfigurationBPDULayer::getBridgeSystemID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - IDtoMacAddress
    - pcpp::StpConfigurationBPDULayer::getBridgeId
    linkageType: ''
    returnType: pcpp::MacAddress
    signature: pcpp::MacAddress getBridgeSystemID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: pcpp::StpConfigurationBPDULayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: pcpp::StpConfigurationBPDULayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<stp_conf_bpdu>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: pcpp::StpConfigurationBPDULayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 2
    functionsReached:
    - canReinterpretAs<stp_conf_bpdu>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: pcpp::RapidStpLayer::RapidStpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RapidStpLayer(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: pcpp::RapidStpLayer::RapidStpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RapidStpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<rstp_conf_bpdu*>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: pcpp::RapidStpLayer::getRstpConfHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<rstp_conf_bpdu*>
    linkageType: ''
    returnType: rstp_conf_bpdu
    signature: rstp_conf_bpdu * getRstpConfHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RapidStpLayer::getRstpConfHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: pcpp::RapidStpLayer::getVersion1Len
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::RapidStpLayer::getRstpConfHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getVersion1Len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RapidStpLayer::getRstpConfHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: pcpp::RapidStpLayer::setVersion1Len
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::RapidStpLayer::getRstpConfHeader
    linkageType: ''
    returnType: void
    signature: void setVersion1Len(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: pcpp::RapidStpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: pcpp::RapidStpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<rstp_conf_bpdu>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: pcpp::RapidStpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 2
    functionsReached:
    - canReinterpretAs<rstp_conf_bpdu>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: pcpp::MultipleStpLayer::MultipleStpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<mstp_conf_bpdu*>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: pcpp::MultipleStpLayer::getMstpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 30
    functionsReached:
    - reinterpret_cast<mstp_conf_bpdu*>
    linkageType: ''
    returnType: mstp_conf_bpdu
    signature: mstp_conf_bpdu * getMstpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 578
    functionName: pcpp::MultipleStpLayer::getMstConfigurationFormatSelector
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getMstConfigurationFormatSelector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: pcpp::MultipleStpLayer::setMstConfigurationFormatSelector
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: void
    signature: void setMstConfigurationFormatSelector(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: pcpp::MultipleStpLayer::getMstConfigDigest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getMstConfigDigest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDtoMacAddress
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:652,1
    - Dst: pcpp::MultipleStpLayer::getCISTBridgeId
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 653
    functionName: pcpp::MultipleStpLayer::getCISTBridgeSystemID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - IDtoMacAddress
    - pcpp::MultipleStpLayer::getCISTBridgeId
    linkageType: ''
    returnType: pcpp::MacAddress
    signature: pcpp::MacAddress getCISTBridgeSystemID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 664
    functionName: pcpp::MultipleStpLayer::getRemainingHopCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getRemainingHopCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: pcpp::MultipleStpLayer::setRemainingHopCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: void
    signature: void setRemainingHopCount(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getVersion3Len
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: pcpp::MultipleStpLayer::getNumberOfMSTIConfMessages
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 2
    functionsReached:
    - pcpp::MultipleStpLayer::getVersion3Len
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getNumberOfMSTIConfMessages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 690
    functionName: pcpp::MultipleStpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 696
    functionName: pcpp::MultipleStpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<mstp_conf_bpdu>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 705
    functionName: pcpp::MultipleStpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 2
    functionsReached:
    - canReinterpretAs<mstp_conf_bpdu>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: pcpp::StpLayer::StpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocData
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: pcpp::StpLayer::StpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - allocData
    linkageType: ''
    returnType: void
    signature: void StpLayer(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<stp_header*>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: pcpp::StpLayer::getStpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<stp_header*>
    linkageType: ''
    returnType: stp_header
    signature: stp_header * getStpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::getStpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: pcpp::StpLayer::getProtoId
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpLayer::getStpHeader
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getProtoId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::getStpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: pcpp::StpLayer::setProtoId
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpLayer::getStpHeader
    linkageType: ''
    returnType: void
    signature: void setProtoId(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::getStpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: pcpp::StpLayer::getVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpLayer::getStpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::getStpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: pcpp::StpLayer::setVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpLayer::getStpHeader
    linkageType: ''
    returnType: void
    signature: void setVersion(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::getStpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: pcpp::StpLayer::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpLayer::getStpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::getStpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: pcpp::StpLayer::setType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpLayer::getStpHeader
    linkageType: ''
    returnType: void
    signature: void setType(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: pcpp::StpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: pcpp::StpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: pcpp::StpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: pcpp::StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StpTopologyChangeBPDULayer(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: pcpp::StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StpTopologyChangeBPDULayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getStpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: pcpp::StpTopologyChangeBPDULayer::getStpTcnHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - getStpHeader
    linkageType: ''
    returnType: stp_tcn_bpdu
    signature: stp_tcn_bpdu * getStpTcnHeader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: pcpp::StpTopologyChangeBPDULayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: pcpp::StpTopologyChangeBPDULayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<stp_tcn_bpdu>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: pcpp::StpTopologyChangeBPDULayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 2
    functionsReached:
    - canReinterpretAs<stp_tcn_bpdu>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: pcpp::StpConfigurationBPDULayer::StpConfigurationBPDULayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: pcpp::StpConfigurationBPDULayer::StpConfigurationBPDULayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StpConfigurationBPDULayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<stp_conf_bpdu*>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: pcpp::StpConfigurationBPDULayer::getStpConfHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 50
    functionsReached:
    - reinterpret_cast<stp_conf_bpdu*>
    linkageType: ''
    returnType: stp_conf_bpdu
    signature: stp_conf_bpdu * getStpConfHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: pcpp::StpConfigurationBPDULayer::getFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getFlag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpConfigurationBPDULayer::getStpConfHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: pcpp::StpConfigurationBPDULayer::setFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getStpConfHeader
    linkageType: ''
    returnType: void
    signature: void setFlag(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDtoMacAddress
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:353,1
    - Dst: pcpp::StpConfigurationBPDULayer::getRootId
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: pcpp::StpConfigurationBPDULayer::getRootSystemID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::getRootId
    - IDtoMacAddress
    linkageType: ''
    returnType: pcpp::MacAddress
    signature: pcpp::MacAddress getRootSystemID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDtoMacAddress
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:396,1
    - Dst: pcpp::StpConfigurationBPDULayer::getBridgeId
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: pcpp::StpConfigurationBPDULayer::getBridgeSystemID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - IDtoMacAddress
    - pcpp::StpConfigurationBPDULayer::getBridgeId
    linkageType: ''
    returnType: pcpp::MacAddress
    signature: pcpp::MacAddress getBridgeSystemID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: pcpp::StpConfigurationBPDULayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: pcpp::StpConfigurationBPDULayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<stp_conf_bpdu>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: pcpp::StpConfigurationBPDULayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 2
    functionsReached:
    - canReinterpretAs<stp_conf_bpdu>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: pcpp::RapidStpLayer::RapidStpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RapidStpLayer(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: pcpp::RapidStpLayer::RapidStpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RapidStpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<rstp_conf_bpdu*>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: pcpp::RapidStpLayer::getRstpConfHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<rstp_conf_bpdu*>
    linkageType: ''
    returnType: rstp_conf_bpdu
    signature: rstp_conf_bpdu * getRstpConfHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RapidStpLayer::getRstpConfHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: pcpp::RapidStpLayer::getVersion1Len
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::RapidStpLayer::getRstpConfHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getVersion1Len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RapidStpLayer::getRstpConfHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: pcpp::RapidStpLayer::setVersion1Len
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::RapidStpLayer::getRstpConfHeader
    linkageType: ''
    returnType: void
    signature: void setVersion1Len(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: pcpp::RapidStpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: pcpp::RapidStpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<rstp_conf_bpdu>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: pcpp::RapidStpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 2
    functionsReached:
    - canReinterpretAs<rstp_conf_bpdu>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: pcpp::MultipleStpLayer::MultipleStpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MultipleStpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<mstp_conf_bpdu*>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: pcpp::MultipleStpLayer::getMstpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 35
    functionsReached:
    - reinterpret_cast<mstp_conf_bpdu*>
    linkageType: ''
    returnType: mstp_conf_bpdu
    signature: mstp_conf_bpdu * getMstpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 578
    functionName: pcpp::MultipleStpLayer::getMstConfigurationFormatSelector
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getMstConfigurationFormatSelector() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: pcpp::MultipleStpLayer::setMstConfigurationFormatSelector
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: void
    signature: void setMstConfigurationFormatSelector(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: pcpp::MultipleStpLayer::getMstConfigDigest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getMstConfigDigest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDtoMacAddress
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:652,1
    - Dst: pcpp::MultipleStpLayer::getCISTBridgeId
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 653
    functionName: pcpp::MultipleStpLayer::getCISTBridgeSystemID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - IDtoMacAddress
    - pcpp::MultipleStpLayer::getCISTBridgeId
    linkageType: ''
    returnType: pcpp::MacAddress
    signature: pcpp::MacAddress getCISTBridgeSystemID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 664
    functionName: pcpp::MultipleStpLayer::getRemainingHopCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getRemainingHopCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getMstpHeader
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: pcpp::MultipleStpLayer::setRemainingHopCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::MultipleStpLayer::getMstpHeader
    linkageType: ''
    returnType: void
    signature: void setRemainingHopCount(uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MultipleStpLayer::getVersion3Len
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: pcpp::MultipleStpLayer::getNumberOfMSTIConfMessages
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 2
    functionsReached:
    - pcpp::MultipleStpLayer::getVersion3Len
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getNumberOfMSTIConfMessages() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 690
    functionName: pcpp::MultipleStpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 696
    functionName: pcpp::MultipleStpLayer::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<mstp_conf_bpdu>
      Src: /src/PcapPlusPlus/Packet++/header/StpLayer.h:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 705
    functionName: pcpp::MultipleStpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    functionUses: 2
    functionsReached:
    - canReinterpretAs<mstp_conf_bpdu>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: pcpp::EthLayer::EthLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EthLayer(uint8_t* data, size_t dataLen, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: pcpp::EthLayer::EthLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EthLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: ~EthLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EthLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ether_header*>
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pcpp::EthLayer::getEthHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<ether_header*>
    linkageType: ''
    returnType: ether_header
    signature: ether_header * getEthHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:107,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::EthLayer::getSourceMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 2
    functionsReached:
    - MacAddress
    - pcpp::EthLayer::getEthHeader
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getSourceMac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:114,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sourceMac'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pcpp::EthLayer::setSourceMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 0
    functionsReached:
    - copyTo
    - pcpp::EthLayer::getEthHeader
    linkageType: ''
    returnType: void
    signature: void setSourceMac(const MacAddress& sourceMac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:121,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: pcpp::EthLayer::getDestMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 2
    functionsReached:
    - MacAddress
    - pcpp::EthLayer::getEthHeader
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getDestMac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:128,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' destMac'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: pcpp::EthLayer::setDestMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 0
    functionsReached:
    - copyTo
    - pcpp::EthLayer::getEthHeader
    linkageType: ''
    returnType: void
    signature: void setDestMac(const MacAddress& destMac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: pcpp::EthLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: pcpp::EthLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: pcpp::EthLayer::EthLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EthLayer(uint8_t* data, size_t dataLen, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: pcpp::EthLayer::EthLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EthLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: ~EthLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EthLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ether_header*>
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pcpp::EthLayer::getEthHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<ether_header*>
    linkageType: ''
    returnType: ether_header
    signature: ether_header * getEthHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:107,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: pcpp::EthLayer::getSourceMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 2
    functionsReached:
    - MacAddress
    - pcpp::EthLayer::getEthHeader
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getSourceMac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:114,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sourceMac'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pcpp::EthLayer::setSourceMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 0
    functionsReached:
    - copyTo
    - pcpp::EthLayer::getEthHeader
    linkageType: ''
    returnType: void
    signature: void setSourceMac(const MacAddress& sourceMac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:121,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: pcpp::EthLayer::getDestMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 2
    functionsReached:
    - MacAddress
    - pcpp::EthLayer::getEthHeader
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getDestMac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:128,1
    - Dst: pcpp::EthLayer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthLayer.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' destMac'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: pcpp::EthLayer::setDestMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 0
    functionsReached:
    - copyTo
    - pcpp::EthLayer::getEthHeader
    linkageType: ''
    returnType: void
    signature: void setDestMac(const MacAddress& destMac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: pcpp::EthLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: pcpp::EthLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: pcpp::MySqlMessageType::MySqlMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySqlMessageType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: pcpp::MySqlMessageType::MySqlMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySqlMessageType(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' messageType'
    argTypes:
    - std::ostream
    - MySqlMessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: '& operator<<(std::ostream& os, const MySqlMessageType& messageType)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const MySqlMessageType&
      messageType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: operator std::string() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: ~MySqlMessage()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MySqlMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: pcpp::MySqlMessage::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySqlMessageType
    signature: MySqlMessageType getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: pcpp::MySqlMessage::getMessageOrigin
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySqlMessageOrigin
    signature: MySqlMessageOrigin getMessageOrigin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: pcpp::MySqlMessage::getTotalMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalMessageLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - ' messageType'
    - origin
    argTypes:
    - uint8_t*
    - size_t
    - MySqlMessageType
    - MySqlMessageOrigin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: pcpp::MySqlMessage::MySqlMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MySqlMessage(const uint8_t* data, size_t dataLen, const MySqlMessageType&
      messageType,\n\t\t             MySqlMessageOrigin origin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - ' messageType'
    - origin
    argTypes:
    - uint8_t*
    - size_t
    - MySqlMessageType
    - MySqlMessageOrigin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: pcpp::MySqlCommandMessage::MySqlCommandMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MySqlCommandMessage(const uint8_t* data, size_t dataLen, const
      MySqlMessageType& messageType,\n\t\t                    MySqlMessageOrigin origin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: pcpp::MySqlQueryMessage::MySqlQueryMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySqlQueryMessage(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: pcpp::MySqlErrorMessage::MySqlErrorMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySqlErrorMessage(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: ~MySqlLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MySqlLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: pcpp::MySqlLayer::isMySqlPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isMySqlPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: pcpp::MySqlLayer::getMySqlOrigin
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySqlMessageOrigin
    signature: MySqlMessageOrigin getMySqlOrigin() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMySqlMessages
      Src: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h:347,1
    - Dst: dynamic_cast<const TMessage*>
      Src: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: pcpp::MySqlLayer::getMySqlMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<const TMessage*>
    - getMySqlMessages
    linkageType: ''
    returnType: TMessage
    signature: TMessage * getMySqlMessage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: pcpp::MySqlLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    functionName: pcpp::MySqlLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: pcpp::MySqlLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: pcpp::MySqlLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - origin
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - MySqlMessageOrigin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: pcpp::MySqlLayer::MySqlLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySqlLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, MySqlMessageOrigin origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: pcpp::MySqlMessageType::MySqlMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySqlMessageType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: pcpp::MySqlMessageType::MySqlMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySqlMessageType(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' messageType'
    argTypes:
    - std::ostream
    - MySqlMessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: '& operator<<(std::ostream& os, const MySqlMessageType& messageType)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const MySqlMessageType&
      messageType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: operator std::string() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: ~MySqlMessage()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MySqlMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: pcpp::MySqlMessage::getMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySqlMessageType
    signature: MySqlMessageType getMessageType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: pcpp::MySqlMessage::getMessageOrigin
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySqlMessageOrigin
    signature: MySqlMessageOrigin getMessageOrigin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: pcpp::MySqlMessage::getTotalMessageLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalMessageLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - ' messageType'
    - origin
    argTypes:
    - uint8_t*
    - size_t
    - MySqlMessageType
    - MySqlMessageOrigin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: pcpp::MySqlMessage::MySqlMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MySqlMessage(const uint8_t* data, size_t dataLen, const MySqlMessageType&
      messageType,\n\t\t             MySqlMessageOrigin origin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - ' messageType'
    - origin
    argTypes:
    - uint8_t*
    - size_t
    - MySqlMessageType
    - MySqlMessageOrigin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: pcpp::MySqlCommandMessage::MySqlCommandMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MySqlCommandMessage(const uint8_t* data, size_t dataLen, const
      MySqlMessageType& messageType,\n\t\t                    MySqlMessageOrigin origin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: pcpp::MySqlQueryMessage::MySqlQueryMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySqlQueryMessage(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: pcpp::MySqlErrorMessage::MySqlErrorMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySqlErrorMessage(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 301
    functionName: ~MySqlLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MySqlLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: pcpp::MySqlLayer::isMySqlPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isMySqlPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: pcpp::MySqlLayer::getMySqlOrigin
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MySqlMessageOrigin
    signature: MySqlMessageOrigin getMySqlOrigin() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMySqlMessages
      Src: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h:347,1
    - Dst: dynamic_cast<const TMessage*>
      Src: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: pcpp::MySqlLayer::getMySqlMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<const TMessage*>
    - getMySqlMessages
    linkageType: ''
    returnType: TMessage
    signature: TMessage * getMySqlMessage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: pcpp::MySqlLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    functionName: pcpp::MySqlLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: pcpp::MySqlLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: pcpp::MySqlLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - origin
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - MySqlMessageOrigin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: pcpp::MySqlLayer::MySqlLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MySqlLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, MySqlMessageOrigin origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: pcpp::X509Algorithm::X509Algorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Algorithm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: pcpp::X509Algorithm::X509Algorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Algorithm(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: pcpp::X520DistinguishedName::X520DistinguishedName
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X520DistinguishedName()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: pcpp::X520DistinguishedName::X520DistinguishedName
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X520DistinguishedName(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: pcpp::X509ExtensionType::X509ExtensionType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509ExtensionType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: pcpp::X509ExtensionType::X509ExtensionType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509ExtensionType(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' serialNumber'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: pcpp::X509SerialNumber::X509SerialNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509SerialNumber(const std::string& serialNumber)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - timeRecord
    argTypes:
    - Asn1TimeRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: pcpp::X509Timestamp::X509Timestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Timestamp(Asn1TimeRecord* timeRecord)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: pcpp::X509Key::X509Key
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Key(const std::vector<uint8_t>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - root
    argTypes:
    - Asn1RecordType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: pcpp::X509Internal::X509Base::X509Base
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Base(Asn1RecordType* root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/X509Decoder.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - root
    argTypes:
    - std::unique_ptr<Asn1Record>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 639
    functionName: pcpp::X509Internal::X509Certificate::X509Certificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void X509Certificate(std::unique_ptr<Asn1Record> root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - root
    argTypes:
    - Asn1RecordType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: pcpp::X509Internal::X509Base::X509Base
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Base(Asn1RecordType* root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/X509Decoder.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - root
    argTypes:
    - std::unique_ptr<Asn1Record>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 639
    functionName: pcpp::X509Internal::X509Certificate::X509Certificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void X509Certificate(std::unique_ptr<Asn1Record> root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RDN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 666
    functionName: operator==(const RDN& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const RDN& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RDN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 672
    functionName: operator!=(const RDN& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const RDN& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type::getShortName
      Src: /src/PcapPlusPlus/Packet++/header/X509Decoder.h:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' rdn'
    argTypes:
    - std::ostream
    - RDN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: '& operator<<(std::ostream& os, const RDN& rdn)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached:
    - type::getShortName
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const RDN& rdn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: '& getRDNs() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<RDN>
    signature: std::vector<RDN> & getRDNs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: pcpp::X509Extension::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: X509ExtensionType
    signature: X509ExtensionType getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 718
    functionName: pcpp::X509Extension::isCritical
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCritical() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 730
    functionName: pcpp::X509Extension::getRawDataAsHexString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getRawDataAsHexString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 817
    functionName: pcpp::X509Certificate::X509Certificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Certificate(const X509Certificate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 818
    functionName: '& operator=(const X509Certificate&)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509Certificate
    signature: X509Certificate & operator=(const X509Certificate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: pcpp::X509Algorithm::X509Algorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Algorithm()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: pcpp::X509Algorithm::X509Algorithm
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Algorithm(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: pcpp::X520DistinguishedName::X520DistinguishedName
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X520DistinguishedName()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: pcpp::X520DistinguishedName::X520DistinguishedName
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X520DistinguishedName(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: pcpp::X509ExtensionType::X509ExtensionType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509ExtensionType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: pcpp::X509ExtensionType::X509ExtensionType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509ExtensionType(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' serialNumber'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: pcpp::X509SerialNumber::X509SerialNumber
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509SerialNumber(const std::string& serialNumber)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - timeRecord
    argTypes:
    - Asn1TimeRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: pcpp::X509Timestamp::X509Timestamp
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Timestamp(Asn1TimeRecord* timeRecord)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: pcpp::X509Key::X509Key
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Key(const std::vector<uint8_t>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - root
    argTypes:
    - Asn1RecordType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: pcpp::X509Internal::X509Base::X509Base
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Base(Asn1RecordType* root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/X509Decoder.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - root
    argTypes:
    - std::unique_ptr<Asn1Record>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 639
    functionName: pcpp::X509Internal::X509Certificate::X509Certificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void X509Certificate(std::unique_ptr<Asn1Record> root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - root
    argTypes:
    - Asn1RecordType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: pcpp::X509Internal::X509Base::X509Base
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Base(Asn1RecordType* root)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/X509Decoder.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - root
    argTypes:
    - std::unique_ptr<Asn1Record>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 639
    functionName: pcpp::X509Internal::X509Certificate::X509Certificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void X509Certificate(std::unique_ptr<Asn1Record> root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RDN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 666
    functionName: operator==(const RDN& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const RDN& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RDN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 672
    functionName: operator!=(const RDN& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const RDN& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type::getShortName
      Src: /src/PcapPlusPlus/Packet++/header/X509Decoder.h:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' rdn'
    argTypes:
    - std::ostream
    - RDN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: '& operator<<(std::ostream& os, const RDN& rdn)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached:
    - type::getShortName
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const RDN& rdn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: '& getRDNs() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<RDN>
    signature: std::vector<RDN> & getRDNs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: pcpp::X509Extension::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: X509ExtensionType
    signature: X509ExtensionType getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 718
    functionName: pcpp::X509Extension::isCritical
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isCritical() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 730
    functionName: pcpp::X509Extension::getRawDataAsHexString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getRawDataAsHexString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 817
    functionName: pcpp::X509Certificate::X509Certificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void X509Certificate(const X509Certificate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 818
    functionName: '& operator=(const X509Certificate&)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: X509Certificate
    signature: X509Certificate & operator=(const X509Certificate&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: pcpp::IPv4TimestampOptionValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4TimestampOptionValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:192,1
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: pcpp::clear
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 1
    functionsReached:
    - pcpp::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: pcpp::IPv4Option::IPv4Option
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4Option(uint8_t* optionRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: ~IPv4Option() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IPv4Option() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Option::getDataSize
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:224,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:228,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:230,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:233,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:237,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:237,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 243
    functionName: pcpp::IPv4Option::getValueAsIpList
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    - static_cast<uint8_t>
    - static_cast<size_t>
    - std::vector::push_back
    - memcpy
    - pcpp::IPv4Option::getDataSize
    linkageType: ''
    returnType: std::vector<IPv4Address>
    signature: std::vector<IPv4Address> getValueAsIpList() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IPv4TimestampOptionValue::clear
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:255,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:260,1
    - Dst: pcpp::IPv4Option::getDataSize
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:263,1
    - Dst: static_cast<IPv4TimestampOptionValue::TimestampType>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:267,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:269,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:272,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:275,1
    - Dst: IPv4TimestampOptionValue::ipAddresses::push_back
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:280,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:280,1
    - Dst: IPv4TimestampOptionValue::timestamps::push_back
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:282,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:287,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 291
    functionName: pcpp::IPv4Option::getTimestampOptionValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    - IPv4TimestampOptionValue::clear
    - static_cast<uint8_t>
    - static_cast<size_t>
    - IPv4TimestampOptionValue::ipAddresses::push_back
    - pcpp::IPv4Option::getIPv4OptionType
    - memcpy
    - IPv4TimestampOptionValue::timestamps::push_back
    - pcpp::IPv4Option::getDataSize
    - static_cast<IPv4TimestampOptionValue::TimestampType>
    linkageType: ''
    returnType: IPv4TimestampOptionValue
    signature: IPv4TimestampOptionValue getTimestampOptionValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: pcpp::IPv4Option::getIPv4OptionType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 2
    functionsReached:
    - pcpp::IPv4Option::getIPv4OptionType
    linkageType: ''
    returnType: IPv4OptionTypes
    signature: IPv4OptionTypes getIPv4OptionType() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TLVRawData const*>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:305,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:312,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:312,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:313,1
    - Dst: pcpp::TcpOption::canAssign
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - recordRawData
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 317
    functionName: pcpp::IPv4Option::canAssign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::TcpOption::canAssign
    - pcpp::IPv4Option::getIPv4OptionType
    - reinterpret_cast<TLVRawData const*>
    linkageType: ''
    returnType: bool
    signature: bool canAssign(const uint8_t* recordRawData, size_t tlvDataLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:326,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:326,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:327,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: pcpp::IPv4Option::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - static_cast<uint8_t>
    - pcpp::IPv4Option::getIPv4OptionType
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalSize() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:338,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:338,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:339,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: pcpp::IPv4Option::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - static_cast<uint8_t>
    - pcpp::IPv4Option::getIPv4OptionType
    linkageType: ''
    returnType: size_t
    signature: size_t getDataSize() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<IPv4OptionTypes>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - TLVRawData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: pcpp::IPv4Option::getIPv4OptionType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 5
    functionsReached:
    - static_cast<IPv4OptionTypes>
    linkageType: ''
    returnType: IPv4OptionTypes
    signature: IPv4OptionTypes getIPv4OptionType(const TLVRawData* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - optionType
    - optionValue
    - optionValueLen
    argTypes:
    - IPv4OptionTypes
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4OptionBuilder(IPv4OptionTypes optionType, const uint8_t* optionValue,
      uint8_t optionValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - IPv4OptionTypes
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4OptionBuilder(IPv4OptionTypes optionType, uint16_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<iphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: pcpp::IPv4Layer::getIPv4Header
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 18
    functionsReached:
    - reinterpret_cast<iphdr*>
    linkageType: ''
    returnType: iphdr
    signature: iphdr * getIPv4Header() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: pcpp::IPv4Layer::getSrcIPAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getSrcIPv4Address
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getSrcIPAddress() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: pcpp::IPv4Layer::getSrcIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 3
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getSrcIPv4Address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:471,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: pcpp::IPv4Layer::setSrcIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    - toInt
    linkageType: ''
    returnType: void
    signature: void setSrcIPv4Address(const IPv4Address& ipAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getDstIPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: pcpp::IPv4Layer::getDstIPAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getDstIPv4Address
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getDstIPAddress() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: pcpp::IPv4Layer::getDstIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 3
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getDstIPv4Address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:493,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: pcpp::IPv4Layer::setDstIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    - toInt
    linkageType: ''
    returnType: void
    signature: void setDstIPv4Address(const IPv4Address& ipAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:583,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:583,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: pcpp::IPv4Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 18
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    - static_cast<uint16_t>
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: pcpp::IPv4Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 617
    functionName: pcpp::IPv4Layer::getOptionsBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getOptionsBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const iphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:628,1
    - Dst: canReinterpretAs<iphdr>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: pcpp::IPv4Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 2
    functionsReached:
    - canReinterpretAs<iphdr>
    - reinterpret_cast<const iphdr*>
    linkageType: ''
    returnType: bool
    signature: bool IPv4Layer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: pcpp::IPv4TimestampOptionValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4TimestampOptionValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:192,1
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: pcpp::clear
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 2
    functionsReached:
    - pcpp::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: pcpp::IPv4Option::IPv4Option
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4Option(uint8_t* optionRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: ~IPv4Option() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IPv4Option() override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Option::getDataSize
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:224,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:228,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:230,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:233,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:237,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:237,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 243
    functionName: pcpp::IPv4Option::getValueAsIpList
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    - static_cast<uint8_t>
    - static_cast<size_t>
    - std::vector::push_back
    - memcpy
    - pcpp::IPv4Option::getDataSize
    linkageType: ''
    returnType: std::vector<IPv4Address>
    signature: std::vector<IPv4Address> getValueAsIpList() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IPv4TimestampOptionValue::clear
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:255,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:260,1
    - Dst: pcpp::IPv4Option::getDataSize
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:263,1
    - Dst: static_cast<IPv4TimestampOptionValue::TimestampType>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:267,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:269,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:272,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:275,1
    - Dst: IPv4TimestampOptionValue::ipAddresses::push_back
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:280,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:280,1
    - Dst: IPv4TimestampOptionValue::timestamps::push_back
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:282,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:287,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 291
    functionName: pcpp::IPv4Option::getTimestampOptionValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    - IPv4TimestampOptionValue::clear
    - static_cast<uint8_t>
    - static_cast<size_t>
    - IPv4TimestampOptionValue::ipAddresses::push_back
    - pcpp::IPv4Option::getIPv4OptionType
    - memcpy
    - IPv4TimestampOptionValue::timestamps::push_back
    - pcpp::IPv4Option::getDataSize
    - static_cast<IPv4TimestampOptionValue::TimestampType>
    linkageType: ''
    returnType: IPv4TimestampOptionValue
    signature: IPv4TimestampOptionValue getTimestampOptionValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: pcpp::IPv4Option::getIPv4OptionType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 7
    functionsReached:
    - pcpp::IPv4Option::getIPv4OptionType
    linkageType: ''
    returnType: IPv4OptionTypes
    signature: IPv4OptionTypes getIPv4OptionType() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TLVRawData const*>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:305,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:312,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:312,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:313,1
    - Dst: pcpp::TcpOption::canAssign
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - recordRawData
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 317
    functionName: pcpp::IPv4Option::canAssign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - pcpp::TcpOption::canAssign
    - pcpp::IPv4Option::getIPv4OptionType
    - reinterpret_cast<TLVRawData const*>
    linkageType: ''
    returnType: bool
    signature: bool canAssign(const uint8_t* recordRawData, size_t tlvDataLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:326,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:326,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:327,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: pcpp::IPv4Option::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - static_cast<uint8_t>
    - pcpp::IPv4Option::getIPv4OptionType
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalSize() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:338,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:338,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:339,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: pcpp::IPv4Option::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 4
    functionsReached:
    - static_cast<size_t>
    - static_cast<uint8_t>
    - pcpp::IPv4Option::getIPv4OptionType
    linkageType: ''
    returnType: size_t
    signature: size_t getDataSize() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<IPv4OptionTypes>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - TLVRawData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: pcpp::IPv4Option::getIPv4OptionType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 10
    functionsReached:
    - static_cast<IPv4OptionTypes>
    linkageType: ''
    returnType: IPv4OptionTypes
    signature: IPv4OptionTypes getIPv4OptionType(const TLVRawData* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - optionType
    - optionValue
    - optionValueLen
    argTypes:
    - IPv4OptionTypes
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4OptionBuilder(IPv4OptionTypes optionType, const uint8_t* optionValue,
      uint8_t optionValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - optionType
    - optionValue
    argTypes:
    - IPv4OptionTypes
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 386
    functionName: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4OptionBuilder(IPv4OptionTypes optionType, uint16_t optionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<iphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: pcpp::IPv4Layer::getIPv4Header
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 23
    functionsReached:
    - reinterpret_cast<iphdr*>
    linkageType: ''
    returnType: iphdr
    signature: iphdr * getIPv4Header() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: pcpp::IPv4Layer::getSrcIPAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getSrcIPv4Address
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getSrcIPAddress() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: pcpp::IPv4Layer::getSrcIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 4
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getSrcIPv4Address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:471,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: pcpp::IPv4Layer::setSrcIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    - toInt
    linkageType: ''
    returnType: void
    signature: void setSrcIPv4Address(const IPv4Address& ipAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getDstIPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: pcpp::IPv4Layer::getDstIPAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getDstIPv4Address
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getDstIPAddress() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: pcpp::IPv4Layer::getDstIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 4
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getDstIPv4Address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:493,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: pcpp::IPv4Layer::setDstIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    - toInt
    linkageType: ''
    returnType: void
    signature: void setDstIPv4Address(const IPv4Address& ipAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:583,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:583,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: pcpp::IPv4Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 18
    functionsReached:
    - pcpp::IPv4Layer::getIPv4Header
    - static_cast<uint16_t>
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: pcpp::IPv4Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 617
    functionName: pcpp::IPv4Layer::getOptionsBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getOptionsBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const iphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:628,1
    - Dst: canReinterpretAs<iphdr>
      Src: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: pcpp::IPv4Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    functionUses: 2
    functionsReached:
    - canReinterpretAs<iphdr>
    - reinterpret_cast<const iphdr*>
    linkageType: ''
    returnType: bool
    signature: bool IPv4Layer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destructPacketData
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: ~Packet()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached:
    - destructPacketData
    linkageType: ''
    returnType: void
    signature: void ~Packet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::copyDataFrom
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached:
    - pcpp::Packet::copyDataFrom
    linkageType: ''
    returnType: void
    signature: void Packet(const Packet& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: pcpp::Packet::getRawPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawPacket
    signature: RawPacket * getRawPacket() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: pcpp::Packet::getRawPacketReadOnly
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawPacket
    signature: RawPacket * getRawPacketReadOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: pcpp::Packet::getFirstLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: Layer
    signature: Layer * getFirstLayer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: pcpp::Packet::getLastLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Layer
    signature: Layer * getLastLayer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLayer
    argTypes:
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: pcpp::Packet::addLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached:
    - pcpp::Packet::insertLayer
    linkageType: ''
    returnType: bool
    signature: bool addLayer(Layer* newLayer, bool ownInPacket = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - layer
    argTypes:
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: pcpp::Packet::detachLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached:
    - pcpp::Packet::removeLayer
    linkageType: ''
    returnType: bool
    signature: bool detachLayer(Layer* layer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::searchLayerStackForType
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:392,1
    - Dst: getNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:393,1
    - Dst: pcpp::Packet::searchLayerStackForType
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:397,1
    - Dst: getPrevLayer
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reverse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 398
    functionName: pcpp::Packet::getLayerOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 4
    functionsReached:
    - pcpp::Packet::searchLayerStackForType
    - getNextLayer
    - getPrevLayer
    linkageType: ''
    returnType: TLayer
    signature: TLayer * Packet::getLayerOfType(bool reverse) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::searchLayerStackForType
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:402,1
    - Dst: getNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - curLayer
    argTypes:
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: pcpp::Packet::getNextLayerOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached:
    - pcpp::Packet::searchLayerStackForType
    - getNextLayer
    linkageType: ''
    returnType: TLayer
    signature: TLayer * Packet::getNextLayerOfType(Layer* curLayer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::searchLayerStackForType
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:407,1
    - Dst: getPrevLayer
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - curLayer
    argTypes:
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: pcpp::Packet::getPrevLayerOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached:
    - pcpp::Packet::searchLayerStackForType
    - getPrevLayer
    linkageType: ''
    returnType: TLayer
    signature: TLayer * Packet::getPrevLayerOfType(Layer* curLayer) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nextLayerFn
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:418,1
    - Dst: dynamic_cast<TLayer*>
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:423,1
    - Dst: nextLayerFn
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - curLayer
    - nextLayerFn
    - skipFirst
    argTypes:
    - Layer*
    - NextLayerFn
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 431
    functionName: pcpp::Packet::searchLayerStackForType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 3
    functionsReached:
    - dynamic_cast<TLayer*>
    - nextLayerFn
    linkageType: ''
    returnType: TLayer
    signature: TLayer * Packet::searchLayerStackForType(Layer* curLayer, NextLayerFn
      nextLayerFn, bool skipFirst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' packet'
    argTypes:
    - std::ostream
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: '& operator<<(std::ostream& os, const pcpp::Packet& packet)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const pcpp::Packet& packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destructPacketData
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: ~Packet()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached:
    - destructPacketData
    linkageType: ''
    returnType: void
    signature: void ~Packet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::copyDataFrom
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: pcpp::Packet::Packet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached:
    - pcpp::Packet::copyDataFrom
    linkageType: ''
    returnType: void
    signature: void Packet(const Packet& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: pcpp::Packet::getRawPacket
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawPacket
    signature: RawPacket * getRawPacket() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: pcpp::Packet::getRawPacketReadOnly
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawPacket
    signature: RawPacket * getRawPacketReadOnly() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: pcpp::Packet::getFirstLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: Layer
    signature: Layer * getFirstLayer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: pcpp::Packet::getLastLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Layer
    signature: Layer * getLastLayer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - newLayer
    argTypes:
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: pcpp::Packet::addLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached:
    - pcpp::Packet::insertLayer
    linkageType: ''
    returnType: bool
    signature: bool addLayer(Layer* newLayer, bool ownInPacket = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - layer
    argTypes:
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: pcpp::Packet::detachLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached:
    - pcpp::Packet::removeLayer
    linkageType: ''
    returnType: bool
    signature: bool detachLayer(Layer* layer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::searchLayerStackForType
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:392,1
    - Dst: getNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:393,1
    - Dst: pcpp::Packet::searchLayerStackForType
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:397,1
    - Dst: getPrevLayer
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reverse
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 398
    functionName: pcpp::Packet::getLayerOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 4
    functionsReached:
    - pcpp::Packet::searchLayerStackForType
    - getNextLayer
    - getPrevLayer
    linkageType: ''
    returnType: TLayer
    signature: TLayer * Packet::getLayerOfType(bool reverse) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::searchLayerStackForType
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:402,1
    - Dst: getNextLayer
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - curLayer
    argTypes:
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: pcpp::Packet::getNextLayerOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached:
    - pcpp::Packet::searchLayerStackForType
    - getNextLayer
    linkageType: ''
    returnType: TLayer
    signature: TLayer * Packet::getNextLayerOfType(Layer* curLayer) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::searchLayerStackForType
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:407,1
    - Dst: getPrevLayer
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - curLayer
    argTypes:
    - Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: pcpp::Packet::getPrevLayerOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached:
    - pcpp::Packet::searchLayerStackForType
    - getPrevLayer
    linkageType: ''
    returnType: TLayer
    signature: TLayer * Packet::getPrevLayerOfType(Layer* curLayer) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nextLayerFn
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:418,1
    - Dst: dynamic_cast<TLayer*>
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:423,1
    - Dst: nextLayerFn
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - curLayer
    - nextLayerFn
    - skipFirst
    argTypes:
    - Layer*
    - NextLayerFn
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 431
    functionName: pcpp::Packet::searchLayerStackForType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 6
    functionsReached:
    - dynamic_cast<TLayer*>
    - nextLayerFn
    linkageType: ''
    returnType: TLayer
    signature: TLayer * Packet::searchLayerStackForType(Layer* curLayer, NextLayerFn
      nextLayerFn, bool skipFirst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/Packet.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' packet'
    argTypes:
    - std::ostream
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: '& operator<<(std::ostream& os, const pcpp::Packet& packet)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Packet.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const pcpp::Packet& packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: pcpp::Sll2Layer::Sll2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sll2Layer(uint8_t* data, size_t dataLen, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~Sll2Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Sll2Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sll2_header*>
      Src: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: pcpp::Sll2Layer::getSll2Header
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h
    functionUses: 26
    functionsReached:
    - reinterpret_cast<sll2_header*>
    linkageType: ''
    returnType: sll2_header
    signature: sll2_header * getSll2Header() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: pcpp::Sll2Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: pcpp::Sll2Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: pcpp::Sll2Layer::Sll2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sll2Layer(uint8_t* data, size_t dataLen, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~Sll2Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Sll2Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sll2_header*>
      Src: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: pcpp::Sll2Layer::getSll2Header
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h
    functionUses: 26
    functionsReached:
    - reinterpret_cast<sll2_header*>
    linkageType: ''
    returnType: sll2_header
    signature: sll2_header * getSll2Header() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: pcpp::Sll2Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: pcpp::Sll2Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: pcpp::PacketTrailerLayer::PacketTrailerLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketTrailerLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ~PacketTrailerLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PacketTrailerLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: pcpp::PacketTrailerLayer::getTrailerData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getTrailerData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: pcpp::PacketTrailerLayer::getTrailerLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getTrailerLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: pcpp::PacketTrailerLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: pcpp::PacketTrailerLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: pcpp::PacketTrailerLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: pcpp::PacketTrailerLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: pcpp::PacketTrailerLayer::PacketTrailerLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketTrailerLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: ~PacketTrailerLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PacketTrailerLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: pcpp::PacketTrailerLayer::getTrailerData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getTrailerData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: pcpp::PacketTrailerLayer::getTrailerLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getTrailerLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: pcpp::PacketTrailerLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: pcpp::PacketTrailerLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: pcpp::PacketTrailerLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: pcpp::PacketTrailerLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sslVersionValue
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: pcpp::SSLVersion::SSLVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLVersion(uint16_t sslVersionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: pcpp::SSLVersion::asUInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t asUInt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sslVersionValue
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: pcpp::SSLVersion::SSLVersion
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLVersion(uint16_t sslVersionValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: pcpp::SSLVersion::asUInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t asUInt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ntp_header*>
      Src: /src/PcapPlusPlus/Packet++/header/NtpLayer.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: pcpp::NtpLayer::getNtpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    functionUses: 68
    functionsReached:
    - reinterpret_cast<ntp_header*>
    linkageType: ''
    returnType: ntp_header
    signature: ntp_header * getNtpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: pcpp::NtpLayer::NtpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NtpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: pcpp::NtpLayer::isNTPPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNTPPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 540
    functionName: pcpp::NtpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: pcpp::NtpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 550
    functionName: pcpp::NtpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: pcpp::NtpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ntp_header*>
      Src: /src/PcapPlusPlus/Packet++/header/NtpLayer.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: pcpp::NtpLayer::getNtpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    functionUses: 68
    functionsReached:
    - reinterpret_cast<ntp_header*>
    linkageType: ''
    returnType: ntp_header
    signature: ntp_header * getNtpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: pcpp::NtpLayer::NtpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NtpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 534
    functionName: pcpp::NtpLayer::isNTPPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNTPPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 540
    functionName: pcpp::NtpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: pcpp::NtpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 550
    functionName: pcpp::NtpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: pcpp::NtpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: pcpp::ModbusLayer::ModbusLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModbusLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: pcpp::ModbusLayer::isModbusPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isModbusPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pcpp::ModbusLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: pcpp::ModbusLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: pcpp::ModbusLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: pcpp::ModbusLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: pcpp::ModbusLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: pcpp::ModbusLayer::ModbusLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModbusLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: pcpp::ModbusLayer::isModbusPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isModbusPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pcpp::ModbusLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: pcpp::ModbusLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: pcpp::ModbusLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: pcpp::ModbusLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: pcpp::ModbusLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: pcpp::DoIpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 635
    functionName: pcpp::DoIpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 640
    functionName: pcpp::DoIpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<doiphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: pcpp::DoIpLayer::getDoIpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 16
    functionsReached:
    - reinterpret_cast<doiphdr*>
    linkageType: ''
    returnType: doiphdr
    signature: doiphdr * getDoIpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DoIpPorts>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: pcpp::DoIpLayer::isDoIpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 4
    functionsReached:
    - static_cast<DoIpPorts>
    linkageType: ''
    returnType: bool
    signature: bool DoIpLayer::isDoIpPort(uint16_t port)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DoIpProtocolVersion>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:674,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:680,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:681,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:689,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:697,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:699,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:700,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:701,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:707,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - version
    - inVersion
    - type
    argTypes:
    - uint8_t
    - uint8_t
    - DoIpPayloadTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 711
    functionName: pcpp::DoIpLayer::isProtocolVersionValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - static_cast<DoIpProtocolVersion>
    - static_cast<uint8_t>
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool DoIpLayer::isProtocolVersionValid(uint8_t version, uint8_t inVersion,
      DoIpPayloadTypes type)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DoIpPayloadTypes>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:715,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 741
    functionName: pcpp::DoIpLayer::isPayloadTypeValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached:
    - static_cast<DoIpPayloadTypes>
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool DoIpLayer::isPayloadTypeValid(uint16_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - payloadLength
    - dataLen
    argTypes:
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 755
    functionName: pcpp::DoIpLayer::isPayloadLengthValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached:
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool DoIpLayer::isPayloadLengthValid(uint32_t payloadLength, size_t
      dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 794
    functionName: pcpp::DoIpGenericHeaderNack::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 802
    functionName: pcpp::DoIpGenericHeaderNack::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<generic_header_nack*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 814
    functionName: pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<generic_header_nack*>
    linkageType: ''
    returnType: generic_header_nack
    signature: generic_header_nack * getGenericHeaderNack() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 837
    functionName: pcpp::DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleIdentificationRequest(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: pcpp::DoIpVehicleIdentificationRequest::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 854
    functionName: pcpp::DoIpVehicleIdentificationRequest::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 902
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vehicle_identification_request_with_eid*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 914
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::getVehicleIdentificationRequestWEID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<vehicle_identification_request_with_eid*>
    linkageType: ''
    returnType: vehicle_identification_request_with_eid
    signature: vehicle_identification_request_with_eid * getVehicleIdentificationRequestWEID()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 963
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vehicle_identification_request_with_vin*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 975
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::getVehicleIdentificationRequestWVIN
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<vehicle_identification_request_with_vin*>
    linkageType: ''
    returnType: vehicle_identification_request_with_vin
    signature: vehicle_identification_request_with_vin * getVehicleIdentificationRequestWVIN()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: pcpp::DoIpVehicleAnnouncementMessage::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vehicle_announcement_message*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1101
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 22
    functionsReached:
    - reinterpret_cast<vehicle_announcement_message*>
    linkageType: ''
    returnType: vehicle_announcement_message
    signature: vehicle_announcement_message * getVehicleAnnouncementMessage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1180
    functionName: pcpp::DoIpRoutingActivationRequest::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1188
    functionName: pcpp::DoIpRoutingActivationRequest::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<routing_activation_request*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1205
    functionName: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 14
    functionsReached:
    - reinterpret_cast<routing_activation_request*>
    linkageType: ''
    returnType: routing_activation_request
    signature: routing_activation_request * getRoutingActivationRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1293
    functionName: pcpp::DoIpRoutingActivationResponse::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1301
    functionName: pcpp::DoIpRoutingActivationResponse::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<routing_activation_response*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1319
    functionName: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 18
    functionsReached:
    - reinterpret_cast<routing_activation_response*>
    linkageType: ''
    returnType: routing_activation_response
    signature: routing_activation_response * getRoutingActivationResponse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1344
    functionName: pcpp::DoIpAliveCheckRequest::DoIpAliveCheckRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpAliveCheckRequest(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1353
    functionName: pcpp::DoIpAliveCheckRequest::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1361
    functionName: pcpp::DoIpAliveCheckRequest::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1403
    functionName: pcpp::DoIpAliveCheckResponse::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1410
    functionName: pcpp::DoIpAliveCheckResponse::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<alive_check_response*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1422
    functionName: pcpp::DoIpAliveCheckResponse::getAliveCheckResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<alive_check_response*>
    linkageType: ''
    returnType: alive_check_response
    signature: alive_check_response * getAliveCheckResponse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1446
    functionName: pcpp::DoIpEntityStatusRequest::DoIpEntityStatusRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusRequest(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1455
    functionName: pcpp::DoIpEntityStatusRequest::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1463
    functionName: pcpp::DoIpEntityStatusRequest::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1497
    functionName: pcpp::DoIpEntityStatusResponse::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1550
    functionName: pcpp::DoIpEntityStatusResponse::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<entity_status_response*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1567
    functionName: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 14
    functionsReached:
    - reinterpret_cast<entity_status_response*>
    linkageType: ''
    returnType: entity_status_response
    signature: entity_status_response * getEntityStatusResponse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1593
    functionName: pcpp::DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticPowerModeRequest(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1602
    functionName: pcpp::DoIpDiagnosticPowerModeRequest::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1610
    functionName: pcpp::DoIpDiagnosticPowerModeRequest::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1652
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1660
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<diagnostic_power_mode_response*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1672
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<diagnostic_power_mode_response*>
    linkageType: ''
    returnType: diagnostic_power_mode_response
    signature: diagnostic_power_mode_response * getDiagnosticPowerModeResponse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1709
    functionName: pcpp::DoIpDiagnosticBase::DoIpDiagnosticBase
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticBase(size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<common_diagnostic_header*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1723
    functionName: pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<common_diagnostic_header*>
    linkageType: ''
    returnType: common_diagnostic_header
    signature: common_diagnostic_header * getCommonDiagnosticHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1768
    functionName: pcpp::DoIpDiagnosticMessage::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1774
    functionName: pcpp::DoIpDiagnosticMessage::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1781
    functionName: pcpp::DoIpDiagnosticMessage::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1825
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<diagnostic_response_message_base*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1838
    functionDepth: 0
    functionLinenumber: 1838
    functionLinenumberEnd: 1841
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::getDiagnosticResponseMessageBase
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<diagnostic_response_message_base*>
    linkageType: ''
    returnType: diagnostic_response_message_base
    signature: diagnostic_response_message_base * getDiagnosticResponseMessageBase()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1886
    functionName: pcpp::DoIpDiagnosticMessageAck::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1930
    functionName: pcpp::DoIpDiagnosticMessageNack::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: pcpp::DoIpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 635
    functionName: pcpp::DoIpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 640
    functionName: pcpp::DoIpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<doiphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: pcpp::DoIpLayer::getDoIpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 16
    functionsReached:
    - reinterpret_cast<doiphdr*>
    linkageType: ''
    returnType: doiphdr
    signature: doiphdr * getDoIpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DoIpPorts>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: pcpp::DoIpLayer::isDoIpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 4
    functionsReached:
    - static_cast<DoIpPorts>
    linkageType: ''
    returnType: bool
    signature: bool DoIpLayer::isDoIpPort(uint16_t port)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DoIpProtocolVersion>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:674,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:680,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:681,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:689,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:697,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:699,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:700,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:701,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:707,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - version
    - inVersion
    - type
    argTypes:
    - uint8_t
    - uint8_t
    - DoIpPayloadTypes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 711
    functionName: pcpp::DoIpLayer::isProtocolVersionValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - static_cast<DoIpProtocolVersion>
    - static_cast<uint8_t>
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool DoIpLayer::isProtocolVersionValid(uint8_t version, uint8_t inVersion,
      DoIpPayloadTypes type)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<DoIpPayloadTypes>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:715,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 741
    functionName: pcpp::DoIpLayer::isPayloadTypeValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached:
    - static_cast<DoIpPayloadTypes>
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool DoIpLayer::isPayloadTypeValid(uint16_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - payloadLength
    - dataLen
    argTypes:
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 755
    functionName: pcpp::DoIpLayer::isPayloadLengthValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached:
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool DoIpLayer::isPayloadLengthValid(uint32_t payloadLength, size_t
      dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 794
    functionName: pcpp::DoIpGenericHeaderNack::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 802
    functionName: pcpp::DoIpGenericHeaderNack::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<generic_header_nack*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 814
    functionName: pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<generic_header_nack*>
    linkageType: ''
    returnType: generic_header_nack
    signature: generic_header_nack * getGenericHeaderNack() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 837
    functionName: pcpp::DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpVehicleIdentificationRequest(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: pcpp::DoIpVehicleIdentificationRequest::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 854
    functionName: pcpp::DoIpVehicleIdentificationRequest::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 902
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vehicle_identification_request_with_eid*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 914
    functionName: pcpp::DoIpVehicleIdentificationRequestWithEID::getVehicleIdentificationRequestWEID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<vehicle_identification_request_with_eid*>
    linkageType: ''
    returnType: vehicle_identification_request_with_eid
    signature: vehicle_identification_request_with_eid * getVehicleIdentificationRequestWEID()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 963
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vehicle_identification_request_with_vin*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 975
    functionName: pcpp::DoIpVehicleIdentificationRequestWithVIN::getVehicleIdentificationRequestWVIN
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<vehicle_identification_request_with_vin*>
    linkageType: ''
    returnType: vehicle_identification_request_with_vin
    signature: vehicle_identification_request_with_vin * getVehicleIdentificationRequestWVIN()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1072
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: pcpp::DoIpVehicleAnnouncementMessage::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vehicle_announcement_message*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1101
    functionName: pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 22
    functionsReached:
    - reinterpret_cast<vehicle_announcement_message*>
    linkageType: ''
    returnType: vehicle_announcement_message
    signature: vehicle_announcement_message * getVehicleAnnouncementMessage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1180
    functionName: pcpp::DoIpRoutingActivationRequest::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1188
    functionName: pcpp::DoIpRoutingActivationRequest::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<routing_activation_request*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1205
    functionName: pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 14
    functionsReached:
    - reinterpret_cast<routing_activation_request*>
    linkageType: ''
    returnType: routing_activation_request
    signature: routing_activation_request * getRoutingActivationRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1293
    functionName: pcpp::DoIpRoutingActivationResponse::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1301
    functionName: pcpp::DoIpRoutingActivationResponse::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<routing_activation_response*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1319
    functionName: pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 18
    functionsReached:
    - reinterpret_cast<routing_activation_response*>
    linkageType: ''
    returnType: routing_activation_response
    signature: routing_activation_response * getRoutingActivationResponse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1344
    functionName: pcpp::DoIpAliveCheckRequest::DoIpAliveCheckRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpAliveCheckRequest(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1353
    functionName: pcpp::DoIpAliveCheckRequest::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1361
    functionName: pcpp::DoIpAliveCheckRequest::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1403
    functionName: pcpp::DoIpAliveCheckResponse::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1410
    functionName: pcpp::DoIpAliveCheckResponse::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<alive_check_response*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1422
    functionName: pcpp::DoIpAliveCheckResponse::getAliveCheckResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<alive_check_response*>
    linkageType: ''
    returnType: alive_check_response
    signature: alive_check_response * getAliveCheckResponse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1446
    functionName: pcpp::DoIpEntityStatusRequest::DoIpEntityStatusRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpEntityStatusRequest(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1455
    functionName: pcpp::DoIpEntityStatusRequest::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1463
    functionName: pcpp::DoIpEntityStatusRequest::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1497
    functionName: pcpp::DoIpEntityStatusResponse::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1550
    functionName: pcpp::DoIpEntityStatusResponse::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<entity_status_response*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1567
    functionName: pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 14
    functionsReached:
    - reinterpret_cast<entity_status_response*>
    linkageType: ''
    returnType: entity_status_response
    signature: entity_status_response * getEntityStatusResponse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1593
    functionName: pcpp::DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticPowerModeRequest(uint8_t* data, size_t dataLen,
      Layer* prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1602
    functionName: pcpp::DoIpDiagnosticPowerModeRequest::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1610
    functionName: pcpp::DoIpDiagnosticPowerModeRequest::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1652
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1660
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<diagnostic_power_mode_response*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1672
    functionName: pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<diagnostic_power_mode_response*>
    linkageType: ''
    returnType: diagnostic_power_mode_response
    signature: diagnostic_power_mode_response * getDiagnosticPowerModeResponse() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1709
    functionName: pcpp::DoIpDiagnosticBase::DoIpDiagnosticBase
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoIpDiagnosticBase(size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<common_diagnostic_header*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1723
    functionName: pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<common_diagnostic_header*>
    linkageType: ''
    returnType: common_diagnostic_header
    signature: common_diagnostic_header * getCommonDiagnosticHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1768
    functionName: pcpp::DoIpDiagnosticMessage::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1774
    functionName: pcpp::DoIpDiagnosticMessage::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1781
    functionName: pcpp::DoIpDiagnosticMessage::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1825
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::isDataLenValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataLenValid(size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<diagnostic_response_message_base*>
      Src: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h:1840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1838
    functionDepth: 0
    functionLinenumber: 1838
    functionLinenumberEnd: 1841
    functionName: pcpp::DoIpDiagnosticResponseMessageBase::getDiagnosticResponseMessageBase
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<diagnostic_response_message_base*>
    linkageType: ''
    returnType: diagnostic_response_message_base
    signature: diagnostic_response_message_base * getDiagnosticResponseMessageBase()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1886
    functionName: pcpp::DoIpDiagnosticMessageAck::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1930
    functionName: pcpp::DoIpDiagnosticMessageNack::getPayloadType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: DoIpPayloadTypes
    signature: DoIpPayloadTypes getPayloadType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: pcpp::VlanLayer::VlanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VlanLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~VlanLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VlanLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vlan_header*>
      Src: /src/PcapPlusPlus/Packet++/header/VlanLayer.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: pcpp::VlanLayer::getVlanHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
    functionUses: 18
    functionsReached:
    - reinterpret_cast<vlan_header*>
    linkageType: ''
    returnType: vlan_header
    signature: vlan_header * getVlanHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: pcpp::VlanLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: pcpp::VlanLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<vlan_header>
      Src: /src/PcapPlusPlus/Packet++/header/VlanLayer.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: pcpp::VlanLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<vlan_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: pcpp::VlanLayer::VlanLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VlanLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~VlanLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VlanLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vlan_header*>
      Src: /src/PcapPlusPlus/Packet++/header/VlanLayer.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: pcpp::VlanLayer::getVlanHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
    functionUses: 18
    functionsReached:
    - reinterpret_cast<vlan_header*>
    linkageType: ''
    returnType: vlan_header
    signature: vlan_header * getVlanHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: pcpp::VlanLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: pcpp::VlanLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<vlan_header>
      Src: /src/PcapPlusPlus/Packet++/header/VlanLayer.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: pcpp::VlanLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<vlan_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: pcpp::CiscoHdlcLayer::CiscoHdlcLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CiscoHdlcLayer(uint8_t* data, size_t dataLen, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CiscoHdlcLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CiscoHdlcLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: pcpp::CiscoHdlcLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: pcpp::CiscoHdlcLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: pcpp::CiscoHdlcLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<cisco_hdlc_header*>
      Src: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    functionUses: 12
    functionsReached:
    - reinterpret_cast<cisco_hdlc_header*>
    linkageType: ''
    returnType: cisco_hdlc_header
    signature: cisco_hdlc_header * getCiscoHdlcHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: pcpp::CiscoHdlcLayer::CiscoHdlcLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CiscoHdlcLayer(uint8_t* data, size_t dataLen, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CiscoHdlcLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CiscoHdlcLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: pcpp::CiscoHdlcLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: pcpp::CiscoHdlcLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: pcpp::CiscoHdlcLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<cisco_hdlc_header*>
      Src: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    functionUses: 12
    functionsReached:
    - reinterpret_cast<cisco_hdlc_header*>
    linkageType: ''
    returnType: cisco_hdlc_header
    signature: cisco_hdlc_header * getCiscoHdlcHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TLVRecord::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: pcpp::TLVRecord::TLVRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - pcpp::TLVRecord::assign
    linkageType: ''
    returnType: void
    signature: void TLVRecord(uint8_t* recordRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLVRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: pcpp::TLVRecord::TLVRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLVRecord(const TLVRecord& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~TLVRecord()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TLVRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TLVRawData*>
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: pcpp::TLVRecord::assign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<TLVRawData*>
    linkageType: ''
    returnType: void
    signature: void assign(uint8_t* recordRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - recordRawData
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: pcpp::TLVRecord::canAssign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canAssign(const uint8_t* recordRawData, size_t tlvDataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLVRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '& operator=(const TLVRecord& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLVRecord
    signature: TLVRecord & operator=(const TLVRecord& other)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:91,1
    - Dst: getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:91,1
    - Dst: isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:94,1
    - Dst: isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:94,1
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:97,1
    - Dst: getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - TLVRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: operator==(const TLVRecord& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - memcmp
    - isNull
    - getTotalSize
    linkageType: ''
    returnType: bool
    signature: bool operator==(const TLVRecord& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - TLVRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator!=(const TLVRecord& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const TLVRecord& rhs) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: pcpp::TLVRecord::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TRecType
    signature: TRecType getType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: pcpp::TLVRecord::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: pcpp::TLVRecord::isNull
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: pcpp::TLVRecord::isNotNull
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNotNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: pcpp::TLVRecord::getRecordBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getRecordBasePtr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TLVRecord::isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: pcpp::TLVRecord::purgeRecordData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - pcpp::TLVRecord::isNull
    linkageType: ''
    returnType: void
    signature: void purgeRecordData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDataSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:163,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:167,1
    - Dst: pcpp::TLVRecord::getValueOffset
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: pcpp::TLVRecord::getValueAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - getDataSize
    - memcpy
    - pcpp::TLVRecord::getValueOffset
    linkageType: ''
    returnType: T
    signature: T getValueAs(size_t offset = 0) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDataSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:180,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:183,1
    - Dst: pcpp::TLVRecord::getValueOffset
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - newValue
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: pcpp::TLVRecord::setValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - getDataSize
    - memcpy
    - pcpp::TLVRecord::getValueOffset
    linkageType: ''
    returnType: bool
    signature: bool setValue(T newValue, int valueOffset = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: pcpp::TLVRecord::getValueOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getValueOffset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: pcpp::TLVRecordReader::TLVRecordReader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TLVRecordReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLVRecordReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: pcpp::TLVRecordReader::TLVRecordReader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLVRecordReader(const TLVRecordReader& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: ~TLVRecordReader()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TLVRecordReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLVRecordReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: '& operator=(const TLVRecordReader& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLVRecordReader
    signature: TLVRecordReader & operator=(const TLVRecordReader& other)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpOption::canAssign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:241,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:244,1
    - Dst: TLVRecordType::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:246,1
    - Dst: TLVRecordType::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:246,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:247,1
    - Dst: TLVRecordType::isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:250,1
    - Dst: TLVRecordType::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:250,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - tlvDataBasePtr
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: pcpp::TLVRecordReader::getFirstTLVRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - TLVRecordType::assign
    - pcpp::TcpOption::canAssign
    - TLVRecordType::isNull
    - TLVRecordType::getRecordBasePtr
    - TLVRecordType::getTotalSize
    linkageType: ''
    returnType: TLVRecordType
    signature: TLVRecordType getFirstTLVRecord(uint8_t* tlvDataBasePtr, size_t tlvDataLen)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:267,1
    - Dst: pcpp::TcpOption::canAssign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:270,1
    - Dst: getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:270,1
    - Dst: getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:270,1
    - Dst: getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:271,1
    - Dst: getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:272,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:275,1
    - Dst: getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:275,1
    - Dst: getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:275,1
    - Dst: TLVRecordType::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:277,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:278,1
    - Dst: TLVRecordType::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:281,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:282,1
    - Dst: TLVRecordType::isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:285,1
    - Dst: TLVRecordType::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:285,1
    - Dst: TLVRecordType::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:285,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ' record'
    - tlvDataBasePtr
    - tlvDataLen
    argTypes:
    - TLVRecordType
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 289
    functionName: pcpp::TLVRecordReader::getNextTLVRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - TLVRecordType::assign
    - pcpp::TcpOption::canAssign
    - TLVRecordType::isNull
    - TLVRecordType::getRecordBasePtr
    - isNull
    - getTotalSize
    - getRecordBasePtr
    - TLVRecordType::getTotalSize
    linkageType: ''
    returnType: TLVRecordType
    signature: TLVRecordType getNextTLVRecord(TLVRecordType& record, const uint8_t*
      tlvDataBasePtr, size_t tlvDataLen) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TLVRecordReader::getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:299,1
    - Dst: TLVRecordType::isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:300,1
    - Dst: TLVRecordType::getType
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:302,1
    - Dst: pcpp::TLVRecordReader::getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:307,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - recordType
    - tlvDataBasePtr
    - tlvDataLen
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 312
    functionName: pcpp::TLVRecordReader::getTLVRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - TLVRecordType::assign
    - pcpp::TLVRecordReader::getFirstTLVRecord
    - TLVRecordType::isNull
    - TLVRecordType::getType
    - pcpp::TLVRecordReader::getNextTLVRecord
    linkageType: ''
    returnType: TLVRecordType
    signature: TLVRecordType getTLVRecord(uint32_t recordType, uint8_t* tlvDataBasePtr,
      size_t tlvDataLen) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:323,1
    - Dst: pcpp::TLVRecordReader::getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:327,1
    - Dst: TLVRecordType::isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:328,1
    - Dst: pcpp::TLVRecordReader::getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tlvDataBasePtr
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 335
    functionName: pcpp::TLVRecordReader::getTLVRecordCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - pcpp::TLVRecordReader::getFirstTLVRecord
    - TLVRecordType::isNull
    - pcpp::TLVRecordReader::getNextTLVRecord
    linkageType: ''
    returnType: size_t
    signature: size_t getTLVRecordCount(uint8_t* tlvDataBasePtr, size_t tlvDataLen)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - changedBy
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: pcpp::TLVRecordReader::changeTLVRecordCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void changeTLVRecordCount(int changedBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TLVRecord::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: pcpp::TLVRecord::TLVRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - pcpp::TLVRecord::assign
    linkageType: ''
    returnType: void
    signature: void TLVRecord(uint8_t* recordRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLVRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: pcpp::TLVRecord::TLVRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLVRecord(const TLVRecord& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: ~TLVRecord()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TLVRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TLVRawData*>
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: pcpp::TLVRecord::assign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<TLVRawData*>
    linkageType: ''
    returnType: void
    signature: void assign(uint8_t* recordRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - recordRawData
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: pcpp::TLVRecord::canAssign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canAssign(const uint8_t* recordRawData, size_t tlvDataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLVRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '& operator=(const TLVRecord& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLVRecord
    signature: TLVRecord & operator=(const TLVRecord& other)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:91,1
    - Dst: getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:91,1
    - Dst: isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:94,1
    - Dst: isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:94,1
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:97,1
    - Dst: getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - TLVRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: operator==(const TLVRecord& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - memcmp
    - isNull
    - getTotalSize
    linkageType: ''
    returnType: bool
    signature: bool operator==(const TLVRecord& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - TLVRecord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: operator!=(const TLVRecord& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const TLVRecord& rhs) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: pcpp::TLVRecord::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TRecType
    signature: TRecType getType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: pcpp::TLVRecord::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: pcpp::TLVRecord::isNull
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: pcpp::TLVRecord::isNotNull
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNotNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: pcpp::TLVRecord::getRecordBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getRecordBasePtr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TLVRecord::isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: pcpp::TLVRecord::purgeRecordData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - pcpp::TLVRecord::isNull
    linkageType: ''
    returnType: void
    signature: void purgeRecordData()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDataSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:163,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:167,1
    - Dst: pcpp::TLVRecord::getValueOffset
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: pcpp::TLVRecord::getValueAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - getDataSize
    - memcpy
    - pcpp::TLVRecord::getValueOffset
    linkageType: ''
    returnType: T
    signature: T getValueAs(size_t offset = 0) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDataSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:180,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:183,1
    - Dst: pcpp::TLVRecord::getValueOffset
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - newValue
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: pcpp::TLVRecord::setValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - getDataSize
    - memcpy
    - pcpp::TLVRecord::getValueOffset
    linkageType: ''
    returnType: bool
    signature: bool setValue(T newValue, int valueOffset = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: pcpp::TLVRecord::getValueOffset
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getValueOffset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: pcpp::TLVRecordReader::TLVRecordReader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TLVRecordReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLVRecordReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: pcpp::TLVRecordReader::TLVRecordReader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLVRecordReader(const TLVRecordReader& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 222
    functionName: ~TLVRecordReader()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TLVRecordReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TLVRecordReader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: '& operator=(const TLVRecordReader& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TLVRecordReader
    signature: TLVRecordReader & operator=(const TLVRecordReader& other)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpOption::canAssign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:241,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:244,1
    - Dst: TLVRecordType::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:246,1
    - Dst: TLVRecordType::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:246,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:247,1
    - Dst: TLVRecordType::isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:250,1
    - Dst: TLVRecordType::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:250,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - tlvDataBasePtr
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: pcpp::TLVRecordReader::getFirstTLVRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 2
    functionsReached:
    - TLVRecordType::assign
    - pcpp::TcpOption::canAssign
    - TLVRecordType::isNull
    - TLVRecordType::getRecordBasePtr
    - TLVRecordType::getTotalSize
    linkageType: ''
    returnType: TLVRecordType
    signature: TLVRecordType getFirstTLVRecord(uint8_t* tlvDataBasePtr, size_t tlvDataLen)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:267,1
    - Dst: pcpp::TcpOption::canAssign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:270,1
    - Dst: getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:270,1
    - Dst: getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:270,1
    - Dst: getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:271,1
    - Dst: getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:272,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:275,1
    - Dst: getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:275,1
    - Dst: getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:275,1
    - Dst: TLVRecordType::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:277,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:278,1
    - Dst: TLVRecordType::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:281,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:282,1
    - Dst: TLVRecordType::isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:285,1
    - Dst: TLVRecordType::getRecordBasePtr
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:285,1
    - Dst: TLVRecordType::getTotalSize
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:285,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - ' record'
    - tlvDataBasePtr
    - tlvDataLen
    argTypes:
    - TLVRecordType
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 289
    functionName: pcpp::TLVRecordReader::getNextTLVRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 2
    functionsReached:
    - TLVRecordType::assign
    - pcpp::TcpOption::canAssign
    - TLVRecordType::isNull
    - TLVRecordType::getRecordBasePtr
    - isNull
    - getTotalSize
    - getRecordBasePtr
    - TLVRecordType::getTotalSize
    linkageType: ''
    returnType: TLVRecordType
    signature: TLVRecordType getNextTLVRecord(TLVRecordType& record, const uint8_t*
      tlvDataBasePtr, size_t tlvDataLen) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TLVRecordReader::getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:299,1
    - Dst: TLVRecordType::isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:300,1
    - Dst: TLVRecordType::getType
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:302,1
    - Dst: pcpp::TLVRecordReader::getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:307,1
    - Dst: TLVRecordType::assign
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - recordType
    - tlvDataBasePtr
    - tlvDataLen
    argTypes:
    - uint32_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 312
    functionName: pcpp::TLVRecordReader::getTLVRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - TLVRecordType::assign
    - pcpp::TLVRecordReader::getFirstTLVRecord
    - TLVRecordType::isNull
    - TLVRecordType::getType
    - pcpp::TLVRecordReader::getNextTLVRecord
    linkageType: ''
    returnType: TLVRecordType
    signature: TLVRecordType getTLVRecord(uint32_t recordType, uint8_t* tlvDataBasePtr,
      size_t tlvDataLen) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:323,1
    - Dst: pcpp::TLVRecordReader::getFirstTLVRecord
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:327,1
    - Dst: TLVRecordType::isNull
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:328,1
    - Dst: pcpp::TLVRecordReader::getNextTLVRecord
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tlvDataBasePtr
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 335
    functionName: pcpp::TLVRecordReader::getTLVRecordCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - pcpp::TLVRecordReader::getFirstTLVRecord
    - TLVRecordType::isNull
    - pcpp::TLVRecordReader::getNextTLVRecord
    linkageType: ''
    returnType: size_t
    signature: size_t getTLVRecordCount(uint8_t* tlvDataBasePtr, size_t tlvDataLen)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/TLVData.h:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - changedBy
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: pcpp::TLVRecordReader::changeTLVRecordCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TLVData.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void changeTLVRecordCount(int changedBy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - vrrpVer
    - addressType
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    - IPAddress::AddressType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: pcpp::VrrpLayer::VrrpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void VrrpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, ProtocolType vrrpVer,\n\t\t          IPAddress::AddressType addressType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vrrp_header*>
      Src: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: pcpp::VrrpLayer::getVrrpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 30
    functionsReached:
    - reinterpret_cast<vrrp_header*>
    linkageType: ''
    returnType: vrrp_header
    signature: vrrp_header * getVrrpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: ~VrrpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VrrpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: pcpp::VrrpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: pcpp::VrrpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: pcpp::VrrpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: pcpp::VrrpV2Layer::VrrpV2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VrrpV2Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: ~VrrpV2Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VrrpV2Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<vrrp_header>
      Src: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: pcpp::VrrpV2Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<vrrp_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - addressType
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - IPAddress::AddressType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: pcpp::VrrpV3Layer::VrrpV3Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VrrpV3Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, IPAddress::AddressType addressType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 379
    functionName: ~VrrpV3Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VrrpV3Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<vrrp_header>
      Src: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: pcpp::VrrpV3Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<vrrp_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - vrrpVer
    - addressType
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    - IPAddress::AddressType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: pcpp::VrrpLayer::VrrpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void VrrpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, ProtocolType vrrpVer,\n\t\t          IPAddress::AddressType addressType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<vrrp_header*>
      Src: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: pcpp::VrrpLayer::getVrrpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 30
    functionsReached:
    - reinterpret_cast<vrrp_header*>
    linkageType: ''
    returnType: vrrp_header
    signature: vrrp_header * getVrrpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 165
    functionName: ~VrrpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VrrpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: pcpp::VrrpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: pcpp::VrrpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: pcpp::VrrpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: pcpp::VrrpV2Layer::VrrpV2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VrrpV2Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: ~VrrpV2Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VrrpV2Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<vrrp_header>
      Src: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: pcpp::VrrpV2Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<vrrp_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - addressType
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - IPAddress::AddressType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: pcpp::VrrpV3Layer::VrrpV3Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VrrpV3Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, IPAddress::AddressType addressType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 379
    functionName: ~VrrpV3Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VrrpV3Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<vrrp_header>
      Src: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: pcpp::VrrpV3Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<vrrp_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: pcpp::SllLayer::SllLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SllLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SllLayer(uint8_t* data, size_t dataLen, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~SllLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SllLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SllLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sll_header*>
      Src: /src/PcapPlusPlus/Packet++/header/SllLayer.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: pcpp::SllLayer::getSllHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SllLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<sll_header*>
    linkageType: ''
    returnType: sll_header
    signature: sll_header * getSllHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: pcpp::SllLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SllLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: pcpp::SllLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SllLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: pcpp::SllLayer::SllLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SllLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SllLayer(uint8_t* data, size_t dataLen, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~SllLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SllLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SllLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<sll_header*>
      Src: /src/PcapPlusPlus/Packet++/header/SllLayer.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: pcpp::SllLayer::getSllHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SllLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<sll_header*>
    linkageType: ''
    returnType: sll_header
    signature: sll_header * getSllHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: pcpp::SllLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SllLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: pcpp::SllLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SllLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: pcpp::PayloadLayer::PayloadLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PayloadLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~PayloadLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PayloadLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: pcpp::PayloadLayer::getPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getPayload() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::PayloadLayer::getPayloadLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getPayloadLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: pcpp::PayloadLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: pcpp::PayloadLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: pcpp::PayloadLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: pcpp::PayloadLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: pcpp::PayloadLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: pcpp::PayloadLayer::PayloadLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PayloadLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~PayloadLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PayloadLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: pcpp::PayloadLayer::getPayload
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getPayload() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::PayloadLayer::getPayloadLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getPayloadLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: pcpp::PayloadLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: pcpp::PayloadLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: pcpp::PayloadLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: pcpp::PayloadLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: pcpp::PayloadLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NflogTlv::assign
      Src: /src/PcapPlusPlus/Packet++/header/NflogLayer.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: pcpp::NflogTlv::NflogTlv
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::NflogTlv::assign
    linkageType: ''
    returnType: void
    signature: void NflogTlv(uint8_t* recordRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: align<4>
      Src: /src/PcapPlusPlus/Packet++/header/NflogLayer.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: pcpp::NflogTlv::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached:
    - align<4>
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NflogTLVRawData*>
      Src: /src/PcapPlusPlus/Packet++/header/NflogLayer.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: pcpp::NflogTlv::assign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<NflogTLVRawData*>
    linkageType: ''
    returnType: void
    signature: void assign(uint8_t* recordRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - recordRawData
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pcpp::NflogTlv::canAssign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canAssign(const uint8_t* recordRawData, size_t tlvDataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: pcpp::NflogTlv::isNull
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: pcpp::NflogTlv::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/header/NflogLayer.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pcpp::NflogTlv::getRecordBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getRecordBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: pcpp::NflogTlv::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: pcpp::NflogLayer::NflogLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NflogLayer(uint8_t* data, size_t dataLen, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: ~NflogLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NflogLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<nflog_header*>
      Src: /src/PcapPlusPlus/Packet++/header/NflogLayer.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: pcpp::NflogLayer::getNflogHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<nflog_header*>
    linkageType: ''
    returnType: nflog_header
    signature: nflog_header * getNflogHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: pcpp::NflogLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: pcpp::NflogLayer::getTlvsBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getTlvsBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NflogTlv::assign
      Src: /src/PcapPlusPlus/Packet++/header/NflogLayer.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: pcpp::NflogTlv::NflogTlv
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::NflogTlv::assign
    linkageType: ''
    returnType: void
    signature: void NflogTlv(uint8_t* recordRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: align<4>
      Src: /src/PcapPlusPlus/Packet++/header/NflogLayer.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: pcpp::NflogTlv::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached:
    - align<4>
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<NflogTLVRawData*>
      Src: /src/PcapPlusPlus/Packet++/header/NflogLayer.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - recordRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: pcpp::NflogTlv::assign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<NflogTLVRawData*>
    linkageType: ''
    returnType: void
    signature: void assign(uint8_t* recordRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - recordRawData
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: pcpp::NflogTlv::canAssign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool canAssign(const uint8_t* recordRawData, size_t tlvDataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: pcpp::NflogTlv::isNull
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNull() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: pcpp::NflogTlv::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Packet++/header/NflogLayer.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pcpp::NflogTlv::getRecordBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getRecordBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: pcpp::NflogTlv::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: pcpp::NflogLayer::NflogLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NflogLayer(uint8_t* data, size_t dataLen, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 154
    functionName: ~NflogLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NflogLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<nflog_header*>
      Src: /src/PcapPlusPlus/Packet++/header/NflogLayer.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: pcpp::NflogLayer::getNflogHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<nflog_header*>
    linkageType: ''
    returnType: nflog_header
    signature: nflog_header * getNflogHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: pcpp::NflogLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: pcpp::NflogLayer::getTlvsBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getTlvsBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: pcpp::TpktLayer::TpktLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TpktLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ~TpktLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TpktLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: pcpp::TpktLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: pcpp::TpktLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - portSrc
    - portDst
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: pcpp::TpktLayer::isTpktPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTpktPort(uint16_t portSrc, uint16_t portDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<tpkthdr>
      Src: /src/PcapPlusPlus/Packet++/header/TpktLayer.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: pcpp::TpktLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 2
    functionsReached:
    - canReinterpretAs<tpkthdr>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pcpp::TpktLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tpkthdr*>
      Src: /src/PcapPlusPlus/Packet++/header/TpktLayer.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pcpp::TpktLayer::getTpktHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 12
    functionsReached:
    - reinterpret_cast<tpkthdr*>
    linkageType: ''
    returnType: tpkthdr
    signature: tpkthdr * getTpktHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: pcpp::TpktLayer::TpktLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TpktLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ~TpktLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TpktLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: pcpp::TpktLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: pcpp::TpktLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - portSrc
    - portDst
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: pcpp::TpktLayer::isTpktPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isTpktPort(uint16_t portSrc, uint16_t portDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<tpkthdr>
      Src: /src/PcapPlusPlus/Packet++/header/TpktLayer.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataSize
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: pcpp::TpktLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 2
    functionsReached:
    - canReinterpretAs<tpkthdr>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pcpp::TpktLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tpkthdr*>
      Src: /src/PcapPlusPlus/Packet++/header/TpktLayer.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: pcpp::TpktLayer::getTpktHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    functionUses: 12
    functionsReached:
    - reinterpret_cast<tpkthdr*>
    linkageType: ''
    returnType: tpkthdr
    signature: tpkthdr * getTpktHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: pcpp::NullLoopbackLayer::NullLoopbackLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NullLoopbackLayer(uint8_t* data, size_t dataLen, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~NullLoopbackLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NullLoopbackLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: pcpp::NullLoopbackLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: pcpp::NullLoopbackLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: pcpp::NullLoopbackLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pcpp::NullLoopbackLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: pcpp::NullLoopbackLayer::NullLoopbackLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NullLoopbackLayer(uint8_t* data, size_t dataLen, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: ~NullLoopbackLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NullLoopbackLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: pcpp::NullLoopbackLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: pcpp::NullLoopbackLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: pcpp::NullLoopbackLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pcpp::NullLoopbackLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ip6_hdr*>
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: pcpp::IPv6Layer::getIPv6Header
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 12
    functionsReached:
    - reinterpret_cast<ip6_hdr*>
    linkageType: ''
    returnType: ip6_hdr
    signature: ip6_hdr * getIPv6Header() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getSrcIPv6Address
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: pcpp::IPv6Layer::getSrcIPAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::getSrcIPv6Address
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getSrcIPAddress() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: pcpp::IPv6Layer::getSrcIPv6Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 3
    functionsReached:
    - pcpp::IPv6Layer::getIPv6Header
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getSrcIPv6Address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:104,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: pcpp::IPv6Layer::setSrcIPv6Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 0
    functionsReached:
    - copyTo
    - pcpp::IPv6Layer::getIPv6Header
    linkageType: ''
    returnType: void
    signature: void setSrcIPv6Address(const IPv6Address& ipAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:111,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: pcpp::IPv6Layer::setDstIPv6Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 0
    functionsReached:
    - copyTo
    - pcpp::IPv6Layer::getIPv6Header
    linkageType: ''
    returnType: void
    signature: void setDstIPv6Address(const IPv6Address& ipAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getDstIPv6Address
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: pcpp::IPv6Layer::getDstIPAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::getDstIPv6Address
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getDstIPAddress() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: pcpp::IPv6Layer::getDstIPv6Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 3
    functionsReached:
    - pcpp::IPv6Layer::getIPv6Header
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getDstIPv6Address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: pcpp::IPv6Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: pcpp::IPv6Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<TIPv6Extension*>
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:206,1
    - Dst: IPv6Extension*::getNextHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:207,1
    - Dst: static_cast<TIPv6Extension*>
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: pcpp::IPv6Layer::getExtensionOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 2
    functionsReached:
    - static_cast<TIPv6Extension*>
    - IPv6Extension*::getNextHeader
    - dynamic_cast<TIPv6Extension*>
    linkageType: ''
    returnType: TIPv6Extension
    signature: TIPv6Extension * IPv6Layer::getExtensionOfType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:214,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:214,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:215,1
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:215,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:220,1
    - Dst: TIPv6Extension::TIPv6Extension
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:220,1
    - Dst: TIPv6Extension*::getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:225,1
    - Dst: getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:225,1
    - Dst: getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:226,1
    - Dst: TIPv6Extension*::getExtensionType
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:226,1
    - Dst: setNextHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:227,1
    - Dst: TIPv6Extension*::getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:234,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:234,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:235,1
    - Dst: TIPv6Extension*::getExtensionType
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:235,1
    - Dst: TIPv6Extension*::getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - ' extensionHeader'
    argTypes:
    - TIPv6Extension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 241
    functionName: pcpp::IPv6Layer::addExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 0
    functionsReached:
    - extendLayer
    - TIPv6Extension*::getBaseHeader
    - pcpp::IPv6Layer::getHeaderLen
    - getBaseHeader
    - TIPv6Extension*::getExtensionLen
    - static_cast<int>
    - static_cast<size_t>
    - getExtensionLen
    - TIPv6Extension*::getExtensionType
    - pcpp::IPv6Layer::getIPv6Header
    - setNextHeader
    - TIPv6Extension::TIPv6Extension
    linkageType: ''
    returnType: TIPv6Extension
    signature: TIPv6Extension * IPv6Layer::addExtension(const TIPv6Extension& extensionHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ip6_hdr*>
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:247,1
    - Dst: canReinterpretAs<ip6_hdr>
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: pcpp::IPv6Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 2
    functionsReached:
    - canReinterpretAs<ip6_hdr>
    - reinterpret_cast<const ip6_hdr*>
    linkageType: ''
    returnType: bool
    signature: bool IPv6Layer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ip6_hdr*>
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: pcpp::IPv6Layer::getIPv6Header
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 17
    functionsReached:
    - reinterpret_cast<ip6_hdr*>
    linkageType: ''
    returnType: ip6_hdr
    signature: ip6_hdr * getIPv6Header() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getSrcIPv6Address
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: pcpp::IPv6Layer::getSrcIPAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::getSrcIPv6Address
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getSrcIPAddress() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: pcpp::IPv6Layer::getSrcIPv6Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 4
    functionsReached:
    - pcpp::IPv6Layer::getIPv6Header
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getSrcIPv6Address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:104,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: pcpp::IPv6Layer::setSrcIPv6Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 0
    functionsReached:
    - copyTo
    - pcpp::IPv6Layer::getIPv6Header
    linkageType: ''
    returnType: void
    signature: void setSrcIPv6Address(const IPv6Address& ipAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:111,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: pcpp::IPv6Layer::setDstIPv6Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 0
    functionsReached:
    - copyTo
    - pcpp::IPv6Layer::getIPv6Header
    linkageType: ''
    returnType: void
    signature: void setDstIPv6Address(const IPv6Address& ipAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getDstIPv6Address
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: pcpp::IPv6Layer::getDstIPAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::getDstIPv6Address
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getDstIPAddress() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: pcpp::IPv6Layer::getDstIPv6Address
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 4
    functionsReached:
    - pcpp::IPv6Layer::getIPv6Header
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getDstIPv6Address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: pcpp::IPv6Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: pcpp::IPv6Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<TIPv6Extension*>
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:206,1
    - Dst: IPv6Extension*::getNextHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:207,1
    - Dst: static_cast<TIPv6Extension*>
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: pcpp::IPv6Layer::getExtensionOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 2
    functionsReached:
    - static_cast<TIPv6Extension*>
    - IPv6Extension*::getNextHeader
    - dynamic_cast<TIPv6Extension*>
    linkageType: ''
    returnType: TIPv6Extension
    signature: TIPv6Extension * IPv6Layer::getExtensionOfType() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:214,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:214,1
    - Dst: extendLayer
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:215,1
    - Dst: getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:215,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:220,1
    - Dst: TIPv6Extension::TIPv6Extension
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:220,1
    - Dst: TIPv6Extension*::getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:225,1
    - Dst: getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:225,1
    - Dst: getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:226,1
    - Dst: TIPv6Extension*::getExtensionType
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:226,1
    - Dst: setNextHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:227,1
    - Dst: TIPv6Extension*::getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:234,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:234,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:235,1
    - Dst: TIPv6Extension*::getExtensionType
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:235,1
    - Dst: TIPv6Extension*::getExtensionLen
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - ' extensionHeader'
    argTypes:
    - TIPv6Extension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 241
    functionName: pcpp::IPv6Layer::addExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 0
    functionsReached:
    - extendLayer
    - TIPv6Extension*::getBaseHeader
    - pcpp::IPv6Layer::getHeaderLen
    - getBaseHeader
    - TIPv6Extension*::getExtensionLen
    - static_cast<int>
    - static_cast<size_t>
    - getExtensionLen
    - TIPv6Extension*::getExtensionType
    - pcpp::IPv6Layer::getIPv6Header
    - setNextHeader
    - TIPv6Extension::TIPv6Extension
    linkageType: ''
    returnType: TIPv6Extension
    signature: TIPv6Extension * IPv6Layer::addExtension(const TIPv6Extension& extensionHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ip6_hdr*>
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:247,1
    - Dst: canReinterpretAs<ip6_hdr>
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: pcpp::IPv6Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    functionUses: 2
    functionsReached:
    - canReinterpretAs<ip6_hdr>
    - reinterpret_cast<const ip6_hdr*>
    linkageType: ''
    returnType: bool
    signature: bool IPv6Layer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' senderMacAddress'
    - ' senderIPAddress'
    - ' targetIPAddress'
    argTypes:
    - MacAddress
    - IPv4Address
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: pcpp::ArpRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ArpRequest(MacAddress const& senderMacAddress, IPv4Address const&
      senderIPAddress,\n\t\t           IPv4Address const& targetIPAddress)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' senderMacAddress'
    - ' senderIPAddress'
    - ' targetMacAddress'
    - ' targetIPAddress'
    argTypes:
    - MacAddress
    - IPv4Address
    - MacAddress
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: pcpp::ArpReply
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ArpReply(MacAddress const& senderMacAddress, IPv4Address const&
      senderIPAddress,\n\t\t         MacAddress const& targetMacAddress, IPv4Address
      const& targetIPAddress)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' senderMacAddress'
    - ' senderIPAddress'
    argTypes:
    - MacAddress
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: pcpp::GratuitousArpRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GratuitousArpRequest(MacAddress const& senderMacAddress, IPv4Address
      const& senderIPAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' senderMacAddress'
    - ' senderIPAddress'
    argTypes:
    - MacAddress
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: pcpp::GratuitousArpReply
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GratuitousArpReply(MacAddress const& senderMacAddress, IPv4Address
      const& senderIPAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: pcpp::ArpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: ~ArpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<arphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: pcpp::getArpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<arphdr*>
    linkageType: ''
    returnType: arphdr
    signature: arphdr * getArpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:215,1
    - Dst: pcpp::getArpHeader
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: pcpp::getSenderMacAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached:
    - MacAddress
    - pcpp::getArpHeader
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getSenderMacAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:222,1
    - Dst: pcpp::getArpHeader
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: pcpp::getTargetMacAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached:
    - MacAddress
    - pcpp::getArpHeader
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getTargetMacAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getArpHeader
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: pcpp::getSenderIpAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::getArpHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getSenderIpAddr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getArpHeader
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: pcpp::getTargetIpAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::getArpHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getTargetIpAddr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: pcpp::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: pcpp::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: pcpp::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<arphdr>
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: pcpp::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<arphdr>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' senderMacAddress'
    - ' senderIPAddress'
    - ' targetIPAddress'
    argTypes:
    - MacAddress
    - IPv4Address
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: pcpp::ArpRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ArpRequest(MacAddress const& senderMacAddress, IPv4Address const&
      senderIPAddress,\n\t\t           IPv4Address const& targetIPAddress)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' senderMacAddress'
    - ' senderIPAddress'
    - ' targetMacAddress'
    - ' targetIPAddress'
    argTypes:
    - MacAddress
    - IPv4Address
    - MacAddress
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: pcpp::ArpReply
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ArpReply(MacAddress const& senderMacAddress, IPv4Address const&
      senderIPAddress,\n\t\t         MacAddress const& targetMacAddress, IPv4Address
      const& targetIPAddress)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' senderMacAddress'
    - ' senderIPAddress'
    argTypes:
    - MacAddress
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: pcpp::GratuitousArpRequest
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GratuitousArpRequest(MacAddress const& senderMacAddress, IPv4Address
      const& senderIPAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' senderMacAddress'
    - ' senderIPAddress'
    argTypes:
    - MacAddress
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: pcpp::GratuitousArpReply
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GratuitousArpReply(MacAddress const& senderMacAddress, IPv4Address
      const& senderIPAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: pcpp::ArpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: ~ArpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<arphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: pcpp::getArpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<arphdr*>
    linkageType: ''
    returnType: arphdr
    signature: arphdr * getArpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:215,1
    - Dst: pcpp::getArpHeader
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: pcpp::getSenderMacAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached:
    - MacAddress
    - pcpp::getArpHeader
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getSenderMacAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:222,1
    - Dst: pcpp::getArpHeader
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: pcpp::getTargetMacAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached:
    - MacAddress
    - pcpp::getArpHeader
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getTargetMacAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getArpHeader
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: pcpp::getSenderIpAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::getArpHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getSenderIpAddr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getArpHeader
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: pcpp::getTargetIpAddr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::getArpHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getTargetIpAddr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: pcpp::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: pcpp::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: pcpp::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<arphdr>
      Src: /src/PcapPlusPlus/Packet++/header/ArpLayer.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: pcpp::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<arphdr>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: pcpp::NdpOption::NdpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NdpOption(uint8_t* optionRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~NdpOption() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NdpOption() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NDPNeighborOptionTypes>
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: pcpp::NdpOption::getNdpOptionType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<NDPNeighborOptionTypes>
    linkageType: ''
    returnType: NDPNeighborOptionTypes
    signature: NDPNeighborOptionTypes getNdpOptionType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: pcpp::NdpOption::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalSize() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: pcpp::NdpOption::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getDataSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - optionType
    - optionValue
    - optionValueLen
    argTypes:
    - NDPNeighborOptionTypes
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: pcpp::NdpOptionBuilder::NdpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NdpOptionBuilder(NDPNeighborOptionTypes optionType, const uint8_t*
      optionValue, uint8_t optionValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: ~NDPLayerBase() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NDPLayerBase() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: pcpp::NDPLayerBase::NDPLayerBase
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NDPLayerBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: pcpp::NDPLayerBase::NDPLayerBase
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NDPLayerBase(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNdpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: pcpp::NDPLayerBase::getNdpOptionsBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 8
    functionsReached:
    - getNdpHeaderLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getNdpOptionsBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: pcpp::NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NDPNeighborSolicitationLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: pcpp::NDPNeighborSolicitationLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: ~NDPNeighborSolicitationLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NDPNeighborSolicitationLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:205,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::getNdpHeader
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: pcpp::NDPNeighborSolicitationLayer::getTargetIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 2
    functionsReached:
    - IPv6Address
    - pcpp::NDPNeighborSolicitationLayer::getNdpHeader
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getTargetIP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ndpneighborsolicitationhdr*>
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: pcpp::NDPNeighborSolicitationLayer::getNdpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<ndpneighborsolicitationhdr*>
    linkageType: ''
    returnType: ndpneighborsolicitationhdr
    signature: ndpneighborsolicitationhdr * getNdpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: pcpp::NDPNeighborSolicitationLayer::getNdpHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getNdpHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NDPNeighborAdvertisementLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: pcpp::NDPNeighborAdvertisementLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: ~NDPNeighborAdvertisementLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NDPNeighborAdvertisementLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:317,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: pcpp::NDPNeighborAdvertisementLayer::getTargetIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 2
    functionsReached:
    - IPv6Address
    - pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getTargetIP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: pcpp::NDPNeighborAdvertisementLayer::getRouterFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
    linkageType: ''
    returnType: bool
    signature: bool getRouterFlag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: pcpp::NDPNeighborAdvertisementLayer::getUnicastFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
    linkageType: ''
    returnType: bool
    signature: bool getUnicastFlag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: pcpp::NDPNeighborAdvertisementLayer::getOverrideFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
    linkageType: ''
    returnType: bool
    signature: bool getOverrideFlag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ndpneighboradvertisementhdr*>
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<ndpneighboradvertisementhdr*>
    linkageType: ''
    returnType: ndpneighboradvertisementhdr
    signature: ndpneighboradvertisementhdr * getNdpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: pcpp::NDPNeighborAdvertisementLayer::getNdpHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getNdpHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: pcpp::NdpOption::NdpOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NdpOption(uint8_t* optionRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: ~NdpOption() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NdpOption() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<NDPNeighborOptionTypes>
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: pcpp::NdpOption::getNdpOptionType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<NDPNeighborOptionTypes>
    linkageType: ''
    returnType: NDPNeighborOptionTypes
    signature: NDPNeighborOptionTypes getNdpOptionType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: pcpp::NdpOption::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalSize() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: pcpp::NdpOption::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t getDataSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - optionType
    - optionValue
    - optionValueLen
    argTypes:
    - NDPNeighborOptionTypes
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: pcpp::NdpOptionBuilder::NdpOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NdpOptionBuilder(NDPNeighborOptionTypes optionType, const uint8_t*
      optionValue, uint8_t optionValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: ~NDPLayerBase() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NDPLayerBase() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: pcpp::NDPLayerBase::NDPLayerBase
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NDPLayerBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: pcpp::NDPLayerBase::NDPLayerBase
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NDPLayerBase(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNdpHeaderLen
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: pcpp::NDPLayerBase::getNdpOptionsBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 8
    functionsReached:
    - getNdpHeaderLen
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getNdpOptionsBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: pcpp::NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NDPNeighborSolicitationLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: pcpp::NDPNeighborSolicitationLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: ~NDPNeighborSolicitationLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NDPNeighborSolicitationLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:205,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::getNdpHeader
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: pcpp::NDPNeighborSolicitationLayer::getTargetIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 2
    functionsReached:
    - IPv6Address
    - pcpp::NDPNeighborSolicitationLayer::getNdpHeader
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getTargetIP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ndpneighborsolicitationhdr*>
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: pcpp::NDPNeighborSolicitationLayer::getNdpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<ndpneighborsolicitationhdr*>
    linkageType: ''
    returnType: ndpneighborsolicitationhdr
    signature: ndpneighborsolicitationhdr * getNdpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: pcpp::NDPNeighborSolicitationLayer::getNdpHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getNdpHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NDPNeighborAdvertisementLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: pcpp::NDPNeighborAdvertisementLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: ~NDPNeighborAdvertisementLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NDPNeighborAdvertisementLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:317,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: pcpp::NDPNeighborAdvertisementLayer::getTargetIP
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 2
    functionsReached:
    - IPv6Address
    - pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getTargetIP() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: pcpp::NDPNeighborAdvertisementLayer::getRouterFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
    linkageType: ''
    returnType: bool
    signature: bool getRouterFlag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: pcpp::NDPNeighborAdvertisementLayer::getUnicastFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
    linkageType: ''
    returnType: bool
    signature: bool getUnicastFlag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: pcpp::NDPNeighborAdvertisementLayer::getOverrideFlag
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
    linkageType: ''
    returnType: bool
    signature: bool getOverrideFlag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ndpneighboradvertisementhdr*>
      Src: /src/PcapPlusPlus/Packet++/header/NdpLayer.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<ndpneighboradvertisementhdr*>
    linkageType: ''
    returnType: ndpneighboradvertisementhdr
    signature: ndpneighboradvertisementhdr * getNdpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: pcpp::NDPNeighborAdvertisementLayer::getNdpHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getNdpHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: pcpp::UdpLayer::UdpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/UdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UdpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<udphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/UdpLayer.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: pcpp::UdpLayer::getUdpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/UdpLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<udphdr*>
    linkageType: ''
    returnType: udphdr
    signature: udphdr * getUdpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: pcpp::UdpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/UdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: pcpp::UdpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/UdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: pcpp::UdpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/UdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UdpLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: pcpp::UdpLayer::UdpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/UdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UdpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<udphdr*>
      Src: /src/PcapPlusPlus/Packet++/header/UdpLayer.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: pcpp::UdpLayer::getUdpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/UdpLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<udphdr*>
    linkageType: ''
    returnType: udphdr
    signature: udphdr * getUdpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: pcpp::UdpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/UdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: pcpp::UdpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/UdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: pcpp::UdpLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/UdpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool UdpLayer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: pcpp::LdapOperationType::LdapOperationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LdapOperationType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: pcpp::LdapOperationType::LdapOperationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LdapOperationType(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: pcpp::LdapResultCode::LdapResultCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LdapResultCode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: pcpp::LdapResultCode::LdapResultCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LdapResultCode(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LdapControl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: operator==(const LdapControl& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const LdapControl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LdapAttribute
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: operator==(const LdapAttribute& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const LdapAttribute& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: ~LdapLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LdapLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::internalTryGet
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - ' result'
    argTypes:
    - Method
    - ResultType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: pcpp::LdapLayer::tryGet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::internalTryGet
    linkageType: ''
    returnType: bool
    signature: bool tryGet(Method method, ResultType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: pcpp::LdapLayer::isLdapPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isLdapPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTotalLength
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: pcpp::LdapLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 2
    functionsReached:
    - getTotalLength
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 371
    functionName: pcpp::LdapLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: pcpp::LdapLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: pcpp::LdapLayer::LdapLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LdapLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: pcpp::LdapLayer::getExtendedInfoString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getExtendedInfoString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::mem_fn
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - thisPtr
    - method
    - ' result'
    argTypes:
    - LdapClass*
    - Method
    - ResultType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 412
    functionName: pcpp::LdapLayer::internalTryGet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 1
    functionsReached:
    - std::mem_fn
    linkageType: ''
    returnType: bool
    signature: bool internalTryGet(LdapClass* thisPtr, Method method, ResultType&
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: pcpp::LdapResponseLayer::LdapResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LdapResponseLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: pcpp::LdapResponseLayer::LdapResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapResponseLayer(std::unique_ptr<Asn1Record> asn1Record, uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t\t                  Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SaslAuthentication
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: operator==(const SaslAuthentication& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SaslAuthentication& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SaslAuthentication
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: operator!=(const SaslAuthentication& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const SaslAuthentication& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internalTryGet
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - ' result'
    argTypes:
    - Method
    - ResultType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: pcpp::LdapBindRequestLayer::tryGet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - internalTryGet
    linkageType: ''
    returnType: bool
    signature: bool tryGet(Method method, ResultType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: pcpp::LdapBindRequestLayer::LdapBindRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapBindRequestLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t\t                     Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: pcpp::LdapBindResponseLayer::LdapBindResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapBindResponseLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t\t                      Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 619
    functionName: pcpp::LdapUnbindRequestLayer::getLdapOperationAsn1Record
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Asn1ConstructedRecord
    signature: Asn1ConstructedRecord * getLdapOperationAsn1Record() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: pcpp::LdapUnbindRequestLayer::getLdapOperationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LdapOperationType
    signature: LdapOperationType getLdapOperationType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internalTryGet
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - ' result'
    argTypes:
    - Method
    - ResultType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 629
    functionName: pcpp::LdapUnbindRequestLayer::tryGet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - internalTryGet
    linkageType: ''
    returnType: bool
    signature: bool tryGet(Method method, ResultType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 637
    functionName: pcpp::LdapUnbindRequestLayer::LdapUnbindRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapUnbindRequestLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t\t                       Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 669
    functionName: pcpp::LdapSearchRequestLayer::SearchRequestScope::SearchRequestScope
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SearchRequestScope()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 675
    functionName: pcpp::LdapSearchRequestLayer::SearchRequestScope::SearchRequestScope
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SearchRequestScope(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 690
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: pcpp::LdapSearchRequestLayer::DerefAliases::DerefAliases
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DerefAliases()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 725
    functionName: pcpp::LdapSearchRequestLayer::DerefAliases::DerefAliases
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DerefAliases(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internalTryGet
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - ' result'
    argTypes:
    - Method
    - ResultType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 804
    functionName: pcpp::LdapSearchRequestLayer::tryGet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - internalTryGet
    linkageType: ''
    returnType: bool
    signature: bool tryGet(Method method, ResultType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 821
    functionName: pcpp::LdapSearchRequestLayer::LdapSearchRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapSearchRequestLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t\t                       Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internalTryGet
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - ' result'
    argTypes:
    - Method
    - ResultType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 850
    functionName: pcpp::LdapSearchResultEntryLayer::tryGet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - internalTryGet
    linkageType: ''
    returnType: bool
    signature: bool tryGet(Method method, ResultType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 863
    functionName: pcpp::LdapSearchResultEntryLayer::LdapSearchResultEntryLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapSearchResultEntryLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen,\n\t\t                           Layer* prevLayer,
      Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:884,1
    - Dst: std::vector<LdapControl>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - messageId
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    argTypes:
    - uint16_t
    - LdapResultCode
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 888
    functionName: pcpp::LdapSearchResultDoneLayer::LdapSearchResultDoneLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - std::vector<LdapControl>
    linkageType: ''
    returnType: void
    signature: "void LdapSearchResultDoneLayer(uint16_t messageId, LdapResultCode
      resultCode, const std::string& matchedDN,\n\t\t                          const
      std::string& diagnosticMessage,\n\t\t                          const std::vector<std::string>&
      referral = std::vector<std::string>(),\n\t\t                          const
      std::vector<LdapControl>& controls = std::vector<LdapControl>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 896
    functionName: pcpp::LdapSearchResultDoneLayer::LdapSearchResultDoneLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapSearchResultDoneLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen,\n\t\t                          Layer* prevLayer,
      Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:917,1
    - Dst: std::vector<LdapControl>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - messageId
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    argTypes:
    - uint16_t
    - LdapResultCode
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 921
    functionName: pcpp::LdapModifyResponseLayer::LdapModifyResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - std::vector<LdapControl>
    linkageType: ''
    returnType: void
    signature: "void LdapModifyResponseLayer(uint16_t messageId, LdapResultCode resultCode,
      const std::string& matchedDN,\n\t\t                        const std::string&
      diagnosticMessage,\n\t\t                        const std::vector<std::string>&
      referral = std::vector<std::string>(),\n\t\t                        const std::vector<LdapControl>&
      controls = std::vector<LdapControl>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 929
    functionName: pcpp::LdapModifyResponseLayer::LdapModifyResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapModifyResponseLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t\t                        Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:950,1
    - Dst: std::vector<LdapControl>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - messageId
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    argTypes:
    - uint16_t
    - LdapResultCode
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 954
    functionName: pcpp::LdapAddResponseLayer::LdapAddResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - std::vector<LdapControl>
    linkageType: ''
    returnType: void
    signature: "void LdapAddResponseLayer(uint16_t messageId, LdapResultCode resultCode,
      const std::string& matchedDN,\n\t\t                     const std::string& diagnosticMessage,\n\t\t
      \                    const std::vector<std::string>& referral = std::vector<std::string>(),\n\t\t
      \                    const std::vector<LdapControl>& controls = std::vector<LdapControl>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 962
    functionName: pcpp::LdapAddResponseLayer::LdapAddResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapAddResponseLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t\t                     Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:983,1
    - Dst: std::vector<LdapControl>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - messageId
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    argTypes:
    - uint16_t
    - LdapResultCode
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 987
    functionName: pcpp::LdapDeleteResponseLayer::LdapDeleteResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - std::vector<LdapControl>
    linkageType: ''
    returnType: void
    signature: "void LdapDeleteResponseLayer(uint16_t messageId, LdapResultCode resultCode,
      const std::string& matchedDN,\n\t\t                        const std::string&
      diagnosticMessage,\n\t\t                        const std::vector<std::string>&
      referral = std::vector<std::string>(),\n\t\t                        const std::vector<LdapControl>&
      controls = std::vector<LdapControl>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 995
    functionName: pcpp::LdapDeleteResponseLayer::LdapDeleteResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapDeleteResponseLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t\t                        Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1016,1
    - Dst: std::vector<LdapControl>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - messageId
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    argTypes:
    - uint16_t
    - LdapResultCode
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1020
    functionName: pcpp::LdapModifyDNResponseLayer::LdapModifyDNResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - std::vector<LdapControl>
    linkageType: ''
    returnType: void
    signature: "void LdapModifyDNResponseLayer(uint16_t messageId, LdapResultCode
      resultCode, const std::string& matchedDN,\n\t\t                          const
      std::string& diagnosticMessage,\n\t\t                          const std::vector<std::string>&
      referral = std::vector<std::string>(),\n\t\t                          const
      std::vector<LdapControl>& controls = std::vector<LdapControl>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1028
    functionName: pcpp::LdapModifyDNResponseLayer::LdapModifyDNResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapModifyDNResponseLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen,\n\t\t                          Layer* prevLayer,
      Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1049,1
    - Dst: std::vector<LdapControl>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - messageId
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    argTypes:
    - uint16_t
    - LdapResultCode
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1053
    functionName: pcpp::LdapCompareResponseLayer::LdapCompareResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - std::vector<LdapControl>
    linkageType: ''
    returnType: void
    signature: "void LdapCompareResponseLayer(uint16_t messageId, LdapResultCode resultCode,
      const std::string& matchedDN,\n\t\t                         const std::string&
      diagnosticMessage,\n\t\t                         const std::vector<std::string>&
      referral = std::vector<std::string>(),\n\t\t                         const std::vector<LdapControl>&
      controls = std::vector<LdapControl>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1061
    functionName: pcpp::LdapCompareResponseLayer::LdapCompareResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapCompareResponseLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen,\n\t\t                         Layer* prevLayer,
      Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' control'
    argTypes:
    - std::ostream
    - pcpp::LdapControl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1068
    functionName: '& operator<<(std::ostream& os, const pcpp::LdapControl& control)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const pcpp::LdapControl&
      control)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' attr'
    argTypes:
    - std::ostream
    - pcpp::LdapAttribute
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1086
    functionName: '& operator<<(std::ostream& os, const pcpp::LdapAttribute& attr)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const pcpp::LdapAttribute&
      attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1096,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' saslAuthentication'
    argTypes:
    - std::ostream
    - pcpp::LdapBindRequestLayer::SaslAuthentication
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1105
    functionName: "& operator<<(std::ostream& os,\n\t                                const
      pcpp::LdapBindRequestLayer::SaslAuthentication& saslAuthentication)"
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string::empty
    linkageType: ''
    returnType: std::ostream
    signature: "std::ostream & operator<<(std::ostream& os,\n\t                                const
      pcpp::LdapBindRequestLayer::SaslAuthentication& saslAuthentication)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: pcpp::LdapOperationType::LdapOperationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LdapOperationType()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: pcpp::LdapOperationType::LdapOperationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LdapOperationType(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: pcpp::LdapResultCode::LdapResultCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LdapResultCode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: pcpp::LdapResultCode::LdapResultCode
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LdapResultCode(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LdapControl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: operator==(const LdapControl& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const LdapControl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LdapAttribute
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: operator==(const LdapAttribute& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const LdapAttribute& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: ~LdapLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LdapLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LdapLayer::internalTryGet
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - ' result'
    argTypes:
    - Method
    - ResultType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: pcpp::LdapLayer::tryGet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::LdapLayer::internalTryGet
    linkageType: ''
    returnType: bool
    signature: bool tryGet(Method method, ResultType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: pcpp::LdapLayer::isLdapPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isLdapPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTotalLength
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: pcpp::LdapLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 2
    functionsReached:
    - getTotalLength
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 371
    functionName: pcpp::LdapLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: pcpp::LdapLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: pcpp::LdapLayer::LdapLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LdapLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: pcpp::LdapLayer::getExtendedInfoString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getExtendedInfoString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::mem_fn
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - thisPtr
    - method
    - ' result'
    argTypes:
    - LdapClass*
    - Method
    - ResultType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 412
    functionName: pcpp::LdapLayer::internalTryGet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 2
    functionsReached:
    - std::mem_fn
    linkageType: ''
    returnType: bool
    signature: bool internalTryGet(LdapClass* thisPtr, Method method, ResultType&
      result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: pcpp::LdapResponseLayer::LdapResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LdapResponseLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: pcpp::LdapResponseLayer::LdapResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapResponseLayer(std::unique_ptr<Asn1Record> asn1Record, uint8_t*
      data, size_t dataLen, Layer* prevLayer,\n\t\t                  Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SaslAuthentication
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: operator==(const SaslAuthentication& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SaslAuthentication& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SaslAuthentication
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: operator!=(const SaslAuthentication& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const SaslAuthentication& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internalTryGet
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - ' result'
    argTypes:
    - Method
    - ResultType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 548
    functionName: pcpp::LdapBindRequestLayer::tryGet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - internalTryGet
    linkageType: ''
    returnType: bool
    signature: bool tryGet(Method method, ResultType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: pcpp::LdapBindRequestLayer::LdapBindRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapBindRequestLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t\t                     Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: pcpp::LdapBindResponseLayer::LdapBindResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapBindResponseLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t\t                      Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 619
    functionName: pcpp::LdapUnbindRequestLayer::getLdapOperationAsn1Record
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Asn1ConstructedRecord
    signature: Asn1ConstructedRecord * getLdapOperationAsn1Record() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: pcpp::LdapUnbindRequestLayer::getLdapOperationType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LdapOperationType
    signature: LdapOperationType getLdapOperationType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internalTryGet
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - ' result'
    argTypes:
    - Method
    - ResultType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 629
    functionName: pcpp::LdapUnbindRequestLayer::tryGet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - internalTryGet
    linkageType: ''
    returnType: bool
    signature: bool tryGet(Method method, ResultType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 637
    functionName: pcpp::LdapUnbindRequestLayer::LdapUnbindRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapUnbindRequestLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t\t                       Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 669
    functionName: pcpp::LdapSearchRequestLayer::SearchRequestScope::SearchRequestScope
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SearchRequestScope()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 675
    functionName: pcpp::LdapSearchRequestLayer::SearchRequestScope::SearchRequestScope
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SearchRequestScope(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 690
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: pcpp::LdapSearchRequestLayer::DerefAliases::DerefAliases
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DerefAliases()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 725
    functionName: pcpp::LdapSearchRequestLayer::DerefAliases::DerefAliases
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DerefAliases(Value value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: operator Value() const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator Value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internalTryGet
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - ' result'
    argTypes:
    - Method
    - ResultType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 804
    functionName: pcpp::LdapSearchRequestLayer::tryGet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - internalTryGet
    linkageType: ''
    returnType: bool
    signature: bool tryGet(Method method, ResultType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 821
    functionName: pcpp::LdapSearchRequestLayer::LdapSearchRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapSearchRequestLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t\t                       Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internalTryGet
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - ' result'
    argTypes:
    - Method
    - ResultType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 850
    functionName: pcpp::LdapSearchResultEntryLayer::tryGet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - internalTryGet
    linkageType: ''
    returnType: bool
    signature: bool tryGet(Method method, ResultType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 863
    functionName: pcpp::LdapSearchResultEntryLayer::LdapSearchResultEntryLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapSearchResultEntryLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen,\n\t\t                           Layer* prevLayer,
      Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:884,1
    - Dst: std::vector<LdapControl>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - messageId
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    argTypes:
    - uint16_t
    - LdapResultCode
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 888
    functionName: pcpp::LdapSearchResultDoneLayer::LdapSearchResultDoneLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - std::vector<LdapControl>
    linkageType: ''
    returnType: void
    signature: "void LdapSearchResultDoneLayer(uint16_t messageId, LdapResultCode
      resultCode, const std::string& matchedDN,\n\t\t                          const
      std::string& diagnosticMessage,\n\t\t                          const std::vector<std::string>&
      referral = std::vector<std::string>(),\n\t\t                          const
      std::vector<LdapControl>& controls = std::vector<LdapControl>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 896
    functionName: pcpp::LdapSearchResultDoneLayer::LdapSearchResultDoneLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapSearchResultDoneLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen,\n\t\t                          Layer* prevLayer,
      Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:917,1
    - Dst: std::vector<LdapControl>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - messageId
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    argTypes:
    - uint16_t
    - LdapResultCode
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 921
    functionName: pcpp::LdapModifyResponseLayer::LdapModifyResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - std::vector<LdapControl>
    linkageType: ''
    returnType: void
    signature: "void LdapModifyResponseLayer(uint16_t messageId, LdapResultCode resultCode,
      const std::string& matchedDN,\n\t\t                        const std::string&
      diagnosticMessage,\n\t\t                        const std::vector<std::string>&
      referral = std::vector<std::string>(),\n\t\t                        const std::vector<LdapControl>&
      controls = std::vector<LdapControl>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 929
    functionName: pcpp::LdapModifyResponseLayer::LdapModifyResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapModifyResponseLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t\t                        Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:950,1
    - Dst: std::vector<LdapControl>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - messageId
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    argTypes:
    - uint16_t
    - LdapResultCode
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 954
    functionName: pcpp::LdapAddResponseLayer::LdapAddResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - std::vector<LdapControl>
    linkageType: ''
    returnType: void
    signature: "void LdapAddResponseLayer(uint16_t messageId, LdapResultCode resultCode,
      const std::string& matchedDN,\n\t\t                     const std::string& diagnosticMessage,\n\t\t
      \                    const std::vector<std::string>& referral = std::vector<std::string>(),\n\t\t
      \                    const std::vector<LdapControl>& controls = std::vector<LdapControl>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 962
    functionName: pcpp::LdapAddResponseLayer::LdapAddResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapAddResponseLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t\t                     Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:983,1
    - Dst: std::vector<LdapControl>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - messageId
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    argTypes:
    - uint16_t
    - LdapResultCode
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 987
    functionName: pcpp::LdapDeleteResponseLayer::LdapDeleteResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - std::vector<LdapControl>
    linkageType: ''
    returnType: void
    signature: "void LdapDeleteResponseLayer(uint16_t messageId, LdapResultCode resultCode,
      const std::string& matchedDN,\n\t\t                        const std::string&
      diagnosticMessage,\n\t\t                        const std::vector<std::string>&
      referral = std::vector<std::string>(),\n\t\t                        const std::vector<LdapControl>&
      controls = std::vector<LdapControl>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 995
    functionName: pcpp::LdapDeleteResponseLayer::LdapDeleteResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapDeleteResponseLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen, Layer* prevLayer,\n\t\t                        Packet*
      packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1016,1
    - Dst: std::vector<LdapControl>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - messageId
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    argTypes:
    - uint16_t
    - LdapResultCode
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1020
    functionName: pcpp::LdapModifyDNResponseLayer::LdapModifyDNResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - std::vector<LdapControl>
    linkageType: ''
    returnType: void
    signature: "void LdapModifyDNResponseLayer(uint16_t messageId, LdapResultCode
      resultCode, const std::string& matchedDN,\n\t\t                          const
      std::string& diagnosticMessage,\n\t\t                          const std::vector<std::string>&
      referral = std::vector<std::string>(),\n\t\t                          const
      std::vector<LdapControl>& controls = std::vector<LdapControl>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1028
    functionName: pcpp::LdapModifyDNResponseLayer::LdapModifyDNResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapModifyDNResponseLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen,\n\t\t                          Layer* prevLayer,
      Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1049,1
    - Dst: std::vector<LdapControl>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - messageId
    - resultCode
    - ' matchedDN'
    - ' diagnosticMessage'
    argTypes:
    - uint16_t
    - LdapResultCode
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1053
    functionName: pcpp::LdapCompareResponseLayer::LdapCompareResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - std::vector<LdapControl>
    linkageType: ''
    returnType: void
    signature: "void LdapCompareResponseLayer(uint16_t messageId, LdapResultCode resultCode,
      const std::string& matchedDN,\n\t\t                         const std::string&
      diagnosticMessage,\n\t\t                         const std::vector<std::string>&
      referral = std::vector<std::string>(),\n\t\t                         const std::vector<LdapControl>&
      controls = std::vector<LdapControl>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - asn1Record
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - std::unique_ptr<Asn1Record>
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1061
    functionName: pcpp::LdapCompareResponseLayer::LdapCompareResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void LdapCompareResponseLayer(std::unique_ptr<Asn1Record> asn1Record,
      uint8_t* data, size_t dataLen,\n\t\t                         Layer* prevLayer,
      Packet* packet)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' control'
    argTypes:
    - std::ostream
    - pcpp::LdapControl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1068
    functionName: '& operator<<(std::ostream& os, const pcpp::LdapControl& control)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const pcpp::LdapControl&
      control)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' attr'
    argTypes:
    - std::ostream
    - pcpp::LdapAttribute
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1086
    functionName: '& operator<<(std::ostream& os, const pcpp::LdapAttribute& attr)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const pcpp::LdapAttribute&
      attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1096,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Packet++/header/LdapLayer.h:1097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' os'
    - ' saslAuthentication'
    argTypes:
    - std::ostream
    - pcpp::LdapBindRequestLayer::SaslAuthentication
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1105
    functionName: "& operator<<(std::ostream& os,\n\t                                const
      pcpp::LdapBindRequestLayer::SaslAuthentication& saslAuthentication)"
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::string::empty
    linkageType: ''
    returnType: std::ostream
    signature: "std::ostream & operator<<(std::ostream& os,\n\t                                const
      pcpp::LdapBindRequestLayer::SaslAuthentication& saslAuthentication)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - portSrc
    - portDst
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: pcpp::BgpLayer::isBgpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isBgpPort(uint16_t portSrc, uint16_t portDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: pcpp::BgpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: pcpp::BgpLayer::BgpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgpLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: pcpp::BgpLayer::BgpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<bgp_common_header*>
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: pcpp::BgpLayer::getBasicHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<bgp_common_header*>
    linkageType: ''
    returnType: bgp_common_header
    signature: bgp_common_header * getBasicHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: pcpp::BgpOpenMessageLayer::optional_parameter
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void optional_parameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: pcpp::BgpOpenMessageLayer::BgpOpenMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgpOpenMessageLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<bgp_open_message*>
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<bgp_open_message*>
    linkageType: ''
    returnType: bgp_open_message
    signature: bgp_open_message * getOpenMsgHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:201,1
    - Dst: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: pcpp::BgpOpenMessageLayer::getBgpId
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    - pcpp::BgpOpenMessageLayer::getOpenMsgHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getBgpId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: pcpp::BgpOpenMessageLayer::getBgpMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BgpMessageType
    signature: BgpMessageType getBgpMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: pcpp::BgpUpdateMessageLayer::prefix_and_ip
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prefix_and_ip()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - prefixVal
    - ' ipAddrVal'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: pcpp::BgpUpdateMessageLayer::prefix_and_ip
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prefix_and_ip(uint8_t prefixVal, const std::string& ipAddrVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: pcpp::BgpUpdateMessageLayer::path_attribute
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void path_attribute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: pcpp::BgpUpdateMessageLayer::BgpUpdateMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgpUpdateMessageLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<bgp_common_header*>
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: pcpp::BgpUpdateMessageLayer::getBasicMsgHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<bgp_common_header*>
    linkageType: ''
    returnType: bgp_common_header
    signature: bgp_common_header * getBasicMsgHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: pcpp::BgpUpdateMessageLayer::getBgpMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BgpMessageType
    signature: BgpMessageType getBgpMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgpNotificationMessageLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<bgp_notification_message*>
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: pcpp::BgpNotificationMessageLayer::getNotificationMsgHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<bgp_notification_message*>
    linkageType: ''
    returnType: bgp_notification_message
    signature: bgp_notification_message * getNotificationMsgHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: pcpp::BgpNotificationMessageLayer::getBgpMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BgpMessageType
    signature: BgpMessageType getBgpMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: pcpp::BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgpKeepaliveMessageLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<bgp_keepalive_message*>
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:534,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: pcpp::BgpKeepaliveMessageLayer::getKeepaliveHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached:
    - getBasicHeader
    - reinterpret_cast<bgp_keepalive_message*>
    linkageType: ''
    returnType: bgp_keepalive_message
    signature: bgp_keepalive_message * getKeepaliveHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: pcpp::BgpKeepaliveMessageLayer::getBgpMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BgpMessageType
    signature: BgpMessageType getBgpMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: pcpp::BgpRouteRefreshMessageLayer::BgpRouteRefreshMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgpRouteRefreshMessageLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<bgp_route_refresh_message*>
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:583,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: pcpp::BgpRouteRefreshMessageLayer::getRouteRefreshHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<bgp_route_refresh_message*>
    - getBasicHeader
    linkageType: ''
    returnType: bgp_route_refresh_message
    signature: bgp_route_refresh_message * getRouteRefreshHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 591
    functionName: pcpp::BgpRouteRefreshMessageLayer::getBgpMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BgpMessageType
    signature: BgpMessageType getBgpMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - portSrc
    - portDst
    argTypes:
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: pcpp::BgpLayer::isBgpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isBgpPort(uint16_t portSrc, uint16_t portDst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: pcpp::BgpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: pcpp::BgpLayer::BgpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgpLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: pcpp::BgpLayer::BgpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<bgp_common_header*>
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: pcpp::BgpLayer::getBasicHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<bgp_common_header*>
    linkageType: ''
    returnType: bgp_common_header
    signature: bgp_common_header * getBasicHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: pcpp::BgpOpenMessageLayer::optional_parameter
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void optional_parameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: pcpp::BgpOpenMessageLayer::BgpOpenMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgpOpenMessageLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<bgp_open_message*>
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 11
    functionsReached:
    - reinterpret_cast<bgp_open_message*>
    linkageType: ''
    returnType: bgp_open_message
    signature: bgp_open_message * getOpenMsgHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:201,1
    - Dst: pcpp::BgpOpenMessageLayer::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: pcpp::BgpOpenMessageLayer::getBgpId
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    - pcpp::BgpOpenMessageLayer::getOpenMsgHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getBgpId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: pcpp::BgpOpenMessageLayer::getBgpMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BgpMessageType
    signature: BgpMessageType getBgpMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: pcpp::BgpUpdateMessageLayer::prefix_and_ip
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prefix_and_ip()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - prefixVal
    - ' ipAddrVal'
    argTypes:
    - uint8_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: pcpp::BgpUpdateMessageLayer::prefix_and_ip
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prefix_and_ip(uint8_t prefixVal, const std::string& ipAddrVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: pcpp::BgpUpdateMessageLayer::path_attribute
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void path_attribute()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: pcpp::BgpUpdateMessageLayer::BgpUpdateMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgpUpdateMessageLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<bgp_common_header*>
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: pcpp::BgpUpdateMessageLayer::getBasicMsgHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<bgp_common_header*>
    linkageType: ''
    returnType: bgp_common_header
    signature: bgp_common_header * getBasicMsgHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: pcpp::BgpUpdateMessageLayer::getBgpMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BgpMessageType
    signature: BgpMessageType getBgpMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgpNotificationMessageLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<bgp_notification_message*>
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: pcpp::BgpNotificationMessageLayer::getNotificationMsgHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<bgp_notification_message*>
    linkageType: ''
    returnType: bgp_notification_message
    signature: bgp_notification_message * getNotificationMsgHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: pcpp::BgpNotificationMessageLayer::getBgpMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BgpMessageType
    signature: BgpMessageType getBgpMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: pcpp::BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgpKeepaliveMessageLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<bgp_keepalive_message*>
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:534,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: pcpp::BgpKeepaliveMessageLayer::getKeepaliveHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached:
    - getBasicHeader
    - reinterpret_cast<bgp_keepalive_message*>
    linkageType: ''
    returnType: bgp_keepalive_message
    signature: bgp_keepalive_message * getKeepaliveHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: pcpp::BgpKeepaliveMessageLayer::getBgpMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BgpMessageType
    signature: BgpMessageType getBgpMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: pcpp::BgpRouteRefreshMessageLayer::BgpRouteRefreshMessageLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BgpRouteRefreshMessageLayer(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<bgp_route_refresh_message*>
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:583,1
    - Dst: getBasicHeader
      Src: /src/PcapPlusPlus/Packet++/header/BgpLayer.h:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: pcpp::BgpRouteRefreshMessageLayer::getRouteRefreshHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<bgp_route_refresh_message*>
    - getBasicHeader
    linkageType: ''
    returnType: bgp_route_refresh_message
    signature: bgp_route_refresh_message * getRouteRefreshHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 591
    functionName: pcpp::BgpRouteRefreshMessageLayer::getBgpMessageType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BgpMessageType
    signature: BgpMessageType getBgpMessageType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: pcpp::DhcpV6Option::DhcpV6Option
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DhcpV6Option(uint8_t* optionRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: ~DhcpV6Option() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DhcpV6Option() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - ' optionValueAsHexStream'
    argTypes:
    - DhcpV6OptionType
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void DhcpV6OptionBuilder(DhcpV6OptionType optionType, const std::string&
      optionValueAsHexStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - optionType
    - optionValue
    - optionValueLen
    argTypes:
    - DhcpV6OptionType
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void DhcpV6OptionBuilder(DhcpV6OptionType optionType, const uint8_t*
      optionValue, uint8_t optionValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 353
    functionName: pcpp::DhcpV6Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: pcpp::DhcpV6Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 363
    functionName: pcpp::DhcpV6Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: pcpp::DhcpV6Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: pcpp::DhcpV6Layer::getOptionsBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getOptionsBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<dhcpv6_header*>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: pcpp::DhcpV6Layer::getDhcpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<dhcpv6_header*>
    linkageType: ''
    returnType: dhcpv6_header
    signature: dhcpv6_header * getDhcpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: pcpp::DhcpV6Layer::isDhcpV6Port
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DhcpV6Layer::isDhcpV6Port(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: pcpp::DhcpV6Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DhcpV6Layer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: pcpp::DhcpV6Option::DhcpV6Option
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DhcpV6Option(uint8_t* optionRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: ~DhcpV6Option() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DhcpV6Option() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optionType
    - ' optionValueAsHexStream'
    argTypes:
    - DhcpV6OptionType
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void DhcpV6OptionBuilder(DhcpV6OptionType optionType, const std::string&
      optionValueAsHexStream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - optionType
    - optionValue
    - optionValueLen
    argTypes:
    - DhcpV6OptionType
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void DhcpV6OptionBuilder(DhcpV6OptionType optionType, const uint8_t*
      optionValue, uint8_t optionValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 353
    functionName: pcpp::DhcpV6Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: pcpp::DhcpV6Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 363
    functionName: pcpp::DhcpV6Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: pcpp::DhcpV6Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: pcpp::DhcpV6Layer::getOptionsBasePtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getOptionsBasePtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<dhcpv6_header*>
      Src: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: pcpp::DhcpV6Layer::getDhcpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<dhcpv6_header*>
    linkageType: ''
    returnType: dhcpv6_header
    signature: dhcpv6_header * getDhcpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: pcpp::DhcpV6Layer::isDhcpV6Port
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DhcpV6Layer::isDhcpV6Port(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: pcpp::DhcpV6Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DhcpV6Layer::isDataValid(const uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: pcpp::S7CommParameter::S7CommParameter
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S7CommParameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ~S7CommParameter()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~S7CommParameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: pcpp::S7CommParameter::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: pcpp::S7CommParameter::getDataLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getDataLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: pcpp::S7CommParameter::S7CommParameter
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S7CommParameter(uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: pcpp::S7CommLayer::S7CommLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S7CommLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: ~S7CommLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~S7CommLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: pcpp::S7CommLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: pcpp::S7CommLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: pcpp::S7CommLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: pcpp::S7CommLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<s7commhdr*>
      Src: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: pcpp::S7CommLayer::getS7commHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 18
    functionsReached:
    - reinterpret_cast<s7commhdr*>
    linkageType: ''
    returnType: s7commhdr
    signature: s7commhdr * getS7commHeader() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h:179,1
    - Dst: reinterpret_cast<s7comm_ack_data_hdr*>
      Src: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: pcpp::S7CommLayer::getS7commAckDataHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 8
    functionsReached:
    - pcpp::S7CommLayer::getS7commHeader
    - reinterpret_cast<s7comm_ack_data_hdr*>
    linkageType: ''
    returnType: s7comm_ack_data_hdr
    signature: s7comm_ack_data_hdr * getS7commAckDataHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: pcpp::S7CommParameter::S7CommParameter
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S7CommParameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: ~S7CommParameter()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~S7CommParameter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: pcpp::S7CommParameter::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: pcpp::S7CommParameter::getDataLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getDataLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: pcpp::S7CommParameter::S7CommParameter
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S7CommParameter(uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: pcpp::S7CommLayer::S7CommLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void S7CommLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: ~S7CommLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~S7CommLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: pcpp::S7CommLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: pcpp::S7CommLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: pcpp::S7CommLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: pcpp::S7CommLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<s7commhdr*>
      Src: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: pcpp::S7CommLayer::getS7commHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 19
    functionsReached:
    - reinterpret_cast<s7commhdr*>
    linkageType: ''
    returnType: s7commhdr
    signature: s7commhdr * getS7commHeader() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::S7CommLayer::getS7commHeader
      Src: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h:179,1
    - Dst: reinterpret_cast<s7comm_ack_data_hdr*>
      Src: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: pcpp::S7CommLayer::getS7commAckDataHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    functionUses: 8
    functionsReached:
    - pcpp::S7CommLayer::getS7commHeader
    - reinterpret_cast<s7comm_ack_data_hdr*>
    linkageType: ''
    returnType: s7comm_ack_data_hdr
    signature: s7comm_ack_data_hdr * getS7commAckDataHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pcpp::SomeIpSdOption::getLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: pcpp::SomeIpSdOption::SomeIpSdOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdOption()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: pcpp::SomeIpSdOption::SomeIpSdOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdOption(const IDataContainer* dataContainer, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: pcpp::SomeIpSdOption::SomeIpSdOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdOption(const SomeIpSdOption&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: '& operator=(const SomeIpSdOption&)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SomeIpSdOption
    signature: SomeIpSdOption & operator=(const SomeIpSdOption&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: pcpp::SomeIpSdEntry::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EntryType
    signature: EntryType getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: pcpp::SomeIpSdEntry::getLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 498
    functionName: pcpp::SomeIpSdEntry::SomeIpSdEntry
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry(const SomeIpSdEntry&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: '& operator=(const SomeIpSdEntry&)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SomeIpSdEntry
    signature: SomeIpSdEntry & operator=(const SomeIpSdEntry&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: ~SomeIpSdLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SomeIpSdLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: pcpp::SomeIpSdLayer::isSomeIpSdPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSomeIpSdPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pcpp::SomeIpSdOption::getLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: pcpp::SomeIpSdOption::SomeIpSdOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdOption()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: pcpp::SomeIpSdOption::SomeIpSdOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdOption(const IDataContainer* dataContainer, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: pcpp::SomeIpSdOption::SomeIpSdOption
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdOption(const SomeIpSdOption&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: '& operator=(const SomeIpSdOption&)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SomeIpSdOption
    signature: SomeIpSdOption & operator=(const SomeIpSdOption&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: pcpp::SomeIpSdEntry::getType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EntryType
    signature: EntryType getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: pcpp::SomeIpSdEntry::getLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 498
    functionName: pcpp::SomeIpSdEntry::SomeIpSdEntry
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpSdEntry(const SomeIpSdEntry&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 499
    functionName: '& operator=(const SomeIpSdEntry&)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SomeIpSdEntry
    signature: SomeIpSdEntry & operator=(const SomeIpSdEntry&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 536
    functionName: ~SomeIpSdLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SomeIpSdLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: pcpp::SomeIpSdLayer::isSomeIpSdPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSomeIpSdPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: pcpp::EthDot3Layer::EthDot3Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EthDot3Layer(uint8_t* data, size_t dataLen, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: pcpp::EthDot3Layer::EthDot3Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EthDot3Layer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~EthDot3Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EthDot3Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ether_dot3_header*>
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: pcpp::EthDot3Layer::getEthHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<ether_dot3_header*>
    linkageType: ''
    returnType: ether_dot3_header
    signature: ether_dot3_header * getEthHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:70,1
    - Dst: pcpp::EthDot3Layer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pcpp::EthDot3Layer::getSourceMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 2
    functionsReached:
    - MacAddress
    - pcpp::EthDot3Layer::getEthHeader
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getSourceMac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:77,1
    - Dst: pcpp::EthDot3Layer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sourceMac'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: pcpp::EthDot3Layer::setSourceMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached:
    - copyTo
    - pcpp::EthDot3Layer::getEthHeader
    linkageType: ''
    returnType: void
    signature: void setSourceMac(const MacAddress& sourceMac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:84,1
    - Dst: pcpp::EthDot3Layer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: pcpp::EthDot3Layer::getDestMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 2
    functionsReached:
    - MacAddress
    - pcpp::EthDot3Layer::getEthHeader
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getDestMac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:91,1
    - Dst: pcpp::EthDot3Layer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' destMac'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pcpp::EthDot3Layer::setDestMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached:
    - copyTo
    - pcpp::EthDot3Layer::getEthHeader
    linkageType: ''
    returnType: void
    signature: void setDestMac(const MacAddress& destMac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: pcpp::EthDot3Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: pcpp::EthDot3Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: pcpp::EthDot3Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: pcpp::EthDot3Layer::EthDot3Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EthDot3Layer(uint8_t* data, size_t dataLen, Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: pcpp::EthDot3Layer::EthDot3Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EthDot3Layer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~EthDot3Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EthDot3Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ether_dot3_header*>
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: pcpp::EthDot3Layer::getEthHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<ether_dot3_header*>
    linkageType: ''
    returnType: ether_dot3_header
    signature: ether_dot3_header * getEthHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:70,1
    - Dst: pcpp::EthDot3Layer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pcpp::EthDot3Layer::getSourceMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 2
    functionsReached:
    - MacAddress
    - pcpp::EthDot3Layer::getEthHeader
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getSourceMac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:77,1
    - Dst: pcpp::EthDot3Layer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' sourceMac'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: pcpp::EthDot3Layer::setSourceMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached:
    - copyTo
    - pcpp::EthDot3Layer::getEthHeader
    linkageType: ''
    returnType: void
    signature: void setSourceMac(const MacAddress& sourceMac)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:84,1
    - Dst: pcpp::EthDot3Layer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: pcpp::EthDot3Layer::getDestMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 2
    functionsReached:
    - MacAddress
    - pcpp::EthDot3Layer::getEthHeader
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getDestMac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:91,1
    - Dst: pcpp::EthDot3Layer::getEthHeader
      Src: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' destMac'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pcpp::EthDot3Layer::setDestMac
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached:
    - copyTo
    - pcpp::EthDot3Layer::getEthHeader
    linkageType: ''
    returnType: void
    signature: void setDestMac(const MacAddress& destMac)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: pcpp::EthDot3Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: pcpp::EthDot3Layer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: pcpp::EthDot3Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:34,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - derData
    - derDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: pcpp::internal::CryptoDataReader::fromDER
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 2
    functionsReached:
    - std::unique_ptr<CryptoDecoder>
    - CryptoDecoder::CryptoDecoder
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromDER(uint8_t* derData, size_t derDataLen,
      bool ownDerData = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:43,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:44,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:45,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:45,1
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:46,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:46,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' derData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: pcpp::internal::CryptoDataReader::fromDER
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 2
    functionsReached:
    - std::make_unique<uint8_t[]>
    - length
    - auto::get
    - std::unique_ptr<CryptoDecoder>
    - hexStringToByteArray
    - CryptoDecoder::CryptoDecoder
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromDER(const std::string& derData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:56,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:58,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:61,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:62,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:65,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:67,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:69,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:71,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:71,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:71,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:73,1
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:75,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:75,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ' derFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: pcpp::internal::CryptoDataReader::fromDERFile
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - reinterpret_cast<char*>
    - std::ifstream::good
    - std::ifstream::seekg
    - auto::get
    - std::unique_ptr<CryptoDecoder>
    - std::runtime_error
    - std::ifstream::read
    - CryptoDecoder::CryptoDecoder
    - std::ifstream::tellg
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromDERFile(const std::string& derFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:84,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:85,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:85,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pemData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: pcpp::internal::CryptoDataReader::fromPEM
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - auto::begin
    - pcpp::PemCodec::decode
    - auto::get
    - auto::end
    - auto::size
    - std::unique_ptr<CryptoDecoder>
    - std::move
    - CryptoDecoder::CryptoDecoder
    - std::copy
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromPEM(const std::string& pemData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:98,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:100,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:103,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:104,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:107,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:109,1
    - Dst: std::string::resize
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:112,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:112,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:113,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:115,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEM
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' pemFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 119
    functionName: pcpp::internal::CryptoDataReader::fromPEMFile
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 0
    functionsReached:
    - std::ifstream::good
    - static_cast<std::size_t>
    - std::ifstream::seekg
    - std::runtime_error
    - std::ifstream::read
    - std::ifstream::tellg
    - pcpp::internal::CryptoDataReader::fromPEM
    - std::string::resize
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromPEMFile(const std::string& pemFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~CryptoDataReader()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CryptoDataReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:34,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - derData
    - derDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: pcpp::internal::CryptoDataReader::fromDER
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 2
    functionsReached:
    - std::unique_ptr<CryptoDecoder>
    - CryptoDecoder::CryptoDecoder
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromDER(uint8_t* derData, size_t derDataLen,
      bool ownDerData = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:43,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:44,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:45,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:45,1
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:46,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:46,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' derData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: pcpp::internal::CryptoDataReader::fromDER
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 2
    functionsReached:
    - std::make_unique<uint8_t[]>
    - length
    - auto::get
    - std::unique_ptr<CryptoDecoder>
    - hexStringToByteArray
    - CryptoDecoder::CryptoDecoder
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromDER(const std::string& derData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:56,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:58,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:61,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:62,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:65,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:67,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:69,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:71,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:71,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:71,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:73,1
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:75,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:75,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ' derFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: pcpp::internal::CryptoDataReader::fromDERFile
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - reinterpret_cast<char*>
    - std::ifstream::good
    - std::ifstream::seekg
    - auto::get
    - std::unique_ptr<CryptoDecoder>
    - std::runtime_error
    - std::ifstream::read
    - CryptoDecoder::CryptoDecoder
    - std::ifstream::tellg
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromDERFile(const std::string& derFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:84,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:85,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:85,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pemData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: pcpp::internal::CryptoDataReader::fromPEM
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 1
    functionsReached:
    - std::make_unique<uint8_t[]>
    - auto::begin
    - pcpp::PemCodec::decode
    - auto::get
    - auto::end
    - auto::size
    - std::unique_ptr<CryptoDecoder>
    - std::move
    - CryptoDecoder::CryptoDecoder
    - std::copy
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromPEM(const std::string& pemData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:98,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:100,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:103,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:104,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:107,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:109,1
    - Dst: std::string::resize
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:112,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:112,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:113,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:115,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEM
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' pemFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 119
    functionName: pcpp::internal::CryptoDataReader::fromPEMFile
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 0
    functionsReached:
    - std::ifstream::good
    - static_cast<std::size_t>
    - std::ifstream::seekg
    - std::runtime_error
    - std::ifstream::read
    - std::ifstream::tellg
    - pcpp::internal::CryptoDataReader::fromPEM
    - std::string::resize
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromPEMFile(const std::string& pemFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~CryptoDataReader()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CryptoDataReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:34,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - derData
    - derDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: pcpp::internal::CryptoDataReader::fromDER
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 2
    functionsReached:
    - std::unique_ptr<CryptoDecoder>
    - CryptoDecoder::CryptoDecoder
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromDER(uint8_t* derData, size_t derDataLen,
      bool ownDerData = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:43,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:44,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:45,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:45,1
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:46,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:46,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' derData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: pcpp::internal::CryptoDataReader::fromDER
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 2
    functionsReached:
    - std::make_unique<uint8_t[]>
    - length
    - auto::get
    - std::unique_ptr<CryptoDecoder>
    - hexStringToByteArray
    - CryptoDecoder::CryptoDecoder
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromDER(const std::string& derData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:56,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:58,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:61,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:62,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:65,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:67,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:69,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:71,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:71,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:71,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:73,1
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:75,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:75,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ' derFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: pcpp::internal::CryptoDataReader::fromDERFile
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - reinterpret_cast<char*>
    - std::ifstream::good
    - std::ifstream::seekg
    - auto::get
    - std::unique_ptr<CryptoDecoder>
    - std::runtime_error
    - std::ifstream::read
    - CryptoDecoder::CryptoDecoder
    - std::ifstream::tellg
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromDERFile(const std::string& derFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:84,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:85,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:85,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pemData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: pcpp::internal::CryptoDataReader::fromPEM
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 2
    functionsReached:
    - std::make_unique<uint8_t[]>
    - auto::begin
    - pcpp::PemCodec::decode
    - auto::get
    - auto::end
    - auto::size
    - std::unique_ptr<CryptoDecoder>
    - std::move
    - CryptoDecoder::CryptoDecoder
    - std::copy
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromPEM(const std::string& pemData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:98,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:100,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:103,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:104,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:107,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:109,1
    - Dst: std::string::resize
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:112,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:112,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:113,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:115,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEM
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' pemFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 119
    functionName: pcpp::internal::CryptoDataReader::fromPEMFile
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 0
    functionsReached:
    - std::ifstream::good
    - static_cast<std::size_t>
    - std::ifstream::seekg
    - std::runtime_error
    - std::ifstream::read
    - std::ifstream::tellg
    - pcpp::internal::CryptoDataReader::fromPEM
    - std::string::resize
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromPEMFile(const std::string& pemFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~CryptoDataReader()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CryptoDataReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:34,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - derData
    - derDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: pcpp::internal::CryptoDataReader::fromDER
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 2
    functionsReached:
    - std::unique_ptr<CryptoDecoder>
    - CryptoDecoder::CryptoDecoder
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromDER(uint8_t* derData, size_t derDataLen,
      bool ownDerData = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:43,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:44,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:45,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:45,1
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:46,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:46,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' derData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: pcpp::internal::CryptoDataReader::fromDER
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 2
    functionsReached:
    - std::make_unique<uint8_t[]>
    - length
    - auto::get
    - std::unique_ptr<CryptoDecoder>
    - hexStringToByteArray
    - CryptoDecoder::CryptoDecoder
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromDER(const std::string& derData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:56,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:58,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:61,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:62,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:65,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:67,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:69,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:71,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:71,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:71,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:73,1
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:75,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:75,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ' derFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: pcpp::internal::CryptoDataReader::fromDERFile
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - reinterpret_cast<char*>
    - std::ifstream::good
    - std::ifstream::seekg
    - auto::get
    - std::unique_ptr<CryptoDecoder>
    - std::runtime_error
    - std::ifstream::read
    - CryptoDecoder::CryptoDecoder
    - std::ifstream::tellg
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromDERFile(const std::string& derFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:84,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:85,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:85,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:86,1
    - Dst: std::unique_ptr<CryptoDecoder>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    - Dst: CryptoDecoder::CryptoDecoder
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' pemData'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: pcpp::internal::CryptoDataReader::fromPEM
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 3
    functionsReached:
    - std::make_unique<uint8_t[]>
    - auto::begin
    - pcpp::PemCodec::decode
    - auto::get
    - auto::end
    - auto::size
    - std::unique_ptr<CryptoDecoder>
    - std::move
    - CryptoDecoder::CryptoDecoder
    - std::copy
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromPEM(const std::string& pemData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::good
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:98,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:100,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:103,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:104,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:107,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:109,1
    - Dst: std::string::resize
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:112,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:112,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:113,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:115,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEM
      Src: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ' pemFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 119
    functionName: pcpp::internal::CryptoDataReader::fromPEMFile
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 0
    functionsReached:
    - std::ifstream::good
    - static_cast<std::size_t>
    - std::ifstream::seekg
    - std::runtime_error
    - std::ifstream::read
    - std::ifstream::tellg
    - pcpp::internal::CryptoDataReader::fromPEM
    - std::string::resize
    linkageType: ''
    returnType: std::unique_ptr<CryptoDecoder>
    signature: std::unique_ptr<CryptoDecoder> fromPEMFile(const std::string& pemFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ~CryptoDataReader()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CryptoDataReader()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: pcpp::ConnectionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConnectionData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - tcpData
    - tcpDataLength
    - missingBytes
    - ' connData'
    - timestamp
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - ConnectionData
    - std::chrono::time_point<std::chrono::high_resolution_clock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: pcpp::TcpStreamData::TcpStreamData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TcpStreamData(const uint8_t* tcpData, size_t tcpDataLength, size_t
      missingBytes, const ConnectionData& connData,\n\t\t              std::chrono::time_point<std::chrono::high_resolution_clock>
      timestamp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: pcpp::TcpStreamData::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: pcpp::TcpStreamData::getDataLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getDataLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: pcpp::TcpStreamData::getMissingByteCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getMissingByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpStreamData::getMissingByteCount
      Src: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: pcpp::TcpStreamData::isBytesMissing
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached:
    - pcpp::TcpStreamData::getMissingByteCount
    linkageType: ''
    returnType: bool
    signature: bool isBytesMissing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: '& getConnectionData() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConnectionData
    signature: ConnectionData & getConnectionData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: pcpp::TcpStreamData::getTimeStampPrecise
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::time_point<std::chrono::high_resolution_clock>
    signature: std::chrono::time_point<std::chrono::high_resolution_clock> getTimeStampPrecise()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: pcpp::TcpReassemblyConfiguration
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TcpReassemblyConfiguration(bool removeConnInfo = true, uint32_t
      closedConnectionDelay = 5,\n\t\t                                    uint32_t
      maxNumToClean = 30, uint32_t maxOutOfOrderFragments = 0,\n\t\t                                    bool
      enableBaseBufferClearCondition = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: '& getConnectionInformation() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConnectionInfoList
    signature: ConnectionInfoList & getConnectionInformation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: ~TcpFragment()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TcpFragment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' flag'
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: pcpp::TcpReassembly::OutOfOrderProcessingGuard::OutOfOrderProcessingGuard
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutOfOrderProcessingGuard(bool& flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: ~OutOfOrderProcessingGuard()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OutOfOrderProcessingGuard()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 451
    functionName: pcpp::TcpReassembly::OutOfOrderProcessingGuard::OutOfOrderProcessingGuard
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutOfOrderProcessingGuard(const OutOfOrderProcessingGuard&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: '& operator=(const OutOfOrderProcessingGuard&)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OutOfOrderProcessingGuard
    signature: OutOfOrderProcessingGuard & operator=(const OutOfOrderProcessingGuard&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: pcpp::ConnectionData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConnectionData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - tcpData
    - tcpDataLength
    - missingBytes
    - ' connData'
    - timestamp
    argTypes:
    - uint8_t*
    - size_t
    - size_t
    - ConnectionData
    - std::chrono::time_point<std::chrono::high_resolution_clock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: pcpp::TcpStreamData::TcpStreamData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TcpStreamData(const uint8_t* tcpData, size_t tcpDataLength, size_t
      missingBytes, const ConnectionData& connData,\n\t\t              std::chrono::time_point<std::chrono::high_resolution_clock>
      timestamp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: pcpp::TcpStreamData::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: pcpp::TcpStreamData::getDataLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getDataLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: pcpp::TcpStreamData::getMissingByteCount
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getMissingByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpStreamData::getMissingByteCount
      Src: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: pcpp::TcpStreamData::isBytesMissing
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached:
    - pcpp::TcpStreamData::getMissingByteCount
    linkageType: ''
    returnType: bool
    signature: bool isBytesMissing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: '& getConnectionData() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConnectionData
    signature: ConnectionData & getConnectionData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: pcpp::TcpStreamData::getTimeStampPrecise
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::chrono::time_point<std::chrono::high_resolution_clock>
    signature: std::chrono::time_point<std::chrono::high_resolution_clock> getTimeStampPrecise()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: pcpp::TcpReassemblyConfiguration
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TcpReassemblyConfiguration(bool removeConnInfo = true, uint32_t
      closedConnectionDelay = 5,\n\t\t                                    uint32_t
      maxNumToClean = 30, uint32_t maxOutOfOrderFragments = 0,\n\t\t                                    bool
      enableBaseBufferClearCondition = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: '& getConnectionInformation() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConnectionInfoList
    signature: ConnectionInfoList & getConnectionInformation() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: ~TcpFragment()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TcpFragment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' flag'
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: pcpp::TcpReassembly::OutOfOrderProcessingGuard::OutOfOrderProcessingGuard
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutOfOrderProcessingGuard(bool& flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: ~OutOfOrderProcessingGuard()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OutOfOrderProcessingGuard()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 451
    functionName: pcpp::TcpReassembly::OutOfOrderProcessingGuard::OutOfOrderProcessingGuard
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutOfOrderProcessingGuard(const OutOfOrderProcessingGuard&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 452
    functionName: '& operator=(const OutOfOrderProcessingGuard&)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OutOfOrderProcessingGuard
    signature: OutOfOrderProcessingGuard & operator=(const OutOfOrderProcessingGuard&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: pcpp::getMulticastAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getMulticastAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - igmpVer
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: pcpp::IgmpLayer::IgmpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IgmpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, ProtocolType igmpVer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: ~IgmpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IgmpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<igmp_header*>
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: pcpp::IgmpLayer::getIgmpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<igmp_header*>
    linkageType: ''
    returnType: igmp_header
    signature: igmp_header * getIgmpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpLayer::getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: pcpp::IgmpLayer::getGroupAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::IgmpLayer::getIgmpHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getGroupAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: pcpp::IgmpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: pcpp::IgmpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: pcpp::IgmpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: pcpp::IgmpV1Layer::IgmpV1Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IgmpV1Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - IgmpType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: pcpp::IgmpV1Layer::IgmpV1Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    linkageType: ''
    returnType: void
    signature: void IgmpV1Layer(IgmpType type, const IPv4Address& groupAddr = IPv4Address())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: ~IgmpV1Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IgmpV1Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<igmp_header>
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: pcpp::IgmpV1Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<igmp_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: pcpp::IgmpV2Layer::IgmpV2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IgmpV2Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - IgmpType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: pcpp::IgmpV2Layer::IgmpV2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    linkageType: ''
    returnType: void
    signature: void IgmpV2Layer(IgmpType type, const IPv4Address& groupAddr = IPv4Address(),
      uint8_t maxResponseTime = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: ~IgmpV2Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IgmpV2Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<igmp_header>
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: pcpp::IgmpV2Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<igmp_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<igmpv3_query_header*>
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 12
    functionsReached:
    - reinterpret_cast<igmpv3_query_header*>
    linkageType: ''
    returnType: igmpv3_query_header
    signature: igmpv3_query_header * getIgmpV3QueryHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<igmpv3_query_header>
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: pcpp::IgmpV3QueryLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<igmpv3_query_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: pcpp::IgmpV3ReportLayer::IgmpV3ReportLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IgmpV3ReportLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: pcpp::IgmpV3ReportLayer::IgmpV3ReportLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    linkageType: ''
    returnType: void
    signature: void IgmpV3ReportLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<igmpv3_report_header*>
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: pcpp::IgmpV3ReportLayer::getReportHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<igmpv3_report_header*>
    linkageType: ''
    returnType: igmpv3_report_header
    signature: igmpv3_report_header * getReportHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: pcpp::IgmpV3ReportLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<igmpv3_report_header>
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: pcpp::IgmpV3ReportLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<igmpv3_report_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: pcpp::getMulticastAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getMulticastAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - igmpVer
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: pcpp::IgmpLayer::IgmpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IgmpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet, ProtocolType igmpVer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: ~IgmpLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IgmpLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<igmp_header*>
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: pcpp::IgmpLayer::getIgmpHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 11
    functionsReached:
    - reinterpret_cast<igmp_header*>
    linkageType: ''
    returnType: igmp_header
    signature: igmp_header * getIgmpHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IgmpLayer::getIgmpHeader
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: pcpp::IgmpLayer::getGroupAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::IgmpLayer::getIgmpHeader
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getGroupAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: pcpp::IgmpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: pcpp::IgmpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: pcpp::IgmpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: pcpp::IgmpV1Layer::IgmpV1Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IgmpV1Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - IgmpType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: pcpp::IgmpV1Layer::IgmpV1Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    linkageType: ''
    returnType: void
    signature: void IgmpV1Layer(IgmpType type, const IPv4Address& groupAddr = IPv4Address())
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: ~IgmpV1Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IgmpV1Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<igmp_header>
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: pcpp::IgmpV1Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<igmp_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: pcpp::IgmpV2Layer::IgmpV2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IgmpV2Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - IgmpType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: pcpp::IgmpV2Layer::IgmpV2Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    linkageType: ''
    returnType: void
    signature: void IgmpV2Layer(IgmpType type, const IPv4Address& groupAddr = IPv4Address(),
      uint8_t maxResponseTime = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: ~IgmpV2Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IgmpV2Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<igmp_header>
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: pcpp::IgmpV2Layer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<igmp_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<igmpv3_query_header*>
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 12
    functionsReached:
    - reinterpret_cast<igmpv3_query_header*>
    linkageType: ''
    returnType: igmpv3_query_header
    signature: igmpv3_query_header * getIgmpV3QueryHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<igmpv3_query_header>
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: pcpp::IgmpV3QueryLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<igmpv3_query_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: pcpp::IgmpV3ReportLayer::IgmpV3ReportLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IgmpV3ReportLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: pcpp::IgmpV3ReportLayer::IgmpV3ReportLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    linkageType: ''
    returnType: void
    signature: void IgmpV3ReportLayer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<igmpv3_report_header*>
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: pcpp::IgmpV3ReportLayer::getReportHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<igmpv3_report_header*>
    linkageType: ''
    returnType: igmpv3_report_header
    signature: igmpv3_report_header * getReportHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: pcpp::IgmpV3ReportLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: canReinterpretAs<igmpv3_report_header>
      Src: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: pcpp::IgmpV3ReportLayer::isDataValid
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    functionUses: 0
    functionsReached:
    - canReinterpretAs<igmpv3_report_header>
    linkageType: ''
    returnType: bool
    signature: bool isDataValid(uint8_t const* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: pcpp::HeaderField::getFieldSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getFieldSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: pcpp::HeaderField::isEndOfHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEndOfHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pcpp::TextBasedProtocolMessage::getFirstField
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * getFirstField() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prevField
    argTypes:
    - HeaderField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: pcpp::TextBasedProtocolMessage::getNextField
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h
    functionUses: 2
    functionsReached:
    - HeaderField*::getNextField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * getNextField(HeaderField* prevField) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: pcpp::TextBasedProtocolMessage::TextBasedProtocolMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: pcpp::HeaderField::getFieldSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getFieldSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: pcpp::HeaderField::isEndOfHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isEndOfHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pcpp::TextBasedProtocolMessage::getFirstField
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * getFirstField() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HeaderField*::getNextField
      Src: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - prevField
    argTypes:
    - HeaderField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: pcpp::TextBasedProtocolMessage::getNextField
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h
    functionUses: 2
    functionsReached:
    - HeaderField*::getNextField
    linkageType: ''
    returnType: HeaderField
    signature: HeaderField * getNextField(HeaderField* prevField) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: pcpp::TextBasedProtocolMessage::TextBasedProtocolMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TextBasedProtocolMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: pcpp::SmtpLayer::SmtpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmtpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' command'
    - ' option'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: pcpp::SmtpLayer::SmtpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmtpLayer(const std::string& command, const std::string& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: pcpp::SmtpLayer::isSmtpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSmtpPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: pcpp::SmtpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: pcpp::SmtpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: pcpp::SmtpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::SmtpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: pcpp::SmtpRequestLayer::SmtpRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmtpRequestLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SmtpRequestLayer::getCommandAsString
      Src: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - SmtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: pcpp::SmtpRequestLayer::SmtpRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SmtpRequestLayer::getCommandAsString
    linkageType: ''
    returnType: void
    signature: void SmtpRequestLayer(const SmtpCommand& command, const std::string&
      option = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: pcpp::SmtpResponseLayer::SmtpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmtpResponseLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' code'
    argTypes:
    - SmtpStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: pcpp::SmtpResponseLayer::SmtpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: void
    signature: void SmtpResponseLayer(const SmtpStatusCode& code, const std::string&
      option = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: pcpp::SmtpLayer::SmtpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmtpLayer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' command'
    - ' option'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: pcpp::SmtpLayer::SmtpLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmtpLayer(const std::string& command, const std::string& option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: pcpp::SmtpLayer::isSmtpPort
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSmtpPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: pcpp::SmtpLayer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: pcpp::SmtpLayer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: pcpp::SmtpLayer::computeCalculateFields
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void computeCalculateFields() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::SmtpLayer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: pcpp::SmtpRequestLayer::SmtpRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmtpRequestLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SmtpRequestLayer::getCommandAsString
      Src: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - SmtpCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: pcpp::SmtpRequestLayer::SmtpRequestLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached:
    - pcpp::SmtpRequestLayer::getCommandAsString
    linkageType: ''
    returnType: void
    signature: void SmtpRequestLayer(const SmtpCommand& command, const std::string&
      option = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: pcpp::SmtpResponseLayer::SmtpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SmtpResponseLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' code'
    argTypes:
    - SmtpStatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: pcpp::SmtpResponseLayer::SmtpResponseLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: void
    signature: void SmtpResponseLayer(const SmtpStatusCode& code, const std::string&
      option = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: pcpp::IcmpV6Layer::IcmpV6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IcmpV6Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: ~IcmpV6Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IcmpV6Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpV6Layer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ICMPv6MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: pcpp::IcmpV6Layer::isMessageOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached:
    - pcpp::IcmpV6Layer::getMessageType
    linkageType: ''
    returnType: bool
    signature: bool isMessageOfType(ICMPv6MessageType type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: pcpp::IcmpV6Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: pcpp::IcmpV6Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: pcpp::IcmpV6Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: pcpp::IcmpV6Layer::IcmpV6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IcmpV6Layer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<icmpv6hdr*>
      Src: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: pcpp::IcmpV6Layer::getIcmpv6Header
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<icmpv6hdr*>
    linkageType: ''
    returnType: icmpv6hdr
    signature: icmpv6hdr * getIcmpv6Header() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: pcpp::ICMPv6EchoLayer::ICMPv6EchoLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ICMPv6EchoLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: ~ICMPv6EchoLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ICMPv6EchoLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: pcpp::ICMPv6EchoLayer::getEchoDataLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getEchoDataLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: pcpp::ICMPv6EchoLayer::getEchoDataPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getEchoDataPtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<icmpv6_echo_hdr*>
      Src: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: pcpp::ICMPv6EchoLayer::getEchoHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<icmpv6_echo_hdr*>
    linkageType: ''
    returnType: icmpv6_echo_hdr
    signature: icmpv6_echo_hdr * getEchoHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: pcpp::IcmpV6Layer::IcmpV6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IcmpV6Layer(uint8_t* data, size_t dataLen, Layer* prevLayer, Packet*
      packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: ~IcmpV6Layer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IcmpV6Layer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IcmpV6Layer::getMessageType
      Src: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ICMPv6MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: pcpp::IcmpV6Layer::isMessageOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached:
    - pcpp::IcmpV6Layer::getMessageType
    linkageType: ''
    returnType: bool
    signature: bool isMessageOfType(ICMPv6MessageType type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: pcpp::IcmpV6Layer::parseNextLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parseNextLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: pcpp::IcmpV6Layer::getHeaderLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getHeaderLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: pcpp::IcmpV6Layer::getOsiModelLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OsiModelLayer
    signature: OsiModelLayer getOsiModelLayer() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: pcpp::IcmpV6Layer::IcmpV6Layer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IcmpV6Layer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<icmpv6hdr*>
      Src: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: pcpp::IcmpV6Layer::getIcmpv6Header
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<icmpv6hdr*>
    linkageType: ''
    returnType: icmpv6hdr
    signature: icmpv6hdr * getIcmpv6Header() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: pcpp::ICMPv6EchoLayer::ICMPv6EchoLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ICMPv6EchoLayer(uint8_t* data, size_t dataLen, Layer* prevLayer,
      Packet* packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: ~ICMPv6EchoLayer() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ICMPv6EchoLayer() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: pcpp::ICMPv6EchoLayer::getEchoDataLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getEchoDataLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: pcpp::ICMPv6EchoLayer::getEchoDataPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getEchoDataPtr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<icmpv6_echo_hdr*>
      Src: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: pcpp::ICMPv6EchoLayer::getEchoHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<icmpv6_echo_hdr*>
    linkageType: ''
    returnType: icmpv6_echo_hdr
    signature: icmpv6_echo_hdr * getEchoHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: pcpp::Asn1Record::getTagClass
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Asn1TagClass
    signature: Asn1TagClass getTagClass() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: pcpp::Asn1Record::isConstructed
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isConstructed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: pcpp::Asn1Record::getTagType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getTagType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: pcpp::Asn1Record::getValueLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getValueLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: pcpp::Asn1Record::getTotalLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<Asn1RecordType*>
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:189,1
    - Dst: std::bad_cast
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: pcpp::Asn1Record::castAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<Asn1RecordType*>
    - std::bad_cast
    linkageType: ''
    returnType: Asn1RecordType
    signature: Asn1RecordType * castAs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: ~Asn1Record()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Asn1Record()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: pcpp::Asn1Record::Asn1Record
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1Record()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:220,1
    - Dst: encodeValue
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: pcpp::Asn1Record::encodeValueSafe
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - pcpp::Asn1Record::decodeValueIfNeeded
    - encodeValue
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encodeValueSafe() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: ~Asn1GenericRecord() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Asn1GenericRecord() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:273,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: pcpp::Asn1GenericRecord::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - decodeValueIfNeeded
    - get
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: pcpp::Asn1GenericRecord::Asn1GenericRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1GenericRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: '& getSubRecords()'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - decodeValueIfNeeded
    linkageType: ''
    returnType: PointerVector<Asn1Record>
    signature: PointerVector<Asn1Record> & getSubRecords()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: pcpp::Asn1ConstructedRecord::Asn1ConstructedRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1ConstructedRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:335,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:336,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:336,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:336,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:337,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:337,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - tagClass
    - tagType
    - begin
    - end
    argTypes:
    - Asn1TagClass
    - uint8_t
    - Iterator
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 343
    functionName: pcpp::Asn1ConstructedRecord::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 4
    functionsReached:
    - auto::data
    - auto::size
    - pushBack
    - pcpp::Asn1Record::decode
    - encode
    - std::move
    linkageType: ''
    returnType: void
    signature: void init(Asn1TagClass tagClass, uint8_t tagType, Iterator begin, Iterator
      end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: pcpp::Asn1SequenceRecord::Asn1SequenceRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1SequenceRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 387
    functionName: pcpp::Asn1SetRecord::Asn1SetRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1SetRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: pcpp::Asn1PrimitiveRecord::Asn1PrimitiveRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1PrimitiveRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:426,1
    - Dst: getInt
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: pcpp::Asn1IntegerRecord::getIntValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - getInt
    - decodeValueIfNeeded
    linkageType: ''
    returnType: T
    signature: T getIntValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1IntegerRecord::getIntValue
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: pcpp::Asn1IntegerRecord::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - pcpp::Asn1IntegerRecord::getIntValue
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:442,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: pcpp::Asn1IntegerRecord::getValueAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - decodeValueIfNeeded
    - toString
    linkageType: ''
    returnType: std::string
    signature: std::string getValueAsString(bool removeLeadingZeros = false) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 447
    functionName: pcpp::Asn1IntegerRecord::Asn1IntegerRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1IntegerRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 458
    functionName: pcpp::Asn1IntegerRecord::BigInt::BigInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1IntegerRecord::BigInt::initFromInt
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: pcpp::Asn1IntegerRecord::BigInt::BigInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - pcpp::Asn1IntegerRecord::BigInt::initFromInt
    linkageType: ''
    returnType: void
    signature: void BigInt(T value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initFromInt
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: '& operator=(T value)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - initFromInt
    linkageType: ''
    returnType: BigInt
    signature: BigInt & operator=(T value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1IntegerRecord::BigInt::canFit
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:478,1
    - Dst: std::overflow_error
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:480,1
    - Dst: static_cast<T>
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 489
    functionName: pcpp::Asn1IntegerRecord::BigInt::getInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - pcpp::Asn1IntegerRecord::BigInt::canFit
    - std::overflow_error
    linkageType: ''
    returnType: T
    signature: T getInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: pcpp::Asn1IntegerRecord::BigInt::canFit
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool canFit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:507,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 509
    functionName: pcpp::Asn1IntegerRecord::BigInt::initFromInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 1
    functionsReached:
    - static_cast<uint64_t>
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string initFromInt(T value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: pcpp::Asn1EnumeratedRecord::Asn1EnumeratedRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1EnumeratedRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 541
    functionName: pcpp::Asn1StringRecord::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - decodeValueIfNeeded
    linkageType: ''
    returnType: std::string
    signature: std::string getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 545
    functionName: pcpp::Asn1StringRecord::Asn1StringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1StringRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 551
    functionName: pcpp::Asn1StringRecord::Asn1StringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Asn1StringRecord(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:555,1
    - Dst: reinterpret_cast<char const*>
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: pcpp::Asn1StringRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<char const*>
    - string
    linkageType: ''
    returnType: void
    signature: void decodeValue(uint8_t const* data) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:559,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: pcpp::Asn1StringRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encodeValue() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:564,1
    - Dst: pcpp::Asn1StringRecord::getValue
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: pcpp::Asn1StringRecord::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - pcpp::Asn1StringRecord::getValue
    - pcpp::Asn1Record::toStringList
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> toStringList() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 587
    functionName: pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1OctetStringRecord(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 594
    functionName: pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1OctetStringRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 609
    functionName: pcpp::Asn1UTF8StringRecord::Asn1UTF8StringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1UTF8StringRecord(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 612
    functionName: pcpp::Asn1UTF8StringRecord::Asn1UTF8StringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1UTF8StringRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 625
    functionName: pcpp::Asn1PrintableStringRecord::Asn1PrintableStringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1PrintableStringRecord(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 628
    functionName: pcpp::Asn1PrintableStringRecord::Asn1PrintableStringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1PrintableStringRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    functionName: pcpp::Asn1IA5StringRecord::Asn1IA5StringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1IA5StringRecord(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 644
    functionName: pcpp::Asn1IA5StringRecord::Asn1IA5StringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1IA5StringRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 663
    functionName: pcpp::Asn1BooleanRecord::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - decodeValueIfNeeded
    linkageType: ''
    returnType: bool
    signature: bool getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 672
    functionName: pcpp::Asn1BooleanRecord::Asn1BooleanRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1BooleanRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 689
    functionName: pcpp::Asn1NullRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void decodeValue(uint8_t const* data) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 693
    functionName: pcpp::Asn1NullRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encodeValue() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 717
    functionName: '& getComponents() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint32_t>
    signature: std::vector<uint32_t> & getComponents() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 724
    functionName: operator==(const Asn1ObjectIdentifier& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Asn1ObjectIdentifier& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 731
    functionName: operator!=(const Asn1ObjectIdentifier& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Asn1ObjectIdentifier& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' oid'
    argTypes:
    - std::ostream
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: '& operator<<(std::ostream& os, const Asn1ObjectIdentifier& oid)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Asn1ObjectIdentifier&
      oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 747
    functionName: pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1ObjectIdentifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: '& getValue() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - decodeValueIfNeeded
    linkageType: ''
    returnType: Asn1ObjectIdentifier
    signature: Asn1ObjectIdentifier & getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 780
    functionName: pcpp::Asn1ObjectIdentifierRecord::Asn1ObjectIdentifierRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1ObjectIdentifierRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:795,1
    - Dst: pcpp::Asn1TimeRecord::adjustTimezones
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 797
    functionName: pcpp::Asn1TimeRecord::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - decodeValueIfNeeded
    - pcpp::Asn1TimeRecord::adjustTimezones
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point getValue(const std::string& timezone
      = "Z") const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 809
    functionName: pcpp::Asn1TimeRecord::Asn1TimeRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1TimeRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 840
    functionName: pcpp::Asn1UtcTimeRecord::Asn1UtcTimeRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1UtcTimeRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 864
    functionName: pcpp::Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1GeneralizedTimeRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:883,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 885
    functionName: pcpp::Asn1BitStringRecord::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - decodeValueIfNeeded
    - toString
    linkageType: ''
    returnType: std::string
    signature: std::string getValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:890,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 892
    functionName: pcpp::Asn1BitStringRecord::getVecValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - toBytes
    - decodeValueIfNeeded
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> getVecValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 904
    functionName: pcpp::Asn1BitStringRecord::BitSet::BitSet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionName: pcpp::Asn1BitStringRecord::BitSet::getNumBits
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getNumBits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 925
    functionName: pcpp::Asn1BitStringRecord::Asn1BitStringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1BitStringRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: pcpp::Asn1Record::getTagClass
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Asn1TagClass
    signature: Asn1TagClass getTagClass() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: pcpp::Asn1Record::isConstructed
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isConstructed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: pcpp::Asn1Record::getTagType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getTagType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: pcpp::Asn1Record::getValueLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getValueLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: pcpp::Asn1Record::getTotalLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalLength() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<Asn1RecordType*>
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:189,1
    - Dst: std::bad_cast
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: pcpp::Asn1Record::castAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<Asn1RecordType*>
    - std::bad_cast
    linkageType: ''
    returnType: Asn1RecordType
    signature: Asn1RecordType * castAs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: ~Asn1Record()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Asn1Record()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: pcpp::Asn1Record::Asn1Record
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1Record()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:220,1
    - Dst: encodeValue
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: pcpp::Asn1Record::encodeValueSafe
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - pcpp::Asn1Record::decodeValueIfNeeded
    - encodeValue
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encodeValueSafe() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: ~Asn1GenericRecord() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Asn1GenericRecord() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:273,1
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: pcpp::Asn1GenericRecord::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - decodeValueIfNeeded
    - get
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: pcpp::Asn1GenericRecord::Asn1GenericRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1GenericRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: '& getSubRecords()'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - decodeValueIfNeeded
    linkageType: ''
    returnType: PointerVector<Asn1Record>
    signature: PointerVector<Asn1Record> & getSubRecords()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: pcpp::Asn1ConstructedRecord::Asn1ConstructedRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1ConstructedRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:335,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:336,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:336,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:336,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:337,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:337,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - tagClass
    - tagType
    - begin
    - end
    argTypes:
    - Asn1TagClass
    - uint8_t
    - Iterator
    - Iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 343
    functionName: pcpp::Asn1ConstructedRecord::init
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 4
    functionsReached:
    - auto::data
    - auto::size
    - pushBack
    - pcpp::Asn1Record::decode
    - encode
    - std::move
    linkageType: ''
    returnType: void
    signature: void init(Asn1TagClass tagClass, uint8_t tagType, Iterator begin, Iterator
      end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: pcpp::Asn1SequenceRecord::Asn1SequenceRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1SequenceRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 387
    functionName: pcpp::Asn1SetRecord::Asn1SetRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1SetRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: pcpp::Asn1PrimitiveRecord::Asn1PrimitiveRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1PrimitiveRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:426,1
    - Dst: getInt
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: pcpp::Asn1IntegerRecord::getIntValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 3
    functionsReached:
    - getInt
    - decodeValueIfNeeded
    linkageType: ''
    returnType: T
    signature: T getIntValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1IntegerRecord::getIntValue
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: pcpp::Asn1IntegerRecord::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - pcpp::Asn1IntegerRecord::getIntValue
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:442,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: pcpp::Asn1IntegerRecord::getValueAsString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - decodeValueIfNeeded
    - toString
    linkageType: ''
    returnType: std::string
    signature: std::string getValueAsString(bool removeLeadingZeros = false) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 447
    functionName: pcpp::Asn1IntegerRecord::Asn1IntegerRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1IntegerRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 458
    functionName: pcpp::Asn1IntegerRecord::BigInt::BigInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInt()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1IntegerRecord::BigInt::initFromInt
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: pcpp::Asn1IntegerRecord::BigInt::BigInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - pcpp::Asn1IntegerRecord::BigInt::initFromInt
    linkageType: ''
    returnType: void
    signature: void BigInt(T value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initFromInt
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: '& operator=(T value)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - initFromInt
    linkageType: ''
    returnType: BigInt
    signature: BigInt & operator=(T value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1IntegerRecord::BigInt::canFit
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:478,1
    - Dst: std::overflow_error
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:480,1
    - Dst: static_cast<T>
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 489
    functionName: pcpp::Asn1IntegerRecord::BigInt::getInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - pcpp::Asn1IntegerRecord::BigInt::canFit
    - std::overflow_error
    linkageType: ''
    returnType: T
    signature: T getInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: pcpp::Asn1IntegerRecord::BigInt::canFit
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool canFit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:507,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 509
    functionName: pcpp::Asn1IntegerRecord::BigInt::initFromInt
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - static_cast<uint64_t>
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string initFromInt(T value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: pcpp::Asn1EnumeratedRecord::Asn1EnumeratedRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1EnumeratedRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 541
    functionName: pcpp::Asn1StringRecord::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 1
    functionsReached:
    - decodeValueIfNeeded
    linkageType: ''
    returnType: std::string
    signature: std::string getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 545
    functionName: pcpp::Asn1StringRecord::Asn1StringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1StringRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 551
    functionName: pcpp::Asn1StringRecord::Asn1StringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void Asn1StringRecord(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:555,1
    - Dst: reinterpret_cast<char const*>
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: pcpp::Asn1StringRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<char const*>
    - string
    linkageType: ''
    returnType: void
    signature: void decodeValue(uint8_t const* data) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:559,1
    - Dst: end
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: pcpp::Asn1StringRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encodeValue() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Asn1Record::toStringList
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:564,1
    - Dst: pcpp::Asn1StringRecord::getValue
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: pcpp::Asn1StringRecord::toStringList
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - pcpp::Asn1StringRecord::getValue
    - pcpp::Asn1Record::toStringList
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> toStringList() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 587
    functionName: pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1OctetStringRecord(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 594
    functionName: pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1OctetStringRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 609
    functionName: pcpp::Asn1UTF8StringRecord::Asn1UTF8StringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1UTF8StringRecord(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 612
    functionName: pcpp::Asn1UTF8StringRecord::Asn1UTF8StringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1UTF8StringRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 625
    functionName: pcpp::Asn1PrintableStringRecord::Asn1PrintableStringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1PrintableStringRecord(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 628
    functionName: pcpp::Asn1PrintableStringRecord::Asn1PrintableStringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1PrintableStringRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    functionName: pcpp::Asn1IA5StringRecord::Asn1IA5StringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1IA5StringRecord(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 644
    functionName: pcpp::Asn1IA5StringRecord::Asn1IA5StringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1IA5StringRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 663
    functionName: pcpp::Asn1BooleanRecord::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - decodeValueIfNeeded
    linkageType: ''
    returnType: bool
    signature: bool getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 672
    functionName: pcpp::Asn1BooleanRecord::Asn1BooleanRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1BooleanRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 689
    functionName: pcpp::Asn1NullRecord::decodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void decodeValue(uint8_t const* data) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 693
    functionName: pcpp::Asn1NullRecord::encodeValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> encodeValue() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 717
    functionName: '& getComponents() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint32_t>
    signature: std::vector<uint32_t> & getComponents() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 724
    functionName: operator==(const Asn1ObjectIdentifier& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Asn1ObjectIdentifier& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 731
    functionName: operator!=(const Asn1ObjectIdentifier& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Asn1ObjectIdentifier& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' oid'
    argTypes:
    - std::ostream
    - Asn1ObjectIdentifier
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: '& operator<<(std::ostream& os, const Asn1ObjectIdentifier& oid)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Asn1ObjectIdentifier&
      oid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 747
    functionName: pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1ObjectIdentifier()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: '& getValue() const'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - decodeValueIfNeeded
    linkageType: ''
    returnType: Asn1ObjectIdentifier
    signature: Asn1ObjectIdentifier & getValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 780
    functionName: pcpp::Asn1ObjectIdentifierRecord::Asn1ObjectIdentifierRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1ObjectIdentifierRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:795,1
    - Dst: pcpp::Asn1TimeRecord::adjustTimezones
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 797
    functionName: pcpp::Asn1TimeRecord::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 2
    functionsReached:
    - decodeValueIfNeeded
    - pcpp::Asn1TimeRecord::adjustTimezones
    linkageType: ''
    returnType: std::chrono::system_clock::time_point
    signature: std::chrono::system_clock::time_point getValue(const std::string& timezone
      = "Z") const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 809
    functionName: pcpp::Asn1TimeRecord::Asn1TimeRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1TimeRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 840
    functionName: pcpp::Asn1UtcTimeRecord::Asn1UtcTimeRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1UtcTimeRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 864
    functionName: pcpp::Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1GeneralizedTimeRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:883,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 885
    functionName: pcpp::Asn1BitStringRecord::getValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - decodeValueIfNeeded
    - toString
    linkageType: ''
    returnType: std::string
    signature: std::string getValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeValueIfNeeded
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:890,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 892
    functionName: pcpp::Asn1BitStringRecord::getVecValue
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached:
    - toBytes
    - decodeValueIfNeeded
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> getVecValue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 904
    functionName: pcpp::Asn1BitStringRecord::BitSet::BitSet
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionName: pcpp::Asn1BitStringRecord::BitSet::getNumBits
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getNumBits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 925
    functionName: pcpp::Asn1BitStringRecord::Asn1BitStringRecord
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Asn1BitStringRecord()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: pcpp::IDnsResourceData::IDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IDnsResourceData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~IDnsResourceData()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IDnsResourceData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const IDnsResourceDataType*>
      Src: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: pcpp::IDnsResourceData::isTypeOf
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<const IDnsResourceDataType*>
    linkageType: ''
    returnType: bool
    signature: bool isTypeOf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<IDnsResourceDataType*>
      Src: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: pcpp::IDnsResourceData::castAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<IDnsResourceDataType*>
    linkageType: ''
    returnType: IDnsResourceDataType
    signature: IDnsResourceDataType * castAs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - IDnsResourceData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: pcpp::DnsResourceDataPtr::DnsResourceDataPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsResourceDataPtr(IDnsResourceData* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: pcpp::DnsResourceDataPtr::isTypeOf
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool isTypeOf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pcpp::DnsResourceDataPtr::castAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: IDnsResourceDataType
    signature: IDnsResourceDataType * castAs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: pcpp::StringDnsResourceData::StringDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringDnsResourceData(const std::string& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: ~StringDnsResourceData() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StringDnsResourceData() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StringDnsResourceData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: operator==(const StringDnsResourceData& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const StringDnsResourceData& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pcpp::StringDnsResourceData::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: pcpp::IPv4DnsResourceData::IPv4DnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4DnsResourceData(const IPv4Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: pcpp::IPv4DnsResourceData::IPv4DnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4DnsResourceData(const std::string& addrAsString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4DnsResourceData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: operator==(const IPv4DnsResourceData& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPv4DnsResourceData& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: pcpp::IPv4DnsResourceData::getIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4DnsResourceData::toString
      Src: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: pcpp::IPv4DnsResourceData::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 1
    functionsReached:
    - pcpp::IPv4DnsResourceData::toString
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: pcpp::IPv6DnsResourceData::IPv6DnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6DnsResourceData(const IPv6Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: pcpp::IPv6DnsResourceData::IPv6DnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6DnsResourceData(const std::string& addrAsString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6DnsResourceData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: operator==(const IPv6DnsResourceData& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPv6DnsResourceData& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: pcpp::IPv6DnsResourceData::getIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6DnsResourceData::toString
      Src: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: pcpp::IPv6DnsResourceData::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 1
    functionsReached:
    - pcpp::IPv6DnsResourceData::toString
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: ~MxDnsResourceData() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MxDnsResourceData() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: pcpp::MxDnsResourceData::getMxData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MxData
    signature: MxData getMxData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: ~GenericDnsResourceData() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GenericDnsResourceData() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: pcpp::IDnsResourceData::IDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IDnsResourceData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~IDnsResourceData()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IDnsResourceData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const IDnsResourceDataType*>
      Src: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: pcpp::IDnsResourceData::isTypeOf
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<const IDnsResourceDataType*>
    linkageType: ''
    returnType: bool
    signature: bool isTypeOf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<IDnsResourceDataType*>
      Src: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: pcpp::IDnsResourceData::castAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<IDnsResourceDataType*>
    linkageType: ''
    returnType: IDnsResourceDataType
    signature: IDnsResourceDataType * castAs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - IDnsResourceData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: pcpp::DnsResourceDataPtr::DnsResourceDataPtr
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsResourceDataPtr(IDnsResourceData* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: pcpp::DnsResourceDataPtr::isTypeOf
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: bool
    signature: bool isTypeOf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pcpp::DnsResourceDataPtr::castAs
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: IDnsResourceDataType
    signature: IDnsResourceDataType * castAs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: pcpp::StringDnsResourceData::StringDnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringDnsResourceData(const std::string& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: ~StringDnsResourceData() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StringDnsResourceData() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StringDnsResourceData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: operator==(const StringDnsResourceData& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const StringDnsResourceData& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: pcpp::StringDnsResourceData::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: pcpp::IPv4DnsResourceData::IPv4DnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4DnsResourceData(const IPv4Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: pcpp::IPv4DnsResourceData::IPv4DnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4DnsResourceData(const std::string& addrAsString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4DnsResourceData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: operator==(const IPv4DnsResourceData& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPv4DnsResourceData& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: pcpp::IPv4DnsResourceData::getIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4DnsResourceData::toString
      Src: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: pcpp::IPv4DnsResourceData::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 2
    functionsReached:
    - pcpp::IPv4DnsResourceData::toString
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: pcpp::IPv6DnsResourceData::IPv6DnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6DnsResourceData(const IPv6Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: pcpp::IPv6DnsResourceData::IPv6DnsResourceData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6DnsResourceData(const std::string& addrAsString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6DnsResourceData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: operator==(const IPv6DnsResourceData& other) const
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPv6DnsResourceData& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: pcpp::IPv6DnsResourceData::getIpAddress
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6DnsResourceData::toString
      Src: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: pcpp::IPv6DnsResourceData::toString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 2
    functionsReached:
    - pcpp::IPv6DnsResourceData::toString
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: ~MxDnsResourceData() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MxDnsResourceData() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: pcpp::MxDnsResourceData::getMxData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MxData
    signature: MxData getMxData() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: ~GenericDnsResourceData() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GenericDnsResourceData() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - protocol
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: pcpp::SingleCommandTextProtocol::SingleCommandTextProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SingleCommandTextProtocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SingleCommandTextProtocol(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet,\n\t\t                          ProtocolType protocol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - data
    - dataLen
    - prevLayer
    - packet
    - protocol
    argTypes:
    - uint8_t*
    - size_t
    - Layer*
    - Packet*
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: pcpp::SingleCommandTextProtocol::SingleCommandTextProtocol
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SingleCommandTextProtocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SingleCommandTextProtocol(uint8_t* data, size_t dataLen, Layer*
      prevLayer, Packet* packet,\n\t\t                          ProtocolType protocol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Extension::getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: pcpp::IPv6Extension::getExtensionLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Extension::getBaseHeader
    linkageType: ''
    returnType: size_t
    signature: size_t getExtensionLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::IPv6Extension::getExtensionType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6ExtensionType
    signature: IPv6ExtensionType getExtensionType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: pcpp::IPv6Extension::getNextHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Extension
    signature: IPv6Extension * getNextHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pcpp::IPv6Extension::IPv6Extension
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Extension(IDataContainer* dataContainer, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: pcpp::IPv6Extension::IPv6Extension
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Extension()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Extension::getDataPtr
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pcpp::IPv6Extension::getBaseHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 1
    functionsReached:
    - pcpp::IPv6Extension::getDataPtr
    linkageType: ''
    returnType: ipv6_ext_base_header
    signature: ipv6_ext_base_header * getBaseHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nextHeader
    argTypes:
    - IPv6Extension*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: pcpp::IPv6Extension::setNextHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setNextHeader(IPv6Extension* nextHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: pcpp::IPv6FragmentationHeader::getFragHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 6
    functionsReached:
    - getDataPtr
    linkageType: ''
    returnType: ipv6_frag_header
    signature: ipv6_frag_header * getFragHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: pcpp::IPv6FragmentationHeader::IPv6FragmentationHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6FragmentationHeader(IDataContainer* dataContainer, size_t
      offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: pcpp::IPv6TLVOptionHeader::IPv6Option::IPv6Option
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Option(uint8_t* optionRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: ~IPv6Option()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IPv6Option()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpOption::canAssign
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - recordRawData
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: pcpp::IPv6TLVOptionHeader::IPv6Option::canAssign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached:
    - pcpp::TcpOption::canAssign
    linkageType: ''
    returnType: bool
    signature: bool canAssign(const uint8_t* recordRawData, size_t tlvDataLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: pcpp::IPv6TLVOptionHeader::IPv6Option::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: pcpp::IPv6TLVOptionHeader::IPv6Option::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getDataSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - optType
    - optValue
    - optValueLen
    argTypes:
    - uint8_t
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6TLVOptionBuilder(uint8_t optType, const uint8_t* optValue,
      uint8_t optValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optType
    - optValue
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6TLVOptionBuilder(uint8_t optType, uint8_t optValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optType
    - optValue
    argTypes:
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6TLVOptionBuilder(uint8_t optType, uint16_t optValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6TLVOptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6TLVOptionBuilder(const IPv6TLVOptionBuilder& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLVRecordBuilder::operator=
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6TLVOptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: '& operator=(const IPv6TLVOptionBuilder& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached:
    - TLVRecordBuilder::operator=
    linkageType: ''
    returnType: IPv6TLVOptionBuilder
    signature: IPv6TLVOptionBuilder & operator=(const IPv6TLVOptionBuilder& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - std::vector<IPv6TLVOptionBuilder>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: pcpp::IPv6HopByHopHeader::IPv6HopByHopHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6HopByHopHeader(const std::vector<IPv6TLVOptionBuilder>& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: pcpp::IPv6HopByHopHeader::IPv6HopByHopHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6HopByHopHeader(IDataContainer* dataContainer, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - std::vector<IPv6TLVOptionBuilder>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: pcpp::IPv6DestinationHeader::IPv6DestinationHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6DestinationHeader(const std::vector<IPv6TLVOptionBuilder>&
      options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: pcpp::IPv6DestinationHeader::IPv6DestinationHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6DestinationHeader(IDataContainer* dataContainer, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: pcpp::IPv6RoutingHeader::getRoutingHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 2
    functionsReached:
    - getDataPtr
    linkageType: ''
    returnType: ipv6_routing_header
    signature: ipv6_routing_header * getRoutingHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: pcpp::IPv6RoutingHeader::IPv6RoutingHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6RoutingHeader(IDataContainer* dataContainer, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: pcpp::IPv6AuthenticationHeader::getAuthHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 2
    functionsReached:
    - getDataPtr
    linkageType: ''
    returnType: ipv6_authentication_header
    signature: ipv6_authentication_header * getAuthHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: pcpp::IPv6AuthenticationHeader::getExtensionLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 4
    functionsReached:
    - getBaseHeader
    linkageType: ''
    returnType: size_t
    signature: size_t getExtensionLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: pcpp::IPv6AuthenticationHeader::IPv6AuthenticationHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6AuthenticationHeader(IDataContainer* dataContainer, size_t
      offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Extension::getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: pcpp::IPv6Extension::getExtensionLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Extension::getBaseHeader
    linkageType: ''
    returnType: size_t
    signature: size_t getExtensionLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::IPv6Extension::getExtensionType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6ExtensionType
    signature: IPv6ExtensionType getExtensionType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: pcpp::IPv6Extension::getNextHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Extension
    signature: IPv6Extension * getNextHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pcpp::IPv6Extension::IPv6Extension
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Extension(IDataContainer* dataContainer, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: pcpp::IPv6Extension::IPv6Extension
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Extension()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Extension::getDataPtr
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pcpp::IPv6Extension::getBaseHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 2
    functionsReached:
    - pcpp::IPv6Extension::getDataPtr
    linkageType: ''
    returnType: ipv6_ext_base_header
    signature: ipv6_ext_base_header * getBaseHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nextHeader
    argTypes:
    - IPv6Extension*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: pcpp::IPv6Extension::setNextHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setNextHeader(IPv6Extension* nextHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: pcpp::IPv6FragmentationHeader::getFragHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 6
    functionsReached:
    - getDataPtr
    linkageType: ''
    returnType: ipv6_frag_header
    signature: ipv6_frag_header * getFragHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: pcpp::IPv6FragmentationHeader::IPv6FragmentationHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6FragmentationHeader(IDataContainer* dataContainer, size_t
      offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - optionRawData
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: pcpp::IPv6TLVOptionHeader::IPv6Option::IPv6Option
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Option(uint8_t* optionRawData)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: ~IPv6Option()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IPv6Option()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpOption::canAssign
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - recordRawData
    - tlvDataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: pcpp::IPv6TLVOptionHeader::IPv6Option::canAssign
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached:
    - pcpp::TcpOption::canAssign
    linkageType: ''
    returnType: bool
    signature: bool canAssign(const uint8_t* recordRawData, size_t tlvDataLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: pcpp::IPv6TLVOptionHeader::IPv6Option::getTotalSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getTotalSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: pcpp::IPv6TLVOptionHeader::IPv6Option::getDataSize
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getDataSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - optType
    - optValue
    - optValueLen
    argTypes:
    - uint8_t
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6TLVOptionBuilder(uint8_t optType, const uint8_t* optValue,
      uint8_t optValueLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optType
    - optValue
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6TLVOptionBuilder(uint8_t optType, uint8_t optValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - optType
    - optValue
    argTypes:
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6TLVOptionBuilder(uint8_t optType, uint16_t optValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6TLVOptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6TLVOptionBuilder(const IPv6TLVOptionBuilder& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TLVRecordBuilder::operator=
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6TLVOptionBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: '& operator=(const IPv6TLVOptionBuilder& other)'
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached:
    - TLVRecordBuilder::operator=
    linkageType: ''
    returnType: IPv6TLVOptionBuilder
    signature: IPv6TLVOptionBuilder & operator=(const IPv6TLVOptionBuilder& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - std::vector<IPv6TLVOptionBuilder>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: pcpp::IPv6HopByHopHeader::IPv6HopByHopHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6HopByHopHeader(const std::vector<IPv6TLVOptionBuilder>& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: pcpp::IPv6HopByHopHeader::IPv6HopByHopHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6HopByHopHeader(IDataContainer* dataContainer, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - std::vector<IPv6TLVOptionBuilder>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: pcpp::IPv6DestinationHeader::IPv6DestinationHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6DestinationHeader(const std::vector<IPv6TLVOptionBuilder>&
      options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: pcpp::IPv6DestinationHeader::IPv6DestinationHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6DestinationHeader(IDataContainer* dataContainer, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: pcpp::IPv6RoutingHeader::getRoutingHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 2
    functionsReached:
    - getDataPtr
    linkageType: ''
    returnType: ipv6_routing_header
    signature: ipv6_routing_header * getRoutingHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: pcpp::IPv6RoutingHeader::IPv6RoutingHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6RoutingHeader(IDataContainer* dataContainer, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: pcpp::IPv6AuthenticationHeader::getAuthHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 2
    functionsReached:
    - getDataPtr
    linkageType: ''
    returnType: ipv6_authentication_header
    signature: ipv6_authentication_header * getAuthHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBaseHeader
      Src: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: pcpp::IPv6AuthenticationHeader::getExtensionLen
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 4
    functionsReached:
    - getBaseHeader
    linkageType: ''
    returnType: size_t
    signature: size_t getExtensionLen() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataContainer
    - offset
    argTypes:
    - IDataContainer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: pcpp::IPv6AuthenticationHeader::IPv6AuthenticationHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6AuthenticationHeader(IDataContainer* dataContainer, size_t
      offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - id
    - keyExAlg
    - authAlg
    - symKeyAlg
    - MACAlg
    - name
    argTypes:
    - uint16_t
    - SSLKeyExchangeAlgorithm
    - SSLAuthenticationAlgorithm
    - SSLSymetricEncryptionAlgorithm
    - SSLHashingAlgorithm
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pcpp::SSLCipherSuite::SSLCipherSuite
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSLCipherSuite(uint16_t id, SSLKeyExchangeAlgorithm keyExAlg,
      SSLAuthenticationAlgorithm authAlg,\n\t\t               SSLSymetricEncryptionAlgorithm
      symKeyAlg, SSLHashingAlgorithm MACAlg, const char* name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: pcpp::SSLCipherSuite::getID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::SSLCipherSuite::asString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string asString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: pcpp::SSLCipherSuite::getKeyExchangeAlg
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLKeyExchangeAlgorithm
    signature: SSLKeyExchangeAlgorithm getKeyExchangeAlg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: pcpp::SSLCipherSuite::getAuthAlg
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLAuthenticationAlgorithm
    signature: SSLAuthenticationAlgorithm getAuthAlg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: pcpp::SSLCipherSuite::getSymKeyAlg
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLSymetricEncryptionAlgorithm
    signature: SSLSymetricEncryptionAlgorithm getSymKeyAlg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: pcpp::SSLCipherSuite::getMACAlg
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLHashingAlgorithm
    signature: SSLHashingAlgorithm getMACAlg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: ~SSLExtension()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLExtension()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<SSLExtensionStruct*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:158,1
    - Dst: auto*::getDataLength
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:159,1
    - Dst: std::make_unique<T>
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: pcpp::tryCreateExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    - reinterpret_cast<SSLExtensionStruct*>
    - auto*::getDataLength
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> tryCreateExtension(uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<SSLExtensionStruct*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: pcpp::getExtensionStruct
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<SSLExtensionStruct*>
    linkageType: ''
    returnType: SSLExtensionStruct
    signature: SSLExtensionStruct * getExtensionStruct() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - id
    - keyExAlg
    - authAlg
    - symKeyAlg
    - MACAlg
    - name
    argTypes:
    - uint16_t
    - SSLKeyExchangeAlgorithm
    - SSLAuthenticationAlgorithm
    - SSLSymetricEncryptionAlgorithm
    - SSLHashingAlgorithm
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: pcpp::SSLCipherSuite::SSLCipherSuite
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SSLCipherSuite(uint16_t id, SSLKeyExchangeAlgorithm keyExAlg,
      SSLAuthenticationAlgorithm authAlg,\n\t\t               SSLSymetricEncryptionAlgorithm
      symKeyAlg, SSLHashingAlgorithm MACAlg, const char* name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: pcpp::SSLCipherSuite::getID
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getID() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::SSLCipherSuite::asString
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string asString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: pcpp::SSLCipherSuite::getKeyExchangeAlg
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLKeyExchangeAlgorithm
    signature: SSLKeyExchangeAlgorithm getKeyExchangeAlg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: pcpp::SSLCipherSuite::getAuthAlg
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLAuthenticationAlgorithm
    signature: SSLAuthenticationAlgorithm getAuthAlg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: pcpp::SSLCipherSuite::getSymKeyAlg
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLSymetricEncryptionAlgorithm
    signature: SSLSymetricEncryptionAlgorithm getSymKeyAlg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: pcpp::SSLCipherSuite::getMACAlg
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLHashingAlgorithm
    signature: SSLHashingAlgorithm getMACAlg() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: ~SSLExtension()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLExtension()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<SSLExtensionStruct*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:158,1
    - Dst: auto*::getDataLength
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:159,1
    - Dst: std::make_unique<T>
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - data
    - dataLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: pcpp::tryCreateExtension
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    - reinterpret_cast<SSLExtensionStruct*>
    - auto*::getDataLength
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> tryCreateExtension(uint8_t* data, size_t dataLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<SSLExtensionStruct*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: pcpp::getExtensionStruct
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<SSLExtensionStruct*>
    linkageType: ''
    returnType: SSLExtensionStruct
    signature: SSLExtensionStruct * getExtensionStruct() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - allDataExists
    argTypes:
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: SSLx509Certificate::SSLx509Certificate
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLx509Certificate(uint8_t* data, size_t dataLen, bool allDataExists)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: SSLx509Certificate::getData
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: SSLx509Certificate::getDataLength
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getDataLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: SSLx509Certificate::allDataExists
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool allDataExists() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: ~SSLHandshakeMessage()
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLHandshakeMessage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: SSLHandshakeMessage::getContainingLayer
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLHandshakeLayer
    signature: SSLHandshakeLayer * getContainingLayer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 397
    functionName: ~SSLClientHelloMessage() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLClientHelloMessage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ssl_tls_client_server_hello*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: SSLClientHelloMessage::getClientHelloHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<ssl_tls_client_server_hello*>
    linkageType: ''
    returnType: ssl_tls_client_server_hello
    signature: ssl_tls_client_server_hello * getClientHelloHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 533
    functionName: ~SSLServerHelloMessage() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLServerHelloMessage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ssl_tls_client_server_hello*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 540
    functionName: SSLServerHelloMessage::getServerHelloHeader
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<ssl_tls_client_server_hello*>
    linkageType: ''
    returnType: ssl_tls_client_server_hello
    signature: ssl_tls_client_server_hello * getServerHelloHeader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 641
    functionName: ~SSLCertificateMessage() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLCertificateMessage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 677
    functionName: SSLHelloRequestMessage::SSLHelloRequestMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLHelloRequestMessage(uint8_t* data, size_t dataLen, SSLHandshakeLayer*
      container)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 679
    functionName: ~SSLHelloRequestMessage() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLHelloRequestMessage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 700
    functionName: SSLServerKeyExchangeMessage::SSLServerKeyExchangeMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLServerKeyExchangeMessage(uint8_t* data, size_t dataLen, SSLHandshakeLayer*
      container)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 702
    functionName: ~SSLServerKeyExchangeMessage() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLServerKeyExchangeMessage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 734
    functionName: SSLClientKeyExchangeMessage::SSLClientKeyExchangeMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLClientKeyExchangeMessage(uint8_t* data, size_t dataLen, SSLHandshakeLayer*
      container)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 736
    functionName: ~SSLClientKeyExchangeMessage() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLClientKeyExchangeMessage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 767
    functionName: ~SSLCertificateRequestMessage() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLCertificateRequestMessage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 804
    functionName: SSLServerHelloDoneMessage::SSLServerHelloDoneMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLServerHelloDoneMessage(uint8_t* data, size_t dataLen, SSLHandshakeLayer*
      container)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 806
    functionName: ~SSLServerHelloDoneMessage() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLServerHelloDoneMessage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 827
    functionName: SSLCertificateVerifyMessage::SSLCertificateVerifyMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLCertificateVerifyMessage(uint8_t* data, size_t dataLen, SSLHandshakeLayer*
      container)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 829
    functionName: ~SSLCertificateVerifyMessage() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLCertificateVerifyMessage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 861
    functionName: SSLFinishedMessage::SSLFinishedMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLFinishedMessage(uint8_t* data, size_t dataLen, SSLHandshakeLayer*
      container)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 863
    functionName: ~SSLFinishedMessage() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLFinishedMessage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: SSLNewSessionTicketMessage::SSLNewSessionTicketMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLNewSessionTicketMessage(uint8_t* data, size_t dataLen, SSLHandshakeLayer*
      container)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 896
    functionName: ~SSLNewSessionTicketMessage() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLNewSessionTicketMessage() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - dataLen
    - container
    argTypes:
    - uint8_t*
    - size_t
    - SSLHandshakeLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 928
    functionName: SSLUnknownMessage::SSLUnknownMessage
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLUnknownMessage(uint8_t* data, size_t dataLen, SSLHandshakeLayer*
      container)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 930
    functionName: ~SSLUnknownMessage() override
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SSLUnknownMessage() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:947,1
    - Dst: const_cast<SSLExtension*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:950,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:950,1
    - Dst: dynamic_cast<TExtension*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:951,1
    - Dst: static_cast<TExtension*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 956
    functionName: SSLClientHelloMessage::getExtensionOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 2
    functionsReached:
    - dynamic_cast<TExtension*>
    - size
    - at
    - const_cast<SSLExtension*>
    - static_cast<TExtension*>
    linkageType: ''
    returnType: TExtension
    signature: TExtension * SSLClientHelloMessage::getExtensionOfType() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:960,1
    - Dst: const_cast<SSLExtension*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:963,1
    - Dst: at
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:963,1
    - Dst: dynamic_cast<TExtension*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:964,1
    - Dst: static_cast<TExtension*>
      Src: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h:965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 969
    functionName: SSLServerHelloMessage::getExtensionOfType
    functionSourceFile: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    functionUses: 2
    functionsReached:
    - dynamic_cast<TExtension*>
    - size
    - at
    - const_cast<SSLExtension*>
    - static_cast<TExtension*>
    linkageType: ''
    returnType: TExtension
    signature: TExtension * SSLServerHelloMessage::getExtensionOfType() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Examples/ExampleApp/main.cpp:10,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/ExampleApp/main.cpp:17,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Examples/ExampleApp/main.cpp:18,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/ExampleApp/main.cpp:28,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/ExampleApp/main.cpp:31,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/ExampleApp/main.cpp:32,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Examples/ExampleApp/main.cpp:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 6
    functionDepth: 2
    functionLinenumber: 6
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/ExampleApp/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - pcpp::PcapFileReaderDevice::getNextPacket
    - pcpp::Packet::getLayerOfType
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileReaderDevice::close
    - pcpp::RawPacket::RawPacket
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: GlobalConfig::GlobalConfig
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GlobalConfig()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:117,1
    - Dst: pcpp::ConnectionData::srcIP::toString
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:120,1
    - Dst: pcpp::ConnectionData::dstIP::toString
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:121,1
    - Dst: std::replace
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:124,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:124,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:124,1
    - Dst: std::replace
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:125,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:125,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:125,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - connData
    - side
    - useSeparateSides
    argTypes:
    - pcpp::ConnectionData
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: GlobalConfig::getFileName
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ConnectionData::dstIP::toString
    - std::replace
    - empty
    - pcpp::ConnectionData::srcIP::toString
    - std::string::begin
    - std::stringstream::str
    - std::string::end
    linkageType: ''
    returnType: std::string
    signature: std::string getFileName(pcpp::ConnectionData connData, int side, bool
      useSeparateSides) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:149,1
    - Dst: std::ofstream::ofstream
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:149,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:151,1
    - Dst: std::ofstream::ofstream
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' fileName'
    - reopen
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: GlobalConfig::openFileStream
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::ofstream
    - c_str
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream * openFileStream(const std::string& fileName, bool reopen)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auto::close
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fileStream
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: GlobalConfig::closeFileSteam
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - auto::close
    linkageType: ''
    returnType: void
    signature: void closeFileSteam(std::ostream* fileStream) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::LRUList<uint32_t>::LRUList<uint32_t>
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: GlobalConfig::getRecentConnsWithActivity
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::LRUList<uint32_t>::LRUList<uint32_t>
    linkageType: ''
    returnType: pcpp::LRUList<uint32_t>
    signature: pcpp::LRUList<uint32_t> * getRecentConnsWithActivity()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GlobalConfig::GlobalConfig
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: '& getInstance()'
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - GlobalConfig::GlobalConfig
    linkageType: ''
    returnType: GlobalConfig
    signature: GlobalConfig & getInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: ~GlobalConfig()
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GlobalConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: TcpReassemblyData
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 2
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void TcpReassemblyData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:243,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: ~TcpReassemblyData()
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void ~TcpReassemblyData()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:257,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 276
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 17
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 314
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:321,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:321,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:322,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:323,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:332,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:338,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:338,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 342
    functionName: listInterfaces
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - getName
    - getIPv4Address
    - exit
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void listInterfaces()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: auto::find
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:353,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:353,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:354,1
    - Dst: auto::insert
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:356,1
    - Dst: std::make_pair
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:356,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:356,1
    - Dst: TcpReassemblyData
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:356,1
    - Dst: auto::find
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:357,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:357,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:364,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:376,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:376,1
    - Dst: auto::find
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:384,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:385,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:393,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:406,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:406,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:406,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:413,1
    - Dst: getDataLength
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:428,1
    - Dst: write
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:431,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:431,1
    - Dst: getDataLength
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:431,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - sideIndex
    - ' tcpData'
    - userCookie
    argTypes:
    - int8_t
    - pcpp::TcpStreamData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 432
    functionName: tcpReassemblyMsgReadyCallback
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - write
    - getDataLength
    - pcpp::GtpV2InformationElement::getInstance
    - getData
    - auto::end
    - getConnectionData
    - TcpReassemblyData
    - std::make_pair
    - auto::insert
    - auto::find
    linkageType: ''
    returnType: void
    signature: void tcpReassemblyMsgReadyCallback(const int8_t sideIndex, const pcpp::TcpStreamData&
      tcpData, void* userCookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: auto::find
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:444,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:447,1
    - Dst: auto::insert
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:450,1
    - Dst: std::make_pair
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:450,1
    - Dst: TcpReassemblyData
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' connectionData'
    - userCookie
    argTypes:
    - pcpp::ConnectionData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 452
    functionName: tcpReassemblyConnectionStartCallback
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - std::make_pair
    - auto::end
    - TcpReassemblyData
    - auto::insert
    - auto::find
    linkageType: ''
    returnType: void
    signature: void tcpReassemblyConnectionStartCallback(const pcpp::ConnectionData&
      connectionData, void* userCookie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: auto::find
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:465,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:468,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:472,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:474,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:475,1
    - Dst: std::ofstream::close
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:490,1
    - Dst: auto::erase
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - ' connectionData'
    - reason
    - userCookie
    argTypes:
    - pcpp::ConnectionData
    - pcpp::TcpReassembly::ConnectionEndReason
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 495
    functionName: tcpReassemblyConnectionEndCallback
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - auto::erase
    - pcpp::GtpV2InformationElement::getInstance
    - auto::end
    - std::ofstream::close
    - std::string::c_str
    - auto::find
    linkageType: ''
    returnType: void
    signature: "void tcpReassemblyConnectionEndCallback(const pcpp::ConnectionData&
      connectionData,\n                                               pcpp::TcpReassembly::ConnectionEndReason
      reason, void* userCookie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: onApplicationInterrupted
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onApplicationInterrupted(void* cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::reassemblePacket
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - packet
    - dev
    - tcpReassemblyCookie
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 514
    functionName: onPacketArrives
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - auto::reassemblePacket
    linkageType: ''
    returnType: void
    signature: void onPacketArrives(pcpp::RawPacket* packet, pcpp::PcapLiveDevice*
      dev, void* tcpReassemblyCookie)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:523,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:526,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:527,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:530,1
    - Dst: std::unique_ptr::setFilter
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:532,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:533,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:539,1
    - Dst: std::unique_ptr::getNextPacket
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:540,1
    - Dst: reassemblePacket
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:542,1
    - Dst: getConnectionInformation
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:546,1
    - Dst: closeAllConnections
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:549,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' fileName'
    - ' tcpReassembly'
    argTypes:
    - std::string
    - pcpp::TcpReassembly
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 555
    functionName: doTcpReassemblyOnPcapFile
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getNextPacket
    - empty
    - pcpp::IFileReaderDevice::tryCreateReader
    - std::unique_ptr::open
    - std::unique_ptr::setFilter
    - EXIT_WITH_ERROR
    - pcpp::RawPacket::RawPacket
    - closeAllConnections
    - reassemblePacket
    - std::unique_ptr::close
    - getConnectionInformation
    linkageType: ''
    returnType: void
    signature: "void doTcpReassemblyOnPcapFile(const std::string& fileName, pcpp::TcpReassembly&
      tcpReassembly,\n                               const std::string& bpfFilter
      = \"\")"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:564,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:565,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:568,1
    - Dst: pcpp::PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:570,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:571,1
    - Dst: pcpp::PcapLiveDevice*::getIPv4Address
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:574,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:577,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:581,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:585,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:585,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:588,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:589,1
    - Dst: closeAllConnections
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:592,1
    - Dst: getConnectionInformation
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - dev
    - ' tcpReassembly'
    argTypes:
    - pcpp::PcapLiveDevice*
    - pcpp::TcpReassembly
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 595
    functionName: doTcpReassemblyOnLiveTraffic
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDevice*::open
    - std::chrono::seconds
    - empty
    - pcpp::PcapLiveDevice*::close
    - EXIT_WITH_ERROR
    - pcpp::PcapLiveDevice*::setFilter
    - std::this_thread::sleep_for
    - pcpp::PcapLiveDevice*::stopCapture
    - pcpp::PcapLiveDevice*::startCapture
    - closeAllConnections
    - getConnectionInformation
    - pcpp::PcapLiveDevice*::getIPv4Address
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: "void doTcpReassemblyOnLiveTraffic(pcpp::PcapLiveDevice* dev, pcpp::TcpReassembly&
      tcpReassembly,\n                                  const std::string& bpfFilter
      = \"\")"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:602,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:616,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:644,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:647,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:648,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:650,1
    - Dst: listInterfaces
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:653,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:656,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:657,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:662,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:662,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:663,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:666,1
    - Dst: pcpp::directoryExists
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:666,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:667,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:670,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:671,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:672,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:673,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:674,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:684,1
    - Dst: doTcpReassemblyOnPcapFile
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:686,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:691,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:693,1
    - Dst: doTcpReassemblyOnLiveTraffic
      Src: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp:696,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 600
    functionDepth: 3
    functionLinenumber: 600
    functionLinenumberEnd: 698
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    functionUses: 0
    functionsReached:
    - exit
    - listInterfaces
    - doTcpReassemblyOnLiveTraffic
    - pcpp::AppName::init
    - doTcpReassemblyOnPcapFile
    - printUsage
    - std::string::empty
    - pcpp::directoryExists
    - EXIT_WITH_ERROR
    - atoi
    - getopt_long
    - printAppVersion
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:64,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:67,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:70,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 18
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: ~HttpMessageStats()
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpMessageStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 19
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: netdissect_timevalclear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:117,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:118,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 20
    functionsReached:
    - clear
    - netdissect_timevalclear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: netdissect_timevalclear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:141,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:145,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 21
    functionsReached:
    - clear
    - netdissect_timevalclear
    linkageType: ''
    returnType: void
    signature: void clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dstPort
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: HttpStatsCollector::HttpStatsCollector
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 0
    functionsReached:
    - HttpStatsCollector::clear
    linkageType: ''
    returnType: void
    signature: void HttpStatsCollector(uint16_t dstPort)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:171,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:175,1
    - Dst: pcpp::TcpLayer*::getDstPort
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:176,1
    - Dst: pcpp::TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:176,1
    - Dst: HttpStatsCollector::collectHttpTrafficStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:180,1
    - Dst: pcpp::Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:183,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:185,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:186,1
    - Dst: HttpStatsCollector::collectHttpGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:187,1
    - Dst: HttpStatsCollector::collectRequestStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:188,1
    - Dst: pcpp::Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:191,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:193,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:194,1
    - Dst: HttpStatsCollector::collectHttpGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:195,1
    - Dst: HttpStatsCollector::collectResponseStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:196,1
    - Dst: HttpStatsCollector::getCurTime
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - httpPacket
    argTypes:
    - pcpp::Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 201
    functionName: HttpStatsCollector::collectStats
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 0
    functionsReached:
    - pcpp::Packet*::getLayerOfType
    - HttpStatsCollector::collectHttpTrafficStats
    - pcpp::Packet*::isPacketOfType
    - pcpp::TcpLayer*::getSrcPort
    - HttpStatsCollector::collectHttpGeneralStats
    - pcpp::TcpLayer*::getDstPort
    - HttpStatsCollector::getCurTime
    - HttpStatsCollector::collectRequestStats
    - HttpStatsCollector::collectResponseStats
    linkageType: ''
    returnType: void
    signature: void collectStats(pcpp::Packet* httpPacket)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HttpStatsCollector::getCurTime
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 254
    functionName: HttpStatsCollector::calcRates
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 0
    functionsReached:
    - HttpStatsCollector::getCurTime
    linkageType: ''
    returnType: void
    signature: void calcRates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:261,1
    - Dst: HttpStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:262,1
    - Dst: HttpStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:263,1
    - Dst: HttpStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:264,1
    - Dst: HttpStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:265,1
    - Dst: HttpStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:266,1
    - Dst: HttpStatsCollector::getCurTime
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: HttpStatsCollector::clear
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 2
    functionsReached:
    - HttpStatsCollector::getCurTime
    - HttpStatsCollector::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: '& getGeneralStats()'
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpGeneralStats
    signature: HttpGeneralStats & getGeneralStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: '& getRequestStats()'
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpRequestStats
    signature: HttpRequestStats & getRequestStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: '& getResponseStats()'
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HttpResponseStats
    signature: HttpResponseStats & getResponseStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: HttpStatsCollector::clear
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:327,1
    - Dst: pcpp::TcpLayer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:330,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:336,1
    - Dst: find
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:339,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:339,1
    - Dst: HttpStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:343,1
    - Dst: size
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:347,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:350,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:350,1
    - Dst: size
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:350,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:352,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:352,1
    - Dst: size
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - httpPacket
    argTypes:
    - pcpp::Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 356
    functionName: HttpStatsCollector::collectHttpTrafficStats
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 1
    functionsReached:
    - pcpp::hash5Tuple
    - pcpp::Packet*::getLayerOfType
    - end
    - static_cast<double>
    - pcpp::TcpLayer*::getLayerPayloadSize
    - size
    - find
    - HttpStatsCollector::clear
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t collectHttpTrafficStats(pcpp::Packet* httpPacket)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HttpMessage*::getProtocol
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:367,1
    - Dst: pcpp::netToHost32
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:372,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:372,1
    - Dst: pcpp::netToHost32
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:390,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:390,1
    - Dst: pcpp::HttpMessage*::getProtocol
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:392,1
    - Dst: pcpp::netToHost32
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:397,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:397,1
    - Dst: size
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:420,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:422,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:423,1
    - Dst: size
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:423,1
    - Dst: pcpp::netToHost32
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:427,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:427,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - tcpLayer
    - message
    - flowKey
    argTypes:
    - pcpp::TcpLayer*
    - pcpp::HttpMessage*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 429
    functionName: HttpStatsCollector::collectHttpGeneralStats
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 1
    functionsReached:
    - static_cast<double>
    - size
    - pcpp::HttpMessage*::getProtocol
    - pcpp::netToHost32
    - pcpp::TcpLayer*::getTcpHeader
    linkageType: ''
    returnType: void
    signature: void collectHttpGeneralStats(pcpp::TcpLayer* tcpLayer, pcpp::HttpMessage*
      message, uint32_t flowKey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HttpRequestLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:437,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:439,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:440,1
    - Dst: pcpp::HttpRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:443,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:445,1
    - Dst: pcpp::HttpRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - req
    argTypes:
    - pcpp::HttpRequestLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 448
    functionName: HttpStatsCollector::collectRequestStats
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 1
    functionsReached:
    - pcpp::HttpRequestLayer*::getFieldByName
    - static_cast<double>
    - pcpp::HeaderField*::getFieldValue
    - pcpp::HttpRequestLayer*::getHeaderLen
    - pcpp::HttpRequestLayer*::getFirstLine
    linkageType: ''
    returnType: void
    signature: void collectRequestStats(pcpp::HttpRequestLayer* req)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::HttpResponseLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:456,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:458,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:459,1
    - Dst: pcpp::HttpResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:462,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:466,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:466,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:469,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:470,1
    - Dst: pcpp::HttpResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:474,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:477,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:482,1
    - Dst: std::string::resize
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:484,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:491,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:492,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - res
    argTypes:
    - pcpp::HttpResponseLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 494
    functionName: HttpStatsCollector::collectResponseStats
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 1
    functionsReached:
    - pcpp::HttpResponseLayer*::getFieldByName
    - pcpp::HttpResponseLayer*::getFirstLine
    - pcpp::HttpResponseLayer*::getHeaderLen
    - static_cast<double>
    - pcpp::HeaderField*::getFieldValue
    - atoi
    - std::ostringstream::str
    - std::string::resize
    - std::string::find
    linkageType: ''
    returnType: void
    signature: void collectResponseStats(pcpp::HttpResponseLayer* res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:500,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:502,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 503
    functionName: HttpStatsCollector::getCurTime
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    functionUses: 3
    functionsReached:
    - gettimeofday
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double getCurTime(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - description
    - ','
    - counter
    - ','
    - measurement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: PRINT_STAT_LINE
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_STAT_LINE(description, counter, measurement)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:78,1
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 108
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 1
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:115,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:115,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:116,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:117,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 1
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:127,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:132,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:132,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: listInterfaces
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 1
    functionsReached:
    - getName
    - getIPv4Address
    - exit
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void listInterfaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:142,1
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' description'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: printStatsHeadline
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - length
    - string
    linkageType: ''
    returnType: void
    signature: void printStatsHeadline(const std::string& description)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HttpPacketArrivedData*>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:154,1
    - Dst: HttpPacketArrivedData*::statsCollector::collectStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:157,1
    - Dst: HttpPacketArrivedData*::pcapWriter::writePacket
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - packet
    - dev
    - cookie
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: httpPacketArrive
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - HttpPacketArrivedData*::pcapWriter::writePacket
    - HttpPacketArrivedData*::statsCollector::collectStats
    - static_cast<HttpPacketArrivedData*>
    linkageType: ''
    returnType: void
    signature: void httpPacketArrive(pcpp::RawPacket* packet, pcpp::PcapLiveDevice*
      dev, void* cookie)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: methodCount::begin
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:177,1
    - Dst: methodCount::end
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:178,1
    - Dst: std::sort
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:179,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:180,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:180,1
    - Dst: methodCount::at
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:193,1
    - Dst: methodCount::at
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:197,1
    - Dst: methodCount::at
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:201,1
    - Dst: methodCount::at
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:205,1
    - Dst: methodCount::at
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:209,1
    - Dst: methodCount::at
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:213,1
    - Dst: methodCount::at
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:217,1
    - Dst: methodCount::at
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:221,1
    - Dst: methodCount::at
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:225,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:233,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - ' reqStatscollector'
    argTypes:
    - HttpRequestStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 236
    functionName: printMethods
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - std::sort
    - std::vector::end
    - methodCount::at
    - std::vector::begin
    - pcpp::TablePrinter::printRow
    - methodCount::end
    - methodCount::begin
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void printMethods(const HttpRequestStats& reqStatscollector)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' leftHost'
    - ' rightHost'
    argTypes:
    - std::pair<std::string, int>
    - std::pair<std::string, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: hostnameComparer
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hostnameComparer(const std::pair<std::string, int>& leftHost,
      const std::pair<std::string, int>& rightHost)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostnameCount::begin
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:260,1
    - Dst: hostnameCount::end
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:261,1
    - Dst: std::sort
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:262,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:262,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:262,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:269,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' reqStatscollector'
    argTypes:
    - HttpRequestStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: printHostnames
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - hostnameCount::begin
    - std::sort
    - std::vector::end
    - pcpp::TablePrinter::printRow
    - std::vector::begin
    - hostnameCount::end
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void printHostnames(HttpRequestStats& reqStatscollector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: statusCodeCount::begin
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:284,1
    - Dst: statusCodeCount::end
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:285,1
    - Dst: std::sort
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:286,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:286,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:286,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:294,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' resStatscollector'
    argTypes:
    - HttpResponseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 296
    functionName: printStatusCodes
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - std::sort
    - std::vector::end
    - statusCodeCount::begin
    - pcpp::TablePrinter::printRow
    - std::vector::begin
    - statusCodeCount::end
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void printStatusCodes(const HttpResponseStats& resStatscollector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contentTypeCount::begin
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:309,1
    - Dst: contentTypeCount::end
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:310,1
    - Dst: std::sort
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:311,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:311,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:311,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:319,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' resStatscollector'
    argTypes:
    - HttpResponseStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 321
    functionName: printContentTypes
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - std::sort
    - std::vector::end
    - contentTypeCount::begin
    - pcpp::TablePrinter::printRow
    - std::vector::begin
    - std::stringstream::str
    - contentTypeCount::end
    linkageType: ''
    returnType: void
    signature: void printContentTypes(const HttpResponseStats& resStatscollector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printStatsHeadline
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:329,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:330,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:330,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:331,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:331,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:332,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:332,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:333,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:333,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:334,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:334,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:335,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:335,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:336,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:336,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:337,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:337,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:339,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:339,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:340,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:340,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:341,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:341,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:342,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:342,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:344,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:344,1
    - Dst: printStatsHeadline
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:346,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:347,1
    - Dst: getRequestStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:347,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:348,1
    - Dst: getRequestStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:348,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:349,1
    - Dst: getRequestStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:349,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:350,1
    - Dst: getRequestStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:350,1
    - Dst: printStatsHeadline
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:352,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:353,1
    - Dst: getResponseStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:353,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:354,1
    - Dst: getResponseStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:354,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:355,1
    - Dst: getResponseStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:355,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:356,1
    - Dst: getResponseStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:356,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:357,1
    - Dst: getResponseStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:357,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:359,1
    - Dst: getResponseStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:359,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:361,1
    - Dst: getResponseStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:361,1
    - Dst: printStatsHeadline
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:363,1
    - Dst: printMethods
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:364,1
    - Dst: getRequestStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:364,1
    - Dst: printStatsHeadline
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:366,1
    - Dst: printHostnames
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:367,1
    - Dst: getRequestStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:367,1
    - Dst: printStatsHeadline
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:369,1
    - Dst: printStatusCodes
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:370,1
    - Dst: getResponseStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:370,1
    - Dst: printStatsHeadline
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:372,1
    - Dst: printContentTypes
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:373,1
    - Dst: getResponseStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 1
    argNames:
    - ' collector'
    argTypes:
    - HttpStatsCollector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 374
    functionName: printStatsSummary
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - getResponseStats
    - getRequestStats
    - printContentTypes
    - printStatusCodes
    - printHostnames
    - printStatsHeadline
    - printMethods
    - getGeneralStats
    - PRINT_STAT_LINE
    linkageType: ''
    returnType: void
    signature: void printStatsSummary(HttpStatsCollector& collector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printStatsHeadline
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:381,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:382,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:382,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:383,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:383,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:384,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:384,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:386,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:386,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:387,1
    - Dst: getRequestStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:387,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:388,1
    - Dst: getResponseStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' collector'
    argTypes:
    - HttpStatsCollector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: printCurrentRates
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - getResponseStats
    - getRequestStats
    - printStatsHeadline
    - getGeneralStats
    - PRINT_STAT_LINE
    linkageType: ''
    returnType: void
    signature: void printCurrentRates(HttpStatsCollector& collector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool*>
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: onApplicationInterrupted
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool*>
    linkageType: ''
    returnType: void
    signature: void onApplicationInterrupted(void* cookie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:406,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:408,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:409,1
    - Dst: std::unique_ptr::setFilter
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:413,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:414,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:418,1
    - Dst: std::unique_ptr::getNextPacket
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:419,1
    - Dst: HttpStatsCollector::collectStats
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:422,1
    - Dst: printStatsSummary
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:427,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ' pcapFileName'
    - dstPort
    argTypes:
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 431
    functionName: analyzeHttpFromPcapFile
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getNextPacket
    - pcpp::IFileReaderDevice::tryCreateReader
    - std::unique_ptr::open
    - std::unique_ptr::setFilter
    - EXIT_WITH_ERROR
    - HttpStatsCollector::collectStats
    - pcpp::RawPacket::RawPacket
    - std::unique_ptr::close
    - printStatsSummary
    linkageType: ''
    returnType: void
    signature: void analyzeHttpFromPcapFile(const std::string& pcapFileName, uint16_t
      dstPort)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:440,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:441,1
    - Dst: pcpp::PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:444,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:445,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:451,1
    - Dst: pcpp::PcapFileWriterDevice::PcapFileWriterDevice
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:451,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:452,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:454,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:462,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:463,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:467,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:471,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:471,1
    - Dst: HttpStatsCollector::calcRates
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:476,1
    - Dst: printCurrentRates
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:477,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:482,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:483,1
    - Dst: HttpStatsCollector::calcRates
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:486,1
    - Dst: printStatsSummary
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:490,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:495,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - dev
    - printRatesPeriodically
    - printRatePeriod
    - ' savePacketsToFileName'
    - dstPort
    argTypes:
    - pcpp::PcapLiveDevice*
    - bool
    - int
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 497
    functionName: analyzeHttpFromLiveTraffic
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::reset
    - pcpp::PcapLiveDevice*::open
    - pcpp::PcapFileWriterDevice::PcapFileWriterDevice
    - std::unique_ptr::get
    - std::chrono::seconds
    - std::unique_ptr::open
    - pcpp::PcapLiveDevice*::close
    - EXIT_WITH_ERROR
    - HttpStatsCollector::calcRates
    - pcpp::PcapLiveDevice*::setFilter
    - std::this_thread::sleep_for
    - pcpp::PcapLiveDevice*::stopCapture
    - pcpp::PcapLiveDevice*::startCapture
    - printCurrentRates
    - std::unique_ptr::close
    - pcpp::GtpV2InformationElement::getInstance
    - printStatsSummary
    linkageType: ''
    returnType: void
    signature: "void analyzeHttpFromLiveTraffic(pcpp::PcapLiveDevice* dev, bool printRatesPeriodically,
      int printRatePeriod,\n                                const std::string& savePacketsToFileName,
      uint16_t dstPort)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:504,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:517,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:536,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:542,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:543,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:545,1
    - Dst: listInterfaces
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:548,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:551,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:552,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:558,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:561,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:561,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:563,1
    - Dst: analyzeHttpFromPcapFile
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:568,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:572,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:574,1
    - Dst: analyzeHttpFromLiveTraffic
      Src: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp:577,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 502
    functionDepth: 3
    functionLinenumber: 502
    functionLinenumberEnd: 579
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - exit
    - listInterfaces
    - pcpp::AppName::init
    - printUsage
    - EXIT_WITH_ERROR
    - atoi
    - std::string::c_str
    - getopt_long
    - printAppVersion
    - analyzeHttpFromPcapFile
    - analyzeHttpFromLiveTraffic
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:71,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 73
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 25
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: ~ClientHelloStats()
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ClientHelloStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 26
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: ~ServerHelloStats()
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServerHelloStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 27
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: SSLStatsCollector::SSLStatsCollector
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 0
    functionsReached:
    - SSLStatsCollector::clear
    linkageType: ''
    returnType: void
    signature: void SSLStatsCollector()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:144,1
    - Dst: pcpp::Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:144,1
    - Dst: SSLStatsCollector::collectSSLTrafficStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:148,1
    - Dst: pcpp::Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:151,1
    - Dst: SSLStatsCollector::collectSSLStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:153,1
    - Dst: SSLStatsCollector::getCurTime
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - sslPacket
    argTypes:
    - pcpp::Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: SSLStatsCollector::collectStats
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 0
    functionsReached:
    - SSLStatsCollector::collectSSLTrafficStats
    - pcpp::Packet*::isPacketOfType
    - SSLStatsCollector::collectSSLStats
    - SSLStatsCollector::getCurTime
    linkageType: ''
    returnType: void
    signature: void collectStats(pcpp::Packet* sslPacket)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSLStatsCollector::getCurTime
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 208
    functionName: SSLStatsCollector::calcRates
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 0
    functionsReached:
    - SSLStatsCollector::getCurTime
    linkageType: ''
    returnType: void
    signature: void calcRates()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSLStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:215,1
    - Dst: SSLStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:216,1
    - Dst: SSLStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:217,1
    - Dst: SSLStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:218,1
    - Dst: SSLStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:219,1
    - Dst: SSLStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:220,1
    - Dst: SSLStatsCollector::getCurTime
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: SSLStatsCollector::clear
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 2
    functionsReached:
    - SSLStatsCollector::clear
    - SSLStatsCollector::getCurTime
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: '& getGeneralStats()'
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SSLGeneralStats
    signature: SSLGeneralStats & getGeneralStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: '& getClientHelloStats()'
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientHelloStats
    signature: ClientHelloStats & getClientHelloStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: '& getServerHelloStats()'
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServerHelloStats
    signature: ServerHelloStats & getServerHelloStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: SSLStatsCollector::clear
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:273,1
    - Dst: pcpp::TcpLayer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:276,1
    - Dst: hash5Tuple
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:282,1
    - Dst: find
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:285,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:285,1
    - Dst: pcpp::TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:291,1
    - Dst: pcpp::TcpLayer*::getDstPort
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:292,1
    - Dst: pcpp::SSLLayer::isSSLPort
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:293,1
    - Dst: SSLStatsCollector::clear
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:298,1
    - Dst: size
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:302,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:305,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:305,1
    - Dst: size
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:305,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:307,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:307,1
    - Dst: size
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - sslpPacket
    argTypes:
    - pcpp::Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 311
    functionName: SSLStatsCollector::collectSSLTrafficStats
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 1
    functionsReached:
    - pcpp::Packet*::getLayerOfType
    - end
    - static_cast<double>
    - pcpp::TcpLayer*::getLayerPayloadSize
    - pcpp::TcpLayer*::getSrcPort
    - pcpp::SSLLayer::isSSLPort
    - size
    - find
    - pcpp::TcpLayer*::getDstPort
    - SSLStatsCollector::clear
    - hash5Tuple
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t collectSSLTrafficStats(pcpp::Packet* sslpPacket)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:319,1
    - Dst: pcpp::SSLLayer*::getRecordType
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:323,1
    - Dst: dynamic_cast<pcpp::SSLHandshakeLayer*>
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:348,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:354,1
    - Dst: SSLStatsCollector::collecClientHelloStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:359,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:364,1
    - Dst: pcpp::SSLServerHelloMessage*::getHandshakeVersion
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:369,1
    - Dst: SSLStatsCollector::collecServerHelloStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:370,1
    - Dst: pcpp::Packet*::getNextLayerOfType
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:374,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - sslPacket
    - flowKey
    argTypes:
    - pcpp::Packet*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 376
    functionName: SSLStatsCollector::collectSSLStats
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 1
    functionsReached:
    - pcpp::Packet*::getLayerOfType
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - SSLStatsCollector::collecClientHelloStats
    - pcpp::SSLLayer*::getRecordType
    - pcpp::SSLServerHelloMessage*::getHandshakeVersion
    - SSLStatsCollector::collecServerHelloStats
    - pcpp::Packet*::getNextLayerOfType
    - dynamic_cast<pcpp::SSLHandshakeLayer*>
    linkageType: ''
    returnType: void
    signature: void collectSSLStats(pcpp::Packet* sslPacket, uint32_t flowKey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLClientHelloMessage*::getExtensionOfType
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:386,1
    - Dst: pcpp::SSLServerNameIndicationExtension*::getHostName
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - clientHelloMessage
    argTypes:
    - pcpp::SSLClientHelloMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 389
    functionName: SSLStatsCollector::collecClientHelloStats
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 1
    functionsReached:
    - pcpp::SSLServerNameIndicationExtension*::getHostName
    - pcpp::SSLClientHelloMessage*::getExtensionOfType
    linkageType: ''
    returnType: void
    signature: void collecClientHelloStats(pcpp::SSLClientHelloMessage* clientHelloMessage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLServerHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:398,1
    - Dst: pcpp::SSLCipherSuite*::asString
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - serverHelloMessage
    argTypes:
    - pcpp::SSLServerHelloMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: SSLStatsCollector::collecServerHelloStats
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 1
    functionsReached:
    - pcpp::SSLServerHelloMessage*::getCipherSuite
    - pcpp::SSLCipherSuite*::asString
    linkageType: ''
    returnType: void
    signature: void collecServerHelloStats(pcpp::SSLServerHelloMessage* serverHelloMessage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:407,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:409,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: SSLStatsCollector::getCurTime
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    functionUses: 3
    functionsReached:
    - gettimeofday
    - static_cast<double>
    linkageType: ''
    returnType: double
    signature: double getCurTime(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - description
    - ','
    - counter
    - ','
    - measurement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: PRINT_STAT_LINE
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_STAT_LINE(description, counter, measurement)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:76,1
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 2
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:111,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:111,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:112,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:113,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 2
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:123,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:128,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:128,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: listInterfaces
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 2
    functionsReached:
    - getName
    - getIPv4Address
    - exit
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void listInterfaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' description'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: printStatsHeadline
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 2
    functionsReached:
    - length
    linkageType: ''
    returnType: void
    signature: void printStatsHeadline(const std::string& description)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SSLPacketArrivedData*>
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:153,1
    - Dst: SSLPacketArrivedData*::statsCollector::collectStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:156,1
    - Dst: SSLPacketArrivedData*::pcapWriter::writePacket
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - packet
    - dev
    - cookie
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: sslPacketArrive
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - SSLPacketArrivedData*::pcapWriter::writePacket
    - static_cast<SSLPacketArrivedData*>
    - SSLPacketArrivedData*::statsCollector::collectStats
    linkageType: ''
    returnType: void
    signature: void sslPacketArrive(pcpp::RawPacket* packet, pcpp::PcapLiveDevice*
      dev, void* cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' first'
    - ' second'
    argTypes:
    - std::pair<std::string, int>
    - std::pair<std::string, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: stringCountComparer
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stringCountComparer(const std::pair<std::string, int>& first,
      const std::pair<std::string, int>& second)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - std::pair<uint16_t, int>
    - std::pair<uint16_t, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: uint16CountComparer
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool uint16CountComparer(std::pair<uint16_t, int> first, std::pair<uint16_t,
      int> second)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:196,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:197,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:199,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:200,1
    - Dst: serverNameCount::begin
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:205,1
    - Dst: serverNameCount::end
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:206,1
    - Dst: std::sort
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:207,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:207,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:207,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:214,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' clientHelloStatsCollector'
    argTypes:
    - ClientHelloStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: printServerNames
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - std::sort
    - std::vector::end
    - serverNameCount::end
    - pcpp::TablePrinter::printRow
    - std::vector::begin
    - std::vector::push_back
    - serverNameCount::begin
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void printServerNames(ClientHelloStats& clientHelloStatsCollector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:225,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:226,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:228,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:229,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:234,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:234,1
    - Dst: std::sort
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:235,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:235,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:235,1
    - Dst: pcpp::SSLVersion::SSLVersion
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:241,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:242,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' versionMap'
    - ' headline'
    argTypes:
    - std::unordered_map<uint16_t, int>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 244
    functionName: printVersions
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - std::sort
    - std::vector::end
    - begin
    - end
    - pcpp::TablePrinter::printRow
    - std::vector::begin
    - std::vector::push_back
    - std::stringstream::str
    - pcpp::SSLVersion::SSLVersion
    linkageType: ''
    returnType: void
    signature: void printVersions(std::unordered_map<uint16_t, int>& versionMap, const
      std::string& headline)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:253,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:254,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:256,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:257,1
    - Dst: cipherSuiteCount::begin
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:262,1
    - Dst: cipherSuiteCount::end
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:263,1
    - Dst: std::sort
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:264,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:264,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:264,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:271,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' serverHelloStats'
    argTypes:
    - ServerHelloStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 273
    functionName: printCipherSuites
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - std::sort
    - std::vector::end
    - cipherSuiteCount::begin
    - pcpp::TablePrinter::printRow
    - std::vector::begin
    - std::vector::push_back
    - cipherSuiteCount::end
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void printCipherSuites(ServerHelloStats& serverHelloStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:279,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:280,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:282,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:283,1
    - Dst: sslPortCount::begin
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:288,1
    - Dst: sslPortCount::end
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:288,1
    - Dst: std::sort
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:289,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:289,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:289,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:296,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - SSLGeneralStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 298
    functionName: printPorts
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - std::sort
    - std::vector::end
    - sslPortCount::begin
    - sslPortCount::end
    - std::vector::begin
    - pcpp::TablePrinter::printRow
    - std::vector::push_back
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void printPorts(SSLGeneralStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printStatsHeadline
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:306,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:307,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:307,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:308,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:308,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:309,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:309,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:310,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:310,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:311,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:311,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:312,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:312,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:313,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:313,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:314,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:314,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:315,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:315,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:316,1
    - Dst: getClientHelloStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:316,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:317,1
    - Dst: getServerHelloStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:317,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:318,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:319,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:320,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:320,1
    - Dst: printStatsHeadline
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:322,1
    - Dst: printPorts
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:323,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:323,1
    - Dst: printStatsHeadline
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:325,1
    - Dst: printVersions
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:326,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:326,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:326,1
    - Dst: printStatsHeadline
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:328,1
    - Dst: printCipherSuites
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:329,1
    - Dst: getServerHelloStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:329,1
    - Dst: printStatsHeadline
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:331,1
    - Dst: printServerNames
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:332,1
    - Dst: getClientHelloStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - ' collector'
    argTypes:
    - SSLStatsCollector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 333
    functionName: printStatsSummary
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 2
    functionsReached:
    - printPorts
    - getClientHelloStats
    - string
    - printServerNames
    - printVersions
    - printStatsHeadline
    - printCipherSuites
    - getGeneralStats
    - PRINT_STAT_LINE
    - getServerHelloStats
    linkageType: ''
    returnType: void
    signature: void printStatsSummary(SSLStatsCollector& collector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printStatsHeadline
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:340,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:341,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:341,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:342,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:342,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:343,1
    - Dst: getGeneralStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:343,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:344,1
    - Dst: getClientHelloStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:344,1
    - Dst: PRINT_STAT_LINE
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:345,1
    - Dst: getServerHelloStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' collector'
    argTypes:
    - SSLStatsCollector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 346
    functionName: printCurrentRates
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 1
    functionsReached:
    - getClientHelloStats
    - printStatsHeadline
    - getGeneralStats
    - PRINT_STAT_LINE
    - getServerHelloStats
    linkageType: ''
    returnType: void
    signature: void printCurrentRates(SSLStatsCollector& collector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool*>
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: onApplicationInterrupted
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool*>
    linkageType: ''
    returnType: void
    signature: void onApplicationInterrupted(void* cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:363,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:365,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:366,1
    - Dst: SSLStatsCollector::SSLStatsCollector
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:369,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:370,1
    - Dst: std::unique_ptr::getNextPacket
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:371,1
    - Dst: SSLStatsCollector::collectStats
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:374,1
    - Dst: printStatsSummary
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:379,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' pcapFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 383
    functionName: analyzeSSLFromPcapFile
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - SSLStatsCollector::collectStats
    - std::unique_ptr::getNextPacket
    - SSLStatsCollector::SSLStatsCollector
    - pcpp::IFileReaderDevice::tryCreateReader
    - std::unique_ptr::open
    - EXIT_WITH_ERROR
    - pcpp::RawPacket::RawPacket
    - std::unique_ptr::close
    - printStatsSummary
    linkageType: ''
    returnType: void
    signature: void analyzeSSLFromPcapFile(const std::string& pcapFileName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:392,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:393,1
    - Dst: pcpp::SSLLayer::isSSLPort
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:402,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:403,1
    - Dst: pcpp::PortFilter::PortFilter
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:403,1
    - Dst: pcpp::PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:409,1
    - Dst: pcpp::OrFilter::parseToString
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:412,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:413,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:420,1
    - Dst: pcpp::PcapFileWriterDevice::PcapFileWriterDevice
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:420,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:421,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:423,1
    - Dst: SSLStatsCollector::SSLStatsCollector
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:429,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:431,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:432,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:436,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:440,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:440,1
    - Dst: SSLStatsCollector::calcRates
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:445,1
    - Dst: printCurrentRates
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:446,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:451,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:452,1
    - Dst: SSLStatsCollector::calcRates
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:455,1
    - Dst: printStatsSummary
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:459,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:464,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - dev
    - printRatesPeriodically
    - printRatePeriod
    - ' savePacketsToFileName'
    argTypes:
    - pcpp::PcapLiveDevice*
    - bool
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 466
    functionName: analyzeSSLFromLiveTraffic
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::OrFilter::parseToString
    - std::unique_ptr::reset
    - pcpp::PcapFileWriterDevice::PcapFileWriterDevice
    - SSLStatsCollector::SSLStatsCollector
    - std::unique_ptr::get
    - EXIT_WITH_ERROR
    - SSLStatsCollector::calcRates
    - pcpp::PcapLiveDevice*::startCapture
    - pcpp::PcapLiveDevice*::stopCapture
    - pcpp::GtpV2InformationElement::getInstance
    - std::chrono::seconds
    - std::unique_ptr::open
    - std::vector::push_back
    - std::unique_ptr::close
    - std::this_thread::sleep_for
    - printCurrentRates
    - pcpp::PcapLiveDevice*::open
    - pcpp::PcapLiveDevice*::close
    - pcpp::SSLLayer::isSSLPort
    - pcpp::PcapLiveDevice*::setFilter
    - pcpp::PortFilter::PortFilter
    - printStatsSummary
    linkageType: ''
    returnType: void
    signature: "void analyzeSSLFromLiveTraffic(pcpp::PcapLiveDevice* dev, bool printRatesPeriodically,
      int printRatePeriod,\n                               const std::string& savePacketsToFileName)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:473,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:485,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:501,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:507,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:510,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:511,1
    - Dst: listInterfaces
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:514,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:517,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:518,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:524,1
    - Dst: analyzeSSLFromPcapFile
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:529,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:534,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:536,1
    - Dst: analyzeSSLFromLiveTraffic
      Src: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp:539,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 471
    functionDepth: 3
    functionLinenumber: 471
    functionLinenumberEnd: 541
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    functionUses: 0
    functionsReached:
    - exit
    - listInterfaces
    - pcpp::AppName::init
    - analyzeSSLFromLiveTraffic
    - printUsage
    - analyzeSSLFromPcapFile
    - EXIT_WITH_ERROR
    - atoi
    - getopt_long
    - printAppVersion
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - maxFiles
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: TwoTupleSplitter::TwoTupleSplitter
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TwoTupleSplitter(int maxFiles)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::hash2Tuple
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:28,1
    - Dst: find
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:31,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:31,1
    - Dst: getNextFileNumber
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:34,1
    - Dst: writingToFile
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' packet'
    - ' filesToClose'
    argTypes:
    - pcpp::Packet
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: TwoTupleSplitter::getFileNumber
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h
    functionUses: 0
    functionsReached:
    - pcpp::hash2Tuple
    - getNextFileNumber
    - writingToFile
    - end
    - find
    linkageType: ''
    returnType: int
    signature: int getFileNumber(pcpp::Packet& packet, std::vector<int>& filesToClose)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:66,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:69,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:72,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: FiveTupleSplitter::isTcpSyn
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h
    functionUses: 0
    functionsReached:
    - getLayerOfType
    - pcpp::TcpLayer*::getTcpHeader
    - isPacketOfType
    linkageType: ''
    returnType: bool
    signature: bool isTcpSyn(pcpp::Packet& packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - maxFiles
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: FiveTupleSplitter::FiveTupleSplitter
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FiveTupleSplitter(int maxFiles)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:96,1
    - Dst: find
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:99,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:99,1
    - Dst: getNextFileNumber
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:102,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:106,1
    - Dst: FiveTupleSplitter::isTcpSyn
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:108,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:113,1
    - Dst: FiveTupleSplitter::isTcpSyn
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:116,1
    - Dst: find
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:122,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:122,1
    - Dst: getNextFileNumber
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:124,1
    - Dst: writingToFile
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:130,1
    - Dst: writingToFile
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ' packet'
    - ' filesToClose'
    argTypes:
    - pcpp::Packet
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 145
    functionName: FiveTupleSplitter::getFileNumber
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h
    functionUses: 0
    functionsReached:
    - pcpp::hash5Tuple
    - getNextFileNumber
    - isPacketOfType
    - FiveTupleSplitter::isTcpSyn
    - writingToFile
    - end
    - find
    linkageType: ''
    returnType: int
    signature: int getFileNumber(pcpp::Packet& packet, std::vector<int>& filesToClose)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:150,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' sstream'
    - ' srcIp'
    - srcPort
    - ' dstIp'
    - dstPort
    argTypes:
    - std::ostringstream
    - std::string
    - uint16_t
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: FiveTupleSplitter::updateStringStream
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h
    functionUses: 0
    functionsReached:
    - hyphenIP
    linkageType: ''
    returnType: void
    signature: "void updateStringStream(std::ostringstream& sstream, const std::string&
      srcIp, uint16_t srcPort,\n\t                        const std::string& dstIp,
      uint16_t dstPort)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:161,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:161,1
    - Dst: Splitter::getFileName
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:163,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:168,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:171,1
    - Dst: pcpp::TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:174,1
    - Dst: pcpp::TcpLayer*::getDstPort
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:175,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:179,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:179,1
    - Dst: FiveTupleSplitter::updateStringStream
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:181,1
    - Dst: getSrcIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:181,1
    - Dst: getDstIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:181,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:183,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:183,1
    - Dst: FiveTupleSplitter::updateStringStream
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:186,1
    - Dst: getDstIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:186,1
    - Dst: getSrcIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:186,1
    - Dst: FiveTupleSplitter::updateStringStream
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:190,1
    - Dst: getSrcIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:190,1
    - Dst: getDstIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:190,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:192,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:195,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:198,1
    - Dst: pcpp::UdpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:203,1
    - Dst: pcpp::UdpLayer*::getDstPort
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:204,1
    - Dst: getDstIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:209,1
    - Dst: getSrcIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:209,1
    - Dst: getSrcIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:210,1
    - Dst: getDstIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:210,1
    - Dst: FiveTupleSplitter::updateStringStream
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:212,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h:213,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' packet'
    - ' outputPcapBasePath'
    - fileNumber
    argTypes:
    - pcpp::Packet
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 219
    functionName: FiveTupleSplitter::getFileName
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h
    functionUses: 0
    functionsReached:
    - Splitter::getFileName
    - isPacketOfType
    - getDstIPString
    - pcpp::UdpLayer*::getSrcPort
    - pcpp::TcpLayer*::getSrcPort
    - getLayerOfType
    - FiveTupleSplitter::updateStringStream
    - getSrcIPString
    - pcpp::TcpLayer*::getDstPort
    - std::ostringstream::str
    - pcpp::UdpLayer*::getDstPort
    - pcpp::TcpLayer*::getTcpHeader
    linkageType: ''
    returnType: std::string
    signature: std::string getFileName(pcpp::Packet& packet, const std::string& outputPcapBasePath,
      int fileNumber)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - maxPacketsPerFile
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: PacketCountSplitter::PacketCountSplitter
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketCountSplitter(int maxPacketsPerFile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' packet'
    - ' filesToClose'
    argTypes:
    - pcpp::Packet
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: PacketCountSplitter::getFileNumber
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: int
    signature: int getFileNumber(pcpp::Packet& packet, std::vector<int>& filesToClose)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' errorString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: PacketCountSplitter::isSplitterParamLegal
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSplitterParamLegal(std::string& errorString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - maxBytesPerFile
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: FileSizeSplitter::FileSizeSplitter
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileSizeSplitter(uint64_t maxBytesPerFile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRawPacket
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h:91,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' packet'
    - ' filesToClose'
    argTypes:
    - pcpp::Packet
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: FileSizeSplitter::getFileNumber
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h
    functionUses: 0
    functionsReached:
    - push_back
    - getRawPacket
    linkageType: ''
    returnType: int
    signature: int getFileNumber(pcpp::Packet& packet, std::vector<int>& filesToClose)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' errorString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: FileSizeSplitter::isSplitterParamLegal
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSplitterParamLegal(std::string& errorString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bpfFilter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: BpfCriteriaSplitter::BpfCriteriaSplitter
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BpfCriteriaSplitter(const std::string& bpfFilter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRawPacket
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h:134,1
    - Dst: matches
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h:134,1
    - Dst: getRawPacket
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' packet'
    - ' filesToClose'
    argTypes:
    - pcpp::Packet
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: BpfCriteriaSplitter::getFileNumber
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h
    functionUses: 0
    functionsReached:
    - matches
    - getRawPacket
    linkageType: ''
    returnType: int
    signature: int getFileNumber(pcpp::Packet& packet, std::vector<int>& filesToClose)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' packet'
    - ' outputPcapBasePath'
    - fileNumber
    argTypes:
    - pcpp::Packet
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: BpfCriteriaSplitter::getFileName
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getFileName(pcpp::Packet& packet, const std::string& outputPcapBasePath,
      int fileNumber)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BPFStringFilter::verifyFilter
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' errorString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 168
    functionName: BpfCriteriaSplitter::isSplitterParamLegal
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h
    functionUses: 0
    functionsReached:
    - pcpp::BPFStringFilter::verifyFilter
    linkageType: ''
    returnType: bool
    signature: bool isSplitterParamLegal(std::string& errorString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - numOfFiles
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: RoundRobinSplitter::RoundRobinSplitter
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RoundRobinSplitter(int numOfFiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextFileNumber
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' packet'
    - ' filesToClose'
    argTypes:
    - pcpp::Packet
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: RoundRobinSplitter::getFileNumber
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h
    functionUses: 0
    functionsReached:
    - getNextFileNumber
    linkageType: ''
    returnType: int
    signature: int getFileNumber(pcpp::Packet& packet, std::vector<int>& filesToClose)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' errorString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: RoundRobinSplitter::isSplitterParamLegal
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSplitterParamLegal(std::string& errorString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - maxFiles
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: IPPortSplitter::IPPortSplitter
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPPortSplitter(int maxFiles)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:30,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:30,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:36,1
    - Dst: find
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:38,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:38,1
    - Dst: writingToFile
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:40,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:48,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:51,1
    - Dst: pcpp::TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:54,1
    - Dst: pcpp::TcpLayer*::getDstPort
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:55,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:57,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:60,1
    - Dst: getFileNumberForValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:63,1
    - Dst: getValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:63,1
    - Dst: getFileNumberForValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:70,1
    - Dst: getValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:70,1
    - Dst: getFileNumberForValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:78,1
    - Dst: getValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:78,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:84,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:87,1
    - Dst: pcpp::UdpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:90,1
    - Dst: pcpp::UdpLayer*::getDstPort
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:91,1
    - Dst: getFileNumberForValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:92,1
    - Dst: getValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:92,1
    - Dst: writingToFile
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - ' packet'
    - ' filesToClose'
    argTypes:
    - pcpp::Packet
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 100
    functionName: IPPortSplitter::getFileNumber
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached:
    - pcpp::hash5Tuple
    - isPacketOfType
    - writingToFile
    - end
    - getFileNumberForValue
    - pcpp::UdpLayer*::getSrcPort
    - pcpp::TcpLayer*::getSrcPort
    - getLayerOfType
    - getValue
    - find
    - pcpp::TcpLayer*::getDstPort
    - pcpp::UdpLayer*::getDstPort
    - pcpp::TcpLayer*::getTcpHeader
    linkageType: ''
    returnType: int
    signature: int getFileNumber(pcpp::Packet& packet, std::vector<int>& filesToClose)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:111,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:111,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:116,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:119,1
    - Dst: pcpp::TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:122,1
    - Dst: pcpp::TcpLayer*::getDstPort
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:123,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:125,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:128,1
    - Dst: getValueString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:130,1
    - Dst: getValueString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:135,1
    - Dst: getValueString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:141,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:146,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:149,1
    - Dst: pcpp::UdpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:152,1
    - Dst: pcpp::UdpLayer*::getDstPort
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:153,1
    - Dst: getValueString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - ' packet'
    - ' outputPcapBasePath'
    - fileNumber
    argTypes:
    - pcpp::Packet
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 160
    functionName: IPPortSplitter::getFileName
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached:
    - isPacketOfType
    - pcpp::UdpLayer*::getSrcPort
    - pcpp::TcpLayer*::getSrcPort
    - getLayerOfType
    - pcpp::TcpLayer*::getDstPort
    - getValueString
    - pcpp::UdpLayer*::getDstPort
    - pcpp::TcpLayer*::getTcpHeader
    linkageType: ''
    returnType: std::string
    signature: std::string getFileName(pcpp::Packet& packet, const std::string& outputPcapBasePath,
      int fileNumber)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:196,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:197,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:198,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:199,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 202
    functionName: IPPortSplitter::getSrcIPValue
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached:
    - getLayerOfType
    - isPacketOfType
    - pcpp::fnvHash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getSrcIPValue(pcpp::Packet& packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:209,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:210,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:211,1
    - Dst: pcpp::fnvHash
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:212,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: IPPortSplitter::getDstIPValue
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached:
    - getLayerOfType
    - isPacketOfType
    - pcpp::fnvHash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getDstIPValue(pcpp::Packet& packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:222,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: IPPortSplitter::isSrcIPMulticast
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached:
    - getLayerOfType
    - isPacketOfType
    linkageType: ''
    returnType: bool
    signature: bool isSrcIPMulticast(pcpp::Packet& packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:232,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: IPPortSplitter::isDstIPMulticast
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached:
    - getLayerOfType
    - isPacketOfType
    linkageType: ''
    returnType: bool
    signature: bool isDstIPMulticast(pcpp::Packet& packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - maxFiles
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: ClientIPSplitter::ClientIPSplitter
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClientIPSplitter(int maxFiles)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getSrcIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:267,1
    - Dst: getDstIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:269,1
    - Dst: isSrcIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:271,1
    - Dst: getSrcIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:272,1
    - Dst: isDstIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:273,1
    - Dst: getDstIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:274,1
    - Dst: getSrcIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:276,1
    - Dst: getDstIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:276,1
    - Dst: getSrcIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:280,1
    - Dst: getDstIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ' packet'
    - packetType
    - srcPort
    - dstPort
    argTypes:
    - pcpp::Packet
    - PacketType
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 284
    functionName: ClientIPSplitter::getValue
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached:
    - isSrcIPMulticast
    - getSrcIPValue
    - getDstIPValue
    - isDstIPMulticast
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getValue(pcpp::Packet& packet, PacketType packetType, uint16_t
      srcPort, uint16_t dstPort)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:293,1
    - Dst: getSrcIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:293,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:295,1
    - Dst: getDstIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:295,1
    - Dst: isSrcIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:297,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:298,1
    - Dst: getSrcIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:298,1
    - Dst: isDstIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:299,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:300,1
    - Dst: getDstIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:300,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:302,1
    - Dst: getSrcIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:302,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:303,1
    - Dst: getDstIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:303,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:307,1
    - Dst: getSrcIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:307,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:309,1
    - Dst: getDstIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ' packet'
    - packetType
    - srcPort
    - dstPort
    argTypes:
    - pcpp::Packet
    - PacketType
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 311
    functionName: ClientIPSplitter::getValueString
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached:
    - getDstIPString
    - hyphenIP
    - getSrcIPString
    - isSrcIPMulticast
    - isDstIPMulticast
    linkageType: ''
    returnType: std::string
    signature: std::string getValueString(pcpp::Packet& packet, PacketType packetType,
      uint16_t srcPort, uint16_t dstPort)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - maxFiles
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: ServerIPSplitter::ServerIPSplitter
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServerIPSplitter(int maxFiles)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getDstIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:343,1
    - Dst: getSrcIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:345,1
    - Dst: isSrcIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:347,1
    - Dst: getDstIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:348,1
    - Dst: isDstIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:349,1
    - Dst: getSrcIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:350,1
    - Dst: getDstIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:352,1
    - Dst: getSrcIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:352,1
    - Dst: getDstIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:356,1
    - Dst: getSrcIPValue
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ' packet'
    - packetType
    - srcPort
    - dstPort
    argTypes:
    - pcpp::Packet
    - PacketType
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 360
    functionName: ServerIPSplitter::getValue
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached:
    - isSrcIPMulticast
    - getSrcIPValue
    - getDstIPValue
    - isDstIPMulticast
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getValue(pcpp::Packet& packet, PacketType packetType, uint16_t
      srcPort, uint16_t dstPort)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:369,1
    - Dst: getDstIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:369,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:371,1
    - Dst: getSrcIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:371,1
    - Dst: isSrcIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:373,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:374,1
    - Dst: getDstIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:374,1
    - Dst: isDstIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:375,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:376,1
    - Dst: getSrcIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:376,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:378,1
    - Dst: getDstIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:378,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:379,1
    - Dst: getSrcIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:379,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:383,1
    - Dst: getDstIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:383,1
    - Dst: hyphenIP
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:385,1
    - Dst: getSrcIPString
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ' packet'
    - packetType
    - srcPort
    - dstPort
    argTypes:
    - pcpp::Packet
    - PacketType
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 387
    functionName: ServerIPSplitter::getValueString
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached:
    - getDstIPString
    - hyphenIP
    - getSrcIPString
    - isSrcIPMulticast
    - isDstIPMulticast
    linkageType: ''
    returnType: std::string
    signature: std::string getValueString(pcpp::Packet& packet, PacketType packetType,
      uint16_t srcPort, uint16_t dstPort)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - maxFiles
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 408
    functionName: ServerPortSplitter::ServerPortSplitter
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServerPortSplitter(int maxFiles)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isSrcIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:424,1
    - Dst: isDstIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:426,1
    - Dst: std::min<uint16_t>
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:429,1
    - Dst: std::min<uint16_t>
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ' packet'
    - packetType
    - srcPort
    - dstPort
    argTypes:
    - pcpp::Packet
    - PacketType
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 434
    functionName: ServerPortSplitter::getValue
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached:
    - std::min<uint16_t>
    - isSrcIPMulticast
    - isDstIPMulticast
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getValue(pcpp::Packet& packet, PacketType packetType, uint16_t
      srcPort, uint16_t dstPort)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isSrcIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:450,1
    - Dst: isDstIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:452,1
    - Dst: std::min<uint16_t>
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:455,1
    - Dst: std::min<uint16_t>
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:459,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:465,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - ' packet'
    - packetType
    - srcPort
    - dstPort
    argTypes:
    - pcpp::Packet
    - PacketType
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 466
    functionName: ServerPortSplitter::getValueString
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached:
    - std::min<uint16_t>
    - isSrcIPMulticast
    - std::ostringstream::str
    - isDstIPMulticast
    linkageType: ''
    returnType: std::string
    signature: std::string getValueString(pcpp::Packet& packet, PacketType packetType,
      uint16_t srcPort, uint16_t dstPort)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - maxFiles
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 487
    functionName: ClientPortSplitter::ClientPortSplitter
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClientPortSplitter(int maxFiles)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isSrcIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:503,1
    - Dst: isDstIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:505,1
    - Dst: std::max<uint16_t>
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:508,1
    - Dst: std::max<uint16_t>
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ' packet'
    - packetType
    - srcPort
    - dstPort
    argTypes:
    - pcpp::Packet
    - PacketType
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 513
    functionName: ClientPortSplitter::getValue
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached:
    - isSrcIPMulticast
    - isDstIPMulticast
    - std::max<uint16_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getValue(pcpp::Packet& packet, PacketType packetType, uint16_t
      srcPort, uint16_t dstPort)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isSrcIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:529,1
    - Dst: isDstIPMulticast
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:531,1
    - Dst: std::max<uint16_t>
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:534,1
    - Dst: std::max<uint16_t>
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:538,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h:544,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - ' packet'
    - packetType
    - srcPort
    - dstPort
    argTypes:
    - pcpp::Packet
    - PacketType
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 545
    functionName: ClientPortSplitter::getValueString
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - isSrcIPMulticast
    - isDstIPMulticast
    - std::max<uint16_t>
    linkageType: ''
    returnType: std::string
    signature: std::string getValueString(pcpp::Packet& packet, PacketType packetType,
      uint16_t srcPort, uint16_t dstPort)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 170
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
    functionUses: 3
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:177,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:177,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:178,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:179,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
    functionUses: 3
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:194,1
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:194,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:198,1
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:198,1
    - Dst: std::string::rfind
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:201,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:201,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:203,1
    - Dst: rfind
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:211,1
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:211,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 220
    functionName: getFileNameWithoutExtension
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - length
    - substr
    - std::string::substr
    - std::string::rfind
    - rfind
    linkageType: ''
    returnType: std::string
    signature: std::string getFileNameWithoutExtension(const std::string& path)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:227,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:237,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:244,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:260,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:267,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:268,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:270,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:273,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:274,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:280,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:285,1
    - Dst: pcpp::directoryExists
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:288,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:290,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:295,1
    - Dst: strtoull
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:303,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:304,1
    - Dst: FileSizeSplitter::FileSizeSplitter
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:304,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:308,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:309,1
    - Dst: PacketCountSplitter::PacketCountSplitter
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:309,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:313,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:314,1
    - Dst: ClientIPSplitter::ClientIPSplitter
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:314,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:318,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:319,1
    - Dst: ServerIPSplitter::ServerIPSplitter
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:319,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:323,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:324,1
    - Dst: ServerPortSplitter::ServerPortSplitter
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:324,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:328,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:329,1
    - Dst: ClientPortSplitter::ClientPortSplitter
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:329,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:333,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:334,1
    - Dst: TwoTupleSplitter::TwoTupleSplitter
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:334,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:338,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:339,1
    - Dst: FiveTupleSplitter::FiveTupleSplitter
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:339,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:343,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:343,1
    - Dst: BpfCriteriaSplitter::BpfCriteriaSplitter
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:343,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:347,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:348,1
    - Dst: RoundRobinSplitter::RoundRobinSplitter
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:348,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:352,1
    - Dst: std::unique_ptr::isSplitterParamLegal
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:357,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:359,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:364,1
    - Dst: getFileNameWithoutExtension
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:364,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:367,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:368,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:370,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:373,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:373,1
    - Dst: std::unique_ptr::setFilter
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:378,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:379,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:389,1
    - Dst: std::unique_ptr::getNextPacket
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:395,1
    - Dst: std::unique_ptr::getFileNumber
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:403,1
    - Dst: std::unordered_map::find
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:406,1
    - Dst: std::unordered_map::end
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:406,1
    - Dst: std::unique_ptr::getFileName
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:410,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:416,1
    - Dst: pcpp::PcapNgFileWriterDevice::PcapNgFileWriterDevice
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:416,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:421,1
    - Dst: pcpp::RawPacket::getLinkLayerType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:421,1
    - Dst: pcpp::PcapFileWriterDevice::PcapFileWriterDevice
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:421,1
    - Dst: open
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:425,1
    - Dst: std::unique_ptr::getFileName
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:437,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:443,1
    - Dst: pcpp::PcapNgFileWriterDevice::PcapNgFileWriterDevice
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:443,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:448,1
    - Dst: pcpp::RawPacket::getLinkLayerType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:448,1
    - Dst: pcpp::PcapFileWriterDevice::PcapFileWriterDevice
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:448,1
    - Dst: open
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:452,1
    - Dst: writePacket
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:457,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:457,1
    - Dst: std::unordered_map::find
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:463,1
    - Dst: std::unordered_map::end
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:463,1
    - Dst: close
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:466,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:469,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:480,1
    - Dst: second::close
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp:487,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 124
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 492
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::reset
    - getFileNameWithoutExtension
    - pcpp::PcapFileWriterDevice::PcapFileWriterDevice
    - close
    - second::close
    - ServerIPSplitter::ServerIPSplitter
    - std::unique_ptr::get
    - printUsage
    - ClientPortSplitter::ClientPortSplitter
    - pcpp::IFileReaderDevice::tryCreateReader
    - EXIT_WITH_ERROR
    - pcpp::RawPacket::RawPacket
    - std::unique_ptr::getFileName
    - std::unique_ptr::getFileNumber
    - std::unique_ptr::isSplitterParamLegal
    - pcpp::AppName::init
    - open
    - string
    - pcpp::RawPacket::getLinkLayerType
    - std::unique_ptr::open
    - pcpp::PcapNgFileWriterDevice::PcapNgFileWriterDevice
    - std::unordered_map::end
    - dynamic_cast<pcpp::PcapNgFileReaderDevice*>
    - ClientIPSplitter::ClientIPSplitter
    - PacketCountSplitter::PacketCountSplitter
    - std::unique_ptr::close
    - std::unique_ptr::getNextPacket
    - ServerPortSplitter::ServerPortSplitter
    - reset
    - std::unordered_map::find
    - pcpp::directoryExists
    - RoundRobinSplitter::RoundRobinSplitter
    - getopt_long
    - FileSizeSplitter::FileSizeSplitter
    - memset
    - exit
    - pcpp::Packet::getRawPacket
    - TwoTupleSplitter::TwoTupleSplitter
    - writePacket
    - BpfCriteriaSplitter::BpfCriteriaSplitter
    - strncpy
    - std::unique_ptr::setFilter
    - atoi
    - FiveTupleSplitter::FiveTupleSplitter
    - printAppVersion
    - strtoull
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:47,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:47,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:48,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' packet'
    - ' outputPcapBasePath'
    - fileNumber
    argTypes:
    - pcpp::Packet
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: Splitter::getFileName
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h
    functionUses: 1
    functionsReached:
    - std::setfill
    - std::ostringstream::str
    - std::setw
    - c_str
    linkageType: ''
    returnType: std::string
    signature: std::string getFileName(pcpp::Packet& packet, const std::string& outputPcapBasePath,
      int fileNumber)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: ~Splitter()
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Splitter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: put
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:87,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - fileNum
    - ' filesToClose'
    argTypes:
    - int
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: SplitterWithMaxFiles::writingToFile
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h
    functionUses: 0
    functionsReached:
    - push_back
    - put
    linkageType: ''
    returnType: void
    signature: void writingToFile(int fileNum, std::vector<int>& filesToClose)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: put
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:113,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' filesToClose'
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 119
    functionName: SplitterWithMaxFiles::getNextFileNumber
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h
    functionUses: 0
    functionsReached:
    - push_back
    - put
    linkageType: ''
    returnType: int
    signature: int getNextFileNumber(std::vector<int>& filesToClose)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - maxFiles
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: SplitterWithMaxFiles::SplitterWithMaxFiles
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SplitterWithMaxFiles(int maxFiles, int firstFileNumber = 0)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' errorString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: SplitterWithMaxFiles::isSplitterParamLegal
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isSplitterParamLegal(std::string& errorString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - maxFiles
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: ValueBasedSplitter::ValueBasedSplitter
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ValueBasedSplitter(int maxFiles)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:183,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:183,1
    - Dst: getNextFileNumber
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - ' filesToClose'
    argTypes:
    - uint32_t
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: ValueBasedSplitter::getFileNumberForValue
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h
    functionUses: 0
    functionsReached:
    - end
    - find
    - getNextFileNumber
    linkageType: ''
    returnType: int
    signature: int getFileNumberForValue(uint32_t value, std::vector<int>& filesToClose)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:201,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: getSrcIPString
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h
    functionUses: 3
    functionsReached:
    - getLayerOfType
    - isPacketOfType
    linkageType: ''
    returnType: std::string
    signature: std::string getSrcIPString(pcpp::Packet& packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:211,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: getDstIPString
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h
    functionUses: 3
    functionsReached:
    - getLayerOfType
    - isPacketOfType
    linkageType: ''
    returnType: std::string
    signature: std::string getDstIPString(pcpp::Packet& packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:222,1
    - Dst: std::string::replace
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:225,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:226,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:230,1
    - Dst: std::string::replace
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:233,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ipVal
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 238
    functionName: hyphenIP
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h
    functionUses: 3
    functionsReached:
    - std::string::replace
    - std::string::find
    linkageType: ''
    returnType: std::string
    signature: std::string hyphenIP(std::string ipVal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: operator int() const
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator int() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:85,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:85,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:86,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:87,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 4
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 4
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:130,1
    - Dst: std::strtoul
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:146,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:149,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:153,1
    - Dst: std::exit
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:154,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:159,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:160,1
    - Dst: kniName::empty
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:166,1
    - Dst: kniIp::empty
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:168,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:170,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:171,1
    - Dst: outIp::empty
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:173,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:175,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:176,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:179,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:180,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:183,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:187,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:191,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:195,1
    - Dst: pcpp::IPv4Address::matchNetwork
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:198,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:198,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:200,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - argc
    - argv
    - ' args'
    argTypes:
    - int
    - char*[]
    - KniPongArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 203
    functionName: parseArgs
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - exit
    - pcpp::IPv4Network::IPv4Network
    - kniName::empty
    - std::exit
    - pcpp::SdpLayer::getOwnerIPv4Address
    - printUsage
    - EXIT_WITH_ERROR
    - pcpp::IPv4Address::matchNetwork
    - pcpp::IPv4Address::IPv4Address
    - getopt_long
    - printAppVersion
    - std::strtoul
    - kniIp::empty
    - outIp::empty
    linkageType: ''
    returnType: void
    signature: void parseArgs(int argc, char* argv[], KniPongArgs& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: changeMtuNew
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int changeMtuNew(uint16_t, unsigned int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: changeMtuOld
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int changeMtuOld(uint8_t, unsigned int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: configNetworkIfNew
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int configNetworkIfNew(uint16_t, uint8_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: configNetworkIfOld
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int configNetworkIfOld(uint8_t, uint8_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: configMacAddress
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int configMacAddress(uint16_t, uint8_t[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: configPromiscusity
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int configPromiscusity(uint16_t, uint8_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: setCallbacks
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCallbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::executeShellCommand
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:258,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:258,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:259,1
    - Dst: pcpp::executeShellCommand
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:263,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' ip'
    - ' kniName'
    argTypes:
    - pcpp::IPv4Address
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 270
    functionName: setKniIp
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - pcpp::executeShellCommand
    linkageType: ''
    returnType: bool
    signature: bool setKniIp(const pcpp::IPv4Address& ip, const std::string& kniName)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDeviceList::initDpdk
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:280,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:282,1
    - Dst: setCallbacks
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:289,1
    - Dst: pcpp::KniDeviceList::callbackVersion
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:290,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:299,1
    - Dst: isInitialized
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:300,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:301,1
    - Dst: createDevice
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:302,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:304,1
    - Dst: pcpp::KniDevice*::isInitialized
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:306,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:307,1
    - Dst: pcpp::KniDevice*::open
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:308,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:309,1
    - Dst: pcpp::KniDevice*::startRequestHandlerThread
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:310,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:311,1
    - Dst: setKniIp
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:313,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:314,1
    - Dst: pcpp::KniDevice*::setLinkState
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:316,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - KniPongArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 319
    functionName: setupKniDevice
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDeviceList::initDpdk
    - setKniIp
    - setCallbacks
    - EXIT_WITH_ERROR
    - isInitialized
    - pcpp::KniDevice*::isInitialized
    - pcpp::KniDevice*::open
    - createDevice
    - pcpp::KniDeviceList::callbackVersion
    - pcpp::KniDevice*::setLinkState
    - pcpp::KniDevice*::startRequestHandlerThread
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: pcpp::KniDevice
    signature: pcpp::KniDevice * setupKniDevice(const KniPongArgs& args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:331,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:334,1
    - Dst: std::strerror
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:334,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:338,1
    - Dst: inet_addr
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:340,1
    - Dst: kniIp::c_str
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:340,1
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:341,1
    - Dst: bind
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:342,1
    - Dst: close
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:345,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:346,1
    - Dst: std::strerror
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - KniPongArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 350
    functionName: setupLinuxSocket
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::hostToNet16
    - close
    - std::strerror
    - socket
    - bind
    - std::memset
    - EXIT_WITH_ERROR
    - inet_addr
    - kniIp::c_str
    linkageType: ''
    returnType: LinuxSocket
    signature: LinuxSocket setupLinuxSocket(const KniPongArgs& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ArpLayer*::getArpHeader
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:360,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:362,1
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:364,1
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:367,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:368,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:369,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:370,1
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:372,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:374,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:377,1
    - Dst: pcpp::EthLayer*::getEthHeader
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:379,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:380,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:381,1
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:382,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' packet'
    - arpLayer
    argTypes:
    - pcpp::Packet
    - pcpp::ArpLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 385
    functionName: processArp
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::hostToNet16
    - pcpp::ArpLayer*::getArpHeader
    - pcpp::MacAddress::copyTo
    - getLayerOfType
    - pcpp::EthLayer*::getEthHeader
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void processArp(pcpp::Packet& packet, pcpp::ArpLayer* arpLayer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:396,1
    - Dst: pcpp::EthLayer*::getEthHeader
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:398,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:399,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:401,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:402,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:403,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:405,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:409,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:410,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:411,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:414,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:415,1
    - Dst: std::rand
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:417,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:420,1
    - Dst: pcpp::UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:423,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:424,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:426,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:427,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:428,1
    - Dst: computeCalculateFields
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - ' packet'
    - udpLayer
    argTypes:
    - pcpp::Packet
    - pcpp::UdpLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 434
    functionName: processUdp
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::UdpLayer*::getUdpHeader
    - pcpp::netToHost16
    - std::rand
    - getLayerOfType
    - pcpp::EthLayer*::getEthHeader
    - pcpp::IPv4Layer*::getIPv4Header
    - computeCalculateFields
    - std::memcpy
    linkageType: ''
    returnType: bool
    signature: bool processUdp(pcpp::Packet& packet, pcpp::UdpLayer* udpLayer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:442,1
    - Dst: pcpp::Packet::setRawPacket
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:449,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:450,1
    - Dst: processArp
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:453,1
    - Dst: pcpp::KniDevice*::sendPacket
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:455,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:461,1
    - Dst: processUdp
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:465,1
    - Dst: pcpp::KniDevice*::sendPacket
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:465,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - packets
    - numOfPackets
    - kni
    - cookie
    argTypes:
    - pcpp::MBufRawPacket[]
    - uint32_t
    - pcpp::KniDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 475
    functionName: processBurst
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::getLayerOfType
    - processArp
    - pcpp::Packet::setRawPacket
    - processUdp
    - pcpp::Packet::Packet
    - pcpp::KniDevice*::sendPacket
    linkageType: ''
    returnType: bool
    signature: bool processBurst(pcpp::MBufRawPacket packets[], uint32_t numOfPackets,
      pcpp::KniDevice* kni, void* cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:483,1
    - Dst: inet_addr
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:485,1
    - Dst: outIp::c_str
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:485,1
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:486,1
    - Dst: connect
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:487,1
    - Dst: close
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:490,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:491,1
    - Dst: std::strerror
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' sock'
    - ' args'
    argTypes:
    - LinuxSocket
    - KniPongArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 493
    functionName: connectUDPSocket
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::hostToNet16
    - close
    - std::strerror
    - std::memset
    - EXIT_WITH_ERROR
    - inet_addr
    - connect
    - outIp::c_str
    linkageType: ''
    returnType: void
    signature: void connectUDPSocket(const LinuxSocket& sock, const KniPongArgs& args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:503,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - buff
    - ' buffPos'
    argTypes:
    - linuxFd
    - unsigned char[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 510
    functionName: fillbuf
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t fillbuf(linuxFd fd, unsigned char buff[], size_t& buffPos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:520,1
    - Dst: std::memmove
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - buff
    - ' buffPos'
    argTypes:
    - linuxFd
    - unsigned char[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 531
    functionName: drainbuf
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - std::memmove
    - write
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t drainbuf(linuxFd fd, unsigned char buff[], size_t& buffPos)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:582,1
    - Dst: close
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:590,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:591,1
    - Dst: std::strerror
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:591,1
    - Dst: shutdown
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:636,1
    - Dst: fillbuf
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:643,1
    - Dst: drainbuf
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:658,1
    - Dst: fillbuf
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:673,1
    - Dst: shutdown
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:681,1
    - Dst: drainbuf
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:694,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 103
    argCount: 1
    argNames:
    - ' sock'
    argTypes:
    - LinuxSocket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 718
    functionName: pingPongProcess
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - close
    - std::strerror
    - shutdown
    - poll
    - fillbuf
    - EXIT_WITH_ERROR
    - drainbuf
    linkageType: ''
    returnType: void
    signature: void pingPongProcess(const LinuxSocket& sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: operator int() const
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator int() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:85,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:85,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:86,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:87,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 5
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 5
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:130,1
    - Dst: std::strtoul
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:146,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:149,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:153,1
    - Dst: std::exit
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:154,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:159,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:160,1
    - Dst: kniName::empty
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:166,1
    - Dst: kniIp::empty
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:168,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:170,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:171,1
    - Dst: outIp::empty
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:173,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:175,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:176,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:179,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:180,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:183,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:187,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:191,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:195,1
    - Dst: pcpp::IPv4Address::matchNetwork
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:198,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:198,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:200,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - argc
    - argv
    - ' args'
    argTypes:
    - int
    - char*[]
    - KniPongArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 203
    functionName: parseArgs
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - exit
    - pcpp::IPv4Network::IPv4Network
    - kniName::empty
    - std::exit
    - pcpp::SdpLayer::getOwnerIPv4Address
    - printUsage
    - EXIT_WITH_ERROR
    - pcpp::IPv4Address::matchNetwork
    - pcpp::IPv4Address::IPv4Address
    - getopt_long
    - printAppVersion
    - std::strtoul
    - kniIp::empty
    - outIp::empty
    linkageType: ''
    returnType: void
    signature: void parseArgs(int argc, char* argv[], KniPongArgs& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: changeMtuNew
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int changeMtuNew(uint16_t, unsigned int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: changeMtuOld
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int changeMtuOld(uint8_t, unsigned int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: configNetworkIfNew
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int configNetworkIfNew(uint16_t, uint8_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: configNetworkIfOld
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int configNetworkIfOld(uint8_t, uint8_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: configMacAddress
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int configMacAddress(uint16_t, uint8_t[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: configPromiscusity
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int configPromiscusity(uint16_t, uint8_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: setCallbacks
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCallbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::executeShellCommand
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:258,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:258,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:259,1
    - Dst: pcpp::executeShellCommand
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:263,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' ip'
    - ' kniName'
    argTypes:
    - pcpp::IPv4Address
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 270
    functionName: setKniIp
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 1
    functionsReached:
    - std::ostringstream::str
    - pcpp::executeShellCommand
    linkageType: ''
    returnType: bool
    signature: bool setKniIp(const pcpp::IPv4Address& ip, const std::string& kniName)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDeviceList::initDpdk
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:280,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:282,1
    - Dst: setCallbacks
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:289,1
    - Dst: pcpp::KniDeviceList::callbackVersion
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:290,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:299,1
    - Dst: isInitialized
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:300,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:301,1
    - Dst: createDevice
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:302,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:304,1
    - Dst: pcpp::KniDevice*::isInitialized
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:306,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:307,1
    - Dst: pcpp::KniDevice*::open
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:308,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:309,1
    - Dst: pcpp::KniDevice*::startRequestHandlerThread
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:310,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:311,1
    - Dst: setKniIp
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:313,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:314,1
    - Dst: pcpp::KniDevice*::setLinkState
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:316,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:317,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - KniPongArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 319
    functionName: setupKniDevice
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDeviceList::initDpdk
    - setKniIp
    - setCallbacks
    - EXIT_WITH_ERROR
    - isInitialized
    - pcpp::KniDevice*::isInitialized
    - pcpp::KniDevice*::open
    - createDevice
    - pcpp::KniDeviceList::callbackVersion
    - pcpp::KniDevice*::setLinkState
    - pcpp::KniDevice*::startRequestHandlerThread
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: pcpp::KniDevice
    signature: pcpp::KniDevice * setupKniDevice(const KniPongArgs& args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:331,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:334,1
    - Dst: std::strerror
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:334,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:338,1
    - Dst: inet_addr
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:340,1
    - Dst: kniIp::c_str
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:340,1
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:341,1
    - Dst: bind
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:342,1
    - Dst: close
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:345,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:346,1
    - Dst: std::strerror
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' args'
    argTypes:
    - KniPongArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 350
    functionName: setupLinuxSocket
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::hostToNet16
    - close
    - std::strerror
    - socket
    - bind
    - std::memset
    - EXIT_WITH_ERROR
    - inet_addr
    - kniIp::c_str
    linkageType: ''
    returnType: LinuxSocket
    signature: LinuxSocket setupLinuxSocket(const KniPongArgs& args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::ArpLayer*::getArpHeader
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:360,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:362,1
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:364,1
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:367,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:368,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:369,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:370,1
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:372,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:374,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:377,1
    - Dst: pcpp::EthLayer*::getEthHeader
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:379,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:380,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:381,1
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:382,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' packet'
    - arpLayer
    argTypes:
    - pcpp::Packet
    - pcpp::ArpLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 385
    functionName: processArp
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 1
    functionsReached:
    - pcpp::hostToNet16
    - pcpp::ArpLayer*::getArpHeader
    - pcpp::MacAddress::copyTo
    - getLayerOfType
    - pcpp::EthLayer*::getEthHeader
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void processArp(pcpp::Packet& packet, pcpp::ArpLayer* arpLayer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:396,1
    - Dst: pcpp::EthLayer*::getEthHeader
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:398,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:399,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:401,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:402,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:403,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:405,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:409,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:410,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:411,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:414,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:415,1
    - Dst: std::rand
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:417,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:420,1
    - Dst: pcpp::UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:423,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:424,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:426,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:427,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:428,1
    - Dst: computeCalculateFields
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - ' packet'
    - udpLayer
    argTypes:
    - pcpp::Packet
    - pcpp::UdpLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 434
    functionName: processUdp
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 1
    functionsReached:
    - pcpp::UdpLayer*::getUdpHeader
    - pcpp::netToHost16
    - std::rand
    - getLayerOfType
    - pcpp::EthLayer*::getEthHeader
    - pcpp::IPv4Layer*::getIPv4Header
    - computeCalculateFields
    - std::memcpy
    linkageType: ''
    returnType: bool
    signature: bool processUdp(pcpp::Packet& packet, pcpp::UdpLayer* udpLayer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:442,1
    - Dst: pcpp::Packet::setRawPacket
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:449,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:450,1
    - Dst: processArp
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:453,1
    - Dst: pcpp::KniDevice*::sendPacket
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:455,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:461,1
    - Dst: processUdp
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:465,1
    - Dst: pcpp::KniDevice*::sendPacket
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:465,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - packets
    - numOfPackets
    - kni
    - cookie
    argTypes:
    - pcpp::MBufRawPacket[]
    - uint32_t
    - pcpp::KniDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 475
    functionName: processBurst
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::getLayerOfType
    - processArp
    - pcpp::Packet::setRawPacket
    - processUdp
    - pcpp::Packet::Packet
    - pcpp::KniDevice*::sendPacket
    linkageType: ''
    returnType: bool
    signature: bool processBurst(pcpp::MBufRawPacket packets[], uint32_t numOfPackets,
      pcpp::KniDevice* kni, void* cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:483,1
    - Dst: inet_addr
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:485,1
    - Dst: outIp::c_str
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:485,1
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:486,1
    - Dst: connect
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:487,1
    - Dst: close
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:490,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:491,1
    - Dst: std::strerror
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' sock'
    - ' args'
    argTypes:
    - LinuxSocket
    - KniPongArgs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 493
    functionName: connectUDPSocket
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::hostToNet16
    - close
    - std::strerror
    - std::memset
    - EXIT_WITH_ERROR
    - inet_addr
    - connect
    - outIp::c_str
    linkageType: ''
    returnType: void
    signature: void connectUDPSocket(const LinuxSocket& sock, const KniPongArgs& args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:503,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - buff
    - ' buffPos'
    argTypes:
    - linuxFd
    - unsigned char[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 510
    functionName: fillbuf
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 1
    functionsReached:
    - read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t fillbuf(linuxFd fd, unsigned char buff[], size_t& buffPos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:520,1
    - Dst: std::memmove
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - buff
    - ' buffPos'
    argTypes:
    - linuxFd
    - unsigned char[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 531
    functionName: drainbuf
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 1
    functionsReached:
    - std::memmove
    - write
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t drainbuf(linuxFd fd, unsigned char buff[], size_t& buffPos)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:582,1
    - Dst: close
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:590,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:591,1
    - Dst: std::strerror
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:591,1
    - Dst: shutdown
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:636,1
    - Dst: fillbuf
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:643,1
    - Dst: drainbuf
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:658,1
    - Dst: fillbuf
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:673,1
    - Dst: shutdown
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:681,1
    - Dst: drainbuf
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:694,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 103
    argCount: 1
    argNames:
    - ' sock'
    argTypes:
    - LinuxSocket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 718
    functionName: pingPongProcess
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - close
    - std::strerror
    - shutdown
    - poll
    - fillbuf
    - EXIT_WITH_ERROR
    - drainbuf
    linkageType: ''
    returnType: void
    signature: void pingPongProcess(const LinuxSocket& sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: signal_handler
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void signal_handler(int)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:733,1
    - Dst: std::srand
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:735,1
    - Dst: std::time
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:735,1
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:736,1
    - Dst: parseArgs
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:737,1
    - Dst: setupKniDevice
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:738,1
    - Dst: setupLinuxSocket
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:739,1
    - Dst: pcpp::KniDevice*::startCapture
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:740,1
    - Dst: close
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:742,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:743,1
    - Dst: connectUDPSocket
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:745,1
    - Dst: std::signal
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:746,1
    - Dst: pingPongProcess
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:748,1
    - Dst: close
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:750,1
    - Dst: pcpp::KniDevice*::stopCapture
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:751,1
    - Dst: pcpp::KniDevice*::close
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:752,1
    - Dst: pcpp::KniDevice*::stopRequestHandlerThread
      Src: /src/PcapPlusPlus/Examples/KniPong/main.cpp:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 730
    functionDepth: 3
    functionLinenumber: 730
    functionLinenumberEnd: 764
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    functionUses: 0
    functionsReached:
    - pingPongProcess
    - pcpp::AppName::init
    - std::time
    - close
    - std::srand
    - pcpp::KniDevice*::stopCapture
    - connectUDPSocket
    - parseArgs
    - pcpp::KniDevice*::startCapture
    - setupLinuxSocket
    - std::memset
    - EXIT_WITH_ERROR
    - pcpp::KniDevice*::close
    - setupKniDevice
    - std::signal
    - pcpp::KniDevice*::stopRequestHandlerThread
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 17
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 60
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp
    functionUses: 6
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:67,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:67,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:68,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:69,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp
    functionUses: 6
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:79,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:84,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:84,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: listInterfaces
    functionSourceFile: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp
    functionUses: 3
    functionsReached:
    - getName
    - getIPv4Address
    - exit
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void listInterfaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auto::close
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: onApplicationInterrupted
    functionSourceFile: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp
    functionUses: 0
    functionsReached:
    - auto::close
    linkageType: ''
    returnType: void
    signature: void onApplicationInterrupted(void* cookie)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:104,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:110,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:111,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:117,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:127,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:128,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:132,1
    - Dst: listInterfaces
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:137,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:138,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:148,1
    - Dst: static_cast<char const*>
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:148,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:153,1
    - Dst: static_cast<char const*>
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:153,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:164,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:169,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:170,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:177,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:185,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:187,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:193,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:195,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:195,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:195,1
    - Dst: pcpp::PcapLiveDevice*::getDefaultGateway
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:196,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:198,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:204,1
    - Dst: pcpp::PcapLiveDevice*::getIPv4Address
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:207,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:210,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:213,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp:220,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 237
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp
    functionUses: 0
    functionsReached:
    - exit
    - listInterfaces
    - pcpp::AppName::init
    - begin
    - end
    - pcpp::SdpLayer::getOwnerIPv4Address
    - printUsage
    - std::find_if
    - static_cast<char const*>
    - EXIT_WITH_ERROR
    - atoi
    - pcpp::IPv4Address::IPv4Address
    - getopt_long
    - printAppVersion
    - pcpp::PcapLiveDevice*::getDefaultGateway
    - pcpp::PcapLiveDevice*::getIPv4Address
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' workerConfig'
    argTypes:
    - AppWorkerConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: AppWorkerThread::AppWorkerThread
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/AppWorkerThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AppWorkerThread(AppWorkerConfig& workerConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: ~AppWorkerThread()
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/AppWorkerThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AppWorkerThread()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/AppWorkerThread.h:56,1
    - Dst: pcpp::DpdkDevice*::sendPackets
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/AppWorkerThread.h:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - coreId
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 74
    functionName: AppWorkerThread::run
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/AppWorkerThread.h
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDevice*::sendPackets
    - pcpp::DpdkDevice*::receivePackets
    linkageType: ''
    returnType: bool
    signature: bool run(uint32_t coreId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: AppWorkerThread::stop
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/AppWorkerThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: AppWorkerThread::getCoreId
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/AppWorkerThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getCoreId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/Common.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: EXIT_WITH_ERROR_AND_PRINT_USAGE
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/Common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR_AND_PRINT_USAGE(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: AppWorkerConfig
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/Common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AppWorkerConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 88
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp
    functionUses: 7
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:95,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:95,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:96,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:97,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp
    functionUses: 7
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getCoreMaskForAllMachineCores
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:106,1
    - Dst: pcpp::DpdkDeviceList::initDpdk
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:109,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:111,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:117,1
    - Dst: pcpp::DpdkDevice*::getDeviceId
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:122,1
    - Dst: pcpp::DpdkDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:123,1
    - Dst: pcpp::DpdkDevice*::getPciAddress
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:124,1
    - Dst: pcpp::DpdkDevice*::getPMDName
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 127
    functionName: listDpdkPorts
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDeviceList::initDpdk
    - pcpp::getCoreMaskForAllMachineCores
    - pcpp::DpdkDevice*::getMacAddress
    - pcpp::DpdkDevice*::getPMDName
    - pcpp::DpdkDevice*::getPciAddress
    - EXIT_WITH_ERROR
    - pcpp::DpdkDevice*::getDeviceId
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void listDpdkPorts()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: DpdkBridgeArgs
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DpdkBridgeArgs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: onApplicationInterrupted
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void onApplicationInterrupted(void* cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice*::getStatistics
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:159,1
    - Dst: pcpp::DpdkDevice*::getDeviceId
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:161,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:164,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:165,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:166,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:167,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:168,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:171,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:172,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:173,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:174,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:175,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:183,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:183,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:189,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - device
    argTypes:
    - pcpp::DpdkDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 190
    functionName: printStats
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDevice*::getStatistics
    - pcpp::TablePrinter::printRow
    - std::vector::push_back
    - std::stringstream::str
    - pcpp::DpdkDevice*::getDeviceId
    linkageType: ''
    returnType: void
    signature: void printStats(pcpp::DpdkDevice* device)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:199,1
    - Dst: pcpp::getCoreMaskForAllMachineCores
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:204,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:212,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:222,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:227,1
    - Dst: getline
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:232,1
    - Dst: std::stringstream::fail
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:237,1
    - Dst: std::stringstream::get
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:237,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:240,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:242,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:245,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:247,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:253,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:258,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:263,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:264,1
    - Dst: listDpdkPorts
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:268,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:269,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:273,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:278,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:279,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:285,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:287,1
    - Dst: createCoreVectorFromCoreMask
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:292,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:295,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:297,1
    - Dst: pcpp::DpdkDeviceList::initDpdk
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:301,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:303,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:307,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:310,1
    - Dst: createCoreVectorFromCoreMask
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:311,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:317,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:320,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:322,1
    - Dst: pcpp::DpdkDevice*::openMultiQueues
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:328,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:330,1
    - Dst: pcpp::DpdkDevice*::getDeviceId
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:330,1
    - Dst: pcpp::DpdkDevice*::getPMDName
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:330,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:337,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:338,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:340,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:341,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:342,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:344,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:348,1
    - Dst: AppWorkerThread::AppWorkerThread
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:348,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:349,1
    - Dst: AppWorkerThread::AppWorkerThread
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:349,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:352,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:354,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:360,1
    - Dst: sleep
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:370,1
    - Dst: printStats
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:381,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:381,1
    - Dst: printStats
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:382,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp:382,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 97
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 386
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - printUsage
    - std::vector::clear
    - EXIT_WITH_ERROR
    - AppWorkerThread::AppWorkerThread
    - createCoreVectorFromCoreMask
    - pcpp::GtpV2InformationElement::getInstance
    - std::vector::at
    - printStats
    - pcpp::AppName::init
    - pcpp::DpdkDeviceList::initDpdk
    - std::stringstream::get
    - string
    - listDpdkPorts
    - std::vector::push_back
    - pcpp::DpdkDevice*::openMultiQueues
    - EXIT_WITH_ERROR_AND_PRINT_USAGE
    - std::stringstream::fail
    - sleep
    - getopt_long
    - pcpp::getCoreMaskForAllMachineCores
    - pcpp::DpdkDevice*::getDeviceId
    - getline
    - exit
    - std::vector::size
    - pcpp::DpdkDevice*::getPMDName
    - atoi
    - printAppVersion
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp
    functionUses: 8
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:56,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:56,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:57,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:58,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp
    functionUses: 8
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:67,1
    - Dst: pcpp::ArpRequest
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:70,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:70,1
    - Dst: pcpp::PcapLiveDevice*::getIPv4Address
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:70,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:72,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:73,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:74,1
    - Dst: pcpp::PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:78,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:85,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:87,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:88,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:88,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:89,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:91,1
    - Dst: pcpp::RawPacketVector::front
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:98,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:99,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - ' ipAddr'
    - pDevice
    argTypes:
    - pcpp::IPv4Address
    - pcpp::PcapLiveDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 105
    functionName: getMacAddress
    functionSourceFile: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp
    functionUses: 4
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::ArpRequest
    - pcpp::PcapLiveDevice*::getMacAddress
    - pcpp::Packet::isPacketOfType
    - std::chrono::seconds
    - pcpp::Packet::getLayerOfType
    - pcpp::RawPacketVector::size
    - pcpp::PcapLiveDevice*::setFilter
    - std::this_thread::sleep_for
    - pcpp::PcapLiveDevice*::startCapture
    - pcpp::RawPacketVector::front
    - pcpp::PcapLiveDevice*::sendPacket
    - pcpp::PcapLiveDevice*::getIPv4Address
    - pcpp::PcapLiveDevice*::stopCapture
    linkageType: ''
    returnType: pcpp::MacAddress
    signature: pcpp::MacAddress getMacAddress(const pcpp::IPv4Address& ipAddr, pcpp::PcapLiveDevice*
      pDevice)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MacAddress::MacAddress
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:110,1
    - Dst: getMacAddress
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:115,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:119,1
    - Dst: what
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:119,1
    - Dst: pcpp::MacAddress::MacAddress
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:124,1
    - Dst: getMacAddress
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:127,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:131,1
    - Dst: what
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:131,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:135,1
    - Dst: pcpp::ArpReply
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:140,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:140,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:141,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:142,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:143,1
    - Dst: pcpp::ArpReply
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:148,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:148,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:149,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:150,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:151,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:157,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:160,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:163,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - pDevice
    - ' gatewayAddr'
    - ' victimAddr'
    argTypes:
    - pcpp::PcapLiveDevice*
    - pcpp::IPv4Address
    - pcpp::IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 165
    functionName: doArpSpoofing
    functionSourceFile: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - what
    - pcpp::PcapLiveDevice*::getMacAddress
    - std::chrono::seconds
    - getMacAddress
    - pcpp::MacAddress::MacAddress
    - EXIT_WITH_ERROR
    - std::this_thread::sleep_for
    - pcpp::ArpReply
    - pcpp::PcapLiveDevice*::sendPacket
    linkageType: ''
    returnType: void
    signature: "void doArpSpoofing(pcpp::PcapLiveDevice* pDevice, const pcpp::IPv4Address&
      gatewayAddr,\n                   const pcpp::IPv4Address& victimAddr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:169,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:176,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:192,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:193,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:196,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:199,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:200,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:207,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:211,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:212,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:213,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:217,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:221,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:225,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:229,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:233,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:237,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:240,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:245,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:249,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:251,1
    - Dst: doArpSpoofing
      Src: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp:254,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 167
    functionDepth: 6
    functionLinenumber: 167
    functionLinenumberEnd: 255
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp
    functionUses: 0
    functionsReached:
    - exit
    - pcpp::AppName::init
    - pcpp::PcapLiveDevice*::open
    - pcpp::SdpLayer::getOwnerIPv4Address
    - printUsage
    - doArpSpoofing
    - EXIT_WITH_ERROR
    - pcpp::IPv4Address::IPv4Address
    - getopt_long
    - printAppVersion
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 62
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp
    functionUses: 9
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:69,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:69,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:70,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:71,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp
    functionUses: 9
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:93,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - linkLayer
    argTypes:
    - pcpp::LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 99
    functionName: linkLayerToString
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string linkLayerToString(pcpp::LinkLayerType linkLayer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IFileReaderDevice*::getFileName
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:109,1
    - Dst: pcpp::IFileReaderDevice*::getFileSize
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:110,1
    - Dst: dynamic_cast<pcpp::PcapFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:112,1
    - Dst: dynamic_cast<pcpp::PcapFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:114,1
    - Dst: pcpp::PcapFileReaderDevice*::getLinkLayerType
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:115,1
    - Dst: linkLayerToString
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:116,1
    - Dst: dynamic_cast<pcpp::SnoopFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:118,1
    - Dst: dynamic_cast<pcpp::SnoopFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:120,1
    - Dst: pcpp::SnoopFileReaderDevice*::getLinkLayerType
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:121,1
    - Dst: linkLayerToString
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:122,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:124,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:126,1
    - Dst: pcpp::PcapNgFileReaderDevice*::getOS
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:127,1
    - Dst: pcpp::PcapNgFileReaderDevice*::getOS
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:128,1
    - Dst: pcpp::PcapNgFileReaderDevice*::getCaptureApplication
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:130,1
    - Dst: pcpp::PcapNgFileReaderDevice*::getCaptureApplication
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:131,1
    - Dst: pcpp::PcapNgFileReaderDevice*::getCaptureFileComment
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:133,1
    - Dst: pcpp::PcapNgFileReaderDevice*::getCaptureFileComment
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:134,1
    - Dst: pcpp::PcapNgFileReaderDevice*::getHardware
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:136,1
    - Dst: pcpp::PcapNgFileReaderDevice*::getHardware
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:137,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - reader
    argTypes:
    - pcpp::IFileReaderDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 143
    functionName: printFileSummary
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<pcpp::PcapFileReaderDevice*>
    - linkLayerToString
    - pcpp::IFileReaderDevice*::getFileName
    - pcpp::SnoopFileReaderDevice*::getLinkLayerType
    - pcpp::PcapNgFileReaderDevice*::getOS
    - pcpp::PcapNgFileReaderDevice*::getCaptureFileComment
    - pcpp::PcapFileReaderDevice*::getLinkLayerType
    - pcpp::PcapNgFileReaderDevice*::getCaptureApplication
    - dynamic_cast<pcpp::SnoopFileReaderDevice*>
    - std::ostringstream::str
    - dynamic_cast<pcpp::PcapNgFileReaderDevice*>
    - pcpp::PcapNgFileReaderDevice*::getHardware
    - pcpp::IFileReaderDevice*::getFileSize
    linkageType: ''
    returnType: std::string
    signature: std::string printFileSummary(pcpp::IFileReaderDevice* reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:152,1
    - Dst: pcpp::IFileReaderDevice*::getNextPacket
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:153,1
    - Dst: pcpp::Packet::toString
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - reader
    - out
    - packetCount
    argTypes:
    - pcpp::IFileReaderDevice*
    - std::ostream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionName: printPcapPackets
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IFileReaderDevice*::getNextPacket
    - pcpp::Packet::toString
    - pcpp::RawPacket::RawPacket
    linkageType: ''
    returnType: int
    signature: int printPcapPackets(pcpp::IFileReaderDevice* reader, std::ostream*
      out, int packetCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:175,1
    - Dst: pcpp::PcapNgFileReaderDevice*::getNextPacket
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:177,1
    - Dst: linkLayerToString
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:187,1
    - Dst: pcpp::RawPacket::getLinkLayerType
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:187,1
    - Dst: pcpp::Packet::toString
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - reader
    - out
    - packetCount
    argTypes:
    - pcpp::PcapNgFileReaderDevice*
    - std::ostream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: printPcapNgPackets
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp
    functionUses: 0
    functionsReached:
    - linkLayerToString
    - pcpp::Packet::toString
    - pcpp::RawPacket::getLinkLayerType
    - pcpp::RawPacket::RawPacket
    - pcpp::PcapNgFileReaderDevice*::getNextPacket
    linkageType: ''
    returnType: int
    signature: int printPcapNgPackets(pcpp::PcapNgFileReaderDevice* reader, std::ostream*
      out, int packetCount)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:202,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:216,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:226,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:235,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:236,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:239,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:242,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:243,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:254,1
    - Dst: std::ofstream::open
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:264,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:264,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:269,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:270,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:272,1
    - Dst: std::unique_ptr::setFilter
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:278,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:280,1
    - Dst: printFileSummary
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:285,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:285,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:290,1
    - Dst: dynamic_cast<pcpp::PcapFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:296,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:296,1
    - Dst: dynamic_cast<pcpp::PcapFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:299,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:299,1
    - Dst: printPcapPackets
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:300,1
    - Dst: dynamic_cast<pcpp::SnoopFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:302,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:302,1
    - Dst: dynamic_cast<pcpp::SnoopFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:305,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:305,1
    - Dst: printPcapPackets
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:306,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:309,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:309,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:312,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:312,1
    - Dst: printPcapNgPackets
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:313,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp:319,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 322
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get
    - printUsage
    - pcpp::IFileReaderDevice::tryCreateReader
    - EXIT_WITH_ERROR
    - std::string::c_str
    - dynamic_cast<pcpp::SnoopFileReaderDevice*>
    - dynamic_cast<pcpp::PcapFileReaderDevice*>
    - printPcapNgPackets
    - pcpp::AppName::init
    - std::unique_ptr::open
    - printFileSummary
    - dynamic_cast<pcpp::PcapNgFileReaderDevice*>
    - printPcapPackets
    - std::unique_ptr::close
    - std::ofstream::open
    - getopt_long
    - exit
    - std::unique_ptr::setFilter
    - atoi
    - printAppVersion
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 18
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: EXIT_WITH_ERROR_AND_PRINT_USAGE
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR_AND_PRINT_USAGE(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:46,1
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:71,1
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:72,1
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:73,1
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:74,1
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 77
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp
    functionUses: 10
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:82,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:82,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:83,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp
    functionUses: 10
    functionsReached:
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getBuildDateTime
    - pcpp::getGitInfo
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:90,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:92,1
    - Dst: std::ifstream::good
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:96,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:98,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:103,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEMFile
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:109,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ' certFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: openCertFile
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::good
    - empty
    - EXIT_WITH_ERROR
    - pcpp::internal::CryptoDataReader::fromPEMFile
    - pcpp::internal::CryptoDataReader::fromDERFile
    linkageType: ''
    returnType: std::unique_ptr<pcpp::X509Certificate>
    signature: std::unique_ptr<pcpp::X509Certificate> openCertFile(const std::string&
      certFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openCertFile
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:121,1
    - Dst: auto::getSubject
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:123,1
    - Dst: auto::getIssuer
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:124,1
    - Dst: auto::getSerialNumber
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:125,1
    - Dst: auto::getNotBefore
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:127,1
    - Dst: auto::getNotAfter
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:128,1
    - Dst: auto::getSignatureAlgorithm
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:130,1
    - Dst: auto::getPublicKeyAlgorithm
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:131,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:133,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' inputFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: showCertInfo
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp
    functionUses: 0
    functionsReached:
    - auto::getVersion
    - auto::getSignatureAlgorithm
    - auto::getPublicKeyAlgorithm
    - static_cast<int>
    - auto::getIssuer
    - auto::getNotAfter
    - auto::getSubject
    - auto::getSerialNumber
    - auto::getNotBefore
    - openCertFile
    linkageType: ''
    returnType: void
    signature: void showCertInfo(const std::string& inputFileName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:140,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:142,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:147,1
    - Dst: openCertFile
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:150,1
    - Dst: auto::toPEM
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:154,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:155,1
    - Dst: std::ofstream::is_open
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:161,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:163,1
    - Dst: std::ofstream::close
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:166,1
    - Dst: auto::toDER
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:172,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:173,1
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:175,1
    - Dst: std::ofstream::is_open
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:179,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:181,1
    - Dst: std::ofstream::write
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:183,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:183,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:183,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:183,1
    - Dst: std::ofstream::close
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:184,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - ' inputFileName'
    - ' outputFileName'
    - ' format'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 188
    functionName: convertCertFile
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - std::ofstream::write
    - std::ofstream::is_open
    - reinterpret_cast<const char*>
    - empty
    - auto::size
    - auto::toDER
    - EXIT_WITH_ERROR
    - std::ofstream::close
    - pcpp::Base64::encode
    - auto::toPEM
    - openCertFile
    linkageType: ''
    returnType: void
    signature: "void convertCertFile(const std::string& inputFileName, const std::string&
      outputFileName,\n                            const std::string& format)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: openCertFile
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:193,1
    - Dst: auto::toJson
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:195,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:196,1
    - Dst: std::ofstream::is_open
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:202,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:204,1
    - Dst: std::ofstream::close
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' inputFileName'
    - ' outputFileName'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 208
    functionName: parseCertAsJson
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::is_open
    - auto::toJson
    - empty
    - EXIT_WITH_ERROR
    - std::ofstream::close
    - openCertFile
    linkageType: ''
    returnType: void
    signature: void parseCertAsJson(const std::string& inputFileName, const std::string&
      outputFileName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: openCertFile
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:213,1
    - Dst: auto::getNotBefore
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:215,1
    - Dst: auto::getNotAfter
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:216,1
    - Dst: std::chrono::system_clock::now
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:220,1
    - Dst: auto::getNotAfter
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:221,1
    - Dst: std::chrono::duration_cast<days>
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:225,1
    - Dst: auto::getNotAfter
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:225,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:227,1
    - Dst: auto::getNotBefore
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:230,1
    - Dst: std::chrono::duration_cast<days>
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:234,1
    - Dst: auto::getNotBefore
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:234,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:236,1
    - Dst: std::chrono::duration_cast<days>
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:241,1
    - Dst: auto::getNotAfter
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' inputFileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 243
    functionName: checkCertExpiration
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp
    functionUses: 0
    functionsReached:
    - exit
    - std::chrono::duration_cast<days>
    - std::chrono::system_clock::now
    - auto::getNotAfter
    - auto::getNotBefore
    - openCertFile
    linkageType: ''
    returnType: void
    signature: void checkCertExpiration(const std::string& inputFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PcapExtract::run
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:252,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:256,1
    - Dst: what
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' pcapFileName'
    - ' outputDirectory'
    - ' format'
    - showStats
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 258
    functionName: extractFromPcapFile
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp
    functionUses: 0
    functionsReached:
    - PcapExtract::run
    - EXIT_WITH_ERROR
    - what
    linkageType: ''
    returnType: void
    signature: "void extractFromPcapFile(const std::string& pcapFileName, const std::string&
      outputDirectory,\n                                const std::string& format,
      bool showStats)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:263,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:274,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:293,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:294,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:296,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:297,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:299,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:300,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:309,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:311,1
    - Dst: showCertInfo
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:318,1
    - Dst: convertCertFile
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:322,1
    - Dst: parseCertAsJson
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:326,1
    - Dst: checkCertExpiration
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:330,1
    - Dst: extractFromPcapFile
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:334,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:338,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:343,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:343,1
    - Dst: what
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp:343,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 345
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp
    functionUses: 0
    functionsReached:
    - exit
    - extractFromPcapFile
    - showCertInfo
    - pcpp::AppName::init
    - checkCertExpiration
    - what
    - string
    - printUsage
    - std::string::empty
    - EXIT_WITH_ERROR
    - convertCertFile
    - getopt_long
    - printAppVersion
    - EXIT_WITH_ERROR_AND_PRINT_USAGE
    - parseCertAsJson
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: getOsPathSeparator
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getOsPathSeparator()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:33,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:36,1
    - Dst: pcpp::directoryExists
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:36,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:38,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - ' pcapFileName'
    - ' outputDirectory'
    - ' format'
    - showStats
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: PcapExtract::PcapExtract
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h
    functionUses: 0
    functionsReached:
    - empty
    - pcpp::directoryExists
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: "void PcapExtract(const std::string& pcapFileName, const std::string&
      outputDirectory, const std::string& format,\n\t            bool showStats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:47,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:51,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:53,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:55,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:62,1
    - Dst: std::unique_ptr::getNextPackets
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:63,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:65,1
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:68,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:70,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 84
    functionName: PcapExtract::run
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h
    functionUses: 1
    functionsReached:
    - pcpp::TcpReassembly::reassemblePacket
    - pcpp::IFileReaderDevice::createReader
    - std::unique_ptr::open
    - std::unique_ptr::getNextPackets
    - pcpp::RawPacketVector::size
    - std::runtime_error
    - pcpp::RawPacketVector::clear
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void run()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - side
    argTypes:
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: PcapExtract::SSLConnectionData
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SSLConnectionData(int8_t side)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PcapExtract*>
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:123,1
    - Dst: pcpp::SSLLayer::isSSLPort
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:126,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:126,1
    - Dst: pcpp::SSLLayer::isSSLPort
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:127,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:127,1
    - Dst: auto*::m_ConnectionManager::find
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:135,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:135,1
    - Dst: auto*::m_ConnectionManager::end
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:136,1
    - Dst: auto*::m_ConnectionManager::insert
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:139,1
    - Dst: std::make_pair
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:140,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:140,1
    - Dst: PcapExtract::SSLConnectionData
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:140,1
    - Dst: auto*::m_ConnectionManager::find
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:141,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:141,1
    - Dst: isBytesMissing
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:151,1
    - Dst: auto::second::data::insert
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:153,1
    - Dst: auto::second::data::end
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:153,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:153,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:154,1
    - Dst: getDataLength
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:154,1
    - Dst: auto::second::data::empty
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:159,1
    - Dst: auto::second::data::size
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:165,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:166,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:167,1
    - Dst: auto::second::data::data
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:167,1
    - Dst: auto::second::data::clear
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:171,1
    - Dst: auto::second::data::insert
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:172,1
    - Dst: auto::second::data::end
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:172,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:172,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:173,1
    - Dst: getDataLength
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:173,1
    - Dst: std::unique_ptr<pcpp::SSLLayer>
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:177,1
    - Dst: pcpp::SSLLayer::createSSLMessage
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:177,1
    - Dst: auto*::handleSSLMessage
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:180,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - side
    - ' tcpData'
    - userCookie
    argTypes:
    - int8_t
    - pcpp::TcpStreamData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 182
    functionName: PcapExtract::onMessageReady
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h
    functionUses: 0
    functionsReached:
    - auto::second::data::insert
    - std::unique_ptr<pcpp::SSLLayer>
    - auto*::m_ConnectionManager::insert
    - auto::second::data::empty
    - std::memcpy
    - auto::second::data::size
    - auto*::handleSSLMessage
    - PcapExtract::SSLConnectionData
    - auto::second::data::data
    - auto*::m_ConnectionManager::find
    - getData
    - auto::get
    - isBytesMissing
    - std::make_pair
    - uint8_t::uint8_t
    - getDataLength
    - getConnectionData
    - auto::second::data::clear
    - auto*::m_ConnectionManager::end
    - auto::second::data::end
    - pcpp::SSLLayer::createSSLMessage
    - static_cast<PcapExtract*>
    - pcpp::SSLLayer::isSSLPort
    linkageType: ''
    returnType: void
    signature: void onMessageReady(int8_t side, const pcpp::TcpStreamData& tcpData,
      void* userCookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PcapExtract*>
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:188,1
    - Dst: auto*::m_ConnectionManager::find
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:189,1
    - Dst: auto*::m_ConnectionManager::end
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:190,1
    - Dst: auto*::m_ConnectionManager::erase
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' connectionData'
    - reason
    - userCookie
    argTypes:
    - pcpp::ConnectionData
    - pcpp::TcpReassembly::ConnectionEndReason
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: PcapExtract::onConnectionEnd
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h
    functionUses: 0
    functionsReached:
    - auto*::m_ConnectionManager::end
    - auto*::m_ConnectionManager::find
    - auto*::m_ConnectionManager::erase
    - static_cast<PcapExtract*>
    linkageType: ''
    returnType: void
    signature: "void onConnectionEnd(const pcpp::ConnectionData& connectionData,\n\t
      \                           pcpp::TcpReassembly::ConnectionEndReason reason,
      void* userCookie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<pcpp::SSLApplicationDataLayer*>
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:202,1
    - Dst: SSLConnectionData*::data::clear
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:205,1
    - Dst: dynamic_cast<pcpp::SSLHandshakeLayer*>
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:211,1
    - Dst: pcpp::SSLLayer*::parseNextLayer
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:214,1
    - Dst: dynamic_cast<pcpp::SSLLayer*>
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:215,1
    - Dst: pcpp::SSLLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:215,1
    - Dst: auto*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:222,1
    - Dst: PcapExtract::handleSSLCertificateMessage
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:225,1
    - Dst: auto*::getNextHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:226,1
    - Dst: pcpp::SSLLayer*::parseNextLayer
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:229,1
    - Dst: dynamic_cast<pcpp::SSLLayer*>
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:230,1
    - Dst: pcpp::SSLLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - sslMessage
    - sslConnectionData
    argTypes:
    - pcpp::SSLLayer*
    - SSLConnectionData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 232
    functionName: PcapExtract::handleSSLMessage
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h
    functionUses: 0
    functionsReached:
    - pcpp::SSLLayer*::getNextLayer
    - dynamic_cast<pcpp::SSLApplicationDataLayer*>
    - auto*::getNextHandshakeMessageOfType
    - pcpp::SSLLayer*::parseNextLayer
    - SSLConnectionData*::data::clear
    - dynamic_cast<pcpp::SSLHandshakeLayer*>
    - dynamic_cast<pcpp::SSLLayer*>
    - PcapExtract::handleSSLCertificateMessage
    - auto*::getHandshakeMessageOfType
    linkageType: ''
    returnType: void
    signature: void handleSSLMessage(pcpp::SSLLayer* sslMessage, SSLConnectionData*
      sslConnectionData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SSLCertificateMessage*::getNumOfCertificates
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:238,1
    - Dst: pcpp::SSLCertificateMessage*::getCertificate
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:243,1
    - Dst: PcapExtract::handleX509Certificate
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - sslCertificateMessage
    argTypes:
    - pcpp::SSLCertificateMessage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 258
    functionName: PcapExtract::handleSSLCertificateMessage
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h
    functionUses: 1
    functionsReached:
    - pcpp::SSLCertificateMessage*::getNumOfCertificates
    - pcpp::SSLCertificateMessage*::getCertificate
    - PcapExtract::handleX509Certificate
    linkageType: ''
    returnType: void
    signature: void handleSSLCertificateMessage(const pcpp::SSLCertificateMessage*
      sslCertificateMessage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PcapExtract::handlePEM
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:265,1
    - Dst: PcapExtract::handleDER
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:269,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' x509Cert'
    argTypes:
    - std::unique_ptr<pcpp::X509Certificate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: PcapExtract::handleX509Certificate
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h
    functionUses: 1
    functionsReached:
    - PcapExtract::handlePEM
    - PcapExtract::handleDER
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void handleX509Certificate(const std::unique_ptr<pcpp::X509Certificate>&
      x509Cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toPEM
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:282,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:283,1
    - Dst: getOsPathSeparator
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:290,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:290,1
    - Dst: std::ofstream::is_open
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:292,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:294,1
    - Dst: std::ofstream::close
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' x509Cert'
    argTypes:
    - std::unique_ptr<pcpp::X509Certificate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 299
    functionName: PcapExtract::handlePEM
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h
    functionUses: 1
    functionsReached:
    - std::ofstream::is_open
    - empty
    - std::ofstream::close
    - std::runtime_error
    - getOsPathSeparator
    - toPEM
    - to_string
    linkageType: ''
    returnType: void
    signature: void handlePEM(const std::unique_ptr<pcpp::X509Certificate>& x509Cert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toDER
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:304,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:305,1
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:307,1
    - Dst: getOsPathSeparator
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:312,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:312,1
    - Dst: std::ofstream::is_open
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:314,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:316,1
    - Dst: std::ofstream::write
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:318,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:318,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:318,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:318,1
    - Dst: std::ofstream::close
      Src: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' x509Cert'
    argTypes:
    - std::unique_ptr<pcpp::X509Certificate>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 321
    functionName: PcapExtract::handleDER
    functionSourceFile: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h
    functionUses: 1
    functionsReached:
    - auto::data
    - std::ofstream::write
    - std::ofstream::is_open
    - reinterpret_cast<const char*>
    - empty
    - auto::size
    - std::ofstream::close
    - toDER
    - pcpp::Base64::encode
    - getOsPathSeparator
    - std::runtime_error
    - to_string
    linkageType: ''
    returnType: void
    signature: void handleDER(const std::unique_ptr<pcpp::X509Certificate>& x509Cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 23
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reason
    - ','
    - command
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: EXIT_WITH_ERROR_AND_RUN_COMMAND
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR_AND_RUN_COMMAND(reason, command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateWaitableTimer
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:40,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:43,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:43,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:43,1
    - Dst: SetWaitableTimer
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:47,1
    - Dst: WaitForSingleObject
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:48,1
    - Dst: CloseHandle
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - usec
    argTypes:
    - __int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionName: usleep
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp
    functionUses: 1
    functionsReached:
    - GetLastError
    - SetWaitableTimer
    - CloseHandle
    - CreateWaitableTimer
    - WaitForSingleObject
    - std::runtime_error
    - to_string
    linkageType: ''
    returnType: void
    signature: void usleep(__int64 usec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:99,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:99,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:108,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:109,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:113,1
    - Dst: pcpp::IPv4Layer*::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:114,1
    - Dst: pcpp::IPv4Layer*::getDstIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:115,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:119,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:124,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:128,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - rawPacket
    - dev
    - icmpVoidData
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 132
    functionName: waitForFileTransferStart
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - pcpp::IPv4Layer*::getSrcIPv4Address
    - pcpp::Packet::getLayerOfType
    - pcpp::IcmpLayer*::getEchoReplyData
    - string
    - pcpp::IPv4Layer*::getDstIPv4Address
    linkageType: ''
    returnType: void
    signature: void waitForFileTransferStart(pcpp::RawPacket* rawPacket, pcpp::PcapLiveDevice*
      dev, void* icmpVoidData)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:144,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:144,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:153,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:154,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:158,1
    - Dst: pcpp::IPv4Layer*::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:159,1
    - Dst: pcpp::IPv4Layer*::getDstIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:160,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:164,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:185,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:185,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:191,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:191,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:196,1
    - Dst: IcmpFileContentData*::file::write
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:203,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:203,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:204,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:207,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - rawPacket
    - dev
    - icmpVoidData
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 216
    functionName: getFileContent
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp
    functionUses: 0
    functionsReached:
    - IcmpFileContentData*::file::write
    - pcpp::Packet::isPacketOfType
    - pcpp::IPv4Layer*::getSrcIPv4Address
    - pcpp::Packet::getLayerOfType
    - pcpp::IcmpLayer*::getEchoReplyData
    - pcpp::netToHost16
    - pcpp::IPv4Layer*::getDstIPv4Address
    linkageType: ''
    returnType: void
    signature: void getFileContent(pcpp::RawPacket* rawPacket, pcpp::PcapLiveDevice*
      dev, void* icmpVoidData)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:224,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:226,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:229,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:230,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:233,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:235,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:240,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:242,1
    - Dst: pcpp::PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:252,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:253,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:262,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:263,1
    - Dst: sendIcmpRequest
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:268,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:272,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:272,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:276,1
    - Dst: IcmpFileTransferStartRecv::fileName::c_str
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:279,1
    - Dst: std::ofstream::is_open
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:281,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:303,1
    - Dst: std::ofstream::close
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:305,1
    - Dst: EXIT_WITH_ERROR_AND_RUN_COMMAND
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:306,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:307,1
    - Dst: IcmpFileTransferStartRecv::fileName::c_str
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:307,1
    - Dst: sendIcmpRequest
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:314,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:319,1
    - Dst: std::chrono::microseconds
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:319,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:321,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:321,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:327,1
    - Dst: sendIcmpRequest
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:335,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:337,1
    - Dst: std::chrono::microseconds
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:337,1
    - Dst: std::ofstream::close
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:340,1
    - Dst: EXIT_WITH_ERROR_AND_RUN_COMMAND
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:341,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:342,1
    - Dst: IcmpFileTransferStartRecv::fileName::c_str
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:342,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:352,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:355,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 3
    argNames:
    - pitcherIP
    - catcherIP
    - packetPerSec
    argTypes:
    - pcpp::IPv4Address
    - pcpp::IPv4Address
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 356
    functionName: receiveFile
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp
    functionUses: 0
    functionsReached:
    - sendIcmpRequest
    - std::ofstream::is_open
    - pcpp::PcapLiveDevice*::open
    - pcpp::PcapLiveDevice*::getMacAddress
    - IcmpFileTransferStartRecv::fileName::c_str
    - std::chrono::seconds
    - pcpp::PcapLiveDevice*::close
    - EXIT_WITH_ERROR
    - std::ofstream::close
    - pcpp::PcapLiveDevice*::setFilter
    - std::this_thread::sleep_for
    - pcpp::PcapLiveDevice*::stopCapture
    - pcpp::PcapLiveDevice*::startCapture
    - std::remove
    - std::chrono::microseconds
    - EXIT_WITH_ERROR_AND_RUN_COMMAND
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void receiveFile(pcpp::IPv4Address pitcherIP, pcpp::IPv4Address catcherIP,
      int packetPerSec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:368,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:368,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:377,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:378,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:382,1
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:382,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:386,1
    - Dst: pcpp::IPv4Layer*::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:387,1
    - Dst: pcpp::IPv4Layer*::getDstIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:388,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:392,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - rawPacket
    - dev
    - icmpVoidData
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 398
    functionName: waitForFileTransferStartAck
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp
    functionUses: 0
    functionsReached:
    - pcpp::hostToNet16
    - pcpp::Packet::isPacketOfType
    - pcpp::IPv4Layer*::getSrcIPv4Address
    - pcpp::Packet::getLayerOfType
    - pcpp::IcmpLayer*::getEchoReplyData
    - pcpp::IPv4Layer*::getDstIPv4Address
    linkageType: ''
    returnType: bool
    signature: bool waitForFileTransferStartAck(pcpp::RawPacket* rawPacket, pcpp::PcapLiveDevice*
      dev, void* icmpVoidData)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:407,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:409,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:412,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:413,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:416,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:418,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:423,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:425,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:428,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:429,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:432,1
    - Dst: std::ifstream::is_open
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:434,1
    - Dst: getFileNameFromPath
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:437,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:440,1
    - Dst: strcpy
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:445,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:445,1
    - Dst: sendIcmpRequest
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:458,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:459,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:460,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:465,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:467,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:495,1
    - Dst: sendIcmpRequest
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:499,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:501,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:505,1
    - Dst: std::chrono::microseconds
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:505,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:507,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:507,1
    - Dst: std::ifstream::gcount
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:524,1
    - Dst: sendIcmpRequest
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:526,1
    - Dst: std::ifstream::gcount
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:527,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:528,1
    - Dst: std::ifstream::gcount
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:530,1
    - Dst: sendIcmpRequest
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:536,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:538,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:546,1
    - Dst: std::ifstream::close
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:549,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:550,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 5
    argNames:
    - ' filePath'
    - pitcherIP
    - catcherIP
    - blockSize
    - packetPerSec
    argTypes:
    - std::string
    - pcpp::IPv4Address
    - pcpp::IPv4Address
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 403
    functionDepth: 5
    functionLinenumber: 403
    functionLinenumberEnd: 552
    functionName: sendFile
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::is_open
    - pcpp::PcapLiveDevice*::getMacAddress
    - getFileNameFromPath
    - std::ifstream::seekg
    - pcpp::PcapLiveDevice*::startCaptureBlockingMode
    - EXIT_WITH_ERROR
    - std::string::c_str
    - std::ifstream::close
    - c_str
    - pcpp::GtpV2InformationElement::getInstance
    - std::string::length
    - strcpy
    - std::chrono::seconds
    - uint8_t::uint8_t
    - sendIcmpRequest
    - std::this_thread::sleep_for
    - memset
    - std::ifstream::read
    - std::ifstream::gcount
    - pcpp::PcapLiveDevice*::open
    - pcpp::PcapLiveDevice*::close
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: "void sendFile(const std::string& filePath, pcpp::IPv4Address pitcherIP,
      pcpp::IPv4Address catcherIP, size_t blockSize,\n              int packetPerSec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:559,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:562,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:563,1
    - Dst: setbuf
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:569,1
    - Dst: readCommandLineArguments
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:573,1
    - Dst: sendFile
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:578,1
    - Dst: receiveFile
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp
    functionUses: 0
    functionsReached:
    - pcpp::AppName::init
    - setbuf
    - receiveFile
    - sendFile
    - pcpp::IPv4Address::IPv4Address
    - readCommandLineArguments
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: EXIT_WITH_ERROR_PRINT_USAGE
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR_PRINT_USAGE(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' thisSide'
    - ' otherSide'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 74
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp
    functionUses: 11
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage(const std::string& thisSide, const std::string& otherSide)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:81,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:81,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:82,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:83,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp
    functionUses: 11
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:93,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:98,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:98,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: listInterfaces
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp
    functionUses: 4
    functionsReached:
    - getName
    - getIPv4Address
    - exit
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void listInterfaces()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:110,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:121,1
    - Dst: EXIT_WITH_ERROR_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:142,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:143,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:147,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:151,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:152,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:155,1
    - Dst: listInterfaces
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:158,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:161,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:162,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:167,1
    - Dst: EXIT_WITH_ERROR_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:168,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:170,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:173,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:178,1
    - Dst: EXIT_WITH_ERROR_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:180,1
    - Dst: pcpp::PcapLiveDevice*::getIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:182,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:186,1
    - Dst: EXIT_WITH_ERROR_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:187,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:189,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:192,1
    - Dst: EXIT_WITH_ERROR_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:196,1
    - Dst: EXIT_WITH_ERROR_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:202,1
    - Dst: EXIT_WITH_ERROR_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:205,1
    - Dst: EXIT_WITH_ERROR_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:209,1
    - Dst: EXIT_WITH_ERROR_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:213,1
    - Dst: EXIT_WITH_ERROR_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:218,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 76
    argCount: 11
    argNames:
    - argc
    - argv
    - ' thisSide'
    - ' otherSide'
    - ' sender'
    - ' receiver'
    - ' myIP'
    - ' otherSideIP'
    - ' fileNameToSend'
    - ' packetsPerSec'
    - ' blockSize'
    argTypes:
    - int
    - char*[]
    - std::string
    - std::string
    - bool
    - bool
    - pcpp::IPv4Address
    - pcpp::IPv4Address
    - std::string
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 219
    functionName: readCommandLineArguments
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp
    functionUses: 1
    functionsReached:
    - exit
    - listInterfaces
    - EXIT_WITH_ERROR_PRINT_USAGE
    - pcpp::SdpLayer::getOwnerIPv4Address
    - printUsage
    - std::string::empty
    - clear
    - atoi
    - pcpp::IPv4Address::IPv4Address
    - getopt_long
    - printAppVersion
    - pcpp::PcapLiveDevice*::getIPv4Address
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: "void readCommandLineArguments(int argc, char* argv[], const std::string&
      thisSide, const std::string& otherSide,\n                              bool&
      sender, bool& receiver, pcpp::IPv4Address& myIP, pcpp::IPv4Address& otherSideIP,\n
      \                             std::string& fileNameToSend, int& packetsPerSec,
      size_t& blockSize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:239,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:241,1
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:241,1
    - Dst: pcpp::IcmpLayer::IcmpLayer
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:244,1
    - Dst: pcpp::IcmpLayer::setEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:245,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:246,1
    - Dst: pcpp::IcmpLayer::setEchoReplyData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:247,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:248,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:251,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:252,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:253,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:254,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:255,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 10
    argNames:
    - dev
    - srcMacAddr
    - dstMacAddr
    - srcIPAddr
    - dstIPAddr
    - icmpMsgId
    - msgType
    - data
    - dataLen
    - sendRequest
    argTypes:
    - pcpp::PcapLiveDevice*
    - pcpp::MacAddress
    - pcpp::MacAddress
    - pcpp::IPv4Address
    - pcpp::IPv4Address
    - size_t
    - uint64_t
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 259
    functionName: sendIcmpMessage
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::hostToNet16
    - pcpp::Packet::addLayer
    - pcpp::IcmpLayer::setEchoReplyData
    - pcpp::IcmpLayer::IcmpLayer
    - pcpp::PcapLiveDevice*::sendPacket
    - EXIT_WITH_ERROR
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::Packet::Packet
    - pcpp::IcmpLayer::setEchoRequestData
    linkageType: ''
    returnType: bool
    signature: "bool sendIcmpMessage(pcpp::PcapLiveDevice* dev, pcpp::MacAddress srcMacAddr,
      pcpp::MacAddress dstMacAddr,\n                     pcpp::IPv4Address srcIPAddr,
      pcpp::IPv4Address dstIPAddr, size_t icmpMsgId, uint64_t msgType,\n                     uint8_t*
      data, size_t dataLen, bool sendRequest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendIcmpMessage
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - dev
    - srcMacAddr
    - dstMacAddr
    - srcIPAddr
    - dstIPAddr
    - icmpMsgId
    - msgType
    - data
    - dataLen
    argTypes:
    - pcpp::PcapLiveDevice*
    - pcpp::MacAddress
    - pcpp::MacAddress
    - pcpp::IPv4Address
    - pcpp::IPv4Address
    - size_t
    - uint64_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: sendIcmpRequest
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp
    functionUses: 2
    functionsReached:
    - sendIcmpMessage
    linkageType: ''
    returnType: bool
    signature: "bool sendIcmpRequest(pcpp::PcapLiveDevice* dev, pcpp::MacAddress srcMacAddr,
      const pcpp::MacAddress dstMacAddr,\n                     pcpp::IPv4Address srcIPAddr,
      const pcpp::IPv4Address dstIPAddr, size_t icmpMsgId, uint64_t msgType,\n                     uint8_t*
      data, size_t dataLen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendIcmpMessage
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - dev
    - srcMacAddr
    - dstMacAddr
    - srcIPAddr
    - dstIPAddr
    - icmpMsgId
    - msgType
    - data
    - dataLen
    argTypes:
    - pcpp::PcapLiveDevice*
    - pcpp::MacAddress
    - pcpp::MacAddress
    - pcpp::IPv4Address
    - pcpp::IPv4Address
    - size_t
    - uint64_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 5
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: sendIcmpResponse
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp
    functionUses: 0
    functionsReached:
    - sendIcmpMessage
    linkageType: ''
    returnType: bool
    signature: "bool sendIcmpResponse(pcpp::PcapLiveDevice* dev, pcpp::MacAddress
      srcMacAddr, pcpp::MacAddress dstMacAddr,\n                      pcpp::IPv4Address
      srcIPAddr, pcpp::IPv4Address dstIPAddr, size_t icmpMsgId, uint64_t msgType,\n
      \                     uint8_t* data, size_t dataLen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:278,1
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:278,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:282,1
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' filePath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: getFileNameFromPath
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp
    functionUses: 1
    functionsReached:
    - length
    - rfind
    - substr
    linkageType: ''
    returnType: std::string
    signature: std::string getFileNameFromPath(const std::string& filePath)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:69,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:69,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:78,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:79,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:83,1
    - Dst: pcpp::IPv4Layer*::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:84,1
    - Dst: pcpp::IPv4Layer*::getDstIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:85,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:91,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:96,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:96,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:99,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:100,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:100,1
    - Dst: sendIcmpResponse
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:104,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:104,1
    - Dst: pcpp::EthLayer*::getSourceMac
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:104,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - rawPacket
    - dev
    - icmpVoidData
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 63
    functionDepth: 6
    functionLinenumber: 63
    functionLinenumberEnd: 114
    functionName: waitForFileTransferStart
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDevice*::getMacAddress
    - pcpp::Packet::isPacketOfType
    - pcpp::EthLayer*::getSourceMac
    - pcpp::IPv4Layer*::getSrcIPv4Address
    - pcpp::Packet::getLayerOfType
    - string
    - pcpp::netToHost16
    - sendIcmpResponse
    - EXIT_WITH_ERROR
    - pcpp::IPv4Layer*::getDstIPv4Address
    - pcpp::IcmpLayer*::getEchoRequestData
    linkageType: ''
    returnType: bool
    signature: bool waitForFileTransferStart(pcpp::RawPacket* rawPacket, pcpp::PcapLiveDevice*
      dev, void* icmpVoidData)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:126,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:126,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:135,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:136,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:140,1
    - Dst: pcpp::IPv4Layer*::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:141,1
    - Dst: pcpp::IPv4Layer*::getDstIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:142,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:146,1
    - Dst: IcmpFileContentDataRecv*::file::close
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:152,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:163,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:163,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:169,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:169,1
    - Dst: IcmpFileContentDataRecv*::file::close
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:172,1
    - Dst: EXIT_WITH_ERROR_AND_RUN_COMMAND
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:173,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:175,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:175,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:176,1
    - Dst: IcmpFileContentDataRecv*::fileName::c_str
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:176,1
    - Dst: IcmpFileContentDataRecv*::file::write
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:183,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:183,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:183,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:186,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:189,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - rawPacket
    - dev
    - icmpVoidData
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 198
    functionName: getFileContent
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - IcmpFileContentDataRecv*::file::close
    - pcpp::IPv4Layer*::getSrcIPv4Address
    - pcpp::Packet::getLayerOfType
    - pcpp::netToHost16
    - std::remove
    - pcpp::IPv4Layer*::getDstIPv4Address
    - pcpp::IcmpLayer*::getEchoRequestData
    - IcmpFileContentDataRecv*::file::write
    - IcmpFileContentDataRecv*::fileName::c_str
    - EXIT_WITH_ERROR_AND_RUN_COMMAND
    linkageType: ''
    returnType: bool
    signature: bool getFileContent(pcpp::RawPacket* rawPacket, pcpp::PcapLiveDevice*
      dev, void* icmpVoidData)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:206,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:208,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:211,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:212,1
    - Dst: pcpp::PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:216,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:217,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:224,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:226,1
    - Dst: IcmpFileTransferStart::fileName::c_str
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:229,1
    - Dst: std::ofstream::is_open
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:231,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:240,1
    - Dst: std::ofstream::close
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:243,1
    - Dst: EXIT_WITH_ERROR_AND_RUN_COMMAND
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:244,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:245,1
    - Dst: IcmpFileTransferStart::fileName::c_str
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:245,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:254,1
    - Dst: pcpp::PcapLiveDevice*::clearFilter
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:257,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pitcherIP
    - catcherIP
    argTypes:
    - pcpp::IPv4Address
    - pcpp::IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 259
    functionName: receiveFile
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp
    functionUses: 1
    functionsReached:
    - std::ofstream::is_open
    - pcpp::PcapLiveDevice*::open
    - pcpp::PcapLiveDevice*::startCaptureBlockingMode
    - pcpp::PcapLiveDevice*::close
    - EXIT_WITH_ERROR
    - std::ofstream::close
    - pcpp::PcapLiveDevice*::setFilter
    - std::remove
    - pcpp::PcapLiveDevice*::clearFilter
    - IcmpFileTransferStart::fileName::c_str
    - EXIT_WITH_ERROR_AND_RUN_COMMAND
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void receiveFile(pcpp::IPv4Address pitcherIP, pcpp::IPv4Address catcherIP)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:272,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:272,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:281,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:282,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:286,1
    - Dst: pcpp::IPv4Layer*::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:287,1
    - Dst: pcpp::IPv4Layer*::getDstIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:288,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:294,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:299,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:300,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:300,1
    - Dst: sendIcmpResponse
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:303,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:303,1
    - Dst: pcpp::EthLayer*::getSourceMac
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:303,1
    - Dst: IcmpFileTransferStart*::fileName::c_str
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:304,1
    - Dst: IcmpFileTransferStart*::fileName::length
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:305,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:306,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - rawPacket
    - dev
    - icmpVoidData
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 266
    functionDepth: 6
    functionLinenumber: 266
    functionLinenumberEnd: 309
    functionName: startFileTransfer
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp
    functionUses: 0
    functionsReached:
    - IcmpFileTransferStart*::fileName::c_str
    - IcmpFileTransferStart*::fileName::length
    - pcpp::PcapLiveDevice*::getMacAddress
    - pcpp::Packet::isPacketOfType
    - pcpp::EthLayer*::getSourceMac
    - pcpp::IPv4Layer*::getSrcIPv4Address
    - pcpp::Packet::getLayerOfType
    - pcpp::netToHost16
    - sendIcmpResponse
    - EXIT_WITH_ERROR
    - pcpp::IPv4Layer*::getDstIPv4Address
    - pcpp::IcmpLayer*::getEchoRequestData
    linkageType: ''
    returnType: bool
    signature: bool startFileTransfer(pcpp::RawPacket* rawPacket, pcpp::PcapLiveDevice*
      dev, void* icmpVoidData)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:321,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:321,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:330,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:331,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:335,1
    - Dst: pcpp::IPv4Layer*::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:336,1
    - Dst: pcpp::IPv4Layer*::getDstIPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:337,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:341,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:345,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:352,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:353,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:353,1
    - Dst: sendIcmpResponse
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:360,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:360,1
    - Dst: pcpp::EthLayer*::getSourceMac
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:360,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:362,1
    - Dst: IcmpFileContentDataSend*::file::read
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:369,1
    - Dst: sendIcmpResponse
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:373,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:373,1
    - Dst: pcpp::EthLayer*::getSourceMac
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:373,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:376,1
    - Dst: IcmpFileContentDataSend*::file::gcount
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:387,1
    - Dst: sendIcmpResponse
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:391,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:391,1
    - Dst: pcpp::EthLayer*::getSourceMac
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:391,1
    - Dst: IcmpFileContentDataSend*::file::gcount
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:393,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:394,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 3
    argNames:
    - rawPacket
    - dev
    - icmpVoidData
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 315
    functionDepth: 6
    functionLinenumber: 315
    functionLinenumberEnd: 411
    functionName: sendContent
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp
    functionUses: 0
    functionsReached:
    - IcmpFileContentDataSend*::file::gcount
    - pcpp::PcapLiveDevice*::getMacAddress
    - pcpp::Packet::isPacketOfType
    - pcpp::EthLayer*::getSourceMac
    - pcpp::IPv4Layer*::getSrcIPv4Address
    - pcpp::Packet::getLayerOfType
    - pcpp::netToHost16
    - EXIT_WITH_ERROR
    - sendIcmpResponse
    - IcmpFileContentDataSend*::file::read
    - pcpp::IPv4Layer*::getDstIPv4Address
    - pcpp::IcmpLayer*::getEchoRequestData
    linkageType: ''
    returnType: bool
    signature: bool sendContent(pcpp::RawPacket* rawPacket, pcpp::PcapLiveDevice*
      dev, void* icmpVoidData)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:419,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:421,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:424,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:425,1
    - Dst: pcpp::PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:429,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:430,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:433,1
    - Dst: std::ifstream::is_open
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:435,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:438,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:439,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:442,1
    - Dst: getFileNameFromPath
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:445,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:454,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:457,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:464,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:468,1
    - Dst: std::ifstream::close
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:472,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:476,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:484,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:487,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - ' filePath'
    - pitcherIP
    - catcherIP
    - blockSize
    argTypes:
    - std::string
    - pcpp::IPv4Address
    - pcpp::IPv4Address
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 488
    functionName: sendFile
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::is_open
    - pcpp::PcapLiveDevice*::open
    - pcpp::GtpV2InformationElement::getInstance
    - std::ifstream::seekg
    - getFileNameFromPath
    - char::char
    - pcpp::PcapLiveDevice*::startCaptureBlockingMode
    - pcpp::PcapLiveDevice*::close
    - EXIT_WITH_ERROR
    - pcpp::PcapLiveDevice*::setFilter
    - std::ifstream::close
    - std::ifstream::tellg
    - c_str
    linkageType: ''
    returnType: void
    signature: void sendFile(const std::string& filePath, pcpp::IPv4Address pitcherIP,
      pcpp::IPv4Address catcherIP, size_t blockSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:495,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:498,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:499,1
    - Dst: setbuf
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:505,1
    - Dst: readCommandLineArguments
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:509,1
    - Dst: sendFile
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:514,1
    - Dst: receiveFile
      Src: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 518
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp
    functionUses: 0
    functionsReached:
    - pcpp::AppName::init
    - setbuf
    - receiveFile
    - sendFile
    - pcpp::IPv4Address::IPv4Address
    - readCommandLineArguments
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 104
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp
    functionUses: 12
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:111,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:111,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:112,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:113,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp
    functionUses: 12
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: substr
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:122,1
    - Dst: find_last_of
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: getExtension
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp
    functionUses: 4
    functionsReached:
    - substr
    - find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string getExtension(const std::string& fileName)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:132,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:135,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:142,1
    - Dst: std::unique_ptr::setFilter
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:149,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:149,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:160,1
    - Dst: std::unique_ptr::getNextPacket
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:163,1
    - Dst: pcpp::Packet::toStringList
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:173,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:184,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - ' pcapFilePath'
    - searchCriteria
    - detailedReportFile
    argTypes:
    - std::string
    - std::string
    - std::ofstream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 197
    functionName: searchPcap
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getNextPacket
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::IFileReaderDevice::tryCreateReader
    - std::unique_ptr::open
    - std::unique_ptr::setFilter
    - pcpp::RawPacket::RawPacket
    - pcpp::Packet::toStringList
    - std::unique_ptr::close
    - std::move
    linkageType: ''
    returnType: int
    signature: int searchPcap(const std::string& pcapFilePath, std::string searchCriteria,
      std::ofstream* detailedReportFile)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:209,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:209,1
    - Dst: readdir
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:215,1
    - Dst: compare
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:227,1
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:227,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:227,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:227,1
    - Dst: stat
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:235,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:235,1
    - Dst: readdir
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:237,1
    - Dst: std::unordered_map<std::string, bool>::find
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:246,1
    - Dst: getExtension
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:246,1
    - Dst: std::unordered_map<std::string, bool>::end
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:246,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:247,1
    - Dst: readdir
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:248,1
    - Dst: readdir
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:255,1
    - Dst: searchDirectories
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:262,1
    - Dst: readdir
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:266,1
    - Dst: closedir
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:270,1
    - Dst: searchPcap
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:279,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 8
    argNames:
    - ' directory'
    - includeSubDirectories
    - ' searchCriteria'
    - detailedReportFile
    - extensionsToSearch
    - ' totalDirSearched'
    - ' totalFilesSearched'
    - ' totalPacketsFound'
    argTypes:
    - std::string
    - bool
    - std::string
    - std::ofstream*
    - std::unordered_map<std::string, bool>
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 204
    functionDepth: 4
    functionLinenumber: 204
    functionLinenumberEnd: 289
    functionName: searchDirectories
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp
    functionUses: 1
    functionsReached:
    - searchPcap
    - getExtension
    - std::string::length
    - closedir
    - opendir
    - std::unordered_map<std::string, bool>::find
    - length
    - searchDirectories
    - readdir
    - std::vector::push_back
    - stat
    - std::string::c_str
    - std::unordered_map<std::string, bool>::end
    - c_str
    - compare
    linkageType: ''
    returnType: void
    signature: "void searchDirectories(const std::string& directory, bool includeSubDirectories,
      const std::string& searchCriteria,\n                       std::ofstream* detailedReportFile,
      std::unordered_map<std::string, bool> extensionsToSearch,\n                       int&
      totalDirSearched, int& totalFilesSearched, int& totalPacketsFound)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:296,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:315,1
    - Dst: std::unordered_map::clear
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:336,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:337,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:341,1
    - Dst: std::unordered_map::find
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:344,1
    - Dst: std::unordered_map::end
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:344,1
    - Dst: std::unordered_map::empty
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:349,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:351,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:356,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:357,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:359,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:362,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:363,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:369,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:374,1
    - Dst: opendir
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:377,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:377,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:380,1
    - Dst: closedir
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:382,1
    - Dst: pcpp::BPFStringFilter::verifyFilter
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:386,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:388,1
    - Dst: std::ofstream::ofstream
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:395,1
    - Dst: std::ofstream*::open
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:396,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:396,1
    - Dst: std::ofstream*::fail
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:397,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:399,1
    - Dst: searchDirectories
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:409,1
    - Dst: std::ofstream*::is_open
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:420,1
    - Dst: std::ofstream*::close
      Src: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp:421,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 294
    functionDepth: 5
    functionLinenumber: 294
    functionLinenumberEnd: 428
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp
    functionUses: 0
    functionsReached:
    - closedir
    - opendir
    - std::ofstream::ofstream
    - std::getline
    - printUsage
    - EXIT_WITH_ERROR
    - std::string::c_str
    - std::ofstream*::is_open
    - pcpp::AppName::init
    - string
    - pcpp::BPFStringFilter::verifyFilter
    - std::unordered_map::end
    - std::unordered_map::find
    - std::ofstream*::open
    - getopt_long
    - std::unordered_map::empty
    - std::ofstream*::fail
    - exit
    - searchDirectories
    - std::unordered_map::clear
    - std::ofstream*::close
    - printAppVersion
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: IFTODT
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IFTODT(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: DTTOIF
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DTTOIF(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: S_ISFIFO
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISFIFO(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: S_ISDIR
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISDIR(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: S_ISREG
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISREG(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: S_ISLNK
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISLNK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: S_ISSOCK
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISSOCK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: S_ISCHR
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISCHR(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: S_ISBLK
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISBLK(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: _D_EXACT_NAMLEN
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _D_EXACT_NAMLEN(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: _D_ALLOC_NAMLEN
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _D_ALLOC_NAMLEN(p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dirent_set_errno
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:320,1
    - Dst: malloc
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:325,1
    - Dst: wcslen
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:341,1
    - Dst: GetFullPathNameW
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:343,1
    - Dst: malloc
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:347,1
    - Dst: wcsncpy_s
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:360,1
    - Dst: GetFullPathNameW
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:362,1
    - Dst: dirent_first
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:390,1
    - Dst: dirent_set_errno
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:399,1
    - Dst: dirent_set_errno
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:405,1
    - Dst: _wclosedir
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:424,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 429
    functionName: _wopendir
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 0
    functionsReached:
    - dirent_first
    - dirent_set_errno
    - wcslen
    - GetFullPathNameW
    - _wclosedir
    - wcsncpy_s
    - malloc
    linkageType: ''
    returnType: _WDIR
    signature: _WDIR * _wopendir(const wchar_t* dirname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dirent_next
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _WDIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 495
    functionName: _wreaddir
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 0
    functionsReached:
    - dirent_next
    linkageType: ''
    returnType: struct _wdirent
    signature: struct _wdirent * _wreaddir(_WDIR* dirp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:511,1
    - Dst: free
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:518,1
    - Dst: free
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:523,1
    - Dst: dirent_set_errno
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _WDIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 533
    functionName: _wclosedir
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 1
    functionsReached:
    - free
    - FindClose
    - dirent_set_errno
    linkageType: ''
    returnType: int
    signature: int _wclosedir(_WDIR* dirp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:546,1
    - Dst: dirent_first
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _WDIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 552
    functionName: _wrewinddir
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 0
    functionsReached:
    - FindClose
    - dirent_first
    linkageType: ''
    returnType: void
    signature: void _wrewinddir(_WDIR* dirp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindFirstFileExW
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _WDIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 576
    functionName: dirent_first
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 2
    functionsReached:
    - FindFirstFileExW
    linkageType: ''
    returnType: WIN32_FIND_DATAW
    signature: WIN32_FIND_DATAW * dirent_first(_WDIR* dirp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FindNextFileW
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:595,1
    - Dst: FindClose
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - _WDIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 616
    functionName: dirent_next
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 1
    functionsReached:
    - FindClose
    - FindNextFileW
    linkageType: ''
    returnType: WIN32_FIND_DATAW
    signature: WIN32_FIND_DATAW * dirent_next(_WDIR* dirp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dirent_set_errno
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:629,1
    - Dst: malloc
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:634,1
    - Dst: dirent_mbstowcs_s
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:641,1
    - Dst: _wopendir
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:646,1
    - Dst: free
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:678,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 683
    functionName: opendir
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 6
    functionsReached:
    - dirent_set_errno
    - dirent_mbstowcs_s
    - free
    - _wopendir
    - malloc
    linkageType: ''
    returnType: DIR
    signature: DIR * opendir(const char* dirname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dirent_next
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:704,1
    - Dst: dirent_wcstombs_s
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:711,1
    - Dst: dirent_wcstombs_s
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:725,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 781
    functionName: readdir
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 4
    functionsReached:
    - dirent_next
    - dirent_wcstombs_s
    linkageType: ''
    returnType: struct dirent
    signature: struct dirent * readdir(DIR* dirp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _wclosedir
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:793,1
    - Dst: free
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:797,1
    - Dst: dirent_set_errno
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 807
    functionName: closedir
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 7
    functionsReached:
    - free
    - _wclosedir
    - dirent_set_errno
    linkageType: ''
    returnType: int
    signature: int closedir(DIR* dirp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _wrewinddir
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - DIR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: rewinddir
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 1
    functionsReached:
    - _wrewinddir
    linkageType: ''
    returnType: void
    signature: void rewinddir(DIR* dirp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mbstowcs_s
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:827,1
    - Dst: mbstowcs
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:835,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - pReturnValue
    - wcstr
    - sizeInWords
    - mbstr
    - count
    argTypes:
    - size_t*
    - wchar_t*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 868
    functionName: dirent_mbstowcs_s
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 1
    functionsReached:
    - mbstowcs
    - mbstowcs_s
    linkageType: ''
    returnType: int
    signature: "int dirent_mbstowcs_s(size_t* pReturnValue, wchar_t* wcstr, size_t
      sizeInWords, const char* mbstr,\n\t                             size_t count)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wcstombs_s
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:879,1
    - Dst: wcstombs
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:887,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - pReturnValue
    - mbstr
    - sizeInBytes
    - wcstr
    - count
    argTypes:
    - size_t*
    - char*
    - size_t
    - wchar_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 920
    functionName: dirent_wcstombs_s
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 1
    functionsReached:
    - wcstombs
    - wcstombs_s
    linkageType: ''
    returnType: int
    signature: "int dirent_wcstombs_s(size_t* pReturnValue, char* mbstr, size_t sizeInBytes,
      /* max size of mbstr */\n\t                             const wchar_t* wcstr,
      size_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _set_errno
      Src: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 936
    functionName: dirent_set_errno
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    functionUses: 4
    functionsReached:
    - _set_errno
    linkageType: ''
    returnType: void
    signature: void dirent_set_errno(int error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::isalnum
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: isNotAlphanumeric
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 0
    functionsReached:
    - std::isalnum
    linkageType: ''
    returnType: bool
    signature: bool isNotAlphanumeric(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' first'
    - ' second'
    argTypes:
    - std::pair<std::string, uint64_t>
    - std::pair<std::string, uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: stringCountComparer
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stringCountComparer(const std::pair<std::string, uint64_t>& first,
      const std::pair<std::string, uint64_t>& second)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 127
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 13
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:134,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:134,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:135,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:136,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 13
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:146,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:151,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:151,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: listInterfaces
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 5
    functionsReached:
    - getName
    - getIPv4Address
    - exit
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void listInterfaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: onApplicationInterrupted
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onApplicationInterrupted(void* cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPAddress::IPAddress
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:171,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:172,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:174,1
    - Dst: pcpp::IPLayer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:175,1
    - Dst: pcpp::IPLayer*::getDstIPAddress
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:176,1
    - Dst: std::pair<pcpp::IPAddress, pcpp::IPAddress>
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: getIPs
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPAddress::IPAddress
    - pcpp::IPLayer*::getSrcIPAddress
    - isPacketOfType
    - pcpp::IPLayer*::getDstIPAddress
    - std::pair<pcpp::IPAddress, pcpp::IPAddress>
    - getLayerOfType
    linkageType: ''
    returnType: std::pair<pcpp::IPAddress, pcpp::IPAddress>
    signature: std::pair<pcpp::IPAddress, pcpp::IPAddress> getIPs(const pcpp::Packet&
      packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:187,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:189,1
    - Dst: pcpp::TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:190,1
    - Dst: pcpp::TcpLayer*::getDstPort
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:191,1
    - Dst: std::pair<uint16_t, uint16_t>
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: getTcpPorts
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 0
    functionsReached:
    - isPacketOfType
    - pcpp::TcpLayer*::getSrcPort
    - getLayerOfType
    - pcpp::TcpLayer*::getDstPort
    - std::pair<uint16_t, uint16_t>
    linkageType: ''
    returnType: std::pair<uint16_t, uint16_t>
    signature: std::pair<uint16_t, uint16_t> getTcpPorts(const pcpp::Packet& packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIPs
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:205,1
    - Dst: getTcpPorts
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:206,1
    - Dst: std::pair::first::toString
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:209,1
    - Dst: std::pair::second::toString
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - outputFile
    - ' parsedPacket'
    - ' tlsFPString'
    - ' tlsFP_MD5'
    - ' tlsFPType'
    - ' separator'
    argTypes:
    - std::ofstream*
    - pcpp::Packet
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: writeToOutputFile
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 0
    functionsReached:
    - getIPs
    - std::pair::second::toString
    - std::pair::first::toString
    - getTcpPorts
    linkageType: ''
    returnType: void
    signature: "void writeToOutputFile(std::ofstream* outputFile, const pcpp::Packet&
      parsedPacket, const std::string& tlsFPString,\n                       const
      std::string& tlsFP_MD5, const std::string& tlsFPType, const std::string& separator)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' outputFile'
    - ' separator'
    argTypes:
    - std::ofstream
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: writeHeaderToOutputFile
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void writeHeaderToOutputFile(std::ofstream& outputFile, const std::string&
      separator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: TLSFingerprintingStats
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TLSFingerprintingStats()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:250,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:251,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:253,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:254,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:259,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:259,1
    - Dst: std::sort
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:260,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:260,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:260,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:263,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:263,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:265,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:270,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' tlsFingerprintMap'
    - printCountItems
    argTypes:
    - std::unordered_map<std::string, uint64_t>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 272
    functionName: printCommonTLSFingerprints
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 0
    functionsReached:
    - std::sort
    - std::vector::end
    - begin
    - end
    - pcpp::TablePrinter::printRow
    - std::vector::begin
    - std::vector::push_back
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void printCommonTLSFingerprints(const std::unordered_map<std::string,
      uint64_t>& tlsFingerprintMap, int printCountItems)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: chFingerprints::size
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:287,1
    - Dst: shFingerprints::size
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:292,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:295,1
    - Dst: chFingerprints::empty
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:300,1
    - Dst: chFingerprints::size
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:302,1
    - Dst: printCommonTLSFingerprints
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:307,1
    - Dst: shFingerprints::empty
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:312,1
    - Dst: shFingerprints::size
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:314,1
    - Dst: printCommonTLSFingerprints
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:319,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - ' stats'
    - chFP
    - shFP
    argTypes:
    - TLSFingerprintingStats
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 322
    functionName: printStats
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 1
    functionsReached:
    - shFingerprints::size
    - shFingerprints::empty
    - chFingerprints::size
    - printCommonTLSFingerprints
    - std::stringstream::str
    - chFingerprints::empty
    linkageType: ''
    returnType: void
    signature: void printStats(const TLSFingerprintingStats& stats, bool chFP, bool
      shFP)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:332,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:335,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:343,1
    - Dst: pcpp::SSLClientHelloMessage*::generateTLSFingerprint
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:350,1
    - Dst: pcpp::SSLClientHelloMessage::ClientHelloTLSFingerprint::toStringAndMD5
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:351,1
    - Dst: writeToOutputFile
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:354,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:364,1
    - Dst: pcpp::SSLServerHelloMessage*::generateTLSFingerprint
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:371,1
    - Dst: pcpp::SSLServerHelloMessage::ServerHelloTLSFingerprint::toStringAndMD5
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:372,1
    - Dst: writeToOutputFile
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - rawPacket
    - data
    argTypes:
    - pcpp::RawPacket*
    - HandlePacketData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 381
    functionName: handlePacket
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - pcpp::Packet::isPacketOfType
    - writeToOutputFile
    - pcpp::Packet::getLayerOfType
    - pcpp::SSLClientHelloMessage*::generateTLSFingerprint
    - pcpp::SSLClientHelloMessage::ClientHelloTLSFingerprint::toStringAndMD5
    - pcpp::SSLServerHelloMessage::ServerHelloTLSFingerprint::toStringAndMD5
    - pcpp::SSLServerHelloMessage*::generateTLSFingerprint
    linkageType: ''
    returnType: void
    signature: void handlePacket(pcpp::RawPacket* rawPacket, const HandlePacketData*
      data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:390,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:393,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:394,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:397,1
    - Dst: find_last_of
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:399,1
    - Dst: find_last_of
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:400,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:402,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:407,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:410,1
    - Dst: writeHeaderToOutputFile
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:414,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:417,1
    - Dst: std::unique_ptr::setFilter
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:419,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:420,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:433,1
    - Dst: std::unique_ptr::getNextPacket
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:436,1
    - Dst: handlePacket
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:438,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:442,1
    - Dst: printStats
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:444,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 6
    argNames:
    - ' inputPcapFileName'
    - ' outputFileName'
    - ' separator'
    - chFP
    - shFP
    - ' bpfFilter'
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 447
    functionName: doTlsFingerprintingOnPcapFile
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 0
    functionsReached:
    - std::unique_ptr::getNextPacket
    - empty
    - pcpp::IFileReaderDevice::tryCreateReader
    - std::unique_ptr::open
    - substr
    - std::unique_ptr::setFilter
    - EXIT_WITH_ERROR
    - writeHeaderToOutputFile
    - pcpp::RawPacket::RawPacket
    - handlePacket
    - find_last_of
    - std::unique_ptr::close
    - c_str
    - printStats
    linkageType: ''
    returnType: void
    signature: "void doTlsFingerprintingOnPcapFile(const std::string& inputPcapFileName,
      std::string& outputFileName,\n                                   const std::string&
      separator, bool chFP, bool shFP, const std::string& bpfFilter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HandlePacketData*>
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:454,1
    - Dst: handlePacket
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rawPacket
    - dev
    - cookie
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: onPacketArrives
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HandlePacketData*>
    - handlePacket
    linkageType: ''
    returnType: void
    signature: void onPacketArrives(pcpp::RawPacket* rawPacket, pcpp::PcapLiveDevice*
      dev, void* cookie)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:465,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:467,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:469,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:470,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:473,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:476,1
    - Dst: pcpp::PcapLiveDevice*::getName
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:476,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:477,1
    - Dst: remove_if
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:477,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:477,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:477,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:478,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:484,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:487,1
    - Dst: writeHeaderToOutputFile
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:491,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:494,1
    - Dst: pcpp::PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:496,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:497,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:511,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:515,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:519,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:519,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:522,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:523,1
    - Dst: printStats
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:525,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 6
    argNames:
    - ' interfaceNameOrIP'
    - ' outputFileName'
    - ' separator'
    - chFP
    - shFP
    - ' bpfFilter'
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 528
    functionName: doTlsFingerprintingOnLiveTraffic
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 0
    functionsReached:
    - end
    - empty
    - EXIT_WITH_ERROR
    - pcpp::PcapLiveDevice*::startCapture
    - c_str
    - printStats
    - pcpp::PcapLiveDevice*::stopCapture
    - pcpp::GtpV2InformationElement::getInstance
    - std::chrono::seconds
    - string
    - erase
    - begin
    - std::this_thread::sleep_for
    - remove_if
    - pcpp::PcapLiveDevice*::open
    - pcpp::PcapLiveDevice*::close
    - writeHeaderToOutputFile
    - pcpp::PcapLiveDevice*::setFilter
    - pcpp::PcapLiveDevice*::getName
    linkageType: ''
    returnType: void
    signature: "void doTlsFingerprintingOnLiveTraffic(const std::string& interfaceNameOrIP,
      std::string& outputFileName,\n                                      const std::string&
      separator, bool chFP, bool shFP, const std::string& bpfFilter)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:535,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:547,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:572,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:573,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:575,1
    - Dst: listInterfaces
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:578,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:581,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:582,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:587,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:587,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:589,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:598,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:598,1
    - Dst: std::isalnum
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:598,1
    - Dst: find
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:599,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:599,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:599,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:600,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:602,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:610,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:624,1
    - Dst: doTlsFingerprintingOnPcapFile
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:626,1
    - Dst: doTlsFingerprintingOnLiveTraffic
      Src: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp:630,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 533
    functionDepth: 4
    functionLinenumber: 533
    functionLinenumberEnd: 632
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    functionUses: 0
    functionsReached:
    - exit
    - listInterfaces
    - std::vector::end
    - pcpp::AppName::init
    - std::vector::begin
    - printUsage
    - std::string::empty
    - std::isalnum
    - EXIT_WITH_ERROR
    - doTlsFingerprintingOnLiveTraffic
    - find
    - doTlsFingerprintingOnPcapFile
    - getopt_long
    - printAppVersion
    - std::string::size
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' workerConfig'
    - ' matchingEngine'
    argTypes:
    - AppWorkerConfig
    - PacketMatchingEngine
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: AppWorkerThread::AppWorkerThread
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AppWorkerThread(AppWorkerConfig& workerConfig, PacketMatchingEngine&
      matchingEngine)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: ~AppWorkerThread()
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AppWorkerThread()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '& getStats()'
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PacketStats
    signature: PacketStats & getStats()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pathToWritePackets::c_str
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:56,1
    - Dst: pcpp::PcapFileWriterDevice::PcapFileWriterDevice
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:56,1
    - Dst: pcpp::PcapFileWriterDevice*::open
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:57,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:59,1
    - Dst: inDataCfg::size
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:64,1
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:85,1
    - Dst: collectStats
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:93,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:99,1
    - Dst: find
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:100,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:103,1
    - Dst: isMatched
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:109,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:116,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:120,1
    - Dst: pcpp::DpdkDevice*::sendPacket
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:132,1
    - Dst: pcpp::PcapFileWriterDevice*::writePacket
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h:138,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 1
    argNames:
    - coreId
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 162
    functionName: AppWorkerThread::run
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h
    functionUses: 0
    functionsReached:
    - collectStats
    - pcpp::hash5Tuple
    - pcpp::DpdkDevice*::receivePackets
    - pcpp::PcapFileWriterDevice*::writePacket
    - pcpp::PcapFileWriterDevice::PcapFileWriterDevice
    - end
    - pcpp::PcapFileWriterDevice*::open
    - pathToWritePackets::c_str
    - inDataCfg::size
    - pcpp::Packet::isPacketOfType
    - EXIT_WITH_ERROR
    - find
    - pcpp::DpdkDevice*::sendPacket
    - isMatched
    linkageType: ''
    returnType: bool
    signature: bool run(uint32_t coreId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: AppWorkerThread::stop
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: AppWorkerThread::getCoreId
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getCoreId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: EXIT_WITH_ERROR_AND_PRINT_USAGE
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR_AND_PRINT_USAGE(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: AppWorkerConfig
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AppWorkerConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: PacketStats
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketStats()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h:86,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h:88,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h:90,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h:92,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h:94,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h:96,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h:98,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h:100,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h:102,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: collectStats
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h
    functionUses: 5
    functionsReached:
    - isPacketOfType
    linkageType: ''
    returnType: void
    signature: void collectStats(pcpp::Packet& packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PacketStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: collectStats
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void collectStats(const PacketStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - ' srcIpToMatch'
    - ' dstIpToMatch'
    - srcPortToMatch
    - dstPortToMatch
    - protocolToMatch
    argTypes:
    - pcpp::IPv4Address
    - pcpp::IPv4Address
    - uint16_t
    - uint16_t
    - pcpp::ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 41
    functionName: PacketMatchingEngine::PacketMatchingEngine
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PacketMatchingEngine(const pcpp::IPv4Address& srcIpToMatch, const
      pcpp::IPv4Address& dstIpToMatch,\n\t                     uint16_t srcPortToMatch,
      uint16_t dstPortToMatch, pcpp::ProtocolType protocolToMatch)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h:47,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h:52,1
    - Dst: pcpp::IPv4Layer*::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h:53,1
    - Dst: pcpp::IPv4Layer*::getDstIPv4Address
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h:58,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h:67,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h:69,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h:70,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h:72,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h:74,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h:75,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h:95,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h:100,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 107
    functionName: PacketMatchingEngine::isMatched
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h
    functionUses: 0
    functionsReached:
    - getLayerOfType
    - pcpp::IPv4Layer*::getSrcIPv4Address
    - isPacketOfType
    - pcpp::IPv4Layer*::getDstIPv4Address
    linkageType: ''
    returnType: bool
    signature: bool isMatched(pcpp::Packet& packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 118
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp
    functionUses: 14
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:125,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:125,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:126,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:127,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp
    functionUses: 14
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getCoreMaskForAllMachineCores
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:136,1
    - Dst: pcpp::DpdkDeviceList::initDpdk
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:139,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:141,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:147,1
    - Dst: getDeviceId
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:151,1
    - Dst: getMacAddress
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:152,1
    - Dst: getPciAddress
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:153,1
    - Dst: getPMDName
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 5
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: listDpdkPorts
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp
    functionUses: 1
    functionsReached:
    - getPciAddress
    - pcpp::DpdkDeviceList::initDpdk
    - getMacAddress
    - getPMDName
    - EXIT_WITH_ERROR
    - getDeviceId
    - pcpp::getCoreMaskForAllMachineCores
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void listDpdkPorts()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:175,1
    - Dst: size
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:182,1
    - Dst: size
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:183,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:187,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:196,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:201,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:203,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:206,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:208,1
    - Dst: first::getDeviceId
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:217,1
    - Dst: inDataCfg::empty
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:224,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 8
    argNames:
    - ' dpdkDevicesToUse'
    - ' coresToUse'
    - writePacketsToDisk
    - ' packetFilePath'
    - sendPacketsTo
    - ' workerConfigArr'
    - workerConfigArrLen
    - rxQueues
    argTypes:
    - std::vector<pcpp::DpdkDevice*>
    - std::vector<pcpp::SystemCore>
    - bool
    - std::string
    - pcpp::DpdkDevice*
    - std::vector<AppWorkerConfig>
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 230
    functionName: prepareCoreConfiguration
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp
    functionUses: 0
    functionsReached:
    - std::vector::end
    - first::getDeviceId
    - std::vector::begin
    - size
    - std::vector::push_back
    - push_back
    - std::stringstream::str
    - inDataCfg::empty
    linkageType: ''
    returnType: void
    signature: "void prepareCoreConfiguration(std::vector<pcpp::DpdkDevice*>& dpdkDevicesToUse,\n
      \                             std::vector<pcpp::SystemCore>& coresToUse, bool
      writePacketsToDisk,\n                              const std::string& packetFilePath,
      pcpp::DpdkDevice* sendPacketsTo,\n                              std::vector<AppWorkerConfig>&
      workerConfigArr, int workerConfigArrLen, uint16_t rxQueues)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: FilterTrafficArgs
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterTrafficArgs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:250,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:250,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:251,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:251,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:252,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:252,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:253,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:253,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:254,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:254,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:255,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:255,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:256,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:256,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:257,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:257,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:258,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:258,1
    - Dst: pcpp::TablePrinter::printSeparator
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:259,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:260,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:260,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:261,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:261,1
    - Dst: pcpp::TablePrinter::printSeparator
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:262,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:263,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:263,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:264,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ' threadStats'
    - ' columnName'
    argTypes:
    - PacketStats
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 265
    functionName: printStats
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp
    functionUses: 3
    functionsReached:
    - pcpp::TablePrinter::printRow
    - pcpp::TablePrinter::printSeparator
    - to_string
    linkageType: ''
    returnType: void
    signature: void printStats(const PacketStats& threadStats, const std::string&
      columnName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:277,1
    - Dst: AppWorkerThread*::getStats
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:285,1
    - Dst: PacketStats::collectStats
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:286,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:287,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:297,1
    - Dst: printStats
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:301,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:301,1
    - Dst: printStats
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 312
    functionName: onApplicationInterrupted
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp
    functionUses: 0
    functionsReached:
    - AppWorkerThread*::getStats
    - PacketStats::collectStats
    - printStats
    - std::vector::push_back
    - pcpp::GtpV2InformationElement::getInstance
    - to_string
    linkageType: ''
    returnType: void
    signature: void onApplicationInterrupted(void* cookie)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:321,1
    - Dst: pcpp::getCoreMaskForAllMachineCores
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:329,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:347,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:357,1
    - Dst: getline
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:362,1
    - Dst: std::stringstream::fail
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:367,1
    - Dst: std::stringstream::get
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:367,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:370,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:372,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:376,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:378,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:384,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:389,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:394,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:396,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:398,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:404,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:411,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:415,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:423,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:427,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:433,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:436,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:443,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:446,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:453,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:460,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:466,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:469,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:473,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:479,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:482,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:486,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:492,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:493,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:497,1
    - Dst: listDpdkPorts
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:502,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:503,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:507,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:508,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:514,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:516,1
    - Dst: pcpp::createCoreVectorFromCoreMask
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:521,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:524,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:526,1
    - Dst: pcpp::DpdkDeviceList::initDpdk
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:530,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:532,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:536,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:539,1
    - Dst: createCoreVectorFromCoreMask
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:540,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:546,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:549,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:551,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:557,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:559,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:560,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfTxQueues
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:562,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:564,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfTxQueues
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:565,1
    - Dst: pcpp::DpdkDevice*::openMultiQueues
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:567,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:569,1
    - Dst: pcpp::DpdkDevice*::getDeviceId
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:569,1
    - Dst: pcpp::DpdkDevice*::getPMDName
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:569,1
    - Dst: pcpp::DpdkDevice*::getDeviceId
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:572,1
    - Dst: pcpp::DpdkDevice*::rssHashFunctionMaskToString
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:576,1
    - Dst: pcpp::DpdkDevice*::getConfiguredRssHashFunction
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:576,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:584,1
    - Dst: pcpp::DpdkDevice*::isOpened
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:585,1
    - Dst: pcpp::DpdkDevice*::open
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:585,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:587,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:591,1
    - Dst: prepareCoreConfiguration
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:592,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:593,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:600,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:600,1
    - Dst: AppWorkerThread::AppWorkerThread
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:602,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:603,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:608,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:610,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:616,1
    - Dst: sleep
      Src: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp:621,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 164
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 623
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - printUsage
    - std::string::empty
    - std::vector::clear
    - EXIT_WITH_ERROR
    - AppWorkerThread::AppWorkerThread
    - createCoreVectorFromCoreMask
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::DpdkDevice*::getConfiguredRssHashFunction
    - pcpp::DpdkDevice*::getTotalNumOfTxQueues
    - pcpp::AppName::init
    - pcpp::DpdkDevice*::rssHashFunctionMaskToString
    - pcpp::DpdkDeviceList::initDpdk
    - std::stringstream::get
    - pcpp::SdpLayer::getOwnerIPv4Address
    - string
    - listDpdkPorts
    - std::vector::push_back
    - pcpp::DpdkDevice*::openMultiQueues
    - EXIT_WITH_ERROR_AND_PRINT_USAGE
    - pcpp::DpdkDevice*::open
    - std::stringstream::fail
    - sleep
    - getopt_long
    - pcpp::getCoreMaskForAllMachineCores
    - pcpp::DpdkDevice*::getDeviceId
    - getline
    - exit
    - std::vector::end
    - std::vector::size
    - pcpp::DpdkDevice*::getPMDName
    - prepareCoreConfiguration
    - std::vector::begin
    - pcpp::createCoreVectorFromCoreMask
    - pcpp::DpdkDevice*::getTotalNumOfRxQueues
    - atoi
    - printAppVersion
    - pcpp::DpdkDevice*::isOpened
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: EXIT_WITH_ERROR_AND_PRINT_USAGE
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR_AND_PRINT_USAGE(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: PacketStats
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketStats()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:55,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:57,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:59,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:61,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:63,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:65,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: collectStats
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h
    functionUses: 6
    functionsReached:
    - isPacketOfType
    linkageType: ''
    returnType: void
    signature: void collectStats(pcpp::Packet& packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PacketStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: collectStats
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void collectStats(const PacketStats& stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ' delimiter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 123
    functionName: getStatValuesAsString
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string getStatValuesAsString(const std::string& delimiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:127,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:128,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:133,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:134,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:135,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:136,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:137,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:138,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:139,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:140,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:141,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:142,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:143,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:144,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:146,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:147,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:148,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:149,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:150,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:151,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:152,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:153,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:154,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:155,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:156,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 2
    argNames:
    - ' columnNames'
    - ' columnWidths'
    argTypes:
    - std::vector<std::string>
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 158
    functionName: getStatsColumns
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h
    functionUses: 0
    functionsReached:
    - push_back
    - clear
    linkageType: ''
    returnType: void
    signature: void getStatsColumns(std::vector<std::string>& columnNames, std::vector<int>&
      columnWidths)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - ' srcIpToMatch'
    - ' dstIpToMatch'
    - srcPortToMatch
    - dstPortToMatch
    - protocolToMatch
    argTypes:
    - pcpp::IPv4Address
    - pcpp::IPv4Address
    - uint16_t
    - uint16_t
    - pcpp::ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 40
    functionName: PacketMatchingEngine::PacketMatchingEngine
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PacketMatchingEngine(const pcpp::IPv4Address& srcIpToMatch, const
      pcpp::IPv4Address& dstIpToMatch,\n\t                     uint16_t srcPortToMatch,
      uint16_t dstPortToMatch, pcpp::ProtocolType protocolToMatch)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h:46,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h:51,1
    - Dst: pcpp::IPv4Layer*::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h:52,1
    - Dst: pcpp::IPv4Layer*::getDstIPv4Address
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h:57,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h:66,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h:68,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h:69,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h:71,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h:73,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h:74,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h:94,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h:99,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 106
    functionName: PacketMatchingEngine::isMatched
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h
    functionUses: 0
    functionsReached:
    - getLayerOfType
    - pcpp::IPv4Layer*::getSrcIPv4Address
    - isPacketOfType
    - pcpp::IPv4Layer*::getDstIPv4Address
    linkageType: ''
    returnType: bool
    signature: bool isMatched(pcpp::Packet& packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: CaptureThreadArgs
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CaptureThreadArgs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 125
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp
    functionUses: 15
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:132,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:132,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:133,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:134,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp
    functionUses: 15
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:144,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:146,1
    - Dst: getInterfaceIndex
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:150,1
    - Dst: getInterfaceIndex
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:152,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:159,1
    - Dst: getDeviceName
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:159,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:159,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:160,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:160,1
    - Dst: getMacAddress
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:161,1
    - Dst: getMacAddress
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:161,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:162,1
    - Dst: getTotalNumOfRxChannels
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:162,1
    - Dst: getMtu
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:163,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 168
    functionName: listPfRingDevices
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp
    functionUses: 0
    functionsReached:
    - getMtu
    - getMacAddress
    - getInterfaceIndex
    - std::ostringstream::str
    - std::setw
    - getTotalNumOfRxChannels
    - getDeviceName
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void listPfRingDevices()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: collectStats
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:185,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:191,1
    - Dst: find
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:192,1
    - Dst: end
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:195,1
    - Dst: CaptureThreadArgs*::matchingEngine::isMatched
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:201,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:208,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:212,1
    - Dst: CaptureThreadArgs*::sendPacketsTo::sendPacket
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:224,1
    - Dst: writePacket
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:230,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - packets
    - numOfPackets
    - threadId
    - device
    - userCookie
    argTypes:
    - pcpp::RawPacket*
    - uint32_t
    - uint8_t
    - pcpp::PfRingDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 236
    functionName: packetArrived
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp
    functionUses: 0
    functionsReached:
    - collectStats
    - pcpp::hash5Tuple
    - writePacket
    - pcpp::Packet::isPacketOfType
    - end
    - CaptureThreadArgs*::matchingEngine::isMatched
    - find
    - CaptureThreadArgs*::sendPacketsTo::sendPacket
    linkageType: ''
    returnType: void
    signature: "void packetArrived(pcpp::RawPacket* packets, uint32_t numOfPackets,
      uint8_t threadId, pcpp::PfRingDevice* device,\n                   void* userCookie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: onApplicationInterrupted
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onApplicationInterrupted(void* cookie)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:250,1
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:254,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:271,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:281,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:282,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:284,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:289,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:290,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:292,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:298,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:300,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:305,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:307,1
    - Dst: std::string::compare
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:307,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:307,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:317,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:321,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:329,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:333,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:339,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:342,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:349,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:352,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:359,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:366,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:372,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:373,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:377,1
    - Dst: listPfRingDevices
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:382,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:383,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:387,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:388,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:394,1
    - Dst: pcpp::PfRingDevice*::openMultiRxChannels
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:398,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:399,1
    - Dst: pcpp::PfRingDevice*::getDeviceName
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:399,1
    - Dst: pcpp::PfRingDevice*::open
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:402,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:403,1
    - Dst: pcpp::PfRingDevice*::getDeviceName
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:403,1
    - Dst: pcpp::PfRingDevice*::getCurrentCoreId
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:421,1
    - Dst: pcpp::PcapFileWriterDevice::PcapFileWriterDevice
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:442,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:455,1
    - Dst: pcpp::PcapFileWriterDevice::PcapFileWriterDevice
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:455,1
    - Dst: open
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:456,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:458,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:468,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:470,1
    - Dst: pcpp::PfRingDevice*::startCaptureMultiThread
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:475,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:477,1
    - Dst: pcpp::PfRingDevice*::getDeviceName
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:478,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:484,1
    - Dst: sleep
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:489,1
    - Dst: pcpp::PfRingDevice*::stopCapture
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:493,1
    - Dst: pcpp::PfRingDevice*::close
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:494,1
    - Dst: close
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:504,1
    - Dst: getStatsColumns
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:517,1
    - Dst: PacketStats::collectStats
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:525,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:526,1
    - Dst: getStatValuesAsString
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:526,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:528,1
    - Dst: PacketStats::getStatValuesAsString
      Src: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp:528,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 151
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 248
    functionDepth: 6
    functionLinenumber: 248
    functionLinenumberEnd: 529
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp
    functionUses: 0
    functionsReached:
    - std::string::compare
    - close
    - pcpp::PcapFileWriterDevice::PcapFileWriterDevice
    - pcpp::PfRingDevice*::open
    - printUsage
    - EXIT_WITH_ERROR
    - pcpp::PfRingDevice*::startCaptureMultiThread
    - pcpp::GtpV2InformationElement::getInstance
    - std::string::length
    - pcpp::AppName::init
    - pcpp::PfRingDevice*::openMultiRxChannels
    - open
    - PacketStats::collectStats
    - pcpp::SdpLayer::getOwnerIPv4Address
    - string
    - pcpp::getNumOfCores
    - pcpp::PfRingDevice*::stopCapture
    - EXIT_WITH_ERROR_AND_PRINT_USAGE
    - pcpp::PfRingDevice*::close
    - pcpp::TablePrinter::printRow
    - getStatsColumns
    - listPfRingDevices
    - sleep
    - getopt_long
    - PacketStats::getStatValuesAsString
    - getStatValuesAsString
    - exit
    - pcpp::PfRingDevice*::getCurrentCoreId
    - std::vector::data
    - atoi
    - printAppVersion
    - std::stringstream::str
    - pcpp::PfRingDevice*::getDeviceName
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - ' srcIpToMatch'
    - ' dstIpToMatch'
    - srcPortToMatch
    - dstPortToMatch
    - protocolToMatch
    argTypes:
    - pcpp::IPv4Address
    - pcpp::IPv4Address
    - uint16_t
    - uint16_t
    - pcpp::ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 41
    functionName: PacketMatchingEngine::PacketMatchingEngine
    functionSourceFile: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PacketMatchingEngine(const pcpp::IPv4Address& srcIpToMatch, const
      pcpp::IPv4Address& dstIpToMatch,\n\t                     uint16_t srcPortToMatch,
      uint16_t dstPortToMatch, pcpp::ProtocolType protocolToMatch)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h:47,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h:52,1
    - Dst: pcpp::IPv4Layer*::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h:53,1
    - Dst: pcpp::IPv4Layer*::getDstIPv4Address
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h:58,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h:67,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h:69,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h:70,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h:72,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h:74,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h:75,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h:95,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h:100,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 107
    functionName: PacketMatchingEngine::isMatched
    functionSourceFile: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h
    functionUses: 0
    functionsReached:
    - getLayerOfType
    - pcpp::IPv4Layer*::getSrcIPv4Address
    - isPacketOfType
    - pcpp::IPv4Layer*::getDstIPv4Address
    linkageType: ''
    returnType: bool
    signature: bool isMatched(pcpp::Packet& packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: EXIT_WITH_ERROR_AND_PRINT_USAGE
    functionSourceFile: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR_AND_PRINT_USAGE(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: PacketStats
    functionSourceFile: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketStats()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:74,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:76,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:78,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:80,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:82,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:84,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:86,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:88,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 92
    functionName: collectStats
    functionSourceFile: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
    functionUses: 8
    functionsReached:
    - isPacketOfType
    linkageType: ''
    returnType: void
    signature: void collectStats(pcpp::Packet& packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: PacketCaptureArgs
    functionSourceFile: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketCaptureArgs()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<PacketCaptureArgs*>
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:133,1
    - Dst: pcpp::XdpDevice*::stopReceivePackets
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:138,1
    - Dst: auto::packetStats::collectStats
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:151,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:155,1
    - Dst: auto::flowTable::find
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:156,1
    - Dst: auto::flowTable::end
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:161,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:167,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:168,1
    - Dst: auto::matchingEngine::isMatched
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:179,1
    - Dst: pcpp::RawPacketVector::pushBack
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:202,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:202,1
    - Dst: auto::pcapWriter::writePacket
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:208,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:215,1
    - Dst: auto::sendPacketsTo::sendPackets
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:217,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - packets
    - packetCount
    - device
    - userCookie
    argTypes:
    - pcpp::RawPacket[]
    - uint32_t
    - pcpp::XdpDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 219
    functionName: onPacketsArrive
    functionSourceFile: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
    functionUses: 0
    functionsReached:
    - auto::packetStats::collectStats
    - pcpp::hash5Tuple
    - pcpp::RawPacketVector::pushBack
    - auto::flowTable::end
    - auto::pcapWriter::writePacket
    - pcpp::XdpDevice*::stopReceivePackets
    - pcpp::Packet::isPacketOfType
    - pcpp::RawPacketVector::size
    - reinterpret_cast<PacketCaptureArgs*>
    - auto::sendPacketsTo::sendPackets
    - pcpp::RawPacket::RawPacket
    - auto::matchingEngine::isMatched
    - auto::flowTable::find
    linkageType: ''
    returnType: void
    signature: void onPacketsArrive(pcpp::RawPacket packets[], uint32_t packetCount,
      pcpp::XdpDevice* device, void* userCookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:231,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:231,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:232,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:232,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:233,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:233,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:234,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:234,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:235,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:235,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:236,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:236,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:237,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:237,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:238,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:238,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:239,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:239,1
    - Dst: pcpp::TablePrinter::printSeparator
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:240,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:241,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:241,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:242,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:242,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:243,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:243,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:244,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:244,1
    - Dst: pcpp::TablePrinter::printSeparator
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:245,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:246,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:246,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:247,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:247,1
    - Dst: pcpp::TablePrinter::printSeparator
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:248,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:249,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:249,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:250,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:250,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:251,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:251,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:252,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:252,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:255,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:255,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:256,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:256,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:257,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:257,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:258,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:258,1
    - Dst: pcpp::TablePrinter::closeTable
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 3
    argNames:
    - packetStats
    - rxDeviceStats
    - txDeviceStats
    argTypes:
    - PacketStats*
    - pcpp::XdpDevice::XdpDeviceStats*
    - pcpp::XdpDevice::XdpDeviceStats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 261
    functionName: printStats
    functionSourceFile: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
    functionUses: 4
    functionsReached:
    - pcpp::TablePrinter::closeTable
    - pcpp::TablePrinter::printRow
    - pcpp::TablePrinter::printSeparator
    - to_string
    linkageType: ''
    returnType: void
    signature: "void printStats(PacketStats* packetStats, pcpp::XdpDevice::XdpDeviceStats*
      rxDeviceStats,\n                pcpp::XdpDevice::XdpDeviceStats* txDeviceStats)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::future<void>::wait_for
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:269,1
    - Dst: std::chrono::milliseconds
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:269,1
    - Dst: pcpp::XdpDevice*::getStatistics
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:272,1
    - Dst: pcpp::XdpDevice*::getStatistics
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:282,1
    - Dst: printStats
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - futureObj
    - packetStats
    - dev
    - sendDev
    argTypes:
    - std::future<void>
    - PacketStats*
    - pcpp::XdpDevice*
    - pcpp::XdpDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 294
    functionName: collectStats
    functionSourceFile: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
    functionUses: 9
    functionsReached:
    - pcpp::XdpDevice*::getStatistics
    - std::future<void>::wait_for
    - std::chrono::milliseconds
    - printStats
    linkageType: ''
    returnType: void
    signature: void collectStats(std::future<void> futureObj, PacketStats* packetStats,
      pcpp::XdpDevice* dev, pcpp::XdpDevice* sendDev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 337
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
    functionUses: 16
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:344,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:344,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:345,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:346,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
    functionUses: 16
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:356,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:358,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:360,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:361,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 365
    functionName: listInterfaces
    functionSourceFile: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
    functionUses: 6
    functionsReached:
    - getName
    - getIPv4Address
    - exit
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void listInterfaces()
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:369,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:385,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:395,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:400,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:405,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:412,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:416,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:424,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:428,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:434,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:437,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:444,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:447,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:454,1
    - Dst: EXIT_WITH_ERROR_AND_PRINT_USAGE
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:465,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:471,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:472,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:476,1
    - Dst: listInterfaces
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:481,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:482,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:486,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:487,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:492,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:494,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:499,1
    - Dst: pcpp::PcapFileWriterDevice::PcapFileWriterDevice
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:501,1
    - Dst: pcpp::PcapFileWriterDevice*::open
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:502,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:505,1
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:511,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:513,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:520,1
    - Dst: std::make_unique<pcpp::XdpDevice>
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:530,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:531,1
    - Dst: pcpp::XdpDevice*::open
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:533,1
    - Dst: pcpp::XdpDevice::close
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:535,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:537,1
    - Dst: std::promise::get_future
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:555,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:558,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:561,1
    - Dst: reinterpret_cast<PacketCaptureArgs*>
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:562,1
    - Dst: pcpp::XdpDevice::receivePackets
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:565,1
    - Dst: std::promise::set_value
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:570,1
    - Dst: std::thread::join
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:571,1
    - Dst: pcpp::PcapFileWriterDevice*::getStatistics
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:578,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:579,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:579,1
    - Dst: pcpp::PcapFileWriterDevice*::getFileName
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:580,1
    - Dst: pcpp::PcapFileWriterDevice*::close
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:581,1
    - Dst: pcpp::XdpDevice*::getStatistics
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:592,1
    - Dst: pcpp::XdpDevice*::close
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:598,1
    - Dst: pcpp::XdpDevice::getStatistics
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:603,1
    - Dst: pcpp::XdpDevice::close
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:606,1
    - Dst: printStats
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:609,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp:619,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 133
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 621
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
    functionUses: 0
    functionsReached:
    - listInterfaces
    - pcpp::XdpDevice::close
    - pcpp::PcapFileWriterDevice::PcapFileWriterDevice
    - std::unique_ptr::get
    - std::promise::get_future
    - printUsage
    - std::stoi
    - std::string::empty
    - std::promise::set_value
    - EXIT_WITH_ERROR
    - std::make_unique<pcpp::XdpDevice>
    - std::thread::join
    - pcpp::XdpDevice::getStatistics
    - pcpp::GtpV2InformationElement::getInstance
    - printStats
    - pcpp::AppName::init
    - pcpp::XdpDevice*::open
    - pcpp::PcapFileWriterDevice*::open
    - pcpp::SdpLayer::getOwnerIPv4Address
    - string
    - pcpp::PcapFileWriterDevice*::getStatistics
    - reinterpret_cast<PacketCaptureArgs*>
    - std::vector::push_back
    - pcpp::PcapFileWriterDevice*::getFileName
    - EXIT_WITH_ERROR_AND_PRINT_USAGE
    - to_string
    - pcpp::XdpDevice*::close
    - pcpp::XdpDevice::receivePackets
    - getopt_long
    - pcpp::XdpDevice*::getStatistics
    - exit
    - pcpp::XdpDevice::open
    - printAppVersion
    - pcpp::PcapFileWriterDevice*::close
    - std::move
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: DnsSpoofStats
    functionSourceFile: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsSpoofStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: DnsSpoofingArgs
    functionSourceFile: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DnsSpoofingArgs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 112
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp
    functionUses: 17
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:119,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:119,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:120,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:121,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp
    functionUses: 17
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:131,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:136,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:136,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: listInterfaces
    functionSourceFile: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp
    functionUses: 7
    functionsReached:
    - getName
    - getIPv4Address
    - exit
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void listInterfaces()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:153,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:153,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:154,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:154,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:158,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:159,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:160,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:161,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:164,1
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:164,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:164,1
    - Dst: DnsSpoofingArgs*::dnsServer::isIPv4
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:168,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:169,1
    - Dst: pcpp::DnsQuery*::getDnsType
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:170,1
    - Dst: pcpp::DnsQuery*::getDnsClass
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:170,1
    - Dst: DnsSpoofingArgs*::dnsHostsToSpoof::empty
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:174,1
    - Dst: pcpp::DnsLayer*::getQuery
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:181,1
    - Dst: pcpp::EthLayer*::getSourceMac
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:195,1
    - Dst: pcpp::EthLayer*::setSourceMac
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:196,1
    - Dst: pcpp::EthLayer*::getDestMac
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:196,1
    - Dst: pcpp::EthLayer*::setDestMac
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:197,1
    - Dst: pcpp::IPLayer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:200,1
    - Dst: dynamic_cast<pcpp::IPv4Layer*>
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:201,1
    - Dst: dynamic_cast<pcpp::IPv6Layer*>
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:202,1
    - Dst: pcpp::IPv4Layer*::setSrcIPv4Address
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:205,1
    - Dst: pcpp::IPv4Layer*::getDstIPv4Address
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:205,1
    - Dst: pcpp::IPv4Layer*::setDstIPv4Address
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:206,1
    - Dst: pcpp::IPAddress::getIPv4
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:206,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:207,1
    - Dst: pcpp::IPv6Layer*::setSrcIPv6Address
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:211,1
    - Dst: pcpp::IPv6Layer*::getDstIPv6Address
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:211,1
    - Dst: pcpp::IPv6Layer*::setDstIPv6Address
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:212,1
    - Dst: pcpp::IPAddress::getIPv6
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:212,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:216,1
    - Dst: pcpp::UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:220,1
    - Dst: pcpp::UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:221,1
    - Dst: pcpp::UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:221,1
    - Dst: pcpp::UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:222,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:225,1
    - Dst: DnsSpoofingArgs*::dnsServer::isIPv4
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:226,1
    - Dst: DnsSpoofingArgs*::dnsServer::getIPv4
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:228,1
    - Dst: pcpp::DnsLayer*::addAnswer
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:229,1
    - Dst: pcpp::DnsQuery*::getName
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:229,1
    - Dst: DnsSpoofingArgs*::dnsServer::getIPv6
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:234,1
    - Dst: pcpp::DnsLayer*::addAnswer
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:235,1
    - Dst: pcpp::DnsQuery*::getName
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:235,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:239,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:242,1
    - Dst: pcpp::DnsQuery*::getName
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:246,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 3
    argNames:
    - packet
    - dev
    - cookie
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 247
    functionName: handleDnsRequest
    functionSourceFile: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::EthLayer*::getDestMac
    - pcpp::EthLayer*::setSourceMac
    - pcpp::IPLayer*::getSrcIPAddress
    - pcpp::IPv4Layer*::getIPv4Header
    - pcpp::DnsLayer*::getDnsHeader
    - dynamic_cast<pcpp::IPv6Layer*>
    - pcpp::IPv4Layer*::setSrcIPv4Address
    - pcpp::IPAddress::getIPv6
    - pcpp::EthLayer*::setDestMac
    - std::logic_error
    - pcpp::IPv6Layer*::setSrcIPv6Address
    - pcpp::DnsQuery*::getName
    - pcpp::DnsLayer*::getFirstQuery
    - pcpp::hostToNet16
    - pcpp::DnsQuery*::getDnsClass
    - pcpp::IPAddress::getIPv4
    - DnsSpoofingArgs*::dnsHostsToSpoof::empty
    - pcpp::IPv4Layer*::getDstIPv4Address
    - dynamic_cast<pcpp::IPv4Layer*>
    - pcpp::DnsLayer*::getQuery
    - DnsSpoofingArgs*::dnsServer::getIPv6
    - pcpp::UdpLayer*::getUdpHeader
    - pcpp::Packet::isPacketOfType
    - pcpp::Packet::getLayerOfType
    - pcpp::IPv4Layer*::setDstIPv4Address
    - pcpp::IPv6Layer*::setDstIPv6Address
    - DnsSpoofingArgs*::dnsServer::isIPv4
    - pcpp::Packet::computeCalculateFields
    - pcpp::IPv6Layer*::getDstIPv6Address
    - pcpp::EthLayer*::getSourceMac
    - DnsSpoofingArgs*::dnsServer::getIPv4
    - pcpp::DnsQuery*::getDnsType
    - pcpp::DnsLayer*::addAnswer
    - pcpp::PcapLiveDevice*::sendPacket
    linkageType: ''
    returnType: void
    signature: void handleDnsRequest(pcpp::RawPacket* packet, pcpp::PcapLiveDevice*
      dev, void* cookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' first'
    - ' second'
    argTypes:
    - std::pair<std::string, int>
    - std::pair<std::string, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: stringCountComparer
    functionSourceFile: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool stringCountComparer(const std::pair<std::string, int>& first,
      const std::pair<std::string, int>& second)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DnsSpoofingArgs*::stats::spoofedHosts::empty
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:267,1
    - Dst: DnsSpoofingArgs*::stats::spoofedHosts::size
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:278,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:283,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:284,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:286,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:287,1
    - Dst: DnsSpoofingArgs*::stats::spoofedHosts::begin
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:292,1
    - Dst: DnsSpoofingArgs*::stats::spoofedHosts::end
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:293,1
    - Dst: std::sort
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:294,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:294,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:294,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:301,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 306
    functionName: onApplicationInterrupted
    functionSourceFile: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp
    functionUses: 0
    functionsReached:
    - std::sort
    - std::vector::end
    - pcpp::TablePrinter::printRow
    - DnsSpoofingArgs*::stats::spoofedHosts::end
    - std::vector::begin
    - std::vector::push_back
    - DnsSpoofingArgs*::stats::spoofedHosts::begin
    - DnsSpoofingArgs*::stats::spoofedHosts::size
    - std::stringstream::str
    - DnsSpoofingArgs*::stats::spoofedHosts::empty
    linkageType: ''
    returnType: void
    signature: void onApplicationInterrupted(void* cookie)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:315,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:316,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:322,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:324,1
    - Dst: isZero
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:325,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:327,1
    - Dst: pcpp::PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:332,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:333,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:341,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:342,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:345,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:351,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - dev
    - ' dnsServer'
    - ' clientIP'
    - ' dnsHostsToSpoof'
    argTypes:
    - pcpp::PcapLiveDevice*
    - pcpp::IPAddress
    - pcpp::IPAddress
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 353
    functionName: doDnsSpoofing
    functionSourceFile: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDevice*::open
    - toString
    - std::chrono::seconds
    - std::vector::push_back
    - EXIT_WITH_ERROR
    - pcpp::PcapLiveDevice*::setFilter
    - std::this_thread::sleep_for
    - pcpp::PcapLiveDevice*::startCapture
    - isZero
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: "void doDnsSpoofing(pcpp::PcapLiveDevice* dev, const pcpp::IPAddress&
      dnsServer, const pcpp::IPAddress& clientIP,\n                   const std::vector<std::string>&
      dnsHostsToSpoof)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:360,1
    - Dst: pcpp::IPAddress::IPAddress
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:367,1
    - Dst: pcpp::IPAddress::IPAddress
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:369,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:374,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:384,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:385,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:389,1
    - Dst: listInterfaces
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:394,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:395,1
    - Dst: pcpp::VrrpLayer::addIPAddress
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:406,1
    - Dst: static_cast<char const*>
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:406,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:410,1
    - Dst: pcpp::VrrpLayer::addIPAddress
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:418,1
    - Dst: static_cast<char const*>
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:418,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:422,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:433,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:434,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:439,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:440,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:448,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:450,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:453,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:455,1
    - Dst: pcpp::IPAddress::isZero
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:458,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:459,1
    - Dst: pcpp::IPAddress::isZero
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:462,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:463,1
    - Dst: doDnsSpoofing
      Src: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp:465,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 358
    functionDepth: 4
    functionLinenumber: 358
    functionLinenumberEnd: 466
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp
    functionUses: 0
    functionsReached:
    - exit
    - pcpp::IPAddress::IPAddress
    - listInterfaces
    - pcpp::AppName::init
    - pcpp::VrrpLayer::addIPAddress
    - doDnsSpoofing
    - std::getline
    - printUsage
    - std::string::empty
    - std::vector::push_back
    - static_cast<char const*>
    - EXIT_WITH_ERROR
    - getopt_long
    - printAppVersion
    - pcpp::IPAddress::isZero
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/Arping/main.cpp
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/Arping/main.cpp
    functionUses: 18
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:76,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:76,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:77,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:78,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/Arping/main.cpp
    functionUses: 18
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:88,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:93,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:93,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: listInterfaces
    functionSourceFile: /src/PcapPlusPlus/Examples/Arping/main.cpp
    functionUses: 8
    functionsReached:
    - getName
    - getIPv4Address
    - exit
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void listInterfaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool*>
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: onApplicationInterrupted
    functionSourceFile: /src/PcapPlusPlus/Examples/Arping/main.cpp
    functionUses: 0
    functionsReached:
    - static_cast<bool*>
    linkageType: ''
    returnType: void
    signature: void onApplicationInterrupted(void* cookie)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:113,1
    - Dst: pcpp::MacAddress::MacAddress
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:116,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:117,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:118,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:126,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:139,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:143,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:149,1
    - Dst: static_cast<char const*>
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:149,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:153,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:159,1
    - Dst: static_cast<char const*>
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:159,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:163,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:168,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:171,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:172,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:174,1
    - Dst: listInterfaces
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:177,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:180,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:183,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:184,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:190,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:194,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:199,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:201,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:203,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:206,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:209,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:210,1
    - Dst: pcpp::PcapLiveDevice*::getName
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:210,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:214,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:218,1
    - Dst: pcpp::PcapLiveDevice*::getIPv4Address
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:221,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:224,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:231,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:235,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:240,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:247,1
    - Dst: precision
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:252,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Examples/Arping/main.cpp:261,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 262
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/Arping/main.cpp
    functionUses: 0
    functionsReached:
    - listInterfaces
    - precision
    - pcpp::PcapLiveDevice*::getMacAddress
    - printUsage
    - std::string::empty
    - EXIT_WITH_ERROR
    - pcpp::IPv4Address::IPv4Address
    - pcpp::PcapLiveDevice*::getIPv4Address
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::AppName::init
    - pcpp::SdpLayer::getOwnerIPv4Address
    - static_cast<char const*>
    - getopt_long
    - exit
    - pcpp::PcapLiveDevice*::open
    - pcpp::MacAddress::MacAddress
    - pcpp::PcapLiveDevice*::close
    - pcpp::StpLayer::IDtoMacAddress
    - atoi
    - printAppVersion
    - pcpp::PcapLiveDevice*::getName
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp
    functionUses: 38
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: DefragStats
    functionSourceFile: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void DefragStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 88
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp
    functionUses: 19
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:95,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:95,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:96,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:97,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp
    functionUses: 19
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:109,1
    - Dst: pcpp::IPReassembly::IPReassembly
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:113,1
    - Dst: pcpp::IFileReaderDevice*::getNextPacket
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:118,1
    - Dst: pcpp::BPFStringFilter::matches
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:128,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:143,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:148,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:162,1
    - Dst: std::unordered_map<uint32_t, bool>::find
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:166,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:166,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:166,1
    - Dst: std::unordered_map<uint32_t, bool>::end
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:166,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:177,1
    - Dst: pcpp::IPv6Layer*::isFragment
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:178,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:181,1
    - Dst: std::unordered_map<uint32_t, bool>::find
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:184,1
    - Dst: pcpp::netToHost32
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:184,1
    - Dst: pcpp::IPv6FragmentationHeader*::getFragHeader
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:184,1
    - Dst: std::unordered_map<uint32_t, bool>::end
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:184,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:199,1
    - Dst: pcpp::IFileWriterDevice*::writePacket
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:208,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:208,1
    - Dst: pcpp::IFileWriterDevice*::writePacket
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:238,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 60
    argCount: 8
    argNames:
    - reader
    - writer
    - filterByBpf
    - ' bpfFilter'
    - filterByIpID
    - fragIDs
    - copyAllPacketsToOutputFile
    - ' stats'
    argTypes:
    - pcpp::IFileReaderDevice*
    - pcpp::IFileWriterDevice*
    - bool
    - std::string
    - bool
    - std::unordered_map<uint32_t, bool>
    - bool
    - DefragStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 242
    functionName: processPackets
    functionSourceFile: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - pcpp::IFileWriterDevice*::writePacket
    - pcpp::IPv6Layer*::getExtensionOfType
    - pcpp::Packet::getLayerOfType
    - pcpp::netToHost16
    - pcpp::IPv6Layer*::isFragment
    - std::unordered_map<uint32_t, bool>::find
    - pcpp::Packet*::getRawPacket
    - pcpp::BPFStringFilter::matches
    - pcpp::IPReassembly::IPReassembly
    - pcpp::IPv4Layer*::getIPv4Header
    - pcpp::RawPacket::RawPacket
    - std::unordered_map<uint32_t, bool>::end
    - pcpp::netToHost32
    - pcpp::IPv6FragmentationHeader*::getFragHeader
    - pcpp::IPReassembly::processPacket
    - pcpp::IFileReaderDevice*::getNextPacket
    linkageType: ''
    returnType: void
    signature: "void processPackets(pcpp::IFileReaderDevice* reader, pcpp::IFileWriterDevice*
      writer, bool filterByBpf,\n                    const std::string& bpfFilter,
      bool filterByIpID, std::unordered_map<uint32_t, bool> fragIDs,\n                    bool
      copyAllPacketsToOutputFile, DefragStats& stats)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - ' stats'
    - filterByIpID
    - filterByBpf
    argTypes:
    - DefragStats
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 273
    functionName: printStats
    functionSourceFile: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp
    functionUses: 6
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void printStats(const DefragStats& stats, bool filterByIpID, bool filterByBpf)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:280,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:292,1
    - Dst: std::unordered_map::clear
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:309,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:310,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:314,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:317,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:317,1
    - Dst: std::unordered_map::emplace
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:319,1
    - Dst: std::unordered_map::empty
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:323,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:325,1
    - Dst: pcpp::BPFStringFilter::verifyFilter
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:334,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:335,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:345,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:346,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:350,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:365,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:376,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:382,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:387,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:391,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:393,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:395,1
    - Dst: dynamic_cast<pcpp::PcapFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:401,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:401,1
    - Dst: std::make_unique<pcpp::PcapFileWriterDevice>
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:403,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:404,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:404,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:406,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:406,1
    - Dst: std::make_unique<pcpp::PcapNgFileWriterDevice>
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:408,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:412,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:415,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:417,1
    - Dst: processPackets
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:422,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:422,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:422,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:426,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:427,1
    - Dst: printStats
      Src: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp:430,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 431
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<pcpp::PcapFileWriterDevice>
    - std::unique_ptr::get
    - std::getline
    - printUsage
    - pcpp::IFileReaderDevice::tryCreateReader
    - getLinkLayerType
    - EXIT_WITH_ERROR
    - std::string::c_str
    - printStats
    - dynamic_cast<pcpp::PcapFileReaderDevice*>
    - pcpp::AppName::init
    - std::make_unique<pcpp::PcapNgFileWriterDevice>
    - string
    - pcpp::BPFStringFilter::verifyFilter
    - std::unique_ptr::open
    - dynamic_cast<pcpp::PcapNgFileReaderDevice*>
    - std::unique_ptr::close
    - getopt_long
    - std::unordered_map::empty
    - processPackets
    - exit
    - std::unordered_map::clear
    - atoi
    - std::unordered_map::emplace
    - printAppVersion
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:17,1
    - Dst: SkipWithMessage
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:19,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:23,1
    - Dst: SkipWithError
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:26,1
    - Dst: auto::open
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:30,1
    - Dst: SkipWithError
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:32,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:38,1
    - Dst: auto::getNextPacket
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:41,1
    - Dst: SkipWithError
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:46,1
    - Dst: PauseTiming
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:51,1
    - Dst: auto::close
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:52,1
    - Dst: auto::open
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:53,1
    - Dst: ResumeTiming
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:54,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:59,1
    - Dst: SetBytesProcessed
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:62,1
    - Dst: SetItemsProcessed
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:63,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - ' state'
    - ' filepath'
    argTypes:
    - benchmark::State
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 64
    functionName: BM_FileRead
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp
    functionUses: 0
    functionsReached:
    - auto::getNextPacket
    - auto::open
    - auto::close
    - empty
    - pcpp::IFileReaderDevice::tryCreateReader
    - PauseTiming
    - SetItemsProcessed
    - SetBytesProcessed
    - SkipWithError
    - pcpp::RawPacket::RawPacket
    - ResumeTiming
    - SkipWithMessage
    - pcpp::RawPacket::getRawDataLen
    linkageType: ''
    returnType: void
    signature: void BM_FileRead(benchmark::State& state, std::string const& filepath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:68,1
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:68,1
    - Dst: compare
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:70,1
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' str'
    - ' prefix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: startsWith
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp
    functionUses: 0
    functionsReached:
    - length
    - compare
    linkageType: ''
    returnType: bool
    signature: bool startsWith(std::string const& str, std::string const& prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:75,1
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:75,1
    - Dst: compare
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:77,1
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:77,1
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:77,1
    - Dst: length
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' str'
    - ' suffix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: endsWith
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp
    functionUses: 0
    functionsReached:
    - length
    - compare
    linkageType: ''
    returnType: bool
    signature: bool endsWith(std::string const& str, std::string const& suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:82,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' filepath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: getFileName
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp
    functionUses: 4
    functionsReached:
    - substr
    - find_last_of
    linkageType: ''
    returnType: std::string
    signature: std::string getFileName(std::string const& filepath)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:90,1
    - Dst: SkipWithMessage
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:92,1
    - Dst: endsWith
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:98,1
    - Dst: std::make_unique<pcpp::PcapFileWriterDevice>
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:100,1
    - Dst: endsWith
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:102,1
    - Dst: std::make_unique<pcpp::PcapNgFileWriterDevice>
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:104,1
    - Dst: SkipWithError
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:108,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:112,1
    - Dst: SkipWithError
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:114,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:119,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:120,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:120,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:121,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:121,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:124,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:125,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:126,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:127,1
    - Dst: std::unique_ptr::writePacket
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:134,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:134,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:138,1
    - Dst: SetBytesProcessed
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:142,1
    - Dst: SetItemsProcessed
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - ' state'
    - ' filepath'
    argTypes:
    - benchmark::State
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 144
    functionName: BM_FileWrite
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - std::make_unique<pcpp::PcapFileWriterDevice>
    - std::make_unique<pcpp::PcapNgFileWriterDevice>
    - pcpp::SdpLayer::getOwnerIPv4Address
    - empty
    - std::unique_ptr::open
    - std::unique_ptr::writePacket
    - SetItemsProcessed
    - pcpp::StpLayer::IDtoMacAddress
    - SkipWithError
    - pcpp::Packet::Packet
    - SetBytesProcessed
    - endsWith
    - SkipWithMessage
    linkageType: ''
    returnType: void
    signature: void BM_FileWrite(benchmark::State& state, std::string const& filepath)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:151,1
    - Dst: SkipWithMessage
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:153,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:158,1
    - Dst: SkipWithError
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:161,1
    - Dst: auto::open
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:165,1
    - Dst: SkipWithError
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:167,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:173,1
    - Dst: auto::getNextPacket
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:176,1
    - Dst: SkipWithError
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:181,1
    - Dst: PauseTiming
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:186,1
    - Dst: auto::close
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:187,1
    - Dst: auto::open
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:188,1
    - Dst: ResumeTiming
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:189,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:197,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:197,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:201,1
    - Dst: SetBytesProcessed
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:205,1
    - Dst: SetItemsProcessed
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - ' state'
    - ' filename'
    argTypes:
    - benchmark::State
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 207
    functionName: BM_PacketParsing
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - benchmark::DoNotOptimize
    - auto::getNextPacket
    - auto::open
    - auto::close
    - empty
    - pcpp::IFileReaderDevice::tryCreateReader
    - PauseTiming
    - SetItemsProcessed
    - SetBytesProcessed
    - SkipWithError
    - pcpp::RawPacket::RawPacket
    - ResumeTiming
    - SkipWithMessage
    - pcpp::RawPacket::getRawDataLen
    linkageType: ''
    returnType: void
    signature: void BM_PacketParsing(benchmark::State& state, std::string const& filename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:211,1
    - Dst: SkipWithMessage
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:213,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:218,1
    - Dst: SkipWithError
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:221,1
    - Dst: auto::open
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:225,1
    - Dst: SkipWithError
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:227,1
    - Dst: auto::getNextPackets
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:233,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:235,1
    - Dst: SkipWithError
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:237,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:246,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:250,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:250,1
    - Dst: pcpp::RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:253,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:256,1
    - Dst: SetBytesProcessed
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:262,1
    - Dst: SetItemsProcessed
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:263,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - ' state'
    - ' filename'
    argTypes:
    - benchmark::State
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 264
    functionName: BM_PacketPureParsing
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - benchmark::DoNotOptimize
    - auto::open
    - auto::getNextPackets
    - empty
    - pcpp::IFileReaderDevice::tryCreateReader
    - pcpp::RawPacketVector::size
    - SetItemsProcessed
    - SetBytesProcessed
    - SkipWithError
    - pcpp::RawPacket*::getRawDataLen
    - pcpp::RawPacketVector::at
    - SkipWithMessage
    linkageType: ''
    returnType: void
    signature: void BM_PacketPureParsing(benchmark::State& state, std::string const&
      filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:273,1
    - Dst: rand
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:273,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:275,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:280,1
    - Dst: pcpp::EthLayer::EthLayer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:280,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:285,1
    - Dst: pcpp::IPv4Layer::IPv4Layer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:285,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:294,1
    - Dst: pcpp::IPv6Layer::IPv6Layer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:294,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:300,1
    - Dst: pcpp::TcpLayer::TcpLayer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:300,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:304,1
    - Dst: pcpp::UdpLayer::UdpLayer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:304,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:308,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:312,1
    - Dst: SetBytesProcessed
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:316,1
    - Dst: SetItemsProcessed
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 318
    functionName: BM_PacketCrafting
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::UdpLayer::UdpLayer
    - pcpp::Packet::getRawPacket
    - static_cast<uint8_t>
    - rand
    - pcpp::TcpLayer::TcpLayer
    - SetItemsProcessed
    - pcpp::IPv4Layer::IPv4Layer
    - SetBytesProcessed
    - pcpp::Packet::Packet
    - pcpp::EthLayer::EthLayer
    - pcpp::IPv6Layer::IPv6Layer
    linkageType: ''
    returnType: void
    signature: void BM_PacketCrafting(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchmark::PrintDefaultHelp
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 328
    functionName: printHelp
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp
    functionUses: 0
    functionsReached:
    - benchmark::PrintDefaultHelp
    linkageType: ''
    returnType: void
    signature: void printHelp()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: benchmark::Initialize
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:333,1
    - Dst: strcmp
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:340,1
    - Dst: startsWith
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:349,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:356,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:356,1
    - Dst: benchmark::AddCustomContext
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:360,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:360,1
    - Dst: benchmark::AddCustomContext
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:361,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:361,1
    - Dst: benchmark::AddCustomContext
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:362,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:362,1
    - Dst: benchmark::RegisterBenchmark
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:367,1
    - Dst: getFileName
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:367,1
    - Dst: benchmark::RegisterBenchmark
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:372,1
    - Dst: getFileName
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:372,1
    - Dst: benchmark::RegisterBenchmark
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:377,1
    - Dst: getFileName
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:377,1
    - Dst: benchmark::RunSpecifiedBenchmarks
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp:381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 384
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp
    functionUses: 0
    functionsReached:
    - benchmark::RunSpecifiedBenchmarks
    - benchmark::AddCustomContext
    - getFileName
    - std::vector::push_back
    - strcmp
    - pcpp::getPcapPlusPlusVersionFull
    - benchmark::Initialize
    - startsWith
    - benchmark::RegisterBenchmark
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    - std::move
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:32,1
    - Dst: getLayerOfType
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:35,1
    - Dst: DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:37,1
    - Dst: DnsLayer*::getNextQuery
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:41,1
    - Dst: DnsLayer*::getFirstAnswer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:44,1
    - Dst: DnsLayer*::getNextAnswer
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 52
    functionName: handle_dns
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp
    functionUses: 0
    functionsReached:
    - DnsLayer*::getNextQuery
    - isPacketOfType
    - DnsLayer*::getFirstQuery
    - getLayerOfType
    - DnsLayer*::getFirstAnswer
    - DnsLayer*::getNextAnswer
    linkageType: ''
    returnType: bool
    signature: bool handle_dns(Packet& packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: handle_packet
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool handle_packet(Packet& packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:68,1
    - Dst: PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:75,1
    - Dst: std::chrono::high_resolution_clock::now
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:79,1
    - Dst: PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:81,1
    - Dst: handle_dns
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:84,1
    - Dst: std::chrono::high_resolution_clock::now
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:89,1
    - Dst: PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:91,1
    - Dst: handle_packet
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:94,1
    - Dst: std::chrono::high_resolution_clock::now
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:97,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:98,1
    - Dst: PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:100,1
    - Dst: std::accumulate
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:103,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:103,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:103,1
    - Dst: _f_trace_duration
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:103,1
    - Dst: duration_cast<milliseconds>
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:107,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 109
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp
    functionUses: 0
    functionsReached:
    - handle_packet
    - std::vector::end
    - handle_dns
    - std::vector::size
    - PcapFileReaderDevice::open
    - std::chrono::high_resolution_clock::now
    - std::vector::begin
    - std::stoi
    - std::vector::push_back
    - _f_trace_duration
    - std::accumulate
    - duration_cast<milliseconds>
    - PcapFileReaderDevice::getNextPacket
    - PcapFileReaderDevice::close
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: PacketStats
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketStats()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:37,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:39,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:41,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:43,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:45,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:47,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:49,1
    - Dst: isPacketOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - pcpp::Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: consumePacket
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp
    functionUses: 0
    functionsReached:
    - isPacketOfType
    linkageType: ''
    returnType: void
    signature: void consumePacket(pcpp::Packet& packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: printToConsole
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void printToConsole()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PacketStats*>
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:77,1
    - Dst: auto*::consumePacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - packet
    - dev
    - cookie
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: onPacketArrives
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp
    functionUses: 0
    functionsReached:
    - auto*::consumePacket
    - static_cast<PacketStats*>
    linkageType: ''
    returnType: void
    signature: void onPacketArrives(pcpp::RawPacket* packet, pcpp::PcapLiveDevice*
      dev, void* cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PacketStats*>
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:92,1
    - Dst: auto*::consumePacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - packet
    - dev
    - cookie
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: onPacketArrivesBlockingMode
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp
    functionUses: 0
    functionsReached:
    - auto*::consumePacket
    - static_cast<PacketStats*>
    linkageType: ''
    returnType: bool
    signature: bool onPacketArrivesBlockingMode(pcpp::RawPacket* packet, pcpp::PcapLiveDevice*
      dev, void* cookie)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:113,1
    - Dst: auto*::getName
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:125,1
    - Dst: auto*::getDesc
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:126,1
    - Dst: auto*::getMacAddress
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:127,1
    - Dst: auto*::getDefaultGateway
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:128,1
    - Dst: auto*::getMtu
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:129,1
    - Dst: auto*::getDnsServers
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:131,1
    - Dst: auto*::getDnsServers
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:133,1
    - Dst: auto*::open
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:137,1
    - Dst: auto*::startCapture
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:153,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:156,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:156,1
    - Dst: auto*::stopCapture
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:159,1
    - Dst: PacketStats::printToConsole
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:163,1
    - Dst: PacketStats::clear
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:166,1
    - Dst: auto*::startCapture
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:177,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:180,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:180,1
    - Dst: auto*::stopCapture
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:183,1
    - Dst: PacketStats::consumePacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:189,1
    - Dst: PacketStats::printToConsole
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:194,1
    - Dst: PacketStats::clear
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:197,1
    - Dst: auto*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:206,1
    - Dst: PacketStats::printToConsole
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:212,1
    - Dst: PacketStats::clear
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:214,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:219,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:222,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:222,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:222,1
    - Dst: auto*::sendPacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:223,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:231,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:236,1
    - Dst: auto*::sendPackets
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:240,1
    - Dst: pcpp::AndFilter::addFilter
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:255,1
    - Dst: pcpp::AndFilter::addFilter
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:256,1
    - Dst: auto*::setFilter
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:259,1
    - Dst: auto*::startCapture
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:265,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:268,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:268,1
    - Dst: auto*::stopCapture
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:271,1
    - Dst: PacketStats::printToConsole
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:275,1
    - Dst: auto*::close
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 279
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp
    functionUses: 0
    functionsReached:
    - auto*::getDefaultGateway
    - auto*::stopCapture
    - auto*::startCapture
    - pcpp::RawPacketVector::end
    - pcpp::RawPacketVector::begin
    - auto*::open
    - pcpp::GtpV2InformationElement::getInstance
    - PacketStats::printToConsole
    - std::chrono::seconds
    - pcpp::AndFilter::addFilter
    - pcpp::RawPacketVector::size
    - std::all_of
    - auto*::startCaptureBlockingMode
    - PacketStats::clear
    - auto*::close
    - auto*::sendPacket
    - auto*::getMacAddress
    - std::this_thread::sleep_for
    - auto*::sendPackets
    - auto*::getDesc
    - auto*::getMtu
    - auto*::setFilter
    - PacketStats::consumePacket
    - auto*::getName
    - auto*::getDnsServers
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IFileReaderDevice::getReader
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:21,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:31,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:38,1
    - Dst: std::unique_ptr::getNextPacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:39,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:46,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:52,1
    - Dst: auto*::setDestMac
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:54,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:54,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:57,1
    - Dst: auto*::setSrcIPv4Address
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:59,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:59,1
    - Dst: auto*::getIPv4Header
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:61,1
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:61,1
    - Dst: auto*::getIPv4Header
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:63,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:66,1
    - Dst: auto*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:68,1
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:68,1
    - Dst: auto*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:70,1
    - Dst: auto*::insertTcpOptionAfter
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:72,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:72,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:75,1
    - Dst: auto*::getFirstLine
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:77,1
    - Dst: auto*::getFieldByName
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:79,1
    - Dst: auto*::getFieldByName
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:81,1
    - Dst: auto*::removeField
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:83,1
    - Dst: auto*::insertField
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:85,1
    - Dst: auto*::getFieldByName
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:86,1
    - Dst: auto*::insertField
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:88,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:94,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:97,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:101,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:103,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:103,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:104,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:111,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:111,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:114,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:114,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:115,1
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:115,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:116,1
    - Dst: pcpp::DnsLayer::DnsLayer
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:122,1
    - Dst: pcpp::DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:123,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:129,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:130,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:131,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:132,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:135,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:139,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:141,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:141,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 14
    functionDepth: 4
    functionLinenumber: 14
    functionLinenumberEnd: 144
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp
    functionUses: 0
    functionsReached:
    - auto*::removeField
    - auto*::getTcpHeader
    - pcpp::TcpOptionBuilder
    - pcpp::RawPacket::RawPacket
    - pcpp::IFileReaderDevice::getReader
    - auto*::insertField
    - pcpp::PcapFileWriterDevice::close
    - pcpp::hostToNet16
    - pcpp::Packet::addLayer
    - pcpp::SdpLayer::getOwnerIPv4Address
    - std::unique_ptr::open
    - auto*::getFirstLine
    - auto*::getFieldByName
    - std::unique_ptr::close
    - auto*::setSrcIPv4Address
    - std::unique_ptr::getNextPacket
    - pcpp::Packet::getLayerOfType
    - pcpp::DnsLayer::addQuery
    - auto*::setDestMac
    - pcpp::DnsLayer::DnsLayer
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - auto*::getIPv4Header
    - pcpp::Packet::insertLayer
    - pcpp::StpLayer::IDtoMacAddress
    - pcpp::PcapFileWriterDevice::open
    - pcpp::IPv4Layer::getIPv4Header
    - auto*::insertTcpOptionAfter
    - pcpp::PcapFileWriterDevice::writePacket
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - protocolType
    argTypes:
    - pcpp::ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 27
    functionName: getProtocolTypeAsString
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getProtocolTypeAsString(pcpp::ProtocolType protocolType)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:32,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - tcpLayer
    argTypes:
    - pcpp::TcpLayer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: printTcpFlags
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer*::getTcpHeader
    linkageType: ''
    returnType: std::string
    signature: std::string printTcpFlags(pcpp::TcpLayer* tcpLayer)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - pcpp::TcpOptionEnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: printTcpOptionType
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string printTcpOptionType(pcpp::TcpOptionEnumType optionType)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - httpMethod
    argTypes:
    - pcpp::HttpRequestLayer::HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: printHttpMethod
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string printHttpMethod(pcpp::HttpRequestLayer::HttpMethod httpMethod)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IFileReaderDevice::getReader
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:82,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:92,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:99,1
    - Dst: std::unique_ptr::getNextPacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:100,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:107,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:114,1
    - Dst: auto*::getNextLayer
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:114,1
    - Dst: getProtocolTypeAsString
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:116,1
    - Dst: auto*::getProtocol
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:116,1
    - Dst: auto*::getDataLen
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:117,1
    - Dst: auto*::getHeaderLen
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:118,1
    - Dst: auto*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:119,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:126,1
    - Dst: auto*::getSourceMac
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:135,1
    - Dst: auto*::getDestMac
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:136,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:137,1
    - Dst: auto*::getEthHeader
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:137,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:141,1
    - Dst: auto*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:150,1
    - Dst: auto*::getDstIPAddress
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:151,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:152,1
    - Dst: auto*::getIPv4Header
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:152,1
    - Dst: auto*::getIPv4Header
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:153,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:156,1
    - Dst: auto*::getSrcPort
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:165,1
    - Dst: auto*::getDstPort
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:166,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:167,1
    - Dst: auto*::getTcpHeader
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:167,1
    - Dst: printTcpFlags
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:168,1
    - Dst: auto*::getFirstTcpOption
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:171,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:171,1
    - Dst: auto*::getNextTcpOption
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:172,1
    - Dst: printTcpOptionType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:174,1
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:174,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:179,1
    - Dst: printHttpMethod
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:188,1
    - Dst: auto*::getFirstLine
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:188,1
    - Dst: auto*::getFirstLine
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:189,1
    - Dst: auto*::getFieldByName
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:192,1
    - Dst: auto*::getFieldByName
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:193,1
    - Dst: auto*::getFieldByName
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:195,1
    - Dst: auto*::getUrl
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp:199,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 200
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp
    functionUses: 0
    functionsReached:
    - auto*::getTcpHeader
    - auto*::getEthHeader
    - auto*::getSourceMac
    - auto*::getNextLayer
    - pcpp::RawPacket::RawPacket
    - pcpp::IFileReaderDevice::getReader
    - printHttpMethod
    - auto*::getDataLen
    - auto*::getSrcIPAddress
    - auto*::getUrl
    - auto*::getLayerPayloadSize
    - std::unique_ptr::open
    - auto*::getFirstLine
    - auto*::getFieldByName
    - getProtocolTypeAsString
    - printTcpOptionType
    - std::unique_ptr::close
    - std::unique_ptr::getNextPacket
    - auto*::getDestMac
    - auto*::getDstIPAddress
    - auto*::getDstPort
    - printTcpFlags
    - pcpp::Packet::getLayerOfType
    - auto*::getFirstTcpOption
    - auto*::getProtocol
    - pcpp::TcpOption::getTcpOptionEnumType
    - pcpp::Packet::getFirstLayer
    - auto*::getIPv4Header
    - auto*::getHeaderLen
    - pcpp::netToHost16
    - auto*::getNextTcpOption
    - auto*::getSrcPort
    - pcpp::TcpOption::isNotNull
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-HelloWorld/main.cpp:10,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-HelloWorld/main.cpp:17,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-HelloWorld/main.cpp:18,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-HelloWorld/main.cpp:28,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-HelloWorld/main.cpp:31,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-HelloWorld/main.cpp:32,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-HelloWorld/main.cpp:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 6
    functionDepth: 2
    functionLinenumber: 6
    functionLinenumberEnd: 43
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-HelloWorld/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - pcpp::PcapFileReaderDevice::getNextPacket
    - pcpp::Packet::getLayerOfType
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileReaderDevice::close
    - pcpp::RawPacket::RawPacket
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - rxDevice
    - txDevice
    argTypes:
    - pcpp::DpdkDevice*
    - pcpp::DpdkDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 5
    functionName: L2FwdWorkerThread::L2FwdWorkerThread
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/WorkerThread.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void L2FwdWorkerThread::L2FwdWorkerThread(pcpp::DpdkDevice* rxDevice,
      pcpp::DpdkDevice* txDevice)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: receivePackets
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/WorkerThread.cpp:21,1
    - Dst: sendPackets
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/WorkerThread.cpp:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - coreId
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 31
    functionName: L2FwdWorkerThread::run
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/WorkerThread.cpp
    functionUses: 0
    functionsReached:
    - receivePackets
    - sendPackets
    linkageType: ''
    returnType: bool
    signature: bool L2FwdWorkerThread::run(uint32_t coreId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: L2FwdWorkerThread::stop
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/WorkerThread.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void L2FwdWorkerThread::stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: L2FwdWorkerThread::getCoreId
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/WorkerThread.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t L2FwdWorkerThread::getCoreId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cookie
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: onApplicationInterrupted
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onApplicationInterrupted(void* cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice*::getStatistics
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:27,1
    - Dst: pcpp::DpdkDevice*::getStatistics
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:28,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:39,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:39,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:45,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - rxDevice
    - txDevice
    argTypes:
    - pcpp::DpdkDevice*
    - pcpp::DpdkDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 46
    functionName: printStats
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp
    functionUses: 7
    functionsReached:
    - pcpp::TablePrinter::printRow
    - pcpp::DpdkDevice*::getStatistics
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void printStats(pcpp::DpdkDevice* rxDevice, pcpp::DpdkDevice* txDevice)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:51,1
    - Dst: pcpp::getCoreMaskForAllMachineCores
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:54,1
    - Dst: pcpp::DpdkDeviceList::initDpdk
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:55,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:58,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:65,1
    - Dst: pcpp::DpdkDevice*::openMultiQueues
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:73,1
    - Dst: pcpp::DpdkDevice*::getDeviceId
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:75,1
    - Dst: pcpp::DpdkDevice*::getPMDName
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:75,1
    - Dst: pcpp::DpdkDevice*::openMultiQueues
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:80,1
    - Dst: pcpp::DpdkDevice*::getDeviceId
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:82,1
    - Dst: pcpp::DpdkDevice*::getPMDName
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:82,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:90,1
    - Dst: L2FwdWorkerThread::L2FwdWorkerThread
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:90,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:91,1
    - Dst: L2FwdWorkerThread::L2FwdWorkerThread
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:91,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:101,1
    - Dst: sleep
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:114,1
    - Dst: printStats
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:126,1
    - Dst: printStats
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:130,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp:136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 140
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDeviceList::initDpdk
    - pcpp::getCoreMaskForAllMachineCores
    - pcpp::DpdkDevice*::getPMDName
    - L2FwdWorkerThread::L2FwdWorkerThread
    - std::vector::emplace_back
    - pcpp::DpdkDevice*::openMultiQueues
    - sleep
    - pcpp::DpdkDevice*::getDeviceId
    - pcpp::GtpV2InformationElement::getInstance
    - printStats
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: ~L2FwdWorkerThread()
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/WorkerThread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~L2FwdWorkerThread()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IFileReaderDevice::getReader
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:12,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:22,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:33,1
    - Dst: pcpp::PcapNgFileWriterDevice::open
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:44,1
    - Dst: std::unique_ptr::setFilter
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:51,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:58,1
    - Dst: std::unique_ptr::getNextPacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:62,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:65,1
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:66,1
    - Dst: std::unique_ptr::getStatistics
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:79,1
    - Dst: pcpp::PcapFileWriterDevice::getStatistics
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:84,1
    - Dst: printStats
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:85,1
    - Dst: pcpp::PcapNgFileWriterDevice::getStatistics
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:88,1
    - Dst: printStats
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:89,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:92,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:95,1
    - Dst: pcpp::PcapNgFileWriterDevice::close
      Src: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 8
    functionDepth: 2
    functionLinenumber: 8
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapNgFileWriterDevice::open
    - std::unique_ptr::getNextPacket
    - pcpp::PcapNgFileWriterDevice::close
    - std::unique_ptr::getStatistics
    - pcpp::PcapNgFileWriterDevice::getStatistics
    - std::unique_ptr::open
    - pcpp::PcapFileWriterDevice::getStatistics
    - std::unique_ptr::setFilter
    - pcpp::PcapFileWriterDevice::close
    - pcpp::PcapNgFileWriterDevice::writePacket
    - pcpp::RawPacket::RawPacket
    - pcpp::PcapFileWriterDevice::open
    - pcpp::IFileReaderDevice::getReader
    - pcpp::PcapFileWriterDevice::writePacket
    - std::unique_ptr::close
    - printStats
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - reason
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: EXIT_WITH_ERROR
    functionSourceFile: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXIT_WITH_ERROR(reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp
    functionUses: 41
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: FragStats
    functionSourceFile: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void FragStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 89
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp
    functionUses: 20
    functionsReached:
    - pcpp::internal::WinDivertOverlappedWrapper::get
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertOverlappedWrapper::get
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:96,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:96,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:97,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:98,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: printAppVersion
    functionSourceFile: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp
    functionUses: 20
    functionsReached:
    - exit
    - pcpp::internal::WinDivertOverlappedWrapper::get
    - pcpp::getPcapPlusPlusVersionFull
    - pcpp::getGitInfo
    - pcpp::getBuildDateTime
    linkageType: ''
    returnType: void
    signature: void printAppVersion()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::hostToNet16
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:108,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fragIpLayer
    - fragOffset
    - lastFrag
    argTypes:
    - pcpp::IPv4Layer*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 119
    functionName: setIPv4FragmentParams
    functionSourceFile: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::hostToNet16
    - pcpp::IPv4Layer*::getIPv4Header
    linkageType: ''
    returnType: void
    signature: void setIPv4FragmentParams(pcpp::IPv4Layer* fragIpLayer, size_t fragOffset,
      bool lastFrag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer*::addExtension
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fragIpLayer
    - fragOffset
    - lastFrag
    - fragId
    argTypes:
    - pcpp::IPv6Layer*
    - size_t
    - bool
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: setIPv6FragmentParams
    functionSourceFile: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer*::addExtension
    linkageType: ''
    returnType: void
    signature: void setIPv6FragmentParams(pcpp::IPv6Layer* fragIpLayer, size_t fragOffset,
      bool lastFrag, uint32_t fragId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:138,1
    - Dst: pow
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: generateRandomNumber
    functionSourceFile: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp
    functionUses: 0
    functionsReached:
    - pow
    - rand
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t generateRandomNumber()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:161,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:163,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:170,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:172,1
    - Dst: pcpp::Layer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:175,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:177,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:178,1
    - Dst: generateRandomNumber
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:183,1
    - Dst: pcpp::Layer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:187,1
    - Dst: pcpp::Layer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:194,1
    - Dst: pcpp::Layer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:196,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:202,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:202,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:208,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:210,1
    - Dst: pcpp::Packet::removeAllLayersAfter
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:213,1
    - Dst: pcpp::Layer*::getLayerPayload
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:216,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:217,1
    - Dst: setIPv4FragmentParams
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:221,1
    - Dst: setIPv6FragmentParams
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:223,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:226,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:229,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - rawPacket
    - fragmentSize
    - ' resultFragments'
    argTypes:
    - pcpp::RawPacket*
    - size_t
    - pcpp::RawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 234
    functionName: splitIPPacketToFragmentsBySize
    functionSourceFile: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::Packet::addLayer
    - pcpp::Packet::isPacketOfType
    - setIPv6FragmentParams
    - pcpp::Packet::removeAllLayersAfter
    - pcpp::Packet::getLayerOfType
    - pushBack
    - pcpp::Layer*::getLayerPayload
    - pcpp::Layer*::getLayerPayloadSize
    - pcpp::RawPacket::RawPacket
    - setIPv4FragmentParams
    - generateRandomNumber
    linkageType: ''
    returnType: void
    signature: "void splitIPPacketToFragmentsBySize(pcpp::RawPacket* rawPacket, size_t
      fragmentSize,\n                                    pcpp::RawPacketVector& resultFragments)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:244,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:246,1
    - Dst: pcpp::IFileReaderDevice*::getNextPacket
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:250,1
    - Dst: pcpp::BPFStringFilter::matches
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:261,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:275,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:280,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:294,1
    - Dst: std::unordered_map<uint16_t, bool>::find
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:298,1
    - Dst: pcpp::netToHost16
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:298,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:298,1
    - Dst: std::unordered_map<uint16_t, bool>::end
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:298,1
    - Dst: splitIPPacketToFragmentsBySize
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:314,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:317,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:321,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:331,1
    - Dst: pcpp::IFileWriterDevice*::writePackets
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:333,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:334,1
    - Dst: pcpp::IFileWriterDevice*::writePacket
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:340,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 9
    argNames:
    - reader
    - writer
    - fragSize
    - filterByBpf
    - ' bpfFilter'
    - filterByIpID
    - ipIDs
    - copyAllPacketsToOutputFile
    - ' stats'
    argTypes:
    - pcpp::IFileReaderDevice*
    - pcpp::IFileWriterDevice*
    - int
    - bool
    - std::string
    - bool
    - std::unordered_map<uint16_t, bool>
    - bool
    - FragStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 240
    functionDepth: 5
    functionLinenumber: 240
    functionLinenumberEnd: 344
    functionName: processPackets
    functionSourceFile: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp
    functionUses: 1
    functionsReached:
    - std::unordered_map<uint16_t, bool>::end
    - pcpp::IFileWriterDevice*::writePackets
    - pcpp::Packet::isPacketOfType
    - splitIPPacketToFragmentsBySize
    - pcpp::IFileWriterDevice*::writePacket
    - pcpp::Packet::getLayerOfType
    - std::unordered_map<uint16_t, bool>::find
    - pcpp::netToHost16
    - pcpp::RawPacketVector::size
    - pcpp::BPFStringFilter::matches
    - clear
    - pcpp::IPv4Layer*::getIPv4Header
    - pcpp::RawPacket::RawPacket
    - pcpp::IFileReaderDevice*::getNextPacket
    linkageType: ''
    returnType: void
    signature: "void processPackets(pcpp::IFileReaderDevice* reader, pcpp::IFileWriterDevice*
      writer, int fragSize, bool filterByBpf,\n                    const std::string&
      bpfFilter, bool filterByIpID, std::unordered_map<uint16_t, bool> ipIDs,\n                    bool
      copyAllPacketsToOutputFile, FragStats& stats)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - ' stats'
    - filterByIpID
    - filterByBpf
    argTypes:
    - FragStats
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: printStats
    functionSourceFile: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp
    functionUses: 9
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void printStats(const FragStats& stats, bool filterByIpID, bool filterByBpf)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::AppName::init
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:374,1
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:387,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:402,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:404,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:406,1
    - Dst: std::unordered_map::clear
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:413,1
    - Dst: string
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:414,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:418,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:421,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:421,1
    - Dst: std::unordered_map::emplace
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:423,1
    - Dst: std::unordered_map::empty
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:427,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:429,1
    - Dst: pcpp::BPFStringFilter::verifyFilter
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:438,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:439,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:449,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:450,1
    - Dst: printAppVersion
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:454,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:470,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:481,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:487,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:492,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:497,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:501,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:503,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:505,1
    - Dst: dynamic_cast<pcpp::PcapFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:511,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:511,1
    - Dst: std::make_unique<pcpp::PcapFileWriterDevice>
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:513,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:514,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:514,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:516,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:516,1
    - Dst: std::make_unique<pcpp::PcapNgFileWriterDevice>
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:518,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:522,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:525,1
    - Dst: EXIT_WITH_ERROR
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:527,1
    - Dst: processPackets
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:532,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:532,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:532,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:536,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:537,1
    - Dst: printStats
      Src: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp:540,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 91
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 541
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<pcpp::PcapFileWriterDevice>
    - std::unique_ptr::get
    - std::getline
    - printUsage
    - pcpp::IFileReaderDevice::tryCreateReader
    - getLinkLayerType
    - EXIT_WITH_ERROR
    - std::string::c_str
    - printStats
    - dynamic_cast<pcpp::PcapFileReaderDevice*>
    - pcpp::AppName::init
    - std::make_unique<pcpp::PcapNgFileWriterDevice>
    - string
    - pcpp::BPFStringFilter::verifyFilter
    - std::unique_ptr::open
    - dynamic_cast<pcpp::PcapNgFileReaderDevice*>
    - std::unique_ptr::close
    - getopt_long
    - std::unordered_map::empty
    - processPackets
    - exit
    - std::unordered_map::clear
    - atoi
    - std::unordered_map::emplace
    - printAppVersion
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:13,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: pcpp::MacAddress::toString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/MacAddress.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string MacAddress::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:25,1
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:30,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:33,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/src/MacAddress.cpp
    functionUses: 2
    functionsReached:
    - std::out_of_range
    - std::invalid_argument
    - std::copy
    - begin
    linkageType: ''
    returnType: void
    signature: void MacAddress::MacAddress(const uint8_t* addr, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:40,1
    - Dst: sscanf
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:42,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:42,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/src/MacAddress.cpp
    functionUses: 2
    functionsReached:
    - std::invalid_argument
    - sscanf
    - c_str
    - size
    linkageType: ''
    returnType: void
    signature: void MacAddress::MacAddress(const std::string& address)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:55,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:60,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:64,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:68,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:68,1
    - Dst: end
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: pcpp::MacAddress::copyTo
    functionSourceFile: /src/PcapPlusPlus/Common++/src/MacAddress.cpp
    functionUses: 2
    functionsReached:
    - std::invalid_argument
    - begin
    - end
    - size
    - std::copy
    linkageType: ''
    returnType: size_t
    signature: size_t MacAddress::copyTo(uint8_t* buffer, size_t size) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:76,1
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:79,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:80,1
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - ' size'
    argTypes:
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 90
    functionName: pcpp::MacAddress::copyToNewBuffer
    functionSourceFile: /src/PcapPlusPlus/Common++/src/MacAddress.cpp
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    - std::invalid_argument
    - pcpp::MacAddress::copyTo
    linkageType: ''
    returnType: bool
    signature: bool MacAddress::copyToNewBuffer(uint8_t** buffer, size_t& size) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:13,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: pcpp::MacAddress::toString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/MacAddress.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string MacAddress::toString() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:25,1
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:30,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:33,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - addr
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/src/MacAddress.cpp
    functionUses: 2
    functionsReached:
    - std::out_of_range
    - std::invalid_argument
    - std::copy
    - begin
    linkageType: ''
    returnType: void
    signature: void MacAddress::MacAddress(const uint8_t* addr, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:40,1
    - Dst: sscanf
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:42,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:42,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/src/MacAddress.cpp
    functionUses: 2
    functionsReached:
    - std::invalid_argument
    - sscanf
    - c_str
    - size
    linkageType: ''
    returnType: void
    signature: void MacAddress::MacAddress(const std::string& address)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:55,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:60,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:64,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:68,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:68,1
    - Dst: end
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: pcpp::MacAddress::copyTo
    functionSourceFile: /src/PcapPlusPlus/Common++/src/MacAddress.cpp
    functionUses: 3
    functionsReached:
    - std::invalid_argument
    - begin
    - end
    - size
    - std::copy
    linkageType: ''
    returnType: size_t
    signature: size_t MacAddress::copyTo(uint8_t* buffer, size_t size) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:76,1
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:79,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:80,1
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Common++/src/MacAddress.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - ' size'
    argTypes:
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 90
    functionName: pcpp::MacAddress::copyToNewBuffer
    functionSourceFile: /src/PcapPlusPlus/Common++/src/MacAddress.cpp
    functionUses: 0
    functionsReached:
    - uint8_t::uint8_t
    - std::invalid_argument
    - pcpp::MacAddress::copyTo
    linkageType: ''
    returnType: bool
    signature: bool MacAddress::copyToNewBuffer(uint8_t** buffer, size_t& size) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:20,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:27,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:32,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:32,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:32,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - byteArr
    - byteArrSize
    - stringSizeLimit
    argTypes:
    - uint8_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 36
    functionName: pcpp::byteArrayToHexString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 16
    functionsReached:
    - std::setfill
    - static_cast<int>
    - static_cast<size_t>
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string byteArrayToHexString(const uint8_t* byteArr, size_t byteArrSize,
      int stringSizeLimit)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: pcpp::char2int
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int char2int(char input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:57,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:59,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:63,1
    - Dst: length
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:64,1
    - Dst: pcpp::char2int
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:71,1
    - Dst: pcpp::char2int
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:72,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:75,1
    - Dst: length
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ' hexString'
    - resultByteArr
    - resultByteArrSize
    argTypes:
    - std::string
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: pcpp::hexStringToByteArray
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 0
    functionsReached:
    - pcpp::size
    - length
    - pcpp::char2int
    - PCPP_LOG_ERROR
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t hexStringToByteArray(const std::string& hexString, uint8_t*
      resultByteArr, size_t resultByteArrSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char*>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:88,1
    - Dst: static_cast<char*>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:92,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:92,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:92,1
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - haystack
    - haystackLen
    - needle
    - needleLen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 113
    functionName: pcpp::cross_platform_memmem
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcmp
    - static_cast<char*>
    - memchr
    - const_cast<char*>
    linkageType: ''
    returnType: char
    signature: char * cross_platform_memmem(const char* haystack, size_t haystackLen,
      const char* needle, size_t needleLen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - input
    - inputLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 465
    functionName: pcpp::Base64::encode
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 4
    functionsReached:
    - std::invalid_argument
    linkageType: ''
    returnType: std::string
    signature: std::string Base64::encode(const uint8_t* input, size_t inputLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:469,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:469,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:469,1
    - Dst: length
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: pcpp::Base64::encode
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 5
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - pcpp::Base64::encode
    - c_str
    - length
    linkageType: ''
    returnType: std::string
    signature: std::string Base64::encode(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:474,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:475,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:476,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:476,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:479,1
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:481,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' hexStringInput'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: pcpp::Base64::encodeHexString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - length
    - std::unique_ptr::get
    - pcpp::Base64::encode
    - hexStringToByteArray
    - uint8_t::uint8_t
    linkageType: ''
    returnType: std::string
    signature: std::string Base64::encodeHexString(const std::string& hexStringInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:486,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:486,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: pcpp::Base64::encode
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 7
    functionsReached:
    - pcpp::Base64::encode
    - data
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Base64::encode(const std::vector<uint8_t>& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:492,1
    - Dst: length
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:492,1
    - Dst: pcpp::Base64::decodeToByteArray
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:493,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:493,1
    - Dst: std::vector::capacity
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:493,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 496
    functionName: pcpp::Base64::decodeToByteVector
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 2
    functionsReached:
    - length
    - std::vector::data
    - pcpp::Base64::decodeToByteArray
    - std::vector::capacity
    - std::vector::resize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Base64::decodeToByteVector(const std::string&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Base64::decodeToByteVector
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:500,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:501,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:501,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: pcpp::Base64::decodeToHexString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - byteArrayToHexString
    - pcpp::Base64::decodeToByteVector
    - auto::size
    linkageType: ''
    returnType: std::string
    signature: std::string Base64::decodeToHexString(const std::string& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Base64::decodeToByteVector
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:506,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:507,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: pcpp::Base64::decodeToString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - pcpp::Base64::decodeToByteVector
    - auto::end
    linkageType: ''
    returnType: std::string
    signature: std::string Base64::decodeToString(const std::string& input)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:512,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:517,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:519,1
    - Dst: count
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:522,1
    - Dst: rbegin
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:522,1
    - Dst: rbegin
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:522,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:525,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:528,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:531,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:532,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:535,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:535,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:536,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:537,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:553,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:557,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:557,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:584,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:588,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:588,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:606,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:610,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:610,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:617,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - ' input'
    - resultByteArr
    - resultByteArrSize
    argTypes:
    - std::string
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 622
    functionName: pcpp::Base64::decodeToByteArray
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - rbegin
    - std::invalid_argument
    - data
    - empty
    - count
    - size
    - std::array::data
    - std::memcpy
    - reinterpret_cast<char*>
    - to_string
    linkageType: ''
    returnType: size_t
    signature: size_t Base64::decodeToByteArray(const std::string& input, uint8_t*
      resultByteArr, size_t resultByteArrSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:626,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:631,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:633,1
    - Dst: count
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:636,1
    - Dst: rbegin
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:636,1
    - Dst: rbegin
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:636,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:639,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:642,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 643
    functionName: pcpp::Base64::getDecodedSize
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 0
    functionsReached:
    - rbegin
    - std::invalid_argument
    - empty
    - count
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Base64::getDecodedSize(const std::string& input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:20,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:27,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:32,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:32,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:32,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - byteArr
    - byteArrSize
    - stringSizeLimit
    argTypes:
    - uint8_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 36
    functionName: pcpp::byteArrayToHexString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 16
    functionsReached:
    - std::setfill
    - static_cast<int>
    - static_cast<size_t>
    - std::setw
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string byteArrayToHexString(const uint8_t* byteArr, size_t byteArrSize,
      int stringSizeLimit)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: pcpp::char2int
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int char2int(char input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:57,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:59,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:63,1
    - Dst: length
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:64,1
    - Dst: pcpp::char2int
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:71,1
    - Dst: pcpp::char2int
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:72,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:75,1
    - Dst: length
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ' hexString'
    - resultByteArr
    - resultByteArrSize
    argTypes:
    - std::string
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 84
    functionName: pcpp::hexStringToByteArray
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 0
    functionsReached:
    - pcpp::size
    - length
    - pcpp::char2int
    - PCPP_LOG_ERROR
    - memset
    linkageType: ''
    returnType: size_t
    signature: size_t hexStringToByteArray(const std::string& hexString, uint8_t*
      resultByteArr, size_t resultByteArrSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char*>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:88,1
    - Dst: static_cast<char*>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:92,1
    - Dst: memchr
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:92,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:92,1
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - haystack
    - haystackLen
    - needle
    - needleLen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 113
    functionName: pcpp::cross_platform_memmem
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - memcmp
    - static_cast<char*>
    - memchr
    - const_cast<char*>
    linkageType: ''
    returnType: char
    signature: char * cross_platform_memmem(const char* haystack, size_t haystackLen,
      const char* needle, size_t needleLen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - input
    - inputLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 465
    functionName: pcpp::Base64::encode
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 7
    functionsReached:
    - std::invalid_argument
    linkageType: ''
    returnType: std::string
    signature: std::string Base64::encode(const uint8_t* input, size_t inputLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:469,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:469,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:469,1
    - Dst: length
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: pcpp::Base64::encode
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - pcpp::Base64::encode
    - c_str
    - length
    linkageType: ''
    returnType: std::string
    signature: std::string Base64::encode(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:474,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:475,1
    - Dst: hexStringToByteArray
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:476,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:476,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:479,1
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:481,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' hexStringInput'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: pcpp::Base64::encodeHexString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - length
    - std::unique_ptr::get
    - pcpp::Base64::encode
    - hexStringToByteArray
    - uint8_t::uint8_t
    linkageType: ''
    returnType: std::string
    signature: std::string Base64::encodeHexString(const std::string& hexStringInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:486,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:486,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: pcpp::Base64::encode
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 10
    functionsReached:
    - pcpp::Base64::encode
    - data
    - size
    linkageType: ''
    returnType: std::string
    signature: std::string Base64::encode(const std::vector<uint8_t>& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:492,1
    - Dst: length
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:492,1
    - Dst: pcpp::Base64::decodeToByteArray
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:493,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:493,1
    - Dst: std::vector::capacity
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:493,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 496
    functionName: pcpp::Base64::decodeToByteVector
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 4
    functionsReached:
    - length
    - std::vector::data
    - pcpp::Base64::decodeToByteArray
    - std::vector::capacity
    - std::vector::resize
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> Base64::decodeToByteVector(const std::string&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Base64::decodeToByteVector
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:500,1
    - Dst: byteArrayToHexString
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:501,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:501,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: pcpp::Base64::decodeToHexString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - byteArrayToHexString
    - pcpp::Base64::decodeToByteVector
    - auto::size
    linkageType: ''
    returnType: std::string
    signature: std::string Base64::decodeToHexString(const std::string& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Base64::decodeToByteVector
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:506,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:507,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: pcpp::Base64::decodeToString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 0
    functionsReached:
    - auto::begin
    - pcpp::Base64::decodeToByteVector
    - auto::end
    linkageType: ''
    returnType: std::string
    signature: std::string Base64::decodeToString(const std::string& input)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:512,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:517,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:519,1
    - Dst: count
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:522,1
    - Dst: rbegin
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:522,1
    - Dst: rbegin
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:522,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:525,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:528,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:531,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:532,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:535,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:535,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:536,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:537,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:553,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:557,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:557,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:584,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:588,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:588,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:606,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:610,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:610,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:617,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - ' input'
    - resultByteArr
    - resultByteArrSize
    argTypes:
    - std::string
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 622
    functionName: pcpp::Base64::decodeToByteArray
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - rbegin
    - std::invalid_argument
    - data
    - empty
    - count
    - size
    - std::array::data
    - std::memcpy
    - reinterpret_cast<char*>
    - to_string
    linkageType: ''
    returnType: size_t
    signature: size_t Base64::decodeToByteArray(const std::string& input, uint8_t*
      resultByteArr, size_t resultByteArrSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:626,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:631,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:633,1
    - Dst: count
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:636,1
    - Dst: rbegin
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:636,1
    - Dst: rbegin
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:636,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:639,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp:642,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 643
    functionName: pcpp::Base64::getDecodedSize
    functionSourceFile: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
    functionUses: 0
    functionsReached:
    - rbegin
    - std::invalid_argument
    - empty
    - count
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t Base64::getDecodedSize(const std::string& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::system_clock::now
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:35,1
    - Dst: auto::time_since_epoch
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:36,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:38,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:39,1
    - Dst: static_cast<long>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:41,1
    - Dst: auto::count
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:41,1
    - Dst: static_cast<long>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:42,1
    - Dst: auto::count
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tp
    - tzp
    argTypes:
    - struct timeval*
    - struct timezone*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: gettimeofday
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 9
    functionsReached:
    - auto::count
    - std::chrono::system_clock::now
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::chrono::duration_cast<std::chrono::seconds>
    - static_cast<long>
    - auto::time_since_epoch
    linkageType: ''
    returnType: int
    signature: int gettimeofday(struct timeval* tp, struct timezone* tzp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCLOSE
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: operator()(FILE* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - PCLOSE
    linkageType: ''
    returnType: void
    signature: void operator()(FILE* ptr) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCLOSE
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: operator()(FILE* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - PCLOSE
    linkageType: ''
    returnType: void
    signature: void operator()(FILE* ptr) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemInfo
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:115,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:118,1
    - Dst: sysconf
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: pcpp::getNumOfCores
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 1
    functionsReached:
    - GetSystemInfo
    - static_cast<int>
    - sysconf
    linkageType: ''
    returnType: int
    signature: int getNumOfCores()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:124,1
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: pcpp::getCoreMaskForAllMachineCores
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 5
    functionsReached:
    - pcpp::getNumOfCores
    linkageType: ''
    returnType: CoreMask
    signature: CoreMask getCoreMaskForAllMachineCores()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' cores'
    argTypes:
    - std::vector<SystemCore>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: pcpp::createCoreMaskFromCoreVector
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoreMask
    signature: CoreMask createCoreMaskFromCoreVector(const std::vector<SystemCore>&
      cores)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' coreIds'
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: pcpp::createCoreMaskFromCoreIds
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoreMask
    signature: CoreMask createCoreMaskFromCoreIds(const std::vector<int>& coreIds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - coreMask
    - ' resultVec'
    argTypes:
    - CoreMask
    - std::vector<SystemCore>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: pcpp::createCoreVectorFromCoreMask
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 1
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void createCoreVectorFromCoreMask(CoreMask coreMask, std::vector<SystemCore>&
      resultVec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<FILE, PcloseDeleter>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:176,1
    - Dst: POPEN
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:176,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:176,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:179,1
    - Dst: feof
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:184,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:184,1
    - Dst: fgets
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:186,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:186,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:186,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:186,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: pcpp::executeShellCommand
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 2
    functionsReached:
    - fgets
    - std::unique_ptr::get
    - std::unique_ptr<FILE, PcloseDeleter>
    - POPEN
    - std::array::size
    - std::runtime_error
    - std::array::data
    - c_str
    - feof
    linkageType: ''
    returnType: std::string
    signature: std::string executeShellCommand(const std::string& command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:198,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: pcpp::directoryExists
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 3
    functionsReached:
    - stat
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool directoryExists(const std::string& dirPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_clock::now
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:209,1
    - Dst: auto::time_since_epoch
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:210,1
    - Dst: duration_cast<seconds>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:212,1
    - Dst: duration_cast<nanoseconds>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:213,1
    - Dst: static_cast<long>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:215,1
    - Dst: auto::count
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:215,1
    - Dst: static_cast<long>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:216,1
    - Dst: auto::count
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' sec'
    - ' nsec'
    argTypes:
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: pcpp::clockGetTime
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - system_clock::now
    - auto::count
    - duration_cast<nanoseconds>
    - duration_cast<seconds>
    - static_cast<long>
    - auto::time_since_epoch
    linkageType: ''
    returnType: int
    signature: int clockGetTime(long& sec, long& nsec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mkgmtime
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:224,1
    - Dst: timegm
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - std::tm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: pcpp::mkUtcTime
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - timegm
    - _mkgmtime
    linkageType: ''
    returnType: time_t
    signature: time_t mkUtcTime(std::tm& time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:232,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: pcpp::multiPlatformSleep
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - std::this_thread::sleep_for
    linkageType: ''
    returnType: void
    signature: void multiPlatformSleep(uint32_t seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:237,1
    - Dst: std::chrono::milliseconds
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - milliseconds
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: pcpp::multiPlatformMSleep
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - std::this_thread::sleep_for
    - std::chrono::milliseconds
    linkageType: ''
    returnType: void
    signature: void multiPlatformMSleep(uint32_t milliseconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: pcpp::hostToNet16
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 11
    functionsReached:
    - htobe16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t hostToNet16(uint16_t host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - net
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: pcpp::netToHost16
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 10
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t netToHost16(uint16_t net)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: pcpp::hostToNet32
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - htobe32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hostToNet32(uint32_t host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - net
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: pcpp::netToHost32
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 2
    functionsReached:
    - be32toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t netToHost32(uint32_t net)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:270,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:271,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fdwCtrlType
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 279
    functionName: pcpp::ApplicationEventHandler::handlerRoutine
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: int
    signature: int ApplicationEventHandler::handlerRoutine(unsigned long fdwCtrlType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:296,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:298,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:299,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 311
    functionName: pcpp::ApplicationEventHandler::handlerRoutine
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void ApplicationEventHandler::handlerRoutine(int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: pcpp::ApplicationEventHandler::ApplicationEventHandler
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ApplicationEventHandler::ApplicationEventHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetConsoleCtrlHandler
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:324,1
    - Dst: reinterpret_cast<PHANDLER_ROUTINE>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:324,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:327,1
    - Dst: sigemptyset
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:329,1
    - Dst: sigaction
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - handler
    - cookie
    argTypes:
    - EventHandlerCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: pcpp::ApplicationEventHandler::onApplicationInterrupted
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - SetConsoleCtrlHandler
    - sigaction
    - reinterpret_cast<PHANDLER_ROUTINE>
    - sigemptyset
    - memset
    linkageType: ''
    returnType: void
    signature: void ApplicationEventHandler::onApplicationInterrupted(EventHandlerCallback
      handler, void* cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemInfo
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:115,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:118,1
    - Dst: sysconf
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: pcpp::getNumOfCores
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 2
    functionsReached:
    - GetSystemInfo
    - static_cast<int>
    - sysconf
    linkageType: ''
    returnType: int
    signature: int getNumOfCores()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:124,1
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: pcpp::getCoreMaskForAllMachineCores
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 5
    functionsReached:
    - pcpp::getNumOfCores
    linkageType: ''
    returnType: CoreMask
    signature: CoreMask getCoreMaskForAllMachineCores()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' cores'
    argTypes:
    - std::vector<SystemCore>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: pcpp::createCoreMaskFromCoreVector
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoreMask
    signature: CoreMask createCoreMaskFromCoreVector(const std::vector<SystemCore>&
      cores)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' coreIds'
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: pcpp::createCoreMaskFromCoreIds
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CoreMask
    signature: CoreMask createCoreMaskFromCoreIds(const std::vector<int>& coreIds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - coreMask
    - ' resultVec'
    argTypes:
    - CoreMask
    - std::vector<SystemCore>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: pcpp::createCoreVectorFromCoreMask
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 1
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void createCoreVectorFromCoreMask(CoreMask coreMask, std::vector<SystemCore>&
      resultVec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<FILE, PcloseDeleter>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:176,1
    - Dst: POPEN
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:176,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:176,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:179,1
    - Dst: feof
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:184,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:184,1
    - Dst: fgets
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:186,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:186,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:186,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:186,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ' command'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: pcpp::executeShellCommand
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 2
    functionsReached:
    - fgets
    - std::unique_ptr::get
    - std::unique_ptr<FILE, PcloseDeleter>
    - POPEN
    - std::array::size
    - std::runtime_error
    - std::array::data
    - c_str
    - feof
    linkageType: ''
    returnType: std::string
    signature: std::string executeShellCommand(const std::string& command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:198,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' dirPath'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: pcpp::directoryExists
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 3
    functionsReached:
    - stat
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool directoryExists(const std::string& dirPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system_clock::now
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:209,1
    - Dst: auto::time_since_epoch
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:210,1
    - Dst: duration_cast<seconds>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:212,1
    - Dst: duration_cast<nanoseconds>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:213,1
    - Dst: static_cast<long>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:215,1
    - Dst: auto::count
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:215,1
    - Dst: static_cast<long>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:216,1
    - Dst: auto::count
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' sec'
    - ' nsec'
    argTypes:
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: pcpp::clockGetTime
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - system_clock::now
    - auto::count
    - duration_cast<nanoseconds>
    - duration_cast<seconds>
    - static_cast<long>
    - auto::time_since_epoch
    linkageType: ''
    returnType: int
    signature: int clockGetTime(long& sec, long& nsec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mkgmtime
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:224,1
    - Dst: timegm
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - std::tm
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: pcpp::mkUtcTime
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - timegm
    - _mkgmtime
    linkageType: ''
    returnType: time_t
    signature: time_t mkUtcTime(std::tm& time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:232,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seconds
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: pcpp::multiPlatformSleep
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - std::this_thread::sleep_for
    linkageType: ''
    returnType: void
    signature: void multiPlatformSleep(uint32_t seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:237,1
    - Dst: std::chrono::milliseconds
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - milliseconds
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: pcpp::multiPlatformMSleep
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - std::this_thread::sleep_for
    - std::chrono::milliseconds
    linkageType: ''
    returnType: void
    signature: void multiPlatformMSleep(uint32_t milliseconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: pcpp::hostToNet16
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 11
    functionsReached:
    - htobe16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t hostToNet16(uint16_t host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - net
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: pcpp::netToHost16
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 10
    functionsReached:
    - be16toh
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t netToHost16(uint16_t net)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - host
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: pcpp::hostToNet32
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - htobe32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hostToNet32(uint32_t host)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - net
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: pcpp::netToHost32
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 2
    functionsReached:
    - be32toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t netToHost32(uint32_t net)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:270,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:271,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fdwCtrlType
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 279
    functionName: pcpp::ApplicationEventHandler::handlerRoutine
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: int
    signature: int ApplicationEventHandler::handlerRoutine(unsigned long fdwCtrlType)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:296,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:298,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:299,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 311
    functionName: pcpp::ApplicationEventHandler::handlerRoutine
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void ApplicationEventHandler::handlerRoutine(int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: pcpp::ApplicationEventHandler::ApplicationEventHandler
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ApplicationEventHandler::ApplicationEventHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetConsoleCtrlHandler
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:324,1
    - Dst: reinterpret_cast<PHANDLER_ROUTINE>
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:324,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:327,1
    - Dst: sigemptyset
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:329,1
    - Dst: sigaction
      Src: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - handler
    - cookie
    argTypes:
    - EventHandlerCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 332
    functionName: pcpp::ApplicationEventHandler::onApplicationInterrupted
    functionSourceFile: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    functionUses: 0
    functionsReached:
    - SetConsoleCtrlHandler
    - sigaction
    - reinterpret_cast<PHANDLER_ROUTINE>
    - sigemptyset
    - memset
    linkageType: ''
    returnType: void
    signature: void ApplicationEventHandler::onApplicationInterrupted(EventHandlerCallback
      handler, void* cookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 12
    functionName: pcpp::getGitCommit
    functionSourceFile: /src/PcapPlusPlus/Common++/src/PcapPlusPlusVersion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getGitCommit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: pcpp::getGitBranch
    functionSourceFile: /src/PcapPlusPlus/Common++/src/PcapPlusPlusVersion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getGitBranch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getGitBranch
      Src: /src/PcapPlusPlus/Common++/src/PcapPlusPlusVersion.cpp:24,1
    - Dst: pcpp::getGitCommit
      Src: /src/PcapPlusPlus/Common++/src/PcapPlusPlusVersion.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: pcpp::getGitInfo
    functionSourceFile: /src/PcapPlusPlus/Common++/src/PcapPlusPlusVersion.cpp
    functionUses: 22
    functionsReached:
    - pcpp::getGitBranch
    - pcpp::getGitCommit
    linkageType: ''
    returnType: std::string
    signature: std::string getGitInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 12
    functionName: pcpp::getGitCommit
    functionSourceFile: /src/PcapPlusPlus/Common++/src/PcapPlusPlusVersion.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getGitCommit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: pcpp::getGitBranch
    functionSourceFile: /src/PcapPlusPlus/Common++/src/PcapPlusPlusVersion.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getGitBranch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getGitBranch
      Src: /src/PcapPlusPlus/Common++/src/PcapPlusPlusVersion.cpp:24,1
    - Dst: pcpp::getGitCommit
      Src: /src/PcapPlusPlus/Common++/src/PcapPlusPlusVersion.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: pcpp::getGitInfo
    functionSourceFile: /src/PcapPlusPlus/Common++/src/PcapPlusPlusVersion.cpp
    functionUses: 22
    functionsReached:
    - pcpp::getGitBranch
    - pcpp::getGitCommit
    linkageType: ''
    returnType: std::string
    signature: std::string getGitInfo()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:25,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:30,1
    - Dst: reinterpret_cast<sockaddr_in*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: pcpp::internal::sockaddr2in_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - reinterpret_cast<sockaddr_in*>
    linkageType: ''
    returnType: in_addr
    signature: in_addr * sockaddr2in_addr(sockaddr* sAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::sockaddr2in_addr
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:40,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:45,1
    - Dst: what
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: pcpp::internal::try_sockaddr2in_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - what
    - pcpp::internal::sockaddr2in_addr
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: in_addr
    signature: in_addr * try_sockaddr2in_addr(sockaddr* sAddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:54,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:59,1
    - Dst: reinterpret_cast<sockaddr_in6*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: pcpp::internal::sockaddr2in6_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<sockaddr_in6*>
    - std::invalid_argument
    linkageType: ''
    returnType: in6_addr
    signature: in6_addr * sockaddr2in6_addr(sockaddr* sAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::sockaddr2in6_addr
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:69,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:74,1
    - Dst: what
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: pcpp::internal::try_sockaddr2in6_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::sockaddr2in6_addr
    - what
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: in6_addr
    signature: in6_addr * try_sockaddr2in6_addr(sockaddr* sAddr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:83,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:90,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:93,1
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:96,1
    - Dst: reinterpret_cast<const sockaddr_in*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:96,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:99,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:105,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:108,1
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:111,1
    - Dst: reinterpret_cast<const sockaddr_in6*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:111,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:114,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:119,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - sAddr
    - resultString
    - resultBufLen
    argTypes:
    - sockaddr*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 121
    functionName: pcpp::internal::sockaddr2string
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const sockaddr_in*>
    - reinterpret_cast<const sockaddr_in6*>
    - std::invalid_argument
    - std::runtime_error
    - PCPP_LOG_DEBUG
    - inet_ntop
    linkageType: ''
    returnType: void
    signature: void sockaddr2string(const sockaddr* sAddr, char* resultString, size_t
      resultBufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inAddr
    argTypes:
    - in_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: pcpp::internal::in_addr2int
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t in_addr2int(in_addr inAddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:25,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:30,1
    - Dst: reinterpret_cast<sockaddr_in*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: pcpp::internal::sockaddr2in_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 1
    functionsReached:
    - std::invalid_argument
    - reinterpret_cast<sockaddr_in*>
    linkageType: ''
    returnType: in_addr
    signature: in_addr * sockaddr2in_addr(sockaddr* sAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::sockaddr2in_addr
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:40,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:45,1
    - Dst: what
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: pcpp::internal::try_sockaddr2in_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - what
    - pcpp::internal::sockaddr2in_addr
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: in_addr
    signature: in_addr * try_sockaddr2in_addr(sockaddr* sAddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:54,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:59,1
    - Dst: reinterpret_cast<sockaddr_in6*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: pcpp::internal::sockaddr2in6_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<sockaddr_in6*>
    - std::invalid_argument
    linkageType: ''
    returnType: in6_addr
    signature: in6_addr * sockaddr2in6_addr(sockaddr* sAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::sockaddr2in6_addr
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:69,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:74,1
    - Dst: what
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: pcpp::internal::try_sockaddr2in6_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::sockaddr2in6_addr
    - what
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: in6_addr
    signature: in6_addr * try_sockaddr2in6_addr(sockaddr* sAddr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:83,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:90,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:93,1
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:96,1
    - Dst: reinterpret_cast<const sockaddr_in*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:96,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:99,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:105,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:108,1
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:111,1
    - Dst: reinterpret_cast<const sockaddr_in6*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:111,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:114,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:119,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - sAddr
    - resultString
    - resultBufLen
    argTypes:
    - sockaddr*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 121
    functionName: pcpp::internal::sockaddr2string
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const sockaddr_in*>
    - reinterpret_cast<const sockaddr_in6*>
    - std::invalid_argument
    - std::runtime_error
    - PCPP_LOG_DEBUG
    - inet_ntop
    linkageType: ''
    returnType: void
    signature: void sockaddr2string(const sockaddr* sAddr, char* resultString, size_t
      resultBufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inAddr
    argTypes:
    - in_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: pcpp::internal::in_addr2int
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t in_addr2int(in_addr inAddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:25,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:30,1
    - Dst: reinterpret_cast<sockaddr_in*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: pcpp::internal::sockaddr2in_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 2
    functionsReached:
    - std::invalid_argument
    - reinterpret_cast<sockaddr_in*>
    linkageType: ''
    returnType: in_addr
    signature: in_addr * sockaddr2in_addr(sockaddr* sAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::sockaddr2in_addr
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:40,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:45,1
    - Dst: what
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: pcpp::internal::try_sockaddr2in_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - what
    - pcpp::internal::sockaddr2in_addr
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: in_addr
    signature: in_addr * try_sockaddr2in_addr(sockaddr* sAddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:54,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:59,1
    - Dst: reinterpret_cast<sockaddr_in6*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: pcpp::internal::sockaddr2in6_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<sockaddr_in6*>
    - std::invalid_argument
    linkageType: ''
    returnType: in6_addr
    signature: in6_addr * sockaddr2in6_addr(sockaddr* sAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::sockaddr2in6_addr
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:69,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:74,1
    - Dst: what
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: pcpp::internal::try_sockaddr2in6_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::sockaddr2in6_addr
    - what
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: in6_addr
    signature: in6_addr * try_sockaddr2in6_addr(sockaddr* sAddr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:83,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:90,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:93,1
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:96,1
    - Dst: reinterpret_cast<const sockaddr_in*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:96,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:99,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:105,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:108,1
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:111,1
    - Dst: reinterpret_cast<const sockaddr_in6*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:111,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:114,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:119,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - sAddr
    - resultString
    - resultBufLen
    argTypes:
    - sockaddr*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 121
    functionName: pcpp::internal::sockaddr2string
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const sockaddr_in*>
    - reinterpret_cast<const sockaddr_in6*>
    - std::invalid_argument
    - std::runtime_error
    - PCPP_LOG_DEBUG
    - inet_ntop
    linkageType: ''
    returnType: void
    signature: void sockaddr2string(const sockaddr* sAddr, char* resultString, size_t
      resultBufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inAddr
    argTypes:
    - in_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: pcpp::internal::in_addr2int
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t in_addr2int(in_addr inAddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:25,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:30,1
    - Dst: reinterpret_cast<sockaddr_in*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 34
    functionName: pcpp::internal::sockaddr2in_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 3
    functionsReached:
    - std::invalid_argument
    - reinterpret_cast<sockaddr_in*>
    linkageType: ''
    returnType: in_addr
    signature: in_addr * sockaddr2in_addr(sockaddr* sAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::sockaddr2in_addr
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:40,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:45,1
    - Dst: what
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: pcpp::internal::try_sockaddr2in_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - what
    - pcpp::internal::sockaddr2in_addr
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: in_addr
    signature: in_addr * try_sockaddr2in_addr(sockaddr* sAddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:54,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:59,1
    - Dst: reinterpret_cast<sockaddr_in6*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: pcpp::internal::sockaddr2in6_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 3
    functionsReached:
    - reinterpret_cast<sockaddr_in6*>
    - std::invalid_argument
    linkageType: ''
    returnType: in6_addr
    signature: in6_addr * sockaddr2in6_addr(sockaddr* sAddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::sockaddr2in6_addr
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:69,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:74,1
    - Dst: what
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sAddr
    argTypes:
    - sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: pcpp::internal::try_sockaddr2in6_addr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::sockaddr2in6_addr
    - what
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: in6_addr
    signature: in6_addr * try_sockaddr2in6_addr(sockaddr* sAddr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:83,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:90,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:93,1
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:96,1
    - Dst: reinterpret_cast<const sockaddr_in*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:96,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:99,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:105,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:108,1
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:111,1
    - Dst: reinterpret_cast<const sockaddr_in6*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:111,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:114,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:119,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - sAddr
    - resultString
    - resultBufLen
    argTypes:
    - sockaddr*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 121
    functionName: pcpp::internal::sockaddr2string
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const sockaddr_in*>
    - reinterpret_cast<const sockaddr_in6*>
    - std::invalid_argument
    - std::runtime_error
    - PCPP_LOG_DEBUG
    - inet_ntop
    linkageType: ''
    returnType: void
    signature: void sockaddr2string(const sockaddr* sAddr, char* resultString, size_t
      resultBufLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inAddr
    argTypes:
    - in_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: pcpp::internal::in_addr2int
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t in_addr2int(in_addr inAddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:152,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - src
    - dst
    - size
    argTypes:
    - uint8_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: inet_ntop4
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - strncpy
    - snprintf
    linkageType: ''
    returnType: char
    signature: char * inet_ntop4(const uint8_t* src, char* dst, size_t size)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:190,1
    - Dst: inet_ntop4
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:243,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:245,1
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:248,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:262,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 52
    argCount: 3
    argNames:
    - src
    - dst
    - size
    argTypes:
    - uint8_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 264
    functionName: inet_ntop6
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - inet_ntop4
    - strncpy
    - snprintf
    - strlen
    - memset
    linkageType: ''
    returnType: char
    signature: char * inet_ntop6(const uint8_t* src, char* dst, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:289,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:315,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 317
    functionName: inet_pton4
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - strchr
    linkageType: ''
    returnType: int
    signature: int inet_pton4(const char* src, uint8_t* dst)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:340,1
    - Dst: strchr
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:354,1
    - Dst: strchr
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:355,1
    - Dst: inet_pton4
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:387,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:422,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 424
    functionName: inet_pton6
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - memset
    - inet_pton4
    - strchr
    linkageType: ''
    returnType: int
    signature: int inet_pton6(const char* src, uint8_t* dst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop4
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:431,1
    - Dst: inet_ntop6
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - af
    - src
    - dst
    - size
    argTypes:
    - int
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 438
    functionName: inet_ntop
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 6
    functionsReached:
    - inet_ntop4
    - inet_ntop6
    linkageType: ''
    returnType: char
    signature: char * inet_ntop(int af, const void* src, char* dst, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton4
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:446,1
    - Dst: static_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:446,1
    - Dst: inet_pton6
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:450,1
    - Dst: static_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Common++/src/IpUtils.cpp:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - af
    - src
    - dst
    argTypes:
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 456
    functionName: inet_pton
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    functionUses: 3
    functionsReached:
    - inet_pton4
    - static_cast<uint8_t*>
    - inet_pton6
    linkageType: ''
    returnType: int
    signature: int inet_pton(int af, const char* src, void* dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:25,1
    - Dst: pcpp::Logger::logLevelAsString
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:25,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:25,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - logLevel
    - ' logMessage'
    - ' file'
    - ' method'
    - line
    argTypes:
    - LogLevel
    - std::string
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 27
    functionName: pcpp::printToCerr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Logger::logLevelAsString
    - std::ostringstream::str
    - std::setw
    linkageType: ''
    returnType: void
    signature: "void printToCerr(LogLevel logLevel, const std::string& logMessage,
      const std::string& file,\n\t\t                 const std::string& method, const
      int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:25,1
    - Dst: pcpp::Logger::logLevelAsString
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:25,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:25,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - logLevel
    - ' logMessage'
    - ' file'
    - ' method'
    - line
    argTypes:
    - LogLevel
    - std::string
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 27
    functionName: pcpp::printToCerr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Logger::logLevelAsString
    - std::ostringstream::str
    - std::setw
    linkageType: ''
    returnType: void
    signature: "void printToCerr(LogLevel logLevel, const std::string& logMessage,
      const std::string& file,\n\t\t                 const std::string& method, const
      int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: pcpp::checkError
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * checkError(int /*unused*/, char* buffer, int /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: pcpp::checkError
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * checkError(char* result, const char* /*unused*/, int /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror_s
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:46,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:46,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:46,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:47,1
    - Dst: pcpp::checkError
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:49,1
    - Dst: strerror_r
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:49,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:49,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: pcpp::getErrorString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 0
    functionsReached:
    - pcpp::checkError
    - strerror_r
    - std::array::size
    - std::array::data
    - strerror_s
    linkageType: ''
    returnType: std::string
    signature: std::string getErrorString(int errnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: pcpp::Logger::Logger
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 0
    functionsReached:
    - fill
    linkageType: ''
    returnType: void
    signature: void Logger::Logger()
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - logLevel
    argTypes:
    - LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: pcpp::Logger::logLevelAsString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Logger::logLevelAsString(LogLevel logLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: pcpp::Logger::resetLogPrinter
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Logger::resetLogPrinter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Logger::createLogContext
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pcpp::Logger::createLogContext
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Logger::createLogContext
    linkageType: ''
    returnType: std::unique_ptr<internal::LogContext>
    signature: std::unique_ptr<internal::LogContext> Logger::createLogContext()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: acquireObject
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:92,1
    - Dst: auto::init
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:93,1
    - Dst: std::make_unique<internal::LogContext>
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - level
    - ' source'
    argTypes:
    - LogLevel
    - LogSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: pcpp::Logger::createLogContext
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 1
    functionsReached:
    - auto::init
    - std::make_unique<internal::LogContext>
    - acquireObject
    linkageType: ''
    returnType: std::unique_ptr<internal::LogContext>
    signature: std::unique_ptr<internal::LogContext> Logger::createLogContext(LogLevel
      level, LogSource const& source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Logger::emit
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:101,1
    - Dst: std::unique_ptr<internal::LogContext>::m_Stream::str
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:101,1
    - Dst: releaseObject
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:105,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::unique_ptr<internal::LogContext>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pcpp::Logger::emit
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Logger::emit
    - std::unique_ptr<internal::LogContext>::m_Stream::str
    - std::move
    - releaseObject
    linkageType: ''
    returnType: void
    signature: void Logger::emit(std::unique_ptr<internal::LogContext> message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:114,1
    - Dst: copy
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:118,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:118,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:118,1
    - Dst: m_LogPrinter
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' source'
    - logLevel
    - ' message'
    argTypes:
    - LogSource
    - LogLevel
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: pcpp::Logger::emit
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 1
    functionsReached:
    - m_LogPrinter
    - copy
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void Logger::emit(LogSource const& source, LogLevel logLevel, std::string
      const& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:25,1
    - Dst: pcpp::Logger::logLevelAsString
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:25,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:25,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - logLevel
    - ' logMessage'
    - ' file'
    - ' method'
    - line
    argTypes:
    - LogLevel
    - std::string
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 27
    functionName: pcpp::printToCerr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Logger::logLevelAsString
    - std::ostringstream::str
    - std::setw
    linkageType: ''
    returnType: void
    signature: "void printToCerr(LogLevel logLevel, const std::string& logMessage,
      const std::string& file,\n\t\t                 const std::string& method, const
      int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:25,1
    - Dst: pcpp::Logger::logLevelAsString
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:25,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:25,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - logLevel
    - ' logMessage'
    - ' file'
    - ' method'
    - line
    argTypes:
    - LogLevel
    - std::string
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 27
    functionName: pcpp::printToCerr
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Logger::logLevelAsString
    - std::ostringstream::str
    - std::setw
    linkageType: ''
    returnType: void
    signature: "void printToCerr(LogLevel logLevel, const std::string& logMessage,
      const std::string& file,\n\t\t                 const std::string& method, const
      int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: pcpp::checkError
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * checkError(int /*unused*/, char* buffer, int /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: pcpp::checkError
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * checkError(char* result, const char* /*unused*/, int /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror_s
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:46,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:46,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:46,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:47,1
    - Dst: pcpp::checkError
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:49,1
    - Dst: strerror_r
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:49,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:49,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: pcpp::getErrorString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 0
    functionsReached:
    - pcpp::checkError
    - strerror_r
    - std::array::size
    - std::array::data
    - strerror_s
    linkageType: ''
    returnType: std::string
    signature: std::string getErrorString(int errnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: pcpp::Logger::Logger
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 0
    functionsReached:
    - fill
    linkageType: ''
    returnType: void
    signature: void Logger::Logger()
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - logLevel
    argTypes:
    - LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: pcpp::Logger::logLevelAsString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string Logger::logLevelAsString(LogLevel logLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: pcpp::Logger::resetLogPrinter
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Logger::resetLogPrinter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Logger::createLogContext
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: pcpp::Logger::createLogContext
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 2
    functionsReached:
    - pcpp::Logger::createLogContext
    linkageType: ''
    returnType: std::unique_ptr<internal::LogContext>
    signature: std::unique_ptr<internal::LogContext> Logger::createLogContext()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: acquireObject
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:92,1
    - Dst: auto::init
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:93,1
    - Dst: std::make_unique<internal::LogContext>
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - level
    - ' source'
    argTypes:
    - LogLevel
    - LogSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: pcpp::Logger::createLogContext
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 2
    functionsReached:
    - auto::init
    - std::make_unique<internal::LogContext>
    - acquireObject
    linkageType: ''
    returnType: std::unique_ptr<internal::LogContext>
    signature: std::unique_ptr<internal::LogContext> Logger::createLogContext(LogLevel
      level, LogSource const& source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Logger::emit
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:101,1
    - Dst: std::unique_ptr<internal::LogContext>::m_Stream::str
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:101,1
    - Dst: releaseObject
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:105,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::unique_ptr<internal::LogContext>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: pcpp::Logger::emit
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 2
    functionsReached:
    - pcpp::Logger::emit
    - std::unique_ptr<internal::LogContext>::m_Stream::str
    - std::move
    - releaseObject
    linkageType: ''
    returnType: void
    signature: void Logger::emit(std::unique_ptr<internal::LogContext> message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:114,1
    - Dst: copy
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:118,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:118,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:118,1
    - Dst: m_LogPrinter
      Src: /src/PcapPlusPlus/Common++/src/Logger.cpp:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' source'
    - logLevel
    - ' message'
    argTypes:
    - LogSource
    - LogLevel
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: pcpp::Logger::emit
    functionSourceFile: /src/PcapPlusPlus/Common++/src/Logger.cpp
    functionUses: 2
    functionsReached:
    - m_LogPrinter
    - copy
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void Logger::emit(LogSource const& source, LogLevel logLevel, std::string
      const& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:35,1
    - Dst: pcpp::IPv4Address::toBytes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: pcpp::IPv4Address::toString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv4Address::toBytes
    - inet_ntop
    linkageType: ''
    returnType: std::string
    signature: std::string IPv4Address::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: pcpp::IPv4Address::isMulticast
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IPv4Address::isMulticast() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:53,1
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:58,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:60,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: pcpp::IPv4Address::IPv4Address
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 8
    functionsReached:
    - memcpy
    - std::out_of_range
    - data
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void IPv4Address::IPv4Address(const uint8_t* bytes, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:65,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:65,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:65,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' addrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: pcpp::IPv4Address::IPv4Address
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 8
    functionsReached:
    - inet_pton
    - data
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void IPv4Address::IPv4Address(const std::string& addrAsString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: includes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - IPv4Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: pcpp::IPv4Address::matchNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - includes
    linkageType: ''
    returnType: bool
    signature: bool IPv4Address::matchNetwork(const IPv4Network& network) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Network
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:80,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:81,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:86,1
    - Dst: what
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: pcpp::IPv4Address::matchNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - what
    - auto::includes
    - IPv4Network
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool IPv4Address::matchNetwork(const std::string& network) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:94,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: pcpp::IPv4Address::isValidIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - inet_pton
    - data
    linkageType: ''
    returnType: bool
    signature: bool IPv4Address::isValidIPv4Address(const std::string& addrAsString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:105,1
    - Dst: pcpp::IPv6Address::toBytes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: pcpp::IPv6Address::toString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - inet_ntop
    - pcpp::IPv6Address::toBytes
    linkageType: ''
    returnType: std::string
    signature: std::string IPv6Address::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: pcpp::IPv6Address::isMulticast
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IPv6Address::isMulticast() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:122,1
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:127,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:129,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: pcpp::IPv6Address::IPv6Address
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - std::out_of_range
    - data
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void IPv6Address::IPv6Address(const uint8_t* bytes, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:134,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:134,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:134,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' addrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: pcpp::IPv6Address::IPv6Address
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - inet_pton
    - data
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void IPv6Address::IPv6Address(const std::string& addrAsString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:142,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:144,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:145,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arr
    - ' length'
    argTypes:
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: pcpp::IPv6Address::copyTo
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - uint8_t::uint8_t
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void IPv6Address::copyTo(uint8_t** arr, size_t& length) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:150,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:156,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:167,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 169
    functionName: pcpp::IPv6Address::copyTo
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - data
    - std::invalid_argument
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t IPv6Address::copyTo(uint8_t* buffer, size_t size) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:175,1
    - Dst: pcpp::IPv6Address::copyTo
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:178,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:179,1
    - Dst: pcpp::IPv6Address::copyTo
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - ' size'
    argTypes:
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 189
    functionName: pcpp::IPv6Address::copyToNewBuffer
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Address::copyTo
    - std::invalid_argument
    - uint8_t::uint8_t
    linkageType: ''
    returnType: bool
    signature: bool IPv6Address::copyToNewBuffer(uint8_t** buffer, size_t& size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: includes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - IPv6Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: pcpp::IPv6Address::matchNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - includes
    linkageType: ''
    returnType: bool
    signature: bool IPv6Address::matchNetwork(const IPv6Network& network) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Network
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:200,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:201,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:206,1
    - Dst: what
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: pcpp::IPv6Address::matchNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - what
    - auto::includes
    - IPv6Network
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool IPv6Address::matchNetwork(const std::string& network) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:214,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: pcpp::IPv6Address::isValidIPv6Address
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - inet_pton
    - data
    linkageType: ''
    returnType: bool
    signature: bool IPv6Address::isValidIPv6Address(const std::string& addrAsString)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Address::isValidIPv4Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:223,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:226,1
    - Dst: pcpp::IPv6Address::isValidIPv6Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:228,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:231,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' addrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 237
    functionName: pcpp::IPAddress::IPAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - IPv4Address
    - std::invalid_argument
    - IPv6Address
    - pcpp::IPv6Address::isValidIPv6Address
    - pcpp::IPv4Address::isValidIPv4Address
    linkageType: ''
    returnType: void
    signature: void IPAddress::IPAddress(const std::string& addrAsString)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:250,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:250,1
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' maskAddress'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 260
    functionName: pcpp::IPv4Network::isValidNetmask
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - be32toh
    - std::bitset::count
    linkageType: ''
    returnType: bool
    signature: bool IPv4Network::isValidNetmask(const IPv4Address& maskAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:264,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' address'
    - prefixLen
    argTypes:
    - IPv4Address
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: pcpp::IPv4Network::initFromAddressAndPrefixLength
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - toInt
    - be32toh
    linkageType: ''
    returnType: void
    signature: void IPv4Network::initFromAddressAndPrefixLength(const IPv4Address&
      address, uint8_t prefixLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:270,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' address'
    - ' netmaskAddress'
    argTypes:
    - IPv4Address
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: pcpp::IPv4Network::initFromAddressAndNetmask
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - toInt
    linkageType: ''
    returnType: void
    signature: void IPv4Network::initFromAddressAndNetmask(const IPv4Address& address,
      const IPv4Address& netmaskAddress)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:278,1
    - Dst: pcpp::IPv4Network::initFromAddressAndPrefixLength
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' address'
    - prefixLen
    argTypes:
    - IPv4Address
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: pcpp::IPv4Network::IPv4Network
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv4Network::initFromAddressAndPrefixLength
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void IPv4Network::IPv4Network(const IPv4Address& address, uint8_t prefixLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:289,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:293,1
    - Dst: pcpp::IPv4Network::isValidNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:295,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:297,1
    - Dst: pcpp::IPv4Network::initFromAddressAndNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' address'
    - ' netmask'
    argTypes:
    - IPv4Address
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 300
    functionName: pcpp::IPv4Network::IPv4Network
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - IPv4Address
    - pcpp::IPv4Network::initFromAddressAndNetmask
    - pcpp::IPv4Network::isValidNetmask
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void IPv4Network::IPv4Network(const IPv4Address& address, const std::string&
      netmask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:307,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:308,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:310,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:312,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:319,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:323,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:326,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:326,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:326,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:328,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:331,1
    - Dst: pcpp::IPv4Network::initFromAddressAndPrefixLength
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:334,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:341,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:345,1
    - Dst: pcpp::IPv4Network::isValidNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:347,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:349,1
    - Dst: pcpp::IPv4Network::initFromAddressAndNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:351,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - ' addressAndNetmask'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 353
    functionName: pcpp::IPv4Network::IPv4Network
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - IPv4Address
    - std::invalid_argument
    - pcpp::IPv4Network::initFromAddressAndNetmask
    - std::getline
    - std::string::empty
    - std::all_of
    - std::stoi
    - pcpp::IPv4Network::initFromAddressAndPrefixLength
    - std::string::begin
    - pcpp::IPv4Network::isValidNetmask
    - std::string::end
    linkageType: ''
    returnType: void
    signature: void IPv4Network::IPv4Network(const std::string& addressAndNetmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: pcpp::IPv4Network::getPrefixLen
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - std::bitset::count
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t IPv4Network::getPrefixLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:364,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: pcpp::IPv4Network::getLowestAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - std::bitset::count
    - htobe32
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address IPv4Network::getLowestAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:369,1
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:371,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: pcpp::IPv4Network::getHighestAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - std::bitset::count
    - htobe32
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address IPv4Network::getHighestAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:376,1
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: pcpp::IPv4Network::getTotalAddressCount
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - std::bitset::count
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IPv4Network::getTotalAddressCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: pcpp::IPv4Network::includes
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - toInt
    linkageType: ''
    returnType: bool
    signature: bool IPv4Network::includes(const IPv4Address& address) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - IPv4Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 390
    functionName: pcpp::IPv4Network::includes
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IPv4Network::includes(const IPv4Network& network) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Network::getNetworkPrefix
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:395,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:395,1
    - Dst: pcpp::IPv4Network::getPrefixLen
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:395,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: pcpp::IPv4Network::toString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::ostringstream::str
    - pcpp::IPv4Network::getNetworkPrefix
    - pcpp::IPv4Network::getPrefixLen
    linkageType: ''
    returnType: std::string
    signature: std::string IPv4Network::toString() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:412,1
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:424,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - ' netmask'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 437
    functionName: pcpp::IPv6Network::isValidNetmask
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - toBytes
    - std::bitset::count
    linkageType: ''
    returnType: bool
    signature: bool IPv6Network::isValidNetmask(const IPv6Address& netmask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:441,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' address'
    - prefixLen
    argTypes:
    - IPv6Address
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 467
    functionName: pcpp::IPv6Network::initFromAddressAndPrefixLength
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - memset
    - copyTo
    linkageType: ''
    returnType: void
    signature: void IPv6Network::initFromAddressAndPrefixLength(const IPv6Address&
      address, uint8_t prefixLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:471,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' address'
    - ' netmaskAddr'
    argTypes:
    - IPv6Address
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 479
    functionName: pcpp::IPv6Network::initFromAddressAndNetmask
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - copyTo
    linkageType: ''
    returnType: void
    signature: void IPv6Network::initFromAddressAndNetmask(const IPv6Address& address,
      const IPv6Address& netmaskAddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:485,1
    - Dst: pcpp::IPv6Network::initFromAddressAndPrefixLength
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' address'
    - prefixLen
    argTypes:
    - IPv6Address
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 489
    functionName: pcpp::IPv6Network::IPv6Network
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pcpp::IPv6Network::initFromAddressAndPrefixLength
    linkageType: ''
    returnType: void
    signature: void IPv6Network::IPv6Network(const IPv6Address& address, uint8_t prefixLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:496,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:500,1
    - Dst: pcpp::IPv6Network::isValidNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:502,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:504,1
    - Dst: pcpp::IPv6Network::initFromAddressAndNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' address'
    - ' netmask'
    argTypes:
    - IPv6Address
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 507
    functionName: pcpp::IPv6Network::IPv6Network
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - IPv6Address
    - pcpp::IPv6Network::isValidNetmask
    - pcpp::IPv6Network::initFromAddressAndNetmask
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void IPv6Network::IPv6Network(const IPv6Address& address, const std::string&
      netmask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:514,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:515,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:517,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:519,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:526,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:530,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:532,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:532,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:532,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:534,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:537,1
    - Dst: pcpp::IPv6Network::initFromAddressAndPrefixLength
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:540,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:547,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:551,1
    - Dst: pcpp::IPv6Network::isValidNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:553,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:555,1
    - Dst: pcpp::IPv6Network::initFromAddressAndNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:557,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - ' addressAndNetmask'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 559
    functionName: pcpp::IPv6Network::IPv6Network
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Network::initFromAddressAndNetmask
    - std::invalid_argument
    - std::getline
    - std::string::empty
    - std::all_of
    - std::stoi
    - IPv6Address
    - pcpp::IPv6Network::initFromAddressAndPrefixLength
    - pcpp::IPv6Network::isValidNetmask
    - std::string::begin
    - std::string::end
    linkageType: ''
    returnType: void
    signature: void IPv6Network::IPv6Network(const std::string& addressAndNetmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:567,1
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 570
    functionName: pcpp::IPv6Network::getPrefixLen
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - std::bitset::count
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t IPv6Network::getPrefixLen() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Network::getPrefixLen
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:574,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 583
    functionName: pcpp::IPv6Network::getLowestAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - pcpp::IPv6Network::getPrefixLen
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address IPv6Network::getLowestAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 595
    functionName: pcpp::IPv6Network::getHighestAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address IPv6Network::getHighestAddress() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:602,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:603,1
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:603,1
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 611
    functionName: pcpp::IPv6Network::getTotalAddressCount
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - std::bitset::count
    - static_cast<int>
    - std::out_of_range
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IPv6Network::getTotalAddressCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:616,1
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 623
    functionName: pcpp::IPv6Network::includes
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - memcmp
    - copyTo
    linkageType: ''
    returnType: bool
    signature: bool IPv6Network::includes(const IPv6Address& address) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Network::includes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:627,1
    - Dst: pcpp::IPv6Network::getLowestAddress
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:627,1
    - Dst: pcpp::IPv6Network::includes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:627,1
    - Dst: pcpp::IPv6Network::getHighestAddress
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - IPv6Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 628
    functionName: pcpp::IPv6Network::includes
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv6Network::getHighestAddress
    - pcpp::IPv6Network::getLowestAddress
    - pcpp::IPv6Network::includes
    linkageType: ''
    returnType: bool
    signature: bool IPv6Network::includes(const IPv6Network& network) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Network::getNetworkPrefix
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:633,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:633,1
    - Dst: pcpp::IPv6Network::getPrefixLen
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:633,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 635
    functionName: pcpp::IPv6Network::toString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Network::getPrefixLen
    - static_cast<int>
    - std::ostringstream::str
    - pcpp::IPv6Network::getNetworkPrefix
    linkageType: ''
    returnType: std::string
    signature: std::string IPv6Network::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: destroyActiveMem
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:644,1
    - Dst: IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:649,1
    - Dst: IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - newType
    argTypes:
    - IPNetwork::NetworkVariant::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 656
    functionName: IPNetwork::NetworkVariant::swapTo(IPNetwork::NetworkVariant::Type
      newType) noexcept
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - destroyActiveMem
    - IPv6Network::IPv6Network
    - IPv4Network::IPv4Network
    linkageType: ''
    returnType: void
    signature: void IPNetwork::NetworkVariant::swapTo(IPNetwork::NetworkVariant::Type
      newType) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ~IPv4Network
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:663,1
    - Dst: ~IPv6Network
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 669
    functionName: IPNetwork::NetworkVariant::destroyActiveMem() noexcept
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - ~IPv6Network
    - ~IPv4Network
    linkageType: ''
    returnType: void
    signature: void IPNetwork::NetworkVariant::destroyActiveMem() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:35,1
    - Dst: pcpp::IPv4Address::toBytes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: pcpp::IPv4Address::toString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv4Address::toBytes
    - inet_ntop
    linkageType: ''
    returnType: std::string
    signature: std::string IPv4Address::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: pcpp::IPv4Address::isMulticast
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IPv4Address::isMulticast() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:53,1
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:58,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:60,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: pcpp::IPv4Address::IPv4Address
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 8
    functionsReached:
    - memcpy
    - std::out_of_range
    - data
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void IPv4Address::IPv4Address(const uint8_t* bytes, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:65,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:65,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:65,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' addrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: pcpp::IPv4Address::IPv4Address
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 8
    functionsReached:
    - inet_pton
    - data
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void IPv4Address::IPv4Address(const std::string& addrAsString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: includes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - IPv4Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: pcpp::IPv4Address::matchNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - includes
    linkageType: ''
    returnType: bool
    signature: bool IPv4Address::matchNetwork(const IPv4Network& network) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Network
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:80,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:81,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:86,1
    - Dst: what
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: pcpp::IPv4Address::matchNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - what
    - auto::includes
    - IPv4Network
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool IPv4Address::matchNetwork(const std::string& network) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:94,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: pcpp::IPv4Address::isValidIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 1
    functionsReached:
    - inet_pton
    - data
    linkageType: ''
    returnType: bool
    signature: bool IPv4Address::isValidIPv4Address(const std::string& addrAsString)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:105,1
    - Dst: pcpp::IPv6Address::toBytes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: pcpp::IPv6Address::toString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - inet_ntop
    - pcpp::IPv6Address::toBytes
    linkageType: ''
    returnType: std::string
    signature: std::string IPv6Address::toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: pcpp::IPv6Address::isMulticast
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IPv6Address::isMulticast() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:122,1
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:127,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:129,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: pcpp::IPv6Address::IPv6Address
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - std::out_of_range
    - data
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void IPv6Address::IPv6Address(const uint8_t* bytes, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:134,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:134,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:134,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' addrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: pcpp::IPv6Address::IPv6Address
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - inet_pton
    - data
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void IPv6Address::IPv6Address(const std::string& addrAsString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:142,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:144,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:145,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arr
    - ' length'
    argTypes:
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: pcpp::IPv6Address::copyTo
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - uint8_t::uint8_t
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void IPv6Address::copyTo(uint8_t** arr, size_t& length) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:150,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:156,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:167,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 169
    functionName: pcpp::IPv6Address::copyTo
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 1
    functionsReached:
    - std::memcpy
    - data
    - std::invalid_argument
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t IPv6Address::copyTo(uint8_t* buffer, size_t size) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:175,1
    - Dst: pcpp::IPv6Address::copyTo
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:178,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:179,1
    - Dst: pcpp::IPv6Address::copyTo
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - ' size'
    argTypes:
    - uint8_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 189
    functionName: pcpp::IPv6Address::copyToNewBuffer
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Address::copyTo
    - std::invalid_argument
    - uint8_t::uint8_t
    linkageType: ''
    returnType: bool
    signature: bool IPv6Address::copyToNewBuffer(uint8_t** buffer, size_t& size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: includes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - IPv6Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: pcpp::IPv6Address::matchNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - includes
    linkageType: ''
    returnType: bool
    signature: bool IPv6Address::matchNetwork(const IPv6Network& network) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Network
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:200,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:201,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:206,1
    - Dst: what
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: pcpp::IPv6Address::matchNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - what
    - auto::includes
    - IPv6Network
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool IPv6Address::matchNetwork(const std::string& network) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:214,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' addrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: pcpp::IPv6Address::isValidIPv6Address
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 1
    functionsReached:
    - inet_pton
    - data
    linkageType: ''
    returnType: bool
    signature: bool IPv6Address::isValidIPv6Address(const std::string& addrAsString)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Address::isValidIPv4Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:223,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:226,1
    - Dst: pcpp::IPv6Address::isValidIPv6Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:228,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:231,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' addrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 237
    functionName: pcpp::IPAddress::IPAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - IPv4Address
    - std::invalid_argument
    - IPv6Address
    - pcpp::IPv6Address::isValidIPv6Address
    - pcpp::IPv4Address::isValidIPv4Address
    linkageType: ''
    returnType: void
    signature: void IPAddress::IPAddress(const std::string& addrAsString)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:250,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:250,1
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' maskAddress'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 260
    functionName: pcpp::IPv4Network::isValidNetmask
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - toInt
    - be32toh
    - std::bitset::count
    linkageType: ''
    returnType: bool
    signature: bool IPv4Network::isValidNetmask(const IPv4Address& maskAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:264,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' address'
    - prefixLen
    argTypes:
    - IPv4Address
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: pcpp::IPv4Network::initFromAddressAndPrefixLength
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - toInt
    - be32toh
    linkageType: ''
    returnType: void
    signature: void IPv4Network::initFromAddressAndPrefixLength(const IPv4Address&
      address, uint8_t prefixLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:270,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' address'
    - ' netmaskAddress'
    argTypes:
    - IPv4Address
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: pcpp::IPv4Network::initFromAddressAndNetmask
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - toInt
    linkageType: ''
    returnType: void
    signature: void IPv4Network::initFromAddressAndNetmask(const IPv4Address& address,
      const IPv4Address& netmaskAddress)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:278,1
    - Dst: pcpp::IPv4Network::initFromAddressAndPrefixLength
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' address'
    - prefixLen
    argTypes:
    - IPv4Address
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: pcpp::IPv4Network::IPv4Network
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv4Network::initFromAddressAndPrefixLength
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void IPv4Network::IPv4Network(const IPv4Address& address, uint8_t prefixLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:289,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:293,1
    - Dst: pcpp::IPv4Network::isValidNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:295,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:297,1
    - Dst: pcpp::IPv4Network::initFromAddressAndNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' address'
    - ' netmask'
    argTypes:
    - IPv4Address
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 300
    functionName: pcpp::IPv4Network::IPv4Network
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - IPv4Address
    - pcpp::IPv4Network::initFromAddressAndNetmask
    - pcpp::IPv4Network::isValidNetmask
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void IPv4Network::IPv4Network(const IPv4Address& address, const std::string&
      netmask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:307,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:308,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:310,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:312,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:319,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:323,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:326,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:326,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:326,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:328,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:331,1
    - Dst: pcpp::IPv4Network::initFromAddressAndPrefixLength
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:334,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:341,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:345,1
    - Dst: pcpp::IPv4Network::isValidNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:347,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:349,1
    - Dst: pcpp::IPv4Network::initFromAddressAndNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:351,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - ' addressAndNetmask'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 353
    functionName: pcpp::IPv4Network::IPv4Network
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - IPv4Address
    - std::invalid_argument
    - pcpp::IPv4Network::initFromAddressAndNetmask
    - std::getline
    - std::string::empty
    - std::all_of
    - std::stoi
    - pcpp::IPv4Network::initFromAddressAndPrefixLength
    - std::string::begin
    - pcpp::IPv4Network::isValidNetmask
    - std::string::end
    linkageType: ''
    returnType: void
    signature: void IPv4Network::IPv4Network(const std::string& addressAndNetmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: pcpp::IPv4Network::getPrefixLen
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 1
    functionsReached:
    - std::bitset::count
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t IPv4Network::getPrefixLen() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:364,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: pcpp::IPv4Network::getLowestAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - std::bitset::count
    - htobe32
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address IPv4Network::getLowestAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:369,1
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:371,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: pcpp::IPv4Network::getHighestAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - std::bitset::count
    - htobe32
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address IPv4Network::getHighestAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:376,1
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: pcpp::IPv4Network::getTotalAddressCount
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - std::bitset::count
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IPv4Network::getTotalAddressCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: pcpp::IPv4Network::includes
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - toInt
    linkageType: ''
    returnType: bool
    signature: bool IPv4Network::includes(const IPv4Address& address) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - IPv4Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 390
    functionName: pcpp::IPv4Network::includes
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IPv4Network::includes(const IPv4Network& network) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Network::getNetworkPrefix
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:395,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:395,1
    - Dst: pcpp::IPv4Network::getPrefixLen
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:395,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: pcpp::IPv4Network::toString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::ostringstream::str
    - pcpp::IPv4Network::getNetworkPrefix
    - pcpp::IPv4Network::getPrefixLen
    linkageType: ''
    returnType: std::string
    signature: std::string IPv4Network::toString() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:412,1
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:424,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - ' netmask'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 437
    functionName: pcpp::IPv6Network::isValidNetmask
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - toBytes
    - std::bitset::count
    linkageType: ''
    returnType: bool
    signature: bool IPv6Network::isValidNetmask(const IPv6Address& netmask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:441,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' address'
    - prefixLen
    argTypes:
    - IPv6Address
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 467
    functionName: pcpp::IPv6Network::initFromAddressAndPrefixLength
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - memset
    - copyTo
    linkageType: ''
    returnType: void
    signature: void IPv6Network::initFromAddressAndPrefixLength(const IPv6Address&
      address, uint8_t prefixLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:471,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' address'
    - ' netmaskAddr'
    argTypes:
    - IPv6Address
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 479
    functionName: pcpp::IPv6Network::initFromAddressAndNetmask
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - copyTo
    linkageType: ''
    returnType: void
    signature: void IPv6Network::initFromAddressAndNetmask(const IPv6Address& address,
      const IPv6Address& netmaskAddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:485,1
    - Dst: pcpp::IPv6Network::initFromAddressAndPrefixLength
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' address'
    - prefixLen
    argTypes:
    - IPv6Address
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 489
    functionName: pcpp::IPv6Network::IPv6Network
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pcpp::IPv6Network::initFromAddressAndPrefixLength
    linkageType: ''
    returnType: void
    signature: void IPv6Network::IPv6Network(const IPv6Address& address, uint8_t prefixLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:496,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:500,1
    - Dst: pcpp::IPv6Network::isValidNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:502,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:504,1
    - Dst: pcpp::IPv6Network::initFromAddressAndNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' address'
    - ' netmask'
    argTypes:
    - IPv6Address
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 507
    functionName: pcpp::IPv6Network::IPv6Network
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - IPv6Address
    - pcpp::IPv6Network::isValidNetmask
    - pcpp::IPv6Network::initFromAddressAndNetmask
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void IPv6Network::IPv6Network(const IPv6Address& address, const std::string&
      netmask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:514,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:515,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:517,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:519,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:526,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:530,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:532,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:532,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:532,1
    - Dst: std::stoi
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:534,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:537,1
    - Dst: pcpp::IPv6Network::initFromAddressAndPrefixLength
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:540,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:547,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:551,1
    - Dst: pcpp::IPv6Network::isValidNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:553,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:555,1
    - Dst: pcpp::IPv6Network::initFromAddressAndNetmask
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:557,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - ' addressAndNetmask'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 559
    functionName: pcpp::IPv6Network::IPv6Network
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Network::initFromAddressAndNetmask
    - std::invalid_argument
    - std::getline
    - std::string::empty
    - std::all_of
    - std::stoi
    - IPv6Address
    - pcpp::IPv6Network::initFromAddressAndPrefixLength
    - pcpp::IPv6Network::isValidNetmask
    - std::string::begin
    - std::string::end
    linkageType: ''
    returnType: void
    signature: void IPv6Network::IPv6Network(const std::string& addressAndNetmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:567,1
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 570
    functionName: pcpp::IPv6Network::getPrefixLen
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - std::bitset::count
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t IPv6Network::getPrefixLen() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Network::getPrefixLen
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:574,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 583
    functionName: pcpp::IPv6Network::getLowestAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 1
    functionsReached:
    - memcpy
    - pcpp::IPv6Network::getPrefixLen
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address IPv6Network::getLowestAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 595
    functionName: pcpp::IPv6Network::getHighestAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address IPv6Network::getHighestAddress() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:602,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:603,1
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:603,1
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 611
    functionName: pcpp::IPv6Network::getTotalAddressCount
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - std::bitset::count
    - static_cast<int>
    - std::out_of_range
    - static_cast<uint8_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IPv6Network::getTotalAddressCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:616,1
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 623
    functionName: pcpp::IPv6Network::includes
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 1
    functionsReached:
    - memcmp
    - copyTo
    linkageType: ''
    returnType: bool
    signature: bool IPv6Network::includes(const IPv6Address& address) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Network::includes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:627,1
    - Dst: pcpp::IPv6Network::getLowestAddress
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:627,1
    - Dst: pcpp::IPv6Network::includes
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:627,1
    - Dst: pcpp::IPv6Network::getHighestAddress
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - IPv6Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 628
    functionName: pcpp::IPv6Network::includes
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv6Network::getHighestAddress
    - pcpp::IPv6Network::getLowestAddress
    - pcpp::IPv6Network::includes
    linkageType: ''
    returnType: bool
    signature: bool IPv6Network::includes(const IPv6Network& network) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Network::getNetworkPrefix
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:633,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:633,1
    - Dst: pcpp::IPv6Network::getPrefixLen
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:633,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 635
    functionName: pcpp::IPv6Network::toString
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Network::getPrefixLen
    - static_cast<int>
    - std::ostringstream::str
    - pcpp::IPv6Network::getNetworkPrefix
    linkageType: ''
    returnType: std::string
    signature: std::string IPv6Network::toString() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: destroyActiveMem
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:644,1
    - Dst: IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:649,1
    - Dst: IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - newType
    argTypes:
    - IPNetwork::NetworkVariant::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 656
    functionName: IPNetwork::NetworkVariant::swapTo(IPNetwork::NetworkVariant::Type
      newType) noexcept
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - destroyActiveMem
    - IPv6Network::IPv6Network
    - IPv4Network::IPv4Network
    linkageType: ''
    returnType: void
    signature: void IPNetwork::NetworkVariant::swapTo(IPNetwork::NetworkVariant::Type
      newType) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ~IPv4Network
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:663,1
    - Dst: ~IPv6Network
      Src: /src/PcapPlusPlus/Common++/src/IpAddress.cpp:666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 669
    functionName: IPNetwork::NetworkVariant::destroyActiveMem() noexcept
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
    functionUses: 0
    functionsReached:
    - ~IPv6Network
    - ~IPv4Network
    linkageType: ''
    returnType: void
    signature: void IPNetwork::NetworkVariant::destroyActiveMem() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPv4Address
    - in_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: operator==(const IPv4Address& lhs, const in_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp
    functionUses: 0
    functionsReached:
    - toInt
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPv4Address& lhs, const in_addr& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp:15,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPv6Address
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: operator==(const IPv6Address& lhs, const in6_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp
    functionUses: 0
    functionsReached:
    - toBytes
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPv6Address& lhs, const in6_addr& rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp:20,1
    - Dst: getIPv4
      Src: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPAddress
    - in_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: operator==(const IPAddress& lhs, const in_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp
    functionUses: 0
    functionsReached:
    - getIPv4
    - isIPv4
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPAddress& lhs, const in_addr& rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIPv6
      Src: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp:29,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPAddress
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: operator==(const IPAddress& lhs, const in6_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp
    functionUses: 0
    functionsReached:
    - getIPv6
    - isIPv6
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPAddress& lhs, const in6_addr& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPv4Address
    - in_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: operator==(const IPv4Address& lhs, const in_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp
    functionUses: 0
    functionsReached:
    - toInt
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPv4Address& lhs, const in_addr& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp:15,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPv6Address
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: operator==(const IPv6Address& lhs, const in6_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp
    functionUses: 0
    functionsReached:
    - toBytes
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPv6Address& lhs, const in6_addr& rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp:20,1
    - Dst: getIPv4
      Src: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPAddress
    - in_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: operator==(const IPAddress& lhs, const in_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp
    functionUses: 0
    functionsReached:
    - getIPv4
    - isIPv4
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPAddress& lhs, const in_addr& rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIPv6
      Src: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp:29,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPAddress
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: operator==(const IPAddress& lhs, const in6_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp
    functionUses: 0
    functionsReached:
    - getIPv6
    - isIPv6
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPAddress& lhs, const in6_addr& rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:15,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:15,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:18,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:18,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - columnNames
    - columnWidths
    argTypes:
    - std::vector<std::string>
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 24
    functionName: pcpp::TablePrinter::TablePrinter
    functionSourceFile: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - std::move
    - size
    linkageType: ''
    returnType: void
    signature: void TablePrinter::TablePrinter(std::vector<std::string> columnNames,
      std::vector<int> columnWidths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closeTable
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: TablePrinter::~TablePrinter()
    functionSourceFile: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
    functionUses: 0
    functionsReached:
    - closeTable
    linkageType: ''
    returnType: void
    signature: void TablePrinter::~TablePrinter()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:36,1
    - Dst: std::vector<std::string>::size
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:40,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:40,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:42,1
    - Dst: pcpp::TablePrinter::printHeadline
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:49,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:53,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:53,1
    - Dst: std::vector<std::string>::at
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:55,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:56,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:56,1
    - Dst: at
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:56,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:58,1
    - Dst: at
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:58,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:62,1
    - Dst: at
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - values
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 68
    functionName: pcpp::TablePrinter::printRow
    functionSourceFile: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
    functionUses: 15
    functionsReached:
    - pcpp::TablePrinter::printHeadline
    - std::string::length
    - std::vector<std::string>::size
    - std::vector<std::string>::at
    - static_cast<int>
    - static_cast<size_t>
    - PCPP_LOG_ERROR
    - size
    - at
    - std::setw
    - std::string::erase
    linkageType: ''
    returnType: bool
    signature: bool TablePrinter::printRow(std::vector<std::string> values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:77,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' values'
    - delimiter
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: pcpp::TablePrinter::printRow
    functionSourceFile: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
    functionUses: 16
    functionsReached:
    - pcpp::TablePrinter::printRow
    - std::getline
    - std::vector::push_back
    linkageType: ''
    returnType: bool
    signature: bool TablePrinter::printRow(const std::string& values, char delimiter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:88,1
    - Dst: std::accumulate
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:92,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:92,1
    - Dst: end
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:92,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:92,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: pcpp::TablePrinter::printSeparator
    functionSourceFile: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
    functionUses: 2
    functionsReached:
    - begin
    - end
    - string
    - PCPP_LOG_ERROR
    - size
    - std::accumulate
    linkageType: ''
    returnType: void
    signature: void TablePrinter::printSeparator()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TablePrinter::printSeparator
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: pcpp::TablePrinter::closeTable
    functionSourceFile: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TablePrinter::printSeparator
    linkageType: ''
    returnType: void
    signature: void TablePrinter::closeTable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:120,1
    - Dst: pcpp::TablePrinter::printSeparator
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:124,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:126,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:128,1
    - Dst: at
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:128,1
    - Dst: at
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:128,1
    - Dst: pcpp::TablePrinter::printSeparator
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: pcpp::TablePrinter::printHeadline
    functionSourceFile: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
    functionUses: 1
    functionsReached:
    - PCPP_LOG_ERROR
    - size
    - at
    - std::setw
    - pcpp::TablePrinter::printSeparator
    linkageType: ''
    returnType: void
    signature: void TablePrinter::printHeadline()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:15,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:15,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:18,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:18,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - columnNames
    - columnWidths
    argTypes:
    - std::vector<std::string>
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 24
    functionName: pcpp::TablePrinter::TablePrinter
    functionSourceFile: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - std::move
    - size
    linkageType: ''
    returnType: void
    signature: void TablePrinter::TablePrinter(std::vector<std::string> columnNames,
      std::vector<int> columnWidths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closeTable
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: TablePrinter::~TablePrinter()
    functionSourceFile: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
    functionUses: 0
    functionsReached:
    - closeTable
    linkageType: ''
    returnType: void
    signature: void TablePrinter::~TablePrinter()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:36,1
    - Dst: std::vector<std::string>::size
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:40,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:40,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:42,1
    - Dst: pcpp::TablePrinter::printHeadline
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:49,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:53,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:53,1
    - Dst: std::vector<std::string>::at
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:55,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:56,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:56,1
    - Dst: at
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:56,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:58,1
    - Dst: at
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:58,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:62,1
    - Dst: at
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - values
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 68
    functionName: pcpp::TablePrinter::printRow
    functionSourceFile: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
    functionUses: 16
    functionsReached:
    - pcpp::TablePrinter::printHeadline
    - std::string::length
    - std::vector<std::string>::size
    - std::vector<std::string>::at
    - static_cast<int>
    - static_cast<size_t>
    - PCPP_LOG_ERROR
    - size
    - at
    - std::setw
    - std::string::erase
    linkageType: ''
    returnType: bool
    signature: bool TablePrinter::printRow(std::vector<std::string> values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:77,1
    - Dst: pcpp::TablePrinter::printRow
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' values'
    - delimiter
    argTypes:
    - std::string
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: pcpp::TablePrinter::printRow
    functionSourceFile: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
    functionUses: 17
    functionsReached:
    - pcpp::TablePrinter::printRow
    - std::getline
    - std::vector::push_back
    linkageType: ''
    returnType: bool
    signature: bool TablePrinter::printRow(const std::string& values, char delimiter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:88,1
    - Dst: std::accumulate
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:92,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:92,1
    - Dst: end
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:92,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:92,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: pcpp::TablePrinter::printSeparator
    functionSourceFile: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
    functionUses: 4
    functionsReached:
    - begin
    - end
    - string
    - PCPP_LOG_ERROR
    - size
    - std::accumulate
    linkageType: ''
    returnType: void
    signature: void TablePrinter::printSeparator()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TablePrinter::printSeparator
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: pcpp::TablePrinter::closeTable
    functionSourceFile: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TablePrinter::printSeparator
    linkageType: ''
    returnType: void
    signature: void TablePrinter::closeTable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:120,1
    - Dst: pcpp::TablePrinter::printSeparator
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:124,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:126,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:128,1
    - Dst: at
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:128,1
    - Dst: at
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:128,1
    - Dst: pcpp::TablePrinter::printSeparator
      Src: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: pcpp::TablePrinter::printHeadline
    functionSourceFile: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
    functionUses: 2
    functionsReached:
    - PCPP_LOG_ERROR
    - size
    - at
    - std::setw
    - pcpp::TablePrinter::printSeparator
    linkageType: ''
    returnType: void
    signature: void TablePrinter::printHeadline()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:14,1
    - Dst: finish_parse
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:17,1
    - Dst: nlohmann::json::items
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:18,1
    - Dst: value
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:20,1
    - Dst: value
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:24,1
    - Dst: auto::contains
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:25,1
    - Dst: auto::contains
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:31,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:31,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:36,1
    - Dst: get
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:40,1
    - Dst: auto::contains
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:41,1
    - Dst: auto::contains
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:41,1
    - Dst: is_number_integer
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:41,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:42,1
    - Dst: get
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:44,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:45,1
    - Dst: items
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:48,1
    - Dst: value
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:50,1
    - Dst: std::vector::back
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:52,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:52,1
    - Dst: std::stoull
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:53,1
    - Dst: key
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:53,1
    - Dst: value
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:53,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:61,1
    - Dst: std::stoull
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:62,1
    - Dst: key
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:62,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:67,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:67,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 1
    argNames:
    - ' jsonData'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 11
    functionDepth: 7
    functionLinenumber: 11
    functionLinenumberEnd: 69
    functionName: pcpp::OUILookup::internalParser
    functionSourceFile: /src/PcapPlusPlus/Common++/src/OUILookup.cpp
    functionUses: 0
    functionsReached:
    - auto::contains
    - PCPP_LOG_DEBUG
    - items
    - is_number_integer
    - to_string
    - finish_parse
    - is_object
    - std::stoull
    - std::vector::back
    - std::vector::emplace_back
    - clear
    - value
    - get
    - insert
    - key
    - is_array
    - nlohmann::json::items
    linkageType: ''
    returnType: int64_t
    signature: int64_t OUILookup::internalParser(T& jsonData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::open
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:76,1
    - Dst: std::ifstream::is_open
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:77,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:79,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:79,1
    - Dst: getErrorString
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:79,1
    - Dst: pcpp::OUILookup::internalParser
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 8
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: pcpp::OUILookup::initOUIDatabaseFromJson
    functionSourceFile: /src/PcapPlusPlus/Common++/src/OUILookup.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::is_open
    - std::ifstream::open
    - string
    - PCPP_LOG_ERROR
    - getErrorString
    - pcpp::OUILookup::internalParser
    linkageType: ''
    returnType: int64_t
    signature: int64_t OUILookup::initOUIDatabaseFromJson(const std::string& path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:89,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:91,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:96,1
    - Dst: find
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:102,1
    - Dst: end
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:103,1
    - Dst: vendorMap::find
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:113,1
    - Dst: vendorMap::end
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 121
    functionName: pcpp::OUILookup::getVendorName
    functionSourceFile: /src/PcapPlusPlus/Common++/src/OUILookup.cpp
    functionUses: 0
    functionsReached:
    - copyTo
    - vendorMap::find
    - end
    - vendorMap::end
    - empty
    - find
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: std::string
    signature: std::string OUILookup::getVendorName(const pcpp::MacAddress& addr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:14,1
    - Dst: finish_parse
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:17,1
    - Dst: nlohmann::json::items
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:18,1
    - Dst: value
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:20,1
    - Dst: value
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:24,1
    - Dst: auto::contains
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:25,1
    - Dst: auto::contains
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:31,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:31,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:36,1
    - Dst: get
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:40,1
    - Dst: auto::contains
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:41,1
    - Dst: auto::contains
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:41,1
    - Dst: is_number_integer
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:41,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:42,1
    - Dst: get
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:44,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:45,1
    - Dst: items
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:48,1
    - Dst: value
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:50,1
    - Dst: std::vector::back
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:52,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:52,1
    - Dst: std::stoull
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:53,1
    - Dst: key
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:53,1
    - Dst: value
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:53,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:61,1
    - Dst: std::stoull
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:62,1
    - Dst: key
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:62,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:67,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:67,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 1
    argNames:
    - ' jsonData'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 11
    functionDepth: 7
    functionLinenumber: 11
    functionLinenumberEnd: 69
    functionName: pcpp::OUILookup::internalParser
    functionSourceFile: /src/PcapPlusPlus/Common++/src/OUILookup.cpp
    functionUses: 1
    functionsReached:
    - auto::contains
    - PCPP_LOG_DEBUG
    - items
    - is_number_integer
    - to_string
    - finish_parse
    - is_object
    - std::stoull
    - std::vector::back
    - std::vector::emplace_back
    - clear
    - value
    - get
    - insert
    - key
    - is_array
    - nlohmann::json::items
    linkageType: ''
    returnType: int64_t
    signature: int64_t OUILookup::internalParser(T& jsonData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::open
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:76,1
    - Dst: std::ifstream::is_open
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:77,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:79,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:79,1
    - Dst: getErrorString
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:79,1
    - Dst: pcpp::OUILookup::internalParser
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 8
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: pcpp::OUILookup::initOUIDatabaseFromJson
    functionSourceFile: /src/PcapPlusPlus/Common++/src/OUILookup.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::is_open
    - std::ifstream::open
    - string
    - PCPP_LOG_ERROR
    - getErrorString
    - pcpp::OUILookup::internalParser
    linkageType: ''
    returnType: int64_t
    signature: int64_t OUILookup::initOUIDatabaseFromJson(const std::string& path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:89,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:91,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:96,1
    - Dst: find
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:102,1
    - Dst: end
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:103,1
    - Dst: vendorMap::find
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:113,1
    - Dst: vendorMap::end
      Src: /src/PcapPlusPlus/Common++/src/OUILookup.cpp:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 121
    functionName: pcpp::OUILookup::getVendorName
    functionSourceFile: /src/PcapPlusPlus/Common++/src/OUILookup.cpp
    functionUses: 0
    functionsReached:
    - copyTo
    - vendorMap::find
    - end
    - vendorMap::end
    - empty
    - find
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: std::string
    signature: std::string OUILookup::getVendorName(const pcpp::MacAddress& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - maxSize
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: pcpp::LRUList::LRUList
    functionSourceFile: /src/PcapPlusPlus/Common++/header/LRUList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LRUList(std::size_t maxSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:48,1
    - Dst: end
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:48,1
    - Dst: splice
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:52,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:52,1
    - Dst: push_front
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:57,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:58,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:60,1
    - Dst: back
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:62,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:67,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:72,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' element'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: pcpp::LRUList::put
    functionSourceFile: /src/PcapPlusPlus/Common++/header/LRUList.h
    functionUses: 0
    functionsReached:
    - begin
    - end
    - push_front
    - back
    - size
    - pop_back
    - erase
    - splice
    - emplace
    - std::move
    linkageType: ''
    returnType: int
    signature: int put(const T& element, T* deletedValue = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::front
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '& getMRUElement() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/LRUList.h
    functionUses: 0
    functionsReached:
    - pcpp::front
    linkageType: ''
    returnType: T
    signature: T & getMRUElement() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::back
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: '& getLRUElement() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/LRUList.h
    functionUses: 0
    functionsReached:
    - pcpp::back
    linkageType: ''
    returnType: T
    signature: T & getLRUElement() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:98,1
    - Dst: end
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:99,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:104,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' element'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: pcpp::LRUList::eraseElement
    functionSourceFile: /src/PcapPlusPlus/Common++/header/LRUList.h
    functionUses: 0
    functionsReached:
    - end
    - find
    - erase
    linkageType: ''
    returnType: void
    signature: void eraseElement(const T& element)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: pcpp::LRUList::getMaxSize
    functionSourceFile: /src/PcapPlusPlus/Common++/header/LRUList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getMaxSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: pcpp::LRUList::getSize
    functionSourceFile: /src/PcapPlusPlus/Common++/header/LRUList.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - maxSize
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: pcpp::LRUList::LRUList
    functionSourceFile: /src/PcapPlusPlus/Common++/header/LRUList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LRUList(std::size_t maxSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:48,1
    - Dst: end
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:48,1
    - Dst: splice
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:52,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:52,1
    - Dst: push_front
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:57,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:58,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:60,1
    - Dst: back
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:62,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:67,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:72,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' element'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: pcpp::LRUList::put
    functionSourceFile: /src/PcapPlusPlus/Common++/header/LRUList.h
    functionUses: 0
    functionsReached:
    - begin
    - end
    - push_front
    - back
    - size
    - pop_back
    - erase
    - splice
    - emplace
    - std::move
    linkageType: ''
    returnType: int
    signature: int put(const T& element, T* deletedValue = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: front
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: '& getMRUElement() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/LRUList.h
    functionUses: 0
    functionsReached:
    - front
    linkageType: ''
    returnType: T
    signature: T & getMRUElement() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: '& getLRUElement() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/LRUList.h
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: T
    signature: T & getLRUElement() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:98,1
    - Dst: end
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:99,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:104,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' element'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: pcpp::LRUList::eraseElement
    functionSourceFile: /src/PcapPlusPlus/Common++/header/LRUList.h
    functionUses: 0
    functionsReached:
    - end
    - find
    - erase
    linkageType: ''
    returnType: void
    signature: void eraseElement(const T& element)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: pcpp::LRUList::getMaxSize
    functionSourceFile: /src/PcapPlusPlus/Common++/header/LRUList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t getMaxSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/header/LRUList.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: pcpp::LRUList::getSize
    functionSourceFile: /src/PcapPlusPlus/Common++/header/LRUList.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t getSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - year
    - ','
    - month
    - ','
    - patch
    - ','
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: PCAPPLUSPLUS_MAKE_VERSION_FULL
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPPLUSPLUS_MAKE_VERSION_FULL(year, month, patch, dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - year
    - ','
    - month
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: PCAPPLUSPLUS_MAKE_VERSION
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPPLUSPLUS_MAKE_VERSION(year, month, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: PCAPPLUSPLUS_VERSION_EQUALS
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPPLUSPLUS_VERSION_EQUALS(major, minor, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - year
    - ','
    - month
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: PCAPPLUSPLUS_VERSION_LOWER_THAN
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPPLUSPLUS_VERSION_LOWER_THAN(year, month, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - year
    - ','
    - month
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: PCAPPLUSPLUS_VERSION_LOWER_OR_EQUAL_THAN
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPPLUSPLUS_VERSION_LOWER_OR_EQUAL_THAN(year, month, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - year
    - ','
    - month
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: PCAPPLUSPLUS_VERSION_HIGHER_THAN
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPPLUSPLUS_VERSION_HIGHER_THAN(year, month, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - year
    - ','
    - month
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: PCAPPLUSPLUS_VERSION_HIGHER_OR_EQUAL_THAN
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPPLUSPLUS_VERSION_HIGHER_OR_EQUAL_THAN(year, month, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: pcpp::getPcapPlusPlusVersion
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getPcapPlusPlusVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pcpp::getPcapPlusPlusVersionFull
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getPcapPlusPlusVersionFull()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: pcpp::getBuildDateTime
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getBuildDateTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: pcpp::getBuildDateTime
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getBuildDateTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - year
    - ','
    - month
    - ','
    - patch
    - ','
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: PCAPPLUSPLUS_MAKE_VERSION_FULL
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPPLUSPLUS_MAKE_VERSION_FULL(year, month, patch, dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - year
    - ','
    - month
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: PCAPPLUSPLUS_MAKE_VERSION
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPPLUSPLUS_MAKE_VERSION(year, month, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: PCAPPLUSPLUS_VERSION_EQUALS
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPPLUSPLUS_VERSION_EQUALS(major, minor, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - year
    - ','
    - month
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: PCAPPLUSPLUS_VERSION_LOWER_THAN
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPPLUSPLUS_VERSION_LOWER_THAN(year, month, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - year
    - ','
    - month
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: PCAPPLUSPLUS_VERSION_LOWER_OR_EQUAL_THAN
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPPLUSPLUS_VERSION_LOWER_OR_EQUAL_THAN(year, month, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - year
    - ','
    - month
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: PCAPPLUSPLUS_VERSION_HIGHER_THAN
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPPLUSPLUS_VERSION_HIGHER_THAN(year, month, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - year
    - ','
    - month
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: PCAPPLUSPLUS_VERSION_HIGHER_OR_EQUAL_THAN
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPPLUSPLUS_VERSION_HIGHER_OR_EQUAL_THAN(year, month, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: pcpp::getPcapPlusPlusVersion
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getPcapPlusPlusVersion()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pcpp::getPcapPlusPlusVersionFull
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getPcapPlusPlusVersionFull()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: pcpp::getBuildDateTime
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getBuildDateTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: pcpp::getBuildDateTime
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getBuildDateTime()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<T>
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator()(const T& obj) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> operator()(const T& obj) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<T>
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:39,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:39,1
    - Dst: clone
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: operator()(const T& obj) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - clone
    - std::move
    - std::unique_ptr<T>
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> operator()(const T& obj) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<T>
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator()(const T& obj) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> operator()(const T& obj) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<T>
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:39,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:39,1
    - Dst: clone
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: operator()(const T& obj) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - clone
    - std::move
    - std::unique_ptr<T>
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> operator()(const T& obj) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: pcpp::PointerVector
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointerVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deepCopyUnsafe
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PointerVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: pcpp::PointerVector
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - deepCopyUnsafe
    linkageType: ''
    returnType: void
    signature: void PointerVector(const PointerVector& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:71,1
    - Dst: m_Vector::clear
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PointerVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: pcpp::PointerVector
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - m_Vector::clear
    - std::move
    linkageType: ''
    returnType: void
    signature: void PointerVector(PointerVector&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeVectorUnsafe
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: ~PointerVector()
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - freeVectorUnsafe
    linkageType: ''
    returnType: void
    signature: void ~PointerVector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deepCopyUnsafe
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:98,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:103,1
    - Dst: freeVectorUnsafe
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PointerVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 109
    functionName: '& operator=(const PointerVector& other)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - deepCopyUnsafe
    - freeVectorUnsafe
    - std::move
    linkageType: ''
    returnType: PointerVector
    signature: PointerVector & operator=(const PointerVector& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:123,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:125,1
    - Dst: m_Vector::clear
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PointerVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: '& operator=(PointerVector&& other) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - pcpp::clear
    - std::move
    - m_Vector::clear
    linkageType: ''
    returnType: PointerVector
    signature: PointerVector & operator=(PointerVector&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeVectorUnsafe
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:134,1
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: pcpp::clear
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 4
    functionsReached:
    - pcpp::clear
    - freeVectorUnsafe
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - element
    argTypes:
    - std::nullptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: pcpp::pushBack
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pushBack(std::nullptr_t element, bool freeElementOnError = true)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:150,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - element
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 165
    functionName: pcpp::pushBack
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void pushBack(T* element, bool freeElementOnError = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:175,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:181,1
    - Dst: std::unique_ptr<T>::get
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:181,1
    - Dst: std::unique_ptr<T>::release
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - element
    argTypes:
    - std::unique_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: pcpp::pushBack
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::unique_ptr<T>::release
    - std::unique_ptr<T>::get
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void pushBack(std::unique_ptr<T> element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: pcpp::begin
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 1
    functionsReached:
    - pcpp::begin
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: pcpp::begin
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 2
    functionsReached:
    - pcpp::begin
    linkageType: ''
    returnType: ConstVectorIterator
    signature: ConstVectorIterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::end
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: pcpp::end
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 5
    functionsReached:
    - pcpp::end
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::end
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: pcpp::end
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 6
    functionsReached:
    - pcpp::end
    linkageType: ''
    returnType: ConstVectorIterator
    signature: ConstVectorIterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::size
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: pcpp::size
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 3
    functionsReached:
    - pcpp::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::capacity
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: pcpp::capacity
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 1
    functionsReached:
    - pcpp::capacity
    linkageType: ''
    returnType: size_t
    signature: size_t capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::reserve
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: pcpp::reserve
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 1
    functionsReached:
    - pcpp::reserve
    linkageType: ''
    returnType: void
    signature: void reserve(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::front
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: pcpp::front
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 2
    functionsReached:
    - pcpp::front
    linkageType: ''
    returnType: T
    signature: T * front() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::back
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: pcpp::back
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 2
    functionsReached:
    - pcpp::back
    linkageType: ''
    returnType: T
    signature: T * back() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::erase
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - position
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: pcpp::erase
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 1
    functionsReached:
    - pcpp::erase
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator erase(VectorIterator position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::erase
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - ConstVectorIterator
    - ConstVectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: pcpp::erase
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 2
    functionsReached:
    - pcpp::erase
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator erase(ConstVectorIterator first, ConstVectorIterator
      last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::erase
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: pcpp::getAndRemoveFromVector
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - pcpp::erase
    linkageType: ''
    returnType: T
    signature: T * getAndRemoveFromVector(VectorIterator& position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getAndDetach
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:291,1
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: pcpp::getAndDetach
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 1
    functionsReached:
    - pcpp::getAndDetach
    - pcpp::begin
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> getAndDetach(size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::erase
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: pcpp::getAndDetach
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 1
    functionsReached:
    - pcpp::erase
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> getAndDetach(VectorIterator& position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::erase
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: pcpp::getAndDetach
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 1
    functionsReached:
    - pcpp::erase
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> getAndDetach(const VectorIterator& position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::at
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: pcpp::at
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 5
    functionsReached:
    - pcpp::at
    linkageType: ''
    returnType: T
    signature: T * at(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::data
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: pcpp::data
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 1
    functionsReached:
    - pcpp::data
    linkageType: ''
    returnType: T
    signature: T ** data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<T>
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator()(const T& obj) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> operator()(const T& obj) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<T>
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:39,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:39,1
    - Dst: clone
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: operator()(const T& obj) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - clone
    - std::move
    - std::unique_ptr<T>
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> operator()(const T& obj) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<T>
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: operator()(const T& obj) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - std::make_unique<T>
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> operator()(const T& obj) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<T>
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:39,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:39,1
    - Dst: clone
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: operator()(const T& obj) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - clone
    - std::move
    - std::unique_ptr<T>
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> operator()(const T& obj) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: pcpp::PointerVector
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PointerVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deepCopyUnsafe
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PointerVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: pcpp::PointerVector
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - deepCopyUnsafe
    linkageType: ''
    returnType: void
    signature: void PointerVector(const PointerVector& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:71,1
    - Dst: m_Vector::clear
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PointerVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: pcpp::PointerVector
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - m_Vector::clear
    - std::move
    linkageType: ''
    returnType: void
    signature: void PointerVector(PointerVector&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeVectorUnsafe
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: ~PointerVector()
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - freeVectorUnsafe
    linkageType: ''
    returnType: void
    signature: void ~PointerVector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deepCopyUnsafe
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:98,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:103,1
    - Dst: freeVectorUnsafe
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PointerVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 109
    functionName: '& operator=(const PointerVector& other)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - deepCopyUnsafe
    - freeVectorUnsafe
    - std::move
    linkageType: ''
    returnType: PointerVector
    signature: PointerVector & operator=(const PointerVector& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:123,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:125,1
    - Dst: m_Vector::clear
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PointerVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: '& operator=(PointerVector&& other) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - m_Vector::clear
    - clear
    - std::move
    linkageType: ''
    returnType: PointerVector
    signature: PointerVector & operator=(PointerVector&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeVectorUnsafe
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:134,1
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: pcpp::clear
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 5
    functionsReached:
    - pcpp::clear
    - freeVectorUnsafe
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - element
    argTypes:
    - std::nullptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: pcpp::pushBack
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pushBack(std::nullptr_t element, bool freeElementOnError = true)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:150,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - element
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 165
    functionName: pcpp::pushBack
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void pushBack(T* element, bool freeElementOnError = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:175,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:181,1
    - Dst: std::unique_ptr<T>::get
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:181,1
    - Dst: std::unique_ptr<T>::release
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - element
    argTypes:
    - std::unique_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 183
    functionName: pcpp::pushBack
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::unique_ptr<T>::release
    - std::unique_ptr<T>::get
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void pushBack(std::unique_ptr<T> element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: pcpp::begin
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 4
    functionsReached:
    - pcpp::begin
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: pcpp::begin
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 5
    functionsReached:
    - pcpp::begin
    linkageType: ''
    returnType: ConstVectorIterator
    signature: ConstVectorIterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::end
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: pcpp::end
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 7
    functionsReached:
    - pcpp::end
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::end
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: pcpp::end
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 8
    functionsReached:
    - pcpp::end
    linkageType: ''
    returnType: ConstVectorIterator
    signature: ConstVectorIterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::size
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: pcpp::size
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 4
    functionsReached:
    - pcpp::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::capacity
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: pcpp::capacity
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 2
    functionsReached:
    - pcpp::capacity
    linkageType: ''
    returnType: size_t
    signature: size_t capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::reserve
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: pcpp::reserve
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 2
    functionsReached:
    - pcpp::reserve
    linkageType: ''
    returnType: void
    signature: void reserve(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::front
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: pcpp::front
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 3
    functionsReached:
    - pcpp::front
    linkageType: ''
    returnType: T
    signature: T * front() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::back
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: pcpp::back
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 3
    functionsReached:
    - pcpp::back
    linkageType: ''
    returnType: T
    signature: T * back() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::erase
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - position
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: pcpp::erase
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 6
    functionsReached:
    - pcpp::erase
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator erase(VectorIterator position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::erase
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - ConstVectorIterator
    - ConstVectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: pcpp::erase
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 7
    functionsReached:
    - pcpp::erase
    linkageType: ''
    returnType: VectorIterator
    signature: VectorIterator erase(ConstVectorIterator first, ConstVectorIterator
      last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::erase
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: pcpp::getAndRemoveFromVector
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 0
    functionsReached:
    - pcpp::erase
    linkageType: ''
    returnType: T
    signature: T * getAndRemoveFromVector(VectorIterator& position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getAndDetach
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:291,1
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: pcpp::getAndDetach
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 2
    functionsReached:
    - pcpp::getAndDetach
    - pcpp::begin
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> getAndDetach(size_t index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::erase
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: pcpp::getAndDetach
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 2
    functionsReached:
    - pcpp::erase
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> getAndDetach(VectorIterator& position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::erase
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' position'
    argTypes:
    - VectorIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: pcpp::getAndDetach
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 2
    functionsReached:
    - pcpp::erase
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> getAndDetach(const VectorIterator& position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::at
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: pcpp::at
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 6
    functionsReached:
    - pcpp::at
    linkageType: ''
    returnType: T
    signature: T * at(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::data
      Src: /src/PcapPlusPlus/Common++/header/PointerVector.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: pcpp::data
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 2
    functionsReached:
    - pcpp::data
    linkageType: ''
    returnType: T
    signature: T ** data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' origin'
    argTypes:
    - std::vector<T*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    functionName: freeVectorUnsafe
    functionSourceFile: /src/PcapPlusPlus/Common++/header/PointerVector.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void freeVectorUnsafe(const std::vector<T*>& origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: pcpp::LogSource
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - logModule
    argTypes:
    - LogModule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: pcpp::LogSource
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogSource(LogModule logModule)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - logModule
    - file
    - function
    - line
    argTypes:
    - LogModule
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: pcpp::LogSource
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogSource(LogModule logModule, const char* file, const char* function,
      int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::underlying_type_t<LogLevel>>
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ostr'
    - lvl
    argTypes:
    - std::ostream
    - LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: '& operator<<(std::ostream& ostr, LogLevel lvl)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached:
    - static_cast<std::underlying_type_t<LogLevel>>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& ostr, LogLevel lvl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: pcpp::internal::LogContext::LogContext
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - level
    argTypes:
    - LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: pcpp::internal::LogContext::LogContext
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogContext(LogLevel level, LogSource const& source = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:190,1
    - Dst: str
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - level
    - ' source'
    argTypes:
    - LogLevel
    - LogSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: pcpp::internal::LogContext::init
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached:
    - str
    - clear
    linkageType: ''
    returnType: void
    signature: void init(LogLevel level, LogSource const& source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: '& operator<<(T const& value)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogContext
    signature: LogContext & operator<<(T const& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: pcpp::internal::LogContext::LogContext
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - level
    argTypes:
    - LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: pcpp::internal::LogContext::LogContext
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogContext(LogLevel level, LogSource const& source = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:190,1
    - Dst: str
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - level
    - ' source'
    argTypes:
    - LogLevel
    - LogSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: pcpp::internal::LogContext::init
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached:
    - str
    - clear
    linkageType: ''
    returnType: void
    signature: void init(LogLevel level, LogSource const& source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: '& operator<<(T const& value)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogContext
    signature: LogContext & operator<<(T const& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: pcpp::Logger
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Logger(const Logger&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: '& operator=(const Logger&)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Logger
    signature: Logger & operator=(const Logger&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - LogModule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: pcpp::getLogLevel
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogLevel
    signature: LogLevel getLogLevel(LogModule module)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - level
    argTypes:
    - LogModule
    - LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: pcpp::setLogLevel
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setLogLevel(LogModule module, LogLevel level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - LogModule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: pcpp::isDebugEnabled
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDebugEnabled(LogModule module) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - level
    - module
    argTypes:
    - LogLevel
    - LogModule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: pcpp::shouldLog
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool shouldLog(LogLevel level, LogModule module) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: pcpp::setAllModulesToLogLevel
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAllModulesToLogLevel(LogLevel level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - printer
    argTypes:
    - LogPrinter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: pcpp::setLogPrinter
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setLogPrinter(LogPrinter printer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::data
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: pcpp::getLastError
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached:
    - pcpp::data
    linkageType: ''
    returnType: std::string
    signature: std::string getLastError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: pcpp::suppressLogs
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void suppressLogs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: pcpp::enableLogs
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enableLogs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: pcpp::logsEnabled
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool logsEnabled() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setMaxSize
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:349,1
    - Dst: preallocate
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:353,1
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 361
    functionName: pcpp::useContextPooling
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached:
    - setMaxSize
    - preallocate
    - pcpp::clear
    linkageType: ''
    returnType: void
    signature: void useContextPooling(bool enabled, std::size_t preallocate = 2, std::size_t
      maxPoolSize = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: pcpp::getInstance
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Logger
    signature: Logger & getInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: pcpp::LogSource
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - logModule
    argTypes:
    - LogModule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: pcpp::LogSource
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogSource(LogModule logModule)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - logModule
    - file
    - function
    - line
    argTypes:
    - LogModule
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: pcpp::LogSource
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogSource(LogModule logModule, const char* file, const char* function,
      int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::underlying_type_t<LogLevel>>
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ostr'
    - lvl
    argTypes:
    - std::ostream
    - LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: '& operator<<(std::ostream& ostr, LogLevel lvl)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached:
    - static_cast<std::underlying_type_t<LogLevel>>
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& ostr, LogLevel lvl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: pcpp::internal::LogContext::LogContext
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - level
    argTypes:
    - LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: pcpp::internal::LogContext::LogContext
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogContext(LogLevel level, LogSource const& source = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:190,1
    - Dst: str
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - level
    - ' source'
    argTypes:
    - LogLevel
    - LogSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: pcpp::internal::LogContext::init
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached:
    - str
    - clear
    linkageType: ''
    returnType: void
    signature: void init(LogLevel level, LogSource const& source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: '& operator<<(T const& value)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogContext
    signature: LogContext & operator<<(T const& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: pcpp::internal::LogContext::LogContext
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogContext()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - level
    argTypes:
    - LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: pcpp::internal::LogContext::LogContext
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogContext(LogLevel level, LogSource const& source = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:190,1
    - Dst: str
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - level
    - ' source'
    argTypes:
    - LogLevel
    - LogSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: pcpp::internal::LogContext::init
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached:
    - str
    - clear
    linkageType: ''
    returnType: void
    signature: void init(LogLevel level, LogSource const& source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: '& operator<<(T const& value)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogContext
    signature: LogContext & operator<<(T const& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: pcpp::Logger
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Logger(const Logger&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: '& operator=(const Logger&)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Logger
    signature: Logger & operator=(const Logger&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - LogModule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: pcpp::getLogLevel
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogLevel
    signature: LogLevel getLogLevel(LogModule module)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - module
    - level
    argTypes:
    - LogModule
    - LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: pcpp::setLogLevel
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setLogLevel(LogModule module, LogLevel level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - LogModule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: pcpp::isDebugEnabled
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isDebugEnabled(LogModule module) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - level
    - module
    argTypes:
    - LogLevel
    - LogModule
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: pcpp::shouldLog
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool shouldLog(LogLevel level, LogModule module) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: pcpp::setAllModulesToLogLevel
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setAllModulesToLogLevel(LogLevel level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - printer
    argTypes:
    - LogPrinter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: pcpp::setLogPrinter
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setLogPrinter(LogPrinter printer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::data
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: pcpp::getLastError
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached:
    - pcpp::data
    linkageType: ''
    returnType: std::string
    signature: std::string getLastError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: pcpp::suppressLogs
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void suppressLogs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: pcpp::enableLogs
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enableLogs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: pcpp::logsEnabled
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool logsEnabled() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setMaxSize
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:349,1
    - Dst: preallocate
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:353,1
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Common++/header/Logger.h:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 361
    functionName: pcpp::useContextPooling
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached:
    - setMaxSize
    - preallocate
    - pcpp::clear
    linkageType: ''
    returnType: void
    signature: void useContextPooling(bool enabled, std::size_t preallocate = 2, std::size_t
      maxPoolSize = 10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: pcpp::getInstance
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Logger
    signature: Logger & getInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - level
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 423
    functionName: PCPP_LOG
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCPP_LOG(level, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 426
    functionName: PCPP_LOG_DEBUG
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 118
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCPP_LOG_DEBUG(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 428
    functionName: PCPP_LOG_DEBUG
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 118
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCPP_LOG_DEBUG(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: PCPP_LOG_WARN
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCPP_LOG_WARN(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    functionName: PCPP_LOG_WARN
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCPP_LOG_WARN(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    functionName: PCPP_LOG_INFO
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCPP_LOG_INFO(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    functionName: PCPP_LOG_INFO
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCPP_LOG_INFO(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 444
    functionName: PCPP_LOG_ERROR
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 272
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCPP_LOG_ERROR(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: PCPP_LOG_ERROR
    functionSourceFile: /src/PcapPlusPlus/Common++/header/Logger.h
    functionUses: 272
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCPP_LOG_ERROR(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tv
    - ','
    - ts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 18
    functionName: TIMEVAL_TO_TIMESPEC
    functionSourceFile: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMEVAL_TO_TIMESPEC(tv, ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tv
    - ','
    - ts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: TIMESPEC_TO_TIMEVAL
    functionSourceFile: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMESPEC_TO_TIMEVAL(tv, ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIMEVAL_TO_TIMESPEC
      Src: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: pcpp::internal::toTimespec
    functionSourceFile: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h
    functionUses: 8
    functionsReached:
    - TIMEVAL_TO_TIMESPEC
    linkageType: ''
    returnType: timespec
    signature: timespec toTimespec(timeval value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIMESPEC_TO_TIMEVAL
      Src: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: pcpp::internal::toTimeval
    functionSourceFile: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h
    functionUses: 0
    functionsReached:
    - TIMESPEC_TO_TIMEVAL
    linkageType: ''
    returnType: timeval
    signature: timeval toTimeval(timespec value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIMEVAL_TO_TIMESPEC
      Src: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: pcpp::internal::toTimespec
    functionSourceFile: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h
    functionUses: 8
    functionsReached:
    - TIMEVAL_TO_TIMESPEC
    linkageType: ''
    returnType: timespec
    signature: timespec toTimespec(timeval value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIMESPEC_TO_TIMEVAL
      Src: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: pcpp::internal::toTimeval
    functionSourceFile: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h
    functionUses: 0
    functionsReached:
    - TIMESPEC_TO_TIMEVAL
    linkageType: ''
    returnType: timeval
    signature: timeval toTimeval(timespec value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIMEVAL_TO_TIMESPEC
      Src: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: pcpp::internal::toTimespec
    functionSourceFile: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h
    functionUses: 8
    functionsReached:
    - TIMEVAL_TO_TIMESPEC
    linkageType: ''
    returnType: timespec
    signature: timespec toTimespec(timeval value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIMESPEC_TO_TIMEVAL
      Src: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: pcpp::internal::toTimeval
    functionSourceFile: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h
    functionUses: 0
    functionsReached:
    - TIMESPEC_TO_TIMEVAL
    linkageType: ''
    returnType: timeval
    signature: timeval toTimeval(timespec value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIMEVAL_TO_TIMESPEC
      Src: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: pcpp::internal::toTimespec
    functionSourceFile: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h
    functionUses: 8
    functionsReached:
    - TIMEVAL_TO_TIMESPEC
    linkageType: ''
    returnType: timespec
    signature: timespec toTimespec(timeval value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIMESPEC_TO_TIMEVAL
      Src: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: pcpp::internal::toTimeval
    functionSourceFile: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h
    functionUses: 0
    functionsReached:
    - TIMESPEC_TO_TIMEVAL
    linkageType: ''
    returnType: timeval
    signature: timeval toTimeval(timespec value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SystemCore
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: operator==(const SystemCore& other) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/SystemUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SystemCore& other) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Common++/header/SystemUtils.h:227,1
    - Dst: rfind
      Src: /src/PcapPlusPlus/Common++/header/SystemUtils.h:234,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Common++/header/SystemUtils.h:237,1
    - Dst: rfind
      Src: /src/PcapPlusPlus/Common++/header/SystemUtils.h:241,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Common++/header/SystemUtils.h:244,1
    - Dst: rfind
      Src: /src/PcapPlusPlus/Common++/header/SystemUtils.h:248,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Common++/header/SystemUtils.h:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 253
    functionName: pcpp::AppName::init
    functionSourceFile: /src/PcapPlusPlus/Common++/header/SystemUtils.h
    functionUses: 21
    functionsReached:
    - clear
    - rfind
    - substr
    - resize
    linkageType: ''
    returnType: void
    signature: void init(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: '& get()'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/SystemUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: '& getInstance()'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/SystemUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ApplicationEventHandler
    signature: ApplicationEventHandler & getInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SystemCore
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: operator==(const SystemCore& other) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/SystemUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SystemCore& other) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Common++/header/SystemUtils.h:227,1
    - Dst: rfind
      Src: /src/PcapPlusPlus/Common++/header/SystemUtils.h:234,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Common++/header/SystemUtils.h:237,1
    - Dst: rfind
      Src: /src/PcapPlusPlus/Common++/header/SystemUtils.h:241,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Common++/header/SystemUtils.h:244,1
    - Dst: rfind
      Src: /src/PcapPlusPlus/Common++/header/SystemUtils.h:248,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Common++/header/SystemUtils.h:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 253
    functionName: pcpp::AppName::init
    functionSourceFile: /src/PcapPlusPlus/Common++/header/SystemUtils.h
    functionUses: 21
    functionsReached:
    - clear
    - rfind
    - substr
    - resize
    linkageType: ''
    returnType: void
    signature: void init(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: '& get()'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/SystemUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: '& getInstance()'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/SystemUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ApplicationEventHandler
    signature: ApplicationEventHandler & getInstance()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:40,1
    - Dst: pcpp::internal::DynamicObjectPool::preallocate
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: pcpp::internal::DynamicObjectPool::DynamicObjectPool
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pcpp::internal::DynamicObjectPool::preallocate
    linkageType: ''
    returnType: void
    signature: void DynamicObjectPool(std::size_t maxPoolSize = DEFAULT_POOL_SIZE,
      std::size_t initialSize = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pcpp::internal::DynamicObjectPool::DynamicObjectPool
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DynamicObjectPool(const DynamicObjectPool&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: pcpp::internal::DynamicObjectPool::DynamicObjectPool
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DynamicObjectPool(DynamicObjectPool&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& operator=(const DynamicObjectPool&)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DynamicObjectPool
    signature: DynamicObjectPool & operator=(const DynamicObjectPool&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(DynamicObjectPool&&)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DynamicObjectPool
    signature: DynamicObjectPool & operator=(DynamicObjectPool&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: ~DynamicObjectPool()
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~DynamicObjectPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<T>
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:69,1
    - Dst: pcpp::internal::DynamicObjectPool::acquireObjectRaw
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: pcpp::internal::DynamicObjectPool::acquireObject
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - pcpp::internal::DynamicObjectPool::acquireObjectRaw
    - std::unique_ptr<T>
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> acquireObject()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:82,1
    - Dst: std::unique_lock::unlock
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:85,1
    - Dst: T::T
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:86,1
    - Dst: top
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:89,1
    - Dst: pop
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: pcpp::internal::DynamicObjectPool::acquireObjectRaw
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 1
    functionsReached:
    - top
    - empty
    - T::T
    - pop
    - std::unique_lock::unlock
    linkageType: ''
    returnType: T
    signature: T * acquireObjectRaw()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::releaseObjectRaw
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:102,1
    - Dst: std::unique_ptr<T>::release
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - std::unique_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: pcpp::internal::DynamicObjectPool::releaseObject
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - pcpp::internal::DynamicObjectPool::releaseObjectRaw
    - std::unique_ptr<T>::release
    linkageType: ''
    returnType: void
    signature: void releaseObject(std::unique_ptr<T> obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:115,1
    - Dst: push
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:117,1
    - Dst: std::unique_lock::unlock
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: pcpp::internal::DynamicObjectPool::releaseObjectRaw
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 1
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    - push
    - std::unique_lock::unlock
    linkageType: ''
    returnType: void
    signature: void releaseObjectRaw(T* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: pcpp::internal::DynamicObjectPool::size
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 2
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: pcpp::internal::DynamicObjectPool::maxSize
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t maxSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:148,1
    - Dst: top
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:150,1
    - Dst: pop
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - maxSize
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: pcpp::internal::DynamicObjectPool::setMaxSize
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    - pop
    - top
    linkageType: ''
    returnType: void
    signature: void setMaxSize(std::size_t maxSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:163,1
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:167,1
    - Dst: push
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:169,1
    - Dst: T::T
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - count
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: pcpp::internal::DynamicObjectPool::preallocate
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 1
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    - push
    - T::T
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void preallocate(std::size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:177,1
    - Dst: top
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:179,1
    - Dst: pop
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: pcpp::internal::DynamicObjectPool::clear
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - empty
    - pop
    - top
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:40,1
    - Dst: pcpp::internal::DynamicObjectPool::preallocate
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: pcpp::internal::DynamicObjectPool::DynamicObjectPool
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pcpp::internal::DynamicObjectPool::preallocate
    linkageType: ''
    returnType: void
    signature: void DynamicObjectPool(std::size_t maxPoolSize = DEFAULT_POOL_SIZE,
      std::size_t initialSize = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pcpp::internal::DynamicObjectPool::DynamicObjectPool
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DynamicObjectPool(const DynamicObjectPool&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: pcpp::internal::DynamicObjectPool::DynamicObjectPool
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DynamicObjectPool(DynamicObjectPool&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& operator=(const DynamicObjectPool&)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DynamicObjectPool
    signature: DynamicObjectPool & operator=(const DynamicObjectPool&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(DynamicObjectPool&&)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DynamicObjectPool
    signature: DynamicObjectPool & operator=(DynamicObjectPool&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: ~DynamicObjectPool()
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - pcpp::clear
    linkageType: ''
    returnType: void
    signature: void ~DynamicObjectPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<T>
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:69,1
    - Dst: pcpp::internal::DynamicObjectPool::acquireObjectRaw
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: pcpp::internal::DynamicObjectPool::acquireObject
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - pcpp::internal::DynamicObjectPool::acquireObjectRaw
    - std::unique_ptr<T>
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> acquireObject()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:82,1
    - Dst: std::unique_lock::unlock
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:85,1
    - Dst: T::T
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:86,1
    - Dst: top
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:89,1
    - Dst: pop
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: pcpp::internal::DynamicObjectPool::acquireObjectRaw
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 2
    functionsReached:
    - top
    - empty
    - T::T
    - pop
    - std::unique_lock::unlock
    linkageType: ''
    returnType: T
    signature: T * acquireObjectRaw()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::releaseObjectRaw
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:102,1
    - Dst: std::unique_ptr<T>::release
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - std::unique_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: pcpp::internal::DynamicObjectPool::releaseObject
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - pcpp::internal::DynamicObjectPool::releaseObjectRaw
    - std::unique_ptr<T>::release
    linkageType: ''
    returnType: void
    signature: void releaseObject(std::unique_ptr<T> obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:115,1
    - Dst: push
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:117,1
    - Dst: std::unique_lock::unlock
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: pcpp::internal::DynamicObjectPool::releaseObjectRaw
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 2
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    - push
    - std::unique_lock::unlock
    linkageType: ''
    returnType: void
    signature: void releaseObjectRaw(T* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: pcpp::internal::DynamicObjectPool::size
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 6
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: pcpp::internal::DynamicObjectPool::maxSize
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t maxSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:148,1
    - Dst: top
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:150,1
    - Dst: pop
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - maxSize
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: pcpp::internal::DynamicObjectPool::setMaxSize
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    - pop
    - top
    linkageType: ''
    returnType: void
    signature: void setMaxSize(std::size_t maxSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:163,1
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:167,1
    - Dst: push
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:169,1
    - Dst: T::T
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - count
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: pcpp::internal::DynamicObjectPool::preallocate
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 2
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    - push
    - T::T
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void preallocate(std::size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:177,1
    - Dst: top
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:179,1
    - Dst: pop
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: pcpp::internal::DynamicObjectPool::clear
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - empty
    - pop
    - top
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:40,1
    - Dst: pcpp::internal::DynamicObjectPool::preallocate
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: pcpp::internal::DynamicObjectPool::DynamicObjectPool
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pcpp::internal::DynamicObjectPool::preallocate
    linkageType: ''
    returnType: void
    signature: void DynamicObjectPool(std::size_t maxPoolSize = DEFAULT_POOL_SIZE,
      std::size_t initialSize = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pcpp::internal::DynamicObjectPool::DynamicObjectPool
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DynamicObjectPool(const DynamicObjectPool&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: pcpp::internal::DynamicObjectPool::DynamicObjectPool
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DynamicObjectPool(DynamicObjectPool&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& operator=(const DynamicObjectPool&)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DynamicObjectPool
    signature: DynamicObjectPool & operator=(const DynamicObjectPool&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(DynamicObjectPool&&)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DynamicObjectPool
    signature: DynamicObjectPool & operator=(DynamicObjectPool&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: ~DynamicObjectPool()
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~DynamicObjectPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<T>
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:69,1
    - Dst: pcpp::internal::DynamicObjectPool::acquireObjectRaw
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: pcpp::internal::DynamicObjectPool::acquireObject
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - pcpp::internal::DynamicObjectPool::acquireObjectRaw
    - std::unique_ptr<T>
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> acquireObject()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:82,1
    - Dst: std::unique_lock::unlock
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:85,1
    - Dst: T::T
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:86,1
    - Dst: top
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:89,1
    - Dst: pop
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: pcpp::internal::DynamicObjectPool::acquireObjectRaw
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 3
    functionsReached:
    - top
    - empty
    - T::T
    - pop
    - std::unique_lock::unlock
    linkageType: ''
    returnType: T
    signature: T * acquireObjectRaw()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::releaseObjectRaw
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:102,1
    - Dst: std::unique_ptr<T>::release
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - std::unique_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: pcpp::internal::DynamicObjectPool::releaseObject
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - pcpp::internal::DynamicObjectPool::releaseObjectRaw
    - std::unique_ptr<T>::release
    linkageType: ''
    returnType: void
    signature: void releaseObject(std::unique_ptr<T> obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:115,1
    - Dst: push
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:117,1
    - Dst: std::unique_lock::unlock
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: pcpp::internal::DynamicObjectPool::releaseObjectRaw
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 3
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    - push
    - std::unique_lock::unlock
    linkageType: ''
    returnType: void
    signature: void releaseObjectRaw(T* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: pcpp::internal::DynamicObjectPool::size
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 10
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: pcpp::internal::DynamicObjectPool::maxSize
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t maxSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:148,1
    - Dst: top
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:150,1
    - Dst: pop
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - maxSize
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: pcpp::internal::DynamicObjectPool::setMaxSize
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    - pop
    - top
    linkageType: ''
    returnType: void
    signature: void setMaxSize(std::size_t maxSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:163,1
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:167,1
    - Dst: push
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:169,1
    - Dst: T::T
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - count
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: pcpp::internal::DynamicObjectPool::preallocate
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 3
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    - push
    - T::T
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void preallocate(std::size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:177,1
    - Dst: top
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:179,1
    - Dst: pop
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: pcpp::internal::DynamicObjectPool::clear
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - empty
    - pop
    - top
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:40,1
    - Dst: pcpp::internal::DynamicObjectPool::preallocate
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: pcpp::internal::DynamicObjectPool::DynamicObjectPool
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - pcpp::internal::DynamicObjectPool::preallocate
    linkageType: ''
    returnType: void
    signature: void DynamicObjectPool(std::size_t maxPoolSize = DEFAULT_POOL_SIZE,
      std::size_t initialSize = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: pcpp::internal::DynamicObjectPool::DynamicObjectPool
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DynamicObjectPool(const DynamicObjectPool&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: pcpp::internal::DynamicObjectPool::DynamicObjectPool
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DynamicObjectPool(DynamicObjectPool&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: '& operator=(const DynamicObjectPool&)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DynamicObjectPool
    signature: DynamicObjectPool & operator=(const DynamicObjectPool&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(DynamicObjectPool&&)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DynamicObjectPool
    signature: DynamicObjectPool & operator=(DynamicObjectPool&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: ~DynamicObjectPool()
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~DynamicObjectPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<T>
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:69,1
    - Dst: pcpp::internal::DynamicObjectPool::acquireObjectRaw
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: pcpp::internal::DynamicObjectPool::acquireObject
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - pcpp::internal::DynamicObjectPool::acquireObjectRaw
    - std::unique_ptr<T>
    linkageType: ''
    returnType: std::unique_ptr<T>
    signature: std::unique_ptr<T> acquireObject()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:82,1
    - Dst: std::unique_lock::unlock
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:85,1
    - Dst: T::T
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:86,1
    - Dst: top
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:89,1
    - Dst: pop
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: pcpp::internal::DynamicObjectPool::acquireObjectRaw
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 4
    functionsReached:
    - top
    - empty
    - T::T
    - pop
    - std::unique_lock::unlock
    linkageType: ''
    returnType: T
    signature: T * acquireObjectRaw()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::releaseObjectRaw
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:102,1
    - Dst: std::unique_ptr<T>::release
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - std::unique_ptr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: pcpp::internal::DynamicObjectPool::releaseObject
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - pcpp::internal::DynamicObjectPool::releaseObjectRaw
    - std::unique_ptr<T>::release
    linkageType: ''
    returnType: void
    signature: void releaseObject(std::unique_ptr<T> obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:115,1
    - Dst: push
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:117,1
    - Dst: std::unique_lock::unlock
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: pcpp::internal::DynamicObjectPool::releaseObjectRaw
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 4
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    - push
    - std::unique_lock::unlock
    linkageType: ''
    returnType: void
    signature: void releaseObjectRaw(T* obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: pcpp::internal::DynamicObjectPool::size
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 14
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: pcpp::internal::DynamicObjectPool::maxSize
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t maxSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:148,1
    - Dst: top
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:150,1
    - Dst: pop
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - maxSize
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: pcpp::internal::DynamicObjectPool::setMaxSize
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    - pop
    - top
    linkageType: ''
    returnType: void
    signature: void setMaxSize(std::size_t maxSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:163,1
    - Dst: pcpp::internal::DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:167,1
    - Dst: push
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:169,1
    - Dst: T::T
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - count
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: pcpp::internal::DynamicObjectPool::preallocate
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 4
    functionsReached:
    - pcpp::internal::DynamicObjectPool::size
    - push
    - T::T
    - std::invalid_argument
    linkageType: ''
    returnType: void
    signature: void preallocate(std::size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:177,1
    - Dst: top
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:179,1
    - Dst: pop
      Src: /src/PcapPlusPlus/Common++/header/ObjectPool.h:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: pcpp::internal::DynamicObjectPool::clear
    functionSourceFile: /src/PcapPlusPlus/Common++/header/ObjectPool.h
    functionUses: 0
    functionsReached:
    - empty
    - pop
    - top
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPv4Address
    - in_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: operator!=(const IPv4Address& lhs, const in_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IPv4Address& lhs, const in_addr& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in_addr
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: operator==(const in_addr& lhs, const IPv4Address& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const in_addr& lhs, const IPv4Address& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in_addr
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: operator!=(const in_addr& lhs, const IPv4Address& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const in_addr& lhs, const IPv4Address& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPv6Address
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: operator!=(const IPv6Address& lhs, const in6_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IPv6Address& lhs, const in6_addr& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in6_addr
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: operator==(const in6_addr& lhs, const IPv6Address& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const in6_addr& lhs, const IPv6Address& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in6_addr
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: operator!=(const in6_addr& lhs, const IPv6Address& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const in6_addr& lhs, const IPv6Address& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPAddress
    - in_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: operator!=(const IPAddress& lhs, const in_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IPAddress& lhs, const in_addr& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in_addr
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: operator==(const in_addr& lhs, const IPAddress& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const in_addr& lhs, const IPAddress& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in_addr
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator!=(const in_addr& lhs, const IPAddress& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const in_addr& lhs, const IPAddress& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPAddress
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: operator!=(const IPAddress& lhs, const in6_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IPAddress& lhs, const in6_addr& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in6_addr
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: operator==(const in6_addr& lhs, const IPAddress& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const in6_addr& lhs, const IPAddress& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in6_addr
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: operator!=(const in6_addr& lhs, const IPAddress& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const in6_addr& lhs, const IPAddress& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPv4Address
    - in_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: operator!=(const IPv4Address& lhs, const in_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IPv4Address& lhs, const in_addr& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in_addr
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: operator==(const in_addr& lhs, const IPv4Address& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const in_addr& lhs, const IPv4Address& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in_addr
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: operator!=(const in_addr& lhs, const IPv4Address& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const in_addr& lhs, const IPv4Address& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPv6Address
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: operator!=(const IPv6Address& lhs, const in6_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IPv6Address& lhs, const in6_addr& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in6_addr
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: operator==(const in6_addr& lhs, const IPv6Address& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const in6_addr& lhs, const IPv6Address& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in6_addr
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: operator!=(const in6_addr& lhs, const IPv6Address& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const in6_addr& lhs, const IPv6Address& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPAddress
    - in_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: operator!=(const IPAddress& lhs, const in_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IPAddress& lhs, const in_addr& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in_addr
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: operator==(const in_addr& lhs, const IPAddress& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const in_addr& lhs, const IPAddress& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in_addr
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator!=(const in_addr& lhs, const IPAddress& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const in_addr& lhs, const IPAddress& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - IPAddress
    - in6_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: operator!=(const IPAddress& lhs, const in6_addr& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IPAddress& lhs, const in6_addr& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in6_addr
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: operator==(const in6_addr& lhs, const IPAddress& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const in6_addr& lhs, const IPAddress& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - in6_addr
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: operator!=(const in6_addr& lhs, const IPAddress& rhs)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const in6_addr& lhs, const IPAddress& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/header/OUILookup.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - maskVal
    - map
    argTypes:
    - int
    - std::unordered_map<uint64_t, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pcpp::OUILookup::MaskedFilter
    functionSourceFile: /src/PcapPlusPlus/Common++/header/OUILookup.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MaskedFilter(int maskVal, std::unordered_map<uint64_t, std::string>
      map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Common++/header/OUILookup.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - maskVal
    - map
    argTypes:
    - int
    - std::unordered_map<uint64_t, std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: pcpp::OUILookup::MaskedFilter
    functionSourceFile: /src/PcapPlusPlus/Common++/header/OUILookup.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MaskedFilter(int maskVal, std::unordered_map<uint64_t, std::string>
      map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MacAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MacAddress(const uint8_t addr[6])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - std::array<uint8_t, 6>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MacAddress(const std::array<uint8_t, 6>& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string>
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 2
    functionsReached:
    - static_cast<std::string>
    linkageType: ''
    returnType: void
    signature: void MacAddress(const T& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - firstOctet
    - secondOctet
    - thirdOctet
    - fourthOctet
    - fifthOctet
    - sixthOctet
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MacAddress(uint8_t firstOctet, uint8_t secondOctet, uint8_t thirdOctet,
      uint8_t fourthOctet, uint8_t fifthOctet,\n\t\t           uint8_t sixthOctet)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::initializer_list<uint8_t>::size
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:82,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:82,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:84,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:86,1
    - Dst: std::initializer_list<uint8_t>::begin
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:86,1
    - Dst: std::initializer_list<uint8_t>::end
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:86,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - octets
    argTypes:
    - std::initializer_list<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 2
    functionsReached:
    - std::invalid_argument
    - begin
    - std::initializer_list<uint8_t>::begin
    - size
    - std::initializer_list<uint8_t>::end
    - std::initializer_list<uint8_t>::size
    - std::copy
    linkageType: ''
    returnType: void
    signature: void MacAddress(std::initializer_list<uint8_t> octets)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: operator==(const MacAddress& other) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const MacAddress& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: operator!=(const MacAddress& other) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const MacAddress& other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::initializer_list<uint8_t>::size
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:111,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:113,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:116,1
    - Dst: std::initializer_list<uint8_t>::begin
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:116,1
    - Dst: std::initializer_list<uint8_t>::end
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:116,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - octets
    argTypes:
    - std::initializer_list<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: '& operator=(std::initializer_list<uint8_t> octets)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - begin
    - std::initializer_list<uint8_t>::begin
    - std::initializer_list<uint8_t>::end
    - std::initializer_list<uint8_t>::size
    - std::copy
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress & operator=(std::initializer_list<uint8_t> octets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pcpp::MacAddress::getRawData
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getRawData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: pcpp::MacAddress::toByteArray
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<uint8_t, 6>
    signature: std::array<uint8_t, 6> toByteArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyToNewBuffer
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: "(\"Use copyToNewBuffer instead.\")\n\t\tvoid copyTo(uint8_t** arr)
      const"
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached:
    - copyToNewBuffer
    linkageType: ''
    returnType: PCPP_DEPRECATED
    signature: "PCPP_DEPRECATED (\"Use copyToNewBuffer instead.\")\n\t\tvoid copyTo(uint8_t**
      arr) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: pcpp::MacAddress::copyTo
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 5
    functionsReached:
    - pcpp::MacAddress::copyTo
    linkageType: ''
    returnType: void
    signature: void copyTo(uint8_t arr[6]) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:192,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addrString
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: operator""_mac(const char* addrString, size_t size)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached:
    - MacAddress
    - string
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress operator""_mac(const char* addrString, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:192,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addrString
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: operator""_mac(const char* addrString, size_t size)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached:
    - MacAddress
    - string
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress operator""_mac(const char* addrString, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' oss'
    - ' macAddress'
    argTypes:
    - std::ostream
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: '& operator<<(std::ostream& oss, const pcpp::MacAddress& macAddress)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& oss, const pcpp::MacAddress&
      macAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MacAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MacAddress(const uint8_t addr[6])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - std::array<uint8_t, 6>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MacAddress(const std::array<uint8_t, 6>& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string>
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 2
    functionsReached:
    - static_cast<std::string>
    linkageType: ''
    returnType: void
    signature: void MacAddress(const T& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - firstOctet
    - secondOctet
    - thirdOctet
    - fourthOctet
    - fifthOctet
    - sixthOctet
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MacAddress(uint8_t firstOctet, uint8_t secondOctet, uint8_t thirdOctet,
      uint8_t fourthOctet, uint8_t fifthOctet,\n\t\t           uint8_t sixthOctet)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::initializer_list<uint8_t>::size
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:82,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:82,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:84,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:86,1
    - Dst: std::initializer_list<uint8_t>::begin
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:86,1
    - Dst: std::initializer_list<uint8_t>::end
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:86,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - octets
    argTypes:
    - std::initializer_list<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: pcpp::MacAddress::MacAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 2
    functionsReached:
    - std::invalid_argument
    - begin
    - std::initializer_list<uint8_t>::begin
    - size
    - std::initializer_list<uint8_t>::end
    - std::initializer_list<uint8_t>::size
    - std::copy
    linkageType: ''
    returnType: void
    signature: void MacAddress(std::initializer_list<uint8_t> octets)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: operator==(const MacAddress& other) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const MacAddress& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: operator!=(const MacAddress& other) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const MacAddress& other) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::initializer_list<uint8_t>::size
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:111,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:113,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:116,1
    - Dst: std::initializer_list<uint8_t>::begin
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:116,1
    - Dst: std::initializer_list<uint8_t>::end
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:116,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - octets
    argTypes:
    - std::initializer_list<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: '& operator=(std::initializer_list<uint8_t> octets)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - begin
    - std::initializer_list<uint8_t>::begin
    - std::initializer_list<uint8_t>::end
    - std::initializer_list<uint8_t>::size
    - std::copy
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress & operator=(std::initializer_list<uint8_t> octets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: pcpp::MacAddress::getRawData
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * getRawData() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: pcpp::MacAddress::toByteArray
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<uint8_t, 6>
    signature: std::array<uint8_t, 6> toByteArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyToNewBuffer
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: "(\"Use copyToNewBuffer instead.\")\n\t\tvoid copyTo(uint8_t** arr)
      const"
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached:
    - copyToNewBuffer
    linkageType: ''
    returnType: PCPP_DEPRECATED
    signature: "PCPP_DEPRECATED (\"Use copyToNewBuffer instead.\")\n\t\tvoid copyTo(uint8_t**
      arr) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: pcpp::MacAddress::copyTo
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 6
    functionsReached:
    - pcpp::MacAddress::copyTo
    linkageType: ''
    returnType: void
    signature: void copyTo(uint8_t arr[6]) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:192,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addrString
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: operator""_mac(const char* addrString, size_t size)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached:
    - MacAddress
    - string
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress operator""_mac(const char* addrString, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:192,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addrString
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: operator""_mac(const char* addrString, size_t size)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached:
    - MacAddress
    - string
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress operator""_mac(const char* addrString, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Common++/header/MacAddress.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' oss'
    - ' macAddress'
    argTypes:
    - std::ostream
    - pcpp::MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: '& operator<<(std::ostream& oss, const pcpp::MacAddress& macAddress)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/MacAddress.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& oss, const pcpp::MacAddress&
      macAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: pcpp::align
    functionSourceFile: /src/PcapPlusPlus/Common++/header/GeneralUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int align(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::underlying_type_t<EnumClass>>
      Src: /src/PcapPlusPlus/Common++/header/GeneralUtils.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - EnumClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: operator()(EnumClass value) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/GeneralUtils.h
    functionUses: 0
    functionsReached:
    - static_cast<std::underlying_type_t<EnumClass>>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(EnumClass value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: pcpp::align
    functionSourceFile: /src/PcapPlusPlus/Common++/header/GeneralUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int align(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::underlying_type_t<EnumClass>>
      Src: /src/PcapPlusPlus/Common++/header/GeneralUtils.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - EnumClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: operator()(EnumClass value) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/GeneralUtils.h
    functionUses: 0
    functionsReached:
    - static_cast<std::underlying_type_t<EnumClass>>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(EnumClass value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - condition
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: PCPP_ASSERT
    functionSourceFile: /src/PcapPlusPlus/Common++/header/AssertionUtils.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCPP_ASSERT(condition, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - condition
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: PCPP_ASSERT
    functionSourceFile: /src/PcapPlusPlus/Common++/header/AssertionUtils.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCPP_ASSERT(condition, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - condition
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: PCPP_ASSERT
    functionSourceFile: /src/PcapPlusPlus/Common++/header/AssertionUtils.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCPP_ASSERT(condition, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 7
    functionName: PCPP_DEPRECATED
    functionSourceFile: /src/PcapPlusPlus/Common++/header/DeprecationUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCPP_DEPRECATED(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - warningNumber
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: DISABLE_WARNING
    functionSourceFile: /src/PcapPlusPlus/Common++/header/DeprecationUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DISABLE_WARNING(warningNumber)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: DO_PRAGMA
    functionSourceFile: /src/PcapPlusPlus/Common++/header/DeprecationUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_PRAGMA(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - warningName
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: DISABLE_WARNING
    functionSourceFile: /src/PcapPlusPlus/Common++/header/DeprecationUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DISABLE_WARNING(warningName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pcpp::IPv4Address::IPv4Address
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4Address()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:39,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addrAsInt
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: pcpp::IPv4Address::IPv4Address
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 8
    functionsReached:
    - memcpy
    - data
    linkageType: ''
    returnType: void
    signature: void IPv4Address(const uint32_t addrAsInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: pcpp::IPv4Address::IPv4Address
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4Address(const uint8_t bytes[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bytes'
    argTypes:
    - std::array<uint8_t, 4>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: pcpp::IPv4Address::IPv4Address
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4Address(const std::array<uint8_t, 4>& bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: pcpp::IPv4Address::toBytes
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * toBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '& toByteArray() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<uint8_t, 4>
    signature: std::array<uint8_t, 4> & toByteArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:92,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: operator==(const IPv4Address& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toInt
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPv4Address& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:100,1
    - Dst: std::reverse
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:101,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:101,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:101,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:103,1
    - Dst: std::reverse
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:104,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:104,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: operator<(const IPv4Address& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toInt
    - reinterpret_cast<uint8_t*>
    - std::reverse
    linkageType: ''
    returnType: bool
    signature: bool operator<(const IPv4Address& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: operator!=(const IPv4Address& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IPv4Address& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:158,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:158,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: pcpp::IPv4Address::toInt
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t IPv4Address::toInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: pcpp::IPv6Address::IPv6Address
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Address()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: pcpp::IPv6Address::IPv6Address
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Address(const uint8_t bytes[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bytes'
    argTypes:
    - std::array<uint8_t, 16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: pcpp::IPv6Address::IPv6Address
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Address(const std::array<uint8_t, 16>& bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: pcpp::IPv6Address::toBytes
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * toBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: '& toByteArray() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<uint8_t, 16>
    signature: std::array<uint8_t, 16> & toByteArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:221,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:221,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: operator==(const IPv6Address& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toBytes
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPv6Address& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:229,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:229,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: operator<(const IPv6Address& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toBytes
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator<(const IPv6Address& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: operator!=(const IPv6Address& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IPv6Address& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Address::copyTo
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pcpp::IPv6Address::copyTo
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 3
    functionsReached:
    - pcpp::IPv6Address::copyTo
    linkageType: ''
    returnType: void
    signature: void copyTo(uint8_t* arr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: pcpp::IPAddress::IPAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: pcpp::IPAddress::IPAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddress(const IPv4Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: pcpp::IPAddress::IPAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddress(const IPv6Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AddressType>
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: pcpp::IPAddress::getType
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - static_cast<AddressType>
    linkageType: ''
    returnType: AddressType
    signature: AddressType getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPAddress::getType
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:369,1
    - Dst: pcpp::IPAddress::toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:369,1
    - Dst: pcpp::IPAddress::toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: pcpp::IPAddress::toString
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 1
    functionsReached:
    - pcpp::IPAddress::getType
    - pcpp::IPAddress::toString
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPAddress::getType
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: pcpp::IPAddress::isIPv4
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - pcpp::IPAddress::getType
    linkageType: ''
    returnType: bool
    signature: bool isIPv4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPAddress::getType
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pcpp::IPAddress::isIPv6
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - pcpp::IPAddress::getType
    linkageType: ''
    returnType: bool
    signature: bool isIPv6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPAddress::getType
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:388,1
    - Dst: pcpp::IPAddress::isMulticast
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:388,1
    - Dst: pcpp::IPAddress::isMulticast
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: pcpp::IPAddress::isMulticast
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 1
    functionsReached:
    - pcpp::IPAddress::isMulticast
    - pcpp::IPAddress::getType
    linkageType: ''
    returnType: bool
    signature: bool isMulticast() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: '& getIPv4() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address & getIPv4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: '& getIPv6() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address & getIPv6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPAddress::getType
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: pcpp::IPAddress::isZero
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 1
    functionsReached:
    - pcpp::IPAddress::getType
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: operator!=(const IPAddress& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IPAddress& rhs) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:439,1
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:441,1
    - Dst: isIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: IPAddress::operator==(const IPAddress& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - isIPv4
    - isIPv6
    linkageType: ''
    returnType: bool
    signature: bool IPAddress::operator==(const IPAddress& rhs) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:449,1
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:453,1
    - Dst: isIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 456
    functionName: IPAddress::operator<(const IPAddress& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - isIPv4
    - isIPv6
    linkageType: ''
    returnType: bool
    signature: bool IPAddress::operator<(const IPAddress& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: '& IPAddress::operator=(const IPv4Address& addr)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress & IPAddress::operator=(const IPv4Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 470
    functionName: '& IPAddress::operator=(const IPv6Address& addr)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress & IPAddress::operator=(const IPv6Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 481
    functionName: pcpp::IPv4Network::IPv4Network
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4Network(const IPv4Address& address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: pcpp::IPv4Network::getNetmask
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    linkageType: ''
    returnType: std::string
    signature: std::string getNetmask() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: pcpp::IPv4Network::getNetworkPrefix
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getNetworkPrefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 569
    functionName: pcpp::IPv6Network::IPv6Network
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Network(const IPv6Address& address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 606
    functionName: pcpp::IPv6Network::getNetmask
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPv6Address
    linkageType: ''
    returnType: std::string
    signature: std::string getNetmask() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: pcpp::IPv6Network::getNetworkPrefix
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getNetworkPrefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: pcpp::IPNetwork::IPNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - isIPv4
    linkageType: ''
    returnType: void
    signature: void IPNetwork(const IPAddress& address)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:668,1
    - Dst: IPv4Network
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:670,1
    - Dst: getIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:670,1
    - Dst: IPv6Network
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:674,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' address'
    - prefixLen
    argTypes:
    - IPAddress
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 676
    functionName: pcpp::IPNetwork::IPNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - getIPv4
    - getIPv6
    - isIPv4
    - IPv6Network
    - IPv4Network
    linkageType: ''
    returnType: void
    signature: void IPNetwork(const IPAddress& address, uint8_t prefixLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:689,1
    - Dst: IPv4Network
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:691,1
    - Dst: getIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:691,1
    - Dst: IPv6Network
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:695,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' address'
    - ' netmask'
    argTypes:
    - IPAddress
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 697
    functionName: pcpp::IPNetwork::IPNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - getIPv4
    - getIPv6
    - isIPv4
    - IPv6Network
    - IPv4Network
    linkageType: ''
    returnType: void
    signature: void IPNetwork(const IPAddress& address, const std::string& netmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Network
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:711,1
    - Dst: IPv6Network
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' addressAndNetmask'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 717
    functionName: pcpp::IPNetwork::IPNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPv6Network
    - IPv4Network
    linkageType: ''
    returnType: void
    signature: void IPNetwork(const std::string& addressAndNetmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPNetwork
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 722
    functionName: pcpp::IPNetwork::IPNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPNetwork(const IPNetwork& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPNetwork
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 731
    functionName: '& operator=(const IPNetwork& other)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPNetwork
    signature: IPNetwork & operator=(const IPNetwork& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: '& operator=(const IPv4Network& other)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPNetwork
    signature: IPNetwork & operator=(const IPv4Network& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 749
    functionName: '& operator=(const IPv6Network& other)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPNetwork
    signature: IPNetwork & operator=(const IPv6Network& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:755,1
    - Dst: auto::getPrefixLen
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:758,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 762
    functionName: pcpp::IPNetwork::getPrefixLen
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - auto::getPrefixLen
    - getIPv6
    - tryGetIPv4
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getPrefixLen() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:768,1
    - Dst: auto::getNetmask
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:771,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 775
    functionName: pcpp::IPNetwork::getNetmask
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - getIPv6
    - auto::getNetmask
    - tryGetIPv4
    linkageType: ''
    returnType: std::string
    signature: std::string getNetmask() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:781,1
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:784,1
    - Dst: auto::getNetworkPrefix
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:784,1
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:787,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 788
    functionName: pcpp::IPNetwork::getNetworkPrefix
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPAddress
    - getIPv6
    - auto::getNetworkPrefix
    - tryGetIPv4
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getNetworkPrefix() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:794,1
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:797,1
    - Dst: auto::getLowestAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:797,1
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:799,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: pcpp::IPNetwork::getLowestAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPAddress
    - getIPv6
    - tryGetIPv4
    - auto::getLowestAddress
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getLowestAddress() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:806,1
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:809,1
    - Dst: auto::getHighestAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:809,1
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:812,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 813
    functionName: pcpp::IPNetwork::getHighestAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPAddress
    - getIPv6
    - auto::getHighestAddress
    - tryGetIPv4
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getHighestAddress() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:820,1
    - Dst: auto::getTotalAddressCount
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:823,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 826
    functionName: pcpp::IPNetwork::getTotalAddressCount
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - auto::getTotalAddressCount
    - getIPv6
    - tryGetIPv4
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getTotalAddressCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getType
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 832
    functionName: pcpp::IPNetwork::isIPv4Network
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - getType
    linkageType: ''
    returnType: bool
    signature: bool isIPv4Network() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getType
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 838
    functionName: pcpp::IPNetwork::isIPv6Network
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - getType
    linkageType: ''
    returnType: bool
    signature: bool isIPv6Network() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:844,1
    - Dst: isIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:847,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:851,1
    - Dst: getIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:851,1
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:854,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:859,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 860
    functionName: pcpp::IPNetwork::includes
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - getIPv4
    - getIPv6
    - tryGetIPv4
    - isIPv6
    - auto::includes
    - isIPv4
    linkageType: ''
    returnType: bool
    signature: bool includes(const IPAddress& address) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:866,1
    - Dst: m_NetworkVariant::tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:869,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:874,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:877,1
    - Dst: m_NetworkVariant::tryGetIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:878,1
    - Dst: pcpp::IPNetwork::includes
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - IPNetwork
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 884
    functionName: pcpp::IPNetwork::includes
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 1
    functionsReached:
    - m_NetworkVariant::tryGetIPv4
    - m_NetworkVariant::tryGetIPv6
    - tryGetIPv4
    - auto::includes
    - getIPv6
    - pcpp::IPNetwork::includes
    linkageType: ''
    returnType: bool
    signature: bool includes(const IPNetwork& network) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:890,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:893,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 897
    functionName: pcpp::IPNetwork::toString
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - auto::toString
    - getIPv6
    - tryGetIPv4
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 911
    functionName: pcpp::IPNetwork::NetworkVariant::NetworkVariant
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkVariant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' net'
    argTypes:
    - IPv4Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 913
    functionName: pcpp::IPNetwork::NetworkVariant::NetworkVariant
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkVariant(IPv4Network const& net)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' net'
    argTypes:
    - IPv6Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 915
    functionName: pcpp::IPNetwork::NetworkVariant::NetworkVariant
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkVariant(IPv6Network const& net)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyActiveMem
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 919
    functionName: ~NetworkVariant()
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - destroyActiveMem
    linkageType: ''
    returnType: void
    signature: void ~NetworkVariant()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swapTo
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 926
    functionName: '& operator=(IPv4Network const& other)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - swapTo
    linkageType: ''
    returnType: NetworkVariant
    signature: NetworkVariant & operator=(IPv4Network const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swapTo
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 932
    functionName: '& operator=(IPv6Network const& other)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - swapTo
    linkageType: ''
    returnType: NetworkVariant
    signature: NetworkVariant & operator=(IPv6Network const& other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swapTo
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:935,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - NetworkVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 946
    functionName: '& operator=(NetworkVariant const& other)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - swapTo
    linkageType: ''
    returnType: NetworkVariant
    signature: NetworkVariant & operator=(NetworkVariant const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 951
    functionName: pcpp::IPNetwork::NetworkVariant::getType
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type getType() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: throwIfNot
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 957
    functionName: '& getIPv4()'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - throwIfNot
    linkageType: ''
    returnType: IPv4Network
    signature: IPv4Network & getIPv4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: throwIfNot
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 963
    functionName: '& getIPv4() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - throwIfNot
    linkageType: ''
    returnType: IPv4Network
    signature: IPv4Network & getIPv4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 968
    functionName: pcpp::IPNetwork::NetworkVariant::tryGetIPv4
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Network
    signature: IPv4Network * tryGetIPv4() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 972
    functionName: pcpp::IPNetwork::NetworkVariant::tryGetIPv4
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Network
    signature: IPv4Network * tryGetIPv4() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: throwIfNot
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 978
    functionName: '& getIPv6()'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - throwIfNot
    linkageType: ''
    returnType: IPv6Network
    signature: IPv6Network & getIPv6()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: throwIfNot
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 984
    functionName: '& getIPv6() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - throwIfNot
    linkageType: ''
    returnType: IPv6Network
    signature: IPv6Network & getIPv6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 989
    functionName: pcpp::IPNetwork::NetworkVariant::tryGetIPv6
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Network
    signature: IPv6Network * tryGetIPv6() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 993
    functionName: pcpp::IPNetwork::NetworkVariant::tryGetIPv6
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Network
    signature: IPv6Network * tryGetIPv6() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1002
    functionName: pcpp::IPNetwork::NetworkVariant::throwIfNot
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void throwIfNot(Type type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1021,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addrString
    - size
    argTypes:
    - char*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1022
    functionName: operator""_ipv4(const char* addrString, std::size_t size)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    - string
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address operator""_ipv4(const char* addrString, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1026,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addrString
    - size
    argTypes:
    - char*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1027
    functionName: operator""_ipv6(const char* addrString, std::size_t size)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPv6Address
    - string
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address operator""_ipv6(const char* addrString, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1021,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addrString
    - size
    argTypes:
    - char*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1022
    functionName: operator""_ipv4(const char* addrString, std::size_t size)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    - string
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address operator""_ipv4(const char* addrString, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1026,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addrString
    - size
    argTypes:
    - char*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1027
    functionName: operator""_ipv6(const char* addrString, std::size_t size)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPv6Address
    - string
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address operator""_ipv6(const char* addrString, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' oss'
    - ' ipv4Address'
    argTypes:
    - std::ostream
    - pcpp::IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1034
    functionName: '& operator<<(std::ostream& oss, const pcpp::IPv4Address& ipv4Address)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& oss, const pcpp::IPv4Address&
      ipv4Address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' oss'
    - ' ipv6Address'
    argTypes:
    - std::ostream
    - pcpp::IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1040
    functionName: '& operator<<(std::ostream& oss, const pcpp::IPv6Address& ipv6Address)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& oss, const pcpp::IPv6Address&
      ipv6Address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' oss'
    - ' ipAddress'
    argTypes:
    - std::ostream
    - pcpp::IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1046
    functionName: '& operator<<(std::ostream& oss, const pcpp::IPAddress& ipAddress)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& oss, const pcpp::IPAddress&
      ipAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' oss'
    - ' network'
    argTypes:
    - std::ostream
    - pcpp::IPv4Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1052
    functionName: '& operator<<(std::ostream& oss, const pcpp::IPv4Network& network)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& oss, const pcpp::IPv4Network&
      network)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' oss'
    - ' network'
    argTypes:
    - std::ostream
    - pcpp::IPv6Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1058
    functionName: '& operator<<(std::ostream& oss, const pcpp::IPv6Network& network)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& oss, const pcpp::IPv6Network&
      network)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' oss'
    - ' network'
    argTypes:
    - std::ostream
    - pcpp::IPNetwork
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1064
    functionName: '& operator<<(std::ostream& oss, const pcpp::IPNetwork& network)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& oss, const pcpp::IPNetwork&
      network)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pcpp::IPv4Address::IPv4Address
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4Address()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:39,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addrAsInt
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: pcpp::IPv4Address::IPv4Address
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 8
    functionsReached:
    - memcpy
    - data
    linkageType: ''
    returnType: void
    signature: void IPv4Address(const uint32_t addrAsInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: pcpp::IPv4Address::IPv4Address
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4Address(const uint8_t bytes[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bytes'
    argTypes:
    - std::array<uint8_t, 4>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: pcpp::IPv4Address::IPv4Address
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4Address(const std::array<uint8_t, 4>& bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: pcpp::IPv4Address::toBytes
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * toBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: '& toByteArray() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<uint8_t, 4>
    signature: std::array<uint8_t, 4> & toByteArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:92,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: operator==(const IPv4Address& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toInt
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPv4Address& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:100,1
    - Dst: std::reverse
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:101,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:101,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:101,1
    - Dst: toInt
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:103,1
    - Dst: std::reverse
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:104,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:104,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: operator<(const IPv4Address& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toInt
    - reinterpret_cast<uint8_t*>
    - std::reverse
    linkageType: ''
    returnType: bool
    signature: bool operator<(const IPv4Address& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: operator!=(const IPv4Address& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IPv4Address& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:158,1
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:158,1
    - Dst: size
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: pcpp::IPv4Address::toInt
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - size
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t IPv4Address::toInt() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: pcpp::IPv6Address::IPv6Address
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Address()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: pcpp::IPv6Address::IPv6Address
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Address(const uint8_t bytes[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' bytes'
    argTypes:
    - std::array<uint8_t, 16>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: pcpp::IPv6Address::IPv6Address
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Address(const std::array<uint8_t, 16>& bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: pcpp::IPv6Address::toBytes
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached:
    - data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * toBytes() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: '& toByteArray() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::array<uint8_t, 16>
    signature: std::array<uint8_t, 16> & toByteArray() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:221,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:221,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: operator==(const IPv6Address& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toBytes
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IPv6Address& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:229,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:229,1
    - Dst: toBytes
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: operator<(const IPv6Address& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toBytes
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator<(const IPv6Address& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: operator!=(const IPv6Address& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IPv6Address& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Address::copyTo
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arr
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pcpp::IPv6Address::copyTo
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 4
    functionsReached:
    - pcpp::IPv6Address::copyTo
    linkageType: ''
    returnType: void
    signature: void copyTo(uint8_t* arr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: pcpp::IPAddress::IPAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: pcpp::IPAddress::IPAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddress(const IPv4Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: pcpp::IPAddress::IPAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPAddress(const IPv6Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<AddressType>
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: pcpp::IPAddress::getType
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 5
    functionsReached:
    - static_cast<AddressType>
    linkageType: ''
    returnType: AddressType
    signature: AddressType getType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPAddress::getType
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:369,1
    - Dst: pcpp::IPAddress::toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:369,1
    - Dst: pcpp::IPAddress::toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: pcpp::IPAddress::toString
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached:
    - pcpp::IPAddress::getType
    - pcpp::IPAddress::toString
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPAddress::getType
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: pcpp::IPAddress::isIPv4
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - pcpp::IPAddress::getType
    linkageType: ''
    returnType: bool
    signature: bool isIPv4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPAddress::getType
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: pcpp::IPAddress::isIPv6
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - pcpp::IPAddress::getType
    linkageType: ''
    returnType: bool
    signature: bool isIPv6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPAddress::getType
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:388,1
    - Dst: pcpp::IPAddress::isMulticast
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:388,1
    - Dst: pcpp::IPAddress::isMulticast
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: pcpp::IPAddress::isMulticast
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached:
    - pcpp::IPAddress::isMulticast
    - pcpp::IPAddress::getType
    linkageType: ''
    returnType: bool
    signature: bool isMulticast() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: '& getIPv4() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address & getIPv4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: '& getIPv6() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address & getIPv6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPAddress::getType
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: pcpp::IPAddress::isZero
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 1
    functionsReached:
    - pcpp::IPAddress::getType
    linkageType: ''
    returnType: bool
    signature: bool isZero() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: operator!=(const IPAddress& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IPAddress& rhs) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:439,1
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:441,1
    - Dst: isIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: IPAddress::operator==(const IPAddress& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - isIPv4
    - isIPv6
    linkageType: ''
    returnType: bool
    signature: bool IPAddress::operator==(const IPAddress& rhs) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:449,1
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:453,1
    - Dst: isIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 456
    functionName: IPAddress::operator<(const IPAddress& rhs) const
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - isIPv4
    - isIPv6
    linkageType: ''
    returnType: bool
    signature: bool IPAddress::operator<(const IPAddress& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: '& IPAddress::operator=(const IPv4Address& addr)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress & IPAddress::operator=(const IPv4Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' addr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 470
    functionName: '& IPAddress::operator=(const IPv6Address& addr)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress & IPAddress::operator=(const IPv6Address& addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 481
    functionName: pcpp::IPv4Network::IPv4Network
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4Network(const IPv4Address& address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: pcpp::IPv4Network::getNetmask
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    linkageType: ''
    returnType: std::string
    signature: std::string getNetmask() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: pcpp::IPv4Network::getNetworkPrefix
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address getNetworkPrefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 569
    functionName: pcpp::IPv6Network::IPv6Network
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv6Network(const IPv6Address& address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 606
    functionName: pcpp::IPv6Network::getNetmask
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPv6Address
    linkageType: ''
    returnType: std::string
    signature: std::string getNetmask() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: pcpp::IPv6Network::getNetworkPrefix
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address getNetworkPrefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: pcpp::IPNetwork::IPNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - isIPv4
    linkageType: ''
    returnType: void
    signature: void IPNetwork(const IPAddress& address)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:668,1
    - Dst: IPv4Network
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:670,1
    - Dst: getIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:670,1
    - Dst: IPv6Network
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:674,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' address'
    - prefixLen
    argTypes:
    - IPAddress
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 676
    functionName: pcpp::IPNetwork::IPNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - getIPv4
    - getIPv6
    - isIPv4
    - IPv6Network
    - IPv4Network
    linkageType: ''
    returnType: void
    signature: void IPNetwork(const IPAddress& address, uint8_t prefixLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:689,1
    - Dst: IPv4Network
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:691,1
    - Dst: getIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:691,1
    - Dst: IPv6Network
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:695,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' address'
    - ' netmask'
    argTypes:
    - IPAddress
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 697
    functionName: pcpp::IPNetwork::IPNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - getIPv4
    - getIPv6
    - isIPv4
    - IPv6Network
    - IPv4Network
    linkageType: ''
    returnType: void
    signature: void IPNetwork(const IPAddress& address, const std::string& netmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Network
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:711,1
    - Dst: IPv6Network
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' addressAndNetmask'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 717
    functionName: pcpp::IPNetwork::IPNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPv6Network
    - IPv4Network
    linkageType: ''
    returnType: void
    signature: void IPNetwork(const std::string& addressAndNetmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPNetwork
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 722
    functionName: pcpp::IPNetwork::IPNetwork
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPNetwork(const IPNetwork& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPNetwork
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 731
    functionName: '& operator=(const IPNetwork& other)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPNetwork
    signature: IPNetwork & operator=(const IPNetwork& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: '& operator=(const IPv4Network& other)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPNetwork
    signature: IPNetwork & operator=(const IPv4Network& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 749
    functionName: '& operator=(const IPv6Network& other)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPNetwork
    signature: IPNetwork & operator=(const IPv6Network& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:755,1
    - Dst: auto::getPrefixLen
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:758,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 762
    functionName: pcpp::IPNetwork::getPrefixLen
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - auto::getPrefixLen
    - getIPv6
    - tryGetIPv4
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getPrefixLen() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:768,1
    - Dst: auto::getNetmask
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:771,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 775
    functionName: pcpp::IPNetwork::getNetmask
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - getIPv6
    - auto::getNetmask
    - tryGetIPv4
    linkageType: ''
    returnType: std::string
    signature: std::string getNetmask() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:781,1
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:784,1
    - Dst: auto::getNetworkPrefix
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:784,1
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:787,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 788
    functionName: pcpp::IPNetwork::getNetworkPrefix
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPAddress
    - getIPv6
    - auto::getNetworkPrefix
    - tryGetIPv4
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getNetworkPrefix() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:794,1
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:797,1
    - Dst: auto::getLowestAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:797,1
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:799,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: pcpp::IPNetwork::getLowestAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPAddress
    - getIPv6
    - tryGetIPv4
    - auto::getLowestAddress
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getLowestAddress() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:806,1
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:809,1
    - Dst: auto::getHighestAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:809,1
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:812,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 813
    functionName: pcpp::IPNetwork::getHighestAddress
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPAddress
    - getIPv6
    - auto::getHighestAddress
    - tryGetIPv4
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getHighestAddress() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:820,1
    - Dst: auto::getTotalAddressCount
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:823,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 826
    functionName: pcpp::IPNetwork::getTotalAddressCount
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - auto::getTotalAddressCount
    - getIPv6
    - tryGetIPv4
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getTotalAddressCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getType
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 832
    functionName: pcpp::IPNetwork::isIPv4Network
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - getType
    linkageType: ''
    returnType: bool
    signature: bool isIPv4Network() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getType
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 838
    functionName: pcpp::IPNetwork::isIPv6Network
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - getType
    linkageType: ''
    returnType: bool
    signature: bool isIPv6Network() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:844,1
    - Dst: isIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:847,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:851,1
    - Dst: getIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:851,1
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:854,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:859,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' address'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 860
    functionName: pcpp::IPNetwork::includes
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 1
    functionsReached:
    - getIPv4
    - getIPv6
    - tryGetIPv4
    - isIPv6
    - auto::includes
    - isIPv4
    linkageType: ''
    returnType: bool
    signature: bool includes(const IPAddress& address) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:866,1
    - Dst: m_NetworkVariant::tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:869,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:874,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:877,1
    - Dst: m_NetworkVariant::tryGetIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:878,1
    - Dst: pcpp::IPNetwork::includes
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - IPNetwork
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 884
    functionName: pcpp::IPNetwork::includes
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 2
    functionsReached:
    - m_NetworkVariant::tryGetIPv4
    - m_NetworkVariant::tryGetIPv6
    - tryGetIPv4
    - auto::includes
    - getIPv6
    - pcpp::IPNetwork::includes
    linkageType: ''
    returnType: bool
    signature: bool includes(const IPNetwork& network) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryGetIPv4
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:890,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:893,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 897
    functionName: pcpp::IPNetwork::toString
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - auto::toString
    - getIPv6
    - tryGetIPv4
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 911
    functionName: pcpp::IPNetwork::NetworkVariant::NetworkVariant
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkVariant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' net'
    argTypes:
    - IPv4Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 913
    functionName: pcpp::IPNetwork::NetworkVariant::NetworkVariant
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkVariant(IPv4Network const& net)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' net'
    argTypes:
    - IPv6Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 915
    functionName: pcpp::IPNetwork::NetworkVariant::NetworkVariant
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkVariant(IPv6Network const& net)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyActiveMem
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 919
    functionName: ~NetworkVariant()
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - destroyActiveMem
    linkageType: ''
    returnType: void
    signature: void ~NetworkVariant()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swapTo
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv4Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 926
    functionName: '& operator=(IPv4Network const& other)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - swapTo
    linkageType: ''
    returnType: NetworkVariant
    signature: NetworkVariant & operator=(IPv4Network const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swapTo
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IPv6Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 932
    functionName: '& operator=(IPv6Network const& other)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - swapTo
    linkageType: ''
    returnType: NetworkVariant
    signature: NetworkVariant & operator=(IPv6Network const& other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: swapTo
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:935,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - NetworkVariant
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 946
    functionName: '& operator=(NetworkVariant const& other)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - swapTo
    linkageType: ''
    returnType: NetworkVariant
    signature: NetworkVariant & operator=(NetworkVariant const& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 951
    functionName: pcpp::IPNetwork::NetworkVariant::getType
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type getType() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: throwIfNot
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 957
    functionName: '& getIPv4()'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - throwIfNot
    linkageType: ''
    returnType: IPv4Network
    signature: IPv4Network & getIPv4()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: throwIfNot
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 963
    functionName: '& getIPv4() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - throwIfNot
    linkageType: ''
    returnType: IPv4Network
    signature: IPv4Network & getIPv4() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 968
    functionName: pcpp::IPNetwork::NetworkVariant::tryGetIPv4
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Network
    signature: IPv4Network * tryGetIPv4() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 972
    functionName: pcpp::IPNetwork::NetworkVariant::tryGetIPv4
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Network
    signature: IPv4Network * tryGetIPv4() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: throwIfNot
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 978
    functionName: '& getIPv6()'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - throwIfNot
    linkageType: ''
    returnType: IPv6Network
    signature: IPv6Network & getIPv6()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: throwIfNot
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 984
    functionName: '& getIPv6() const'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - throwIfNot
    linkageType: ''
    returnType: IPv6Network
    signature: IPv6Network & getIPv6() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 989
    functionName: pcpp::IPNetwork::NetworkVariant::tryGetIPv6
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Network
    signature: IPv6Network * tryGetIPv6() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 993
    functionName: pcpp::IPNetwork::NetworkVariant::tryGetIPv6
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv6Network
    signature: IPv6Network * tryGetIPv6() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1002
    functionName: pcpp::IPNetwork::NetworkVariant::throwIfNot
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: void
    signature: void throwIfNot(Type type) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1021,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addrString
    - size
    argTypes:
    - char*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1022
    functionName: operator""_ipv4(const char* addrString, std::size_t size)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    - string
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address operator""_ipv4(const char* addrString, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1026,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addrString
    - size
    argTypes:
    - char*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1027
    functionName: operator""_ipv6(const char* addrString, std::size_t size)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPv6Address
    - string
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address operator""_ipv6(const char* addrString, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1021,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addrString
    - size
    argTypes:
    - char*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1022
    functionName: operator""_ipv4(const char* addrString, std::size_t size)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    - string
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address operator""_ipv4(const char* addrString, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1026,1
    - Dst: string
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addrString
    - size
    argTypes:
    - char*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1027
    functionName: operator""_ipv6(const char* addrString, std::size_t size)
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - IPv6Address
    - string
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address operator""_ipv6(const char* addrString, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' oss'
    - ' ipv4Address'
    argTypes:
    - std::ostream
    - pcpp::IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1034
    functionName: '& operator<<(std::ostream& oss, const pcpp::IPv4Address& ipv4Address)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& oss, const pcpp::IPv4Address&
      ipv4Address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' oss'
    - ' ipv6Address'
    argTypes:
    - std::ostream
    - pcpp::IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1040
    functionName: '& operator<<(std::ostream& oss, const pcpp::IPv6Address& ipv6Address)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& oss, const pcpp::IPv6Address&
      ipv6Address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' oss'
    - ' ipAddress'
    argTypes:
    - std::ostream
    - pcpp::IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1046
    functionName: '& operator<<(std::ostream& oss, const pcpp::IPAddress& ipAddress)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& oss, const pcpp::IPAddress&
      ipAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' oss'
    - ' network'
    argTypes:
    - std::ostream
    - pcpp::IPv4Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1052
    functionName: '& operator<<(std::ostream& oss, const pcpp::IPv4Network& network)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& oss, const pcpp::IPv4Network&
      network)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' oss'
    - ' network'
    argTypes:
    - std::ostream
    - pcpp::IPv6Network
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1058
    functionName: '& operator<<(std::ostream& oss, const pcpp::IPv6Network& network)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& oss, const pcpp::IPv6Network&
      network)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Common++/header/IpAddress.h:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' oss'
    - ' network'
    argTypes:
    - std::ostream
    - pcpp::IPNetwork
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1064
    functionName: '& operator<<(std::ostream& oss, const pcpp::IPNetwork& network)'
    functionSourceFile: /src/PcapPlusPlus/Common++/header/IpAddress.h
    functionUses: 0
    functionsReached:
    - toString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& oss, const pcpp::IPNetwork&
      network)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - SIZE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: CPP_VLA
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CPP_VLA(TYPE, SIZE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::thread
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:69,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:69,1
    - Dst: detach
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - tm
    - data
    argTypes:
    - KniThreadCleanupState
    - threadMain
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: KniDevice::KniThread::KniThread(KniThreadCleanupState s, threadMain
      tm, void* data)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - std::ref
    - detach
    - std::thread
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniThread::KniThread(KniThreadCleanupState s, threadMain
      tm, void* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: KniDevice::KniThread::~KniThread()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniThread::~KniThread()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: KniDevice::KniThread::cancel()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniThread::cancel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_kni_release
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:99,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - kni
    - deviceName
    argTypes:
    - struct rte_kni*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: pcpp::destroyKniDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - rte_kni_release
    linkageType: ''
    returnType: bool
    signature: bool destroyKniDevice(struct rte_kni* kni, const char* deviceName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:115,1
    - Dst: rte_kni_update_link
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:116,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kni
    - deviceName
    argTypes:
    - struct rte_kni*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 127
    functionName: pcpp::setKniDeviceLinkState
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_update_link
    - RTE_VERSION_NUM
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: KniDevice::KniLinkState
    signature: "KniDevice::KniLinkState setKniDeviceLinkState(struct rte_kni* kni,
      const char* deviceName,\n\t\t                                                     KniDevice::KniLinkState
      state = KniDevice::LINK_UP)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:133,1
    - Dst: rte_pktmbuf_pool_create
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:134,1
    - Dst: rte_socket_id
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:135,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:138,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - mempoolSize
    - unique
    - deviceName
    argTypes:
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: pcpp::createMempool
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - snprintf
    - PCPP_LOG_DEBUG
    - rte_socket_id
    - rte_pktmbuf_pool_create
    linkageType: ''
    returnType: struct rte_mempool
    signature: struct rte_mempool * createMempool(size_t mempoolSize, int unique,
      const char* deviceName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_kni_release
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:99,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - kni
    - deviceName
    argTypes:
    - struct rte_kni*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: pcpp::destroyKniDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - rte_kni_release
    linkageType: ''
    returnType: bool
    signature: bool destroyKniDevice(struct rte_kni* kni, const char* deviceName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:115,1
    - Dst: rte_kni_update_link
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:116,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kni
    - deviceName
    argTypes:
    - struct rte_kni*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 127
    functionName: pcpp::setKniDeviceLinkState
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_update_link
    - RTE_VERSION_NUM
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: KniDevice::KniLinkState
    signature: "KniDevice::KniLinkState setKniDeviceLinkState(struct rte_kni* kni,
      const char* deviceName,\n\t\t                                                     KniDevice::KniLinkState
      state = KniDevice::LINK_UP)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:133,1
    - Dst: rte_pktmbuf_pool_create
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:134,1
    - Dst: rte_socket_id
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:135,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:138,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - mempoolSize
    - unique
    - deviceName
    argTypes:
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: pcpp::createMempool
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - snprintf
    - PCPP_LOG_DEBUG
    - rte_socket_id
    - rte_pktmbuf_pool_create
    linkageType: ''
    returnType: struct rte_mempool
    signature: struct rte_mempool * createMempool(size_t mempoolSize, int unique,
      const char* deviceName)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:156,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:159,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:160,1
    - Dst: createMempool
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:162,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:162,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:165,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:166,1
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:167,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:167,1
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:171,1
    - Dst: mac::copyTo
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:173,1
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:178,1
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:183,1
    - Dst: rte_kni_alloc
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:196,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - ' conf'
    - mempoolSize
    - unique
    argTypes:
    - KniDeviceConfiguration
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 201
    functionName: pcpp::KniDevice::KniDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - name::c_str
    - PCPP_LOG_ERROR
    - RTE_VERSION_NUM
    - std::memset
    - mac::copyTo
    - rte_kni_alloc
    - snprintf
    - init
    - createMempool
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniDevice(const KniDeviceConfiguration& conf, size_t
      mempoolSize, int unique)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:205,1
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:206,1
    - Dst: setKniDeviceLinkState
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:209,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:209,1
    - Dst: destroyKniDevice
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:210,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:210,1
    - Dst: rte_mempool_free
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: KniDevice::~KniDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - destroyKniDevice
    - cleanup
    - setKniDeviceLinkState
    - name::c_str
    - rte_mempool_free
    linkageType: ''
    returnType: void
    signature: void KniDevice::~KniDevice()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: name::empty
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:222,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:224,1
    - Dst: name::size
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:228,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' conf'
    argTypes:
    - KniDeviceConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 238
    functionName: KniDevice::KniDeviceInfo::init(const KniDeviceConfiguration& conf)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - name::empty
    - name::size
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::KniDeviceInfo::init(const KniDeviceConfiguration& conf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:245,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:246,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:246,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:248,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:249,1
    - Dst: KniLinkState
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - KniInfoState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: pcpp::KniDevice::getLinkState
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - KniLinkState
    - name::c_str
    - PCPP_LOG_ERROR
    - soc::makeRequest
    - std::memset
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: KniDevice::KniLinkState
    signature: KniDevice::KniLinkState KniDevice::getLinkState(KniInfoState state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:260,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:262,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:262,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:264,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:265,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - KniInfoState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: pcpp::KniDevice::getMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - MacAddress
    - name::c_str
    - PCPP_LOG_ERROR
    - soc::makeRequest
    - std::memset
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress KniDevice::getMacAddress(KniInfoState state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:276,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:277,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:277,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:279,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - KniInfoState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: pcpp::KniDevice::getMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - name::c_str
    - PCPP_LOG_ERROR
    - soc::makeRequest
    - std::memset
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::getMtu(KniInfoState state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:291,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:292,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:292,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:294,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - KniInfoState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: pcpp::KniDevice::getPromiscuous
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - name::c_str
    - PCPP_LOG_ERROR
    - soc::makeRequest
    - std::memset
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: KniDevice::KniPromiscuousMode
    signature: KniDevice::KniPromiscuousMode KniDevice::getPromiscuous(KniInfoState
      state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:307,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:308,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:308,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:310,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:317,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:317,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:319,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - KniLinkState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 325
    functionName: pcpp::KniDevice::setLinkState
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - std::memset
    - PCPP_LOG_ERROR
    - name::c_str
    - soc::makeRequest
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::setLinkState(KniLinkState state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:330,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:332,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:333,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:333,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' mac'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 340
    functionName: pcpp::KniDevice::setMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - copyTo
    - name::c_str
    - PCPP_LOG_ERROR
    - soc::makeRequest
    - std::memset
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::setMacAddress(const MacAddress& mac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:345,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:347,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:347,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mtu
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 354
    functionName: pcpp::KniDevice::setMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - std::memset
    - PCPP_LOG_ERROR
    - name::c_str
    - soc::makeRequest
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::setMtu(uint16_t mtu)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:361,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:362,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:362,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:364,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:371,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:371,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - mode
    argTypes:
    - KniPromiscuousMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 379
    functionName: pcpp::KniDevice::setPromiscuous
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - std::memset
    - PCPP_LOG_ERROR
    - name::c_str
    - soc::makeRequest
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::setPromiscuous(KniPromiscuousMode mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setKniDeviceLinkState
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:383,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - KniLinkState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 387
    functionName: pcpp::KniDevice::updateLinkState
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - setKniDeviceLinkState
    - name::c_str
    linkageType: ''
    returnType: KniDevice::KniLinkState
    signature: KniDevice::KniLinkState KniDevice::updateLinkState(KniLinkState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rte_kni_handle_request
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: pcpp::KniDevice::handleRequests
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_handle_request
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::handleRequests()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: KniDevice::KniRequests::cleanup()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniRequests::cleanup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:412,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:412,1
    - Dst: std::chrono::nanoseconds
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:413,1
    - Dst: rte_kni_handle_request
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - devicePointer
    - ' stopThread'
    argTypes:
    - void*
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 420
    functionName: KniDevice::KniRequests::runRequests(void* devicePointer, std::atomic<bool>&
      stopThread)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - std::this_thread::sleep_for
    - rte_kni_handle_request
    - std::chrono::nanoseconds
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniRequests::runRequests(void* devicePointer, std::atomic<bool>&
      stopThread)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:426,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:431,1
    - Dst: KniThread::KniThread
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:431,1
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - sleepSeconds
    - sleepNanoSeconds
    argTypes:
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 438
    functionName: pcpp::KniDevice::startRequestHandlerThread
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - KniThread::KniThread
    - cleanup
    - static_cast<void*>
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::startRequestHandlerThread(long sleepSeconds, long sleepNanoSeconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:444,1
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 448
    functionName: pcpp::KniDevice::stopRequestHandlerThread
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - cleanup
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void KniDevice::stopRequestHandlerThread()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:452,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:454,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:457,1
    - Dst: pcpp::KniDevice::isRunning
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:457,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:459,1
    - Dst: rte_kni_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:466,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:471,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:477,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:482,1
    - Dst: MBufRawPacket*::setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:483,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' rawPacketsArr'
    argTypes:
    - MBufRawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 488
    functionName: pcpp::KniDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - pcpp::KniDevice::isRunning
    - MBufRawPacket*::setMBuf
    - clock_gettime
    - PCPP_LOG_ERROR
    - pushBack
    - MBufRawPacket::MBufRawPacket
    - rte_kni_rx_burst
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::receivePackets(MBufRawPacketVector& rawPacketsArr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:492,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:494,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:497,1
    - Dst: pcpp::KniDevice::isRunning
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:497,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:499,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:504,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:506,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:510,1
    - Dst: rte_kni_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:511,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:513,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:519,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:525,1
    - Dst: setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - rawPacketsArr
    - rawPacketArrLength
    argTypes:
    - MBufRawPacket**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 531
    functionName: pcpp::KniDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - pcpp::KniDevice::isRunning
    - clock_gettime
    - setMBuf
    - PCPP_LOG_ERROR
    - MBufRawPacket::MBufRawPacket
    - CPP_VLA
    - rte_kni_rx_burst
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::receivePackets(MBufRawPacket** rawPacketsArr, uint16_t
      rawPacketArrLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:535,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:537,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:540,1
    - Dst: pcpp::KniDevice::isRunning
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:540,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:542,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:548,1
    - Dst: rte_kni_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:549,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:551,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:557,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:562,1
    - Dst: MBufRawPacket*::setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:563,1
    - Dst: Packet::Packet
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:565,1
    - Dst: setRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - packetsArr
    - packetsArrLength
    argTypes:
    - Packet**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 571
    functionName: pcpp::KniDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - pcpp::KniDevice::isRunning
    - MBufRawPacket*::setMBuf
    - clock_gettime
    - PCPP_LOG_ERROR
    - MBufRawPacket::MBufRawPacket
    - Packet::Packet
    - CPP_VLA
    - setRawPacket
    - rte_kni_rx_burst
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::receivePackets(Packet** packetsArr, uint16_t packetsArrLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:575,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:577,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:581,1
    - Dst: getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:584,1
    - Dst: rte_kni_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:587,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - rawPacketsArr
    - arrLength
    argTypes:
    - MBufRawPacket**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 594
    functionName: pcpp::KniDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_tx_burst
    - unlikely
    - getMBuf
    - PCPP_LOG_ERROR
    - CPP_VLA
    - setFreeMbuf
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::sendPackets(MBufRawPacket** rawPacketsArr, uint16_t
      arrLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:598,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:600,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:604,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:605,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:606,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:612,1
    - Dst: internal::getRawPacketImplementationType
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:613,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:616,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:617,1
    - Dst: MBufRawPacket*::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:617,1
    - Dst: MBufRawPacket*::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:629,1
    - Dst: rte_kni_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:632,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:635,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - packetsArr
    - arrLength
    argTypes:
    - Packet**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 642
    functionName: pcpp::KniDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_tx_burst
    - unlikely
    - MBufRawPacket*::initFromRawPacket
    - internal::getRawPacketImplementationType
    - PCPP_LOG_ERROR
    - MBufRawPacket::MBufRawPacket
    - CPP_VLA
    - setFreeMbuf
    - MBufRawPacket*::getMBuf
    - getRawPacketReadOnly
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::sendPackets(Packet** packetsArr, uint16_t arrLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:646,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:648,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:652,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:653,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:655,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:655,1
    - Dst: getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:657,1
    - Dst: rte_kni_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:661,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:663,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:663,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' rawPacketsVec'
    argTypes:
    - MBufRawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 670
    functionName: pcpp::KniDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_tx_burst
    - unlikely
    - getMBuf
    - begin
    - end
    - PCPP_LOG_ERROR
    - size
    - CPP_VLA
    - setFreeMbuf
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::sendPackets(MBufRawPacketVector& rawPacketsVec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:674,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:676,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:680,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:681,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:682,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:683,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:687,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:687,1
    - Dst: internal::getRawPacketImplementationType
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:689,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:692,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:693,1
    - Dst: MBufRawPacket*::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:693,1
    - Dst: MBufRawPacket*::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:705,1
    - Dst: rte_kni_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:709,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - ' rawPacketsVec'
    argTypes:
    - RawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 719
    functionName: pcpp::KniDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_tx_burst
    - unlikely
    - begin
    - end
    - PCPP_LOG_ERROR
    - size
    - internal::getRawPacketImplementationType
    - MBufRawPacket::MBufRawPacket
    - CPP_VLA
    - setFreeMbuf
    - MBufRawPacket*::getMBuf
    - MBufRawPacket*::initFromRawPacket
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::sendPackets(RawPacketVector& rawPacketsVec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:723,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:725,1
    - Dst: internal::getRawPacketImplementationType
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:734,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:736,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:737,1
    - Dst: MBufRawPacket*::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:737,1
    - Dst: MBufRawPacket*::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:742,1
    - Dst: MBufRawPacket*::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:748,1
    - Dst: rte_kni_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:751,1
    - Dst: MBufRawPacket*::setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 757
    functionName: pcpp::KniDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_tx_burst
    - unlikely
    - internal::getRawPacketImplementationType
    - PCPP_LOG_ERROR
    - MBufRawPacket::MBufRawPacket
    - MBufRawPacket*::setFreeMbuf
    - MBufRawPacket*::getMBuf
    - MBufRawPacket*::initFromRawPacket
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::sendPacket(RawPacket& rawPacket)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:761,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:763,1
    - Dst: getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:767,1
    - Dst: rte_kni_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:770,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - MBufRawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 774
    functionName: pcpp::KniDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_tx_burst
    - unlikely
    - getMBuf
    - PCPP_LOG_ERROR
    - setFreeMbuf
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::sendPacket(MBufRawPacket& rawPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::KniDevice::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:778,1
    - Dst: getRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 779
    functionName: pcpp::KniDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::KniDevice::sendPacket
    - getRawPacket
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::sendPacket(Packet& packet)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:789,1
    - Dst: rte_kni_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:793,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:794,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:804,1
    - Dst: likely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:806,1
    - Dst: setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:811,1
    - Dst: callback
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:814,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - devicePointer
    - ' stopThread'
    argTypes:
    - void*
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 822
    functionName: KniDevice::KniCapturing::runCapture(void* devicePointer, std::atomic<bool>&
      stopThread)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - callback
    - clock_gettime
    - setMBuf
    - PCPP_LOG_DEBUG
    - rte_kni_rx_burst
    - likely
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniCapturing::runCapture(void* devicePointer, std::atomic<bool>&
      stopThread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 832
    functionName: KniDevice::KniCapturing::cleanup()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniCapturing::cleanup()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:836,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:838,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:841,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:843,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:850,1
    - Dst: KniThread::KniThread
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:850,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - onPacketArrives
    - onPacketArrivesUserCookie
    argTypes:
    - OnKniPacketArriveCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 859
    functionName: pcpp::KniDevice::startCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - static_cast<void*>
    - PCPP_LOG_ERROR
    - KniThread::KniThread
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::startCapture(OnKniPacketArriveCallback onPacketArrives,
      void* onPacketArrivesUserCookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:865,1
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 869
    functionName: pcpp::KniDevice::stopCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - cleanup
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void KniDevice::stopCapture()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:874,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:876,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:879,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:881,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:886,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:888,1
    - Dst: rte_kni_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:899,1
    - Dst: likely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:900,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:904,1
    - Dst: setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:908,1
    - Dst: callback
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:911,1
    - Dst: clockGetTime
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:920,1
    - Dst: clockGetTime
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:924,1
    - Dst: rte_kni_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:925,1
    - Dst: likely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:926,1
    - Dst: setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:935,1
    - Dst: callback
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:938,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - onPacketArrives
    - onPacketArrivesUserCookie
    - timeout
    argTypes:
    - OnKniPacketArriveCallback
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 944
    functionName: pcpp::KniDevice::startCaptureBlockingMode
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - callback
    - clock_gettime
    - setMBuf
    - PCPP_LOG_ERROR
    - clockGetTime
    - rte_kni_rx_burst
    - likely
    linkageType: ''
    returnType: int
    signature: "int KniDevice::startCaptureBlockingMode(OnKniPacketArriveCallback
      onPacketArrives, void* onPacketArrivesUserCookie,\n\t                                        int
      timeout)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:948,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:950,1
    - Dst: pcpp::KniDevice::updateLinkState
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 966
    functionName: pcpp::KniDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - pcpp::KniDevice::updateLinkState
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::open()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:972,1
    - Dst: pcpp::KniDevice::updateLinkState
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 976
    functionName: pcpp::KniDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::KniDevice::updateLinkState
    - cleanup
    linkageType: ''
    returnType: void
    signature: void KniDevice::close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::thread
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:69,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:69,1
    - Dst: detach
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - tm
    - data
    argTypes:
    - KniThreadCleanupState
    - threadMain
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: KniDevice::KniThread::KniThread(KniThreadCleanupState s, threadMain
      tm, void* data)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - std::ref
    - detach
    - std::thread
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniThread::KniThread(KniThreadCleanupState s, threadMain
      tm, void* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: join
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: KniDevice::KniThread::~KniThread()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - join
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniThread::~KniThread()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: KniDevice::KniThread::cancel()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniThread::cancel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_kni_release
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:99,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - kni
    - deviceName
    argTypes:
    - struct rte_kni*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: pcpp::destroyKniDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - rte_kni_release
    linkageType: ''
    returnType: bool
    signature: bool destroyKniDevice(struct rte_kni* kni, const char* deviceName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:115,1
    - Dst: rte_kni_update_link
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:116,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kni
    - deviceName
    argTypes:
    - struct rte_kni*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 127
    functionName: pcpp::setKniDeviceLinkState
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_update_link
    - RTE_VERSION_NUM
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: KniDevice::KniLinkState
    signature: "KniDevice::KniLinkState setKniDeviceLinkState(struct rte_kni* kni,
      const char* deviceName,\n\t\t                                                     KniDevice::KniLinkState
      state = KniDevice::LINK_UP)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:133,1
    - Dst: rte_pktmbuf_pool_create
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:134,1
    - Dst: rte_socket_id
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:135,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:138,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - mempoolSize
    - unique
    - deviceName
    argTypes:
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: pcpp::createMempool
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - snprintf
    - PCPP_LOG_DEBUG
    - rte_socket_id
    - rte_pktmbuf_pool_create
    linkageType: ''
    returnType: struct rte_mempool
    signature: struct rte_mempool * createMempool(size_t mempoolSize, int unique,
      const char* deviceName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_kni_release
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:99,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - kni
    - deviceName
    argTypes:
    - struct rte_kni*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: pcpp::destroyKniDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - rte_kni_release
    linkageType: ''
    returnType: bool
    signature: bool destroyKniDevice(struct rte_kni* kni, const char* deviceName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:115,1
    - Dst: rte_kni_update_link
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:116,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - kni
    - deviceName
    argTypes:
    - struct rte_kni*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 127
    functionName: pcpp::setKniDeviceLinkState
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_update_link
    - RTE_VERSION_NUM
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: KniDevice::KniLinkState
    signature: "KniDevice::KniLinkState setKniDeviceLinkState(struct rte_kni* kni,
      const char* deviceName,\n\t\t                                                     KniDevice::KniLinkState
      state = KniDevice::LINK_UP)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:133,1
    - Dst: rte_pktmbuf_pool_create
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:134,1
    - Dst: rte_socket_id
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:135,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:138,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - mempoolSize
    - unique
    - deviceName
    argTypes:
    - size_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: pcpp::createMempool
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - snprintf
    - PCPP_LOG_DEBUG
    - rte_socket_id
    - rte_pktmbuf_pool_create
    linkageType: ''
    returnType: struct rte_mempool
    signature: struct rte_mempool * createMempool(size_t mempoolSize, int unique,
      const char* deviceName)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:156,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:159,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:160,1
    - Dst: createMempool
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:162,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:162,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:165,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:166,1
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:167,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:167,1
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:171,1
    - Dst: mac::copyTo
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:173,1
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:178,1
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:183,1
    - Dst: rte_kni_alloc
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:196,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - ' conf'
    - mempoolSize
    - unique
    argTypes:
    - KniDeviceConfiguration
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 201
    functionName: pcpp::KniDevice::KniDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - name::c_str
    - PCPP_LOG_ERROR
    - RTE_VERSION_NUM
    - std::memset
    - mac::copyTo
    - rte_kni_alloc
    - snprintf
    - init
    - createMempool
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniDevice(const KniDeviceConfiguration& conf, size_t
      mempoolSize, int unique)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:205,1
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:206,1
    - Dst: setKniDeviceLinkState
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:209,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:209,1
    - Dst: destroyKniDevice
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:210,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:210,1
    - Dst: rte_mempool_free
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: KniDevice::~KniDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - destroyKniDevice
    - cleanup
    - setKniDeviceLinkState
    - name::c_str
    - rte_mempool_free
    linkageType: ''
    returnType: void
    signature: void KniDevice::~KniDevice()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: name::empty
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:222,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:224,1
    - Dst: name::size
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:228,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ' conf'
    argTypes:
    - KniDeviceConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 238
    functionName: KniDevice::KniDeviceInfo::init(const KniDeviceConfiguration& conf)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - name::empty
    - name::size
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::KniDeviceInfo::init(const KniDeviceConfiguration& conf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:245,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:246,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:246,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:248,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:249,1
    - Dst: KniLinkState
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - KniInfoState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: pcpp::KniDevice::getLinkState
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - KniLinkState
    - name::c_str
    - PCPP_LOG_ERROR
    - soc::makeRequest
    - std::memset
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: KniDevice::KniLinkState
    signature: KniDevice::KniLinkState KniDevice::getLinkState(KniInfoState state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:260,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:262,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:262,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:264,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:265,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - KniInfoState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: pcpp::KniDevice::getMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - MacAddress
    - name::c_str
    - PCPP_LOG_ERROR
    - soc::makeRequest
    - std::memset
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress KniDevice::getMacAddress(KniInfoState state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:276,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:277,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:277,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:279,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - KniInfoState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: pcpp::KniDevice::getMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - name::c_str
    - PCPP_LOG_ERROR
    - soc::makeRequest
    - std::memset
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::getMtu(KniInfoState state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:291,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:292,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:292,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:294,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - KniInfoState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: pcpp::KniDevice::getPromiscuous
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - name::c_str
    - PCPP_LOG_ERROR
    - soc::makeRequest
    - std::memset
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: KniDevice::KniPromiscuousMode
    signature: KniDevice::KniPromiscuousMode KniDevice::getPromiscuous(KniInfoState
      state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:307,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:308,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:308,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:310,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:317,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:317,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:319,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - KniLinkState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 325
    functionName: pcpp::KniDevice::setLinkState
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - std::memset
    - PCPP_LOG_ERROR
    - name::c_str
    - soc::makeRequest
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::setLinkState(KniLinkState state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:330,1
    - Dst: copyTo
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:332,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:333,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:333,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' mac'
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 340
    functionName: pcpp::KniDevice::setMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - copyTo
    - name::c_str
    - PCPP_LOG_ERROR
    - soc::makeRequest
    - std::memset
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::setMacAddress(const MacAddress& mac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:345,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:347,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:347,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mtu
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 354
    functionName: pcpp::KniDevice::setMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - std::memset
    - PCPP_LOG_ERROR
    - name::c_str
    - soc::makeRequest
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::setMtu(uint16_t mtu)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:361,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:362,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:362,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:364,1
    - Dst: soc::makeRequest
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:371,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:371,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - mode
    argTypes:
    - KniPromiscuousMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 379
    functionName: pcpp::KniDevice::setPromiscuous
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - std::memset
    - PCPP_LOG_ERROR
    - name::c_str
    - soc::makeRequest
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::setPromiscuous(KniPromiscuousMode mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setKniDeviceLinkState
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:383,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - KniLinkState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 387
    functionName: pcpp::KniDevice::updateLinkState
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 2
    functionsReached:
    - setKniDeviceLinkState
    - name::c_str
    linkageType: ''
    returnType: KniDevice::KniLinkState
    signature: KniDevice::KniLinkState KniDevice::updateLinkState(KniLinkState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rte_kni_handle_request
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: pcpp::KniDevice::handleRequests
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_handle_request
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::handleRequests()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: KniDevice::KniRequests::cleanup()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniRequests::cleanup()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:412,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:412,1
    - Dst: std::chrono::nanoseconds
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:413,1
    - Dst: rte_kni_handle_request
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - devicePointer
    - ' stopThread'
    argTypes:
    - void*
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 420
    functionName: KniDevice::KniRequests::runRequests(void* devicePointer, std::atomic<bool>&
      stopThread)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - std::this_thread::sleep_for
    - rte_kni_handle_request
    - std::chrono::nanoseconds
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniRequests::runRequests(void* devicePointer, std::atomic<bool>&
      stopThread)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:426,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:431,1
    - Dst: KniThread::KniThread
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:431,1
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - sleepSeconds
    - sleepNanoSeconds
    argTypes:
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 438
    functionName: pcpp::KniDevice::startRequestHandlerThread
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - KniThread::KniThread
    - cleanup
    - static_cast<void*>
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::startRequestHandlerThread(long sleepSeconds, long sleepNanoSeconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:444,1
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 448
    functionName: pcpp::KniDevice::stopRequestHandlerThread
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - cleanup
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void KniDevice::stopRequestHandlerThread()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:452,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:454,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:457,1
    - Dst: pcpp::KniDevice::isRunning
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:457,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:459,1
    - Dst: rte_kni_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:466,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:471,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:477,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:482,1
    - Dst: MBufRawPacket*::setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:483,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' rawPacketsArr'
    argTypes:
    - MBufRawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 488
    functionName: pcpp::KniDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - pcpp::KniDevice::isRunning
    - MBufRawPacket*::setMBuf
    - clock_gettime
    - PCPP_LOG_ERROR
    - pushBack
    - MBufRawPacket::MBufRawPacket
    - rte_kni_rx_burst
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::receivePackets(MBufRawPacketVector& rawPacketsArr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:492,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:494,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:497,1
    - Dst: pcpp::KniDevice::isRunning
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:497,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:499,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:504,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:506,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:510,1
    - Dst: rte_kni_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:511,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:513,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:519,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:525,1
    - Dst: setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - rawPacketsArr
    - rawPacketArrLength
    argTypes:
    - MBufRawPacket**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 531
    functionName: pcpp::KniDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - pcpp::KniDevice::isRunning
    - clock_gettime
    - setMBuf
    - PCPP_LOG_ERROR
    - MBufRawPacket::MBufRawPacket
    - CPP_VLA
    - rte_kni_rx_burst
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::receivePackets(MBufRawPacket** rawPacketsArr, uint16_t
      rawPacketArrLength)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:535,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:537,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:540,1
    - Dst: pcpp::KniDevice::isRunning
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:540,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:542,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:548,1
    - Dst: rte_kni_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:549,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:551,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:557,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:562,1
    - Dst: MBufRawPacket*::setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:563,1
    - Dst: Packet::Packet
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:565,1
    - Dst: setRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - packetsArr
    - packetsArrLength
    argTypes:
    - Packet**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 571
    functionName: pcpp::KniDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - pcpp::KniDevice::isRunning
    - MBufRawPacket*::setMBuf
    - clock_gettime
    - PCPP_LOG_ERROR
    - MBufRawPacket::MBufRawPacket
    - Packet::Packet
    - CPP_VLA
    - setRawPacket
    - rte_kni_rx_burst
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::receivePackets(Packet** packetsArr, uint16_t packetsArrLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:575,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:577,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:581,1
    - Dst: getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:584,1
    - Dst: rte_kni_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:587,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - rawPacketsArr
    - arrLength
    argTypes:
    - MBufRawPacket**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 594
    functionName: pcpp::KniDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_tx_burst
    - unlikely
    - getMBuf
    - PCPP_LOG_ERROR
    - CPP_VLA
    - setFreeMbuf
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::sendPackets(MBufRawPacket** rawPacketsArr, uint16_t
      arrLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:598,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:600,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:604,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:605,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:606,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:612,1
    - Dst: internal::getRawPacketImplementationType
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:613,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:616,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:617,1
    - Dst: MBufRawPacket*::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:617,1
    - Dst: MBufRawPacket*::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:629,1
    - Dst: rte_kni_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:632,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:635,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - packetsArr
    - arrLength
    argTypes:
    - Packet**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 642
    functionName: pcpp::KniDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_tx_burst
    - unlikely
    - MBufRawPacket*::initFromRawPacket
    - internal::getRawPacketImplementationType
    - PCPP_LOG_ERROR
    - MBufRawPacket::MBufRawPacket
    - CPP_VLA
    - setFreeMbuf
    - MBufRawPacket*::getMBuf
    - getRawPacketReadOnly
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::sendPackets(Packet** packetsArr, uint16_t arrLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:646,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:648,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:652,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:653,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:655,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:655,1
    - Dst: getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:657,1
    - Dst: rte_kni_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:661,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:663,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:663,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' rawPacketsVec'
    argTypes:
    - MBufRawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 670
    functionName: pcpp::KniDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_tx_burst
    - unlikely
    - getMBuf
    - begin
    - end
    - PCPP_LOG_ERROR
    - size
    - CPP_VLA
    - setFreeMbuf
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::sendPackets(MBufRawPacketVector& rawPacketsVec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:674,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:676,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:680,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:681,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:682,1
    - Dst: CPP_VLA
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:683,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:687,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:687,1
    - Dst: internal::getRawPacketImplementationType
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:689,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:692,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:693,1
    - Dst: MBufRawPacket*::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:693,1
    - Dst: MBufRawPacket*::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:705,1
    - Dst: rte_kni_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:709,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - ' rawPacketsVec'
    argTypes:
    - RawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 719
    functionName: pcpp::KniDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_kni_tx_burst
    - unlikely
    - begin
    - end
    - PCPP_LOG_ERROR
    - size
    - internal::getRawPacketImplementationType
    - MBufRawPacket::MBufRawPacket
    - CPP_VLA
    - setFreeMbuf
    - MBufRawPacket*::getMBuf
    - MBufRawPacket*::initFromRawPacket
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t KniDevice::sendPackets(RawPacketVector& rawPacketsVec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:723,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:725,1
    - Dst: internal::getRawPacketImplementationType
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:734,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:736,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:737,1
    - Dst: MBufRawPacket*::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:737,1
    - Dst: MBufRawPacket*::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:742,1
    - Dst: MBufRawPacket*::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:748,1
    - Dst: rte_kni_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:751,1
    - Dst: MBufRawPacket*::setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 757
    functionName: pcpp::KniDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 1
    functionsReached:
    - rte_kni_tx_burst
    - unlikely
    - internal::getRawPacketImplementationType
    - PCPP_LOG_ERROR
    - MBufRawPacket::MBufRawPacket
    - MBufRawPacket*::setFreeMbuf
    - MBufRawPacket*::getMBuf
    - MBufRawPacket*::initFromRawPacket
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::sendPacket(RawPacket& rawPacket)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:761,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:763,1
    - Dst: getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:767,1
    - Dst: rte_kni_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:770,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - MBufRawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 774
    functionName: pcpp::KniDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 1
    functionsReached:
    - rte_kni_tx_burst
    - unlikely
    - getMBuf
    - PCPP_LOG_ERROR
    - setFreeMbuf
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::sendPacket(MBufRawPacket& rawPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::KniDevice::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:778,1
    - Dst: getRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 779
    functionName: pcpp::KniDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::KniDevice::sendPacket
    - getRawPacket
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::sendPacket(Packet& packet)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:789,1
    - Dst: rte_kni_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:793,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:794,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:804,1
    - Dst: likely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:806,1
    - Dst: setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:811,1
    - Dst: callback
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:814,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - devicePointer
    - ' stopThread'
    argTypes:
    - void*
    - std::atomic<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 822
    functionName: KniDevice::KniCapturing::runCapture(void* devicePointer, std::atomic<bool>&
      stopThread)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - callback
    - clock_gettime
    - setMBuf
    - PCPP_LOG_DEBUG
    - rte_kni_rx_burst
    - likely
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniCapturing::runCapture(void* devicePointer, std::atomic<bool>&
      stopThread)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 832
    functionName: KniDevice::KniCapturing::cleanup()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void KniDevice::KniCapturing::cleanup()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:836,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:838,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:841,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:843,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:850,1
    - Dst: KniThread::KniThread
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:850,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - onPacketArrives
    - onPacketArrivesUserCookie
    argTypes:
    - OnKniPacketArriveCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 859
    functionName: pcpp::KniDevice::startCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - static_cast<void*>
    - PCPP_LOG_ERROR
    - KniThread::KniThread
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::startCapture(OnKniPacketArriveCallback onPacketArrives,
      void* onPacketArrivesUserCookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:865,1
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 869
    functionName: pcpp::KniDevice::stopCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - cleanup
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void KniDevice::stopCapture()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:874,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:876,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:879,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:881,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:886,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:888,1
    - Dst: rte_kni_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:899,1
    - Dst: likely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:900,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:904,1
    - Dst: setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:908,1
    - Dst: callback
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:911,1
    - Dst: clockGetTime
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:920,1
    - Dst: clockGetTime
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:924,1
    - Dst: rte_kni_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:925,1
    - Dst: likely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:926,1
    - Dst: setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:935,1
    - Dst: callback
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:938,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - onPacketArrives
    - onPacketArrivesUserCookie
    - timeout
    argTypes:
    - OnKniPacketArriveCallback
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 944
    functionName: pcpp::KniDevice::startCaptureBlockingMode
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - callback
    - clock_gettime
    - setMBuf
    - PCPP_LOG_ERROR
    - clockGetTime
    - rte_kni_rx_burst
    - likely
    linkageType: ''
    returnType: int
    signature: "int KniDevice::startCaptureBlockingMode(OnKniPacketArriveCallback
      onPacketArrives, void* onPacketArrivesUserCookie,\n\t                                        int
      timeout)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:948,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:950,1
    - Dst: pcpp::KniDevice::updateLinkState
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 966
    functionName: pcpp::KniDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - pcpp::KniDevice::updateLinkState
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool KniDevice::open()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:972,1
    - Dst: pcpp::KniDevice::updateLinkState
      Src: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 976
    functionName: pcpp::KniDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::KniDevice::updateLinkState
    - cleanup
    linkageType: ''
    returnType: void
    signature: void KniDevice::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:32,1
    - Dst: pcpp::size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:32,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    - Dst: pcpp::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mainVector'
    - ' viewVector'
    argTypes:
    - PointerVector<PcapLiveDevice>
    - std::vector<PcapLiveDevice*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: pcpp::syncPointerVectors
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::size
    - pcpp::end
    - pcpp::begin
    - resize
    - std::copy
    linkageType: ''
    returnType: void
    signature: "void syncPointerVectors(PointerVector<PcapLiveDevice> const& mainVector,\n\t\t
      \                       std::vector<PcapLiveDevice*>& viewVector)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:32,1
    - Dst: pcpp::size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:32,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    - Dst: pcpp::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mainVector'
    - ' viewVector'
    argTypes:
    - PointerVector<PcapLiveDevice>
    - std::vector<PcapLiveDevice*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: pcpp::syncPointerVectors
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::size
    - pcpp::end
    - pcpp::begin
    - resize
    - std::copy
    linkageType: ''
    returnType: void
    signature: "void syncPointerVectors(PointerVector<PcapLiveDevice> const& mainVector,\n\t\t
      \                       std::vector<PcapLiveDevice*>& viewVector)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDeviceList::fetchAllLocalDevices
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:38,1
    - Dst: pcpp::PcapLiveDeviceList::fetchDnsServers
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:38,1
    - Dst: syncPointerVectors
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: pcpp::PcapLiveDeviceList::PcapLiveDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::fetchAllLocalDevices
    - pcpp::PcapLiveDeviceList::fetchDnsServers
    - syncPointerVectors
    linkageType: ''
    returnType: void
    signature: void PcapLiveDeviceList::PcapLiveDeviceList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::getAllLocalPcapDevices
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:49,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:54,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:54,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:57,1
    - Dst: pcpp::PcapLiveDevice::getPcapLibVersionInfo
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:57,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:59,1
    - Dst: std::unique_ptr<PcapLiveDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:63,1
    - Dst: WinPcapLiveDevice::WinPcapLiveDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:63,1
    - Dst: std::unique_ptr<PcapLiveDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:65,1
    - Dst: PcapLiveDevice::PcapLiveDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:65,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:67,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 70
    functionName: pcpp::PcapLiveDeviceList::fetchAllLocalDevices
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 1
    functionsReached:
    - what
    - PcapLiveDevice::PcapLiveDevice
    - pcpp::PcapLiveDevice::getPcapLibVersionInfo
    - std::unique_ptr::get
    - WinPcapLiveDevice::WinPcapLiveDevice
    - std::unique_ptr<PcapLiveDevice>
    - PointerVector::pushBack
    - PCPP_LOG_ERROR
    - pcpp::internal::getAllLocalPcapDevices
    - PCPP_LOG_DEBUG
    - std::move
    linkageType: ''
    returnType: PointerVector<PcapLiveDevice>
    signature: PointerVector<PcapLiveDevice> PcapLiveDeviceList::fetchAllLocalDevices()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<FIXED_INFO*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:82,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:82,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:83,1
    - Dst: GetNetworkParams
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:85,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:90,1
    - Dst: reinterpret_cast<FIXED_INFO*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:91,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:91,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:92,1
    - Dst: GetNetworkParams
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:94,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:98,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:104,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:104,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:105,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:110,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:119,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:119,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:120,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:125,1
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:133,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:136,1
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:142,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:143,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:143,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:143,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:143,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:143,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:144,1
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:152,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:155,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:162,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:172,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:176,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:176,1
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:180,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:180,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:180,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:180,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:182,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:183,1
    - Dst: SCDynamicStoreCreate
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:188,1
    - Dst: CFSTR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:188,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:191,1
    - Dst: SCDynamicStoreCopyValue
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:195,1
    - Dst: CFSTR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:195,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:199,1
    - Dst: CFRelease
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:200,1
    - Dst: CFDictionaryGetValue
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:204,1
    - Dst: CFSTR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:204,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:208,1
    - Dst: CFRelease
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:209,1
    - Dst: CFRelease
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:210,1
    - Dst: CFArrayGetCount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:214,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:217,1
    - Dst: CFStringGetCString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:224,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:227,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:227,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:228,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:232,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:232,1
    - Dst: CFRelease
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:236,1
    - Dst: CFRelease
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:237,1
    - Dst: res_init
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:241,1
    - Dst: pcpp::internal::try_sockaddr2in_addr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:248,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:254,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:254,1
    - Dst: pcpp::internal::in_addr2int
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:254,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:258,1
    - Dst: pcpp::internal::in_addr2int
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:258,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:259,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 265
    functionName: pcpp::PcapLiveDeviceList::fetchDnsServers
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 1
    functionsReached:
    - what
    - pcpp::internal::in_addr2int
    - std::getline
    - PCPP_LOG_ERROR
    - std::array::size
    - std::array::data
    - std::remove
    - SCDynamicStoreCreate
    - reinterpret_cast<FIXED_INFO*>
    - CFSTR
    - res_init
    - IPv4Address
    - CFArrayGetValueAtIndex
    - std::vector::push_back
    - CFStringGetCString
    - GetNetworkParams
    - find
    - PCPP_LOG_DEBUG
    - std::string::erase
    - CFDictionaryGetValue
    - std::vector::resize
    - CFArrayGetCount
    - std::string::begin
    - pcpp::internal::try_sockaddr2in_addr
    - std::vector::end
    - std::vector::size
    - std::vector::begin
    - SCDynamicStoreCopyValue
    - std::vector::data
    - executeShellCommand
    - std::string::end
    - CFRelease
    linkageType: ''
    returnType: std::vector<IPv4Address>
    signature: std::vector<IPv4Address> PcapLiveDeviceList::fetchDnsServers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::getDeviceByIp
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getPcapLiveDeviceByIp(const IPAddress&
      ipAddr) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:274,1
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:276,1
    - Dst: getIPv4
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:276,1
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:280,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 282
    functionName: pcpp::PcapLiveDeviceList::getDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 2
    functionsReached:
    - getIPv4
    - pcpp::PcapLiveDeviceList::getDeviceByIp
    - getIPv6
    - getType
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getDeviceByIp(const IPAddress&
      ipAddr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::getDeviceByIp
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getPcapLiveDeviceByIp(const IPv4Address&
      ipAddr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:291,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:291,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:291,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:292,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: pcpp::PcapLiveDeviceList::getDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 3
    functionsReached:
    - std::find_if
    - end
    - getIPv4Address
    - begin
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getDeviceByIp(const IPv4Address&
      ipAddr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ip6Addr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::getDeviceByIp
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getPcapLiveDeviceByIp(const IPv6Address&
      ip6Addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:305,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:305,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:305,1
    - Dst: getIPv6Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:306,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ip6Addr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: pcpp::PcapLiveDeviceList::getDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 4
    functionsReached:
    - std::find_if
    - end
    - getIPv6Address
    - begin
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getDeviceByIp(const IPv6Address&
      ip6Addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::getDeviceByIp
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getPcapLiveDeviceByIp(const std::string&
      ipAddrAsString) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:322,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:326,1
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' ipAddrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 332
    functionName: pcpp::PcapLiveDeviceList::getDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 6
    functionsReached:
    - IPAddress
    - pcpp::PcapLiveDeviceList::getDeviceByIp
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getDeviceByIp(const std::string&
      ipAddrAsString) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: pcpp::PcapLiveDeviceList::getPcapLiveDeviceByName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::getDeviceByName
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getPcapLiveDeviceByName(const
      std::string& name) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:341,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:342,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:342,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:342,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:343,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:345,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 352
    functionName: pcpp::PcapLiveDeviceList::getDeviceByName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 1
    functionsReached:
    - begin
    - end
    - std::find_if
    - PCPP_LOG_DEBUG
    - getName
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getDeviceByName(const std::string&
      name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIpOrName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipOrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIpOrName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::getDeviceByIpOrName
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getPcapLiveDeviceByIpOrName(const
      std::string& ipOrName) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:363,1
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:364,1
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ipOrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 370
    functionName: pcpp::PcapLiveDeviceList::getDeviceByIpOrName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 1
    functionsReached:
    - IPAddress
    - pcpp::PcapLiveDeviceList::getDeviceByIp
    - pcpp::PcapLiveDeviceList::getDeviceByName
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getDeviceByIpOrName(const std::string&
      ipOrName) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PcapLiveDeviceList::PcapLiveDeviceList
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: pcpp::PcapLiveDeviceList::clone
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - PcapLiveDeviceList::PcapLiveDeviceList
    linkageType: ''
    returnType: PcapLiveDeviceList
    signature: PcapLiveDeviceList * PcapLiveDeviceList::clone()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:379,1
    - Dst: pcpp::PcapLiveDeviceList::fetchAllLocalDevices
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:381,1
    - Dst: pcpp::PcapLiveDeviceList::fetchDnsServers
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:382,1
    - Dst: syncPointerVectors
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: pcpp::PcapLiveDeviceList::reset
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::fetchAllLocalDevices
    - pcpp::PcapLiveDeviceList::fetchDnsServers
    - clear
    - syncPointerVectors
    linkageType: ''
    returnType: void
    signature: void PcapLiveDeviceList::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:32,1
    - Dst: pcpp::size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:32,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    - Dst: pcpp::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mainVector'
    - ' viewVector'
    argTypes:
    - PointerVector<PcapLiveDevice>
    - std::vector<PcapLiveDevice*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: pcpp::syncPointerVectors
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::size
    - pcpp::end
    - pcpp::begin
    - resize
    - std::copy
    linkageType: ''
    returnType: void
    signature: "void syncPointerVectors(PointerVector<PcapLiveDevice> const& mainVector,\n\t\t
      \                       std::vector<PcapLiveDevice*>& viewVector)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:32,1
    - Dst: pcpp::size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:32,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    - Dst: pcpp::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' mainVector'
    - ' viewVector'
    argTypes:
    - PointerVector<PcapLiveDevice>
    - std::vector<PcapLiveDevice*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: pcpp::syncPointerVectors
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::size
    - pcpp::end
    - pcpp::begin
    - resize
    - std::copy
    linkageType: ''
    returnType: void
    signature: "void syncPointerVectors(PointerVector<PcapLiveDevice> const& mainVector,\n\t\t
      \                       std::vector<PcapLiveDevice*>& viewVector)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDeviceList::fetchAllLocalDevices
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:38,1
    - Dst: pcpp::PcapLiveDeviceList::fetchDnsServers
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:38,1
    - Dst: syncPointerVectors
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: pcpp::PcapLiveDeviceList::PcapLiveDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::fetchAllLocalDevices
    - pcpp::PcapLiveDeviceList::fetchDnsServers
    - syncPointerVectors
    linkageType: ''
    returnType: void
    signature: void PcapLiveDeviceList::PcapLiveDeviceList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::getAllLocalPcapDevices
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:49,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:54,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:54,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:57,1
    - Dst: pcpp::PcapLiveDevice::getPcapLibVersionInfo
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:57,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:59,1
    - Dst: std::unique_ptr<PcapLiveDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:63,1
    - Dst: WinPcapLiveDevice::WinPcapLiveDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:63,1
    - Dst: std::unique_ptr<PcapLiveDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:65,1
    - Dst: PcapLiveDevice::PcapLiveDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:65,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:67,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 70
    functionName: pcpp::PcapLiveDeviceList::fetchAllLocalDevices
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 3
    functionsReached:
    - what
    - PcapLiveDevice::PcapLiveDevice
    - pcpp::PcapLiveDevice::getPcapLibVersionInfo
    - std::unique_ptr::get
    - WinPcapLiveDevice::WinPcapLiveDevice
    - std::unique_ptr<PcapLiveDevice>
    - PointerVector::pushBack
    - PCPP_LOG_ERROR
    - pcpp::internal::getAllLocalPcapDevices
    - PCPP_LOG_DEBUG
    - std::move
    linkageType: ''
    returnType: PointerVector<PcapLiveDevice>
    signature: PointerVector<PcapLiveDevice> PcapLiveDeviceList::fetchAllLocalDevices()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<FIXED_INFO*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:82,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:82,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:83,1
    - Dst: GetNetworkParams
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:85,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:90,1
    - Dst: reinterpret_cast<FIXED_INFO*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:91,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:91,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:92,1
    - Dst: GetNetworkParams
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:94,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:98,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:104,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:104,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:105,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:110,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:119,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:119,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:120,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:125,1
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:133,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:136,1
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:142,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:143,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:143,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:143,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:143,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:143,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:144,1
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:152,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:155,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:162,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:172,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:176,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:176,1
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:180,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:180,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:180,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:180,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:182,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:183,1
    - Dst: SCDynamicStoreCreate
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:188,1
    - Dst: CFSTR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:188,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:191,1
    - Dst: SCDynamicStoreCopyValue
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:195,1
    - Dst: CFSTR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:195,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:199,1
    - Dst: CFRelease
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:200,1
    - Dst: CFDictionaryGetValue
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:204,1
    - Dst: CFSTR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:204,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:208,1
    - Dst: CFRelease
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:209,1
    - Dst: CFRelease
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:210,1
    - Dst: CFArrayGetCount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:214,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:217,1
    - Dst: CFStringGetCString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:224,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:227,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:227,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:228,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:232,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:232,1
    - Dst: CFRelease
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:236,1
    - Dst: CFRelease
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:237,1
    - Dst: res_init
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:241,1
    - Dst: pcpp::internal::try_sockaddr2in_addr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:248,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:254,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:254,1
    - Dst: pcpp::internal::in_addr2int
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:254,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:258,1
    - Dst: pcpp::internal::in_addr2int
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:258,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:259,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 265
    functionName: pcpp::PcapLiveDeviceList::fetchDnsServers
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 3
    functionsReached:
    - what
    - pcpp::internal::in_addr2int
    - std::getline
    - PCPP_LOG_ERROR
    - std::array::size
    - std::array::data
    - std::remove
    - SCDynamicStoreCreate
    - reinterpret_cast<FIXED_INFO*>
    - CFSTR
    - res_init
    - IPv4Address
    - CFArrayGetValueAtIndex
    - std::vector::push_back
    - CFStringGetCString
    - GetNetworkParams
    - find
    - PCPP_LOG_DEBUG
    - std::string::erase
    - CFDictionaryGetValue
    - std::vector::resize
    - CFArrayGetCount
    - std::string::begin
    - pcpp::internal::try_sockaddr2in_addr
    - std::vector::end
    - std::vector::size
    - std::vector::begin
    - SCDynamicStoreCopyValue
    - std::vector::data
    - executeShellCommand
    - std::string::end
    - CFRelease
    linkageType: ''
    returnType: std::vector<IPv4Address>
    signature: std::vector<IPv4Address> PcapLiveDeviceList::fetchDnsServers()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::getDeviceByIp
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getPcapLiveDeviceByIp(const IPAddress&
      ipAddr) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:274,1
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:276,1
    - Dst: getIPv4
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:276,1
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:280,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 282
    functionName: pcpp::PcapLiveDeviceList::getDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 9
    functionsReached:
    - getIPv4
    - pcpp::PcapLiveDeviceList::getDeviceByIp
    - getIPv6
    - getType
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getDeviceByIp(const IPAddress&
      ipAddr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::getDeviceByIp
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getPcapLiveDeviceByIp(const IPv4Address&
      ipAddr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:291,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:291,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:291,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:292,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: pcpp::PcapLiveDeviceList::getDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 10
    functionsReached:
    - std::find_if
    - end
    - getIPv4Address
    - begin
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getDeviceByIp(const IPv4Address&
      ipAddr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ip6Addr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::getDeviceByIp
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getPcapLiveDeviceByIp(const IPv6Address&
      ip6Addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:305,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:305,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:305,1
    - Dst: getIPv6Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:306,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ip6Addr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: pcpp::PcapLiveDeviceList::getDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 11
    functionsReached:
    - std::find_if
    - end
    - getIPv6Address
    - begin
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getDeviceByIp(const IPv6Address&
      ip6Addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::getDeviceByIp
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getPcapLiveDeviceByIp(const std::string&
      ipAddrAsString) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:322,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:326,1
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' ipAddrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 332
    functionName: pcpp::PcapLiveDeviceList::getDeviceByIp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 13
    functionsReached:
    - IPAddress
    - pcpp::PcapLiveDeviceList::getDeviceByIp
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getDeviceByIp(const std::string&
      ipAddrAsString) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: pcpp::PcapLiveDeviceList::getPcapLiveDeviceByName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::getDeviceByName
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getPcapLiveDeviceByName(const
      std::string& name) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:341,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:342,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:342,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:342,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:343,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:345,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 352
    functionName: pcpp::PcapLiveDeviceList::getDeviceByName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 3
    functionsReached:
    - begin
    - end
    - std::find_if
    - PCPP_LOG_DEBUG
    - getName
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getDeviceByName(const std::string&
      name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIpOrName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipOrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIpOrName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::getDeviceByIpOrName
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getPcapLiveDeviceByIpOrName(const
      std::string& ipOrName) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:363,1
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByIp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:364,1
    - Dst: pcpp::PcapLiveDeviceList::getDeviceByName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ipOrName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 370
    functionName: pcpp::PcapLiveDeviceList::getDeviceByIpOrName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 2
    functionsReached:
    - IPAddress
    - pcpp::PcapLiveDeviceList::getDeviceByIp
    - pcpp::PcapLiveDeviceList::getDeviceByName
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDeviceList::getDeviceByIpOrName(const std::string&
      ipOrName) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PcapLiveDeviceList::PcapLiveDeviceList
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: pcpp::PcapLiveDeviceList::clone
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - PcapLiveDeviceList::PcapLiveDeviceList
    linkageType: ''
    returnType: PcapLiveDeviceList
    signature: PcapLiveDeviceList * PcapLiveDeviceList::clone()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:379,1
    - Dst: pcpp::PcapLiveDeviceList::fetchAllLocalDevices
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:381,1
    - Dst: pcpp::PcapLiveDeviceList::fetchDnsServers
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:382,1
    - Dst: syncPointerVectors
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: pcpp::PcapLiveDeviceList::reset
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDeviceList::fetchAllLocalDevices
    - pcpp::PcapLiveDeviceList::fetchDnsServers
    - clear
    - syncPointerVectors
    linkageType: ''
    returnType: void
    signature: void PcapLiveDeviceList::reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:30,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:33,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: pcpp::checkKniDriver
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - PCPP_LOG_ERROR
    - pcpp::executeShellCommand
    linkageType: ''
    returnType: bool
    signature: bool checkKniDriver()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:42,1
    - Dst: checkKniDriver
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:43,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:48,1
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:53,1
    - Dst: rte_kni_init
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:54,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:56,1
    - Dst: rte_kni_init
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: pcpp::KniDeviceList::KniDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - PCPP_LOG_ERROR
    - RTE_VERSION_NUM
    - checkKniDriver
    - rte_kni_init
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void KniDeviceList::KniDeviceList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:66,1
    - Dst: rte_kni_close
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: KniDeviceList::~KniDeviceList()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 0
    functionsReached:
    - clear
    - rte_kni_close
    linkageType: ''
    returnType: void
    signature: void KniDeviceList::~KniDeviceList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: '& KniDeviceList::getInstance()'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KniDeviceList
    signature: KniDeviceList & KniDeviceList::getInstance()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::KniDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:78,1
    - Dst: pcpp::KniDeviceList::getDeviceByName
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:80,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:80,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:83,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:84,1
    - Dst: pcpp::KniDeviceList::getDeviceByPort
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:89,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:92,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:93,1
    - Dst: KniDevice::KniDevice
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:97,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' config'
    - mempoolSize
    argTypes:
    - KniDevice::KniDeviceConfiguration
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 100
    functionName: pcpp::KniDeviceList::createDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 0
    functionsReached:
    - KniDevice::KniDevice
    - string
    - PCPP_LOG_ERROR
    - pushBack
    - pcpp::KniDeviceList::getDeviceByPort
    - pcpp::KniDeviceList::isInitialized
    - PCPP_LOG_DEBUG
    - pcpp::KniDeviceList::getDeviceByName
    linkageType: ''
    returnType: KniDevice
    signature: KniDevice * KniDeviceList::createDevice(const KniDevice::KniDeviceConfiguration&
      config, const size_t mempoolSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:104,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:104,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:104,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:104,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kniDevice
    argTypes:
    - KniDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: pcpp::KniDeviceList::destroyDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::remove
    - erase
    - begin
    linkageType: ''
    returnType: void
    signature: void KniDeviceList::destroyDevice(KniDevice* kniDevice)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::KniDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:112,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:115,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:115,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:115,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - portId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: pcpp::KniDeviceList::getDeviceByPort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 1
    functionsReached:
    - std::find_if
    - end
    - pcpp::KniDeviceList::isInitialized
    - begin
    linkageType: ''
    returnType: KniDevice
    signature: KniDevice * KniDeviceList::getDeviceByPort(const uint16_t portId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::KniDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:123,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:126,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:126,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:126,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: pcpp::KniDeviceList::getDeviceByName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 1
    functionsReached:
    - std::find_if
    - end
    - pcpp::KniDeviceList::isInitialized
    - begin
    linkageType: ''
    returnType: KniDevice
    signature: KniDevice * KniDeviceList::getDeviceByName(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: pcpp::KniDeviceList::callbackVersion
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 2
    functionsReached:
    - RTE_VERSION_NUM
    linkageType: ''
    returnType: KniDeviceList::KniCallbackVersion
    signature: KniDeviceList::KniCallbackVersion KniDeviceList::callbackVersion()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cbType
    argTypes:
    - KniCallbackType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: pcpp::KniDeviceList::isCallbackSupported
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 0
    functionsReached:
    - RTE_VERSION_NUM
    linkageType: ''
    returnType: bool
    signature: bool KniDeviceList::isCallbackSupported(const KniCallbackType cbType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:30,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:33,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: pcpp::checkKniDriver
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - PCPP_LOG_ERROR
    - pcpp::executeShellCommand
    linkageType: ''
    returnType: bool
    signature: bool checkKniDriver()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:42,1
    - Dst: checkKniDriver
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:43,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:48,1
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:53,1
    - Dst: rte_kni_init
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:54,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:56,1
    - Dst: rte_kni_init
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: pcpp::KniDeviceList::KniDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - PCPP_LOG_ERROR
    - RTE_VERSION_NUM
    - checkKniDriver
    - rte_kni_init
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void KniDeviceList::KniDeviceList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:66,1
    - Dst: rte_kni_close
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: KniDeviceList::~KniDeviceList()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 0
    functionsReached:
    - clear
    - rte_kni_close
    linkageType: ''
    returnType: void
    signature: void KniDeviceList::~KniDeviceList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: '& KniDeviceList::getInstance()'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KniDeviceList
    signature: KniDeviceList & KniDeviceList::getInstance()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::KniDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:78,1
    - Dst: pcpp::KniDeviceList::getDeviceByName
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:80,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:80,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:83,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:84,1
    - Dst: pcpp::KniDeviceList::getDeviceByPort
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:89,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:92,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:93,1
    - Dst: KniDevice::KniDevice
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:97,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' config'
    - mempoolSize
    argTypes:
    - KniDevice::KniDeviceConfiguration
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 100
    functionName: pcpp::KniDeviceList::createDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 0
    functionsReached:
    - KniDevice::KniDevice
    - string
    - PCPP_LOG_ERROR
    - pushBack
    - pcpp::KniDeviceList::getDeviceByPort
    - pcpp::KniDeviceList::isInitialized
    - PCPP_LOG_DEBUG
    - pcpp::KniDeviceList::getDeviceByName
    linkageType: ''
    returnType: KniDevice
    signature: KniDevice * KniDeviceList::createDevice(const KniDevice::KniDeviceConfiguration&
      config, const size_t mempoolSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:104,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:104,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:104,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:104,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kniDevice
    argTypes:
    - KniDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: pcpp::KniDeviceList::destroyDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 0
    functionsReached:
    - end
    - std::remove
    - erase
    - begin
    linkageType: ''
    returnType: void
    signature: void KniDeviceList::destroyDevice(KniDevice* kniDevice)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::KniDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:112,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:115,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:115,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:115,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - portId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: pcpp::KniDeviceList::getDeviceByPort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 2
    functionsReached:
    - std::find_if
    - end
    - pcpp::KniDeviceList::isInitialized
    - begin
    linkageType: ''
    returnType: KniDevice
    signature: KniDevice * KniDeviceList::getDeviceByPort(const uint16_t portId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::KniDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:123,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:126,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:126,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:126,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: pcpp::KniDeviceList::getDeviceByName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 2
    functionsReached:
    - std::find_if
    - end
    - pcpp::KniDeviceList::isInitialized
    - begin
    linkageType: ''
    returnType: KniDevice
    signature: KniDevice * KniDeviceList::getDeviceByName(const std::string& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: pcpp::KniDeviceList::callbackVersion
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 2
    functionsReached:
    - RTE_VERSION_NUM
    linkageType: ''
    returnType: KniDeviceList::KniCallbackVersion
    signature: KniDeviceList::KniCallbackVersion KniDeviceList::callbackVersion()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RTE_VERSION_NUM
      Src: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cbType
    argTypes:
    - KniCallbackType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: pcpp::KniDeviceList::isCallbackSupported
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
    functionUses: 0
    functionsReached:
    - RTE_VERSION_NUM
    linkageType: ''
    returnType: bool
    signature: bool KniDeviceList::isCallbackSupported(const KniCallbackType cbType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:23,1
    - Dst: std::strerror
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:26,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: pcpp::openLinuxNicInformationSocket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp
    functionUses: 0
    functionsReached:
    - socket
    - std::strerror
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: LinuxNicInformationSocket::LinuxSocket
    signature: LinuxNicInformationSocket::LinuxSocket openLinuxNicInformationSocket()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openLinuxNicInformationSocket
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: pcpp::LinuxNicInformationSocket::LinuxNicInformationSocket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp
    functionUses: 0
    functionsReached:
    - openLinuxNicInformationSocket
    linkageType: ''
    returnType: void
    signature: void LinuxNicInformationSocket::LinuxNicInformationSocket()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:40,1
    - Dst: close
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: LinuxNicInformationSocket::~LinuxNicInformationSocket()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp
    functionUses: 0
    functionsReached:
    - close
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void LinuxNicInformationSocket::~LinuxNicInformationSocket()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: openLinuxNicInformationSocket
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:52,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:55,1
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:60,1
    - Dst: ioctl
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:61,1
    - Dst: std::strerror
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:63,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - nicName
    - ioctlType
    - request
    argTypes:
    - char*
    - IoctlType
    - ifreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: pcpp::LinuxNicInformationSocket::makeRequest
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp
    functionUses: 0
    functionsReached:
    - std::strerror
    - ioctl
    - PCPP_LOG_ERROR
    - snprintf
    - openLinuxNicInformationSocket
    linkageType: ''
    returnType: bool
    signature: bool LinuxNicInformationSocket::makeRequest(const char* nicName, const
      IoctlType ioctlType, ifreq* request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:23,1
    - Dst: std::strerror
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:26,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: pcpp::openLinuxNicInformationSocket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp
    functionUses: 0
    functionsReached:
    - socket
    - std::strerror
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: LinuxNicInformationSocket::LinuxSocket
    signature: LinuxNicInformationSocket::LinuxSocket openLinuxNicInformationSocket()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openLinuxNicInformationSocket
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: pcpp::LinuxNicInformationSocket::LinuxNicInformationSocket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp
    functionUses: 0
    functionsReached:
    - openLinuxNicInformationSocket
    linkageType: ''
    returnType: void
    signature: void LinuxNicInformationSocket::LinuxNicInformationSocket()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:40,1
    - Dst: close
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: LinuxNicInformationSocket::~LinuxNicInformationSocket()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp
    functionUses: 0
    functionsReached:
    - close
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void LinuxNicInformationSocket::~LinuxNicInformationSocket()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: openLinuxNicInformationSocket
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:52,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:55,1
    - Dst: snprintf
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:60,1
    - Dst: ioctl
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:61,1
    - Dst: std::strerror
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:63,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - nicName
    - ioctlType
    - request
    argTypes:
    - char*
    - IoctlType
    - ifreq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: pcpp::LinuxNicInformationSocket::makeRequest
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp
    functionUses: 0
    functionsReached:
    - std::strerror
    - ioctl
    - PCPP_LOG_ERROR
    - snprintf
    - openLinuxNicInformationSocket
    linkageType: ''
    returnType: bool
    signature: bool LinuxNicInformationSocket::makeRequest(const char* nicName, const
      IoctlType ioctlType, ifreq* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pfring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: operator()(pfring* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pfring_close
    linkageType: ''
    returnType: void
    signature: void operator()(pfring* ptr) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pfring_version
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:36,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:38,1
    - Dst: std::snprintf
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:43,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:43,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:43,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:46,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ring
    argTypes:
    - pfring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: pcpp::readPfRingVersion
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    functionUses: 0
    functionsReached:
    - string
    - PCPP_LOG_ERROR
    - std::array::size
    - std::snprintf
    - std::array::data
    - pfring_version
    linkageType: ''
    returnType: std::string
    signature: std::string readPfRingVersion(pfring* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pfring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: operator()(pfring* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pfring_close
    linkageType: ''
    returnType: void
    signature: void operator()(pfring* ptr) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pfring_version
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:36,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:38,1
    - Dst: std::snprintf
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:43,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:43,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:43,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:46,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ring
    argTypes:
    - pfring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: pcpp::readPfRingVersion
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    functionUses: 0
    functionsReached:
    - string
    - PCPP_LOG_ERROR
    - std::array::size
    - std::snprintf
    - std::array::data
    - pfring_version
    linkageType: ''
    returnType: std::string
    signature: std::string readPfRingVersion(pfring* ring)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:60,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:64,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:64,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:70,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:75,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:77,1
    - Dst: pcpp::internal::getAllLocalPcapDevices
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:80,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:82,1
    - Dst: std::unique_ptr<pfring, PfRingCloseDeleter>
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:86,1
    - Dst: pfring_open
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:86,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:89,1
    - Dst: readPfRingVersion
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:91,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:91,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:92,1
    - Dst: std::unique_ptr<PfRingDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:96,1
    - Dst: PfRingDevice::PfRingDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:96,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:97,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:97,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:98,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:104,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:104,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:107,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:110,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:110,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:111,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:111,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:111,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 112
    functionName: pcpp::PfRingDeviceList::PfRingDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    functionUses: 0
    functionsReached:
    - what
    - end
    - std::unique_ptr<pfring, PfRingCloseDeleter>
    - empty
    - PCPP_LOG_ERROR
    - pushBack
    - size
    - PfRingDevice::PfRingDevice
    - auto::get
    - std::unique_ptr<PfRingDevice>
    - PCPP_LOG_DEBUG
    - std::copy
    - begin
    - resize
    - readPfRingVersion
    - pcpp::internal::getAllLocalPcapDevices
    - executeShellCommand
    - pfring_open
    - std::move
    linkageType: ''
    returnType: void
    signature: void PfRingDeviceList::PfRingDeviceList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDeviceList::getDeviceByName
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' devName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pcpp::PfRingDeviceList::getPfRingDeviceByName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDeviceList::getDeviceByName
    linkageType: ''
    returnType: PfRingDevice
    signature: PfRingDevice * PfRingDeviceList::getPfRingDeviceByName(const std::string&
      devName) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:121,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:122,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:122,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:122,1
    - Dst: getDeviceName
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:123,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:125,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' devName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: pcpp::PfRingDeviceList::getDeviceByName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    functionUses: 1
    functionsReached:
    - begin
    - end
    - std::find_if
    - PCPP_LOG_DEBUG
    - getDeviceName
    linkageType: ''
    returnType: PfRingDevice
    signature: PfRingDevice * PfRingDeviceList::getDeviceByName(const std::string&
      devName) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pfring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: operator()(pfring* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pfring_close
    linkageType: ''
    returnType: void
    signature: void operator()(pfring* ptr) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pfring_version
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:36,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:38,1
    - Dst: std::snprintf
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:43,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:43,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:43,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:46,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ring
    argTypes:
    - pfring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: pcpp::readPfRingVersion
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    functionUses: 0
    functionsReached:
    - string
    - PCPP_LOG_ERROR
    - std::array::size
    - std::snprintf
    - std::array::data
    - pfring_version
    linkageType: ''
    returnType: std::string
    signature: std::string readPfRingVersion(pfring* ring)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pfring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: operator()(pfring* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pfring_close
    linkageType: ''
    returnType: void
    signature: void operator()(pfring* ptr) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pfring_version
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:36,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:38,1
    - Dst: std::snprintf
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:43,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:43,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:43,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:46,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ring
    argTypes:
    - pfring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: pcpp::readPfRingVersion
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    functionUses: 0
    functionsReached:
    - string
    - PCPP_LOG_ERROR
    - std::array::size
    - std::snprintf
    - std::array::data
    - pfring_version
    linkageType: ''
    returnType: std::string
    signature: std::string readPfRingVersion(pfring* ring)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:60,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:64,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:64,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:70,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:75,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:77,1
    - Dst: pcpp::internal::getAllLocalPcapDevices
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:80,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:82,1
    - Dst: std::unique_ptr<pfring, PfRingCloseDeleter>
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:86,1
    - Dst: pfring_open
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:86,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:89,1
    - Dst: readPfRingVersion
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:91,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:91,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:92,1
    - Dst: std::unique_ptr<PfRingDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:96,1
    - Dst: PfRingDevice::PfRingDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:96,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:97,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:97,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:98,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:104,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:104,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:107,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:110,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:110,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:111,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:111,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:111,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 112
    functionName: pcpp::PfRingDeviceList::PfRingDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    functionUses: 0
    functionsReached:
    - what
    - end
    - std::unique_ptr<pfring, PfRingCloseDeleter>
    - empty
    - PCPP_LOG_ERROR
    - pushBack
    - size
    - PfRingDevice::PfRingDevice
    - auto::get
    - std::unique_ptr<PfRingDevice>
    - PCPP_LOG_DEBUG
    - std::copy
    - begin
    - resize
    - readPfRingVersion
    - pcpp::internal::getAllLocalPcapDevices
    - executeShellCommand
    - pfring_open
    - std::move
    linkageType: ''
    returnType: void
    signature: void PfRingDeviceList::PfRingDeviceList()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDeviceList::getDeviceByName
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' devName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: pcpp::PfRingDeviceList::getPfRingDeviceByName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDeviceList::getDeviceByName
    linkageType: ''
    returnType: PfRingDevice
    signature: PfRingDevice * PfRingDeviceList::getPfRingDeviceByName(const std::string&
      devName) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:121,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:122,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:122,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:122,1
    - Dst: getDeviceName
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:123,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:125,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' devName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: pcpp::PfRingDeviceList::getDeviceByName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    functionUses: 2
    functionsReached:
    - begin
    - end
    - std::find_if
    - PCPP_LOG_DEBUG
    - getDeviceName
    linkageType: ''
    returnType: PfRingDevice
    signature: PfRingDevice * PfRingDeviceList::getDeviceByName(const std::string&
      devName) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_freecode
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: BpfProgramDeleter::operator()(bpf_program* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - pcap_freecode
    linkageType: ''
    returnType: void
    signature: void BpfProgramDeleter::operator()(bpf_program* ptr) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_freecode
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: BpfProgramDeleter::operator()(bpf_program* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - pcap_freecode
    linkageType: ''
    returnType: void
    signature: void BpfProgramDeleter::operator()(bpf_program* ptr) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BpfFilterWrapper::setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:38,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BpfFilterWrapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: pcpp::BpfFilterWrapper::BpfFilterWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pcpp::BpfFilterWrapper::setFilter
    linkageType: ''
    returnType: void
    signature: void BpfFilterWrapper::BpfFilterWrapper(const BpfFilterWrapper& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:46,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BpfFilterWrapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: '& BpfFilterWrapper::operator=(const BpfFilterWrapper& other)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - setFilter
    linkageType: ''
    returnType: BpfFilterWrapper
    signature: BpfFilterWrapper & BpfFilterWrapper::operator=(const BpfFilterWrapper&
      other)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:55,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:58,1
    - Dst: pcpp::BpfFilterWrapper::compileFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:64,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:67,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' filter'
    - linkType
    argTypes:
    - std::string
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 77
    functionName: pcpp::BpfFilterWrapper::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 1
    functionsReached:
    - empty
    - PCPP_LOG_ERROR
    - pcpp::BpfFilterWrapper::compileFilter
    - clear
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool BpfFilterWrapper::setFilter(const std::string& filter, LinkLayerType
      linkType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:83,1
    - Dst: pcpp::BpfFilterWrapper::matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rawPacket
    argTypes:
    - RawPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: pcpp::BpfFilterWrapper::matchPacketWithFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BpfFilterWrapper::matches
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool BpfFilterWrapper::matchPacketWithFilter(const RawPacket* rawPacket)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BpfFilterWrapper::matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - packetData
    - packetDataLength
    - packetTimestamp
    - linkType
    argTypes:
    - uint8_t*
    - uint32_t
    - timespec
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: pcpp::BpfFilterWrapper::matchPacketWithFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BpfFilterWrapper::matches
    linkageType: ''
    returnType: bool
    signature: "bool BpfFilterWrapper::matchPacketWithFilter(const uint8_t* packetData,
      uint32_t packetDataLength,\n\t                                             timespec
      packetTimestamp, uint16_t linkType) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BpfFilterWrapper::matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:98,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:98,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:98,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:98,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: pcpp::BpfFilterWrapper::matches
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 3
    functionsReached:
    - getRawData
    - getLinkLayerType
    - getPacketTimeStamp
    - pcpp::BpfFilterWrapper::matches
    - getRawDataLen
    linkageType: ''
    returnType: bool
    signature: bool BpfFilterWrapper::matches(const RawPacket& rawPacket) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:105,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:110,1
    - Dst: pcpp::BpfFilterWrapper::compileFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:112,1
    - Dst: static_cast<LinkLayerType>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:112,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:115,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:118,1
    - Dst: static_cast<LinkLayerType>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:119,1
    - Dst: pcpp::internal::toTimeval
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:126,1
    - Dst: pcap_offline_filter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:127,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:127,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - packetData
    - packetDataLength
    - timestamp
    - linkType
    argTypes:
    - uint8_t*
    - uint32_t
    - timespec
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 132
    functionName: pcpp::BpfFilterWrapper::matches
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 3
    functionsReached:
    - pcpp::internal::toTimeval
    - pcap_offline_filter
    - empty
    - PCPP_LOG_ERROR
    - pcpp::BpfFilterWrapper::compileFilter
    - get
    - static_cast<uint16_t>
    - static_cast<LinkLayerType>
    - std::move
    linkageType: ''
    returnType: bool
    signature: "bool BpfFilterWrapper::matches(const uint8_t* packetData, uint32_t
      packetDataLength, timespec timestamp,\n\t                               uint16_t
      linkType) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:136,1
    - Dst: std::unique_ptr<pcap_t, internal::PcapCloseDeleter>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:140,1
    - Dst: pcap_open_dead
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:140,1
    - Dst: std::make_unique<bpf_program>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:146,1
    - Dst: pcap_compile
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:147,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:147,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:147,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:147,1
    - Dst: BpfProgramUPtr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:154,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:154,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:156,1
    - Dst: BpfProgramUPtr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' filter'
    - linkType
    argTypes:
    - std::string
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 134
    functionDepth: 9
    functionLinenumber: 134
    functionLinenumberEnd: 159
    functionName: pcpp::BpfFilterWrapper::compileFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 2
    functionsReached:
    - std::unique_ptr<pcap_t, internal::PcapCloseDeleter>
    - empty
    - auto::get
    - pcap_compile
    - BpfProgramUPtr
    - std::make_unique<bpf_program>
    - PCPP_LOG_ERROR
    - pcap_open_dead
    - auto::release
    - c_str
    linkageType: ''
    returnType: BpfFilterWrapper::BpfProgramUPtr
    signature: BpfFilterWrapper::BpfProgramUPtr BpfFilterWrapper::compileFilter(std::string
      const& filter, LinkLayerType linkType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:165,1
    - Dst: pcpp::GeneralFilter::matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rawPacket
    argTypes:
    - RawPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: pcpp::GeneralFilter::matchPacketWithFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - pcpp::GeneralFilter::matches
    linkageType: ''
    returnType: bool
    signature: bool GeneralFilter::matchPacketWithFilter(RawPacket* rawPacket) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GeneralFilter::cacheFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:174,1
    - Dst: pcpp::GeneralFilter::matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: pcpp::GeneralFilter::matches
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 2
    functionsReached:
    - pcpp::GeneralFilter::cacheFilter
    - pcpp::GeneralFilter::matches
    linkageType: ''
    returnType: bool
    signature: bool GeneralFilter::matches(RawPacket const& rawPacket) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseToString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:185,1
    - Dst: setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: pcpp::GeneralFilter::cacheFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 1
    functionsReached:
    - parseToString
    - setFilter
    linkageType: ''
    returnType: bool
    signature: bool GeneralFilter::cacheFilter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: pcpp::BPFStringFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BPFStringFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: pcpp::BPFStringFilter::verifyFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 4
    functionsReached:
    - cacheFilter
    linkageType: ''
    returnType: bool
    signature: bool BPFStringFilter::verifyFilter()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' directionAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: pcpp::IFilterWithDirection::parseDirection
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IFilterWithDirection::parseDirection(std::string& directionAsString)
      const
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 240
    functionName: pcpp::IFilterWithOperator::parseOperator
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string IFilterWithOperator::parseOperator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:245,1
    - Dst: isIPv6Network
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:246,1
    - Dst: parseDirection
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:248,1
    - Dst: reserve
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:250,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:250,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:250,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 256
    functionName: pcpp::IPFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - isIPv6Network
    - toString
    - reserve
    - parseDirection
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void IPFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseOperator
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:260,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: pcpp::IPv4IDFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - parseOperator
    linkageType: ''
    returnType: void
    signature: void IPv4IDFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseOperator
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:268,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: pcpp::IPv4TotalLengthFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - parseOperator
    linkageType: ''
    returnType: void
    signature: void IPv4TotalLengthFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - portAsInt
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: pcpp::PortFilter::portToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void PortFilter::portToString(uint16_t portAsInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PortFilter::portToString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - dir
    argTypes:
    - uint16_t
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: pcpp::PortFilter::PortFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PortFilter::portToString
    linkageType: ''
    returnType: void
    signature: void PortFilter::PortFilter(uint16_t port, Direction dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseDirection
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: pcpp::PortFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - parseDirection
    linkageType: ''
    returnType: void
    signature: void PortFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseDirection
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:296,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:299,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:301,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:303,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 304
    functionName: pcpp::PortRangeFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::ostringstream::str
    - parseDirection
    linkageType: ''
    returnType: void
    signature: void PortRangeFilter::parseToString(std::string& result) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDir
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:308,1
    - Dst: parseDirection
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:311,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:312,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: pcpp::MacAddressFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - getDir
    - parseDirection
    - toString
    linkageType: ''
    returnType: void
    signature: void MacAddressFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: pcpp::EtherTypeFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void EtherTypeFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' filters'
    argTypes:
    - std::vector<GeneralFilter*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: pcpp::CompositeFilter::CompositeFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositeFilter::CompositeFilter(const std::vector<GeneralFilter*>&
      filters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:330,1
    - Dst: cend
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:330,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:334,1
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeneralFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: pcpp::CompositeFilter::removeFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - cbegin
    - cend
    - erase
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void CompositeFilter::removeFilter(GeneralFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filters'
    argTypes:
    - std::vector<GeneralFilter*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: pcpp::CompositeFilter::setFilters
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void CompositeFilter::setFilters(const std::vector<GeneralFilter*>&
      filters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NotFilter::parseToString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: pcpp::NotFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NotFilter::parseToString
    linkageType: ''
    returnType: void
    signature: void NotFilter::parseToString(std::string& result) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:386,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:390,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 395
    functionName: pcpp::ProtoFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void ProtoFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: pcpp::ArpFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void ArpFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: pcpp::VlanFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void VlanFilter::parseToString(std::string& result) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:415,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:434,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:441,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:442,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 444
    functionName: pcpp::TcpFlagsFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - clear
    - std::ostringstream::str
    - static_cast<int>
    - size
    linkageType: ''
    returnType: void
    signature: void TcpFlagsFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseOperator
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:450,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 451
    functionName: pcpp::TcpWindowSizeFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - parseOperator
    linkageType: ''
    returnType: void
    signature: void TcpWindowSizeFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseOperator
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:457,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 458
    functionName: pcpp::UdpLengthFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - parseOperator
    linkageType: ''
    returnType: void
    signature: void UdpLengthFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_freecode
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: BpfProgramDeleter::operator()(bpf_program* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - pcap_freecode
    linkageType: ''
    returnType: void
    signature: void BpfProgramDeleter::operator()(bpf_program* ptr) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_freecode
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - bpf_program*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: BpfProgramDeleter::operator()(bpf_program* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - pcap_freecode
    linkageType: ''
    returnType: void
    signature: void BpfProgramDeleter::operator()(bpf_program* ptr) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BpfFilterWrapper::setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:38,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BpfFilterWrapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: pcpp::BpfFilterWrapper::BpfFilterWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - pcpp::BpfFilterWrapper::setFilter
    linkageType: ''
    returnType: void
    signature: void BpfFilterWrapper::BpfFilterWrapper(const BpfFilterWrapper& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:46,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BpfFilterWrapper
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: '& BpfFilterWrapper::operator=(const BpfFilterWrapper& other)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - setFilter
    linkageType: ''
    returnType: BpfFilterWrapper
    signature: BpfFilterWrapper & BpfFilterWrapper::operator=(const BpfFilterWrapper&
      other)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:55,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:58,1
    - Dst: pcpp::BpfFilterWrapper::compileFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:64,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:67,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' filter'
    - linkType
    argTypes:
    - std::string
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 53
    functionDepth: 10
    functionLinenumber: 53
    functionLinenumberEnd: 77
    functionName: pcpp::BpfFilterWrapper::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 2
    functionsReached:
    - empty
    - PCPP_LOG_ERROR
    - pcpp::BpfFilterWrapper::compileFilter
    - clear
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool BpfFilterWrapper::setFilter(const std::string& filter, LinkLayerType
      linkType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:83,1
    - Dst: pcpp::BpfFilterWrapper::matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rawPacket
    argTypes:
    - RawPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: pcpp::BpfFilterWrapper::matchPacketWithFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BpfFilterWrapper::matches
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool BpfFilterWrapper::matchPacketWithFilter(const RawPacket* rawPacket)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BpfFilterWrapper::matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - packetData
    - packetDataLength
    - packetTimestamp
    - linkType
    argTypes:
    - uint8_t*
    - uint32_t
    - timespec
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: pcpp::BpfFilterWrapper::matchPacketWithFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - pcpp::BpfFilterWrapper::matches
    linkageType: ''
    returnType: bool
    signature: "bool BpfFilterWrapper::matchPacketWithFilter(const uint8_t* packetData,
      uint32_t packetDataLength,\n\t                                             timespec
      packetTimestamp, uint16_t linkType) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::BpfFilterWrapper::matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:98,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:98,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:98,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:98,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: pcpp::BpfFilterWrapper::matches
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 6
    functionsReached:
    - getRawData
    - getLinkLayerType
    - getPacketTimeStamp
    - pcpp::BpfFilterWrapper::matches
    - getRawDataLen
    linkageType: ''
    returnType: bool
    signature: bool BpfFilterWrapper::matches(const RawPacket& rawPacket) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:105,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:110,1
    - Dst: pcpp::BpfFilterWrapper::compileFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:112,1
    - Dst: static_cast<LinkLayerType>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:112,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:115,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:118,1
    - Dst: static_cast<LinkLayerType>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:119,1
    - Dst: pcpp::internal::toTimeval
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:126,1
    - Dst: pcap_offline_filter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:127,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:127,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - packetData
    - packetDataLength
    - timestamp
    - linkType
    argTypes:
    - uint8_t*
    - uint32_t
    - timespec
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 102
    functionDepth: 10
    functionLinenumber: 102
    functionLinenumberEnd: 132
    functionName: pcpp::BpfFilterWrapper::matches
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 6
    functionsReached:
    - pcpp::internal::toTimeval
    - pcap_offline_filter
    - empty
    - PCPP_LOG_ERROR
    - pcpp::BpfFilterWrapper::compileFilter
    - get
    - static_cast<uint16_t>
    - static_cast<LinkLayerType>
    - std::move
    linkageType: ''
    returnType: bool
    signature: "bool BpfFilterWrapper::matches(const uint8_t* packetData, uint32_t
      packetDataLength, timespec timestamp,\n\t                               uint16_t
      linkType) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:136,1
    - Dst: std::unique_ptr<pcap_t, internal::PcapCloseDeleter>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:140,1
    - Dst: pcap_open_dead
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:140,1
    - Dst: std::make_unique<bpf_program>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:146,1
    - Dst: pcap_compile
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:147,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:147,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:147,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:147,1
    - Dst: BpfProgramUPtr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:154,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:154,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:156,1
    - Dst: BpfProgramUPtr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' filter'
    - linkType
    argTypes:
    - std::string
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 134
    functionDepth: 9
    functionLinenumber: 134
    functionLinenumberEnd: 159
    functionName: pcpp::BpfFilterWrapper::compileFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 4
    functionsReached:
    - std::unique_ptr<pcap_t, internal::PcapCloseDeleter>
    - empty
    - auto::get
    - pcap_compile
    - BpfProgramUPtr
    - std::make_unique<bpf_program>
    - PCPP_LOG_ERROR
    - pcap_open_dead
    - auto::release
    - c_str
    linkageType: ''
    returnType: BpfFilterWrapper::BpfProgramUPtr
    signature: BpfFilterWrapper::BpfProgramUPtr BpfFilterWrapper::compileFilter(std::string
      const& filter, LinkLayerType linkType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:165,1
    - Dst: pcpp::GeneralFilter::matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rawPacket
    argTypes:
    - RawPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: pcpp::GeneralFilter::matchPacketWithFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - pcpp::GeneralFilter::matches
    linkageType: ''
    returnType: bool
    signature: bool GeneralFilter::matchPacketWithFilter(RawPacket* rawPacket) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GeneralFilter::cacheFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:174,1
    - Dst: pcpp::GeneralFilter::matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: pcpp::GeneralFilter::matches
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 4
    functionsReached:
    - pcpp::GeneralFilter::cacheFilter
    - pcpp::GeneralFilter::matches
    linkageType: ''
    returnType: bool
    signature: bool GeneralFilter::matches(RawPacket const& rawPacket) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseToString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:185,1
    - Dst: setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: pcpp::GeneralFilter::cacheFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 2
    functionsReached:
    - parseToString
    - setFilter
    linkageType: ''
    returnType: bool
    signature: bool GeneralFilter::cacheFilter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: pcpp::BPFStringFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BPFStringFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: pcpp::BPFStringFilter::verifyFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 4
    functionsReached:
    - cacheFilter
    linkageType: ''
    returnType: bool
    signature: bool BPFStringFilter::verifyFilter()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' directionAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 219
    functionName: pcpp::IFilterWithDirection::parseDirection
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IFilterWithDirection::parseDirection(std::string& directionAsString)
      const
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 240
    functionName: pcpp::IFilterWithOperator::parseOperator
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string IFilterWithOperator::parseOperator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:245,1
    - Dst: isIPv6Network
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:246,1
    - Dst: parseDirection
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:248,1
    - Dst: reserve
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:250,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:250,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:250,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 256
    functionName: pcpp::IPFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - isIPv6Network
    - toString
    - reserve
    - parseDirection
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void IPFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseOperator
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:260,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: pcpp::IPv4IDFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - parseOperator
    linkageType: ''
    returnType: void
    signature: void IPv4IDFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseOperator
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:268,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: pcpp::IPv4TotalLengthFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - parseOperator
    linkageType: ''
    returnType: void
    signature: void IPv4TotalLengthFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - portAsInt
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: pcpp::PortFilter::portToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 1
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void PortFilter::portToString(uint16_t portAsInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PortFilter::portToString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - port
    - dir
    argTypes:
    - uint16_t
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: pcpp::PortFilter::PortFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PortFilter::portToString
    linkageType: ''
    returnType: void
    signature: void PortFilter::PortFilter(uint16_t port, Direction dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseDirection
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: pcpp::PortFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - parseDirection
    linkageType: ''
    returnType: void
    signature: void PortFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseDirection
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:296,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:299,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:301,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:303,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 304
    functionName: pcpp::PortRangeFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::ostringstream::str
    - parseDirection
    linkageType: ''
    returnType: void
    signature: void PortRangeFilter::parseToString(std::string& result) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDir
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:308,1
    - Dst: parseDirection
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:311,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:312,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: pcpp::MacAddressFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - getDir
    - parseDirection
    - toString
    linkageType: ''
    returnType: void
    signature: void MacAddressFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: pcpp::EtherTypeFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void EtherTypeFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' filters'
    argTypes:
    - std::vector<GeneralFilter*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: pcpp::CompositeFilter::CompositeFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositeFilter::CompositeFilter(const std::vector<GeneralFilter*>&
      filters)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:330,1
    - Dst: cend
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:330,1
    - Dst: erase
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:334,1
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeneralFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: pcpp::CompositeFilter::removeFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - cbegin
    - cend
    - erase
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void CompositeFilter::removeFilter(GeneralFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filters'
    argTypes:
    - std::vector<GeneralFilter*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: pcpp::CompositeFilter::setFilters
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void CompositeFilter::setFilters(const std::vector<GeneralFilter*>&
      filters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::NotFilter::parseToString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: pcpp::NotFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 2
    functionsReached:
    - pcpp::NotFilter::parseToString
    linkageType: ''
    returnType: void
    signature: void NotFilter::parseToString(std::string& result) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:386,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:390,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 395
    functionName: pcpp::ProtoFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void ProtoFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: pcpp::ArpFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void ArpFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: pcpp::VlanFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: void
    signature: void VlanFilter::parseToString(std::string& result) const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:415,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:434,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:441,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:442,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 444
    functionName: pcpp::TcpFlagsFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - clear
    - std::ostringstream::str
    - static_cast<int>
    - size
    linkageType: ''
    returnType: void
    signature: void TcpFlagsFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseOperator
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:450,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 451
    functionName: pcpp::TcpWindowSizeFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - parseOperator
    linkageType: ''
    returnType: void
    signature: void TcpWindowSizeFilter::parseToString(std::string& result) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseOperator
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:457,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 458
    functionName: pcpp::UdpLengthFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - parseOperator
    linkageType: ''
    returnType: void
    signature: void UdpLengthFilter::parseToString(std::string& result) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_pktmbuf_free
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: MBufRawPacket::~MBufRawPacket()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - rte_pktmbuf_free
    linkageType: ''
    returnType: void
    signature: void MBufRawPacket::~MBufRawPacket()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:42,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:48,1
    - Dst: rte_pktmbuf_alloc
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:52,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - mempool
    argTypes:
    - struct rte_mempool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: pcpp::MBufRawPacket::init
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - rte_pktmbuf_alloc
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::init(struct rte_mempool* mempool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MBufRawPacket::init
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - device
    argTypes:
    - DpdkDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: pcpp::MBufRawPacket::init
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 1
    functionsReached:
    - pcpp::MBufRawPacket::init
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::init(DpdkDevice* device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MBufRawPacket::init
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - KniDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: pcpp::MBufRawPacket::init
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 2
    functionsReached:
    - pcpp::MBufRawPacket::init
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::init(KniDevice* device)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MBufRawPacket::init
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:78,1
    - Dst: rte_pktmbuf_append
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:84,1
    - Dst: RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:84,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:86,1
    - Dst: RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:86,1
    - Dst: rte_pktmbuf_mtod
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:90,1
    - Dst: rte_pktmbuf_pkt_len
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:91,1
    - Dst: copyDataFrom
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - rawPacket
    - mempool
    argTypes:
    - RawPacket*
    - struct rte_mempool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 96
    functionName: pcpp::MBufRawPacket::initFromRawPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - copyDataFrom
    - RawPacket*::getRawDataLen
    - rte_pktmbuf_pkt_len
    - pcpp::MBufRawPacket::init
    - PCPP_LOG_ERROR
    - rte_pktmbuf_append
    - rte_pktmbuf_mtod
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::initFromRawPacket(const RawPacket* rawPacket, struct
      rte_mempool* mempool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MBufRawPacket::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rawPacket
    - device
    argTypes:
    - RawPacket*
    - DpdkDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pcpp::MBufRawPacket::initFromRawPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 1
    functionsReached:
    - pcpp::MBufRawPacket::initFromRawPacket
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::initFromRawPacket(const RawPacket* rawPacket, DpdkDevice*
      device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MBufRawPacket::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rawPacket
    - device
    argTypes:
    - RawPacket*
    - KniDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: pcpp::MBufRawPacket::initFromRawPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 2
    functionsReached:
    - pcpp::MBufRawPacket::initFromRawPacket
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::initFromRawPacket(const RawPacket* rawPacket, KniDevice*
      device)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rte_pktmbuf_alloc
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:120,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:123,1
    - Dst: rte_pktmbuf_append
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:128,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:130,1
    - Dst: pcpp::MBufRawPacket::setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:134,1
    - Dst: copyDataFrom
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MBufRawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 139
    functionName: pcpp::MBufRawPacket::MBufRawPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - copyDataFrom
    - pcpp::MBufRawPacket::setMBuf
    - PCPP_LOG_ERROR
    - rte_pktmbuf_append
    - rte_pktmbuf_alloc
    linkageType: ''
    returnType: void
    signature: void MBufRawPacket::MBufRawPacket(const MBufRawPacket& other)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:145,1
    - Dst: rte_pktmbuf_append
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:152,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:154,1
    - Dst: rte_pktmbuf_adj
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:160,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:162,1
    - Dst: copyDataFrom
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MBufRawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 172
    functionName: '& MBufRawPacket::operator=(const MBufRawPacket& other)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - copyDataFrom
    - rte_pktmbuf_append
    - PCPP_LOG_ERROR
    - rte_pktmbuf_adj
    linkageType: ''
    returnType: MBufRawPacket
    signature: MBufRawPacket & MBufRawPacket::operator=(const MBufRawPacket& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: pcpp::MBufRawPacket::clone
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - MBufRawPacket::MBufRawPacket
    linkageType: ''
    returnType: MBufRawPacket
    signature: MBufRawPacket * MBufRawPacket::clone() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:184,1
    - Dst: pcpp::MBufRawPacket::init
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:191,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:193,1
    - Dst: rte_pktmbuf_append
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:201,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:203,1
    - Dst: rte_pktmbuf_adj
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:209,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:211,1
    - Dst: rte_pktmbuf_mtod
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:216,1
    - Dst: rte_pktmbuf_pkt_len
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:217,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:218,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 6
    argNames:
    - pRawData
    - rawDataLen
    - takeOwnership
    - timestamp
    - layerType
    - frameLength
    argTypes:
    - uint8_t*
    - int
    - bool
    - timespec
    - LinkLayerType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 232
    functionName: pcpp::MBufRawPacket::doSetRawData
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - rte_pktmbuf_pkt_len
    - pcpp::MBufRawPacket::init
    - PCPP_LOG_ERROR
    - rte_pktmbuf_adj
    - memcpy
    - rte_pktmbuf_append
    - rte_pktmbuf_mtod
    linkageType: ''
    returnType: bool
    signature: "bool MBufRawPacket::doSetRawData(const uint8_t* pRawData, int rawDataLen,
      bool takeOwnership, timespec timestamp,\n\t                                 LinkLayerType
      layerType, int frameLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_pktmbuf_free
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:238,1
    - Dst: pcpp::RawPacket::clear
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: pcpp::MBufRawPacket::clear
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RawPacket::clear
    - rte_pktmbuf_free
    linkageType: ''
    returnType: void
    signature: void MBufRawPacket::clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:252,1
    - Dst: rte_pktmbuf_append
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:256,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:259,1
    - Dst: pcpp::RawPacket::appendData
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:263,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - dataToAppend
    - dataToAppendLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 266
    functionName: pcpp::MBufRawPacket::appendData
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - rte_pktmbuf_append
    - pcpp::RawPacket::appendData
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void MBufRawPacket::appendData(const uint8_t* dataToAppend, size_t
      dataToAppendLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:272,1
    - Dst: rte_pktmbuf_append
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:276,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:279,1
    - Dst: pcpp::RawPacket::insertData
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:283,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - atIndex
    - dataToInsert
    - dataToInsertLen
    argTypes:
    - int
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 286
    functionName: pcpp::MBufRawPacket::insertData
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RawPacket::insertData
    - rte_pktmbuf_append
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void MBufRawPacket::insertData(int atIndex, const uint8_t* dataToInsert,
      size_t dataToInsertLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:292,1
    - Dst: pcpp::RawPacket::removeData
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:296,1
    - Dst: rte_pktmbuf_trim
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:299,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:301,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - atIndex
    - numOfBytesToRemove
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 308
    functionName: pcpp::MBufRawPacket::removeData
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - rte_pktmbuf_trim
    - pcpp::RawPacket::removeData
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::removeData(int atIndex, size_t numOfBytesToRemove)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:314,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - newBufferLength
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 329
    functionName: pcpp::MBufRawPacket::reallocateData
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::reallocateData(size_t newBufferLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:335,1
    - Dst: rte_pktmbuf_pkt_len
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - mBuf
    - timestamp
    - mBufDataSize
    argTypes:
    - struct rte_mbuf*
    - timespec
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: pcpp::MBufRawPacket::setMBuf
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 1
    functionsReached:
    - rte_pktmbuf_pkt_len
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void MBufRawPacket::setMBuf(struct rte_mbuf* mBuf, timespec timestamp,
      uint16_t mBufDataSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_pktmbuf_free
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: MBufRawPacket::~MBufRawPacket()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - rte_pktmbuf_free
    linkageType: ''
    returnType: void
    signature: void MBufRawPacket::~MBufRawPacket()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:42,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:48,1
    - Dst: rte_pktmbuf_alloc
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:52,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - mempool
    argTypes:
    - struct rte_mempool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: pcpp::MBufRawPacket::init
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 4
    functionsReached:
    - rte_pktmbuf_alloc
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::init(struct rte_mempool* mempool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MBufRawPacket::init
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - device
    argTypes:
    - DpdkDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: pcpp::MBufRawPacket::init
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 5
    functionsReached:
    - pcpp::MBufRawPacket::init
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::init(DpdkDevice* device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MBufRawPacket::init
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - device
    argTypes:
    - KniDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: pcpp::MBufRawPacket::init
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 6
    functionsReached:
    - pcpp::MBufRawPacket::init
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::init(KniDevice* device)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MBufRawPacket::init
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:78,1
    - Dst: rte_pktmbuf_append
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:84,1
    - Dst: RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:84,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:86,1
    - Dst: RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:86,1
    - Dst: rte_pktmbuf_mtod
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:90,1
    - Dst: rte_pktmbuf_pkt_len
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:91,1
    - Dst: copyDataFrom
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - rawPacket
    - mempool
    argTypes:
    - RawPacket*
    - struct rte_mempool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 96
    functionName: pcpp::MBufRawPacket::initFromRawPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 2
    functionsReached:
    - copyDataFrom
    - RawPacket*::getRawDataLen
    - rte_pktmbuf_pkt_len
    - pcpp::MBufRawPacket::init
    - PCPP_LOG_ERROR
    - rte_pktmbuf_append
    - rte_pktmbuf_mtod
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::initFromRawPacket(const RawPacket* rawPacket, struct
      rte_mempool* mempool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MBufRawPacket::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rawPacket
    - device
    argTypes:
    - RawPacket*
    - DpdkDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: pcpp::MBufRawPacket::initFromRawPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 3
    functionsReached:
    - pcpp::MBufRawPacket::initFromRawPacket
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::initFromRawPacket(const RawPacket* rawPacket, DpdkDevice*
      device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MBufRawPacket::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rawPacket
    - device
    argTypes:
    - RawPacket*
    - KniDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: pcpp::MBufRawPacket::initFromRawPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 4
    functionsReached:
    - pcpp::MBufRawPacket::initFromRawPacket
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::initFromRawPacket(const RawPacket* rawPacket, KniDevice*
      device)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rte_pktmbuf_alloc
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:120,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:123,1
    - Dst: rte_pktmbuf_append
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:128,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:130,1
    - Dst: pcpp::MBufRawPacket::setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:134,1
    - Dst: copyDataFrom
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MBufRawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 139
    functionName: pcpp::MBufRawPacket::MBufRawPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - copyDataFrom
    - pcpp::MBufRawPacket::setMBuf
    - PCPP_LOG_ERROR
    - rte_pktmbuf_append
    - rte_pktmbuf_alloc
    linkageType: ''
    returnType: void
    signature: void MBufRawPacket::MBufRawPacket(const MBufRawPacket& other)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:145,1
    - Dst: rte_pktmbuf_append
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:152,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:154,1
    - Dst: rte_pktmbuf_adj
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:160,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:162,1
    - Dst: copyDataFrom
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MBufRawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 172
    functionName: '& MBufRawPacket::operator=(const MBufRawPacket& other)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - copyDataFrom
    - rte_pktmbuf_append
    - PCPP_LOG_ERROR
    - rte_pktmbuf_adj
    linkageType: ''
    returnType: MBufRawPacket
    signature: MBufRawPacket & MBufRawPacket::operator=(const MBufRawPacket& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: pcpp::MBufRawPacket::clone
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - MBufRawPacket::MBufRawPacket
    linkageType: ''
    returnType: MBufRawPacket
    signature: MBufRawPacket * MBufRawPacket::clone() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:184,1
    - Dst: pcpp::MBufRawPacket::init
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:191,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:193,1
    - Dst: rte_pktmbuf_append
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:201,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:203,1
    - Dst: rte_pktmbuf_adj
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:209,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:211,1
    - Dst: rte_pktmbuf_mtod
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:216,1
    - Dst: rte_pktmbuf_pkt_len
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:217,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:218,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 6
    argNames:
    - pRawData
    - rawDataLen
    - takeOwnership
    - timestamp
    - layerType
    - frameLength
    argTypes:
    - uint8_t*
    - int
    - bool
    - timespec
    - LinkLayerType
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 232
    functionName: pcpp::MBufRawPacket::doSetRawData
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - rte_pktmbuf_pkt_len
    - pcpp::MBufRawPacket::init
    - PCPP_LOG_ERROR
    - rte_pktmbuf_adj
    - memcpy
    - rte_pktmbuf_append
    - rte_pktmbuf_mtod
    linkageType: ''
    returnType: bool
    signature: "bool MBufRawPacket::doSetRawData(const uint8_t* pRawData, int rawDataLen,
      bool takeOwnership, timespec timestamp,\n\t                                 LinkLayerType
      layerType, int frameLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_pktmbuf_free
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:238,1
    - Dst: pcpp::RawPacket::clear
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: pcpp::MBufRawPacket::clear
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RawPacket::clear
    - rte_pktmbuf_free
    linkageType: ''
    returnType: void
    signature: void MBufRawPacket::clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:252,1
    - Dst: rte_pktmbuf_append
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:256,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:259,1
    - Dst: pcpp::RawPacket::appendData
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:263,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - dataToAppend
    - dataToAppendLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 266
    functionName: pcpp::MBufRawPacket::appendData
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - rte_pktmbuf_append
    - pcpp::RawPacket::appendData
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void MBufRawPacket::appendData(const uint8_t* dataToAppend, size_t
      dataToAppendLen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:272,1
    - Dst: rte_pktmbuf_append
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:276,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:279,1
    - Dst: pcpp::RawPacket::insertData
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:283,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - atIndex
    - dataToInsert
    - dataToInsertLen
    argTypes:
    - int
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 286
    functionName: pcpp::MBufRawPacket::insertData
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - pcpp::RawPacket::insertData
    - rte_pktmbuf_append
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void MBufRawPacket::insertData(int atIndex, const uint8_t* dataToInsert,
      size_t dataToInsertLen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:292,1
    - Dst: pcpp::RawPacket::removeData
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:296,1
    - Dst: rte_pktmbuf_trim
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:299,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:301,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - atIndex
    - numOfBytesToRemove
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 308
    functionName: pcpp::MBufRawPacket::removeData
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - rte_pktmbuf_trim
    - pcpp::RawPacket::removeData
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::removeData(int atIndex, size_t numOfBytesToRemove)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:314,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - newBufferLength
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 329
    functionName: pcpp::MBufRawPacket::reallocateData
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool MBufRawPacket::reallocateData(size_t newBufferLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:335,1
    - Dst: rte_pktmbuf_pkt_len
      Src: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - mBuf
    - timestamp
    - mBufDataSize
    argTypes:
    - struct rte_mbuf*
    - timespec
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 344
    functionName: pcpp::MBufRawPacket::setMBuf
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
    functionUses: 2
    functionsReached:
    - rte_pktmbuf_pkt_len
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void MBufRawPacket::setMBuf(struct rte_mbuf* mBuf, timespec timestamp,
      uint16_t mBufDataSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:27,1
    - Dst: pcap_createsrcstr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:30,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:30,1
    - Dst: pcpp::toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:30,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:31,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:31,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:33,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:34,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:34,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:34,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:37,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:37,1
    - Dst: pcap_findalldevs_ex
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:40,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:40,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:40,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:42,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:43,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:43,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:43,1
    - Dst: std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' ipAddress'
    - port
    argTypes:
    - IPAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: pcpp::getAllRemotePcapDevices
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcap_findalldevs_ex
    - pcap_createsrcstr
    - pcpp::toString
    - string
    - std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
    - std::runtime_error
    - std::array::data
    - std::array::end
    - PCPP_LOG_DEBUG
    - std::array::begin
    - to_string
    linkageType: ''
    returnType: std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
    signature: "std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter> getAllRemotePcapDevices(\n\t\t
      \   const IPAddress& ipAddress, uint16_t port, pcap_rmtauth* pRmAuth = nullptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:27,1
    - Dst: pcap_createsrcstr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:30,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:30,1
    - Dst: pcpp::toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:30,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:31,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:31,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:33,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:34,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:34,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:34,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:37,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:37,1
    - Dst: pcap_findalldevs_ex
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:40,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:40,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:40,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:42,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:43,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:43,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:43,1
    - Dst: std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' ipAddress'
    - port
    argTypes:
    - IPAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: pcpp::getAllRemotePcapDevices
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcap_findalldevs_ex
    - pcap_createsrcstr
    - pcpp::toString
    - string
    - std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
    - std::runtime_error
    - std::array::data
    - std::array::end
    - PCPP_LOG_DEBUG
    - std::array::begin
    - to_string
    linkageType: ''
    returnType: std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
    signature: "std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter> getAllRemotePcapDevices(\n\t\t
      \   const IPAddress& ipAddress, uint16_t port, pcap_rmtauth* pRmAuth = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:52,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ipAddress'
    - port
    - remoteAuth
    - deviceList
    argTypes:
    - IPAddress
    - uint16_t
    - std::shared_ptr<PcapRemoteAuthentication>
    - PointerVector<PcapRemoteDevice>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: pcpp::PcapRemoteDeviceList::PcapRemoteDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PcapRemoteDeviceList::PcapRemoteDeviceList(const IPAddress& ipAddress,
      uint16_t port,\n\t                                           std::shared_ptr<PcapRemoteAuthentication>
      remoteAuth,\n\t                                           PointerVector<PcapRemoteDevice>
      deviceList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapRemoteDeviceList::createRemoteDeviceList
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:58,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ipAddress'
    - port
    argTypes:
    - IPAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: pcpp::PcapRemoteDeviceList::getRemoteDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - auto::release
    - pcpp::PcapRemoteDeviceList::createRemoteDeviceList
    linkageType: ''
    returnType: PcapRemoteDeviceList
    signature: PcapRemoteDeviceList * PcapRemoteDeviceList::getRemoteDeviceList(const
      IPAddress& ipAddress, uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapRemoteDeviceList::createRemoteDeviceList
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ipAddress'
    - port
    argTypes:
    - IPAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: pcpp::PcapRemoteDeviceList::createRemoteDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 2
    functionsReached:
    - pcpp::PcapRemoteDeviceList::createRemoteDeviceList
    linkageType: ''
    returnType: std::unique_ptr<PcapRemoteDeviceList>
    signature: "std::unique_ptr<PcapRemoteDeviceList> PcapRemoteDeviceList::createRemoteDeviceList(const
      IPAddress& ipAddress,\n\t                                                                                   uint16_t
      port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapRemoteDeviceList::createRemoteDeviceList
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:71,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ipAddress'
    - port
    - remoteAuth
    argTypes:
    - IPAddress
    - uint16_t
    - PcapRemoteAuthentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: pcpp::PcapRemoteDeviceList::getRemoteDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - auto::release
    - pcpp::PcapRemoteDeviceList::createRemoteDeviceList
    linkageType: ''
    returnType: PcapRemoteDeviceList
    signature: "PcapRemoteDeviceList * PcapRemoteDeviceList::getRemoteDeviceList(const
      IPAddress& ipAddress, uint16_t port,\n\t                                                                PcapRemoteAuthentication*
      remoteAuth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:83,1
    - Dst: std::make_shared<PcapRemoteAuthentication>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:85,1
    - Dst: std::shared_ptr::getPcapRmAuth
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:86,1
    - Dst: getAllRemotePcapDevices
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:93,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:98,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:98,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:105,1
    - Dst: std::unique_ptr<PcapRemoteDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:108,1
    - Dst: PcapRemoteDevice::PcapRemoteDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:109,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:110,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:110,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:116,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:116,1
    - Dst: std::unique_ptr<PcapRemoteDeviceList>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:120,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:121,1
    - Dst: PcapRemoteDeviceList::PcapRemoteDeviceList
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - ' ipAddress'
    - port
    - remoteAuth
    argTypes:
    - IPAddress
    - uint16_t
    - PcapRemoteAuthentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 122
    functionName: pcpp::PcapRemoteDeviceList::createRemoteDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 3
    functionsReached:
    - PcapRemoteDevice::PcapRemoteDevice
    - what
    - PcapRemoteDeviceList::PcapRemoteDeviceList
    - std::unique_ptr::get
    - PointerVector::pushBack
    - std::make_shared<PcapRemoteAuthentication>
    - PCPP_LOG_ERROR
    - std::unique_ptr<PcapRemoteDevice>
    - std::unique_ptr<PcapRemoteDeviceList>
    - PCPP_LOG_DEBUG
    - std::shared_ptr::getPcapRmAuth
    - std::move
    - getAllRemotePcapDevices
    linkageType: ''
    returnType: std::unique_ptr<PcapRemoteDeviceList>
    signature: "std::unique_ptr<PcapRemoteDeviceList> PcapRemoteDeviceList::createRemoteDeviceList(\n\t
      \   const IPAddress& ipAddress, uint16_t port, PcapRemoteAuthentication const*
      remoteAuth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapRemoteDeviceList::getDeviceByIP
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapRemoteDeviceList::getDeviceByIP
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getRemoteDeviceByIP(const
      std::string& ipAddrAsString) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:135,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:139,1
    - Dst: pcpp::PcapRemoteDeviceList::getDeviceByIP
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' ipAddrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: pcpp::PcapRemoteDeviceList::getDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 2
    functionsReached:
    - IPAddress
    - pcpp::PcapRemoteDeviceList::getDeviceByIP
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getDeviceByIP(const std::string&
      ipAddrAsString) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapRemoteDeviceList::getDeviceByIP
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapRemoteDeviceList::getDeviceByIP
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getRemoteDeviceByIP(const
      IPAddress& ipAddr) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:154,1
    - Dst: pcpp::PcapRemoteDeviceList::getDeviceByIP
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:156,1
    - Dst: getIPv4
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:156,1
    - Dst: pcpp::PcapRemoteDeviceList::getDeviceByIP
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:160,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: pcpp::PcapRemoteDeviceList::getDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 4
    functionsReached:
    - getIPv4
    - pcpp::PcapRemoteDeviceList::getDeviceByIP
    - getIPv6
    - getType
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getDeviceByIP(const IPAddress&
      ipAddr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapRemoteDeviceList::getDeviceByIP
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ip4Addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapRemoteDeviceList::getDeviceByIP
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getRemoteDeviceByIP(const
      IPv4Address& ip4Addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:171,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:171,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:171,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:172,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ip4Addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: pcpp::PcapRemoteDeviceList::getDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 5
    functionsReached:
    - std::find_if
    - end
    - getIPv4Address
    - begin
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getDeviceByIP(const IPv4Address&
      ip4Addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapRemoteDeviceList::getDeviceByIP
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ip6Addr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapRemoteDeviceList::getDeviceByIP
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getRemoteDeviceByIP(const
      IPv6Address& ip6Addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:185,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:185,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:185,1
    - Dst: getIPv6Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:186,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ip6Addr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: pcpp::PcapRemoteDeviceList::getDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 6
    functionsReached:
    - std::find_if
    - end
    - getIPv6Address
    - begin
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getDeviceByIP(const IPv6Address&
      ip6Addr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:27,1
    - Dst: pcap_createsrcstr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:30,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:30,1
    - Dst: pcpp::toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:30,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:31,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:31,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:33,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:34,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:34,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:34,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:37,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:37,1
    - Dst: pcap_findalldevs_ex
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:40,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:40,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:40,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:42,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:43,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:43,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:43,1
    - Dst: std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' ipAddress'
    - port
    argTypes:
    - IPAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: pcpp::getAllRemotePcapDevices
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcap_findalldevs_ex
    - pcap_createsrcstr
    - pcpp::toString
    - string
    - std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
    - std::runtime_error
    - std::array::data
    - std::array::end
    - PCPP_LOG_DEBUG
    - std::array::begin
    - to_string
    linkageType: ''
    returnType: std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
    signature: "std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter> getAllRemotePcapDevices(\n\t\t
      \   const IPAddress& ipAddress, uint16_t port, pcap_rmtauth* pRmAuth = nullptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:27,1
    - Dst: pcap_createsrcstr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:30,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:30,1
    - Dst: pcpp::toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:30,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:31,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:31,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:33,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:34,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:34,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:34,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:37,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:37,1
    - Dst: pcap_findalldevs_ex
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:40,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:40,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:40,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:42,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:43,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:43,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:43,1
    - Dst: std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' ipAddress'
    - port
    argTypes:
    - IPAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 46
    functionName: pcpp::getAllRemotePcapDevices
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcap_findalldevs_ex
    - pcap_createsrcstr
    - pcpp::toString
    - string
    - std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
    - std::runtime_error
    - std::array::data
    - std::array::end
    - PCPP_LOG_DEBUG
    - std::array::begin
    - to_string
    linkageType: ''
    returnType: std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
    signature: "std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter> getAllRemotePcapDevices(\n\t\t
      \   const IPAddress& ipAddress, uint16_t port, pcap_rmtauth* pRmAuth = nullptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:52,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' ipAddress'
    - port
    - remoteAuth
    - deviceList
    argTypes:
    - IPAddress
    - uint16_t
    - std::shared_ptr<PcapRemoteAuthentication>
    - PointerVector<PcapRemoteDevice>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: pcpp::PcapRemoteDeviceList::PcapRemoteDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PcapRemoteDeviceList::PcapRemoteDeviceList(const IPAddress& ipAddress,
      uint16_t port,\n\t                                           std::shared_ptr<PcapRemoteAuthentication>
      remoteAuth,\n\t                                           PointerVector<PcapRemoteDevice>
      deviceList)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapRemoteDeviceList::createRemoteDeviceList
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:58,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ipAddress'
    - port
    argTypes:
    - IPAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: pcpp::PcapRemoteDeviceList::getRemoteDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - auto::release
    - pcpp::PcapRemoteDeviceList::createRemoteDeviceList
    linkageType: ''
    returnType: PcapRemoteDeviceList
    signature: PcapRemoteDeviceList * PcapRemoteDeviceList::getRemoteDeviceList(const
      IPAddress& ipAddress, uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapRemoteDeviceList::createRemoteDeviceList
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ipAddress'
    - port
    argTypes:
    - IPAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: pcpp::PcapRemoteDeviceList::createRemoteDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 5
    functionsReached:
    - pcpp::PcapRemoteDeviceList::createRemoteDeviceList
    linkageType: ''
    returnType: std::unique_ptr<PcapRemoteDeviceList>
    signature: "std::unique_ptr<PcapRemoteDeviceList> PcapRemoteDeviceList::createRemoteDeviceList(const
      IPAddress& ipAddress,\n\t                                                                                   uint16_t
      port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapRemoteDeviceList::createRemoteDeviceList
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:71,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' ipAddress'
    - port
    - remoteAuth
    argTypes:
    - IPAddress
    - uint16_t
    - PcapRemoteAuthentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: pcpp::PcapRemoteDeviceList::getRemoteDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - auto::release
    - pcpp::PcapRemoteDeviceList::createRemoteDeviceList
    linkageType: ''
    returnType: PcapRemoteDeviceList
    signature: "PcapRemoteDeviceList * PcapRemoteDeviceList::getRemoteDeviceList(const
      IPAddress& ipAddress, uint16_t port,\n\t                                                                PcapRemoteAuthentication*
      remoteAuth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:83,1
    - Dst: std::make_shared<PcapRemoteAuthentication>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:85,1
    - Dst: std::shared_ptr::getPcapRmAuth
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:86,1
    - Dst: getAllRemotePcapDevices
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:93,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:98,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:98,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:105,1
    - Dst: std::unique_ptr<PcapRemoteDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:108,1
    - Dst: PcapRemoteDevice::PcapRemoteDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:109,1
    - Dst: PointerVector::pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:110,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:110,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:116,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:116,1
    - Dst: std::unique_ptr<PcapRemoteDeviceList>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:120,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:121,1
    - Dst: PcapRemoteDeviceList::PcapRemoteDeviceList
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - ' ipAddress'
    - port
    - remoteAuth
    argTypes:
    - IPAddress
    - uint16_t
    - PcapRemoteAuthentication*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 122
    functionName: pcpp::PcapRemoteDeviceList::createRemoteDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 6
    functionsReached:
    - PcapRemoteDevice::PcapRemoteDevice
    - what
    - PcapRemoteDeviceList::PcapRemoteDeviceList
    - std::unique_ptr::get
    - PointerVector::pushBack
    - std::make_shared<PcapRemoteAuthentication>
    - PCPP_LOG_ERROR
    - std::unique_ptr<PcapRemoteDevice>
    - std::unique_ptr<PcapRemoteDeviceList>
    - PCPP_LOG_DEBUG
    - std::shared_ptr::getPcapRmAuth
    - std::move
    - getAllRemotePcapDevices
    linkageType: ''
    returnType: std::unique_ptr<PcapRemoteDeviceList>
    signature: "std::unique_ptr<PcapRemoteDeviceList> PcapRemoteDeviceList::createRemoteDeviceList(\n\t
      \   const IPAddress& ipAddress, uint16_t port, PcapRemoteAuthentication const*
      remoteAuth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapRemoteDeviceList::getDeviceByIP
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapRemoteDeviceList::getDeviceByIP
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getRemoteDeviceByIP(const
      std::string& ipAddrAsString) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:135,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:139,1
    - Dst: pcpp::PcapRemoteDeviceList::getDeviceByIP
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' ipAddrAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: pcpp::PcapRemoteDeviceList::getDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 8
    functionsReached:
    - IPAddress
    - pcpp::PcapRemoteDeviceList::getDeviceByIP
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getDeviceByIP(const std::string&
      ipAddrAsString) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapRemoteDeviceList::getDeviceByIP
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapRemoteDeviceList::getDeviceByIP
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getRemoteDeviceByIP(const
      IPAddress& ipAddr) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:154,1
    - Dst: pcpp::PcapRemoteDeviceList::getDeviceByIP
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:156,1
    - Dst: getIPv4
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:156,1
    - Dst: pcpp::PcapRemoteDeviceList::getDeviceByIP
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:160,1
    - Dst: getIPv6
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' ipAddr'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: pcpp::PcapRemoteDeviceList::getDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 10
    functionsReached:
    - getIPv4
    - pcpp::PcapRemoteDeviceList::getDeviceByIP
    - getIPv6
    - getType
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getDeviceByIP(const IPAddress&
      ipAddr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapRemoteDeviceList::getDeviceByIP
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ip4Addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapRemoteDeviceList::getDeviceByIP
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getRemoteDeviceByIP(const
      IPv4Address& ip4Addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:171,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:171,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:171,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:172,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ip4Addr'
    argTypes:
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: pcpp::PcapRemoteDeviceList::getDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 11
    functionsReached:
    - std::find_if
    - end
    - getIPv4Address
    - begin
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getDeviceByIP(const IPv4Address&
      ip4Addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapRemoteDeviceList::getDeviceByIP
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ip6Addr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapRemoteDeviceList::getDeviceByIP
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getRemoteDeviceByIP(const
      IPv6Address& ip6Addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:185,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:185,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:185,1
    - Dst: getIPv6Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:186,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' ip6Addr'
    argTypes:
    - IPv6Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: pcpp::PcapRemoteDeviceList::getDeviceByIP
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
    functionUses: 12
    functionsReached:
    - std::find_if
    - end
    - getIPv6Address
    - begin
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDeviceList::getDeviceByIP(const IPv6Address&
      ip6Addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pcapDescriptor
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle::PcapHandle(pcap_t* pcapDescriptor) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle::PcapHandle(PcapHandle&& other) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: '& PcapHandle::operator=(PcapHandle&& other) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: PcapHandle
    signature: PcapHandle & PcapHandle::operator=(PcapHandle&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: '& PcapHandle::operator=(std::nullptr_t) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: PcapHandle
    signature: PcapHandle & PcapHandle::operator=(std::nullptr_t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: PcapHandle::~PcapHandle()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void PcapHandle::~PcapHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: pcpp::internal::PcapHandle::release
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcap_t
    signature: pcap_t * PcapHandle::release() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pcapDescriptor
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: pcpp::internal::PcapHandle::reset
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcap_close
    linkageType: ''
    returnType: void
    signature: void PcapHandle::reset(pcap_t* pcapDescriptor) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::isValid
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:128,1
    - Dst: pcap_geterr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: pcpp::internal::PcapHandle::getLastError
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::PcapHandle::isValid
    - pcap_geterr
    linkageType: ''
    returnType: char
    signature: char * PcapHandle::getLastError() const noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::isValid
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:139,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:141,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:146,1
    - Dst: pcap_compile
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:147,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:147,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:151,1
    - Dst: pcpp::internal::PcapHandle::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:151,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:155,1
    - Dst: pcap_setfilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:156,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:161,1
    - Dst: pcpp::internal::PcapHandle::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:161,1
    - Dst: pcap_freecode
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:162,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:166,1
    - Dst: pcap_freecode
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 137
    functionDepth: 9
    functionLinenumber: 137
    functionLinenumberEnd: 169
    functionName: pcpp::internal::PcapHandle::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcap_freecode
    - pcpp::internal::PcapHandle::isValid
    - pcap_compile
    - PCPP_LOG_ERROR
    - pcpp::internal::PcapHandle::getLastError
    - PCPP_LOG_DEBUG
    - pcap_setfilter
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool PcapHandle::setFilter(std::string const& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 10
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: pcpp::internal::PcapHandle::clearFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::PcapHandle::setFilter
    linkageType: ''
    returnType: bool
    signature: bool PcapHandle::clearFilter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::isValid
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:178,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:180,1
    - Dst: pcap_stats
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:185,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:187,1
    - Dst: pcpp::internal::PcapHandle::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PcapStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: pcpp::internal::PcapHandle::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::PcapHandle::isValid
    - pcap_stats
    - PCPP_LOG_ERROR
    - pcpp::internal::PcapHandle::getLastError
    linkageType: ''
    returnType: bool
    signature: bool PcapHandle::getStatistics(PcapStats& stats) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pcapDescriptor
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle::PcapHandle(pcap_t* pcapDescriptor) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle::PcapHandle(PcapHandle&& other) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: '& PcapHandle::operator=(PcapHandle&& other) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: PcapHandle
    signature: PcapHandle & PcapHandle::operator=(PcapHandle&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: '& PcapHandle::operator=(std::nullptr_t) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: PcapHandle
    signature: PcapHandle & PcapHandle::operator=(std::nullptr_t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: PcapHandle::~PcapHandle()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void PcapHandle::~PcapHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: pcpp::internal::PcapHandle::release
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcap_t
    signature: pcap_t * PcapHandle::release() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pcapDescriptor
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: pcpp::internal::PcapHandle::reset
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcap_close
    linkageType: ''
    returnType: void
    signature: void PcapHandle::reset(pcap_t* pcapDescriptor) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::isValid
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:128,1
    - Dst: pcap_geterr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: pcpp::internal::PcapHandle::getLastError
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::internal::PcapHandle::isValid
    - pcap_geterr
    linkageType: ''
    returnType: char
    signature: char * PcapHandle::getLastError() const noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::isValid
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:139,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:141,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:146,1
    - Dst: pcap_compile
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:147,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:147,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:151,1
    - Dst: pcpp::internal::PcapHandle::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:151,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:155,1
    - Dst: pcap_setfilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:156,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:161,1
    - Dst: pcpp::internal::PcapHandle::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:161,1
    - Dst: pcap_freecode
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:162,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:166,1
    - Dst: pcap_freecode
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 137
    functionDepth: 9
    functionLinenumber: 137
    functionLinenumberEnd: 169
    functionName: pcpp::internal::PcapHandle::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached:
    - pcap_freecode
    - pcpp::internal::PcapHandle::isValid
    - pcap_compile
    - PCPP_LOG_ERROR
    - pcpp::internal::PcapHandle::getLastError
    - PCPP_LOG_DEBUG
    - pcap_setfilter
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool PcapHandle::setFilter(std::string const& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 10
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: pcpp::internal::PcapHandle::clearFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::PcapHandle::setFilter
    linkageType: ''
    returnType: bool
    signature: bool PcapHandle::clearFilter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::isValid
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:178,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:180,1
    - Dst: pcap_stats
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:185,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:187,1
    - Dst: pcpp::internal::PcapHandle::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PcapStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: pcpp::internal::PcapHandle::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::PcapHandle::isValid
    - pcap_stats
    - PCPP_LOG_ERROR
    - pcpp::internal::PcapHandle::getLastError
    linkageType: ''
    returnType: bool
    signature: bool PcapHandle::getStatistics(PcapStats& stats) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - direction
    argTypes:
    - PcapLiveDevice::PcapDirection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: pcpp::directionTypeMap
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    linkageType: ''
    returnType: pcap_direction_t
    signature: pcap_direction_t directionTypeMap(PcapLiveDevice::PcapDirection direction)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - timestampProvider
    argTypes:
    - PcapLiveDevice::TimestampProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 235
    functionName: pcpp::getPcapTimestampProvider
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - std::logic_error
    linkageType: ''
    returnType: int
    signature: int getPcapTimestampProvider(const PcapLiveDevice::TimestampProvider
      timestampProvider)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - timestampPrecision
    argTypes:
    - PcapLiveDevice::TimestampPrecision
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 251
    functionName: pcpp::getPcapPrecision
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - std::logic_error
    linkageType: ''
    returnType: int
    signature: int getPcapPrecision(const PcapLiveDevice::TimestampPrecision timestampPrecision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getPcapTimestampProvider
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:257,1
    - Dst: pcap_list_tstamp_types
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:260,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:260,1
    - Dst: pcap_free_tstamp_types
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:266,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:274,1
    - Dst: pcpp::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:275,1
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:279,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:279,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:279,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:280,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' pcap'
    - timestampProvider
    argTypes:
    - internal::PcapHandle
    - PcapLiveDevice::TimestampProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 284
    functionName: pcpp::isTimestampProviderSupportedByDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::getPcapTimestampProvider
    - pcap_free_tstamp_types
    - std::unique_ptr::get
    - PCPP_LOG_ERROR
    - find
    - get
    - std::logic_error
    - pcap_list_tstamp_types
    - pcpp::getLastError
    linkageType: ''
    returnType: bool
    signature: "bool isTimestampProviderSupportedByDevice(const internal::PcapHandle&
      pcap,\n\t                                                 const PcapLiveDevice::TimestampProvider
      timestampProvider)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_free_tstamp_types
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: operator()(int* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcap_free_tstamp_types
    linkageType: ''
    returnType: void
    signature: void operator()(int* ptr) const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::isTimestampProviderSupportedByDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:290,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:292,1
    - Dst: pcap_set_tstamp_type
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:295,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:295,1
    - Dst: pcpp::getPcapTimestampProvider
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:295,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:298,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:298,1
    - Dst: pcpp::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:298,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' pcap'
    - timestampProvider
    argTypes:
    - internal::PcapHandle
    - PcapLiveDevice::TimestampProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 304
    functionName: pcpp::setTimestampProvider
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::getPcapTimestampProvider
    - string
    - std::runtime_error
    - get
    - pcpp::isTimestampProviderSupportedByDevice
    - pcap_set_tstamp_type
    - pcpp::getLastError
    linkageType: ''
    returnType: void
    signature: "void setTimestampProvider(internal::PcapHandle& pcap,\n\t                                 const
      PcapLiveDevice::TimestampProvider timestampProvider)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_tstamp_precision
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:310,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:310,1
    - Dst: pcpp::getPcapPrecision
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:319,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:324,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:325,1
    - Dst: pcpp::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:325,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' pcap'
    - timestampPrecision
    argTypes:
    - internal::PcapHandle
    - PcapLiveDevice::TimestampPrecision
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 331
    functionName: pcpp::setTimestampPrecision
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - string
    - pcpp::getPcapPrecision
    - std::runtime_error
    - get
    - pcap_set_tstamp_precision
    - pcpp::getLastError
    linkageType: ''
    returnType: void
    signature: "void setTimestampPrecision(const internal::PcapHandle& pcap,\n\t                                  const
      PcapLiveDevice::TimestampPrecision timestampPrecision)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::try_sockaddr2in_addr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:340,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:343,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:343,1
    - Dst: pcpp::internal::try_sockaddr2in6_addr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:346,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:349,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pInterface
    argTypes:
    - pcap_if_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: PcapLiveDevice::DeviceInterfaceDetails::DeviceInterfaceDetails(pcap_if_t*
      pInterface)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - IPv4Address
    - IPv6Address
    - pcpp::internal::try_sockaddr2in6_addr
    - push_back
    - pcpp::internal::try_sockaddr2in_addr
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::DeviceInterfaceDetails::DeviceInterfaceDetails(pcap_if_t*
      pInterface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:369,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:373,1
    - Dst: std::chrono::milliseconds
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:375,1
    - Dst: min
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:376,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:378,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:381,1
    - Dst: getStatistics
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:387,1
    - Dst: StatisticsUpdateContext::cbOnStatsUpdate
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:388,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:392,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:392,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:397,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:401,1
    - Dst: PCPP_LOG_WARN
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:405,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:409,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:411,1
    - Dst: min
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:416,1
    - Dst: std::this_thread::sleep_until
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:417,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:420,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - ' stopFlag'
    - ' pcapDescriptor'
    - context
    argTypes:
    - std::atomic<bool>
    - internal::PcapHandle
    - StatisticsUpdateContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 421
    functionName: pcpp::statsThreadMain
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::steady_clock::now
    - StatisticsUpdateContext::cbOnStatsUpdate
    - PCPP_LOG_WARN
    - what
    - getStatistics
    - std::chrono::milliseconds
    - PCPP_LOG_ERROR
    - load
    - std::this_thread::sleep_until
    - PCPP_LOG_DEBUG
    - min
    linkageType: ''
    returnType: void
    signature: "void statsThreadMain(std::atomic<bool>& stopFlag, internal::PcapHandle
      const& pcapDescriptor,\n\t\t                     StatisticsUpdateContext context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: pcpp::onPacketArrivesNoop
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesNoop(uint8_t* user, const pcap_pkthdr* pkthdr,
      const uint8_t* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CaptureContext*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:454,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:457,1
    - Dst: auto*::device::getLinkType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:464,1
    - Dst: auto*::callback
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 466
    functionName: pcpp::onPacketArrivesCallback
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<CaptureContext*>
    - auto*::device::getLinkType
    - auto*::callback
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesCallback(uint8_t* user, const pcap_pkthdr* pkthdr,
      const uint8_t* packet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CaptureContextWithCancellation*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:471,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:474,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:481,1
    - Dst: auto*::device::getLinkType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:485,1
    - Dst: auto*::callback
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:489,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:492,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:498,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:498,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 506
    functionName: pcpp::onPacketArrivesCallbackWithCancellation
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - what
    - reinterpret_cast<CaptureContextWithCancellation*>
    - auto*::callback
    - auto*::device::getLinkType
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesCallbackWithCancellation(uint8_t* user, const pcap_pkthdr*
      pkthdr, const uint8_t* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AccumulatorCaptureContext*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:514,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:517,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:524,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:525,1
    - Dst: std::make_unique<RawPacket>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:526,1
    - Dst: auto*::device::getLinkType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:527,1
    - Dst: auto*::capturedPackets::pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:528,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 529
    functionName: pcpp::onPacketArrivesAccumulator
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - std::make_unique<RawPacket>
    - auto*::device::getLinkType
    - auto*::capturedPackets::pushBack
    - std::memcpy
    - uint8_t::uint8_t
    - std::move
    - reinterpret_cast<AccumulatorCaptureContext*>
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesAccumulator(uint8_t* user, const pcap_pkthdr* pkthdr,
      const uint8_t* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:543,1
    - Dst: CaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:543,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:544,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:551,1
    - Dst: pcap_dispatch
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:553,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:553,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:553,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:556,1
    - Dst: pcpp::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:556,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:557,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:561,1
    - Dst: CaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' stopFlag'
    - ' hasStarted'
    - ' pcapDescriptor'
    - context
    argTypes:
    - std::atomic_bool
    - std::atomic_bool
    - internal::PcapHandle
    - CaptureContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 562
    functionName: pcpp::captureThreadMain
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - CaptureContext::device::getName
    - reinterpret_cast<uint8_t*>
    - PCPP_LOG_ERROR
    - load
    - get
    - store
    - pcap_dispatch
    - pcpp::getLastError
    linkageType: ''
    returnType: void
    signature: "void captureThreadMain(std::atomic_bool& stopFlag, std::atomic_bool&
      hasStarted,\n\t\t                       internal::PcapHandle const& pcapDescriptor,
      CaptureContext context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:576,1
    - Dst: AccumulatorCaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:576,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:577,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:578,1
    - Dst: pcap_dispatch
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:580,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:580,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:581,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:583,1
    - Dst: pcpp::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:583,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:584,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:588,1
    - Dst: AccumulatorCaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' stopFlag'
    - ' hasStarted'
    - ' pcapDescriptor'
    - context
    argTypes:
    - std::atomic_bool
    - std::atomic_bool
    - internal::PcapHandle
    - AccumulatorCaptureContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 589
    functionName: pcpp::captureThreadMainAccumulator
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - reinterpret_cast<uint8_t*>
    - AccumulatorCaptureContext::device::getName
    - PCPP_LOG_ERROR
    - load
    - get
    - store
    - pcap_dispatch
    - pcpp::getLastError
    linkageType: ''
    returnType: void
    signature: "void captureThreadMainAccumulator(std::atomic_bool& stopFlag, std::atomic_bool&
      hasStarted,\n\t\t                                  internal::PcapHandle const&
      pcapDescriptor, AccumulatorCaptureContext context)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:369,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:373,1
    - Dst: std::chrono::milliseconds
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:375,1
    - Dst: min
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:376,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:378,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:381,1
    - Dst: getStatistics
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:387,1
    - Dst: StatisticsUpdateContext::cbOnStatsUpdate
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:388,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:392,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:392,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:397,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:401,1
    - Dst: PCPP_LOG_WARN
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:405,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:409,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:411,1
    - Dst: min
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:416,1
    - Dst: std::this_thread::sleep_until
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:417,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:420,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - ' stopFlag'
    - ' pcapDescriptor'
    - context
    argTypes:
    - std::atomic<bool>
    - internal::PcapHandle
    - StatisticsUpdateContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 421
    functionName: pcpp::statsThreadMain
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::steady_clock::now
    - StatisticsUpdateContext::cbOnStatsUpdate
    - PCPP_LOG_WARN
    - what
    - getStatistics
    - std::chrono::milliseconds
    - PCPP_LOG_ERROR
    - load
    - std::this_thread::sleep_until
    - PCPP_LOG_DEBUG
    - min
    linkageType: ''
    returnType: void
    signature: "void statsThreadMain(std::atomic<bool>& stopFlag, internal::PcapHandle
      const& pcapDescriptor,\n\t\t                     StatisticsUpdateContext context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: pcpp::onPacketArrivesNoop
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesNoop(uint8_t* user, const pcap_pkthdr* pkthdr,
      const uint8_t* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CaptureContext*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:454,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:457,1
    - Dst: auto*::device::getLinkType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:464,1
    - Dst: auto*::callback
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 466
    functionName: pcpp::onPacketArrivesCallback
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<CaptureContext*>
    - auto*::device::getLinkType
    - auto*::callback
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesCallback(uint8_t* user, const pcap_pkthdr* pkthdr,
      const uint8_t* packet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CaptureContextWithCancellation*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:471,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:474,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:481,1
    - Dst: auto*::device::getLinkType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:485,1
    - Dst: auto*::callback
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:489,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:492,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:498,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:498,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 506
    functionName: pcpp::onPacketArrivesCallbackWithCancellation
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - what
    - reinterpret_cast<CaptureContextWithCancellation*>
    - auto*::callback
    - auto*::device::getLinkType
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesCallbackWithCancellation(uint8_t* user, const pcap_pkthdr*
      pkthdr, const uint8_t* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AccumulatorCaptureContext*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:514,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:517,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:524,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:525,1
    - Dst: std::make_unique<RawPacket>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:526,1
    - Dst: auto*::device::getLinkType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:527,1
    - Dst: auto*::capturedPackets::pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:528,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 529
    functionName: pcpp::onPacketArrivesAccumulator
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - std::make_unique<RawPacket>
    - auto*::device::getLinkType
    - auto*::capturedPackets::pushBack
    - std::memcpy
    - uint8_t::uint8_t
    - std::move
    - reinterpret_cast<AccumulatorCaptureContext*>
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesAccumulator(uint8_t* user, const pcap_pkthdr* pkthdr,
      const uint8_t* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:543,1
    - Dst: CaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:543,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:544,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:551,1
    - Dst: pcap_dispatch
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:553,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:553,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:553,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:556,1
    - Dst: pcpp::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:556,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:557,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:561,1
    - Dst: CaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' stopFlag'
    - ' hasStarted'
    - ' pcapDescriptor'
    - context
    argTypes:
    - std::atomic_bool
    - std::atomic_bool
    - internal::PcapHandle
    - CaptureContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 562
    functionName: pcpp::captureThreadMain
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - CaptureContext::device::getName
    - reinterpret_cast<uint8_t*>
    - PCPP_LOG_ERROR
    - load
    - get
    - store
    - pcap_dispatch
    - pcpp::getLastError
    linkageType: ''
    returnType: void
    signature: "void captureThreadMain(std::atomic_bool& stopFlag, std::atomic_bool&
      hasStarted,\n\t\t                       internal::PcapHandle const& pcapDescriptor,
      CaptureContext context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:576,1
    - Dst: AccumulatorCaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:576,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:577,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:578,1
    - Dst: pcap_dispatch
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:580,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:580,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:581,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:583,1
    - Dst: pcpp::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:583,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:584,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:588,1
    - Dst: AccumulatorCaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' stopFlag'
    - ' hasStarted'
    - ' pcapDescriptor'
    - context
    argTypes:
    - std::atomic_bool
    - std::atomic_bool
    - internal::PcapHandle
    - AccumulatorCaptureContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 589
    functionName: pcpp::captureThreadMainAccumulator
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - reinterpret_cast<uint8_t*>
    - AccumulatorCaptureContext::device::getName
    - PCPP_LOG_ERROR
    - load
    - get
    - store
    - pcap_dispatch
    - pcpp::getLastError
    linkageType: ''
    returnType: void
    signature: "void captureThreadMainAccumulator(std::atomic_bool& stopFlag, std::atomic_bool&
      hasStarted,\n\t\t                                  internal::PcapHandle const&
      pcapDescriptor, AccumulatorCaptureContext context)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:594,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:600,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:602,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:604,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:607,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:607,1
    - Dst: pcpp::PcapLiveDevice::setDeviceMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:613,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:614,1
    - Dst: pcpp::PcapLiveDevice::setDefaultGateway
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:619,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:620,1
    - Dst: pcpp::PcapLiveDevice::setDeviceMacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:629,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - interfaceDetails
    - calculateMTU
    - calculateMacAddress
    - calculateDefaultGateway
    argTypes:
    - DeviceInterfaceDetails
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 632
    functionName: pcpp::PcapLiveDevice::PcapLiveDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - toString
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::PcapLiveDevice::setDeviceMacAddress
    - PCPP_LOG_DEBUG
    - pcpp::PcapLiveDevice::setDefaultGateway
    - pcpp::PcapLiveDevice::setDeviceMtu
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PcapLiveDevice::PcapLiveDevice(DeviceInterfaceDetails interfaceDetails,
      bool calculateMTU, bool calculateMacAddress,\n\t                               bool
      calculateDefaultGateway)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::isNflogDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:639,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:642,1
    - Dst: pcpp::internal::PcapHandle::PcapHandle
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:645,1
    - Dst: pcap_create
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:645,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:645,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:648,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:648,1
    - Dst: pcap_set_snaplen
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:651,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:651,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:654,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:654,1
    - Dst: auto::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:654,1
    - Dst: pcap_set_promisc
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:657,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:657,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:660,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:660,1
    - Dst: auto::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:660,1
    - Dst: pcap_set_timeout
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:664,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:664,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:667,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:667,1
    - Dst: auto::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:667,1
    - Dst: pcap_set_buffer_size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:672,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:672,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:675,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:675,1
    - Dst: auto::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:675,1
    - Dst: pcap_set_immediate_mode
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:680,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:680,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:683,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:683,1
    - Dst: auto::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:683,1
    - Dst: setTimestampProvider
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:689,1
    - Dst: setTimestampPrecision
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:694,1
    - Dst: pcap_activate
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:697,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:697,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:700,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:700,1
    - Dst: auto::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:700,1
    - Dst: directionTypeMap
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:705,1
    - Dst: pcap_setdirection
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:706,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:706,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:709,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:710,1
    - Dst: auto::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:710,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:718,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:723,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:728,1
    - Dst: pcap_datalink
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:733,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:733,1
    - Dst: pcap_datalink_val_to_name
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:734,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:737,1
    - Dst: pcap_datalink_val_to_description
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:737,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:742,1
    - Dst: static_cast<LinkLayerType>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:745,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - DeviceConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 634
    functionDepth: 3
    functionLinenumber: 634
    functionLinenumberEnd: 747
    functionName: pcpp::PcapLiveDevice::doOpen
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::PcapHandle::PcapHandle
    - setTimestampPrecision
    - std::string::c_str
    - std::runtime_error
    - pcap_create
    - string
    - auto::get
    - pcap_set_promisc
    - pcap_datalink_val_to_name
    - directionTypeMap
    - pcap_set_immediate_mode
    - setTimestampProvider
    - PCPP_LOG_DEBUG
    - pcpp::PcapLiveDevice::isNflogDevice
    - pcap_datalink
    - to_string
    - pcap_setdirection
    - pcap_datalink_val_to_description
    - auto::getLastError
    - pcap_activate
    - pcap_set_buffer_size
    - static_cast<LinkLayerType>
    - pcap_set_timeout
    - pcap_set_snaplen
    linkageType: ''
    returnType: internal::PcapHandle
    signature: internal::PcapHandle PcapLiveDevice::doOpen(const DeviceConfiguration&
      config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:753,1
    - Dst: pcpp::PcapLiveDevice::doOpen
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:760,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:764,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:764,1
    - Dst: pcpp::PcapLiveDevice::isNflogDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:770,1
    - Dst: pcpp::PcapLiveDevice::doOpen
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:778,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:782,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:782,1
    - Dst: pcpp::PcapLiveDevice::isNflogDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:786,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:792,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:793,1
    - Dst: internal::PcapHandle::release
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:795,1
    - Dst: pcpp::PcapLiveDevice::isNflogDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:798,1
    - Dst: pcap_get_selectable_fd
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:807,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:809,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - DeviceConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 814
    functionName: pcpp::PcapLiveDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - what
    - pcpp::PcapLiveDevice::doOpen
    - PCPP_LOG_ERROR
    - pcap_get_selectable_fd
    - internal::PcapHandle::release
    - PCPP_LOG_DEBUG
    - pcpp::PcapLiveDevice::isNflogDevice
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::open(const DeviceConfiguration& config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 820
    functionName: pcpp::PcapLiveDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapLiveDevice::open
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::open()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:826,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:830,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:831,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:832,1
    - Dst: pcap_close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:835,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:836,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 841
    functionName: pcpp::PcapLiveDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reset
    - get
    - pcap_close
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PcapLiveDevice::PcapLiveDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: pcpp::PcapLiveDevice::clone
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PcapLiveDevice::PcapLiveDevice
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDevice::clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::startCapture
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:850,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - onPacketArrives
    - onPacketArrivesUserCookie
    argTypes:
    - OnPacketArrivesCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: pcpp::PcapLiveDevice::startCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapLiveDevice::startCapture
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::startCapture(OnPacketArrivesCallback onPacketArrives,
      void* onPacketArrivesUserCookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::startCapture
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:856,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - intervalInSecondsToUpdateStats
    - onStatsUpdate
    - onStatsUpdateUserCookie
    argTypes:
    - int
    - OnStatsUpdateCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 858
    functionName: pcpp::PcapLiveDevice::startCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::PcapLiveDevice::startCapture
    - std::move
    linkageType: ''
    returnType: bool
    signature: "bool PcapLiveDevice::startCapture(int intervalInSecondsToUpdateStats,
      OnStatsUpdateCallback onStatsUpdate,\n\t                                  void*
      onStatsUpdateUserCookie)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:866,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:872,1
    - Dst: prepareCapture
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:878,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:882,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:882,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:888,1
    - Dst: std::thread
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:891,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:891,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:891,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:892,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:892,1
    - Dst: std::this_thread::yield
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:898,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:900,1
    - Dst: get_id
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:901,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:907,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:909,1
    - Dst: std::thread
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:911,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:911,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:911,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:912,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:914,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - onPacketArrives
    - onPacketArrivesUserCookie
    - intervalInSecondsToUpdateStats
    - onStatsUpdate
    - onStatsUpdateUserCookie
    argTypes:
    - OnPacketArrivesCallback
    - void*
    - int
    - OnStatsUpdateCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 918
    functionName: pcpp::PcapLiveDevice::startCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached:
    - std::ref
    - what
    - std::thread
    - get_id
    - std::chrono::seconds
    - PCPP_LOG_ERROR
    - prepareCapture
    - std::this_thread::yield
    - PCPP_LOG_DEBUG
    - std::move
    linkageType: ''
    returnType: bool
    signature: "bool PcapLiveDevice::startCapture(OnPacketArrivesCallback onPacketArrives,
      void* onPacketArrivesUserCookie,\n\t                                  int intervalInSecondsToUpdateStats,
      OnStatsUpdateCallback onStatsUpdate,\n\t                                  void*
      onStatsUpdateUserCookie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:924,1
    - Dst: pcpp::PcapLiveDevice::captureActive
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:928,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:930,1
    - Dst: prepareCapture
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:936,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:940,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:940,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:944,1
    - Dst: std::thread
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:950,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:950,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:951,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:951,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:951,1
    - Dst: std::this_thread::yield
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:957,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:960,1
    - Dst: get_id
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:961,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - ' capturedPacketsVector'
    argTypes:
    - RawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 964
    functionName: pcpp::PcapLiveDevice::startCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached:
    - std::ref
    - what
    - std::thread
    - get_id
    - PCPP_LOG_ERROR
    - prepareCapture
    - clear
    - std::this_thread::yield
    - pcpp::PcapLiveDevice::captureActive
    - PCPP_LOG_DEBUG
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::startCapture(RawPacketVector& capturedPacketsVector)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:971,1
    - Dst: pcpp::PcapLiveDevice::captureActive
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:975,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:977,1
    - Dst: prepareCapture
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:983,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:987,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:987,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:997,1
    - Dst: std::chrono::milliseconds
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:999,1
    - Dst: static_cast<int64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:999,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1004,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1013,1
    - Dst: pcap_dispatch
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1022,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1022,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1023,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1025,1
    - Dst: getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1025,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1044,1
    - Dst: max
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1047,1
    - Dst: static_cast<int64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1047,1
    - Dst: poll
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1049,1
    - Dst: pcap_dispatch
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1053,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1053,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1054,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1056,1
    - Dst: getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1056,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1068,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1068,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1073,1
    - Dst: pcap_dispatch
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1080,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1080,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1081,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1083,1
    - Dst: getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1083,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1093,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 79
    argCount: 3
    argNames:
    - onPacketArrives
    - userCookie
    - timeout
    argTypes:
    - OnPacketArrivesStopBlocking
    - void*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 1111
    functionName: pcpp::PcapLiveDevice::startCaptureBlockingMode
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - max
    - std::chrono::steady_clock::now
    - what
    - getLastError
    - poll
    - pcap_dispatch
    - reinterpret_cast<uint8_t*>
    - PCPP_LOG_ERROR
    - std::chrono::milliseconds
    - prepareCapture
    - strerror
    - get
    - pcpp::PcapLiveDevice::captureActive
    - std::move
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - memset
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: "int PcapLiveDevice::startCaptureBlockingMode(OnPacketArrivesStopBlocking
      onPacketArrives, void* userCookie,\n\t                                             const
      double timeout)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: joinable
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1116,1
    - Dst: get_id
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1121,1
    - Dst: get_id
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1121,1
    - Dst: iface_get_id
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1121,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1123,1
    - Dst: pcap_breakloop
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1129,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1129,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1130,1
    - Dst: join
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1131,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1133,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1135,1
    - Dst: joinable
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1137,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1139,1
    - Dst: join
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1140,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1113
    functionDepth: 3
    functionLinenumber: 1113
    functionLinenumberEnd: 1145
    functionName: pcpp::PcapLiveDevice::stopCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - pcap_breakloop
    - get_id
    - join
    - std::runtime_error
    - get
    - iface_get_id
    - joinable
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::stopCapture()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1150
    functionName: pcpp::PcapLiveDevice::captureActive
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::captureActive()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::getStatistics
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1154,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PcapStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1158
    functionName: pcpp::PcapLiveDevice::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapLiveDevice::getStatistics
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::getStatistics(PcapStats& stats) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1164,1
    - Dst: matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' filter'
    - rawPacket
    argTypes:
    - GeneralFilter
    - RawPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1169
    functionName: pcpp::PcapLiveDevice::matchPacketWithFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - matches
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::matchPacketWithFilter(GeneralFilter& filter, RawPacket*
      rawPacket)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1175,1
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1179,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - packetPayloadLength
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1186
    functionName: pcpp::PcapLiveDevice::doMtuCheck
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::doMtuCheck(int packetPayloadLength) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - packetPayloadLength
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1191
    functionName: pcpp::PcapLiveDevice::isPayloadWithinMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::isPayloadWithinMtu(size_t packetPayloadLength)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getFirstLayer
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1197,1
    - Dst: getFirstLayer
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1200,1
    - Dst: getFirstLayer
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1203,1
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' packet'
    - allowUnknownLength
    - outPayloadLength
    argTypes:
    - Packet
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1223
    functionName: pcpp::PcapLiveDevice::isPayloadWithinMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - getFirstLayer
    linkageType: ''
    returnType: bool
    signature: "bool PcapLiveDevice::isPayloadWithinMtu(Packet const& packet, bool
      allowUnknownLength,\n\t                                        size_t* outPayloadLength)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1230,1
    - Dst: Packet
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1230,1
    - Dst: const_cast<RawPacket*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' rawPacket'
    - allowUnknownLength
    - outPayloadLength
    argTypes:
    - RawPacket
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1232
    functionName: pcpp::PcapLiveDevice::isPayloadWithinMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 3
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - Packet
    - const_cast<RawPacket*>
    linkageType: ''
    returnType: bool
    signature: "bool PcapLiveDevice::isPayloadWithinMtu(RawPacket const& rawPacket,
      bool allowUnknownLength,\n\t                                        size_t*
      outPayloadLength) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1238,1
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1239,1
    - Dst: RawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - packetData
    - packetLen
    - linkType
    - allowUnknown
    - outPayloadLength
    argTypes:
    - uint8_t*
    - size_t
    - LinkLayerType
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1234
    functionDepth: 2
    functionLinenumber: 1234
    functionLinenumberEnd: 1241
    functionName: pcpp::PcapLiveDevice::isPayloadWithinMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 4
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - gettimeofday
    - RawPacket
    linkageType: ''
    returnType: bool
    signature: "bool PcapLiveDevice::isPayloadWithinMtu(uint8_t const* packetData,
      size_t packetLen, LinkLayerType linkType,\n\t                                        bool
      allowUnknown, size_t* outPayloadLength) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1249,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1251,1
    - Dst: pcpp::PcapLiveDevice::sendPacketUnchecked
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1257,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' packet'
    - checkMtu
    argTypes:
    - Packet
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1258
    functionName: pcpp::PcapLiveDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - pcpp::PcapLiveDevice::sendPacketUnchecked
    - getRawPacketReadOnly
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::sendPacket(Packet const& packet, bool checkMtu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1266,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1268,1
    - Dst: pcpp::PcapLiveDevice::sendPacketUnchecked
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' rawPacket'
    - checkMtu
    argTypes:
    - RawPacket
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1260
    functionDepth: 1
    functionLinenumber: 1260
    functionLinenumberEnd: 1275
    functionName: pcpp::PcapLiveDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - pcpp::PcapLiveDevice::sendPacketUnchecked
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::sendPacket(RawPacket const& rawPacket, bool checkMtu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1281,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1287,1
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1291,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1293,1
    - Dst: pcpp::PcapLiveDevice::sendPacketUnchecked
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - packetData
    - packetDataLength
    - packetPayloadLength
    argTypes:
    - uint8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1299
    functionName: pcpp::PcapLiveDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - pcpp::PcapLiveDevice::sendPacketUnchecked
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::sendPacket(const uint8_t* packetData, int packetDataLength,
      int packetPayloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1306,1
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1314,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1316,1
    - Dst: pcpp::PcapLiveDevice::sendPacketUnchecked
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - packetData
    - packetDataLength
    - checkMtu
    - linkType
    argTypes:
    - uint8_t*
    - int
    - bool
    - pcpp::LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1323
    functionName: pcpp::PcapLiveDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - pcpp::PcapLiveDevice::sendPacketUnchecked
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: "bool PcapLiveDevice::sendPacket(const uint8_t* packetData, int packetDataLength,
      bool checkMtu,\n\t                                pcpp::LinkLayerType linkType)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1329,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1335,1
    - Dst: pcap_sendpacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1339,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1341,1
    - Dst: pcap_geterr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1341,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - packetData
    - packetDataLength
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1325
    functionDepth: 3
    functionLinenumber: 1325
    functionLinenumberEnd: 1347
    functionName: pcpp::PcapLiveDevice::sendPacketUnchecked
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 4
    functionsReached:
    - PCPP_LOG_DEBUG
    - pcap_geterr
    - PCPP_LOG_ERROR
    - pcap_sendpacket
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::sendPacketUnchecked(uint8_t const* packetData,
      int packetDataLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1354,1
    - Dst: sendFunc
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1358,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - begin
    - end
    - sendFunc
    argTypes:
    - It
    - It
    - Func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1365
    functionName: pcpp::sendPacketsLoop
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - std::distance
    - sendFunc
    linkageType: ''
    returnType: int
    signature: int sendPacketsLoop(It begin, It end, Func sendFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1354,1
    - Dst: sendFunc
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1358,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - begin
    - end
    - sendFunc
    argTypes:
    - It
    - It
    - Func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1365
    functionName: pcpp::sendPacketsLoop
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - std::distance
    - sendFunc
    linkageType: ''
    returnType: int
    signature: int sendPacketsLoop(It begin, It end, Func sendFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendPacketsLoop
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1370,1
    - Dst: pcpp::PcapLiveDevice::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rawPacketsArr
    - arrLength
    - checkMtu
    argTypes:
    - RawPacket*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1368
    functionDepth: 2
    functionLinenumber: 1368
    functionLinenumberEnd: 1372
    functionName: pcpp::PcapLiveDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDevice::sendPacket
    - sendPacketsLoop
    linkageType: ''
    returnType: int
    signature: int PcapLiveDevice::sendPackets(RawPacket* rawPacketsArr, int arrLength,
      bool checkMtu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendPacketsLoop
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1376,1
    - Dst: pcpp::PcapLiveDevice::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - packetsArr
    - arrLength
    - checkMtu
    argTypes:
    - Packet**
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1374
    functionDepth: 2
    functionLinenumber: 1374
    functionLinenumberEnd: 1378
    functionName: pcpp::PcapLiveDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDevice::sendPacket
    - sendPacketsLoop
    linkageType: ''
    returnType: int
    signature: int PcapLiveDevice::sendPackets(Packet** packetsArr, int arrLength,
      bool checkMtu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendPacketsLoop
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1382,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1382,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1382,1
    - Dst: pcpp::PcapLiveDevice::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' rawPackets'
    - checkMtu
    argTypes:
    - RawPacketVector
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1380
    functionDepth: 2
    functionLinenumber: 1380
    functionLinenumberEnd: 1384
    functionName: pcpp::PcapLiveDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - pcpp::PcapLiveDevice::sendPacket
    - sendPacketsLoop
    linkageType: ''
    returnType: int
    signature: int PcapLiveDevice::sendPackets(const RawPacketVector& rawPackets,
      bool checkMtu)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1392,1
    - Dst: PacketOpenAdapter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1398,1
    - Dst: const_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1398,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1398,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1401,1
    - Dst: reinterpret_cast<PACKET_OID_DATA*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1406,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1409,1
    - Dst: PacketRequest
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1410,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1415,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1428,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1435,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1441,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1442,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1442,1
    - Dst: socket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1447,1
    - Dst: ioctl
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1448,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1450,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1458,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1458,1
    - Dst: pcpp::KniDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1464,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1386
    functionDepth: 2
    functionLinenumber: 1386
    functionLinenumberEnd: 1467
    functionName: pcpp::PcapLiveDevice::setDeviceMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<PACKET_OID_DATA*>
    - what
    - ioctl
    - PacketOpenAdapter
    - pcpp::KniDevice::close
    - socket
    - name::c_str
    - PCPP_LOG_ERROR
    - strncpy
    - memcpy
    - PCPP_LOG_DEBUG
    - PacketRequest
    - const_cast<char*>
    - memset
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::setDeviceMtu()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PacketOpenAdapter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1473,1
    - Dst: const_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1473,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1473,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1476,1
    - Dst: reinterpret_cast<PACKET_OID_DATA*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1481,1
    - Dst: PacketRequest
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1485,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1492,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1495,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1500,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1507,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1512,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1513,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1513,1
    - Dst: socket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1518,1
    - Dst: ioctl
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1519,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1521,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1525,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1530,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1530,1
    - Dst: pcpp::KniDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1535,1
    - Dst: if_nametoindex
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1546,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1546,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1550,1
    - Dst: sysctl
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1554,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1556,1
    - Dst: sysctl
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1562,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1562,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1564,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1568,1
    - Dst: LLADDR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1570,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1571,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1469
    functionDepth: 2
    functionLinenumber: 1469
    functionLinenumberEnd: 1573
    functionName: pcpp::PcapLiveDevice::setDeviceMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<PACKET_OID_DATA*>
    - what
    - if_nametoindex
    - ioctl
    - PacketOpenAdapter
    - pcpp::KniDevice::close
    - MacAddress
    - socket
    - name::c_str
    - PCPP_LOG_ERROR
    - strncpy
    - std::vector::data
    - PCPP_LOG_DEBUG
    - PacketRequest
    - const_cast<char*>
    - sysctl
    - memset
    - LLADDR
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::setDeviceMacAddress()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<IP_ADAPTER_INFO*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1580,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1580,1
    - Dst: GetAdaptersInfo
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1583,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1586,1
    - Dst: reinterpret_cast<IP_ADAPTER_INFO*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1589,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1589,1
    - Dst: GetAdaptersInfo
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1590,1
    - Dst: name::find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1598,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1602,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1607,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1607,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1617,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1622,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1626,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1631,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1636,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1644,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1648,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1648,1
    - Dst: socket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1662,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1665,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1668,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1668,1
    - Dst: write
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1676,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1676,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1678,1
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1683,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1683,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1685,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1691,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1701,1
    - Dst: pcpp::internal::sockaddr2in_addr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1704,1
    - Dst: roundUpClosestMultiple
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1707,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1715,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1720,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1724,1
    - Dst: inet_ntoa
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1724,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1724,1
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1728,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1731,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1736,1
    - Dst: std::string::at
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1739,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1740,1
    - Dst: std::string::resize
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1743,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1743,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1747,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1751,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1751,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1575
    functionDepth: 1
    functionLinenumber: 1575
    functionLinenumberEnd: 1754
    functionName: pcpp::PcapLiveDevice::setDefaultGateway
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached:
    - what
    - std::getline
    - socket
    - pcpp::internal::sockaddr2in_addr
    - PCPP_LOG_ERROR
    - std::string::at
    - inet_ntoa
    - std::string::resize
    - IPv4Address
    - reinterpret_cast<sockaddr*>
    - roundUpClosestMultiple
    - PCPP_LOG_DEBUG
    - std::string::erase
    - std::vector::resize
    - reinterpret_cast<IP_ADAPTER_INFO*>
    - read
    - memset
    - name::find
    - GetAdaptersInfo
    - write
    - std::vector::data
    - executeShellCommand
    - reinterpret_cast<char*>
    - std::string::find
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::setDefaultGateway()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1759,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1759,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1759,1
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1759,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1760,1
    - Dst: auto::getIPv4
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1756
    functionDepth: 1
    functionLinenumber: 1756
    functionLinenumberEnd: 1761
    functionName: pcpp::PcapLiveDevice::getIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - std::find_if
    - auto::getIPv4
    - isIPv4
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address PcapLiveDevice::getIPv4Address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1766,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1766,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1766,1
    - Dst: isIPv6
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1766,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1767,1
    - Dst: auto::getIPv6
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1763
    functionDepth: 1
    functionLinenumber: 1763
    functionLinenumberEnd: 1768
    functionName: pcpp::PcapLiveDevice::getIPv6Address
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - std::find_if
    - auto::getIPv6
    - isIPv6
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address PcapLiveDevice::getIPv6Address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1773
    functionName: pcpp::PcapLiveDevice::getDefaultGateway
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address PcapLiveDevice::getDefaultGateway() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1775
    functionDepth: 1
    functionLinenumber: 1775
    functionLinenumberEnd: 1778
    functionName: '& PcapLiveDevice::getDnsServers() const'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: std::vector<IPv4Address>
    signature: std::vector<IPv4Address> & PcapLiveDevice::getDnsServers() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_lib_version
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1783
    functionName: pcpp::PcapLiveDevice::getPcapLibVersionInfo
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached:
    - pcap_lib_version
    linkageType: ''
    returnType: std::string
    signature: std::string PcapLiveDevice::getPcapLibVersionInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1788
    functionName: pcpp::PcapLiveDevice::isNflogDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::isNflogDevice() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1792,1
    - Dst: isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1793,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1795,1
    - Dst: std::string*::empty
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1799,1
    - Dst: clearFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1801,1
    - Dst: setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - filterAsString
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1805
    functionName: pcpp::PcapLiveDevice::doUpdateFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - setFilter
    - std::string*::empty
    - clearFilter
    - PCPP_LOG_ERROR
    - isOpened
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::doUpdateFilter(std::string const* filterAsString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1808
    functionName: PcapLiveDevice::~PcapLiveDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::~PcapLiveDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pcapDescriptor
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle::PcapHandle(pcap_t* pcapDescriptor) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle::PcapHandle(PcapHandle&& other) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: '& PcapHandle::operator=(PcapHandle&& other) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: PcapHandle
    signature: PcapHandle & PcapHandle::operator=(PcapHandle&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: '& PcapHandle::operator=(std::nullptr_t) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: PcapHandle
    signature: PcapHandle & PcapHandle::operator=(std::nullptr_t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: PcapHandle::~PcapHandle()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void PcapHandle::~PcapHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: pcpp::internal::PcapHandle::release
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcap_t
    signature: pcap_t * PcapHandle::release() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pcapDescriptor
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: pcpp::internal::PcapHandle::reset
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcap_close
    linkageType: ''
    returnType: void
    signature: void PcapHandle::reset(pcap_t* pcapDescriptor) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::isValid
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:128,1
    - Dst: pcap_geterr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: pcpp::internal::PcapHandle::getLastError
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 4
    functionsReached:
    - pcpp::internal::PcapHandle::isValid
    - pcap_geterr
    linkageType: ''
    returnType: char
    signature: char * PcapHandle::getLastError() const noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::isValid
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:139,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:141,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:146,1
    - Dst: pcap_compile
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:147,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:147,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:151,1
    - Dst: pcpp::internal::PcapHandle::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:151,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:155,1
    - Dst: pcap_setfilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:156,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:161,1
    - Dst: pcpp::internal::PcapHandle::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:161,1
    - Dst: pcap_freecode
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:162,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:166,1
    - Dst: pcap_freecode
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 137
    functionDepth: 9
    functionLinenumber: 137
    functionLinenumberEnd: 169
    functionName: pcpp::internal::PcapHandle::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached:
    - pcap_freecode
    - pcpp::internal::PcapHandle::isValid
    - pcap_compile
    - PCPP_LOG_ERROR
    - pcpp::internal::PcapHandle::getLastError
    - PCPP_LOG_DEBUG
    - pcap_setfilter
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool PcapHandle::setFilter(std::string const& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 10
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: pcpp::internal::PcapHandle::clearFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::PcapHandle::setFilter
    linkageType: ''
    returnType: bool
    signature: bool PcapHandle::clearFilter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::isValid
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:178,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:180,1
    - Dst: pcap_stats
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:185,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:187,1
    - Dst: pcpp::internal::PcapHandle::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PcapStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: pcpp::internal::PcapHandle::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::PcapHandle::isValid
    - pcap_stats
    - PCPP_LOG_ERROR
    - pcpp::internal::PcapHandle::getLastError
    linkageType: ''
    returnType: bool
    signature: bool PcapHandle::getStatistics(PcapStats& stats) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pcapDescriptor
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle::PcapHandle(pcap_t* pcapDescriptor) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle::PcapHandle(PcapHandle&& other) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapHandle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: '& PcapHandle::operator=(PcapHandle&& other) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: PcapHandle
    signature: PcapHandle & PcapHandle::operator=(PcapHandle&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: '& PcapHandle::operator=(std::nullptr_t) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: PcapHandle
    signature: PcapHandle & PcapHandle::operator=(std::nullptr_t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: PcapHandle::~PcapHandle()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void PcapHandle::~PcapHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: pcpp::internal::PcapHandle::release
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcap_t
    signature: pcap_t * PcapHandle::release() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pcapDescriptor
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: pcpp::internal::PcapHandle::reset
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcap_close
    linkageType: ''
    returnType: void
    signature: void PcapHandle::reset(pcap_t* pcapDescriptor) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::isValid
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:128,1
    - Dst: pcap_geterr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: pcpp::internal::PcapHandle::getLastError
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 6
    functionsReached:
    - pcpp::internal::PcapHandle::isValid
    - pcap_geterr
    linkageType: ''
    returnType: char
    signature: char * PcapHandle::getLastError() const noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::isValid
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:139,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:141,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:146,1
    - Dst: pcap_compile
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:147,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:147,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:151,1
    - Dst: pcpp::internal::PcapHandle::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:151,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:155,1
    - Dst: pcap_setfilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:156,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:161,1
    - Dst: pcpp::internal::PcapHandle::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:161,1
    - Dst: pcap_freecode
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:162,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:166,1
    - Dst: pcap_freecode
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 137
    functionDepth: 9
    functionLinenumber: 137
    functionLinenumberEnd: 169
    functionName: pcpp::internal::PcapHandle::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 3
    functionsReached:
    - pcap_freecode
    - pcpp::internal::PcapHandle::isValid
    - pcap_compile
    - PCPP_LOG_ERROR
    - pcpp::internal::PcapHandle::getLastError
    - PCPP_LOG_DEBUG
    - pcap_setfilter
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool PcapHandle::setFilter(std::string const& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 10
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: pcpp::internal::PcapHandle::clearFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::PcapHandle::setFilter
    linkageType: ''
    returnType: bool
    signature: bool PcapHandle::clearFilter()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::PcapHandle::isValid
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:178,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:180,1
    - Dst: pcap_stats
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:185,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:187,1
    - Dst: pcpp::internal::PcapHandle::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PcapStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: pcpp::internal::PcapHandle::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::PcapHandle::isValid
    - pcap_stats
    - PCPP_LOG_ERROR
    - pcpp::internal::PcapHandle::getLastError
    linkageType: ''
    returnType: bool
    signature: bool PcapHandle::getStatistics(PcapStats& stats) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - direction
    argTypes:
    - PcapLiveDevice::PcapDirection
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: pcpp::directionTypeMap
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    linkageType: ''
    returnType: pcap_direction_t
    signature: pcap_direction_t directionTypeMap(PcapLiveDevice::PcapDirection direction)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - timestampProvider
    argTypes:
    - PcapLiveDevice::TimestampProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 235
    functionName: pcpp::getPcapTimestampProvider
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached:
    - std::logic_error
    linkageType: ''
    returnType: int
    signature: int getPcapTimestampProvider(const PcapLiveDevice::TimestampProvider
      timestampProvider)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - timestampPrecision
    argTypes:
    - PcapLiveDevice::TimestampPrecision
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 251
    functionName: pcpp::getPcapPrecision
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached:
    - std::logic_error
    linkageType: ''
    returnType: int
    signature: int getPcapPrecision(const PcapLiveDevice::TimestampPrecision timestampPrecision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getPcapTimestampProvider
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:257,1
    - Dst: pcap_list_tstamp_types
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:260,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:260,1
    - Dst: pcap_free_tstamp_types
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:266,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:274,1
    - Dst: pcpp::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:275,1
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:279,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:279,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:279,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:280,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' pcap'
    - timestampProvider
    argTypes:
    - internal::PcapHandle
    - PcapLiveDevice::TimestampProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 284
    functionName: pcpp::isTimestampProviderSupportedByDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::getPcapTimestampProvider
    - pcap_free_tstamp_types
    - std::unique_ptr::get
    - PCPP_LOG_ERROR
    - find
    - get
    - std::logic_error
    - pcap_list_tstamp_types
    - pcpp::getLastError
    linkageType: ''
    returnType: bool
    signature: "bool isTimestampProviderSupportedByDevice(const internal::PcapHandle&
      pcap,\n\t                                                 const PcapLiveDevice::TimestampProvider
      timestampProvider)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_free_tstamp_types
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: operator()(int* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcap_free_tstamp_types
    linkageType: ''
    returnType: void
    signature: void operator()(int* ptr) const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::isTimestampProviderSupportedByDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:290,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:292,1
    - Dst: pcap_set_tstamp_type
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:295,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:295,1
    - Dst: pcpp::getPcapTimestampProvider
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:295,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:298,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:298,1
    - Dst: pcpp::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:298,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ' pcap'
    - timestampProvider
    argTypes:
    - internal::PcapHandle
    - PcapLiveDevice::TimestampProvider
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 304
    functionName: pcpp::setTimestampProvider
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::getPcapTimestampProvider
    - string
    - std::runtime_error
    - get
    - pcpp::isTimestampProviderSupportedByDevice
    - pcap_set_tstamp_type
    - pcpp::getLastError
    linkageType: ''
    returnType: void
    signature: "void setTimestampProvider(internal::PcapHandle& pcap,\n\t                                 const
      PcapLiveDevice::TimestampProvider timestampProvider)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcap_set_tstamp_precision
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:310,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:310,1
    - Dst: pcpp::getPcapPrecision
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:310,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:319,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:324,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:325,1
    - Dst: pcpp::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:325,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' pcap'
    - timestampPrecision
    argTypes:
    - internal::PcapHandle
    - PcapLiveDevice::TimestampPrecision
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 331
    functionName: pcpp::setTimestampPrecision
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - string
    - pcpp::getPcapPrecision
    - std::runtime_error
    - get
    - pcap_set_tstamp_precision
    - pcpp::getLastError
    linkageType: ''
    returnType: void
    signature: "void setTimestampPrecision(const internal::PcapHandle& pcap,\n\t                                  const
      PcapLiveDevice::TimestampPrecision timestampPrecision)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::try_sockaddr2in_addr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:340,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:343,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:343,1
    - Dst: pcpp::internal::try_sockaddr2in6_addr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:346,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:349,1
    - Dst: IPv6Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pInterface
    argTypes:
    - pcap_if_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: PcapLiveDevice::DeviceInterfaceDetails::DeviceInterfaceDetails(pcap_if_t*
      pInterface)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - IPv4Address
    - IPv6Address
    - pcpp::internal::try_sockaddr2in6_addr
    - push_back
    - pcpp::internal::try_sockaddr2in_addr
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::DeviceInterfaceDetails::DeviceInterfaceDetails(pcap_if_t*
      pInterface)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:369,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:373,1
    - Dst: std::chrono::milliseconds
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:375,1
    - Dst: min
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:376,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:378,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:381,1
    - Dst: getStatistics
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:387,1
    - Dst: StatisticsUpdateContext::cbOnStatsUpdate
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:388,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:392,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:392,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:397,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:401,1
    - Dst: PCPP_LOG_WARN
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:405,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:409,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:411,1
    - Dst: min
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:416,1
    - Dst: std::this_thread::sleep_until
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:417,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:420,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - ' stopFlag'
    - ' pcapDescriptor'
    - context
    argTypes:
    - std::atomic<bool>
    - internal::PcapHandle
    - StatisticsUpdateContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 421
    functionName: pcpp::statsThreadMain
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::steady_clock::now
    - StatisticsUpdateContext::cbOnStatsUpdate
    - PCPP_LOG_WARN
    - what
    - getStatistics
    - std::chrono::milliseconds
    - PCPP_LOG_ERROR
    - load
    - std::this_thread::sleep_until
    - PCPP_LOG_DEBUG
    - min
    linkageType: ''
    returnType: void
    signature: "void statsThreadMain(std::atomic<bool>& stopFlag, internal::PcapHandle
      const& pcapDescriptor,\n\t\t                     StatisticsUpdateContext context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: pcpp::onPacketArrivesNoop
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesNoop(uint8_t* user, const pcap_pkthdr* pkthdr,
      const uint8_t* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CaptureContext*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:454,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:457,1
    - Dst: auto*::device::getLinkType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:464,1
    - Dst: auto*::callback
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 466
    functionName: pcpp::onPacketArrivesCallback
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<CaptureContext*>
    - auto*::device::getLinkType
    - auto*::callback
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesCallback(uint8_t* user, const pcap_pkthdr* pkthdr,
      const uint8_t* packet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CaptureContextWithCancellation*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:471,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:474,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:481,1
    - Dst: auto*::device::getLinkType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:485,1
    - Dst: auto*::callback
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:489,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:492,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:498,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:498,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 506
    functionName: pcpp::onPacketArrivesCallbackWithCancellation
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - what
    - reinterpret_cast<CaptureContextWithCancellation*>
    - auto*::callback
    - auto*::device::getLinkType
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesCallbackWithCancellation(uint8_t* user, const pcap_pkthdr*
      pkthdr, const uint8_t* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AccumulatorCaptureContext*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:514,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:517,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:524,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:525,1
    - Dst: std::make_unique<RawPacket>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:526,1
    - Dst: auto*::device::getLinkType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:527,1
    - Dst: auto*::capturedPackets::pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:528,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 529
    functionName: pcpp::onPacketArrivesAccumulator
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - std::make_unique<RawPacket>
    - auto*::device::getLinkType
    - auto*::capturedPackets::pushBack
    - std::memcpy
    - uint8_t::uint8_t
    - std::move
    - reinterpret_cast<AccumulatorCaptureContext*>
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesAccumulator(uint8_t* user, const pcap_pkthdr* pkthdr,
      const uint8_t* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:543,1
    - Dst: CaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:543,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:544,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:551,1
    - Dst: pcap_dispatch
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:553,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:553,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:553,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:556,1
    - Dst: pcpp::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:556,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:557,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:561,1
    - Dst: CaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' stopFlag'
    - ' hasStarted'
    - ' pcapDescriptor'
    - context
    argTypes:
    - std::atomic_bool
    - std::atomic_bool
    - internal::PcapHandle
    - CaptureContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 562
    functionName: pcpp::captureThreadMain
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - CaptureContext::device::getName
    - reinterpret_cast<uint8_t*>
    - PCPP_LOG_ERROR
    - load
    - get
    - store
    - pcap_dispatch
    - pcpp::getLastError
    linkageType: ''
    returnType: void
    signature: "void captureThreadMain(std::atomic_bool& stopFlag, std::atomic_bool&
      hasStarted,\n\t\t                       internal::PcapHandle const& pcapDescriptor,
      CaptureContext context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:576,1
    - Dst: AccumulatorCaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:576,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:577,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:578,1
    - Dst: pcap_dispatch
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:580,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:580,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:581,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:583,1
    - Dst: pcpp::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:583,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:584,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:588,1
    - Dst: AccumulatorCaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' stopFlag'
    - ' hasStarted'
    - ' pcapDescriptor'
    - context
    argTypes:
    - std::atomic_bool
    - std::atomic_bool
    - internal::PcapHandle
    - AccumulatorCaptureContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 589
    functionName: pcpp::captureThreadMainAccumulator
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - reinterpret_cast<uint8_t*>
    - AccumulatorCaptureContext::device::getName
    - PCPP_LOG_ERROR
    - load
    - get
    - store
    - pcap_dispatch
    - pcpp::getLastError
    linkageType: ''
    returnType: void
    signature: "void captureThreadMainAccumulator(std::atomic_bool& stopFlag, std::atomic_bool&
      hasStarted,\n\t\t                                  internal::PcapHandle const&
      pcapDescriptor, AccumulatorCaptureContext context)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:369,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:373,1
    - Dst: std::chrono::milliseconds
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:375,1
    - Dst: min
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:376,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:378,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:381,1
    - Dst: getStatistics
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:387,1
    - Dst: StatisticsUpdateContext::cbOnStatsUpdate
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:388,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:392,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:392,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:397,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:401,1
    - Dst: PCPP_LOG_WARN
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:405,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:409,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:411,1
    - Dst: min
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:416,1
    - Dst: std::this_thread::sleep_until
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:417,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:420,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - ' stopFlag'
    - ' pcapDescriptor'
    - context
    argTypes:
    - std::atomic<bool>
    - internal::PcapHandle
    - StatisticsUpdateContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 421
    functionName: pcpp::statsThreadMain
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::steady_clock::now
    - StatisticsUpdateContext::cbOnStatsUpdate
    - PCPP_LOG_WARN
    - what
    - getStatistics
    - std::chrono::milliseconds
    - PCPP_LOG_ERROR
    - load
    - std::this_thread::sleep_until
    - PCPP_LOG_DEBUG
    - min
    linkageType: ''
    returnType: void
    signature: "void statsThreadMain(std::atomic<bool>& stopFlag, internal::PcapHandle
      const& pcapDescriptor,\n\t\t                     StatisticsUpdateContext context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: pcpp::onPacketArrivesNoop
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesNoop(uint8_t* user, const pcap_pkthdr* pkthdr,
      const uint8_t* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CaptureContext*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:454,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:457,1
    - Dst: auto*::device::getLinkType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:464,1
    - Dst: auto*::callback
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 466
    functionName: pcpp::onPacketArrivesCallback
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<CaptureContext*>
    - auto*::device::getLinkType
    - auto*::callback
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesCallback(uint8_t* user, const pcap_pkthdr* pkthdr,
      const uint8_t* packet)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<CaptureContextWithCancellation*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:471,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:474,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:481,1
    - Dst: auto*::device::getLinkType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:485,1
    - Dst: auto*::callback
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:489,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:492,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:498,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:498,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 506
    functionName: pcpp::onPacketArrivesCallbackWithCancellation
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - what
    - reinterpret_cast<CaptureContextWithCancellation*>
    - auto*::callback
    - auto*::device::getLinkType
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesCallbackWithCancellation(uint8_t* user, const pcap_pkthdr*
      pkthdr, const uint8_t* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<AccumulatorCaptureContext*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:514,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:517,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:524,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:525,1
    - Dst: std::make_unique<RawPacket>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:526,1
    - Dst: auto*::device::getLinkType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:527,1
    - Dst: auto*::capturedPackets::pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:528,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - user
    - pkthdr
    - packet
    argTypes:
    - uint8_t*
    - pcap_pkthdr*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 529
    functionName: pcpp::onPacketArrivesAccumulator
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - std::make_unique<RawPacket>
    - auto*::device::getLinkType
    - auto*::capturedPackets::pushBack
    - std::memcpy
    - uint8_t::uint8_t
    - std::move
    - reinterpret_cast<AccumulatorCaptureContext*>
    linkageType: ''
    returnType: void
    signature: void onPacketArrivesAccumulator(uint8_t* user, const pcap_pkthdr* pkthdr,
      const uint8_t* packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:543,1
    - Dst: CaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:543,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:544,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:551,1
    - Dst: pcap_dispatch
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:553,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:553,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:553,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:556,1
    - Dst: pcpp::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:556,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:557,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:561,1
    - Dst: CaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' stopFlag'
    - ' hasStarted'
    - ' pcapDescriptor'
    - context
    argTypes:
    - std::atomic_bool
    - std::atomic_bool
    - internal::PcapHandle
    - CaptureContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 562
    functionName: pcpp::captureThreadMain
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - CaptureContext::device::getName
    - reinterpret_cast<uint8_t*>
    - PCPP_LOG_ERROR
    - load
    - get
    - store
    - pcap_dispatch
    - pcpp::getLastError
    linkageType: ''
    returnType: void
    signature: "void captureThreadMain(std::atomic_bool& stopFlag, std::atomic_bool&
      hasStarted,\n\t\t                       internal::PcapHandle const& pcapDescriptor,
      CaptureContext context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:576,1
    - Dst: AccumulatorCaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:576,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:577,1
    - Dst: load
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:578,1
    - Dst: pcap_dispatch
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:580,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:580,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:581,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:583,1
    - Dst: pcpp::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:583,1
    - Dst: store
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:584,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:588,1
    - Dst: AccumulatorCaptureContext::device::getName
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ' stopFlag'
    - ' hasStarted'
    - ' pcapDescriptor'
    - context
    argTypes:
    - std::atomic_bool
    - std::atomic_bool
    - internal::PcapHandle
    - AccumulatorCaptureContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 589
    functionName: pcpp::captureThreadMainAccumulator
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - reinterpret_cast<uint8_t*>
    - AccumulatorCaptureContext::device::getName
    - PCPP_LOG_ERROR
    - load
    - get
    - store
    - pcap_dispatch
    - pcpp::getLastError
    linkageType: ''
    returnType: void
    signature: "void captureThreadMainAccumulator(std::atomic_bool& stopFlag, std::atomic_bool&
      hasStarted,\n\t\t                                  internal::PcapHandle const&
      pcapDescriptor, AccumulatorCaptureContext context)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:594,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:600,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:602,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:604,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:607,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:607,1
    - Dst: pcpp::PcapLiveDevice::setDeviceMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:613,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:614,1
    - Dst: pcpp::PcapLiveDevice::setDefaultGateway
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:619,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:620,1
    - Dst: pcpp::PcapLiveDevice::setDeviceMacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:629,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - interfaceDetails
    - calculateMTU
    - calculateMacAddress
    - calculateDefaultGateway
    argTypes:
    - DeviceInterfaceDetails
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 592
    functionDepth: 3
    functionLinenumber: 592
    functionLinenumberEnd: 632
    functionName: pcpp::PcapLiveDevice::PcapLiveDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - toString
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::PcapLiveDevice::setDeviceMacAddress
    - PCPP_LOG_DEBUG
    - pcpp::PcapLiveDevice::setDefaultGateway
    - pcpp::PcapLiveDevice::setDeviceMtu
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PcapLiveDevice::PcapLiveDevice(DeviceInterfaceDetails interfaceDetails,
      bool calculateMTU, bool calculateMacAddress,\n\t                               bool
      calculateDefaultGateway)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::isNflogDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:639,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:642,1
    - Dst: pcpp::internal::PcapHandle::PcapHandle
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:645,1
    - Dst: pcap_create
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:645,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:645,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:648,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:648,1
    - Dst: pcap_set_snaplen
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:651,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:651,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:654,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:654,1
    - Dst: auto::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:654,1
    - Dst: pcap_set_promisc
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:657,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:657,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:660,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:660,1
    - Dst: auto::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:660,1
    - Dst: pcap_set_timeout
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:664,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:664,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:667,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:667,1
    - Dst: auto::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:667,1
    - Dst: pcap_set_buffer_size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:672,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:672,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:675,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:675,1
    - Dst: auto::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:675,1
    - Dst: pcap_set_immediate_mode
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:680,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:680,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:683,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:683,1
    - Dst: auto::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:683,1
    - Dst: setTimestampProvider
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:689,1
    - Dst: setTimestampPrecision
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:694,1
    - Dst: pcap_activate
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:697,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:697,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:700,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:700,1
    - Dst: auto::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:700,1
    - Dst: directionTypeMap
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:705,1
    - Dst: pcap_setdirection
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:706,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:706,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:709,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:710,1
    - Dst: auto::getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:710,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:718,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:723,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:728,1
    - Dst: pcap_datalink
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:733,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:733,1
    - Dst: pcap_datalink_val_to_name
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:734,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:737,1
    - Dst: pcap_datalink_val_to_description
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:737,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:742,1
    - Dst: static_cast<LinkLayerType>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:745,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - DeviceConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 634
    functionDepth: 3
    functionLinenumber: 634
    functionLinenumberEnd: 747
    functionName: pcpp::PcapLiveDevice::doOpen
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::internal::PcapHandle::PcapHandle
    - setTimestampPrecision
    - std::string::c_str
    - std::runtime_error
    - pcap_create
    - string
    - auto::get
    - pcap_set_promisc
    - pcap_datalink_val_to_name
    - directionTypeMap
    - pcap_set_immediate_mode
    - setTimestampProvider
    - PCPP_LOG_DEBUG
    - pcpp::PcapLiveDevice::isNflogDevice
    - pcap_datalink
    - to_string
    - pcap_setdirection
    - pcap_datalink_val_to_description
    - auto::getLastError
    - pcap_activate
    - pcap_set_buffer_size
    - static_cast<LinkLayerType>
    - pcap_set_timeout
    - pcap_set_snaplen
    linkageType: ''
    returnType: internal::PcapHandle
    signature: internal::PcapHandle PcapLiveDevice::doOpen(const DeviceConfiguration&
      config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:753,1
    - Dst: pcpp::PcapLiveDevice::doOpen
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:760,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:764,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:764,1
    - Dst: pcpp::PcapLiveDevice::isNflogDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:770,1
    - Dst: pcpp::PcapLiveDevice::doOpen
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:778,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:782,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:782,1
    - Dst: pcpp::PcapLiveDevice::isNflogDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:786,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:792,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:793,1
    - Dst: internal::PcapHandle::release
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:795,1
    - Dst: pcpp::PcapLiveDevice::isNflogDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:798,1
    - Dst: pcap_get_selectable_fd
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:807,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:809,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - DeviceConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 814
    functionName: pcpp::PcapLiveDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 1
    functionsReached:
    - what
    - pcpp::PcapLiveDevice::doOpen
    - PCPP_LOG_ERROR
    - pcap_get_selectable_fd
    - internal::PcapHandle::release
    - PCPP_LOG_DEBUG
    - pcpp::PcapLiveDevice::isNflogDevice
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::open(const DeviceConfiguration& config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 820
    functionName: pcpp::PcapLiveDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::PcapLiveDevice::open
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::open()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:826,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:830,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:831,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:832,1
    - Dst: pcap_close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:835,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:836,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 841
    functionName: pcpp::PcapLiveDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - reset
    - get
    - pcap_close
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PcapLiveDevice::PcapLiveDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: pcpp::PcapLiveDevice::clone
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PcapLiveDevice::PcapLiveDevice
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice * PcapLiveDevice::clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::startCapture
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:850,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - onPacketArrives
    - onPacketArrivesUserCookie
    argTypes:
    - OnPacketArrivesCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 851
    functionName: pcpp::PcapLiveDevice::startCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 3
    functionsReached:
    - pcpp::PcapLiveDevice::startCapture
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::startCapture(OnPacketArrivesCallback onPacketArrives,
      void* onPacketArrivesUserCookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::startCapture
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:856,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - intervalInSecondsToUpdateStats
    - onStatsUpdate
    - onStatsUpdateUserCookie
    argTypes:
    - int
    - OnStatsUpdateCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 858
    functionName: pcpp::PcapLiveDevice::startCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 4
    functionsReached:
    - pcpp::PcapLiveDevice::startCapture
    - std::move
    linkageType: ''
    returnType: bool
    signature: "bool PcapLiveDevice::startCapture(int intervalInSecondsToUpdateStats,
      OnStatsUpdateCallback onStatsUpdate,\n\t                                  void*
      onStatsUpdateUserCookie)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:866,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:872,1
    - Dst: prepareCapture
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:878,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:882,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:882,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:888,1
    - Dst: std::thread
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:891,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:891,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:891,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:892,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:892,1
    - Dst: std::this_thread::yield
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:898,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:900,1
    - Dst: get_id
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:901,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:907,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:909,1
    - Dst: std::thread
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:911,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:911,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:911,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:912,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:914,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - onPacketArrives
    - onPacketArrivesUserCookie
    - intervalInSecondsToUpdateStats
    - onStatsUpdate
    - onStatsUpdateUserCookie
    argTypes:
    - OnPacketArrivesCallback
    - void*
    - int
    - OnStatsUpdateCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 918
    functionName: pcpp::PcapLiveDevice::startCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 4
    functionsReached:
    - std::ref
    - what
    - std::thread
    - get_id
    - std::chrono::seconds
    - PCPP_LOG_ERROR
    - prepareCapture
    - std::this_thread::yield
    - PCPP_LOG_DEBUG
    - std::move
    linkageType: ''
    returnType: bool
    signature: "bool PcapLiveDevice::startCapture(OnPacketArrivesCallback onPacketArrives,
      void* onPacketArrivesUserCookie,\n\t                                  int intervalInSecondsToUpdateStats,
      OnStatsUpdateCallback onStatsUpdate,\n\t                                  void*
      onStatsUpdateUserCookie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:924,1
    - Dst: pcpp::PcapLiveDevice::captureActive
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:928,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:930,1
    - Dst: prepareCapture
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:936,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:940,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:940,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:944,1
    - Dst: std::thread
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:950,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:950,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:951,1
    - Dst: std::ref
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:951,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:951,1
    - Dst: std::this_thread::yield
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:957,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:960,1
    - Dst: get_id
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:961,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - ' capturedPacketsVector'
    argTypes:
    - RawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 964
    functionName: pcpp::PcapLiveDevice::startCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 4
    functionsReached:
    - std::ref
    - what
    - std::thread
    - get_id
    - PCPP_LOG_ERROR
    - prepareCapture
    - clear
    - std::this_thread::yield
    - pcpp::PcapLiveDevice::captureActive
    - PCPP_LOG_DEBUG
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::startCapture(RawPacketVector& capturedPacketsVector)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:971,1
    - Dst: pcpp::PcapLiveDevice::captureActive
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:975,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:977,1
    - Dst: prepareCapture
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:983,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:987,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:987,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:997,1
    - Dst: std::chrono::milliseconds
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:999,1
    - Dst: static_cast<int64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:999,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1004,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1013,1
    - Dst: pcap_dispatch
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1022,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1022,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1023,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1025,1
    - Dst: getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1025,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1044,1
    - Dst: max
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1047,1
    - Dst: static_cast<int64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1047,1
    - Dst: poll
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1049,1
    - Dst: pcap_dispatch
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1053,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1053,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1054,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1056,1
    - Dst: getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1056,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1068,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1068,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1073,1
    - Dst: pcap_dispatch
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1080,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1080,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1081,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1083,1
    - Dst: getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1083,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1093,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 79
    argCount: 3
    argNames:
    - onPacketArrives
    - userCookie
    - timeout
    argTypes:
    - OnPacketArrivesStopBlocking
    - void*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 1111
    functionName: pcpp::PcapLiveDevice::startCaptureBlockingMode
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - max
    - std::chrono::steady_clock::now
    - what
    - getLastError
    - poll
    - pcap_dispatch
    - reinterpret_cast<uint8_t*>
    - PCPP_LOG_ERROR
    - std::chrono::milliseconds
    - prepareCapture
    - strerror
    - get
    - pcpp::PcapLiveDevice::captureActive
    - std::move
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - memset
    - static_cast<int64_t>
    linkageType: ''
    returnType: int
    signature: "int PcapLiveDevice::startCaptureBlockingMode(OnPacketArrivesStopBlocking
      onPacketArrives, void* userCookie,\n\t                                             const
      double timeout)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: joinable
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1116,1
    - Dst: get_id
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1121,1
    - Dst: get_id
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1121,1
    - Dst: iface_get_id
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1121,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1123,1
    - Dst: pcap_breakloop
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1129,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1129,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1130,1
    - Dst: join
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1131,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1133,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1135,1
    - Dst: joinable
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1137,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1139,1
    - Dst: join
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1140,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1113
    functionDepth: 3
    functionLinenumber: 1113
    functionLinenumberEnd: 1145
    functionName: pcpp::PcapLiveDevice::stopCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - pcap_breakloop
    - get_id
    - join
    - std::runtime_error
    - get
    - iface_get_id
    - joinable
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::stopCapture()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1150
    functionName: pcpp::PcapLiveDevice::captureActive
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::captureActive()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::getStatistics
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1154,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PcapStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1158
    functionName: pcpp::PcapLiveDevice::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::PcapLiveDevice::getStatistics
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::getStatistics(PcapStats& stats) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1164,1
    - Dst: matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' filter'
    - rawPacket
    argTypes:
    - GeneralFilter
    - RawPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1169
    functionName: pcpp::PcapLiveDevice::matchPacketWithFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - matches
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::matchPacketWithFilter(GeneralFilter& filter, RawPacket*
      rawPacket)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1175,1
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1179,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - packetPayloadLength
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1171
    functionDepth: 1
    functionLinenumber: 1171
    functionLinenumberEnd: 1186
    functionName: pcpp::PcapLiveDevice::doMtuCheck
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::doMtuCheck(int packetPayloadLength) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - packetPayloadLength
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1191
    functionName: pcpp::PcapLiveDevice::isPayloadWithinMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 9
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::isPayloadWithinMtu(size_t packetPayloadLength)
      const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getFirstLayer
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1197,1
    - Dst: getFirstLayer
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1200,1
    - Dst: getFirstLayer
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1203,1
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' packet'
    - allowUnknownLength
    - outPayloadLength
    argTypes:
    - Packet
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1223
    functionName: pcpp::PcapLiveDevice::isPayloadWithinMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 10
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - getFirstLayer
    linkageType: ''
    returnType: bool
    signature: "bool PcapLiveDevice::isPayloadWithinMtu(Packet const& packet, bool
      allowUnknownLength,\n\t                                        size_t* outPayloadLength)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1230,1
    - Dst: Packet
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1230,1
    - Dst: const_cast<RawPacket*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' rawPacket'
    - allowUnknownLength
    - outPayloadLength
    argTypes:
    - RawPacket
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1232
    functionName: pcpp::PcapLiveDevice::isPayloadWithinMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 11
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - Packet
    - const_cast<RawPacket*>
    linkageType: ''
    returnType: bool
    signature: "bool PcapLiveDevice::isPayloadWithinMtu(RawPacket const& rawPacket,
      bool allowUnknownLength,\n\t                                        size_t*
      outPayloadLength) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1238,1
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1239,1
    - Dst: RawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - packetData
    - packetLen
    - linkType
    - allowUnknown
    - outPayloadLength
    argTypes:
    - uint8_t*
    - size_t
    - LinkLayerType
    - bool
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1234
    functionDepth: 2
    functionLinenumber: 1234
    functionLinenumberEnd: 1241
    functionName: pcpp::PcapLiveDevice::isPayloadWithinMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 12
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - gettimeofday
    - RawPacket
    linkageType: ''
    returnType: bool
    signature: "bool PcapLiveDevice::isPayloadWithinMtu(uint8_t const* packetData,
      size_t packetLen, LinkLayerType linkType,\n\t                                        bool
      allowUnknown, size_t* outPayloadLength) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1249,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1251,1
    - Dst: pcpp::PcapLiveDevice::sendPacketUnchecked
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1257,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' packet'
    - checkMtu
    argTypes:
    - Packet
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1243
    functionDepth: 4
    functionLinenumber: 1243
    functionLinenumberEnd: 1258
    functionName: pcpp::PcapLiveDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 3
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - pcpp::PcapLiveDevice::sendPacketUnchecked
    - getRawPacketReadOnly
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::sendPacket(Packet const& packet, bool checkMtu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1266,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1268,1
    - Dst: pcpp::PcapLiveDevice::sendPacketUnchecked
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' rawPacket'
    - checkMtu
    argTypes:
    - RawPacket
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1260
    functionDepth: 4
    functionLinenumber: 1260
    functionLinenumberEnd: 1275
    functionName: pcpp::PcapLiveDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 3
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - pcpp::PcapLiveDevice::sendPacketUnchecked
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::sendPacket(RawPacket const& rawPacket, bool checkMtu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1281,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1287,1
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1291,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1293,1
    - Dst: pcpp::PcapLiveDevice::sendPacketUnchecked
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - packetData
    - packetDataLength
    - packetPayloadLength
    argTypes:
    - uint8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1277
    functionDepth: 4
    functionLinenumber: 1277
    functionLinenumberEnd: 1299
    functionName: pcpp::PcapLiveDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 3
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - pcpp::PcapLiveDevice::sendPacketUnchecked
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::sendPacket(const uint8_t* packetData, int packetDataLength,
      int packetPayloadLength)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1306,1
    - Dst: pcpp::PcapLiveDevice::isPayloadWithinMtu
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1314,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1316,1
    - Dst: pcpp::PcapLiveDevice::sendPacketUnchecked
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - packetData
    - packetDataLength
    - checkMtu
    - linkType
    argTypes:
    - uint8_t*
    - int
    - bool
    - pcpp::LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1301
    functionDepth: 4
    functionLinenumber: 1301
    functionLinenumberEnd: 1323
    functionName: pcpp::PcapLiveDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 3
    functionsReached:
    - pcpp::PcapLiveDevice::isPayloadWithinMtu
    - pcpp::PcapLiveDevice::sendPacketUnchecked
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: "bool PcapLiveDevice::sendPacket(const uint8_t* packetData, int packetDataLength,
      bool checkMtu,\n\t                                pcpp::LinkLayerType linkType)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1329,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1335,1
    - Dst: pcap_sendpacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1339,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1341,1
    - Dst: pcap_geterr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1341,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - packetData
    - packetDataLength
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1325
    functionDepth: 3
    functionLinenumber: 1325
    functionLinenumberEnd: 1347
    functionName: pcpp::PcapLiveDevice::sendPacketUnchecked
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 8
    functionsReached:
    - PCPP_LOG_DEBUG
    - pcap_geterr
    - PCPP_LOG_ERROR
    - pcap_sendpacket
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::sendPacketUnchecked(uint8_t const* packetData,
      int packetDataLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1354,1
    - Dst: sendFunc
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1358,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - begin
    - end
    - sendFunc
    argTypes:
    - It
    - It
    - Func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1365
    functionName: pcpp::sendPacketsLoop
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - std::distance
    - sendFunc
    linkageType: ''
    returnType: int
    signature: int sendPacketsLoop(It begin, It end, Func sendFunc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1354,1
    - Dst: sendFunc
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1358,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - begin
    - end
    - sendFunc
    argTypes:
    - It
    - It
    - Func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1365
    functionName: pcpp::sendPacketsLoop
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - std::distance
    - sendFunc
    linkageType: ''
    returnType: int
    signature: int sendPacketsLoop(It begin, It end, Func sendFunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendPacketsLoop
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1370,1
    - Dst: pcpp::PcapLiveDevice::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rawPacketsArr
    - arrLength
    - checkMtu
    argTypes:
    - RawPacket*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1368
    functionDepth: 2
    functionLinenumber: 1368
    functionLinenumberEnd: 1372
    functionName: pcpp::PcapLiveDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDevice::sendPacket
    - sendPacketsLoop
    linkageType: ''
    returnType: int
    signature: int PcapLiveDevice::sendPackets(RawPacket* rawPacketsArr, int arrLength,
      bool checkMtu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendPacketsLoop
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1376,1
    - Dst: pcpp::PcapLiveDevice::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - packetsArr
    - arrLength
    - checkMtu
    argTypes:
    - Packet**
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1374
    functionDepth: 2
    functionLinenumber: 1374
    functionLinenumberEnd: 1378
    functionName: pcpp::PcapLiveDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapLiveDevice::sendPacket
    - sendPacketsLoop
    linkageType: ''
    returnType: int
    signature: int PcapLiveDevice::sendPackets(Packet** packetsArr, int arrLength,
      bool checkMtu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sendPacketsLoop
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1382,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1382,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1382,1
    - Dst: pcpp::PcapLiveDevice::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' rawPackets'
    - checkMtu
    argTypes:
    - RawPacketVector
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1380
    functionDepth: 2
    functionLinenumber: 1380
    functionLinenumberEnd: 1384
    functionName: pcpp::PcapLiveDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - end
    - begin
    - pcpp::PcapLiveDevice::sendPacket
    - sendPacketsLoop
    linkageType: ''
    returnType: int
    signature: int PcapLiveDevice::sendPackets(const RawPacketVector& rawPackets,
      bool checkMtu)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1392,1
    - Dst: PacketOpenAdapter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1398,1
    - Dst: const_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1398,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1398,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1401,1
    - Dst: reinterpret_cast<PACKET_OID_DATA*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1406,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1409,1
    - Dst: PacketRequest
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1410,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1415,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1428,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1435,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1441,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1442,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1442,1
    - Dst: socket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1447,1
    - Dst: ioctl
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1448,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1450,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1458,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1458,1
    - Dst: pcpp::KniDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1464,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1386
    functionDepth: 2
    functionLinenumber: 1386
    functionLinenumberEnd: 1467
    functionName: pcpp::PcapLiveDevice::setDeviceMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<PACKET_OID_DATA*>
    - what
    - ioctl
    - PacketOpenAdapter
    - pcpp::KniDevice::close
    - socket
    - name::c_str
    - PCPP_LOG_ERROR
    - strncpy
    - memcpy
    - PCPP_LOG_DEBUG
    - PacketRequest
    - const_cast<char*>
    - memset
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::setDeviceMtu()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PacketOpenAdapter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1473,1
    - Dst: const_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1473,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1473,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1476,1
    - Dst: reinterpret_cast<PACKET_OID_DATA*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1481,1
    - Dst: PacketRequest
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1485,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1492,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1495,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1500,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1507,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1512,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1513,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1513,1
    - Dst: socket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1518,1
    - Dst: ioctl
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1519,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1521,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1525,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1530,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1530,1
    - Dst: pcpp::KniDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1535,1
    - Dst: if_nametoindex
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1546,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1546,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1550,1
    - Dst: sysctl
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1554,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1556,1
    - Dst: sysctl
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1562,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1562,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1564,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1568,1
    - Dst: LLADDR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1570,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1571,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1469
    functionDepth: 2
    functionLinenumber: 1469
    functionLinenumberEnd: 1573
    functionName: pcpp::PcapLiveDevice::setDeviceMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<PACKET_OID_DATA*>
    - what
    - if_nametoindex
    - ioctl
    - PacketOpenAdapter
    - pcpp::KniDevice::close
    - MacAddress
    - socket
    - name::c_str
    - PCPP_LOG_ERROR
    - strncpy
    - std::vector::data
    - PCPP_LOG_DEBUG
    - PacketRequest
    - const_cast<char*>
    - sysctl
    - memset
    - LLADDR
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::setDeviceMacAddress()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<IP_ADAPTER_INFO*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1580,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1580,1
    - Dst: GetAdaptersInfo
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1583,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1586,1
    - Dst: reinterpret_cast<IP_ADAPTER_INFO*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1589,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1589,1
    - Dst: GetAdaptersInfo
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1590,1
    - Dst: name::find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1598,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1602,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1607,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1607,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1617,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1622,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1626,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1631,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1636,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1644,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1648,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1648,1
    - Dst: socket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1662,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1665,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1668,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1668,1
    - Dst: write
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1676,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1676,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1678,1
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1683,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1683,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1685,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1691,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1701,1
    - Dst: pcpp::internal::sockaddr2in_addr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1704,1
    - Dst: roundUpClosestMultiple
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1707,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1715,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1720,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1724,1
    - Dst: inet_ntoa
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1724,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1724,1
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1728,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1731,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1736,1
    - Dst: std::string::at
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1739,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1740,1
    - Dst: std::string::resize
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1743,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1743,1
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1747,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1751,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1751,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1575
    functionDepth: 1
    functionLinenumber: 1575
    functionLinenumberEnd: 1754
    functionName: pcpp::PcapLiveDevice::setDefaultGateway
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached:
    - what
    - std::getline
    - socket
    - pcpp::internal::sockaddr2in_addr
    - PCPP_LOG_ERROR
    - std::string::at
    - inet_ntoa
    - std::string::resize
    - IPv4Address
    - reinterpret_cast<sockaddr*>
    - roundUpClosestMultiple
    - PCPP_LOG_DEBUG
    - std::string::erase
    - std::vector::resize
    - reinterpret_cast<IP_ADAPTER_INFO*>
    - read
    - memset
    - name::find
    - GetAdaptersInfo
    - write
    - std::vector::data
    - executeShellCommand
    - reinterpret_cast<char*>
    - std::string::find
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::setDefaultGateway()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1759,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1759,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1759,1
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1759,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1760,1
    - Dst: auto::getIPv4
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1756
    functionDepth: 1
    functionLinenumber: 1756
    functionLinenumberEnd: 1761
    functionName: pcpp::PcapLiveDevice::getIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - std::find_if
    - auto::getIPv4
    - isIPv4
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address PcapLiveDevice::getIPv4Address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1766,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1766,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1766,1
    - Dst: isIPv6
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1766,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1767,1
    - Dst: auto::getIPv6
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1763
    functionDepth: 1
    functionLinenumber: 1763
    functionLinenumberEnd: 1768
    functionName: pcpp::PcapLiveDevice::getIPv6Address
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - std::find_if
    - auto::getIPv6
    - isIPv6
    linkageType: ''
    returnType: IPv6Address
    signature: IPv6Address PcapLiveDevice::getIPv6Address() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1773
    functionName: pcpp::PcapLiveDevice::getDefaultGateway
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPv4Address
    signature: IPv4Address PcapLiveDevice::getDefaultGateway() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1775
    functionDepth: 1
    functionLinenumber: 1775
    functionLinenumberEnd: 1778
    functionName: '& PcapLiveDevice::getDnsServers() const'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: std::vector<IPv4Address>
    signature: std::vector<IPv4Address> & PcapLiveDevice::getDnsServers() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_lib_version
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1783
    functionName: pcpp::PcapLiveDevice::getPcapLibVersionInfo
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 2
    functionsReached:
    - pcap_lib_version
    linkageType: ''
    returnType: std::string
    signature: std::string PcapLiveDevice::getPcapLibVersionInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1788
    functionName: pcpp::PcapLiveDevice::isNflogDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::isNflogDevice() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1792,1
    - Dst: isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1793,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1795,1
    - Dst: std::string*::empty
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1799,1
    - Dst: clearFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1801,1
    - Dst: setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp:1804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - filterAsString
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1805
    functionName: pcpp::PcapLiveDevice::doUpdateFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - setFilter
    - std::string*::empty
    - clearFilter
    - PCPP_LOG_ERROR
    - isOpened
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool PcapLiveDevice::doUpdateFilter(std::string const* filterAsString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1808
    functionName: PcapLiveDevice::~PcapLiveDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice::~PcapLiveDevice()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:42,1
    - Dst: Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:51,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:55,1
    - Dst: ArpLayer*::getArpHeader
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:60,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:60,1
    - Dst: ArpLayer*::getArpHeader
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:61,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:61,1
    - Dst: ArpLayer*::getSenderIpAddr
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:65,1
    - Dst: std::chrono::duration<double, std::milli>
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:70,1
    - Dst: ArpLayer*::getSenderMacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:73,1
    - Dst: ArpingReceivedData*::cond::notify_one
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - rawPacket
    - userCookie
    argTypes:
    - RawPacket*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: pcpp::arpPacketReceived
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::steady_clock::now
    - htobe16
    - ArpingReceivedData*::cond::notify_one
    - Packet::isPacketOfType
    - ArpLayer*::getArpHeader
    - ArpLayer*::getSenderMacAddress
    - std::chrono::duration<double, std::milli>
    - Packet::getLayerOfType
    - ArpLayer*::getSenderIpAddr
    linkageType: ''
    returnType: void
    signature: void arpPacketReceived(RawPacket* rawPacket, PcapLiveDevice*, void*
      userCookie)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PcapLiveDevice*::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:86,1
    - Dst: PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:89,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:91,1
    - Dst: PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:97,1
    - Dst: PcapLiveDevice*::getIPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:100,1
    - Dst: Packet::addLayer
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:112,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:114,1
    - Dst: Packet::addLayer
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:118,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:120,1
    - Dst: Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:124,1
    - Dst: PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:128,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:130,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:146,1
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:149,1
    - Dst: PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:152,1
    - Dst: PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:155,1
    - Dst: std::condition_variable::wait_for
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:160,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:160,1
    - Dst: PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:163,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:168,1
    - Dst: PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:173,1
    - Dst: PcapLiveDevice*::clearFilter
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 6
    argNames:
    - ipAddr
    - device
    - ' arpResponseTimeMS'
    - sourceMac
    - sourceIP
    - arpTimeout
    argTypes:
    - IPv4Address
    - PcapLiveDevice*
    - double
    - MacAddress
    - IPv4Address
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 181
    functionName: pcpp::NetworkUtils::getMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
    functionUses: 0
    functionsReached:
    - std::condition_variable::wait_for
    - std::chrono::steady_clock::now
    - Packet::computeCalculateFields
    - gettimeofday
    - std::chrono::seconds
    - PcapLiveDevice*::close
    - PCPP_LOG_ERROR
    - PcapLiveDevice*::stopCapture
    - Packet::addLayer
    - PcapLiveDevice*::open
    - PcapLiveDevice*::sendPacket
    - PcapLiveDevice*::clearFilter
    - PcapLiveDevice*::isOpened
    - PcapLiveDevice*::startCapture
    - PcapLiveDevice*::setFilter
    - PcapLiveDevice*::getMacAddress
    - PcapLiveDevice*::getIPv4Address
    linkageType: ''
    returnType: MacAddress
    signature: "MacAddress NetworkUtils::getMacAddress(IPv4Address ipAddr, PcapLiveDevice*
      device, double& arpResponseTimeMS,\n\t                                       MacAddress
      sourceMac, IPv4Address sourceIP, int arpTimeout) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:198,1
    - Dst: Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:207,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:211,1
    - Dst: DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:216,1
    - Dst: DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:217,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:217,1
    - Dst: DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:218,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:218,1
    - Dst: DnsLayer*::getAnswer
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:237,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:242,1
    - Dst: DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:246,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:250,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:257,1
    - Dst: DnsResource*::getData
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:258,1
    - Dst: DnsResource*::getData
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:259,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:264,1
    - Dst: std::chrono::duration<double, std::milli>
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:272,1
    - Dst: DnsResource*::getData
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:275,1
    - Dst: DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:276,1
    - Dst: DNSReceivedData*::cond::notify_one
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - rawPacket
    - userCookie
    argTypes:
    - RawPacket*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 280
    functionName: pcpp::dnsResponseReceived
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::steady_clock::now
    - DnsLayer*::getDnsHeader
    - htobe16
    - Packet::isPacketOfType
    - DnsResource*::getData
    - DnsLayer*::getAnswer
    - std::chrono::duration<double, std::milli>
    - DNSReceivedData*::cond::notify_one
    - PCPP_LOG_DEBUG
    - DnsResource*::getDnsType
    - Packet::getLayerOfType
    - DnsResource*::getTTL
    linkageType: ''
    returnType: void
    signature: void dnsResponseReceived(RawPacket* rawPacket, PcapLiveDevice*, void*
      userCookie)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PcapLiveDevice*::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:290,1
    - Dst: PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:293,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:295,1
    - Dst: PcapLiveDevice*::getDefaultGateway
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:305,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:310,1
    - Dst: pcpp::NetworkUtils::getMacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:316,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:320,1
    - Dst: PcapLiveDevice*::getDnsServers
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:328,1
    - Dst: PcapLiveDevice*::getDnsServers
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:330,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:335,1
    - Dst: PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:342,1
    - Dst: PcapLiveDevice*::getIPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:344,1
    - Dst: IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:345,1
    - Dst: rand
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:350,1
    - Dst: rand
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:357,1
    - Dst: DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:358,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:358,1
    - Dst: DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:359,1
    - Dst: Packet::addLayer
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:362,1
    - Dst: Packet::addLayer
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:362,1
    - Dst: Packet::addLayer
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:362,1
    - Dst: Packet::addLayer
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:363,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:365,1
    - Dst: Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:369,1
    - Dst: PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:373,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:375,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:390,1
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:394,1
    - Dst: PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:397,1
    - Dst: PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:400,1
    - Dst: std::condition_variable::wait_for
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:405,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:405,1
    - Dst: PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:408,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:413,1
    - Dst: PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:418,1
    - Dst: PcapLiveDevice*::clearFilter
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:420,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 7
    argNames:
    - ' hostname'
    - device
    - ' dnsResponseTimeMS'
    - ' dnsTTL'
    - dnsTimeout
    - dnsServerIP
    - gatewayIP
    argTypes:
    - std::string
    - PcapLiveDevice*
    - double
    - uint32_t
    - int
    - IPv4Address
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 427
    functionName: pcpp::NetworkUtils::getIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
    functionUses: 0
    functionsReached:
    - std::condition_variable::wait_for
    - htobe16
    - IPv4Layer::getIPv4Header
    - PCPP_LOG_ERROR
    - Packet::addLayer
    - PcapLiveDevice*::open
    - PcapLiveDevice*::isOpened
    - PcapLiveDevice*::startCapture
    - PcapLiveDevice*::setFilter
    - PcapLiveDevice*::getIPv4Address
    - PcapLiveDevice*::getDnsServers
    - DnsLayer::getDnsHeader
    - Packet::computeCalculateFields
    - std::chrono::seconds
    - PcapLiveDevice*::sendPacket
    - PcapLiveDevice*::getMacAddress
    - gettimeofday
    - PcapLiveDevice*::close
    - PcapLiveDevice*::stopCapture
    - PcapLiveDevice*::clearFilter
    - PcapLiveDevice*::getDefaultGateway
    - std::chrono::steady_clock::now
    - rand
    - pcpp::NetworkUtils::getMacAddress
    - DnsLayer::addQuery
    linkageType: ''
    returnType: IPv4Address
    signature: "IPv4Address NetworkUtils::getIPv4Address(const std::string& hostname,
      PcapLiveDevice* device,\n\t                                         double&
      dnsResponseTimeMS, uint32_t& dnsTTL, int dnsTimeout,\n\t                                         IPv4Address
      dnsServerIP, IPv4Address gatewayIP) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:42,1
    - Dst: Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:51,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:55,1
    - Dst: ArpLayer*::getArpHeader
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:60,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:60,1
    - Dst: ArpLayer*::getArpHeader
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:61,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:61,1
    - Dst: ArpLayer*::getSenderIpAddr
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:65,1
    - Dst: std::chrono::duration<double, std::milli>
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:70,1
    - Dst: ArpLayer*::getSenderMacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:73,1
    - Dst: ArpingReceivedData*::cond::notify_one
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - rawPacket
    - userCookie
    argTypes:
    - RawPacket*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: pcpp::arpPacketReceived
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::steady_clock::now
    - htobe16
    - ArpingReceivedData*::cond::notify_one
    - Packet::isPacketOfType
    - ArpLayer*::getArpHeader
    - ArpLayer*::getSenderMacAddress
    - std::chrono::duration<double, std::milli>
    - Packet::getLayerOfType
    - ArpLayer*::getSenderIpAddr
    linkageType: ''
    returnType: void
    signature: void arpPacketReceived(RawPacket* rawPacket, PcapLiveDevice*, void*
      userCookie)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PcapLiveDevice*::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:86,1
    - Dst: PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:89,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:91,1
    - Dst: PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:97,1
    - Dst: PcapLiveDevice*::getIPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:100,1
    - Dst: Packet::addLayer
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:112,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:114,1
    - Dst: Packet::addLayer
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:118,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:120,1
    - Dst: Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:124,1
    - Dst: PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:128,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:130,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:146,1
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:149,1
    - Dst: PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:152,1
    - Dst: PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:155,1
    - Dst: std::condition_variable::wait_for
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:160,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:160,1
    - Dst: PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:163,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:168,1
    - Dst: PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:173,1
    - Dst: PcapLiveDevice*::clearFilter
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 6
    argNames:
    - ipAddr
    - device
    - ' arpResponseTimeMS'
    - sourceMac
    - sourceIP
    - arpTimeout
    argTypes:
    - IPv4Address
    - PcapLiveDevice*
    - double
    - MacAddress
    - IPv4Address
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 181
    functionName: pcpp::NetworkUtils::getMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
    functionUses: 1
    functionsReached:
    - std::condition_variable::wait_for
    - std::chrono::steady_clock::now
    - Packet::computeCalculateFields
    - gettimeofday
    - std::chrono::seconds
    - PcapLiveDevice*::close
    - PCPP_LOG_ERROR
    - PcapLiveDevice*::stopCapture
    - Packet::addLayer
    - PcapLiveDevice*::open
    - PcapLiveDevice*::sendPacket
    - PcapLiveDevice*::clearFilter
    - PcapLiveDevice*::isOpened
    - PcapLiveDevice*::startCapture
    - PcapLiveDevice*::setFilter
    - PcapLiveDevice*::getMacAddress
    - PcapLiveDevice*::getIPv4Address
    linkageType: ''
    returnType: MacAddress
    signature: "MacAddress NetworkUtils::getMacAddress(IPv4Address ipAddr, PcapLiveDevice*
      device, double& arpResponseTimeMS,\n\t                                       MacAddress
      sourceMac, IPv4Address sourceIP, int arpTimeout) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:198,1
    - Dst: Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:207,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:211,1
    - Dst: DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:216,1
    - Dst: DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:217,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:217,1
    - Dst: DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:218,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:218,1
    - Dst: DnsLayer*::getAnswer
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:237,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:242,1
    - Dst: DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:246,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:250,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:257,1
    - Dst: DnsResource*::getData
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:258,1
    - Dst: DnsResource*::getData
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:259,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:264,1
    - Dst: std::chrono::duration<double, std::milli>
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:272,1
    - Dst: DnsResource*::getData
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:275,1
    - Dst: DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:276,1
    - Dst: DNSReceivedData*::cond::notify_one
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - rawPacket
    - userCookie
    argTypes:
    - RawPacket*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 280
    functionName: pcpp::dnsResponseReceived
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::steady_clock::now
    - DnsLayer*::getDnsHeader
    - htobe16
    - Packet::isPacketOfType
    - DnsResource*::getData
    - DnsLayer*::getAnswer
    - std::chrono::duration<double, std::milli>
    - DNSReceivedData*::cond::notify_one
    - PCPP_LOG_DEBUG
    - DnsResource*::getDnsType
    - Packet::getLayerOfType
    - DnsResource*::getTTL
    linkageType: ''
    returnType: void
    signature: void dnsResponseReceived(RawPacket* rawPacket, PcapLiveDevice*, void*
      userCookie)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PcapLiveDevice*::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:290,1
    - Dst: PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:293,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:295,1
    - Dst: PcapLiveDevice*::getDefaultGateway
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:305,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:310,1
    - Dst: pcpp::NetworkUtils::getMacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:316,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:320,1
    - Dst: PcapLiveDevice*::getDnsServers
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:328,1
    - Dst: PcapLiveDevice*::getDnsServers
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:330,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:335,1
    - Dst: PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:342,1
    - Dst: PcapLiveDevice*::getIPv4Address
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:344,1
    - Dst: IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:345,1
    - Dst: rand
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:350,1
    - Dst: rand
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:357,1
    - Dst: DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:358,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:358,1
    - Dst: DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:359,1
    - Dst: Packet::addLayer
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:362,1
    - Dst: Packet::addLayer
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:362,1
    - Dst: Packet::addLayer
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:362,1
    - Dst: Packet::addLayer
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:363,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:365,1
    - Dst: Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:369,1
    - Dst: PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:373,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:375,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:390,1
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:394,1
    - Dst: PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:397,1
    - Dst: PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:400,1
    - Dst: std::condition_variable::wait_for
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:405,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:405,1
    - Dst: PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:408,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:413,1
    - Dst: PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:418,1
    - Dst: PcapLiveDevice*::clearFilter
      Src: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp:420,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 7
    argNames:
    - ' hostname'
    - device
    - ' dnsResponseTimeMS'
    - ' dnsTTL'
    - dnsTimeout
    - dnsServerIP
    - gatewayIP
    argTypes:
    - std::string
    - PcapLiveDevice*
    - double
    - uint32_t
    - int
    - IPv4Address
    - IPv4Address
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 427
    functionName: pcpp::NetworkUtils::getIPv4Address
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
    functionUses: 0
    functionsReached:
    - std::condition_variable::wait_for
    - htobe16
    - IPv4Layer::getIPv4Header
    - PCPP_LOG_ERROR
    - Packet::addLayer
    - PcapLiveDevice*::open
    - PcapLiveDevice*::isOpened
    - PcapLiveDevice*::startCapture
    - PcapLiveDevice*::setFilter
    - PcapLiveDevice*::getIPv4Address
    - PcapLiveDevice*::getDnsServers
    - DnsLayer::getDnsHeader
    - Packet::computeCalculateFields
    - std::chrono::seconds
    - PcapLiveDevice*::sendPacket
    - PcapLiveDevice*::getMacAddress
    - gettimeofday
    - PcapLiveDevice*::close
    - PcapLiveDevice*::stopCapture
    - PcapLiveDevice*::clearFilter
    - PcapLiveDevice*::getDefaultGateway
    - std::chrono::steady_clock::now
    - rand
    - pcpp::NetworkUtils::getMacAddress
    - DnsLayer::addQuery
    linkageType: ''
    returnType: IPv4Address
    signature: "IPv4Address NetworkUtils::getIPv4Address(const std::string& hostname,
      PcapLiveDevice* device,\n\t                                         double&
      dnsResponseTimeMS, uint32_t& dnsTTL, int dnsTimeout,\n\t                                         IPv4Address
      dnsServerIP, IPv4Address gatewayIP) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:45,1
    - Dst: MAKEWORD
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:45,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: pcpp::WinSockInitializer::initialize
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - MAKEWORD
    - WSAStartup
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - socket
    argTypes:
    - SOCKET
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: pcpp::SocketContainer
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SocketContainer(SOCKET socket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - socket
    - index
    - name
    argTypes:
    - int
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: pcpp::SocketContainer
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SocketContainer(int socket, int index, std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinSockInitializer::initialize
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:82,1
    - Dst: getType
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' interfaceIP'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: pcpp::RawSocketDevice::RawSocketDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WinSockInitializer::initialize
    - getType
    linkageType: ''
    returnType: void
    signature: void RawSocketDevice::RawSocketDevice(const IPAddress& interfaceIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: RawSocketDevice::~RawSocketDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void RawSocketDevice::~RawSocketDevice()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawSocketDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:108,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:110,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:115,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:116,1
    - Dst: ioctlsocket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:123,1
    - Dst: setsockopt
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:126,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:126,1
    - Dst: recv
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:129,1
    - Dst: pcpp::RawSocketDevice::getError
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:134,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:137,1
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:145,1
    - Dst: setRawData
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:146,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:150,1
    - Dst: pcpp::RawSocketDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:156,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:158,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:163,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:164,1
    - Dst: fcntl
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:171,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:175,1
    - Dst: fcntl
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:179,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:182,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:188,1
    - Dst: static_cast<long int>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:189,1
    - Dst: setsockopt
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:190,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:190,1
    - Dst: recv
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:192,1
    - Dst: pcpp::RawSocketDevice::getError
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:197,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:200,1
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:208,1
    - Dst: setRawData
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:209,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:213,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:219,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 3
    argNames:
    - ' rawPacket'
    - blocking
    - timeout
    argTypes:
    - RawPacket
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 223
    functionName: pcpp::RawSocketDevice::receivePacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - ioctlsocket
    - recv
    - reinterpret_cast<const char*>
    - pcpp::RawSocketDevice::isOpened
    - pcpp::RawSocketDevice::getError
    - fcntl
    - static_cast<int>
    - char::char
    - gettimeofday
    - PCPP_LOG_ERROR
    - static_cast<long int>
    - setRawData
    - memset
    - setsockopt
    linkageType: ''
    returnType: RawSocketDevice::RecvPacketResult
    signature: "RawSocketDevice::RecvPacketResult RawSocketDevice::receivePacket(RawPacket&
      rawPacket, bool blocking,\n\t                                                                 double
      timeout)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawSocketDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:227,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:229,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:238,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:242,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:243,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:244,1
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:251,1
    - Dst: pcpp::RawSocketDevice::receivePacket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:252,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' packetVec'
    - timeout
    - ' failedRecv'
    argTypes:
    - RawPacketVector
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 265
    functionName: pcpp::RawSocketDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::steady_clock::now
    - RawPacket::RawPacket
    - pcpp::RawSocketDevice::receivePacket
    - pcpp::RawSocketDevice::isOpened
    - static_cast<double>
    - PCPP_LOG_ERROR
    - pushBack
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int
    signature: int RawSocketDevice::receivePackets(RawPacketVector& packetVec, double
      timeout, int& failedRecv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:271,1
    - Dst: pcpp::RawSocketDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:276,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:278,1
    - Dst: Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:283,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:285,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:292,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:293,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:294,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:298,1
    - Dst: EthLayer*::getDestMac
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:299,1
    - Dst: MacAddress::copyTo
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:300,1
    - Dst: ::sendto
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:302,1
    - Dst: RawPacket*::getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:302,1
    - Dst: RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:302,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:302,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:305,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:305,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - rawPacket
    argTypes:
    - RawPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 317
    functionName: pcpp::RawSocketDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - EthLayer*::getDestMac
    - MacAddress::copyTo
    - RawPacket*::getRawDataLen
    - pcpp::RawSocketDevice::isOpened
    - ::sendto
    - Packet::isPacketOfType
    - reinterpret_cast<sockaddr*>
    - RawPacket*::getRawData
    - PCPP_LOG_ERROR
    - strerror
    - memset
    - Packet::getLayerOfType
    linkageType: ''
    returnType: bool
    signature: bool RawSocketDevice::sendPacket(const RawPacket* rawPacket)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:323,1
    - Dst: pcpp::RawSocketDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:328,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:330,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:337,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:338,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:339,1
    - Dst: Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:348,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:350,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:354,1
    - Dst: EthLayer*::getDestMac
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:355,1
    - Dst: MacAddress::copyTo
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:356,1
    - Dst: ::sendto
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:358,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:358,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:358,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:358,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:361,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:361,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ' packetVec'
    argTypes:
    - RawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 376
    functionName: pcpp::RawSocketDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - EthLayer*::getDestMac
    - MacAddress::copyTo
    - getRawData
    - pcpp::RawSocketDevice::isOpened
    - ::sendto
    - Packet::isPacketOfType
    - reinterpret_cast<sockaddr*>
    - PCPP_LOG_ERROR
    - strerror
    - PCPP_LOG_DEBUG
    - memset
    - Packet::getLayerOfType
    - getRawDataLen
    linkageType: ''
    returnType: int
    signature: int RawSocketDevice::sendPackets(const RawPacketVector& packetVec)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:383,1
    - Dst: WSAGetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:386,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:391,1
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:403,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:403,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:406,1
    - Dst: closesocket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:407,1
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:417,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:417,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:420,1
    - Dst: closesocket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:421,1
    - Dst: bind
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:430,1
    - Dst: static_cast<sockaddr*>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:430,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:432,1
    - Dst: WSAGetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:432,1
    - Dst: closesocket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:433,1
    - Dst: WSAIoctl
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:441,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:443,1
    - Dst: WSAGetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:444,1
    - Dst: closesocket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:445,1
    - Dst: std::make_unique<SocketContainer>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:449,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:457,1
    - Dst: socket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:461,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:461,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:464,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:464,1
    - Dst: getifaddrs
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:470,1
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:481,1
    - Dst: strcmp
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:483,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:483,1
    - Dst: if_nametoindex
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:486,1
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:493,1
    - Dst: strcmp
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:495,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:495,1
    - Dst: if_nametoindex
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:498,1
    - Dst: freeifaddrs
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:503,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:507,1
    - Dst: pcpp::KniDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:508,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:514,1
    - Dst: htons
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:516,1
    - Dst: if_nametoindex
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:517,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:517,1
    - Dst: bind
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:519,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:519,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:521,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:521,1
    - Dst: pcpp::KniDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:522,1
    - Dst: std::make_unique<SocketContainer>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:526,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:534,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 538
    functionName: pcpp::RawSocketDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - socket
    - WSAIoctl
    - PCPP_LOG_ERROR
    - inet_pton
    - std::string::c_str
    - inet_ntop
    - if_nametoindex
    - reinterpret_cast<sockaddr*>
    - freeifaddrs
    - bind
    - strerror
    - strcmp
    - pcpp::KniDevice::close
    - memset
    - std::make_unique<SocketContainer>
    - toString
    - WSAGetLastError
    - htons
    - closesocket
    - static_cast<sockaddr*>
    - getifaddrs
    linkageType: ''
    returnType: bool
    signature: bool RawSocketDevice::open()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawSocketDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:542,1
    - Dst: closesocket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:545,1
    - Dst: pcpp::KniDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 552
    functionName: pcpp::RawSocketDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::KniDevice::close
    - closesocket
    - pcpp::RawSocketDevice::isOpened
    linkageType: ''
    returnType: void
    signature: void RawSocketDevice::close()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WSAGetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' errorCode'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 572
    functionName: pcpp::RawSocketDevice::getError
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 1
    functionsReached:
    - WSAGetLastError
    linkageType: ''
    returnType: RawSocketDevice::RecvPacketResult
    signature: RawSocketDevice::RecvPacketResult RawSocketDevice::getError(int& errorCode)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:45,1
    - Dst: MAKEWORD
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:45,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: pcpp::WinSockInitializer::initialize
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 1
    functionsReached:
    - MAKEWORD
    - WSAStartup
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void initialize()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - socket
    argTypes:
    - SOCKET
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: pcpp::SocketContainer
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SocketContainer(SOCKET socket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - socket
    - index
    - name
    argTypes:
    - int
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: pcpp::SocketContainer
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SocketContainer(int socket, int index, std::string name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinSockInitializer::initialize
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:82,1
    - Dst: getType
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' interfaceIP'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: pcpp::RawSocketDevice::RawSocketDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WinSockInitializer::initialize
    - getType
    linkageType: ''
    returnType: void
    signature: void RawSocketDevice::RawSocketDevice(const IPAddress& interfaceIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: RawSocketDevice::~RawSocketDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void RawSocketDevice::~RawSocketDevice()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawSocketDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:108,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:110,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:115,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:116,1
    - Dst: ioctlsocket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:123,1
    - Dst: setsockopt
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:126,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:126,1
    - Dst: recv
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:129,1
    - Dst: pcpp::RawSocketDevice::getError
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:134,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:137,1
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:145,1
    - Dst: setRawData
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:146,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:150,1
    - Dst: pcpp::RawSocketDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:156,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:158,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:163,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:164,1
    - Dst: fcntl
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:171,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:175,1
    - Dst: fcntl
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:179,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:182,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:188,1
    - Dst: static_cast<long int>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:189,1
    - Dst: setsockopt
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:190,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:190,1
    - Dst: recv
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:192,1
    - Dst: pcpp::RawSocketDevice::getError
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:197,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:200,1
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:208,1
    - Dst: setRawData
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:209,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:213,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:219,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 3
    argNames:
    - ' rawPacket'
    - blocking
    - timeout
    argTypes:
    - RawPacket
    - bool
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 223
    functionName: pcpp::RawSocketDevice::receivePacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 1
    functionsReached:
    - ioctlsocket
    - recv
    - reinterpret_cast<const char*>
    - pcpp::RawSocketDevice::isOpened
    - pcpp::RawSocketDevice::getError
    - fcntl
    - static_cast<int>
    - char::char
    - gettimeofday
    - PCPP_LOG_ERROR
    - static_cast<long int>
    - setRawData
    - memset
    - setsockopt
    linkageType: ''
    returnType: RawSocketDevice::RecvPacketResult
    signature: "RawSocketDevice::RecvPacketResult RawSocketDevice::receivePacket(RawPacket&
      rawPacket, bool blocking,\n\t                                                                 double
      timeout)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawSocketDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:227,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:229,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:238,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:242,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:243,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:244,1
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:251,1
    - Dst: pcpp::RawSocketDevice::receivePacket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:252,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' packetVec'
    - timeout
    - ' failedRecv'
    argTypes:
    - RawPacketVector
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 265
    functionName: pcpp::RawSocketDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::steady_clock::now
    - RawPacket::RawPacket
    - pcpp::RawSocketDevice::receivePacket
    - pcpp::RawSocketDevice::isOpened
    - static_cast<double>
    - PCPP_LOG_ERROR
    - pushBack
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int
    signature: int RawSocketDevice::receivePackets(RawPacketVector& packetVec, double
      timeout, int& failedRecv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:271,1
    - Dst: pcpp::RawSocketDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:276,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:278,1
    - Dst: Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:283,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:285,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:292,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:293,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:294,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:298,1
    - Dst: EthLayer*::getDestMac
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:299,1
    - Dst: MacAddress::copyTo
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:300,1
    - Dst: ::sendto
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:302,1
    - Dst: RawPacket*::getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:302,1
    - Dst: RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:302,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:302,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:305,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:305,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - rawPacket
    argTypes:
    - RawPacket*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 317
    functionName: pcpp::RawSocketDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - EthLayer*::getDestMac
    - MacAddress::copyTo
    - RawPacket*::getRawDataLen
    - pcpp::RawSocketDevice::isOpened
    - ::sendto
    - Packet::isPacketOfType
    - reinterpret_cast<sockaddr*>
    - RawPacket*::getRawData
    - PCPP_LOG_ERROR
    - strerror
    - memset
    - Packet::getLayerOfType
    linkageType: ''
    returnType: bool
    signature: bool RawSocketDevice::sendPacket(const RawPacket* rawPacket)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:323,1
    - Dst: pcpp::RawSocketDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:328,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:330,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:337,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:338,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:339,1
    - Dst: Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:348,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:350,1
    - Dst: Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:354,1
    - Dst: EthLayer*::getDestMac
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:355,1
    - Dst: MacAddress::copyTo
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:356,1
    - Dst: ::sendto
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:358,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:358,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:358,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:358,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:361,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:361,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ' packetVec'
    argTypes:
    - RawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 376
    functionName: pcpp::RawSocketDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - EthLayer*::getDestMac
    - MacAddress::copyTo
    - getRawData
    - pcpp::RawSocketDevice::isOpened
    - ::sendto
    - Packet::isPacketOfType
    - reinterpret_cast<sockaddr*>
    - PCPP_LOG_ERROR
    - strerror
    - PCPP_LOG_DEBUG
    - memset
    - Packet::getLayerOfType
    - getRawDataLen
    linkageType: ''
    returnType: int
    signature: int RawSocketDevice::sendPackets(const RawPacketVector& packetVec)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:383,1
    - Dst: WSAGetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:386,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:391,1
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:403,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:403,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:406,1
    - Dst: closesocket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:407,1
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:417,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:417,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:420,1
    - Dst: closesocket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:421,1
    - Dst: bind
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:430,1
    - Dst: static_cast<sockaddr*>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:430,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:432,1
    - Dst: WSAGetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:432,1
    - Dst: closesocket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:433,1
    - Dst: WSAIoctl
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:441,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:443,1
    - Dst: WSAGetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:444,1
    - Dst: closesocket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:445,1
    - Dst: std::make_unique<SocketContainer>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:449,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:457,1
    - Dst: socket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:461,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:461,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:464,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:464,1
    - Dst: getifaddrs
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:470,1
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:481,1
    - Dst: strcmp
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:483,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:483,1
    - Dst: if_nametoindex
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:486,1
    - Dst: inet_ntop
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:493,1
    - Dst: strcmp
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:495,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:495,1
    - Dst: if_nametoindex
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:498,1
    - Dst: freeifaddrs
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:503,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:507,1
    - Dst: pcpp::KniDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:508,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:514,1
    - Dst: htons
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:516,1
    - Dst: if_nametoindex
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:517,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:517,1
    - Dst: bind
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:519,1
    - Dst: reinterpret_cast<sockaddr*>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:519,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:521,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:521,1
    - Dst: pcpp::KniDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:522,1
    - Dst: std::make_unique<SocketContainer>
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:526,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:534,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 538
    functionName: pcpp::RawSocketDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - socket
    - WSAIoctl
    - PCPP_LOG_ERROR
    - inet_pton
    - std::string::c_str
    - inet_ntop
    - if_nametoindex
    - reinterpret_cast<sockaddr*>
    - freeifaddrs
    - bind
    - strerror
    - strcmp
    - pcpp::KniDevice::close
    - memset
    - std::make_unique<SocketContainer>
    - toString
    - WSAGetLastError
    - htons
    - closesocket
    - static_cast<sockaddr*>
    - getifaddrs
    linkageType: ''
    returnType: bool
    signature: bool RawSocketDevice::open()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::RawSocketDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:542,1
    - Dst: closesocket
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:545,1
    - Dst: pcpp::KniDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 552
    functionName: pcpp::RawSocketDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::KniDevice::close
    - closesocket
    - pcpp::RawSocketDevice::isOpened
    linkageType: ''
    returnType: void
    signature: void RawSocketDevice::close()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WSAGetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' errorCode'
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 572
    functionName: pcpp::RawSocketDevice::getError
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    functionUses: 2
    functionsReached:
    - WSAGetLastError
    linkageType: ''
    returnType: RawSocketDevice::RecvPacketResult
    signature: RawSocketDevice::RecvPacketResult RawSocketDevice::getError(int& errorCode)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_findalldevs
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:18,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:18,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 25
    functionName: pcpp::internal::getAllLocalPcapDevices
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp
    functionUses: 4
    functionsReached:
    - string
    - std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
    - std::runtime_error
    - std::array::data
    - pcap_findalldevs
    - std::array::end
    - std::array::begin
    linkageType: ''
    returnType: std::unique_ptr<pcap_if_t, PcapFreeAllDevsDeleter>
    signature: std::unique_ptr<pcap_if_t, PcapFreeAllDevsDeleter> getAllLocalPcapDevices()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_findalldevs
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:18,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:18,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 25
    functionName: pcpp::internal::getAllLocalPcapDevices
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp
    functionUses: 4
    functionsReached:
    - string
    - std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
    - std::runtime_error
    - std::array::data
    - pcap_findalldevs
    - std::array::end
    - std::array::begin
    linkageType: ''
    returnType: std::unique_ptr<pcap_if_t, PcapFreeAllDevsDeleter>
    signature: std::unique_ptr<pcap_if_t, PcapFreeAllDevsDeleter> getAllLocalPcapDevices()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_findalldevs
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:18,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:18,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 25
    functionName: pcpp::internal::getAllLocalPcapDevices
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp
    functionUses: 4
    functionsReached:
    - string
    - std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
    - std::runtime_error
    - std::array::data
    - pcap_findalldevs
    - std::array::end
    - std::array::begin
    linkageType: ''
    returnType: std::unique_ptr<pcap_if_t, PcapFreeAllDevsDeleter>
    signature: std::unique_ptr<pcap_if_t, PcapFreeAllDevsDeleter> getAllLocalPcapDevices()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_findalldevs
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:18,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:18,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:21,1
    - Dst: std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
      Src: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 25
    functionName: pcpp::internal::getAllLocalPcapDevices
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp
    functionUses: 4
    functionsReached:
    - string
    - std::unique_ptr<pcap_if_t, internal::PcapFreeAllDevsDeleter>
    - std::runtime_error
    - std::array::data
    - pcap_findalldevs
    - std::array::end
    - std::array::begin
    linkageType: ''
    returnType: std::unique_ptr<pcap_if_t, PcapFreeAllDevsDeleter>
    signature: std::unique_ptr<pcap_if_t, PcapFreeAllDevsDeleter> getAllLocalPcapDevices()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: IS_POWER_OF_TWO
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_POWER_OF_TWO(num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:46,1
    - Dst: getpagesize
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:46,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:48,1
    - Dst: xsk_umem_info::xsk_umem_info
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:57,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:58,1
    - Dst: xsk_umem__create
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:60,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:63,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:63,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - numFrames
    - frameSize
    - fillRingSize
    - completionRingSize
    argTypes:
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: "XdpDevice::XdpUmem::XdpUmem(uint16_t numFrames, uint16_t frameSize,
      uint32_t fillRingSize,\n\t                            uint32_t completionRingSize)"
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - xsk_umem_info::xsk_umem_info
    - posix_memalign
    - push_back
    - std::runtime_error
    - xsk_umem__create
    - memset
    - getpagesize
    - to_string
    linkageType: ''
    returnType: void
    signature: "void XdpDevice::XdpUmem::XdpUmem(uint16_t numFrames, uint16_t frameSize,
      uint32_t fillRingSize,\n\t                            uint32_t completionRingSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xsk_umem__delete
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:79,1
    - Dst: static_cast<xsk_umem_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:79,1
    - Dst: free
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: XdpDevice::XdpUmem::~XdpUmem()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<xsk_umem_info*>
    - xsk_umem__delete
    - free
    linkageType: ''
    returnType: void
    signature: void XdpDevice::XdpUmem::~XdpUmem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:85,1
    - Dst: xsk_umem__get_data
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '* XdpDevice::XdpUmem::getDataPtr(uint64_t addr) const'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const uint8_t*>
    - xsk_umem__get_data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * XdpDevice::XdpUmem::getDataPtr(uint64_t addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:90,1
    - Dst: xsk_umem__get_data
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:90,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - data
    - dataLen
    argTypes:
    - uint64_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: XdpDevice::XdpUmem::setData(uint64_t addr, const uint8_t* data,
      size_t dataLen)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - xsk_umem__get_data
    - static_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void XdpDevice::XdpUmem::setData(uint64_t addr, const uint8_t* data,
      size_t dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:96,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:98,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:99,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:106,1
    - Dst: back
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:106,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: XdpDevice::XdpUmem::allocateFrames(uint32_t count)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - back
    - std::vector::push_back
    - PCPP_LOG_ERROR
    - size
    - pop_back
    linkageType: ''
    returnType: std::pair<bool, std::vector<uint64_t>>
    signature: std::pair<bool, std::vector<uint64_t>> XdpDevice::XdpUmem::allocateFrames(uint32_t
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: XdpDevice::XdpUmem::freeFrame(uint64_t addr)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void XdpDevice::XdpUmem::freeFrame(uint64_t addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:120,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:123,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - interfaceName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: pcpp::XdpDevice::XdpDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - memset
    - std::move
    linkageType: ''
    returnType: void
    signature: void XdpDevice::XdpDevice(std::string interfaceName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: XdpDevice::~XdpDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void XdpDevice::~XdpDevice()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:136,1
    - Dst: static_cast<xsk_socket_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:140,1
    - Dst: xsk_socket__fd
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:146,1
    - Dst: pcpp::XdpDevice::checkCompletionRing
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:151,1
    - Dst: poll
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:153,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:165,1
    - Dst: xsk_ring_cons__peek
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:172,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:183,1
    - Dst: xsk_ring_cons__rx_desc
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:187,1
    - Dst: xsk_ring_cons__rx_desc
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:188,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:190,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:192,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:194,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:194,1
    - Dst: freeFrame
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:198,1
    - Dst: onPacketsArrive
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:201,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:201,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:201,1
    - Dst: xsk_ring_cons__release
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:203,1
    - Dst: pcpp::XdpDevice::populateFillRing
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:206,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:212,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - onPacketsArrive
    - onPacketsArriveUserCookie
    - timeoutMS
    argTypes:
    - OnPacketsArrive
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 216
    functionName: pcpp::XdpDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::XdpDevice::checkCompletionRing
    - static_cast<xsk_socket_info*>
    - PCPP_LOG_ERROR
    - std::vector::clear
    - freeFrame
    - std::vector::reserve
    - clock_gettime
    - std::vector::emplace_back
    - xsk_socket__fd
    - static_cast<int>
    - poll
    - pcpp::XdpDevice::populateFillRing
    - xsk_ring_cons__rx_desc
    - std::vector::size
    - xsk_ring_cons__peek
    - xsk_ring_cons__release
    - std::vector::data
    - getDataPtr
    - onPacketsArrive
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::receivePackets(OnPacketsArrive onPacketsArrive, void*
      onPacketsArriveUserCookie, int timeoutMS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: pcpp::XdpDevice::stopReceivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XdpDevice::stopReceivePackets()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:229,1
    - Dst: static_cast<xsk_socket_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:233,1
    - Dst: pcpp::XdpDevice::checkCompletionRing
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:235,1
    - Dst: getPacketCount
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:238,1
    - Dst: allocateFrames
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:240,1
    - Dst: xsk_ring_prod__reserve
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:246,1
    - Dst: freeFrame
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:250,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:252,1
    - Dst: getPacketAt
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:258,1
    - Dst: getFrameSize
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:258,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:260,1
    - Dst: getPacketAt
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:260,1
    - Dst: getFrameSize
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:262,1
    - Dst: setData
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:271,1
    - Dst: getPacketAt
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:271,1
    - Dst: getPacketAt
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:271,1
    - Dst: xsk_ring_prod__tx_desc
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:273,1
    - Dst: getPacketAt
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:275,1
    - Dst: xsk_ring_prod__submit
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:280,1
    - Dst: pcpp::XdpDevice::checkCompletionRing
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:287,1
    - Dst: xsk_socket__fd
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:290,1
    - Dst: poll
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:294,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:297,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:302,1
    - Dst: pcpp::XdpDevice::checkCompletionRing
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:306,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - ' getPacketAt'
    - ' getPacketCount'
    - waitForTxCompletion
    - waitForTxCompletionTimeoutMS
    argTypes:
    - std::function<RawPacket(uint32_t)>
    - std::function<uint32_t()>
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 311
    functionName: pcpp::XdpDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::XdpDevice::checkCompletionRing
    - xsk_ring_prod__tx_desc
    - allocateFrames
    - static_cast<xsk_socket_info*>
    - xsk_socket__fd
    - xsk_ring_prod__submit
    - poll
    - getPacketCount
    - PCPP_LOG_ERROR
    - getFrameSize
    - freeFrame
    - getPacketAt
    - xsk_ring_prod__reserve
    - setData
    linkageType: ''
    returnType: bool
    signature: "bool XdpDevice::sendPackets(const std::function<RawPacket(uint32_t)>&
      getPacketAt,\n\t                            const std::function<uint32_t()>&
      getPacketCount, bool waitForTxCompletion,\n\t                            int
      waitForTxCompletionTimeoutMS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::XdpDevice::sendPackets
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:316,1
    - Dst: at
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:316,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:316,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' packets'
    - waitForTxCompletion
    - waitForTxCompletionTimeoutMS
    argTypes:
    - RawPacketVector
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: pcpp::XdpDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::XdpDevice::sendPackets
    - at
    - static_cast<int>
    - size
    linkageType: ''
    returnType: bool
    signature: "bool XdpDevice::sendPackets(const RawPacketVector& packets, bool waitForTxCompletion,\n\t
      \                           int waitForTxCompletionTimeoutMS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::XdpDevice::sendPackets
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:323,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - packets
    - packetCount
    - waitForTxCompletion
    - waitForTxCompletionTimeoutMS
    argTypes:
    - RawPacket[]
    - size_t
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: pcpp::XdpDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::XdpDevice::sendPackets
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: "bool XdpDevice::sendPackets(RawPacket packets[], size_t packetCount,
      bool waitForTxCompletion,\n\t                            int waitForTxCompletionTimeoutMS)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allocateFrames
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:329,1
    - Dst: pcpp::XdpDevice::populateFillRing
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:335,1
    - Dst: freeFrame
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - count
    - rxId
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: pcpp::XdpDevice::populateFillRing
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::XdpDevice::populateFillRing
    - allocateFrames
    - freeFrame
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::populateFillRing(uint32_t count, uint32_t rxId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<xsk_umem_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:349,1
    - Dst: getInfo
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:349,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:350,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:350,1
    - Dst: xsk_ring_prod__reserve
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:352,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:355,1
    - Dst: xsk_ring_prod__fill_addr
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:361,1
    - Dst: xsk_ring_prod__submit
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' addresses'
    - rxId
    argTypes:
    - std::vector<uint64_t>
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 368
    functionName: pcpp::XdpDevice::populateFillRing
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 2
    functionsReached:
    - getInfo
    - static_cast<xsk_umem_info*>
    - xsk_ring_prod__fill_addr
    - xsk_ring_prod__submit
    - PCPP_LOG_ERROR
    - size
    - static_cast<uint32_t>
    - xsk_ring_prod__reserve
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::populateFillRing(const std::vector<uint64_t>& addresses,
      uint32_t rxId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<xsk_umem_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:373,1
    - Dst: getInfo
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:373,1
    - Dst: static_cast<xsk_socket_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:375,1
    - Dst: xsk_ring_prod__needs_wakeup
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:376,1
    - Dst: sendto
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:378,1
    - Dst: xsk_socket__fd
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:378,1
    - Dst: xsk_ring_cons__peek
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:381,1
    - Dst: xsk_ring_cons__comp_addr
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:387,1
    - Dst: freeFrame
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:388,1
    - Dst: xsk_ring_cons__release
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: pcpp::XdpDevice::checkCompletionRing
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 2
    functionsReached:
    - getInfo
    - xsk_ring_cons__comp_addr
    - static_cast<xsk_socket_info*>
    - static_cast<xsk_umem_info*>
    - xsk_ring_cons__peek
    - xsk_ring_cons__release
    - freeFrame
    - xsk_ring_prod__needs_wakeup
    - xsk_socket__fd
    - sendto
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t XdpDevice::checkCompletionRing()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xsk_socket_info::xsk_socket_info
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:401,1
    - Dst: static_cast<xsk_umem_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:403,1
    - Dst: getInfo
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:403,1
    - Dst: xsk_socket__create
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:422,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:422,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 433
    functionName: pcpp::XdpDevice::configureSocket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - getInfo
    - static_cast<xsk_umem_info*>
    - PCPP_LOG_ERROR
    - xsk_socket__create
    - xsk_socket_info::xsk_socket_info
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::configureSocket()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XdpUmem::XdpUmem
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: pcpp::XdpDevice::initUmem
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - XdpUmem::XdpUmem
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::initUmem()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:445,1
    - Dst: getpagesize
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:453,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:455,1
    - Dst: getpagesize
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:455,1
    - Dst: IS_POWER_OF_TWO
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:459,1
    - Dst: IS_POWER_OF_TWO
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:459,1
    - Dst: IS_POWER_OF_TWO
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:459,1
    - Dst: IS_POWER_OF_TWO
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:460,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:462,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:468,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:476,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:484,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:491,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:498,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - XdpDeviceConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 511
    functionName: pcpp::XdpDevice::populateConfigDefaults
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - IS_POWER_OF_TWO
    - getpagesize
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::populateConfigDefaults(XdpDeviceConfiguration& config)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: pcpp::XdpDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::XdpDevice::open
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::open()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:522,1
    - Dst: std::make_unique<XdpDeviceConfiguration>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:526,1
    - Dst: pcpp::XdpDevice::populateConfigDefaults
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:527,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:531,1
    - Dst: pcpp::XdpDevice::initUmem
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:533,1
    - Dst: pcpp::XdpDevice::populateFillRing
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:534,1
    - Dst: min
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:534,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:534,1
    - Dst: pcpp::XdpDevice::configureSocket
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:535,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:542,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:546,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - XdpDeviceConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 551
    functionName: pcpp::XdpDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 2
    functionsReached:
    - reset
    - pcpp::XdpDevice::configureSocket
    - pcpp::XdpDevice::initUmem
    - PCPP_LOG_ERROR
    - pcpp::XdpDevice::populateConfigDefaults
    - static_cast<uint32_t>
    - std::make_unique<XdpDeviceConfiguration>
    - memset
    - min
    - pcpp::XdpDevice::populateFillRing
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::open(const XdpDeviceConfiguration& config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<xsk_socket_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:557,1
    - Dst: xsk_socket__delete
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 564
    functionName: pcpp::XdpDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 1
    functionsReached:
    - xsk_socket__delete
    - static_cast<xsk_socket_info*>
    linkageType: ''
    returnType: void
    signature: void XdpDevice::close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<xsk_socket_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:568,1
    - Dst: xsk_socket__fd
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:569,1
    - Dst: getsockopt
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:574,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:577,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 596
    functionName: pcpp::XdpDevice::getSocketStats
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - xsk_socket__fd
    - PCPP_LOG_ERROR
    - getsockopt
    - static_cast<xsk_socket_info*>
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::getSocketStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - begin
    - ','
    - end
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 599
    functionName: nanosec_gap
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nanosec_gap(begin, end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:603,1
    - Dst: pcpp::XdpDevice::getSocketStats
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:609,1
    - Dst: getFreeFrameCount
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:610,1
    - Dst: getFrameCount
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:611,1
    - Dst: nanosec_gap
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:619,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:620,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:621,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:623,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:625,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 637
    functionName: pcpp::XdpDevice::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::XdpDevice::getSocketStats
    - getFreeFrameCount
    - static_cast<uint64_t>
    - clock_gettime
    - nanosec_gap
    - getFrameCount
    linkageType: ''
    returnType: XdpDevice::XdpDeviceStats
    signature: XdpDevice::XdpDeviceStats XdpDevice::getStatistics()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: IS_POWER_OF_TWO
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_POWER_OF_TWO(num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: posix_memalign
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:46,1
    - Dst: getpagesize
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:46,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:48,1
    - Dst: xsk_umem_info::xsk_umem_info
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:57,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:58,1
    - Dst: xsk_umem__create
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:60,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:63,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:63,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - numFrames
    - frameSize
    - fillRingSize
    - completionRingSize
    argTypes:
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: "XdpDevice::XdpUmem::XdpUmem(uint16_t numFrames, uint16_t frameSize,
      uint32_t fillRingSize,\n\t                            uint32_t completionRingSize)"
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - xsk_umem_info::xsk_umem_info
    - posix_memalign
    - push_back
    - std::runtime_error
    - xsk_umem__create
    - memset
    - getpagesize
    - to_string
    linkageType: ''
    returnType: void
    signature: "void XdpDevice::XdpUmem::XdpUmem(uint16_t numFrames, uint16_t frameSize,
      uint32_t fillRingSize,\n\t                            uint32_t completionRingSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xsk_umem__delete
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:79,1
    - Dst: static_cast<xsk_umem_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:79,1
    - Dst: free
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: XdpDevice::XdpUmem::~XdpUmem()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<xsk_umem_info*>
    - xsk_umem__delete
    - free
    linkageType: ''
    returnType: void
    signature: void XdpDevice::XdpUmem::~XdpUmem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:85,1
    - Dst: xsk_umem__get_data
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: '* XdpDevice::XdpUmem::getDataPtr(uint64_t addr) const'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const uint8_t*>
    - xsk_umem__get_data
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * XdpDevice::XdpUmem::getDataPtr(uint64_t addr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:90,1
    - Dst: xsk_umem__get_data
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:90,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - data
    - dataLen
    argTypes:
    - uint64_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: XdpDevice::XdpUmem::setData(uint64_t addr, const uint8_t* data,
      size_t dataLen)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - memcpy
    - xsk_umem__get_data
    - static_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void XdpDevice::XdpUmem::setData(uint64_t addr, const uint8_t* data,
      size_t dataLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:96,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:98,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:99,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:106,1
    - Dst: back
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:106,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: XdpDevice::XdpUmem::allocateFrames(uint32_t count)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - back
    - std::vector::push_back
    - PCPP_LOG_ERROR
    - size
    - pop_back
    linkageType: ''
    returnType: std::pair<bool, std::vector<uint64_t>>
    signature: std::pair<bool, std::vector<uint64_t>> XdpDevice::XdpUmem::allocateFrames(uint32_t
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: XdpDevice::XdpUmem::freeFrame(uint64_t addr)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void XdpDevice::XdpUmem::freeFrame(uint64_t addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:120,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:123,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - interfaceName
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: pcpp::XdpDevice::XdpDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - memset
    - std::move
    linkageType: ''
    returnType: void
    signature: void XdpDevice::XdpDevice(std::string interfaceName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: XdpDevice::~XdpDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void XdpDevice::~XdpDevice()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:136,1
    - Dst: static_cast<xsk_socket_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:140,1
    - Dst: xsk_socket__fd
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:146,1
    - Dst: pcpp::XdpDevice::checkCompletionRing
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:151,1
    - Dst: poll
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:153,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:165,1
    - Dst: xsk_ring_cons__peek
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:172,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:183,1
    - Dst: xsk_ring_cons__rx_desc
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:187,1
    - Dst: xsk_ring_cons__rx_desc
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:188,1
    - Dst: getDataPtr
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:190,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:192,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:194,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:194,1
    - Dst: freeFrame
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:198,1
    - Dst: onPacketsArrive
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:201,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:201,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:201,1
    - Dst: xsk_ring_cons__release
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:203,1
    - Dst: pcpp::XdpDevice::populateFillRing
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:206,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:212,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - onPacketsArrive
    - onPacketsArriveUserCookie
    - timeoutMS
    argTypes:
    - OnPacketsArrive
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 216
    functionName: pcpp::XdpDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::XdpDevice::checkCompletionRing
    - static_cast<xsk_socket_info*>
    - PCPP_LOG_ERROR
    - std::vector::clear
    - freeFrame
    - std::vector::reserve
    - clock_gettime
    - std::vector::emplace_back
    - xsk_socket__fd
    - static_cast<int>
    - poll
    - pcpp::XdpDevice::populateFillRing
    - xsk_ring_cons__rx_desc
    - std::vector::size
    - xsk_ring_cons__peek
    - xsk_ring_cons__release
    - std::vector::data
    - getDataPtr
    - onPacketsArrive
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::receivePackets(OnPacketsArrive onPacketsArrive, void*
      onPacketsArriveUserCookie, int timeoutMS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: pcpp::XdpDevice::stopReceivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XdpDevice::stopReceivePackets()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:229,1
    - Dst: static_cast<xsk_socket_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:233,1
    - Dst: pcpp::XdpDevice::checkCompletionRing
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:235,1
    - Dst: getPacketCount
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:238,1
    - Dst: allocateFrames
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:240,1
    - Dst: xsk_ring_prod__reserve
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:246,1
    - Dst: freeFrame
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:250,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:252,1
    - Dst: getPacketAt
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:258,1
    - Dst: getFrameSize
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:258,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:260,1
    - Dst: getPacketAt
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:260,1
    - Dst: getFrameSize
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:262,1
    - Dst: setData
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:271,1
    - Dst: getPacketAt
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:271,1
    - Dst: getPacketAt
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:271,1
    - Dst: xsk_ring_prod__tx_desc
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:273,1
    - Dst: getPacketAt
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:275,1
    - Dst: xsk_ring_prod__submit
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:280,1
    - Dst: pcpp::XdpDevice::checkCompletionRing
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:287,1
    - Dst: xsk_socket__fd
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:290,1
    - Dst: poll
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:294,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:297,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:302,1
    - Dst: pcpp::XdpDevice::checkCompletionRing
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:306,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - ' getPacketAt'
    - ' getPacketCount'
    - waitForTxCompletion
    - waitForTxCompletionTimeoutMS
    argTypes:
    - std::function<RawPacket(uint32_t)>
    - std::function<uint32_t()>
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 311
    functionName: pcpp::XdpDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::XdpDevice::checkCompletionRing
    - xsk_ring_prod__tx_desc
    - allocateFrames
    - static_cast<xsk_socket_info*>
    - xsk_socket__fd
    - xsk_ring_prod__submit
    - poll
    - getPacketCount
    - PCPP_LOG_ERROR
    - getFrameSize
    - freeFrame
    - getPacketAt
    - xsk_ring_prod__reserve
    - setData
    linkageType: ''
    returnType: bool
    signature: "bool XdpDevice::sendPackets(const std::function<RawPacket(uint32_t)>&
      getPacketAt,\n\t                            const std::function<uint32_t()>&
      getPacketCount, bool waitForTxCompletion,\n\t                            int
      waitForTxCompletionTimeoutMS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::XdpDevice::sendPackets
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:316,1
    - Dst: at
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:316,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:316,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' packets'
    - waitForTxCompletion
    - waitForTxCompletionTimeoutMS
    argTypes:
    - RawPacketVector
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: pcpp::XdpDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 3
    functionsReached:
    - pcpp::XdpDevice::sendPackets
    - at
    - static_cast<int>
    - size
    linkageType: ''
    returnType: bool
    signature: "bool XdpDevice::sendPackets(const RawPacketVector& packets, bool waitForTxCompletion,\n\t
      \                           int waitForTxCompletionTimeoutMS)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::XdpDevice::sendPackets
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:323,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - packets
    - packetCount
    - waitForTxCompletion
    - waitForTxCompletionTimeoutMS
    argTypes:
    - RawPacket[]
    - size_t
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: pcpp::XdpDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 4
    functionsReached:
    - pcpp::XdpDevice::sendPackets
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: "bool XdpDevice::sendPackets(RawPacket packets[], size_t packetCount,
      bool waitForTxCompletion,\n\t                            int waitForTxCompletionTimeoutMS)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allocateFrames
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:329,1
    - Dst: pcpp::XdpDevice::populateFillRing
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:335,1
    - Dst: freeFrame
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - count
    - rxId
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: pcpp::XdpDevice::populateFillRing
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 5
    functionsReached:
    - pcpp::XdpDevice::populateFillRing
    - allocateFrames
    - freeFrame
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::populateFillRing(uint32_t count, uint32_t rxId)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<xsk_umem_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:349,1
    - Dst: getInfo
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:349,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:350,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:350,1
    - Dst: xsk_ring_prod__reserve
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:352,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:355,1
    - Dst: xsk_ring_prod__fill_addr
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:361,1
    - Dst: xsk_ring_prod__submit
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' addresses'
    - rxId
    argTypes:
    - std::vector<uint64_t>
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 368
    functionName: pcpp::XdpDevice::populateFillRing
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 5
    functionsReached:
    - getInfo
    - static_cast<xsk_umem_info*>
    - xsk_ring_prod__fill_addr
    - xsk_ring_prod__submit
    - PCPP_LOG_ERROR
    - size
    - static_cast<uint32_t>
    - xsk_ring_prod__reserve
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::populateFillRing(const std::vector<uint64_t>& addresses,
      uint32_t rxId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<xsk_umem_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:373,1
    - Dst: getInfo
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:373,1
    - Dst: static_cast<xsk_socket_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:375,1
    - Dst: xsk_ring_prod__needs_wakeup
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:376,1
    - Dst: sendto
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:378,1
    - Dst: xsk_socket__fd
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:378,1
    - Dst: xsk_ring_cons__peek
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:381,1
    - Dst: xsk_ring_cons__comp_addr
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:387,1
    - Dst: freeFrame
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:388,1
    - Dst: xsk_ring_cons__release
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: pcpp::XdpDevice::checkCompletionRing
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 4
    functionsReached:
    - getInfo
    - xsk_ring_cons__comp_addr
    - static_cast<xsk_socket_info*>
    - static_cast<xsk_umem_info*>
    - xsk_ring_cons__peek
    - xsk_ring_cons__release
    - freeFrame
    - xsk_ring_prod__needs_wakeup
    - xsk_socket__fd
    - sendto
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t XdpDevice::checkCompletionRing()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xsk_socket_info::xsk_socket_info
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:401,1
    - Dst: static_cast<xsk_umem_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:403,1
    - Dst: getInfo
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:403,1
    - Dst: xsk_socket__create
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:422,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:422,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 433
    functionName: pcpp::XdpDevice::configureSocket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 1
    functionsReached:
    - getInfo
    - static_cast<xsk_umem_info*>
    - PCPP_LOG_ERROR
    - xsk_socket__create
    - xsk_socket_info::xsk_socket_info
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::configureSocket()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XdpUmem::XdpUmem
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 440
    functionName: pcpp::XdpDevice::initUmem
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 1
    functionsReached:
    - XdpUmem::XdpUmem
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::initUmem()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:445,1
    - Dst: getpagesize
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:453,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:455,1
    - Dst: getpagesize
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:455,1
    - Dst: IS_POWER_OF_TWO
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:459,1
    - Dst: IS_POWER_OF_TWO
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:459,1
    - Dst: IS_POWER_OF_TWO
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:459,1
    - Dst: IS_POWER_OF_TWO
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:460,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:462,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:468,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:476,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:484,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:491,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:498,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - XdpDeviceConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 511
    functionName: pcpp::XdpDevice::populateConfigDefaults
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 1
    functionsReached:
    - IS_POWER_OF_TWO
    - getpagesize
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::populateConfigDefaults(XdpDeviceConfiguration& config)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: pcpp::XdpDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 3
    functionsReached:
    - pcpp::XdpDevice::open
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::open()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:522,1
    - Dst: std::make_unique<XdpDeviceConfiguration>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:526,1
    - Dst: pcpp::XdpDevice::populateConfigDefaults
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:527,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:531,1
    - Dst: pcpp::XdpDevice::initUmem
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:533,1
    - Dst: pcpp::XdpDevice::populateFillRing
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:534,1
    - Dst: min
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:534,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:534,1
    - Dst: pcpp::XdpDevice::configureSocket
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:535,1
    - Dst: reset
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:542,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:546,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - XdpDeviceConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 551
    functionName: pcpp::XdpDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 3
    functionsReached:
    - reset
    - pcpp::XdpDevice::configureSocket
    - pcpp::XdpDevice::initUmem
    - PCPP_LOG_ERROR
    - pcpp::XdpDevice::populateConfigDefaults
    - static_cast<uint32_t>
    - std::make_unique<XdpDeviceConfiguration>
    - memset
    - min
    - pcpp::XdpDevice::populateFillRing
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::open(const XdpDeviceConfiguration& config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<xsk_socket_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:557,1
    - Dst: xsk_socket__delete
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 564
    functionName: pcpp::XdpDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 1
    functionsReached:
    - xsk_socket__delete
    - static_cast<xsk_socket_info*>
    linkageType: ''
    returnType: void
    signature: void XdpDevice::close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<xsk_socket_info*>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:568,1
    - Dst: xsk_socket__fd
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:569,1
    - Dst: getsockopt
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:574,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:577,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 596
    functionName: pcpp::XdpDevice::getSocketStats
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 1
    functionsReached:
    - xsk_socket__fd
    - PCPP_LOG_ERROR
    - getsockopt
    - static_cast<xsk_socket_info*>
    linkageType: ''
    returnType: bool
    signature: bool XdpDevice::getSocketStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - begin
    - ','
    - end
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 599
    functionName: nanosec_gap
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nanosec_gap(begin, end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:603,1
    - Dst: pcpp::XdpDevice::getSocketStats
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:609,1
    - Dst: getFreeFrameCount
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:610,1
    - Dst: getFrameCount
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:611,1
    - Dst: nanosec_gap
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:619,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:620,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:621,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:623,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:625,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 637
    functionName: pcpp::XdpDevice::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::XdpDevice::getSocketStats
    - getFreeFrameCount
    - static_cast<uint64_t>
    - clock_gettime
    - nanosec_gap
    - getFrameCount
    linkageType: ''
    returnType: XdpDevice::XdpDeviceStats
    signature: XdpDevice::XdpDeviceStats XdpDevice::getStatistics()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:23,1
    - Dst: CreateEvent
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:25,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - handle
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - ZeroMemory
    - CreateEvent
    linkageType: ''
    returnType: void
    signature: void WinDivertOverlappedWrapper(const HANDLE handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinDivertOverlappedWrapper(const WinDivertOverlappedWrapper&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const WinDivertOverlappedWrapper&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WinDivertOverlappedWrapper
    signature: WinDivertOverlappedWrapper & operator=(const WinDivertOverlappedWrapper&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(WinDivertOverlappedWrapper&&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WinDivertOverlappedWrapper
    signature: WinDivertOverlappedWrapper & operator=(WinDivertOverlappedWrapper&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinDivertOverlappedWrapper(WinDivertOverlappedWrapper&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CancelIoEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:41,1
    - Dst: WaitForSingleObject
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:43,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:47,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:50,1
    - Dst: WaitForSingleObject
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:52,1
    - Dst: CloseHandle
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: ~WinDivertOverlappedWrapper() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - CloseHandle
    - WaitForSingleObject
    - PCPP_LOG_ERROR
    - CancelIoEx
    linkageType: ''
    returnType: void
    signature: void ~WinDivertOverlappedWrapper() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: pcpp::internal::WinDivertOverlappedWrapper::get
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: LPOVERLAPPED
    signature: LPOVERLAPPED get()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:65,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:76,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: pcpp::internal::WinDivertOverlappedWrapper::wait
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - WaitForSingleObject
    - static_cast<uint32_t>
    linkageType: ''
    returnType: WaitResult
    signature: WaitResult wait(uint32_t timeout) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ResetEvent
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:81,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:83,1
    - Dst: ZeroMemory
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: pcpp::internal::WinDivertOverlappedWrapper::reset
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - ResetEvent
    - std::runtime_error
    - ZeroMemory
    linkageType: ''
    returnType: void
    signature: void reset() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetOverlappedResult
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:95,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:97,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:100,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: pcpp::internal::WinDivertOverlappedWrapper::getOverlappedResult
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetOverlappedResult
    - GetLastError
    - static_cast<uint32_t>
    linkageType: ''
    returnType: OverlappedResult
    signature: OverlappedResult getOverlappedResult() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: pcpp::internal::WinDivertHandle::WinDivertHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinDivertHandle(const HANDLE handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertHandle::close
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: ~WinDivertHandle() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::WinDivertHandle::close
    linkageType: ''
    returnType: void
    signature: void ~WinDivertHandle() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertClose
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:125,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: pcpp::internal::WinDivertHandle::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 1
    functionsReached:
    - GetLastError
    - WinDivertClose
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t close() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<WinDivertOverlappedWrapper*>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:137,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:140,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:143,1
    - Dst: WinDivertRecvEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:147,1
    - Dst: data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:147,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:148,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - buffer
    - bufferLen
    - addressesSize
    - overlapped
    argTypes:
    - uint8_t*
    - uint32_t
    - size_t
    - IOverlappedWrapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: pcpp::internal::WinDivertHandle::recvEx
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - dynamic_cast<WinDivertOverlappedWrapper*>
    - WinDivertRecvEx
    - data
    - auto::get
    - std::runtime_error
    - resize
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t recvEx(uint8_t* buffer, uint32_t bufferLen, size_t addressesSize,\n\t\t\t
      \               IOverlappedWrapper* overlapped) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: pcpp::internal::WinDivertHandle::recvExComplete
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<WinDivertAddress>
    signature: std::vector<WinDivertAddress> recvExComplete() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:180,1
    - Dst: WinDivertSendEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:183,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:183,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - buffer
    - bufferLen
    - addressesSize
    argTypes:
    - uint8_t*
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: pcpp::internal::WinDivertHandle::sendEx
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - std::vector::data
    - WinDivertSendEx
    - std::vector::push_back
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sendEx(uint8_t* buffer, uint32_t bufferLen, size_t addressesSize)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<WinDivertOverlappedWrapper>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: pcpp::internal::WinDivertHandle::createOverlapped
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<WinDivertOverlappedWrapper>
    linkageType: ''
    returnType: std::unique_ptr<IOverlappedWrapper>
    signature: std::unique_ptr<IOverlappedWrapper> createOverlapped() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertGetParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:200,1
    - Dst: static_cast<WINDIVERT_PARAM>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - ' value'
    argTypes:
    - WinDivertParam
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: pcpp::internal::WinDivertHandle::getParam
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<WINDIVERT_PARAM>
    - WinDivertGetParam
    linkageType: ''
    returnType: bool
    signature: bool getParam(WinDivertParam param, uint64_t& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertSetParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:205,1
    - Dst: static_cast<WINDIVERT_PARAM>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - value
    argTypes:
    - WinDivertParam
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: pcpp::internal::WinDivertHandle::setParam
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<WINDIVERT_PARAM>
    - WinDivertSetParam
    linkageType: ''
    returnType: bool
    signature: bool setParam(WinDivertParam param, uint64_t value) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertOpen
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:221,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:221,1
    - Dst: static_cast<WINDIVERT_LAYER>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:221,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:224,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:224,1
    - Dst: std::make_unique<WinDivertHandle>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' filter'
    - layer
    - priority
    - flags
    argTypes:
    - std::string
    - int
    - int16_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: pcpp::internal::WinDivertDriver::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - std::make_unique<WinDivertHandle>
    - PCPP_LOG_ERROR
    - WinDivertOpen
    - static_cast<WINDIVERT_LAYER>
    - c_str
    linkageType: ''
    returnType: std::unique_ptr<IWinDivertHandle>
    signature: "std::unique_ptr<IWinDivertHandle> open(const std::string& filter,
      int layer, int16_t priority,\n\t\t\t                                       uint64_t
      flags) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetAdaptersAddresses
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:237,1
    - Dst: reinterpret_cast<PIP_ADAPTER_ADDRESSES>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:238,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:238,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:242,1
    - Dst: GetAdaptersAddresses
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:243,1
    - Dst: reinterpret_cast<PIP_ADAPTER_ADDRESSES>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:244,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:244,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:249,1
    - Dst: reinterpret_cast<PIP_ADAPTER_ADDRESSES>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:252,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:252,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 268
    functionName: pcpp::internal::WinDivertDriver::getNetworkInterfaces
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetAdaptersAddresses
    - std::vector::push_back
    - std::vector::data
    - std::runtime_error
    - std::vector::resize
    - reinterpret_cast<PIP_ADAPTER_ADDRESSES>
    linkageType: ''
    returnType: std::vector<NetworkInterface>
    signature: std::vector<NetworkInterface> getNetworkInterfaces() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:23,1
    - Dst: CreateEvent
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:25,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - handle
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - ZeroMemory
    - CreateEvent
    linkageType: ''
    returnType: void
    signature: void WinDivertOverlappedWrapper(const HANDLE handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinDivertOverlappedWrapper(const WinDivertOverlappedWrapper&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const WinDivertOverlappedWrapper&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WinDivertOverlappedWrapper
    signature: WinDivertOverlappedWrapper & operator=(const WinDivertOverlappedWrapper&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(WinDivertOverlappedWrapper&&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WinDivertOverlappedWrapper
    signature: WinDivertOverlappedWrapper & operator=(WinDivertOverlappedWrapper&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinDivertOverlappedWrapper(WinDivertOverlappedWrapper&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CancelIoEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:41,1
    - Dst: WaitForSingleObject
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:43,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:47,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:50,1
    - Dst: WaitForSingleObject
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:52,1
    - Dst: CloseHandle
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: ~WinDivertOverlappedWrapper() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - CloseHandle
    - WaitForSingleObject
    - PCPP_LOG_ERROR
    - CancelIoEx
    linkageType: ''
    returnType: void
    signature: void ~WinDivertOverlappedWrapper() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: pcpp::internal::WinDivertOverlappedWrapper::get
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: LPOVERLAPPED
    signature: LPOVERLAPPED get()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:65,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:76,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: pcpp::internal::WinDivertOverlappedWrapper::wait
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - WaitForSingleObject
    - static_cast<uint32_t>
    linkageType: ''
    returnType: WaitResult
    signature: WaitResult wait(uint32_t timeout) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ResetEvent
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:81,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:83,1
    - Dst: ZeroMemory
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: pcpp::internal::WinDivertOverlappedWrapper::reset
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - ResetEvent
    - std::runtime_error
    - ZeroMemory
    linkageType: ''
    returnType: void
    signature: void reset() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetOverlappedResult
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:95,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:97,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:100,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: pcpp::internal::WinDivertOverlappedWrapper::getOverlappedResult
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetOverlappedResult
    - GetLastError
    - static_cast<uint32_t>
    linkageType: ''
    returnType: OverlappedResult
    signature: OverlappedResult getOverlappedResult() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: pcpp::internal::WinDivertHandle::WinDivertHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinDivertHandle(const HANDLE handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertHandle::close
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: ~WinDivertHandle() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::WinDivertHandle::close
    linkageType: ''
    returnType: void
    signature: void ~WinDivertHandle() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertClose
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:125,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: pcpp::internal::WinDivertHandle::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 2
    functionsReached:
    - GetLastError
    - WinDivertClose
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t close() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<WinDivertOverlappedWrapper*>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:137,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:140,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:143,1
    - Dst: WinDivertRecvEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:147,1
    - Dst: data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:147,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:148,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - buffer
    - bufferLen
    - addressesSize
    - overlapped
    argTypes:
    - uint8_t*
    - uint32_t
    - size_t
    - IOverlappedWrapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: pcpp::internal::WinDivertHandle::recvEx
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - dynamic_cast<WinDivertOverlappedWrapper*>
    - WinDivertRecvEx
    - data
    - auto::get
    - std::runtime_error
    - resize
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t recvEx(uint8_t* buffer, uint32_t bufferLen, size_t addressesSize,\n\t\t\t
      \               IOverlappedWrapper* overlapped) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: pcpp::internal::WinDivertHandle::recvExComplete
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<WinDivertAddress>
    signature: std::vector<WinDivertAddress> recvExComplete() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:180,1
    - Dst: WinDivertSendEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:183,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:183,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - buffer
    - bufferLen
    - addressesSize
    argTypes:
    - uint8_t*
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: pcpp::internal::WinDivertHandle::sendEx
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - std::vector::data
    - WinDivertSendEx
    - std::vector::push_back
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sendEx(uint8_t* buffer, uint32_t bufferLen, size_t addressesSize)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<WinDivertOverlappedWrapper>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: pcpp::internal::WinDivertHandle::createOverlapped
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<WinDivertOverlappedWrapper>
    linkageType: ''
    returnType: std::unique_ptr<IOverlappedWrapper>
    signature: std::unique_ptr<IOverlappedWrapper> createOverlapped() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertGetParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:200,1
    - Dst: static_cast<WINDIVERT_PARAM>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - ' value'
    argTypes:
    - WinDivertParam
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: pcpp::internal::WinDivertHandle::getParam
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<WINDIVERT_PARAM>
    - WinDivertGetParam
    linkageType: ''
    returnType: bool
    signature: bool getParam(WinDivertParam param, uint64_t& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertSetParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:205,1
    - Dst: static_cast<WINDIVERT_PARAM>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - value
    argTypes:
    - WinDivertParam
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: pcpp::internal::WinDivertHandle::setParam
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<WINDIVERT_PARAM>
    - WinDivertSetParam
    linkageType: ''
    returnType: bool
    signature: bool setParam(WinDivertParam param, uint64_t value) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertOpen
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:221,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:221,1
    - Dst: static_cast<WINDIVERT_LAYER>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:221,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:224,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:224,1
    - Dst: std::make_unique<WinDivertHandle>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' filter'
    - layer
    - priority
    - flags
    argTypes:
    - std::string
    - int
    - int16_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: pcpp::internal::WinDivertDriver::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - std::make_unique<WinDivertHandle>
    - PCPP_LOG_ERROR
    - WinDivertOpen
    - static_cast<WINDIVERT_LAYER>
    - c_str
    linkageType: ''
    returnType: std::unique_ptr<IWinDivertHandle>
    signature: "std::unique_ptr<IWinDivertHandle> open(const std::string& filter,
      int layer, int16_t priority,\n\t\t\t                                       uint64_t
      flags) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetAdaptersAddresses
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:237,1
    - Dst: reinterpret_cast<PIP_ADAPTER_ADDRESSES>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:238,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:238,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:242,1
    - Dst: GetAdaptersAddresses
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:243,1
    - Dst: reinterpret_cast<PIP_ADAPTER_ADDRESSES>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:244,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:244,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:249,1
    - Dst: reinterpret_cast<PIP_ADAPTER_ADDRESSES>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:252,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:252,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 268
    functionName: pcpp::internal::WinDivertDriver::getNetworkInterfaces
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetAdaptersAddresses
    - std::vector::push_back
    - std::vector::data
    - std::runtime_error
    - std::vector::resize
    - reinterpret_cast<PIP_ADAPTER_ADDRESSES>
    linkageType: ''
    returnType: std::vector<NetworkInterface>
    signature: std::vector<NetworkInterface> getNetworkInterfaces() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:276,1
    - Dst: std::make_unique<internal::WinDivertDriver>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - driver
    argTypes:
    - std::unique_ptr<internal::IWinDivertDriver>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: pcpp::WinDivertDevice::WinDivertDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<internal::WinDivertDriver>
    linkageType: ''
    returnType: void
    signature: void WinDivertDevice::WinDivertDevice(std::unique_ptr<internal::IWinDivertDriver>
      driver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: pcpp::WinDivertDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::WinDivertDevice::open
    linkageType: ''
    returnType: bool
    signature: bool WinDivertDevice::open()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:286,1
    - Dst: pcpp::WinDivertDevice::setNetworkInterfaces
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: pcpp::WinDivertDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::WinDivertDevice::setNetworkInterfaces
    - pcpp::WinDivertDevice::open
    linkageType: ''
    returnType: bool
    signature: bool WinDivertDevice::open(const std::string& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:300,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:303,1
    - Dst: pcpp::WinDivertDevice::getErrorString
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:303,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:303,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: pcpp::WinDivertDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - PCPP_LOG_ERROR
    - pcpp::WinDivertDevice::getErrorString
    - pcpp::WinDivertDevice::close
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void WinDivertDevice::close()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:312,1
    - Dst: createOverlapped
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:333,1
    - Dst: pcpp::WinDivertDevice::receivePacketsInternal
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:340,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:340,1
    - Dst: auto::addresses::size
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:347,1
    - Dst: auto::addresses::size
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:349,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:352,1
    - Dst: pcpp::WinDivertDevice::getPacketInfo
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:357,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:359,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:365,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:366,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:367,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:367,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:368,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:369,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:369,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:369,1
    - Dst: WinDivertRawPacket::WinDivertRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:368,1
    - Dst: auto::reset
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:375,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - ' packetVec'
    - timeout
    - maxPackets
    - batchSize
    argTypes:
    - WinDivertRawPacketVector
    - uint32_t
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 379
    functionName: pcpp::WinDivertDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - std::get<2>
    - pcpp::WinDivertDevice::receivePacketsInternal
    - auto::get
    - std::get<1>
    - static_cast<int>
    - std::get<0>
    - pushBack
    - memcpy
    - std::vector::data
    - auto::reset
    - pcpp::WinDivertDevice::isOpened
    - WinDivertRawPacket::WinDivertRawPacket
    - auto::addresses::size
    - auto::release
    - pcpp::WinDivertDevice::getPacketInfo
    - createOverlapped
    linkageType: ''
    returnType: WinDivertDevice::ReceiveResult
    signature: "WinDivertDevice::ReceiveResult WinDivertDevice::receivePackets(WinDivertRawPacketVector&
      packetVec,\n\t                                                               uint32_t
      timeout, uint32_t maxPackets,\n\t                                                               uint8_t
      batchSize)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:384,1
    - Dst: createOverlapped
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:404,1
    - Dst: pcpp::WinDivertDevice::receivePacketsInternal
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:412,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:412,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:420,1
    - Dst: WinDivertRawPacketVector::clear
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:423,1
    - Dst: pcpp::WinDivertDevice::getPacketInfo
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:426,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:428,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:434,1
    - Dst: WinDivertRawPacketVector::pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:435,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:435,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:436,1
    - Dst: WinDivertRawPacket::WinDivertRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:435,1
    - Dst: callback
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:443,1
    - Dst: auto::reset
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:445,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - ' callback'
    - timeout
    - batchSize
    argTypes:
    - ReceivePacketCallback
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 449
    functionName: pcpp::WinDivertDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::get<2>
    - pcpp::WinDivertDevice::receivePacketsInternal
    - auto::get
    - std::get<1>
    - static_cast<int>
    - std::get<0>
    - callback
    - std::vector::data
    - auto::reset
    - pcpp::WinDivertDevice::isOpened
    - WinDivertRawPacketVector::pushBack
    - WinDivertRawPacket::WinDivertRawPacket
    - WinDivertRawPacketVector::clear
    - pcpp::WinDivertDevice::getPacketInfo
    - createOverlapped
    linkageType: ''
    returnType: WinDivertDevice::ReceiveResult
    signature: "WinDivertDevice::ReceiveResult WinDivertDevice::receivePackets(const
      ReceivePacketCallback& callback,\n\t                                                               uint32_t
      timeout, uint8_t batchSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: pcpp::WinDivertDevice::stopReceive
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinDivertDevice::stopReceive()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:469,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:473,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:474,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:476,1
    - Dst: at
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:476,1
    - Dst: at
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:476,1
    - Dst: at
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:477,1
    - Dst: sendEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:482,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:482,1
    - Dst: pcpp::WinDivertDevice::getErrorString
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:486,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:491,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:491,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ' packetVec'
    - batchSize
    argTypes:
    - RawPacketVector
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 497
    functionName: pcpp::WinDivertDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - sendEx
    - size
    - memcpy
    - at
    - pcpp::WinDivertDevice::getErrorString
    - std::array::data
    - memset
    linkageType: ''
    returnType: WinDivertDevice::SendResult
    signature: WinDivertDevice::SendResult WinDivertDevice::sendPackets(const RawPacketVector&
      packetVec, uint8_t batchSize) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:503,1
    - Dst: getParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:509,1
    - Dst: getParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:510,1
    - Dst: getParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:511,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 523
    functionName: pcpp::WinDivertDevice::getPacketQueueParams
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - getParam
    - std::runtime_error
    linkageType: ''
    returnType: WinDivertDevice::QueueParams
    signature: WinDivertDevice::QueueParams WinDivertDevice::getPacketQueueParams()
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:529,1
    - Dst: setParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:538,1
    - Dst: setParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:543,1
    - Dst: setParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - QueueParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 553
    functionName: pcpp::WinDivertDevice::setPacketQueueParams
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - setParam
    linkageType: ''
    returnType: void
    signature: void WinDivertDevice::setPacketQueueParams(const QueueParams& params)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:559,1
    - Dst: getParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:565,1
    - Dst: getParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:566,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 574
    functionName: pcpp::WinDivertDevice::getVersion
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - getParam
    - std::runtime_error
    linkageType: ''
    returnType: WinDivertDevice::WinDivertVersion
    signature: WinDivertDevice::WinDivertVersion WinDivertDevice::getVersion() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:578,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - interfaceIndex
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 585
    functionName: pcpp::WinDivertDevice::getNetworkInterface
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: WinDivertDevice::NetworkInterface
    signature: WinDivertDevice::NetworkInterface * WinDivertDevice::getNetworkInterface(uint32_t
      interfaceIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::setNetworkInterfaces
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:589,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:592,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:592,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 600
    functionName: pcpp::WinDivertDevice::getNetworkInterfaces
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - size
    - std::vector::push_back
    - pcpp::WinDivertDevice::setNetworkInterfaces
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<WinDivertDevice::NetworkInterface>
    signature: std::vector<WinDivertDevice::NetworkInterface> WinDivertDevice::getNetworkInterfaces()
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: recvEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:605,1
    - Dst: data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:605,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:605,1
    - Dst: pcpp::WinDivertDevice::getErrorString
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:608,1
    - Dst: internal::IOverlappedWrapper*::wait
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:615,1
    - Dst: internal::IOverlappedWrapper*::getOverlappedResult
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:621,1
    - Dst: pcpp::WinDivertDevice::getErrorString
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:625,1
    - Dst: recvExComplete
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:629,1
    - Dst: pcpp::WinDivertDevice::getErrorString
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - timeout
    - batchSize
    - ' buffer'
    - overlapped
    argTypes:
    - uint32_t
    - uint8_t
    - std::vector<uint8_t>
    - internal::IOverlappedWrapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 641
    functionName: pcpp::WinDivertDevice::receivePacketsInternal
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 2
    functionsReached:
    - data
    - recvExComplete
    - recvEx
    - size
    - internal::IOverlappedWrapper*::getOverlappedResult
    - pcpp::WinDivertDevice::getErrorString
    - internal::IOverlappedWrapper*::wait
    linkageType: ''
    returnType: WinDivertDevice::ReceiveResultInternal
    signature: "WinDivertDevice::ReceiveResultInternal WinDivertDevice::receivePacketsInternal(\n\t
      \   uint32_t timeout, uint8_t batchSize, std::vector<uint8_t>& buffer, internal::IOverlappedWrapper*
      overlapped)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::isDataValid
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:648,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:650,1
    - Dst: reinterpret_cast<ip6_hdr*>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:650,1
    - Dst: pcpp::IPv4Layer::isDataValid
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:653,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:655,1
    - Dst: reinterpret_cast<iphdr*>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:655,1
    - Dst: std::chrono::system_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:663,1
    - Dst: auto::time_since_epoch
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:664,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buffer
    - bufferLen
    - ' address'
    argTypes:
    - uint8_t*
    - uint32_t
    - internal::WinDivertAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 669
    functionName: pcpp::WinDivertDevice::getPacketInfo
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::IPv6Layer::isDataValid
    - reinterpret_cast<iphdr*>
    - std::chrono::system_clock::now
    - reinterpret_cast<ip6_hdr*>
    - be16toh
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - pcpp::IPv4Layer::isDataValid
    - auto::time_since_epoch
    linkageType: ''
    returnType: std::tuple<LinkLayerType, uint16_t, timespec>
    signature: "std::tuple<LinkLayerType, uint16_t, timespec> WinDivertDevice::getPacketInfo(\n\t
      \   uint8_t* buffer, uint32_t bufferLen, const internal::WinDivertAddress& address)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::getNetworkInterfaces
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 687
    functionName: pcpp::WinDivertDevice::setNetworkInterfaces
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::WinDivertDevice::getNetworkInterfaces
    linkageType: ''
    returnType: void
    signature: void WinDivertDevice::setNetworkInterfaces() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessageA
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:692,1
    - Dst: MAKELANGID
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:694,1
    - Dst: reinterpret_cast<LPSTR>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:694,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:704,1
    - Dst: std::string::back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:704,1
    - Dst: std::string::back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:704,1
    - Dst: std::string::pop_back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:706,1
    - Dst: LocalFree
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - errorCode
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 712
    functionName: pcpp::WinDivertDevice::getErrorString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 3
    functionsReached:
    - std::string::pop_back
    - std::string::back
    - FormatMessageA
    - std::string::empty
    - LocalFree
    - MAKELANGID
    - reinterpret_cast<LPSTR>
    linkageType: ''
    returnType: std::string
    signature: std::string WinDivertDevice::getErrorString(uint32_t errorCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:23,1
    - Dst: CreateEvent
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:25,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - handle
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - ZeroMemory
    - CreateEvent
    linkageType: ''
    returnType: void
    signature: void WinDivertOverlappedWrapper(const HANDLE handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinDivertOverlappedWrapper(const WinDivertOverlappedWrapper&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const WinDivertOverlappedWrapper&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WinDivertOverlappedWrapper
    signature: WinDivertOverlappedWrapper & operator=(const WinDivertOverlappedWrapper&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(WinDivertOverlappedWrapper&&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WinDivertOverlappedWrapper
    signature: WinDivertOverlappedWrapper & operator=(WinDivertOverlappedWrapper&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinDivertOverlappedWrapper(WinDivertOverlappedWrapper&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CancelIoEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:41,1
    - Dst: WaitForSingleObject
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:43,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:47,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:50,1
    - Dst: WaitForSingleObject
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:52,1
    - Dst: CloseHandle
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: ~WinDivertOverlappedWrapper() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - CloseHandle
    - WaitForSingleObject
    - PCPP_LOG_ERROR
    - CancelIoEx
    linkageType: ''
    returnType: void
    signature: void ~WinDivertOverlappedWrapper() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: pcpp::internal::WinDivertOverlappedWrapper::get
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: LPOVERLAPPED
    signature: LPOVERLAPPED get()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:65,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:76,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: pcpp::internal::WinDivertOverlappedWrapper::wait
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - WaitForSingleObject
    - static_cast<uint32_t>
    linkageType: ''
    returnType: WaitResult
    signature: WaitResult wait(uint32_t timeout) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ResetEvent
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:81,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:83,1
    - Dst: ZeroMemory
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: pcpp::internal::WinDivertOverlappedWrapper::reset
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - ResetEvent
    - std::runtime_error
    - ZeroMemory
    linkageType: ''
    returnType: void
    signature: void reset() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetOverlappedResult
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:95,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:97,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:100,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: pcpp::internal::WinDivertOverlappedWrapper::getOverlappedResult
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetOverlappedResult
    - GetLastError
    - static_cast<uint32_t>
    linkageType: ''
    returnType: OverlappedResult
    signature: OverlappedResult getOverlappedResult() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: pcpp::internal::WinDivertHandle::WinDivertHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinDivertHandle(const HANDLE handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertHandle::close
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: ~WinDivertHandle() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::WinDivertHandle::close
    linkageType: ''
    returnType: void
    signature: void ~WinDivertHandle() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertClose
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:125,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: pcpp::internal::WinDivertHandle::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 3
    functionsReached:
    - GetLastError
    - WinDivertClose
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t close() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<WinDivertOverlappedWrapper*>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:137,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:140,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:143,1
    - Dst: WinDivertRecvEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:147,1
    - Dst: data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:147,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:148,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - buffer
    - bufferLen
    - addressesSize
    - overlapped
    argTypes:
    - uint8_t*
    - uint32_t
    - size_t
    - IOverlappedWrapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: pcpp::internal::WinDivertHandle::recvEx
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - dynamic_cast<WinDivertOverlappedWrapper*>
    - WinDivertRecvEx
    - data
    - auto::get
    - std::runtime_error
    - resize
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t recvEx(uint8_t* buffer, uint32_t bufferLen, size_t addressesSize,\n\t\t\t
      \               IOverlappedWrapper* overlapped) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: pcpp::internal::WinDivertHandle::recvExComplete
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<WinDivertAddress>
    signature: std::vector<WinDivertAddress> recvExComplete() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:180,1
    - Dst: WinDivertSendEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:183,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:183,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - buffer
    - bufferLen
    - addressesSize
    argTypes:
    - uint8_t*
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: pcpp::internal::WinDivertHandle::sendEx
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - std::vector::data
    - WinDivertSendEx
    - std::vector::push_back
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sendEx(uint8_t* buffer, uint32_t bufferLen, size_t addressesSize)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<WinDivertOverlappedWrapper>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: pcpp::internal::WinDivertHandle::createOverlapped
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<WinDivertOverlappedWrapper>
    linkageType: ''
    returnType: std::unique_ptr<IOverlappedWrapper>
    signature: std::unique_ptr<IOverlappedWrapper> createOverlapped() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertGetParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:200,1
    - Dst: static_cast<WINDIVERT_PARAM>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - ' value'
    argTypes:
    - WinDivertParam
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: pcpp::internal::WinDivertHandle::getParam
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<WINDIVERT_PARAM>
    - WinDivertGetParam
    linkageType: ''
    returnType: bool
    signature: bool getParam(WinDivertParam param, uint64_t& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertSetParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:205,1
    - Dst: static_cast<WINDIVERT_PARAM>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - value
    argTypes:
    - WinDivertParam
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: pcpp::internal::WinDivertHandle::setParam
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<WINDIVERT_PARAM>
    - WinDivertSetParam
    linkageType: ''
    returnType: bool
    signature: bool setParam(WinDivertParam param, uint64_t value) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertOpen
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:221,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:221,1
    - Dst: static_cast<WINDIVERT_LAYER>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:221,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:224,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:224,1
    - Dst: std::make_unique<WinDivertHandle>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' filter'
    - layer
    - priority
    - flags
    argTypes:
    - std::string
    - int
    - int16_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: pcpp::internal::WinDivertDriver::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - std::make_unique<WinDivertHandle>
    - PCPP_LOG_ERROR
    - WinDivertOpen
    - static_cast<WINDIVERT_LAYER>
    - c_str
    linkageType: ''
    returnType: std::unique_ptr<IWinDivertHandle>
    signature: "std::unique_ptr<IWinDivertHandle> open(const std::string& filter,
      int layer, int16_t priority,\n\t\t\t                                       uint64_t
      flags) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetAdaptersAddresses
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:237,1
    - Dst: reinterpret_cast<PIP_ADAPTER_ADDRESSES>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:238,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:238,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:242,1
    - Dst: GetAdaptersAddresses
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:243,1
    - Dst: reinterpret_cast<PIP_ADAPTER_ADDRESSES>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:244,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:244,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:249,1
    - Dst: reinterpret_cast<PIP_ADAPTER_ADDRESSES>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:252,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:252,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 268
    functionName: pcpp::internal::WinDivertDriver::getNetworkInterfaces
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetAdaptersAddresses
    - std::vector::push_back
    - std::vector::data
    - std::runtime_error
    - std::vector::resize
    - reinterpret_cast<PIP_ADAPTER_ADDRESSES>
    linkageType: ''
    returnType: std::vector<NetworkInterface>
    signature: std::vector<NetworkInterface> getNetworkInterfaces() const override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:23,1
    - Dst: CreateEvent
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:25,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - handle
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - ZeroMemory
    - CreateEvent
    linkageType: ''
    returnType: void
    signature: void WinDivertOverlappedWrapper(const HANDLE handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinDivertOverlappedWrapper(const WinDivertOverlappedWrapper&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const WinDivertOverlappedWrapper&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WinDivertOverlappedWrapper
    signature: WinDivertOverlappedWrapper & operator=(const WinDivertOverlappedWrapper&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(WinDivertOverlappedWrapper&&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WinDivertOverlappedWrapper
    signature: WinDivertOverlappedWrapper & operator=(WinDivertOverlappedWrapper&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinDivertOverlappedWrapper(WinDivertOverlappedWrapper&&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CancelIoEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:41,1
    - Dst: WaitForSingleObject
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:43,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:47,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:50,1
    - Dst: WaitForSingleObject
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:52,1
    - Dst: CloseHandle
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 56
    functionName: ~WinDivertOverlappedWrapper() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - CloseHandle
    - WaitForSingleObject
    - PCPP_LOG_ERROR
    - CancelIoEx
    linkageType: ''
    returnType: void
    signature: void ~WinDivertOverlappedWrapper() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: pcpp::internal::WinDivertOverlappedWrapper::get
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: LPOVERLAPPED
    signature: LPOVERLAPPED get()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:65,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:76,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: pcpp::internal::WinDivertOverlappedWrapper::wait
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - WaitForSingleObject
    - static_cast<uint32_t>
    linkageType: ''
    returnType: WaitResult
    signature: WaitResult wait(uint32_t timeout) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ResetEvent
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:81,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:83,1
    - Dst: ZeroMemory
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: pcpp::internal::WinDivertOverlappedWrapper::reset
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - ResetEvent
    - std::runtime_error
    - ZeroMemory
    linkageType: ''
    returnType: void
    signature: void reset() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetOverlappedResult
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:95,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:97,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:100,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: pcpp::internal::WinDivertOverlappedWrapper::getOverlappedResult
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetOverlappedResult
    - GetLastError
    - static_cast<uint32_t>
    linkageType: ''
    returnType: OverlappedResult
    signature: OverlappedResult getOverlappedResult() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: pcpp::internal::WinDivertHandle::WinDivertHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinDivertHandle(const HANDLE handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::WinDivertHandle::close
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: ~WinDivertHandle() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::WinDivertHandle::close
    linkageType: ''
    returnType: void
    signature: void ~WinDivertHandle() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertClose
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:125,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: pcpp::internal::WinDivertHandle::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 4
    functionsReached:
    - GetLastError
    - WinDivertClose
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t close() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<WinDivertOverlappedWrapper*>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:137,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:140,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:143,1
    - Dst: WinDivertRecvEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:147,1
    - Dst: data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:147,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:148,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - buffer
    - bufferLen
    - addressesSize
    - overlapped
    argTypes:
    - uint8_t*
    - uint32_t
    - size_t
    - IOverlappedWrapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: pcpp::internal::WinDivertHandle::recvEx
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - dynamic_cast<WinDivertOverlappedWrapper*>
    - WinDivertRecvEx
    - data
    - auto::get
    - std::runtime_error
    - resize
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t recvEx(uint8_t* buffer, uint32_t bufferLen, size_t addressesSize,\n\t\t\t
      \               IOverlappedWrapper* overlapped) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: pcpp::internal::WinDivertHandle::recvExComplete
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<WinDivertAddress>
    signature: std::vector<WinDivertAddress> recvExComplete() override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:180,1
    - Dst: WinDivertSendEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:183,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:183,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - buffer
    - bufferLen
    - addressesSize
    argTypes:
    - uint8_t*
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: pcpp::internal::WinDivertHandle::sendEx
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - std::vector::data
    - WinDivertSendEx
    - std::vector::push_back
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t sendEx(uint8_t* buffer, uint32_t bufferLen, size_t addressesSize)
      override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<WinDivertOverlappedWrapper>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: pcpp::internal::WinDivertHandle::createOverlapped
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<WinDivertOverlappedWrapper>
    linkageType: ''
    returnType: std::unique_ptr<IOverlappedWrapper>
    signature: std::unique_ptr<IOverlappedWrapper> createOverlapped() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertGetParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:200,1
    - Dst: static_cast<WINDIVERT_PARAM>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - ' value'
    argTypes:
    - WinDivertParam
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: pcpp::internal::WinDivertHandle::getParam
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<WINDIVERT_PARAM>
    - WinDivertGetParam
    linkageType: ''
    returnType: bool
    signature: bool getParam(WinDivertParam param, uint64_t& value) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertSetParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:205,1
    - Dst: static_cast<WINDIVERT_PARAM>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - param
    - value
    argTypes:
    - WinDivertParam
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: pcpp::internal::WinDivertHandle::setParam
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<WINDIVERT_PARAM>
    - WinDivertSetParam
    linkageType: ''
    returnType: bool
    signature: bool setParam(WinDivertParam param, uint64_t value) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinDivertOpen
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:221,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:221,1
    - Dst: static_cast<WINDIVERT_LAYER>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:221,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:224,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:224,1
    - Dst: std::make_unique<WinDivertHandle>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ' filter'
    - layer
    - priority
    - flags
    argTypes:
    - std::string
    - int
    - int16_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: pcpp::internal::WinDivertDriver::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - std::make_unique<WinDivertHandle>
    - PCPP_LOG_ERROR
    - WinDivertOpen
    - static_cast<WINDIVERT_LAYER>
    - c_str
    linkageType: ''
    returnType: std::unique_ptr<IWinDivertHandle>
    signature: "std::unique_ptr<IWinDivertHandle> open(const std::string& filter,
      int layer, int16_t priority,\n\t\t\t                                       uint64_t
      flags) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetAdaptersAddresses
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:237,1
    - Dst: reinterpret_cast<PIP_ADAPTER_ADDRESSES>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:238,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:238,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:242,1
    - Dst: GetAdaptersAddresses
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:243,1
    - Dst: reinterpret_cast<PIP_ADAPTER_ADDRESSES>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:244,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:244,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:249,1
    - Dst: reinterpret_cast<PIP_ADAPTER_ADDRESSES>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:252,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:252,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 268
    functionName: pcpp::internal::WinDivertDriver::getNetworkInterfaces
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - GetAdaptersAddresses
    - std::vector::push_back
    - std::vector::data
    - std::runtime_error
    - std::vector::resize
    - reinterpret_cast<PIP_ADAPTER_ADDRESSES>
    linkageType: ''
    returnType: std::vector<NetworkInterface>
    signature: std::vector<NetworkInterface> getNetworkInterfaces() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:276,1
    - Dst: std::make_unique<internal::WinDivertDriver>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - driver
    argTypes:
    - std::unique_ptr<internal::IWinDivertDriver>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: pcpp::WinDivertDevice::WinDivertDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<internal::WinDivertDriver>
    linkageType: ''
    returnType: void
    signature: void WinDivertDevice::WinDivertDevice(std::unique_ptr<internal::IWinDivertDriver>
      driver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: pcpp::WinDivertDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 3
    functionsReached:
    - pcpp::WinDivertDevice::open
    linkageType: ''
    returnType: bool
    signature: bool WinDivertDevice::open()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:286,1
    - Dst: pcpp::WinDivertDevice::setNetworkInterfaces
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: pcpp::WinDivertDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 4
    functionsReached:
    - pcpp::WinDivertDevice::setNetworkInterfaces
    - pcpp::WinDivertDevice::open
    linkageType: ''
    returnType: bool
    signature: bool WinDivertDevice::open(const std::string& filter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:300,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:303,1
    - Dst: pcpp::WinDivertDevice::getErrorString
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:303,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:303,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: pcpp::WinDivertDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - PCPP_LOG_ERROR
    - pcpp::WinDivertDevice::getErrorString
    - pcpp::WinDivertDevice::close
    - static_cast<uint16_t>
    linkageType: ''
    returnType: void
    signature: void WinDivertDevice::close()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:312,1
    - Dst: createOverlapped
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:333,1
    - Dst: pcpp::WinDivertDevice::receivePacketsInternal
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:340,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:340,1
    - Dst: auto::addresses::size
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:347,1
    - Dst: auto::addresses::size
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:349,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:352,1
    - Dst: pcpp::WinDivertDevice::getPacketInfo
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:357,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:359,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:365,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:366,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:367,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:367,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:368,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:369,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:369,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:369,1
    - Dst: WinDivertRawPacket::WinDivertRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:368,1
    - Dst: auto::reset
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:375,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - ' packetVec'
    - timeout
    - maxPackets
    - batchSize
    argTypes:
    - WinDivertRawPacketVector
    - uint32_t
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 379
    functionName: pcpp::WinDivertDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - std::get<2>
    - pcpp::WinDivertDevice::receivePacketsInternal
    - auto::get
    - std::get<1>
    - static_cast<int>
    - std::get<0>
    - pushBack
    - memcpy
    - std::vector::data
    - auto::reset
    - pcpp::WinDivertDevice::isOpened
    - WinDivertRawPacket::WinDivertRawPacket
    - auto::addresses::size
    - auto::release
    - pcpp::WinDivertDevice::getPacketInfo
    - createOverlapped
    linkageType: ''
    returnType: WinDivertDevice::ReceiveResult
    signature: "WinDivertDevice::ReceiveResult WinDivertDevice::receivePackets(WinDivertRawPacketVector&
      packetVec,\n\t                                                               uint32_t
      timeout, uint32_t maxPackets,\n\t                                                               uint8_t
      batchSize)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:384,1
    - Dst: createOverlapped
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:404,1
    - Dst: pcpp::WinDivertDevice::receivePacketsInternal
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:412,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:412,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:420,1
    - Dst: WinDivertRawPacketVector::clear
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:423,1
    - Dst: pcpp::WinDivertDevice::getPacketInfo
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:426,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:428,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:434,1
    - Dst: WinDivertRawPacketVector::pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:435,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:435,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:436,1
    - Dst: WinDivertRawPacket::WinDivertRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:435,1
    - Dst: callback
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:443,1
    - Dst: auto::reset
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:445,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - ' callback'
    - timeout
    - batchSize
    argTypes:
    - ReceivePacketCallback
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 449
    functionName: pcpp::WinDivertDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::get<2>
    - pcpp::WinDivertDevice::receivePacketsInternal
    - auto::get
    - std::get<1>
    - static_cast<int>
    - std::get<0>
    - callback
    - std::vector::data
    - auto::reset
    - pcpp::WinDivertDevice::isOpened
    - WinDivertRawPacketVector::pushBack
    - WinDivertRawPacket::WinDivertRawPacket
    - WinDivertRawPacketVector::clear
    - pcpp::WinDivertDevice::getPacketInfo
    - createOverlapped
    linkageType: ''
    returnType: WinDivertDevice::ReceiveResult
    signature: "WinDivertDevice::ReceiveResult WinDivertDevice::receivePackets(const
      ReceivePacketCallback& callback,\n\t                                                               uint32_t
      timeout, uint8_t batchSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: pcpp::WinDivertDevice::stopReceive
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinDivertDevice::stopReceive()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:469,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:473,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:474,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:476,1
    - Dst: at
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:476,1
    - Dst: at
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:476,1
    - Dst: at
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:477,1
    - Dst: sendEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:482,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:482,1
    - Dst: pcpp::WinDivertDevice::getErrorString
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:486,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:491,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:491,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ' packetVec'
    - batchSize
    argTypes:
    - RawPacketVector
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 497
    functionName: pcpp::WinDivertDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - sendEx
    - size
    - memcpy
    - at
    - pcpp::WinDivertDevice::getErrorString
    - std::array::data
    - memset
    linkageType: ''
    returnType: WinDivertDevice::SendResult
    signature: WinDivertDevice::SendResult WinDivertDevice::sendPackets(const RawPacketVector&
      packetVec, uint8_t batchSize) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:503,1
    - Dst: getParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:509,1
    - Dst: getParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:510,1
    - Dst: getParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:511,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 523
    functionName: pcpp::WinDivertDevice::getPacketQueueParams
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - getParam
    - std::runtime_error
    linkageType: ''
    returnType: WinDivertDevice::QueueParams
    signature: WinDivertDevice::QueueParams WinDivertDevice::getPacketQueueParams()
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:529,1
    - Dst: setParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:538,1
    - Dst: setParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:543,1
    - Dst: setParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - QueueParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 553
    functionName: pcpp::WinDivertDevice::setPacketQueueParams
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - setParam
    linkageType: ''
    returnType: void
    signature: void WinDivertDevice::setPacketQueueParams(const QueueParams& params)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:559,1
    - Dst: getParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:565,1
    - Dst: getParam
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:566,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 574
    functionName: pcpp::WinDivertDevice::getVersion
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - getParam
    - std::runtime_error
    linkageType: ''
    returnType: WinDivertDevice::WinDivertVersion
    signature: WinDivertDevice::WinDivertVersion WinDivertDevice::getVersion() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:578,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - interfaceIndex
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 585
    functionName: pcpp::WinDivertDevice::getNetworkInterface
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: WinDivertDevice::NetworkInterface
    signature: WinDivertDevice::NetworkInterface * WinDivertDevice::getNetworkInterface(uint32_t
      interfaceIndex) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::setNetworkInterfaces
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:589,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:592,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:592,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 587
    functionDepth: 3
    functionLinenumber: 587
    functionLinenumberEnd: 600
    functionName: pcpp::WinDivertDevice::getNetworkInterfaces
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 1
    functionsReached:
    - size
    - std::vector::push_back
    - pcpp::WinDivertDevice::setNetworkInterfaces
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<WinDivertDevice::NetworkInterface>
    signature: std::vector<WinDivertDevice::NetworkInterface> WinDivertDevice::getNetworkInterfaces()
      const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: recvEx
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:605,1
    - Dst: data
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:605,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:605,1
    - Dst: pcpp::WinDivertDevice::getErrorString
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:608,1
    - Dst: internal::IOverlappedWrapper*::wait
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:615,1
    - Dst: internal::IOverlappedWrapper*::getOverlappedResult
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:621,1
    - Dst: pcpp::WinDivertDevice::getErrorString
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:625,1
    - Dst: recvExComplete
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:629,1
    - Dst: pcpp::WinDivertDevice::getErrorString
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - timeout
    - batchSize
    - ' buffer'
    - overlapped
    argTypes:
    - uint32_t
    - uint8_t
    - std::vector<uint8_t>
    - internal::IOverlappedWrapper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 641
    functionName: pcpp::WinDivertDevice::receivePacketsInternal
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 4
    functionsReached:
    - data
    - recvExComplete
    - recvEx
    - size
    - internal::IOverlappedWrapper*::getOverlappedResult
    - pcpp::WinDivertDevice::getErrorString
    - internal::IOverlappedWrapper*::wait
    linkageType: ''
    returnType: WinDivertDevice::ReceiveResultInternal
    signature: "WinDivertDevice::ReceiveResultInternal WinDivertDevice::receivePacketsInternal(\n\t
      \   uint32_t timeout, uint8_t batchSize, std::vector<uint8_t>& buffer, internal::IOverlappedWrapper*
      overlapped)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6Layer::isDataValid
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:648,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:650,1
    - Dst: reinterpret_cast<ip6_hdr*>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:650,1
    - Dst: pcpp::IPv4Layer::isDataValid
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:653,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:655,1
    - Dst: reinterpret_cast<iphdr*>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:655,1
    - Dst: std::chrono::system_clock::now
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:663,1
    - Dst: auto::time_since_epoch
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:664,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buffer
    - bufferLen
    - ' address'
    argTypes:
    - uint8_t*
    - uint32_t
    - internal::WinDivertAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 669
    functionName: pcpp::WinDivertDevice::getPacketInfo
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 4
    functionsReached:
    - pcpp::IPv6Layer::isDataValid
    - reinterpret_cast<iphdr*>
    - std::chrono::system_clock::now
    - reinterpret_cast<ip6_hdr*>
    - be16toh
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - pcpp::IPv4Layer::isDataValid
    - auto::time_since_epoch
    linkageType: ''
    returnType: std::tuple<LinkLayerType, uint16_t, timespec>
    signature: "std::tuple<LinkLayerType, uint16_t, timespec> WinDivertDevice::getPacketInfo(\n\t
      \   uint8_t* buffer, uint32_t bufferLen, const internal::WinDivertAddress& address)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::getNetworkInterfaces
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 671
    functionDepth: 2
    functionLinenumber: 671
    functionLinenumberEnd: 687
    functionName: pcpp::WinDivertDevice::setNetworkInterfaces
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 4
    functionsReached:
    - pcpp::WinDivertDevice::getNetworkInterfaces
    linkageType: ''
    returnType: void
    signature: void WinDivertDevice::setNetworkInterfaces() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessageA
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:692,1
    - Dst: MAKELANGID
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:694,1
    - Dst: reinterpret_cast<LPSTR>
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:694,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:704,1
    - Dst: std::string::back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:704,1
    - Dst: std::string::back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:704,1
    - Dst: std::string::pop_back
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:706,1
    - Dst: LocalFree
      Src: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - errorCode
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 712
    functionName: pcpp::WinDivertDevice::getErrorString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
    functionUses: 6
    functionsReached:
    - std::string::pop_back
    - std::string::back
    - FormatMessageA
    - std::string::empty
    - LocalFree
    - MAKELANGID
    - reinterpret_cast<LPSTR>
    linkageType: ''
    returnType: std::string
    signature: std::string WinDivertDevice::getErrorString(uint32_t errorCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:14,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:14,1
    - Dst: const_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:15,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 17
    functionName: pcpp::PcapRemoteAuthentication::getPcapRmAuth
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
    functionUses: 0
    functionsReached:
    - const_cast<char*>
    - c_str
    linkageType: ''
    returnType: pcap_rmtauth
    signature: pcap_rmtauth PcapRemoteAuthentication::getPcapRmAuth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:22,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:23,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - deviceInterface
    - remoteAuthentication
    - ' remoteMachineIP'
    - remoteMachinePort
    argTypes:
    - DeviceInterfaceDetails
    - std::shared_ptr<PcapRemoteAuthentication>
    - IPAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: pcpp::PcapRemoteDevice::PcapRemoteDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: "void PcapRemoteDevice::PcapRemoteDevice(DeviceInterfaceDetails deviceInterface,\n\t
      \                                  std::shared_ptr<PcapRemoteAuthentication>
      remoteAuthentication,\n\t                                   const IPAddress&
      remoteMachineIP, uint16_t remoteMachinePort)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:34,1
    - Dst: getPcapRmAuth
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:39,1
    - Dst: pcpp::internal::PcapHandle::PcapHandle
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:43,1
    - Dst: pcap_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:44,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:44,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:47,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:53,1
    - Dst: setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:60,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:63,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:63,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 71
    functionName: pcpp::PcapRemoteDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::PcapHandle::PcapHandle
    - setFilter
    - name::c_str
    - getPcapRmAuth
    - pcap_open
    - PCPP_LOG_ERROR
    - get
    - PCPP_LOG_DEBUG
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: bool
    signature: bool PcapRemoteDevice::open()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_stats_ex
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:76,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:76,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:77,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:79,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PcapStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: pcpp::PcapRemoteDevice::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int>
    - PCPP_LOG_ERROR
    - get
    - pcap_stats_ex
    linkageType: ''
    returnType: void
    signature: void PcapRemoteDevice::getStatistics(PcapStats& stats) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: pcpp::PcapRemoteDevice::getMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PcapRemoteDevice::getMtu() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: pcpp::PcapRemoteDevice::getMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress PcapRemoteDevice::getMacAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PcapRemoteDevice::PcapRemoteDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: pcpp::PcapRemoteDevice::clone
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
    functionUses: 0
    functionsReached:
    - PcapRemoteDevice::PcapRemoteDevice
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDevice::clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:14,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:14,1
    - Dst: const_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:15,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 17
    functionName: pcpp::PcapRemoteAuthentication::getPcapRmAuth
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
    functionUses: 0
    functionsReached:
    - const_cast<char*>
    - c_str
    linkageType: ''
    returnType: pcap_rmtauth
    signature: pcap_rmtauth PcapRemoteAuthentication::getPcapRmAuth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:22,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:23,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - deviceInterface
    - remoteAuthentication
    - ' remoteMachineIP'
    - remoteMachinePort
    argTypes:
    - DeviceInterfaceDetails
    - std::shared_ptr<PcapRemoteAuthentication>
    - IPAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: pcpp::PcapRemoteDevice::PcapRemoteDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
    functionUses: 0
    functionsReached:
    - std::move
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: "void PcapRemoteDevice::PcapRemoteDevice(DeviceInterfaceDetails deviceInterface,\n\t
      \                                  std::shared_ptr<PcapRemoteAuthentication>
      remoteAuthentication,\n\t                                   const IPAddress&
      remoteMachineIP, uint16_t remoteMachinePort)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:34,1
    - Dst: getPcapRmAuth
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:39,1
    - Dst: pcpp::internal::PcapHandle::PcapHandle
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:43,1
    - Dst: pcap_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:44,1
    - Dst: name::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:44,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:47,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:53,1
    - Dst: setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:60,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:63,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:63,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 71
    functionName: pcpp::PcapRemoteDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::PcapHandle::PcapHandle
    - setFilter
    - name::c_str
    - getPcapRmAuth
    - pcap_open
    - PCPP_LOG_ERROR
    - get
    - PCPP_LOG_DEBUG
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: bool
    signature: bool PcapRemoteDevice::open()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_stats_ex
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:76,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:76,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:77,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:79,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PcapStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: pcpp::PcapRemoteDevice::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint64_t>
    - static_cast<int>
    - PCPP_LOG_ERROR
    - get
    - pcap_stats_ex
    linkageType: ''
    returnType: void
    signature: void PcapRemoteDevice::getStatistics(PcapStats& stats) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: pcpp::PcapRemoteDevice::getMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t PcapRemoteDevice::getMtu() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: pcpp::PcapRemoteDevice::getMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress PcapRemoteDevice::getMacAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PcapRemoteDevice::PcapRemoteDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: pcpp::PcapRemoteDevice::clone
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
    functionUses: 0
    functionsReached:
    - PcapRemoteDevice::PcapRemoteDevice
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice * PcapRemoteDevice::clone() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: pcpp::DpdkDeviceList::DpdkDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DpdkDeviceList::DpdkDeviceList()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:67,1
    - Dst: rte_eal_cleanup
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:70,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: DpdkDeviceList::~DpdkDeviceList()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - clear
    - rte_eal_cleanup
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void DpdkDeviceList::~DpdkDeviceList()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:90,1
    - Dst: pcpp::DpdkDeviceList::verifyHugePagesAndDpdkDriver
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:95,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:105,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:115,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:115,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:129,1
    - Dst: std::stringstream::good
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:131,1
    - Dst: length
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:134,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:134,1
    - Dst: strcpy
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:135,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:135,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:143,1
    - Dst: rte_eal_init
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:148,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:151,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:168,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:169,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 8
    argNames:
    - coreMask
    - mBufPoolSizePerDevice
    - mBufDataSize
    - masterCore
    - initDpdkArgc
    - initDpdkArgv
    - ' appName'
    - verifyHugePagesAndDriver
    argTypes:
    - CoreMask
    - uint32_t
    - uint16_t
    - uint8_t
    - uint32_t
    - char**
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 170
    functionName: pcpp::DpdkDeviceList::initDpdk
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 7
    functionsReached:
    - strcpy
    - pcpp::GtpV2InformationElement::getInstance
    - std::setfill
    - length
    - char::char
    - PCPP_LOG_ERROR
    - rte_eal_init
    - pcpp::DpdkDeviceList::verifyHugePagesAndDpdkDriver
    - std::setw
    - std::stringstream::good
    - PCPP_LOG_DEBUG
    - c_str
    linkageType: ''
    returnType: bool
    signature: "bool DpdkDeviceList::initDpdk(CoreMask coreMask, uint32_t mBufPoolSizePerDevice,
      uint16_t mBufDataSize,\n\t                              uint8_t masterCore,
      uint32_t initDpdkArgc, char** initDpdkArgv,\n\t                              const
      std::string& appName, bool verifyHugePagesAndDriver)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:176,1
    - Dst: rte_eth_dev_count
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:185,1
    - Dst: rte_eth_dev_count_avail
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:187,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:192,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:196,1
    - Dst: std::unique_ptr<DpdkDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:202,1
    - Dst: DpdkDevice::DpdkDevice
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:202,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:203,1
    - Dst: auto::getDeviceName
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:203,1
    - Dst: auto::getPciAddress
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:204,1
    - Dst: auto::getPMDName
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:204,1
    - Dst: auto::getMacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:205,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:206,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:206,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:210,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:210,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:211,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:211,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:211,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - mBufPoolSizePerDevice
    - mBufDataSize
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 172
    functionDepth: 5
    functionLinenumber: 172
    functionLinenumberEnd: 215
    functionName: pcpp::DpdkDeviceList::initDpdkDevices
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - rte_eth_dev_count_avail
    - rte_eth_dev_count
    - begin
    - end
    - auto::getPMDName
    - PCPP_LOG_ERROR
    - pushBack
    - DpdkDevice::DpdkDevice
    - size
    - auto::getPciAddress
    - auto::getDeviceName
    - std::move
    - PCPP_LOG_DEBUG
    - resize
    - auto::getMacAddress
    - std::copy
    - std::unique_ptr<DpdkDevice>
    linkageType: ''
    returnType: bool
    signature: bool DpdkDeviceList::initDpdkDevices(uint32_t mBufPoolSizePerDevice,
      uint16_t mBufDataSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:219,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:221,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:225,1
    - Dst: at
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - portId
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 231
    functionName: pcpp::DpdkDeviceList::getDeviceByPort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDeviceList::isInitialized
    - at
    - PCPP_LOG_ERROR
    - size
    linkageType: ''
    returnType: DpdkDevice
    signature: DpdkDevice * DpdkDeviceList::getDeviceByPort(int portId) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:235,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:237,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:241,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:241,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:241,1
    - Dst: getPciAddress
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:242,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:244,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' pciAddr'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 251
    functionName: pcpp::DpdkDeviceList::getDeviceByPciAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDeviceList::isInitialized
    - getPciAddress
    - begin
    - end
    - PCPP_LOG_ERROR
    - std::find_if
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: DpdkDevice
    signature: DpdkDevice * DpdkDeviceList::getDeviceByPciAddress(const std::string&
      pciAddr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:255,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:257,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:257,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:257,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:257,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:257,1
    - Dst: strtol
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:261,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:261,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:263,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:267,1
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:272,1
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:277,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:278,1
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:284,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:285,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:289,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 300
    functionName: pcpp::DpdkDeviceList::verifyHugePagesAndDpdkDriver
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 1
    functionsReached:
    - PCPP_LOG_ERROR
    - executeShellCommand
    - std::string::c_str
    - std::remove
    - std::string::begin
    - strtol
    - PCPP_LOG_DEBUG
    - std::string::erase
    - std::string::end
    linkageType: ''
    returnType: bool
    signature: bool DpdkDeviceList::verifyHugePagesAndDpdkDriver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_MASTER_CORE
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: pcpp::DpdkDeviceList::getDpdkMasterCore
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - GET_MASTER_CORE
    linkageType: ''
    returnType: SystemCore
    signature: SystemCore DpdkDeviceList::getDpdkMasterCore() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rte_log_set_global_level
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:311,1
    - Dst: rte_log_set_global_level
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:313,1
    - Dst: rte_set_log_level
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:316,1
    - Dst: rte_set_log_level
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - logLevel
    argTypes:
    - Logger::LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 320
    functionName: pcpp::DpdkDeviceList::setDpdkLogLevel
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - rte_set_log_level
    - rte_log_set_global_level
    linkageType: ''
    returnType: void
    signature: void DpdkDeviceList::setDpdkLogLevel(Logger::LogLevel logLevel)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rte_log_get_global_level
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:325,1
    - Dst: rte_get_log_level
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:327,1
    - Dst: rte_openlog_stream
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:336,1
    - Dst: DpdkWorkerThread*::run
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:342,1
    - Dst: rte_lcore_id
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:342,1
    - Dst: pcpp::DpdkDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:348,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:350,1
    - Dst: rte_lcore_is_enabled
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:361,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:363,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:375,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:379,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:381,1
    - Dst: pcpp::DpdkDeviceList::getDpdkMasterCore
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:385,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:387,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:391,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:393,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:394,1
    - Dst: rte_eal_remote_launch
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:403,1
    - Dst: stop
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:408,1
    - Dst: rte_eal_wait_lcore
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:409,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:409,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:410,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:410,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:412,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:412,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:415,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:426,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:428,1
    - Dst: stop
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:434,1
    - Dst: rte_eal_wait_lcore
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:435,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:435,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:436,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:436,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:439,1
    - Dst: std::vector<DpdkWorkerThread*>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:440,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:442,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 445
    functionName: pcpp::DpdkDeviceList::getDpdkLogLevel
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDeviceList::isInitialized
    - stop
    - end
    - rte_lcore_is_enabled
    - empty
    - PCPP_LOG_ERROR
    - size
    - clear
    - pcpp::DpdkDeviceList::getDpdkMasterCore
    - strerror
    - getCoreId
    - PCPP_LOG_DEBUG
    - std::vector<DpdkWorkerThread*>
    - push_back
    - rte_eal_wait_lcore
    - DpdkWorkerThread*::run
    - begin
    - rte_get_log_level
    - rte_log_get_global_level
    - rte_openlog_stream
    - rte_eal_remote_launch
    - rte_lcore_id
    linkageType: ''
    returnType: LogLevel
    signature: LogLevel DpdkDeviceList::getDpdkLogLevel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rte_openlog_stream
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - logFile
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: pcpp::DpdkDeviceList::writeDpdkLogToFile
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - rte_openlog_stream
    linkageType: ''
    returnType: bool
    signature: bool DpdkDeviceList::writeDpdkLogToFile(FILE* logFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DpdkWorkerThread*::run
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:342,1
    - Dst: rte_lcore_id
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: pcpp::DpdkDeviceList::dpdkWorkerThreadStart
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - rte_lcore_id
    - DpdkWorkerThread*::run
    linkageType: ''
    returnType: int
    signature: int DpdkDeviceList::dpdkWorkerThreadStart(void* ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:348,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:350,1
    - Dst: rte_lcore_is_enabled
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:361,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:363,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:375,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:379,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:381,1
    - Dst: pcpp::DpdkDeviceList::getDpdkMasterCore
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:385,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:387,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:391,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:393,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:394,1
    - Dst: rte_eal_remote_launch
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:403,1
    - Dst: stop
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:408,1
    - Dst: rte_eal_wait_lcore
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:409,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:409,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:410,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:410,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:412,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:412,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:415,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - coreMask
    - ' workerThreadsVec'
    argTypes:
    - CoreMask
    - std::vector<DpdkWorkerThread*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 422
    functionName: pcpp::DpdkDeviceList::startDpdkWorkerThreads
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDeviceList::isInitialized
    - rte_eal_wait_lcore
    - rte_eal_remote_launch
    - begin
    - pcpp::DpdkDeviceList::getDpdkMasterCore
    - end
    - rte_lcore_is_enabled
    - stop
    - PCPP_LOG_ERROR
    - size
    - strerror
    - clear
    - getCoreId
    - PCPP_LOG_DEBUG
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool DpdkDeviceList::startDpdkWorkerThreads(CoreMask coreMask, std::vector<DpdkWorkerThread*>&
      workerThreadsVec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:426,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:428,1
    - Dst: stop
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:434,1
    - Dst: rte_eal_wait_lcore
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:435,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:435,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:436,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:436,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:439,1
    - Dst: std::vector<DpdkWorkerThread*>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:440,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 443
    functionName: pcpp::DpdkDeviceList::stopDpdkWorkerThreads
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - rte_eal_wait_lcore
    - stop
    - empty
    - PCPP_LOG_ERROR
    - clear
    - getCoreId
    - PCPP_LOG_DEBUG
    - std::vector<DpdkWorkerThread*>
    linkageType: ''
    returnType: void
    signature: void DpdkDeviceList::stopDpdkWorkerThreads()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: pcpp::DpdkDeviceList::DpdkDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DpdkDeviceList::DpdkDeviceList()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:67,1
    - Dst: rte_eal_cleanup
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:70,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: DpdkDeviceList::~DpdkDeviceList()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - clear
    - rte_eal_cleanup
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void DpdkDeviceList::~DpdkDeviceList()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:90,1
    - Dst: pcpp::DpdkDeviceList::verifyHugePagesAndDpdkDriver
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:95,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:105,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:115,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:115,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:129,1
    - Dst: std::stringstream::good
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:131,1
    - Dst: length
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:134,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:134,1
    - Dst: strcpy
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:135,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:135,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:143,1
    - Dst: rte_eal_init
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:148,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:151,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:168,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:169,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 8
    argNames:
    - coreMask
    - mBufPoolSizePerDevice
    - mBufDataSize
    - masterCore
    - initDpdkArgc
    - initDpdkArgv
    - ' appName'
    - verifyHugePagesAndDriver
    argTypes:
    - CoreMask
    - uint32_t
    - uint16_t
    - uint8_t
    - uint32_t
    - char**
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 170
    functionName: pcpp::DpdkDeviceList::initDpdk
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 7
    functionsReached:
    - strcpy
    - pcpp::GtpV2InformationElement::getInstance
    - std::setfill
    - length
    - char::char
    - PCPP_LOG_ERROR
    - rte_eal_init
    - pcpp::DpdkDeviceList::verifyHugePagesAndDpdkDriver
    - std::setw
    - std::stringstream::good
    - PCPP_LOG_DEBUG
    - c_str
    linkageType: ''
    returnType: bool
    signature: "bool DpdkDeviceList::initDpdk(CoreMask coreMask, uint32_t mBufPoolSizePerDevice,
      uint16_t mBufDataSize,\n\t                              uint8_t masterCore,
      uint32_t initDpdkArgc, char** initDpdkArgv,\n\t                              const
      std::string& appName, bool verifyHugePagesAndDriver)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:176,1
    - Dst: rte_eth_dev_count
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:185,1
    - Dst: rte_eth_dev_count_avail
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:187,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:192,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:196,1
    - Dst: std::unique_ptr<DpdkDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:202,1
    - Dst: DpdkDevice::DpdkDevice
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:202,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:203,1
    - Dst: auto::getDeviceName
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:203,1
    - Dst: auto::getPciAddress
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:204,1
    - Dst: auto::getPMDName
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:204,1
    - Dst: auto::getMacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:205,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:206,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:206,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:210,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:210,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:211,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:211,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:211,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - mBufPoolSizePerDevice
    - mBufDataSize
    argTypes:
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 172
    functionDepth: 5
    functionLinenumber: 172
    functionLinenumberEnd: 215
    functionName: pcpp::DpdkDeviceList::initDpdkDevices
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - rte_eth_dev_count_avail
    - rte_eth_dev_count
    - begin
    - end
    - auto::getPMDName
    - PCPP_LOG_ERROR
    - pushBack
    - DpdkDevice::DpdkDevice
    - size
    - auto::getPciAddress
    - auto::getDeviceName
    - std::move
    - PCPP_LOG_DEBUG
    - resize
    - auto::getMacAddress
    - std::copy
    - std::unique_ptr<DpdkDevice>
    linkageType: ''
    returnType: bool
    signature: bool DpdkDeviceList::initDpdkDevices(uint32_t mBufPoolSizePerDevice,
      uint16_t mBufDataSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:219,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:221,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:225,1
    - Dst: at
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - portId
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 231
    functionName: pcpp::DpdkDeviceList::getDeviceByPort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDeviceList::isInitialized
    - at
    - PCPP_LOG_ERROR
    - size
    linkageType: ''
    returnType: DpdkDevice
    signature: DpdkDevice * DpdkDeviceList::getDeviceByPort(int portId) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:235,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:237,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:241,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:241,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:241,1
    - Dst: getPciAddress
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:242,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:244,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' pciAddr'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 251
    functionName: pcpp::DpdkDeviceList::getDeviceByPciAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDeviceList::isInitialized
    - getPciAddress
    - begin
    - end
    - PCPP_LOG_ERROR
    - std::find_if
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: DpdkDevice
    signature: DpdkDevice * DpdkDeviceList::getDeviceByPciAddress(const std::string&
      pciAddr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:255,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:257,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:257,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:257,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:257,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:257,1
    - Dst: strtol
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:261,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:261,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:263,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:267,1
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:272,1
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:277,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:278,1
    - Dst: executeShellCommand
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:284,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:285,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:289,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 300
    functionName: pcpp::DpdkDeviceList::verifyHugePagesAndDpdkDriver
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 2
    functionsReached:
    - PCPP_LOG_ERROR
    - executeShellCommand
    - std::string::c_str
    - std::remove
    - std::string::begin
    - strtol
    - PCPP_LOG_DEBUG
    - std::string::erase
    - std::string::end
    linkageType: ''
    returnType: bool
    signature: bool DpdkDeviceList::verifyHugePagesAndDpdkDriver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_MASTER_CORE
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: pcpp::DpdkDeviceList::getDpdkMasterCore
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 2
    functionsReached:
    - GET_MASTER_CORE
    linkageType: ''
    returnType: SystemCore
    signature: SystemCore DpdkDeviceList::getDpdkMasterCore() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rte_log_set_global_level
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:311,1
    - Dst: rte_log_set_global_level
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:313,1
    - Dst: rte_set_log_level
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:316,1
    - Dst: rte_set_log_level
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - logLevel
    argTypes:
    - Logger::LogLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 320
    functionName: pcpp::DpdkDeviceList::setDpdkLogLevel
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - rte_set_log_level
    - rte_log_set_global_level
    linkageType: ''
    returnType: void
    signature: void DpdkDeviceList::setDpdkLogLevel(Logger::LogLevel logLevel)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rte_log_get_global_level
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:325,1
    - Dst: rte_get_log_level
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:327,1
    - Dst: rte_openlog_stream
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:336,1
    - Dst: DpdkWorkerThread*::run
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:342,1
    - Dst: rte_lcore_id
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:342,1
    - Dst: pcpp::DpdkDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:348,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:350,1
    - Dst: rte_lcore_is_enabled
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:361,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:363,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:375,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:379,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:381,1
    - Dst: pcpp::DpdkDeviceList::getDpdkMasterCore
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:385,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:387,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:391,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:393,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:394,1
    - Dst: rte_eal_remote_launch
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:403,1
    - Dst: stop
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:408,1
    - Dst: rte_eal_wait_lcore
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:409,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:409,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:410,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:410,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:412,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:412,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:415,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:426,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:428,1
    - Dst: stop
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:434,1
    - Dst: rte_eal_wait_lcore
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:435,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:435,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:436,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:436,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:439,1
    - Dst: std::vector<DpdkWorkerThread*>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:440,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:442,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 445
    functionName: pcpp::DpdkDeviceList::getDpdkLogLevel
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDeviceList::isInitialized
    - stop
    - end
    - rte_lcore_is_enabled
    - empty
    - PCPP_LOG_ERROR
    - size
    - clear
    - pcpp::DpdkDeviceList::getDpdkMasterCore
    - strerror
    - getCoreId
    - PCPP_LOG_DEBUG
    - std::vector<DpdkWorkerThread*>
    - push_back
    - rte_eal_wait_lcore
    - DpdkWorkerThread*::run
    - begin
    - rte_get_log_level
    - rte_log_get_global_level
    - rte_openlog_stream
    - rte_eal_remote_launch
    - rte_lcore_id
    linkageType: ''
    returnType: LogLevel
    signature: LogLevel DpdkDeviceList::getDpdkLogLevel() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rte_openlog_stream
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - logFile
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: pcpp::DpdkDeviceList::writeDpdkLogToFile
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - rte_openlog_stream
    linkageType: ''
    returnType: bool
    signature: bool DpdkDeviceList::writeDpdkLogToFile(FILE* logFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DpdkWorkerThread*::run
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:342,1
    - Dst: rte_lcore_id
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: pcpp::DpdkDeviceList::dpdkWorkerThreadStart
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - rte_lcore_id
    - DpdkWorkerThread*::run
    linkageType: ''
    returnType: int
    signature: int DpdkDeviceList::dpdkWorkerThreadStart(void* ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:348,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:350,1
    - Dst: rte_lcore_is_enabled
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:361,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:363,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:375,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:379,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:381,1
    - Dst: pcpp::DpdkDeviceList::getDpdkMasterCore
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:385,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:387,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:391,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:393,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:394,1
    - Dst: rte_eal_remote_launch
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:403,1
    - Dst: stop
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:408,1
    - Dst: rte_eal_wait_lcore
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:409,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:409,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:410,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:410,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:412,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:412,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:415,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - coreMask
    - ' workerThreadsVec'
    argTypes:
    - CoreMask
    - std::vector<DpdkWorkerThread*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 422
    functionName: pcpp::DpdkDeviceList::startDpdkWorkerThreads
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDeviceList::isInitialized
    - rte_eal_wait_lcore
    - rte_eal_remote_launch
    - begin
    - pcpp::DpdkDeviceList::getDpdkMasterCore
    - end
    - rte_lcore_is_enabled
    - stop
    - PCPP_LOG_ERROR
    - size
    - strerror
    - clear
    - getCoreId
    - PCPP_LOG_DEBUG
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool DpdkDeviceList::startDpdkWorkerThreads(CoreMask coreMask, std::vector<DpdkWorkerThread*>&
      workerThreadsVec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:426,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:428,1
    - Dst: stop
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:434,1
    - Dst: rte_eal_wait_lcore
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:435,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:435,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:436,1
    - Dst: getCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:436,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:439,1
    - Dst: std::vector<DpdkWorkerThread*>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:440,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 443
    functionName: pcpp::DpdkDeviceList::stopDpdkWorkerThreads
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
    functionUses: 0
    functionsReached:
    - rte_eal_wait_lcore
    - stop
    - empty
    - PCPP_LOG_ERROR
    - clear
    - getCoreId
    - PCPP_LOG_DEBUG
    - std::vector<DpdkWorkerThread*>
    linkageType: ''
    returnType: void
    signature: void DpdkDeviceList::stopDpdkWorkerThreads()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_eth_dev_info_get
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:112,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:115,1
    - Dst: rte_strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - devId
    - ' devInfo'
    argTypes:
    - uint16_t
    - rte_eth_dev_info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: pcpp::getDeviceInfo
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_strerror
    - rte_eth_dev_info_get
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool getDeviceInfo(uint16_t devId, rte_eth_dev_info& devInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:128,1
    - Dst: rte_eth_dev_socket_id
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:129,1
    - Dst: rte_eth_macaddr_get
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:136,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:137,1
    - Dst: rte_eth_dev_get_mtu
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:140,1
    - Dst: sprintf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:143,1
    - Dst: pcpp::DpdkDevice::initMemPool
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:144,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:146,1
    - Dst: pcpp::DpdkDevice::setDeviceInfo
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:153,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - port
    - mBufPoolSize
    - mBufDataSize
    argTypes:
    - int
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 163
    functionName: pcpp::DpdkDevice::DpdkDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_eth_dev_socket_id
    - sprintf
    - pcpp::DpdkDevice::initMemPool
    - MacAddress
    - pcpp::DpdkDevice::setDeviceInfo
    - PCPP_LOG_ERROR
    - rte_eth_macaddr_get
    - std::ostringstream::str
    - rte_eth_dev_get_mtu
    - memset
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::DpdkDevice(int port, uint32_t mBufPoolSize, uint16_t
      mBufDataSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: DpdkDevice::~DpdkDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::~DpdkDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rte_lcore_id
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: pcpp::DpdkDevice::getCurrentCoreId
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_lcore_id
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DpdkDevice::getCurrentCoreId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_eth_dev_set_mtu
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:181,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:184,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - newMtu
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: pcpp::DpdkDevice::setMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_eth_dev_set_mtu
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::setMtu(uint16_t newMtu)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:198,1
    - Dst: pcpp::DpdkDevice::openMultiQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:209,1
    - Dst: pcpp::DpdkDevice::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:209,1
    - Dst: pcpp::DpdkDevice::getTotalNumOfTxQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:209,1
    - Dst: pcpp::DpdkDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:210,1
    - Dst: pcpp::DpdkDevice::configurePort
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:215,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:221,1
    - Dst: pcpp::DpdkDevice::initQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:223,1
    - Dst: pcpp::DpdkDevice::startDevice
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:226,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:228,1
    - Dst: rte_eth_stats_reset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:236,1
    - Dst: init
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - numOfRxQueuesToOpen
    - numOfTxQueuesToOpen
    - ' config'
    argTypes:
    - uint16_t
    - uint16_t
    - DpdkDeviceConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 245
    functionName: pcpp::DpdkDevice::openMultiQueues
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DpdkDevice::startDevice
    - pcpp::DpdkDevice::getTotalNumOfRxQueues
    - pcpp::DpdkDevice::openMultiQueues
    - PCPP_LOG_ERROR
    - pcpp::DpdkDevice::close
    - pcpp::DpdkDevice::getTotalNumOfTxQueues
    - pcpp::DpdkDevice::configurePort
    - rte_eth_stats_reset
    - pcpp::DpdkDevice::clearCoreConfiguration
    - init
    - pcpp::DpdkDevice::initQueues
    linkageType: ''
    returnType: bool
    signature: "bool DpdkDevice::openMultiQueues(uint16_t numOfRxQueuesToOpen, uint16_t
      numOfTxQueuesToOpen,\n\t                                 const DpdkDeviceConfiguration&
      config)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:251,1
    - Dst: pcpp::DpdkDevice::stopCapture
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:254,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:255,1
    - Dst: rte_eth_dev_stop
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:258,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 274
    functionName: pcpp::DpdkDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DpdkDevice::clearCoreConfiguration
    - rte_eth_dev_stop
    - pcpp::DpdkDevice::stopCapture
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::close()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:278,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:280,1
    - Dst: pcpp::DpdkDevice::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:280,1
    - Dst: pcpp::DpdkDevice::getTotalNumOfTxQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:284,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:286,1
    - Dst: pcpp::DpdkDevice::getTotalNumOfTxQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:286,1
    - Dst: pcpp::DpdkDevice::getSupportedRssHashFunctions
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:291,1
    - Dst: pcpp::DpdkDevice::getConfiguredRssHashFunction
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:291,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:293,1
    - Dst: pcpp::DpdkDevice::isDeviceSupportRssHashFunction
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:299,1
    - Dst: pcpp::DpdkDevice::getConfiguredRssHashFunction
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:299,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:301,1
    - Dst: pcpp::DpdkDevice::getConfiguredRssHashFunction
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:302,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:309,1
    - Dst: pcpp::DpdkDevice::isVirtual
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:314,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:319,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:327,1
    - Dst: pcpp::DpdkDevice::convertRssHfToDpdkRssHf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:350,1
    - Dst: pcpp::DpdkDevice::getConfiguredRssHashFunction
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:350,1
    - Dst: rte_eth_dev_configure
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:352,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:355,1
    - Dst: rte_strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:355,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:360,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - numOfRxQueues
    - numOfTxQueues
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 365
    functionName: pcpp::DpdkDevice::configurePort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DpdkDevice::getTotalNumOfRxQueues
    - pcpp::DpdkDevice::isDeviceSupportRssHashFunction
    - PCPP_LOG_ERROR
    - pcpp::DpdkDevice::getSupportedRssHashFunctions
    - pcpp::DpdkDevice::isVirtual
    - pcpp::DpdkDevice::convertRssHfToDpdkRssHf
    - pcpp::DpdkDevice::getTotalNumOfTxQueues
    - PCPP_LOG_DEBUG
    - memset
    - rte_strerror
    - rte_eth_dev_configure
    - pcpp::DpdkDevice::getConfiguredRssHashFunction
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::configurePort(uint8_t numOfRxQueues, uint8_t numOfTxQueues)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getDeviceInfo
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:370,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:377,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:385,1
    - Dst: rte_eth_rx_queue_setup
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:393,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:398,1
    - Dst: rte_strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:399,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:405,1
    - Dst: rte_eth_tx_queue_setup
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:411,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:414,1
    - Dst: rte_strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:415,1
    - Dst: rte_eth_dev_tx_buffer::rte_eth_dev_tx_buffer
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:426,1
    - Dst: uint64_t::uint64_t
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:427,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:428,1
    - Dst: rte_zmalloc_socket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:432,1
    - Dst: RTE_ETH_TX_BUFFER_SIZE
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:433,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:437,1
    - Dst: rte_eth_tx_buffer_init
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:441,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:445,1
    - Dst: rte_get_tsc_hz
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:450,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:452,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:454,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - numOfRxQueuesToInit
    - numOfTxQueuesToInit
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 458
    functionName: pcpp::DpdkDevice::initQueues
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - rte_eth_rx_queue_setup
    - rte_zmalloc_socket
    - rte_eth_tx_queue_setup
    - RTE_ETH_TX_BUFFER_SIZE
    - rte_eth_dev_tx_buffer::rte_eth_dev_tx_buffer
    - PCPP_LOG_ERROR
    - uint64_t::uint64_t
    - PCPP_LOG_DEBUG
    - memset
    - rte_strerror
    - rte_eth_tx_buffer_init
    - getDeviceInfo
    - rte_get_tsc_hz
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::initQueues(uint8_t numOfRxQueuesToInit, uint8_t numOfTxQueuesToInit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_pktmbuf_pool_create
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:466,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:469,1
    - Dst: rte_strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:470,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' memPool'
    - mempoolName
    - mBufPoolSize
    argTypes:
    - struct rte_mempool*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 480
    functionName: pcpp::DpdkDevice::initMemPool
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - PCPP_LOG_DEBUG
    - rte_strerror
    - PCPP_LOG_ERROR
    - rte_pktmbuf_pool_create
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::initMemPool(struct rte_mempool*& memPool, const char*
      mempoolName, uint32_t mBufPoolSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rte_eth_dev_start
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:484,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:487,1
    - Dst: pcpp::DpdkDevice::getLinkStatus
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:492,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:493,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:497,1
    - Dst: rte_eth_promiscuous_enable
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:501,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 505
    functionName: pcpp::DpdkDevice::startDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - rte_eth_promiscuous_enable
    - pcpp::DpdkDevice::getLinkStatus
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    - rte_eth_dev_start
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::startDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 513
    functionName: pcpp::DpdkDevice::clearCoreConfiguration
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::clearCoreConfiguration()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: pcpp::DpdkDevice::getCoresInUseCount
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DpdkDevice::getCoresInUseCount() const
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getDeviceInfo
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:528,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:533,1
    - Dst: rte_pci_device_name
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:575,1
    - Dst: rte_eal_pci_device_name
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:577,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:579,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:581,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:583,1
    - Dst: rte_dev_name
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:583,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:586,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:587,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 591
    functionName: pcpp::DpdkDevice::setDeviceInfo
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - rte_dev_name
    - string
    - PCPP_LOG_DEBUG
    - rte_eal_pci_device_name
    - rte_pci_device_name
    - getDeviceInfo
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::setDeviceInfo()
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 609
    functionName: pcpp::DpdkDevice::isVirtual
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::isVirtual() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_eth_link_get
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:614,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:617,1
    - Dst: rte_strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' linkStatus'
    argTypes:
    - LinkStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 627
    functionName: pcpp::DpdkDevice::getLinkStatus
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - rte_eth_link_get
    - rte_strerror
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::getLinkStatus(LinkStatus& linkStatus) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfCores
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:632,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:633,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:638,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:640,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:641,1
    - Dst: rte_lcore_is_enabled
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:645,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:647,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:648,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:660,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - coreMask
    argTypes:
    - CoreMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 667
    functionName: pcpp::DpdkDevice::initCoreConfigurationByCoreMask
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - getNumOfCores
    - rte_lcore_is_enabled
    - PCPP_LOG_ERROR
    - pcpp::DpdkDevice::clearCoreConfiguration
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::initCoreConfigurationByCoreMask(CoreMask coreMask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:674,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:680,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:684,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:686,1
    - Dst: GET_MASTER_CORE
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:695,1
    - Dst: rte_lcore_is_enabled
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:695,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:701,1
    - Dst: rte_eal_remote_launch
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:702,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:702,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:705,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:710,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:714,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - onPacketsArrive
    - onPacketsArriveUserCookie
    argTypes:
    - OnDpdkPacketsArriveCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 716
    functionName: pcpp::DpdkDevice::startCaptureSingleThread
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_eal_remote_launch
    - static_cast<void*>
    - rte_lcore_is_enabled
    - GET_MASTER_CORE
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    - pcpp::DpdkDevice::clearCoreConfiguration
    linkageType: ''
    returnType: bool
    signature: "bool DpdkDevice::startCaptureSingleThread(OnDpdkPacketsArriveCallback
      onPacketsArrive,\n\t                                          void* onPacketsArriveUserCookie)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:723,1
    - Dst: pcpp::DpdkDevice::initCoreConfigurationByCoreMask
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:727,1
    - Dst: pcpp::DpdkDevice::getCoresInUseCount
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:730,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:732,1
    - Dst: pcpp::DpdkDevice::getCoresInUseCount
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:733,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:735,1
    - Dst: rte_eal_remote_launch
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:748,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:748,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:751,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:752,1
    - Dst: pcpp::DpdkDevice::clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:753,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - onPacketsArrive
    - onPacketsArriveUserCookie
    - coreMask
    argTypes:
    - OnDpdkPacketsArriveCallback
    - void*
    - CoreMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 762
    functionName: pcpp::DpdkDevice::startCaptureMultiThreads
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDevice::clear
    - rte_eal_remote_launch
    - static_cast<void*>
    - pcpp::DpdkDevice::initCoreConfigurationByCoreMask
    - PCPP_LOG_ERROR
    - strerror
    - pcpp::DpdkDevice::getCoresInUseCount
    - pcpp::DpdkDevice::clearCoreConfiguration
    linkageType: ''
    returnType: bool
    signature: "bool DpdkDevice::startCaptureMultiThreads(OnDpdkPacketsArriveCallback
      onPacketsArrive,\n\t                                          void* onPacketsArriveUserCookie,
      CoreMask coreMask)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:766,1
    - Dst: rte_eal_wait_lcore
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:772,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:773,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 777
    functionName: pcpp::DpdkDevice::stopCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - rte_eal_wait_lcore
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::stopCapture()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:786,1
    - Dst: DpdkDevice*::getCurrentCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:790,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:791,1
    - Dst: likely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:795,1
    - Dst: rte_eth_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:797,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:799,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:803,1
    - Dst: likely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:805,1
    - Dst: setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:810,1
    - Dst: DpdkDevice*::m_OnPacketsArriveCallback
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:813,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:818,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 821
    functionName: pcpp::DpdkDevice::dpdkCaptureThreadMain
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - clock_gettime
    - PCPP_LOG_ERROR
    - DpdkDevice*::m_OnPacketsArriveCallback
    - DpdkDevice*::getCurrentCoreId
    - PCPP_LOG_DEBUG
    - setMBuf
    - rte_eth_rx_burst
    - likely
    linkageType: ''
    returnType: int
    signature: int DpdkDevice::dpdkCaptureThreadMain(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - begin
    - ','
    - end
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 824
    functionName: nanosec_gap
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nanosec_gap(begin, end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:828,1
    - Dst: rte_eth_stats_get
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:830,1
    - Dst: nanosec_gap
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:832,1
    - Dst: collect
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:852,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - DpdkDeviceStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 855
    functionName: pcpp::DpdkDevice::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - clock_gettime
    - collect
    - rte_eth_stats_get
    - memcpy
    - nanosec_gap
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::getStatistics(DpdkDeviceStats& stats) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rte_eth_stats_reset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:859,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 861
    functionName: pcpp::DpdkDevice::clearStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - memset
    - rte_eth_stats_reset
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::clearStatistics()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - GeneralFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 868
    functionName: pcpp::DpdkDevice::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::setFilter(GeneralFilter& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filterAsString
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 875
    functionName: pcpp::DpdkDevice::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::setFilter(std::string filterAsString)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:881,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:887,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:893,1
    - Dst: rte_eth_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:898,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:903,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:909,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:914,1
    - Dst: MBufRawPacket*::setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:915,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ' rawPacketsArr'
    - rxQueueId
    argTypes:
    - MBufRawPacketVector
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 920
    functionName: pcpp::DpdkDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - MBufRawPacket*::setMBuf
    - clock_gettime
    - PCPP_LOG_ERROR
    - pushBack
    - MBufRawPacket::MBufRawPacket
    - rte_eth_rx_burst
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DpdkDevice::receivePackets(MBufRawPacketVector& rawPacketsArr,
      uint16_t rxQueueId) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:925,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:927,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:931,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:933,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:937,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:939,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:943,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:945,1
    - Dst: rte_eth_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:950,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:950,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:952,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:958,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:965,1
    - Dst: init
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:966,1
    - Dst: const_cast<DpdkDevice*>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:966,1
    - Dst: setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:969,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - rawPacketsArr
    - rawPacketArrLength
    - rxQueueId
    argTypes:
    - MBufRawPacket**
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 973
    functionName: pcpp::DpdkDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - clock_gettime
    - PCPP_LOG_ERROR
    - MBufRawPacket::MBufRawPacket
    - std::vector::data
    - const_cast<DpdkDevice*>
    - init
    - setMBuf
    - rte_eth_rx_burst
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t DpdkDevice::receivePackets(MBufRawPacket** rawPacketsArr,
      uint16_t rawPacketArrLength,\n\t                                    uint16_t
      rxQueueId) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:977,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:979,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:983,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:985,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:989,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:991,1
    - Dst: rte_eth_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:996,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:996,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:998,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1004,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1009,1
    - Dst: MBufRawPacket*::setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1010,1
    - Dst: Packet::Packet
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1012,1
    - Dst: setRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1014,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - packetsArr
    - packetsArrLength
    - rxQueueId
    argTypes:
    - Packet**
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 1018
    functionName: pcpp::DpdkDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - MBufRawPacket*::setMBuf
    - clock_gettime
    - PCPP_LOG_ERROR
    - MBufRawPacket::MBufRawPacket
    - std::vector::data
    - Packet::Packet
    - setRawPacket
    - rte_eth_rx_burst
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DpdkDevice::receivePackets(Packet** packetsArr, uint16_t packetsArrLength,
      uint16_t rxQueueId) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rte_rdtsc
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1026,1
    - Dst: rte_eth_tx_buffer_flush
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - flushOnlyIfTimeoutExpired
    - txQueueId
    argTypes:
    - bool
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1038
    functionName: pcpp::DpdkDevice::flushTxBuffer
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_eth_tx_buffer_flush
    - rte_rdtsc
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DpdkDevice::flushTxBuffer(bool flushOnlyIfTimeoutExpired,
      uint16_t txQueueId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - packetStorage
    - index
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1044
    functionName: pcpp::getNextPacketFromMBufRawPacketArray
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::getMBuf
    linkageType: ''
    returnType: rte_mbuf
    signature: rte_mbuf * getNextPacketFromMBufRawPacketArray(void* packetStorage,
      int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - packetStorage
    - index
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1050
    functionName: pcpp::getNextPacketFromMBufArray
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rte_mbuf
    signature: rte_mbuf * getNextPacketFromMBufArray(void* packetStorage, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBufRawPacketVector*::at
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - packetStorage
    - index
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1056
    functionName: pcpp::getNextPacketFromMBufRawPacketVec
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - MBufRawPacketVector*::at
    linkageType: ''
    returnType: rte_mbuf
    signature: rte_mbuf * getNextPacketFromMBufRawPacketVec(void* packetStorage, int
      index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBufRawPacket*::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - packetStorage
    - index
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    functionName: pcpp::getNextPacketFromMBufRawPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - MBufRawPacket*::getMBuf
    linkageType: ''
    returnType: rte_mbuf
    signature: rte_mbuf * getNextPacketFromMBufRawPacket(void* packetStorage, int
      index)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1067,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1069,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1073,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1075,1
    - Dst: iter
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1091,1
    - Dst: rte_eth_tx_buffer
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1095,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1101,1
    - Dst: rte_eth_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1103,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1106,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1108,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1110,1
    - Dst: std::chrono::microseconds
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1110,1
    - Dst: pcpp::DpdkDevice::flushTxBuffer
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1121,1
    - Dst: rte_eth_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - txQueueId
    - packetStorage
    - iter
    - arrLength
    - useTxBuffer
    argTypes:
    - uint16_t
    - void*
    - PacketIterator
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1129
    functionName: pcpp::DpdkDevice::sendPacketsInner
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - rte_eth_tx_burst
    - PCPP_LOG_ERROR
    - iter
    - pcpp::DpdkDevice::flushTxBuffer
    - std::this_thread::sleep_for
    - PCPP_LOG_DEBUG
    - std::chrono::microseconds
    - rte_eth_tx_buffer
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t DpdkDevice::sendPacketsInner(uint16_t txQueueId, void* packetStorage,
      PacketIterator iter, int arrLength,\n\t                                      bool
      useTxBuffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice::sendPacketsInner
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1134,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1140,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1146,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - rawPacketsArr
    - arrLength
    - txQueueId
    - useTxBuffer
    argTypes:
    - MBufRawPacket**
    - uint16_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1152
    functionName: pcpp::DpdkDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - setFreeMbuf
    - pcpp::DpdkDevice::sendPacketsInner
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t DpdkDevice::sendPackets(MBufRawPacket** rawPacketsArr, uint16_t
      arrLength, uint16_t txQueueId,\n\t                                 bool useTxBuffer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: internal::getRawPacketImplementationType
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1164,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1164,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1167,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1168,1
    - Dst: MBufRawPacket*::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1168,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1168,1
    - Dst: MBufRawPacketVector::pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1174,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1178,1
    - Dst: MBufRawPacket*::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1181,1
    - Dst: pcpp::DpdkDevice::sendPacketsInner
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1186,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1186,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - packetsArr
    - arrLength
    - txQueueId
    - useTxBuffer
    argTypes:
    - Packet**
    - uint16_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1193
    functionName: pcpp::DpdkDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - MBufRawPacket*::initFromRawPacket
    - pcpp::DpdkDevice::sendPacketsInner
    - MBufRawPacketVector::pushBack
    - internal::getRawPacketImplementationType
    - MBufRawPacket::MBufRawPacket
    - std::vector::data
    - setFreeMbuf
    - MBufRawPacket*::getMBuf
    - getRawPacketReadOnly
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DpdkDevice::sendPackets(Packet** packetsArr, uint16_t arrLength,
      uint16_t txQueueId, bool useTxBuffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1197,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1203,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1203,1
    - Dst: internal::getRawPacketImplementationType
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1206,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1209,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1210,1
    - Dst: MBufRawPacket*::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1210,1
    - Dst: MBufRawPacketVector::pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1216,1
    - Dst: MBufRawPacket*::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1224,1
    - Dst: pcpp::DpdkDevice::sendPacketsInner
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1228,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1228,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1231,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ' rawPacketsVec'
    - txQueueId
    - useTxBuffer
    argTypes:
    - RawPacketVector
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1235
    functionName: pcpp::DpdkDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - pcpp::DpdkDevice::sendPacketsInner
    - begin
    - end
    - MBufRawPacketVector::pushBack
    - internal::getRawPacketImplementationType
    - size
    - MBufRawPacket::MBufRawPacket
    - std::vector::data
    - setFreeMbuf
    - MBufRawPacket*::getMBuf
    - MBufRawPacket*::initFromRawPacket
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DpdkDevice::sendPackets(RawPacketVector& rawPacketsVec, uint16_t
      txQueueId, bool useTxBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1239,1
    - Dst: pcpp::DpdkDevice::sendPacketsInner
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1240,1
    - Dst: at
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' rawPacketsVec'
    - txQueueId
    - useTxBuffer
    argTypes:
    - MBufRawPacketVector
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1237
    functionDepth: 2
    functionLinenumber: 1237
    functionLinenumberEnd: 1249
    functionName: pcpp::DpdkDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - at
    - pcpp::DpdkDevice::sendPacketsInner
    - size
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DpdkDevice::sendPackets(MBufRawPacketVector& rawPacketsVec,
      uint16_t txQueueId, bool useTxBuffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: internal::getRawPacketImplementationType
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1253,1
    - Dst: pcpp::DpdkDevice::sendPacketsInner
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1256,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1259,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1264,1
    - Dst: MBufRawPacket::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1264,1
    - Dst: pcpp::DpdkDevice::sendPacketsInner
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1268,1
    - Dst: MBufRawPacket::setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' rawPacket'
    - txQueueId
    - useTxBuffer
    argTypes:
    - RawPacket
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1251
    functionDepth: 2
    functionLinenumber: 1251
    functionLinenumberEnd: 1273
    functionName: pcpp::DpdkDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - pcpp::DpdkDevice::sendPacketsInner
    - MBufRawPacket::setFreeMbuf
    - MBufRawPacket::initFromRawPacket
    - internal::getRawPacketImplementationType
    - setFreeMbuf
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::sendPacket(RawPacket& rawPacket, uint16_t txQueueId,
      bool useTxBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice::sendPacketsInner
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1278,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' rawPacket'
    - txQueueId
    - useTxBuffer
    argTypes:
    - MBufRawPacket
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1275
    functionDepth: 2
    functionLinenumber: 1275
    functionLinenumberEnd: 1282
    functionName: pcpp::DpdkDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - setFreeMbuf
    - pcpp::DpdkDevice::sendPacketsInner
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::sendPacket(MBufRawPacket& rawPacket, uint16_t txQueueId,
      bool useTxBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1286,1
    - Dst: getRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' packet'
    - txQueueId
    - useTxBuffer
    argTypes:
    - Packet
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1287
    functionName: pcpp::DpdkDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DpdkDevice::sendPacket
    - getRawPacket
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::sendPacket(Packet& packet, uint16_t txQueueId, bool
      useTxBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rte_mempool_avail_count
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1292
    functionName: pcpp::DpdkDevice::getAmountOfFreeMbufs
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_mempool_avail_count
    linkageType: ''
    returnType: int
    signature: int DpdkDevice::getAmountOfFreeMbufs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rte_mempool_in_use_count
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1297
    functionName: pcpp::DpdkDevice::getAmountOfMbufsInUse
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_mempool_in_use_count
    linkageType: ''
    returnType: int
    signature: int DpdkDevice::getAmountOfMbufsInUse() const
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: getDeviceInfo
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1304,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 1
    argNames:
    - rssHF
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1375
    functionName: pcpp::DpdkDevice::convertRssHfToDpdkRssHf
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - getDeviceInfo
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t DpdkDevice::convertRssHfToDpdkRssHf(uint64_t rssHF) const
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 1
    argNames:
    - dpdkRssHF
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1442
    functionName: pcpp::DpdkDevice::convertDpdkRssHfToRssHf
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t DpdkDevice::convertDpdkRssHfToRssHf(uint64_t dpdkRssHF) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice::isDeviceSupportRssHashFunction
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rssHF
    argTypes:
    - DpdkRssHashFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1447
    functionName: pcpp::DpdkDevice::isDeviceSupportRssHashFunction
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DpdkDevice::isDeviceSupportRssHashFunction
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::isDeviceSupportRssHashFunction(DpdkRssHashFunction
      rssHF) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice::convertRssHfToDpdkRssHf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1451,1
    - Dst: getDeviceInfo
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rssHFMask
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1460
    functionName: pcpp::DpdkDevice::isDeviceSupportRssHashFunction
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DpdkDevice::convertRssHfToDpdkRssHf
    - getDeviceInfo
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::isDeviceSupportRssHashFunction(uint64_t rssHFMask)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDeviceInfo
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1465,1
    - Dst: pcpp::DpdkDevice::convertDpdkRssHfToRssHf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1462
    functionDepth: 1
    functionLinenumber: 1462
    functionLinenumberEnd: 1471
    functionName: pcpp::DpdkDevice::getSupportedRssHashFunctions
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - getDeviceInfo
    - pcpp::DpdkDevice::convertDpdkRssHfToRssHf
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t DpdkDevice::getSupportedRssHashFunctions() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1475,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1488,1
    - Dst: pcpp::DpdkDevice::getSupportedRssHashFunctions
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1473
    functionDepth: 2
    functionLinenumber: 1473
    functionLinenumberEnd: 1494
    functionName: pcpp::DpdkDevice::getConfiguredRssHashFunction
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DpdkDevice::getSupportedRssHashFunctions
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t DpdkDevice::getConfiguredRssHashFunction() const
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1498,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1502,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1507,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1510,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1513,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1516,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1519,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1522,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1525,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1528,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1531,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1534,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1537,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1540,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1543,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1546,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1549,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1552,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1555,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1558,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1561,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1564,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 1
    argNames:
    - rssHFMask
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1567
    functionName: pcpp::DpdkDevice::rssHashFunctionMaskToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> DpdkDevice::rssHashFunctionMaskToString(uint64_t
      rssHFMask) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1574,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1575,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1576,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1577,1
    - Dst: resolveStatIds
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1581,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1585,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - portId
    - rxQueueCount
    - txQueueCount
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1569
    functionDepth: 1
    functionLinenumber: 1569
    functionLinenumberEnd: 1590
    functionName: DpdkDevice::QueueStatsCollector::init(uint16_t portId, uint16_t
      rxQueueCount, uint16_t txQueueCount)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - clear
    - what
    - resolveStatIds
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::QueueStatsCollector::init(uint16_t portId, uint16_t
      rxQueueCount, uint16_t txQueueCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1595,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1596,1
    - Dst: rte_eth_xstats_get_by_id
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1616,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1616,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1616,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1617,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1619,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - ' stats'
    - ' prevStats'
    - secsElapsed
    argTypes:
    - DpdkDeviceStats
    - DpdkDeviceStats
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1592
    functionDepth: 1
    functionLinenumber: 1592
    functionLinenumberEnd: 1641
    functionName: "DpdkDevice::QueueStatsCollector::collect(DpdkDeviceStats& stats,
      const DpdkDeviceStats& prevStats,\n\t                                              double
      secsElapsed) const"
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - PCPP_LOG_ERROR
    - std::memset
    - std::vector::data
    - rte_eth_xstats_get_by_id
    linkageType: ''
    returnType: void
    signature: "void DpdkDevice::QueueStatsCollector::collect(DpdkDeviceStats& stats,
      const DpdkDeviceStats& prevStats,\n\t                                              double
      secsElapsed) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_eth_xstats_get_id_by_name
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1645,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1645,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' statName'
    - ' idOut'
    argTypes:
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1649
    functionName: DpdkDevice::QueueStatsCollector::resolveStatId(const std::string&
      statName, uint64_t& idOut) const
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - rte_eth_xstats_get_id_by_name
    - c_str
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::QueueStatsCollector::resolveStatId(const std::string&
      statName, uint64_t& idOut) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resolveStatId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1660,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1660,1
    - Dst: resolveStatId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1661,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1661,1
    - Dst: resolveStatId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1666,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1666,1
    - Dst: resolveStatId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1667,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1667,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1670,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1671,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1672,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1651
    functionDepth: 1
    functionLinenumber: 1651
    functionLinenumberEnd: 1674
    functionName: DpdkDevice::QueueStatsCollector::resolveStatIds()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - resolveStatId
    - std::move
    - to_string
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::QueueStatsCollector::resolveStatIds()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_eth_dev_info_get
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:112,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:115,1
    - Dst: rte_strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - devId
    - ' devInfo'
    argTypes:
    - uint16_t
    - rte_eth_dev_info
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: pcpp::getDeviceInfo
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_strerror
    - rte_eth_dev_info_get
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool getDeviceInfo(uint16_t devId, rte_eth_dev_info& devInfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:128,1
    - Dst: rte_eth_dev_socket_id
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:129,1
    - Dst: rte_eth_macaddr_get
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:136,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:137,1
    - Dst: rte_eth_dev_get_mtu
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:140,1
    - Dst: sprintf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:143,1
    - Dst: pcpp::DpdkDevice::initMemPool
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:144,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:146,1
    - Dst: pcpp::DpdkDevice::setDeviceInfo
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:153,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - port
    - mBufPoolSize
    - mBufDataSize
    argTypes:
    - int
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 163
    functionName: pcpp::DpdkDevice::DpdkDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_eth_dev_socket_id
    - sprintf
    - pcpp::DpdkDevice::initMemPool
    - MacAddress
    - pcpp::DpdkDevice::setDeviceInfo
    - PCPP_LOG_ERROR
    - rte_eth_macaddr_get
    - std::ostringstream::str
    - rte_eth_dev_get_mtu
    - memset
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::DpdkDevice(int port, uint32_t mBufPoolSize, uint16_t
      mBufDataSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: DpdkDevice::~DpdkDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::~DpdkDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rte_lcore_id
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: pcpp::DpdkDevice::getCurrentCoreId
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_lcore_id
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t DpdkDevice::getCurrentCoreId() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_eth_dev_set_mtu
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:181,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:184,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - newMtu
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: pcpp::DpdkDevice::setMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_eth_dev_set_mtu
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::setMtu(uint16_t newMtu)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:198,1
    - Dst: pcpp::DpdkDevice::openMultiQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:209,1
    - Dst: pcpp::DpdkDevice::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:209,1
    - Dst: pcpp::DpdkDevice::getTotalNumOfTxQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:209,1
    - Dst: pcpp::DpdkDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:210,1
    - Dst: pcpp::DpdkDevice::configurePort
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:215,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:221,1
    - Dst: pcpp::DpdkDevice::initQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:223,1
    - Dst: pcpp::DpdkDevice::startDevice
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:226,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:228,1
    - Dst: rte_eth_stats_reset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:236,1
    - Dst: init
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - numOfRxQueuesToOpen
    - numOfTxQueuesToOpen
    - ' config'
    argTypes:
    - uint16_t
    - uint16_t
    - DpdkDeviceConfiguration
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 245
    functionName: pcpp::DpdkDevice::openMultiQueues
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DpdkDevice::startDevice
    - pcpp::DpdkDevice::getTotalNumOfRxQueues
    - pcpp::DpdkDevice::openMultiQueues
    - PCPP_LOG_ERROR
    - pcpp::DpdkDevice::close
    - pcpp::DpdkDevice::getTotalNumOfTxQueues
    - pcpp::DpdkDevice::configurePort
    - rte_eth_stats_reset
    - pcpp::DpdkDevice::clearCoreConfiguration
    - init
    - pcpp::DpdkDevice::initQueues
    linkageType: ''
    returnType: bool
    signature: "bool DpdkDevice::openMultiQueues(uint16_t numOfRxQueuesToOpen, uint16_t
      numOfTxQueuesToOpen,\n\t                                 const DpdkDeviceConfiguration&
      config)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:251,1
    - Dst: pcpp::DpdkDevice::stopCapture
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:254,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:255,1
    - Dst: rte_eth_dev_stop
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:258,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 274
    functionName: pcpp::DpdkDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DpdkDevice::clearCoreConfiguration
    - rte_eth_dev_stop
    - pcpp::DpdkDevice::stopCapture
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::close()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:278,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:280,1
    - Dst: pcpp::DpdkDevice::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:280,1
    - Dst: pcpp::DpdkDevice::getTotalNumOfTxQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:284,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:286,1
    - Dst: pcpp::DpdkDevice::getTotalNumOfTxQueues
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:286,1
    - Dst: pcpp::DpdkDevice::getSupportedRssHashFunctions
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:291,1
    - Dst: pcpp::DpdkDevice::getConfiguredRssHashFunction
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:291,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:293,1
    - Dst: pcpp::DpdkDevice::isDeviceSupportRssHashFunction
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:299,1
    - Dst: pcpp::DpdkDevice::getConfiguredRssHashFunction
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:299,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:301,1
    - Dst: pcpp::DpdkDevice::getConfiguredRssHashFunction
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:302,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:309,1
    - Dst: pcpp::DpdkDevice::isVirtual
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:314,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:319,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:327,1
    - Dst: pcpp::DpdkDevice::convertRssHfToDpdkRssHf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:350,1
    - Dst: pcpp::DpdkDevice::getConfiguredRssHashFunction
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:350,1
    - Dst: rte_eth_dev_configure
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:352,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:355,1
    - Dst: rte_strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:355,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:360,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - numOfRxQueues
    - numOfTxQueues
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 365
    functionName: pcpp::DpdkDevice::configurePort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DpdkDevice::getTotalNumOfRxQueues
    - pcpp::DpdkDevice::isDeviceSupportRssHashFunction
    - PCPP_LOG_ERROR
    - pcpp::DpdkDevice::getSupportedRssHashFunctions
    - pcpp::DpdkDevice::isVirtual
    - pcpp::DpdkDevice::convertRssHfToDpdkRssHf
    - pcpp::DpdkDevice::getTotalNumOfTxQueues
    - PCPP_LOG_DEBUG
    - memset
    - rte_strerror
    - rte_eth_dev_configure
    - pcpp::DpdkDevice::getConfiguredRssHashFunction
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::configurePort(uint8_t numOfRxQueues, uint8_t numOfTxQueues)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getDeviceInfo
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:370,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:377,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:385,1
    - Dst: rte_eth_rx_queue_setup
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:393,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:398,1
    - Dst: rte_strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:399,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:405,1
    - Dst: rte_eth_tx_queue_setup
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:411,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:414,1
    - Dst: rte_strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:415,1
    - Dst: rte_eth_dev_tx_buffer::rte_eth_dev_tx_buffer
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:426,1
    - Dst: uint64_t::uint64_t
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:427,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:428,1
    - Dst: rte_zmalloc_socket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:432,1
    - Dst: RTE_ETH_TX_BUFFER_SIZE
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:433,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:437,1
    - Dst: rte_eth_tx_buffer_init
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:441,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:445,1
    - Dst: rte_get_tsc_hz
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:450,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:452,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:454,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - numOfRxQueuesToInit
    - numOfTxQueuesToInit
    argTypes:
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 458
    functionName: pcpp::DpdkDevice::initQueues
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached:
    - rte_eth_rx_queue_setup
    - rte_zmalloc_socket
    - rte_eth_tx_queue_setup
    - RTE_ETH_TX_BUFFER_SIZE
    - rte_eth_dev_tx_buffer::rte_eth_dev_tx_buffer
    - PCPP_LOG_ERROR
    - uint64_t::uint64_t
    - PCPP_LOG_DEBUG
    - memset
    - rte_strerror
    - rte_eth_tx_buffer_init
    - getDeviceInfo
    - rte_get_tsc_hz
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::initQueues(uint8_t numOfRxQueuesToInit, uint8_t numOfTxQueuesToInit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_pktmbuf_pool_create
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:466,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:469,1
    - Dst: rte_strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:470,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ' memPool'
    - mempoolName
    - mBufPoolSize
    argTypes:
    - struct rte_mempool*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 480
    functionName: pcpp::DpdkDevice::initMemPool
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached:
    - PCPP_LOG_DEBUG
    - rte_strerror
    - PCPP_LOG_ERROR
    - rte_pktmbuf_pool_create
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::initMemPool(struct rte_mempool*& memPool, const char*
      mempoolName, uint32_t mBufPoolSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rte_eth_dev_start
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:484,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:487,1
    - Dst: pcpp::DpdkDevice::getLinkStatus
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:492,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:493,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:497,1
    - Dst: rte_eth_promiscuous_enable
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:501,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 505
    functionName: pcpp::DpdkDevice::startDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached:
    - rte_eth_promiscuous_enable
    - pcpp::DpdkDevice::getLinkStatus
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    - rte_eth_dev_start
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::startDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 513
    functionName: pcpp::DpdkDevice::clearCoreConfiguration
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::clearCoreConfiguration()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: pcpp::DpdkDevice::getCoresInUseCount
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DpdkDevice::getCoresInUseCount() const
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getDeviceInfo
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:528,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:533,1
    - Dst: rte_pci_device_name
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:575,1
    - Dst: rte_eal_pci_device_name
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:577,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:579,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:581,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:583,1
    - Dst: rte_dev_name
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:583,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:586,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:587,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 591
    functionName: pcpp::DpdkDevice::setDeviceInfo
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached:
    - rte_dev_name
    - string
    - PCPP_LOG_DEBUG
    - rte_eal_pci_device_name
    - rte_pci_device_name
    - getDeviceInfo
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::setDeviceInfo()
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 609
    functionName: pcpp::DpdkDevice::isVirtual
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::isVirtual() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_eth_link_get
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:614,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:617,1
    - Dst: rte_strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' linkStatus'
    argTypes:
    - LinkStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 627
    functionName: pcpp::DpdkDevice::getLinkStatus
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached:
    - rte_eth_link_get
    - rte_strerror
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::getLinkStatus(LinkStatus& linkStatus) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfCores
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:632,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:633,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:638,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:640,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:641,1
    - Dst: rte_lcore_is_enabled
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:645,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:647,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:648,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:660,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - coreMask
    argTypes:
    - CoreMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 667
    functionName: pcpp::DpdkDevice::initCoreConfigurationByCoreMask
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - getNumOfCores
    - rte_lcore_is_enabled
    - PCPP_LOG_ERROR
    - pcpp::DpdkDevice::clearCoreConfiguration
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::initCoreConfigurationByCoreMask(CoreMask coreMask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:674,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:680,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:684,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:686,1
    - Dst: GET_MASTER_CORE
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:695,1
    - Dst: rte_lcore_is_enabled
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:695,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:701,1
    - Dst: rte_eal_remote_launch
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:702,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:702,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:705,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:710,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:714,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - onPacketsArrive
    - onPacketsArriveUserCookie
    argTypes:
    - OnDpdkPacketsArriveCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 716
    functionName: pcpp::DpdkDevice::startCaptureSingleThread
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_eal_remote_launch
    - static_cast<void*>
    - rte_lcore_is_enabled
    - GET_MASTER_CORE
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    - pcpp::DpdkDevice::clearCoreConfiguration
    linkageType: ''
    returnType: bool
    signature: "bool DpdkDevice::startCaptureSingleThread(OnDpdkPacketsArriveCallback
      onPacketsArrive,\n\t                                          void* onPacketsArriveUserCookie)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:723,1
    - Dst: pcpp::DpdkDevice::initCoreConfigurationByCoreMask
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:727,1
    - Dst: pcpp::DpdkDevice::getCoresInUseCount
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:730,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:732,1
    - Dst: pcpp::DpdkDevice::getCoresInUseCount
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:733,1
    - Dst: pcpp::DpdkDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:735,1
    - Dst: rte_eal_remote_launch
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:748,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:748,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:751,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:752,1
    - Dst: pcpp::DpdkDevice::clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:753,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - onPacketsArrive
    - onPacketsArriveUserCookie
    - coreMask
    argTypes:
    - OnDpdkPacketsArriveCallback
    - void*
    - CoreMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 762
    functionName: pcpp::DpdkDevice::startCaptureMultiThreads
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDevice::clear
    - rte_eal_remote_launch
    - static_cast<void*>
    - pcpp::DpdkDevice::initCoreConfigurationByCoreMask
    - PCPP_LOG_ERROR
    - strerror
    - pcpp::DpdkDevice::getCoresInUseCount
    - pcpp::DpdkDevice::clearCoreConfiguration
    linkageType: ''
    returnType: bool
    signature: "bool DpdkDevice::startCaptureMultiThreads(OnDpdkPacketsArriveCallback
      onPacketsArrive,\n\t                                          void* onPacketsArriveUserCookie,
      CoreMask coreMask)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:766,1
    - Dst: rte_eal_wait_lcore
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:772,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:773,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 777
    functionName: pcpp::DpdkDevice::stopCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached:
    - rte_eal_wait_lcore
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::stopCapture()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:786,1
    - Dst: DpdkDevice*::getCurrentCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:790,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:791,1
    - Dst: likely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:795,1
    - Dst: rte_eth_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:797,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:799,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:803,1
    - Dst: likely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:805,1
    - Dst: setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:810,1
    - Dst: DpdkDevice*::m_OnPacketsArriveCallback
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:813,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:818,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 821
    functionName: pcpp::DpdkDevice::dpdkCaptureThreadMain
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - clock_gettime
    - PCPP_LOG_ERROR
    - DpdkDevice*::m_OnPacketsArriveCallback
    - DpdkDevice*::getCurrentCoreId
    - PCPP_LOG_DEBUG
    - setMBuf
    - rte_eth_rx_burst
    - likely
    linkageType: ''
    returnType: int
    signature: int DpdkDevice::dpdkCaptureThreadMain(void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - begin
    - ','
    - end
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 824
    functionName: nanosec_gap
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nanosec_gap(begin, end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:828,1
    - Dst: rte_eth_stats_get
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:830,1
    - Dst: nanosec_gap
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:832,1
    - Dst: collect
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:852,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - DpdkDeviceStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 855
    functionName: pcpp::DpdkDevice::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - clock_gettime
    - collect
    - rte_eth_stats_get
    - memcpy
    - nanosec_gap
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::getStatistics(DpdkDeviceStats& stats) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rte_eth_stats_reset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:859,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 861
    functionName: pcpp::DpdkDevice::clearStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - memset
    - rte_eth_stats_reset
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::clearStatistics()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - GeneralFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 868
    functionName: pcpp::DpdkDevice::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::setFilter(GeneralFilter& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filterAsString
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 875
    functionName: pcpp::DpdkDevice::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::setFilter(std::string filterAsString)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:881,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:887,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:893,1
    - Dst: rte_eth_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:898,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:903,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:909,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:914,1
    - Dst: MBufRawPacket*::setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:915,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - ' rawPacketsArr'
    - rxQueueId
    argTypes:
    - MBufRawPacketVector
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 920
    functionName: pcpp::DpdkDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - MBufRawPacket*::setMBuf
    - clock_gettime
    - PCPP_LOG_ERROR
    - pushBack
    - MBufRawPacket::MBufRawPacket
    - rte_eth_rx_burst
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DpdkDevice::receivePackets(MBufRawPacketVector& rawPacketsArr,
      uint16_t rxQueueId) const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:925,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:927,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:931,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:933,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:937,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:939,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:943,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:945,1
    - Dst: rte_eth_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:950,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:950,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:952,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:958,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:965,1
    - Dst: init
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:966,1
    - Dst: const_cast<DpdkDevice*>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:966,1
    - Dst: setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:969,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - rawPacketsArr
    - rawPacketArrLength
    - rxQueueId
    argTypes:
    - MBufRawPacket**
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 973
    functionName: pcpp::DpdkDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - clock_gettime
    - PCPP_LOG_ERROR
    - MBufRawPacket::MBufRawPacket
    - std::vector::data
    - const_cast<DpdkDevice*>
    - init
    - setMBuf
    - rte_eth_rx_burst
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t DpdkDevice::receivePackets(MBufRawPacket** rawPacketsArr,
      uint16_t rawPacketArrLength,\n\t                                    uint16_t
      rxQueueId) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:977,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:979,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:983,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:985,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:989,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:991,1
    - Dst: rte_eth_rx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:996,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:996,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:998,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1004,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1009,1
    - Dst: MBufRawPacket*::setMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1010,1
    - Dst: Packet::Packet
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1012,1
    - Dst: setRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1014,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - packetsArr
    - packetsArrLength
    - rxQueueId
    argTypes:
    - Packet**
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 1018
    functionName: pcpp::DpdkDevice::receivePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - MBufRawPacket*::setMBuf
    - clock_gettime
    - PCPP_LOG_ERROR
    - MBufRawPacket::MBufRawPacket
    - std::vector::data
    - Packet::Packet
    - setRawPacket
    - rte_eth_rx_burst
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DpdkDevice::receivePackets(Packet** packetsArr, uint16_t packetsArrLength,
      uint16_t rxQueueId) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rte_rdtsc
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1026,1
    - Dst: rte_eth_tx_buffer_flush
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - flushOnlyIfTimeoutExpired
    - txQueueId
    argTypes:
    - bool
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1038
    functionName: pcpp::DpdkDevice::flushTxBuffer
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - rte_eth_tx_buffer_flush
    - rte_rdtsc
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DpdkDevice::flushTxBuffer(bool flushOnlyIfTimeoutExpired,
      uint16_t txQueueId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - packetStorage
    - index
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1044
    functionName: pcpp::getNextPacketFromMBufRawPacketArray
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::getMBuf
    linkageType: ''
    returnType: rte_mbuf
    signature: rte_mbuf * getNextPacketFromMBufRawPacketArray(void* packetStorage,
      int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - packetStorage
    - index
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1050
    functionName: pcpp::getNextPacketFromMBufArray
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rte_mbuf
    signature: rte_mbuf * getNextPacketFromMBufArray(void* packetStorage, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBufRawPacketVector*::at
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - packetStorage
    - index
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1056
    functionName: pcpp::getNextPacketFromMBufRawPacketVec
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - MBufRawPacketVector*::at
    linkageType: ''
    returnType: rte_mbuf
    signature: rte_mbuf * getNextPacketFromMBufRawPacketVec(void* packetStorage, int
      index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MBufRawPacket*::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - packetStorage
    - index
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    functionName: pcpp::getNextPacketFromMBufRawPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - MBufRawPacket*::getMBuf
    linkageType: ''
    returnType: rte_mbuf
    signature: rte_mbuf * getNextPacketFromMBufRawPacket(void* packetStorage, int
      index)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1067,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1069,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1073,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1075,1
    - Dst: iter
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1091,1
    - Dst: rte_eth_tx_buffer
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1095,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1101,1
    - Dst: rte_eth_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1103,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1106,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1108,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1110,1
    - Dst: std::chrono::microseconds
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1110,1
    - Dst: pcpp::DpdkDevice::flushTxBuffer
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1121,1
    - Dst: rte_eth_tx_burst
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - txQueueId
    - packetStorage
    - iter
    - arrLength
    - useTxBuffer
    argTypes:
    - uint16_t
    - void*
    - PacketIterator
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1129
    functionName: pcpp::DpdkDevice::sendPacketsInner
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 6
    functionsReached:
    - unlikely
    - rte_eth_tx_burst
    - PCPP_LOG_ERROR
    - iter
    - pcpp::DpdkDevice::flushTxBuffer
    - std::this_thread::sleep_for
    - PCPP_LOG_DEBUG
    - std::chrono::microseconds
    - rte_eth_tx_buffer
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t DpdkDevice::sendPacketsInner(uint16_t txQueueId, void* packetStorage,
      PacketIterator iter, int arrLength,\n\t                                      bool
      useTxBuffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice::sendPacketsInner
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1134,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1140,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1146,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - rawPacketsArr
    - arrLength
    - txQueueId
    - useTxBuffer
    argTypes:
    - MBufRawPacket**
    - uint16_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1152
    functionName: pcpp::DpdkDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - setFreeMbuf
    - pcpp::DpdkDevice::sendPacketsInner
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t DpdkDevice::sendPackets(MBufRawPacket** rawPacketsArr, uint16_t
      arrLength, uint16_t txQueueId,\n\t                                 bool useTxBuffer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: internal::getRawPacketImplementationType
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1164,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1164,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1167,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1168,1
    - Dst: MBufRawPacket*::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1168,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1168,1
    - Dst: MBufRawPacketVector::pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1174,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1178,1
    - Dst: MBufRawPacket*::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1181,1
    - Dst: pcpp::DpdkDevice::sendPacketsInner
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1186,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1186,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - packetsArr
    - arrLength
    - txQueueId
    - useTxBuffer
    argTypes:
    - Packet**
    - uint16_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1193
    functionName: pcpp::DpdkDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - MBufRawPacket*::initFromRawPacket
    - pcpp::DpdkDevice::sendPacketsInner
    - MBufRawPacketVector::pushBack
    - internal::getRawPacketImplementationType
    - MBufRawPacket::MBufRawPacket
    - std::vector::data
    - setFreeMbuf
    - MBufRawPacket*::getMBuf
    - getRawPacketReadOnly
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DpdkDevice::sendPackets(Packet** packetsArr, uint16_t arrLength,
      uint16_t txQueueId, bool useTxBuffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1197,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1203,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1203,1
    - Dst: internal::getRawPacketImplementationType
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1206,1
    - Dst: MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1209,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1210,1
    - Dst: MBufRawPacket*::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1210,1
    - Dst: MBufRawPacketVector::pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1216,1
    - Dst: MBufRawPacket*::getMBuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1224,1
    - Dst: pcpp::DpdkDevice::sendPacketsInner
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1228,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1228,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1231,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ' rawPacketsVec'
    - txQueueId
    - useTxBuffer
    argTypes:
    - RawPacketVector
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1235
    functionName: pcpp::DpdkDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - unlikely
    - pcpp::DpdkDevice::sendPacketsInner
    - begin
    - end
    - MBufRawPacketVector::pushBack
    - internal::getRawPacketImplementationType
    - size
    - MBufRawPacket::MBufRawPacket
    - std::vector::data
    - setFreeMbuf
    - MBufRawPacket*::getMBuf
    - MBufRawPacket*::initFromRawPacket
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DpdkDevice::sendPackets(RawPacketVector& rawPacketsVec, uint16_t
      txQueueId, bool useTxBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1239,1
    - Dst: pcpp::DpdkDevice::sendPacketsInner
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1240,1
    - Dst: at
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ' rawPacketsVec'
    - txQueueId
    - useTxBuffer
    argTypes:
    - MBufRawPacketVector
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1237
    functionDepth: 2
    functionLinenumber: 1237
    functionLinenumberEnd: 1249
    functionName: pcpp::DpdkDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - at
    - pcpp::DpdkDevice::sendPacketsInner
    - size
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t DpdkDevice::sendPackets(MBufRawPacketVector& rawPacketsVec,
      uint16_t txQueueId, bool useTxBuffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: internal::getRawPacketImplementationType
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1253,1
    - Dst: pcpp::DpdkDevice::sendPacketsInner
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1256,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1259,1
    - Dst: unlikely
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1264,1
    - Dst: MBufRawPacket::initFromRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1264,1
    - Dst: pcpp::DpdkDevice::sendPacketsInner
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1268,1
    - Dst: MBufRawPacket::setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' rawPacket'
    - txQueueId
    - useTxBuffer
    argTypes:
    - RawPacket
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1251
    functionDepth: 2
    functionLinenumber: 1251
    functionLinenumberEnd: 1273
    functionName: pcpp::DpdkDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - unlikely
    - pcpp::DpdkDevice::sendPacketsInner
    - MBufRawPacket::setFreeMbuf
    - MBufRawPacket::initFromRawPacket
    - internal::getRawPacketImplementationType
    - setFreeMbuf
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::sendPacket(RawPacket& rawPacket, uint16_t txQueueId,
      bool useTxBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice::sendPacketsInner
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1278,1
    - Dst: setFreeMbuf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - ' rawPacket'
    - txQueueId
    - useTxBuffer
    argTypes:
    - MBufRawPacket
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1275
    functionDepth: 2
    functionLinenumber: 1275
    functionLinenumberEnd: 1282
    functionName: pcpp::DpdkDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached:
    - setFreeMbuf
    - pcpp::DpdkDevice::sendPacketsInner
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::sendPacket(MBufRawPacket& rawPacket, uint16_t txQueueId,
      bool useTxBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1286,1
    - Dst: getRawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' packet'
    - txQueueId
    - useTxBuffer
    argTypes:
    - Packet
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1287
    functionName: pcpp::DpdkDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DpdkDevice::sendPacket
    - getRawPacket
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::sendPacket(Packet& packet, uint16_t txQueueId, bool
      useTxBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rte_mempool_avail_count
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1292
    functionName: pcpp::DpdkDevice::getAmountOfFreeMbufs
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_mempool_avail_count
    linkageType: ''
    returnType: int
    signature: int DpdkDevice::getAmountOfFreeMbufs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rte_mempool_in_use_count
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1297
    functionName: pcpp::DpdkDevice::getAmountOfMbufsInUse
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - rte_mempool_in_use_count
    linkageType: ''
    returnType: int
    signature: int DpdkDevice::getAmountOfMbufsInUse() const
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: getDeviceInfo
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1304,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 1
    argNames:
    - rssHF
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1375
    functionName: pcpp::DpdkDevice::convertRssHfToDpdkRssHf
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 3
    functionsReached:
    - getDeviceInfo
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t DpdkDevice::convertRssHfToDpdkRssHf(uint64_t rssHF) const
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 1
    argNames:
    - dpdkRssHF
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1442
    functionName: pcpp::DpdkDevice::convertDpdkRssHfToRssHf
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t DpdkDevice::convertDpdkRssHfToRssHf(uint64_t dpdkRssHF) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice::isDeviceSupportRssHashFunction
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rssHF
    argTypes:
    - DpdkRssHashFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1447
    functionName: pcpp::DpdkDevice::isDeviceSupportRssHashFunction
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 4
    functionsReached:
    - pcpp::DpdkDevice::isDeviceSupportRssHashFunction
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::isDeviceSupportRssHashFunction(DpdkRssHashFunction
      rssHF) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice::convertRssHfToDpdkRssHf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1451,1
    - Dst: getDeviceInfo
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rssHFMask
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1460
    functionName: pcpp::DpdkDevice::isDeviceSupportRssHashFunction
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 4
    functionsReached:
    - pcpp::DpdkDevice::convertRssHfToDpdkRssHf
    - getDeviceInfo
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::isDeviceSupportRssHashFunction(uint64_t rssHFMask)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDeviceInfo
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1465,1
    - Dst: pcpp::DpdkDevice::convertDpdkRssHfToRssHf
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1462
    functionDepth: 1
    functionLinenumber: 1462
    functionLinenumberEnd: 1471
    functionName: pcpp::DpdkDevice::getSupportedRssHashFunctions
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 3
    functionsReached:
    - getDeviceInfo
    - pcpp::DpdkDevice::convertDpdkRssHfToRssHf
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t DpdkDevice::getSupportedRssHashFunctions() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1475,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1488,1
    - Dst: pcpp::DpdkDevice::getSupportedRssHashFunctions
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1473
    functionDepth: 2
    functionLinenumber: 1473
    functionLinenumberEnd: 1494
    functionName: pcpp::DpdkDevice::getConfiguredRssHashFunction
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::DpdkDevice::getSupportedRssHashFunctions
    - static_cast<uint64_t>
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t DpdkDevice::getConfiguredRssHashFunction() const
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1498,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1502,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1507,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1510,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1513,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1516,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1519,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1522,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1525,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1528,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1531,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1534,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1537,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1540,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1543,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1546,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1549,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1552,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1555,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1558,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1561,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1564,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 1
    argNames:
    - rssHFMask
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1567
    functionName: pcpp::DpdkDevice::rssHashFunctionMaskToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - std::vector<std::string>
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> DpdkDevice::rssHashFunctionMaskToString(uint64_t
      rssHFMask) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1574,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1575,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1576,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1577,1
    - Dst: resolveStatIds
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1581,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1585,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - portId
    - rxQueueCount
    - txQueueCount
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1569
    functionDepth: 1
    functionLinenumber: 1569
    functionLinenumberEnd: 1590
    functionName: DpdkDevice::QueueStatsCollector::init(uint16_t portId, uint16_t
      rxQueueCount, uint16_t txQueueCount)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - clear
    - what
    - resolveStatIds
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool DpdkDevice::QueueStatsCollector::init(uint16_t portId, uint16_t
      rxQueueCount, uint16_t txQueueCount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1595,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1596,1
    - Dst: rte_eth_xstats_get_by_id
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1616,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1616,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1616,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1617,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1619,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - ' stats'
    - ' prevStats'
    - secsElapsed
    argTypes:
    - DpdkDeviceStats
    - DpdkDeviceStats
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1592
    functionDepth: 1
    functionLinenumber: 1592
    functionLinenumberEnd: 1641
    functionName: "DpdkDevice::QueueStatsCollector::collect(DpdkDeviceStats& stats,
      const DpdkDeviceStats& prevStats,\n\t                                              double
      secsElapsed) const"
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - PCPP_LOG_ERROR
    - std::memset
    - std::vector::data
    - rte_eth_xstats_get_by_id
    linkageType: ''
    returnType: void
    signature: "void DpdkDevice::QueueStatsCollector::collect(DpdkDeviceStats& stats,
      const DpdkDeviceStats& prevStats,\n\t                                              double
      secsElapsed) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rte_eth_xstats_get_id_by_name
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1645,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1645,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ' statName'
    - ' idOut'
    argTypes:
    - std::string
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1649
    functionName: DpdkDevice::QueueStatsCollector::resolveStatId(const std::string&
      statName, uint64_t& idOut) const
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    - rte_eth_xstats_get_id_by_name
    - c_str
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::QueueStatsCollector::resolveStatId(const std::string&
      statName, uint64_t& idOut) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resolveStatId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1660,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1660,1
    - Dst: resolveStatId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1661,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1661,1
    - Dst: resolveStatId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1666,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1666,1
    - Dst: resolveStatId
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1667,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1667,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1670,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1671,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1672,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp:1673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1651
    functionDepth: 1
    functionLinenumber: 1651
    functionLinenumberEnd: 1674
    functionName: DpdkDevice::QueueStatsCollector::resolveStatIds()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
    functionUses: 0
    functionsReached:
    - resolveStatId
    - std::move
    - to_string
    linkageType: ''
    returnType: void
    signature: void DpdkDevice::QueueStatsCollector::resolveStatIds()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - interfaceDetails
    - calculateMTU
    - calculateMacAddress
    - calculateDefaultGateway
    argTypes:
    - DeviceInterfaceDetails
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: pcpp::WinPcapLiveDevice::WinPcapLiveDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void WinPcapLiveDevice::WinPcapLiveDevice(DeviceInterfaceDetails interfaceDetails,
      bool calculateMTU,\n\t                                     bool calculateMacAddress,
      bool calculateDefaultGateway)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:25,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:32,1
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:38,1
    - Dst: std::unique_ptr<pcap_send_queue, PcapSendQueueDeleter>
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:42,1
    - Dst: pcap_sendqueue_alloc
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:43,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:44,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:49,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:50,1
    - Dst: pcpp::internal::toTimeval
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:51,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:51,1
    - Dst: pcap_sendqueue_queue
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:52,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:52,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:52,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:54,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:60,1
    - Dst: pcap_sendqueue_transmit
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:62,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:62,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:62,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:63,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:65,1
    - Dst: getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:65,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:71,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:80,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - rawPacketsArr
    - arrLength
    argTypes:
    - RawPacket*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 83
    functionName: pcpp::WinPcapLiveDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::toTimeval
    - getRawData
    - pcap_sendqueue_destroy
    - pcap_sendqueue_alloc
    - static_cast<int>
    - auto::get
    - getPacketTimeStamp
    - getLastError
    - PCPP_LOG_ERROR
    - getRawDataLen
    - get
    - pcap_sendqueue_transmit
    - PCPP_LOG_DEBUG
    - pcap_sendqueue_queue
    - std::unique_ptr<pcap_send_queue, PcapSendQueueDeleter>
    linkageType: ''
    returnType: int
    signature: int WinPcapLiveDevice::sendPackets(RawPacket* rawPacketsArr, int arrLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pcap_send_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: operator()(pcap_send_queue* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcap_sendqueue_destroy
    linkageType: ''
    returnType: void
    signature: void operator()(pcap_send_queue* ptr) const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:89,1
    - Dst: pcap_setmintocopy
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:93,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:93,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: pcpp::WinPcapLiveDevice::setMinAmountOfDataToCopyFromKernelToApplication
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcap_setmintocopy
    - get
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool WinPcapLiveDevice::setMinAmountOfDataToCopyFromKernelToApplication(int
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinPcapLiveDevice::WinPcapLiveDevice
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: pcpp::WinPcapLiveDevice::clone
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - WinPcapLiveDevice::WinPcapLiveDevice
    linkageType: ''
    returnType: WinPcapLiveDevice
    signature: WinPcapLiveDevice * WinPcapLiveDevice::clone() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_setmode
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:111,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:111,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:114,1
    - Dst: getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - asyncCapture
    - captureStats
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: pcpp::WinPcapLiveDevice::prepareCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - getLastError
    - std::runtime_error
    - get
    - pcap_setmode
    linkageType: ''
    returnType: void
    signature: void WinPcapLiveDevice::prepareCapture(bool asyncCapture, bool captureStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - interfaceDetails
    - calculateMTU
    - calculateMacAddress
    - calculateDefaultGateway
    argTypes:
    - DeviceInterfaceDetails
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: pcpp::WinPcapLiveDevice::WinPcapLiveDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void WinPcapLiveDevice::WinPcapLiveDevice(DeviceInterfaceDetails interfaceDetails,
      bool calculateMTU,\n\t                                     bool calculateMacAddress,
      bool calculateDefaultGateway)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:25,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:32,1
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:38,1
    - Dst: std::unique_ptr<pcap_send_queue, PcapSendQueueDeleter>
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:42,1
    - Dst: pcap_sendqueue_alloc
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:43,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:44,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:49,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:50,1
    - Dst: pcpp::internal::toTimeval
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:51,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:51,1
    - Dst: pcap_sendqueue_queue
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:52,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:52,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:52,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:54,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:60,1
    - Dst: pcap_sendqueue_transmit
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:62,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:62,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:62,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:63,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:65,1
    - Dst: getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:65,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:71,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:80,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - rawPacketsArr
    - arrLength
    argTypes:
    - RawPacket*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 83
    functionName: pcpp::WinPcapLiveDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::toTimeval
    - getRawData
    - pcap_sendqueue_destroy
    - pcap_sendqueue_alloc
    - static_cast<int>
    - auto::get
    - getPacketTimeStamp
    - getLastError
    - PCPP_LOG_ERROR
    - getRawDataLen
    - get
    - pcap_sendqueue_transmit
    - PCPP_LOG_DEBUG
    - pcap_sendqueue_queue
    - std::unique_ptr<pcap_send_queue, PcapSendQueueDeleter>
    linkageType: ''
    returnType: int
    signature: int WinPcapLiveDevice::sendPackets(RawPacket* rawPacketsArr, int arrLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pcap_send_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: operator()(pcap_send_queue* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcap_sendqueue_destroy
    linkageType: ''
    returnType: void
    signature: void operator()(pcap_send_queue* ptr) const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:89,1
    - Dst: pcap_setmintocopy
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:93,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:93,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: pcpp::WinPcapLiveDevice::setMinAmountOfDataToCopyFromKernelToApplication
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - pcap_setmintocopy
    - get
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: bool
    signature: bool WinPcapLiveDevice::setMinAmountOfDataToCopyFromKernelToApplication(int
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinPcapLiveDevice::WinPcapLiveDevice
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: pcpp::WinPcapLiveDevice::clone
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - WinPcapLiveDevice::WinPcapLiveDevice
    linkageType: ''
    returnType: WinPcapLiveDevice
    signature: WinPcapLiveDevice * WinPcapLiveDevice::clone() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_setmode
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:111,1
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:111,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:114,1
    - Dst: getLastError
      Src: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - asyncCapture
    - captureStats
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: pcpp::WinPcapLiveDevice::prepareCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
    functionUses: 0
    functionsReached:
    - getLastError
    - std::runtime_error
    - get
    - pcap_setmode
    linkageType: ''
    returnType: void
    signature: void WinPcapLiveDevice::prepareCapture(bool asyncCapture, bool captureStats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: PcapCloseDeleter::operator()(pcap_t* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp
    functionUses: 0
    functionsReached:
    - pcap_close
    linkageType: ''
    returnType: void
    signature: void PcapCloseDeleter::operator()(pcap_t* ptr) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_freealldevs
      Src: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pcap_if_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: PcapFreeAllDevsDeleter::operator()(pcap_if_t* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp
    functionUses: 0
    functionsReached:
    - pcap_freealldevs
    linkageType: ''
    returnType: void
    signature: void PcapFreeAllDevsDeleter::operator()(pcap_if_t* ptr) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: PcapCloseDeleter::operator()(pcap_t* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp
    functionUses: 0
    functionsReached:
    - pcap_close
    linkageType: ''
    returnType: void
    signature: void PcapCloseDeleter::operator()(pcap_t* ptr) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_freealldevs
      Src: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pcap_if_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: PcapFreeAllDevsDeleter::operator()(pcap_if_t* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp
    functionUses: 0
    functionsReached:
    - pcap_freealldevs
    linkageType: ''
    returnType: void
    signature: void PcapFreeAllDevsDeleter::operator()(pcap_if_t* ptr) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: PcapCloseDeleter::operator()(pcap_t* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp
    functionUses: 0
    functionsReached:
    - pcap_close
    linkageType: ''
    returnType: void
    signature: void PcapCloseDeleter::operator()(pcap_t* ptr) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_freealldevs
      Src: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pcap_if_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: PcapFreeAllDevsDeleter::operator()(pcap_if_t* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp
    functionUses: 0
    functionsReached:
    - pcap_freealldevs
    linkageType: ''
    returnType: void
    signature: void PcapFreeAllDevsDeleter::operator()(pcap_if_t* ptr) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pcap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: PcapCloseDeleter::operator()(pcap_t* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp
    functionUses: 0
    functionsReached:
    - pcap_close
    linkageType: ''
    returnType: void
    signature: void PcapCloseDeleter::operator()(pcap_t* ptr) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcap_freealldevs
      Src: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pcap_if_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: PcapFreeAllDevsDeleter::operator()(pcap_if_t* ptr) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp
    functionUses: 0
    functionsReached:
    - pcap_freealldevs
    linkageType: ''
    returnType: void
    signature: void PcapFreeAllDevsDeleter::operator()(pcap_if_t* ptr) const noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_id
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:24,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:26,1
    - Dst: CPU_ZERO
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:30,1
    - Dst: CPU_SET
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:31,1
    - Dst: pthread_setaffinity_np
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:32,1
    - Dst: native_handle
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:35,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:35,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' thread'
    - coreId
    argTypes:
    - std::thread
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: pcpp::setThreadCoreAffinity
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - get_id
    - to_string
    - native_handle
    - pthread_setaffinity_np
    - CPU_ZERO
    - std::runtime_error
    - CPU_SET
    linkageType: ''
    returnType: void
    signature: void setThreadCoreAffinity(std::thread& thread, int coreId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_id
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:24,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:26,1
    - Dst: CPU_ZERO
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:30,1
    - Dst: CPU_SET
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:31,1
    - Dst: pthread_setaffinity_np
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:32,1
    - Dst: native_handle
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:35,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:35,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' thread'
    - coreId
    argTypes:
    - std::thread
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: pcpp::setThreadCoreAffinity
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - get_id
    - to_string
    - native_handle
    - pthread_setaffinity_np
    - CPU_ZERO
    - std::runtime_error
    - CPU_SET
    linkageType: ''
    returnType: void
    signature: void setThreadCoreAffinity(std::thread& thread, int coreId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:44,1
    - Dst: reserve
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - deviceName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: pcpp::PfRingDevice::PfRingDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - string
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::PfRingDevice(const char* deviceName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: PfRingDevice::~PfRingDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::~PfRingDevice()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:66,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:70,1
    - Dst: pcpp::PfRingDevice::openSingleRxChannel
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:72,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:72,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:76,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:78,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:82,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 87
    functionName: pcpp::PfRingDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::openSingleRxChannel
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    - push_back
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::openMultiRxChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - channelId
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: pcpp::PfRingDevice::openSingleRxChannel
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PfRingDevice::openMultiRxChannels
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::openSingleRxChannel(uint8_t channelId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:99,1
    - Dst: pfring_open
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:104,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:110,1
    - Dst: pcpp::PfRingDevice::getIsHwClockEnable
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:112,1
    - Dst: pcpp::PfRingDevice::setPfRingDeviceClock
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:114,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:115,1
    - Dst: pfring_enable_rss_rehash
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:118,1
    - Dst: pfring_enable_ring
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:118,1
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:120,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - deviceName
    - ' ring'
    argTypes:
    - char*
    - pfring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 127
    functionName: pcpp::PfRingDevice::openSingleRxChannel
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 1
    functionsReached:
    - pfring_enable_ring
    - PCPP_LOG_ERROR
    - pfring_open
    - PCPP_LOG_DEBUG
    - pcpp::PfRingDevice::setPfRingDeviceClock
    - pfring_enable_rss_rehash
    - pcpp::PfRingDevice::getIsHwClockEnable
    - pfring_close
    linkageType: ''
    returnType: int
    signature: int PfRingDevice::openSingleRxChannel(const char* deviceName, pfring*&
      ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:135,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: pcpp::PfRingDevice::closeAllRxChannels
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - clear
    - pfring_close
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::closeAllRxChannels()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:144,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:146,1
    - Dst: pfring_set_device_clock
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:150,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ring
    argTypes:
    - pfring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: pcpp::PfRingDevice::setPfRingDeviceClock
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 1
    functionsReached:
    - PCPP_LOG_DEBUG
    - clock_gettime
    - PCPP_LOG_ERROR
    - pfring_set_device_clock
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::setPfRingDeviceClock(pfring* ring)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:163,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:169,1
    - Dst: pcpp::PfRingDevice::getTotalNumOfRxChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:174,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:180,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:191,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:192,1
    - Dst: pcpp::PfRingDevice::openSingleRxChannel
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:196,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:196,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:200,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:201,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:206,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:209,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:215,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:215,1
    - Dst: pcpp::PfRingDevice::closeAllRxChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:220,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - channelIds
    - numOfChannelIds
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 227
    functionName: pcpp::PfRingDevice::openMultiRxChannels
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 1
    functionsReached:
    - std::invalid_argument
    - pcpp::PfRingDevice::openSingleRxChannel
    - static_cast<size_t>
    - PCPP_LOG_ERROR
    - size
    - pcpp::PfRingDevice::closeAllRxChannels
    - std::ostringstream::str
    - std::string::c_str
    - PCPP_LOG_DEBUG
    - push_back
    - pcpp::PfRingDevice::getTotalNumOfRxChannels
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::openMultiRxChannels(const uint8_t* channelIds, int
      numOfChannelIds)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:233,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:239,1
    - Dst: pcpp::PfRingDevice::getTotalNumOfRxChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:245,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:246,1
    - Dst: pfring_open
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:265,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:265,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:268,1
    - Dst: pfring_set_cluster
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:273,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:275,1
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:277,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:282,1
    - Dst: pfring_open
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:288,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:288,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:291,1
    - Dst: pfring_set_cluster
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:296,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:298,1
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:301,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:306,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:308,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:312,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:316,1
    - Dst: pcpp::PfRingDevice::closeAllRxChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:318,1
    - Dst: pcpp::PfRingDevice::getIsHwClockEnable
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:322,1
    - Dst: pcpp::PfRingDevice::setPfRingDeviceClock
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:326,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:327,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:332,1
    - Dst: pfring_enable_rss_rehash
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:334,1
    - Dst: pfring_enable_ring
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:334,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:336,1
    - Dst: pcpp::PfRingDevice::closeAllRxChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:338,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 2
    argNames:
    - numOfRxChannelsToOpen
    - dist
    argTypes:
    - uint8_t
    - ChannelDistribution
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 345
    functionName: pcpp::PfRingDevice::openMultiRxChannels
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 1
    functionsReached:
    - pfring_close
    - pfring_enable_ring
    - PCPP_LOG_ERROR
    - size
    - pcpp::PfRingDevice::closeAllRxChannels
    - std::ostringstream::str
    - pfring_open
    - PCPP_LOG_DEBUG
    - pcpp::PfRingDevice::setPfRingDeviceClock
    - push_back
    - pfring_enable_rss_rehash
    - pcpp::PfRingDevice::getIsHwClockEnable
    - pfring_set_cluster
    - pcpp::PfRingDevice::getTotalNumOfRxChannels
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::openMultiRxChannels(uint8_t numOfRxChannelsToOpen,
      ChannelDistribution dist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:349,1
    - Dst: pfring_get_num_rx_channels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:351,1
    - Dst: pfring_open
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:357,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:357,1
    - Dst: pfring_get_num_rx_channels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:358,1
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: pcpp::PfRingDevice::getTotalNumOfRxChannels
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 2
    functionsReached:
    - size
    - pfring_open
    - pfring_get_num_rx_channels
    - c_str
    - pfring_close
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t PfRingDevice::getTotalNumOfRxChannels() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sched_getcpu
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: pcpp::PfRingDevice::getCurrentCoreId
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - sched_getcpu
    linkageType: ''
    returnType: SystemCore
    signature: SystemCore PfRingDevice::getCurrentCoreId() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:373,1
    - Dst: std::string*::empty
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:377,1
    - Dst: pcpp::PfRingDevice::removeFilterForAllChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:379,1
    - Dst: pcpp::PfRingDevice::setFilterForAllChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - filterAsString
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 385
    functionName: pcpp::PfRingDevice::doUpdateFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - std::string*::empty
    - pcpp::PfRingDevice::setFilterForAllChannels
    - PCPP_LOG_ERROR
    - pcpp::PfRingDevice::removeFilterForAllChannels
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::doUpdateFilter(std::string const* filterAsString)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pfring_set_bpf_filter
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:391,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:391,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:395,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:398,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' filterAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 407
    functionName: pcpp::PfRingDevice::setFilterForAllChannels
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 1
    functionsReached:
    - PCPP_LOG_ERROR
    - c_str
    - pfring_set_bpf_filter
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::setFilterForAllChannels(std::string const& filterAsString)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pfring_remove_bpf_filter
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:416,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:419,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 428
    functionName: pcpp::PfRingDevice::removeFilterForAllChannels
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 1
    functionsReached:
    - pfring_remove_bpf_filter
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::removeFilterForAllChannels()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: pcpp::PfRingDevice::isFilterCurrentlySet
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::isFilterCurrentlySet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::closeAllRxChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:437,1
    - Dst: pcpp::PfRingDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:439,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 442
    functionName: pcpp::PfRingDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::closeAllRxChannels
    - PCPP_LOG_DEBUG
    - pcpp::PfRingDevice::clearCoreConfiguration
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfCores
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:447,1
    - Dst: pcpp::PfRingDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:448,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:462,1
    - Dst: pcpp::PfRingDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - coreMask
    argTypes:
    - CoreMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 469
    functionName: pcpp::PfRingDevice::initCoreConfigurationByCoreMask
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - getNumOfCores
    - PCPP_LOG_ERROR
    - pcpp::PfRingDevice::clearCoreConfiguration
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::initCoreConfigurationByCoreMask(CoreMask coreMask)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:476,1
    - Dst: pcpp::PfRingDevice::initCoreConfigurationByCoreMask
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:480,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:483,1
    - Dst: pcpp::PfRingDevice::getCoresInUseCount
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:483,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:485,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:486,1
    - Dst: pcpp::PfRingDevice::getCoresInUseCount
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:486,1
    - Dst: pcpp::PfRingDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:488,1
    - Dst: std::make_shared<StartupBlock>
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:492,1
    - Dst: std::thread
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:509,1
    - Dst: setThreadCoreAffinity
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:513,1
    - Dst: std::shared_ptr::notifyStartup
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:521,1
    - Dst: RxThread::join
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:528,1
    - Dst: pcpp::PfRingDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:531,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:532,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:532,1
    - Dst: std::shared_ptr::notifyStartup
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:538,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - onPacketsArrive
    - onPacketsArriveUserCookie
    - coreMask
    argTypes:
    - OnPfRingPacketsArriveCallback
    - void*
    - CoreMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 541
    functionName: pcpp::PfRingDevice::startCaptureMultiThread
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::getCoresInUseCount
    - std::shared_ptr::notifyStartup
    - what
    - pcpp::PfRingDevice::clearCoreConfiguration
    - std::thread
    - std::make_shared<StartupBlock>
    - setThreadCoreAffinity
    - PCPP_LOG_ERROR
    - size
    - RxThread::join
    - pcpp::PfRingDevice::initCoreConfigurationByCoreMask
    linkageType: ''
    returnType: bool
    signature: "bool PfRingDevice::startCaptureMultiThread(OnPfRingPacketsArriveCallback
      onPacketsArrive,\n\t                                           void* onPacketsArriveUserCookie,
      CoreMask coreMask)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:548,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:552,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:554,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:558,1
    - Dst: pcpp::PfRingDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:560,1
    - Dst: std::make_shared<StartupBlock>
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:569,1
    - Dst: std::thread
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:573,1
    - Dst: setThreadCoreAffinity
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:578,1
    - Dst: std::shared_ptr::notifyStartup
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:586,1
    - Dst: RxThread::join
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:589,1
    - Dst: pcpp::PfRingDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:591,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:592,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:592,1
    - Dst: std::shared_ptr::notifyStartup
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:597,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - onPacketsArrive
    - onPacketsArriveUserCookie
    argTypes:
    - OnPfRingPacketsArriveCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 601
    functionName: pcpp::PfRingDevice::startCaptureSingleThread
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::notifyStartup
    - what
    - pcpp::PfRingDevice::clearCoreConfiguration
    - std::thread
    - std::make_shared<StartupBlock>
    - setThreadCoreAffinity
    - PCPP_LOG_ERROR
    - size
    - RxThread::join
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: "bool PfRingDevice::startCaptureSingleThread(OnPfRingPacketsArriveCallback
      onPacketsArrive,\n\t                                            void* onPacketsArriveUserCookie)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:605,1
    - Dst: RxThread::join
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:612,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:613,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 617
    functionName: pcpp::PfRingDevice::stopCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - RxThread::join
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::stopCapture()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:623,1
    - Dst: std::shared_ptr<StartupBlock>::waitForStartup
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:627,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:631,1
    - Dst: pcpp::PfRingDevice::getCurrentCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:638,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:641,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:647,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:663,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:664,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:665,1
    - Dst: pfring_recv
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:671,1
    - Dst: pcpp::PfRingDevice::m_OnPacketsArriveCallback
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:683,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:688,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:692,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - startupBlock
    argTypes:
    - std::shared_ptr<StartupBlock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 693
    functionName: pcpp::PfRingDevice::captureThreadMain
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::getCurrentCoreId
    - std::vector::size
    - std::shared_ptr<StartupBlock>::waitForStartup
    - PCPP_LOG_ERROR
    - std::vector::data
    - PCPP_LOG_DEBUG
    - std::vector::resize
    - pcpp::PfRingDevice::m_OnPacketsArriveCallback
    - pfring_recv
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::captureThreadMain(std::shared_ptr<StartupBlock>
      startupBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pfring_stats
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:705,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:707,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - core
    - ' stats'
    argTypes:
    - SystemCore
    - PfRingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 717
    functionName: pcpp::PfRingDevice::getThreadStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pfring_stats
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::getThreadStatistics(SystemCore core, PfRingStats&
      stats) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::getThreadStatistics
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:721,1
    - Dst: pcpp::PfRingDevice::getCurrentCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PfRingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: pcpp::PfRingDevice::getCurrentThreadStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::getCurrentCoreId
    - pcpp::PfRingDevice::getThreadStatistics
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::getCurrentThreadStatistics(PfRingStats& stats) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::getThreadStatistics
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PfRingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 742
    functionName: pcpp::PfRingDevice::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::getThreadStatistics
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::getStatistics(PfRingStats& stats) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 748
    functionName: pcpp::PfRingDevice::clearCoreConfiguration
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 4
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::clearCoreConfiguration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::count_if
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:752,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:752,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 754
    functionName: pcpp::PfRingDevice::getCoresInUseCount
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 1
    functionsReached:
    - std::count_if
    - end
    - begin
    linkageType: ''
    returnType: size_t
    signature: size_t PfRingDevice::getCoresInUseCount() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:763,1
    - Dst: pfring_open
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:768,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:768,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:774,1
    - Dst: pfring_get_bound_device_address
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:782,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:783,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:785,1
    - Dst: pfring_get_bound_device_ifindex
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:788,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:789,1
    - Dst: pcpp::PfRingDevice::setPfRingDeviceClock
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:792,1
    - Dst: pfring_get_mtu_size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:795,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:798,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:802,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:805,1
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:811,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 812
    functionName: pcpp::PfRingDevice::setPfRingDeviceAttributes
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - pcpp::GtpV2InformationElement::getInstance
    - MacAddress
    - PCPP_LOG_ERROR
    - size
    - pfring_get_mtu_size
    - pfring_get_bound_device_ifindex
    - pfring_open
    - pfring_get_bound_device_address
    - pcpp::PfRingDevice::setPfRingDeviceClock
    - c_str
    - pfring_close
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::setPfRingDeviceAttributes()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:818,1
    - Dst: pfring_send
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:834,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:842,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:846,1
    - Dst: std::chrono::microseconds
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:846,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:854,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:863,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:863,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:865,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:866,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:871,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - packetData
    - packetDataLength
    - flushTxQueues
    argTypes:
    - uint8_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 877
    functionName: pcpp::PfRingDevice::sendData
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - pfring_send
    - strerror
    - std::this_thread::sleep_for
    - PCPP_LOG_DEBUG
    - std::chrono::microseconds
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::sendData(const uint8_t* packetData, int packetDataLength,
      bool flushTxQueues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::sendData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - packetData
    - packetDataLength
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: pcpp::PfRingDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::sendData
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::sendPacket(const uint8_t* packetData, int packetDataLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::sendData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:886,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:886,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 887
    functionName: pcpp::PfRingDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - getRawData
    - getRawDataLen
    - pcpp::PfRingDevice::sendData
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::sendPacket(const RawPacket& rawPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::sendData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:891,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:891,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 893
    functionName: pcpp::PfRingDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - getRawPacketReadOnly
    - pcpp::PfRingDevice::sendData
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::sendPacket(const Packet& packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::sendData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:900,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:900,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:900,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:907,1
    - Dst: pfring_flush_tx_packets
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:910,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:913,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - rawPacketsArr
    - arrLength
    argTypes:
    - RawPacket*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 895
    functionDepth: 2
    functionLinenumber: 895
    functionLinenumberEnd: 916
    functionName: pcpp::PfRingDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - getRawData
    - size
    - pfring_flush_tx_packets
    - pcpp::PfRingDevice::sendData
    - getRawDataLen
    linkageType: ''
    returnType: int
    signature: int PfRingDevice::sendPackets(const RawPacket* rawPacketsArr, int arrLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::sendData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:923,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:923,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:924,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:931,1
    - Dst: pfring_flush_tx_packets
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:934,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:937,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - packetsArr
    - arrLength
    argTypes:
    - Packet**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 940
    functionName: pcpp::PfRingDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::sendData
    - size
    - pfring_flush_tx_packets
    - PCPP_LOG_DEBUG
    - getRawPacketReadOnly
    linkageType: ''
    returnType: int
    signature: int PfRingDevice::sendPackets(const Packet** packetsArr, int arrLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:945,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:945,1
    - Dst: pcpp::PfRingDevice::sendData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:947,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:947,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:947,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:954,1
    - Dst: pfring_flush_tx_packets
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:957,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:960,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:960,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' rawPackets'
    argTypes:
    - RawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 942
    functionDepth: 2
    functionLinenumber: 942
    functionLinenumberEnd: 963
    functionName: pcpp::PfRingDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - getRawData
    - begin
    - end
    - size
    - pfring_flush_tx_packets
    - pcpp::PfRingDevice::sendData
    - getRawDataLen
    linkageType: ''
    returnType: int
    signature: int PfRingDevice::sendPackets(const RawPacketVector& rawPackets)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 966
    functionName: PfRingDevice::CoreConfiguration::CoreConfiguration()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::CoreConfiguration::CoreConfiguration()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 973
    functionName: PfRingDevice::CoreConfiguration::clear()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::CoreConfiguration::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify_all
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 980
    functionName: PfRingDevice::StartupBlock::notifyStartup()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - notify_all
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::StartupBlock::notifyStartup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 986
    functionName: PfRingDevice::StartupBlock::waitForStartup()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - wait
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::StartupBlock::waitForStartup()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_id
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:24,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:26,1
    - Dst: CPU_ZERO
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:30,1
    - Dst: CPU_SET
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:31,1
    - Dst: pthread_setaffinity_np
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:32,1
    - Dst: native_handle
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:35,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:35,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' thread'
    - coreId
    argTypes:
    - std::thread
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: pcpp::setThreadCoreAffinity
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - get_id
    - to_string
    - native_handle
    - pthread_setaffinity_np
    - CPU_ZERO
    - std::runtime_error
    - CPU_SET
    linkageType: ''
    returnType: void
    signature: void setThreadCoreAffinity(std::thread& thread, int coreId)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_id
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:24,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:26,1
    - Dst: CPU_ZERO
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:30,1
    - Dst: CPU_SET
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:31,1
    - Dst: pthread_setaffinity_np
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:32,1
    - Dst: native_handle
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:35,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:35,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ' thread'
    - coreId
    argTypes:
    - std::thread
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: pcpp::setThreadCoreAffinity
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - get_id
    - to_string
    - native_handle
    - pthread_setaffinity_np
    - CPU_ZERO
    - std::runtime_error
    - CPU_SET
    linkageType: ''
    returnType: void
    signature: void setThreadCoreAffinity(std::thread& thread, int coreId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:44,1
    - Dst: reserve
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - deviceName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: pcpp::PfRingDevice::PfRingDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - string
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::PfRingDevice(const char* deviceName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: PfRingDevice::~PfRingDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::~PfRingDevice()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:66,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:70,1
    - Dst: pcpp::PfRingDevice::openSingleRxChannel
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:72,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:72,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:76,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:78,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:82,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 87
    functionName: pcpp::PfRingDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::openSingleRxChannel
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    - push_back
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::openMultiRxChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - channelId
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: pcpp::PfRingDevice::openSingleRxChannel
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 3
    functionsReached:
    - pcpp::PfRingDevice::openMultiRxChannels
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::openSingleRxChannel(uint8_t channelId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:99,1
    - Dst: pfring_open
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:104,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:110,1
    - Dst: pcpp::PfRingDevice::getIsHwClockEnable
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:112,1
    - Dst: pcpp::PfRingDevice::setPfRingDeviceClock
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:114,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:115,1
    - Dst: pfring_enable_rss_rehash
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:118,1
    - Dst: pfring_enable_ring
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:118,1
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:120,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - deviceName
    - ' ring'
    argTypes:
    - char*
    - pfring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 127
    functionName: pcpp::PfRingDevice::openSingleRxChannel
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 3
    functionsReached:
    - pfring_enable_ring
    - PCPP_LOG_ERROR
    - pfring_open
    - PCPP_LOG_DEBUG
    - pcpp::PfRingDevice::setPfRingDeviceClock
    - pfring_enable_rss_rehash
    - pcpp::PfRingDevice::getIsHwClockEnable
    - pfring_close
    linkageType: ''
    returnType: int
    signature: int PfRingDevice::openSingleRxChannel(const char* deviceName, pfring*&
      ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:135,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: pcpp::PfRingDevice::closeAllRxChannels
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 3
    functionsReached:
    - clear
    - pfring_close
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::closeAllRxChannels()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:144,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:146,1
    - Dst: pfring_set_device_clock
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:150,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ring
    argTypes:
    - pfring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: pcpp::PfRingDevice::setPfRingDeviceClock
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 4
    functionsReached:
    - PCPP_LOG_DEBUG
    - clock_gettime
    - PCPP_LOG_ERROR
    - pfring_set_device_clock
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::setPfRingDeviceClock(pfring* ring)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:163,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:169,1
    - Dst: pcpp::PfRingDevice::getTotalNumOfRxChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:174,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:180,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:191,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:192,1
    - Dst: pcpp::PfRingDevice::openSingleRxChannel
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:196,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:196,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:200,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:201,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:206,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:209,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:215,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:215,1
    - Dst: pcpp::PfRingDevice::closeAllRxChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:220,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - channelIds
    - numOfChannelIds
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 227
    functionName: pcpp::PfRingDevice::openMultiRxChannels
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 2
    functionsReached:
    - std::invalid_argument
    - pcpp::PfRingDevice::openSingleRxChannel
    - static_cast<size_t>
    - PCPP_LOG_ERROR
    - size
    - pcpp::PfRingDevice::closeAllRxChannels
    - std::ostringstream::str
    - std::string::c_str
    - PCPP_LOG_DEBUG
    - push_back
    - pcpp::PfRingDevice::getTotalNumOfRxChannels
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::openMultiRxChannels(const uint8_t* channelIds, int
      numOfChannelIds)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:233,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:239,1
    - Dst: pcpp::PfRingDevice::getTotalNumOfRxChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:245,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:246,1
    - Dst: pfring_open
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:265,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:265,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:268,1
    - Dst: pfring_set_cluster
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:273,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:275,1
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:277,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:282,1
    - Dst: pfring_open
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:288,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:288,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:291,1
    - Dst: pfring_set_cluster
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:296,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:298,1
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:301,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:306,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:308,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:312,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:316,1
    - Dst: pcpp::PfRingDevice::closeAllRxChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:318,1
    - Dst: pcpp::PfRingDevice::getIsHwClockEnable
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:322,1
    - Dst: pcpp::PfRingDevice::setPfRingDeviceClock
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:326,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:327,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:332,1
    - Dst: pfring_enable_rss_rehash
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:334,1
    - Dst: pfring_enable_ring
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:334,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:336,1
    - Dst: pcpp::PfRingDevice::closeAllRxChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:338,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 2
    argNames:
    - numOfRxChannelsToOpen
    - dist
    argTypes:
    - uint8_t
    - ChannelDistribution
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 345
    functionName: pcpp::PfRingDevice::openMultiRxChannels
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 2
    functionsReached:
    - pfring_close
    - pfring_enable_ring
    - PCPP_LOG_ERROR
    - size
    - pcpp::PfRingDevice::closeAllRxChannels
    - std::ostringstream::str
    - pfring_open
    - PCPP_LOG_DEBUG
    - pcpp::PfRingDevice::setPfRingDeviceClock
    - push_back
    - pfring_enable_rss_rehash
    - pcpp::PfRingDevice::getIsHwClockEnable
    - pfring_set_cluster
    - pcpp::PfRingDevice::getTotalNumOfRxChannels
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::openMultiRxChannels(uint8_t numOfRxChannelsToOpen,
      ChannelDistribution dist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:349,1
    - Dst: pfring_get_num_rx_channels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:351,1
    - Dst: pfring_open
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:357,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:357,1
    - Dst: pfring_get_num_rx_channels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:358,1
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: pcpp::PfRingDevice::getTotalNumOfRxChannels
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 4
    functionsReached:
    - size
    - pfring_open
    - pfring_get_num_rx_channels
    - c_str
    - pfring_close
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t PfRingDevice::getTotalNumOfRxChannels() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sched_getcpu
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: pcpp::PfRingDevice::getCurrentCoreId
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 2
    functionsReached:
    - sched_getcpu
    linkageType: ''
    returnType: SystemCore
    signature: SystemCore PfRingDevice::getCurrentCoreId() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:373,1
    - Dst: std::string*::empty
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:377,1
    - Dst: pcpp::PfRingDevice::removeFilterForAllChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:379,1
    - Dst: pcpp::PfRingDevice::setFilterForAllChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - filterAsString
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 385
    functionName: pcpp::PfRingDevice::doUpdateFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - std::string*::empty
    - pcpp::PfRingDevice::setFilterForAllChannels
    - PCPP_LOG_ERROR
    - pcpp::PfRingDevice::removeFilterForAllChannels
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::doUpdateFilter(std::string const* filterAsString)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pfring_set_bpf_filter
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:391,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:391,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:395,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:398,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' filterAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 407
    functionName: pcpp::PfRingDevice::setFilterForAllChannels
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 2
    functionsReached:
    - PCPP_LOG_ERROR
    - c_str
    - pfring_set_bpf_filter
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::setFilterForAllChannels(std::string const& filterAsString)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pfring_remove_bpf_filter
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:416,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:419,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 428
    functionName: pcpp::PfRingDevice::removeFilterForAllChannels
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 2
    functionsReached:
    - pfring_remove_bpf_filter
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::removeFilterForAllChannels()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: pcpp::PfRingDevice::isFilterCurrentlySet
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::isFilterCurrentlySet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::closeAllRxChannels
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:437,1
    - Dst: pcpp::PfRingDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:439,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 442
    functionName: pcpp::PfRingDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::closeAllRxChannels
    - PCPP_LOG_DEBUG
    - pcpp::PfRingDevice::clearCoreConfiguration
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfCores
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:447,1
    - Dst: pcpp::PfRingDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:448,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:462,1
    - Dst: pcpp::PfRingDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - coreMask
    argTypes:
    - CoreMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 469
    functionName: pcpp::PfRingDevice::initCoreConfigurationByCoreMask
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 1
    functionsReached:
    - getNumOfCores
    - PCPP_LOG_ERROR
    - pcpp::PfRingDevice::clearCoreConfiguration
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::initCoreConfigurationByCoreMask(CoreMask coreMask)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:476,1
    - Dst: pcpp::PfRingDevice::initCoreConfigurationByCoreMask
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:480,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:483,1
    - Dst: pcpp::PfRingDevice::getCoresInUseCount
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:483,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:485,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:486,1
    - Dst: pcpp::PfRingDevice::getCoresInUseCount
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:486,1
    - Dst: pcpp::PfRingDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:488,1
    - Dst: std::make_shared<StartupBlock>
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:492,1
    - Dst: std::thread
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:509,1
    - Dst: setThreadCoreAffinity
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:513,1
    - Dst: std::shared_ptr::notifyStartup
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:521,1
    - Dst: RxThread::join
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:528,1
    - Dst: pcpp::PfRingDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:531,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:532,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:532,1
    - Dst: std::shared_ptr::notifyStartup
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:538,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - onPacketsArrive
    - onPacketsArriveUserCookie
    - coreMask
    argTypes:
    - OnPfRingPacketsArriveCallback
    - void*
    - CoreMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 541
    functionName: pcpp::PfRingDevice::startCaptureMultiThread
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::getCoresInUseCount
    - std::shared_ptr::notifyStartup
    - what
    - pcpp::PfRingDevice::clearCoreConfiguration
    - std::thread
    - std::make_shared<StartupBlock>
    - setThreadCoreAffinity
    - PCPP_LOG_ERROR
    - size
    - RxThread::join
    - pcpp::PfRingDevice::initCoreConfigurationByCoreMask
    linkageType: ''
    returnType: bool
    signature: "bool PfRingDevice::startCaptureMultiThread(OnPfRingPacketsArriveCallback
      onPacketsArrive,\n\t                                           void* onPacketsArriveUserCookie,
      CoreMask coreMask)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:548,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:552,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:554,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:558,1
    - Dst: pcpp::PfRingDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:560,1
    - Dst: std::make_shared<StartupBlock>
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:569,1
    - Dst: std::thread
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:573,1
    - Dst: setThreadCoreAffinity
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:578,1
    - Dst: std::shared_ptr::notifyStartup
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:586,1
    - Dst: RxThread::join
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:589,1
    - Dst: pcpp::PfRingDevice::clearCoreConfiguration
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:591,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:592,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:592,1
    - Dst: std::shared_ptr::notifyStartup
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:597,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - onPacketsArrive
    - onPacketsArriveUserCookie
    argTypes:
    - OnPfRingPacketsArriveCallback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 601
    functionName: pcpp::PfRingDevice::startCaptureSingleThread
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - std::shared_ptr::notifyStartup
    - what
    - pcpp::PfRingDevice::clearCoreConfiguration
    - std::thread
    - std::make_shared<StartupBlock>
    - setThreadCoreAffinity
    - PCPP_LOG_ERROR
    - size
    - RxThread::join
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: bool
    signature: "bool PfRingDevice::startCaptureSingleThread(OnPfRingPacketsArriveCallback
      onPacketsArrive,\n\t                                            void* onPacketsArriveUserCookie)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:605,1
    - Dst: RxThread::join
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:612,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:613,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 617
    functionName: pcpp::PfRingDevice::stopCapture
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - RxThread::join
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::stopCapture()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:623,1
    - Dst: std::shared_ptr<StartupBlock>::waitForStartup
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:627,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:631,1
    - Dst: pcpp::PfRingDevice::getCurrentCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:638,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:641,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:647,1
    - Dst: std::vector::resize
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:663,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:664,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:665,1
    - Dst: pfring_recv
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:671,1
    - Dst: pcpp::PfRingDevice::m_OnPacketsArriveCallback
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:683,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:688,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:692,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - startupBlock
    argTypes:
    - std::shared_ptr<StartupBlock>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 693
    functionName: pcpp::PfRingDevice::captureThreadMain
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::getCurrentCoreId
    - std::vector::size
    - std::shared_ptr<StartupBlock>::waitForStartup
    - PCPP_LOG_ERROR
    - std::vector::data
    - PCPP_LOG_DEBUG
    - std::vector::resize
    - pcpp::PfRingDevice::m_OnPacketsArriveCallback
    - pfring_recv
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::captureThreadMain(std::shared_ptr<StartupBlock>
      startupBlock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pfring_stats
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:705,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:707,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - core
    - ' stats'
    argTypes:
    - SystemCore
    - PfRingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 717
    functionName: pcpp::PfRingDevice::getThreadStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 2
    functionsReached:
    - pfring_stats
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::getThreadStatistics(SystemCore core, PfRingStats&
      stats) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::getThreadStatistics
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:721,1
    - Dst: pcpp::PfRingDevice::getCurrentCoreId
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PfRingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: pcpp::PfRingDevice::getCurrentThreadStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::getCurrentCoreId
    - pcpp::PfRingDevice::getThreadStatistics
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::getCurrentThreadStatistics(PfRingStats& stats) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::getThreadStatistics
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PfRingStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 742
    functionName: pcpp::PfRingDevice::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::getThreadStatistics
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::getStatistics(PfRingStats& stats) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 748
    functionName: pcpp::PfRingDevice::clearCoreConfiguration
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 8
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::clearCoreConfiguration()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::count_if
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:752,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:752,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 754
    functionName: pcpp::PfRingDevice::getCoresInUseCount
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 2
    functionsReached:
    - std::count_if
    - end
    - begin
    linkageType: ''
    returnType: size_t
    signature: size_t PfRingDevice::getCoresInUseCount() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:763,1
    - Dst: pfring_open
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:768,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:768,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:774,1
    - Dst: pfring_get_bound_device_address
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:782,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:783,1
    - Dst: MacAddress
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:785,1
    - Dst: pfring_get_bound_device_ifindex
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:788,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:789,1
    - Dst: pcpp::PfRingDevice::setPfRingDeviceClock
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:792,1
    - Dst: pfring_get_mtu_size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:795,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:798,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:802,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:805,1
    - Dst: pfring_close
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:811,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 812
    functionName: pcpp::PfRingDevice::setPfRingDeviceAttributes
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - pcpp::GtpV2InformationElement::getInstance
    - MacAddress
    - PCPP_LOG_ERROR
    - size
    - pfring_get_mtu_size
    - pfring_get_bound_device_ifindex
    - pfring_open
    - pfring_get_bound_device_address
    - pcpp::PfRingDevice::setPfRingDeviceClock
    - c_str
    - pfring_close
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::setPfRingDeviceAttributes()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:818,1
    - Dst: pfring_send
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:834,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:842,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:846,1
    - Dst: std::chrono::microseconds
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:846,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:854,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:863,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:863,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:865,1
    - Dst: strerror
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:866,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:871,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - packetData
    - packetDataLength
    - flushTxQueues
    argTypes:
    - uint8_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 877
    functionName: pcpp::PfRingDevice::sendData
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 6
    functionsReached:
    - PCPP_LOG_ERROR
    - pfring_send
    - strerror
    - std::this_thread::sleep_for
    - PCPP_LOG_DEBUG
    - std::chrono::microseconds
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::sendData(const uint8_t* packetData, int packetDataLength,
      bool flushTxQueues)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::sendData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - packetData
    - packetDataLength
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: pcpp::PfRingDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::sendData
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::sendPacket(const uint8_t* packetData, int packetDataLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::sendData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:886,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:886,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 887
    functionName: pcpp::PfRingDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - getRawData
    - getRawDataLen
    - pcpp::PfRingDevice::sendData
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::sendPacket(const RawPacket& rawPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::sendData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:891,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:891,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - Packet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 893
    functionName: pcpp::PfRingDevice::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - getRawPacketReadOnly
    - pcpp::PfRingDevice::sendData
    linkageType: ''
    returnType: bool
    signature: bool PfRingDevice::sendPacket(const Packet& packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::sendData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:900,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:900,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:900,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:907,1
    - Dst: pfring_flush_tx_packets
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:910,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:913,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - rawPacketsArr
    - arrLength
    argTypes:
    - RawPacket*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 895
    functionDepth: 2
    functionLinenumber: 895
    functionLinenumberEnd: 916
    functionName: pcpp::PfRingDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - getRawData
    - size
    - pfring_flush_tx_packets
    - pcpp::PfRingDevice::sendData
    - getRawDataLen
    linkageType: ''
    returnType: int
    signature: int PfRingDevice::sendPackets(const RawPacket* rawPacketsArr, int arrLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::sendData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:923,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:923,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:924,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:931,1
    - Dst: pfring_flush_tx_packets
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:934,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:937,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - packetsArr
    - arrLength
    argTypes:
    - Packet**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 940
    functionName: pcpp::PfRingDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::sendData
    - size
    - pfring_flush_tx_packets
    - PCPP_LOG_DEBUG
    - getRawPacketReadOnly
    linkageType: ''
    returnType: int
    signature: int PfRingDevice::sendPackets(const Packet** packetsArr, int arrLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:945,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:945,1
    - Dst: pcpp::PfRingDevice::sendData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:947,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:947,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:947,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:954,1
    - Dst: pfring_flush_tx_packets
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:957,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:960,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:960,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' rawPackets'
    argTypes:
    - RawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 942
    functionDepth: 2
    functionLinenumber: 942
    functionLinenumberEnd: 963
    functionName: pcpp::PfRingDevice::sendPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    - getRawData
    - begin
    - end
    - size
    - pfring_flush_tx_packets
    - pcpp::PfRingDevice::sendData
    - getRawDataLen
    linkageType: ''
    returnType: int
    signature: int PfRingDevice::sendPackets(const RawPacketVector& rawPackets)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 966
    functionName: PfRingDevice::CoreConfiguration::CoreConfiguration()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::CoreConfiguration::CoreConfiguration()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 973
    functionName: PfRingDevice::CoreConfiguration::clear()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::CoreConfiguration::clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify_all
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 980
    functionName: PfRingDevice::StartupBlock::notifyStartup()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - notify_all
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::StartupBlock::notifyStartup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wait
      Src: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 986
    functionName: PfRingDevice::StartupBlock::waitForStartup()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
    functionUses: 0
    functionsReached:
    - wait
    linkageType: ''
    returnType: void
    signature: void PfRingDevice::StartupBlock::waitForStartup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: pcpp::checkZstdSupport
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkZstdSupport()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<internal::LightPcapNgHandle*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcapngHandle
    argTypes:
    - light_pcapng_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: pcpp::toLightPcapNgHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<internal::LightPcapNgHandle*>
    linkageType: ''
    returnType: internal::LightPcapNgHandle
    signature: internal::LightPcapNgHandle * toLightPcapNgHandle(light_pcapng_t* pcapngHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<light_pcapng_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcapngHandle
    argTypes:
    - internal::LightPcapNgHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pcpp::toLightPcapNgT
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<light_pcapng_t*>
    linkageType: ''
    returnType: light_pcapng_t
    signature: light_pcapng_t * toLightPcapNgT(internal::LightPcapNgHandle* pcapngHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::ARRAY_SIZE
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ARRAY_SIZE(T (&)[N])
  - BBCount: 109
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LinkLayerType>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 115
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 209
    functionName: pcpp::toLinkLayerType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<LinkLayerType>
    linkageType: ''
    returnType: LinkLayerType
    signature: LinkLayerType toLinkLayerType(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdstate
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:215,1
    - Dst: tellg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: pcpp::StreamPositionCheckpoint::StreamPositionCheckpoint
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - rdstate
    - tellg
    linkageType: ''
    returnType: void
    signature: void StreamPositionCheckpoint(std::istream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seekg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:220,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: pcpp::StreamPositionCheckpoint::restore
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - clear
    - seekg
    linkageType: ''
    returnType: void
    signature: void restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: ~StreamPositionCheckpoint()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void ~StreamPositionCheckpoint()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:240,1
    - Dst: fail
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:241,1
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:243,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:247,1
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: pcpp::isStreamSeekable
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::clear
    - fail
    - seekg
    - tellg
    linkageType: ''
    returnType: bool
    signature: bool isStreamSeekable(std::istream& stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:302,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:302,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:302,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:303,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:311,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - magic
    argTypes:
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 328
    functionName: pcpp::detectPcapMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - find
    - std::array::end
    - std::distance
    - std::array::begin
    linkageType: ''
    returnType: FileFormat
    signature: FileFormat detectPcapMagic(std::uint32_t magic, FileByteOrder* byteOrder
      = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - magic
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: pcpp::isPcapNgMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isPcapNgMagic(uint32_t magic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:350,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:350,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:350,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:351,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:358,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - magic
    argTypes:
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 363
    functionName: pcpp::isSnoopMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - find
    - std::array::end
    - std::distance
    - std::array::begin
    linkageType: ''
    returnType: bool
    signature: bool isSnoopMagic(std::uint64_t magic, FileByteOrder* byteOrder = nullptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:380,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:380,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:380,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:381,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:388,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - magic
    argTypes:
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 393
    functionName: pcpp::isZstdArchiveMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - find
    - std::array::end
    - std::distance
    - std::array::begin
    linkageType: ''
    returnType: bool
    signature: bool isZstdArchiveMagic(std::uint32_t magic, FileByteOrder* byteOrder
      = nullptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::isStreamSeekable
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:406,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:408,1
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:415,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:415,1
    - Dst: gcount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:416,1
    - Dst: pcpp::detectPcapMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:421,1
    - Dst: pcpp::isPcapNgMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:427,1
    - Dst: pcpp::isZstdArchiveMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:437,1
    - Dst: StreamPositionCheckpoint::restore
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:443,1
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:446,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:446,1
    - Dst: gcount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:447,1
    - Dst: pcpp::isSnoopMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:452,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' content'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 458
    functionName: pcpp::detectFileFormat
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - StreamPositionCheckpoint::restore
    - pcpp::isStreamSeekable
    - gcount
    - read
    - std::runtime_error
    - pcpp::detectPcapMagic
    - pcpp::isZstdArchiveMagic
    - reinterpret_cast<char*>
    - pcpp::isSnoopMagic
    - pcpp::isPcapNgMagic
    linkageType: ''
    returnType: FileFormat
    signature: FileFormat detectFileFormat(std::istream& content, FileByteOrder* byteOrder
      = nullptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - FileFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 472
    functionName: pcpp::getPcapPrecision
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: FileTimestampPrecision
    signature: FileTimestampPrecision getPcapPrecision(FileFormat format)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - precision
    argTypes:
    - FileTimestampPrecision
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 485
    functionName: pcpp::toString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString(FileTimestampPrecision precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: pcpp::checkZstdSupport
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkZstdSupport()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<internal::LightPcapNgHandle*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcapngHandle
    argTypes:
    - light_pcapng_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: pcpp::toLightPcapNgHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<internal::LightPcapNgHandle*>
    linkageType: ''
    returnType: internal::LightPcapNgHandle
    signature: internal::LightPcapNgHandle * toLightPcapNgHandle(light_pcapng_t* pcapngHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<light_pcapng_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcapngHandle
    argTypes:
    - internal::LightPcapNgHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pcpp::toLightPcapNgT
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<light_pcapng_t*>
    linkageType: ''
    returnType: light_pcapng_t
    signature: light_pcapng_t * toLightPcapNgT(internal::LightPcapNgHandle* pcapngHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::ARRAY_SIZE
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ARRAY_SIZE(T (&)[N])
  - BBCount: 109
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LinkLayerType>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 115
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 209
    functionName: pcpp::toLinkLayerType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<LinkLayerType>
    linkageType: ''
    returnType: LinkLayerType
    signature: LinkLayerType toLinkLayerType(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdstate
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:215,1
    - Dst: tellg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: pcpp::StreamPositionCheckpoint::StreamPositionCheckpoint
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - rdstate
    - tellg
    linkageType: ''
    returnType: void
    signature: void StreamPositionCheckpoint(std::istream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seekg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:220,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: pcpp::StreamPositionCheckpoint::restore
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - clear
    - seekg
    linkageType: ''
    returnType: void
    signature: void restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: ~StreamPositionCheckpoint()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void ~StreamPositionCheckpoint()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:240,1
    - Dst: fail
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:241,1
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:243,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:247,1
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: pcpp::isStreamSeekable
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::clear
    - fail
    - seekg
    - tellg
    linkageType: ''
    returnType: bool
    signature: bool isStreamSeekable(std::istream& stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:302,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:302,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:302,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:303,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:311,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - magic
    argTypes:
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 328
    functionName: pcpp::detectPcapMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - find
    - std::array::end
    - std::distance
    - std::array::begin
    linkageType: ''
    returnType: FileFormat
    signature: FileFormat detectPcapMagic(std::uint32_t magic, FileByteOrder* byteOrder
      = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - magic
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: pcpp::isPcapNgMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isPcapNgMagic(uint32_t magic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:350,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:350,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:350,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:351,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:358,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - magic
    argTypes:
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 363
    functionName: pcpp::isSnoopMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - find
    - std::array::end
    - std::distance
    - std::array::begin
    linkageType: ''
    returnType: bool
    signature: bool isSnoopMagic(std::uint64_t magic, FileByteOrder* byteOrder = nullptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:380,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:380,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:380,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:381,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:388,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - magic
    argTypes:
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 393
    functionName: pcpp::isZstdArchiveMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - find
    - std::array::end
    - std::distance
    - std::array::begin
    linkageType: ''
    returnType: bool
    signature: bool isZstdArchiveMagic(std::uint32_t magic, FileByteOrder* byteOrder
      = nullptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::isStreamSeekable
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:406,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:408,1
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:415,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:415,1
    - Dst: gcount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:416,1
    - Dst: pcpp::detectPcapMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:421,1
    - Dst: pcpp::isPcapNgMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:427,1
    - Dst: pcpp::isZstdArchiveMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:437,1
    - Dst: StreamPositionCheckpoint::restore
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:443,1
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:446,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:446,1
    - Dst: gcount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:447,1
    - Dst: pcpp::isSnoopMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:452,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' content'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 458
    functionName: pcpp::detectFileFormat
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - StreamPositionCheckpoint::restore
    - pcpp::isStreamSeekable
    - gcount
    - read
    - std::runtime_error
    - pcpp::detectPcapMagic
    - pcpp::isZstdArchiveMagic
    - reinterpret_cast<char*>
    - pcpp::isSnoopMagic
    - pcpp::isPcapNgMagic
    linkageType: ''
    returnType: FileFormat
    signature: FileFormat detectFileFormat(std::istream& content, FileByteOrder* byteOrder
      = nullptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - FileFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 472
    functionName: pcpp::getPcapPrecision
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: FileTimestampPrecision
    signature: FileTimestampPrecision getPcapPrecision(FileFormat format)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - precision
    argTypes:
    - FileTimestampPrecision
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 485
    functionName: pcpp::toString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString(FileTimestampPrecision precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: pcpp::IFileDevice::IFileDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IFileDevice::IFileDevice(const std::string& fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: pcpp::IFileDevice::getFileName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string IFileDevice::getFileName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PcapStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: pcpp::IFileDevice::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void IFileDevice::getStatistics(PcapStats& stats) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: pcpp::IFileDevice::resetStatisticCounters
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IFileDevice::resetStatisticCounters()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:520,1
    - Dst: setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filterAsString
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 524
    functionName: pcpp::IFileDevice::doUpdateFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - setFilter
    linkageType: ''
    returnType: bool
    signature: bool IFileDevice::doUpdateFilter(std::string const* filterAsString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: pcpp::IFileReaderDevice::IFileReaderDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IFileReaderDevice::IFileReaderDevice(const std::string& fileName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:535,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:536,1
    - Dst: PcapNgFileReaderDevice::PcapNgFileReaderDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:539,1
    - Dst: SnoopFileReaderDevice::SnoopFileReaderDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:541,1
    - Dst: PcapFileReaderDevice::PcapFileReaderDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 544
    functionName: pcpp::IFileReaderDevice::getReader
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached:
    - PcapFileReaderDevice::PcapFileReaderDevice
    - PcapNgFileReaderDevice::PcapNgFileReaderDevice
    - substr
    - find_last_of
    - SnoopFileReaderDevice::SnoopFileReaderDevice
    linkageType: ''
    returnType: IFileReaderDevice
    signature: IFileReaderDevice * IFileReaderDevice::getReader(const std::string&
      fileName)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::fail
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:549,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:551,1
    - Dst: detectFileFormat
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:554,1
    - Dst: std::make_unique<PcapFileReaderDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:560,1
    - Dst: checkZstdSupport
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:565,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:567,1
    - Dst: std::make_unique<PcapNgFileReaderDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:574,1
    - Dst: std::make_unique<SnoopFileReaderDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:578,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:581,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 583
    functionName: pcpp::IFileReaderDevice::createReader
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - std::make_unique<PcapNgFileReaderDevice>
    - std::make_unique<PcapFileReaderDevice>
    - std::ifstream::fail
    - checkZstdSupport
    - std::runtime_error
    - detectFileFormat
    - std::make_unique<SnoopFileReaderDevice>
    linkageType: ''
    returnType: std::unique_ptr<IFileReaderDevice>
    signature: std::unique_ptr<IFileReaderDevice> IFileReaderDevice::createReader(const
      std::string& fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:589,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:593,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 596
    functionName: pcpp::IFileReaderDevice::tryCreateReader
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 12
    functionsReached:
    - pcpp::IFileReaderDevice::createReader
    - what
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::unique_ptr<IFileReaderDevice>
    signature: std::unique_ptr<IFileReaderDevice> IFileReaderDevice::tryCreateReader(const
      std::string& fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:600,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: pcpp::IFileReaderDevice::getFileSize
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::tellg
    - c_str
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IFileReaderDevice::getFileSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:610,1
    - Dst: getNextPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:611,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' packetVec'
    - numOfPacketsToRead
    argTypes:
    - RawPacketVector
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 624
    functionName: pcpp::IFileReaderDevice::getNextPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - RawPacket::RawPacket
    - getNextPacket
    - pushBack
    linkageType: ''
    returnType: int
    signature: int IFileReaderDevice::getNextPackets(RawPacketVector& packetVec, int
      numOfPacketsToRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 631
    functionName: pcpp::IFileWriterDevice::IFileWriterDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IFileWriterDevice::IFileWriterDevice(const std::string& fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: pcpp::swap16
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t swap16(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: pcpp::swap32
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t swap32(uint32_t value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:670,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:670,1
    - Dst: gcount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:672,1
    - Dst: static_cast<std::streamsize>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:677,1
    - Dst: pcpp::detectPcapMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:683,1
    - Dst: pcpp::getPcapPrecision
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:689,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:694,1
    - Dst: pcpp::swap16
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:695,1
    - Dst: pcpp::swap16
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:696,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:697,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:698,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:699,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - ' inStream'
    - ' header'
    - ' precision'
    - ' needsSwap'
    argTypes:
    - std::istream
    - pcap_file_header
    - FileTimestampPrecision
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 704
    functionName: pcpp::readPcapHeader
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::swap16
    - gcount
    - pcpp::getPcapPrecision
    - read
    - pcpp::detectPcapMagic
    - pcpp::swap32
    - reinterpret_cast<char*>
    - static_cast<std::streamsize>
    linkageType: ''
    returnType: PcapReadHeaderStatus
    signature: "PcapReadHeaderStatus readPcapHeader(std::istream& inStream, pcap_file_header&
      header,\n\t\t                                    FileTimestampPrecision& precision,
      bool& needsSwap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: pcpp::swap16
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t swap16(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: pcpp::swap32
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t swap32(uint32_t value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:670,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:670,1
    - Dst: gcount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:672,1
    - Dst: static_cast<std::streamsize>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:677,1
    - Dst: pcpp::detectPcapMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:683,1
    - Dst: pcpp::getPcapPrecision
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:689,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:694,1
    - Dst: pcpp::swap16
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:695,1
    - Dst: pcpp::swap16
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:696,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:697,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:698,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:699,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - ' inStream'
    - ' header'
    - ' precision'
    - ' needsSwap'
    argTypes:
    - std::istream
    - pcap_file_header
    - FileTimestampPrecision
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 704
    functionName: pcpp::readPcapHeader
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::swap16
    - gcount
    - pcpp::getPcapPrecision
    - read
    - pcpp::detectPcapMagic
    - pcpp::swap32
    - reinterpret_cast<char*>
    - static_cast<std::streamsize>
    linkageType: ''
    returnType: PcapReadHeaderStatus
    signature: "PcapReadHeaderStatus readPcapHeader(std::istream& inStream, pcap_file_header&
      header,\n\t\t                                    FileTimestampPrecision& precision,
      bool& needsSwap)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:709,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:711,1
    - Dst: resetStatisticCounters
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:715,1
    - Dst: std::ifstream::open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:718,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:718,1
    - Dst: std::ifstream::is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:719,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:721,1
    - Dst: readPcapHeader
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:726,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:734,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:739,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:744,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:749,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:749,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:750,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:757,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:757,1
    - Dst: toLinkLayerType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:761,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:764,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:766,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 768
    functionName: pcpp::PcapFileReaderDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - std::ifstream::is_open
    - std::ifstream::open
    - readPcapHeader
    - PCPP_LOG_ERROR
    - is_open
    - toLinkLayerType
    - std::logic_error
    - resize
    - std::move
    - resetStatisticCounters
    - c_str
    - to_string
    linkageType: ''
    returnType: bool
    signature: bool PcapFileReaderDevice::open()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapFileReaderDevice::readNextPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:775,1
    - Dst: data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:775,1
    - Dst: matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:777,1
    - Dst: data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:777,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:780,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:781,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:781,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:781,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:781,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:781,1
    - Dst: setRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:783,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:783,1
    - Dst: reportPacketProcessed
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:785,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 792
    functionName: pcpp::PcapFileReaderDevice::getNextPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<uint8_t[]>
    - data
    - auto::release
    - reportPacketProcessed
    - begin
    - auto::get
    - setRawData
    - std::next
    - PCPP_LOG_DEBUG
    - matches
    - pcpp::PcapFileReaderDevice::readNextPacket
    - std::copy
    linkageType: ''
    returnType: bool
    signature: bool PcapFileReaderDevice::getNextPacket(RawPacket& rawPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 797
    functionName: pcpp::PcapFileReaderDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached:
    - pcpp::PcapFileReaderDevice::close
    linkageType: ''
    returnType: void
    signature: void PcapFileReaderDevice::close()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:803,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:803,1
    - Dst: gcount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:805,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:811,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:813,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:819,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:820,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:821,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:822,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:827,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:835,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:844,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:844,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:853,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:853,1
    - Dst: PCPP_LOG_WARN
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:861,1
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:867,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:867,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:869,1
    - Dst: ignore
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:873,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:875,1
    - Dst: static_cast<time_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:881,1
    - Dst: static_cast<long>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:882,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 5
    argNames:
    - ' packetTimestamp'
    - packetData
    - packetDataLen
    - ' capturedLength'
    - ' frameLength'
    argTypes:
    - timespec
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 886
    functionName: pcpp::PcapFileReaderDevice::readNextPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - PCPP_LOG_WARN
    - ignore
    - gcount
    - static_cast<size_t>
    - PCPP_LOG_ERROR
    - read
    - static_cast<time_t>
    - static_cast<long>
    - swap32
    - reinterpret_cast<char*>
    - to_string
    linkageType: ''
    returnType: bool
    signature: "bool PcapFileReaderDevice::readNextPacket(timespec& packetTimestamp,
      uint8_t* packetData, uint32_t packetDataLen,\n\t                                          uint32_t&
      capturedLength, uint32_t& frameLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' fileName'
    - linkLayerType
    - nanosecondsPrecision
    argTypes:
    - std::string
    - LinkLayerType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 905
    functionName: pcpp::PcapFileWriterDevice::PcapFileWriterDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PcapFileWriterDevice::PcapFileWriterDevice(const std::string&
      fileName, LinkLayerType linkLayerType,\n\t                                           bool
      nanosecondsPrecision)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 910
    functionName: pcpp::PcapFileWriterDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached:
    - pcpp::PcapFileWriterDevice::open
    linkageType: ''
    returnType: bool
    signature: bool PcapFileWriterDevice::open()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:914,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:916,1
    - Dst: std::fstream::open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:927,1
    - Dst: std::fstream::is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:929,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:931,1
    - Dst: std::fstream::seekg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:947,1
    - Dst: readPcapHeader
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:948,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:954,1
    - Dst: std::fstream::bad
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:961,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:964,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:968,1
    - Dst: std::fstream::clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:969,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:975,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:980,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:985,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:995,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:995,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:996,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1002,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1006,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1008,1
    - Dst: std::fstream::seekg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1013,1
    - Dst: pcpp::PcapFileWriterDevice::writeHeader
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1017,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1022,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 1
    argNames:
    - appendMode
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 1024
    functionName: pcpp::PcapFileWriterDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached:
    - toString
    - std::fstream::seekg
    - readPcapHeader
    - PCPP_LOG_ERROR
    - is_open
    - std::fstream::is_open
    - std::fstream::clear
    - std::fstream::open
    - pcpp::PcapFileWriterDevice::writeHeader
    - static_cast<uint32_t>
    - std::logic_error
    - PCPP_LOG_DEBUG
    - std::fstream::bad
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool PcapFileWriterDevice::open(bool appendMode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1028,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1030,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1034,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1036,1
    - Dst: reportPacketDropped
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1037,1
    - Dst: matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1041,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1043,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1048,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1052,1
    - Dst: getFrameLength
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1053,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1057,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1058,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1059,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1060,1
    - Dst: write
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1063,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1063,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1065,1
    - Dst: reportPacketDropped
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1066,1
    - Dst: write
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1070,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1070,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1070,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1070,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1072,1
    - Dst: reportPacketDropped
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1073,1
    - Dst: reportPacketProcessed
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1077,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1079
    functionName: pcpp::PcapFileWriterDevice::writePacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - getRawData
    - write
    - reportPacketProcessed
    - reinterpret_cast<const char*>
    - getLinkLayerType
    - getPacketTimeStamp
    - PCPP_LOG_ERROR
    - is_open
    - reportPacketDropped
    - getFrameLength
    - PCPP_LOG_DEBUG
    - matches
    - swap32
    - getRawDataLen
    linkageType: ''
    returnType: bool
    signature: bool PcapFileWriterDevice::writePacket(RawPacket const& packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1083,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1085,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' packets'
    argTypes:
    - RawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1099
    functionName: pcpp::PcapFileWriterDevice::writePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - pcpp::PcapFileWriterDevice::writePacket
    - is_open
    linkageType: ''
    returnType: bool
    signature: bool PcapFileWriterDevice::writePackets(const RawPacketVector& packets)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1103,1
    - Dst: pcpp::PcapFileWriterDevice::flush
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1109
    functionName: pcpp::PcapFileWriterDevice::flush
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapFileWriterDevice::flush
    - is_open
    linkageType: ''
    returnType: void
    signature: void PcapFileWriterDevice::flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1113,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1119
    functionName: pcpp::PcapFileWriterDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached:
    - pcpp::PcapFileWriterDevice::close
    - is_open
    linkageType: ''
    returnType: void
    signature: void PcapFileWriterDevice::close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1130,1
    - Dst: write
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1132,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1132,1
    - Dst: good
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1134,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' outStream'
    - precision
    - snaplen
    - linkType
    argTypes:
    - std::ostream
    - FileTimestampPrecision
    - uint32_t
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1141
    functionName: pcpp::PcapFileWriterDevice::writeHeader
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - write
    - reinterpret_cast<const char*>
    - PCPP_LOG_ERROR
    - good
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: "bool PcapFileWriterDevice::writeHeader(std::ostream& outStream, FileTimestampPrecision
      precision, uint32_t snaplen,\n\t                                       LinkLayerType
      linkType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkZstdSupport
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1150
    functionName: pcpp::PcapNgFileReaderDevice::isZstdSupported
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - checkZstdSupport
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileReaderDevice::isZstdSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1155
    functionName: pcpp::PcapNgFileReaderDevice::PcapNgFileReaderDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapNgFileReaderDevice::PcapNgFileReaderDevice(const std::string&
      fileName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resetStatisticCounters
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1159,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1163,1
    - Dst: toLightPcapNgHandle
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1167,1
    - Dst: light_pcapng_open_read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1167,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1167,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1170,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1176
    functionName: pcpp::PcapNgFileReaderDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - resetStatisticCounters
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    - toLightPcapNgHandle
    - light_pcapng_open_read
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileReaderDevice::open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPacketInternal
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rawPacket'
    - ' packetComment'
    argTypes:
    - RawPacket
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1181
    functionName: pcpp::PcapNgFileReaderDevice::getNextPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapNgFileReaderDevice::getNextPacketInternal
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileReaderDevice::getNextPacket(RawPacket& rawPacket, std::string&
      packetComment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPacketInternal
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1186
    functionName: pcpp::PcapNgFileReaderDevice::getNextPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapNgFileReaderDevice::getNextPacketInternal
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileReaderDevice::getNextPacket(RawPacket& rawPacket)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1192,1
    - Dst: light_get_next_packet
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1199,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1199,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1201,1
    - Dst: matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1205,1
    - Dst: light_get_next_packet
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1207,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1207,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1209,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1214,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1215,1
    - Dst: static_cast<LinkLayerType>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1216,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1219,1
    - Dst: setRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1222,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1225,1
    - Dst: std::string*::assign
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1233,1
    - Dst: std::string*::clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1237,1
    - Dst: reportPacketProcessed
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1241,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - ' rawPacket'
    - packetComment
    argTypes:
    - RawPacket
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1243
    functionName: pcpp::PcapNgFileReaderDevice::getNextPacketInternal
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - std::string*::assign
    - reportPacketProcessed
    - std::string*::clear
    - PCPP_LOG_ERROR
    - light_get_next_packet
    - memcpy
    - static_cast<LinkLayerType>
    - setRawData
    - PCPP_LOG_DEBUG
    - matches
    - uint8_t::uint8_t
    - toLightPcapNgT
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileReaderDevice::getNextPacketInternal(RawPacket& rawPacket,
      std::string* packetComment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: light_pcapng_close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1250,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1250,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1254
    functionName: pcpp::PcapNgFileReaderDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - light_pcapng_close
    - toLightPcapNgT
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void PcapNgFileReaderDevice::close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1260,1
    - Dst: light_pcang_get_file_info
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1264,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1264,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1269
    functionName: pcpp::PcapNgFileReaderDevice::getOS
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - light_pcang_get_file_info
    - string
    - toLightPcapNgT
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::string
    signature: std::string PcapNgFileReaderDevice::getOS() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1275,1
    - Dst: light_pcang_get_file_info
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1279,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1279,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1284
    functionName: pcpp::PcapNgFileReaderDevice::getHardware
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - light_pcang_get_file_info
    - string
    - toLightPcapNgT
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::string
    signature: std::string PcapNgFileReaderDevice::getHardware() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1290,1
    - Dst: light_pcang_get_file_info
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1294,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1294,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1299
    functionName: pcpp::PcapNgFileReaderDevice::getCaptureApplication
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - light_pcang_get_file_info
    - string
    - toLightPcapNgT
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::string
    signature: std::string PcapNgFileReaderDevice::getCaptureApplication() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1305,1
    - Dst: light_pcang_get_file_info
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1309,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1309,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1314
    functionName: pcpp::PcapNgFileReaderDevice::getCaptureFileComment
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - light_pcang_get_file_info
    - string
    - toLightPcapNgT
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::string
    signature: std::string PcapNgFileReaderDevice::getCaptureFileComment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkZstdSupport
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1323
    functionName: pcpp::PcapNgFileWriterDevice::isZstdSupported
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - checkZstdSupport
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::isZstdSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' fileName'
    - compressionLevel
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1330
    functionName: pcpp::PcapNgFileWriterDevice::PcapNgFileWriterDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapNgFileWriterDevice::PcapNgFileWriterDevice(const std::string&
      fileName, int compressionLevel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1336,1
    - Dst: reportPacketDropped
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1337,1
    - Dst: matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1341,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1347,1
    - Dst: getFrameLength
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1348,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1349,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1350,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1350,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1352,1
    - Dst: const_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1354,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1354,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1355,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1355,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1363,1
    - Dst: light_write_packet
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1365,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1365,1
    - Dst: reportPacketProcessed
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - ' packet'
    - ' comment'
    argTypes:
    - RawPacket
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1368
    functionName: pcpp::PcapNgFileWriterDevice::writePacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - getRawData
    - reportPacketProcessed
    - toLightPcapNgT
    - empty
    - getPacketTimeStamp
    - getLinkLayerType
    - getFrameLength
    - PCPP_LOG_ERROR
    - reportPacketDropped
    - size
    - light_write_packet
    - matches
    - const_cast<char*>
    - static_cast<uint16_t>
    - getRawDataLen
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::writePacket(RawPacket const& packet, const
      std::string& comment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1372,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1373
    functionName: pcpp::PcapNgFileWriterDevice::writePacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::PcapNgFileWriterDevice::writePacket
    - string
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::writePacket(RawPacket const& packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1377,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1377,1
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' packets'
    argTypes:
    - RawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1375
    functionDepth: 2
    functionLinenumber: 1375
    functionLinenumberEnd: 1384
    functionName: pcpp::PcapNgFileWriterDevice::writePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - end
    - pcpp::PcapNgFileWriterDevice::writePacket
    - begin
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::writePackets(const RawPacketVector& packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileWriterDevice::openWrite
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1389
    functionName: pcpp::PcapNgFileWriterDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapNgFileWriterDevice::openWrite
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileWriterDevice::openAppend
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1393,1
    - Dst: pcpp::PcapNgFileWriterDevice::openWrite
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appendMode
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1394
    functionName: pcpp::PcapNgFileWriterDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapNgFileWriterDevice::openWrite
    - pcpp::PcapNgFileWriterDevice::openAppend
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::open(bool appendMode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileWriterDevice::openWrite
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' os'
    - ' hardware'
    - ' captureApp'
    - ' fileComment'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1396
    functionDepth: 1
    functionLinenumber: 1396
    functionLinenumberEnd: 1405
    functionName: pcpp::PcapNgFileWriterDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapNgFileWriterDevice::openWrite
    linkageType: ''
    returnType: bool
    signature: "bool PcapNgFileWriterDevice::open(const std::string& os, const std::string&
      hardware, const std::string& captureApp,\n\t                                  const
      std::string& fileComment)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1414,1
    - Dst: resetStatisticCounters
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1418,1
    - Dst: light_create_default_file_info
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1423,1
    - Dst: light_create_file_info
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1427,1
    - Dst: PcapNgMetadata*::os::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1427,1
    - Dst: PcapNgMetadata*::hardware::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1427,1
    - Dst: PcapNgMetadata*::captureApplication::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1428,1
    - Dst: PcapNgMetadata*::comment::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1428,1
    - Dst: toLightPcapNgHandle
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1431,1
    - Dst: light_pcapng_open_write
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1431,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1431,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1434,1
    - Dst: light_free_file_info
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1437,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - PcapNgMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1444
    functionName: pcpp::PcapNgFileWriterDevice::openWrite
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached:
    - PcapNgMetadata*::comment::c_str
    - light_pcapng_open_write
    - light_free_file_info
    - PcapNgMetadata*::captureApplication::c_str
    - light_create_file_info
    - PCPP_LOG_ERROR
    - light_create_default_file_info
    - PcapNgMetadata*::os::c_str
    - PcapNgMetadata*::hardware::c_str
    - PCPP_LOG_DEBUG
    - toLightPcapNgHandle
    - resetStatisticCounters
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::openWrite(PcapNgMetadata const* metadata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1453,1
    - Dst: resetStatisticCounters
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1457,1
    - Dst: toLightPcapNgHandle
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1459,1
    - Dst: light_pcapng_open_append
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1459,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1459,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1462,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1469
    functionName: pcpp::PcapNgFileWriterDevice::openAppend
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - PCPP_LOG_ERROR
    - light_pcapng_open_append
    - PCPP_LOG_DEBUG
    - toLightPcapNgHandle
    - resetStatisticCounters
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::openAppend()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1473,1
    - Dst: light_pcapng_flush
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1476,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1476,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1478
    functionName: pcpp::PcapNgFileWriterDevice::flush
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - light_pcapng_flush
    - toLightPcapNgT
    - isOpened
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void PcapNgFileWriterDevice::flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: light_pcapng_close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1485,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1485,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1489
    functionName: pcpp::PcapNgFileWriterDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - light_pcapng_close
    - toLightPcapNgT
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void PcapNgFileWriterDevice::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: SnoopFileReaderDevice::~SnoopFileReaderDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void SnoopFileReaderDevice::~SnoopFileReaderDevice()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1502,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1504,1
    - Dst: resetStatisticCounters
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1508,1
    - Dst: std::ifstream::open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1511,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1511,1
    - Dst: std::ifstream::is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1512,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1514,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1519,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1519,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1522,1
    - Dst: isSnoopMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1526,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1528,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1532,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1534,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1550,1
    - Dst: ARRAY_SIZE
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1551,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1553,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1557,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1561,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1565
    functionName: pcpp::SnoopFileReaderDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::is_open
    - isSnoopMagic
    - PCPP_LOG_DEBUG
    - std::ifstream::open
    - ARRAY_SIZE
    - be32toh
    - PCPP_LOG_ERROR
    - is_open
    - std::move
    - resize
    - std::ifstream::read
    - resetStatisticCounters
    - reinterpret_cast<char*>
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool SnoopFileReaderDevice::open()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1571,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1571,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1574,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1578,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1581,1
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1585,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1585,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1588,1
    - Dst: static_cast<time_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1592,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1592,1
    - Dst: static_cast<long>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1593,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1593,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1595,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1597,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1598,1
    - Dst: ignore
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - ' packetTimestamp'
    - packetData
    - packetDataLen
    - ' capturedLength'
    - ' frameLength'
    argTypes:
    - timespec
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1603
    functionName: pcpp::SnoopFileReaderDevice::readNextPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - ignore
    - be32toh
    - PCPP_LOG_ERROR
    - read
    - static_cast<time_t>
    - static_cast<long>
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: bool
    signature: "bool SnoopFileReaderDevice::readNextPacket(timespec& packetTimestamp,
      uint8_t* packetData, uint32_t packetDataLen,\n\t                                           uint32_t&
      capturedLength, uint32_t& frameLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1607,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1609,1
    - Dst: pcpp::SnoopFileReaderDevice::readNextPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1616,1
    - Dst: data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1616,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1616,1
    - Dst: matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1618,1
    - Dst: data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1618,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1620,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1621,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1621,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1621,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1621,1
    - Dst: setRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1623,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1623,1
    - Dst: reportPacketProcessed
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1625,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1605
    functionDepth: 2
    functionLinenumber: 1605
    functionLinenumberEnd: 1632
    functionName: pcpp::SnoopFileReaderDevice::getNextPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - data
    - auto::release
    - reportPacketProcessed
    - begin
    - auto::get
    - PCPP_LOG_ERROR
    - size
    - pcpp::SnoopFileReaderDevice::readNextPacket
    - setRawData
    - isOpened
    - PCPP_LOG_DEBUG
    - matches
    - std::copy
    linkageType: ''
    returnType: bool
    signature: bool SnoopFileReaderDevice::getNextPacket(RawPacket& rawPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SnoopFileReaderDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1636,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1638
    functionName: pcpp::SnoopFileReaderDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SnoopFileReaderDevice::close
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void SnoopFileReaderDevice::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: pcpp::checkZstdSupport
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkZstdSupport()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<internal::LightPcapNgHandle*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcapngHandle
    argTypes:
    - light_pcapng_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: pcpp::toLightPcapNgHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<internal::LightPcapNgHandle*>
    linkageType: ''
    returnType: internal::LightPcapNgHandle
    signature: internal::LightPcapNgHandle * toLightPcapNgHandle(light_pcapng_t* pcapngHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<light_pcapng_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcapngHandle
    argTypes:
    - internal::LightPcapNgHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pcpp::toLightPcapNgT
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<light_pcapng_t*>
    linkageType: ''
    returnType: light_pcapng_t
    signature: light_pcapng_t * toLightPcapNgT(internal::LightPcapNgHandle* pcapngHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::ARRAY_SIZE
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ARRAY_SIZE(T (&)[N])
  - BBCount: 109
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LinkLayerType>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 115
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 209
    functionName: pcpp::toLinkLayerType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<LinkLayerType>
    linkageType: ''
    returnType: LinkLayerType
    signature: LinkLayerType toLinkLayerType(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdstate
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:215,1
    - Dst: tellg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: pcpp::StreamPositionCheckpoint::StreamPositionCheckpoint
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - rdstate
    - tellg
    linkageType: ''
    returnType: void
    signature: void StreamPositionCheckpoint(std::istream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seekg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:220,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: pcpp::StreamPositionCheckpoint::restore
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - clear
    - seekg
    linkageType: ''
    returnType: void
    signature: void restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: ~StreamPositionCheckpoint()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void ~StreamPositionCheckpoint()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:240,1
    - Dst: fail
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:241,1
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:243,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:247,1
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: pcpp::isStreamSeekable
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::clear
    - fail
    - seekg
    - tellg
    linkageType: ''
    returnType: bool
    signature: bool isStreamSeekable(std::istream& stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:302,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:302,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:302,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:303,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:311,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - magic
    argTypes:
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 328
    functionName: pcpp::detectPcapMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 4
    functionsReached:
    - find
    - std::array::end
    - std::distance
    - std::array::begin
    linkageType: ''
    returnType: FileFormat
    signature: FileFormat detectPcapMagic(std::uint32_t magic, FileByteOrder* byteOrder
      = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - magic
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: pcpp::isPcapNgMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isPcapNgMagic(uint32_t magic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:350,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:350,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:350,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:351,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:358,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - magic
    argTypes:
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 363
    functionName: pcpp::isSnoopMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - find
    - std::array::end
    - std::distance
    - std::array::begin
    linkageType: ''
    returnType: bool
    signature: bool isSnoopMagic(std::uint64_t magic, FileByteOrder* byteOrder = nullptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:380,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:380,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:380,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:381,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:388,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - magic
    argTypes:
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 393
    functionName: pcpp::isZstdArchiveMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - find
    - std::array::end
    - std::distance
    - std::array::begin
    linkageType: ''
    returnType: bool
    signature: bool isZstdArchiveMagic(std::uint32_t magic, FileByteOrder* byteOrder
      = nullptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::isStreamSeekable
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:406,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:408,1
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:415,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:415,1
    - Dst: gcount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:416,1
    - Dst: pcpp::detectPcapMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:421,1
    - Dst: pcpp::isPcapNgMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:427,1
    - Dst: pcpp::isZstdArchiveMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:437,1
    - Dst: StreamPositionCheckpoint::restore
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:443,1
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:446,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:446,1
    - Dst: gcount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:447,1
    - Dst: pcpp::isSnoopMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:452,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' content'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 458
    functionName: pcpp::detectFileFormat
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - StreamPositionCheckpoint::restore
    - pcpp::isStreamSeekable
    - gcount
    - read
    - std::runtime_error
    - pcpp::detectPcapMagic
    - pcpp::isZstdArchiveMagic
    - reinterpret_cast<char*>
    - pcpp::isSnoopMagic
    - pcpp::isPcapNgMagic
    linkageType: ''
    returnType: FileFormat
    signature: FileFormat detectFileFormat(std::istream& content, FileByteOrder* byteOrder
      = nullptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - FileFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 472
    functionName: pcpp::getPcapPrecision
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: FileTimestampPrecision
    signature: FileTimestampPrecision getPcapPrecision(FileFormat format)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - precision
    argTypes:
    - FileTimestampPrecision
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 485
    functionName: pcpp::toString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString(FileTimestampPrecision precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: pcpp::checkZstdSupport
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool checkZstdSupport()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<internal::LightPcapNgHandle*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcapngHandle
    argTypes:
    - light_pcapng_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: pcpp::toLightPcapNgHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<internal::LightPcapNgHandle*>
    linkageType: ''
    returnType: internal::LightPcapNgHandle
    signature: internal::LightPcapNgHandle * toLightPcapNgHandle(light_pcapng_t* pcapngHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<light_pcapng_t*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcapngHandle
    argTypes:
    - internal::LightPcapNgHandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: pcpp::toLightPcapNgT
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<light_pcapng_t*>
    linkageType: ''
    returnType: light_pcapng_t
    signature: light_pcapng_t * toLightPcapNgT(internal::LightPcapNgHandle* pcapngHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp::ARRAY_SIZE
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t ARRAY_SIZE(T (&)[N])
  - BBCount: 109
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LinkLayerType>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 115
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 209
    functionName: pcpp::toLinkLayerType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - static_cast<LinkLayerType>
    linkageType: ''
    returnType: LinkLayerType
    signature: LinkLayerType toLinkLayerType(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdstate
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:215,1
    - Dst: tellg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: pcpp::StreamPositionCheckpoint::StreamPositionCheckpoint
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - rdstate
    - tellg
    linkageType: ''
    returnType: void
    signature: void StreamPositionCheckpoint(std::istream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: seekg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:220,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: pcpp::StreamPositionCheckpoint::restore
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - clear
    - seekg
    linkageType: ''
    returnType: void
    signature: void restore()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: restore
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: ~StreamPositionCheckpoint()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - restore
    linkageType: ''
    returnType: void
    signature: void ~StreamPositionCheckpoint()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:240,1
    - Dst: fail
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:241,1
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:243,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:247,1
    - Dst: pcpp::clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: pcpp::isStreamSeekable
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached:
    - pcpp::clear
    - fail
    - seekg
    - tellg
    linkageType: ''
    returnType: bool
    signature: bool isStreamSeekable(std::istream& stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:302,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:302,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:302,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:303,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:311,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - magic
    argTypes:
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 328
    functionName: pcpp::detectPcapMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 5
    functionsReached:
    - find
    - std::array::end
    - std::distance
    - std::array::begin
    linkageType: ''
    returnType: FileFormat
    signature: FileFormat detectPcapMagic(std::uint32_t magic, FileByteOrder* byteOrder
      = nullptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - magic
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: pcpp::isPcapNgMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isPcapNgMagic(uint32_t magic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:350,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:350,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:350,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:351,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:358,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - magic
    argTypes:
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 363
    functionName: pcpp::isSnoopMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached:
    - find
    - std::array::end
    - std::distance
    - std::array::begin
    linkageType: ''
    returnType: bool
    signature: bool isSnoopMagic(std::uint64_t magic, FileByteOrder* byteOrder = nullptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:380,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:380,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:380,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:381,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:388,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - magic
    argTypes:
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 393
    functionName: pcpp::isZstdArchiveMagic
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached:
    - find
    - std::array::end
    - std::distance
    - std::array::begin
    linkageType: ''
    returnType: bool
    signature: bool isZstdArchiveMagic(std::uint32_t magic, FileByteOrder* byteOrder
      = nullptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::isStreamSeekable
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:406,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:408,1
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:415,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:415,1
    - Dst: gcount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:416,1
    - Dst: pcpp::detectPcapMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:421,1
    - Dst: pcpp::isPcapNgMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:427,1
    - Dst: pcpp::isZstdArchiveMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:437,1
    - Dst: StreamPositionCheckpoint::restore
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:443,1
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:446,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:446,1
    - Dst: gcount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:447,1
    - Dst: pcpp::isSnoopMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:452,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' content'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 458
    functionName: pcpp::detectFileFormat
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - StreamPositionCheckpoint::restore
    - pcpp::isStreamSeekable
    - gcount
    - read
    - std::runtime_error
    - pcpp::detectPcapMagic
    - pcpp::isZstdArchiveMagic
    - reinterpret_cast<char*>
    - pcpp::isSnoopMagic
    - pcpp::isPcapNgMagic
    linkageType: ''
    returnType: FileFormat
    signature: FileFormat detectFileFormat(std::istream& content, FileByteOrder* byteOrder
      = nullptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - FileFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 472
    functionName: pcpp::getPcapPrecision
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: FileTimestampPrecision
    signature: FileTimestampPrecision getPcapPrecision(FileFormat format)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - precision
    argTypes:
    - FileTimestampPrecision
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 485
    functionName: pcpp::toString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string toString(FileTimestampPrecision precision)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: pcpp::IFileDevice::IFileDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IFileDevice::IFileDevice(const std::string& fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: pcpp::IFileDevice::getFileName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string IFileDevice::getFileName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' stats'
    argTypes:
    - PcapStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: pcpp::IFileDevice::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void IFileDevice::getStatistics(PcapStats& stats) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: pcpp::IFileDevice::resetStatisticCounters
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IFileDevice::resetStatisticCounters()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:520,1
    - Dst: setFilter
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filterAsString
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 524
    functionName: pcpp::IFileDevice::doUpdateFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - setFilter
    linkageType: ''
    returnType: bool
    signature: bool IFileDevice::doUpdateFilter(std::string const* filterAsString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: pcpp::IFileReaderDevice::IFileReaderDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IFileReaderDevice::IFileReaderDevice(const std::string& fileName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_last_of
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:535,1
    - Dst: substr
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:536,1
    - Dst: PcapNgFileReaderDevice::PcapNgFileReaderDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:539,1
    - Dst: SnoopFileReaderDevice::SnoopFileReaderDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:541,1
    - Dst: PcapFileReaderDevice::PcapFileReaderDevice
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 544
    functionName: pcpp::IFileReaderDevice::getReader
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached:
    - PcapFileReaderDevice::PcapFileReaderDevice
    - PcapNgFileReaderDevice::PcapNgFileReaderDevice
    - substr
    - find_last_of
    - SnoopFileReaderDevice::SnoopFileReaderDevice
    linkageType: ''
    returnType: IFileReaderDevice
    signature: IFileReaderDevice * IFileReaderDevice::getReader(const std::string&
      fileName)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::fail
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:549,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:551,1
    - Dst: detectFileFormat
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:554,1
    - Dst: std::make_unique<PcapFileReaderDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:560,1
    - Dst: checkZstdSupport
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:565,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:567,1
    - Dst: std::make_unique<PcapNgFileReaderDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:574,1
    - Dst: std::make_unique<SnoopFileReaderDevice>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:578,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:581,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 583
    functionName: pcpp::IFileReaderDevice::createReader
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<PcapNgFileReaderDevice>
    - std::make_unique<PcapFileReaderDevice>
    - std::ifstream::fail
    - checkZstdSupport
    - std::runtime_error
    - detectFileFormat
    - std::make_unique<SnoopFileReaderDevice>
    linkageType: ''
    returnType: std::unique_ptr<IFileReaderDevice>
    signature: std::unique_ptr<IFileReaderDevice> IFileReaderDevice::createReader(const
      std::string& fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:589,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:593,1
    - Dst: what
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 596
    functionName: pcpp::IFileReaderDevice::tryCreateReader
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 12
    functionsReached:
    - pcpp::IFileReaderDevice::createReader
    - what
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::unique_ptr<IFileReaderDevice>
    signature: std::unique_ptr<IFileReaderDevice> IFileReaderDevice::tryCreateReader(const
      std::string& fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:600,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: pcpp::IFileReaderDevice::getFileSize
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::tellg
    - c_str
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t IFileReaderDevice::getFileSize() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:610,1
    - Dst: getNextPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:611,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ' packetVec'
    - numOfPacketsToRead
    argTypes:
    - RawPacketVector
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 624
    functionName: pcpp::IFileReaderDevice::getNextPackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - RawPacket::RawPacket
    - getNextPacket
    - pushBack
    linkageType: ''
    returnType: int
    signature: int IFileReaderDevice::getNextPackets(RawPacketVector& packetVec, int
      numOfPacketsToRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 631
    functionName: pcpp::IFileWriterDevice::IFileWriterDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IFileWriterDevice::IFileWriterDevice(const std::string& fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: pcpp::swap16
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t swap16(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: pcpp::swap32
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t swap32(uint32_t value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:670,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:670,1
    - Dst: gcount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:672,1
    - Dst: static_cast<std::streamsize>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:677,1
    - Dst: pcpp::detectPcapMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:683,1
    - Dst: pcpp::getPcapPrecision
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:689,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:694,1
    - Dst: pcpp::swap16
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:695,1
    - Dst: pcpp::swap16
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:696,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:697,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:698,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:699,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - ' inStream'
    - ' header'
    - ' precision'
    - ' needsSwap'
    argTypes:
    - std::istream
    - pcap_file_header
    - FileTimestampPrecision
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 704
    functionName: pcpp::readPcapHeader
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::swap16
    - gcount
    - pcpp::getPcapPrecision
    - read
    - pcpp::detectPcapMagic
    - pcpp::swap32
    - reinterpret_cast<char*>
    - static_cast<std::streamsize>
    linkageType: ''
    returnType: PcapReadHeaderStatus
    signature: "PcapReadHeaderStatus readPcapHeader(std::istream& inStream, pcap_file_header&
      header,\n\t\t                                    FileTimestampPrecision& precision,
      bool& needsSwap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: pcpp::swap16
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached:
    - static_cast<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t swap16(uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: pcpp::swap32
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t swap32(uint32_t value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:670,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:670,1
    - Dst: gcount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:672,1
    - Dst: static_cast<std::streamsize>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:677,1
    - Dst: pcpp::detectPcapMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:683,1
    - Dst: pcpp::getPcapPrecision
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:689,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:694,1
    - Dst: pcpp::swap16
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:695,1
    - Dst: pcpp::swap16
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:696,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:697,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:698,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:699,1
    - Dst: pcpp::swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - ' inStream'
    - ' header'
    - ' precision'
    - ' needsSwap'
    argTypes:
    - std::istream
    - pcap_file_header
    - FileTimestampPrecision
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 704
    functionName: pcpp::readPcapHeader
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::swap16
    - gcount
    - pcpp::getPcapPrecision
    - read
    - pcpp::detectPcapMagic
    - pcpp::swap32
    - reinterpret_cast<char*>
    - static_cast<std::streamsize>
    linkageType: ''
    returnType: PcapReadHeaderStatus
    signature: "PcapReadHeaderStatus readPcapHeader(std::istream& inStream, pcap_file_header&
      header,\n\t\t                                    FileTimestampPrecision& precision,
      bool& needsSwap)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:709,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:711,1
    - Dst: resetStatisticCounters
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:715,1
    - Dst: std::ifstream::open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:718,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:718,1
    - Dst: std::ifstream::is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:719,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:721,1
    - Dst: readPcapHeader
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:726,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:734,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:739,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:744,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:749,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:749,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:750,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:757,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:757,1
    - Dst: toLinkLayerType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:761,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:764,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:766,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 768
    functionName: pcpp::PcapFileReaderDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - std::ifstream::is_open
    - std::ifstream::open
    - readPcapHeader
    - PCPP_LOG_ERROR
    - is_open
    - toLinkLayerType
    - std::logic_error
    - resize
    - std::move
    - resetStatisticCounters
    - c_str
    - to_string
    linkageType: ''
    returnType: bool
    signature: bool PcapFileReaderDevice::open()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapFileReaderDevice::readNextPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:775,1
    - Dst: data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:775,1
    - Dst: matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:777,1
    - Dst: data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:777,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:780,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:781,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:781,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:781,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:781,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:781,1
    - Dst: setRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:783,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:783,1
    - Dst: reportPacketProcessed
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:785,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 792
    functionName: pcpp::PcapFileReaderDevice::getNextPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - std::make_unique<uint8_t[]>
    - data
    - auto::release
    - reportPacketProcessed
    - begin
    - auto::get
    - setRawData
    - std::next
    - PCPP_LOG_DEBUG
    - matches
    - pcpp::PcapFileReaderDevice::readNextPacket
    - std::copy
    linkageType: ''
    returnType: bool
    signature: bool PcapFileReaderDevice::getNextPacket(RawPacket& rawPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 797
    functionName: pcpp::PcapFileReaderDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 4
    functionsReached:
    - pcpp::PcapFileReaderDevice::close
    linkageType: ''
    returnType: void
    signature: void PcapFileReaderDevice::close()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:803,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:803,1
    - Dst: gcount
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:805,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:811,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:813,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:819,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:820,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:821,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:822,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:827,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:835,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:844,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:844,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:853,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:853,1
    - Dst: PCPP_LOG_WARN
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:861,1
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:867,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:867,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:869,1
    - Dst: ignore
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:873,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:875,1
    - Dst: static_cast<time_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:881,1
    - Dst: static_cast<long>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:882,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 5
    argNames:
    - ' packetTimestamp'
    - packetData
    - packetDataLen
    - ' capturedLength'
    - ' frameLength'
    argTypes:
    - timespec
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 886
    functionName: pcpp::PcapFileReaderDevice::readNextPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - PCPP_LOG_WARN
    - ignore
    - gcount
    - static_cast<size_t>
    - PCPP_LOG_ERROR
    - read
    - static_cast<time_t>
    - static_cast<long>
    - swap32
    - reinterpret_cast<char*>
    - to_string
    linkageType: ''
    returnType: bool
    signature: "bool PcapFileReaderDevice::readNextPacket(timespec& packetTimestamp,
      uint8_t* packetData, uint32_t packetDataLen,\n\t                                          uint32_t&
      capturedLength, uint32_t& frameLength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ' fileName'
    - linkLayerType
    - nanosecondsPrecision
    argTypes:
    - std::string
    - LinkLayerType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 905
    functionName: pcpp::PcapFileWriterDevice::PcapFileWriterDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PcapFileWriterDevice::PcapFileWriterDevice(const std::string&
      fileName, LinkLayerType linkLayerType,\n\t                                           bool
      nanosecondsPrecision)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 910
    functionName: pcpp::PcapFileWriterDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 4
    functionsReached:
    - pcpp::PcapFileWriterDevice::open
    linkageType: ''
    returnType: bool
    signature: bool PcapFileWriterDevice::open()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:914,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:916,1
    - Dst: std::fstream::open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:927,1
    - Dst: std::fstream::is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:929,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:931,1
    - Dst: std::fstream::seekg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:947,1
    - Dst: readPcapHeader
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:948,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:954,1
    - Dst: std::fstream::bad
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:961,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:964,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:968,1
    - Dst: std::fstream::clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:969,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:975,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:980,1
    - Dst: std::logic_error
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:985,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:995,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:995,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:996,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1002,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1006,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1008,1
    - Dst: std::fstream::seekg
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1013,1
    - Dst: pcpp::PcapFileWriterDevice::writeHeader
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1017,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1022,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 1
    argNames:
    - appendMode
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 1024
    functionName: pcpp::PcapFileWriterDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 4
    functionsReached:
    - toString
    - std::fstream::seekg
    - readPcapHeader
    - PCPP_LOG_ERROR
    - is_open
    - std::fstream::is_open
    - std::fstream::clear
    - std::fstream::open
    - pcpp::PcapFileWriterDevice::writeHeader
    - static_cast<uint32_t>
    - std::logic_error
    - PCPP_LOG_DEBUG
    - std::fstream::bad
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool PcapFileWriterDevice::open(bool appendMode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1028,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1030,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1034,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1036,1
    - Dst: reportPacketDropped
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1037,1
    - Dst: matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1041,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1043,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1048,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1052,1
    - Dst: getFrameLength
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1053,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1057,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1058,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1059,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1060,1
    - Dst: write
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1063,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1063,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1065,1
    - Dst: reportPacketDropped
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1066,1
    - Dst: write
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1070,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1070,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1070,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1070,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1072,1
    - Dst: reportPacketDropped
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1073,1
    - Dst: reportPacketProcessed
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1077,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1079
    functionName: pcpp::PcapFileWriterDevice::writePacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached:
    - getRawData
    - write
    - reportPacketProcessed
    - reinterpret_cast<const char*>
    - getLinkLayerType
    - getPacketTimeStamp
    - PCPP_LOG_ERROR
    - is_open
    - reportPacketDropped
    - getFrameLength
    - PCPP_LOG_DEBUG
    - matches
    - swap32
    - getRawDataLen
    linkageType: ''
    returnType: bool
    signature: bool PcapFileWriterDevice::writePacket(RawPacket const& packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1083,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1085,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' packets'
    argTypes:
    - RawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1099
    functionName: pcpp::PcapFileWriterDevice::writePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    - pcpp::PcapFileWriterDevice::writePacket
    - is_open
    linkageType: ''
    returnType: bool
    signature: bool PcapFileWriterDevice::writePackets(const RawPacketVector& packets)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1103,1
    - Dst: pcpp::PcapFileWriterDevice::flush
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1109
    functionName: pcpp::PcapFileWriterDevice::flush
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::PcapFileWriterDevice::flush
    - is_open
    linkageType: ''
    returnType: void
    signature: void PcapFileWriterDevice::flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1113,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1119
    functionName: pcpp::PcapFileWriterDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 4
    functionsReached:
    - pcpp::PcapFileWriterDevice::close
    - is_open
    linkageType: ''
    returnType: void
    signature: void PcapFileWriterDevice::close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1130,1
    - Dst: write
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1132,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1132,1
    - Dst: good
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1134,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ' outStream'
    - precision
    - snaplen
    - linkType
    argTypes:
    - std::ostream
    - FileTimestampPrecision
    - uint32_t
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1141
    functionName: pcpp::PcapFileWriterDevice::writeHeader
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - write
    - reinterpret_cast<const char*>
    - PCPP_LOG_ERROR
    - good
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: "bool PcapFileWriterDevice::writeHeader(std::ostream& outStream, FileTimestampPrecision
      precision, uint32_t snaplen,\n\t                                       LinkLayerType
      linkType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkZstdSupport
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1150
    functionName: pcpp::PcapNgFileReaderDevice::isZstdSupported
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - checkZstdSupport
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileReaderDevice::isZstdSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1155
    functionName: pcpp::PcapNgFileReaderDevice::PcapNgFileReaderDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapNgFileReaderDevice::PcapNgFileReaderDevice(const std::string&
      fileName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resetStatisticCounters
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1159,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1163,1
    - Dst: toLightPcapNgHandle
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1167,1
    - Dst: light_pcapng_open_read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1167,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1167,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1170,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1176
    functionName: pcpp::PcapNgFileReaderDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - resetStatisticCounters
    - PCPP_LOG_ERROR
    - PCPP_LOG_DEBUG
    - toLightPcapNgHandle
    - light_pcapng_open_read
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileReaderDevice::open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPacketInternal
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' rawPacket'
    - ' packetComment'
    argTypes:
    - RawPacket
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1178
    functionDepth: 2
    functionLinenumber: 1178
    functionLinenumberEnd: 1181
    functionName: pcpp::PcapNgFileReaderDevice::getNextPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapNgFileReaderDevice::getNextPacketInternal
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileReaderDevice::getNextPacket(RawPacket& rawPacket, std::string&
      packetComment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPacketInternal
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1183
    functionDepth: 2
    functionLinenumber: 1183
    functionLinenumberEnd: 1186
    functionName: pcpp::PcapNgFileReaderDevice::getNextPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapNgFileReaderDevice::getNextPacketInternal
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileReaderDevice::getNextPacket(RawPacket& rawPacket)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1192,1
    - Dst: light_get_next_packet
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1199,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1199,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1201,1
    - Dst: matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1205,1
    - Dst: light_get_next_packet
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1207,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1207,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1209,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1214,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1215,1
    - Dst: static_cast<LinkLayerType>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1216,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1219,1
    - Dst: setRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1222,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1225,1
    - Dst: std::string*::assign
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1233,1
    - Dst: std::string*::clear
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1237,1
    - Dst: reportPacketProcessed
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1241,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - ' rawPacket'
    - packetComment
    argTypes:
    - RawPacket
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1243
    functionName: pcpp::PcapNgFileReaderDevice::getNextPacketInternal
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 4
    functionsReached:
    - std::string*::assign
    - reportPacketProcessed
    - std::string*::clear
    - PCPP_LOG_ERROR
    - light_get_next_packet
    - memcpy
    - static_cast<LinkLayerType>
    - setRawData
    - PCPP_LOG_DEBUG
    - matches
    - uint8_t::uint8_t
    - toLightPcapNgT
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileReaderDevice::getNextPacketInternal(RawPacket& rawPacket,
      std::string* packetComment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: light_pcapng_close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1250,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1250,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1254
    functionName: pcpp::PcapNgFileReaderDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - light_pcapng_close
    - toLightPcapNgT
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void PcapNgFileReaderDevice::close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1260,1
    - Dst: light_pcang_get_file_info
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1264,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1264,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1269
    functionName: pcpp::PcapNgFileReaderDevice::getOS
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - light_pcang_get_file_info
    - string
    - toLightPcapNgT
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::string
    signature: std::string PcapNgFileReaderDevice::getOS() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1275,1
    - Dst: light_pcang_get_file_info
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1279,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1279,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1284
    functionName: pcpp::PcapNgFileReaderDevice::getHardware
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - light_pcang_get_file_info
    - string
    - toLightPcapNgT
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::string
    signature: std::string PcapNgFileReaderDevice::getHardware() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1290,1
    - Dst: light_pcang_get_file_info
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1294,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1294,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1299
    functionName: pcpp::PcapNgFileReaderDevice::getCaptureApplication
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - light_pcang_get_file_info
    - string
    - toLightPcapNgT
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::string
    signature: std::string PcapNgFileReaderDevice::getCaptureApplication() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1305,1
    - Dst: light_pcang_get_file_info
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1309,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1309,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1314
    functionName: pcpp::PcapNgFileReaderDevice::getCaptureFileComment
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - light_pcang_get_file_info
    - string
    - toLightPcapNgT
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: std::string
    signature: std::string PcapNgFileReaderDevice::getCaptureFileComment() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkZstdSupport
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1323
    functionName: pcpp::PcapNgFileWriterDevice::isZstdSupported
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - checkZstdSupport
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::isZstdSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' fileName'
    - compressionLevel
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1330
    functionName: pcpp::PcapNgFileWriterDevice::PcapNgFileWriterDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapNgFileWriterDevice::PcapNgFileWriterDevice(const std::string&
      fileName, int compressionLevel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1336,1
    - Dst: reportPacketDropped
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1337,1
    - Dst: matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1341,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1347,1
    - Dst: getFrameLength
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1348,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1349,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1350,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1350,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1352,1
    - Dst: const_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1354,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1354,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1355,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1355,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1363,1
    - Dst: light_write_packet
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1365,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1365,1
    - Dst: reportPacketProcessed
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - ' packet'
    - ' comment'
    argTypes:
    - RawPacket
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1368
    functionName: pcpp::PcapNgFileWriterDevice::writePacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 3
    functionsReached:
    - getRawData
    - reportPacketProcessed
    - toLightPcapNgT
    - empty
    - getPacketTimeStamp
    - getLinkLayerType
    - getFrameLength
    - PCPP_LOG_ERROR
    - reportPacketDropped
    - size
    - light_write_packet
    - matches
    - const_cast<char*>
    - static_cast<uint16_t>
    - getRawDataLen
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::writePacket(RawPacket const& packet, const
      std::string& comment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1372,1
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' packet'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1373
    functionName: pcpp::PcapNgFileWriterDevice::writePacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 4
    functionsReached:
    - pcpp::PcapNgFileWriterDevice::writePacket
    - string
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::writePacket(RawPacket const& packet)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1377,1
    - Dst: end
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1377,1
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' packets'
    argTypes:
    - RawPacketVector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1375
    functionDepth: 2
    functionLinenumber: 1375
    functionLinenumberEnd: 1384
    functionName: pcpp::PcapNgFileWriterDevice::writePackets
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - end
    - pcpp::PcapNgFileWriterDevice::writePacket
    - begin
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::writePackets(const RawPacketVector& packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileWriterDevice::openWrite
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1386
    functionDepth: 2
    functionLinenumber: 1386
    functionLinenumberEnd: 1389
    functionName: pcpp::PcapNgFileWriterDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapNgFileWriterDevice::openWrite
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileWriterDevice::openAppend
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1393,1
    - Dst: pcpp::PcapNgFileWriterDevice::openWrite
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appendMode
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1391
    functionDepth: 2
    functionLinenumber: 1391
    functionLinenumberEnd: 1394
    functionName: pcpp::PcapNgFileWriterDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapNgFileWriterDevice::openWrite
    - pcpp::PcapNgFileWriterDevice::openAppend
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::open(bool appendMode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileWriterDevice::openWrite
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' os'
    - ' hardware'
    - ' captureApp'
    - ' fileComment'
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1396
    functionDepth: 2
    functionLinenumber: 1396
    functionLinenumberEnd: 1405
    functionName: pcpp::PcapNgFileWriterDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapNgFileWriterDevice::openWrite
    linkageType: ''
    returnType: bool
    signature: "bool PcapNgFileWriterDevice::open(const std::string& os, const std::string&
      hardware, const std::string& captureApp,\n\t                                  const
      std::string& fileComment)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1414,1
    - Dst: resetStatisticCounters
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1418,1
    - Dst: light_create_default_file_info
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1423,1
    - Dst: light_create_file_info
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1427,1
    - Dst: PcapNgMetadata*::os::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1427,1
    - Dst: PcapNgMetadata*::hardware::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1427,1
    - Dst: PcapNgMetadata*::captureApplication::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1428,1
    - Dst: PcapNgMetadata*::comment::c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1428,1
    - Dst: toLightPcapNgHandle
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1431,1
    - Dst: light_pcapng_open_write
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1431,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1431,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1434,1
    - Dst: light_free_file_info
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1437,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - PcapNgMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1444
    functionName: pcpp::PcapNgFileWriterDevice::openWrite
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 6
    functionsReached:
    - PcapNgMetadata*::comment::c_str
    - light_pcapng_open_write
    - light_free_file_info
    - PcapNgMetadata*::captureApplication::c_str
    - light_create_file_info
    - PCPP_LOG_ERROR
    - light_create_default_file_info
    - PcapNgMetadata*::os::c_str
    - PcapNgMetadata*::hardware::c_str
    - PCPP_LOG_DEBUG
    - toLightPcapNgHandle
    - resetStatisticCounters
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::openWrite(PcapNgMetadata const* metadata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1453,1
    - Dst: resetStatisticCounters
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1457,1
    - Dst: toLightPcapNgHandle
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1459,1
    - Dst: light_pcapng_open_append
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1459,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1459,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1462,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1469
    functionName: pcpp::PcapNgFileWriterDevice::openAppend
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - PCPP_LOG_ERROR
    - light_pcapng_open_append
    - PCPP_LOG_DEBUG
    - toLightPcapNgHandle
    - resetStatisticCounters
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool PcapNgFileWriterDevice::openAppend()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1473,1
    - Dst: light_pcapng_flush
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1476,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1476,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1478
    functionName: pcpp::PcapNgFileWriterDevice::flush
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - light_pcapng_flush
    - toLightPcapNgT
    - isOpened
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void PcapNgFileWriterDevice::flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: light_pcapng_close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1485,1
    - Dst: toLightPcapNgT
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1485,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1489
    functionName: pcpp::PcapNgFileWriterDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - light_pcapng_close
    - toLightPcapNgT
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void PcapNgFileWriterDevice::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: SnoopFileReaderDevice::~SnoopFileReaderDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void SnoopFileReaderDevice::~SnoopFileReaderDevice()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1502,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1504,1
    - Dst: resetStatisticCounters
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1508,1
    - Dst: std::ifstream::open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1511,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1511,1
    - Dst: std::ifstream::is_open
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1512,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1514,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1519,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1519,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1522,1
    - Dst: isSnoopMagic
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1526,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1528,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1532,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1534,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1550,1
    - Dst: ARRAY_SIZE
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1551,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1553,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1557,1
    - Dst: resize
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1561,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1565
    functionName: pcpp::SnoopFileReaderDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::is_open
    - isSnoopMagic
    - PCPP_LOG_DEBUG
    - std::ifstream::open
    - ARRAY_SIZE
    - be32toh
    - PCPP_LOG_ERROR
    - is_open
    - std::move
    - resize
    - std::ifstream::read
    - resetStatisticCounters
    - reinterpret_cast<char*>
    - c_str
    linkageType: ''
    returnType: bool
    signature: bool SnoopFileReaderDevice::open()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1571,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1571,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1574,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1578,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1581,1
    - Dst: read
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1585,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1585,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1588,1
    - Dst: static_cast<time_t>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1592,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1592,1
    - Dst: static_cast<long>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1593,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1593,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1595,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1597,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1598,1
    - Dst: ignore
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - ' packetTimestamp'
    - packetData
    - packetDataLen
    - ' capturedLength'
    - ' frameLength'
    argTypes:
    - timespec
    - uint8_t*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1603
    functionName: pcpp::SnoopFileReaderDevice::readNextPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 1
    functionsReached:
    - ignore
    - be32toh
    - PCPP_LOG_ERROR
    - read
    - static_cast<time_t>
    - static_cast<long>
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: bool
    signature: "bool SnoopFileReaderDevice::readNextPacket(timespec& packetTimestamp,
      uint8_t* packetData, uint32_t packetDataLen,\n\t                                           uint32_t&
      capturedLength, uint32_t& frameLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isOpened
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1607,1
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1609,1
    - Dst: pcpp::SnoopFileReaderDevice::readNextPacket
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1616,1
    - Dst: data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1616,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1616,1
    - Dst: matches
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1618,1
    - Dst: data
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1618,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1620,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1621,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1621,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1621,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1621,1
    - Dst: setRawData
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1623,1
    - Dst: auto::release
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1623,1
    - Dst: reportPacketProcessed
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1625,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1605
    functionDepth: 2
    functionLinenumber: 1605
    functionLinenumberEnd: 1632
    functionName: pcpp::SnoopFileReaderDevice::getNextPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - data
    - auto::release
    - reportPacketProcessed
    - begin
    - auto::get
    - PCPP_LOG_ERROR
    - size
    - pcpp::SnoopFileReaderDevice::readNextPacket
    - setRawData
    - isOpened
    - PCPP_LOG_DEBUG
    - matches
    - std::copy
    linkageType: ''
    returnType: bool
    signature: bool SnoopFileReaderDevice::getNextPacket(RawPacket& rawPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SnoopFileReaderDevice::close
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1636,1
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1638
    functionName: pcpp::SnoopFileReaderDevice::close
    functionSourceFile: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    functionUses: 2
    functionsReached:
    - pcpp::SnoopFileReaderDevice::close
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void SnoopFileReaderDevice::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: pcpp::PcapRemoteDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapRemoteDeviceList(const PcapRemoteDeviceList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: pcpp::PcapRemoteDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapRemoteDeviceList(PcapRemoteDeviceList&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& operator=(const PcapRemoteDeviceList&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapRemoteDeviceList
    signature: PcapRemoteDeviceList & operator=(const PcapRemoteDeviceList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& operator=(PcapRemoteDeviceList&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapRemoteDeviceList
    signature: PcapRemoteDeviceList & operator=(PcapRemoteDeviceList&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: pcpp::getRemoteMachineIpAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getRemoteMachineIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: pcpp::getRemoteMachinePort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getRemoteMachinePort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: pcpp::PcapRemoteDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapRemoteDeviceList(const PcapRemoteDeviceList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: pcpp::PcapRemoteDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapRemoteDeviceList(PcapRemoteDeviceList&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& operator=(const PcapRemoteDeviceList&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapRemoteDeviceList
    signature: PcapRemoteDeviceList & operator=(const PcapRemoteDeviceList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& operator=(PcapRemoteDeviceList&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapRemoteDeviceList
    signature: PcapRemoteDeviceList & operator=(PcapRemoteDeviceList&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: pcpp::getRemoteMachineIpAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getRemoteMachineIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: pcpp::getRemoteMachinePort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getRemoteMachinePort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: pcpp::KniDevice::KniDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KniDevice(const KniDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: '& operator=(const KniDevice&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KniDevice
    signature: KniDevice & operator=(const KniDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: pcpp::KniDevice::isInitialized
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/header/KniDevice.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: pcpp::KniDevice::getName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    functionUses: 0
    functionsReached:
    - string
    linkageType: ''
    returnType: std::string
    signature: std::string getName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pcpp::KniDevice::getPort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: pcpp::KniDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: pcpp::KniDevice::isRunning
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isRunning() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: pcpp::KniDevice::KniDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KniDevice(const KniDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: '& operator=(const KniDevice&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KniDevice
    signature: KniDevice & operator=(const KniDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: pcpp::KniDevice::isInitialized
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Pcap++/header/KniDevice.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: pcpp::KniDevice::getName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    functionUses: 0
    functionsReached:
    - string
    linkageType: ''
    returnType: std::string
    signature: std::string getName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pcpp::KniDevice::getPort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getPort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: pcpp::KniDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: pcpp::KniDevice::isRunning
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isRunning() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: pcpp::PcapLiveDeviceList::PcapLiveDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapLiveDeviceList(const PcapLiveDeviceList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pcpp::PcapLiveDeviceList::PcapLiveDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapLiveDeviceList(PcapLiveDeviceList&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const PcapLiveDeviceList&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapLiveDeviceList
    signature: PcapLiveDeviceList & operator=(const PcapLiveDeviceList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(PcapLiveDeviceList&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapLiveDeviceList
    signature: PcapLiveDeviceList & operator=(PcapLiveDeviceList&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: '& getInstance()'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapLiveDeviceList
    signature: PcapLiveDeviceList & getInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '& getPcapLiveDevicesList() const'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PcapLiveDevice*>
    signature: std::vector<PcapLiveDevice*> & getPcapLiveDevicesList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: '& getDnsServers() const'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<IPv4Address>
    signature: std::vector<IPv4Address> & getDnsServers() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: pcpp::PcapLiveDeviceList::PcapLiveDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapLiveDeviceList(const PcapLiveDeviceList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pcpp::PcapLiveDeviceList::PcapLiveDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapLiveDeviceList(PcapLiveDeviceList&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const PcapLiveDeviceList&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapLiveDeviceList
    signature: PcapLiveDeviceList & operator=(const PcapLiveDeviceList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(PcapLiveDeviceList&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapLiveDeviceList
    signature: PcapLiveDeviceList & operator=(PcapLiveDeviceList&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: '& getInstance()'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapLiveDeviceList
    signature: PcapLiveDeviceList & getInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: '& getPcapLiveDevicesList() const'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PcapLiveDevice*>
    signature: std::vector<PcapLiveDevice*> & getPcapLiveDevicesList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: '& getDnsServers() const'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<IPv4Address>
    signature: std::vector<IPv4Address> & getDnsServers() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeviceInterfaceDetails
      Src: /src/PcapPlusPlus/Pcap++/header/WinPcapLiveDevice.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - iface
    - calculateMTU
    - calculateMacAddress
    - calculateDefaultGateway
    argTypes:
    - pcap_if_t*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: pcpp::WinPcapLiveDevice::WinPcapLiveDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinPcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - DeviceInterfaceDetails
    linkageType: ''
    returnType: void
    signature: void WinPcapLiveDevice(pcap_if_t* iface, bool calculateMTU, bool calculateMacAddress,
      bool calculateDefaultGateway)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - WinPcapLiveDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pcpp::WinPcapLiveDevice::WinPcapLiveDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinPcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinPcapLiveDevice(const WinPcapLiveDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - WinPcapLiveDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const WinPcapLiveDevice& other)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinPcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WinPcapLiveDevice
    signature: WinPcapLiveDevice & operator=(const WinPcapLiveDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: pcpp::WinPcapLiveDevice::getDeviceType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinPcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LiveDeviceType
    signature: LiveDeviceType getDeviceType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: pcpp::WinPcapLiveDevice::getMinAmountOfDataToCopyFromKernelToApplication
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinPcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMinAmountOfDataToCopyFromKernelToApplication() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeviceInterfaceDetails
      Src: /src/PcapPlusPlus/Pcap++/header/WinPcapLiveDevice.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - iface
    - calculateMTU
    - calculateMacAddress
    - calculateDefaultGateway
    argTypes:
    - pcap_if_t*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: pcpp::WinPcapLiveDevice::WinPcapLiveDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinPcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - DeviceInterfaceDetails
    linkageType: ''
    returnType: void
    signature: void WinPcapLiveDevice(pcap_if_t* iface, bool calculateMTU, bool calculateMacAddress,
      bool calculateDefaultGateway)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - WinPcapLiveDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: pcpp::WinPcapLiveDevice::WinPcapLiveDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinPcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WinPcapLiveDevice(const WinPcapLiveDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - WinPcapLiveDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '& operator=(const WinPcapLiveDevice& other)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinPcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: WinPcapLiveDevice
    signature: WinPcapLiveDevice & operator=(const WinPcapLiveDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: pcpp::WinPcapLiveDevice::getDeviceType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinPcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LiveDeviceType
    signature: LiveDeviceType getDeviceType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: pcpp::WinPcapLiveDevice::getMinAmountOfDataToCopyFromKernelToApplication
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinPcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getMinAmountOfDataToCopyFromKernelToApplication() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pcpp::MBufRawPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/MBufRawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MBufRawPacket()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: pcpp::getMBuf
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/MBufRawPacket.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rte_mbuf
    signature: rte_mbuf * getMBuf()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: pcpp::getObjectType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/MBufRawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getObjectType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: pcpp::setFreeMbuf
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/MBufRawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFreeMbuf(bool val = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pcpp::MBufRawPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/MBufRawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MBufRawPacket()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: pcpp::getMBuf
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/MBufRawPacket.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rte_mbuf
    signature: rte_mbuf * getMBuf()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: pcpp::getObjectType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/MBufRawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getObjectType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: pcpp::setFreeMbuf
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/MBufRawPacket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setFreeMbuf(bool val = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~DpdkWorkerThread()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DpdkWorkerThread()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: pcpp::DpdkDeviceList::isInitialized
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDeviceList.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInitialized() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DpdkDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/header/DpdkDeviceList.h:94,1
    - Dst: DpdkDeviceList::initDpdkDevices
      Src: /src/PcapPlusPlus/Pcap++/header/DpdkDeviceList.h:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: '& getInstance()'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDeviceList.h
    functionUses: 0
    functionsReached:
    - DpdkDeviceList::initDpdkDevices
    - DpdkDeviceList::isInitialized
    linkageType: ''
    returnType: DpdkDeviceList
    signature: DpdkDeviceList & getInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: '& getDpdkDeviceList() const'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<DpdkDevice*>
    signature: std::vector<DpdkDevice*> & getDpdkDeviceList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ~DpdkWorkerThread()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DpdkWorkerThread()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: pcpp::DpdkDeviceList::isInitialized
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDeviceList.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInitialized() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DpdkDeviceList::isInitialized
      Src: /src/PcapPlusPlus/Pcap++/header/DpdkDeviceList.h:94,1
    - Dst: DpdkDeviceList::initDpdkDevices
      Src: /src/PcapPlusPlus/Pcap++/header/DpdkDeviceList.h:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: '& getInstance()'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDeviceList.h
    functionUses: 0
    functionsReached:
    - DpdkDeviceList::initDpdkDevices
    - DpdkDeviceList::isInitialized
    linkageType: ''
    returnType: DpdkDeviceList
    signature: DpdkDeviceList & getInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: '& getDpdkDeviceList() const'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<DpdkDevice*>
    signature: std::vector<DpdkDevice*> & getDpdkDeviceList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::setPfRingDeviceAttributes
      Src: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: pcpp::PfRingDevice::getIsHwClockEnable
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 4
    functionsReached:
    - pcpp::PfRingDevice::setPfRingDeviceAttributes
    linkageType: ''
    returnType: bool
    signature: bool getIsHwClockEnable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::setPfRingDeviceAttributes
      Src: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: pcpp::PfRingDevice::getMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::setPfRingDeviceAttributes
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getMacAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::setPfRingDeviceAttributes
      Src: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: pcpp::PfRingDevice::getInterfaceIndex
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::setPfRingDeviceAttributes
    linkageType: ''
    returnType: int
    signature: int getInterfaceIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::setPfRingDeviceAttributes
      Src: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: pcpp::PfRingDevice::getMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::setPfRingDeviceAttributes
    linkageType: ''
    returnType: int
    signature: int getMtu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::setPfRingDeviceAttributes
      Src: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: pcpp::PfRingDevice::isHwClockEnabledForDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::setPfRingDeviceAttributes
    linkageType: ''
    returnType: bool
    signature: bool isHwClockEnabledForDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: pcpp::PfRingDevice::getDeviceName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getDeviceName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h:217,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: pcpp::PfRingDevice::getNumOfOpenedRxChannels
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - size
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getNumOfOpenedRxChannels() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: pcpp::PfRingDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::setPfRingDeviceAttributes
      Src: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: pcpp::PfRingDevice::getIsHwClockEnable
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 4
    functionsReached:
    - pcpp::PfRingDevice::setPfRingDeviceAttributes
    linkageType: ''
    returnType: bool
    signature: bool getIsHwClockEnable()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::setPfRingDeviceAttributes
      Src: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: pcpp::PfRingDevice::getMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::setPfRingDeviceAttributes
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getMacAddress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::setPfRingDeviceAttributes
      Src: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: pcpp::PfRingDevice::getInterfaceIndex
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::setPfRingDeviceAttributes
    linkageType: ''
    returnType: int
    signature: int getInterfaceIndex()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::setPfRingDeviceAttributes
      Src: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: pcpp::PfRingDevice::getMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::setPfRingDeviceAttributes
    linkageType: ''
    returnType: int
    signature: int getMtu()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PfRingDevice::setPfRingDeviceAttributes
      Src: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: pcpp::PfRingDevice::isHwClockEnabledForDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 0
    functionsReached:
    - pcpp::PfRingDevice::setPfRingDeviceAttributes
    linkageType: ''
    returnType: bool
    signature: bool isHwClockEnabledForDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: pcpp::PfRingDevice::getDeviceName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getDeviceName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h:217,1
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: pcpp::PfRingDevice::getNumOfOpenedRxChannels
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8_t>
    - size
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t getNumOfOpenedRxChannels() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: pcpp::PfRingDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' username'
    - ' password'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: pcpp::PcapRemoteAuthentication
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapRemoteAuthentication(const std::string& username, const std::string&
      password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapRemoteAuthentication
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: pcpp::PcapRemoteAuthentication
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapRemoteAuthentication(const PcapRemoteAuthentication& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeviceInterfaceDetails
      Src: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h:80,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - iface
    - remoteAuthentication
    - ' remoteMachineIP'
    - remoteMachinePort
    argTypes:
    - pcap_if_t*
    - std::shared_ptr<PcapRemoteAuthentication>
    - IPAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: pcpp::PcapRemoteDevice::PcapRemoteDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached:
    - std::move
    - DeviceInterfaceDetails
    linkageType: ''
    returnType: void
    signature: "void PcapRemoteDevice(pcap_if_t* iface, std::shared_ptr<PcapRemoteAuthentication>
      remoteAuthentication,\n\t\t                 const IPAddress& remoteMachineIP,
      uint16_t remoteMachinePort)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: pcpp::PcapRemoteDevice::PcapRemoteDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapRemoteDevice(const PcapRemoteDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: pcpp::PcapRemoteDevice::PcapRemoteDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapRemoteDevice(PcapRemoteDevice&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: '& operator=(const PcapRemoteDevice&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice & operator=(const PcapRemoteDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: '& operator=(PcapRemoteDevice&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice & operator=(PcapRemoteDevice&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: ~PcapRemoteDevice() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PcapRemoteDevice() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: pcpp::PcapRemoteDevice::getRemoteMachineIpAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getRemoteMachineIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: pcpp::PcapRemoteDevice::getRemoteMachinePort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getRemoteMachinePort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: pcpp::PcapRemoteDevice::getDeviceType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LiveDeviceType
    signature: LiveDeviceType getDeviceType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' username'
    - ' password'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: pcpp::PcapRemoteAuthentication
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapRemoteAuthentication(const std::string& username, const std::string&
      password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapRemoteAuthentication
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: pcpp::PcapRemoteAuthentication
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapRemoteAuthentication(const PcapRemoteAuthentication& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeviceInterfaceDetails
      Src: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h:80,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - iface
    - remoteAuthentication
    - ' remoteMachineIP'
    - remoteMachinePort
    argTypes:
    - pcap_if_t*
    - std::shared_ptr<PcapRemoteAuthentication>
    - IPAddress
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: pcpp::PcapRemoteDevice::PcapRemoteDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached:
    - std::move
    - DeviceInterfaceDetails
    linkageType: ''
    returnType: void
    signature: "void PcapRemoteDevice(pcap_if_t* iface, std::shared_ptr<PcapRemoteAuthentication>
      remoteAuthentication,\n\t\t                 const IPAddress& remoteMachineIP,
      uint16_t remoteMachinePort)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: pcpp::PcapRemoteDevice::PcapRemoteDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapRemoteDevice(const PcapRemoteDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: pcpp::PcapRemoteDevice::PcapRemoteDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapRemoteDevice(PcapRemoteDevice&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: '& operator=(const PcapRemoteDevice&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice & operator=(const PcapRemoteDevice&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: '& operator=(PcapRemoteDevice&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapRemoteDevice
    signature: PcapRemoteDevice & operator=(PcapRemoteDevice&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: ~PcapRemoteDevice() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PcapRemoteDevice() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: pcpp::PcapRemoteDevice::getRemoteMachineIpAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IPAddress
    signature: IPAddress getRemoteMachineIpAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: pcpp::PcapRemoteDevice::getRemoteMachinePort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getRemoteMachinePort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: pcpp::PcapRemoteDevice::getDeviceType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LiveDeviceType
    signature: LiveDeviceType getDeviceType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~IPcapStatisticsProvider()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IPcapStatisticsProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPcapStatisticsProvider::getStatistics
      Src: /src/PcapPlusPlus/Pcap++/header/PcapDevice.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: pcpp::IPcapStatisticsProvider::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapDevice.h
    functionUses: 1
    functionsReached:
    - pcpp::IPcapStatisticsProvider::getStatistics
    linkageType: ''
    returnType: PcapStats
    signature: PcapStats getStatistics() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: ~IPcapStatisticsProvider()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IPcapStatisticsProvider()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPcapStatisticsProvider::getStatistics
      Src: /src/PcapPlusPlus/Pcap++/header/PcapDevice.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: pcpp::IPcapStatisticsProvider::getStatistics
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapDevice.h
    functionUses: 2
    functionsReached:
    - pcpp::IPcapStatisticsProvider::getStatistics
    linkageType: ''
    returnType: PcapStats
    signature: PcapStats getStatistics() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pcpp::LinuxNicInformationSocket::LinuxNicInformationSocket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/LinuxNicInformationSocket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxNicInformationSocket(const LinuxNicInformationSocket&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: operator=(const LinuxNicInformationSocket&)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/LinuxNicInformationSocket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxNicInformationSocket
    signature: LinuxNicInformationSocket operator=(const LinuxNicInformationSocket&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: pcpp::LinuxNicInformationSocket::LinuxNicInformationSocket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/LinuxNicInformationSocket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LinuxNicInformationSocket(const LinuxNicInformationSocket&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: operator=(const LinuxNicInformationSocket&)
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/LinuxNicInformationSocket.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinuxNicInformationSocket
    signature: LinuxNicInformationSocket operator=(const LinuxNicInformationSocket&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pcpp::PfRingDeviceList::PfRingDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PfRingDeviceList(const PfRingDeviceList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pcpp::PfRingDeviceList::PfRingDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PfRingDeviceList(PfRingDeviceList&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(const PfRingDeviceList&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PfRingDeviceList
    signature: PfRingDeviceList & operator=(const PfRingDeviceList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(PfRingDeviceList&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PfRingDeviceList
    signature: PfRingDeviceList & operator=(PfRingDeviceList&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '& getInstance()'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PfRingDeviceList
    signature: PfRingDeviceList & getInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '& getPfRingDevicesList() const'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PfRingDevice*>
    signature: std::vector<PfRingDevice*> & getPfRingDevicesList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: pcpp::PfRingDeviceList::getPfRingVersion
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getPfRingVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: pcpp::PfRingDeviceList::PfRingDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PfRingDeviceList(const PfRingDeviceList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: pcpp::PfRingDeviceList::PfRingDeviceList
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PfRingDeviceList(PfRingDeviceList&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(const PfRingDeviceList&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PfRingDeviceList
    signature: PfRingDeviceList & operator=(const PfRingDeviceList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: '& operator=(PfRingDeviceList&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PfRingDeviceList
    signature: PfRingDeviceList & operator=(PfRingDeviceList&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: '& getInstance()'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PfRingDeviceList
    signature: PfRingDeviceList & getInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: '& getPfRingDevicesList() const'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<PfRingDevice*>
    signature: std::vector<PfRingDevice*> & getPfRingDevicesList() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: pcpp::PfRingDeviceList::getPfRingVersion
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getPfRingVersion() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ~IOverlappedWrapper()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IOverlappedWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~IWinDivertHandle()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IWinDivertHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: ~IWinDivertDriver()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IWinDivertDriver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ~IOverlappedWrapper()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IOverlappedWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~IWinDivertHandle()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IWinDivertHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: ~IWinDivertDriver()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IWinDivertDriver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - pRawData
    - rawDataLen
    - timestamp
    - deleteRawDataAtDestructor
    - layerType
    - interfaceIndex
    - winDivertTimestamp
    argTypes:
    - uint8_t*
    - int
    - timespec
    - bool
    - LinkLayerType
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: pcpp::WinDivertRawPacket::WinDivertRawPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void WinDivertRawPacket(const uint8_t* pRawData, int rawDataLen, timespec
      timestamp, bool deleteRawDataAtDestructor,\n\t\t                   LinkLayerType
      layerType, uint32_t interfaceIndex, uint64_t winDivertTimestamp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: ~WinDivertRawPacket() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WinDivertRawPacket() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: pcpp::WinDivertRawPacket::getInterfaceIndex
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getInterfaceIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: pcpp::WinDivertRawPacket::getWinDivertTimestamp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getWinDivertTimestamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: pcpp::WinDivertRawPacket::getImplType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::RawPacketImplType
    signature: internal::RawPacketImplType getImplType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h:312,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: pcpp::WinDivertDevice::toString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: pcpp::WinDivertDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - status
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: pcpp::WinDivertDevice::ReceiveResultInternal
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReceiveResultInternal(Status status, const std::string& error
      = "", uint32_t errorCode = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - capturedDataLength
    - ' addresses'
    argTypes:
    - uint32_t
    - std::vector<internal::WinDivertAddress>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: pcpp::WinDivertDevice::ReceiveResultInternal
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReceiveResultInternal(uint32_t capturedDataLength, const std::vector<internal::WinDivertAddress>&
      addresses)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ~IOverlappedWrapper()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IOverlappedWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~IWinDivertHandle()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IWinDivertHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: ~IWinDivertDriver()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IWinDivertDriver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: ~IOverlappedWrapper()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IOverlappedWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~IWinDivertHandle()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IWinDivertHandle()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: ~IWinDivertDriver()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IWinDivertDriver()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - pRawData
    - rawDataLen
    - timestamp
    - deleteRawDataAtDestructor
    - layerType
    - interfaceIndex
    - winDivertTimestamp
    argTypes:
    - uint8_t*
    - int
    - timespec
    - bool
    - LinkLayerType
    - uint32_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: pcpp::WinDivertRawPacket::WinDivertRawPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void WinDivertRawPacket(const uint8_t* pRawData, int rawDataLen, timespec
      timestamp, bool deleteRawDataAtDestructor,\n\t\t                   LinkLayerType
      layerType, uint32_t interfaceIndex, uint64_t winDivertTimestamp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: ~WinDivertRawPacket() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WinDivertRawPacket() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: pcpp::WinDivertRawPacket::getInterfaceIndex
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getInterfaceIndex() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: pcpp::WinDivertRawPacket::getWinDivertTimestamp
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t getWinDivertTimestamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: pcpp::WinDivertRawPacket::getImplType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::RawPacketImplType
    signature: internal::RawPacketImplType getImplType() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h:312,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: pcpp::WinDivertDevice::toString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string toString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: pcpp::WinDivertDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - status
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: pcpp::WinDivertDevice::ReceiveResultInternal
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReceiveResultInternal(Status status, const std::string& error
      = "", uint32_t errorCode = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - capturedDataLength
    - ' addresses'
    argTypes:
    - uint32_t
    - std::vector<internal::WinDivertAddress>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: pcpp::WinDivertDevice::ReceiveResultInternal
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReceiveResultInternal(uint32_t capturedDataLength, const std::vector<internal::WinDivertAddress>&
      addresses)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: pcpp::BpfFilterWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BpfFilterWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: pcpp::BpfFilterWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BpfFilterWrapper(BpfFilterWrapper&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '& operator=(BpfFilterWrapper&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BpfFilterWrapper
    signature: BpfFilterWrapper & operator=(BpfFilterWrapper&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: pcpp::BpfFilterWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BpfFilterWrapper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: pcpp::BpfFilterWrapper
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BpfFilterWrapper(BpfFilterWrapper&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: '& operator=(BpfFilterWrapper&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BpfFilterWrapper
    signature: BpfFilterWrapper & operator=(BpfFilterWrapper&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 164
    functionName: GeneralFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GeneralFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: ~GeneralFilter()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GeneralFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: invalidateCache
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void invalidateCache() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' filterStr'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: BPFStringFilter::BPFStringFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BPFStringFilter(const std::string& filterStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: ~BPFStringFilter()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BPFStringFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: IFilterWithDirection::getDir
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Direction
    signature: Direction getDir() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: IFilterWithDirection::IFilterWithDirection
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IFilterWithDirection(Direction dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dir
    argTypes:
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: IFilterWithDirection::setDirection
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setDirection(Direction dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: IFilterWithOperator::getOperator
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterOperator
    signature: FilterOperator getOperator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - FilterOperator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: IFilterWithOperator::IFilterWithOperator
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IFilterWithOperator(FilterOperator op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - FilterOperator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: IFilterWithOperator::setOperator
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setOperator(FilterOperator op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ipAddress'
    - dir
    argTypes:
    - std::string
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: IPFilter::IPFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - IPAddress
    linkageType: ''
    returnType: void
    signature: void IPFilter(const std::string& ipAddress, Direction dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' ipAddress'
    - dir
    argTypes:
    - IPAddress
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: IPFilter::IPFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPFilter(const IPAddress& ipAddress, Direction dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPv4Address
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' ipAddress'
    - dir
    - ' netmask'
    argTypes:
    - std::string
    - Direction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: IPFilter::IPFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - IPv4Address
    linkageType: ''
    returnType: void
    signature: void IPFilter(const std::string& ipAddress, Direction dir, const std::string&
      netmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' ipAddress'
    - dir
    - ' netmask'
    argTypes:
    - IPAddress
    - Direction
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: IPFilter::IPFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPFilter(const IPAddress& ipAddress, Direction dir, const std::string&
      netmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' ipAddress'
    - dir
    - len
    argTypes:
    - std::string
    - Direction
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: IPFilter::IPFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - IPAddress
    linkageType: ''
    returnType: void
    signature: void IPFilter(const std::string& ipAddress, Direction dir, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' ipAddress'
    - dir
    - len
    argTypes:
    - IPAddress
    - Direction
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: IPFilter::IPFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPFilter(const IPAddress& ipAddress, Direction dir, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNetworkPrefix
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' network'
    - dir
    argTypes:
    - IPNetwork
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: IPFilter::IPFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - getNetworkPrefix
    linkageType: ''
    returnType: void
    signature: void IPFilter(const IPNetwork& network, Direction dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNetworkPrefix
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:378,1
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' network'
    argTypes:
    - IPNetwork
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: IPFilter::setNetwork
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - getNetworkPrefix
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setNetwork(const IPNetwork& network)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPFilter::setAddr
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:387,1
    - Dst: IPAddress
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:387,1
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ipAddress'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: IPFilter::setAddr
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 1
    functionsReached:
    - IPFilter::setAddr
    - IPAddress
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setAddr(const std::string& ipAddress)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPrefixLen
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:399,1
    - Dst: isIPv4
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:400,1
    - Dst: IPNetwork
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:405,1
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' ipAddress'
    argTypes:
    - IPAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 407
    functionName: IPFilter::setAddr
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 1
    functionsReached:
    - getPrefixLen
    - IPNetwork
    - isIPv4
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setAddr(const IPAddress& ipAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPNetwork
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:419,1
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' netmask'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: IPFilter::setMask
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - IPNetwork
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setMask(const std::string& netmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPFilter::clearLen
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:426,1
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: IPFilter::clearMask
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - IPFilter::clearLen
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void clearMask()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPNetwork
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:436,1
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: IPFilter::setLen
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - IPNetwork
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setLen(const int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IPNetwork
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:443,1
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 445
    functionName: IPFilter::clearLen
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 1
    functionsReached:
    - IPNetwork
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void clearLen()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ipID
    - op
    argTypes:
    - uint16_t
    - FilterOperator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 463
    functionName: IPv4IDFilter::IPv4IDFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4IDFilter(uint16_t ipID, FilterOperator op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ipID
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: IPv4IDFilter::setIpID
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setIpID(uint16_t ipID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - totalLength
    - op
    argTypes:
    - uint16_t
    - FilterOperator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 492
    functionName: IPv4TotalLengthFilter::IPv4TotalLengthFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IPv4TotalLengthFilter(uint16_t totalLength, FilterOperator op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - totalLength
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: IPv4TotalLengthFilter::setTotalLength
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setTotalLength(uint16_t totalLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: portToString
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:527,1
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - port
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: PortFilter::setPort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - portToString
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setPort(uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - fromPort
    - toPort
    - dir
    argTypes:
    - uint16_t
    - uint16_t
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 551
    functionName: PortRangeFilter::PortRangeFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PortRangeFilter(uint16_t fromPort, uint16_t toPort, Direction
      dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fromPort
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 561
    functionName: PortRangeFilter::setFromPort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setFromPort(uint16_t fromPort)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - toPort
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 569
    functionName: PortRangeFilter::setToPort
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setToPort(uint16_t toPort)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - address
    - dir
    argTypes:
    - MacAddress
    - Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 587
    functionName: MacAddressFilter::MacAddressFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MacAddressFilter(MacAddress address, Direction dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - address
    argTypes:
    - MacAddress
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: MacAddressFilter::setMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setMacAddress(MacAddress address)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - etherType
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 614
    functionName: EtherTypeFilter::EtherTypeFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EtherTypeFilter(uint16_t etherType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - etherType
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: EtherTypeFilter::setEtherType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setEtherType(uint16_t etherType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 639
    functionName: CompositeFilter::CompositeFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CompositeFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:649,1
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter
    argTypes:
    - GeneralFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 651
    functionName: CompositeFilter::addFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - push_back
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void addFilter(GeneralFilter* filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:664,1
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 666
    functionName: CompositeFilter::clearAllFilters
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - clear
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void clearAllFilters()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 689
    functionName: internal::getCompositeLogicOpDelimiter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getCompositeLogicOpDelimiter<CompositeLogicFilterOp::AND>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 693
    functionName: internal::getCompositeLogicOpDelimiter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getCompositeLogicOpDelimiter<CompositeLogicFilterOp::OR>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 689
    functionName: internal::getCompositeLogicOpDelimiter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getCompositeLogicOpDelimiter<CompositeLogicFilterOp::AND>()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 693
    functionName: internal::getCompositeLogicOpDelimiter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getCompositeLogicOpDelimiter<CompositeLogicFilterOp::OR>()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:707,1
    - Dst: cbegin
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:708,1
    - Dst: cend
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:708,1
    - Dst: CompositeLogicFilter::parseToString
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:711,1
    - Dst: cend
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:713,1
    - Dst: internal::getCompositeLogicOpDelimiter<op>
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 718
    functionName: CompositeLogicFilter::parseToString
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 1
    functionsReached:
    - cbegin
    - internal::getCompositeLogicOpDelimiter<op>
    - cend
    - CompositeLogicFilter::parseToString
    - clear
    linkageType: ''
    returnType: void
    signature: void parseToString(std::string& result) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filterToInverse
    argTypes:
    - GeneralFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 754
    functionName: NotFilter::NotFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NotFilter(GeneralFilter* filterToInverse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filterToInverse
    argTypes:
    - GeneralFilter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 764
    functionName: NotFilter::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setFilter(GeneralFilter* filterToInverse)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - proto
    argTypes:
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 786
    functionName: ProtoFilter::ProtoFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProtoFilter(ProtocolType proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - protoFamily
    argTypes:
    - ProtocolTypeFamily
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 792
    functionName: ProtoFilter::ProtoFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProtoFilter(ProtocolTypeFamily protoFamily)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - proto
    argTypes:
    - ProtocolType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 803
    functionName: ProtoFilter::setProto
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setProto(ProtocolType proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - protoFamily
    argTypes:
    - ProtocolTypeFamily
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 813
    functionName: ProtoFilter::setProto
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setProto(ProtocolTypeFamily protoFamily)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - opCode
    argTypes:
    - ArpOpcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 830
    functionName: ArpFilter::ArpFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArpFilter(ArpOpcode opCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - opCode
    argTypes:
    - ArpOpcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 840
    functionName: ArpFilter::setOpCode
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setOpCode(ArpOpcode opCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - vlanId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 857
    functionName: VlanFilter::VlanFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VlanFilter(uint16_t vlanId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vlanId
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 867
    functionName: VlanFilter::setVlanID
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setVlanID(uint16_t vlanId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - tcpFlagBitMask
    - matchOption
    argTypes:
    - uint8_t
    - MatchOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 917
    functionName: TcpFlagsFilter::TcpFlagsFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcpFlagsFilter(uint8_t tcpFlagBitMask, MatchOptions matchOption)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tcpFlagBitMask
    - matchOption
    argTypes:
    - uint8_t
    - MatchOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 929
    functionName: TcpFlagsFilter::setTcpFlagsBitMask
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setTcpFlagsBitMask(uint8_t tcpFlagBitMask, MatchOptions matchOption)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - windowSize
    - op
    argTypes:
    - uint16_t
    - FilterOperator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 949
    functionName: TcpWindowSizeFilter::TcpWindowSizeFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TcpWindowSizeFilter(uint16_t windowSize, FilterOperator op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - windowSize
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 959
    functionName: TcpWindowSizeFilter::setWindowSize
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setWindowSize(uint16_t windowSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - length
    - op
    argTypes:
    - uint16_t
    - FilterOperator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 977
    functionName: UdpLengthFilter::UdpLengthFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UdpLengthFilter(uint16_t length, FilterOperator op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: invalidateCache
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - length
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 987
    functionName: UdpLengthFilter::setLength
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    functionUses: 0
    functionsReached:
    - invalidateCache
    linkageType: ''
    returnType: void
    signature: void setLength(uint16_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: pcpp::IFileDevice::reportPacketProcessed
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reportPacketProcessed(uint64_t numPackets = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: pcpp::IFileDevice::reportPacketDropped
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reportPacketDropped(uint64_t numPackets = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~IFileReaderDevice() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IFileReaderDevice() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: pcpp::IFileDevice::reportPacketProcessed
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reportPacketProcessed(uint64_t numPackets = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: pcpp::IFileDevice::reportPacketDropped
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reportPacketDropped(uint64_t numPackets = 1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~IFileReaderDevice() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IFileReaderDevice() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: ~IFileWriterDevice() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IFileWriterDevice() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: PcapFileReaderDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapFileReaderDevice(const std::string& fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: ~PcapFileReaderDevice() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PcapFileReaderDevice() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapFileReaderDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: PcapFileReaderDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapFileReaderDevice(const PcapFileReaderDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapFileReaderDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: '& operator=(const PcapFileReaderDevice& other)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapFileReaderDevice
    signature: PcapFileReaderDevice & operator=(const PcapFileReaderDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: getLinkLayerType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: LinkLayerType
    signature: LinkLayerType getLinkLayerType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: getTimestampPrecision
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileTimestampPrecision
    signature: FileTimestampPrecision getTimestampPrecision() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: getSnapshotLength
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getSnapshotLength() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: isNanoSecondPrecisionSupported
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNanoSecondPrecisionSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 25
    functionsReached:
    - is_open
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapFileWriterDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: PcapFileWriterDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapFileWriterDevice(const PcapFileWriterDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapFileWriterDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: '& operator=(const PcapFileWriterDevice& other)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapFileWriterDevice
    signature: PcapFileWriterDevice & operator=(const PcapFileWriterDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: getTimestampPrecision
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileTimestampPrecision
    signature: FileTimestampPrecision getTimestampPrecision() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: isNanoSecondPrecisionSupported
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isNanoSecondPrecisionSupported()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: getLinkLayerType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: LinkLayerType
    signature: LinkLayerType getLinkLayerType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 25
    functionsReached:
    - is_open
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileReaderDevice::close
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: ~PcapNgFileReaderDevice() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached:
    - pcpp::PcapNgFileReaderDevice::close
    linkageType: ''
    returnType: void
    signature: void ~PcapNgFileReaderDevice() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapNgFileReaderDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: PcapNgFileReaderDevice::PcapNgFileReaderDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapNgFileReaderDevice(const PcapNgFileReaderDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapNgFileReaderDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: '& operator=(const PcapNgFileReaderDevice& other)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapNgFileReaderDevice
    signature: PcapNgFileReaderDevice & operator=(const PcapNgFileReaderDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: PcapNgFileReaderDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileWriterDevice::close
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: ~PcapNgFileWriterDevice() override
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached:
    - pcpp::PcapNgFileWriterDevice::close
    linkageType: ''
    returnType: void
    signature: void ~PcapNgFileWriterDevice() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapFileWriterDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: PcapNgFileWriterDevice::PcapNgFileWriterDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapNgFileWriterDevice(const PcapFileWriterDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapNgFileWriterDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 460
    functionName: '& operator=(const PcapNgFileWriterDevice& other)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapNgFileWriterDevice
    signature: PcapNgFileWriterDevice & operator=(const PcapNgFileWriterDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: PcapNgFileWriterDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 593
    functionName: SnoopFileReaderDevice::SnoopFileReaderDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnoopFileReaderDevice(const std::string& fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapFileReaderDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 598
    functionName: SnoopFileReaderDevice::SnoopFileReaderDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SnoopFileReaderDevice(const PcapFileReaderDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapFileReaderDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 599
    functionName: '& operator=(const PcapFileReaderDevice& other)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SnoopFileReaderDevice
    signature: SnoopFileReaderDevice & operator=(const PcapFileReaderDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 605
    functionName: SnoopFileReaderDevice::getLinkLayerType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinkLayerType
    signature: LinkLayerType getLinkLayerType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: SnoopFileReaderDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    functionUses: 0
    functionsReached:
    - is_open
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 287
    functionName: pcpp::DpdkDevice::DpdkDeviceConfiguration
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DpdkDeviceConfiguration(uint16_t receiveDescriptorsNumber = 128,\n\t\t\t
      \                                uint16_t transmitDescriptorsNumber = 512,\n\t\t\t
      \                                uint16_t flushTxBufferTimeout = 100,\n\t\t\t
      \                                uint64_t rssHashFunction = RSS_DEFAULT,\n\t\t\t
      \                                uint8_t* rssKey = DpdkDevice::m_RSSKey, uint8_t
      rssKeyLength = 40)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: pcpp::DpdkDevice::getDeviceId
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getDeviceId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: pcpp::DpdkDevice::getDeviceName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getDeviceName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: pcpp::DpdkDevice::getMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getMacAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: pcpp::DpdkDevice::getPMDName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getPMDName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: pcpp::DpdkDevice::getPMDType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DpdkPMDType
    signature: DpdkPMDType getPMDType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: pcpp::DpdkDevice::getPciAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getPciAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: pcpp::DpdkDevice::getMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getMtu() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: pcpp::DpdkDevice::getNumOfOpenedRxQueues
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNumOfOpenedRxQueues() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: pcpp::DpdkDevice::getNumOfOpenedTxQueues
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNumOfOpenedTxQueues() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: pcpp::DpdkDevice::getTotalNumOfRxQueues
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getTotalNumOfRxQueues() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: pcpp::DpdkDevice::getTotalNumOfTxQueues
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getTotalNumOfTxQueues() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice::openMultiQueues
      Src: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: pcpp::DpdkDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDevice::openMultiQueues
    linkageType: ''
    returnType: bool
    signature: bool open() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 737
    functionName: pcpp::DpdkDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 749
    functionName: pcpp::DpdkDevice::clear
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 752
    functionName: pcpp::DpdkDevice::DpdkCoreConfiguration
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DpdkCoreConfiguration()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 287
    functionName: pcpp::DpdkDevice::DpdkDeviceConfiguration
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DpdkDeviceConfiguration(uint16_t receiveDescriptorsNumber = 128,\n\t\t\t
      \                                uint16_t transmitDescriptorsNumber = 512,\n\t\t\t
      \                                uint16_t flushTxBufferTimeout = 100,\n\t\t\t
      \                                uint64_t rssHashFunction = RSS_DEFAULT,\n\t\t\t
      \                                uint8_t* rssKey = DpdkDevice::m_RSSKey, uint8_t
      rssKeyLength = 40)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: pcpp::DpdkDevice::getDeviceId
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getDeviceId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: pcpp::DpdkDevice::getDeviceName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getDeviceName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: pcpp::DpdkDevice::getMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getMacAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: pcpp::DpdkDevice::getPMDName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getPMDName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: pcpp::DpdkDevice::getPMDType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DpdkPMDType
    signature: DpdkPMDType getPMDType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: pcpp::DpdkDevice::getPciAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getPciAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: pcpp::DpdkDevice::getMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getMtu() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: pcpp::DpdkDevice::getNumOfOpenedRxQueues
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNumOfOpenedRxQueues() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: pcpp::DpdkDevice::getNumOfOpenedTxQueues
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getNumOfOpenedTxQueues() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: pcpp::DpdkDevice::getTotalNumOfRxQueues
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getTotalNumOfRxQueues() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: pcpp::DpdkDevice::getTotalNumOfTxQueues
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getTotalNumOfTxQueues() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DpdkDevice::openMultiQueues
      Src: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: pcpp::DpdkDevice::open
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached:
    - pcpp::DpdkDevice::openMultiQueues
    linkageType: ''
    returnType: bool
    signature: bool open() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 737
    functionName: pcpp::DpdkDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 749
    functionName: pcpp::DpdkDevice::clear
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 752
    functionName: pcpp::DpdkDevice::DpdkCoreConfiguration
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DpdkCoreConfiguration()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceListBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - devices
    argTypes:
    - PointerVector<T, Deleter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DeviceListBase(PointerVector<T, Deleter> devices)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceListBase(DeviceListBase const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceListBase(DeviceListBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: ~DeviceListBase()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeviceListBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(DeviceListBase const&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceListBase
    signature: DeviceListBase & operator=(DeviceListBase const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(DeviceListBase&&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceListBase
    signature: DeviceListBase & operator=(DeviceListBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::begin
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: pcpp::internal::DeviceListBase::begin
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 1
    functionsReached:
    - pcpp::internal::DeviceListBase::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::begin
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: pcpp::internal::DeviceListBase::begin
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 2
    functionsReached:
    - pcpp::internal::DeviceListBase::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::cbegin
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::internal::DeviceListBase::cbegin
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 1
    functionsReached:
    - pcpp::internal::DeviceListBase::cbegin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::end
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: pcpp::internal::DeviceListBase::end
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 1
    functionsReached:
    - pcpp::internal::DeviceListBase::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::end
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: pcpp::internal::DeviceListBase::end
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 2
    functionsReached:
    - pcpp::internal::DeviceListBase::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::cend
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: pcpp::internal::DeviceListBase::cend
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 1
    functionsReached:
    - pcpp::internal::DeviceListBase::cend
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::empty
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: pcpp::internal::DeviceListBase::empty
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 1
    functionsReached:
    - pcpp::internal::DeviceListBase::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::size
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: pcpp::internal::DeviceListBase::size
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 1
    functionsReached:
    - pcpp::internal::DeviceListBase::size
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceListBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - devices
    argTypes:
    - PointerVector<T, Deleter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DeviceListBase(PointerVector<T, Deleter> devices)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceListBase(DeviceListBase const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceListBase(DeviceListBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: ~DeviceListBase()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeviceListBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(DeviceListBase const&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceListBase
    signature: DeviceListBase & operator=(DeviceListBase const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(DeviceListBase&&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceListBase
    signature: DeviceListBase & operator=(DeviceListBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::begin
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: pcpp::internal::DeviceListBase::begin
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 3
    functionsReached:
    - pcpp::internal::DeviceListBase::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::begin
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: pcpp::internal::DeviceListBase::begin
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 4
    functionsReached:
    - pcpp::internal::DeviceListBase::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::cbegin
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::internal::DeviceListBase::cbegin
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 2
    functionsReached:
    - pcpp::internal::DeviceListBase::cbegin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::end
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: pcpp::internal::DeviceListBase::end
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 3
    functionsReached:
    - pcpp::internal::DeviceListBase::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::end
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: pcpp::internal::DeviceListBase::end
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 4
    functionsReached:
    - pcpp::internal::DeviceListBase::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::cend
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: pcpp::internal::DeviceListBase::cend
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 2
    functionsReached:
    - pcpp::internal::DeviceListBase::cend
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::empty
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: pcpp::internal::DeviceListBase::empty
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 2
    functionsReached:
    - pcpp::internal::DeviceListBase::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::size
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: pcpp::internal::DeviceListBase::size
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 2
    functionsReached:
    - pcpp::internal::DeviceListBase::size
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceListBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - devices
    argTypes:
    - PointerVector<T, Deleter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DeviceListBase(PointerVector<T, Deleter> devices)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceListBase(DeviceListBase const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceListBase(DeviceListBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: ~DeviceListBase()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeviceListBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(DeviceListBase const&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceListBase
    signature: DeviceListBase & operator=(DeviceListBase const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(DeviceListBase&&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceListBase
    signature: DeviceListBase & operator=(DeviceListBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::begin
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: pcpp::internal::DeviceListBase::begin
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 5
    functionsReached:
    - pcpp::internal::DeviceListBase::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::begin
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: pcpp::internal::DeviceListBase::begin
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 6
    functionsReached:
    - pcpp::internal::DeviceListBase::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::cbegin
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::internal::DeviceListBase::cbegin
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 3
    functionsReached:
    - pcpp::internal::DeviceListBase::cbegin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::end
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: pcpp::internal::DeviceListBase::end
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 5
    functionsReached:
    - pcpp::internal::DeviceListBase::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::end
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: pcpp::internal::DeviceListBase::end
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 6
    functionsReached:
    - pcpp::internal::DeviceListBase::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::cend
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: pcpp::internal::DeviceListBase::cend
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 3
    functionsReached:
    - pcpp::internal::DeviceListBase::cend
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::empty
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: pcpp::internal::DeviceListBase::empty
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 3
    functionsReached:
    - pcpp::internal::DeviceListBase::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::size
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: pcpp::internal::DeviceListBase::size
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 3
    functionsReached:
    - pcpp::internal::DeviceListBase::size
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceListBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - devices
    argTypes:
    - PointerVector<T, Deleter>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DeviceListBase(PointerVector<T, Deleter> devices)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 17
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceListBase(DeviceListBase const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: pcpp::internal::DeviceListBase::DeviceListBase
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceListBase(DeviceListBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: ~DeviceListBase()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeviceListBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: '& operator=(DeviceListBase const&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceListBase
    signature: DeviceListBase & operator=(DeviceListBase const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: '& operator=(DeviceListBase&&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DeviceListBase
    signature: DeviceListBase & operator=(DeviceListBase&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::begin
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: pcpp::internal::DeviceListBase::begin
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 7
    functionsReached:
    - pcpp::internal::DeviceListBase::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::begin
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: pcpp::internal::DeviceListBase::begin
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 8
    functionsReached:
    - pcpp::internal::DeviceListBase::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::cbegin
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: pcpp::internal::DeviceListBase::cbegin
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 4
    functionsReached:
    - pcpp::internal::DeviceListBase::cbegin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::end
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: pcpp::internal::DeviceListBase::end
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 7
    functionsReached:
    - pcpp::internal::DeviceListBase::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::end
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: pcpp::internal::DeviceListBase::end
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 8
    functionsReached:
    - pcpp::internal::DeviceListBase::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::cend
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: pcpp::internal::DeviceListBase::cend
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 4
    functionsReached:
    - pcpp::internal::DeviceListBase::cend
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::empty
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: pcpp::internal::DeviceListBase::empty
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 4
    functionsReached:
    - pcpp::internal::DeviceListBase::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::DeviceListBase::size
      Src: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: pcpp::internal::DeviceListBase::size
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
    functionUses: 4
    functionsReached:
    - pcpp::internal::DeviceListBase::size
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle(const PcapHandle&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(const PcapHandle&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapHandle
    signature: PcapHandle & operator=(const PcapHandle&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::internal::PcapHandle::isValid
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: pcpp::internal::PcapHandle::get
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcap_t
    signature: pcap_t * get() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: operator bool() const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: operator==(std::nullptr_t) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool operator==(std::nullptr_t) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: operator!=(std::nullptr_t) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool operator!=(std::nullptr_t) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle(const PcapHandle&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(const PcapHandle&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapHandle
    signature: PcapHandle & operator=(const PcapHandle&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::internal::PcapHandle::isValid
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: pcpp::internal::PcapHandle::get
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcap_t
    signature: pcap_t * get() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: operator bool() const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: operator==(std::nullptr_t) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool operator==(std::nullptr_t) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: operator!=(std::nullptr_t) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool operator!=(std::nullptr_t) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeviceInterfaceDetails
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pInterface
    - calculateMTU
    - calculateMacAddress
    - calculateDefaultGateway
    argTypes:
    - pcap_if_t*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: pcpp::PcapLiveDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - DeviceInterfaceDetails
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice(pcap_if_t* pInterface, bool calculateMTU, bool
      calculateMacAddress, bool calculateDefaultGateway)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 356
    functionName: pcpp::DeviceConfiguration
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DeviceConfiguration(DeviceMode mode = Promiscuous, int packetBufferTimeoutMs
      = 0,\n\t\t\t                             int packetBufferSize = 0, PcapDirection
      direction = PCPP_INOUT,\n\t\t\t                             int snapshotLength
      = 0, unsigned int nflogGroup = 0, bool usePoll = false,\n\t\t\t                             TimestampProvider
      timestampProvider = TimestampProvider::Host,\n\t\t\t                             TimestampPrecision
      timestampPrecision = TimestampPrecision::Microseconds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapLiveDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: pcpp::PcapLiveDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice(const PcapLiveDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapLiveDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: '& operator=(const PcapLiveDevice& other)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice & operator=(const PcapLiveDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: pcpp::getDeviceType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LiveDeviceType
    signature: LiveDeviceType getDeviceType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: pcpp::getName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: pcpp::getDesc
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getDesc() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: pcpp::getLoopback
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getLoopback() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: pcpp::getMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getMtu() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: pcpp::getLinkType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinkLayerType
    signature: LinkLayerType getLinkType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: pcpp::getIPAddresses
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<IPAddress>
    signature: std::vector<IPAddress> getIPAddresses() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: pcpp::getMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getMacAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - packet
    argTypes:
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: pcpp::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 1
    functionsReached:
    - pcpp::sendPacket
    linkageType: ''
    returnType: bool
    signature: bool sendPacket(Packet* packet, bool checkMtu = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 705
    functionName: pcpp::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::sendPacketUnchecked
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:792,1
    - Dst: pcpp::getRawData
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:792,1
    - Dst: pcpp::getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 793
    functionName: pcpp::sendPacketUnchecked
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 1
    functionsReached:
    - pcpp::getRawDataLen
    - pcpp::getRawData
    - pcpp::sendPacketUnchecked
    linkageType: ''
    returnType: bool
    signature: bool sendPacketUnchecked(RawPacket const& rawPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle(const PcapHandle&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(const PcapHandle&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapHandle
    signature: PcapHandle & operator=(const PcapHandle&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::internal::PcapHandle::isValid
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: pcpp::internal::PcapHandle::get
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcap_t
    signature: pcap_t * get() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: operator bool() const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: operator==(std::nullptr_t) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool operator==(std::nullptr_t) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: operator!=(std::nullptr_t) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool operator!=(std::nullptr_t) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: pcpp::internal::PcapHandle::PcapHandle
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapHandle(const PcapHandle&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(const PcapHandle&)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapHandle
    signature: PcapHandle & operator=(const PcapHandle&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: pcpp::internal::PcapHandle::isValid
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValid() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: pcpp::internal::PcapHandle::get
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pcap_t
    signature: pcap_t * get() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: operator bool() const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: void
    signature: void operator bool() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: operator==(std::nullptr_t) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool operator==(std::nullptr_t) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isValid
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: operator!=(std::nullptr_t) const noexcept
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - isValid
    linkageType: ''
    returnType: bool
    signature: bool operator!=(std::nullptr_t) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeviceInterfaceDetails
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pInterface
    - calculateMTU
    - calculateMacAddress
    - calculateDefaultGateway
    argTypes:
    - pcap_if_t*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: pcpp::PcapLiveDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached:
    - DeviceInterfaceDetails
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice(pcap_if_t* pInterface, bool calculateMTU, bool
      calculateMacAddress, bool calculateDefaultGateway)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 356
    functionName: pcpp::DeviceConfiguration
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DeviceConfiguration(DeviceMode mode = Promiscuous, int packetBufferTimeoutMs
      = 0,\n\t\t\t                             int packetBufferSize = 0, PcapDirection
      direction = PCPP_INOUT,\n\t\t\t                             int snapshotLength
      = 0, unsigned int nflogGroup = 0, bool usePoll = false,\n\t\t\t                             TimestampProvider
      timestampProvider = TimestampProvider::Host,\n\t\t\t                             TimestampPrecision
      timestampPrecision = TimestampPrecision::Microseconds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapLiveDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: pcpp::PcapLiveDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PcapLiveDevice(const PcapLiveDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PcapLiveDevice
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: '& operator=(const PcapLiveDevice& other)'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PcapLiveDevice
    signature: PcapLiveDevice & operator=(const PcapLiveDevice& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: pcpp::getDeviceType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LiveDeviceType
    signature: LiveDeviceType getDeviceType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: pcpp::getName
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: pcpp::getDesc
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getDesc() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: pcpp::getLoopback
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool getLoopback() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: pcpp::getMtu
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getMtu() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: pcpp::getLinkType
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LinkLayerType
    signature: LinkLayerType getLinkType() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: pcpp::getIPAddresses
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<IPAddress>
    signature: std::vector<IPAddress> getIPAddresses() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: pcpp::getMacAddress
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MacAddress
    signature: MacAddress getMacAddress() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::sendPacket
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - packet
    argTypes:
    - Packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: pcpp::sendPacket
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 2
    functionsReached:
    - pcpp::sendPacket
    linkageType: ''
    returnType: bool
    signature: bool sendPacket(Packet* packet, bool checkMtu = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 705
    functionName: pcpp::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::sendPacketUnchecked
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:792,1
    - Dst: pcpp::getRawData
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:792,1
    - Dst: pcpp::getRawDataLen
      Src: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 793
    functionName: pcpp::sendPacketUnchecked
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    functionUses: 2
    functionsReached:
    - pcpp::getRawDataLen
    - pcpp::getRawData
    - pcpp::sendPacketUnchecked
    linkageType: ''
    returnType: bool
    signature: bool sendPacketUnchecked(RawPacket const& rawPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: pcpp::RawSocketDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/RawSocketDevice.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: pcpp::RawSocketDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/RawSocketDevice.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: pcpp::XdpDevice::XdpDeviceConfiguration
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XdpDeviceConfiguration(AttachMode attachMode = AutoMode, uint16_t
      umemNumFrames = 0,\n\t\t\t                                uint16_t umemFrameSize
      = 0, uint32_t fillRingSize = 0,\n\t\t\t                                uint32_t
      completionRingSize = 0, uint32_t rxSize = 0, uint32_t txSize = 0,\n\t\t\t                                uint16_t
      rxTxBatchSize = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: pcpp::XdpDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: pcpp::XdpDevice::getConfig
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: XdpDeviceConfiguration
    signature: XdpDeviceConfiguration * getConfig() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: pcpp::XdpDevice::XdpUmem::getFrameSize
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getFrameSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pcpp::XdpDevice::XdpUmem::getFrameCount
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getFrameCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: pcpp::XdpDevice::XdpUmem::getFreeFrameCount
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t getFreeFrameCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: pcpp::XdpDevice::XdpUmem::getInfo
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * getInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: pcpp::XdpDevice::XdpDeviceConfiguration
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void XdpDeviceConfiguration(AttachMode attachMode = AutoMode, uint16_t
      umemNumFrames = 0,\n\t\t\t                                uint16_t umemFrameSize
      = 0, uint32_t fillRingSize = 0,\n\t\t\t                                uint32_t
      completionRingSize = 0, uint32_t rxSize = 0, uint32_t txSize = 0,\n\t\t\t                                uint16_t
      rxTxBatchSize = 0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: pcpp::XdpDevice::isOpened
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isOpened() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: pcpp::XdpDevice::getConfig
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: XdpDeviceConfiguration
    signature: XdpDeviceConfiguration * getConfig() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: pcpp::XdpDevice::XdpUmem::getFrameSize
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getFrameSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: pcpp::XdpDevice::XdpUmem::getFrameCount
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t getFrameCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: pcpp::XdpDevice::XdpUmem::getFreeFrameCount
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t getFreeFrameCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: pcpp::XdpDevice::XdpUmem::getInfo
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * getInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: pcpp::KniDeviceList::isInitialized
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDeviceList.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: pcpp::KniDeviceList::isInitialized
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/KniDeviceList.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: '& getInstance()'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/NetworkUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetworkUtils
    signature: NetworkUtils & getInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: pcpp::NetworkUtils::NetworkUtils
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/NetworkUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkUtils()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: '& getInstance()'
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/NetworkUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NetworkUtils
    signature: NetworkUtils & getInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: pcpp::NetworkUtils::NetworkUtils
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/NetworkUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NetworkUtils()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pcpp::IDevice::IDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/Device.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~IDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/Device.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: pcpp::IFilterableDevice::IFilterableDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/Device.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IFilterableDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ~IFilterableDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/Device.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IFilterableDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseToString
      Src: /src/PcapPlusPlus/Pcap++/header/Device.h:59,1
    - Dst: doUpdateFilter
      Src: /src/PcapPlusPlus/Pcap++/header/Device.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - GeneralFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: pcpp::IFilterableDevice::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/Device.h
    functionUses: 0
    functionsReached:
    - parseToString
    - doUpdateFilter
    linkageType: ''
    returnType: bool
    signature: bool setFilter(GeneralFilter& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doUpdateFilter
      Src: /src/PcapPlusPlus/Pcap++/header/Device.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filterAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pcpp::IFilterableDevice::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/Device.h
    functionUses: 0
    functionsReached:
    - doUpdateFilter
    linkageType: ''
    returnType: bool
    signature: bool setFilter(std::string const& filterAsString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doUpdateFilter
      Src: /src/PcapPlusPlus/Pcap++/header/Device.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: pcpp::IFilterableDevice::clearFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/Device.h
    functionUses: 0
    functionsReached:
    - doUpdateFilter
    linkageType: ''
    returnType: bool
    signature: bool clearFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: pcpp::IDevice::IDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/Device.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~IDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/Device.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: pcpp::IFilterableDevice::IFilterableDevice
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/Device.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IFilterableDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: ~IFilterableDevice()
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/Device.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IFilterableDevice()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseToString
      Src: /src/PcapPlusPlus/Pcap++/header/Device.h:59,1
    - Dst: doUpdateFilter
      Src: /src/PcapPlusPlus/Pcap++/header/Device.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter'
    argTypes:
    - GeneralFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: pcpp::IFilterableDevice::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/Device.h
    functionUses: 0
    functionsReached:
    - parseToString
    - doUpdateFilter
    linkageType: ''
    returnType: bool
    signature: bool setFilter(GeneralFilter& filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doUpdateFilter
      Src: /src/PcapPlusPlus/Pcap++/header/Device.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' filterAsString'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: pcpp::IFilterableDevice::setFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/Device.h
    functionUses: 0
    functionsReached:
    - doUpdateFilter
    linkageType: ''
    returnType: bool
    signature: bool setFilter(std::string const& filterAsString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doUpdateFilter
      Src: /src/PcapPlusPlus/Pcap++/header/Device.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: pcpp::IFilterableDevice::clearFilter
    functionSourceFile: /src/PcapPlusPlus/Pcap++/header/Device.h
    functionUses: 0
    functionsReached:
    - doUpdateFilter
    linkageType: ''
    returnType: bool
    signature: bool clearFilter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: pcpp_tests::utils::getOsPathSeparator
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getOsPathSeparator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:23,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:24,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: pcpp_tests::utils::getFileLength
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - seekg
    - tellg
    linkageType: ''
    returnType: size_t
    signature: size_t getFileLength(std::ifstream& stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::getFileLength
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:35,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:38,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:41,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:44,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::stoul
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: pcpp_tests::utils::readHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::vector::emplace_back
    - std::istreambuf_iterator<char>
    - std::runtime_error
    - std::stoul
    - std::string::size
    - pcpp_tests::utils::getFileLength
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> readHexResource(std::ifstream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: pcpp_tests::utils::getOsPathSeparator
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getOsPathSeparator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:23,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:24,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: pcpp_tests::utils::getFileLength
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - seekg
    - tellg
    linkageType: ''
    returnType: size_t
    signature: size_t getFileLength(std::ifstream& stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::getFileLength
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:35,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:38,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:41,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:44,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::stoul
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: pcpp_tests::utils::readHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::vector::emplace_back
    - std::istreambuf_iterator<char>
    - std::runtime_error
    - std::stoul
    - std::string::size
    - pcpp_tests::utils::getFileLength
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> readHexResource(std::ifstream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - dataRoot
    - frozen
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: pcpp_tests::utils::ResourceProvider::ResourceProvider
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ResourceProvider::ResourceProvider(std::string dataRoot, bool
      frozen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::ResourceProvider::loadResourceToVector
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:62,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:65,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:66,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:66,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    - Dst: Resource::data::get
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - filename
    - resourceType
    argTypes:
    - char*
    - ResourceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: pcpp_tests::utils::ResourceProvider::loadResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - auto::begin
    - auto::end
    - auto::size
    - pcpp_tests::utils::ResourceProvider::loadResourceToVector
    - Resource::data::get
    - std::copy
    linkageType: ''
    returnType: Resource
    signature: Resource ResourceProvider::loadResource(const char* filename, ResourceType
      resourceType) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:75,1
    - Dst: getOsPathSeparator
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:77,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:87,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:87,1
    - Dst: requireOpen
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:97,1
    - Dst: readHexResource
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:99,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - filename
    - resourceType
    argTypes:
    - char*
    - ResourceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: pcpp_tests::utils::ResourceProvider::loadResourceToVector
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 1
    functionsReached:
    - std::invalid_argument
    - readHexResource
    - empty
    - string
    - requireOpen
    - std::runtime_error
    - getOsPathSeparator
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> ResourceProvider::loadResourceToVector(const
      char* filename,\n\t\t                                                            ResourceType
      resourceType) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:111,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:116,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:120,1
    - Dst: getOsPathSeparator
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:122,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:132,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:132,1
    - Dst: requireOpen
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:141,1
    - Dst: std::ofstream::width
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:145,1
    - Dst: std::ofstream::fill
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:146,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:147,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:152,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - resourceType
    - filename
    - data
    - length
    argTypes:
    - ResourceType
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 154
    functionName: pcpp_tests::utils::ResourceProvider::saveResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<int>
    - empty
    - string
    - requireOpen
    - std::runtime_error
    - getOsPathSeparator
    - std::ofstream::width
    - std::ofstream::fill
    linkageType: ''
    returnType: void
    signature: "void ResourceProvider::saveResource(ResourceType resourceType, const
      char* filename, const uint8_t* data,\n\t\t                                    size_t
      length) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: pcpp_tests::utils::getOsPathSeparator
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getOsPathSeparator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:23,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:24,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: pcpp_tests::utils::getFileLength
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - seekg
    - tellg
    linkageType: ''
    returnType: size_t
    signature: size_t getFileLength(std::ifstream& stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::getFileLength
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:35,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:38,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:41,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:44,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::stoul
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: pcpp_tests::utils::readHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::vector::emplace_back
    - std::istreambuf_iterator<char>
    - std::runtime_error
    - std::stoul
    - std::string::size
    - pcpp_tests::utils::getFileLength
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> readHexResource(std::ifstream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: pcpp_tests::utils::getOsPathSeparator
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getOsPathSeparator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:23,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:24,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: pcpp_tests::utils::getFileLength
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    - seekg
    - tellg
    linkageType: ''
    returnType: size_t
    signature: size_t getFileLength(std::ifstream& stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::getFileLength
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:35,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:38,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:41,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:44,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::stoul
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: pcpp_tests::utils::readHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::vector::emplace_back
    - std::istreambuf_iterator<char>
    - std::runtime_error
    - std::stoul
    - std::string::size
    - pcpp_tests::utils::getFileLength
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> readHexResource(std::ifstream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - dataRoot
    - frozen
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: pcpp_tests::utils::ResourceProvider::ResourceProvider
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ResourceProvider::ResourceProvider(std::string dataRoot, bool
      frozen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::ResourceProvider::loadResourceToVector
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:62,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:65,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:66,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:66,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    - Dst: Resource::data::get
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - filename
    - resourceType
    argTypes:
    - char*
    - ResourceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: pcpp_tests::utils::ResourceProvider::loadResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - auto::begin
    - auto::end
    - auto::size
    - pcpp_tests::utils::ResourceProvider::loadResourceToVector
    - Resource::data::get
    - std::copy
    linkageType: ''
    returnType: Resource
    signature: Resource ResourceProvider::loadResource(const char* filename, ResourceType
      resourceType) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:75,1
    - Dst: getOsPathSeparator
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:77,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:87,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:87,1
    - Dst: requireOpen
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:97,1
    - Dst: readHexResource
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:99,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - filename
    - resourceType
    argTypes:
    - char*
    - ResourceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: pcpp_tests::utils::ResourceProvider::loadResourceToVector
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 2
    functionsReached:
    - std::invalid_argument
    - readHexResource
    - empty
    - string
    - requireOpen
    - std::runtime_error
    - getOsPathSeparator
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> ResourceProvider::loadResourceToVector(const
      char* filename,\n\t\t                                                            ResourceType
      resourceType) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:111,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:116,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:120,1
    - Dst: getOsPathSeparator
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:122,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:132,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:132,1
    - Dst: requireOpen
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:141,1
    - Dst: std::ofstream::width
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:145,1
    - Dst: std::ofstream::fill
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:146,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:147,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:152,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - resourceType
    - filename
    - data
    - length
    argTypes:
    - ResourceType
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 154
    functionName: pcpp_tests::utils::ResourceProvider::saveResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<int>
    - empty
    - string
    - requireOpen
    - std::runtime_error
    - getOsPathSeparator
    - std::ofstream::width
    - std::ofstream::fill
    linkageType: ''
    returnType: void
    signature: "void ResourceProvider::saveResource(ResourceType resourceType, const
      char* filename, const uint8_t* data,\n\t\t                                    size_t
      length) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resourceProvider
    argTypes:
    - utils::ResourceProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: pcpp_tests::setDefaultResourceProvider
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDefaultResourceProvider(utils::ResourceProvider* resourceProvider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: pcpp_tests::getDefaultResourceProvider
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: utils::ResourceProvider
    signature: utils::ResourceProvider * getDefaultResourceProvider()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::getDefaultResourceProvider
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:180,1
    - Dst: utils::ResourceProvider*::loadResourceToVector
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - filename
    - resourceProvider
    argTypes:
    - char*
    - utils::ResourceProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: pcpp_tests::loadHexResourceToVector
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - pcpp_tests::getDefaultResourceProvider
    - utils::ResourceProvider*::loadResourceToVector
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> loadHexResourceToVector(const char* filename,
      utils::ResourceProvider* resourceProvider)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: pcpp_tests::utils::getOsPathSeparator
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getOsPathSeparator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:23,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:24,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: pcpp_tests::utils::getFileLength
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 4
    functionsReached:
    - static_cast<size_t>
    - seekg
    - tellg
    linkageType: ''
    returnType: size_t
    signature: size_t getFileLength(std::ifstream& stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::getFileLength
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:35,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:38,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:41,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:44,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::stoul
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: pcpp_tests::utils::readHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::vector::emplace_back
    - std::istreambuf_iterator<char>
    - std::runtime_error
    - std::stoul
    - std::string::size
    - pcpp_tests::utils::getFileLength
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> readHexResource(std::ifstream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: pcpp_tests::utils::getOsPathSeparator
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getOsPathSeparator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:23,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:24,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: pcpp_tests::utils::getFileLength
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 5
    functionsReached:
    - static_cast<size_t>
    - seekg
    - tellg
    linkageType: ''
    returnType: size_t
    signature: size_t getFileLength(std::ifstream& stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::getFileLength
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:35,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:38,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:41,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:44,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::stoul
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: pcpp_tests::utils::readHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::vector::emplace_back
    - std::istreambuf_iterator<char>
    - std::runtime_error
    - std::stoul
    - std::string::size
    - pcpp_tests::utils::getFileLength
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> readHexResource(std::ifstream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - dataRoot
    - frozen
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: pcpp_tests::utils::ResourceProvider::ResourceProvider
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ResourceProvider::ResourceProvider(std::string dataRoot, bool
      frozen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::ResourceProvider::loadResourceToVector
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:62,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:65,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:66,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:66,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    - Dst: Resource::data::get
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - filename
    - resourceType
    argTypes:
    - char*
    - ResourceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: pcpp_tests::utils::ResourceProvider::loadResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - auto::begin
    - auto::end
    - auto::size
    - pcpp_tests::utils::ResourceProvider::loadResourceToVector
    - Resource::data::get
    - std::copy
    linkageType: ''
    returnType: Resource
    signature: Resource ResourceProvider::loadResource(const char* filename, ResourceType
      resourceType) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:75,1
    - Dst: getOsPathSeparator
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:77,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:87,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:87,1
    - Dst: requireOpen
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:97,1
    - Dst: readHexResource
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:99,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - filename
    - resourceType
    argTypes:
    - char*
    - ResourceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: pcpp_tests::utils::ResourceProvider::loadResourceToVector
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 3
    functionsReached:
    - std::invalid_argument
    - readHexResource
    - empty
    - string
    - requireOpen
    - std::runtime_error
    - getOsPathSeparator
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> ResourceProvider::loadResourceToVector(const
      char* filename,\n\t\t                                                            ResourceType
      resourceType) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:111,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:116,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:120,1
    - Dst: getOsPathSeparator
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:122,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:132,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:132,1
    - Dst: requireOpen
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:141,1
    - Dst: std::ofstream::width
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:145,1
    - Dst: std::ofstream::fill
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:146,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:147,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:152,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - resourceType
    - filename
    - data
    - length
    argTypes:
    - ResourceType
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 154
    functionName: pcpp_tests::utils::ResourceProvider::saveResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<int>
    - empty
    - string
    - requireOpen
    - std::runtime_error
    - getOsPathSeparator
    - std::ofstream::width
    - std::ofstream::fill
    linkageType: ''
    returnType: void
    signature: "void ResourceProvider::saveResource(ResourceType resourceType, const
      char* filename, const uint8_t* data,\n\t\t                                    size_t
      length) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: pcpp_tests::utils::getOsPathSeparator
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getOsPathSeparator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:23,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:24,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: pcpp_tests::utils::getFileLength
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 6
    functionsReached:
    - static_cast<size_t>
    - seekg
    - tellg
    linkageType: ''
    returnType: size_t
    signature: size_t getFileLength(std::ifstream& stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::getFileLength
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:35,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:38,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:41,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:44,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::stoul
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: pcpp_tests::utils::readHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::vector::emplace_back
    - std::istreambuf_iterator<char>
    - std::runtime_error
    - std::stoul
    - std::string::size
    - pcpp_tests::utils::getFileLength
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> readHexResource(std::ifstream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: pcpp_tests::utils::getOsPathSeparator
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char getOsPathSeparator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:23,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:24,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: tellg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:25,1
    - Dst: seekg
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: pcpp_tests::utils::getFileLength
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 7
    functionsReached:
    - static_cast<size_t>
    - seekg
    - tellg
    linkageType: ''
    returnType: size_t
    signature: size_t getFileLength(std::ifstream& stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::getFileLength
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:32,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:35,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:38,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:41,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:44,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::stoul
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::ifstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: pcpp_tests::utils::readHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::vector::emplace_back
    - std::istreambuf_iterator<char>
    - std::runtime_error
    - std::stoul
    - std::string::size
    - pcpp_tests::utils::getFileLength
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> readHexResource(std::ifstream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - dataRoot
    - frozen
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: pcpp_tests::utils::ResourceProvider::ResourceProvider
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ResourceProvider::ResourceProvider(std::string dataRoot, bool
      frozen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::ResourceProvider::loadResourceToVector
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:62,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:65,1
    - Dst: std::make_unique<uint8_t[]>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:66,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:66,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    - Dst: Resource::data::get
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - filename
    - resourceType
    argTypes:
    - char*
    - ResourceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: pcpp_tests::utils::ResourceProvider::loadResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::make_unique<uint8_t[]>
    - auto::begin
    - auto::end
    - auto::size
    - pcpp_tests::utils::ResourceProvider::loadResourceToVector
    - Resource::data::get
    - std::copy
    linkageType: ''
    returnType: Resource
    signature: Resource ResourceProvider::loadResource(const char* filename, ResourceType
      resourceType) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:75,1
    - Dst: getOsPathSeparator
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:77,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:87,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:87,1
    - Dst: requireOpen
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:97,1
    - Dst: readHexResource
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:99,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - filename
    - resourceType
    argTypes:
    - char*
    - ResourceType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: pcpp_tests::utils::ResourceProvider::loadResourceToVector
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 4
    functionsReached:
    - std::invalid_argument
    - readHexResource
    - empty
    - string
    - requireOpen
    - std::runtime_error
    - getOsPathSeparator
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> ResourceProvider::loadResourceToVector(const
      char* filename,\n\t\t                                                            ResourceType
      resourceType) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:111,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:116,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:120,1
    - Dst: getOsPathSeparator
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:122,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:132,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:132,1
    - Dst: requireOpen
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:141,1
    - Dst: std::ofstream::width
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:145,1
    - Dst: std::ofstream::fill
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:146,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:147,1
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:152,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - resourceType
    - filename
    - data
    - length
    argTypes:
    - ResourceType
    - char*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 154
    functionName: pcpp_tests::utils::ResourceProvider::saveResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    - static_cast<int>
    - empty
    - string
    - requireOpen
    - std::runtime_error
    - getOsPathSeparator
    - std::ofstream::width
    - std::ofstream::fill
    linkageType: ''
    returnType: void
    signature: "void ResourceProvider::saveResource(ResourceType resourceType, const
      char* filename, const uint8_t* data,\n\t\t                                    size_t
      length) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resourceProvider
    argTypes:
    - utils::ResourceProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: pcpp_tests::setDefaultResourceProvider
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDefaultResourceProvider(utils::ResourceProvider* resourceProvider)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: pcpp_tests::getDefaultResourceProvider
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 1
    functionsReached:
    - std::runtime_error
    linkageType: ''
    returnType: utils::ResourceProvider
    signature: utils::ResourceProvider * getDefaultResourceProvider()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::getDefaultResourceProvider
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:180,1
    - Dst: utils::ResourceProvider*::loadResourceToVector
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - filename
    - resourceProvider
    argTypes:
    - char*
    - utils::ResourceProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: pcpp_tests::loadHexResourceToVector
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
    functionUses: 0
    functionsReached:
    - pcpp_tests::getDefaultResourceProvider
    - utils::ResourceProvider*::loadResourceToVector
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> loadHexResourceToVector(const char* filename,
      utils::ResourceProvider* resourceProvider)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:18,1
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::toTimespec
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - time
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory(timespec time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - time
    argTypes:
    - timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::toTimespec
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory(timeval time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - linkType
    argTypes:
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory(LinkLayerType linkType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:39,1
    - Dst: std::make_unique<RawPacket>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:42,1
    - Dst: std::unique_ptr<uint8_t[]>::release
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:42,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - bufferLen
    argTypes:
    - std::unique_ptr<uint8_t[]>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: pcpp_tests::utils::PacketFactory::createFromBuffer
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::unique_ptr<uint8_t[]>::release
    - std::invalid_argument
    - std::make_unique<RawPacket>
    linkageType: ''
    returnType: std::unique_ptr<RawPacket>
    signature: "std::unique_ptr<RawPacket> PacketFactory::createFromBuffer(std::unique_ptr<uint8_t[]>
      buffer,\n\t\t                                                           size_t
      bufferLen) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:48,1
    - Dst: data
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:48,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buffer'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 1
    functionsReached:
    - pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
    - data
    - size
    linkageType: ''
    returnType: std::unique_ptr<RawPacket>
    signature: std::unique_ptr<RawPacket> PacketFactory::createFromBufferNonOwning(std::vector<uint8_t>
      const& buffer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:56,1
    - Dst: std::make_unique<RawPacket>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:59,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - bufferLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - std::invalid_argument
    - std::make_unique<RawPacket>
    linkageType: ''
    returnType: std::unique_ptr<RawPacket>
    signature: "std::unique_ptr<RawPacket> PacketFactory::createFromBufferNonOwning(const
      uint8_t* buffer,\n\t\t                                                                    size_t
      bufferLen) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDefaultResourceProvider
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:69,1
    - Dst: ResourceProvider*::loadResource
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:72,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:72,1
    - Dst: createFromBuffer
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:73,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' resourceName'
    - ' factory'
    - resourceProvider
    argTypes:
    - std::string
    - PacketFactory
    - ResourceProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: pcpp_tests::utils::createPacketFromHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - ResourceProvider*::loadResource
    - c_str
    - getDefaultResourceProvider
    - createFromBuffer
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<pcpp::RawPacket>
    signature: "std::unique_ptr<pcpp::RawPacket> createPacketFromHexResource(const
      std::string& resourceName,\n\t\t                                                             const
      PacketFactory& factory,\n\t\t                                                             ResourceProvider
      const* resourceProvider)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDefaultResourceProvider
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:82,1
    - Dst: ResourceProvider*::loadResource
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:87,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:87,1
    - Dst: createFromBufferNonOwning
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:89,1
    - Dst: PacketAndBuffer::resourceBuffer::data::get
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' resourceName'
    - ' factory'
    - resourceProvider
    argTypes:
    - std::string
    - PacketFactory
    - ResourceProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: pcpp_tests::utils::createPacketAndBufferFromHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - ResourceProvider*::loadResource
    - createFromBufferNonOwning
    - getDefaultResourceProvider
    - PacketAndBuffer::resourceBuffer::data::get
    - c_str
    linkageType: ''
    returnType: PacketAndBuffer
    signature: "PacketAndBuffer createPacketAndBufferFromHexResource(const std::string&
      resourceName,\n\t\t                                                     const
      PacketFactory& factory,\n\t\t                                                     ResourceProvider
      const* resourceProvider)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:18,1
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::toTimespec
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - time
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory(timespec time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - time
    argTypes:
    - timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::toTimespec
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory(timeval time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - linkType
    argTypes:
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory(LinkLayerType linkType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:39,1
    - Dst: std::make_unique<RawPacket>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:42,1
    - Dst: std::unique_ptr<uint8_t[]>::release
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:42,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - bufferLen
    argTypes:
    - std::unique_ptr<uint8_t[]>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: pcpp_tests::utils::PacketFactory::createFromBuffer
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::unique_ptr<uint8_t[]>::release
    - std::invalid_argument
    - std::make_unique<RawPacket>
    linkageType: ''
    returnType: std::unique_ptr<RawPacket>
    signature: "std::unique_ptr<RawPacket> PacketFactory::createFromBuffer(std::unique_ptr<uint8_t[]>
      buffer,\n\t\t                                                           size_t
      bufferLen) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:48,1
    - Dst: data
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:48,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buffer'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 2
    functionsReached:
    - pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
    - data
    - size
    linkageType: ''
    returnType: std::unique_ptr<RawPacket>
    signature: std::unique_ptr<RawPacket> PacketFactory::createFromBufferNonOwning(std::vector<uint8_t>
      const& buffer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:56,1
    - Dst: std::make_unique<RawPacket>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:59,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - bufferLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - std::invalid_argument
    - std::make_unique<RawPacket>
    linkageType: ''
    returnType: std::unique_ptr<RawPacket>
    signature: "std::unique_ptr<RawPacket> PacketFactory::createFromBufferNonOwning(const
      uint8_t* buffer,\n\t\t                                                                    size_t
      bufferLen) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDefaultResourceProvider
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:69,1
    - Dst: ResourceProvider*::loadResource
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:72,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:72,1
    - Dst: createFromBuffer
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:73,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' resourceName'
    - ' factory'
    - resourceProvider
    argTypes:
    - std::string
    - PacketFactory
    - ResourceProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: pcpp_tests::utils::createPacketFromHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - ResourceProvider*::loadResource
    - c_str
    - getDefaultResourceProvider
    - createFromBuffer
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<pcpp::RawPacket>
    signature: "std::unique_ptr<pcpp::RawPacket> createPacketFromHexResource(const
      std::string& resourceName,\n\t\t                                                             const
      PacketFactory& factory,\n\t\t                                                             ResourceProvider
      const* resourceProvider)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDefaultResourceProvider
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:82,1
    - Dst: ResourceProvider*::loadResource
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:87,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:87,1
    - Dst: createFromBufferNonOwning
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:89,1
    - Dst: PacketAndBuffer::resourceBuffer::data::get
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' resourceName'
    - ' factory'
    - resourceProvider
    argTypes:
    - std::string
    - PacketFactory
    - ResourceProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: pcpp_tests::utils::createPacketAndBufferFromHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - ResourceProvider*::loadResource
    - createFromBufferNonOwning
    - getDefaultResourceProvider
    - PacketAndBuffer::resourceBuffer::data::get
    - c_str
    linkageType: ''
    returnType: PacketAndBuffer
    signature: "PacketAndBuffer createPacketAndBufferFromHexResource(const std::string&
      resourceName,\n\t\t                                                     const
      PacketFactory& factory,\n\t\t                                                     ResourceProvider
      const* resourceProvider)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:18,1
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::toTimespec
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - time
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory(timespec time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - time
    argTypes:
    - timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::toTimespec
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory(timeval time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - linkType
    argTypes:
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory(LinkLayerType linkType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:39,1
    - Dst: std::make_unique<RawPacket>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:42,1
    - Dst: std::unique_ptr<uint8_t[]>::release
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:42,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - bufferLen
    argTypes:
    - std::unique_ptr<uint8_t[]>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: pcpp_tests::utils::PacketFactory::createFromBuffer
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::unique_ptr<uint8_t[]>::release
    - std::invalid_argument
    - std::make_unique<RawPacket>
    linkageType: ''
    returnType: std::unique_ptr<RawPacket>
    signature: "std::unique_ptr<RawPacket> PacketFactory::createFromBuffer(std::unique_ptr<uint8_t[]>
      buffer,\n\t\t                                                           size_t
      bufferLen) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:48,1
    - Dst: data
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:48,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buffer'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 3
    functionsReached:
    - pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
    - data
    - size
    linkageType: ''
    returnType: std::unique_ptr<RawPacket>
    signature: std::unique_ptr<RawPacket> PacketFactory::createFromBufferNonOwning(std::vector<uint8_t>
      const& buffer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:56,1
    - Dst: std::make_unique<RawPacket>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:59,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - bufferLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - std::invalid_argument
    - std::make_unique<RawPacket>
    linkageType: ''
    returnType: std::unique_ptr<RawPacket>
    signature: "std::unique_ptr<RawPacket> PacketFactory::createFromBufferNonOwning(const
      uint8_t* buffer,\n\t\t                                                                    size_t
      bufferLen) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDefaultResourceProvider
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:69,1
    - Dst: ResourceProvider*::loadResource
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:72,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:72,1
    - Dst: createFromBuffer
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:73,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' resourceName'
    - ' factory'
    - resourceProvider
    argTypes:
    - std::string
    - PacketFactory
    - ResourceProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: pcpp_tests::utils::createPacketFromHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - ResourceProvider*::loadResource
    - c_str
    - getDefaultResourceProvider
    - createFromBuffer
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<pcpp::RawPacket>
    signature: "std::unique_ptr<pcpp::RawPacket> createPacketFromHexResource(const
      std::string& resourceName,\n\t\t                                                             const
      PacketFactory& factory,\n\t\t                                                             ResourceProvider
      const* resourceProvider)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDefaultResourceProvider
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:82,1
    - Dst: ResourceProvider*::loadResource
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:87,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:87,1
    - Dst: createFromBufferNonOwning
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:89,1
    - Dst: PacketAndBuffer::resourceBuffer::data::get
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' resourceName'
    - ' factory'
    - resourceProvider
    argTypes:
    - std::string
    - PacketFactory
    - ResourceProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: pcpp_tests::utils::createPacketAndBufferFromHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - ResourceProvider*::loadResource
    - createFromBufferNonOwning
    - getDefaultResourceProvider
    - PacketAndBuffer::resourceBuffer::data::get
    - c_str
    linkageType: ''
    returnType: PacketAndBuffer
    signature: "PacketAndBuffer createPacketAndBufferFromHexResource(const std::string&
      resourceName,\n\t\t                                                     const
      PacketFactory& factory,\n\t\t                                                     ResourceProvider
      const* resourceProvider)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:18,1
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::toTimespec
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - time
    argTypes:
    - timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory(timespec time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::toTimespec
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - time
    argTypes:
    - timeval
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - pcpp::internal::toTimespec
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory(timeval time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - linkType
    argTypes:
    - LinkLayerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: pcpp_tests::utils::PacketFactory::PacketFactory
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PacketFactory::PacketFactory(LinkLayerType linkType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:39,1
    - Dst: std::make_unique<RawPacket>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:42,1
    - Dst: std::unique_ptr<uint8_t[]>::release
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:42,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - bufferLen
    argTypes:
    - std::unique_ptr<uint8_t[]>
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: pcpp_tests::utils::PacketFactory::createFromBuffer
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::unique_ptr<uint8_t[]>::release
    - std::invalid_argument
    - std::make_unique<RawPacket>
    linkageType: ''
    returnType: std::unique_ptr<RawPacket>
    signature: "std::unique_ptr<RawPacket> PacketFactory::createFromBuffer(std::unique_ptr<uint8_t[]>
      buffer,\n\t\t                                                           size_t
      bufferLen) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:48,1
    - Dst: data
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:48,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' buffer'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 4
    functionsReached:
    - pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
    - data
    - size
    linkageType: ''
    returnType: std::unique_ptr<RawPacket>
    signature: std::unique_ptr<RawPacket> PacketFactory::createFromBufferNonOwning(std::vector<uint8_t>
      const& buffer) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:56,1
    - Dst: std::make_unique<RawPacket>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:59,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - bufferLen
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - std::invalid_argument
    - std::make_unique<RawPacket>
    linkageType: ''
    returnType: std::unique_ptr<RawPacket>
    signature: "std::unique_ptr<RawPacket> PacketFactory::createFromBufferNonOwning(const
      uint8_t* buffer,\n\t\t                                                                    size_t
      bufferLen) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDefaultResourceProvider
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:69,1
    - Dst: ResourceProvider*::loadResource
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:72,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:72,1
    - Dst: createFromBuffer
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:73,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' resourceName'
    - ' factory'
    - resourceProvider
    argTypes:
    - std::string
    - PacketFactory
    - ResourceProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: pcpp_tests::utils::createPacketFromHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - ResourceProvider*::loadResource
    - c_str
    - getDefaultResourceProvider
    - createFromBuffer
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<pcpp::RawPacket>
    signature: "std::unique_ptr<pcpp::RawPacket> createPacketFromHexResource(const
      std::string& resourceName,\n\t\t                                                             const
      PacketFactory& factory,\n\t\t                                                             ResourceProvider
      const* resourceProvider)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDefaultResourceProvider
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:82,1
    - Dst: ResourceProvider*::loadResource
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:87,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:87,1
    - Dst: createFromBufferNonOwning
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:89,1
    - Dst: PacketAndBuffer::resourceBuffer::data::get
      Src: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' resourceName'
    - ' factory'
    - resourceProvider
    argTypes:
    - std::string
    - PacketFactory
    - ResourceProvider*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: pcpp_tests::utils::createPacketAndBufferFromHexResource
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
    functionUses: 0
    functionsReached:
    - ResourceProvider*::loadResource
    - createFromBufferNonOwning
    - getDefaultResourceProvider
    - PacketAndBuffer::resourceBuffer::data::get
    - c_str
    linkageType: ''
    returnType: PacketAndBuffer
    signature: "PacketAndBuffer createPacketAndBufferFromHexResource(const std::string&
      resourceName,\n\t\t                                                     const
      PacketFactory& factory,\n\t\t                                                     ResourceProvider
      const* resourceProvider)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:43,1
    - Dst: PTF_SHOW_SKIPPED_TESTS
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:62,1
    - Dst: PTF_SET_VERBOSE_MODE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:65,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:68,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:69,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:71,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:72,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:76,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:77,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:78,1
    - Dst: std::make_unique<pcpp_tests::utils::ResourceProvider>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:83,1
    - Dst: pcpp_tests::setDefaultResourceProvider
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:84,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:84,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:96,1
    - Dst: PTF_START_RUNNING_TESTS
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:117,1
    - Dst: pcpp_tests::testSetUp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:119,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:121,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:122,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:123,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:124,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:125,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:126,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:127,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:129,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:130,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:131,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:132,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:134,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:135,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:136,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:137,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:138,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:139,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:140,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:142,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:143,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:144,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:146,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:147,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:148,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:149,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:150,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:151,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:152,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:153,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:154,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:156,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:157,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:158,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:160,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:161,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:162,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:163,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:164,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:165,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:166,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:167,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:168,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:169,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:170,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:171,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:172,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:173,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:174,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:175,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:176,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:178,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:179,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:180,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:181,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:182,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:183,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:184,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:185,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:186,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:187,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:189,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:190,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:191,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:192,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:194,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:195,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:196,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:197,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:198,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:199,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:200,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:201,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:203,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:204,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:205,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:206,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:207,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:208,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:209,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:210,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:211,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:212,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:213,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:214,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:215,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:216,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:217,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:218,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:219,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:220,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:221,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:222,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:223,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:224,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:225,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:226,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:227,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:228,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:229,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:230,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:231,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:232,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:233,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:234,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:235,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:236,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:238,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:239,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:240,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:242,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:243,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:244,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:246,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:247,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:248,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:249,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:250,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:251,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:252,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:253,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:254,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:255,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:256,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:257,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:258,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:259,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:260,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:261,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:262,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:263,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:265,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:266,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:268,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:270,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:271,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:272,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:274,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:276,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:277,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:278,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:280,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:281,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:282,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:283,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:284,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:286,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:287,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:288,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:289,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:290,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:291,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:292,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:293,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:294,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:295,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:296,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:297,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:298,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:299,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:301,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:302,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:303,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:305,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:306,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:307,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:308,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:309,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:310,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:312,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:313,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:314,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:315,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:317,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:318,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:320,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:322,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:323,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:324,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:326,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:327,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:328,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:329,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:331,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:332,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:333,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:334,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:336,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:338,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:339,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:340,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:342,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:343,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:344,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:346,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:347,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:349,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:350,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:351,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:352,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:353,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:354,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:355,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:356,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:357,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:358,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:359,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:360,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:362,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:363,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:364,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:365,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:366,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:367,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:369,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:370,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:372,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:373,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:374,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:376,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:377,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:379,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:381,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:382,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:384,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:385,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:386,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:388,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:389,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:390,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:392,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:393,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:395,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:396,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:397,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:398,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:399,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:400,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:402,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:403,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:404,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:406,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:407,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:408,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:410,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:411,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:412,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:413,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:415,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:416,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:418,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:419,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:421,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:422,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:424,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:425,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:426,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:428,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:429,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp:430,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 311
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 433
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp
    functionUses: 0
    functionsReached:
    - exit
    - std::make_unique<pcpp_tests::utils::ResourceProvider>
    - PTF_START_RUNNING_TESTS
    - PTF_RUN_TEST
    - PTF_SET_VERBOSE_MODE
    - printUsage
    - auto::get
    - pcpp::getPcapPlusPlusVersionFull
    - getopt_long
    - pcpp_tests::setDefaultResourceProvider
    - PTF_SHOW_SKIPPED_TESTS
    - pcpp_tests::testSetUp
    - pcpp::getBuildDateTime
    - pcpp::getGitInfo
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:16,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:17,1
    - Dst: std::ifstream::close
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: pcpp_tests::getFileLength
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::close
    - std::ifstream::seekg
    - std::ifstream::tellg
    linkageType: ''
    returnType: int
    signature: int getFileLength(const char* filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:32,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: pcpp_tests::hexCharToDigit
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - std::invalid_argument
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t hexCharToDigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::hexCharToDigit
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:37,1
    - Dst: pcpp_tests::hexCharToDigit
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pair
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: pcpp_tests::hexPairToByte
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - pcpp_tests::hexCharToDigit
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t hexPairToByte(const char* pair)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:32,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: pcpp_tests::hexCharToDigit
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 1
    functionsReached:
    - std::invalid_argument
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t hexCharToDigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::hexCharToDigit
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:37,1
    - Dst: pcpp_tests::hexCharToDigit
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pair
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: pcpp_tests::hexPairToByte
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - pcpp_tests::hexCharToDigit
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t hexPairToByte(const char* pair)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::getFileLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:43,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:45,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:45,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:49,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:49,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:53,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:55,1
    - Dst: pcpp_tests::hexPairToByte
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: pcpp_tests::readFileIntoBuffer
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - string
    - pcpp_tests::hexPairToByte
    - std::vector::push_back
    - pcpp_tests::getFileLength
    - std::runtime_error
    - std::ifstream::read
    linkageType: ''
    returnType: std::vector<std::uint8_t>
    signature: std::vector<std::uint8_t> readFileIntoBuffer(const char* filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::getFileLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:62,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:71,1
    - Dst: std::ifstream::eof
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:73,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:76,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:77,1
    - Dst: strtol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:78,1
    - Dst: std::ifstream::close
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - filename
    - ' bufferLength'
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 84
    functionName: pcpp_tests::readFileIntoBuffer
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::close
    - pcpp_tests::getFileLength
    - strtol
    - std::ifstream::read
    - memset
    - uint8_t::uint8_t
    - std::ifstream::eof
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * readFileIntoBuffer(const char* filename, int& bufferLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:91,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:91,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:105,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - buffer1
    - buffer1Len
    - buffer2
    - buffer2Len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: pcpp_tests::printBufferDifferences
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - std::setfill
    - std::setw
    linkageType: ''
    returnType: void
    signature: void printBufferDifferences(const uint8_t* buffer1, size_t buffer1Len,
      const uint8_t* buffer2, size_t buffer2Len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::addSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:116,1
    - Dst: pcpp::SomeIpLayer::removeSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: pcpp_tests::testSetUp
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SomeIpLayer::addSomeIpPort
    - pcpp::SomeIpLayer::removeSomeIpPort
    linkageType: ''
    returnType: void
    signature: void testSetUp()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_open_dead
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:126,1
    - Dst: pcap_dump_open
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:130,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:130,1
    - Dst: pcap_perror
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:133,1
    - Dst: getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:141,1
    - Dst: pcap_dump
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:143,1
    - Dst: static_cast<u_char*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:143,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:143,1
    - Dst: pcap_dump_close
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' packet'
    - ' fileName'
    argTypes:
    - pcpp::Packet
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: pcpp_tests::savePacketToPcap
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - pcap_dump
    - pcap_dump_open
    - pcap_perror
    - pcap_dump_close
    - static_cast<u_char*>
    - getRawPacketReadOnly
    - pcap_open_dead
    - getRawPacket
    - c_str
    linkageType: ''
    returnType: void
    signature: void savePacketToPcap(pcpp::Packet& packet, const std::string& fileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:16,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:17,1
    - Dst: std::ifstream::close
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: pcpp_tests::getFileLength
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 2
    functionsReached:
    - std::ifstream::close
    - std::ifstream::seekg
    - std::ifstream::tellg
    linkageType: ''
    returnType: int
    signature: int getFileLength(const char* filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:32,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: pcpp_tests::hexCharToDigit
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 2
    functionsReached:
    - std::invalid_argument
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t hexCharToDigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::hexCharToDigit
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:37,1
    - Dst: pcpp_tests::hexCharToDigit
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pair
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: pcpp_tests::hexPairToByte
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 1
    functionsReached:
    - pcpp_tests::hexCharToDigit
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t hexPairToByte(const char* pair)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::invalid_argument
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:32,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: pcpp_tests::hexCharToDigit
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 3
    functionsReached:
    - std::invalid_argument
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t hexCharToDigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::hexCharToDigit
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:37,1
    - Dst: pcpp_tests::hexCharToDigit
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pair
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: pcpp_tests::hexPairToByte
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 1
    functionsReached:
    - pcpp_tests::hexCharToDigit
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t hexPairToByte(const char* pair)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::getFileLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:43,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:45,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:45,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:49,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:49,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:53,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:55,1
    - Dst: pcpp_tests::hexPairToByte
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: pcpp_tests::readFileIntoBuffer
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - string
    - pcpp_tests::hexPairToByte
    - std::vector::push_back
    - pcpp_tests::getFileLength
    - std::runtime_error
    - std::ifstream::read
    linkageType: ''
    returnType: std::vector<std::uint8_t>
    signature: std::vector<std::uint8_t> readFileIntoBuffer(const char* filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::getFileLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:62,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:71,1
    - Dst: std::ifstream::eof
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:73,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:76,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:77,1
    - Dst: strtol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:78,1
    - Dst: std::ifstream::close
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - filename
    - ' bufferLength'
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 84
    functionName: pcpp_tests::readFileIntoBuffer
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::close
    - pcpp_tests::getFileLength
    - strtol
    - std::ifstream::read
    - memset
    - uint8_t::uint8_t
    - std::ifstream::eof
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * readFileIntoBuffer(const char* filename, int& bufferLength)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:91,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:91,1
    - Dst: std::setfill
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:105,1
    - Dst: std::setw
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - buffer1
    - buffer1Len
    - buffer2
    - buffer2Len
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 112
    functionName: pcpp_tests::printBufferDifferences
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - std::setfill
    - std::setw
    linkageType: ''
    returnType: void
    signature: void printBufferDifferences(const uint8_t* buffer1, size_t buffer1Len,
      const uint8_t* buffer2, size_t buffer2Len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::addSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:116,1
    - Dst: pcpp::SomeIpLayer::removeSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: pcpp_tests::testSetUp
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SomeIpLayer::addSomeIpPort
    - pcpp::SomeIpLayer::removeSomeIpPort
    linkageType: ''
    returnType: void
    signature: void testSetUp()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcap_open_dead
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:126,1
    - Dst: pcap_dump_open
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:130,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:130,1
    - Dst: pcap_perror
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:133,1
    - Dst: getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:141,1
    - Dst: pcap_dump
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:143,1
    - Dst: static_cast<u_char*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:143,1
    - Dst: getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:143,1
    - Dst: pcap_dump_close
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ' packet'
    - ' fileName'
    argTypes:
    - pcpp::Packet
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: pcpp_tests::savePacketToPcap
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - pcap_dump
    - pcap_dump_open
    - pcap_perror
    - pcap_dump_close
    - static_cast<u_char*>
    - getRawPacketReadOnly
    - pcap_open_dead
    - getRawPacket
    - c_str
    linkageType: ''
    returnType: void
    signature: void savePacketToPcap(pcpp::Packet& packet, const std::string& fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.h:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: SuppressLogs::SuppressLogs
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.h
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void SuppressLogs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: ~SuppressLogs()
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.h
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void ~SuppressLogs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:19,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:21,1
    - Dst: pcpp::VrrpLayer::getVersionFromData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:21,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:23,1
    - Dst: pcpp::VrrpLayer::getVersionFromData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:23,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:25,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:26,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:27,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:29,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:30,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:31,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:33,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:33,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:34,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:34,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:35,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:35,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:37,1
    - Dst: auto::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:38,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:39,1
    - Dst: auto::getVirtualRouterID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:40,1
    - Dst: auto::getPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:41,1
    - Dst: auto::getPriorityAsEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:42,1
    - Dst: auto::getAddressType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:43,1
    - Dst: auto::getAuthType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:44,1
    - Dst: auto::getAuthTypeAsEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:44,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:45,1
    - Dst: auto::getAdvInt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:45,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:46,1
    - Dst: auto::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:46,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:47,1
    - Dst: auto::isChecksumCorrect
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:48,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:48,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:49,1
    - Dst: auto::getIPAddressesCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:49,1
    - Dst: auto::getIPAddresses
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:50,1
    - Dst: pcpp::VrrpLayer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:51,1
    - Dst: pcpp::VrrpLayer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:52,1
    - Dst: pcpp::VrrpLayer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:53,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:54,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:56,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:56,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:57,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:57,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:58,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:58,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:59,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:60,1
    - Dst: auto::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:60,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:61,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:61,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:62,1
    - Dst: auto::getVirtualRouterID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:62,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:63,1
    - Dst: auto::getPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:63,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:64,1
    - Dst: auto::getPriorityAsEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:64,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:65,1
    - Dst: auto::getAddressType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:65,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:66,1
    - Dst: auto::getMaxAdvInt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:66,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:67,1
    - Dst: auto::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:67,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:68,1
    - Dst: auto::isChecksumCorrect
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:68,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:69,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:70,1
    - Dst: auto::getIPAddressesCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:70,1
    - Dst: auto::getIPAddresses
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:71,1
    - Dst: pcpp::VrrpLayer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:72,1
    - Dst: pcpp::VrrpLayer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:72,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:73,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:75,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:75,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:76,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:76,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:77,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:77,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:78,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:79,1
    - Dst: auto::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:79,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:80,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:80,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:81,1
    - Dst: auto::getVirtualRouterID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:81,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:82,1
    - Dst: auto::getPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:83,1
    - Dst: auto::getPriorityAsEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:83,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:84,1
    - Dst: auto::getAddressType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:84,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:85,1
    - Dst: auto::getIPAddressesCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:85,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:86,1
    - Dst: auto::getMaxAdvInt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:87,1
    - Dst: auto::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:87,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:88,1
    - Dst: auto::isChecksumCorrect
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:89,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:89,1
    - Dst: auto::getIPAddresses
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:90,1
    - Dst: pcpp::VrrpLayer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:91,1
    - Dst: pcpp::VrrpLayer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:91,1
    - Dst: pcpp::VrrpLayer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:92,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:93,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:113,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:114,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:115,1
    - Dst: auto::getIPAddresses
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 117
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::getVersion
    - pcpp::VrrpLayer::addIPAddress
    - auto::getIPAddresses
    - auto::getAddressType
    - pcpp::VrrpLayer::getVersionFromData
    - auto::get
    - PTF_ASSERT_TRUE
    - auto::getVirtualRouterID
    - auto::getMaxAdvInt
    - auto::getAuthType
    - auto::isChecksumCorrect
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - createPacketFromHexResource
    - auto::getPriority
    - auto::getIPAddressesCount
    - auto::toString
    - auto::getAuthTypeAsEnum
    - auto::getChecksum
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - auto::getAdvInt
    - auto::getType
    - auto::getPriorityAsEnum
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(VrrpParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:121,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:122,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:123,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:134,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:134,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:135,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:135,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:136,1
    - Dst: pcpp::VrrpV2Layer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:141,1
    - Dst: pcpp::VrrpV2Layer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:142,1
    - Dst: pcpp::VrrpV2Layer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:143,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:145,1
    - Dst: pcpp::VrrpV2Layer::getIPAddresses
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:145,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:147,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:147,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:148,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:148,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:149,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:149,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:151,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:153,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:153,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:153,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:154,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:154,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:154,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:154,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:156,1
    - Dst: pcpp::VrrpV2Layer::removeAllIPAddresses
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:156,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:157,1
    - Dst: pcpp::VrrpV2Layer::getIPAddressesCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:157,1
    - Dst: pcpp::VrrpV2Layer::getIPAddresses
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:158,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:159,1
    - Dst: auto::empty
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:159,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:161,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:162,1
    - Dst: pcpp::VrrpV2Layer::removeIPAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:162,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:165,1
    - Dst: pcpp::VrrpV2Layer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:165,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:166,1
    - Dst: pcpp::VrrpV2Layer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:166,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:167,1
    - Dst: pcpp::VrrpV2Layer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:167,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:170,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:171,1
    - Dst: pcpp::VrrpV2Layer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:171,1
    - Dst: pcpp::VrrpV2Layer::removeIPAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:174,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:175,1
    - Dst: pcpp::VrrpV2Layer::getIPAddressesCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:175,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:176,1
    - Dst: pcpp::VrrpV2Layer::isChecksumCorrect
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:176,1
    - Dst: pcpp::VrrpV2Layer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:178,1
    - Dst: pcpp::VrrpV2Layer::getIPAddresses
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:180,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:186,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:188,1
    - Dst: pcpp::VrrpV2Layer::addIPAddresses
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:188,1
    - Dst: std::vector<pcpp::IPAddress>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:188,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:192,1
    - Dst: pcpp::VrrpV2Layer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:192,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:195,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:196,1
    - Dst: pcpp::VrrpV2Layer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:196,1
    - Dst: pcpp::VrrpV2Layer::setAuthType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:199,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:200,1
    - Dst: pcpp::VrrpV2Layer::getAuthTypeAsEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:200,1
    - Dst: pcpp::VrrpV2Layer::setAuthType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:201,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:202,1
    - Dst: pcpp::VrrpV2Layer::getAuthTypeAsEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:202,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:205,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:205,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:206,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:206,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:207,1
    - Dst: pcpp::VrrpV3Layer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:212,1
    - Dst: pcpp::VrrpV3Layer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:213,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:214,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:214,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:215,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:215,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:216,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:216,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:218,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:220,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:220,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:220,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:221,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:221,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:221,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:221,1
    - Dst: pcpp::VrrpV3Layer::setPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:223,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:224,1
    - Dst: pcpp::VrrpV3Layer::getPriorityAsEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:224,1
    - Dst: pcpp::VrrpV3Layer::setPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:225,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:226,1
    - Dst: pcpp::VrrpV3Layer::getPriorityAsEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:226,1
    - Dst: pcpp::VrrpV3Layer::setPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:227,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:228,1
    - Dst: pcpp::VrrpV3Layer::getPriorityAsEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:228,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:230,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:231,1
    - Dst: pcpp::VrrpV3Layer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:231,1
    - Dst: pcpp::VrrpV3Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:234,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:235,1
    - Dst: pcpp::VrrpV3Layer::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:235,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:237,1
    - Dst: pcpp::VrrpV3Layer::setMaxAdvInt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:237,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:241,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:241,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:242,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:242,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:243,1
    - Dst: auto::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:248,1
    - Dst: auto::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:249,1
    - Dst: auto::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:250,1
    - Dst: auto::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:251,1
    - Dst: pcpp::VrrpV3Layer::addIPAddresses
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:252,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:253,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:253,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:254,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:254,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:255,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:255,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:258,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:258,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:258,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:259,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:259,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:259,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 261
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - pcpp::VrrpV2Layer::addIPAddress
    - pcpp::VrrpV3Layer::setMaxAdvInt
    - auto::clear
    - pcpp::VrrpV3Layer::addIPAddresses
    - pcpp::VrrpV2Layer::setAuthType
    - std::vector<pcpp::IPAddress>
    - pcpp::VrrpV3Layer::addIPAddress
    - pcpp::Packet::addLayer
    - SuppressLogs::SuppressLogs
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::VrrpV2Layer::getAuthTypeAsEnum
    - pcpp::VrrpV2Layer::getIPAddresses
    - PTF_ASSERT_TRUE
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - pcpp::VrrpV3Layer::getPriorityAsEnum
    - PTF_ASSERT_EQUAL
    - pcpp::VrrpV2Layer::getIPAddressesCount
    - pcpp::VrrpV3Layer::getType
    - auto::size
    - pcpp::VrrpV2Layer::removeIPAddressAtIndex
    - pcpp::VrrpV2Layer::removeAllIPAddresses
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - auto::push_back
    - pcpp::VrrpV2Layer::isChecksumCorrect
    - auto::empty
    - pcpp::IPv6Layer::getIPv6Header
    - PTF_ASSERT_RAISES
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::VrrpV3Layer::getData
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp_tests::loadHexResourceToVector
    - pcpp::VrrpV2Layer::addIPAddresses
    - pcpp::VrrpV3Layer::setPriority
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(VrrpCreateAndEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:18,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:21,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:22,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:23,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:25,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:26,1
    - Dst: auto*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:26,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:27,1
    - Dst: auto*::getCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:28,1
    - Dst: auto*::getCommandString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:29,1
    - Dst: auto*::getCommandOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:30,1
    - Dst: auto*::getCommandOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:31,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:31,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:32,1
    - Dst: auto*::isMultiLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:32,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:35,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:36,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:37,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:40,1
    - Dst: auto*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:41,1
    - Dst: auto*::getStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:42,1
    - Dst: auto*::getStatusCodeString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:43,1
    - Dst: auto*::getStatusOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:44,1
    - Dst: auto*::getStatusOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:44,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:45,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:45,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:46,1
    - Dst: auto*::isMultiLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:46,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:49,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:50,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:51,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:53,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:54,1
    - Dst: auto*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:54,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:55,1
    - Dst: auto*::getStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:55,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:56,1
    - Dst: auto*::getStatusCodeString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:56,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:57,1
    - Dst: auto*::getStatusOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:57,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:60,1
    - Dst: auto*::getStatusOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:60,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:63,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:63,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:64,1
    - Dst: auto*::isMultiLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:64,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:67,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:68,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:69,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:71,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:72,1
    - Dst: auto*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:72,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:73,1
    - Dst: auto*::getStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:73,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:74,1
    - Dst: auto*::getStatusCodeString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:74,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:75,1
    - Dst: auto*::getStatusOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:75,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:76,1
    - Dst: auto*::getStatusOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:76,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:77,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:77,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:78,1
    - Dst: auto*::isMultiLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:78,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:81,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:82,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:83,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:85,1
    - Dst: auto*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:85,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:86,1
    - Dst: auto*::getCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:87,1
    - Dst: auto*::getCommandString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:87,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:88,1
    - Dst: auto*::getCommandOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:89,1
    - Dst: auto*::getCommandOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:89,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:90,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:90,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:91,1
    - Dst: auto*::isMultiLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:91,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:93,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:94,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:95,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:97,1
    - Dst: auto*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:97,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:98,1
    - Dst: auto*::getCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:98,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:99,1
    - Dst: auto*::getCommandString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:99,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:100,1
    - Dst: auto*::getCommandOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:100,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:101,1
    - Dst: auto*::getCommandOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:101,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:102,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:102,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:103,1
    - Dst: auto*::isMultiLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:103,1
    - Dst: static_cast<pcpp::SmtpRequestLayer::SmtpCommand>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:107,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:137,1
    - Dst: pcpp::SmtpRequestLayer::getCommandInfo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:137,1
    - Dst: static_cast<pcpp::SmtpResponseLayer::SmtpStatusCode>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:190,1
    - Dst: pcpp::SmtpResponseLayer::getStatusCodeAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 192
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<pcpp::SmtpRequestLayer::SmtpCommand>
    - auto*::getStatusOption
    - auto*::getCommandString
    - static_cast<pcpp::SmtpResponseLayer::SmtpStatusCode>
    - auto::get
    - auto*::isMultiLine
    - PTF_ASSERT_TRUE
    - auto*::getCommand
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - pcpp::SmtpResponseLayer::getStatusCodeAsString
    - auto*::toString
    - createPacketFromHexResource
    - auto*::getCommandOption
    - auto*::getHeaderLen
    - pcpp::SmtpRequestLayer::getCommandInfo
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - auto*::getStatusCode
    - auto*::getStatusCodeString
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SmtpParsingTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:197,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:201,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:203,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:204,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:205,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:209,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:210,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:210,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:211,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:211,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:212,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:212,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:213,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:213,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:215,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:215,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:216,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:216,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:216,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:219,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:223,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:225,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:226,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:227,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:234,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:235,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:235,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:236,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:236,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:237,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:237,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:238,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:238,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:240,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:240,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:241,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:241,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 242
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - data::get
    - PTF_ASSERT_BUF_COMPARE
    - createPacketAndBufferFromHexResource
    - get
    - PTF_ASSERT_TRUE
    - pcpp::Packet::Packet
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SmtpCreationTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:247,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:250,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:251,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:253,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:254,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:256,1
    - Dst: auto*::setCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:257,1
    - Dst: auto*::setCommandOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:258,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:259,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:261,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:262,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:262,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:262,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:263,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:263,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:263,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:264,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:267,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:268,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:270,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:271,1
    - Dst: auto*::setStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:272,1
    - Dst: auto*::setStatusOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:273,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:274,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:276,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:277,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:279,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:279,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:279,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:280,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:280,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:280,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 282
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - auto*::setStatusCode
    - PTF_ASSERT_EQUAL
    - auto*::setCommandOption
    - auto::get
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - auto*::setStatusOption
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    - createPacketFromHexResource
    - auto*::setCommand
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SmtpEditTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:18,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:20,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:21,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:24,1
    - Dst: pcpp::FtpRequestLayer*::getCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:24,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:25,1
    - Dst: pcpp::FtpRequestLayer*::getCommandString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:25,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:26,1
    - Dst: pcpp::FtpRequestLayer*::getCommandOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:26,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:27,1
    - Dst: pcpp::FtpRequestLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:27,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:28,1
    - Dst: pcpp::FtpRequestLayer*::isMultiLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:28,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:30,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:32,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:33,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:36,1
    - Dst: pcpp::FtpResponseLayer*::getStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:37,1
    - Dst: pcpp::FtpResponseLayer*::getStatusCodeString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:38,1
    - Dst: pcpp::FtpResponseLayer*::getStatusOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:39,1
    - Dst: pcpp::FtpResponseLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:39,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:40,1
    - Dst: pcpp::FtpResponseLayer*::isMultiLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:40,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:42,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:44,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:45,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:48,1
    - Dst: pcpp::FtpResponseLayer*::getStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:48,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:49,1
    - Dst: pcpp::FtpResponseLayer*::getStatusCodeString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:49,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:50,1
    - Dst: pcpp::FtpResponseLayer*::getStatusOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:50,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:51,1
    - Dst: pcpp::FtpResponseLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:51,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:52,1
    - Dst: pcpp::FtpResponseLayer*::isMultiLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:52,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:55,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:57,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:58,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:60,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:61,1
    - Dst: pcpp::FtpRequestLayer*::getCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:61,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:62,1
    - Dst: pcpp::FtpRequestLayer*::getCommandString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:62,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:63,1
    - Dst: pcpp::FtpRequestLayer*::getCommandOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:63,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:64,1
    - Dst: pcpp::FtpRequestLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:64,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:65,1
    - Dst: pcpp::FtpRequestLayer*::isMultiLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:65,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:67,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:69,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:70,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:72,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:73,1
    - Dst: pcpp::FtpResponseLayer*::getStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:73,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:75,1
    - Dst: pcpp::FtpResponseLayer*::getStatusCodeString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:75,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:76,1
    - Dst: pcpp::FtpResponseLayer*::getStatusOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:76,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:77,1
    - Dst: pcpp::FtpResponseLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:77,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:78,1
    - Dst: pcpp::FtpResponseLayer*::isMultiLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:78,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:81,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:83,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:84,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:88,1
    - Dst: pcpp::FtpDataLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:89,1
    - Dst: pcpp::FtpDataLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:89,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:92,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:94,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:95,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:97,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:98,1
    - Dst: pcpp::FtpRequestLayer*::getCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:98,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:99,1
    - Dst: pcpp::FtpRequestLayer*::getCommandString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:99,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:100,1
    - Dst: pcpp::FtpRequestLayer*::getCommandOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:100,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:101,1
    - Dst: pcpp::FtpRequestLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:101,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:102,1
    - Dst: pcpp::FtpRequestLayer*::isMultiLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:102,1
    - Dst: static_cast<pcpp::FtpRequestLayer::FtpCommand>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:107,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:183,1
    - Dst: pcpp::FtpRequestLayer::getCommandInfo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:183,1
    - Dst: static_cast<pcpp::FtpResponseLayer::FtpStatusCode>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:189,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:252,1
    - Dst: pcpp::FtpResponseLayer::getStatusCodeAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 254
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<pcpp::FtpRequestLayer::FtpCommand>
    - pcpp::FtpRequestLayer*::isMultiLine
    - static_cast<pcpp::FtpResponseLayer::FtpStatusCode>
    - auto::get
    - PTF_ASSERT_TRUE
    - pcpp::FtpRequestLayer*::getCommandString
    - pcpp::FtpDataLayer*::getDataLen
    - PTF_ASSERT_EQUAL
    - pcpp::FtpDataLayer*::toString
    - pcpp::Packet::getLayerOfType
    - pcpp::FtpResponseLayer*::isMultiLine
    - pcpp::FtpResponseLayer*::getStatusOption
    - pcpp::FtpRequestLayer*::getCommandOption
    - pcpp::FtpResponseLayer*::getStatusCode
    - createPacketFromHexResource
    - pcpp::FtpResponseLayer*::getStatusCodeString
    - pcpp::FtpResponseLayer*::toString
    - pcpp::FtpRequestLayer::getCommandInfo
    - pcpp::FtpResponseLayer::getStatusCodeAsString
    - pcpp::FtpRequestLayer*::toString
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::FtpRequestLayer*::getCommand
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(FtpParsingTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:259,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:263,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:265,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:266,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:267,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:271,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:272,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:272,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:273,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:273,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:274,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:274,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:275,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:275,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:277,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:277,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:278,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:278,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:278,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:280,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:284,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:286,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:287,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:288,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:294,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:295,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:295,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:296,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:296,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:297,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:297,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:298,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:298,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:300,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:300,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:301,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:301,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 302
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - data::get
    - PTF_ASSERT_BUF_COMPARE
    - createPacketAndBufferFromHexResource
    - get
    - PTF_ASSERT_TRUE
    - pcpp::Packet::Packet
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(FtpCreationTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:307,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:308,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:309,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:310,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:312,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:313,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:314,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:315,1
    - Dst: pcpp::FtpRequestLayer*::setCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:317,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:318,1
    - Dst: pcpp::FtpRequestLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:318,1
    - Dst: pcpp::FtpRequestLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:318,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:319,1
    - Dst: pcpp::FtpRequestLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:319,1
    - Dst: pcpp::FtpRequestLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:319,1
    - Dst: pcpp::FtpRequestLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:319,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:321,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:322,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:323,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:324,1
    - Dst: pcpp::FtpRequestLayer*::setCommandOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:326,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:327,1
    - Dst: pcpp::FtpRequestLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:327,1
    - Dst: pcpp::FtpRequestLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:327,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:328,1
    - Dst: pcpp::FtpRequestLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:328,1
    - Dst: pcpp::FtpRequestLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:328,1
    - Dst: pcpp::FtpRequestLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:328,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:331,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:332,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:333,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:334,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:336,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:337,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:338,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:339,1
    - Dst: pcpp::FtpResponseLayer*::setStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:341,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:342,1
    - Dst: pcpp::FtpResponseLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:342,1
    - Dst: pcpp::FtpResponseLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:342,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:343,1
    - Dst: pcpp::FtpResponseLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:343,1
    - Dst: pcpp::FtpResponseLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:343,1
    - Dst: pcpp::FtpResponseLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:343,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:345,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:346,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:347,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:348,1
    - Dst: pcpp::FtpResponseLayer*::setStatusOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:350,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:351,1
    - Dst: pcpp::FtpResponseLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:351,1
    - Dst: pcpp::FtpResponseLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:351,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:352,1
    - Dst: pcpp::FtpResponseLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:352,1
    - Dst: pcpp::FtpResponseLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:352,1
    - Dst: pcpp::FtpResponseLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 353
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::FtpRequestLayer*::getDataLen
    - pcpp::FtpResponseLayer*::getDataLen
    - PTF_ASSERT_EQUAL
    - pcpp::FtpResponseLayer*::setStatusCode
    - pcpp::Packet::getLayerOfType
    - auto::get
    - PTF_ASSERT_NOT_NULL
    - pcpp::FtpRequestLayer*::setCommandOption
    - PTF_ASSERT_BUF_COMPARE
    - createPacketFromHexResource
    - pcpp::FtpRequestLayer*::setCommand
    - pcpp::FtpResponseLayer*::setStatusOption
    - pcpp::FtpRequestLayer*::getData
    - pcpp::FtpResponseLayer*::getData
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(FtpEditTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:13,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:15,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:16,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:17,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:18,1
    - Dst: pcpp::DhcpV6Layer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:18,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:19,1
    - Dst: pcpp::DhcpV6Layer*::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:19,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:20,1
    - Dst: pcpp::DhcpV6Layer*::getTransactionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:20,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:21,1
    - Dst: pcpp::DhcpV6Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:21,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:22,1
    - Dst: pcpp::DhcpV6Layer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:22,1
    - Dst: pcpp::DhcpV6Layer*::getFirstOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:37,1
    - Dst: pcpp::DhcpV6Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:38,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:40,1
    - Dst: pcpp::DhcpV6Option::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:41,1
    - Dst: pcpp::DhcpV6Option::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:42,1
    - Dst: pcpp::DhcpV6Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:43,1
    - Dst: pcpp::DhcpV6Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:44,1
    - Dst: pcpp::DhcpV6Option::getValueAsHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:44,1
    - Dst: pcpp::DhcpV6Layer*::getNextOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 47
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer*::toString
    - pcpp::DhcpV6Option::getDataSize
    - pcpp::DhcpV6Layer*::getMessageTypeAsString
    - PTF_ASSERT_EQUAL
    - pcpp::DhcpV6Option::isNotNull
    - pcpp::Packet::getLayerOfType
    - auto::get
    - PTF_ASSERT_NOT_NULL
    - pcpp::DhcpV6Layer*::getFirstOptionData
    - pcpp::DhcpV6Layer*::getOptionCount
    - pcpp::DhcpV6Option::getType
    - pcpp::DhcpV6Layer*::getMessageType
    - pcpp::DhcpV6Layer*::getTransactionID
    - PTF_ASSERT_TRUE
    - pcpp::DhcpV6Option::getValueAsHexString
    - createPacketFromHexResource
    - pcpp::DhcpV6Layer*::getNextOptionData
    - pcpp::DhcpV6Option::getTotalSize
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DhcpV6ParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:58,1
    - Dst: pcpp::DhcpV6Layer::getTransactionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:58,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:60,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:60,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:61,1
    - Dst: dynamic_cast<pcpp::DhcpV6Layer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:62,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:62,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:63,1
    - Dst: pcpp::DhcpV6Layer::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:66,1
    - Dst: pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:66,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:68,1
    - Dst: pcpp::DhcpV6Option::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:68,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:69,1
    - Dst: pcpp::DhcpV6Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:70,1
    - Dst: pcpp::DhcpV6Layer::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:70,1
    - Dst: pcpp::DhcpV6Layer::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:72,1
    - Dst: pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:73,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:74,1
    - Dst: pcpp::DhcpV6Option::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:74,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:75,1
    - Dst: pcpp::DhcpV6Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:75,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:76,1
    - Dst: pcpp::DhcpV6Layer::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:76,1
    - Dst: pcpp::DhcpV6Layer::addOptionBefore
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:78,1
    - Dst: pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:79,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:81,1
    - Dst: pcpp::DhcpV6Option::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:81,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:82,1
    - Dst: pcpp::DhcpV6Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:83,1
    - Dst: pcpp::DhcpV6Layer::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:83,1
    - Dst: pcpp::DhcpV6Layer::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:85,1
    - Dst: pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:88,1
    - Dst: pcpp::DhcpV6Option::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:89,1
    - Dst: pcpp::DhcpV6Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:89,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:90,1
    - Dst: pcpp::DhcpV6Layer::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:90,1
    - Dst: pcpp::DhcpV6Layer::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:92,1
    - Dst: pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:92,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:95,1
    - Dst: pcpp::DhcpV6Option::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:95,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:96,1
    - Dst: pcpp::DhcpV6Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:96,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:97,1
    - Dst: pcpp::DhcpV6Layer::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:97,1
    - Dst: pcpp::DhcpV6Layer::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:99,1
    - Dst: pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:100,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:102,1
    - Dst: pcpp::DhcpV6Option::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:103,1
    - Dst: pcpp::DhcpV6Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:103,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:104,1
    - Dst: pcpp::DhcpV6Layer::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:104,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:107,1
    - Dst: pcpp::DhcpV6Layer::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:109,1
    - Dst: pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:109,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:111,1
    - Dst: pcpp::DhcpV6Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:111,1
    - Dst: pcpp::DhcpV6Layer::addOptionBefore
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:112,1
    - Dst: pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:112,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:114,1
    - Dst: pcpp::DhcpV6Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:114,1
    - Dst: pcpp::DhcpV6Layer::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:117,1
    - Dst: pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:117,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:118,1
    - Dst: pcpp::DhcpV6Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:118,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:120,1
    - Dst: pcpp::DhcpV6Layer::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:120,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:123,1
    - Dst: pcpp::DhcpV6Layer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:123,1
    - Dst: pcpp::DhcpV6Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:123,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:124,1
    - Dst: pcpp::DhcpV6Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:124,1
    - Dst: pcpp::DhcpV6Layer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:124,1
    - Dst: pcpp::DhcpV6Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:124,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:126,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:126,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:127,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:128,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:128,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:129,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 131
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer*::getDataLen
    - pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
    - pcpp::DhcpV6Layer::getDataLen
    - pcpp::Packet::addLayer
    - SuppressLogs::SuppressLogs
    - pcpp::DhcpV6Layer::addOptionAfter
    - get
    - PTF_ASSERT_TRUE
    - pcpp::DhcpV6Option::isNull
    - pcpp::DhcpV6Layer::addOption
    - pcpp::DhcpV6Option::getDataSize
    - PTF_ASSERT_EQUAL
    - pcpp::DhcpV6Layer::getOptionCount
    - data::get
    - pcpp::Packet::detachLayer
    - memcpy
    - createPacketAndBufferFromHexResource
    - dynamic_cast<pcpp::DhcpV6Layer*>
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::DhcpV6Layer*::getData
    - pcpp::DhcpV6Layer::getTransactionID
    - pcpp::DhcpV6Layer::addOptionBefore
    - PTF_ASSERT_NOT_NULL
    - pcpp::DhcpV6Option::getType
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::DhcpV6Layer::getData
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DhcpV6CreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:135,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:137,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:138,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:139,1
    - Dst: pcpp::DhcpV6Layer*::setMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:140,1
    - Dst: pcpp::DhcpV6Layer*::setTransactionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:141,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:142,1
    - Dst: pcpp::DhcpV6Layer*::removeOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:143,1
    - Dst: pcpp::DhcpV6Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:143,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:144,1
    - Dst: pcpp::DhcpV6Layer*::removeOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:144,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:145,1
    - Dst: pcpp::DhcpV6Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:145,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:147,1
    - Dst: pcpp::DhcpV6Layer*::removeOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:147,1
    - Dst: pcpp::DhcpV6Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:148,1
    - Dst: pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:148,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:149,1
    - Dst: pcpp::DhcpV6Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:149,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:152,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:153,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:154,1
    - Dst: pcpp::DhcpV6Layer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:154,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:155,1
    - Dst: pcpp::DhcpV6Layer*::getTransactionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:155,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:156,1
    - Dst: pcpp::DhcpV6Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:156,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:157,1
    - Dst: pcpp::DhcpV6Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:157,1
    - Dst: pcpp::DhcpV6Layer*::removeAllOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:159,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:160,1
    - Dst: pcpp::DhcpV6Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:160,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:161,1
    - Dst: pcpp::DhcpV6Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 162
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DhcpV6Layer*::getDataLen
    - PTF_ASSERT_EQUAL
    - pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
    - pcpp::Packet::getLayerOfType
    - auto::get
    - pcpp::DhcpV6Layer*::setTransactionID
    - PTF_ASSERT_NOT_NULL
    - pcpp::DhcpV6Layer*::getOptionCount
    - PTF_ASSERT_FALSE
    - pcpp::DhcpV6Layer*::removeOption
    - pcpp::DhcpV6Layer*::addOption
    - PTF_ASSERT_TRUE
    - pcpp::DhcpV6Layer*::getMessageType
    - createPacketFromHexResource
    - pcpp::DhcpV6Layer*::getTransactionID
    - pcpp::DhcpV6Layer*::removeAllOptions
    - pcpp::DhcpV6Layer*::setMessageType
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DhcpV6EditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:19,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:20,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:21,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:22,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:23,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:29,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:30,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:31,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:32,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:33,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:39,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:39,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:39,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:40,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:42,1
    - Dst: pcpp::GREv0Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:43,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:44,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:44,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:45,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:45,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:46,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:46,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:47,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:48,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:48,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:49,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:49,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:49,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:50,1
    - Dst: pcpp::GREv0Layer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:50,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:51,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:54,1
    - Dst: pcpp::GREv0Layer*::getOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:54,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:55,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:56,1
    - Dst: pcpp::GREv0Layer*::getKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:56,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:57,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:58,1
    - Dst: pcpp::GREv0Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:58,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:59,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:60,1
    - Dst: pcpp::GREv0Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:60,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:61,1
    - Dst: pcpp::GREv0Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:61,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:65,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:65,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:65,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:66,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:67,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:68,1
    - Dst: pcpp::GREv0Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:68,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:69,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:70,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:70,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:71,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:71,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:72,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:72,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:72,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:75,1
    - Dst: pcpp::GREv0Layer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:75,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:76,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:77,1
    - Dst: pcpp::GREv0Layer*::getKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:77,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:78,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:79,1
    - Dst: pcpp::GREv0Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:79,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:80,1
    - Dst: pcpp::GREv0Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:80,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:81,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:83,1
    - Dst: pcpp::GREv0Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:83,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:84,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:84,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:85,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:85,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:86,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:87,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:87,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:87,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:88,1
    - Dst: pcpp::GREv0Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:89,1
    - Dst: pcpp::GREv0Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:89,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:93,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:93,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:93,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:94,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:95,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:96,1
    - Dst: pcpp::GREv1Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:96,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:97,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:97,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:98,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:98,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:99,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:99,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:100,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:100,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:101,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:101,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:101,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:102,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:102,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:104,1
    - Dst: pcpp::GREv1Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:104,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:105,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:106,1
    - Dst: pcpp::GREv1Layer*::getAcknowledgmentNum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:106,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:107,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:108,1
    - Dst: pcpp::GREv1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:108,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:112,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:112,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:112,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:113,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:113,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:114,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:116,1
    - Dst: pcpp::GREv1Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:117,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:118,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:118,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:119,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:119,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:120,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:120,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:121,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:121,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:122,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:122,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:122,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:123,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:123,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:123,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:125,1
    - Dst: pcpp::GREv1Layer*::getAcknowledgmentNum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:125,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:126,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:127,1
    - Dst: pcpp::GREv1Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:127,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:128,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:129,1
    - Dst: pcpp::GREv1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:129,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:130,1
    - Dst: pcpp::GREv1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:130,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:131,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:132,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:133,1
    - Dst: pcpp::PPP_PPTPLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:133,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:134,1
    - Dst: pcpp::GREv1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:134,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:135,1
    - Dst: pcpp::PPP_PPTPLayer*::getPPP_PPTPHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:135,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:136,1
    - Dst: pcpp::PPP_PPTPLayer*::getPPP_PPTPHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:136,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:137,1
    - Dst: pcpp::PPP_PPTPLayer*::getPPP_PPTPHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:137,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:137,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:138,1
    - Dst: pcpp::PPP_PPTPLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:138,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:139,1
    - Dst: pcpp::PPP_PPTPLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:139,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:143,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:143,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:143,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:144,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:145,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:146,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:146,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:147,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:147,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:147,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:148,1
    - Dst: pcpp::GREv0Layer*::getKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:148,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:149,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:151,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:152,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:153,1
    - Dst: pcpp::TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 108
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 156
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::Packet::getNextLayerOfType
    - pcpp::GREv1Layer*::getAcknowledgmentNum
    - pcpp::GREv0Layer*::getGreHeader
    - pcpp::PPP_PPTPLayer*::getHeaderLen
    - pcpp::GREv1Layer*::getNextLayer
    - pcpp::GREv1Layer*::getHeaderLen
    - pcpp::GREv1Layer*::getGreHeader
    - auto::get
    - pcpp::GREv0Layer*::getSequenceNumber
    - pcpp::GREv0Layer*::getNextLayer
    - PTF_ASSERT_TRUE
    - pcpp::GREv0Layer*::getOffset
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - pcpp::GREv0Layer*::getChecksum
    - pcpp::GREv0Layer*::getKey
    - pcpp::GREv1Layer*::getSequenceNumber
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::PPP_PPTPLayer*::getPPP_PPTPHeader
    - pcpp::PPP_PPTPLayer*::getNextLayer
    - pcpp::GREv0Layer*::getHeaderLen
    - PTF_ASSERT_NOT_NULL
    - pcpp::TcpLayer*::getSrcPort
    - PTF_ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(GreParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:160,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:161,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:165,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:165,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:166,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:166,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:167,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:167,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:168,1
    - Dst: pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:173,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:173,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:179,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:179,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:180,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:180,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:181,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:181,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:182,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:182,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:183,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:183,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:185,1
    - Dst: pcpp::GREv1Layer::setAcknowledgmentNum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:185,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:186,1
    - Dst: pcpp::GREv1Layer::setSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:186,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:188,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:190,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:190,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:190,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:191,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:191,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:191,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:191,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:195,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:195,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:196,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:196,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:197,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:197,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:198,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:199,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:199,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:200,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:200,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:201,1
    - Dst: pcpp::GREv0Layer::GREv0Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:203,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:204,1
    - Dst: pcpp::GREv0Layer::setChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:204,1
    - Dst: pcpp::GREv0Layer::GREv0Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:206,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:209,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:209,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:210,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:210,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:211,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:211,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:212,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:212,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:213,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:213,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:214,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:216,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:216,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:216,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:217,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:217,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:217,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 219
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - htobe16
    - pcpp::Packet::addLayer
    - pcpp::GREv1Layer::setAcknowledgmentNum
    - pcpp::Packet::getRawPacket
    - auto::data
    - pcpp::GREv0Layer::GREv0Layer
    - PTF_ASSERT_EQUAL
    - pcpp::GREv0Layer::setChecksum
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::GREv1Layer::setSequenceNumber
    - auto::size
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
    - pcpp_tests::loadHexResourceToVector
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(GreCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:225,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:227,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:229,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:229,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:229,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:230,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:231,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:232,1
    - Dst: pcpp::GREv0Layer*::setSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:232,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:233,1
    - Dst: pcpp::GREv0Layer*::setKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:233,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:234,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:238,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:239,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:240,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:240,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:241,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:241,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:242,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:242,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:243,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:243,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:244,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:244,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:245,1
    - Dst: pcpp::GREv0Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:245,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:246,1
    - Dst: pcpp::GREv0Layer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:246,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:247,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:248,1
    - Dst: pcpp::GREv0Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:248,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:249,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:250,1
    - Dst: pcpp::GREv0Layer*::getKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:250,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:251,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:252,1
    - Dst: pcpp::GREv0Layer*::getOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:252,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:253,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:254,1
    - Dst: pcpp::GREv0Layer*::getOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:254,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:255,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:256,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:258,1
    - Dst: pcpp::GREv0Layer*::setSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:258,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:259,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:261,1
    - Dst: pcpp::GREv0Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:261,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:262,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:263,1
    - Dst: pcpp::GREv0Layer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:263,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:264,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:265,1
    - Dst: pcpp::GREv0Layer*::getKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:265,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:266,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:268,1
    - Dst: pcpp::GREv0Layer*::unsetSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:268,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:269,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:271,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:271,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:272,1
    - Dst: pcpp::GREv0Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:272,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:273,1
    - Dst: pcpp::GREv0Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:273,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:274,1
    - Dst: pcpp::GREv0Layer*::getKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:274,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:275,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:276,1
    - Dst: pcpp::GREv0Layer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:276,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:277,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:279,1
    - Dst: pcpp::GREv0Layer*::unsetChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:279,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:281,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:282,1
    - Dst: pcpp::GREv0Layer*::unsetSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:282,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:284,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:286,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:286,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:287,1
    - Dst: pcpp::GREv0Layer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:287,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:288,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:288,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:289,1
    - Dst: pcpp::GREv0Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:289,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:290,1
    - Dst: pcpp::GREv0Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:290,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:291,1
    - Dst: pcpp::GREv0Layer*::getKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:291,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:292,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:295,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:296,1
    - Dst: pcpp::GREv0Layer*::unsetChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:296,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:297,1
    - Dst: pcpp::GREv0Layer*::unsetSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:297,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:299,1
    - Dst: pcpp::GREv0Layer*::unsetKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:299,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:300,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:302,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:302,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:303,1
    - Dst: pcpp::GREv0Layer*::getKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:303,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:304,1
    - Dst: pcpp::GREv0Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:304,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:305,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:305,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:306,1
    - Dst: pcpp::GREv0Layer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:306,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:307,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:307,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:309,1
    - Dst: pcpp::GREv0Layer*::setChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:309,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:310,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:312,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:312,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:313,1
    - Dst: pcpp::GREv0Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:313,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:314,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:314,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:315,1
    - Dst: pcpp::GREv0Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:315,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:316,1
    - Dst: pcpp::GREv0Layer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:316,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:317,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:321,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:323,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:327,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:328,1
    - Dst: pcpp::GREv1Layer*::setAcknowledgmentNum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:328,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:329,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:331,1
    - Dst: pcpp::GREv1Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:331,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:332,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:332,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:333,1
    - Dst: pcpp::GREv1Layer*::getAcknowledgmentNum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:333,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:334,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:335,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:335,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:336,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:336,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:337,1
    - Dst: pcpp::GREv1Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:337,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:338,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:339,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:339,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:339,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:340,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:340,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:340,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:342,1
    - Dst: pcpp::GREv1Layer*::setSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:342,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:343,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:343,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:344,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:346,1
    - Dst: pcpp::GREv1Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:346,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:347,1
    - Dst: pcpp::GREv1Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:347,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:348,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:349,1
    - Dst: pcpp::GREv1Layer*::getAcknowledgmentNum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:349,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:350,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:352,1
    - Dst: pcpp::GREv1Layer*::unsetSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:352,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:353,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:355,1
    - Dst: pcpp::GREv1Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:355,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:356,1
    - Dst: pcpp::GREv1Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:356,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:357,1
    - Dst: pcpp::GREv1Layer*::getAcknowledgmentNum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:357,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:358,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:359,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:359,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:359,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:360,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:360,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:360,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:363,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:364,1
    - Dst: pcpp::GREv0Layer*::unsetSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:364,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:366,1
    - Dst: pcpp::GREv1Layer*::unsetAcknowledgmentNum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:366,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:367,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:369,1
    - Dst: pcpp::GREv1Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:369,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:370,1
    - Dst: pcpp::GREv1Layer*::getAcknowledgmentNum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:370,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:371,1
    - Dst: pcpp::GREv1Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:371,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:372,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:372,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:373,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:373,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:374,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:374,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:375,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:375,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:375,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:376,1
    - Dst: pcpp::GREv1Layer*::getGreHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:376,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:376,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:378,1
    - Dst: pcpp::GREv1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:378,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:379,1
    - Dst: pcpp::GREv1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:379,1
    - Dst: dynamic_cast<pcpp::PPP_PPTPLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:380,1
    - Dst: pcpp::GREv1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:380,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:381,1
    - Dst: pcpp::PPP_PPTPLayer*::getPPP_PPTPHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:382,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:384,1
    - Dst: pcpp::Packet::removeAllLayersAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:384,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:386,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:388,1
    - Dst: pcpp::PPP_PPTPLayer*::getPPP_PPTPHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:388,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:390,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:391,1
    - Dst: pcpp::IPv6Layer::IPv6Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:390,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:392,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:392,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:393,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:395,1
    - Dst: pcpp::PPP_PPTPLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:395,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:396,1
    - Dst: pcpp::PPP_PPTPLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:396,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:397,1
    - Dst: pcpp::PPP_PPTPLayer*::getPPP_PPTPHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:397,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 126
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 398
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::GREv0Layer*::setSequenceNumber
    - pcpp::GREv1Layer*::getAcknowledgmentNum
    - pcpp::GREv0Layer*::getGreHeader
    - pcpp::GREv0Layer*::unsetChecksum
    - pcpp::GREv1Layer*::getNextLayer
    - pcpp::GREv1Layer*::getHeaderLen
    - pcpp::GREv0Layer*::unsetSequenceNumber
    - pcpp::Packet::addLayer
    - pcpp::GREv1Layer*::getGreHeader
    - SuppressLogs::SuppressLogs
    - pcpp::GREv0Layer*::unsetKey
    - auto::get
    - pcpp::GREv0Layer*::setKey
    - pcpp::GREv0Layer*::getSequenceNumber
    - PTF_ASSERT_TRUE
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - pcpp::GREv1Layer*::setSequenceNumber
    - pcpp::GREv0Layer*::getOffset
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::removeAllLayersAfter
    - pcpp::Packet::getLayerOfType
    - pcpp::GREv0Layer*::getChecksum
    - pcpp::GREv0Layer*::getKey
    - pcpp::GREv1Layer*::getSequenceNumber
    - pcpp::GREv1Layer*::unsetSequenceNumber
    - createPacketFromHexResource
    - pcpp::GREv1Layer*::setAcknowledgmentNum
    - dynamic_cast<pcpp::PPP_PPTPLayer*>
    - pcpp::PPP_PPTPLayer*::getPPP_PPTPHeader
    - pcpp::Packet::computeCalculateFields
    - pcpp::PPP_PPTPLayer*::getNextLayer
    - pcpp::GREv0Layer*::getHeaderLen
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::GREv1Layer*::unsetAcknowledgmentNum
    - pcpp::GREv0Layer*::setChecksum
    - pcpp::IPv6Layer::IPv6Layer
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(GreEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:15,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:17,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:18,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:19,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:21,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:22,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:23,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:26,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:26,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:27,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:29,1
    - Dst: pcpp::SomeIpSdLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:30,1
    - Dst: pcpp::SomeIpSdLayer*::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:31,1
    - Dst: pcpp::SomeIpSdLayer*::getServiceID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:32,1
    - Dst: pcpp::SomeIpSdLayer*::getMethodID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:32,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:33,1
    - Dst: pcpp::SomeIpSdLayer*::getLengthField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:33,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:34,1
    - Dst: pcpp::SomeIpSdLayer*::getRequestID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:34,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:35,1
    - Dst: pcpp::SomeIpSdLayer*::getClientID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:36,1
    - Dst: pcpp::SomeIpSdLayer*::getSessionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:37,1
    - Dst: pcpp::SomeIpSdLayer*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:38,1
    - Dst: pcpp::SomeIpSdLayer*::getInterfaceVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:39,1
    - Dst: pcpp::SomeIpSdLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:40,1
    - Dst: pcpp::SomeIpSdLayer*::getMessageTypeAsInt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:41,1
    - Dst: pcpp::SomeIpSdLayer*::getReturnCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:42,1
    - Dst: pcpp::SomeIpSdLayer*::getNumEntries
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:43,1
    - Dst: pcpp::SomeIpSdLayer*::getNumOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:44,1
    - Dst: pcpp::SomeIpSdLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:44,1
    - Dst: pcpp::SomeIpSdLayer*::getEntries
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:46,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:47,1
    - Dst: pcpp::SomeIpSdLayer::EntriesVec::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:47,1
    - Dst: pcpp::SomeIpSdLayer::EntriesVec::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:48,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:50,1
    - Dst: pcpp::SomeIpSdEntry*::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:50,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:51,1
    - Dst: pcpp::SomeIpSdEntry*::getNumOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:52,1
    - Dst: pcpp::SomeIpSdEntry*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:52,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:53,1
    - Dst: pcpp::SomeIpSdEntry*::getServiceId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:53,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:54,1
    - Dst: pcpp::SomeIpSdEntry*::getInstanceId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:54,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:55,1
    - Dst: pcpp::SomeIpSdEntry*::getMajorVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:55,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:56,1
    - Dst: pcpp::SomeIpSdEntry*::getTtl
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:56,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:57,1
    - Dst: pcpp::SomeIpSdEntry*::getMinorVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:57,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:58,1
    - Dst: pcpp::SomeIpSdEntry*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:58,1
    - Dst: pcpp::SomeIpSdLayer*::getOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:60,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:61,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:61,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:62,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:63,1
    - Dst: pcpp::SomeIpSdOption*::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:63,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:64,1
    - Dst: pcpp::SomeIpSdOption*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:64,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:65,1
    - Dst: pcpp::SomeIpSdOption*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:65,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:68,1
    - Dst: pcpp::SomeIpSdIPv4Option*::getIpAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:68,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:68,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:69,1
    - Dst: pcpp::SomeIpSdIPv4Option*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:70,1
    - Dst: pcpp::SomeIpSdIPv4Option*::getPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:70,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:73,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:73,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:74,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:75,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:76,1
    - Dst: pcpp::SomeIpSdLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:76,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:77,1
    - Dst: pcpp::SomeIpSdLayer*::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:77,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:78,1
    - Dst: pcpp::SomeIpSdLayer*::getServiceID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:78,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:79,1
    - Dst: pcpp::SomeIpSdLayer*::getMethodID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:79,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:80,1
    - Dst: pcpp::SomeIpSdLayer*::getLengthField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:80,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:81,1
    - Dst: pcpp::SomeIpSdLayer*::getRequestID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:81,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:82,1
    - Dst: pcpp::SomeIpSdLayer*::getClientID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:83,1
    - Dst: pcpp::SomeIpSdLayer*::getSessionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:83,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:84,1
    - Dst: pcpp::SomeIpSdLayer*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:84,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:85,1
    - Dst: pcpp::SomeIpSdLayer*::getInterfaceVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:85,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:86,1
    - Dst: pcpp::SomeIpSdLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:87,1
    - Dst: pcpp::SomeIpSdLayer*::getMessageTypeAsInt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:87,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:88,1
    - Dst: pcpp::SomeIpSdLayer*::getReturnCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:89,1
    - Dst: pcpp::SomeIpSdLayer*::getNumEntries
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:89,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:90,1
    - Dst: pcpp::SomeIpSdLayer*::getNumOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:90,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:91,1
    - Dst: pcpp::SomeIpSdLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:91,1
    - Dst: pcpp::SomeIpSdLayer*::getEntries
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:93,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:94,1
    - Dst: pcpp::SomeIpSdLayer::EntriesVec::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:94,1
    - Dst: pcpp::SomeIpSdLayer::EntriesVec::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:96,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:97,1
    - Dst: pcpp::SomeIpSdEntry*::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:97,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:98,1
    - Dst: pcpp::SomeIpSdEntry*::getNumOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:98,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:99,1
    - Dst: pcpp::SomeIpSdEntry*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:99,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:100,1
    - Dst: pcpp::SomeIpSdEntry*::getServiceId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:100,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:101,1
    - Dst: pcpp::SomeIpSdEntry*::getInstanceId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:101,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:102,1
    - Dst: pcpp::SomeIpSdEntry*::getMajorVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:103,1
    - Dst: pcpp::SomeIpSdEntry*::getTtl
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:103,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:104,1
    - Dst: pcpp::SomeIpSdEntry*::getMinorVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:104,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:105,1
    - Dst: pcpp::SomeIpSdEntry*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:105,1
    - Dst: pcpp::SomeIpSdLayer*::getOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:107,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:108,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:108,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:110,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:111,1
    - Dst: pcpp::SomeIpSdOption*::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:111,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:112,1
    - Dst: pcpp::SomeIpSdOption*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:112,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:113,1
    - Dst: pcpp::SomeIpSdOption*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:113,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:116,1
    - Dst: pcpp::SomeIpSdIPv6Option*::getIpAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:116,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:117,1
    - Dst: pcpp::SomeIpSdIPv6Option*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:118,1
    - Dst: pcpp::SomeIpSdIPv6Option*::getPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:118,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:120,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:121,1
    - Dst: pcpp::SomeIpSdOption*::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:121,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:122,1
    - Dst: pcpp::SomeIpSdOption*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:122,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:123,1
    - Dst: pcpp::SomeIpSdOption*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:123,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:128,1
    - Dst: pcpp::SomeIpSdConfigurationOption*::getConfigurationString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:128,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:129,1
    - Dst: pcpp::SomeIpSdLayer*::getOptionsFromEntry
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:132,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:133,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:133,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:135,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:136,1
    - Dst: pcpp::SomeIpSdOption*::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:136,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:137,1
    - Dst: pcpp::SomeIpSdOption*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:137,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:138,1
    - Dst: pcpp::SomeIpSdOption*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:138,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:140,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:141,1
    - Dst: pcpp::SomeIpSdOption*::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:141,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:142,1
    - Dst: pcpp::SomeIpSdOption*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:144,1
    - Dst: pcpp::SomeIpSdOption*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:144,1
    - Dst: pcpp::SomeIpSdLayer*::getOptionsFromEntry
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:146,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:147,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:147,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:150,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:150,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:151,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:152,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:153,1
    - Dst: pcpp::SomeIpSdLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:153,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:154,1
    - Dst: pcpp::SomeIpSdLayer*::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:154,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:155,1
    - Dst: pcpp::SomeIpSdLayer*::getServiceID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:155,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:156,1
    - Dst: pcpp::SomeIpSdLayer*::getMethodID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:156,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:157,1
    - Dst: pcpp::SomeIpSdLayer*::getLengthField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:157,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:158,1
    - Dst: pcpp::SomeIpSdLayer*::getRequestID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:158,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:159,1
    - Dst: pcpp::SomeIpSdLayer*::getClientID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:159,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:160,1
    - Dst: pcpp::SomeIpSdLayer*::getSessionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:160,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:161,1
    - Dst: pcpp::SomeIpSdLayer*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:161,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:162,1
    - Dst: pcpp::SomeIpSdLayer*::getInterfaceVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:162,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:163,1
    - Dst: pcpp::SomeIpSdLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:163,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:164,1
    - Dst: pcpp::SomeIpSdLayer*::getMessageTypeAsInt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:164,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:165,1
    - Dst: pcpp::SomeIpSdLayer*::getReturnCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:165,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:166,1
    - Dst: pcpp::SomeIpSdLayer*::getNumEntries
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:166,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:167,1
    - Dst: pcpp::SomeIpSdLayer*::getNumOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:167,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:168,1
    - Dst: pcpp::SomeIpSdLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:168,1
    - Dst: pcpp::SomeIpSdLayer*::getEntries
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:170,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:171,1
    - Dst: pcpp::SomeIpSdLayer::EntriesVec::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:171,1
    - Dst: pcpp::SomeIpSdLayer::EntriesVec::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:173,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:174,1
    - Dst: pcpp::SomeIpSdEntry*::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:174,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:175,1
    - Dst: pcpp::SomeIpSdEntry*::getNumOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:175,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:176,1
    - Dst: pcpp::SomeIpSdEntry*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:176,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:177,1
    - Dst: pcpp::SomeIpSdEntry*::getServiceId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:177,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:178,1
    - Dst: pcpp::SomeIpSdEntry*::getInstanceId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:178,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:179,1
    - Dst: pcpp::SomeIpSdEntry*::getMajorVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:179,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:180,1
    - Dst: pcpp::SomeIpSdEntry*::getTtl
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:180,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:181,1
    - Dst: pcpp::SomeIpSdEntry*::getCounter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:181,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:182,1
    - Dst: pcpp::SomeIpSdEntry*::getEventgroupId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:182,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:183,1
    - Dst: pcpp::SomeIpSdEntry*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:183,1
    - Dst: pcpp::SomeIpSdLayer::EntriesVec::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:185,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:186,1
    - Dst: pcpp::SomeIpSdEntry*::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:186,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:187,1
    - Dst: pcpp::SomeIpSdEntry*::getNumOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:187,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:188,1
    - Dst: pcpp::SomeIpSdEntry*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:188,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:189,1
    - Dst: pcpp::SomeIpSdEntry*::getServiceId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:189,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:190,1
    - Dst: pcpp::SomeIpSdEntry*::getInstanceId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:190,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:191,1
    - Dst: pcpp::SomeIpSdEntry*::getMajorVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:191,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:192,1
    - Dst: pcpp::SomeIpSdEntry*::getTtl
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:192,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:193,1
    - Dst: pcpp::SomeIpSdEntry*::getCounter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:193,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:194,1
    - Dst: pcpp::SomeIpSdEntry*::getEventgroupId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:194,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:195,1
    - Dst: pcpp::SomeIpSdEntry*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:195,1
    - Dst: pcpp::SomeIpSdLayer*::getOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:197,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:198,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:198,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:200,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:201,1
    - Dst: pcpp::SomeIpSdOption*::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:201,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:202,1
    - Dst: pcpp::SomeIpSdOption*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:202,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:203,1
    - Dst: pcpp::SomeIpSdOption*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:203,1
    - Dst: pcpp::SomeIpSdLayer::EntriesVec::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:207,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:208,1
    - Dst: pcpp::SomeIpSdLayer::EntriesVec::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:215,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:216,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:217,1
    - Dst: pcpp::SomeIpSdLayer::EntriesVec::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:222,1
    - Dst: pcpp::SomeIpSdLayer::OptionsVec::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 146
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 224
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpSdLayer*::getRequestID
    - pcpp::SomeIpSdIPv4Option*::getProtocol
    - pcpp::SomeIpSdLayer::EntriesVec::size
    - pcpp::SomeIpSdLayer*::getLengthField
    - pcpp::SomeIpSdConfigurationOption*::getConfigurationString
    - pcpp::SomeIpSdEntry*::getMajorVersion
    - pcpp::SomeIpSdIPv4Option*::getPort
    - pcpp::SomeIpSdLayer*::getReturnCode
    - pcpp::SomeIpSdIPv4Option*::getIpAddress
    - pcpp::SomeIpSdOption*::getLength
    - pcpp::SomeIpSdLayer*::getNumEntries
    - pcpp::SomeIpSdLayer*::getServiceID
    - pcpp::SomeIpSdLayer*::getMessageTypeAsInt
    - pcpp::SomeIpSdIPv6Option*::getPort
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - pcpp::SomeIpSdEntry*::getInstanceId
    - pcpp::SomeIpSdLayer*::getClientID
    - pcpp::SomeIpSdLayer*::getProtocolVersion
    - pcpp::SomeIpSdIPv6Option*::getProtocol
    - PTF_ASSERT_TRUE
    - pcpp::SomeIpSdLayer::OptionsVec::size
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - pcpp::SomeIpSdEntry*::getType
    - pcpp::SomeIpSdEntry*::getEventgroupId
    - pcpp::SomeIpSdLayer::EntriesVec::begin
    - pcpp::SomeIpSdLayer*::getOptions
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::SomeIpSdOption*::getDataPtr
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::SomeIpSdLayer*::getSessionID
    - pcpp::SomeIpSdLayer*::getMethodID
    - pcpp::SomeIpSdLayer*::getHeaderLen
    - pcpp::SomeIpSdLayer::OptionsVec::begin
    - pcpp::SomeIpSdLayer*::getMessageType
    - pcpp::SomeIpSdEntry*::getServiceId
    - pcpp::SomeIpSdLayer*::getOptionsFromEntry
    - pcpp::SomeIpSdEntry*::getNumOptions
    - createPacketFromHexResource
    - pcpp::SomeIpSdLayer::EntriesVec::clear
    - pcpp::SomeIpSdLayer*::getInterfaceVersion
    - pcpp::Packet::getRawPacket
    - pcpp::SomeIpSdLayer*::getEntries
    - pcpp::SomeIpSdLayer*::getNumOptions
    - pcpp::SomeIpSdEntry*::getMinorVersion
    - pcpp::SomeIpSdLayer::OptionsVec::clear
    - pcpp::SomeIpSdEntry*::getDataPtr
    - PTF_ASSERT_NOT_NULL
    - pcpp::SomeIpSdLayer*::toString
    - pcpp::SomeIpSdLayer*::getMessageID
    - pcpp::SomeIpSdOption*::getType
    - pcpp::SomeIpSdEntry*::getLength
    - pcpp::SomeIpSdEntry*::getTtl
    - pcpp::SomeIpSdIPv6Option*::getIpAddress
    - pcpp::SomeIpSdEntry*::getCounter
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SomeIpSdParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:229,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:231,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:232,1
    - Dst: std::unique_ptr<pcpp::SomeIpSdEntry>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:236,1
    - Dst: pcpp::SomeIpSdEntry::SomeIpSdEntry
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:237,1
    - Dst: std::unique_ptr<pcpp::SomeIpSdIPv4Option>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:238,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:240,1
    - Dst: pcpp::SomeIpSdIPv4Option::SomeIpSdIPv4Option
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:239,1
    - Dst: pcpp::SomeIpSdLayer::addEntry
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:241,1
    - Dst: pcpp::SomeIpSdLayer::addOptionTo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:242,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:245,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:245,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:246,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:248,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:248,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:248,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:249,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:249,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:249,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:249,1
    - Dst: std::unique_ptr<pcpp::SomeIpSdEntry>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:253,1
    - Dst: pcpp::SomeIpSdEntry::SomeIpSdEntry
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:254,1
    - Dst: std::unique_ptr<pcpp::SomeIpSdEntry>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:255,1
    - Dst: pcpp::SomeIpSdEntry::SomeIpSdEntry
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:256,1
    - Dst: std::unique_ptr<pcpp::SomeIpSdIPv4Option>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:257,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:259,1
    - Dst: pcpp::SomeIpSdIPv4Option::SomeIpSdIPv4Option
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:258,1
    - Dst: pcpp::SomeIpSdLayer::addEntry
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:260,1
    - Dst: pcpp::SomeIpSdLayer::addOptionTo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:261,1
    - Dst: pcpp::SomeIpSdLayer::addEntry
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:262,1
    - Dst: pcpp::SomeIpSdLayer::addOptionTo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:263,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:266,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:266,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:267,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:269,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:269,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:269,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:270,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:270,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:270,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 271
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::SomeIpSdLayer::addEntry
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - auto::data
    - std::unique_ptr<pcpp::SomeIpSdEntry>
    - pcpp::SomeIpSdEntry::SomeIpSdEntry
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - gettimeofday
    - auto::size
    - pcpp::SomeIpSdIPv4Option::SomeIpSdIPv4Option
    - std::unique_ptr<pcpp::SomeIpSdIPv4Option>
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::SomeIpSdLayer::addOptionTo
    - pcpp_tests::loadHexResourceToVector
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SomeIpSdCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:26,1
    - Dst: pcpp::VlanLayer::getVlanID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:26,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:27,1
    - Dst: pcpp::VlanLayer::getPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:28,1
    - Dst: pcpp::VlanLayer::getCFI
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:28,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:33,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:37,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:39,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:40,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:42,1
    - Dst: pcpp::VlanLayer*::getVlanID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:43,1
    - Dst: pcpp::VlanLayer*::getCFI
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:44,1
    - Dst: pcpp::VlanLayer*::getPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:44,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:45,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:46,1
    - Dst: pcpp::VlanLayer*::getVlanID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:46,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:47,1
    - Dst: pcpp::VlanLayer*::getCFI
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:48,1
    - Dst: pcpp::VlanLayer*::getPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:48,1
    - Dst: pcpp::ArpRequest
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:58,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:58,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:58,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:60,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:60,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:61,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:61,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:62,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:62,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:63,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:63,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:65,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:67,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:67,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:68,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:68,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 69
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VlanLayer*::getVlanID
    - pcpp::Packet::getNextLayerOfType
    - pcpp::Packet::addLayer
    - pcpp::ArpRequest
    - pcpp::SdpLayer::getOwnerIPv4Address
    - get
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - data::get
    - createPacketAndBufferFromHexResource
    - pcpp::VlanLayer*::getPriority
    - pcpp::Packet::computeCalculateFields
    - pcpp::VlanLayer*::getCFI
    - pcpp::Packet::getRawPacket
    - pcpp::VlanLayer::getCFI
    - pcpp::VlanLayer::getPriority
    - pcpp::VlanLayer::getVlanID
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(VlanParseAndCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:74,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:76,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:77,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:79,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:80,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:81,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:82,1
    - Dst: pcpp::VlanLayer*::getVlanID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:83,1
    - Dst: pcpp::VlanLayer*::getCFI
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:83,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:84,1
    - Dst: pcpp::VlanLayer*::getPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:84,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:85,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:86,1
    - Dst: pcpp::VlanLayer*::getVlanID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:87,1
    - Dst: pcpp::VlanLayer*::getCFI
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:87,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:88,1
    - Dst: pcpp::VlanLayer*::getPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:88,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:89,1
    - Dst: pcpp::VlanLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:89,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:90,1
    - Dst: pcpp::VlanLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::VlanLayer*::getVlanID
    - pcpp::VlanLayer*::getCFI
    - pcpp::Packet::getNextLayerOfType
    - pcpp::VlanLayer*::getNextLayer
    - PTF_ASSERT_EQUAL
    - auto::get
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - pcpp::VlanLayer*::getPriority
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(QinQ802_1adParse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:96,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:98,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:99,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:101,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:102,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:104,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:105,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:107,1
    - Dst: pcpp::MplsLayer*::getTTL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:107,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:108,1
    - Dst: pcpp::MplsLayer*::isBottomOfStack
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:108,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:109,1
    - Dst: pcpp::MplsLayer*::getExperimentalUseValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:109,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:110,1
    - Dst: pcpp::MplsLayer*::getMplsLabel
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:110,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:112,1
    - Dst: pcpp::MplsLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:112,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:113,1
    - Dst: pcpp::MplsLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:113,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:115,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:118,1
    - Dst: pcpp::MplsLayer*::getTTL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:118,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:119,1
    - Dst: pcpp::MplsLayer*::isBottomOfStack
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:119,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:120,1
    - Dst: pcpp::MplsLayer*::getExperimentalUseValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:120,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:121,1
    - Dst: pcpp::MplsLayer*::getMplsLabel
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:121,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:123,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:124,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:126,1
    - Dst: pcpp::MplsLayer*::getTTL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:126,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:127,1
    - Dst: pcpp::MplsLayer*::isBottomOfStack
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:127,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:128,1
    - Dst: pcpp::MplsLayer*::getExperimentalUseValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:128,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:129,1
    - Dst: pcpp::MplsLayer*::getMplsLabel
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:129,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:131,1
    - Dst: pcpp::MplsLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:131,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:132,1
    - Dst: pcpp::MplsLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:132,1
    - Dst: pcpp::MplsLayer*::setBottomOfStack
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:134,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:135,1
    - Dst: pcpp::MplsLayer*::setExperimentalUseValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:135,1
    - Dst: pcpp::MplsLayer*::setTTL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:136,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:137,1
    - Dst: pcpp::MplsLayer*::setMplsLabel
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:137,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:139,1
    - Dst: pcpp::MplsLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:139,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:140,1
    - Dst: pcpp::MplsLayer*::getTTL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:140,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:141,1
    - Dst: pcpp::MplsLayer*::getMplsLabel
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:141,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:142,1
    - Dst: pcpp::MplsLayer*::getExperimentalUseValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:142,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:143,1
    - Dst: pcpp::MplsLayer*::isBottomOfStack
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:143,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:147,1
    - Dst: pcpp::MplsLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:147,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:150,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:151,1
    - Dst: pcpp::MplsLayer*::setMplsLabel
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:151,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:155,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:158,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:160,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:161,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:162,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:163,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:164,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:165,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:166,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:167,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:168,1
    - Dst: pcpp::MplsLayer*::getMplsLabel
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:168,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:169,1
    - Dst: pcpp::MplsLayer*::getExperimentalUseValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:169,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:170,1
    - Dst: pcpp::MplsLayer*::isBottomOfStack
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:170,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:171,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:172,1
    - Dst: pcpp::MplsLayer*::getMplsLabel
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:172,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:173,1
    - Dst: pcpp::MplsLayer*::getExperimentalUseValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:173,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:174,1
    - Dst: pcpp::MplsLayer*::isBottomOfStack
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 175
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::getNextLayerOfType
    - pcpp::MplsLayer*::getMplsLabel
    - pcpp::MplsLayer*::setMplsLabel
    - pcpp::MplsLayer*::setExperimentalUseValue
    - pcpp::Packet::addLayer
    - SuppressLogs::SuppressLogs
    - auto::get
    - pcpp::MplsLayer*::getNextLayer
    - PTF_ASSERT_TRUE
    - pcpp::Packet::Packet
    - pcpp::MplsLayer*::setTTL
    - pcpp::MplsLayer*::getData
    - PTF_ASSERT_EQUAL
    - pcpp::MplsLayer*::isBottomOfStack
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - pcpp::MplsLayer*::getTTL
    - createPacketFromHexResource
    - pcpp::MplsLayer::getData
    - pcpp::Packet::computeCalculateFields
    - pcpp::MplsLayer*::getExperimentalUseValue
    - pcpp::MplsLayer*::setBottomOfStack
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(MplsLayerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:179,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:183,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:185,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:188,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:189,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:190,1
    - Dst: pcpp::VxlanLayer*::getVNI
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:190,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:191,1
    - Dst: pcpp::VxlanLayer*::getVxlanHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:191,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:191,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:192,1
    - Dst: pcpp::VxlanLayer*::getVxlanHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:192,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:193,1
    - Dst: pcpp::VxlanLayer*::getVxlanHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:193,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:194,1
    - Dst: pcpp::VxlanLayer*::getVxlanHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:194,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:195,1
    - Dst: pcpp::VxlanLayer*::getVxlanHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:195,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:196,1
    - Dst: pcpp::VxlanLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:196,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:197,1
    - Dst: pcpp::VxlanLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:197,1
    - Dst: pcpp::VxlanLayer*::getVxlanHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:200,1
    - Dst: pcpp::VxlanLayer*::getVxlanHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:201,1
    - Dst: pcpp::VxlanLayer*::getVxlanHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:202,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:202,1
    - Dst: pcpp::VxlanLayer*::setVNI
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:203,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:205,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:208,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:208,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:208,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:209,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:209,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:209,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:210,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:213,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:213,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:214,1
    - Dst: pcpp::VxlanLayer::VxlanLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:217,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:218,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:218,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:218,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:221,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:221,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:222,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:222,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:222,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 224
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - htobe16
    - pcpp::VxlanLayer*::setVNI
    - pcpp::VxlanLayer::VxlanLayer
    - get
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - pcpp::VxlanLayer*::getVxlanHeader
    - data::get
    - auto::size
    - createPacketAndBufferFromHexResource
    - pcpp::VxlanLayer*::getVNI
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::Packet::insertLayer
    - PTF_ASSERT_NOT_NULL
    - pcpp_tests::loadHexResourceToVector
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::Packet::removeLayer
    - pcpp::VxlanLayer*::getNextLayer
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(VxlanParsingAndCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:18,1
    - Dst: pcpp::SipRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:18,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:20,1
    - Dst: pcpp::SipRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:20,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:20,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:23,1
    - Dst: pcpp::SipRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:23,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:47,1
    - Dst: pcpp::SipRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:47,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:47,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:51,1
    - Dst: pcpp::SipRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:51,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 53
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - PTF_ASSERT_EQUAL
    - string
    - std::string::c_str
    - pcpp::SipRequestFirstLine::parseMethod
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SipRequestParseMethodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:58,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:60,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:61,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:62,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:63,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:65,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:66,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:67,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:68,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:70,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:70,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:71,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:71,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:73,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:73,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:74,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:74,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:76,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:76,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:77,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:77,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:79,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:79,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:80,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:80,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:84,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:84,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:85,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:85,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:86,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:87,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:87,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:89,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:89,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:90,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:90,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:92,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:92,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:93,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:93,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:94,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:94,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:95,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:95,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:96,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:96,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:98,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:98,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:99,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:99,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:101,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:101,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:102,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:102,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:103,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:103,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:104,1
    - Dst: pcpp::SipRequestLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:104,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:106,1
    - Dst: pcpp::SipRequestLayer*::getFirstField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:106,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:108,1
    - Dst: pcpp::SipRequestLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:108,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:109,1
    - Dst: pcpp::SipRequestLayer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:109,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:110,1
    - Dst: pcpp::SipRequestLayer*::getContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:110,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:112,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:114,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:114,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:115,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:116,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:116,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:118,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:118,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:119,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:119,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:120,1
    - Dst: pcpp::SipRequestLayer*::getNextField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:121,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:121,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:122,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:122,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:123,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:123,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:124,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:124,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:125,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:125,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:126,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:126,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:127,1
    - Dst: pcpp::SipRequestLayer*::isHeaderComplete
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:127,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:129,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:131,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:131,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:132,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:132,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:133,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:133,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:135,1
    - Dst: pcpp::SipRequestLayer*::isHeaderComplete
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:135,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:136,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:136,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:137,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:137,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:139,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:139,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:140,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:140,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:142,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:143,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:143,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:144,1
    - Dst: pcpp::SipRequestLayer*::getNextField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:144,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:144,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:145,1
    - Dst: pcpp::SipRequestLayer*::getContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:145,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:146,1
    - Dst: pcpp::SipRequestLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:146,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:148,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:150,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:150,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:151,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:151,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:152,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:152,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:154,1
    - Dst: pcpp::SipRequestLayer*::isHeaderComplete
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:154,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:155,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:155,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:156,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:156,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:158,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:158,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:159,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:159,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:161,1
    - Dst: pcpp::SipRequestLayer*::getNextField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:161,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:161,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:163,1
    - Dst: pcpp::SipRequestLayer*::getNextField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:163,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:163,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:165,1
    - Dst: pcpp::SipRequestLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 167
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipRequestLayer*::getFieldCount
    - pcpp::SipRequestLayer*::getNextField
    - auto::get
    - PTF_ASSERT_TRUE
    - pcpp::SipRequestLayer*::getLayerPayloadSize
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::SipRequestLayer*::getFirstField
    - createPacketFromHexResource
    - pcpp::SipRequestLayer*::getHeaderLen
    - PTF_ASSERT_NULL
    - pcpp::SipRequestLayer*::getFirstLine
    - PTF_ASSERT_NOT_NULL
    - pcpp::SipRequestLayer*::isHeaderComplete
    - pcpp::SipRequestLayer*::getContentLength
    - PTF_ASSERT_FALSE
    - pcpp::SipRequestLayer*::getFieldByName
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SipRequestLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:172,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:175,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:176,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:178,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:178,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:180,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:181,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:183,1
    - Dst: auto::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:183,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:184,1
    - Dst: auto::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:184,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:185,1
    - Dst: auto::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:185,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:188,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:189,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:191,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:191,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:193,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:194,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:196,1
    - Dst: auto::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:196,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:197,1
    - Dst: auto::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:197,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:198,1
    - Dst: auto::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:198,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:199,1
    - Dst: auto::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 200
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - auto::getFirstLine
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SipDetectionByContentOnNonStandardPort)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:204,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:208,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:210,1
    - Dst: pcpp::IPv4Layer::IPv4Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:211,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:212,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:213,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:217,1
    - Dst: pcpp::SipRequestLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:217,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:218,1
    - Dst: pcpp::SipRequestLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:218,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:219,1
    - Dst: pcpp::SipRequestLayer::addEndOfHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:219,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:220,1
    - Dst: pcpp::SipRequestLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:220,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:222,1
    - Dst: pcpp::SipRequestLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:222,1
    - Dst: pcpp::SipRequestLayer::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:224,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:225,1
    - Dst: pcpp::SipRequestLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:226,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:227,1
    - Dst: pcpp::SipRequestLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:228,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:229,1
    - Dst: pcpp::SipRequestLayer::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:230,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:231,1
    - Dst: pcpp::SipRequestLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:232,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:234,1
    - Dst: pcpp::SipRequestLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:235,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:237,1
    - Dst: pcpp::SipRequestLayer::setContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:238,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:239,1
    - Dst: pcpp::HeaderField*::setFieldValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:240,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:242,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:243,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:243,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:244,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:244,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:245,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:245,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:246,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:246,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:248,1
    - Dst: pcpp::SipRequestLayer*::getLayerPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:250,1
    - Dst: pcpp::SipRequestLayer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:250,1
    - Dst: pcpp::PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:250,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:251,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:251,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:253,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:255,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:255,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:256,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:256,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:256,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 258
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipRequestLayer*::getLayerPayload
    - pcpp::IPv4Layer::IPv4Layer
    - pcpp::PayloadLayer::PayloadLayer
    - pcpp::Packet::addLayer
    - pcpp::HeaderField*::setFieldValue
    - get
    - PTF_ASSERT_TRUE
    - pcpp::Packet::Packet
    - pcpp::SipRequestLayer::insertField
    - pcpp::SipRequestLayer::addEndOfHeader
    - pcpp::SipRequestLayer*::getLayerPayloadSize
    - PTF_ASSERT_EQUAL
    - pcpp::SipRequestLayer::addField
    - pcpp::Packet::getLayerOfType
    - pcpp::SipRequestLayer::getFieldByName
    - data::get
    - createPacketAndBufferFromHexResource
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::SipRequestLayer::setContentLength
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SipRequestLayerCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:263,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:265,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:266,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:268,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:269,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:271,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:273,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:275,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:275,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:276,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:276,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:277,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:277,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:279,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:279,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:280,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:280,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:283,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:284,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:284,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:287,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:288,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:290,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:290,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:291,1
    - Dst: pcpp::SipRequestLayer*::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:291,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:292,1
    - Dst: pcpp::SipRequestLayer*::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:292,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:293,1
    - Dst: pcpp::SipRequestLayer*::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:293,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:294,1
    - Dst: pcpp::SipRequestLayer*::addEndOfHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:294,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:295,1
    - Dst: pcpp::SipRequestLayer*::setContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:295,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:296,1
    - Dst: pcpp::SipRequestLayer*::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:296,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:297,1
    - Dst: pcpp::SipRequestLayer*::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:297,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:298,1
    - Dst: pcpp::SipRequestLayer*::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:298,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:300,1
    - Dst: pcpp::SipRequestLayer*::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:300,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:301,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:302,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:304,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:304,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:306,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:308,1
    - Dst: pcpp::SipRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:309,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:311,1
    - Dst: pcpp::SipRequestLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:311,1
    - Dst: pcpp::SipRequestLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:311,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:312,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:312,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:312,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:313,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:313,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:313,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:314,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:314,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:314,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:315,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:315,1
    - Dst: pcpp::SipRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:315,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:316,1
    - Dst: pcpp::SipRequestLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:316,1
    - Dst: pcpp::SipRequestLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:316,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:317,1
    - Dst: pcpp::SipRequestLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:317,1
    - Dst: pcpp::SipRequestLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:317,1
    - Dst: pcpp::SipRequestLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 318
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipRequestLayer*::setContentLength
    - pcpp::SipRequestLayer*::getFieldCount
    - pcpp::SipRequestLayer*::removeField
    - pcpp::SipRequestLayer*::getData
    - SuppressLogs::SuppressLogs
    - auto::get
    - pcpp::SipRequestLayer*::insertField
    - PTF_ASSERT_TRUE
    - pcpp::SipRequestLayer*::addEndOfHeader
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - createPacketFromHexResource
    - pcpp::SipRequestLayer*::getHeaderLen
    - pcpp::Packet::computeCalculateFields
    - pcpp::SipRequestLayer*::getFirstLine
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::SipRequestLayer*::getFieldByName
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SipRequestLayerEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:322,1
    - Dst: pcpp::SipResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:322,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:324,1
    - Dst: pcpp::SipResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:324,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:324,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:326,1
    - Dst: pcpp::SipResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:326,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:326,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:412,1
    - Dst: pcpp::SipResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:412,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:412,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:412,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:416,1
    - Dst: pcpp::SipResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:416,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 418
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
    functionUses: 0
    functionsReached:
    - std::string::length
    - PTF_ASSERT_EQUAL
    - string
    - std::string::c_str
    - pcpp::SipResponseFirstLine::parseStatusCode
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SipResponseParseStatusCodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:422,1
    - Dst: pcpp::SipResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:422,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:423,1
    - Dst: pcpp::SipResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:423,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:423,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:425,1
    - Dst: pcpp::SipResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:425,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:425,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:426,1
    - Dst: pcpp::SipResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:426,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:426,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:427,1
    - Dst: pcpp::SipResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:427,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:427,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:428,1
    - Dst: pcpp::SipResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:428,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:428,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:430,1
    - Dst: pcpp::SipResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:430,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:430,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:432,1
    - Dst: pcpp::SipResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:432,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 433
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
    functionUses: 0
    functionsReached:
    - PTF_ASSERT_EQUAL
    - pcpp::SipResponseFirstLine::parseVersion
    - string
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SipResponseParseVersionCodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:438,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:440,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:441,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:442,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:443,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:444,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:446,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:447,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:448,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:449,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:450,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:452,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:452,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:453,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:453,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:455,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:455,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:456,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:456,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:458,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:458,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:459,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:459,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:461,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:461,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:462,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:462,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:464,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:464,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:465,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:465,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:467,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:469,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:469,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:470,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:470,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:471,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:471,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:472,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:472,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:473,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:473,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:475,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:475,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:476,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:476,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:478,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:478,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:479,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:479,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:480,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:480,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:481,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:481,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:482,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:482,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:483,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:483,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:484,1
    - Dst: pcpp::SipResponseLayer*::getContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:484,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:486,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:488,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:488,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:489,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:489,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:490,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:490,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:491,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:491,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:492,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:492,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:494,1
    - Dst: pcpp::SipResponseLayer*::getFirstField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:494,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:495,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:495,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:496,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:496,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:498,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:498,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:499,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:499,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:500,1
    - Dst: pcpp::SipResponseLayer*::getContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:500,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:502,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:504,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:504,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:505,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:505,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:506,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:506,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:507,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:507,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:508,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:508,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:510,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:510,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:511,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:511,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:512,1
    - Dst: pcpp::SipResponseLayer*::getContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:512,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:514,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:516,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:516,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:517,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:517,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:518,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:518,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:519,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:519,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:520,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:520,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:522,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:522,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:523,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:524,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:526,1
    - Dst: pcpp::SipResponseLayer*::getContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:526,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:528,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:530,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:530,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:532,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:532,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:533,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:533,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:534,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:534,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:535,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:535,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:537,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:537,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:538,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:538,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:539,1
    - Dst: pcpp::SipResponseLayer*::getContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 540
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::SipResponseLayer*::getFirstLine
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - pcpp::SipResponseLayer*::getContentLength
    - pcpp::SipResponseLayer*::getFieldByName
    - createPacketFromHexResource
    - pcpp::SipResponseLayer*::getFirstField
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SipResponseLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:544,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:548,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:550,1
    - Dst: pcpp::IPv4Layer::IPv4Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:551,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:552,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:553,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:557,1
    - Dst: pcpp::SipResponseLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:557,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:558,1
    - Dst: pcpp::SipResponseLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:558,1
    - Dst: pcpp::SipResponseLayer::setContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:559,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:560,1
    - Dst: pcpp::HeaderField*::setFieldValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:561,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:562,1
    - Dst: pcpp::SipResponseLayer::addEndOfHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:562,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:563,1
    - Dst: pcpp::SipResponseLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:563,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:564,1
    - Dst: pcpp::SipResponseLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:564,1
    - Dst: pcpp::SipResponseLayer::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:567,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:568,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:569,1
    - Dst: pcpp::SipResponseLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:569,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:572,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:573,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:573,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:574,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:574,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:575,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:575,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:576,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:576,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:578,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:580,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:582,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:582,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:583,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:583,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:583,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 542
    functionDepth: 4
    functionLinenumber: 542
    functionLinenumberEnd: 585
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipResponseLayer::setContentLength
    - pcpp::IPv4Layer::IPv4Layer
    - pcpp::SipResponseLayer::addEndOfHeader
    - pcpp::SipResponseLayer::insertField
    - pcpp::Packet::addLayer
    - pcpp::SipResponseLayer::getFieldByName
    - pcpp::HeaderField*::setFieldValue
    - get
    - PTF_ASSERT_TRUE
    - pcpp::Packet::Packet
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - data::get
    - createPacketAndBufferFromHexResource
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::SipResponseLayer::addField
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SipResponseLayerCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:590,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:592,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:593,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:595,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:596,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:598,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:600,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:602,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:602,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:603,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:603,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:604,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:604,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:605,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:605,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:606,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:606,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:608,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:608,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:609,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:609,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:610,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:610,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:611,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:611,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:612,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:613,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:614,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:614,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:615,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:615,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:616,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:616,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:617,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:617,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:618,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:618,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:621,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:622,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:622,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:625,1
    - Dst: pcpp::SipResponseLayer*::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:625,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:626,1
    - Dst: pcpp::SipResponseLayer*::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:626,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:627,1
    - Dst: pcpp::SipResponseLayer*::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:627,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:628,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:629,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:631,1
    - Dst: pcpp::SipResponseLayer*::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:631,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:632,1
    - Dst: pcpp::SipResponseLayer*::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:632,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:633,1
    - Dst: pcpp::SipResponseLayer*::setContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:633,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:634,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:635,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:636,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:636,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:638,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:638,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:639,1
    - Dst: pcpp::SipResponseLayer*::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:639,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:642,1
    - Dst: pcpp::SipResponseLayer*::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:642,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:643,1
    - Dst: pcpp::SipResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:643,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:645,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:647,1
    - Dst: pcpp::SipResponseLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:647,1
    - Dst: pcpp::SipResponseLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:647,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:648,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:648,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:648,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:649,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:649,1
    - Dst: pcpp::SipResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:649,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:651,1
    - Dst: pcpp::SipResponseLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:651,1
    - Dst: pcpp::SipResponseLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:651,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:652,1
    - Dst: pcpp::SipResponseLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:652,1
    - Dst: pcpp::SipResponseLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:652,1
    - Dst: pcpp::SipResponseLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 653
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipResponseLayer*::getFieldCount
    - pcpp::SipResponseLayer*::getData
    - SuppressLogs::SuppressLogs
    - pcpp::SipResponseLayer*::getHeaderLen
    - pcpp::SipResponseLayer*::getFirstLine
    - PTF_ASSERT_EQUAL
    - auto::get
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - pcpp::SipResponseLayer*::insertField
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::SipResponseLayer*::getFieldByName
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::SipResponseLayer*::removeField
    - PTF_ASSERT_TRUE
    - createPacketFromHexResource
    - pcpp::SipResponseLayer*::setContentLength
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SipResponseLayerEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:658,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:660,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:661,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:663,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:664,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:666,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:666,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:667,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:668,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:670,1
    - Dst: pcpp::SdpLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:670,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:672,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:672,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:673,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:673,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:674,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:674,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:675,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:675,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:677,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:677,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:678,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:678,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:680,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:680,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:681,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:681,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:682,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:682,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:683,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:683,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:685,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:685,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:686,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:686,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:687,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:687,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:689,1
    - Dst: pcpp::SdpLayer*::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:689,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:689,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:690,1
    - Dst: pcpp::SdpLayer*::getMediaPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:690,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:692,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:692,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:693,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:694,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:696,1
    - Dst: pcpp::SdpLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:696,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:698,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:698,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:699,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:699,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:700,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:700,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:701,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:701,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:702,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:702,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:703,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:703,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:705,1
    - Dst: pcpp::SdpLayer*::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:705,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:705,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:706,1
    - Dst: pcpp::SdpLayer*::getMediaPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:706,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:707,1
    - Dst: pcpp::SdpLayer*::getMediaPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 708
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::SdpLayer*::getFieldCount
    - PTF_ASSERT_NOT_NULL
    - pcpp::SdpLayer*::getMediaPort
    - createPacketFromHexResource
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_NULL
    - pcpp::SdpLayer*::getFieldByName
    - pcpp::SdpLayer*::getOwnerIPv4Address
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SdpLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:713,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:715,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:717,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:719,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:719,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:720,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:721,1
    - Dst: pcpp::SipRequestLayer*::getContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:721,1
    - Dst: pcpp::SipRequestLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:723,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:724,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:724,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:726,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 727
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SipRequestLayer*::getNextLayer
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::SipRequestLayer*::getContentLength
    - createPacketFromHexResource
    - PTF_ASSERT_FALSE
    - pcpp::Layer*::getProtocol
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SipNotSdpLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:732,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:734,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:736,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:738,1
    - Dst: pcpp::IPv4Layer::IPv4Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:739,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:740,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:741,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:742,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:744,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:747,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:748,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:749,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:750,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:751,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:752,1
    - Dst: pcpp::SdpLayer::addMediaDescription
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:752,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:755,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:756,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:757,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:758,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:759,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:760,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:761,1
    - Dst: pcpp::SdpLayer::addMediaDescription
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:761,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:763,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:764,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:764,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:765,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:765,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:766,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:766,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:767,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:767,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:768,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:768,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:770,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:772,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:772,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:774,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:776,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:777,1
    - Dst: pcpp::SdpLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:777,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:778,1
    - Dst: pcpp::SdpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:778,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:780,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:781,1
    - Dst: pcpp::SdpLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:781,1
    - Dst: pcpp::SdpLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:781,1
    - Dst: pcpp::SdpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:781,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:784,1
    - Dst: pcpp::SdpLayer::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:784,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:785,1
    - Dst: pcpp::SdpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:785,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:786,1
    - Dst: pcpp::SdpLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:786,1
    - Dst: pcpp::SdpLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:786,1
    - Dst: pcpp::SdpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 729
    functionDepth: 4
    functionLinenumber: 729
    functionLinenumberEnd: 787
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SdpLayer*::getData
    - pcpp::IPv4Layer::IPv4Layer
    - pcpp::SdpLayer::getHeaderLen
    - pcpp::SdpLayer::getData
    - pcpp::Packet::addLayer
    - pcpp::SdpLayer*::getHeaderLen
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - std::vector::push_back
    - pcpp::SdpLayer::getFieldCount
    - PTF_ASSERT_TRUE
    - pcpp::Packet::Packet
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - pcpp::SdpLayer::addMediaDescription
    - createPacketFromHexResource
    - pcpp::Packet::computeCalculateFields
    - pcpp::SdpLayer*::getFieldCount
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SdpLayerCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:792,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:794,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:795,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:797,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:798,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:800,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:801,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:803,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:803,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:805,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:805,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:806,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:806,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:807,1
    - Dst: pcpp::SdpLayer*::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:807,1
    - Dst: pcpp::SdpLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:808,1
    - Dst: pcpp::SdpLayer*::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:810,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:814,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:815,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:816,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:817,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:818,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:819,1
    - Dst: pcpp::SdpLayer*::addMediaDescription
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:819,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:822,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:823,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:824,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:825,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:826,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:827,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:828,1
    - Dst: pcpp::SdpLayer*::addMediaDescription
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:828,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:830,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:832,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:834,1
    - Dst: pcpp::SdpLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:834,1
    - Dst: pcpp::SdpLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:834,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:835,1
    - Dst: pcpp::SdpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:835,1
    - Dst: pcpp::SdpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:835,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:836,1
    - Dst: pcpp::SdpLayer*::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:836,1
    - Dst: pcpp::SdpLayer*::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:836,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:837,1
    - Dst: pcpp::SdpLayer*::getMediaPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:837,1
    - Dst: pcpp::SdpLayer*::getMediaPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:837,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:838,1
    - Dst: pcpp::SdpLayer*::getMediaPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:838,1
    - Dst: pcpp::SdpLayer*::getMediaPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:838,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:839,1
    - Dst: pcpp::SdpLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:839,1
    - Dst: pcpp::SdpLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:839,1
    - Dst: pcpp::SdpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 840
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer*::getHeaderLen
    - pcpp::SdpLayer*::getMediaPort
    - auto::get
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - pcpp::SdpLayer*::getFieldCount
    - PTF_ASSERT_NOT_NULL
    - std::vector::push_back
    - pcpp::SdpLayer*::getData
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::SdpLayer*::addMediaDescription
    - PTF_ASSERT_TRUE
    - createPacketFromHexResource
    - pcpp::SdpLayer*::removeField
    - pcpp::SdpLayer*::getFieldByName
    - pcpp::SdpLayer*::getOwnerIPv4Address
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SdpLayerEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:9,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:11,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:11,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:12,1
    - Dst: auto::getSerialNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:12,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:13,1
    - Dst: auto::getSerialNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:13,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:14,1
    - Dst: auto::getSerialNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:14,1
    - Dst: auto::getIssuer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:17,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:18,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:18,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:19,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:19,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:25,1
    - Dst: auto::getRDNs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:25,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:27,1
    - Dst: auto::getNotBefore
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:28,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:28,1
    - Dst: auto::getNotBefore
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:32,1
    - Dst: auto::getNotAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:32,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:33,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:33,1
    - Dst: auto::getNotAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:34,1
    - Dst: auto::getSubject
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:39,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:39,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:43,1
    - Dst: auto::getRDNs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:45,1
    - Dst: auto::getPublicKeyAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:45,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:46,1
    - Dst: auto::getPublicKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:50,1
    - Dst: auto::getSignatureAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:50,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:51,1
    - Dst: auto::getSignature
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:52,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:72,1
    - Dst: auto::getExtensions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:72,1
    - Dst: auto::getExtensions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:74,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:76,1
    - Dst: getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:76,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:76,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:77,1
    - Dst: isCritical
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:77,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:77,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:78,1
    - Dst: getRawDataAsHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:78,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:78,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:84,1
    - Dst: auto::hasExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:84,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:84,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:85,1
    - Dst: auto::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:85,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:85,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:93,1
    - Dst: auto::hasExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:93,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:94,1
    - Dst: auto::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:94,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:99,1
    - Dst: auto::toJson
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:99,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:172,1
    - Dst: auto::getRawCertificate
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:172,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:177,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:202,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:203,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEM
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:204,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEMFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:205,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:207,1
    - Dst: auto::toJson
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:207,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:208,1
    - Dst: auto::toJson
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:208,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:209,1
    - Dst: auto::toJson
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:209,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:210,1
    - Dst: auto::toJson
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:210,1
    - Dst: auto::toDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:212,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:213,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:213,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:214,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:214,1
    - Dst: auto::toPEM
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:216,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 7
    functionDepth: 3
    functionLinenumber: 7
    functionLinenumberEnd: 218
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp
    functionUses: 0
    functionsReached:
    - auto::getVersion
    - auto::data
    - std::get<2>
    - std::get<1>
    - auto::toJson
    - auto::toPEM
    - auto::getIssuer
    - auto::getNotAfter
    - auto::hasExtension
    - pcpp::hexStringToByteArray
    - PTF_ASSERT_VECTORS_EQUAL
    - getType
    - PTF_ASSERT_TRUE
    - auto::getSerialNumber
    - pcpp::internal::CryptoDataReader::fromPEM
    - auto::getRawCertificate
    - auto::getPublicKeyAlgorithm
    - PTF_ASSERT_EQUAL
    - auto::getExtension
    - std::get<0>
    - auto::getExtensions
    - pcpp::internal::CryptoDataReader::fromDER
    - isCritical
    - auto::toDER
    - auto::size
    - pcpp::internal::CryptoDataReader::fromPEMFile
    - auto::getSubject
    - PTF_ASSERT_NULL
    - pcpp::internal::CryptoDataReader::fromDERFile
    - auto::getSignature
    - auto::toString
    - auto::getSignatureAlgorithm
    - auto::getPublicKey
    - std::chrono::duration_cast<std::chrono::microseconds>
    - getRawDataAsHexString
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    - auto::getRDNs
    - auto::getNotBefore
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(X509ParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:224,1
    - Dst: auto::getIssuer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:250,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:251,1
    - Dst: auto::getRDNs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:251,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:252,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:252,1
    - Dst: auto::getSubject
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:254,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:255,1
    - Dst: auto::getRDNs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:255,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:256,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:256,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:269,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:269,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:270,1
    - Dst: auto::getSignatureAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:270,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:270,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:271,1
    - Dst: auto::getPublicKeyAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:271,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:271,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:279,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:280,1
    - Dst: auto::getNotBefore
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:280,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:281,1
    - Dst: auto::getNotAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:281,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:287,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:288,1
    - Dst: auto::getExtensions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:288,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:312,1
    - Dst: auto::hasExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:312,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:318,1
    - Dst: auto::getIssuer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:319,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:320,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:320,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:320,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:324,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:329,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:330,1
    - Dst: auto::getSerialNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:330,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEMFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:335,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:336,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:336,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:337,1
    - Dst: auto::getNotBefore
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:337,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:338,1
    - Dst: auto::getExtensions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 340
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp
    functionUses: 0
    functionsReached:
    - auto::getVersion
    - std::get<2>
    - std::get<1>
    - auto::getIssuer
    - auto::getNotAfter
    - auto::hasExtension
    - auto::begin
    - PTF_ASSERT_VECTORS_EQUAL
    - PTF_ASSERT_TRUE
    - auto::getSerialNumber
    - auto::getPublicKeyAlgorithm
    - PTF_ASSERT_EQUAL
    - std::get<0>
    - auto::getExtensions
    - std::find_if
    - pcpp::internal::CryptoDataReader::fromPEMFile
    - auto::getSubject
    - pcpp::internal::CryptoDataReader::fromDERFile
    - auto::toString
    - auto::getSignatureAlgorithm
    - auto::end
    - auto::getRDNs
    - auto::getNotBefore
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(X509VariantsParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:347,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:347,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:354,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:354,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:362,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:363,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:363,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:370,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:371,1
    - Dst: auto::getNotBefore
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:371,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:379,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:380,1
    - Dst: auto::getSubject
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:380,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:386,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:386,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:392,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEMFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 395
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp
    functionUses: 0
    functionsReached:
    - auto::getVersion
    - pcpp::internal::CryptoDataReader::fromDER
    - PTF_ASSERT_RAISES
    - pcpp::internal::CryptoDataReader::fromPEMFile
    - auto::getSubject
    - auto::getNotBefore
    - pcpp::internal::CryptoDataReader::fromDERFile
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(X509InvalidDataTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:401,1
    - Dst: auto::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:402,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:403,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:404,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:405,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:405,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:406,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:406,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:411,1
    - Dst: auto::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:412,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:413,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:414,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:415,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:415,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:416,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:416,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:421,1
    - Dst: auto::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:422,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:423,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:424,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:425,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:425,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:431,1
    - Dst: auto::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:432,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:433,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:434,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:435,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:436,1
    - Dst: auto::isDigitalSignature
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:436,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:437,1
    - Dst: auto::isKeyEncipherment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:437,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:438,1
    - Dst: auto::isNonRepudiation
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:438,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:439,1
    - Dst: auto::isDataEncipherment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:439,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:440,1
    - Dst: auto::isKeyAgreement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:440,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:441,1
    - Dst: auto::isKeyCertSign
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:441,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:442,1
    - Dst: auto::isCRLSign
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:442,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:443,1
    - Dst: auto::isEncipherOnly
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:443,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:444,1
    - Dst: auto::isDecipherOnly
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:444,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:449,1
    - Dst: auto::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:450,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:451,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:452,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:453,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:454,1
    - Dst: auto::isDigitalSignature
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:454,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:455,1
    - Dst: auto::isKeyEncipherment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:455,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:456,1
    - Dst: auto::isNonRepudiation
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:456,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:457,1
    - Dst: auto::isDataEncipherment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:457,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:458,1
    - Dst: auto::isKeyAgreement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:458,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:459,1
    - Dst: auto::isKeyCertSign
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:459,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:460,1
    - Dst: auto::isCRLSign
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:460,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:461,1
    - Dst: auto::isEncipherOnly
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:461,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:462,1
    - Dst: auto::isDecipherOnly
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:462,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:467,1
    - Dst: auto::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:468,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:469,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:470,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:478,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:478,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:484,1
    - Dst: auto::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:485,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:486,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:487,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:487,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:492,1
    - Dst: auto::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:493,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:494,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:495,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:496,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:496,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:504,1
    - Dst: auto::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:505,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:506,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:507,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:507,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:515,1
    - Dst: auto::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:516,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:517,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:518,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 521
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp
    functionUses: 0
    functionsReached:
    - auto::isKeyCertSign
    - auto::isDigitalSignature
    - PTF_ASSERT_VECTORS_EQUAL
    - auto::isKeyEncipherment
    - PTF_ASSERT_TRUE
    - auto::getData
    - auto::castAs
    - auto::isDecipherOnly
    - PTF_ASSERT_EQUAL
    - auto::isNonRepudiation
    - auto::getExtension
    - auto::isDataEncipherment
    - pcpp::internal::CryptoDataReader::fromDER
    - auto::isKeyAgreement
    - PTF_ASSERT_NULL
    - pcpp::internal::CryptoDataReader::fromDERFile
    - auto::isCRLSign
    - auto::isEncipherOnly
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_RAISES
    - PTF_ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(X509ExtensionDataTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:15,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:17,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:19,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:21,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:21,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:23,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:24,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:26,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:29,1
    - Dst: auto::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:31,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:32,1
    - Dst: auto::getReserved
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:32,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:33,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:33,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:35,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:35,1
    - Dst: auto::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:36,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:38,1
    - Dst: auto::getWireGuardMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:40,1
    - Dst: auto::getSenderIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:40,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:45,1
    - Dst: auto::getInitiatorEphemeral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:45,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:52,1
    - Dst: auto::getEncryptedInitiatorStatic
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:52,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:57,1
    - Dst: auto::getEncryptedTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:57,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:61,1
    - Dst: auto::getMac1
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:61,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:65,1
    - Dst: auto::getMac2
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 66
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp
    functionUses: 0
    functionsReached:
    - auto::getEncryptedInitiatorStatic
    - auto::getMessageType
    - auto::getWireGuardMessageType
    - auto::getReserved
    - auto::getInitiatorEphemeral
    - auto::get
    - auto::getMessageTypeAsString
    - PTF_ASSERT_TRUE
    - auto::getMac1
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - auto::getHeaderLen
    - createPacketFromHexResource
    - auto::getSenderIndex
    - auto::getEncryptedTimestamp
    - auto::toString
    - PTF_ASSERT_NOT_NULL
    - auto::getMac2
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(WireGuardHandshakeInitParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:71,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:73,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:75,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:77,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:77,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:78,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:79,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:81,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:84,1
    - Dst: auto::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:84,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:86,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:87,1
    - Dst: auto::getReserved
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:87,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:88,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:90,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:90,1
    - Dst: auto::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:91,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:93,1
    - Dst: auto::getWireGuardMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:93,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:96,1
    - Dst: auto::getSenderIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:96,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:97,1
    - Dst: auto::getReceiverIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:97,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:103,1
    - Dst: auto::getResponderEphemeral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:103,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:108,1
    - Dst: auto::getEncryptedEmpty
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:108,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:112,1
    - Dst: auto::getMac1
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:112,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:116,1
    - Dst: auto::getMac2
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 117
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp
    functionUses: 0
    functionsReached:
    - auto::getResponderEphemeral
    - auto::getMessageType
    - auto::getWireGuardMessageType
    - auto::getReserved
    - auto::get
    - auto::getMessageTypeAsString
    - PTF_ASSERT_TRUE
    - auto::getMac1
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - auto::getHeaderLen
    - createPacketFromHexResource
    - auto::getSenderIndex
    - auto::getReceiverIndex
    - auto::toString
    - auto::getEncryptedEmpty
    - PTF_ASSERT_NOT_NULL
    - auto::getMac2
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(WireGuardHandshakeRespParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:122,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:124,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:126,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:128,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:128,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:129,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:130,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:132,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:133,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:135,1
    - Dst: auto::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:135,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:137,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:137,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:138,1
    - Dst: auto::getReserved
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:138,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:139,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:139,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:141,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:141,1
    - Dst: auto::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:142,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:144,1
    - Dst: auto::getWireGuardMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:144,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:147,1
    - Dst: auto::getReceiverIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:147,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:151,1
    - Dst: std::memcmp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:151,1
    - Dst: auto::getNonce
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:151,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:155,1
    - Dst: std::memcmp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:156,1
    - Dst: auto::getEncryptedCookie
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 157
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp
    functionUses: 0
    functionsReached:
    - auto::getReceiverIndex
    - auto::getMessageType
    - auto::toString
    - auto::getWireGuardMessageType
    - auto::getReserved
    - auto::getEncryptedCookie
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - auto::getHeaderLen
    - PTF_ASSERT_NOT_NULL
    - auto::getNonce
    - createPacketFromHexResource
    - auto::getMessageTypeAsString
    - PTF_ASSERT_TRUE
    - std::memcmp
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(WireGuardCookieReplyParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:162,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:164,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:166,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:167,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:167,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:168,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:169,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:171,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:172,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:174,1
    - Dst: auto::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:174,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:176,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:176,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:177,1
    - Dst: auto::getReserved
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:177,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:178,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:178,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:180,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:180,1
    - Dst: auto::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:181,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:183,1
    - Dst: auto::getWireGuardMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:183,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:186,1
    - Dst: auto::getReceiverIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:186,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:188,1
    - Dst: auto::getCounter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:188,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:199,1
    - Dst: auto::getEncryptedData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 201
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp
    functionUses: 0
    functionsReached:
    - auto::getReceiverIndex
    - auto::getMessageType
    - auto::toString
    - auto::getWireGuardMessageType
    - auto::getReserved
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - auto::getHeaderLen
    - PTF_ASSERT_NOT_NULL
    - auto::getCounter
    - createPacketFromHexResource
    - auto::getMessageTypeAsString
    - PTF_ASSERT_BUF_COMPARE
    - auto::getEncryptedData
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(WireGuardTransportDataParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:205,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:209,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:213,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:217,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:224,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:224,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:247,1
    - Dst: dynamic_cast<pcpp::WireGuardHandshakeInitiationLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:249,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:249,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:250,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:252,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getSenderIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:252,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:253,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getInitiatorEphemeral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:253,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:254,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getEncryptedInitiatorStatic
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:254,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:255,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getEncryptedTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:255,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:256,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getMac1
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:256,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:257,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getMac2
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:257,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:259,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:259,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:261,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:261,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:262,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:262,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:262,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:264,1
    - Dst: pcpp::WireGuardHandshakeInitiationLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:264,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:264,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:265,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:270,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:270,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:287,1
    - Dst: dynamic_cast<pcpp::WireGuardHandshakeResponseLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:289,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:289,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:290,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:291,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:291,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:291,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:292,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getSenderIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:292,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:293,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getReceiverIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:293,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:294,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getResponderEphemeral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:294,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:295,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getEncryptedEmpty
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:295,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:296,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getMac1
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:296,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:297,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getMac2
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:297,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:299,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:299,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:301,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:301,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:302,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:302,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:302,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:304,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:304,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:304,1
    - Dst: pcpp::WireGuardHandshakeResponseLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:305,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:311,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:311,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:320,1
    - Dst: dynamic_cast<pcpp::WireGuardCookieReplyLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:323,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:323,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:324,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:326,1
    - Dst: pcpp::WireGuardCookieReplyLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:326,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:326,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:327,1
    - Dst: pcpp::WireGuardCookieReplyLayer::getReceiverIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:327,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:328,1
    - Dst: std::memcmp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:328,1
    - Dst: pcpp::WireGuardCookieReplyLayer::getNonce
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:328,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:329,1
    - Dst: std::memcmp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:330,1
    - Dst: pcpp::WireGuardCookieReplyLayer::getEncryptedCookie
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:330,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:331,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:331,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:333,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:333,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:334,1
    - Dst: pcpp::WireGuardCookieReplyLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:334,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:334,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:336,1
    - Dst: pcpp::WireGuardCookieReplyLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:336,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:336,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:337,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:343,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:343,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:358,1
    - Dst: dynamic_cast<pcpp::WireGuardTransportDataLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:361,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:361,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:362,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:363,1
    - Dst: pcpp::WireGuardTransportDataLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:363,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:363,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:364,1
    - Dst: pcpp::WireGuardCookieReplyLayer::getReceiverIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:364,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:365,1
    - Dst: pcpp::WireGuardTransportDataLayer::getCounter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:365,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:366,1
    - Dst: pcpp::WireGuardTransportDataLayer::getEncryptedData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:366,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:367,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:367,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:369,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:369,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:370,1
    - Dst: pcpp::WireGuardTransportDataLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:370,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:370,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:372,1
    - Dst: pcpp::WireGuardTransportDataLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:372,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:372,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 376
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::WireGuardHandshakeResponseLayer*::getData
    - pcpp::WireGuardTransportDataLayer::getEncryptedData
    - pcpp::WireGuardHandshakeInitiationLayer::getMac1
    - pcpp::WireGuardTransportDataLayer::getCounter
    - pcpp::WireGuardHandshakeResponseLayer::getReceiverIndex
    - pcpp::WireGuardCookieReplyLayer::getDataLen
    - pcpp::WireGuardHandshakeInitiationLayer::getSenderIndex
    - pcpp::WireGuardHandshakeResponseLayer::getMac1
    - dynamic_cast<pcpp::WireGuardCookieReplyLayer*>
    - pcpp::WireGuardHandshakeInitiationLayer::getEncryptedTimestamp
    - pcpp::Packet::addLayer
    - pcpp::WireGuardHandshakeResponseLayer*::getDataLen
    - pcpp::WireGuardHandshakeInitiationLayer::getEncryptedInitiatorStatic
    - dynamic_cast<pcpp::WireGuardHandshakeInitiationLayer*>
    - pcpp::WireGuardHandshakeInitiationLayer::getMac2
    - pcpp::WireGuardHandshakeResponseLayer::getSenderIndex
    - get
    - pcpp::WireGuardHandshakeResponseLayer::getEncryptedEmpty
    - PTF_ASSERT_TRUE
    - pcpp::WireGuardHandshakeResponseLayer::getResponderEphemeral
    - auto::getData
    - pcpp::WireGuardCookieReplyLayer::getReceiverIndex
    - pcpp::WireGuardHandshakeInitiationLayer::getData
    - dynamic_cast<pcpp::WireGuardHandshakeResponseLayer*>
    - PTF_ASSERT_EQUAL
    - pcpp::WireGuardCookieReplyLayer::getData
    - data::get
    - pcpp::WireGuardCookieReplyLayer::getEncryptedCookie
    - pcpp::WireGuardTransportDataLayer::getDataLen
    - pcpp::Packet::detachLayer
    - memcpy
    - pcpp::WireGuardHandshakeResponseLayer::getData
    - createPacketAndBufferFromHexResource
    - pcpp::Packet::getRawPacket
    - pcpp::WireGuardHandshakeInitiationLayer::getInitiatorEphemeral
    - auto::getDataLen
    - pcpp::WireGuardHandshakeResponseLayer::getDataLen
    - pcpp::WireGuardCookieReplyLayer::getNonce
    - pcpp::WireGuardTransportDataLayer::getData
    - pcpp::WireGuardHandshakeResponseLayer::getMac2
    - dynamic_cast<pcpp::WireGuardTransportDataLayer*>
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::WireGuardHandshakeInitiationLayer::getDataLen
    - std::memcmp
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(WireGuardCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:381,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:384,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:386,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:388,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:388,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:390,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:391,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:393,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:394,1
    - Dst: auto::setReserved
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:414,1
    - Dst: auto::setSenderIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:415,1
    - Dst: auto::setInitiatorEphemeral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:416,1
    - Dst: auto::setEncryptedInitiatorStatic
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:417,1
    - Dst: auto::setEncryptedTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:418,1
    - Dst: auto::setMac1
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:419,1
    - Dst: auto::setMac2
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:420,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:421,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:424,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:424,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:425,1
    - Dst: auto::getReserved
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:425,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:425,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:426,1
    - Dst: auto::getSenderIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:426,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:427,1
    - Dst: auto::getInitiatorEphemeral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:427,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:428,1
    - Dst: auto::getEncryptedInitiatorStatic
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:428,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:429,1
    - Dst: auto::getEncryptedTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:429,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:430,1
    - Dst: auto::getMac1
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:430,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:431,1
    - Dst: auto::getMac2
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:431,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:434,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:436,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:438,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:438,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:440,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:441,1
    - Dst: auto::setReserved
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:459,1
    - Dst: auto::setSenderIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:460,1
    - Dst: auto::setReceiverIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:461,1
    - Dst: auto::setResponderEphemeral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:462,1
    - Dst: auto::setEncryptedEmpty
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:463,1
    - Dst: auto::setMac1
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:464,1
    - Dst: auto::setMac2
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:465,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:466,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:469,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:469,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:471,1
    - Dst: auto::getSenderIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:471,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:472,1
    - Dst: auto::getReceiverIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:472,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:473,1
    - Dst: auto::getResponderEphemeral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:473,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:474,1
    - Dst: auto::getEncryptedEmpty
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:474,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:475,1
    - Dst: auto::getMac1
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:475,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:476,1
    - Dst: auto::getMac2
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:476,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:479,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:481,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:483,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:483,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:485,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:486,1
    - Dst: auto::setReserved
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:495,1
    - Dst: auto::setNonce
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:496,1
    - Dst: auto::setReceiverIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:497,1
    - Dst: auto::setEncryptedCookie
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:498,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:499,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:502,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:502,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:503,1
    - Dst: auto::getReserved
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:503,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:503,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:504,1
    - Dst: auto::getReceiverIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:504,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:505,1
    - Dst: auto::getNonce
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:505,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:505,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:506,1
    - Dst: auto::getEncryptedCookie
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:506,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:506,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:509,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:511,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:513,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:513,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:515,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:516,1
    - Dst: auto::setReserved
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:529,1
    - Dst: auto::setCounter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:530,1
    - Dst: auto::setReceiverIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:531,1
    - Dst: auto::setEncryptedData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:532,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:533,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:536,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:536,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:537,1
    - Dst: auto::getCounter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:537,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:538,1
    - Dst: auto::getReceiverIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:538,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:540,1
    - Dst: auto::getEncryptedData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 543
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp
    functionUses: 0
    functionsReached:
    - auto::getResponderEphemeral
    - auto::setEncryptedInitiatorStatic
    - be32toh
    - auto::setEncryptedCookie
    - auto::getCounter
    - auto::setReceiverIndex
    - std::array::data
    - auto::getEncryptedInitiatorStatic
    - auto::setEncryptedEmpty
    - auto::getReserved
    - auto::getInitiatorEphemeral
    - auto::getEncryptedCookie
    - auto::setMac1
    - auto::get
    - auto::setResponderEphemeral
    - auto::getEncryptedData
    - PTF_ASSERT_TRUE
    - auto::getMac1
    - auto::setEncryptedData
    - auto::setSenderIndex
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - auto::setInitiatorEphemeral
    - memcpy
    - createPacketFromHexResource
    - auto::setEncryptedTimestamp
    - auto::getSenderIndex
    - auto::getEncryptedTimestamp
    - auto::getReceiverIndex
    - auto::getEncryptedEmpty
    - auto::setCounter
    - auto::getNonce
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    - auto::setReserved
    - auto::getMac2
    - auto::setMac2
    - auto::setNonce
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(WireGuardEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:13,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:15,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:16,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:16,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:17,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:21,1
    - Dst: pcpp::ModbusLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:21,1
    - Dst: auto*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:21,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:22,1
    - Dst: pcpp::ModbusLayer::getOsiModelLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:22,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:23,1
    - Dst: pcpp::ModbusLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:23,1
    - Dst: auto*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:23,1
    - Dst: pcpp::ModbusLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:23,1
    - Dst: pcpp::ModbusLayer::setTransactionId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:25,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:26,1
    - Dst: pcpp::ModbusLayer::getTransactionId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:26,1
    - Dst: pcpp::ModbusLayer::setUnitId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:28,1
    - Dst: pcpp::ModbusLayer::getUnitId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:28,1
    - Dst: pcpp::ModbusLayer::setFunctionCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:30,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:30,1
    - Dst: pcpp::ModbusLayer::getFunctionCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:30,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 33
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getDataLen
    - pcpp::ModbusLayer::getDataLen
    - auto::get
    - pcpp::ModbusLayer::setUnitId
    - PTF_ASSERT_TRUE
    - pcpp::ModbusLayer::getUnitId
    - static_cast<uint8_t>
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::ModbusLayer::getFunctionCode
    - pcpp::Packet::getLayerOfType
    - pcpp::ModbusLayer::getOsiModelLayer
    - pcpp::ModbusLayer::getHeaderLen
    - pcpp::ModbusLayer::setFunctionCode
    - createPacketFromHexResource
    - auto*::getData
    - pcpp::ModbusLayer::getData
    - pcpp::ModbusLayer::setTransactionId
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::ModbusLayer::getTransactionId
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(ModbusLayerCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:37,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:39,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:40,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:40,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:42,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:44,1
    - Dst: pcpp::ModbusLayer*::getTransactionId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:44,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:45,1
    - Dst: pcpp::ModbusLayer*::getProtocolId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:45,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:46,1
    - Dst: pcpp::ModbusLayer*::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:46,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:47,1
    - Dst: pcpp::ModbusLayer*::getUnitId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:48,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:48,1
    - Dst: pcpp::ModbusLayer*::getFunctionCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:48,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:49,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:51,1
    - Dst: pcpp::ModbusLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::ModbusLayer*::getTransactionId
    - pcpp::ModbusLayer*::getLength
    - static_cast<uint8_t>
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::ModbusLayer*::getUnitId
    - pcpp::ModbusLayer*::toString
    - pcpp::Packet::getLayerOfType
    - auto::get
    - PTF_ASSERT_NOT_NULL
    - pcpp::ModbusLayer*::getProtocolId
    - createPacketFromHexResource
    - PTF_ASSERT_TRUE
    - pcpp::ModbusLayer*::getFunctionCode
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(ModbusLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:59,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:61,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:62,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:62,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:63,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - auto::get
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_FALSE
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(ModbusLayerTruncatedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:19,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:22,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:24,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:26,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:26,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:27,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:28,1
    - Dst: pcpp::Sll2Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:29,1
    - Dst: pcpp::Sll2Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:29,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:30,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:30,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:32,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:32,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:33,1
    - Dst: pcpp::Sll2Layer*::getProtocolType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:33,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:34,1
    - Dst: pcpp::Sll2Layer*::getInterfaceIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:34,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:35,1
    - Dst: pcpp::Sll2Layer*::getArphrdType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:36,1
    - Dst: pcpp::Sll2Layer*::getPacketType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:37,1
    - Dst: pcpp::Sll2Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:38,1
    - Dst: pcpp::Sll2Layer*::getLinkLayerAddrLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:38,1
    - Dst: pcpp::Sll2Layer*::getLinkLayerAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:42,1
    - Dst: pcpp::Sll2Layer*::getLinkLayerAsMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 43
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Sll2Layer*::getNextLayer
    - pcpp::Packet::getFirstLayer
    - pcpp::Sll2Layer*::getProtocolType
    - pcpp::Sll2Layer*::getPacketType
    - pcpp::Sll2Layer*::getLinkLayerAddr
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Sll2Layer*::getInterfaceIndex
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::Sll2Layer*::getArphrdType
    - PTF_ASSERT_NOT_NULL
    - pcpp::Sll2Layer*::getLinkLayerAddrLen
    - createPacketFromHexResource
    - PTF_ASSERT_TRUE
    - pcpp::Sll2Layer*::getLinkLayerAsMacAddress
    - pcpp::Sll2Layer*::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(Sll2PacketParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:48,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:50,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:52,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:52,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:53,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - auto::get
    - PTF_ASSERT_TRUE
    - createPacketFromHexResource
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(Sll2ParseLLCTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Sll2Layer::setProtocolType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:59,1
    - Dst: pcpp::Sll2Layer::setMacAddressAsLinkLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:60,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:60,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:62,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:62,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:62,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:63,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:64,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:64,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:65,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:68,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:68,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:69,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:69,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:70,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:71,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:71,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:74,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:74,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:75,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:75,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:76,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:76,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:77,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:79,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:80,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:80,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:81,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:81,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:81,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:84,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:85,1
    - Dst: pcpp::Sll2Layer::setLinkLayerAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:85,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:87,1
    - Dst: pcpp::Sll2Layer::setLinkLayerAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 89
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer::getTcpHeader
    - htobe16
    - auto::data
    - htobe32
    - pcpp::Packet::addLayer
    - SuppressLogs::SuppressLogs
    - pcpp::SdpLayer::getOwnerIPv4Address
    - string
    - PTF_ASSERT_TRUE
    - pcpp::Sll2Layer::setLinkLayerAddr
    - PTF_ASSERT_EQUAL
    - pcpp::Sll2Layer::setMacAddressAsLinkLayer
    - pcpp::Sll2Layer::setProtocolType
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp_tests::loadHexResourceToVector
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(Sll2PacketCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:18,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:18,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:19,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:19,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:20,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:24,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:25,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:26,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:29,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:29,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:30,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:30,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:31,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:35,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:36,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:40,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:40,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:40,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:43,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:43,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:45,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:45,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:46,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:46,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:47,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:48,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 12
    functionDepth: 4
    functionLinenumber: 12
    functionLinenumberEnd: 50
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - htobe16
    - pcpp::Packet::addLayer
    - pcpp::hash5Tuple
    - PTF_ASSERT_EQUAL
    - pcpp::IPv4Layer::getIPv4Header
    - PTF_ASSERT_NOT_EQUAL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PacketUtilsHash5TupleUdp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:58,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:58,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:59,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:59,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:60,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:62,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:62,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:63,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:63,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:64,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:65,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:66,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:66,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:68,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:69,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:70,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:73,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:73,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:74,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:74,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:75,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:77,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:77,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:78,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:78,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:79,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:80,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:81,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:81,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:83,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:84,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:85,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:88,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:88,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:88,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:91,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:91,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:91,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:93,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:93,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:94,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:94,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:95,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:95,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:96,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:96,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:98,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:99,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:101,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:104,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:104,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:104,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:105,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:105,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 107
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer::getTcpHeader
    - htobe16
    - pcpp::Packet::addLayer
    - pcpp::Packet::computeCalculateFields
    - pcpp::hash5Tuple
    - PTF_ASSERT_EQUAL
    - htobe32
    - pcpp::IPv4Layer::getIPv4Header
    - PTF_ASSERT_NOT_EQUAL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PacketUtilsHash5TupleTcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:118,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:119,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:120,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:126,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:127,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:128,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:131,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:131,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:131,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:134,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:134,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:134,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:136,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:136,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:137,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:137,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:138,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:138,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:139,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:139,1
    - Dst: pcpp::UdpLayer::getUdpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:141,1
    - Dst: pcpp::UdpLayer::getUdpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:142,1
    - Dst: pcpp::UdpLayer::getUdpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:144,1
    - Dst: pcpp::UdpLayer::getUdpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:145,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:147,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:147,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:147,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:148,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:148,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 150
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::hash5Tuple
    - pcpp::Packet::addLayer
    - PTF_ASSERT_EQUAL
    - pcpp::UdpLayer::getUdpHeader
    - PTF_ASSERT_NOT_EQUAL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PacketUtilsHash5TupleIPv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:15,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:16,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:18,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:19,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:21,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:21,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:22,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:22,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:23,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:23,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:24,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:25,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:27,1
    - Dst: pcpp::IgmpV1Layer*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:28,1
    - Dst: pcpp::IgmpV1Layer*::getGroupAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:29,1
    - Dst: pcpp::IgmpV1Layer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:29,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:31,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:31,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:32,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:32,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:33,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:33,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:34,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:37,1
    - Dst: pcpp::IgmpV2Layer*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:38,1
    - Dst: pcpp::IgmpV2Layer*::getGroupAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:38,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:39,1
    - Dst: pcpp::IgmpV2Layer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 40
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IgmpV1Layer*::getGroupAddress
    - pcpp::IgmpV2Layer*::getGroupAddress
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - createPacketFromHexResource
    - pcpp::IgmpV2Layer*::getType
    - pcpp::IgmpV1Layer*::toString
    - PTF_ASSERT_TRUE
    - pcpp::IgmpV2Layer*::toString
    - pcpp::IgmpV1Layer*::getType
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IgmpParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:44,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:45,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:46,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:47,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:58,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:58,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:59,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:60,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:60,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:61,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:64,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:67,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:68,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:69,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:70,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:71,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:74,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:75,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:76,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:77,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:78,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:80,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:81,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:83,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:83,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:83,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:84,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:84,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:84,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:85,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:87,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:87,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:87,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:88,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:88,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:88,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:89,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:91,1
    - Dst: pcpp::IgmpV1Layer*::setType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:92,1
    - Dst: pcpp::IgmpV1Layer*::setGroupAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:93,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:93,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:94,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:96,1
    - Dst: pcpp::IgmpV1Layer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:96,1
    - Dst: pcpp::IgmpV2Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:96,1
    - Dst: pcpp::IgmpV1Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 97
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - htobe16
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - auto::data
    - pcpp::IgmpV1Layer*::setType
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - string
    - pcpp::Packet::getLayerOfType
    - pcpp::IgmpV2Layer::getData
    - auto::size
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IgmpV1Layer*::getHeaderLen
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp_tests::loadHexResourceToVector
    - pcpp::IgmpV1Layer*::setGroupAddress
    - pcpp::IgmpV1Layer*::getData
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IgmpCreateAndEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:101,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:102,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:104,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:105,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:107,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:107,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:108,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:108,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:109,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:109,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:110,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:111,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:112,1
    - Dst: pcpp::IgmpV3QueryLayer*::getGroupAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:112,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:113,1
    - Dst: pcpp::IgmpV3QueryLayer*::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:113,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:114,1
    - Dst: pcpp::IgmpV3QueryLayer*::getSourceAddressCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:114,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:115,1
    - Dst: pcpp::IgmpV3QueryLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:116,1
    - Dst: pcpp::IgmpV3QueryLayer*::getSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:117,1
    - Dst: pcpp::IgmpV3QueryLayer*::getSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:118,1
    - Dst: pcpp::IgmpV3QueryLayer*::getSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:118,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:119,1
    - Dst: pcpp::IgmpV3QueryLayer*::getSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:119,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:120,1
    - Dst: pcpp::IgmpV3QueryLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:120,1
    - Dst: pcpp::IgmpV3QueryLayer*::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:122,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:122,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:124,1
    - Dst: pcpp::IgmpV3QueryLayer*::getSourceAddressCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:124,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:125,1
    - Dst: pcpp::IgmpV3QueryLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:125,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:126,1
    - Dst: pcpp::IgmpV3QueryLayer*::getSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:126,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:127,1
    - Dst: pcpp::IgmpV3QueryLayer*::getSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:127,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:128,1
    - Dst: pcpp::IgmpV3QueryLayer*::getSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:128,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:129,1
    - Dst: pcpp::IgmpV3QueryLayer*::getSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:129,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:131,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:131,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:132,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:132,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:133,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:133,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:134,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:135,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:136,1
    - Dst: pcpp::IgmpV3ReportLayer*::getGroupRecordCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:136,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:137,1
    - Dst: pcpp::IgmpV3ReportLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:137,1
    - Dst: pcpp::IgmpV3ReportLayer*::getFirstGroupRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:138,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:139,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:140,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:141,1
    - Dst: pcpp::igmpv3_group_record*::getMulticastAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:141,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:142,1
    - Dst: pcpp::igmpv3_group_record*::getSourceAddressCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:143,1
    - Dst: pcpp::igmpv3_group_record*::getRecordLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:143,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:144,1
    - Dst: pcpp::igmpv3_group_record*::getSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:144,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:145,1
    - Dst: pcpp::igmpv3_group_record*::getSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:145,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:146,1
    - Dst: pcpp::igmpv3_group_record*::getSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:146,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:147,1
    - Dst: pcpp::igmpv3_group_record*::getSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:147,1
    - Dst: pcpp::IgmpV3ReportLayer*::getNextGroupRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:148,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:149,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:150,1
    - Dst: pcpp::IgmpV3ReportLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 151
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::IgmpV3QueryLayer*::getHeaderLen
    - pcpp::igmpv3_group_record*::getSourceAddressCount
    - pcpp::IgmpV3ReportLayer*::toString
    - pcpp::IgmpV3QueryLayer*::getGroupAddress
    - pcpp::igmpv3_group_record*::getRecordLen
    - pcpp::igmpv3_group_record*::getSourceAddressAtIndex
    - pcpp::IgmpV3QueryLayer*::getSourceAddressAtIndex
    - auto::get
    - PTF_ASSERT_TRUE
    - pcpp::IgmpV3QueryLayer*::getIgmpV3QueryHeader
    - pcpp::IgmpV3ReportLayer*::getHeaderLen
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - pcpp::igmpv3_group_record*::getMulticastAddress
    - pcpp::IgmpV3QueryLayer*::getSourceAddressCount
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::IgmpV3ReportLayer*::getFirstGroupRecord
    - pcpp::IgmpV3QueryLayer*::toString
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::IgmpV3ReportLayer*::getNextGroupRecord
    - pcpp::IgmpV3ReportLayer*::getGroupRecordCount
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(Igmpv3ParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:155,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:155,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:161,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:161,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:162,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:168,1
    - Dst: pcpp::IgmpV3QueryLayer::addSourceAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:168,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:171,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:171,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:172,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:172,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:173,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:173,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:176,1
    - Dst: pcpp::IgmpV3QueryLayer::addSourceAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:176,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:179,1
    - Dst: pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:179,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:184,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:185,1
    - Dst: pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:185,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:186,1
    - Dst: pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:186,1
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:187,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:187,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:188,1
    - Dst: pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:188,1
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:189,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:189,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:192,1
    - Dst: pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:192,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:195,1
    - Dst: pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:195,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:197,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:199,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:201,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:201,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:201,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:202,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:202,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:202,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:203,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:205,1
    - Dst: pcpp::IgmpV3QueryLayer::removeSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:205,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:208,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:209,1
    - Dst: pcpp::IgmpV3QueryLayer::removeSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:209,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:210,1
    - Dst: pcpp::IgmpV3QueryLayer::removeSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:210,1
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:211,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:211,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:212,1
    - Dst: pcpp::IgmpV3QueryLayer::removeSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:212,1
    - Dst: pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:213,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:213,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:216,1
    - Dst: pcpp::IgmpV3QueryLayer::removeSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:216,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:217,1
    - Dst: pcpp::IgmpV3QueryLayer::removeSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:217,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:218,1
    - Dst: pcpp::IgmpV3QueryLayer::removeSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:218,1
    - Dst: pcpp::IgmpV3QueryLayer::setGroupAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:220,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:220,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:222,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:224,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:226,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:228,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:228,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:228,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:229,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:229,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:229,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:230,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:232,1
    - Dst: pcpp::IgmpV3QueryLayer::removeAllSourceAddresses
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 233
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - htobe16
    - pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
    - pcpp::Packet::addLayer
    - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
    - SuppressLogs::SuppressLogs
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::IgmpV3QueryLayer::setGroupAddress
    - pcpp::IgmpV3QueryLayer::removeAllSourceAddresses
    - pcpp::IgmpV3QueryLayer::removeSourceAddressAtIndex
    - PTF_ASSERT_TRUE
    - pcpp::IgmpV3QueryLayer::addSourceAddress
    - PTF_ASSERT_EQUAL
    - auto::size
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp_tests::loadHexResourceToVector
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(Igmpv3QueryCreateAndEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:237,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:237,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:243,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:243,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:244,1
    - Dst: pcpp::IgmpV3ReportLayer::IgmpV3ReportLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:246,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:249,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:249,1
    - Dst: pcpp::IgmpV3ReportLayer::addGroupRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:251,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:251,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:252,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:253,1
    - Dst: pcpp::igmpv3_group_record*::getSourceAddressAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:253,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:253,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:256,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:256,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:257,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:257,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:258,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:258,1
    - Dst: pcpp::IgmpV3ReportLayer::addGroupRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:259,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:259,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:260,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:261,1
    - Dst: pcpp::igmpv3_group_record*::getSourceAddressCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:261,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:264,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:264,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:265,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:265,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:266,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:266,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:267,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:267,1
    - Dst: pcpp::IgmpV3ReportLayer::addGroupRecordAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:268,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:268,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:269,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:270,1
    - Dst: pcpp::igmpv3_group_record*::getRecordLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:270,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:273,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:273,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:274,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:274,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:277,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:278,1
    - Dst: pcpp::IgmpV3ReportLayer::addGroupRecordAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:278,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:278,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:279,1
    - Dst: pcpp::IgmpV3ReportLayer::addGroupRecordAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:279,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:279,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:280,1
    - Dst: pcpp::IgmpV3ReportLayer::addGroupRecordAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:280,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:280,1
    - Dst: pcpp::IgmpV3ReportLayer::addGroupRecordAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:283,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:283,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:284,1
    - Dst: pcpp::IgmpV3ReportLayer::addGroupRecordAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:285,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:285,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:286,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:288,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:289,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:289,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:290,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:290,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:291,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:291,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:293,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:295,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:297,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:297,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:297,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:298,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:298,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:298,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:299,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:301,1
    - Dst: pcpp::IgmpV3ReportLayer::removeGroupRecordAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:301,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:304,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:305,1
    - Dst: pcpp::IgmpV3ReportLayer::removeGroupRecordAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:305,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:306,1
    - Dst: pcpp::IgmpV3ReportLayer::removeGroupRecordAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:306,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:307,1
    - Dst: pcpp::IgmpV3ReportLayer::removeGroupRecordAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:307,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:310,1
    - Dst: pcpp::IgmpV3ReportLayer::removeGroupRecordAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:310,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:311,1
    - Dst: pcpp::IgmpV3ReportLayer::removeGroupRecordAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:311,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:312,1
    - Dst: pcpp::IgmpV3ReportLayer::removeGroupRecordAtIndex
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:312,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:314,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:316,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:316,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:316,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:318,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:319,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:321,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:321,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:321,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:322,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:324,1
    - Dst: pcpp::IgmpV3ReportLayer::removeAllGroupRecords
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 325
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - htobe16
    - pcpp::igmpv3_group_record*::getSourceAddressCount
    - pcpp::igmpv3_group_record*::getRecordLen
    - pcpp::igmpv3_group_record*::getSourceAddressAtIndex
    - pcpp::Packet::addLayer
    - SuppressLogs::SuppressLogs
    - pcpp::SdpLayer::getOwnerIPv4Address
    - std::vector::push_back
    - PTF_ASSERT_TRUE
    - pcpp::IgmpV3ReportLayer::addGroupRecordAtIndex
    - pcpp::Packet::Packet
    - PTF_ASSERT_EQUAL
    - auto::size
    - pcpp::IgmpV3ReportLayer::IgmpV3ReportLayer
    - PTF_ASSERT_NULL
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::IgmpV3ReportLayer::removeGroupRecordAtIndex
    - pcpp::IgmpV3ReportLayer::addGroupRecord
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IgmpV3ReportLayer::removeAllGroupRecords
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp_tests::loadHexResourceToVector
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(Igmpv3ReportCreateAndEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:21,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:24,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:26,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:28,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:29,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:29,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:30,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:31,1
    - Dst: pcpp::SllLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:32,1
    - Dst: pcpp::SllLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:32,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:33,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:33,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:34,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:35,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:36,1
    - Dst: pcpp::SllLayer*::getSllHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:37,1
    - Dst: pcpp::SllLayer*::getSllHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:37,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:38,1
    - Dst: pcpp::SllLayer*::getSllHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:38,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:38,1
    - Dst: pcpp::SllLayer*::getSllHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:42,1
    - Dst: pcpp::SllLayer*::getSllHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:42,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 43
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - htobe16
    - pcpp::SllLayer*::getNextLayer
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::SllLayer*::getSllHeader
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SllPacketParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SllLayer::setMacAddressAsLinkLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:48,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:48,1
    - Dst: pcpp::SllLayer::getSllHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:49,1
    - Dst: pcpp::SllLayer::getSllHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:50,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:52,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:52,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:52,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:53,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:54,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:54,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:55,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:58,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:58,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:59,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:59,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:60,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:61,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:61,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:62,1
    - Dst: pcpp::TcpLayer::addTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:63,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:63,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:64,1
    - Dst: pcpp::TcpLayer::addTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:65,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:65,1
    - Dst: pcpp::TcpLayer::addTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:66,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:67,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:68,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:68,1
    - Dst: pcpp::TcpOption::setValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:69,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:69,1
    - Dst: pcpp::TcpOption::setValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:70,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:70,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:73,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:73,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:74,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:74,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:75,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:75,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:77,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:79,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:81,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:81,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:81,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:82,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:82,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:82,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer::getTcpHeader
    - htobe16
    - auto::data
    - pcpp::SllLayer::setMacAddressAsLinkLayer
    - htobe32
    - pcpp::TcpOptionBuilder
    - pcpp::Packet::addLayer
    - pcpp::SdpLayer::getOwnerIPv4Address
    - string
    - pcpp::TcpOption::setValue
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_EQUAL
    - auto::size
    - pcpp::SllLayer::getSllHeader
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::TcpLayer::addTcpOption
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp_tests::loadHexResourceToVector
    - pcpp::TcpOption::isNotNull
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SllPacketCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:88,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:92,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:94,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:98,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:100,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:101,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:102,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:107,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:107,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:108,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:109,1
    - Dst: pcpp::NullLoopbackLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:110,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:111,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:112,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:112,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:113,1
    - Dst: pcpp::NullLoopbackLayer*::getFamily
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:113,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:115,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:115,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:116,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:117,1
    - Dst: pcpp::NullLoopbackLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:118,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:119,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:120,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:120,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:121,1
    - Dst: getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:121,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:121,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:122,1
    - Dst: pcpp::NullLoopbackLayer*::getFamily
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:122,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:124,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:124,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:125,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:126,1
    - Dst: pcpp::NullLoopbackLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:127,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:128,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:129,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:129,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:130,1
    - Dst: pcpp::NullLoopbackLayer*::getFamily
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:130,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:133,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:133,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:134,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:134,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:135,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:145,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:145,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:146,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:146,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:147,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:147,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:148,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:148,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:150,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:152,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:152,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:153,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:153,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 154
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp
    functionUses: 0
    functionsReached:
    - getSrcIPAddress
    - htobe16
    - pcpp::Layer*::getProtocol
    - pcpp::Packet::addLayer
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - get
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - data::get
    - createPacketAndBufferFromHexResource
    - createPacketFromHexResource
    - pcpp::NullLoopbackLayer*::getFamily
    - pcpp::NullLoopbackLayer*::getNextLayer
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(NullLoopbackTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:18,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:20,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:22,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:22,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:23,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:23,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:24,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:25,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:27,1
    - Dst: pcpp::PPPoESessionLayer*::getPrevLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:28,1
    - Dst: pcpp::PPPoESessionLayer*::getPrevLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:28,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:29,1
    - Dst: pcpp::PPPoESessionLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:30,1
    - Dst: pcpp::PPPoESessionLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:32,1
    - Dst: pcpp::PPPoESessionLayer*::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:32,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:33,1
    - Dst: pcpp::PPPoESessionLayer*::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:33,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:34,1
    - Dst: pcpp::PPPoESessionLayer*::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:34,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:35,1
    - Dst: pcpp::PPPoESessionLayer*::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:35,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:36,1
    - Dst: pcpp::PPPoESessionLayer*::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:36,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:37,1
    - Dst: pcpp::PPPoESessionLayer*::getPPPNextProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:39,1
    - Dst: pcpp::PPPoESessionLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:39,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 41
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PPPoESessionLayer*::getPPPoEHeader
    - htobe16
    - pcpp::PPPoESessionLayer*::toString
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::get
    - string
    - pcpp::PPPoESessionLayer*::getPPPNextProtocol
    - PTF_ASSERT_NOT_NULL
    - pcpp::PPPoESessionLayer*::getPrevLayer
    - createPacketFromHexResource
    - PTF_ASSERT_TRUE
    - pcpp::PPPoESessionLayer*::getNextLayer
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PPPoESessionLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:45,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:49,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:51,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:53,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:54,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:55,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:58,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:58,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:59,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:59,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:60,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:60,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:61,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:61,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:62,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:62,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:64,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:66,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:66,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:67,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:67,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 68
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - data::get
    - PTF_ASSERT_BUF_COMPARE
    - createPacketAndBufferFromHexResource
    - get
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PPPoESessionLayerCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:73,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:75,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:77,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:79,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:79,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:80,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:80,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:81,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:81,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:83,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:84,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:86,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getPrevLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:86,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:87,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:87,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:89,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:89,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:90,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:90,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:91,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:91,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:92,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:92,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:92,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:93,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:93,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:93,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getFirstTag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:95,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:96,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:96,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:97,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:97,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:98,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:98,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getNextTag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:100,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:101,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:101,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:102,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:103,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:103,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:104,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:104,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:104,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getTag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:107,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:108,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:108,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:109,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getNextTag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:109,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:110,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:110,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:111,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:111,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:112,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getValueAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:112,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getTag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:115,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:116,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:116,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:117,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getNextTag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:118,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:118,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:119,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:119,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:120,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:120,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:121,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:121,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:122,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getNextTag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:122,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:124,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::getTagCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:124,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:126,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:126,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 127
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::PPPoEDiscoveryLayer*::getNextLayer
    - be32toh
    - pcpp::PPPoEDiscoveryLayer*::getPrevLayer
    - pcpp::PPPoEDiscoveryLayer::PPPoETag::getValueAsString
    - pcpp::PPPoEDiscoveryLayer*::getPPPoEHeader
    - auto::get
    - string
    - pcpp::PPPoEDiscoveryLayer::PPPoETag::isNull
    - PTF_ASSERT_TRUE
    - pcpp::PPPoEDiscoveryLayer::PPPoETag::getValueAs
    - pcpp::PPPoEDiscoveryLayer*::getTag
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::PPPoEDiscoveryLayer*::toString
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::PPPoEDiscoveryLayer::PPPoETag::getType
    - pcpp::PPPoEDiscoveryLayer::PPPoETag::getDataSize
    - pcpp::PPPoEDiscoveryLayer*::getNextTag
    - pcpp::PPPoEDiscoveryLayer*::getFirstTag
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::PPPoEDiscoveryLayer*::getTagCount
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PPPoEDiscoveryLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:131,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:135,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:137,1
    - Dst: pcpp::PPPoEDiscoveryLayer::addTag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:141,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:141,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:142,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:143,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:143,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:143,1
    - Dst: pcpp::PPPoEDiscoveryLayer::addTagAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:146,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:147,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:148,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:149,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:149,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:150,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:150,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:150,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:153,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:153,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:154,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:154,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:156,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:158,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:158,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:159,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:159,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:159,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:161,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:163,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:164,1
    - Dst: pcpp::EthLayer*::setSourceMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:165,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:165,1
    - Dst: pcpp::EthLayer*::setDestMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:166,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:166,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:168,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:169,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:169,1
    - Dst: pcpp::PPPoEDiscoveryLayer::addTag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:173,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:174,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:175,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:175,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:176,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:176,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:176,1
    - Dst: pcpp::PPPoEDiscoveryLayer::addTagAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:178,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:179,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:180,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:181,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:181,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:182,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:182,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:182,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:185,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:186,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:186,1
    - Dst: pcpp::PPPoEDiscoveryLayer::addTagAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:187,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:188,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETag::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:189,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:190,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:190,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:191,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:191,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:191,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:194,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:195,1
    - Dst: pcpp::PPPoEDiscoveryLayer::removeTag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:195,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:198,1
    - Dst: pcpp::PPPoEDiscoveryLayer::removeTag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:198,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:199,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTagCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:199,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:200,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:200,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:200,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:202,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getTag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:202,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:204,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:206,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:206,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:206,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:207,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:207,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:207,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:207,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:209,1
    - Dst: pcpp::PPPoEDiscoveryLayer::removeAllTags
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:209,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:210,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:212,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:212,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:213,1
    - Dst: pcpp::PPPoEDiscoveryLayer::getPPPoEHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 214
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp
    functionUses: 0
    functionsReached:
    - auto::data
    - htobe16
    - pcpp::EthLayer*::setSourceMac
    - pcpp::PPPoEDiscoveryLayer::getPPPoEHeader
    - pcpp::PPPoEDiscoveryLayer::addTagAfter
    - pcpp::EthLayer*::setDestMac
    - pcpp::PPPoEDiscoveryLayer::addTag
    - pcpp::Packet::addLayer
    - SuppressLogs::SuppressLogs
    - pcpp::PPPoEDiscoveryLayer::PPPoETag::isNull
    - get
    - PTF_ASSERT_TRUE
    - pcpp::PPPoEDiscoveryLayer::removeTag
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - pcpp::PPPoEDiscoveryLayer::getTagCount
    - data::get
    - auto::size
    - pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
    - pcpp::PPPoEDiscoveryLayer::removeAllTags
    - createPacketAndBufferFromHexResource
    - pcpp::PPPoEDiscoveryLayer::getHeaderLen
    - pcpp::PPPoEDiscoveryLayer::getTag
    - pcpp::Packet::computeCalculateFields
    - pcpp::PPPoEDiscoveryLayer::PPPoETag::getType
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::StpLayer::IDtoMacAddress
    - pcpp_tests::loadHexResourceToVector
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PPPoEDiscoveryLayerCreateTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:13,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:14,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:16,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:17,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:17,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:18,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:19,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:21,1
    - Dst: auto*::getProtocolId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:21,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:22,1
    - Dst: auto*::getMsgType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:22,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:23,1
    - Dst: auto*::getPduRef
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:24,1
    - Dst: auto*::getParamLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:24,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:25,1
    - Dst: auto*::getDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:25,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:26,1
    - Dst: auto*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:26,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:27,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:29,1
    - Dst: auto*::getParameter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:29,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:31,1
    - Dst: auto*::getParameter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:31,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:33,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:35,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:36,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:36,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:37,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:39,1
    - Dst: auto*::getProtocolId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:40,1
    - Dst: auto*::getMsgType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:41,1
    - Dst: auto*::getPduRef
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:42,1
    - Dst: auto*::getParamLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:43,1
    - Dst: auto*::getDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:44,1
    - Dst: auto*::getErrorClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:44,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:45,1
    - Dst: auto*::getErrorCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:45,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:46,1
    - Dst: auto*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:46,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:48,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:48,1
    - Dst: auto*::setErrorCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:50,1
    - Dst: auto*::setErrorClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:52,1
    - Dst: auto*::getErrorClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:52,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:53,1
    - Dst: auto*::getErrorCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:53,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:54,1
    - Dst: auto*::getParameter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:54,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:56,1
    - Dst: auto*::getParameter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 57
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getErrorCode
    - auto*::getErrorClass
    - auto*::getParamLength
    - auto*::getParameter
    - auto::get
    - PTF_ASSERT_TRUE
    - auto*::setErrorClass
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto*::setErrorCode
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - auto*::toString
    - createPacketFromHexResource
    - auto*::getMsgType
    - auto*::getHeaderLen
    - auto*::getProtocolId
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    - auto*::getDataLength
    - auto*::getPduRef
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(S7CommLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:63,1
    - Dst: pcpp::S7CommLayer::getMsgType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:63,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:64,1
    - Dst: pcpp::S7CommLayer::getPduRef
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:64,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:65,1
    - Dst: pcpp::S7CommLayer::getParamLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:65,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:66,1
    - Dst: pcpp::S7CommLayer::getDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:66,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:67,1
    - Dst: pcpp::S7CommLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:67,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:68,1
    - Dst: pcpp::S7CommLayer::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:68,1
    - Dst: pcpp::S7CommLayer::setMsgType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:70,1
    - Dst: pcpp::S7CommLayer::setPduRef
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:71,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:73,1
    - Dst: pcpp::S7CommLayer::getMsgType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:73,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:74,1
    - Dst: pcpp::S7CommLayer::getPduRef
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:74,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:75,1
    - Dst: pcpp::S7CommLayer::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:75,1
    - Dst: pcpp::S7CommLayer::setMsgType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:77,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:78,1
    - Dst: pcpp::S7CommLayer::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:78,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:82,1
    - Dst: pcpp::S7CommLayer::getMsgType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:83,1
    - Dst: pcpp::S7CommLayer::getErrorClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:83,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:84,1
    - Dst: pcpp::S7CommLayer::getErrorCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:84,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:85,1
    - Dst: pcpp::S7CommLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:85,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:86,1
    - Dst: pcpp::S7CommLayer::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 87
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::S7CommLayer::setPduRef
    - PTF_ASSERT_EQUAL
    - pcpp::S7CommLayer::getMsgType
    - pcpp::S7CommLayer::getErrorClass
    - pcpp::S7CommLayer::toString
    - pcpp::S7CommLayer::getErrorCode
    - pcpp::S7CommLayer::getPduRef
    - pcpp::S7CommLayer::setMsgType
    - pcpp::S7CommLayer::getHeaderLen
    - pcpp::S7CommLayer::getParamLength
    - pcpp::S7CommLayer::getDataLength
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(S7CommLayerCreationTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:15,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' text'
    - ' filePath'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 18
    functionName: compareStringToFile
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp
    functionUses: 0
    functionsReached:
    - std::istreambuf_iterator<char>
    linkageType: ''
    returnType: bool
    signature: bool compareStringToFile(const std::string& text, const std::string&
      filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:29,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' data'
    - ' filePath'
    argTypes:
    - std::vector<uint8_t>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: compareVectorToBinaryFile
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp
    functionUses: 0
    functionsReached:
    - std::istreambuf_iterator<char>
    linkageType: ''
    returnType: bool
    signature: bool compareVectorToBinaryFile(const std::vector<uint8_t>& data, const
      std::string& filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:15,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' text'
    - ' filePath'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 18
    functionName: compareStringToFile
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp
    functionUses: 0
    functionsReached:
    - std::istreambuf_iterator<char>
    linkageType: ''
    returnType: bool
    signature: bool compareStringToFile(const std::string& text, const std::string&
      filePath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:29,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' data'
    - ' filePath'
    argTypes:
    - std::vector<uint8_t>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: compareVectorToBinaryFile
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp
    functionUses: 0
    functionsReached:
    - std::istreambuf_iterator<char>
    linkageType: ''
    returnType: bool
    signature: bool compareVectorToBinaryFile(const std::vector<uint8_t>& data, const
      std::string& filePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::internal::CryptoDataReader::fromPEMFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:39,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:40,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:42,1
    - Dst: compareStringToFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:42,1
    - Dst: auto::toPEM
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:42,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:43,1
    - Dst: compareVectorToBinaryFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:43,1
    - Dst: auto::toDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:43,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:46,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:51,1
    - Dst: getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:52,1
    - Dst: getModulus
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:53,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:55,1
    - Dst: getPublicExponent
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:55,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:56,1
    - Dst: getPrivateExponent
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:57,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:59,1
    - Dst: getPrime1
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:60,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:62,1
    - Dst: getPrime2
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:63,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:65,1
    - Dst: getExponent1
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:66,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:68,1
    - Dst: getExponent2
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:71,1
    - Dst: getCoefficient
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:72,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEMFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:79,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:80,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:82,1
    - Dst: compareStringToFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:82,1
    - Dst: auto::toPEM
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:82,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:83,1
    - Dst: compareVectorToBinaryFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:83,1
    - Dst: auto::toDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:83,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:86,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:87,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:91,1
    - Dst: getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:91,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:92,1
    - Dst: getPrivateKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:92,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:94,1
    - Dst: getParameters
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:94,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:95,1
    - Dst: getParameters
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:95,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:96,1
    - Dst: getPublicKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:97,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEM
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:106,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:107,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:107,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:108,1
    - Dst: auto::getPrivateKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:108,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:110,1
    - Dst: auto::getParameters
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:110,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:111,1
    - Dst: auto::getPublicKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:111,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEMFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:116,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:117,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:119,1
    - Dst: compareStringToFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:119,1
    - Dst: auto::toPEM
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:119,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:120,1
    - Dst: compareVectorToBinaryFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:121,1
    - Dst: auto::toDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:121,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:124,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:125,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:129,1
    - Dst: getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:129,1
    - Dst: getPrivateKeyAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:130,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:131,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:132,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:132,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:133,1
    - Dst: auto::getOidValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:133,1
    - Dst: getPrivateKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:135,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:136,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:137,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:138,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:138,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:139,1
    - Dst: auto::getModulus
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:140,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:142,1
    - Dst: auto::getPublicExponent
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:143,1
    - Dst: auto::getPrivateExponent
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:144,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:146,1
    - Dst: auto::getPrime1
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:147,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:149,1
    - Dst: auto::getPrime2
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:150,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:152,1
    - Dst: auto::getExponent1
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:153,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:155,1
    - Dst: auto::getExponent2
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:156,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:158,1
    - Dst: auto::getCoefficient
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:159,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEMFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:166,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:167,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:169,1
    - Dst: compareStringToFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:169,1
    - Dst: auto::toPEM
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:169,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:170,1
    - Dst: compareVectorToBinaryFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:170,1
    - Dst: auto::toDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:170,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:173,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:174,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:178,1
    - Dst: getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:178,1
    - Dst: getPrivateKeyAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:179,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:180,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:181,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:181,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:182,1
    - Dst: auto::getOidValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:182,1
    - Dst: getPrivateKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:184,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:185,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:186,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:187,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:187,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:188,1
    - Dst: auto::getPrivateKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:188,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:190,1
    - Dst: auto::getParameters
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:190,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:191,1
    - Dst: auto::getPublicKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:192,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEMFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:199,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:200,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:202,1
    - Dst: compareStringToFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:202,1
    - Dst: auto::toPEM
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:202,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:203,1
    - Dst: compareVectorToBinaryFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:204,1
    - Dst: auto::toDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:204,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:207,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:208,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:212,1
    - Dst: getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:212,1
    - Dst: getPrivateKeyAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:213,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:214,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:215,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:215,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:216,1
    - Dst: auto::getOidValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:216,1
    - Dst: getPrivateKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:218,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:219,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:220,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:221,1
    - Dst: auto::getPrivateKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:221,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:223,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:223,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:235,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:235,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:235,1
    - Dst: auto::getPrivateKeyAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:236,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:237,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:238,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:238,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:239,1
    - Dst: auto::getOidValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:239,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:240,1
    - Dst: auto::getPrivateKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:240,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEMFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:245,1
    - Dst: auto::getPrivateKeyAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:246,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:247,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:248,1
    - Dst: auto::getCoefficient
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:249,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:252,1
    - Dst: auto::getPrivateKeyAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:252,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:259,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:259,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:259,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:260,1
    - Dst: auto::getPrivateKeyAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:260,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEMFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:265,1
    - Dst: pcpp::internal::CryptoDataReader::fromDERFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:266,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:268,1
    - Dst: compareStringToFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:268,1
    - Dst: auto::toPEM
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:268,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:269,1
    - Dst: compareVectorToBinaryFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:269,1
    - Dst: auto::toDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:269,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:272,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:273,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:277,1
    - Dst: getModulus
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:278,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:280,1
    - Dst: getPublicExponent
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:280,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEMFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:286,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:287,1
    - Dst: auto::getAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:287,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:288,1
    - Dst: auto::getSubjectPublicKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:289,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEMFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:295,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:296,1
    - Dst: auto::getAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:296,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:297,1
    - Dst: auto::getSubjectPublicKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 105
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 301
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp
    functionUses: 0
    functionsReached:
    - auto::getVersion
    - getVersion
    - getPrivateExponent
    - getModulus
    - auto::getPrivateExponent
    - auto::getExponent2
    - auto::getParameters
    - auto::toPEM
    - getPrime1
    - getExponent2
    - auto::getPrime1
    - getPrivateKey
    - getParameters
    - getPrivateKeyAlgorithm
    - compareStringToFile
    - auto::getPrime2
    - PTF_ASSERT_TRUE
    - auto::getAlgorithm
    - getExponent1
    - getPublicKey
    - pcpp::internal::CryptoDataReader::fromPEM
    - auto::castAs
    - auto::getPrivateKeyAlgorithm
    - auto::getPublicExponent
    - auto::getCoefficient
    - PTF_ASSERT_EQUAL
    - auto::getPrivateKeyAs
    - pcpp::internal::CryptoDataReader::fromDER
    - auto::toDER
    - compareVectorToBinaryFile
    - pcpp::internal::CryptoDataReader::fromPEMFile
    - PTF_ASSERT_NULL
    - pcpp::internal::CryptoDataReader::fromDERFile
    - auto::toString
    - auto::getPublicKey
    - std::vector::size
    - getPrime2
    - getCoefficient
    - auto::getExponent1
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_RAISES
    - std::vector::data
    - auto::getSubjectPublicKey
    - auto::getModulus
    - auto::getPrivateKey
    - getPublicExponent
    - auto::getOidValue
    - std::move
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(CryptoKeyDecodingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:307,1
    - Dst: pcpp::internal::CryptoDataReader::fromPEMFile
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:307,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:314,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:314,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:314,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:314,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:322,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:322,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:322,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:323,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:323,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:337,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:337,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:337,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:338,1
    - Dst: auto::getParameters
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:338,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:352,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:352,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:352,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:353,1
    - Dst: auto::getPublicKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:353,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:362,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:362,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:362,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:363,1
    - Dst: auto::getPrivateKeyAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:363,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:365,1
    - Dst: auto::getPrivateKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:366,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:376,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:376,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:376,1
    - Dst: auto::getPrivateKeyAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:377,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:378,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:379,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:379,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:380,1
    - Dst: auto::getOidValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:380,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:381,1
    - Dst: auto::getPrivateKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:381,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:390,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:390,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:390,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:391,1
    - Dst: auto::getPrivateKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:391,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:407,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:407,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:407,1
    - Dst: auto::getPrivateKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:408,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:409,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:410,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:411,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:411,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:421,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:421,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:421,1
    - Dst: auto::getPrivateKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:422,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:423,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:424,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:425,1
    - Dst: auto::getPrivateKey
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:425,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:438,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:438,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:438,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:439,1
    - Dst: auto::getAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:439,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:452,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:452,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:452,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:453,1
    - Dst: auto::getAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:453,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:459,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:459,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:459,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:460,1
    - Dst: auto::getAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:460,1
    - Dst: pcpp::internal::CryptoDataReader::fromDER
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:473,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:473,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:473,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:474,1
    - Dst: auto::getAlgorithm
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 477
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp
    functionUses: 0
    functionsReached:
    - auto::getVersion
    - auto::toString
    - auto::getPublicKey
    - std::vector::size
    - PTF_ASSERT_EQUAL
    - auto::getAlgorithm
    - pcpp::internal::CryptoDataReader::fromDER
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_RAISES
    - std::vector::data
    - auto::getParameters
    - auto::getPrivateKey
    - pcpp::internal::CryptoDataReader::fromPEMFile
    - PTF_ASSERT_NULL
    - auto::getOidValue
    - auto::castAs
    - auto::getPrivateKeyAlgorithm
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(CryptoKeyInvalidDataTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:19,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:23,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:24,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:24,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:25,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:25,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:26,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:26,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:27,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:27,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:29,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:31,1
    - Dst: pcpp::IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:32,1
    - Dst: pcpp::IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:32,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:35,1
    - Dst: pcpp::IPv6Layer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:36,1
    - Dst: pcpp::IPv6Layer*::getDstIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:36,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:38,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:40,1
    - Dst: pcpp::UdpLayer*::getDstPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:41,1
    - Dst: pcpp::UdpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:42,1
    - Dst: pcpp::UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:42,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:43,1
    - Dst: pcpp::UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:43,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:43,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:45,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:45,1
    - Dst: pcpp::IPv6Layer::getIPv6Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:48,1
    - Dst: pcpp::UdpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:54,1
    - Dst: pcpp::Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:55,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:55,1
    - Dst: pcpp::Layer*::copyData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:56,1
    - Dst: pcpp::Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:57,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:60,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:60,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:61,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:61,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:62,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:62,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:63,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:63,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:64,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:66,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:66,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:67,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:67,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:67,1
    - Dst: pcpp::IPv6Layer::IPv6Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:69,1
    - Dst: pcpp::IPv6Layer::setSrcIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:70,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:71,1
    - Dst: pcpp::IPv6Layer::getSrcIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:71,1
    - Dst: pcpp::IPv6Layer::setDstIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:73,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:74,1
    - Dst: pcpp::IPv6Layer::getDstIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 77
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6Layer::getDstIPv6Address
    - htobe16
    - pcpp::IPv6Layer*::getIPv6Header
    - pcpp::UdpLayer*::getNextLayer
    - pcpp::IPv6Layer::getSrcIPv6Address
    - pcpp::Packet::addLayer
    - pcpp::IPv6Layer::setDstIPv6Address
    - pcpp::IPv6Layer*::getDstIPAddress
    - get
    - PTF_ASSERT_TRUE
    - pcpp::Layer*::copyData
    - pcpp::UdpLayer*::getDstPort
    - uint8_t::uint8_t
    - pcpp::Layer*::getDataLen
    - pcpp::UdpLayer*::getUdpHeader
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - data::get
    - pcpp::IPv6Layer::setSrcIPv6Address
    - createPacketAndBufferFromHexResource
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::UdpLayer*::getSrcPort
    - pcpp::IPv6Layer::getIPv6Header
    - PTF_ASSERT_NOT_NULL
    - pcpp::IPv6Layer*::getSrcIPAddress
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv6Layer::IPv6Layer
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IPv6UdpPacketParseAndCreate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:81,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:82,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:83,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:84,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:86,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:87,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:88,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:89,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:91,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:92,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:93,1
    - Dst: pcpp::IPv6FragmentationHeader*::getExtensionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:93,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:94,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:95,1
    - Dst: pcpp::IPv6FragmentationHeader*::isFirstFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:95,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:96,1
    - Dst: pcpp::IPv6FragmentationHeader*::isLastFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:96,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:97,1
    - Dst: pcpp::IPv6FragmentationHeader*::getFragmentOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:97,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:98,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:98,1
    - Dst: pcpp::IPv6FragmentationHeader*::getFragHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:98,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:99,1
    - Dst: pcpp::IPv6FragmentationHeader*::getFragHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:99,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:101,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:103,1
    - Dst: pcpp::IPv6FragmentationHeader*::getExtensionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:103,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:104,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:105,1
    - Dst: pcpp::IPv6FragmentationHeader*::isFirstFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:105,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:106,1
    - Dst: pcpp::IPv6FragmentationHeader*::isLastFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:106,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:107,1
    - Dst: pcpp::IPv6FragmentationHeader*::getFragmentOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:107,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:108,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:108,1
    - Dst: pcpp::IPv6FragmentationHeader*::getFragHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:108,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:109,1
    - Dst: pcpp::IPv6FragmentationHeader*::getFragHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:109,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:111,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:112,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:113,1
    - Dst: pcpp::IPv6FragmentationHeader*::getExtensionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:113,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:114,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:115,1
    - Dst: pcpp::IPv6FragmentationHeader*::isFirstFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:115,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:116,1
    - Dst: pcpp::IPv6FragmentationHeader*::isLastFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:117,1
    - Dst: pcpp::IPv6FragmentationHeader*::getFragmentOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:118,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:118,1
    - Dst: pcpp::IPv6FragmentationHeader*::getFragHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:118,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:119,1
    - Dst: pcpp::IPv6FragmentationHeader*::getFragHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:119,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:121,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:122,1
    - Dst: pcpp::IPv6Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:122,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:123,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:124,1
    - Dst: pcpp::IPv6FragmentationHeader*::getExtensionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:124,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:125,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:126,1
    - Dst: pcpp::IPv6FragmentationHeader*::isFirstFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:126,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:127,1
    - Dst: pcpp::IPv6FragmentationHeader*::isLastFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:127,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:128,1
    - Dst: pcpp::IPv6FragmentationHeader*::getFragmentOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:128,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:129,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:129,1
    - Dst: pcpp::IPv6FragmentationHeader*::getFragHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:129,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:130,1
    - Dst: pcpp::IPv6FragmentationHeader*::getFragHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:130,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:132,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:134,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:135,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:135,1
    - Dst: pcpp::IPv6Layer::removeAllExtensions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:136,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:137,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:137,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:139,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:141,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:142,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:143,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:144,1
    - Dst: pcpp::IPv6Layer::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:147,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:148,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:148,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:150,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:152,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:152,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:152,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:153,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:153,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:153,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 155
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp
    functionUses: 0
    functionsReached:
    - be32toh
    - pcpp::IPv6FragmentationHeader*::getExtensionType
    - pcpp::IPv6FragmentationHeader*::getFragHeader
    - pcpp::Packet::addLayer
    - auto::get
    - PTF_ASSERT_TRUE
    - pcpp::Packet::Packet
    - pcpp::IPv6Layer::addExtension
    - pcpp::IPv6FragmentationHeader*::isLastFragment
    - PTF_ASSERT_EQUAL
    - pcpp::IPv6Layer*::getExtensionOfType
    - pcpp::IPv6FragmentationHeader*::isFirstFragment
    - pcpp::Packet::getLayerOfType
    - pcpp::IPv6FragmentationHeader*::getFragmentOffset
    - createPacketFromHexResource
    - pcpp::Packet::computeCalculateFields
    - pcpp::IPv6Layer::getHeaderLen
    - pcpp::Packet::getRawPacket
    - pcpp::IPv6Layer*::getHeaderLen
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv6Layer::removeAllExtensions
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IPv6FragmentationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:159,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:160,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:161,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:162,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:163,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:164,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:166,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:167,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:168,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:169,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:170,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:171,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:174,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:175,1
    - Dst: pcpp::IPv6Layer*::getExtensionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:175,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:176,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:177,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:178,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:179,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:180,1
    - Dst: pcpp::IPv6DestinationHeader*::getExtensionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:180,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:181,1
    - Dst: pcpp::IPv6DestinationHeader*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:181,1
    - Dst: pcpp::IPv6DestinationHeader*::getFirstOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:182,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:183,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:183,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:184,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:184,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:185,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:185,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:186,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:186,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:187,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:187,1
    - Dst: pcpp::IPv6DestinationHeader*::getNextOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:188,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:189,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:189,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:190,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:190,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:191,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:191,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:192,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:192,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:193,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:193,1
    - Dst: pcpp::IPv6DestinationHeader*::getNextOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:194,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:195,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:195,1
    - Dst: pcpp::IPv6DestinationHeader*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:196,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:197,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:197,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:198,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:198,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:199,1
    - Dst: pcpp::IPv6DestinationHeader*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:199,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:200,1
    - Dst: pcpp::IPv6DestinationHeader*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:200,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:203,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:204,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:205,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:206,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:207,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:208,1
    - Dst: pcpp::IPv6HopByHopHeader*::getExtensionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:208,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:209,1
    - Dst: pcpp::IPv6HopByHopHeader*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:209,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:210,1
    - Dst: pcpp::IPv6HopByHopHeader*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:210,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:211,1
    - Dst: pcpp::IPv6HopByHopHeader*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:211,1
    - Dst: pcpp::IPv6HopByHopHeader*::getFirstOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:212,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:213,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:213,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:214,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:214,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:215,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:215,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:216,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:216,1
    - Dst: pcpp::IPv6HopByHopHeader*::getNextOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:217,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:218,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:218,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:219,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:219,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:220,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:220,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:221,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:221,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:222,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:222,1
    - Dst: pcpp::IPv6HopByHopHeader*::getNextOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:223,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:224,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:224,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:227,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:228,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:229,1
    - Dst: pcpp::IPv6Layer*::getExtensionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:229,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:230,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:231,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:232,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:233,1
    - Dst: pcpp::IPv6RoutingHeader*::getExtensionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:233,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:234,1
    - Dst: pcpp::IPv6RoutingHeader*::getRoutingHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:234,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:235,1
    - Dst: pcpp::IPv6RoutingHeader*::getRoutingHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:235,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:236,1
    - Dst: pcpp::IPv6RoutingHeader*::getRoutingAdditionalDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:236,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:237,1
    - Dst: pcpp::IPv6RoutingHeader*::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:237,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:237,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:238,1
    - Dst: pcpp::IPv6RoutingHeader*::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:238,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:238,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:241,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:242,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:243,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:244,1
    - Dst: pcpp::IPv6RoutingHeader*::getExtensionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:244,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:245,1
    - Dst: pcpp::IPv6RoutingHeader*::getRoutingHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:245,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:246,1
    - Dst: pcpp::IPv6RoutingHeader*::getRoutingHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:246,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:247,1
    - Dst: pcpp::IPv6RoutingHeader*::getRoutingAdditionalDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:247,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:248,1
    - Dst: pcpp::IPv6RoutingHeader*::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:248,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:248,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:249,1
    - Dst: pcpp::IPv6RoutingHeader*::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:249,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:252,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:253,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:254,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:255,1
    - Dst: pcpp::IPv6AuthenticationHeader*::getExtensionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:255,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:256,1
    - Dst: pcpp::IPv6AuthenticationHeader*::getAuthHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:256,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:256,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:257,1
    - Dst: pcpp::IPv6AuthenticationHeader*::getAuthHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:257,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:257,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:258,1
    - Dst: pcpp::IPv6AuthenticationHeader*::getIntegrityCheckValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:258,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:260,1
    - Dst: pcpp::IPv6AuthenticationHeader*::getIntegrityCheckValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:260,1
    - Dst: pcpp::IPv6AuthenticationHeader*::getIntegrityCheckValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:261,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:264,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:265,1
    - Dst: pcpp::IPv6Layer*::getExtensionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:265,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:266,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:266,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:267,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:268,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:269,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:270,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:270,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:271,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:271,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:272,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:272,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:273,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:273,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:274,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:274,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:275,1
    - Dst: pcpp::IPv6Layer*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:275,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:278,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:280,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:281,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:281,1
    - Dst: pcpp::IPv6Layer::removeAllExtensions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:282,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:283,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:283,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:286,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:286,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:287,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:287,1
    - Dst: pcpp::IPv6Layer::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:289,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:291,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:292,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:294,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:295,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:296,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:297,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:298,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:299,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:301,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:301,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:301,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:302,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:302,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:302,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:303,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:306,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:308,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:309,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:309,1
    - Dst: pcpp::IPv6Layer::removeAllExtensions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:310,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:311,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:311,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:314,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:314,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:315,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:315,1
    - Dst: pcpp::IPv6Layer::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:317,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:319,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:321,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:322,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:323,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:324,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:325,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:327,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:327,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:327,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:328,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:328,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:328,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:329,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:332,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:334,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:335,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:335,1
    - Dst: pcpp::IPv6Layer::removeAllExtensions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:336,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:337,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:337,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:339,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:340,1
    - Dst: pcpp::IPv6Address::copyTo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:342,1
    - Dst: pcpp::IPv6Layer::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:344,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:347,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:349,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:350,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:351,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:352,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:354,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:354,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:354,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:355,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:355,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:355,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:356,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:359,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:361,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:362,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:362,1
    - Dst: pcpp::IPv6Layer::removeAllExtensions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:363,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:364,1
    - Dst: pcpp::IPv6Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:364,1
    - Dst: pcpp::IPv6Layer::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:367,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:369,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:371,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:372,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:373,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:374,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:375,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:377,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:377,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:377,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:378,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:378,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:378,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:379,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:382,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:384,1
    - Dst: pcpp::IPv6Layer::removeAllExtensions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:385,1
    - Dst: pcpp::IPv6Layer::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:387,1
    - Dst: pcpp::IPv6Layer::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:388,1
    - Dst: pcpp::IPv6Layer::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:389,1
    - Dst: pcpp::IPv6Layer::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:390,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:392,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:394,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:395,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:396,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:397,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:398,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:400,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:400,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:400,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:401,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:401,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:401,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 141
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 403
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv6DestinationHeader*::getNextOption
    - pcpp::IPv6RoutingHeader*::getRoutingAdditionalDataAsIPv6Address
    - pcpp::IPv6HopByHopHeader*::getExtensionType
    - be32toh
    - pcpp::IPv6DestinationHeader*::getFirstOption
    - htobe32
    - pcpp::IPv6AuthenticationHeader*::getIntegrityCheckValueLength
    - pcpp::IPv6RoutingHeader*::getRoutingHeader
    - pcpp::IPv6HopByHopHeader*::getFirstOption
    - pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
    - pcpp::Packet::addLayer
    - pcpp::IPv6RoutingHeader*::getExtensionType
    - auto::get
    - std::vector::push_back
    - pcpp::IPv6HopByHopHeader*::getNextOption
    - pcpp::IPv6HopByHopHeader*::getOption
    - PTF_ASSERT_TRUE
    - pcpp::IPv6AuthenticationHeader*::getIntegrityCheckValue
    - pcpp::Packet::Packet
    - pcpp::IPv6Layer::addExtension
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - pcpp::IPv6AuthenticationHeader*::getAuthHeader
    - uint8_t::uint8_t
    - pcpp::IPv6TLVOptionHeader::IPv6Option::isNull
    - pcpp::IPv6TLVOptionHeader::IPv6Option::getTotalSize
    - PTF_ASSERT_EQUAL
    - pcpp::IPv6Layer*::getExtensionOfType
    - pcpp::IPv6AuthenticationHeader*::getExtensionType
    - pcpp::Packet::getLayerOfType
    - pcpp::IPv6Layer*::getExtensionCount
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - memset
    - pcpp::IPv6TLVOptionHeader::IPv6Option::getValueAs
    - pcpp::IPv6DestinationHeader*::getOptionCount
    - pcpp::IPv6Address::copyTo
    - pcpp::Packet::computeCalculateFields
    - pcpp::IPv6HopByHopHeader*::getOptionCount
    - pcpp::IPv6DestinationHeader*::getOption
    - pcpp::IPv6Layer::getHeaderLen
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_NOT_NULL
    - pcpp::IPv6TLVOptionHeader::IPv6Option::getDataSize
    - PTF_ASSERT_FALSE
    - pcpp::IPv6RoutingHeader*::getRoutingAdditionalDataLength
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv6DestinationHeader*::getExtensionType
    - pcpp::IPv6TLVOptionHeader::IPv6Option::getType
    - pcpp::IPv6Layer::removeAllExtensions
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IPv6ExtensionsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:19,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:21,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:23,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:25,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:26,1
    - Dst: pcpp::DnsLayer*::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:26,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:27,1
    - Dst: pcpp::DnsLayer*::getAnswerCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:28,1
    - Dst: pcpp::DnsLayer*::getAuthorityCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:29,1
    - Dst: pcpp::DnsLayer*::getAdditionalRecordCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:30,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:30,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:31,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:31,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:33,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:34,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:35,1
    - Dst: pcpp::DnsQuery*::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:36,1
    - Dst: pcpp::DnsQuery*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:37,1
    - Dst: pcpp::DnsQuery*::getDnsClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:37,1
    - Dst: pcpp::DnsLayer*::getNextQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:39,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:41,1
    - Dst: pcpp::DnsQuery*::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:42,1
    - Dst: pcpp::DnsQuery*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:43,1
    - Dst: pcpp::DnsQuery*::getDnsClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:43,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:44,1
    - Dst: pcpp::DnsLayer*::getNextQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:44,1
    - Dst: pcpp::DnsLayer*::getQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:46,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:46,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:48,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:49,1
    - Dst: pcpp::DnsLayer*::getQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:49,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:49,1
    - Dst: pcpp::DnsLayer*::getFirstAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:51,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:52,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:53,1
    - Dst: pcpp::DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:53,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:54,1
    - Dst: pcpp::DnsResource*::getDnsClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:54,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:55,1
    - Dst: pcpp::DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:55,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:56,1
    - Dst: pcpp::DnsResource*::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:56,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:57,1
    - Dst: pcpp::DnsResource*::getDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:57,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:58,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:58,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:59,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:59,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:60,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:61,1
    - Dst: pcpp::DnsResource*::getSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:61,1
    - Dst: pcpp::DnsLayer*::getNextAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:63,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:64,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:65,1
    - Dst: pcpp::DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:65,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:66,1
    - Dst: pcpp::DnsResource*::getDnsClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:66,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:67,1
    - Dst: pcpp::DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:67,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:68,1
    - Dst: pcpp::DnsResource*::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:68,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:69,1
    - Dst: pcpp::DnsResource*::getDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:70,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:70,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:71,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:71,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:72,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:73,1
    - Dst: pcpp::DnsResource*::getSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:73,1
    - Dst: pcpp::DnsLayer*::getNextAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:75,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:76,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:78,1
    - Dst: pcpp::DnsLayer*::getAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:78,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:79,1
    - Dst: pcpp::DnsLayer*::getAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:79,1
    - Dst: pcpp::DnsLayer*::getFirstAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:81,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:83,1
    - Dst: pcpp::DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:83,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:84,1
    - Dst: pcpp::DnsResource*::getDnsClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:84,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:85,1
    - Dst: pcpp::DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:85,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:86,1
    - Dst: pcpp::DnsResource*::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:87,1
    - Dst: pcpp::DnsResource*::getDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:87,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:88,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:89,1
    - Dst: pcpp::DnsResource*::getSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:89,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:90,1
    - Dst: pcpp::DnsLayer*::getNextAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:90,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:91,1
    - Dst: pcpp::DnsLayer*::getAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:91,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:93,1
    - Dst: pcpp::DnsLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:93,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:96,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:98,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:100,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:101,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:102,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:102,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:103,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:103,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:104,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:104,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:105,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:105,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:106,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:106,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:107,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:107,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:108,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:108,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:109,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:110,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:111,1
    - Dst: pcpp::DnsQuery*::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:111,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:112,1
    - Dst: pcpp::DnsQuery*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:112,1
    - Dst: pcpp::DnsLayer*::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:114,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:116,1
    - Dst: pcpp::DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:117,1
    - Dst: pcpp::DnsResource*::getDnsClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:118,1
    - Dst: pcpp::DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:118,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:119,1
    - Dst: pcpp::DnsResource*::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:119,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:120,1
    - Dst: pcpp::DnsResource*::getDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:120,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:121,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:121,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:122,1
    - Dst: pcpp::DnsResource*::getSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:122,1
    - Dst: pcpp::DnsLayer*::getNextAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:124,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:128,1
    - Dst: pcpp::DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:128,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:129,1
    - Dst: pcpp::DnsResource*::getDnsClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:129,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:130,1
    - Dst: pcpp::DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:130,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:131,1
    - Dst: pcpp::DnsResource*::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:131,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:132,1
    - Dst: pcpp::DnsResource*::getDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:132,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:133,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:133,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:134,1
    - Dst: pcpp::DnsLayer*::getNextAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:136,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:140,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:142,1
    - Dst: pcpp::DnsLayer*::getAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:142,1
    - Dst: pcpp::DnsLayer*::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:143,1
    - Dst: pcpp::DnsLayer*::getAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:143,1
    - Dst: pcpp::DnsLayer*::getNextAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:144,1
    - Dst: pcpp::DnsLayer*::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:144,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:146,1
    - Dst: pcpp::DnsLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:146,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:149,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:151,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:153,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:154,1
    - Dst: pcpp::DnsLayer*::getQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:155,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:155,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:156,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:157,1
    - Dst: pcpp::DnsQuery*::getDnsClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:157,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:159,1
    - Dst: pcpp::DnsLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:159,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:162,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:164,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:165,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:166,1
    - Dst: pcpp::DnsLayer*::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:168,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:169,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:170,1
    - Dst: pcpp::DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:170,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:171,1
    - Dst: pcpp::DnsResource*::getDnsClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:171,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:172,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:172,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:173,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:173,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:174,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:174,1
    - Dst: pcpp::DnsLayer*::getNextAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:177,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:178,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:179,1
    - Dst: pcpp::DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:179,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:180,1
    - Dst: pcpp::DnsResource*::getDnsClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:180,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:181,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:181,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:182,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:182,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:183,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:183,1
    - Dst: pcpp::DnsLayer*::getNextAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:186,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:187,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:188,1
    - Dst: pcpp::DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:188,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:189,1
    - Dst: pcpp::DnsResource*::getDnsClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:189,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:190,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:190,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:191,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:191,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:192,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:192,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:195,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:197,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:199,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:200,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:202,1
    - Dst: pcpp::DnsLayer*::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:202,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:203,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:204,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:205,1
    - Dst: pcpp::DnsQuery*::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:206,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:208,1
    - Dst: pcpp::DnsQuery*::getSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:208,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:209,1
    - Dst: pcpp::DnsLayer*::getNextQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:209,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:213,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:215,1
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:216,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:216,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:218,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:219,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:219,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:220,1
    - Dst: pcpp::DnsLayer*::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:220,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:221,1
    - Dst: pcpp::DnsLayer*::getFirstAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:221,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:222,1
    - Dst: pcpp::DnsLayer*::getFirstAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 132
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 223
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsLayer*::getNextAdditionalRecord
    - pcpp::DnsQuery*::getSize
    - pcpp::DnsResource*::getSize
    - pcpp::DnsResource*::getData
    - pcpp::DnsLayer*::getDnsHeader
    - pcpp::DnsLayer*::getAdditionalRecordCount
    - pcpp::DnsResource*::getName
    - pcpp::DnsResource*::getDnsClass
    - pcpp::DnsQuery*::getName
    - pcpp::DnsLayer*::getFirstQuery
    - pcpp::DnsLayer*::getFirstAdditionalRecord
    - pcpp::DnsLayer*::getNextAuthority
    - pcpp::DnsQuery*::getDnsClass
    - SuppressLogs::SuppressLogs
    - pcpp::DnsLayer*::getQueryCount
    - pcpp::DnsLayer*::getAdditionalRecord
    - pcpp::DnsResource*::getDnsType
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - string
    - pcpp::TcpReassembly::reassemblePacket
    - pcpp::DnsLayer*::getNextQuery
    - PTF_ASSERT_TRUE
    - pcpp::DnsLayer*::getQuery
    - pcpp::DnsLayer*::getFirstAuthority
    - pcpp::DnsLayer*::getFirstAnswer
    - pcpp::DnsLayer*::getAnswer
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - pcpp::DnsResource*::getTTL
    - pcpp::DnsLayer*::getNextAnswer
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - be16toh
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::DnsLayer*::toString
    - pcpp::DnsLayer*::getAuthority
    - PTF_ASSERT_NOT_NULL
    - pcpp::DnsQuery*::getDnsType
    - pcpp::DnsLayer*::getAuthorityCount
    - pcpp::DnsResource*::getDataLength
    - pcpp::DnsLayer*::getAnswerCount
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DnsLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:227,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:231,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:233,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:234,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:235,1
    - Dst: pcpp::DnsLayer::DnsLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:237,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:238,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:239,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:239,1
    - Dst: pcpp::DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:241,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:242,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:243,1
    - Dst: pcpp::DnsLayer::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:243,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:244,1
    - Dst: pcpp::DnsQuery*::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:244,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:247,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:247,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:248,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:248,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:249,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:249,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:250,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:250,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:252,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:254,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:254,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:255,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:255,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:255,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:257,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:261,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:263,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:264,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:265,1
    - Dst: pcpp::DnsLayer::DnsLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:267,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:270,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:270,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:271,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:271,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:272,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:272,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:273,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:273,1
    - Dst: pcpp::DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:275,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:276,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:277,1
    - Dst: pcpp::DnsLayer::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:277,1
    - Dst: pcpp::DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:279,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:280,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:281,1
    - Dst: pcpp::DnsLayer::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:281,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:283,1
    - Dst: pcpp::DnsQuery*::setName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:283,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:285,1
    - Dst: pcpp::DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:285,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:286,1
    - Dst: pcpp::DnsLayer::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:286,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:288,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:290,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:290,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:291,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:291,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 292
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::DnsQuery*::getName
    - pcpp::Packet::addLayer
    - get
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - data::get
    - createPacketAndBufferFromHexResource
    - pcpp::DnsLayer::getDnsHeader
    - PTF_ASSERT_NULL
    - pcpp::DnsLayer::addQuery
    - pcpp::DnsLayer::DnsLayer
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::DnsQuery*::setName
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::DnsLayer::getQueryCount
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DnsLayerQueryCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:296,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:300,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:302,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:303,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:304,1
    - Dst: pcpp::DnsLayer::DnsLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:306,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:307,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:307,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:308,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:309,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:310,1
    - Dst: pcpp::DnsLayer::addAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:314,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:315,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:316,1
    - Dst: pcpp::DnsLayer::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:316,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:317,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:317,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:320,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:320,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:321,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:321,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:322,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:322,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:323,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:323,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:325,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:325,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:327,1
    - Dst: pcpp::DnsLayer::addAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:329,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:330,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:331,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:331,1
    - Dst: pcpp::IPv4DnsResourceData::getIpAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:332,1
    - Dst: pcpp::DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:334,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:335,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:337,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:337,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:338,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:338,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:340,1
    - Dst: pcpp::IPv4DnsResourceData::IPv4DnsResourceData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:340,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:340,1
    - Dst: pcpp::DnsLayer::addAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:343,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:344,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:346,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:347,1
    - Dst: pcpp::DnsResource*::setData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:347,1
    - Dst: pcpp::IPv4DnsResourceData::IPv4DnsResourceData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:349,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:349,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:350,1
    - Dst: pcpp::DnsResource*::setData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:350,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:352,1
    - Dst: pcpp::DnsLayer::getAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:352,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:354,1
    - Dst: pcpp::DnsLayer::getNextAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:355,1
    - Dst: pcpp::DnsLayer::getAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:355,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:358,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:360,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:360,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:361,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:361,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:361,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:363,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:367,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:369,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:370,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:371,1
    - Dst: pcpp::DnsLayer::DnsLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:373,1
    - Dst: pcpp::IPv4DnsResourceData::IPv4DnsResourceData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:375,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:375,1
    - Dst: pcpp::DnsLayer::addAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:377,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:378,1
    - Dst: pcpp::DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:380,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:381,1
    - Dst: pcpp::DnsQuery*::setName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:381,1
    - Dst: pcpp::DnsQuery*::setDnsClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:382,1
    - Dst: pcpp::DnsQuery*::setDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:383,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:386,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:386,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:387,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:387,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:388,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:388,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:389,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:389,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:391,1
    - Dst: pcpp::DnsLayer::getAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:391,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:393,1
    - Dst: pcpp::IPv6DnsResourceData::IPv6DnsResourceData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:393,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:393,1
    - Dst: pcpp::DnsLayer::addAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:396,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:398,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:399,1
    - Dst: pcpp::DnsResource*::setData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:399,1
    - Dst: pcpp::DnsResource*::setDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:401,1
    - Dst: pcpp::IPv6DnsResourceData::IPv6DnsResourceData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:402,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:402,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:403,1
    - Dst: pcpp::DnsResource*::setData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:403,1
    - Dst: pcpp::DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:405,1
    - Dst: pcpp::DnsQuery*::setDnsClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:406,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:408,1
    - Dst: pcpp::DnsLayer::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:408,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:409,1
    - Dst: pcpp::DnsLayer::getAuthorityCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:409,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:410,1
    - Dst: pcpp::DnsLayer::getAnswerCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:410,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:411,1
    - Dst: pcpp::DnsLayer::getAdditionalRecordCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:411,1
    - Dst: pcpp::DnsLayer::addAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:414,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:415,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:417,1
    - Dst: pcpp::GenericDnsResourceData::GenericDnsResourceData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:418,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:419,1
    - Dst: pcpp::DnsResource*::setData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:419,1
    - Dst: pcpp::GenericDnsResourceData::GenericDnsResourceData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:420,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:421,1
    - Dst: pcpp::DnsResource*::setData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:421,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:424,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:426,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:426,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:427,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:427,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:427,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:429,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:433,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:435,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:436,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:437,1
    - Dst: pcpp::DnsLayer::DnsLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:439,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:440,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:440,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:441,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:442,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:443,1
    - Dst: pcpp::DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:445,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:446,1
    - Dst: pcpp::DnsQuery*::getNameOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:449,1
    - Dst: pcpp::DnsLayer::addAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:453,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:453,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:454,1
    - Dst: pcpp::DnsResource*::getDataOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:457,1
    - Dst: pcpp::MxDnsResourceData::setMxData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:459,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:459,1
    - Dst: pcpp::DnsLayer::addAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:460,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:460,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:461,1
    - Dst: pcpp::MxDnsResourceData::setMxData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:463,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:463,1
    - Dst: pcpp::DnsLayer::addAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:464,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:464,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:465,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:468,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:468,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:469,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:469,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:470,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:470,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:471,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:471,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:473,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:475,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:475,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:476,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:476,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 294
    functionDepth: 5
    functionLinenumber: 294
    functionLinenumberEnd: 477
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::DnsLayer::addAnswer
    - pcpp::GenericDnsResourceData::GenericDnsResourceData
    - pcpp::DnsResource*::getDataOffset
    - pcpp::DnsResource*::getData
    - pcpp::DnsLayer::getNextAnswer
    - pcpp::DnsLayer::addAdditionalRecord
    - pcpp::DnsLayer::getAdditionalRecordCount
    - pcpp::DnsLayer::getAnswer
    - pcpp::MxDnsResourceData::setMxData
    - pcpp::DnsLayer::getAnswerCount
    - pcpp::Packet::addLayer
    - pcpp::DnsResource*::setData
    - SuppressLogs::SuppressLogs
    - string
    - pcpp::DnsLayer::getAuthority
    - pcpp::IPv4DnsResourceData::getIpAddress
    - get
    - PTF_ASSERT_TRUE
    - pcpp::DnsLayer::getFirstAnswer
    - pcpp::IPv4DnsResourceData::IPv4DnsResourceData
    - pcpp::DnsQuery*::setDnsType
    - pcpp::DnsLayer::getAuthorityCount
    - pcpp::DnsQuery*::getNameOffset
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - data::get
    - pcpp::IPv6DnsResourceData::IPv6DnsResourceData
    - createPacketAndBufferFromHexResource
    - pcpp::DnsLayer::getDnsHeader
    - pcpp::DnsLayer::addQuery
    - pcpp::DnsLayer::DnsLayer
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::DnsLayer::addAuthority
    - pcpp::DnsQuery*::setDnsClass
    - pcpp::DnsQuery*::setName
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_RAISES
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::DnsLayer::getQueryCount
    - std::stringstream::str
    - pcpp::DnsResource*::setDnsType
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DnsLayerResourceCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::DnsLayer::DnsLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:488,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:489,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:489,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:489,1
    - Dst: pcpp::DnsLayer::addAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:491,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 479
    functionDepth: 5
    functionLinenumber: 479
    functionLinenumberEnd: 493
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8_t*>
    - pcpp::DnsLayer::addAnswer
    - PTF_ASSERT_NOT_NULL
    - std::string::c_str
    - std::string::size
    - pcpp::DnsLayer::DnsLayer
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DnsLayerAddDnsKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:497,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:498,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:501,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:502,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:504,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:505,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:507,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:508,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:510,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:510,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:511,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:511,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:512,1
    - Dst: pcpp::DnsLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:512,1
    - Dst: pcpp::DnsLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:512,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:513,1
    - Dst: pcpp::DnsLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:513,1
    - Dst: pcpp::DnsLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:513,1
    - Dst: pcpp::DnsLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:513,1
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:515,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:516,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:517,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:519,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:519,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:520,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:520,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:521,1
    - Dst: pcpp::DnsLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:521,1
    - Dst: pcpp::DnsLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:521,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:522,1
    - Dst: pcpp::DnsLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:522,1
    - Dst: pcpp::DnsLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:522,1
    - Dst: pcpp::DnsLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 523
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::DnsLayer*::getData
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::get
    - pcpp::TcpReassembly::reassemblePacket
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::DnsLayer*::getDnsHeader
    - PTF_ASSERT_TRUE
    - pcpp::DnsLayer*::getHeaderLen
    - pcpp::DnsLayer*::getFirstQuery
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DnsLayerEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:527,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:529,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:531,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:532,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:536,1
    - Dst: pcpp::DnsQuery*::getSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:537,1
    - Dst: pcpp::DnsLayer*::getNextQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:538,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:539,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:540,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:541,1
    - Dst: pcpp::DnsLayer*::removeQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:541,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:543,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:543,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:544,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:544,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:545,1
    - Dst: pcpp::DnsLayer*::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:545,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:546,1
    - Dst: pcpp::DnsLayer*::getFirstAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:546,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:547,1
    - Dst: pcpp::DnsLayer*::getFirstAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:547,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:549,1
    - Dst: pcpp::DnsLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:549,1
    - Dst: pcpp::DnsLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:549,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:551,1
    - Dst: pcpp::DnsLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:551,1
    - Dst: pcpp::DnsLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:552,1
    - Dst: pcpp::DnsLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:553,1
    - Dst: pcpp::DnsLayer*::getFirstAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:555,1
    - Dst: pcpp::DnsLayer*::getNextAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:556,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:557,1
    - Dst: pcpp::DnsResource*::getSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:558,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:560,1
    - Dst: pcpp::DnsLayer*::removeAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:560,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:561,1
    - Dst: pcpp::DnsLayer*::getAuthorityCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:561,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:562,1
    - Dst: pcpp::DnsLayer*::getFirstAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:562,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:563,1
    - Dst: pcpp::DnsLayer*::getNextAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:563,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:564,1
    - Dst: pcpp::DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:564,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:565,1
    - Dst: pcpp::DnsLayer*::getFirstAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:565,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:566,1
    - Dst: pcpp::DnsLayer*::getFirstAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:566,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:567,1
    - Dst: pcpp::DnsLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:567,1
    - Dst: pcpp::DnsLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:567,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:569,1
    - Dst: pcpp::DnsLayer*::removeQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:569,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:570,1
    - Dst: pcpp::DnsLayer*::removeAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:570,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:571,1
    - Dst: pcpp::DnsLayer*::removeAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:571,1
    - Dst: pcpp::DnsLayer*::getFirstAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:573,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:574,1
    - Dst: pcpp::DnsLayer*::removeAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:574,1
    - Dst: pcpp::DnsLayer*::getFirstAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:574,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:575,1
    - Dst: pcpp::DnsLayer*::getAdditionalRecordCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:575,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:576,1
    - Dst: pcpp::DnsLayer*::getFirstAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:576,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:577,1
    - Dst: pcpp::DnsLayer*::getFirstAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:577,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:578,1
    - Dst: pcpp::DnsLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:578,1
    - Dst: pcpp::DnsLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:579,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:581,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:583,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:585,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:586,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:590,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:591,1
    - Dst: pcpp::DnsLayer*::removeQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:591,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:592,1
    - Dst: pcpp::DnsLayer*::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:592,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:593,1
    - Dst: pcpp::DnsLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:593,1
    - Dst: pcpp::DnsLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:593,1
    - Dst: pcpp::DnsLayer*::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:595,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:596,1
    - Dst: pcpp::DnsResource*::getSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:597,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:598,1
    - Dst: pcpp::DnsLayer*::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:598,1
    - Dst: pcpp::DnsLayer*::getNextAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:600,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:601,1
    - Dst: pcpp::DnsResource*::getSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:602,1
    - Dst: pcpp::DnsLayer*::getNextAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:604,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:605,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:607,1
    - Dst: pcpp::DnsLayer*::removeAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:607,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:608,1
    - Dst: pcpp::DnsLayer*::getAnswerCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:608,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:609,1
    - Dst: pcpp::DnsLayer*::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:609,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:610,1
    - Dst: pcpp::DnsLayer*::getNextAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:610,1
    - Dst: pcpp::DnsLayer*::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:610,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:611,1
    - Dst: pcpp::DnsLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:611,1
    - Dst: pcpp::DnsLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:611,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:613,1
    - Dst: pcpp::DnsLayer*::removeAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:613,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:614,1
    - Dst: pcpp::DnsLayer*::getAnswerCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:614,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:615,1
    - Dst: pcpp::DnsLayer*::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:615,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:616,1
    - Dst: pcpp::DnsLayer*::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:616,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:617,1
    - Dst: pcpp::DnsLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:617,1
    - Dst: pcpp::DnsLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:618,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:620,1
    - Dst: pcpp::DnsLayer*::removeAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:620,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:621,1
    - Dst: pcpp::DnsLayer*::removeAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:621,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:622,1
    - Dst: pcpp::DnsLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 623
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsQuery*::getSize
    - pcpp::DnsResource*::getSize
    - pcpp::DnsLayer*::getAdditionalRecordCount
    - pcpp::DnsLayer*::getFirstAdditionalRecord
    - pcpp::DnsLayer*::getFirstQuery
    - pcpp::DnsLayer*::getNextAuthority
    - pcpp::DnsLayer*::getQueryCount
    - auto::get
    - pcpp::DnsLayer*::getNextQuery
    - PTF_ASSERT_TRUE
    - pcpp::DnsLayer*::getHeaderLen
    - pcpp::DnsLayer*::getFirstAuthority
    - pcpp::DnsLayer::getData
    - pcpp::DnsLayer*::getFirstAnswer
    - pcpp::DnsLayer*::removeQuery
    - pcpp::DnsResource*::getTTL
    - pcpp::DnsLayer::getHeaderLen
    - pcpp::DnsLayer*::getNextAnswer
    - pcpp::DnsLayer*::removeAuthority
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::DnsLayer*::getData
    - pcpp::DnsLayer*::removeAdditionalRecord
    - PTF_ASSERT_NOT_NULL
    - pcpp::DnsLayer*::getAuthorityCount
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::DnsLayer*::removeAnswer
    - pcpp::DnsLayer*::getAnswerCount
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DnsLayerRemoveResourceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:627,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:628,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:630,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:631,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:632,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:633,1
    - Dst: pcpp::DnsLayer*::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:633,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:634,1
    - Dst: pcpp::DnsLayer*::getAnswerCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:634,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:635,1
    - Dst: pcpp::DnsLayer*::getAuthorityCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:635,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:636,1
    - Dst: pcpp::DnsLayer*::getAdditionalRecordCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:636,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:637,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:637,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:637,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:638,1
    - Dst: pcpp::DnsOverTcpLayer*::getTcpMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:638,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:640,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:641,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:642,1
    - Dst: pcpp::DnsQuery*::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:642,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:643,1
    - Dst: pcpp::DnsQuery*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:643,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:644,1
    - Dst: pcpp::DnsQuery*::getDnsClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:644,1
    - Dst: pcpp::DnsLayer*::getFirstAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:646,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:647,1
    - Dst: pcpp::DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:647,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:648,1
    - Dst: pcpp::DnsResource*::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:648,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:650,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:651,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:653,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:654,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:655,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:656,1
    - Dst: pcpp::DnsLayer*::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:656,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:657,1
    - Dst: pcpp::DnsLayer*::getAnswerCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:657,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:658,1
    - Dst: pcpp::DnsLayer*::getAuthorityCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:658,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:659,1
    - Dst: pcpp::DnsLayer*::getAdditionalRecordCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:659,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:660,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:660,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:660,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:661,1
    - Dst: pcpp::DnsOverTcpLayer*::getTcpMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:661,1
    - Dst: pcpp::DnsLayer*::getFirstAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:677,1
    - Dst: pcpp::DnsLayer*::getNextAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:678,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:680,1
    - Dst: pcpp::DnsResource*::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:680,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:681,1
    - Dst: pcpp::DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:681,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:685,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:686,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:688,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:689,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:690,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:691,1
    - Dst: pcpp::DnsLayer*::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:691,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:692,1
    - Dst: pcpp::DnsLayer*::getAnswerCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:692,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:693,1
    - Dst: pcpp::DnsLayer*::getAuthorityCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:693,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:694,1
    - Dst: pcpp::DnsLayer*::getAdditionalRecordCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:694,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:695,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:695,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:695,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:696,1
    - Dst: pcpp::DnsOverTcpLayer*::getTcpMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:696,1
    - Dst: pcpp::DnsLayer*::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:698,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:699,1
    - Dst: pcpp::DnsResource*::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:699,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:700,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 702
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::DnsResource*::getData
    - pcpp::DnsLayer*::getDnsHeader
    - pcpp::DnsLayer*::getAdditionalRecordCount
    - pcpp::DnsResource*::getName
    - pcpp::DnsQuery*::getName
    - pcpp::DnsLayer*::getFirstAdditionalRecord
    - pcpp::DnsLayer*::getFirstQuery
    - pcpp::DnsLayer*::getNextAuthority
    - pcpp::DnsQuery*::getDnsClass
    - pcpp::DnsLayer*::getQueryCount
    - pcpp::DnsResource*::getDnsType
    - auto::get
    - pcpp::DnsLayer*::getFirstAuthority
    - pcpp::DnsLayer*::getFirstAnswer
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - be16toh
    - createPacketFromHexResource
    - pcpp::DnsOverTcpLayer*::getTcpMessageLength
    - PTF_ASSERT_NOT_NULL
    - pcpp::DnsQuery*::getDnsType
    - pcpp::DnsLayer*::getAuthorityCount
    - pcpp::DnsLayer*::getAnswerCount
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DnsOverTcpParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:706,1
    - Dst: pcpp::DnsOverTcpLayer::DnsOverTcpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:710,1
    - Dst: pcpp::DnsOverTcpLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:711,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:711,1
    - Dst: pcpp::DnsOverTcpLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:712,1
    - Dst: pcpp::DnsOverTcpLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:713,1
    - Dst: pcpp::DnsOverTcpLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:714,1
    - Dst: pcpp::DnsOverTcpLayer::addQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:715,1
    - Dst: pcpp::DnsOverTcpLayer::addAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:717,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:719,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:720,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:722,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:723,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:725,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:725,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:726,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:726,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 704
    functionDepth: 4
    functionLinenumber: 704
    functionLinenumberEnd: 727
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - htobe16
    - pcpp::DnsOverTcpLayer::getDnsHeader
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - data::get
    - PTF_ASSERT_BUF_COMPARE
    - createPacketAndBufferFromHexResource
    - pcpp::DnsOverTcpLayer::addAnswer
    - get
    - pcpp::Packet::removeLayer
    - pcpp::DnsOverTcpLayer::DnsOverTcpLayer
    - pcpp::DnsOverTcpLayer::addQuery
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DnsOverTcpCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:731,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:732,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:734,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:736,1
    - Dst: pcpp::DnsLayer*::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 737
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp
    functionUses: 0
    functionsReached:
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::get
    - pcpp::DnsLayer*::getDnsHeader
    - createPacketFromHexResource
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DnsNXDomainTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:23,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:25,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:26,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:26,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:28,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:31,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:32,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:32,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:33,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:33,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:34,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:34,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:35,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:36,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:37,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:38,1
    - Dst: auto*::getSourceAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:39,1
    - Dst: auto*::getActivationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:39,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:41,1
    - Dst: auto*::getReservedIso
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:41,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:42,1
    - Dst: auto*::hasReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:42,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:44,1
    - Dst: auto*::getReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:44,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:46,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 49
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getActivationType
    - auto*::getInvertProtocolVersion
    - auto*::getPayloadLength
    - auto*::getPayloadType
    - auto::get
    - PTF_ASSERT_VECTORS_EQUAL
    - auto*::getReservedOem
    - auto*::getSourceAddress
    - auto*::getSummary
    - PTF_ASSERT_TRUE
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto*::getProtocolVersionAsStr
    - auto*::toString
    - auto*::getProtocolVersion
    - createPacketFromHexResource
    - auto*::getPayloadTypeAsStr
    - auto*::hasReservedOem
    - PTF_ASSERT_NOT_NULL
    - auto*::getReservedIso
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpRoutActReqParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:55,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:55,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:56,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:56,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:59,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:60,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:62,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:62,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:63,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:63,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:64,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:64,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:65,1
    - Dst: pcpp::DoIpRoutingActivationRequest::setReservedIso
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:76,1
    - Dst: pcpp::DoIpRoutingActivationRequest::setReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:77,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:79,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:79,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:80,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:81,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:81,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:82,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:84,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:84,1
    - Dst: pcpp::DoIpRoutingActivationRequest::setProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:85,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:86,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:87,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:87,1
    - Dst: pcpp::DoIpRoutingActivationRequest::setProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:89,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:89,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:91,1
    - Dst: pcpp::DoIpRoutingActivationRequest::hasReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:91,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:92,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:92,1
    - Dst: pcpp::DoIpRoutingActivationRequest::clearReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:94,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:96,1
    - Dst: pcpp::DoIpRoutingActivationRequest::hasReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:96,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:97,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:97,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:98,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:98,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:100,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getReservedIso
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:100,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:101,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:101,1
    - Dst: pcpp::DoIpRoutingActivationRequest::setReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:103,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:104,1
    - Dst: pcpp::DoIpRoutingActivationRequest::hasReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:104,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:105,1
    - Dst: pcpp::DoIpRoutingActivationRequest::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 108
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer::getTcpHeader
    - pcpp::DoIpRoutingActivationRequest::getProtocolVersion
    - pcpp::Packet::addLayer
    - pcpp::DoIpRoutingActivationRequest::getReservedIso
    - pcpp::SdpLayer::getOwnerIPv4Address
    - PTF_ASSERT_VECTORS_EQUAL
    - pcpp::DoIpRoutingActivationRequest::setProtocolVersion
    - PTF_ASSERT_TRUE
    - pcpp::DoIpRoutingActivationRequest::clearReservedOem
    - pcpp::DoIpRoutingActivationRequest::setReservedIso
    - PTF_ASSERT_EQUAL
    - pcpp::DoIpRoutingActivationRequest::setReservedOem
    - pcpp::DoIpRoutingActivationRequest::getSummary
    - pcpp::DoIpRoutingActivationRequest::hasReservedOem
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::DoIpRoutingActivationRequest::getProtocolVersionAsStr
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::DoIpRoutingActivationRequest::getReservedOem
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpRoutActReqCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:113,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:115,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:116,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:116,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:118,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:119,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:121,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:121,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:122,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:122,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:123,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:123,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:124,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:124,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:125,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:125,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:126,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:126,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:127,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:127,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:128,1
    - Dst: auto*::getLogicalAddressExternalTester
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:128,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:129,1
    - Dst: auto*::getSourceAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:129,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:130,1
    - Dst: auto*::getResponseCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:130,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:133,1
    - Dst: auto*::getReservedIso
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:133,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:134,1
    - Dst: auto*::hasReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:134,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:135,1
    - Dst: auto*::getReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:136,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:138,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 141
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getLogicalAddressExternalTester
    - auto*::getInvertProtocolVersion
    - auto*::getPayloadLength
    - auto*::getPayloadType
    - auto::get
    - PTF_ASSERT_VECTORS_EQUAL
    - auto*::getReservedOem
    - auto*::getSourceAddress
    - auto*::getSummary
    - PTF_ASSERT_TRUE
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto*::getProtocolVersionAsStr
    - auto*::toString
    - auto*::getResponseCode
    - auto*::getProtocolVersion
    - createPacketFromHexResource
    - auto*::getPayloadTypeAsStr
    - auto*::hasReservedOem
    - PTF_ASSERT_NOT_NULL
    - auto*::getReservedIso
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_RAISES
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpRoutActResParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:147,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:147,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:148,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:148,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:151,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:152,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:154,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:154,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:155,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:155,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:156,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:156,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:157,1
    - Dst: pcpp::DoIpRoutingActivationResponse::setReservedIso
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:166,1
    - Dst: pcpp::DoIpRoutingActivationResponse::setReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:167,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:170,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:170,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:171,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:171,1
    - Dst: pcpp::DoIpRoutingActivationResponse::setProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:172,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:173,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:173,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:174,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:174,1
    - Dst: pcpp::DoIpRoutingActivationResponse::setProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:175,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:176,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:176,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:178,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:178,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:179,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:181,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:181,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:182,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:182,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:184,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getReservedIso
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:184,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:185,1
    - Dst: pcpp::DoIpRoutingActivationResponse::hasReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:185,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:186,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:186,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:187,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:188,1
    - Dst: pcpp::DoIpRoutingActivationResponse::clearReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:190,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:191,1
    - Dst: pcpp::DoIpRoutingActivationResponse::hasReservedOem
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:191,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:192,1
    - Dst: pcpp::DoIpRoutingActivationResponse::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 195
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer::getTcpHeader
    - pcpp::DoIpRoutingActivationResponse::setProtocolVersion
    - pcpp::DoIpRoutingActivationResponse::getReservedOem
    - pcpp::DoIpRoutingActivationResponse::getSummary
    - pcpp::DoIpRoutingActivationResponse::getProtocolVersionAsStr
    - pcpp::DoIpRoutingActivationResponse::setReservedOem
    - pcpp::DoIpRoutingActivationResponse::getProtocolVersion
    - pcpp::Packet::addLayer
    - pcpp::DoIpRoutingActivationResponse::clearReservedOem
    - pcpp::SdpLayer::getOwnerIPv4Address
    - PTF_ASSERT_VECTORS_EQUAL
    - PTF_ASSERT_TRUE
    - pcpp::DoIpRoutingActivationResponse::hasReservedOem
    - PTF_ASSERT_EQUAL
    - pcpp::DoIpRoutingActivationResponse::getReservedIso
    - pcpp::DoIpRoutingActivationResponse::setReservedIso
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpRoutActResCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:200,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:202,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:203,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:203,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:205,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:206,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:208,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:208,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:209,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:209,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:210,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:210,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:211,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:211,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:212,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:212,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:213,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:213,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:214,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:214,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:215,1
    - Dst: auto*::getNackCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:215,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:216,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 217
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getInvertProtocolVersion
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto*::getPayloadLength
    - auto*::getProtocolVersion
    - pcpp::Packet::getLayerOfType
    - auto::get
    - auto*::getProtocolVersionAsStr
    - auto*::getPayloadType
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - auto*::toString
    - auto*::getSummary
    - PTF_ASSERT_TRUE
    - auto*::getPayloadTypeAsStr
    - auto*::getNackCode
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpGenHdrNackParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:223,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:223,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:224,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:224,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:227,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:229,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:229,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:230,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:230,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:231,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:231,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:232,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:237,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:237,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:238,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:241,1
    - Dst: pcpp::DoIpGenericHeaderNack::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:241,1
    - Dst: pcpp::DoIpGenericHeaderNack::setProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:242,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:243,1
    - Dst: pcpp::DoIpGenericHeaderNack::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:243,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:244,1
    - Dst: pcpp::DoIpGenericHeaderNack::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:244,1
    - Dst: pcpp::DoIpGenericHeaderNack::setProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:245,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:246,1
    - Dst: pcpp::DoIpGenericHeaderNack::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:246,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:248,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:248,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:249,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:249,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:251,1
    - Dst: pcpp::DoIpGenericHeaderNack::getNackCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:251,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:252,1
    - Dst: pcpp::DoIpGenericHeaderNack::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 253
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - pcpp::DoIpGenericHeaderNack::getProtocolVersion
    - PTF_ASSERT_EQUAL
    - pcpp::DoIpGenericHeaderNack::getSummary
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::DoIpGenericHeaderNack::setProtocolVersion
    - pcpp::DoIpGenericHeaderNack::getNackCode
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::DoIpGenericHeaderNack::getProtocolVersionAsStr
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpGenHdrNackCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:258,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:260,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:261,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:261,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:264,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:265,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:267,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:267,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:269,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:269,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:270,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:270,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:271,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:271,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:272,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:272,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:274,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:274,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:275,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:275,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:276,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:276,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:278,1
    - Dst: auto*::getEID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 280
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getInvertProtocolVersion
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto*::getPayloadLength
    - auto*::getProtocolVersion
    - pcpp::Packet::getLayerOfType
    - auto::get
    - auto*::getProtocolVersionAsStr
    - auto*::getPayloadType
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_VECTORS_EQUAL
    - createPacketFromHexResource
    - auto*::getSummary
    - auto*::toString
    - auto*::getEID
    - PTF_ASSERT_TRUE
    - auto*::getPayloadTypeAsStr
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpVehIdenReqWithEIDParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:286,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:286,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:287,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:287,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:290,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:292,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:292,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:293,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:293,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:294,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:294,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:295,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:303,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:303,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:304,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:306,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:306,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:307,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:307,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:310,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithEID::getEID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:310,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:311,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithEID::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 312
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - pcpp::DoIpVehicleIdentificationRequestWithEID::getSummary
    - PTF_ASSERT_EQUAL
    - pcpp::DoIpVehicleIdentificationRequestWithEID::getEID
    - pcpp::SdpLayer::getOwnerIPv4Address
    - PTF_ASSERT_VECTORS_EQUAL
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpVehIdenReqWithEIDCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:317,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:319,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:320,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:320,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:323,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:324,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:326,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:326,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:327,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:327,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:328,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:328,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:329,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:329,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:331,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:331,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:332,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:332,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:333,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:333,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:334,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:334,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:338,1
    - Dst: auto*::getVIN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 340
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getInvertProtocolVersion
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto*::getPayloadLength
    - auto*::getProtocolVersion
    - pcpp::Packet::getLayerOfType
    - auto::get
    - auto*::getProtocolVersionAsStr
    - auto*::getPayloadType
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_VECTORS_EQUAL
    - createPacketFromHexResource
    - auto*::toString
    - auto*::getSummary
    - auto*::getVIN
    - PTF_ASSERT_TRUE
    - auto*::getPayloadTypeAsStr
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpVehIdenReqWithVINParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:346,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:346,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:347,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:347,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:350,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:352,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:352,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:353,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:353,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:354,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:354,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:355,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::setVIN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:364,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:366,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:366,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:367,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:369,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:369,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:370,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:370,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:373,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:373,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:374,1
    - Dst: pcpp::DoIpVehicleIdentificationRequestWithVIN::getVIN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 343
    functionDepth: 4
    functionLinenumber: 343
    functionLinenumberEnd: 375
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::getVIN
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::getSummary
    - pcpp::DoIpVehicleIdentificationRequestWithVIN::setVIN
    - PTF_ASSERT_VECTORS_EQUAL
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpVehIdenReqWithVINCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:381,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:388,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:389,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:389,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:391,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:392,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:394,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:395,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:398,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:398,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:399,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:399,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:400,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:400,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:401,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:401,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:402,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:402,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:404,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:404,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:405,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:405,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:407,1
    - Dst: auto*::getVIN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:407,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:408,1
    - Dst: auto*::getLogicalAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:408,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:409,1
    - Dst: auto*::getEID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:409,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:410,1
    - Dst: auto*::getGID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:410,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:411,1
    - Dst: auto*::getFurtherActionRequired
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:411,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:413,1
    - Dst: auto*::hasSyncStatus
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:413,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:414,1
    - Dst: auto*::getSyncStatus
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 415
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getLogicalAddress
    - auto*::getInvertProtocolVersion
    - auto*::getPayloadLength
    - auto*::getPayloadType
    - auto::get
    - PTF_ASSERT_VECTORS_EQUAL
    - auto*::getSummary
    - PTF_ASSERT_TRUE
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto*::getFurtherActionRequired
    - pcpp::Packet::getLayerOfType
    - auto*::getProtocolVersionAsStr
    - auto*::getVIN
    - auto*::toString
    - auto*::getEID
    - auto*::getProtocolVersion
    - createPacketFromHexResource
    - auto*::getPayloadTypeAsStr
    - auto*::hasSyncStatus
    - PTF_ASSERT_NOT_NULL
    - auto*::getGID
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_RAISES
    - auto*::getSyncStatus
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpVehAnnMessParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:421,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:421,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:422,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:422,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:425,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:427,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:427,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:428,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:428,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:429,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:429,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:430,1
    - Dst: pcpp::DoIpVehicleAnnouncementMessage::setSyncStatus
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:443,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:445,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:445,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:446,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:447,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:447,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:448,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:448,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:449,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:450,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:452,1
    - Dst: auto*::hasSyncStatus
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:452,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:453,1
    - Dst: auto*::getSyncStatus
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:453,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:454,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:455,1
    - Dst: auto*::clearSyncStatus
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:457,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:458,1
    - Dst: auto*::hasSyncStatus
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:458,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:459,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 418
    functionDepth: 4
    functionLinenumber: 418
    functionLinenumberEnd: 462
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::Packet::getLayerOfType
    - pcpp::DoIpVehicleAnnouncementMessage::setSyncStatus
    - auto*::hasSyncStatus
    - PTF_ASSERT_NOT_NULL
    - auto*::getSyncStatus
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - auto*::getSummary
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    - auto*::clearSyncStatus
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpVehAnnMessCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:467,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:469,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:470,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:470,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:472,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:473,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:475,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:475,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:476,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:476,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:477,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:477,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:478,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:478,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:479,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:479,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:480,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:480,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:481,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 483
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getInvertProtocolVersion
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto*::getPayloadLength
    - auto*::getProtocolVersion
    - pcpp::Packet::getLayerOfType
    - auto::get
    - auto*::getProtocolVersionAsStr
    - auto*::getPayloadType
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - auto*::toString
    - PTF_ASSERT_TRUE
    - auto*::getPayloadTypeAsStr
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpVehIdenReqParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:489,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:489,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:490,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:490,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:492,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:492,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:493,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:496,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:496,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:497,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:497,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:498,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:498,1
    - Dst: pcpp::DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:502,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:503,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:503,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:504,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:506,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:506,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:507,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 486
    functionDepth: 4
    functionLinenumber: 486
    functionLinenumberEnd: 508
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - htobe16
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpVehIdenReqCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:513,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:515,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:516,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:516,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:518,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:519,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:521,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:521,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:522,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:522,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:523,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:523,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:524,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:524,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:525,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:525,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:526,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:526,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:527,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:527,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:528,1
    - Dst: auto*::getSourceAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:528,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:529,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 530
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getInvertProtocolVersion
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto*::getPayloadLength
    - auto*::getProtocolVersion
    - pcpp::Packet::getLayerOfType
    - auto::get
    - auto*::getProtocolVersionAsStr
    - auto*::getPayloadType
    - PTF_ASSERT_NOT_NULL
    - auto*::getSourceAddress
    - createPacketFromHexResource
    - auto*::toString
    - auto*::getSummary
    - PTF_ASSERT_TRUE
    - auto*::getPayloadTypeAsStr
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpAliveCheckRespParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:536,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:536,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:537,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:537,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:540,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:542,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:542,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:543,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:543,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:544,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:544,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:545,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:550,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:550,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:551,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:553,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:553,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:554,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 533
    functionDepth: 4
    functionLinenumber: 533
    functionLinenumberEnd: 555
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpAliveCheckRespCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:560,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:562,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:563,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:563,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:565,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:566,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:568,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:568,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:570,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:570,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:571,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:571,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:572,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:572,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:573,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:573,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:574,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:574,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:575,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:575,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:576,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:576,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:577,1
    - Dst: auto*::getPowerModeCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 578
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getInvertProtocolVersion
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto*::getPayloadLength
    - auto*::getProtocolVersion
    - pcpp::Packet::getLayerOfType
    - auto::get
    - auto*::getProtocolVersionAsStr
    - auto*::getPayloadType
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - auto*::getSummary
    - auto*::toString
    - auto*::getPowerModeCode
    - PTF_ASSERT_TRUE
    - auto*::getPayloadTypeAsStr
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpDiagPowerModeRespParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:584,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:584,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:585,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:585,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:588,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:590,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:590,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:591,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:591,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:592,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:592,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:593,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:598,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:598,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:599,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:601,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:601,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:602,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 581
    functionDepth: 4
    functionLinenumber: 581
    functionLinenumberEnd: 603
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpDiagPowerModeRespCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:608,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:610,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:611,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:611,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:613,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:614,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:616,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:617,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:620,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:620,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:621,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:621,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:622,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:622,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:623,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:623,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:624,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:624,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:625,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:625,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:626,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:626,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:627,1
    - Dst: auto*::getNodeType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:627,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:628,1
    - Dst: auto*::getMaxConcurrentSockets
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:628,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:629,1
    - Dst: auto*::getCurrentlyOpenSockets
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:629,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:630,1
    - Dst: auto*::hasMaxDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:630,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:632,1
    - Dst: auto*::getMaxDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 633
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getInvertProtocolVersion
    - auto*::getPayloadLength
    - auto*::getPayloadType
    - auto::get
    - auto*::getNodeType
    - auto*::getSummary
    - auto*::getMaxConcurrentSockets
    - PTF_ASSERT_TRUE
    - auto*::getMaxDataSize
    - auto*::hasMaxDataSize
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto*::getProtocolVersionAsStr
    - auto*::getCurrentlyOpenSockets
    - auto*::toString
    - auto*::getProtocolVersion
    - createPacketFromHexResource
    - auto*::getPayloadTypeAsStr
    - PTF_ASSERT_NOT_NULL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpEntityStatusRespParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:639,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:639,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:640,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:640,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:643,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:645,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:645,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:646,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:646,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:647,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:647,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:648,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:656,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:656,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:657,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:659,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:660,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:662,1
    - Dst: auto*::hasMaxDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:662,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:663,1
    - Dst: auto*::getMaxDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:664,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:666,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:666,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:667,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:667,1
    - Dst: auto*::setMaxDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:672,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:673,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:673,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:674,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:674,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:676,1
    - Dst: auto*::hasMaxDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:676,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:677,1
    - Dst: auto*::getMaxDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:677,1
    - Dst: auto*::clearMaxDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:679,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:680,1
    - Dst: auto*::hasMaxDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:680,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:681,1
    - Dst: auto*::getMaxDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 636
    functionDepth: 4
    functionLinenumber: 636
    functionLinenumberEnd: 682
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - auto*::setMaxDataSize
    - auto*::hasMaxDataSize
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::Packet::getLayerOfType
    - auto*::clearMaxDataSize
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_RAISES
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    - auto*::getMaxDataSize
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpEntityStatusRespCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:687,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:689,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:690,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:690,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:692,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:693,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:697,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:697,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:698,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:698,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:701,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:701,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:702,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:702,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:703,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:703,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:704,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:704,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:705,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:705,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:706,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:706,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:707,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:707,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:708,1
    - Dst: auto*::getSourceAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:708,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:709,1
    - Dst: auto*::getTargetAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:709,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:710,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:710,1
    - Dst: auto*::getDiagnosticData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:713,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 716
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getDiagnosticData
    - auto*::getInvertProtocolVersion
    - auto*::getPayloadLength
    - auto*::getPayloadType
    - auto::get
    - auto*::getTargetAddress
    - PTF_ASSERT_VECTORS_EQUAL
    - auto*::getSourceAddress
    - auto*::getSummary
    - PTF_ASSERT_TRUE
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto*::getProtocolVersionAsStr
    - auto*::toString
    - auto*::getProtocolVersion
    - createPacketFromHexResource
    - auto*::getPayloadTypeAsStr
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpDiagMessParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:722,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:722,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:723,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:723,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:726,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:728,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:728,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:729,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:729,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:730,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:730,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:731,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:738,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:738,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:739,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:741,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:741,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:742,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:742,1
    - Dst: pcpp::DoIpDiagnosticMessage::setDiagnosticData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:745,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:747,1
    - Dst: pcpp::DoIpDiagnosticMessage::getDiagnosticData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:747,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:748,1
    - Dst: pcpp::DoIpDiagnosticMessage::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 719
    functionDepth: 4
    functionLinenumber: 719
    functionLinenumberEnd: 749
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - pcpp::DoIpDiagnosticMessage::setDiagnosticData
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - PTF_ASSERT_VECTORS_EQUAL
    - pcpp::DoIpDiagnosticMessage::getDiagnosticData
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::DoIpDiagnosticMessage::getSummary
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpDiagMessCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:754,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:756,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:757,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:757,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:759,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:760,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:762,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:762,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:763,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:763,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:764,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:764,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:765,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:765,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:766,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:766,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:767,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:767,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:768,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:768,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:769,1
    - Dst: auto*::getSourceAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:769,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:770,1
    - Dst: auto*::getTargetAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:770,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:771,1
    - Dst: auto*::getAckCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:771,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:772,1
    - Dst: auto*::hasPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:772,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:774,1
    - Dst: auto*::getPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:774,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:775,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 778
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getAckCode
    - auto*::hasPreviousMessage
    - auto*::getInvertProtocolVersion
    - auto*::getPayloadLength
    - PTF_ASSERT_VECTORS_EQUAL
    - auto::get
    - auto*::getPayloadType
    - auto*::getTargetAddress
    - auto*::getSourceAddress
    - auto*::getSummary
    - auto*::getPreviousMessage
    - PTF_ASSERT_TRUE
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto*::getProtocolVersionAsStr
    - auto*::toString
    - auto*::getProtocolVersion
    - createPacketFromHexResource
    - auto*::getPayloadTypeAsStr
    - PTF_ASSERT_NOT_NULL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpDiagMessAckParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:784,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:784,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:785,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:785,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:788,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:790,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:790,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:791,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:791,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:792,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:792,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:793,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:800,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:800,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:801,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:803,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:803,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:804,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:804,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:805,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:806,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:808,1
    - Dst: auto*::hasPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:808,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:809,1
    - Dst: auto*::getPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:809,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:811,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:811,1
    - Dst: auto*::setSourceAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:813,1
    - Dst: auto*::setTargetAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:814,1
    - Dst: auto*::setPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:818,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:820,1
    - Dst: auto*::hasPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:820,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:821,1
    - Dst: auto*::getPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:821,1
    - Dst: auto*::setPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:823,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:824,1
    - Dst: auto*::hasPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:824,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:825,1
    - Dst: auto*::getPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:825,1
    - Dst: auto*::setPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:827,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:829,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:830,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:834,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:834,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:835,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 781
    functionDepth: 4
    functionLinenumber: 781
    functionLinenumberEnd: 836
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::hasPreviousMessage
    - pcpp::Packet::addLayer
    - pcpp::SdpLayer::getOwnerIPv4Address
    - PTF_ASSERT_VECTORS_EQUAL
    - auto*::getSummary
    - auto*::getPreviousMessage
    - auto*::setPreviousMessage
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto*::setTargetAddress
    - auto*::setSourceAddress
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpDiagMessAckCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:841,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:843,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:844,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:844,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:846,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:847,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:849,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:849,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:850,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:850,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:851,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:851,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:852,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:852,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:853,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:853,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:854,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:854,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:855,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:855,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:856,1
    - Dst: auto*::getSourceAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:856,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:857,1
    - Dst: auto*::getTargetAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:857,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:858,1
    - Dst: auto*::getNackCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:858,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:859,1
    - Dst: auto*::hasPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:859,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:862,1
    - Dst: auto*::getPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:862,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:864,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 867
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::hasPreviousMessage
    - auto*::getNackCode
    - auto*::getInvertProtocolVersion
    - auto*::getPayloadLength
    - PTF_ASSERT_VECTORS_EQUAL
    - auto::get
    - auto*::getPayloadType
    - auto*::getTargetAddress
    - auto*::getSourceAddress
    - auto*::getSummary
    - auto*::getPreviousMessage
    - PTF_ASSERT_TRUE
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto*::getProtocolVersionAsStr
    - auto*::toString
    - auto*::getProtocolVersion
    - createPacketFromHexResource
    - auto*::getPayloadTypeAsStr
    - PTF_ASSERT_NOT_NULL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpDiagMessNackParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:873,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:873,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:874,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:874,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:876,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:878,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:878,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:879,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:879,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:880,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:880,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:881,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:886,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:886,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:887,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:892,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:892,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:893,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:893,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:895,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:897,1
    - Dst: auto*::hasPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:897,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:898,1
    - Dst: auto*::getPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:898,1
    - Dst: auto*::setSourceAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:901,1
    - Dst: auto*::setTargetAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:902,1
    - Dst: auto*::setPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:904,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:906,1
    - Dst: auto*::getSourceAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:906,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:907,1
    - Dst: auto*::getTargetAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:907,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:908,1
    - Dst: auto*::hasPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:908,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:909,1
    - Dst: auto*::getPreviousMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:909,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:911,1
    - Dst: auto*::getSummary
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:912,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:918,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:918,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:919,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 870
    functionDepth: 4
    functionLinenumber: 870
    functionLinenumberEnd: 921
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::hasPreviousMessage
    - pcpp::Packet::addLayer
    - pcpp::SdpLayer::getOwnerIPv4Address
    - PTF_ASSERT_VECTORS_EQUAL
    - auto*::getTargetAddress
    - auto*::getSourceAddress
    - auto*::getSummary
    - auto*::getPreviousMessage
    - auto*::setPreviousMessage
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto*::setTargetAddress
    - auto*::setSourceAddress
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv4Layer::getIPv4Header
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpDiagMessNackCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:926,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:928,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:929,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:929,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:931,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:932,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:934,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:934,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:935,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:935,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:936,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:936,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:937,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:937,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:938,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:938,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:939,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:939,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:940,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 941
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getInvertProtocolVersion
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto*::getPayloadLength
    - auto*::getProtocolVersion
    - pcpp::Packet::getLayerOfType
    - auto::get
    - auto*::getProtocolVersionAsStr
    - auto*::getPayloadType
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - auto*::toString
    - PTF_ASSERT_TRUE
    - auto*::getPayloadTypeAsStr
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpDiagPowerModeReqParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:947,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:947,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:948,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:948,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:951,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:953,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:953,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:954,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:954,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:955,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:955,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:956,1
    - Dst: pcpp::DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:959,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:961,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:961,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:962,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:964,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:964,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:965,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 944
    functionDepth: 4
    functionLinenumber: 944
    functionLinenumberEnd: 966
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpDiagPowerModeReqCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:971,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:973,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:974,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:974,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:976,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:977,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:979,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:979,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:980,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:980,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:981,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:981,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:982,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:982,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:983,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:983,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:984,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:984,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:985,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 969
    functionDepth: 2
    functionLinenumber: 969
    functionLinenumberEnd: 986
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getInvertProtocolVersion
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto*::getPayloadLength
    - auto*::getProtocolVersion
    - pcpp::Packet::getLayerOfType
    - auto::get
    - auto*::getProtocolVersionAsStr
    - auto*::getPayloadType
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - auto*::toString
    - PTF_ASSERT_TRUE
    - auto*::getPayloadTypeAsStr
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpEntityStatusReqParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:992,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:992,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:993,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:993,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:996,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:998,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:998,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:999,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:999,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1000,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1000,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1001,1
    - Dst: pcpp::DoIpEntityStatusRequest::DoIpEntityStatusRequest
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1004,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1006,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1006,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1007,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1009,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1009,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1010,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 989
    functionDepth: 4
    functionLinenumber: 989
    functionLinenumberEnd: 1011
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::DoIpEntityStatusRequest::DoIpEntityStatusRequest
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpEntityStatusReqCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1016,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1018,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1019,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1019,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1021,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1022,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1024,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1024,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1025,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1025,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1026,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1026,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1027,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1027,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1028,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1028,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1029,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1029,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1030,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1014
    functionDepth: 2
    functionLinenumber: 1014
    functionLinenumberEnd: 1031
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getInvertProtocolVersion
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto*::getPayloadLength
    - auto*::getProtocolVersion
    - pcpp::Packet::getLayerOfType
    - auto::get
    - auto*::getProtocolVersionAsStr
    - auto*::getPayloadType
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - auto*::toString
    - PTF_ASSERT_TRUE
    - auto*::getPayloadTypeAsStr
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpAliveCheckReqParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1037,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1037,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1038,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1038,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1041,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1043,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1043,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1044,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1044,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1045,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1045,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1046,1
    - Dst: pcpp::DoIpAliveCheckRequest::DoIpAliveCheckRequest
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1049,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1051,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1051,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1052,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1054,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1054,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1055,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1034
    functionDepth: 4
    functionLinenumber: 1034
    functionLinenumberEnd: 1056
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::DoIpAliveCheckRequest::DoIpAliveCheckRequest
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpAliveCheckReqCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1062,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1064,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1065,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1065,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1067,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1068,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1070,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1070,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1071,1
    - Dst: auto*::getProtocolVersionAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1071,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1072,1
    - Dst: auto*::getInvertProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1072,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1073,1
    - Dst: auto*::getPayloadType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1073,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1074,1
    - Dst: auto*::getPayloadTypeAsStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1074,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1075,1
    - Dst: auto*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1075,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1076,1
    - Dst: auto*::getPayloadLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1077
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - auto*::getInvertProtocolVersion
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto*::getPayloadLength
    - auto*::getProtocolVersion
    - pcpp::Packet::getLayerOfType
    - auto::get
    - auto*::getProtocolVersionAsStr
    - auto*::getPayloadType
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - auto*::toString
    - PTF_ASSERT_TRUE
    - auto*::getPayloadTypeAsStr
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpVehIdenReqWithDefVersParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1082,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1083,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1084,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1086,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1087,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1087,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1089,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1090,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1090,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1092,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1093,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1080
    functionDepth: 2
    functionLinenumber: 1080
    functionLinenumberEnd: 1095
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
    functionUses: 0
    functionsReached:
    - PTF_ASSERT_FALSE
    - pcpp::Packet::isPacketOfType
    - auto::get
    - createPacketFromHexResource
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DoIpInvalidPackets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::utils::createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:13,1
    - Dst: pcpp_tests::utils::PacketFactory::PacketFactory
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:14,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:16,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:18,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:18,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:19,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:19,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:20,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:21,1
    - Dst: pcpp::NflogLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:21,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:23,1
    - Dst: pcpp::NflogLayer*::getFamily
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:24,1
    - Dst: pcpp::NflogLayer*::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:24,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:25,1
    - Dst: pcpp::NflogLayer*::getResourceId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:25,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:27,1
    - Dst: pcpp::NflogLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:27,1
    - Dst: pcpp::NflogLayer*::getTlvByType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:48,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:50,1
    - Dst: pcpp::NflogTlv::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:50,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:51,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:51,1
    - Dst: pcpp::NflogTlv::getRecordBasePtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:56,1
    - Dst: pcpp::NflogLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 11
    functionDepth: 3
    functionLinenumber: 11
    functionLinenumberEnd: 57
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - pcpp::NflogLayer*::getResourceId
    - pcpp::NflogTlv::getTotalSize
    - pcpp::byteArrayToHexString
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp_tests::utils::PacketFactory::PacketFactory
    - auto::get
    - pcpp_tests::utils::createPacketFromHexResource
    - pcpp::Packet::getLayerOfType
    - pcpp::NflogLayer*::getNextLayer
    - PTF_ASSERT_NOT_NULL
    - pcpp::NflogLayer*::getFamily
    - pcpp::NflogLayer*::getVersion
    - PTF_ASSERT_TRUE
    - pcpp::NflogLayer*::getTlvByType
    - pcpp::NflogTlv::getRecordBasePtr
    - pcpp::NflogLayer*::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(NflogPacketParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:9,1
    - Dst: pcpp::PemCodec::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:9,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:22,1
    - Dst: pcpp::PemCodec::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:22,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:27,1
    - Dst: pcpp::PemCodec::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:27,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:29,1
    - Dst: pcpp::PemCodec::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 4
    functionDepth: 2
    functionLinenumber: 4
    functionLinenumberEnd: 31
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp
    functionUses: 0
    functionsReached:
    - PTF_ASSERT_EQUAL
    - PTF_ASSERT_RAISES
    - pcpp::PemCodec::encode
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PemEncodingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:58,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:59,1
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:66,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:67,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:72,1
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:72,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:73,1
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:73,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:74,1
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:74,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:76,1
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:76,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:78,1
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:78,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:80,1
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:80,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:82,1
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:82,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:84,1
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:84,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:86,1
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:86,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:88,1
    - Dst: pcpp::PemCodec::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 91
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp
    functionUses: 0
    functionsReached:
    - PTF_ASSERT_RAISES
    - pcpp::PemCodec::decode
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PemDecodingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:16,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:17,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:19,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:21,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:21,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:22,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:24,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:24,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:26,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:27,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageAt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:27,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:29,1
    - Dst: pcpp::SSLHandshakeLayer*::getRecordType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:30,1
    - Dst: pcpp::SSLHandshakeLayer*::getRecordVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:31,1
    - Dst: pcpp::SSLClientHelloMessage*::getHandshakeType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:32,1
    - Dst: pcpp::SSLClientHelloMessage*::getHandshakeVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:32,1
    - Dst: pcpp::SSLClientHelloMessage*::getClientHelloHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:33,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:34,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:37,1
    - Dst: pcpp::SSLClientHelloMessage*::getSessionIDLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:37,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:38,1
    - Dst: pcpp::SSLClientHelloMessage*::getSessionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:39,1
    - Dst: pcpp::SSLClientHelloMessage*::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:39,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:77,1
    - Dst: pcpp::SSLClientHelloMessage*::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:78,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:80,1
    - Dst: pcpp::SSLClientHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:81,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:83,1
    - Dst: pcpp::SSLCipherSuite*::asString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:83,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:84,1
    - Dst: pcpp::SSLCipherSuite*::getID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:84,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:85,1
    - Dst: pcpp::SSLCipherSuite*::getKeyExchangeAlg
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:85,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:86,1
    - Dst: pcpp::SSLCipherSuite*::getAuthAlg
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:87,1
    - Dst: pcpp::SSLCipherSuite*::getSymKeyAlg
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:87,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:88,1
    - Dst: pcpp::SSLCipherSuite*::getMACAlg
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:91,1
    - Dst: pcpp::SSLClientHelloMessage*::getCompressionMethodsValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:91,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:92,1
    - Dst: pcpp::SSLHandshakeLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:92,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtensionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:94,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:95,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:96,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtensionsLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:96,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:98,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:99,1
    - Dst: pcpp::SSLExtension*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:99,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:101,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:103,1
    - Dst: pcpp::SSLServerNameIndicationExtension*::getHostName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:103,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:106,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:107,1
    - Dst: pcpp::TLSECPointFormatExtension*::getECPointFormatList
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:108,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:109,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:109,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:110,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:110,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:113,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:114,1
    - Dst: pcpp::TLSSupportedGroupsExtension*::getSupportedGroups
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:116,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:117,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:118,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:118,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:119,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:119,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:133,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:136,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:137,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:138,1
    - Dst: pcpp::SSLExtension*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:138,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:139,1
    - Dst: pcpp::SSLExtension*::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:139,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:140,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 142
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLClientHelloMessage*::getSessionIDLength
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageAt
    - pcpp::SSLHandshakeLayer*::getHeaderLen
    - pcpp::SSLCipherSuite*::getMACAlg
    - pcpp::SSLServerNameIndicationExtension*::getHostName
    - pcpp::SSLCipherSuite*::getAuthAlg
    - std::vector::at
    - pcpp::SSLClientHelloMessage*::getClientHelloHeader
    - pcpp::SSLClientHelloMessage*::getSessionID
    - auto::get
    - pcpp::TLSECPointFormatExtension*::getECPointFormatList
    - pcpp::SSLClientHelloMessage*::getCipherSuiteCount
    - pcpp::SSLCipherSuite*::getKeyExchangeAlg
    - PTF_ASSERT_TRUE
    - pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
    - pcpp::SSLExtension*::getLength
    - pcpp::SSLCipherSuite*::getSymKeyAlg
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::TLSSupportedGroupsExtension*::getSupportedGroups
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::SSLClientHelloMessage*::getCipherSuite
    - pcpp::SSLClientHelloMessage*::getExtensionOfType
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::SSLClientHelloMessage*::getExtensionsLength
    - pcpp::SSLClientHelloMessage*::getHandshakeVersion
    - pcpp::SSLHandshakeLayer*::getRecordType
    - pcpp::SSLClientHelloMessage*::getExtension
    - pcpp::SSLClientHelloMessage*::getExtensionCount
    - PTF_PRINT_VERBOSE
    - std::vector::size
    - PTF_ASSERT_NOT_NULL
    - pcpp::SSLCipherSuite*::asString
    - pcpp::SSLHandshakeLayer*::getRecordVersion
    - pcpp::SSLCipherSuite*::getID
    - pcpp::SSLClientHelloMessage*::getCompressionMethodsValue
    - pcpp::SSLClientHelloMessage*::getHandshakeType
    - pcpp::SSLExtension*::getType
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSLClientHelloParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:150,1
    - Dst: pcpp::SSLClientHelloMessage::getHandshakeVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:150,1
    - Dst: pcpp::SSLClientHelloMessage::generateTLSFingerprint
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:151,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:152,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:158,1
    - Dst: pcpp::SSLServerHelloMessage::getHandshakeVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:158,1
    - Dst: pcpp::SSLServerHelloMessage::generateTLSFingerprint
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:159,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLClientHelloMessage::getHandshakeVersion
    - PTF_ASSERT_EQUAL
    - pcpp::SSLServerHelloMessage::generateTLSFingerprint
    - pcpp::SSLServerHelloMessage::getHandshakeVersion
    - pcpp::SSLClientHelloMessage::generateTLSFingerprint
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSLHelloTruncatedVersionTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:166,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:167,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:169,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:171,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:172,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:174,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:175,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:177,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtensionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:177,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:178,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:179,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:180,1
    - Dst: pcpp::SSLExtension*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:180,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:181,1
    - Dst: pcpp::SSLExtension*::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:181,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:182,1
    - Dst: pcpp::SSLExtension*::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:182,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:183,1
    - Dst: pcpp::SSLExtension*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 185
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLExtension*::getLength
    - pcpp::SSLClientHelloMessage*::getExtension
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - pcpp::SSLClientHelloMessage*::getExtensionCount
    - PTF_ASSERT_EQUAL
    - auto::get
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_NULL
    - pcpp::SSLExtension*::getTotalLength
    - createPacketFromHexResource
    - pcpp::SSLExtension*::getType
    - pcpp::SSLExtension*::getData
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSLExtensionWithZeroSizeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:190,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:191,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:193,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:195,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:195,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:196,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:197,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:199,1
    - Dst: pcpp::SSLApplicationDataLayer*::getRecordVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:199,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:200,1
    - Dst: pcpp::SSLApplicationDataLayer*::getRecordType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:200,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:201,1
    - Dst: pcpp::SSLApplicationDataLayer*::getEncryptedDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:201,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:202,1
    - Dst: pcpp::SSLApplicationDataLayer*::getEncryptedData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:202,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:203,1
    - Dst: pcpp::SSLApplicationDataLayer*::getEncryptedData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:203,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:204,1
    - Dst: pcpp::SSLApplicationDataLayer*::getEncryptedData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:204,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:205,1
    - Dst: pcpp::SSLApplicationDataLayer*::getEncryptedData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:205,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:207,1
    - Dst: pcpp::SSLApplicationDataLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:207,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:208,1
    - Dst: pcpp::SSLApplicationDataLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:208,1
    - Dst: dynamic_cast<pcpp::SSLApplicationDataLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:209,1
    - Dst: pcpp::SSLApplicationDataLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:209,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:210,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:212,1
    - Dst: pcpp::SSLApplicationDataLayer*::getRecordVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:212,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:213,1
    - Dst: pcpp::SSLApplicationDataLayer*::getRecordType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:213,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:214,1
    - Dst: pcpp::SSLApplicationDataLayer*::getEncryptedDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:214,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:215,1
    - Dst: pcpp::SSLApplicationDataLayer*::getEncryptedData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:215,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:216,1
    - Dst: pcpp::SSLApplicationDataLayer*::getEncryptedData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:216,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:217,1
    - Dst: pcpp::SSLApplicationDataLayer*::getEncryptedData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:217,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:219,1
    - Dst: pcpp::SSLApplicationDataLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 220
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::SSLApplicationDataLayer*::getEncryptedDataLen
    - pcpp::SSLApplicationDataLayer*::getNextLayer
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::SSLApplicationDataLayer*::getRecordVersion
    - PTF_ASSERT_NOT_NULL
    - dynamic_cast<pcpp::SSLApplicationDataLayer*>
    - createPacketFromHexResource
    - PTF_ASSERT_TRUE
    - pcpp::SSLApplicationDataLayer*::getRecordType
    - PTF_ASSERT_NULL
    - pcpp::SSLApplicationDataLayer*::getEncryptedData
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSLAppDataParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:225,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:226,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:227,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:229,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:230,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:232,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:232,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:233,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:234,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:235,1
    - Dst: pcpp::SSLAlertLayer*::getRecordVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:235,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:236,1
    - Dst: pcpp::SSLAlertLayer*::getRecordType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:236,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:237,1
    - Dst: pcpp::SSLAlertLayer*::getAlertLevel
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:237,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:238,1
    - Dst: pcpp::SSLAlertLayer*::getAlertDescription
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:238,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:239,1
    - Dst: pcpp::SSLAlertLayer*::getRecordLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:239,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:239,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:240,1
    - Dst: pcpp::SSLAlertLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:240,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:242,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:242,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:243,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:244,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:245,1
    - Dst: pcpp::SSLAlertLayer*::getRecordVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:245,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:246,1
    - Dst: pcpp::SSLAlertLayer*::getRecordType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:246,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:247,1
    - Dst: pcpp::SSLAlertLayer*::getAlertLevel
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:247,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:248,1
    - Dst: pcpp::SSLAlertLayer*::getAlertDescription
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:248,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:249,1
    - Dst: pcpp::SSLAlertLayer*::getRecordLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:249,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:249,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:250,1
    - Dst: pcpp::SSLAlertLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 251
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLAlertLayer*::getRecordLayer
    - pcpp::SSLAlertLayer*::getHeaderLen
    - pcpp::SSLAlertLayer*::getRecordVersion
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::SSLAlertLayer*::getNextLayer
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::SSLAlertLayer*::getAlertDescription
    - PTF_ASSERT_NOT_NULL
    - be16toh
    - createPacketFromHexResource
    - pcpp::SSLAlertLayer*::getAlertLevel
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_NULL
    - pcpp::SSLAlertLayer*::getRecordType
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSLAlertParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:259,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:260,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:262,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:264,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:264,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:265,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:266,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:267,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:267,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:269,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:270,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:271,1
    - Dst: pcpp::SSLServerHelloMessage*::getSessionIDLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:271,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:272,1
    - Dst: pcpp::SSLServerHelloMessage*::getSessionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:272,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:273,1
    - Dst: pcpp::SSLServerHelloMessage*::getSessionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:273,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:274,1
    - Dst: pcpp::SSLServerHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:274,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:275,1
    - Dst: pcpp::SSLServerHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:275,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:276,1
    - Dst: pcpp::SSLServerHelloMessage*::getExtensionsLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:276,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:277,1
    - Dst: pcpp::SSLServerHelloMessage*::getExtensionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:277,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:284,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:287,1
    - Dst: pcpp::SSLServerHelloMessage*::getExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:288,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:289,1
    - Dst: pcpp::SSLExtension*::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:289,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:290,1
    - Dst: pcpp::SSLExtension*::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:290,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:291,1
    - Dst: pcpp::SSLExtension*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:291,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:292,1
    - Dst: pcpp::SSLExtension*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:292,1
    - Dst: pcpp::SSLServerHelloMessage*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:295,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:296,1
    - Dst: pcpp::TLSECPointFormatExtension*::getECPointFormatList
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:297,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:298,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:298,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:299,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:299,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:301,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:302,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:303,1
    - Dst: pcpp::SSLChangeCipherSpecLayer*::getRecordVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:303,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:304,1
    - Dst: pcpp::SSLChangeCipherSpecLayer*::getRecordType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:304,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:305,1
    - Dst: pcpp::SSLChangeCipherSpecLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:305,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:307,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:308,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:309,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:309,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:310,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:311,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:312,1
    - Dst: pcpp::SSLUnknownMessage*::getHandshakeType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:312,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:313,1
    - Dst: pcpp::SSLUnknownMessage*::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 314
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLServerHelloMessage*::getSessionIDLength
    - pcpp::Packet::getNextLayerOfType
    - pcpp::SSLServerHelloMessage*::getExtensionCount
    - std::vector::at
    - pcpp::TLSECPointFormatExtension*::getECPointFormatList
    - auto::get
    - pcpp::SSLChangeCipherSpecLayer*::getRecordType
    - PTF_ASSERT_TRUE
    - pcpp::SSLUnknownMessage*::getMessageLength
    - pcpp::SSLExtension*::getData
    - pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
    - pcpp::SSLExtension*::getLength
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::SSLServerHelloMessage*::getSessionID
    - pcpp::SSLServerHelloMessage*::getExtensionOfType
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::SSLServerHelloMessage*::getExtension
    - createPacketFromHexResource
    - pcpp::SSLServerHelloMessage*::getCipherSuite
    - PTF_PRINT_VERBOSE
    - std::vector::size
    - pcpp::SSLChangeCipherSpecLayer*::getHeaderLen
    - pcpp::SSLUnknownMessage*::getHandshakeType
    - PTF_ASSERT_NOT_NULL
    - pcpp::SSLExtension*::getTotalLength
    - pcpp::SSLChangeCipherSpecLayer*::getRecordVersion
    - pcpp::SSLServerHelloMessage*::getExtensionsLength
    - pcpp::SSLExtension*::getType
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSLMultipleRecordParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:322,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:324,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:326,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:328,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:328,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:329,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:330,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:332,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:332,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:334,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:335,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:336,1
    - Dst: pcpp::SSLClientKeyExchangeMessage*::getHandshakeType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:336,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:337,1
    - Dst: pcpp::SSLClientKeyExchangeMessage*::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:337,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:338,1
    - Dst: pcpp::SSLClientKeyExchangeMessage*::getClientKeyExchangeParamsLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:338,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:339,1
    - Dst: pcpp::SSLClientKeyExchangeMessage*::getClientKeyExchangeParams
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:339,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:340,1
    - Dst: pcpp::SSLClientKeyExchangeMessage*::getClientKeyExchangeParams
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:340,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:341,1
    - Dst: pcpp::SSLClientKeyExchangeMessage*::getClientKeyExchangeParams
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 342
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::SSLClientKeyExchangeMessage*::getHandshakeType
    - PTF_ASSERT_NOT_NULL
    - pcpp::SSLClientKeyExchangeMessage*::getMessageLength
    - pcpp::SSLClientKeyExchangeMessage*::getClientKeyExchangeParamsLength
    - createPacketFromHexResource
    - pcpp::SSLClientKeyExchangeMessage*::getClientKeyExchangeParams
    - PTF_ASSERT_TRUE
    - pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSLMultipleRecordParsing2Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:350,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:352,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:354,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:356,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:356,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:357,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:358,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:360,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:360,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:362,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:363,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:364,1
    - Dst: pcpp::SSLCertificateMessage*::getHandshakeType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:364,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:365,1
    - Dst: pcpp::SSLCertificateMessage*::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:365,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:366,1
    - Dst: pcpp::SSLCertificateMessage*::getNumOfCertificates
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:366,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:367,1
    - Dst: pcpp::SSLCertificateMessage*::getCertificate
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:367,1
    - Dst: pcpp::SSLCertificateMessage*::getCertificate
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:370,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:371,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:372,1
    - Dst: auto::allDataExists
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:372,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:373,1
    - Dst: auto::getDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:373,1
    - Dst: auto::getRootAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:374,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:375,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:376,1
    - Dst: auto::getSubRecords
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:376,1
    - Dst: auto::getX509Certificate
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:377,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:378,1
    - Dst: auto::getIssuer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:379,1
    - Dst: pcpp::SSLCertificateMessage*::getCertificate
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:384,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:385,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:386,1
    - Dst: auto::allDataExists
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:386,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:387,1
    - Dst: auto::getDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:387,1
    - Dst: auto::getX509Certificate
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:388,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:389,1
    - Dst: auto::getSubject
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:390,1
    - Dst: pcpp::SSLCertificateMessage*::getCertificate
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:395,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:396,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:397,1
    - Dst: auto::allDataExists
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:397,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:398,1
    - Dst: auto::getDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:398,1
    - Dst: auto::getX509Certificate
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:399,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:400,1
    - Dst: auto::getSubject
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:401,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:406,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:407,1
    - Dst: pcpp::SSLCertificateRequestMessage*::isMessageComplete
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:407,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:408,1
    - Dst: pcpp::SSLCertificateRequestMessage*::getHandshakeType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:408,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:409,1
    - Dst: pcpp::SSLCertificateRequestMessage*::getCertificateTypes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:409,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:410,1
    - Dst: pcpp::SSLCertificateRequestMessage*::getCertificateTypes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:410,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:411,1
    - Dst: pcpp::SSLCertificateRequestMessage*::getCertificateTypes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:411,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:412,1
    - Dst: pcpp::SSLCertificateRequestMessage*::getCertificateAuthorityLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:412,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:413,1
    - Dst: pcpp::SSLCertificateRequestMessage*::getCertificateAuthorityData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:413,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:414,1
    - Dst: pcpp::SSLCertificateRequestMessage*::getCertificateAuthorityData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:414,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:415,1
    - Dst: pcpp::SSLCertificateRequestMessage*::getCertificateAuthorityData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:415,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:416,1
    - Dst: pcpp::SSLCertificateRequestMessage*::getCertificateAuthorityData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 417
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLCertificateMessage*::getCertificate
    - auto::getX509Certificate
    - auto::getIssuer
    - pcpp::SSLCertificateRequestMessage*::getCertificateTypes
    - auto::get
    - pcpp::SSLCertificateMessage*::getMessageLength
    - PTF_ASSERT_TRUE
    - pcpp::SSLCertificateMessage*::getNumOfCertificates
    - auto::getRootAsn1Record
    - pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - auto::getDataLength
    - pcpp::SSLCertificateRequestMessage*::getCertificateAuthorityData
    - pcpp::SSLCertificateRequestMessage*::getHandshakeType
    - auto::getSubRecords
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - auto::getSubject
    - pcpp::SSLCertificateRequestMessage*::getCertificateAuthorityLength
    - pcpp::SSLCertificateRequestMessage*::isMessageComplete
    - PTF_ASSERT_NOT_NULL
    - pcpp::SSLCertificateMessage*::getHandshakeType
    - auto::allDataExists
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSLMultipleRecordParsing3Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:425,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:427,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:429,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:431,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:431,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:432,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:433,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:435,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:435,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:437,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:438,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:439,1
    - Dst: pcpp::SSLServerKeyExchangeMessage*::getHandshakeType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:439,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:440,1
    - Dst: pcpp::SSLServerKeyExchangeMessage*::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:440,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:441,1
    - Dst: pcpp::SSLServerKeyExchangeMessage*::getServerKeyExchangeParamsLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:441,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:442,1
    - Dst: pcpp::SSLServerKeyExchangeMessage*::getServerKeyExchangeParams
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:442,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:443,1
    - Dst: pcpp::SSLServerKeyExchangeMessage*::getServerKeyExchangeParams
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:443,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:444,1
    - Dst: pcpp::SSLServerKeyExchangeMessage*::getServerKeyExchangeParams
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:444,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:446,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:447,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:448,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:448,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:450,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:451,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:452,1
    - Dst: pcpp::SSLServerHelloDoneMessage*::getHandshakeType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:452,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:453,1
    - Dst: pcpp::SSLServerHelloDoneMessage*::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:453,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:454,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageAt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 455
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - pcpp::Packet::getNextLayerOfType
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageAt
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::SSLServerKeyExchangeMessage*::getServerKeyExchangeParamsLength
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::SSLServerKeyExchangeMessage*::getMessageLength
    - PTF_ASSERT_NOT_NULL
    - pcpp::SSLServerKeyExchangeMessage*::getServerKeyExchangeParams
    - pcpp::SSLServerHelloDoneMessage*::getHandshakeType
    - createPacketFromHexResource
    - pcpp::SSLServerKeyExchangeMessage*::getHandshakeType
    - pcpp::SSLServerHelloDoneMessage*::getMessageLength
    - PTF_ASSERT_TRUE
    - pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSLMultipleRecordParsing4Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:463,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:464,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:466,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:468,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:469,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:470,1
    - Dst: pcpp::SSLChangeCipherSpecLayer*::getRecordVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:470,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:471,1
    - Dst: pcpp::SSLChangeCipherSpecLayer*::getRecordType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:471,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:472,1
    - Dst: pcpp::SSLChangeCipherSpecLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:472,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:474,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:475,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:476,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:476,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:477,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:478,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:479,1
    - Dst: pcpp::SSLUnknownMessage*::getHandshakeType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:479,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:480,1
    - Dst: pcpp::SSLUnknownMessage*::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:480,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:482,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:483,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:484,1
    - Dst: pcpp::SSLApplicationDataLayer*::getRecordVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:484,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:485,1
    - Dst: pcpp::SSLApplicationDataLayer*::getRecordType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:485,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:486,1
    - Dst: pcpp::SSLApplicationDataLayer*::getEncryptedDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:486,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:487,1
    - Dst: pcpp::SSLApplicationDataLayer*::getEncryptedData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:487,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:488,1
    - Dst: pcpp::SSLApplicationDataLayer*::getEncryptedData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:488,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:489,1
    - Dst: pcpp::SSLApplicationDataLayer*::getEncryptedData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:489,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:490,1
    - Dst: pcpp::SSLApplicationDataLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 491
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLApplicationDataLayer*::getRecordVersion
    - pcpp::SSLApplicationDataLayer*::getEncryptedDataLen
    - pcpp::SSLChangeCipherSpecLayer*::getRecordType
    - auto::get
    - pcpp::SSLUnknownMessage*::getMessageLength
    - pcpp::SSLApplicationDataLayer*::getEncryptedData
    - pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - createPacketFromHexResource
    - pcpp::SSLApplicationDataLayer*::getRecordType
    - PTF_ASSERT_NULL
    - pcpp::SSLApplicationDataLayer*::getNextLayer
    - pcpp::SSLChangeCipherSpecLayer*::getHeaderLen
    - pcpp::SSLUnknownMessage*::getHandshakeType
    - PTF_ASSERT_NOT_NULL
    - pcpp::SSLChangeCipherSpecLayer*::getRecordVersion
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSLMultipleRecordParsing5Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:496,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:498,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:500,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:502,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:502,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:503,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:504,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:505,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:506,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:507,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:508,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:509,1
    - Dst: pcpp::SSLCertificateMessage*::isMessageComplete
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:509,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:510,1
    - Dst: pcpp::SSLCertificateMessage*::getNumOfCertificates
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:510,1
    - Dst: pcpp::SSLCertificateMessage*::getCertificate
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:511,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:512,1
    - Dst: pcpp::SSLx509Certificate*::allDataExists
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:512,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:513,1
    - Dst: pcpp::SSLx509Certificate*::getDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:513,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:515,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:516,1
    - Dst: pcpp::SSLx509Certificate*::getX509Certificate
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:516,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:517,1
    - Dst: pcpp::SSLx509Certificate*::getRootAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:517,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:520,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:522,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:524,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:524,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:525,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:526,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:527,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:528,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:529,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:530,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:531,1
    - Dst: pcpp::SSLCertificateMessage*::isMessageComplete
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:531,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:532,1
    - Dst: pcpp::SSLCertificateMessage*::getNumOfCertificates
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:532,1
    - Dst: pcpp::SSLCertificateMessage*::getCertificate
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:533,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:534,1
    - Dst: pcpp::SSLx509Certificate*::allDataExists
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:534,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:535,1
    - Dst: pcpp::SSLx509Certificate*::getDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:535,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:537,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:538,1
    - Dst: pcpp::SSLx509Certificate*::getX509Certificate
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:538,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:539,1
    - Dst: pcpp::SSLx509Certificate*::getRootAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 541
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::getNextLayerOfType
    - pcpp::SSLCertificateMessage*::getCertificate
    - pcpp::SSLx509Certificate*::getX509Certificate
    - SuppressLogs::SuppressLogs
    - auto::get
    - pcpp::SSLx509Certificate*::getRootAsn1Record
    - PTF_ASSERT_TRUE
    - pcpp::SSLCertificateMessage*::getNumOfCertificates
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::SSLCertificateMessage*::isMessageComplete
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::SSLx509Certificate*::allDataExists
    - pcpp::SSLx509Certificate*::getDataLength
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSLPartialCertificateParseTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:546,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:548,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:550,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:552,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:552,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:553,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:554,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:556,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:556,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:558,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:559,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:560,1
    - Dst: pcpp::SSLNewSessionTicketMessage*::isMessageComplete
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:560,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:561,1
    - Dst: pcpp::SSLNewSessionTicketMessage*::getHandshakeType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:561,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:562,1
    - Dst: pcpp::SSLNewSessionTicketMessage*::getSessionTicketDataLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:562,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:563,1
    - Dst: pcpp::SSLNewSessionTicketMessage*::getSessionTicketData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:563,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:564,1
    - Dst: pcpp::SSLNewSessionTicketMessage*::getSessionTicketData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:564,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:565,1
    - Dst: pcpp::SSLNewSessionTicketMessage*::getSessionTicketData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 566
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - pcpp::SSLNewSessionTicketMessage*::getSessionTicketData
    - pcpp::SSLNewSessionTicketMessage*::isMessageComplete
    - createPacketFromHexResource
    - pcpp::SSLNewSessionTicketMessage*::getHandshakeType
    - PTF_ASSERT_TRUE
    - pcpp::SSLNewSessionTicketMessage*::getSessionTicketDataLength
    - pcpp::SSLHandshakeLayer*::getHandshakeMessagesCount
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSLNewSessionTicketParseTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:571,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:573,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:575,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:577,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:578,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:580,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:581,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:582,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtensionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 583
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - pcpp::SSLClientHelloMessage*::getExtensionCount
    - PTF_ASSERT_EQUAL
    - auto::get
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSLMalformedPacketParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TLSECPointFormatExtension::getECPointFormatList
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:595,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:597,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 598
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - pcpp::TLSECPointFormatExtension::getECPointFormatList
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSLECPointFormatExtensionZeroLengthTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:603,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:605,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:606,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:608,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:609,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:621,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:622,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:624,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:625,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:626,1
    - Dst: pcpp::SSLClientHelloMessage*::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:626,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:629,1
    - Dst: pcpp::SSLClientHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:629,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:630,1
    - Dst: pcpp::SSLClientHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:630,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:631,1
    - Dst: pcpp::SSLClientHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:631,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:632,1
    - Dst: pcpp::SSLClientHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:632,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:633,1
    - Dst: pcpp::SSLClientHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:633,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:634,1
    - Dst: pcpp::SSLClientHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:634,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:638,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:639,1
    - Dst: pcpp::SSLSupportedVersionsExtension*::getSupportedVersions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:640,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:641,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:641,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:642,1
    - Dst: asEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:642,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:643,1
    - Dst: asEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:643,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:644,1
    - Dst: asEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:644,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:645,1
    - Dst: asEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:645,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:648,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:649,1
    - Dst: pcpp::TLSECPointFormatExtension*::getECPointFormatList
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:650,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:651,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:651,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:652,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:652,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:653,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:653,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:654,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:654,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:657,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:658,1
    - Dst: pcpp::TLSSupportedGroupsExtension*::getSupportedGroups
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:659,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:660,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:660,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:661,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:661,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:662,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:662,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:663,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:663,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:664,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:664,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:665,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:665,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:667,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:668,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:669,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:670,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:671,1
    - Dst: pcpp::SSLClientHelloMessage*::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:671,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:672,1
    - Dst: pcpp::SSLClientHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:672,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:673,1
    - Dst: pcpp::SSLClientHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:673,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:674,1
    - Dst: pcpp::SSLClientHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:674,1
    - Dst: pcpp::SSLClientHelloMessage*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:676,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:677,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:678,1
    - Dst: pcpp::SSLSupportedVersionsExtension*::getSupportedVersions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:679,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:680,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:680,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:681,1
    - Dst: asEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:681,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:682,1
    - Dst: asEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:682,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:684,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:685,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:687,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:688,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:690,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:691,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:693,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:694,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:695,1
    - Dst: pcpp::SSLServerHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:695,1
    - Dst: pcpp::SSLServerHelloMessage*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:697,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:698,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:699,1
    - Dst: pcpp::SSLSupportedVersionsExtension*::getSupportedVersions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:700,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:701,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:701,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:702,1
    - Dst: asEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:702,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:703,1
    - Dst: pcpp::SSLServerHelloMessage*::getHandshakeVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:703,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:705,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:706,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:707,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:708,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:709,1
    - Dst: pcpp::SSLServerHelloMessage*::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:709,1
    - Dst: pcpp::SSLServerHelloMessage*::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:711,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:712,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:713,1
    - Dst: pcpp::SSLSupportedVersionsExtension*::getSupportedVersions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:714,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:715,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:715,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:716,1
    - Dst: asEnum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:716,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:717,1
    - Dst: pcpp::SSLServerHelloMessage*::getHandshakeVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 718
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::clear
    - std::vector::at
    - asEnum
    - pcpp::TLSECPointFormatExtension*::getECPointFormatList
    - auto::get
    - pcpp::SSLServerHelloMessage*::getHandshakeVersion
    - pcpp::SSLClientHelloMessage*::getCipherSuiteCount
    - pcpp::SSLSupportedVersionsExtension*::getSupportedVersions
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - PTF_ASSERT_EQUAL
    - pcpp::SSLServerHelloMessage*::getExtensionOfType
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - pcpp::SSLClientHelloMessage*::getCipherSuite
    - pcpp::SSLClientHelloMessage*::getExtensionOfType
    - createPacketFromHexResource
    - pcpp::SSLServerHelloMessage*::getCipherSuite
    - std::vector::size
    - PTF_ASSERT_NOT_NULL
    - pcpp::TLSSupportedGroupsExtension*::getSupportedGroups
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TLS1_3ParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:726,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:728,1
    - Dst: pcpp::SSLCipherSuite::getCipherSuiteByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:733,1
    - Dst: pcpp::SSLCipherSuite::getCipherSuiteByID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:734,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:735,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:736,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:737,1
    - Dst: pcpp::SSLCipherSuite*::asString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:737,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:738,1
    - Dst: pcpp::SSLCipherSuite*::getID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:738,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 741
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - PTF_ASSERT_EQUAL
    - std::getline
    - PTF_ASSERT_NOT_NULL
    - pcpp::SSLCipherSuite::getCipherSuiteByName
    - pcpp::SSLCipherSuite*::asString
    - pcpp::SSLCipherSuite*::getID
    - pcpp::SSLCipherSuite::getCipherSuiteByID
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TLSCipherSuiteTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:746,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:748,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:749,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:751,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:752,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:754,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:755,1
    - Dst: pcpp::SSLClientHelloMessage*::generateTLSFingerprint
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:757,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:758,1
    - Dst: pcpp::SSLClientHelloMessage::ClientHelloTLSFingerprint::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:758,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:760,1
    - Dst: pcpp::SSLClientHelloMessage::ClientHelloTLSFingerprint::toMD5
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:760,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:762,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:763,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:765,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:766,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:767,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:768,1
    - Dst: pcpp::SSLClientHelloMessage*::generateTLSFingerprint
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:770,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:771,1
    - Dst: pcpp::SSLClientHelloMessage::ClientHelloTLSFingerprint::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:771,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:774,1
    - Dst: pcpp::SSLClientHelloMessage::ClientHelloTLSFingerprint::toMD5
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 775
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - PTF_ASSERT_NOT_NULL
    - pcpp::SSLClientHelloMessage*::generateTLSFingerprint
    - pcpp::SSLClientHelloMessage::ClientHelloTLSFingerprint::toMD5
    - pcpp::SSLClientHelloMessage::ClientHelloTLSFingerprint::toString
    - createPacketFromHexResource
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(ClientHelloTLSFingerprintTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:780,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:782,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:784,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:786,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:787,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:789,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:790,1
    - Dst: pcpp::SSLServerHelloMessage*::generateTLSFingerprint
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:793,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:794,1
    - Dst: pcpp::SSLServerHelloMessage::ServerHelloTLSFingerprint::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:794,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:795,1
    - Dst: pcpp::SSLServerHelloMessage::ServerHelloTLSFingerprint::toMD5
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:795,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:797,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:799,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:801,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:802,1
    - Dst: pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:803,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:804,1
    - Dst: pcpp::SSLServerHelloMessage*::generateTLSFingerprint
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:806,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:807,1
    - Dst: pcpp::SSLServerHelloMessage::ServerHelloTLSFingerprint::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:807,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:808,1
    - Dst: pcpp::SSLServerHelloMessage::ServerHelloTLSFingerprint::toMD5
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 809
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SSLHandshakeLayer*::getHandshakeMessageOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - pcpp::SSLServerHelloMessage::ServerHelloTLSFingerprint::toString
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - pcpp::SSLServerHelloMessage*::generateTLSFingerprint
    - pcpp::SSLServerHelloMessage::ServerHelloTLSFingerprint::toMD5
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(ServerHelloTLSFingerprintTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:16,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:17,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:19,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:19,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:20,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:20,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:21,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:21,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:22,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:22,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:23,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:24,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:24,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:25,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:27,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:27,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:27,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:28,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:34,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:37,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:37,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:38,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:39,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:40,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:41,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:42,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:43,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:43,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:49,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:50,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:52,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:52,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:53,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:53,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:54,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:54,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:55,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:55,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:56,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:56,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:57,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:57,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:58,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:58,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:64,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:65,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:67,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:67,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:68,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:68,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:69,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:70,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:70,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:71,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:71,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:72,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:72,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:73,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:73,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:79,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:80,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:82,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:82,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:83,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:83,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:84,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:84,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:85,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:85,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:86,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:87,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:87,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:88,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:89,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:89,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:90,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:90,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:98,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:99,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:101,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:101,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:102,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:103,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:103,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:104,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:104,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:105,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:105,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:106,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:106,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:109,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:109,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:109,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:110,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:110,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:118,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:119,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:120,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:120,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:126,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:127,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:128,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:128,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:134,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:135,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:137,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:137,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:138,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:138,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:139,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:139,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:140,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:140,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:141,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:141,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:142,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:143,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:143,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:149,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:150,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:152,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:152,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:153,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:153,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:154,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:154,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:155,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:155,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:156,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:156,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:157,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:157,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:158,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:158,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:164,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:165,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:167,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:167,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:168,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:168,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:169,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:169,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:170,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:170,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:171,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:171,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:172,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:172,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:173,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:173,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:179,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:180,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:182,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:182,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:183,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:183,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:184,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:184,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:185,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:185,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:186,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:186,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:187,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:187,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:188,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:188,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:194,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:195,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:197,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:197,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:198,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:198,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:199,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:199,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:200,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:200,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:201,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:201,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:202,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:202,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:203,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:203,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:209,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:210,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:212,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:212,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:213,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:213,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:214,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:214,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:215,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:215,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:216,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:216,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:217,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:217,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:218,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:218,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:224,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:225,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:227,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:227,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:228,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:228,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:229,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:229,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:230,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:230,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:231,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:231,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:232,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:232,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:233,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:233,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:239,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:240,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:242,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:242,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:243,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:243,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:244,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:244,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:245,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:245,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:246,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:246,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:247,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:247,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:248,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:248,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:254,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:255,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:257,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:257,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:258,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:258,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:259,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:259,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:260,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:260,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:261,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:261,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:262,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:262,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:263,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:263,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:269,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:270,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:272,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:272,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:273,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:273,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:274,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:274,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:275,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:275,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:276,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:276,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:277,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:277,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:283,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:284,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:286,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:286,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:287,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:287,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:288,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:288,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:289,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:289,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:290,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:290,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:291,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:291,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:292,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:295,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:295,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:296,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:296,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:302,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:303,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:305,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:305,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:306,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:306,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:307,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:307,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:308,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:308,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:309,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:309,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:310,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:310,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:311,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:314,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:314,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:315,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:315,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:321,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:322,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:324,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:324,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:325,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:325,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:326,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:326,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:327,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:327,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:328,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:328,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:329,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:329,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:330,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:333,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:333,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:334,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:334,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:340,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:342,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:343,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:343,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:350,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:351,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:353,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:353,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:354,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:354,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:355,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:355,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:356,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:356,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:357,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:357,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:358,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:358,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:359,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:362,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:362,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:368,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:369,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:371,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:371,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:372,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:372,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:373,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:373,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:374,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:374,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:375,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:375,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:376,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:376,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:377,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:380,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:380,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:386,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:387,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:389,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:389,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:390,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:390,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:391,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:391,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:392,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:392,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:393,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:393,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:394,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:394,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:395,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:398,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:398,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:404,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:406,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:407,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:407,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:414,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:415,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:416,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:425,1
    - Dst: auto::getValueAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:425,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:432,1
    - Dst: auto::getValueAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:432,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:440,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:441,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:443,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:443,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:444,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:444,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:445,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:445,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:446,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:446,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:447,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:447,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:448,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:448,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:449,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:449,1
    - Dst: std::vector<uint8_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:450,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:451,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:451,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:457,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:458,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:460,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:460,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:461,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:461,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:462,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:462,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:463,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:463,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:464,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:464,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:465,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:465,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:466,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:466,1
    - Dst: std::vector<uint8_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:467,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:468,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:468,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:474,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:475,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:477,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:477,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:478,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:478,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:479,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:479,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:480,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:480,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:481,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:481,1
    - Dst: std::vector<uint8_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:481,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:482,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:482,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:488,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:489,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:489,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:496,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:497,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:497,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:504,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:505,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:505,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:512,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:513,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:515,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:515,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:516,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:516,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:517,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:517,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:518,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:518,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:519,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:519,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:521,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:522,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:522,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:523,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:523,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:524,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:524,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:531,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:531,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:531,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:537,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:538,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:540,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:540,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:541,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:541,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:542,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:542,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:543,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:543,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:544,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:544,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:546,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:547,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:547,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:548,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:548,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:549,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:549,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:556,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:556,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:556,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:562,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:563,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:565,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:565,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:566,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:566,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:567,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:567,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:568,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:568,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:569,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:569,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:571,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:572,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:572,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:573,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:573,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:574,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:574,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:581,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:581,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:581,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:587,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:588,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:590,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:590,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:591,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:591,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:592,1
    - Dst: auto::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:592,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:593,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:593,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:594,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:594,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:595,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:595,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:596,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:598,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:598,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:598,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:598,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:599,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:605,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:606,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:608,1
    - Dst: auto::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:608,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:609,1
    - Dst: auto::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:609,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:610,1
    - Dst: auto::getTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:610,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:611,1
    - Dst: auto::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:611,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:612,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:612,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:613,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:613,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:614,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:616,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:616,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:616,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:616,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:617,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:623,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:624,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:624,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:631,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:632,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:632,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:633,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:633,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:639,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:640,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:640,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:647,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:648,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:648,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:655,1
    - Dst: pcpp::Asn1Record::decode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:656,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:662,1
    - Dst: auto::castAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 291
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 664
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp
    functionUses: 0
    functionsReached:
    - auto::getTagClass
    - size
    - at
    - auto::getValueLength
    - pcpp::hexStringToByteArray
    - PTF_ASSERT_VECTORS_EQUAL
    - string
    - auto::getTotalLength
    - PTF_ASSERT_TRUE
    - pcpp::Asn1Record::decode
    - auto::castAs
    - auto::getTagType
    - std::vector<uint8_t>
    - PTF_ASSERT_EQUAL
    - auto::isConstructed
    - std::ostringstream::str
    - auto::toString
    - std::chrono::duration_cast<std::chrono::microseconds>
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_RAISES
    - PTF_ASSERT_FALSE
    - auto::getValueAsString
    - auto::getUniversalTagType
    - auto::getValue
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(Asn1DecodingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:673,1
    - Dst: pcpp::Asn1GenericRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:673,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:674,1
    - Dst: pcpp::Asn1GenericRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:674,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:675,1
    - Dst: pcpp::Asn1GenericRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:675,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:676,1
    - Dst: pcpp::Asn1GenericRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:676,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:677,1
    - Dst: pcpp::Asn1GenericRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:677,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:678,1
    - Dst: pcpp::Asn1GenericRecord::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:678,1
    - Dst: pcpp::Asn1GenericRecord::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:678,1
    - Dst: pcpp::Asn1GenericRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:678,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:679,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:682,1
    - Dst: pcpp::Asn1GenericRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:684,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:685,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:685,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:686,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:686,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:693,1
    - Dst: pcpp::Asn1GenericRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:693,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:694,1
    - Dst: pcpp::Asn1GenericRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:694,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:695,1
    - Dst: pcpp::Asn1GenericRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:695,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:696,1
    - Dst: pcpp::Asn1GenericRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:696,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:697,1
    - Dst: pcpp::Asn1GenericRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:697,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:698,1
    - Dst: pcpp::Asn1GenericRecord::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:698,1
    - Dst: pcpp::Asn1GenericRecord::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:698,1
    - Dst: pcpp::Asn1GenericRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:698,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:699,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:702,1
    - Dst: pcpp::Asn1GenericRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:704,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:705,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:705,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:706,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:706,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:716,1
    - Dst: pcpp::Asn1OctetStringRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:723,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:724,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:724,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:725,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:725,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:736,1
    - Dst: pcpp::Asn1OctetStringRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:745,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:746,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:746,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:747,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:747,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:754,1
    - Dst: pcpp::Asn1IntegerRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:754,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:755,1
    - Dst: pcpp::Asn1IntegerRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:755,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:756,1
    - Dst: pcpp::Asn1IntegerRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:756,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:757,1
    - Dst: pcpp::Asn1IntegerRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:757,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:758,1
    - Dst: pcpp::Asn1IntegerRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:758,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:759,1
    - Dst: pcpp::Asn1IntegerRecord::getIntValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:759,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:762,1
    - Dst: pcpp::Asn1IntegerRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:764,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:765,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:765,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:766,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:766,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:773,1
    - Dst: pcpp::Asn1IntegerRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:773,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:774,1
    - Dst: pcpp::Asn1IntegerRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:774,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:775,1
    - Dst: pcpp::Asn1IntegerRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:775,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:776,1
    - Dst: pcpp::Asn1IntegerRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:776,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:777,1
    - Dst: pcpp::Asn1IntegerRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:777,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:778,1
    - Dst: pcpp::Asn1IntegerRecord::getIntValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:778,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:781,1
    - Dst: pcpp::Asn1IntegerRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:783,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:784,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:784,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:785,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:785,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:792,1
    - Dst: pcpp::Asn1IntegerRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:792,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:793,1
    - Dst: pcpp::Asn1IntegerRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:793,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:794,1
    - Dst: pcpp::Asn1IntegerRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:794,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:795,1
    - Dst: pcpp::Asn1IntegerRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:795,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:796,1
    - Dst: pcpp::Asn1IntegerRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:796,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:797,1
    - Dst: pcpp::Asn1IntegerRecord::getIntValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:797,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:800,1
    - Dst: pcpp::Asn1IntegerRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:802,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:803,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:803,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:804,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:804,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:811,1
    - Dst: pcpp::Asn1IntegerRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:811,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:812,1
    - Dst: pcpp::Asn1IntegerRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:812,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:813,1
    - Dst: pcpp::Asn1IntegerRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:813,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:814,1
    - Dst: pcpp::Asn1IntegerRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:814,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:815,1
    - Dst: pcpp::Asn1IntegerRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:815,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:816,1
    - Dst: pcpp::Asn1IntegerRecord::getIntValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:816,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:819,1
    - Dst: pcpp::Asn1IntegerRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:821,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:822,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:822,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:823,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:823,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:836,1
    - Dst: pcpp::Asn1IntegerRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:836,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:837,1
    - Dst: pcpp::Asn1IntegerRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:837,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:838,1
    - Dst: pcpp::Asn1IntegerRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:838,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:839,1
    - Dst: pcpp::Asn1IntegerRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:839,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:840,1
    - Dst: pcpp::Asn1IntegerRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:840,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:841,1
    - Dst: pcpp::Asn1IntegerRecord::getValueAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:841,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:844,1
    - Dst: pcpp::Asn1IntegerRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:846,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:847,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:847,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:848,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:848,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:854,1
    - Dst: pcpp::Asn1IntegerRecord::Asn1IntegerRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:854,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:855,1
    - Dst: pcpp::Asn1IntegerRecord::Asn1IntegerRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:855,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:862,1
    - Dst: pcpp::Asn1EnumeratedRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:862,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:863,1
    - Dst: pcpp::Asn1EnumeratedRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:863,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:864,1
    - Dst: pcpp::Asn1EnumeratedRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:864,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:865,1
    - Dst: pcpp::Asn1EnumeratedRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:865,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:866,1
    - Dst: pcpp::Asn1EnumeratedRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:866,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:867,1
    - Dst: pcpp::Asn1EnumeratedRecord::getIntValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:867,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:870,1
    - Dst: pcpp::Asn1EnumeratedRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:872,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:873,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:873,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:874,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:874,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:881,1
    - Dst: pcpp::Asn1OctetStringRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:881,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:882,1
    - Dst: pcpp::Asn1OctetStringRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:882,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:883,1
    - Dst: pcpp::Asn1OctetStringRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:883,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:884,1
    - Dst: pcpp::Asn1OctetStringRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:884,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:885,1
    - Dst: pcpp::Asn1OctetStringRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:885,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:886,1
    - Dst: pcpp::Asn1OctetStringRecord::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:886,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:889,1
    - Dst: pcpp::Asn1OctetStringRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:891,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:892,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:892,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:893,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:893,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:902,1
    - Dst: pcpp::Asn1OctetStringRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:902,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:903,1
    - Dst: pcpp::Asn1OctetStringRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:903,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:904,1
    - Dst: pcpp::Asn1OctetStringRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:904,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:905,1
    - Dst: pcpp::Asn1OctetStringRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:905,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:906,1
    - Dst: pcpp::Asn1OctetStringRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:906,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:907,1
    - Dst: pcpp::Asn1OctetStringRecord::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:907,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:910,1
    - Dst: pcpp::Asn1OctetStringRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:912,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:913,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:913,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:914,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:914,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:921,1
    - Dst: pcpp::Asn1UTF8StringRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:921,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:922,1
    - Dst: pcpp::Asn1UTF8StringRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:922,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:923,1
    - Dst: pcpp::Asn1UTF8StringRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:923,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:924,1
    - Dst: pcpp::Asn1UTF8StringRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:924,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:925,1
    - Dst: pcpp::Asn1UTF8StringRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:925,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:926,1
    - Dst: pcpp::Asn1UTF8StringRecord::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:926,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:929,1
    - Dst: pcpp::Asn1UTF8StringRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:931,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:932,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:932,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:933,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:933,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:940,1
    - Dst: pcpp::Asn1PrintableStringRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:940,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:941,1
    - Dst: pcpp::Asn1PrintableStringRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:941,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:942,1
    - Dst: pcpp::Asn1PrintableStringRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:942,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:943,1
    - Dst: pcpp::Asn1PrintableStringRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:943,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:944,1
    - Dst: pcpp::Asn1PrintableStringRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:944,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:945,1
    - Dst: pcpp::Asn1PrintableStringRecord::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:945,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:948,1
    - Dst: pcpp::Asn1PrintableStringRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:950,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:951,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:951,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:952,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:952,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:959,1
    - Dst: pcpp::Asn1IA5StringRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:959,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:960,1
    - Dst: pcpp::Asn1IA5StringRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:960,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:961,1
    - Dst: pcpp::Asn1IA5StringRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:961,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:962,1
    - Dst: pcpp::Asn1IA5StringRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:962,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:963,1
    - Dst: pcpp::Asn1IA5StringRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:963,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:964,1
    - Dst: pcpp::Asn1IA5StringRecord::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:964,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:967,1
    - Dst: pcpp::Asn1IA5StringRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:969,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:970,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:970,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:971,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:971,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:978,1
    - Dst: pcpp::Asn1BooleanRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:978,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:979,1
    - Dst: pcpp::Asn1BooleanRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:979,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:980,1
    - Dst: pcpp::Asn1BooleanRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:980,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:981,1
    - Dst: pcpp::Asn1BooleanRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:981,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:982,1
    - Dst: pcpp::Asn1BooleanRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:982,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:983,1
    - Dst: pcpp::Asn1BooleanRecord::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:983,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:986,1
    - Dst: pcpp::Asn1BooleanRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:988,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:989,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:989,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:990,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:990,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:998,1
    - Dst: pcpp::Asn1BooleanRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1000,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1001,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1001,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1002,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1002,1
    - Dst: pcpp::Asn1NullRecord::Asn1NullRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1007,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1009,1
    - Dst: pcpp::Asn1NullRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1009,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1010,1
    - Dst: pcpp::Asn1NullRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1010,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1011,1
    - Dst: pcpp::Asn1NullRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1011,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1012,1
    - Dst: pcpp::Asn1NullRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1012,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1013,1
    - Dst: pcpp::Asn1NullRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1013,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1016,1
    - Dst: pcpp::Asn1NullRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1018,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1019,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1019,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1020,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1020,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1029,1
    - Dst: pcpp::Asn1ObjectIdentifierRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1031,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1032,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1032,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1033,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1033,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1039,1
    - Dst: pcpp::mkUtcTime
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1039,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1043,1
    - Dst: pcpp::Asn1UtcTimeRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1043,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1044,1
    - Dst: pcpp::Asn1UtcTimeRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1044,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1045,1
    - Dst: pcpp::Asn1UtcTimeRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1045,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1046,1
    - Dst: pcpp::Asn1UtcTimeRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1046,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1047,1
    - Dst: pcpp::Asn1UtcTimeRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1047,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1050,1
    - Dst: pcpp::Asn1UtcTimeRecord::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1052,1
    - Dst: pcpp::Asn1UtcTimeRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1053,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1054,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1054,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1055,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1055,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1061,1
    - Dst: pcpp::mkUtcTime
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1061,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1065,1
    - Dst: pcpp::Asn1UtcTimeRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1065,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1066,1
    - Dst: pcpp::Asn1UtcTimeRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1066,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1067,1
    - Dst: pcpp::Asn1UtcTimeRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1067,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1068,1
    - Dst: pcpp::Asn1UtcTimeRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1068,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1069,1
    - Dst: pcpp::Asn1UtcTimeRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1069,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1072,1
    - Dst: pcpp::Asn1UtcTimeRecord::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1074,1
    - Dst: pcpp::Asn1UtcTimeRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1075,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1076,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1076,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1077,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1077,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1083,1
    - Dst: pcpp::mkUtcTime
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1083,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1087,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1087,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1088,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1088,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1089,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1089,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1090,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1090,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1091,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1091,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1094,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1096,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1097,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1098,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1098,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1099,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1099,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1105,1
    - Dst: pcpp::mkUtcTime
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1105,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1109,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1109,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1110,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1110,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1111,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1111,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1112,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1112,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1113,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1113,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1116,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1118,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1119,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1119,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1120,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1120,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1126,1
    - Dst: pcpp::mkUtcTime
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1126,1
    - Dst: std::chrono::milliseconds
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1126,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1130,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1130,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1131,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1131,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1132,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1132,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1133,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1133,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1134,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1134,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1137,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1139,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1140,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1140,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1141,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1141,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1147,1
    - Dst: pcpp::mkUtcTime
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1147,1
    - Dst: std::chrono::milliseconds
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1147,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1151,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1151,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1152,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1152,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1153,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1153,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1154,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1154,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1155,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1155,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1158,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1160,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1161,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1161,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1162,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1162,1
    - Dst: std::chrono::system_clock::from_time_t
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1168,1
    - Dst: pcpp::mkUtcTime
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1168,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1169,1
    - Dst: pcpp::Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1169,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1178,1
    - Dst: pcpp::Asn1BitStringRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1180,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1181,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1181,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1182,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1182,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1190,1
    - Dst: pcpp::Asn1BitStringRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1192,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1193,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1193,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1194,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1194,1
    - Dst: pcpp::Asn1BitStringRecord::getSubRecords
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1214,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1215,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1215,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1216,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1216,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1217,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1217,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1220,1
    - Dst: pcpp::Asn1BitStringRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1222,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1223,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1223,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1224,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1224,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1230,1
    - Dst: pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1230,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1231,1
    - Dst: pcpp::Asn1IntegerRecord::Asn1IntegerRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1231,1
    - Dst: record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1232,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1235,1
    - Dst: pcpp::Asn1BitStringRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1237,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1238,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1238,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1239,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1239,1
    - Dst: octestStringRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1244,1
    - Dst: integerRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1245,1
    - Dst: record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1246,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1248,1
    - Dst: pcpp::Asn1BitStringRecord::getTagClass
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1248,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1249,1
    - Dst: pcpp::Asn1BitStringRecord::isConstructed
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1249,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1250,1
    - Dst: pcpp::Asn1BitStringRecord::getUniversalTagType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1250,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1251,1
    - Dst: pcpp::Asn1BitStringRecord::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1251,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1252,1
    - Dst: pcpp::Asn1BitStringRecord::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1252,1
    - Dst: pcpp::Asn1BitStringRecord::getSubRecords
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1254,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1255,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1255,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1256,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1256,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1257,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1257,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1260,1
    - Dst: pcpp::Asn1BitStringRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1262,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1263,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1263,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1264,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1264,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1270,1
    - Dst: pcpp::Asn1IntegerRecord::Asn1IntegerRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1270,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1271,1
    - Dst: pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1271,1
    - Dst: record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1272,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1275,1
    - Dst: pcpp::Asn1BitStringRecord::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1277,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1278,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1278,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1279,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1279,1
    - Dst: PTF_TEST_CASE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1283,1
    - Dst: oid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1295,1
    - Dst: first::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1295,1
    - Dst: first::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1296,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1297,1
    - Dst: pcpp::Asn1ObjectIdentifier::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1297,1
    - Dst: oid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1311,1
    - Dst: first::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1311,1
    - Dst: first::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1312,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1313,1
    - Dst: pcpp::Asn1ObjectIdentifier::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1313,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1319,1
    - Dst: pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1319,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1321,1
    - Dst: pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1321,1
    - Dst: std::vector<uint8_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1321,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1323,1
    - Dst: pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1323,1
    - Dst: std::vector<uint8_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1323,1
    - Dst: oid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1337,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1338,1
    - Dst: pcpp::Asn1ObjectIdentifier::getComponents
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1338,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1339,1
    - Dst: pcpp::Asn1ObjectIdentifier::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1339,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1366,1
    - Dst: pcpp::Asn1ObjectIdentifier::toBytes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1366,1
    - Dst: std::vector<uint8_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp:1367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 213
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 1370
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Asn1UtcTimeRecord::getValueLength
    - pcpp::Asn1EnumeratedRecord::getUniversalTagType
    - pcpp::Asn1IntegerRecord::Asn1IntegerRecord
    - pushBack
    - size
    - at
    - pcpp::Asn1EnumeratedRecord::getIntValue
    - pcpp::Asn1IA5StringRecord::getTotalLength
    - pcpp::Asn1PrintableStringRecord::isConstructed
    - pcpp::Asn1IA5StringRecord::getValue
    - pcpp::Asn1PrintableStringRecord::getTagClass
    - pcpp::Asn1NullRecord::getTotalLength
    - pcpp::Asn1GenericRecord::isConstructed
    - pcpp::Asn1IntegerRecord::getTotalLength
    - integerRecord
    - PTF_ASSERT_VECTORS_EQUAL
    - pcpp::Asn1EnumeratedRecord::getTotalLength
    - pcpp::Asn1GeneralizedTimeRecord::getValue
    - pcpp::Asn1BooleanRecord::getTagClass
    - pcpp::Asn1NullRecord::getUniversalTagType
    - PTF_ASSERT_TRUE
    - pcpp::Asn1IntegerRecord::getIntValue
    - std::vector<uint8_t>
    - PTF_ASSERT_EQUAL
    - pcpp::Asn1ObjectIdentifierRecord::encode
    - pcpp::Asn1BitStringRecord::getTagClass
    - pcpp::Asn1GeneralizedTimeRecord::getValueLength
    - pcpp::Asn1IntegerRecord::getValueAsString
    - PTF_ASSERT_RAISES
    - octestStringRecord
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::Asn1GenericRecord::getTotalLength
    - pcpp::Asn1BooleanRecord::getTotalLength
    - pcpp::Asn1BitStringRecord::encode
    - pcpp::Asn1EnumeratedRecord::getValueLength
    - pcpp::Asn1OctetStringRecord::getTagClass
    - pcpp::Asn1EnumeratedRecord::encode
    - pcpp::Asn1ObjectIdentifier::toString
    - pcpp::Asn1UtcTimeRecord::isConstructed
    - pcpp::Asn1UTF8StringRecord::encode
    - pcpp::Asn1IA5StringRecord::encode
    - pcpp::Asn1GeneralizedTimeRecord::isConstructed
    - pcpp::Asn1GenericRecord::getValue
    - pcpp::Asn1GenericRecord::getUniversalTagType
    - first::size
    - string
    - pcpp::Asn1OctetStringRecord::getValueLength
    - pcpp::Asn1UTF8StringRecord::getValue
    - pcpp::Asn1BooleanRecord::encode
    - pcpp::Asn1OctetStringRecord::encode
    - oid
    - pcpp::Asn1IntegerRecord::isConstructed
    - pcpp::Asn1IA5StringRecord::getValueLength
    - std::chrono::system_clock::from_time_t
    - pcpp::Asn1IA5StringRecord::getUniversalTagType
    - record
    - pcpp::Asn1UtcTimeRecord::getTagClass
    - PTF_ASSERT_FALSE
    - pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
    - pcpp::Asn1ObjectIdentifier::getComponents
    - auto::data
    - pcpp::Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord
    - pcpp::Asn1BitStringRecord::isConstructed
    - pcpp::Asn1IA5StringRecord::getTagClass
    - PTF_TEST_CASE
    - pcpp::Asn1UTF8StringRecord::isConstructed
    - pcpp::Asn1PrintableStringRecord::getUniversalTagType
    - pcpp::Asn1PrintableStringRecord::getTotalLength
    - pcpp::Asn1GeneralizedTimeRecord::getUniversalTagType
    - pcpp::Asn1NullRecord::getValueLength
    - pcpp::Asn1GenericRecord::getTagClass
    - pcpp::Asn1PrintableStringRecord::getValue
    - pcpp::Asn1BitStringRecord::getSubRecords
    - pcpp::Asn1PrintableStringRecord::getValueLength
    - pcpp::Asn1OctetStringRecord::getTotalLength
    - pcpp::Asn1BooleanRecord::getValueLength
    - auto::size
    - pcpp::Asn1GeneralizedTimeRecord::getTotalLength
    - pcpp::Asn1ObjectIdentifier::toBytes
    - pcpp::Asn1GeneralizedTimeRecord::encode
    - pcpp::Asn1UtcTimeRecord::getValue
    - pcpp::Asn1UtcTimeRecord::getUniversalTagType
    - pcpp::Asn1PrintableStringRecord::encode
    - pcpp::Asn1IntegerRecord::encode
    - pcpp::Asn1NullRecord::getTagClass
    - pcpp::Asn1NullRecord::encode
    - pcpp::Asn1IntegerRecord::getValueLength
    - pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
    - pcpp::Asn1OctetStringRecord::getValue
    - pcpp::Asn1NullRecord::isConstructed
    - pcpp::Asn1OctetStringRecord::getUniversalTagType
    - pcpp::Asn1BitStringRecord::getValueLength
    - pcpp::Asn1UtcTimeRecord::encode
    - pcpp::mkUtcTime
    - pcpp::Asn1IA5StringRecord::isConstructed
    - pcpp::Asn1GeneralizedTimeRecord::getTagClass
    - pcpp::hexStringToByteArray
    - pcpp::Asn1BooleanRecord::getUniversalTagType
    - pcpp::Asn1OctetStringRecord::isConstructed
    - pcpp::Asn1BitStringRecord::getUniversalTagType
    - first::data
    - pcpp::Asn1IntegerRecord::getUniversalTagType
    - pcpp::Asn1UTF8StringRecord::getUniversalTagType
    - pcpp::Asn1GenericRecord::encode
    - pcpp::Asn1UTF8StringRecord::getTotalLength
    - pcpp::Asn1GenericRecord::getValueLength
    - pcpp::Asn1BooleanRecord::isConstructed
    - pcpp::Asn1BooleanRecord::getValue
    - std::chrono::milliseconds
    - pcpp::Asn1UTF8StringRecord::getValueLength
    - pcpp::Asn1EnumeratedRecord::getTagClass
    - pcpp::Asn1UTF8StringRecord::getTagClass
    - pcpp::Asn1BitStringRecord::getTotalLength
    - pcpp::Asn1UtcTimeRecord::getTotalLength
    - pcpp::Asn1NullRecord::Asn1NullRecord
    - pcpp::Asn1IntegerRecord::getTagClass
    - pcpp::Asn1EnumeratedRecord::isConstructed
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(Asn1EncodingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: SomeIpTeardown::SomeIpTeardown
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SomeIpTeardown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpLayer::removeAllSomeIpPorts
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: ~SomeIpTeardown()
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::SomeIpLayer::removeAllSomeIpPorts
    linkageType: ''
    returnType: void
    signature: void ~SomeIpTeardown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SomeIpTeardown::SomeIpTeardown
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:30,1
    - Dst: pcpp::SomeIpLayer::addSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:32,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:33,1
    - Dst: pcpp::SomeIpLayer::isSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:33,1
    - Dst: pcpp::SomeIpLayer::removeSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:35,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:36,1
    - Dst: pcpp::SomeIpLayer::isSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:36,1
    - Dst: pcpp::SomeIpLayer::addSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:38,1
    - Dst: pcpp::SomeIpLayer::addSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:39,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:40,1
    - Dst: pcpp::SomeIpLayer::isSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:40,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:41,1
    - Dst: pcpp::SomeIpLayer::isSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:41,1
    - Dst: pcpp::SomeIpLayer::removeAllSomeIpPorts
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:43,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:44,1
    - Dst: pcpp::SomeIpLayer::isSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:44,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:45,1
    - Dst: pcpp::SomeIpLayer::isSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SomeIpLayer::removeAllSomeIpPorts
    - pcpp::SomeIpLayer::addSomeIpPort
    - pcpp::SomeIpLayer::isSomeIpPort
    - pcpp::SomeIpLayer::removeSomeIpPort
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_TRUE
    - SomeIpTeardown::SomeIpTeardown
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SomeIpPortTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:51,1
    - Dst: SomeIpTeardown::SomeIpTeardown
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:54,1
    - Dst: pcpp::SomeIpLayer::addSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:55,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:57,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:58,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:59,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:60,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:63,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:63,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:64,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:65,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:66,1
    - Dst: pcpp::SomeIpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:66,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:67,1
    - Dst: pcpp::SomeIpLayer*::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:67,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:68,1
    - Dst: pcpp::SomeIpLayer*::getServiceID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:68,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:69,1
    - Dst: pcpp::SomeIpLayer*::getMethodID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:70,1
    - Dst: pcpp::SomeIpLayer*::getLengthField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:70,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:71,1
    - Dst: pcpp::SomeIpLayer*::getRequestID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:71,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:72,1
    - Dst: pcpp::SomeIpLayer*::getClientID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:72,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:73,1
    - Dst: pcpp::SomeIpLayer*::getSessionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:73,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:74,1
    - Dst: pcpp::SomeIpLayer*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:74,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:75,1
    - Dst: pcpp::SomeIpLayer*::getInterfaceVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:75,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:76,1
    - Dst: pcpp::SomeIpLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:76,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:77,1
    - Dst: pcpp::SomeIpLayer*::getMessageTypeAsInt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:77,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:78,1
    - Dst: pcpp::SomeIpLayer*::getReturnCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:78,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:79,1
    - Dst: pcpp::SomeIpLayer*::getPduPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:79,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:80,1
    - Dst: pcpp::SomeIpLayer*::getPduPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:80,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:81,1
    - Dst: pcpp::SomeIpLayer*::getPduPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:81,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:82,1
    - Dst: pcpp::SomeIpLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:82,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:83,1
    - Dst: pcpp::SomeIpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:83,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:86,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:87,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:88,1
    - Dst: pcpp::SomeIpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:89,1
    - Dst: pcpp::SomeIpLayer*::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:89,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:90,1
    - Dst: pcpp::SomeIpLayer*::getServiceID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:90,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:91,1
    - Dst: pcpp::SomeIpLayer*::getMethodID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:91,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:92,1
    - Dst: pcpp::SomeIpLayer*::getLengthField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:92,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:93,1
    - Dst: pcpp::SomeIpLayer*::getRequestID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:93,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:94,1
    - Dst: pcpp::SomeIpLayer*::getClientID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:94,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:95,1
    - Dst: pcpp::SomeIpLayer*::getSessionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:95,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:96,1
    - Dst: pcpp::SomeIpLayer*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:96,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:97,1
    - Dst: pcpp::SomeIpLayer*::getInterfaceVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:97,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:98,1
    - Dst: pcpp::SomeIpLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:98,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:99,1
    - Dst: pcpp::SomeIpLayer*::getMessageTypeAsInt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:99,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:100,1
    - Dst: pcpp::SomeIpLayer*::getReturnCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:100,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:101,1
    - Dst: pcpp::SomeIpLayer*::getPduPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:101,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:102,1
    - Dst: pcpp::SomeIpLayer*::getPduPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:103,1
    - Dst: pcpp::SomeIpLayer*::getPduPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:103,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:104,1
    - Dst: pcpp::SomeIpLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:104,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:105,1
    - Dst: pcpp::SomeIpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:105,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:107,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:108,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:109,1
    - Dst: pcpp::SomeIpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:109,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:110,1
    - Dst: pcpp::SomeIpLayer*::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:110,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:111,1
    - Dst: pcpp::SomeIpLayer*::getServiceID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:111,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:112,1
    - Dst: pcpp::SomeIpLayer*::getMethodID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:112,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:113,1
    - Dst: pcpp::SomeIpLayer*::getLengthField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:113,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:114,1
    - Dst: pcpp::SomeIpLayer*::getRequestID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:114,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:115,1
    - Dst: pcpp::SomeIpLayer*::getClientID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:116,1
    - Dst: pcpp::SomeIpLayer*::getSessionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:117,1
    - Dst: pcpp::SomeIpLayer*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:118,1
    - Dst: pcpp::SomeIpLayer*::getInterfaceVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:118,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:119,1
    - Dst: pcpp::SomeIpLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:119,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:120,1
    - Dst: pcpp::SomeIpLayer*::getMessageTypeAsInt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:120,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:121,1
    - Dst: pcpp::SomeIpLayer*::getReturnCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:121,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:122,1
    - Dst: pcpp::SomeIpLayer*::getPduPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:122,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:123,1
    - Dst: pcpp::SomeIpLayer*::getPduPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:123,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:124,1
    - Dst: pcpp::SomeIpLayer*::getPduPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:124,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:125,1
    - Dst: pcpp::SomeIpLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:125,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:126,1
    - Dst: pcpp::SomeIpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 127
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SomeIpLayer*::getHeaderLen
    - pcpp::Packet::getNextLayerOfType
    - pcpp::SomeIpLayer::addSomeIpPort
    - pcpp::SomeIpLayer*::getMessageID
    - pcpp::SomeIpLayer*::getNextLayer
    - pcpp::SomeIpLayer*::getSessionID
    - pcpp::SomeIpLayer*::getMessageTypeAsInt
    - pcpp::SomeIpLayer*::getMethodID
    - pcpp::SomeIpLayer*::getReturnCode
    - auto::get
    - PTF_ASSERT_TRUE
    - pcpp::SomeIpLayer*::getInterfaceVersion
    - pcpp::SomeIpLayer*::getRequestID
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::SomeIpLayer*::getClientID
    - pcpp::SomeIpLayer*::getProtocolVersion
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::SomeIpLayer*::getMessageType
    - pcpp::SomeIpLayer*::toString
    - pcpp::SomeIpLayer*::getPduPayload
    - createPacketFromHexResource
    - SomeIpTeardown::SomeIpTeardown
    - pcpp::SomeIpLayer*::getPduPayloadSize
    - PTF_ASSERT_NULL
    - pcpp::SomeIpLayer*::getLengthField
    - pcpp::SomeIpLayer*::getServiceID
    - PTF_ASSERT_NOT_NULL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SomeIpParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:132,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:134,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:135,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:144,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:145,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:147,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:147,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:148,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:150,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:150,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:150,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:151,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:151,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:151,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:151,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:154,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:154,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:157,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:158,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:161,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:161,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:163,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:163,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:166,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:166,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:167,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:167,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:168,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:168,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:169,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:169,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:170,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:170,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:171,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:171,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:172,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:174,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:174,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:174,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:175,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:175,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:175,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 176
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - auto::data
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - auto::size
    - std::array::size
    - PTF_ASSERT_BUF_COMPARE
    - std::array::data
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_TRUE
    - pcpp_tests::loadHexResourceToVector
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SomeIpCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:181,1
    - Dst: SomeIpTeardown::SomeIpTeardown
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:184,1
    - Dst: pcpp::SomeIpLayer::addSomeIpPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:185,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:187,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:188,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:190,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:191,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:194,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:194,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:195,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:196,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:197,1
    - Dst: pcpp::SomeIpTpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:197,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:198,1
    - Dst: pcpp::SomeIpTpLayer*::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:198,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:199,1
    - Dst: pcpp::SomeIpTpLayer*::getServiceID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:199,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:200,1
    - Dst: pcpp::SomeIpTpLayer*::getMethodID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:200,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:201,1
    - Dst: pcpp::SomeIpTpLayer*::getLengthField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:201,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:202,1
    - Dst: pcpp::SomeIpTpLayer*::getRequestID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:202,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:203,1
    - Dst: pcpp::SomeIpTpLayer*::getClientID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:203,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:204,1
    - Dst: pcpp::SomeIpTpLayer*::getSessionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:204,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:205,1
    - Dst: pcpp::SomeIpTpLayer*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:205,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:206,1
    - Dst: pcpp::SomeIpTpLayer*::getInterfaceVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:206,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:207,1
    - Dst: pcpp::SomeIpTpLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:207,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:208,1
    - Dst: pcpp::SomeIpTpLayer*::getMessageTypeAsInt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:208,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:209,1
    - Dst: pcpp::SomeIpTpLayer*::getReturnCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:209,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:210,1
    - Dst: pcpp::SomeIpTpLayer*::getOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:210,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:211,1
    - Dst: pcpp::SomeIpTpLayer*::getMoreSegmentsFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:211,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:212,1
    - Dst: pcpp::SomeIpTpLayer*::getPduPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:212,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:213,1
    - Dst: pcpp::SomeIpTpLayer*::getPduPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:213,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:214,1
    - Dst: pcpp::SomeIpTpLayer*::getPduPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:214,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:215,1
    - Dst: pcpp::SomeIpTpLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:215,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:219,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:219,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:220,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:221,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:222,1
    - Dst: pcpp::SomeIpTpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:222,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:223,1
    - Dst: pcpp::SomeIpTpLayer*::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:223,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:224,1
    - Dst: pcpp::SomeIpTpLayer*::getServiceID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:224,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:225,1
    - Dst: pcpp::SomeIpTpLayer*::getMethodID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:225,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:226,1
    - Dst: pcpp::SomeIpTpLayer*::getLengthField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:226,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:227,1
    - Dst: pcpp::SomeIpTpLayer*::getRequestID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:227,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:228,1
    - Dst: pcpp::SomeIpTpLayer*::getClientID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:228,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:229,1
    - Dst: pcpp::SomeIpTpLayer*::getSessionID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:229,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:230,1
    - Dst: pcpp::SomeIpTpLayer*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:230,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:231,1
    - Dst: pcpp::SomeIpTpLayer*::getInterfaceVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:231,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:232,1
    - Dst: pcpp::SomeIpTpLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:232,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:233,1
    - Dst: pcpp::SomeIpTpLayer*::getMessageTypeAsInt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:233,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:234,1
    - Dst: pcpp::SomeIpTpLayer*::getReturnCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:234,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:235,1
    - Dst: pcpp::SomeIpTpLayer*::getOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:235,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:236,1
    - Dst: pcpp::SomeIpTpLayer*::getMoreSegmentsFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:236,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:237,1
    - Dst: pcpp::SomeIpTpLayer*::getPduPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:237,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:238,1
    - Dst: pcpp::SomeIpTpLayer*::getPduPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:238,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:239,1
    - Dst: pcpp::SomeIpTpLayer*::getPduPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:239,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:240,1
    - Dst: pcpp::SomeIpTpLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 242
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SomeIpTpLayer*::getPduPayloadSize
    - pcpp::SomeIpLayer::addSomeIpPort
    - pcpp::SomeIpTpLayer*::getLengthField
    - pcpp::SomeIpTpLayer*::getRequestID
    - pcpp::SomeIpTpLayer*::getMessageTypeAsInt
    - pcpp::SomeIpTpLayer*::toString
    - pcpp::SomeIpTpLayer*::getMethodID
    - pcpp::SomeIpTpLayer*::getPduPayload
    - pcpp::SomeIpTpLayer*::getMoreSegmentsFlag
    - pcpp::SomeIpTpLayer*::getHeaderLen
    - auto::get
    - pcpp::SomeIpTpLayer*::getClientID
    - pcpp::SomeIpTpLayer*::getOffset
    - pcpp::SomeIpTpLayer*::getInterfaceVersion
    - PTF_ASSERT_TRUE
    - pcpp::SomeIpTpLayer*::getProtocolVersion
    - pcpp::SomeIpTpLayer*::getSessionID
    - pcpp::SomeIpTpLayer*::getMessageType
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - createPacketFromHexResource
    - SomeIpTeardown::SomeIpTeardown
    - pcpp::SomeIpTpLayer*::getReturnCode
    - pcpp::SomeIpTpLayer*::getServiceID
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::SomeIpTpLayer*::getMessageID
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SomeIpTpParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:247,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:249,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:250,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:262,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:262,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:264,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:264,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:265,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:273,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:273,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:274,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:274,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:275,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:275,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:276,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:276,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:277,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:279,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:279,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:279,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:280,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:280,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:280,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:280,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:290,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:290,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:291,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:291,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:292,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:292,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:293,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:293,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:294,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:296,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:296,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:296,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:297,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:297,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:297,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 298
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - auto::data
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - gettimeofday
    - auto::size
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp_tests::loadHexResourceToVector
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SomeIpTpCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SomeIpTpLayer::setOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:307,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:309,1
    - Dst: pcpp::SomeIpTpLayer::getOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:309,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:310,1
    - Dst: pcpp::SomeIpTpLayer::getMoreSegmentsFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:310,1
    - Dst: pcpp::SomeIpTpLayer::setMoreSegmentsFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:312,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:314,1
    - Dst: pcpp::SomeIpTpLayer::getOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:314,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:315,1
    - Dst: pcpp::SomeIpTpLayer::getMoreSegmentsFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:315,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:317,1
    - Dst: pcpp::SomeIpTpLayer::setOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 319
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SomeIpTpLayer::setMoreSegmentsFlag
    - pcpp::SomeIpTpLayer::getMoreSegmentsFlag
    - pcpp::SomeIpTpLayer::setOffset
    - PTF_ASSERT_EQUAL
    - PTF_ASSERT_RAISES
    - PTF_ASSERT_FALSE
    - pcpp::SomeIpTpLayer::getOffset
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SomeIpTpEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:12,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:14,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:15,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:18,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:18,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:20,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:21,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:22,1
    - Dst: pcpp::SSHIdentificationMessage*::getIdentificationMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:22,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:25,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:26,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:27,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:27,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:29,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:31,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:32,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getPaddingLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:32,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:33,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getSSHHandshakeMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:33,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:34,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:34,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:35,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getMessageTypeStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:36,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:37,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getCookieAsHexStream
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:38,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getKeyExchangeAlgorithms
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:41,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getServerHostKeyAlgorithms
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:44,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getEncryptionAlgorithmsClientToServer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:45,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:47,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getEncryptionAlgorithmsServerToClient
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:48,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:50,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getMacAlgorithmsClientToServer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:53,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getMacAlgorithmsServerToClient
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:54,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:56,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getCompressionAlgorithmsClientToServer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:56,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:57,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getCompressionAlgorithmsServerToClient
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:57,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:58,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getLanguagesClientToServer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:58,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:59,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getLanguagesServerToClient
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:59,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:60,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::isFirstKexPacketFollows
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:60,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:62,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:63,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:64,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:64,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:66,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:67,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:68,1
    - Dst: pcpp::SSHHandshakeMessage*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:68,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:69,1
    - Dst: pcpp::SSHHandshakeMessage*::getPaddingLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:70,1
    - Dst: pcpp::SSHHandshakeMessage*::getSSHHandshakeMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:70,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:71,1
    - Dst: pcpp::SSHHandshakeMessage*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:71,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:72,1
    - Dst: pcpp::SSHHandshakeMessage*::getMessageTypeStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:72,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:73,1
    - Dst: pcpp::SSHHandshakeMessage*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:73,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:77,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:78,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:79,1
    - Dst: pcpp::SSHHandshakeMessage*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:79,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:80,1
    - Dst: pcpp::SSHHandshakeMessage*::getPaddingLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:80,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:81,1
    - Dst: pcpp::SSHHandshakeMessage*::getSSHHandshakeMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:81,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:82,1
    - Dst: pcpp::SSHHandshakeMessage*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:83,1
    - Dst: pcpp::SSHHandshakeMessage*::getMessageTypeStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:83,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:84,1
    - Dst: pcpp::SSHHandshakeMessage*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:84,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:87,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:88,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:89,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:89,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:90,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:91,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:92,1
    - Dst: pcpp::SSHHandshakeMessage*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:92,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:93,1
    - Dst: pcpp::SSHHandshakeMessage*::getPaddingLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:93,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:94,1
    - Dst: pcpp::SSHHandshakeMessage*::getSSHHandshakeMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:94,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:95,1
    - Dst: pcpp::SSHHandshakeMessage*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:95,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:96,1
    - Dst: pcpp::SSHHandshakeMessage*::getMessageTypeStr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:96,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:97,1
    - Dst: pcpp::SSHHandshakeMessage*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:97,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:101,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:102,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:103,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:103,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:104,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:105,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:106,1
    - Dst: pcpp::SSHEncryptedMessage*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:106,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:107,1
    - Dst: pcpp::SSHEncryptedMessage*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 9
    functionDepth: 2
    functionLinenumber: 9
    functionLinenumberEnd: 108
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SSHEncryptedMessage*::toString
    - pcpp::SSHKeyExchangeInitMessage*::isFirstKexPacketFollows
    - pcpp::Packet::getNextLayerOfType
    - pcpp::SSHKeyExchangeInitMessage*::getEncryptionAlgorithmsServerToClient
    - pcpp::SSHKeyExchangeInitMessage*::getEncryptionAlgorithmsClientToServer
    - pcpp::SSHKeyExchangeInitMessage*::getCompressionAlgorithmsServerToClient
    - pcpp::SSHHandshakeMessage*::getMessageTypeStr
    - pcpp::SSHKeyExchangeInitMessage*::getMacAlgorithmsServerToClient
    - pcpp::SSHHandshakeMessage*::getSSHHandshakeMessageLength
    - pcpp::SSHKeyExchangeInitMessage*::getLanguagesServerToClient
    - auto::get
    - pcpp::SSHKeyExchangeInitMessage*::getMessageTypeStr
    - pcpp::SSHHandshakeMessage*::getHeaderLen
    - pcpp::SSHKeyExchangeInitMessage*::getLanguagesClientToServer
    - PTF_ASSERT_TRUE
    - pcpp::SSHHandshakeMessage*::toString
    - pcpp::SSHEncryptedMessage*::getHeaderLen
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::SSHHandshakeMessage*::getMessageType
    - pcpp::SSHKeyExchangeInitMessage*::getCompressionAlgorithmsClientToServer
    - pcpp::SSHKeyExchangeInitMessage*::getCookieAsHexStream
    - createPacketFromHexResource
    - pcpp::SSHKeyExchangeInitMessage*::toString
    - pcpp::SSHKeyExchangeInitMessage*::getMacAlgorithmsClientToServer
    - pcpp::SSHKeyExchangeInitMessage*::getPaddingLength
    - pcpp::SSHKeyExchangeInitMessage*::getSSHHandshakeMessageLength
    - pcpp::SSHHandshakeMessage*::getPaddingLength
    - pcpp::SSHIdentificationMessage*::getIdentificationMessage
    - pcpp::SSHKeyExchangeInitMessage*::getHeaderLen
    - PTF_ASSERT_NOT_NULL
    - pcpp::SSHKeyExchangeInitMessage*::getKeyExchangeAlgorithms
    - PTF_ASSERT_FALSE
    - pcpp::SSHKeyExchangeInitMessage*::getMessageType
    - pcpp::SSHKeyExchangeInitMessage*::getServerHostKeyAlgorithms
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSHParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:113,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:116,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:117,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:118,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:118,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:119,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:119,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:120,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:120,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:123,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:124,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:125,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:125,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:126,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:126,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:127,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:127,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:130,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:131,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:132,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:132,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:133,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:133,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:134,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:134,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:137,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:138,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:139,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:139,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:140,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:140,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:141,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:141,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:145,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:146,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:147,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:147,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:149,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:150,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:151,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:151,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:152,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getPaddingLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:152,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:153,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getSSHHandshakeMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:153,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:154,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:154,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:155,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getCookieAsHexStream
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:155,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:156,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getKeyExchangeAlgorithms
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:157,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:159,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getServerHostKeyAlgorithms
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:160,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:162,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getEncryptionAlgorithmsClientToServer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:163,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:165,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getEncryptionAlgorithmsServerToClient
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:166,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:168,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getMacAlgorithmsClientToServer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:168,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:169,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getMacAlgorithmsServerToClient
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:169,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:170,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getCompressionAlgorithmsClientToServer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:170,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:171,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getCompressionAlgorithmsServerToClient
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:171,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:172,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getLanguagesClientToServer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:172,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:173,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::getLanguagesServerToClient
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:173,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:174,1
    - Dst: pcpp::SSHKeyExchangeInitMessage*::isFirstKexPacketFollows
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 175
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SSHKeyExchangeInitMessage*::isFirstKexPacketFollows
    - pcpp::SSHKeyExchangeInitMessage*::getEncryptionAlgorithmsServerToClient
    - pcpp::SSHKeyExchangeInitMessage*::getEncryptionAlgorithmsClientToServer
    - pcpp::SSHKeyExchangeInitMessage*::getCompressionAlgorithmsServerToClient
    - pcpp::SSHKeyExchangeInitMessage*::getMacAlgorithmsServerToClient
    - pcpp::SSHKeyExchangeInitMessage*::getLanguagesServerToClient
    - auto::get
    - pcpp::SSHKeyExchangeInitMessage*::getLanguagesClientToServer
    - PTF_ASSERT_TRUE
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::SSHKeyExchangeInitMessage*::getCompressionAlgorithmsClientToServer
    - pcpp::SSHKeyExchangeInitMessage*::getCookieAsHexStream
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::SSHKeyExchangeInitMessage*::getMacAlgorithmsClientToServer
    - pcpp::SSHKeyExchangeInitMessage*::getPaddingLength
    - pcpp::SSHKeyExchangeInitMessage*::getSSHHandshakeMessageLength
    - pcpp::SSHKeyExchangeInitMessage*::getHeaderLen
    - PTF_ASSERT_NOT_NULL
    - pcpp::SSHKeyExchangeInitMessage*::getKeyExchangeAlgorithms
    - PTF_ASSERT_FALSE
    - pcpp::SSHKeyExchangeInitMessage*::getMessageType
    - pcpp::SSHKeyExchangeInitMessage*::getServerHostKeyAlgorithms
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(SSHMalformedParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:16,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:17,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:18,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:19,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:20,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:21,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:22,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:23,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:24,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:25,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:26,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:27,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:28,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:29,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:30,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:32,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:33,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:34,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:35,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:36,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:37,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:38,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:39,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:40,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:41,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:42,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:43,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:44,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:45,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:46,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:50,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:50,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:51,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:51,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:52,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:52,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:53,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:53,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:54,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:54,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:55,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:55,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:56,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:56,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:57,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:57,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:58,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:58,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:59,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:59,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:60,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:60,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:61,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:61,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:62,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:62,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:63,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:63,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:64,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:64,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:67,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:68,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:69,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:69,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:70,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:70,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:71,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:72,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:73,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:74,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:75,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:76,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:77,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:78,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:79,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:80,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:83,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:84,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:85,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:85,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:86,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:86,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:87,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:89,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:90,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:91,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:92,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:95,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:96,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:97,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:97,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:98,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:98,1
    - Dst: pcpp::IcmpLayer*::getTimestampRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:99,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:100,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:101,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:103,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:106,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:107,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:108,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:108,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:109,1
    - Dst: pcpp::IcmpLayer*::getSourceQuenchdata
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:109,1
    - Dst: pcpp::IcmpLayer*::getTimestampReplyData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:110,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:111,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:112,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:113,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:114,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:117,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:118,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:119,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:119,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:120,1
    - Dst: pcpp::IcmpLayer*::getRouterAdvertisementData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:120,1
    - Dst: pcpp::IcmpLayer*::getAddressMaskRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:121,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:122,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:123,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:124,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:125,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:128,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:129,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:130,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:130,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:131,1
    - Dst: pcpp::IcmpLayer*::getSourceQuenchdata
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:131,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:132,1
    - Dst: pcpp::IcmpLayer*::getAddressMaskRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:132,1
    - Dst: pcpp::IcmpLayer*::getAddressMaskReplyData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:133,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:134,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:135,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:136,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:137,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:140,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:141,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:142,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:142,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:143,1
    - Dst: pcpp::IcmpLayer*::getSourceQuenchdata
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:143,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:144,1
    - Dst: pcpp::IcmpLayer*::getAddressMaskRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:144,1
    - Dst: pcpp::IcmpLayer*::getRouterSolicitationData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:145,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:146,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:147,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:150,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:151,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:152,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:152,1
    - Dst: pcpp::IcmpLayer*::getDestUnreachableData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:153,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:154,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:155,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:156,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:157,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:157,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:158,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:158,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:159,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:160,1
    - Dst: pcpp::IPv4Layer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:160,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:160,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:161,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:161,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:162,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:162,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:164,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:165,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:166,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:166,1
    - Dst: pcpp::IcmpLayer*::getDestUnreachableData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:167,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:168,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:169,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:170,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:171,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:171,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:172,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:172,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:173,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:174,1
    - Dst: pcpp::IPv4Layer*::getDstIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:174,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:174,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:175,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:175,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:176,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:176,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:179,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:180,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:181,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:181,1
    - Dst: pcpp::IcmpLayer*::getTimeExceededData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:182,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:183,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:184,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:185,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:185,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:186,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:186,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:187,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:188,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:188,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:189,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:189,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:191,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:192,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:193,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:193,1
    - Dst: pcpp::IcmpLayer*::getTimeExceededData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:194,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:195,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:196,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:197,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:197,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:198,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:198,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:199,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:200,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:200,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:201,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:201,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:202,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:203,1
    - Dst: pcpp::IcmpLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:203,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:204,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:204,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:205,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:205,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:208,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:209,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:210,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:210,1
    - Dst: pcpp::IcmpLayer*::getRedirectData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:211,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:212,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:213,1
    - Dst: pcpp::IcmpLayer*::getEchoReplyData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:213,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:214,1
    - Dst: pcpp::IcmpLayer*::getInfoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:214,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:215,1
    - Dst: pcpp::IcmpLayer*::getParamProblemData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:215,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:216,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:216,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:217,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:217,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:218,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:218,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:219,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:220,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:221,1
    - Dst: pcpp::IPv4Layer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:221,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:222,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:222,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:223,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:223,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:224,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:225,1
    - Dst: pcpp::IcmpLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:225,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:226,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:226,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:229,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:230,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:231,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:231,1
    - Dst: pcpp::IcmpLayer*::getRouterAdvertisementData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:232,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:233,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:234,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:235,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:235,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:236,1
    - Dst: pcpp::icmp_router_advertisement*::getRouterAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:236,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:237,1
    - Dst: pcpp::icmp_router_advertisement*::getRouterAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:237,1
    - Dst: pcpp::icmp_router_advertisement*::getRouterAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:238,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:239,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:240,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:240,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:240,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:241,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:243,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:244,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:245,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:245,1
    - Dst: pcpp::IcmpLayer*::getRouterAdvertisementData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:246,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:247,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:248,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:249,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:250,1
    - Dst: pcpp::icmp_router_advertisement*::getRouterAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:250,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:251,1
    - Dst: pcpp::icmp_router_advertisement*::getRouterAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:251,1
    - Dst: pcpp::icmp_router_advertisement*::getRouterAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:252,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:253,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:254,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:254,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:254,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 256
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::IcmpLayer*::getDestUnreachableData
    - pcpp::IcmpLayer*::getInfoRequestData
    - pcpp::IcmpLayer*::getEchoRequestData
    - pcpp::IcmpLayer*::getAddressMaskReplyData
    - pcpp::IcmpLayer*::getMessageType
    - pcpp::IcmpLayer*::getTimestampReplyData
    - pcpp::IPv4Layer*::getNextLayer
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - pcpp::IcmpLayer*::getEchoReplyData
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer*::getSrcIPAddress
    - pcpp::IcmpLayer*::getRouterAdvertisementData
    - pcpp::IcmpLayer*::getNextLayer
    - pcpp::IcmpLayer*::getRouterSolicitationData
    - pcpp::IcmpLayer*::getAddressMaskRequestData
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - pcpp::IcmpLayer*::getRedirectData
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::IPv4Layer*::getDstIPAddress
    - pcpp::IcmpLayer*::getTimeExceededData
    - pcpp::IcmpLayer*::getSourceQuenchdata
    - pcpp::IcmpLayer*::isMessageOfType
    - PTF_ASSERT_NOT_NULL
    - pcpp::IcmpLayer*::getParamProblemData
    - pcpp::IcmpLayer*::getTimestampRequestData
    - pcpp::icmp_router_advertisement*::getRouterAddress
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IcmpParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:260,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:261,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:262,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:263,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:264,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:265,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:266,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:267,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:268,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:269,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:270,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:271,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:272,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:273,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:274,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:276,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:276,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:278,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:278,1
    - Dst: pcpp::IcmpLayer::IcmpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:287,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:288,1
    - Dst: pcpp::IcmpLayer::setEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:288,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:290,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:290,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:291,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:291,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:292,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:292,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:293,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:294,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:294,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:294,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:295,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:295,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:295,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:296,1
    - Dst: pcpp::IcmpLayer::IcmpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:301,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:303,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:303,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:304,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:304,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:305,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:305,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:306,1
    - Dst: pcpp::IcmpLayer::setEchoReplyData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:306,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:307,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:308,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:308,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:308,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:309,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:309,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:309,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:310,1
    - Dst: pcpp::IcmpLayer::IcmpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:315,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:317,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:318,1
    - Dst: pcpp::IcmpLayer::setTimeExceededData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:318,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:320,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:320,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:321,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:322,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:323,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:323,1
    - Dst: pcpp::IcmpLayer::IcmpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:324,1
    - Dst: pcpp::IcmpLayer::setEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:325,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:327,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:327,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:328,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:328,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:329,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:329,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:330,1
    - Dst: pcpp::IcmpLayer::setTimeExceededData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:330,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:331,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:332,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:332,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:332,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:333,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:333,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:333,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:334,1
    - Dst: pcpp::IcmpLayer::IcmpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:339,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:341,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:342,1
    - Dst: pcpp::IcmpLayer::setDestUnreachableData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:342,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:345,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:345,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:346,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:347,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:347,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:349,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:349,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:350,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:350,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:351,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:351,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:352,1
    - Dst: pcpp::IcmpLayer::setDestUnreachableData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:352,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:354,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:355,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:355,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:355,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:356,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:356,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:356,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:357,1
    - Dst: pcpp::IcmpLayer::IcmpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:362,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:366,1
    - Dst: pcpp::IcmpLayer::setTimestampReplyData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:366,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:368,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:368,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:369,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:369,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:370,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:370,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:371,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:372,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:372,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:372,1
    - Dst: pcpp::IcmpLayer::IcmpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:377,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:378,1
    - Dst: pcpp::IcmpLayer::setAddressMaskRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:378,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:380,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:380,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:381,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:381,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:382,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:382,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:383,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:384,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:384,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:384,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:385,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:385,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:385,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:386,1
    - Dst: pcpp::IcmpLayer::IcmpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:391,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:393,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:394,1
    - Dst: pcpp::IcmpLayer::setDestUnreachableData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:394,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:396,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:396,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:397,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:397,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:398,1
    - Dst: pcpp::IcmpLayer::IcmpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:399,1
    - Dst: pcpp::IcmpLayer::setEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:400,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:402,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:402,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:403,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:403,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:404,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:404,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:405,1
    - Dst: pcpp::IcmpLayer::setRedirectData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:406,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:406,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:407,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:408,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:408,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:408,1
    - Dst: pcpp::IcmpLayer::IcmpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:413,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:415,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:415,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:416,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:416,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:417,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:417,1
    - Dst: pcpp::icmp_router_address_structure::setRouterAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:419,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:419,1
    - Dst: pcpp::icmp_router_address_structure::setRouterAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:421,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:421,1
    - Dst: pcpp::icmp_router_address_structure::setRouterAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:423,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:423,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:425,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:426,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:427,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:428,1
    - Dst: pcpp::IcmpLayer::setRouterAdvertisementData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:428,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:429,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:430,1
    - Dst: pcpp::IcmpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:430,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:431,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:431,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 258
    functionDepth: 4
    functionLinenumber: 258
    functionLinenumberEnd: 433
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp
    functionUses: 1
    functionsReached:
    - auto::data
    - pcpp::IcmpLayer::setDestUnreachableData
    - pcpp::IcmpLayer::setTimeExceededData
    - pcpp::IcmpLayer::setRouterAdvertisementData
    - pcpp::Packet::addLayer
    - SuppressLogs::SuppressLogs
    - pcpp::IcmpLayer::IcmpLayer
    - pcpp::SdpLayer::getOwnerIPv4Address
    - std::vector::push_back
    - PTF_ASSERT_TRUE
    - pcpp::IcmpLayer::setEchoRequestData
    - pcpp::IcmpLayer::setEchoReplyData
    - PTF_ASSERT_EQUAL
    - pcpp::IcmpLayer::setAddressMaskRequestData
    - auto::size
    - be16toh
    - PTF_ASSERT_NULL
    - pcpp::IcmpLayer::setRedirectData
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::IcmpLayer::getHeaderLen
    - pcpp::IcmpLayer::setTimestampReplyData
    - pcpp::icmp_router_address_structure::setRouterAddress
    - PTF_ASSERT_NOT_NULL
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp_tests::loadHexResourceToVector
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IcmpCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:437,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:438,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:439,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:440,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:441,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:445,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:447,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:448,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:456,1
    - Dst: pcpp::IcmpLayer*::getRouterAdvertisementData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:456,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:457,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:457,1
    - Dst: pcpp::IcmpLayer*::setEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:458,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:459,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:460,1
    - Dst: pcpp::IcmpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:460,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:461,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:461,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:462,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:463,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:464,1
    - Dst: pcpp::IcmpLayer*::getRouterAdvertisementData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:464,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:465,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:465,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:465,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:466,1
    - Dst: pcpp::IcmpLayer*::setEchoReplyData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:470,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:471,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:471,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:472,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:473,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:473,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:474,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:474,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:474,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:475,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:479,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:479,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:480,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:481,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:482,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:482,1
    - Dst: pcpp::IcmpLayer::IcmpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:484,1
    - Dst: pcpp::IcmpLayer::setEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:485,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:487,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:489,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:490,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:491,1
    - Dst: pcpp::IcmpLayer*::getTimeExceededData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:491,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:492,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:492,1
    - Dst: pcpp::IcmpLayer*::setEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:493,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:494,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:495,1
    - Dst: pcpp::IcmpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:495,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:496,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:496,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:497,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:498,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:498,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:499,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:500,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:501,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:501,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:501,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:502,1
    - Dst: pcpp::IcmpLayer*::setDestUnreachableData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:506,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:508,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:509,1
    - Dst: pcpp::IcmpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:509,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:510,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:511,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:511,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:512,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:512,1
    - Dst: pcpp::IcmpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:513,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:514,1
    - Dst: pcpp::IPv4Layer*::getDstIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:514,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:514,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:515,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:515,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:516,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:516,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:517,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:518,1
    - Dst: pcpp::IcmpLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:518,1
    - Dst: pcpp::IcmpLayer*::getEchoRequestData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:519,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:520,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:521,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:521,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:522,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:523,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:523,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:523,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 435
    functionDepth: 4
    functionLinenumber: 435
    functionLinenumberEnd: 526
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp
    functionUses: 1
    functionsReached:
    - auto::data
    - htobe16
    - pcpp::IcmpLayer*::getEchoRequestData
    - pcpp::IcmpLayer*::setEchoRequestData
    - pcpp::IcmpLayer::IcmpLayer
    - pcpp::IPv4Layer*::getNextLayer
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - PTF_ASSERT_TRUE
    - pcpp::IcmpLayer*::getRouterAdvertisementData
    - pcpp::IcmpLayer::setEchoRequestData
    - pcpp::IcmpLayer*::getNextLayer
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::size
    - be16toh
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::IcmpLayer*::getTimeExceededData
    - pcpp::IPv4Layer*::getDstIPAddress
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::IcmpLayer*::getHeaderLen
    - pcpp::IcmpLayer*::isMessageOfType
    - pcpp::IcmpLayer*::setDestUnreachableData
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IcmpLayer*::setEchoReplyData
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp_tests::loadHexResourceToVector
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IcmpEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:14,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:16,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:18,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:19,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:19,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:20,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:21,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:23,1
    - Dst: pcpp::WakeOnLanLayer*::getWakeOnLanHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:24,1
    - Dst: pcpp::WakeOnLanLayer*::getTargetAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:24,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:24,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:25,1
    - Dst: pcpp::WakeOnLanLayer*::getPassword
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:25,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:26,1
    - Dst: pcpp::WakeOnLanLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:26,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:28,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:30,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:31,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:31,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:32,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:33,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:35,1
    - Dst: pcpp::WakeOnLanLayer*::getWakeOnLanHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:36,1
    - Dst: pcpp::WakeOnLanLayer*::getTargetAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:36,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:37,1
    - Dst: pcpp::WakeOnLanLayer*::getPassword
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:38,1
    - Dst: pcpp::WakeOnLanLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 39
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::WakeOnLanLayer*::getPassword
    - pcpp::WakeOnLanLayer*::getWakeOnLanHeader
    - pcpp::WakeOnLanLayer*::toString
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::WakeOnLanLayer*::getTargetAddr
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(WakeOnLanParsingTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:44,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:46,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:48,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:49,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:49,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:50,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:51,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:53,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:54,1
    - Dst: pcpp::WakeOnLanLayer::setPassword
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:54,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:54,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:56,1
    - Dst: pcpp::WakeOnLanLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:56,1
    - Dst: pcpp::WakeOnLanLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:56,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:57,1
    - Dst: pcpp::WakeOnLanLayer::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:57,1
    - Dst: pcpp::WakeOnLanLayer*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:57,1
    - Dst: pcpp::WakeOnLanLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:57,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:59,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:59,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:60,1
    - Dst: pcpp::WakeOnLanLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:60,1
    - Dst: pcpp::WakeOnLanLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:60,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:61,1
    - Dst: pcpp::WakeOnLanLayer::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:61,1
    - Dst: pcpp::WakeOnLanLayer*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:61,1
    - Dst: pcpp::WakeOnLanLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:61,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:63,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:65,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:66,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:66,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:67,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:68,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:70,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:71,1
    - Dst: pcpp::WakeOnLanLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:71,1
    - Dst: pcpp::WakeOnLanLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:71,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:72,1
    - Dst: pcpp::WakeOnLanLayer::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:72,1
    - Dst: pcpp::WakeOnLanLayer*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:72,1
    - Dst: pcpp::WakeOnLanLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 73
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::WakeOnLanLayer::setPassword
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::WakeOnLanLayer::getDataLen
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::WakeOnLanLayer::getDataPtr
    - PTF_ASSERT_TRUE
    - pcpp::WakeOnLanLayer*::getDataPtr
    - pcpp::WakeOnLanLayer*::getDataLen
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(WakeOnLanCreationTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:78,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:80,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:82,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:83,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:83,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:84,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:85,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:88,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:89,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:90,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:90,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:91,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:92,1
    - Dst: pcpp::WakeOnLanLayer*::setPassword
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:94,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:94,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:95,1
    - Dst: pcpp::WakeOnLanLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:95,1
    - Dst: pcpp::WakeOnLanLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:95,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:96,1
    - Dst: pcpp::WakeOnLanLayer*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:96,1
    - Dst: pcpp::WakeOnLanLayer*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:96,1
    - Dst: pcpp::WakeOnLanLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:96,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:99,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:100,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:101,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:101,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:102,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:103,1
    - Dst: pcpp::WakeOnLanLayer*::setTargetAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:105,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:106,1
    - Dst: pcpp::WakeOnLanLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:106,1
    - Dst: pcpp::WakeOnLanLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:106,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:107,1
    - Dst: pcpp::WakeOnLanLayer*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:107,1
    - Dst: pcpp::WakeOnLanLayer*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:107,1
    - Dst: pcpp::WakeOnLanLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - pcpp::WakeOnLanLayer*::setPassword
    - createPacketFromHexResource
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::WakeOnLanLayer*::setTargetAddr
    - PTF_ASSERT_TRUE
    - pcpp::WakeOnLanLayer*::getDataPtr
    - pcpp::WakeOnLanLayer*::getDataLen
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(WakeOnLanEditTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:16,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:18,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:19,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:21,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:22,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:23,1
    - Dst: pcpp::RadiusLayer*::getRadiusHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:24,1
    - Dst: pcpp::RadiusLayer*::getRadiusHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:24,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:25,1
    - Dst: pcpp::RadiusLayer*::getAuthenticatorValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:25,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:26,1
    - Dst: pcpp::RadiusLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:26,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:27,1
    - Dst: pcpp::RadiusLayer::getRadiusMessageString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:27,1
    - Dst: pcpp::RadiusLayer*::getRadiusHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:28,1
    - Dst: pcpp::RadiusLayer*::getAttributeCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:28,1
    - Dst: pcpp::RadiusLayer*::getFirstAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:32,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:33,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:37,1
    - Dst: pcpp::RadiusAttribute::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:38,1
    - Dst: pcpp::RadiusAttribute::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:39,1
    - Dst: pcpp::RadiusAttribute::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:39,1
    - Dst: pcpp::RadiusLayer*::getNextAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:40,1
    - Dst: pcpp::RadiusLayer*::getAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:43,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:44,1
    - Dst: pcpp::RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:44,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:45,1
    - Dst: pcpp::RadiusAttribute::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:45,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:46,1
    - Dst: pcpp::RadiusAttribute::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:46,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:47,1
    - Dst: pcpp::RadiusAttribute::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:48,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:48,1
    - Dst: pcpp::RadiusAttribute::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:48,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:52,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:53,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:55,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:57,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:58,1
    - Dst: pcpp::RadiusLayer*::getRadiusHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:58,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:59,1
    - Dst: pcpp::RadiusLayer*::getRadiusHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:59,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:60,1
    - Dst: pcpp::RadiusLayer*::getAuthenticatorValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:60,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:61,1
    - Dst: pcpp::RadiusLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:61,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:62,1
    - Dst: pcpp::RadiusLayer::getRadiusMessageString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:62,1
    - Dst: pcpp::RadiusLayer*::getRadiusHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:62,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:63,1
    - Dst: pcpp::RadiusLayer*::getAttributeCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:63,1
    - Dst: pcpp::RadiusLayer*::getFirstAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:67,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:68,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:71,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:72,1
    - Dst: pcpp::RadiusAttribute::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:72,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:73,1
    - Dst: pcpp::RadiusAttribute::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:73,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:74,1
    - Dst: pcpp::RadiusAttribute::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:74,1
    - Dst: pcpp::RadiusLayer*::getNextAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:75,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:79,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:80,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:82,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 84
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::RadiusAttribute::getTotalSize
    - htobe32
    - pcpp::RadiusLayer*::getRadiusHeader
    - pcpp::RadiusAttribute::isNull
    - pcpp::RadiusLayer*::getNextAttribute
    - pcpp::RadiusLayer*::getFirstAttribute
    - auto::get
    - pcpp::RadiusLayer*::getHeaderLen
    - pcpp::RadiusAttribute::getDataSize
    - pcpp::RadiusAttribute::getValueAs
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - pcpp::RadiusAttribute::getType
    - createPacketFromHexResource
    - pcpp::RadiusLayer::getRadiusMessageString
    - pcpp::RadiusLayer*::getAttribute
    - PTF_ASSERT_NULL
    - pcpp::RadiusLayer*::getAuthenticatorValue
    - pcpp::RadiusLayer*::getAttributeCount
    - PTF_PRINT_VERBOSE
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(RadiusLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:89,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:91,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:93,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:95,1
    - Dst: pcpp::IPv4Layer::IPv4Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:96,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:97,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:98,1
    - Dst: pcpp::RadiusLayer::addAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:102,1
    - Dst: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:102,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:102,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:103,1
    - Dst: pcpp::RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:103,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:104,1
    - Dst: pcpp::RadiusAttribute::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:104,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:105,1
    - Dst: pcpp::RadiusAttribute::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:105,1
    - Dst: pcpp::RadiusLayer::addAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:107,1
    - Dst: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:107,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:108,1
    - Dst: pcpp::RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:108,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:109,1
    - Dst: pcpp::RadiusAttribute::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:109,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:110,1
    - Dst: pcpp::RadiusAttribute::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:110,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:111,1
    - Dst: pcpp::RadiusAttribute::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:111,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:111,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:113,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:114,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:114,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:115,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:115,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:116,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:116,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:117,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:117,1
    - Dst: pcpp::RadiusLayer::addAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:119,1
    - Dst: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:119,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:119,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:120,1
    - Dst: pcpp::RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:120,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:121,1
    - Dst: pcpp::RadiusAttribute::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:121,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:122,1
    - Dst: pcpp::RadiusAttribute::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:122,1
    - Dst: pcpp::RadiusLayer::addAttributeAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:124,1
    - Dst: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:124,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:125,1
    - Dst: pcpp::RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:125,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:126,1
    - Dst: pcpp::RadiusAttribute::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:126,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:127,1
    - Dst: pcpp::RadiusAttribute::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:127,1
    - Dst: pcpp::RadiusLayer::addAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:132,1
    - Dst: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:132,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:133,1
    - Dst: pcpp::RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:133,1
    - Dst: pcpp::RadiusLayer::addAttributeAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:138,1
    - Dst: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:138,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:139,1
    - Dst: pcpp::RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:139,1
    - Dst: pcpp::RadiusLayer::addAttributeAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:144,1
    - Dst: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:144,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:145,1
    - Dst: pcpp::RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:145,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:147,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:149,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:150,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:151,1
    - Dst: pcpp::RadiusLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:151,1
    - Dst: pcpp::RadiusLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:151,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:152,1
    - Dst: pcpp::RadiusLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:152,1
    - Dst: pcpp::RadiusLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:152,1
    - Dst: pcpp::RadiusLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 86
    functionDepth: 4
    functionLinenumber: 86
    functionLinenumberEnd: 153
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp
    functionUses: 1
    functionsReached:
    - htobe32
    - pcpp::IPv4Layer::IPv4Layer
    - pcpp::RadiusLayer*::getData
    - pcpp::RadiusAttribute::isNull
    - pcpp::RadiusLayer::addAttribute
    - pcpp::Packet::addLayer
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - pcpp::RadiusAttribute::getDataSize
    - string
    - PTF_ASSERT_TRUE
    - pcpp::Packet::Packet
    - pcpp::RadiusAttribute::getValueAs
    - PTF_ASSERT_EQUAL
    - pcpp::RadiusLayer*::getDataLen
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - pcpp::RadiusAttribute::getType
    - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    - createPacketFromHexResource
    - pcpp::Packet::computeCalculateFields
    - pcpp::RadiusLayer::addAttributeAfter
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(RadiusLayerCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:158,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:160,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:161,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:163,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:164,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:166,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:167,1
    - Dst: pcpp::RadiusLayer*::getRadiusHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:168,1
    - Dst: pcpp::RadiusLayer*::getRadiusHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:169,1
    - Dst: pcpp::RadiusLayer*::setAuthenticatorValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:170,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:172,1
    - Dst: pcpp::RadiusLayer*::removeAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:172,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:173,1
    - Dst: pcpp::RadiusLayer*::removeAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:173,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:174,1
    - Dst: pcpp::RadiusLayer*::removeAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:174,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:175,1
    - Dst: pcpp::RadiusLayer*::removeAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:175,1
    - Dst: pcpp::RadiusLayer*::addAttributeAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:178,1
    - Dst: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:178,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:178,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:179,1
    - Dst: pcpp::RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:179,1
    - Dst: pcpp::RadiusLayer*::addAttributeAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:183,1
    - Dst: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:183,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:184,1
    - Dst: pcpp::RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:184,1
    - Dst: pcpp::RadiusLayer*::addAttributeAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:189,1
    - Dst: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:189,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:190,1
    - Dst: pcpp::RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:190,1
    - Dst: pcpp::RadiusLayer*::addAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:192,1
    - Dst: pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:192,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:192,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:193,1
    - Dst: pcpp::RadiusAttribute::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:193,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:195,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:197,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:198,1
    - Dst: pcpp::RadiusLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:198,1
    - Dst: pcpp::RadiusLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:198,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:199,1
    - Dst: pcpp::RadiusLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:199,1
    - Dst: pcpp::RadiusLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:199,1
    - Dst: pcpp::RadiusLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:199,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:203,1
    - Dst: pcpp::RadiusLayer*::removeAllAttributes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:203,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:204,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:205,1
    - Dst: pcpp::RadiusLayer*::getAttributeCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:205,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:206,1
    - Dst: pcpp::RadiusLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:206,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:207,1
    - Dst: pcpp::RadiusLayer*::getFirstAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:207,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:208,1
    - Dst: pcpp::RadiusLayer*::getAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:208,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:209,1
    - Dst: pcpp::RadiusLayer*::getAttribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 210
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::RadiusLayer*::getRadiusHeader
    - pcpp::RadiusLayer*::getData
    - pcpp::RadiusAttribute::isNull
    - pcpp::RadiusLayer*::getFirstAttribute
    - auto::get
    - pcpp::RadiusLayer*::removeAttribute
    - string
    - pcpp::RadiusLayer*::getHeaderLen
    - pcpp::RadiusLayer*::addAttributeAfter
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_EQUAL
    - pcpp::RadiusLayer*::getDataLen
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
    - createPacketFromHexResource
    - pcpp::RadiusLayer*::getAttribute
    - pcpp::Packet::computeCalculateFields
    - pcpp::RadiusLayer*::getAttributeCount
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::RadiusLayer*::removeAllAttributes
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::RadiusLayer*::addAttribute
    - pcpp::RadiusLayer*::setAuthenticatorValue
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(RadiusLayerEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:19,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:20,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:22,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:23,1
    - Dst: std::unique_ptr<pcpp::MySqlLayer>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:25,1
    - Dst: pcpp::MySqlLayer::parseMySqlServerMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:25,1
    - Dst: auto::getLayerPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:26,1
    - Dst: auto::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:26,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:28,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:30,1
    - Dst: auto::getMySqlOrigin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:31,1
    - Dst: auto::getOsiModelLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:31,1
    - Dst: auto::getMySqlMessages
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:33,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:34,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:34,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:44,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:46,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:46,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:49,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:49,1
    - Dst: auto::getMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:52,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:52,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:53,1
    - Dst: auto::getMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:53,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:60,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:61,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:63,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:64,1
    - Dst: std::unique_ptr<pcpp::MySqlLayer>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:66,1
    - Dst: pcpp::MySqlLayer::parseMySqlClientMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:66,1
    - Dst: auto::getLayerPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:67,1
    - Dst: auto::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:67,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:68,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:70,1
    - Dst: auto::getMySqlOrigin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:70,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:71,1
    - Dst: auto::getOsiModelLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:71,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:72,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:72,1
    - Dst: auto::getMySqlMessages
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:74,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:75,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:75,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:77,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:77,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:79,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 81
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::MySqlLayer::parseMySqlServerMessage
    - auto::getLayerPayload
    - size
    - at
    - auto::getMySqlOrigin
    - auto::getMessageType
    - std::unique_ptr<pcpp::MySqlLayer>
    - auto::get
    - auto::getLayerPayloadSize
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::getHeaderLen
    - auto::getMySqlMessage
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - auto::toString
    - auto::getOsiModelLayer
    - pcpp::MySqlLayer::parseMySqlClientMessage
    - PTF_ASSERT_NOT_NULL
    - auto::getMySqlMessages
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(MySqlLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:104,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:104,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:104,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:105,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:106,1
    - Dst: auto::getPacketNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:106,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:107,1
    - Dst: auto::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:107,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:108,1
    - Dst: auto::getTotalMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:108,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:110,1
    - Dst: auto::getRawPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:110,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:126,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:126,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:126,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:127,1
    - Dst: dynamic_cast<pcpp::MySqlErrorMessage*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:128,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:128,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:129,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:130,1
    - Dst: auto::getErrorCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:130,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:131,1
    - Dst: auto::getSqlState
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:131,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:132,1
    - Dst: auto::getErrorMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:132,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:144,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:144,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:144,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:146,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:148,1
    - Dst: auto::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:148,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:160,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:160,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:160,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:161,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:185,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:185,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:185,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:187,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:189,1
    - Dst: auto::getPacketNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:189,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:190,1
    - Dst: auto::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:190,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:191,1
    - Dst: auto::getTotalMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:191,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:192,1
    - Dst: auto::getRawPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:192,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:203,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:203,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:203,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:204,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:205,1
    - Dst: auto::getPacketNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:205,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:206,1
    - Dst: auto::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:206,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:217,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:217,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:217,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:218,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:220,1
    - Dst: auto::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:220,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:221,1
    - Dst: auto::getTotalMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:221,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:222,1
    - Dst: auto::getRawPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:222,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:236,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:236,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:236,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:237,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:239,1
    - Dst: auto::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:239,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:240,1
    - Dst: auto::getTotalMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:240,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:243,1
    - Dst: auto::getRawPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:243,1
    - Dst: dynamic_cast<pcpp::MySqlQueryMessage*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:244,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:244,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:245,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:246,1
    - Dst: auto::getQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:246,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:257,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:257,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:257,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:258,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:268,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:268,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:268,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:270,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:280,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:280,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:280,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:282,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:292,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:292,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:292,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:294,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:304,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:304,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:304,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:306,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:317,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:317,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:317,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:319,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:330,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:330,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:330,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:332,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:343,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:343,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:343,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:345,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:356,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:356,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:356,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:358,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:370,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:370,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:370,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:371,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:383,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:383,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:383,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:384,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:394,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:394,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:394,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:396,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:408,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:408,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:408,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:409,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:420,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:420,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:420,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:422,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:433,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:433,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:433,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:435,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:446,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:446,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:446,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:448,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:459,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:459,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:459,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:461,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:472,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:472,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:472,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:474,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:485,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:485,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:485,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:487,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:498,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:498,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:498,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:500,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:511,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:511,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:511,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:513,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:524,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:524,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:524,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:526,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:537,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:537,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:537,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:539,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:550,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:550,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:550,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:552,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:563,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:563,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:563,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:565,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:576,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:576,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:576,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:578,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:591,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:591,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:591,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:593,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:595,1
    - Dst: auto::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:595,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:596,1
    - Dst: auto::getTotalMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:596,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:606,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:606,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:606,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:608,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:619,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:619,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:619,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:621,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:632,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:632,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:632,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:634,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:645,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:645,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:645,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:647,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:674,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:674,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:674,1
    - Dst: ASSERT_MYSQL_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:676,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:678,1
    - Dst: auto::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:678,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:679,1
    - Dst: auto::getTotalMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:679,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:680,1
    - Dst: auto::getPacketNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 682
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<pcpp::MySqlErrorMessage*>
    - dynamic_cast<pcpp::MySqlQueryMessage*>
    - auto::getSqlState
    - std::vector::size
    - PTF_ASSERT_EQUAL
    - PTF_ASSERT_VECTORS_EQUAL
    - auto::getMessageLength
    - auto::getRawPayload
    - auto::get
    - PTF_ASSERT_NOT_NULL
    - std::vector::data
    - auto::getTotalMessageLength
    - auto::getErrorCode
    - auto::getErrorMessage
    - ASSERT_MYSQL_MESSAGE
    - auto::getPacketNumber
    - pcpp::MySqlMessage::parseMySqlMessage
    - auto::getQuery
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(MySqlMessageParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - message
    - ','
    - expectedMessageType
    - ','
    - expectedOrigin
    - ','
    - expectedMessageString
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: ASSERT_MYSQL_MESSAGE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_MYSQL_MESSAGE(message, expectedMessageType, expectedOrigin,
      expectedMessageString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:688,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:689,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:696,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:696,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:696,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:697,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:707,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:707,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:707,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:709,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:719,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:719,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:719,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:720,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:721,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:721,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:731,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:731,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:731,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:732,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:733,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:733,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:743,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:743,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:743,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:745,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:746,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:746,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:757,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:757,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:757,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:759,1
    - Dst: dynamic_cast<pcpp::MySqlQueryMessage*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:760,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:760,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:761,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:762,1
    - Dst: auto::getQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:762,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:773,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:773,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:773,1
    - Dst: dynamic_cast<pcpp::MySqlErrorMessage*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:774,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:774,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:775,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:776,1
    - Dst: auto::getErrorCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:776,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:777,1
    - Dst: auto::getSqlState
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:777,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:778,1
    - Dst: auto::getErrorMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:778,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:790,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:790,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:790,1
    - Dst: dynamic_cast<pcpp::MySqlErrorMessage*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:791,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:791,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:792,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:793,1
    - Dst: auto::getErrorCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:793,1
    - Dst: pcpp::MySqlMessage::parseMySqlMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:807,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:807,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:807,1
    - Dst: dynamic_cast<pcpp::MySqlErrorMessage*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:808,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:808,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:809,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:810,1
    - Dst: auto::getErrorCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:810,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:811,1
    - Dst: auto::getSqlState
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 813
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp
    functionUses: 1
    functionsReached:
    - auto::getMessageType
    - dynamic_cast<pcpp::MySqlQueryMessage*>
    - dynamic_cast<pcpp::MySqlErrorMessage*>
    - auto::getSqlState
    - std::vector::size
    - PTF_ASSERT_EQUAL
    - auto::get
    - PTF_ASSERT_NOT_NULL
    - std::vector::data
    - auto::getErrorCode
    - auto::getErrorMessage
    - PTF_ASSERT_NULL
    - pcpp::MySqlMessage::parseMySqlMessage
    - auto::getQuery
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(MySqlInvalidDataTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:26,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:32,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:32,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:36,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:37,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:37,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:40,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:42,1
    - Dst: pcpp::RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:42,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:44,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:44,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:45,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:45,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:49,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:49,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:50,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:50,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:52,1
    - Dst: pcpp::IPv4Layer::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:52,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:53,1
    - Dst: pcpp::IPv4Layer::getDstIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:53,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:54,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:55,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:56,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:56,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:57,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:58,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 17
    functionDepth: 4
    functionLinenumber: 17
    functionLinenumberEnd: 59
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - htobe16
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - SuppressLogs::SuppressLogs
    - pcpp::IPv4Layer::getDstIPAddress
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::RawPacket*::getRawDataLen
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::IPv4Layer::getSrcIPAddress
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IPv4PacketCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:64,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:66,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:67,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:67,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:68,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:68,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:69,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:69,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:70,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:70,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:71,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:71,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:73,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:74,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:74,1
    - Dst: pcpp::EthLayer*::getEthHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:74,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:76,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:79,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:79,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:80,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:80,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:81,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:81,1
    - Dst: pcpp::IPv4Address::toInt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:81,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:82,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:82,1
    - Dst: pcpp::IPv4Address::toInt
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:82,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:83,1
    - Dst: pcpp::IPv4Layer*::getFirstOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:83,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:84,1
    - Dst: pcpp::IPv4Layer*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:84,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:85,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:85,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:89,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:91,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:93,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:94,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:95,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:95,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:96,1
    - Dst: auto::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:96,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:97,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:97,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:98,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:98,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:99,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:99,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:103,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:105,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:107,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:108,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:112,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:114,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:117,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:117,1
    - Dst: auto::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:118,1
    - Dst: auto::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:118,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:122,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:123,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:125,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 128
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4Layer*::getFirstOption
    - htobe16
    - pcpp::EthLayer*::getEthHeader
    - pcpp::IPv4Layer*::getIPv4Header
    - auto::get
    - auto::getLayerPayloadSize
    - PTF_ASSERT_TRUE
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::IPv4Layer*::getOptionCount
    - pcpp::Packet::getLayerOfType
    - auto::getHeaderLen
    - be16toh
    - auto::getIPv4Header
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::IPv4Layer*::getOption
    - auto::getNextLayer
    - auto::getDataLen
    - PTF_ASSERT_NOT_NULL
    - pcpp::IPv4Address::toInt
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IPv4PacketParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:133,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:135,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:136,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:137,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:139,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:140,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:141,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:143,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:144,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:145,1
    - Dst: pcpp::IPv4Layer*::isFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:145,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:146,1
    - Dst: pcpp::IPv4Layer*::isFirstFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:146,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:147,1
    - Dst: pcpp::IPv4Layer*::isLastFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:147,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:148,1
    - Dst: pcpp::IPv4Layer*::getFragmentOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:148,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:149,1
    - Dst: pcpp::IPv4Layer*::getFragmentFlags
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:149,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:150,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:150,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:151,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:151,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:153,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:154,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:155,1
    - Dst: pcpp::IPv4Layer*::isFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:155,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:156,1
    - Dst: pcpp::IPv4Layer*::isFirstFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:156,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:157,1
    - Dst: pcpp::IPv4Layer*::isLastFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:157,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:158,1
    - Dst: pcpp::IPv4Layer*::getFragmentOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:158,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:159,1
    - Dst: pcpp::IPv4Layer*::getFragmentFlags
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:159,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:160,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:160,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:161,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:161,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:163,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:164,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:165,1
    - Dst: pcpp::IPv4Layer*::isFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:165,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:166,1
    - Dst: pcpp::IPv4Layer*::isFirstFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:166,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:167,1
    - Dst: pcpp::IPv4Layer*::isLastFragment
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:167,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:168,1
    - Dst: pcpp::IPv4Layer*::getFragmentOffset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:168,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:169,1
    - Dst: pcpp::IPv4Layer*::getFragmentFlags
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:169,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:170,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:170,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:171,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 172
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4Layer*::isFirstFragment
    - pcpp::IPv4Layer*::isLastFragment
    - pcpp::IPv4Layer*::getNextLayer
    - PTF_ASSERT_EQUAL
    - auto::get
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - PTF_ASSERT_NOT_NULL
    - pcpp::IPv4Layer*::getFragmentOffset
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_TRUE
    - createPacketFromHexResource
    - pcpp::IPv4Layer*::isFragment
    - pcpp::IPv4Layer*::getFragmentFlags
    - PTF_ASSERT_NOT_EQUAL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IPv4FragmentationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:176,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:177,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:178,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:179,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:180,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:181,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:182,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:184,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:185,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:186,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:187,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:188,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:189,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:190,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:192,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:193,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:194,1
    - Dst: pcpp::IPv4Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:194,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:195,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:195,1
    - Dst: pcpp::IPv4Layer*::getFirstOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:196,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:197,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:197,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:198,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:198,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:199,1
    - Dst: pcpp::IPv4Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:199,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:200,1
    - Dst: pcpp::IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:200,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:201,1
    - Dst: pcpp::IPv4Option::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:201,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:201,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:202,1
    - Dst: pcpp::IPv4Option::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:202,1
    - Dst: pcpp::IPv4Layer*::getNextOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:203,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:204,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:204,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:205,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:205,1
    - Dst: pcpp::IPv4Layer*::getNextOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:206,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:207,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:207,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:208,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:208,1
    - Dst: pcpp::IPv4Layer*::getNextOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:209,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:210,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:210,1
    - Dst: pcpp::IPv4Layer*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:211,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:212,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:212,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:213,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:213,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:214,1
    - Dst: pcpp::IPv4Layer*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:214,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:216,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:217,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:218,1
    - Dst: pcpp::IPv4Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:218,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:219,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:219,1
    - Dst: pcpp::IPv4Layer*::getFirstOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:220,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:221,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:221,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:222,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:222,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:223,1
    - Dst: pcpp::IPv4Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:223,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:224,1
    - Dst: pcpp::IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:224,1
    - Dst: pcpp::IPv4Option::getTimestampOptionValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:225,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:226,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:227,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:227,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:228,1
    - Dst: pcpp::IPv4TimestampOptionValue::ipAddresses::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:228,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:229,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:229,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:229,1
    - Dst: pcpp::IPv4Layer*::getNextOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:230,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:231,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:231,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:233,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:234,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:235,1
    - Dst: pcpp::IPv4Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:235,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:236,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:236,1
    - Dst: pcpp::IPv4Layer*::getFirstOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:237,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:238,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:238,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:239,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:239,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:240,1
    - Dst: pcpp::IPv4Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:240,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:241,1
    - Dst: pcpp::IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:241,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:242,1
    - Dst: pcpp::IPv4Option::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:242,1
    - Dst: pcpp::IPv4Layer*::getNextOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:243,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:244,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:244,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:246,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:247,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:248,1
    - Dst: pcpp::IPv4Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:248,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:249,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:249,1
    - Dst: pcpp::IPv4Layer*::getFirstOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:250,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:251,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:251,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:252,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:252,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:253,1
    - Dst: pcpp::IPv4Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:253,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:254,1
    - Dst: pcpp::IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:254,1
    - Dst: pcpp::IPv4Option::getValueAsIpList
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:255,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:256,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:256,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:257,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:257,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:257,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:258,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:258,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:258,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:259,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:259,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:259,1
    - Dst: pcpp::IPv4Layer*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:260,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:261,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:261,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:262,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:264,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:265,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:266,1
    - Dst: pcpp::IPv4Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:266,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:267,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:267,1
    - Dst: pcpp::IPv4Layer*::getFirstOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:268,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:269,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:269,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:270,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:270,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:271,1
    - Dst: pcpp::IPv4Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:271,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:272,1
    - Dst: pcpp::IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:272,1
    - Dst: pcpp::IPv4Option::getTimestampOptionValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:273,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:274,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:275,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:275,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:276,1
    - Dst: pcpp::IPv4TimestampOptionValue::ipAddresses::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:276,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:277,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:277,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:277,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:278,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:278,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:278,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:279,1
    - Dst: pcpp::IPv4TimestampOptionValue::ipAddresses::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:279,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:279,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:280,1
    - Dst: pcpp::IPv4TimestampOptionValue::ipAddresses::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:280,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:280,1
    - Dst: pcpp::IPv4Layer*::getNextOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:281,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:282,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:282,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:284,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:285,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:286,1
    - Dst: pcpp::IPv4Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:286,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:287,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:287,1
    - Dst: pcpp::IPv4Layer*::getFirstOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:288,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:289,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:289,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:290,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:290,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:291,1
    - Dst: pcpp::IPv4Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:291,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:292,1
    - Dst: pcpp::IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:292,1
    - Dst: pcpp::IPv4Layer*::getNextOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:293,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:294,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:294,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:295,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:295,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:296,1
    - Dst: pcpp::IPv4Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:296,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:297,1
    - Dst: pcpp::IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:297,1
    - Dst: pcpp::IPv4Option::getValueAsIpList
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:298,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:299,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:299,1
    - Dst: pcpp::IPv4Layer*::getNextOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:300,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:301,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:301,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:303,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:304,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:305,1
    - Dst: pcpp::IPv4Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:305,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:306,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:306,1
    - Dst: pcpp::IPv4Layer*::getFirstOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:307,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:308,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:308,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:309,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:309,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:310,1
    - Dst: pcpp::IPv4Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:310,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:311,1
    - Dst: pcpp::IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:311,1
    - Dst: pcpp::IPv4Layer*::getNextOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:312,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:313,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:313,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:314,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:314,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:315,1
    - Dst: pcpp::IPv4Option::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:315,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:316,1
    - Dst: pcpp::IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:316,1
    - Dst: pcpp::IPv4Option::getValueAsIpList
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:317,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:318,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:318,1
    - Dst: pcpp::IPv4Layer*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:319,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:320,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:320,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:321,1
    - Dst: pcpp::IPv4Layer*::getNextOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:322,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:323,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 324
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4Layer*::getFirstOption
    - htobe32
    - pcpp::IPv4TimestampOptionValue::ipAddresses::at
    - pcpp::IPv4Layer*::getHeaderLen
    - std::vector::at
    - pcpp::IPv4Option::getValueAsIpList
    - pcpp::IPv4Option::getTimestampOptionValue
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Option::getValueAs
    - PTF_ASSERT_EQUAL
    - pcpp::IPv4Layer*::getOptionCount
    - pcpp::Packet::getLayerOfType
    - pcpp::IPv4TimestampOptionValue::ipAddresses::size
    - createPacketFromHexResource
    - pcpp::IPv4Option::getDataSize
    - pcpp::IPv4TimestampOptionValue::timestamps::at
    - pcpp::IPv4Layer*::getOption
    - pcpp::IPv4Option::isNull
    - std::vector::size
    - PTF_ASSERT_NOT_NULL
    - pcpp::IPv4Option::getIPv4OptionType
    - PTF_ASSERT_FALSE
    - pcpp::IPv4Layer*::getNextOption
    - pcpp::IPv4Option::getTotalSize
    - pcpp::IPv4TimestampOptionValue::timestamps::size
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IPv4OptionsParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:328,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:329,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:330,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:331,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:332,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:333,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:334,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:335,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:336,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:337,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:338,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:339,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:340,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:341,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:343,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:344,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:345,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:346,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:347,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:348,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:349,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:351,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:354,1
    - Dst: pcpp::IPv4Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:355,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:355,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:356,1
    - Dst: pcpp::IPv4Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:356,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:356,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:358,1
    - Dst: pcpp::IPv4Layer*::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:358,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:358,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:360,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:362,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:362,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:362,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:363,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:363,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:363,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:364,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:366,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:369,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:372,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:374,1
    - Dst: pcpp::IPv4Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:374,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:374,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:375,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:376,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:376,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:376,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:377,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:377,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:377,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:378,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:380,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:382,1
    - Dst: pcpp::IPv4Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:383,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:383,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:384,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:385,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:385,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:385,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:386,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:386,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:386,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:387,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:389,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:391,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:391,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:392,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:392,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:393,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:393,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:395,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:396,1
    - Dst: pcpp::IPv4Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:396,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:396,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:397,1
    - Dst: pcpp::IPv4Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:397,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:397,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:398,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:399,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:399,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:399,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:400,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:400,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:400,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:401,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:403,1
    - Dst: pcpp::IPv4TimestampOptionValue::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:404,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:406,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:407,1
    - Dst: pcpp::IPv4Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:407,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:407,1
    - Dst: pcpp::IPv4TimestampOptionValue::ipAddresses::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:410,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:410,1
    - Dst: pcpp::IPv4TimestampOptionValue::ipAddresses::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:411,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:411,1
    - Dst: pcpp::IPv4TimestampOptionValue::ipAddresses::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:412,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:412,1
    - Dst: pcpp::IPv4TimestampOptionValue::ipAddresses::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:413,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:415,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:416,1
    - Dst: pcpp::IPv4Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:416,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:416,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:418,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:419,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:420,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:421,1
    - Dst: pcpp::IPv4Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:422,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:422,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:423,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:423,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:424,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:424,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:425,1
    - Dst: pcpp::IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:425,1
    - Dst: pcpp::IPv4TimestampOptionValue::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:426,1
    - Dst: pcpp::IPv4Option::getTimestampOptionValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:427,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:428,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:429,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:429,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:430,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:430,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:430,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:431,1
    - Dst: pcpp::IPv4TimestampOptionValue::ipAddresses::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:431,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:432,1
    - Dst: pcpp::IPv4TimestampOptionValue::ipAddresses::at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:432,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:432,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:433,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:434,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:434,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:434,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:435,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:435,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:435,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:436,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:438,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:439,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:440,1
    - Dst: pcpp::IPv4Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:441,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:441,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:442,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:442,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:443,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:443,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:444,1
    - Dst: pcpp::IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:444,1
    - Dst: pcpp::IPv4Option::getValueAsIpList
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:445,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:446,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:446,1
    - Dst: pcpp::IPv4Layer*::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:447,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:447,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:448,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:448,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:449,1
    - Dst: pcpp::IPv4Option::getIPv4OptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:449,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:450,1
    - Dst: pcpp::IPv4Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:450,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:451,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:452,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:452,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:452,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:453,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:453,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:453,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:454,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:456,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:457,1
    - Dst: pcpp::IPv4Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:457,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:457,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:458,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:459,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:460,1
    - Dst: pcpp::IPv4Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:460,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:460,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:461,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:462,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:462,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:462,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:463,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:463,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:463,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:464,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:465,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:465,1
    - Dst: pcpp::IPv4TimestampOptionValue::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:467,1
    - Dst: pcpp::IPv4TimestampOptionValue::ipAddresses::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:469,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:469,1
    - Dst: pcpp::IPv4TimestampOptionValue::ipAddresses::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:470,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:471,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:472,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:473,1
    - Dst: pcpp::IPv4Layer*::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:473,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:473,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:474,1
    - Dst: pcpp::IPv4Layer*::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:475,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:475,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:476,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:476,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:477,1
    - Dst: pcpp::IPv4TimestampOptionValue::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:478,1
    - Dst: pcpp::IPv4TimestampOptionValue::timestamps::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:480,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:481,1
    - Dst: pcpp::IPv4Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:481,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:481,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:482,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:482,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:484,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:485,1
    - Dst: pcpp::IPv4Layer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:486,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:486,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:488,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:489,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:489,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:491,1
    - Dst: pcpp::IPv4Layer*::removeOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:491,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:492,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:492,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:493,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:494,1
    - Dst: pcpp::IPv4Layer*::removeOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:494,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:495,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:496,1
    - Dst: pcpp::IPv4Layer*::removeOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:496,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:497,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:497,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:498,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:499,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:499,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:499,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:500,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:500,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:500,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:501,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:503,1
    - Dst: pcpp::IPv4Layer*::removeAllOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:503,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:504,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:505,1
    - Dst: pcpp::Packet::getRawPacketReadOnly
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:505,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:506,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:507,1
    - Dst: pcpp::IPv4Layer*::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 120
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 508
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp
    functionUses: 1
    functionsReached:
    - auto::data
    - std::vector::clear
    - htobe32
    - pcpp::IPv4TimestampOptionValue::ipAddresses::at
    - pcpp::IPv4Option::getValueAsIpList
    - pcpp::IPv4Layer*::addOption
    - SuppressLogs::SuppressLogs
    - pcpp::IPv4Layer*::removeAllOptions
    - pcpp::IPv4Option::getTimestampOptionValue
    - pcpp::IPv4TimestampOptionValue::timestamps::push_back
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - std::vector::push_back
    - pcpp::IPv4Layer*::removeOption
    - PTF_ASSERT_TRUE
    - pcpp::IPv4OptionBuilder::IPv4OptionBuilder
    - PTF_ASSERT_EQUAL
    - pcpp::IPv4Layer*::getOptionCount
    - pcpp::Packet::getLayerOfType
    - pcpp::IPv4TimestampOptionValue::ipAddresses::push_back
    - auto::size
    - pcpp::IPv4TimestampOptionValue::ipAddresses::size
    - pcpp::IPv4TimestampOptionValue::clear
    - createPacketFromHexResource
    - pcpp::IPv4TimestampOptionValue::timestamps::at
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::IPv4Option::isNull
    - std::vector::size
    - pcpp::IPv4Layer*::addOptionAfter
    - pcpp::IPv4Option::getIPv4OptionType
    - pcpp::Packet::getRawPacketReadOnly
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv4Option::getTotalSize
    - pcpp_tests::loadHexResourceToVector
    - pcpp::IPv4TimestampOptionValue::timestamps::size
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IPv4OptionsEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:516,1
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:519,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:521,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:521,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:523,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:524,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:525,1
    - Dst: pcpp::UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:526,1
    - Dst: pcpp::UdpLayer*::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:527,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:528,1
    - Dst: pcpp::UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 530
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::UdpLayer*::getUdpHeader
    - pcpp::UdpLayer*::computeCalculateFields
    - PTF_ASSERT_EQUAL
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - std::string::c_str
    - createPacketFromHexResource
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IPv4UdpChecksum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:548,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:549,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:550,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:550,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:551,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:551,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:552,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:552,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:554,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:556,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 557
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - auto::getNextLayer
    - auto::getDataLen
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::getHeaderLen
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IPv4ComputeFieldsInvalidIhl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:20,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:21,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:22,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:23,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:24,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:25,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:27,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:28,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:29,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:30,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:31,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:32,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:35,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:35,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:36,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:37,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:38,1
    - Dst: pcpp::ICMPv6EchoLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:39,1
    - Dst: pcpp::ICMPv6EchoLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:40,1
    - Dst: pcpp::ICMPv6EchoLayer*::getCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:41,1
    - Dst: pcpp::ICMPv6EchoLayer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:42,1
    - Dst: pcpp::ICMPv6EchoLayer*::getIdentifier
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:43,1
    - Dst: pcpp::ICMPv6EchoLayer*::getSequenceNr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:44,1
    - Dst: pcpp::ICMPv6EchoLayer*::getEchoDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:44,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:47,1
    - Dst: pcpp::ICMPv6EchoLayer*::getEchoDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:47,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:50,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:50,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:51,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:52,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:53,1
    - Dst: pcpp::ICMPv6EchoLayer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:53,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:54,1
    - Dst: pcpp::ICMPv6EchoLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:54,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:55,1
    - Dst: pcpp::ICMPv6EchoLayer*::getCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:55,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:56,1
    - Dst: pcpp::ICMPv6EchoLayer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:56,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:57,1
    - Dst: pcpp::ICMPv6EchoLayer*::getIdentifier
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:57,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:58,1
    - Dst: pcpp::ICMPv6EchoLayer*::getSequenceNr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:58,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:59,1
    - Dst: pcpp::ICMPv6EchoLayer*::getEchoDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:59,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:61,1
    - Dst: pcpp::ICMPv6EchoLayer*::getEchoDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:61,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:64,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:64,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:66,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:67,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:68,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:68,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:69,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:71,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:71,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:72,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:72,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:73,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getTargetIP
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:73,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:73,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:74,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::hasLinkLayerAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:74,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:75,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getLinkLayerAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:75,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:75,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:76,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getNdpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:76,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getNdpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:79,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:80,1
    - Dst: pcpp::NdpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:80,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:81,1
    - Dst: pcpp::NdpOption::getNdpOptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:81,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:82,1
    - Dst: pcpp::NdpOption::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:83,1
    - Dst: pcpp::NdpOption::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:83,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:84,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:84,1
    - Dst: pcpp::NdpOption::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:84,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:84,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getNdpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:86,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:87,1
    - Dst: pcpp::NdpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:87,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:89,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:90,1
    - Dst: pcpp::IcmpV6Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:90,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:91,1
    - Dst: pcpp::IcmpV6Layer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:91,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:93,1
    - Dst: pcpp::IcmpV6Layer*::getCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:93,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:94,1
    - Dst: pcpp::IcmpV6Layer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:94,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:97,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:97,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:99,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:100,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:100,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:101,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:101,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:103,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:103,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:104,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:104,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:105,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getRouterFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:105,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:106,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getUnicastFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:106,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:107,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getOverrideFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:107,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:108,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getTargetIP
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:108,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:108,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:109,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::hasTargetMacInfo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:109,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:110,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getTargetMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:110,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:110,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:111,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getNdpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:111,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getNdpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:114,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:115,1
    - Dst: pcpp::NdpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:116,1
    - Dst: pcpp::NdpOption::getNdpOptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:117,1
    - Dst: pcpp::NdpOption::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:118,1
    - Dst: pcpp::NdpOption::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:118,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:119,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:119,1
    - Dst: pcpp::NdpOption::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:119,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:119,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:121,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:122,1
    - Dst: pcpp::IcmpV6Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:122,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:123,1
    - Dst: pcpp::IcmpV6Layer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:123,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:124,1
    - Dst: pcpp::IcmpV6Layer*::getCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:124,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:125,1
    - Dst: pcpp::IcmpV6Layer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:125,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:128,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:128,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:130,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:131,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:131,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:132,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getRouterFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:132,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:133,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getUnicastFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:133,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:134,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getOverrideFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:134,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:135,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getTargetIP
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:135,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:135,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:136,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::hasTargetMacInfo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:136,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:137,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getTargetMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:137,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:137,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:138,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getNdpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:138,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getNdpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:140,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:141,1
    - Dst: pcpp::NdpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:141,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:144,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:144,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:145,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:146,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:147,1
    - Dst: pcpp::IcmpV6Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:147,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:148,1
    - Dst: pcpp::IcmpV6Layer*::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:148,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:149,1
    - Dst: pcpp::IcmpV6Layer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:149,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:151,1
    - Dst: pcpp::IcmpV6Layer*::getCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:151,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:152,1
    - Dst: pcpp::IcmpV6Layer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:152,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:153,1
    - Dst: pcpp::IcmpV6Layer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:153,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:154,1
    - Dst: pcpp::IcmpV6Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:154,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:157,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:157,1
    - Dst: pcpp::IcmpV6Layer*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:157,1
    - Dst: pcpp::IcmpV6Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:157,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:166,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::isDataValid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:166,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:171,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::isDataValid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:171,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:176,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::isDataValid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:176,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:179,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::isDataValid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 182
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NDPNeighborAdvertisementLayer*::getTargetIP
    - pcpp::ICMPv6EchoLayer*::getEchoDataPtr
    - pcpp::IcmpV6Layer*::isMessageOfType
    - pcpp::NdpOption::getValue
    - pcpp::ICMPv6EchoLayer*::getMessageType
    - pcpp::NdpOption::isNotNull
    - pcpp::NdpOption::getNdpOptionType
    - pcpp::IcmpV6Layer*::getCode
    - pcpp::NDPNeighborSolicitationLayer*::getNdpOption
    - pcpp::NdpOption::getDataSize
    - pcpp::NDPNeighborAdvertisementLayer*::getNdpOptionCount
    - pcpp::NDPNeighborSolicitationLayer*::getMessageType
    - pcpp::NdpOption::getTotalSize
    - pcpp::NDPNeighborAdvertisementLayer*::getHeaderLen
    - pcpp::NDPNeighborAdvertisementLayer*::getRouterFlag
    - pcpp::NDPNeighborAdvertisementLayer*::hasTargetMacInfo
    - pcpp::NDPNeighborSolicitationLayer*::getTargetIP
    - pcpp::NDPNeighborSolicitationLayer::isDataValid
    - pcpp::NDPNeighborAdvertisementLayer*::getOverrideFlag
    - pcpp::IcmpV6Layer*::getChecksum
    - auto::get
    - pcpp::NDPNeighborSolicitationLayer*::getChecksum
    - pcpp::NDPNeighborAdvertisementLayer*::getChecksum
    - PTF_ASSERT_TRUE
    - pcpp::NDPNeighborAdvertisementLayer*::getNdpOption
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - pcpp::NDPNeighborSolicitationLayer*::getLinkLayerAddress
    - pcpp::NDPNeighborSolicitationLayer*::getNdpOptionCount
    - pcpp::IcmpV6Layer*::getHeaderLen
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::ICMPv6EchoLayer*::getIdentifier
    - pcpp::Packet::getLayerOfType
    - pcpp::ICMPv6EchoLayer*::getEchoDataLen
    - pcpp::NDPNeighborAdvertisementLayer*::getTargetMac
    - pcpp::NDPNeighborAdvertisementLayer::isDataValid
    - pcpp::IcmpV6Layer*::getDataLen
    - createPacketFromHexResource
    - pcpp::NDPNeighborAdvertisementLayer*::getMessageType
    - PTF_ASSERT_NULL
    - pcpp::ICMPv6EchoLayer*::getCode
    - pcpp::byteArrayToHexString
    - pcpp::ICMPv6EchoLayer*::isMessageOfType
    - pcpp::NdpOption::isNull
    - pcpp::ICMPv6EchoLayer*::getChecksum
    - pcpp::IcmpV6Layer*::getDataPtr
    - pcpp::IcmpV6Layer*::toString
    - PTF_ASSERT_NOT_NULL
    - pcpp::NDPNeighborSolicitationLayer*::getHeaderLen
    - PTF_ASSERT_FALSE
    - pcpp::NDPNeighborAdvertisementLayer*::getUnicastFlag
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::StpLayer::IDtoMacAddress
    - pcpp::NDPNeighborAdvertisementLayer*::getCode
    - pcpp::ICMPv6EchoLayer*::getSequenceNr
    - pcpp::IcmpV6Layer*::getNextLayer
    - pcpp::IcmpV6Layer*::getMessageType
    - pcpp::NDPNeighborSolicitationLayer*::getCode
    - pcpp::NDPNeighborSolicitationLayer*::hasLinkLayerAddress
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IcmpV6ParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:186,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:187,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:188,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:189,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:190,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:191,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:198,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:198,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:199,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:199,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:200,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:200,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:205,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:205,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:206,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:206,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:207,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:207,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:208,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:209,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:210,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:211,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:213,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:213,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:213,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:214,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:221,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:221,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:222,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:222,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:223,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:223,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:224,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:225,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:225,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:225,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:226,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:226,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:226,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:227,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:234,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:234,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:235,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:235,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:236,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:236,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:237,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:238,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:238,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:238,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:239,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:239,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:239,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:240,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:244,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:244,1
    - Dst: pcpp::IPv6Layer::IPv6Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:244,1
    - Dst: pcpp::IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:245,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:247,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:247,1
    - Dst: pcpp::NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:246,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:249,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:249,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:250,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:250,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:251,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:252,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:253,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:253,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:254,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:258,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:259,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:259,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:260,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:260,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:261,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:261,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:262,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:262,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:263,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getTargetIP
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:263,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:263,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:264,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getNdpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:264,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:265,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getLinkLayerAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:265,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:265,1
    - Dst: pcpp::NDPNeighborSolicitationLayer*::getNdpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:267,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:268,1
    - Dst: pcpp::NdpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:268,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:269,1
    - Dst: pcpp::NdpOption::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:269,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:270,1
    - Dst: pcpp::NdpOption::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:270,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:274,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:274,1
    - Dst: pcpp::IPv6Layer::IPv6Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:274,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:276,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:276,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:275,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:278,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:278,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:279,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:279,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:280,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:281,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:281,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:281,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:282,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:285,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:286,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:286,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:287,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:287,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:288,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:288,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:289,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:289,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:290,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getRouterFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:290,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:291,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getUnicastFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:291,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:292,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getOverrideFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:292,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:293,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getTargetIP
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:293,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:293,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:294,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getNdpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:294,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:295,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getTargetMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:295,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:295,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getNdpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:297,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:298,1
    - Dst: pcpp::NdpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:298,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:299,1
    - Dst: pcpp::NdpOption::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:299,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:300,1
    - Dst: pcpp::NdpOption::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:300,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:304,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:304,1
    - Dst: pcpp::IPv6Layer::IPv6Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:304,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:306,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:306,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:308,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:308,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:309,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:309,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:310,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:311,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:311,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:311,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:312,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:316,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:317,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:317,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:318,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:318,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:319,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:319,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:320,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:320,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:321,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getRouterFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:321,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:322,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getUnicastFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:322,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:323,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getOverrideFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:323,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:324,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getTargetIP
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:324,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:324,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:325,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getNdpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:325,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:326,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::hasTargetMacInfo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:326,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:327,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getTargetMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:327,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:327,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:331,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:331,1
    - Dst: pcpp::IPv6Layer::IPv6Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:331,1
    - Dst: pcpp::IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:332,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:335,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:335,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:336,1
    - Dst: pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:336,1
    - Dst: pcpp::IPv6Layer*::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:338,1
    - Dst: pcpp::IPv6Layer*::getDataPtr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:339,1
    - Dst: pcpp::IcmpV6Layer::IcmpV6Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:346,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:348,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:349,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:350,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:352,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:352,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:352,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 354
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp
    functionUses: 1
    functionsReached:
    - auto::data
    - pcpp::NDPNeighborAdvertisementLayer*::getTargetIP
    - pcpp::IPv6Layer*::getIPv6Header
    - pcpp::NdpOption::isNotNull
    - pcpp::NDPNeighborSolicitationLayer*::getNdpOption
    - pcpp::NdpOption::getDataSize
    - pcpp::NDPNeighborAdvertisementLayer*::getNdpOptionCount
    - pcpp::NDPNeighborSolicitationLayer*::getMessageType
    - pcpp::NdpOption::getTotalSize
    - pcpp::NDPNeighborAdvertisementLayer*::getHeaderLen
    - pcpp::NDPNeighborAdvertisementLayer*::getRouterFlag
    - pcpp::NDPNeighborAdvertisementLayer*::hasTargetMacInfo
    - pcpp::NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
    - pcpp::IcmpV6Layer::IcmpV6Layer
    - pcpp::NDPNeighborSolicitationLayer*::getTargetIP
    - pcpp::Packet::addLayer
    - pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
    - pcpp::NDPNeighborAdvertisementLayer*::getOverrideFlag
    - string
    - std::vector::push_back
    - pcpp::NDPNeighborSolicitationLayer*::getChecksum
    - pcpp::NDPNeighborAdvertisementLayer*::getChecksum
    - PTF_ASSERT_TRUE
    - pcpp::NDPNeighborAdvertisementLayer*::getNdpOption
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - pcpp::NDPNeighborSolicitationLayer*::getLinkLayerAddress
    - pcpp::NDPNeighborSolicitationLayer*::getNdpOptionCount
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::size
    - pcpp::NDPNeighborAdvertisementLayer*::getTargetMac
    - pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
    - pcpp::NDPNeighborAdvertisementLayer*::getMessageType
    - pcpp::IPv6Layer*::getDataPtr
    - pcpp::IPv6Layer*::addExtension
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::NDPNeighborSolicitationLayer*::getHeaderLen
    - PTF_ASSERT_FALSE
    - pcpp::NDPNeighborAdvertisementLayer*::getUnicastFlag
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::NDPNeighborAdvertisementLayer*::getCode
    - pcpp_tests::loadHexResourceToVector
    - pcpp::NDPNeighborSolicitationLayer*::getCode
    - pcpp::IPv6Layer::IPv6Layer
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IcmpV6CreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:363,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:363,1
    - Dst: pcpp::IPv6Layer::IPv6Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:363,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:365,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:365,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:367,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:367,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:368,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:368,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:370,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::addNdpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:373,1
    - Dst: pcpp::NdpOptionBuilder::NdpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:373,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:375,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getNdpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:375,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:376,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:376,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getFirstNdpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:377,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:378,1
    - Dst: pcpp::NdpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:378,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:379,1
    - Dst: pcpp::NdpOption::getNdpOptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:379,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:380,1
    - Dst: pcpp::NdpOption::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:380,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:381,1
    - Dst: pcpp::NdpOption::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:381,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:382,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getTargetMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:382,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:382,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:383,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:384,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:384,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::addNdpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:387,1
    - Dst: pcpp::NdpOptionBuilder::NdpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:387,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:389,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getNdpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:389,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:390,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:390,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getNextNdpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:391,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:392,1
    - Dst: pcpp::NdpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:392,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:393,1
    - Dst: pcpp::NdpOption::getNdpOptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:393,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:394,1
    - Dst: pcpp::NdpOption::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:394,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:395,1
    - Dst: pcpp::NdpOption::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:395,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:396,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:396,1
    - Dst: pcpp::NdpOption::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:396,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:396,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:398,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::removeAllNdpOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:398,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:399,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getNdpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:399,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:400,1
    - Dst: pcpp::NDPNeighborAdvertisementLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 401
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NdpOption::getValue
    - pcpp::NdpOption::isNotNull
    - pcpp::NdpOption::getNdpOptionType
    - pcpp::NdpOption::getDataSize
    - pcpp::NDPNeighborAdvertisementLayer*::getNdpOptionCount
    - pcpp::NDPNeighborAdvertisementLayer*::getFirstNdpOption
    - pcpp::NdpOption::getTotalSize
    - pcpp::NDPNeighborAdvertisementLayer*::getNextNdpOption
    - pcpp::Packet::addLayer
    - pcpp::NDPNeighborAdvertisementLayer*::getChecksum
    - PTF_ASSERT_TRUE
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - pcpp::NDPNeighborAdvertisementLayer*::getTargetMac
    - pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
    - pcpp::NdpOptionBuilder::NdpOptionBuilder
    - pcpp::Packet::computeCalculateFields
    - pcpp::NDPNeighborAdvertisementLayer*::addNdpOption
    - pcpp::StpLayer::IDtoMacAddress
    - pcpp::NDPNeighborAdvertisementLayer*::removeAllNdpOptions
    - pcpp::NDPNeighborAdvertisementLayer*::getHeaderLen
    - pcpp::IPv6Layer::IPv6Layer
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IcmpV6EditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:23,1
    - Dst: pcpp::NtpLayer::convertFromTimestampFormat
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:23,1
    - Dst: pcpp::NtpLayer::convertToTimestampFormat
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:24,1
    - Dst: pcpp::NtpLayer::convertFromShortFormat
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:24,1
    - Dst: pcpp::NtpLayer::convertToShortFormat
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:24,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:28,1
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:28,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:29,1
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:29,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:31,1
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:31,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:32,1
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:32,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:32,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:35,1
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:36,1
    - Dst: pcpp::NtpLayer::convertToIsoFormat
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:36,1
    - Dst: pcpp::NtpLayer::convertToTimestampFormat
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_EQUAL
    - pcpp::NtpLayer::convertToShortFormat
    - string
    - pcpp::NtpLayer::convertFromShortFormat
    - pcpp::NtpLayer::convertToTimestampFormat
    - pcpp::NtpLayer::convertFromTimestampFormat
    - pcpp::NtpLayer::convertToIsoFormat
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(NtpMethodsTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:43,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:45,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:46,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:48,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:49,1
    - Dst: pcpp::NtpLayer*::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:49,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:50,1
    - Dst: pcpp::NtpLayer*::getLeapIndicator
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:50,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:51,1
    - Dst: pcpp::NtpLayer*::getMode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:52,1
    - Dst: pcpp::NtpLayer*::getModeString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:52,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:53,1
    - Dst: pcpp::NtpLayer*::getStratum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:53,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:54,1
    - Dst: pcpp::NtpLayer*::getPollInterval
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:54,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:55,1
    - Dst: pcpp::NtpLayer*::getPrecision
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:55,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:57,1
    - Dst: pcpp::NtpLayer*::getRootDelay
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:57,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:58,1
    - Dst: pcpp::NtpLayer*::getRootDispersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:58,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:59,1
    - Dst: pcpp::NtpLayer*::getReferenceIdentifier
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:59,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:60,1
    - Dst: pcpp::NtpLayer*::getReferenceTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:60,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:61,1
    - Dst: pcpp::NtpLayer*::getOriginTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:61,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:62,1
    - Dst: pcpp::NtpLayer*::getReceiveTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:62,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:62,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:63,1
    - Dst: pcpp::NtpLayer*::getTransmitTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:63,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:63,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:64,1
    - Dst: pcpp::NtpLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:64,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:67,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:67,1
    - Dst: pcpp::NtpLayer*::getPollIntervalInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:67,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:68,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:68,1
    - Dst: pcpp::NtpLayer*::getPrecisionInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:68,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:69,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:69,1
    - Dst: pcpp::NtpLayer*::getRootDelayInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:69,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:70,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:70,1
    - Dst: pcpp::NtpLayer*::getRootDispersionInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:70,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:71,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:71,1
    - Dst: pcpp::NtpLayer*::getReferenceTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:71,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:72,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:72,1
    - Dst: pcpp::NtpLayer*::getOriginTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:72,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:73,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:73,1
    - Dst: pcpp::NtpLayer*::getReceiveTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:73,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:74,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:74,1
    - Dst: pcpp::NtpLayer*::getTransmitTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:74,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:77,1
    - Dst: pcpp::NtpLayer*::getReferenceTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:77,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:78,1
    - Dst: pcpp::NtpLayer*::getOriginTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:78,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:80,1
    - Dst: pcpp::NtpLayer*::getReferenceTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:80,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:81,1
    - Dst: pcpp::NtpLayer*::getOriginTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:81,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:84,1
    - Dst: pcpp::NtpLayer*::getReceiveTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:84,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:85,1
    - Dst: pcpp::NtpLayer*::getTransmitTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 87
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NtpLayer*::getReceiveTimestampAsString
    - pcpp::NtpLayer*::getMode
    - pcpp::NtpLayer*::getOriginTimestamp
    - pcpp::NtpLayer*::getTransmitTimestampInSecs
    - pcpp::NtpLayer*::getVersion
    - pcpp::NtpLayer*::getPrecisionInSecs
    - pcpp::NtpLayer*::getPrecision
    - pcpp::NtpLayer*::getReferenceTimestampInSecs
    - pcpp::NtpLayer*::getRootDelay
    - pcpp::NtpLayer*::getLeapIndicator
    - fabs
    - auto::get
    - be64toh
    - pcpp::NtpLayer*::getRootDelayInSecs
    - pcpp::NtpLayer*::toString
    - pcpp::NtpLayer*::getOriginTimestampInSecs
    - pcpp::NtpLayer*::getReferenceTimestampAsString
    - PTF_ASSERT_LOWER_THAN
    - pcpp::NtpLayer*::getTransmitTimestamp
    - PTF_ASSERT_EQUAL
    - pcpp::NtpLayer*::getOriginTimestampAsString
    - pcpp::NtpLayer*::getPollInterval
    - pcpp::Packet::getLayerOfType
    - pcpp::NtpLayer*::getStratum
    - pcpp::NtpLayer*::getModeString
    - pcpp::NtpLayer*::getReferenceIdentifier
    - createPacketFromHexResource
    - pcpp::NtpLayer*::getTransmitTimestampAsString
    - pcpp::NtpLayer*::getReceiveTimestampInSecs
    - pcpp::NtpLayer*::getRootDispersion
    - pcpp::NtpLayer*::getReferenceTimestamp
    - PTF_ASSERT_NOT_NULL
    - pcpp::NtpLayer*::getPollIntervalInSecs
    - pcpp::NtpLayer*::getReceiveTimestamp
    - pcpp::NtpLayer*::getRootDispersionInSecs
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(NtpParsingV3Tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:91,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:94,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:95,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:97,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:98,1
    - Dst: pcpp::NtpLayer*::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:98,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:99,1
    - Dst: pcpp::NtpLayer*::getLeapIndicator
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:99,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:100,1
    - Dst: pcpp::NtpLayer*::getMode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:100,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:101,1
    - Dst: pcpp::NtpLayer*::getModeString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:101,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:102,1
    - Dst: pcpp::NtpLayer*::getStratum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:103,1
    - Dst: pcpp::NtpLayer*::getPollInterval
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:103,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:104,1
    - Dst: pcpp::NtpLayer*::getPrecision
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:104,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:105,1
    - Dst: pcpp::NtpLayer*::getRootDelay
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:105,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:105,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:106,1
    - Dst: pcpp::NtpLayer*::getRootDispersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:106,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:106,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:107,1
    - Dst: pcpp::NtpLayer*::getReferenceIdentifier
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:107,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:107,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:108,1
    - Dst: pcpp::NtpLayer*::getReferenceIdentifierString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:108,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:109,1
    - Dst: pcpp::NtpLayer*::getReferenceTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:109,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:109,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:110,1
    - Dst: pcpp::NtpLayer*::getOriginTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:110,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:110,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:111,1
    - Dst: pcpp::NtpLayer*::getReceiveTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:111,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:111,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:112,1
    - Dst: pcpp::NtpLayer*::getTransmitTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:112,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:112,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:113,1
    - Dst: pcpp::NtpLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:113,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:116,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:116,1
    - Dst: pcpp::NtpLayer*::getPollIntervalInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:116,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:117,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:117,1
    - Dst: pcpp::NtpLayer*::getPrecisionInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:117,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:118,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:118,1
    - Dst: pcpp::NtpLayer*::getRootDelayInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:118,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:119,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:119,1
    - Dst: pcpp::NtpLayer*::getRootDispersionInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:119,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:120,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:120,1
    - Dst: pcpp::NtpLayer*::getReferenceTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:120,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:121,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:121,1
    - Dst: pcpp::NtpLayer*::getOriginTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:121,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:122,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:122,1
    - Dst: pcpp::NtpLayer*::getReceiveTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:122,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:123,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:123,1
    - Dst: pcpp::NtpLayer*::getTransmitTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:123,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:125,1
    - Dst: pcpp::NtpLayer*::getReferenceTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:125,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:126,1
    - Dst: pcpp::NtpLayer*::getOriginTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:126,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:127,1
    - Dst: pcpp::NtpLayer*::getReceiveTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:127,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:128,1
    - Dst: pcpp::NtpLayer*::getTransmitTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:128,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:131,1
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:133,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:133,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:134,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:136,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:137,1
    - Dst: pcpp::NtpLayer*::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:137,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:138,1
    - Dst: pcpp::NtpLayer*::getLeapIndicator
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:138,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:139,1
    - Dst: pcpp::NtpLayer*::getMode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:139,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:140,1
    - Dst: pcpp::NtpLayer*::getModeString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:140,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:141,1
    - Dst: pcpp::NtpLayer*::getStratum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:141,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:142,1
    - Dst: pcpp::NtpLayer*::getPollInterval
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:143,1
    - Dst: pcpp::NtpLayer*::getPrecision
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:143,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:144,1
    - Dst: pcpp::NtpLayer*::getRootDelay
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:144,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:144,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:145,1
    - Dst: pcpp::NtpLayer*::getRootDispersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:145,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:145,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:146,1
    - Dst: pcpp::NtpLayer*::getReferenceIdentifier
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:146,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:146,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:147,1
    - Dst: pcpp::NtpLayer*::getReferenceIdentifierString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:147,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:148,1
    - Dst: pcpp::NtpLayer*::getReferenceTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:148,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:148,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:149,1
    - Dst: pcpp::NtpLayer*::getOriginTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:149,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:150,1
    - Dst: pcpp::NtpLayer*::getReceiveTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:150,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:151,1
    - Dst: pcpp::NtpLayer*::getTransmitTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:151,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:151,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:152,1
    - Dst: pcpp::NtpLayer*::getKeyID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:152,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:152,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:153,1
    - Dst: pcpp::NtpLayer*::getDigest
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:153,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:154,1
    - Dst: pcpp::NtpLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:154,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:157,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:157,1
    - Dst: pcpp::NtpLayer*::getPollIntervalInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:157,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:158,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:158,1
    - Dst: pcpp::NtpLayer*::getPrecisionInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:158,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:159,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:159,1
    - Dst: pcpp::NtpLayer*::getRootDelayInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:159,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:160,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:160,1
    - Dst: pcpp::NtpLayer*::getRootDispersionInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:160,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:161,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:161,1
    - Dst: pcpp::NtpLayer*::getReferenceTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:161,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:162,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:162,1
    - Dst: pcpp::NtpLayer*::getOriginTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:162,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:163,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:163,1
    - Dst: pcpp::NtpLayer*::getReceiveTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:163,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:164,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:164,1
    - Dst: pcpp::NtpLayer*::getTransmitTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:164,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:166,1
    - Dst: pcpp::NtpLayer*::getReferenceTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:166,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:168,1
    - Dst: pcpp::NtpLayer*::getOriginTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:168,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:169,1
    - Dst: pcpp::NtpLayer*::getReceiveTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:169,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:171,1
    - Dst: pcpp::NtpLayer*::getOriginTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:171,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:172,1
    - Dst: pcpp::NtpLayer*::getReceiveTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:172,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:174,1
    - Dst: pcpp::NtpLayer*::getTransmitTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:174,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:176,1
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:178,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:178,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:179,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:181,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:182,1
    - Dst: pcpp::NtpLayer*::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:182,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:183,1
    - Dst: pcpp::NtpLayer*::getLeapIndicator
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:183,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:184,1
    - Dst: pcpp::NtpLayer*::getMode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:184,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:185,1
    - Dst: pcpp::NtpLayer*::getModeString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:185,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:186,1
    - Dst: pcpp::NtpLayer*::getStratum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:186,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:187,1
    - Dst: pcpp::NtpLayer*::getPollInterval
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:187,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:188,1
    - Dst: pcpp::NtpLayer*::getPrecision
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:188,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:189,1
    - Dst: pcpp::NtpLayer*::getRootDelay
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:189,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:190,1
    - Dst: pcpp::NtpLayer*::getRootDispersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:190,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:190,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:191,1
    - Dst: pcpp::NtpLayer*::getReferenceIdentifier
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:191,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:191,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:192,1
    - Dst: pcpp::NtpLayer*::getReferenceIdentifierString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:192,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:193,1
    - Dst: pcpp::NtpLayer*::getReferenceTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:193,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:193,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:194,1
    - Dst: pcpp::NtpLayer*::getOriginTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:194,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:194,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:195,1
    - Dst: pcpp::NtpLayer*::getReceiveTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:195,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:195,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:196,1
    - Dst: pcpp::NtpLayer*::getTransmitTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:196,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:196,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:197,1
    - Dst: pcpp::NtpLayer*::getKeyID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:197,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:197,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:198,1
    - Dst: pcpp::NtpLayer*::getDigest
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:198,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:199,1
    - Dst: pcpp::NtpLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:199,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:202,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:202,1
    - Dst: pcpp::NtpLayer*::getPollIntervalInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:202,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:203,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:203,1
    - Dst: pcpp::NtpLayer*::getPrecisionInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:203,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:204,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:204,1
    - Dst: pcpp::NtpLayer*::getRootDelayInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:204,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:205,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:205,1
    - Dst: pcpp::NtpLayer*::getRootDispersionInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:205,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:206,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:206,1
    - Dst: pcpp::NtpLayer*::getReferenceTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:206,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:207,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:207,1
    - Dst: pcpp::NtpLayer*::getOriginTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:207,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:208,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:208,1
    - Dst: pcpp::NtpLayer*::getReceiveTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:208,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:209,1
    - Dst: fabs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:209,1
    - Dst: pcpp::NtpLayer*::getTransmitTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:209,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:211,1
    - Dst: pcpp::NtpLayer*::getReferenceTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:211,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:212,1
    - Dst: pcpp::NtpLayer*::getOriginTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:212,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:213,1
    - Dst: pcpp::NtpLayer*::getReceiveTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:213,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:214,1
    - Dst: pcpp::NtpLayer*::getTransmitTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 215
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NtpLayer*::getReceiveTimestampAsString
    - pcpp::NtpLayer*::getMode
    - pcpp::NtpLayer*::getOriginTimestamp
    - be32toh
    - pcpp::NtpLayer*::getTransmitTimestampInSecs
    - pcpp::NtpLayer*::getVersion
    - pcpp::NtpLayer*::getPrecisionInSecs
    - pcpp::NtpLayer*::getPrecision
    - pcpp::NtpLayer*::getReferenceIdentifierString
    - pcpp::NtpLayer*::getReferenceTimestampInSecs
    - pcpp::NtpLayer*::getRootDelay
    - pcpp::NtpLayer*::getLeapIndicator
    - fabs
    - auto::get
    - pcpp::TcpReassembly::reassemblePacket
    - be64toh
    - pcpp::NtpLayer*::getRootDelayInSecs
    - pcpp::NtpLayer*::toString
    - pcpp::NtpLayer*::getOriginTimestampInSecs
    - pcpp::NtpLayer*::getReferenceTimestampAsString
    - PTF_ASSERT_LOWER_THAN
    - pcpp::NtpLayer*::getTransmitTimestamp
    - PTF_ASSERT_EQUAL
    - pcpp::NtpLayer*::getOriginTimestampAsString
    - pcpp::NtpLayer*::getPollInterval
    - pcpp::Packet::getLayerOfType
    - pcpp::NtpLayer*::getKeyID
    - pcpp::NtpLayer*::getStratum
    - pcpp::NtpLayer*::getDigest
    - pcpp::NtpLayer*::getModeString
    - pcpp::NtpLayer*::getReferenceIdentifier
    - createPacketFromHexResource
    - pcpp::NtpLayer*::getTransmitTimestampAsString
    - pcpp::NtpLayer*::getReceiveTimestampInSecs
    - pcpp::NtpLayer*::getRootDispersion
    - pcpp::NtpLayer*::getReferenceTimestamp
    - PTF_ASSERT_NOT_NULL
    - pcpp::NtpLayer*::getPollIntervalInSecs
    - pcpp::NtpLayer*::getReceiveTimestamp
    - static_cast<uint32_t>
    - pcpp::NtpLayer*::getRootDispersionInSecs
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(NtpParsingV4Tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:219,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:223,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:225,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:226,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:227,1
    - Dst: pcpp::NtpLayer::NtpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:229,1
    - Dst: pcpp::NtpLayer::setVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:232,1
    - Dst: pcpp::NtpLayer::setLeapIndicator
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:233,1
    - Dst: pcpp::NtpLayer::setMode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:234,1
    - Dst: pcpp::NtpLayer::setStratum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:235,1
    - Dst: pcpp::NtpLayer::setPollInterval
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:236,1
    - Dst: pcpp::NtpLayer::setPrecision
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:237,1
    - Dst: pcpp::NtpLayer::setRootDelay
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:238,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:238,1
    - Dst: pcpp::NtpLayer::setRootDispersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:239,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:239,1
    - Dst: pcpp::NtpLayer::setReferenceIdentifier
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:240,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:240,1
    - Dst: pcpp::NtpLayer::setReferenceTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:241,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:241,1
    - Dst: pcpp::NtpLayer::setOriginTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:242,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:242,1
    - Dst: pcpp::NtpLayer::setReceiveTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:243,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:243,1
    - Dst: pcpp::NtpLayer::setTransmitTimestamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:244,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:244,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:246,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:247,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:247,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:248,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:248,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:249,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:249,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:250,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:252,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:252,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:253,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:253,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:253,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:255,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:259,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:261,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:262,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:263,1
    - Dst: pcpp::NtpLayer::NtpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:265,1
    - Dst: pcpp::NtpLayer::setVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:268,1
    - Dst: pcpp::NtpLayer::setLeapIndicator
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:269,1
    - Dst: pcpp::NtpLayer::setMode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:270,1
    - Dst: pcpp::NtpLayer::setStratum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:271,1
    - Dst: pcpp::NtpLayer::setPollInterval
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:272,1
    - Dst: pcpp::NtpLayer::setPrecision
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:273,1
    - Dst: pcpp::NtpLayer::setRootDelayInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:274,1
    - Dst: pcpp::NtpLayer::setRootDispersionInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:275,1
    - Dst: pcpp::NtpLayer::setReferenceIdentifier
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:276,1
    - Dst: pcpp::NtpLayer::setReferenceTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:277,1
    - Dst: pcpp::NtpLayer::setOriginTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:278,1
    - Dst: pcpp::NtpLayer::setReceiveTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:279,1
    - Dst: pcpp::NtpLayer::setTransmitTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:280,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:282,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:283,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:283,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:284,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:284,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:285,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:285,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:286,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:288,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:288,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:289,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:289,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 290
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::NtpLayer::setVersion
    - be32toh
    - pcpp::NtpLayer::setOriginTimestampInSecs
    - pcpp::NtpLayer::setRootDelayInSecs
    - pcpp::NtpLayer::setRootDispersionInSecs
    - pcpp::Packet::addLayer
    - pcpp::NtpLayer::setMode
    - pcpp::SdpLayer::getOwnerIPv4Address
    - be64toh
    - pcpp::NtpLayer::setPrecision
    - get
    - PTF_ASSERT_TRUE
    - pcpp::Packet::Packet
    - pcpp::NtpLayer::setPollInterval
    - pcpp::NtpLayer::setTransmitTimestamp
    - PTF_ASSERT_EQUAL
    - pcpp::NtpLayer::setStratum
    - pcpp::Packet::getLayerOfType
    - data::get
    - pcpp::NtpLayer::setReferenceTimestampInSecs
    - pcpp::NtpLayer::setReferenceIdentifier
    - createPacketAndBufferFromHexResource
    - pcpp::NtpLayer::setOriginTimestamp
    - pcpp::NtpLayer::setTransmitTimestampInSecs
    - pcpp::NtpLayer::NtpLayer
    - pcpp::Packet::getRawPacket
    - pcpp::NtpLayer::setLeapIndicator
    - pcpp::NtpLayer::setRootDelay
    - pcpp::NtpLayer::setReferenceTimestamp
    - pcpp::NtpLayer::setReceiveTimestampInSecs
    - pcpp::NtpLayer::setRootDispersion
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::NtpLayer::setReceiveTimestamp
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(NtpCreationTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:16,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:17,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:19,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:20,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:22,1
    - Dst: auto::getPostgresOrigin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:22,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:23,1
    - Dst: auto::getOsiModelLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:25,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:25,1
    - Dst: auto::getPostgresMessages
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:28,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:28,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:42,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:42,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:45,1
    - Dst: auto::getPostgresMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:45,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:46,1
    - Dst: auto::getPostgresMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:46,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:47,1
    - Dst: auto::getPostgresMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:47,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:52,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:53,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:55,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:56,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:58,1
    - Dst: auto::getPostgresOrigin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:58,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:60,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:60,1
    - Dst: auto::getPostgresMessages
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:62,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:63,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:63,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:65,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:65,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:67,1
    - Dst: auto::getPostgresMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 69
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp
    functionUses: 1
    functionsReached:
    - auto::toString
    - auto::getOsiModelLayer
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::get
    - auto::getPostgresMessages
    - auto::getPostgresMessage
    - PTF_ASSERT_NOT_NULL
    - size
    - at
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - auto::getPostgresOrigin
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PostgresLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:88,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:88,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:88,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:89,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:99,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:99,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:99,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:100,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:103,1
    - Dst: auto::getRawPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:103,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:113,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:113,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:113,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:114,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:124,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:124,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:124,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:125,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:135,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:135,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:135,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:136,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:146,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:146,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:146,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:147,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:158,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:158,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:158,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:159,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:169,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:169,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:169,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:170,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:183,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:183,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:183,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:184,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:195,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:195,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:195,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:196,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:207,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:207,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:207,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:208,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:219,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:219,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:219,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:220,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:230,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:230,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:230,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:231,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:241,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:241,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:241,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:242,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:254,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:254,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:254,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:255,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:265,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:265,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:265,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:266,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:275,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:275,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:275,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:276,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:288,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:288,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:288,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:289,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:301,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:301,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:301,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:302,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:314,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:314,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:314,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:315,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:330,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:330,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:330,1
    - Dst: dynamic_cast<pcpp::PostgresDataRowMessage*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:331,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:331,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:332,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:333,1
    - Dst: auto*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:333,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:334,1
    - Dst: auto*::getMessageOrigin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:334,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:335,1
    - Dst: auto*::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:335,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:336,1
    - Dst: auto*::getTotalMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:336,1
    - Dst: auto*::getDataRow
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:338,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:339,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:339,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:341,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:342,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:342,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:342,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:342,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:343,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:354,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:357,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:357,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:360,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:360,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:362,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:363,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:363,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:363,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:363,1
    - Dst: toHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:364,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:375,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:389,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:389,1
    - Dst: pcpp::PostgresDataRowMessage::getDataRow
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:390,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:391,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:391,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:392,1
    - Dst: isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:392,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:393,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:393,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:394,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:394,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:395,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:395,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:396,1
    - Dst: isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:396,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:404,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:404,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:404,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:405,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:428,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:428,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:428,1
    - Dst: dynamic_cast<pcpp::PostgresErrorResponseMessage*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:429,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:429,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:430,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:431,1
    - Dst: auto*::getFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:449,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:450,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:450,1
    - Dst: std::map::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:450,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:453,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:453,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:463,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:463,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:463,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:464,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:476,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:476,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:476,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:477,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:486,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:486,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:486,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:487,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:498,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:498,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:498,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:499,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:514,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:514,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:514,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:515,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:531,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:531,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:531,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:532,1
    - Dst: dynamic_cast<pcpp::PostgresParameterStatus*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:535,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:535,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:536,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:537,1
    - Dst: auto*::getParameterName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:537,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:538,1
    - Dst: auto*::getParameterValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:538,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:547,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:547,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:547,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:548,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:558,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:558,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:558,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:559,1
    - Dst: std::unique_ptr<pcpp::PostgresMessage>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:578,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:579,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:579,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:579,1
    - Dst: dynamic_cast<pcpp::PostgresRowDescriptionMessage*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:580,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:580,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:581,1
    - Dst: auto*::getColumnInfos
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:582,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:583,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:583,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:599,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:601,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:601,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:602,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:602,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:603,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:603,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:604,1
    - Dst: std::get<3>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:604,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:605,1
    - Dst: std::get<4>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:605,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:606,1
    - Dst: std::get<5>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:606,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:607,1
    - Dst: std::get<6>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:607,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:618,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:618,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:618,1
    - Dst: dynamic_cast<pcpp::PostgresRowDescriptionMessage*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:619,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:619,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:620,1
    - Dst: auto*::getColumnInfos
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:621,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:622,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:622,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:629,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:629,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:629,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:630,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:642,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:642,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:642,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:643,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:674,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:674,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:674,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:675,1
    - Dst: dynamic_cast<pcpp::PostgresStartupMessage*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:678,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:678,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:679,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:680,1
    - Dst: auto*::getProtocolVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:680,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:681,1
    - Dst: auto*::getProtocolMajorVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:681,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:682,1
    - Dst: auto*::getProtocolMinorVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:682,1
    - Dst: auto*::getParameters
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:684,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:685,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:685,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:694,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:697,1
    - Dst: auto*::getParameter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:697,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:698,1
    - Dst: auto*::getParameter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:698,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:707,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:707,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:707,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:708,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:720,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:720,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:720,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:721,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:731,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:731,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:731,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:732,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:746,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:746,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:746,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:747,1
    - Dst: dynamic_cast<pcpp::PostgresQueryMessage*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:749,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:749,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:750,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:751,1
    - Dst: auto*::getQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:751,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:767,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:767,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:767,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:768,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:787,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:787,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:787,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:788,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:801,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:801,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:801,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:802,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:814,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:814,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:814,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:815,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:827,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:827,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:827,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:828,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:845,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:845,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:845,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:846,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:855,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:855,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:855,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:856,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:865,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:865,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:865,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:866,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:876,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:876,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:876,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:877,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:886,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:886,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:886,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:887,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:898,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:898,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:898,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:899,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:908,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:908,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:908,1
    - Dst: ASSERT_MESSAGE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 157
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 914
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp
    functionUses: 1
    functionsReached:
    - auto*::getParameterValue
    - auto*::getMessageOrigin
    - std::get<2>
    - std::get<4>
    - std::get<1>
    - auto*::getTotalMessageLength
    - isNull
    - auto*::getFields
    - ASSERT_MESSAGE
    - size
    - dynamic_cast<pcpp::PostgresStartupMessage*>
    - at
    - auto*::getColumnInfos
    - pcpp::PostgresMessage::parsePostgresFrontendMessage
    - std::unique_ptr<pcpp::PostgresMessage>
    - dynamic_cast<pcpp::PostgresParameterStatus*>
    - pcpp::PostgresDataRowMessage::getDataRow
    - dynamic_cast<pcpp::PostgresQueryMessage*>
    - auto::begin
    - auto*::getProtocolMajorVersion
    - auto*::getParameter
    - PTF_ASSERT_VECTORS_EQUAL
    - auto::get
    - auto::getRawPayload
    - auto*::getMessageType
    - getData
    - std::get<5>
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_EQUAL
    - auto*::getDataRow
    - pcpp::PostgresMessage::parsePostgresBackendMessage
    - toHexString
    - auto*::getParameters
    - auto::size
    - std::get<0>
    - std::transform
    - dynamic_cast<pcpp::PostgresRowDescriptionMessage*>
    - auto*::getProtocolVersion
    - auto*::getMessageLength
    - std::get<3>
    - dynamic_cast<pcpp::PostgresDataRowMessage*>
    - std::get<6>
    - auto*::getParameterName
    - toString
    - std::vector::size
    - dynamic_cast<pcpp::PostgresErrorResponseMessage*>
    - std::vector::begin
    - auto::end
    - PTF_ASSERT_NOT_NULL
    - std::map::size
    - std::vector::data
    - auto*::getQuery
    - auto*::getProtocolMinorVersion
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PostgresMessageParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - message
    - ','
    - expectedMessageType
    - ','
    - expectedOrigin
    - ','
    - expectedLength
    - ','
    - expectedTotalLength
    - ','
    - expectedMessageString
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: ASSERT_MESSAGE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ASSERT_MESSAGE(message, expectedMessageType, expectedOrigin, expectedLength,
      expectedTotalLength,              \\\n                       expectedMessageString)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:920,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:920,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:921,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:921,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:927,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:927,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:927,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:927,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:928,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:928,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:928,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:928,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:935,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:935,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:935,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:936,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:936,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:938,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:938,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:938,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:939,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:939,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:948,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:948,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:948,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:949,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:949,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:951,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:951,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:951,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:952,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:952,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:962,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:962,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:962,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:963,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:963,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:965,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:965,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:965,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:966,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:966,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:976,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:976,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:976,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:977,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:977,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:989,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:989,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:989,1
    - Dst: dynamic_cast<pcpp::PostgresParameterStatus*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:990,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:990,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:991,1
    - Dst: auto*::getParameterName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:991,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:992,1
    - Dst: auto*::getParameterValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:992,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:999,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:999,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:999,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1000,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1000,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1009,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1009,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1009,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1010,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1010,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1020,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1020,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1020,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1021,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1021,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1031,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1031,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1031,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1032,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1032,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1045,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1045,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1045,1
    - Dst: dynamic_cast<pcpp::PostgresStartupMessage*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1046,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1046,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1047,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1048,1
    - Dst: auto*::getParameter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1048,1
    - Dst: pcpp::PostgresMessage::parsePostgresBackendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1054,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1054,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1054,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1055,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1056,1
    - Dst: auto::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1056,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1057,1
    - Dst: auto::getRawPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1057,1
    - Dst: std::unique_ptr<pcpp::PostgresMessage>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1068,1
    - Dst: pcpp::PostgresMessage::parsePostgresFrontendMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1069,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1069,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1069,1
    - Dst: dynamic_cast<pcpp::PostgresQueryMessage*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1070,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1070,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1071,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1072,1
    - Dst: auto*::getQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1072,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1080,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1080,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1081,1
    - Dst: pcpp::PostgresQueryMessage::getQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1081,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1091,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1091,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1092,1
    - Dst: pcpp::PostgresQueryMessage::getQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1092,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1102,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1102,1
    - Dst: pcpp::PostgresRowDescriptionMessage::getColumnInfos
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1103,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1104,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1104,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1114,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1114,1
    - Dst: pcpp::PostgresRowDescriptionMessage::getColumnInfos
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1116,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1116,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1130,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1130,1
    - Dst: pcpp::PostgresRowDescriptionMessage::getColumnInfos
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1131,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1132,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1132,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1133,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1133,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1143,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1143,1
    - Dst: pcpp::PostgresDataRowMessage::getDataRow
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1144,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1145,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1145,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1155,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1155,1
    - Dst: pcpp::PostgresDataRowMessage::getDataRow
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1156,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1157,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1157,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1167,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1167,1
    - Dst: pcpp::PostgresDataRowMessage::getDataRow
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1168,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1169,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1169,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1179,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1179,1
    - Dst: pcpp::PostgresDataRowMessage::getDataRow
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1180,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1181,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1181,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1192,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1192,1
    - Dst: pcpp::PostgresDataRowMessage::getDataRow
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1193,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1194,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1194,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1195,1
    - Dst: isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1195,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1206,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1206,1
    - Dst: pcpp::PostgresDataRowMessage::getDataRow
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1207,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1208,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1208,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1220,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1220,1
    - Dst: pcpp::PostgresDataRowMessage::getDataRow
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1221,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1222,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1222,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1223,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1223,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1223,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1233,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1233,1
    - Dst: pcpp::PostgresDataRowMessage::getDataRow
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1234,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1235,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1235,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1245,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1245,1
    - Dst: pcpp::PostgresErrorResponseMessage::getFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1246,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1247,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1247,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1260,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1260,1
    - Dst: pcpp::PostgresErrorResponseMessage::getFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1261,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1262,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1262,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1263,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1263,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1271,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1271,1
    - Dst: pcpp::PostgresErrorResponseMessage::getFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1272,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1273,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1273,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1285,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1285,1
    - Dst: pcpp::PostgresErrorResponseMessage::getFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1286,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1287,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1287,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1288,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1288,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1303,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1303,1
    - Dst: pcpp::PostgresErrorResponseMessage::getFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1304,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1305,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1305,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1306,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1306,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1319,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1319,1
    - Dst: pcpp::PostgresErrorResponseMessage::getFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1320,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1321,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1321,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1322,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1322,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1323,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1323,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1339,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1339,1
    - Dst: pcpp::PostgresErrorResponseMessage::getFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1340,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1341,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1341,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1342,1
    - Dst: at
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 916
    functionDepth: 2
    functionLinenumber: 916
    functionLinenumberEnd: 1344
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp
    functionUses: 1
    functionsReached:
    - auto*::getParameterValue
    - isNull
    - dynamic_cast<pcpp::PostgresStartupMessage*>
    - size
    - pcpp::PostgresMessage::parsePostgresFrontendMessage
    - at
    - std::unique_ptr<pcpp::PostgresMessage>
    - pcpp::PostgresErrorResponseMessage::getFields
    - dynamic_cast<pcpp::PostgresParameterStatus*>
    - dynamic_cast<pcpp::PostgresQueryMessage*>
    - pcpp::PostgresDataRowMessage::getDataRow
    - auto::getMessageType
    - auto*::getParameter
    - auto::get
    - auto::getRawPayload
    - string
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_EQUAL
    - pcpp::PostgresMessage::parsePostgresBackendMessage
    - auto::getMessageLength
    - auto::size
    - PTF_ASSERT_NULL
    - pcpp::PostgresRowDescriptionMessage::getColumnInfos
    - auto*::getParameterName
    - toString
    - std::vector::size
    - pcpp::PostgresQueryMessage::getQuery
    - PTF_ASSERT_NOT_NULL
    - std::vector::data
    - auto*::getQuery
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PostgresInvalidDataTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:14,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:16,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:18,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:19,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:19,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:20,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:21,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:23,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:24,1
    - Dst: auto::getReserved
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:24,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:25,1
    - Dst: auto::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:25,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:27,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:30,1
    - Dst: pcpp::TpktLayer::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:31,1
    - Dst: pcpp::TpktLayer::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:32,1
    - Dst: pcpp::TpktLayer::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:32,1
    - Dst: pcpp::TpktLayer::setVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:34,1
    - Dst: pcpp::TpktLayer::setLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:36,1
    - Dst: pcpp::TpktLayer::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:37,1
    - Dst: pcpp::TpktLayer::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:38,1
    - Dst: pcpp::TpktLayer::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 11
    functionDepth: 3
    functionLinenumber: 11
    functionLinenumberEnd: 40
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp
    functionUses: 1
    functionsReached:
    - auto::getVersion
    - auto::toString
    - pcpp::TpktLayer::setVersion
    - pcpp::TpktLayer::setLength
    - auto::getReserved
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::TpktLayer::getLength
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - auto::getLength
    - PTF_ASSERT_TRUE
    - pcpp::TpktLayer::toString
    - pcpp::TpktLayer::getVersion
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TpktLayerTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:17,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:19,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:21,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:22,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:24,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:26,1
    - Dst: pcpp::TelnetLayer*::getDataAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:26,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:27,1
    - Dst: pcpp::TelnetLayer*::getTotalNumberOfCommands
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:29,1
    - Dst: pcpp::TelnetLayer*::getNumberOfCommands
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:30,1
    - Dst: pcpp::TelnetLayer*::getNumberOfCommands
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:31,1
    - Dst: pcpp::TelnetLayer*::getNumberOfCommands
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:33,1
    - Dst: pcpp::TelnetLayer*::getFirstCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:33,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:35,1
    - Dst: pcpp::TelnetLayer*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:37,1
    - Dst: pcpp::TelnetLayer*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:39,1
    - Dst: pcpp::TelnetLayer*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:39,1
    - Dst: pcpp::TelnetLayer*::getNextCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:68,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:72,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:73,1
    - Dst: pcpp::TelnetLayer*::getTelnetCommandAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:73,1
    - Dst: pcpp::TelnetLayer*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:76,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:77,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:78,1
    - Dst: pcpp::TelnetLayer*::getTelnetOptionAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:78,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:83,1
    - Dst: pcpp::TelnetLayer*::getOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:83,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:84,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:88,1
    - Dst: pcpp::TelnetLayer*::getOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:89,1
    - Dst: pcpp::TelnetLayer*::getNextCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:92,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:95,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:96,1
    - Dst: pcpp::TelnetLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:96,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:99,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:101,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:102,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:104,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:107,1
    - Dst: pcpp::TelnetLayer*::getDataAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:107,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:108,1
    - Dst: pcpp::TelnetLayer*::getTotalNumberOfCommands
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:108,1
    - Dst: pcpp::TelnetLayer*::getNextCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:120,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:123,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:124,1
    - Dst: pcpp::TelnetLayer*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:124,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:127,1
    - Dst: pcpp::TelnetLayer*::getOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:127,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:128,1
    - Dst: pcpp::TelnetLayer*::getNextCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:130,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:133,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:134,1
    - Dst: pcpp::TelnetLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:134,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:137,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:139,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:140,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:144,1
    - Dst: pcpp::TelnetLayer*::getDataAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:144,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:147,1
    - Dst: pcpp::TelnetLayer*::getTotalNumberOfCommands
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:147,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:149,1
    - Dst: pcpp::TelnetLayer*::getNumberOfCommands
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:149,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:150,1
    - Dst: pcpp::TelnetLayer*::getNumberOfCommands
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:150,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:152,1
    - Dst: pcpp::TelnetLayer*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:152,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:154,1
    - Dst: pcpp::TelnetLayer*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:154,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:156,1
    - Dst: pcpp::TelnetLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:156,1
    - Dst: static_cast<pcpp::TelnetLayer::TelnetCommand>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:160,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:186,1
    - Dst: pcpp::TelnetLayer::getTelnetCommandAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:186,1
    - Dst: static_cast<pcpp::TelnetLayer::TelnetOption>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:191,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:254,1
    - Dst: pcpp::TelnetLayer::getTelnetOptionAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 256
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TelnetLayer::getTelnetCommandAsString
    - pcpp::TelnetLayer*::getDataAsString
    - static_cast<pcpp::TelnetLayer::TelnetOption>
    - auto::get
    - pcpp::TelnetLayer*::getFirstCommand
    - pcpp::TelnetLayer*::getNextCommand
    - pcpp::TelnetLayer*::getTotalNumberOfCommands
    - pcpp::TelnetLayer::getTelnetOptionAsString
    - pcpp::TelnetLayer*::getTelnetOptionAsString
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - pcpp::TelnetLayer*::getNumberOfCommands
    - pcpp::TelnetLayer*::getOptionData
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - static_cast<pcpp::TelnetLayer::TelnetCommand>
    - pcpp::TelnetLayer*::getTelnetCommandAsString
    - pcpp::TelnetLayer*::getOption
    - PTF_ASSERT_NOT_NULL
    - pcpp::TelnetLayer*::toString
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TelnetCommandParsingTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:263,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:265,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:266,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:268,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:271,1
    - Dst: auto*::getTotalNumberOfCommands
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:271,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:274,1
    - Dst: auto*::getFirstCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:274,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:277,1
    - Dst: auto*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:277,1
    - Dst: auto*::getOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:282,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:283,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:284,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:285,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:288,1
    - Dst: auto*::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 290
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp
    functionUses: 1
    functionsReached:
    - auto*::getOptionData
    - auto*::getTotalNumberOfCommands
    - PTF_ASSERT_EQUAL
    - auto*::getOption
    - pcpp::Packet::getLayerOfType
    - auto::get
    - PTF_ASSERT_NOT_NULL
    - auto*::getFirstCommand
    - createPacketFromHexResource
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TelentCommandInvalidDataTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:294,1
    - Dst: static_cast<uint8_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:295,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:294,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:298,1
    - Dst: pcpp::TelnetLayer::getTotalNumberOfCommands
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:298,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:299,1
    - Dst: pcpp::TelnetLayer::getNextCommand
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:299,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:300,1
    - Dst: pcpp::TelnetLayer::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:300,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:303,1
    - Dst: pcpp::TelnetLayer::getOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:303,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:304,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:305,1
    - Dst: pcpp::TelnetLayer::getOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 307
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp
    functionUses: 1
    functionsReached:
    - static_cast<uint8_t>
    - PTF_ASSERT_EQUAL
    - pcpp::TelnetLayer::getTotalNumberOfCommands
    - pcpp::TelnetLayer::getNextCommand
    - pcpp::TelnetLayer::getOptionData
    - PTF_ASSERT_NULL
    - uint8_t::uint8_t
    - pcpp::TelnetLayer::getOption
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TelnetCommandTruncatedOptionTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:313,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:315,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:317,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:318,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:320,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:322,1
    - Dst: pcpp::TelnetLayer*::getDataAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:322,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:323,1
    - Dst: pcpp::TelnetLayer*::getTotalNumberOfCommands
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:323,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:324,1
    - Dst: pcpp::TelnetLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 325
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_EQUAL
    - auto::get
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - PTF_ASSERT_NOT_NULL
    - pcpp::TelnetLayer*::getTotalNumberOfCommands
    - pcpp::TelnetLayer*::getDataAsString
    - createPacketFromHexResource
    - pcpp::TelnetLayer*::toString
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TelnetDataParsingTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:13,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:15,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:16,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:16,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:17,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:18,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:19,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:19,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:20,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:20,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:21,1
    - Dst: auto::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:21,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:22,1
    - Dst: auto::getPduType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:22,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:23,1
    - Dst: auto::getTpduNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:24,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:24,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:27,1
    - Dst: pcpp::CotpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:28,1
    - Dst: pcpp::CotpLayer::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:29,1
    - Dst: pcpp::CotpLayer::getPduType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:30,1
    - Dst: pcpp::CotpLayer::getTpduNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:30,1
    - Dst: pcpp::CotpLayer::setLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:32,1
    - Dst: pcpp::CotpLayer::setPduType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:33,1
    - Dst: pcpp::CotpLayer::setTpduNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:34,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:35,1
    - Dst: pcpp::CotpLayer::getLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:36,1
    - Dst: pcpp::CotpLayer::getPduType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:37,1
    - Dst: pcpp::CotpLayer::getTpduNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 39
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::CotpLayer::getLength
    - pcpp::CotpLayer::getTpduNumber
    - auto::getLength
    - pcpp::CotpLayer::setLength
    - auto::get
    - pcpp::CotpLayer::getHeaderLen
    - PTF_ASSERT_TRUE
    - auto::getTpduNumber
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::getHeaderLen
    - createPacketFromHexResource
    - pcpp::CotpLayer::setTpduNumber
    - auto::getPduType
    - auto::toString
    - auto::getNextLayer
    - PTF_ASSERT_NOT_NULL
    - pcpp::CotpLayer::setPduType
    - pcpp::CotpLayer::getPduType
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(CotpLayerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:14,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:16,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:18,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:19,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:19,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:21,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:22,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:23,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:26,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getProtoId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:26,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:27,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:28,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:29,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:30,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getRootId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:31,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getRootPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:32,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getRootSystemIDExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:32,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:33,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getRootSystemID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:33,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:33,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:34,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getPathCost
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:34,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:35,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getBridgeId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:36,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getBridgePriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:37,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getBridgeSystemIDExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:38,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getBridgeSystemID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:38,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:39,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getPortId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:40,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getMessageAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:41,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getMaximumAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:42,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getTransmissionInterval
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:43,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getForwardDelay
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:45,1
    - Dst: pcpp::StpConfigurationBPDULayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 46
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::StpConfigurationBPDULayer*::getForwardDelay
    - pcpp::StpConfigurationBPDULayer*::getPortId
    - pcpp::StpConfigurationBPDULayer*::getBridgeId
    - pcpp::StpConfigurationBPDULayer*::getBridgeSystemID
    - pcpp::StpConfigurationBPDULayer*::getProtoId
    - pcpp::StpConfigurationBPDULayer*::getRootSystemID
    - auto::get
    - pcpp::StpConfigurationBPDULayer*::getFlag
    - pcpp::StpConfigurationBPDULayer*::getMessageAge
    - pcpp::StpConfigurationBPDULayer*::getBridgeSystemIDExtension
    - PTF_ASSERT_TRUE
    - pcpp::StpConfigurationBPDULayer*::getTransmissionInterval
    - pcpp::StpConfigurationBPDULayer*::getVersion
    - pcpp::StpConfigurationBPDULayer*::getRootSystemIDExtension
    - pcpp::StpConfigurationBPDULayer*::getRootId
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::StpConfigurationBPDULayer*::getPathCost
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::StpConfigurationBPDULayer*::getType
    - pcpp::StpConfigurationBPDULayer*::toString
    - createPacketFromHexResource
    - pcpp::StpConfigurationBPDULayer*::getNextLayer
    - PTF_ASSERT_NOT_NULL
    - pcpp::StpLayer::IDtoMacAddress
    - pcpp::StpConfigurationBPDULayer*::getMaximumAge
    - pcpp::StpConfigurationBPDULayer*::getRootPriority
    - pcpp::StpConfigurationBPDULayer*::getBridgePriority
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(StpConfigurationParsingTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:51,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:53,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:55,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:56,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:56,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:58,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:59,1
    - Dst: pcpp::StpConfigurationBPDULayer::StpConfigurationBPDULayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:61,1
    - Dst: pcpp::StpConfigurationBPDULayer::setFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:63,1
    - Dst: pcpp::StpConfigurationBPDULayer::setRootId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:64,1
    - Dst: pcpp::StpConfigurationBPDULayer::setRootPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:65,1
    - Dst: pcpp::StpConfigurationBPDULayer::setRootSystemIDExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:66,1
    - Dst: pcpp::StpConfigurationBPDULayer::setRootSystemID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:67,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:67,1
    - Dst: pcpp::StpConfigurationBPDULayer::setPathCost
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:68,1
    - Dst: pcpp::StpConfigurationBPDULayer::setBridgeId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:69,1
    - Dst: pcpp::StpConfigurationBPDULayer::setPortId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:70,1
    - Dst: pcpp::StpConfigurationBPDULayer::setMessageAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:71,1
    - Dst: pcpp::StpConfigurationBPDULayer::setMaximumAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:72,1
    - Dst: pcpp::StpConfigurationBPDULayer::setTransmissionInterval
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:73,1
    - Dst: pcpp::StpConfigurationBPDULayer::setForwardDelay
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:74,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:76,1
    - Dst: pcpp::StpConfigurationBPDULayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:76,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:76,1
    - Dst: pcpp::StpConfigurationBPDULayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 77
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::StpConfigurationBPDULayer::StpConfigurationBPDULayer
    - pcpp::StpConfigurationBPDULayer::setPortId
    - auto::get
    - pcpp::StpConfigurationBPDULayer::getData
    - pcpp::StpConfigurationBPDULayer::getHeaderLen
    - PTF_ASSERT_TRUE
    - pcpp::StpConfigurationBPDULayer::setRootPriority
    - pcpp::Packet::isPacketOfType
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::StpConfigurationBPDULayer::setMessageAge
    - pcpp::StpConfigurationBPDULayer::setFlag
    - createPacketFromHexResource
    - pcpp::StpConfigurationBPDULayer::setBridgeId
    - pcpp::StpConfigurationBPDULayer::setRootId
    - pcpp::StpConfigurationBPDULayer::setTransmissionInterval
    - pcpp::StpConfigurationBPDULayer::setMaximumAge
    - pcpp::StpConfigurationBPDULayer::setRootSystemID
    - pcpp::StpConfigurationBPDULayer*::getData
    - PTF_ASSERT_NOT_NULL
    - pcpp::StpConfigurationBPDULayer::setForwardDelay
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::StpConfigurationBPDULayer::setRootSystemIDExtension
    - pcpp::StpConfigurationBPDULayer::setPathCost
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(StpConfigurationCreationTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:82,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:85,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:86,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:87,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:87,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:89,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:90,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:93,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:94,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:95,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:95,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:97,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:98,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:101,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setRootId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:102,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setPathCost
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:103,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setBridgeId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:104,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setPortId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:105,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setMessageAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:106,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setMaximumAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:107,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setTransmissionInterval
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:108,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setForwardDelay
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:109,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:111,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:111,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:111,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:111,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:113,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:114,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:115,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:115,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:117,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:118,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setRootSystemID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:121,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setRootPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:122,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setRootSystemIDExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:123,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setBridgePriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:125,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setBridgeSystemIDExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:126,1
    - Dst: pcpp::StpConfigurationBPDULayer*::setBridgeSystemID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:127,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:129,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:129,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:129,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 130
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::StpConfigurationBPDULayer*::setPathCost
    - pcpp::StpConfigurationBPDULayer*::setFlag
    - pcpp::StpConfigurationBPDULayer*::setRootSystemIDExtension
    - pcpp::StpConfigurationBPDULayer*::setRootPriority
    - pcpp::StpConfigurationBPDULayer*::getHeaderLen
    - pcpp::StpConfigurationBPDULayer*::setRootSystemID
    - pcpp::StpConfigurationBPDULayer*::setBridgePriority
    - pcpp::StpConfigurationBPDULayer*::setPortId
    - pcpp::StpConfigurationBPDULayer*::setMaximumAge
    - auto::get
    - pcpp::StpConfigurationBPDULayer*::setForwardDelay
    - pcpp::StpConfigurationBPDULayer*::setRootId
    - PTF_ASSERT_TRUE
    - pcpp::StpConfigurationBPDULayer*::setTransmissionInterval
    - pcpp::Packet::isPacketOfType
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::StpConfigurationBPDULayer*::setBridgeSystemID
    - createPacketFromHexResource
    - pcpp::StpConfigurationBPDULayer*::setMessageAge
    - pcpp::StpConfigurationBPDULayer*::setBridgeId
    - pcpp::StpConfigurationBPDULayer*::getData
    - PTF_ASSERT_NOT_NULL
    - pcpp::StpConfigurationBPDULayer*::setBridgeSystemIDExtension
    - PTF_ASSERT_BUF_COMPARE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(StpConfigurationEditTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:135,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:137,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:139,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:140,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:140,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:142,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:143,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:144,1
    - Dst: pcpp::StpTopologyChangeBPDULayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:144,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:147,1
    - Dst: pcpp::StpTopologyChangeBPDULayer*::getProtoId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:147,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:148,1
    - Dst: pcpp::StpTopologyChangeBPDULayer*::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:148,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:149,1
    - Dst: pcpp::StpTopologyChangeBPDULayer*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:149,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:151,1
    - Dst: pcpp::StpTopologyChangeBPDULayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::StpTopologyChangeBPDULayer*::toString
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - pcpp::StpTopologyChangeBPDULayer*::getType
    - pcpp::StpTopologyChangeBPDULayer*::getNextLayer
    - createPacketFromHexResource
    - pcpp::StpTopologyChangeBPDULayer*::getVersion
    - PTF_ASSERT_TRUE
    - pcpp::StpTopologyChangeBPDULayer*::getProtoId
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(StpTopologyChangeParsingTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:157,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:159,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:161,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:162,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:162,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:165,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:166,1
    - Dst: pcpp::StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:168,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:170,1
    - Dst: pcpp::StpTopologyChangeBPDULayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:170,1
    - Dst: pcpp::StpTopologyChangeBPDULayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:170,1
    - Dst: pcpp::StpTopologyChangeBPDULayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::StpTopologyChangeBPDULayer::getHeaderLen
    - pcpp::Packet::isPacketOfType
    - pcpp::StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::StpTopologyChangeBPDULayer::getData
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::StpTopologyChangeBPDULayer*::getData
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(StpTopologyChangeCreationTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:176,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:179,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:180,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:181,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:181,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:184,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:185,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:188,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:189,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:190,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:190,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:193,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:194,1
    - Dst: pcpp::StpTopologyChangeBPDULayer*::setProtoId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:197,1
    - Dst: pcpp::StpTopologyChangeBPDULayer*::setVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:198,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:200,1
    - Dst: pcpp::StpTopologyChangeBPDULayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:200,1
    - Dst: pcpp::StpTopologyChangeBPDULayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:200,1
    - Dst: pcpp::StpTopologyChangeBPDULayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 202
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::StpTopologyChangeBPDULayer*::setProtoId
    - pcpp::Packet::isPacketOfType
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - pcpp::StpTopologyChangeBPDULayer*::setVersion
    - createPacketFromHexResource
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::StpTopologyChangeBPDULayer*::getData
    - pcpp::StpTopologyChangeBPDULayer*::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(StpTopologyChangeEditTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:207,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:209,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:211,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:212,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:212,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:214,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:215,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:216,1
    - Dst: pcpp::RapidStpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:216,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:219,1
    - Dst: pcpp::RapidStpLayer*::getProtoId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:219,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:220,1
    - Dst: pcpp::RapidStpLayer*::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:220,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:221,1
    - Dst: pcpp::RapidStpLayer*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:221,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:222,1
    - Dst: pcpp::RapidStpLayer*::getFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:222,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:223,1
    - Dst: pcpp::RapidStpLayer*::getRootId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:223,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:224,1
    - Dst: pcpp::RapidStpLayer*::getRootPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:224,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:225,1
    - Dst: pcpp::RapidStpLayer*::getRootSystemIDExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:225,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:226,1
    - Dst: pcpp::RapidStpLayer*::getRootSystemID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:226,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:226,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:227,1
    - Dst: pcpp::RapidStpLayer*::getPathCost
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:227,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:228,1
    - Dst: pcpp::RapidStpLayer*::getBridgeId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:228,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:229,1
    - Dst: pcpp::RapidStpLayer*::getBridgePriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:229,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:230,1
    - Dst: pcpp::RapidStpLayer*::getBridgeSystemIDExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:230,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:231,1
    - Dst: pcpp::RapidStpLayer*::getBridgeSystemID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:231,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:231,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:232,1
    - Dst: pcpp::RapidStpLayer*::getPortId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:232,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:233,1
    - Dst: pcpp::RapidStpLayer*::getMessageAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:233,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:234,1
    - Dst: pcpp::RapidStpLayer*::getMaximumAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:234,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:235,1
    - Dst: pcpp::RapidStpLayer*::getTransmissionInterval
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:235,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:236,1
    - Dst: pcpp::RapidStpLayer*::getForwardDelay
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:236,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:237,1
    - Dst: pcpp::RapidStpLayer*::getVersion1Len
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:237,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:239,1
    - Dst: pcpp::RapidStpLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 240
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::RapidStpLayer*::getProtoId
    - pcpp::RapidStpLayer*::getRootSystemID
    - pcpp::RapidStpLayer*::getType
    - pcpp::RapidStpLayer*::getBridgeSystemID
    - pcpp::RapidStpLayer*::getBridgePriority
    - pcpp::RapidStpLayer*::getRootSystemIDExtension
    - pcpp::RapidStpLayer*::getBridgeId
    - pcpp::RapidStpLayer*::getPathCost
    - pcpp::RapidStpLayer*::getNextLayer
    - auto::get
    - pcpp::RapidStpLayer*::getVersion
    - pcpp::RapidStpLayer*::getTransmissionInterval
    - pcpp::RapidStpLayer*::getRootId
    - pcpp::RapidStpLayer*::getFlag
    - PTF_ASSERT_TRUE
    - pcpp::RapidStpLayer*::getRootPriority
    - pcpp::RapidStpLayer*::toString
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::RapidStpLayer*::getPortId
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::RapidStpLayer*::getMaximumAge
    - pcpp::RapidStpLayer*::getMessageAge
    - PTF_ASSERT_NOT_NULL
    - pcpp::StpLayer::IDtoMacAddress
    - pcpp::RapidStpLayer*::getForwardDelay
    - pcpp::RapidStpLayer*::getVersion1Len
    - pcpp::RapidStpLayer*::getBridgeSystemIDExtension
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(RapidStpParsingTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:245,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:247,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:249,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:250,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:250,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:252,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:253,1
    - Dst: pcpp::RapidStpLayer::RapidStpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:255,1
    - Dst: pcpp::RapidStpLayer::setProtoId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:257,1
    - Dst: pcpp::RapidStpLayer::setVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:258,1
    - Dst: pcpp::RapidStpLayer::setType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:259,1
    - Dst: pcpp::RapidStpLayer::setFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:260,1
    - Dst: pcpp::RapidStpLayer::setRootId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:261,1
    - Dst: pcpp::RapidStpLayer::setPathCost
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:262,1
    - Dst: pcpp::RapidStpLayer::setBridgeId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:263,1
    - Dst: pcpp::RapidStpLayer::setPortId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:264,1
    - Dst: pcpp::RapidStpLayer::setMessageAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:265,1
    - Dst: pcpp::RapidStpLayer::setMaximumAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:266,1
    - Dst: pcpp::RapidStpLayer::setTransmissionInterval
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:267,1
    - Dst: pcpp::RapidStpLayer::setForwardDelay
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:268,1
    - Dst: pcpp::RapidStpLayer::setVersion1Len
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:269,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:271,1
    - Dst: pcpp::RapidStpLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:271,1
    - Dst: pcpp::RapidStpLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:271,1
    - Dst: pcpp::RapidStpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::RapidStpLayer::setBridgeId
    - pcpp::RapidStpLayer::setTransmissionInterval
    - pcpp::RapidStpLayer::getData
    - pcpp::RapidStpLayer*::getData
    - pcpp::RapidStpLayer::setPathCost
    - pcpp::RapidStpLayer::setMessageAge
    - pcpp::RapidStpLayer::setFlag
    - pcpp::RapidStpLayer::setProtoId
    - auto::get
    - pcpp::RapidStpLayer::getHeaderLen
    - PTF_ASSERT_TRUE
    - pcpp::RapidStpLayer::setRootId
    - pcpp::RapidStpLayer::RapidStpLayer
    - pcpp::RapidStpLayer::setPortId
    - pcpp::Packet::isPacketOfType
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::RapidStpLayer::setVersion1Len
    - pcpp::RapidStpLayer::setType
    - createPacketFromHexResource
    - pcpp::RapidStpLayer::setForwardDelay
    - pcpp::RapidStpLayer::setMaximumAge
    - pcpp::RapidStpLayer::setVersion
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(RapidStpCreationTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:277,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:279,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:280,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:281,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:281,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:283,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:284,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:287,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:288,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:289,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:289,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:291,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:292,1
    - Dst: pcpp::RapidStpLayer*::setPortId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:295,1
    - Dst: pcpp::RapidStpLayer*::setMessageAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:296,1
    - Dst: pcpp::RapidStpLayer*::setMaximumAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:297,1
    - Dst: pcpp::RapidStpLayer*::setTransmissionInterval
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:298,1
    - Dst: pcpp::RapidStpLayer*::setForwardDelay
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:299,1
    - Dst: pcpp::RapidStpLayer*::setVersion1Len
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:300,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:302,1
    - Dst: pcpp::RapidStpLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:302,1
    - Dst: pcpp::RapidStpLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:302,1
    - Dst: pcpp::RapidStpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 303
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::RapidStpLayer*::setPortId
    - pcpp::RapidStpLayer*::setMessageAge
    - pcpp::RapidStpLayer*::setTransmissionInterval
    - pcpp::Packet::isPacketOfType
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::RapidStpLayer*::getData
    - PTF_ASSERT_NOT_NULL
    - pcpp::RapidStpLayer*::setMaximumAge
    - createPacketFromHexResource
    - pcpp::RapidStpLayer*::setForwardDelay
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::RapidStpLayer*::setVersion1Len
    - PTF_ASSERT_TRUE
    - pcpp::RapidStpLayer*::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(RapidStpEditTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:308,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:310,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:312,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:313,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:313,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:315,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:316,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:317,1
    - Dst: pcpp::MultipleStpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:317,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:320,1
    - Dst: pcpp::MultipleStpLayer*::getProtoId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:320,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:321,1
    - Dst: pcpp::MultipleStpLayer*::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:321,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:322,1
    - Dst: pcpp::MultipleStpLayer*::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:322,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:323,1
    - Dst: pcpp::MultipleStpLayer*::getFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:323,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:324,1
    - Dst: pcpp::MultipleStpLayer*::getRootId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:324,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:325,1
    - Dst: pcpp::MultipleStpLayer*::getRootPriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:325,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:326,1
    - Dst: pcpp::MultipleStpLayer*::getRootSystemIDExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:326,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:327,1
    - Dst: pcpp::MultipleStpLayer*::getRootSystemID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:327,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:327,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:328,1
    - Dst: pcpp::MultipleStpLayer*::getPathCost
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:328,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:329,1
    - Dst: pcpp::MultipleStpLayer*::getBridgeId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:329,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:330,1
    - Dst: pcpp::MultipleStpLayer*::getBridgePriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:330,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:331,1
    - Dst: pcpp::MultipleStpLayer*::getBridgeSystemIDExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:331,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:332,1
    - Dst: pcpp::MultipleStpLayer*::getBridgeSystemID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:332,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:332,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:333,1
    - Dst: pcpp::MultipleStpLayer*::getPortId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:333,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:334,1
    - Dst: pcpp::MultipleStpLayer*::getMessageAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:334,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:335,1
    - Dst: pcpp::MultipleStpLayer*::getMaximumAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:335,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:336,1
    - Dst: pcpp::MultipleStpLayer*::getTransmissionInterval
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:336,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:337,1
    - Dst: pcpp::MultipleStpLayer*::getForwardDelay
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:337,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:338,1
    - Dst: pcpp::MultipleStpLayer*::getVersion1Len
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:338,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:339,1
    - Dst: pcpp::MultipleStpLayer*::getVersion3Len
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:339,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:341,1
    - Dst: pcpp::MultipleStpLayer*::getMstConfigurationFormatSelector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:341,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:342,1
    - Dst: pcpp::MultipleStpLayer*::getMstConfigurationName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:342,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:342,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:343,1
    - Dst: pcpp::MultipleStpLayer*::getMstConfigRevision
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:343,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:344,1
    - Dst: pcpp::MultipleStpLayer*::getCISTIrpc
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:344,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:345,1
    - Dst: pcpp::MultipleStpLayer*::getCISTBridgeId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:345,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:346,1
    - Dst: pcpp::MultipleStpLayer*::getCISTBridgePriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:346,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:347,1
    - Dst: pcpp::MultipleStpLayer*::getCISTBridgeSystemIDExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:347,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:348,1
    - Dst: pcpp::MultipleStpLayer*::getCISTBridgeSystemID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:348,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:348,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:349,1
    - Dst: pcpp::MultipleStpLayer*::getRemainingHopCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:349,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:351,1
    - Dst: pcpp::MultipleStpLayer*::getNumberOfMSTIConfMessages
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:351,1
    - Dst: pcpp::MultipleStpLayer*::getMstiConfMessages
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:353,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:354,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:356,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:357,1
    - Dst: be64toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:357,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:358,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:358,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:359,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:360,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:361,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:363,1
    - Dst: pcpp::MultipleStpLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 364
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::MultipleStpLayer*::getCISTIrpc
    - be32toh
    - pcpp::MultipleStpLayer*::getVersion3Len
    - pcpp::MultipleStpLayer*::getMstConfigRevision
    - pcpp::MultipleStpLayer*::getRemainingHopCount
    - pcpp::MultipleStpLayer*::getRootPriority
    - pcpp::MultipleStpLayer*::getNumberOfMSTIConfMessages
    - pcpp::MultipleStpLayer*::getNextLayer
    - pcpp::MultipleStpLayer*::getMessageAge
    - pcpp::MultipleStpLayer*::getMstiConfMessages
    - pcpp::MultipleStpLayer*::getMstConfigurationFormatSelector
    - auto::get
    - pcpp::MultipleStpLayer*::getBridgeSystemID
    - string
    - be64toh
    - pcpp::MultipleStpLayer*::getVersion
    - pcpp::MultipleStpLayer*::getBridgeId
    - PTF_ASSERT_TRUE
    - pcpp::MultipleStpLayer*::toString
    - pcpp::MultipleStpLayer*::getType
    - pcpp::MultipleStpLayer*::getRootSystemIDExtension
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::MultipleStpLayer*::getCISTBridgeId
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::MultipleStpLayer*::getProtoId
    - pcpp::MultipleStpLayer*::getTransmissionInterval
    - pcpp::MultipleStpLayer*::getPathCost
    - pcpp::MultipleStpLayer*::getPortId
    - pcpp::MultipleStpLayer*::getMstConfigurationName
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::MultipleStpLayer*::getRootId
    - pcpp::MultipleStpLayer*::getCISTBridgePriority
    - pcpp::MultipleStpLayer*::getRootSystemID
    - pcpp::MultipleStpLayer*::getVersion1Len
    - pcpp::MultipleStpLayer*::getForwardDelay
    - pcpp::MultipleStpLayer*::getCISTBridgeSystemID
    - pcpp::MultipleStpLayer*::getMaximumAge
    - PTF_ASSERT_NOT_NULL
    - pcpp::MultipleStpLayer*::getFlag
    - pcpp::StpLayer::IDtoMacAddress
    - pcpp::MultipleStpLayer*::getCISTBridgeSystemIDExtension
    - pcpp::MultipleStpLayer*::getBridgeSystemIDExtension
    - pcpp::MultipleStpLayer*::getBridgePriority
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(MultipleStpParsingTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:369,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:371,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:373,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:374,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:374,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:376,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:377,1
    - Dst: pcpp::MultipleStpLayer::MultipleStpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:379,1
    - Dst: pcpp::MultipleStpLayer::setProtoId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:381,1
    - Dst: pcpp::MultipleStpLayer::setVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:382,1
    - Dst: pcpp::MultipleStpLayer::setType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:383,1
    - Dst: pcpp::MultipleStpLayer::setFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:384,1
    - Dst: pcpp::MultipleStpLayer::setRootId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:385,1
    - Dst: pcpp::MultipleStpLayer::setPathCost
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:386,1
    - Dst: pcpp::MultipleStpLayer::setBridgeId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:387,1
    - Dst: pcpp::MultipleStpLayer::setPortId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:388,1
    - Dst: pcpp::MultipleStpLayer::setMessageAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:389,1
    - Dst: pcpp::MultipleStpLayer::setMaximumAge
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:390,1
    - Dst: pcpp::MultipleStpLayer::setTransmissionInterval
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:391,1
    - Dst: pcpp::MultipleStpLayer::setForwardDelay
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:392,1
    - Dst: pcpp::MultipleStpLayer::setVersion1Len
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:393,1
    - Dst: pcpp::MultipleStpLayer::setVersion3Len
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:394,1
    - Dst: pcpp::MultipleStpLayer::setMstConfigurationFormatSelector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:396,1
    - Dst: pcpp::MultipleStpLayer::setMstConfigurationName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:397,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:397,1
    - Dst: pcpp::MultipleStpLayer::setMstConfigRevision
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:398,1
    - Dst: pcpp::MultipleStpLayer::setCISTIrpc
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:399,1
    - Dst: pcpp::MultipleStpLayer::setCISTBridgeId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:400,1
    - Dst: pcpp::MultipleStpLayer::setRemainingHopCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:401,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:403,1
    - Dst: pcpp::MultipleStpLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:403,1
    - Dst: pcpp::MultipleStpLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:403,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:404,1
    - Dst: pcpp::MultipleStpLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:404,1
    - Dst: pcpp::MultipleStpLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:404,1
    - Dst: pcpp::MultipleStpLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 405
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::MultipleStpLayer*::getData
    - pcpp::MultipleStpLayer::setTransmissionInterval
    - pcpp::MultipleStpLayer*::getDataLen
    - pcpp::MultipleStpLayer::setCISTIrpc
    - pcpp::MultipleStpLayer::setVersion
    - pcpp::MultipleStpLayer::getData
    - pcpp::MultipleStpLayer::getDataLen
    - auto::get
    - string
    - pcpp::MultipleStpLayer::MultipleStpLayer
    - pcpp::MultipleStpLayer::setRootId
    - pcpp::MultipleStpLayer::setPortId
    - PTF_ASSERT_TRUE
    - pcpp::MultipleStpLayer::setMessageAge
    - pcpp::MultipleStpLayer::setPathCost
    - pcpp::MultipleStpLayer::setMstConfigRevision
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::MultipleStpLayer::setCISTBridgeId
    - pcpp::MultipleStpLayer::setFlag
    - pcpp::MultipleStpLayer::setMaximumAge
    - createPacketFromHexResource
    - pcpp::MultipleStpLayer::setMstConfigurationName
    - pcpp::MultipleStpLayer::setProtoId
    - pcpp::MultipleStpLayer::setForwardDelay
    - pcpp::MultipleStpLayer::setVersion3Len
    - pcpp::MultipleStpLayer::setMstConfigurationFormatSelector
    - PTF_ASSERT_NOT_NULL
    - pcpp::MultipleStpLayer::setType
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::MultipleStpLayer::setRemainingHopCount
    - pcpp::MultipleStpLayer::setBridgeId
    - pcpp::MultipleStpLayer::setVersion1Len
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(MultipleStpCreationTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:410,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:412,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:413,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:414,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:414,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:417,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:418,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:419,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:419,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:421,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:422,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:424,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:425,1
    - Dst: pcpp::MultipleStpLayer*::setVersion3Len
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:428,1
    - Dst: pcpp::MultipleStpLayer*::setMstConfigurationFormatSelector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:430,1
    - Dst: pcpp::MultipleStpLayer*::setMstConfigurationName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:431,1
    - Dst: pcpp::MultipleStpLayer*::setMstConfigRevision
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:432,1
    - Dst: pcpp::MultipleStpLayer*::setCISTIrpc
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:433,1
    - Dst: pcpp::MultipleStpLayer*::setCISTBridgeId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:434,1
    - Dst: pcpp::MultipleStpLayer*::setRemainingHopCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:435,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:437,1
    - Dst: pcpp::MultipleStpLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:437,1
    - Dst: pcpp::RapidStpLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:437,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:438,1
    - Dst: pcpp::MultipleStpLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:438,1
    - Dst: pcpp::RapidStpLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:438,1
    - Dst: pcpp::RapidStpLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:439,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:441,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:442,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:443,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:443,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:446,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:447,1
    - Dst: pcpp::MultipleStpLayer*::setCISTBridgePriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:449,1
    - Dst: pcpp::MultipleStpLayer*::setCISTBridgeSystemIDExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:450,1
    - Dst: pcpp::MultipleStpLayer*::setCISTBridgeSystemID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:451,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:453,1
    - Dst: pcpp::MultipleStpLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:453,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:453,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:454,1
    - Dst: pcpp::MultipleStpLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:454,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:454,1
    - Dst: pcpp::StpConfigurationBPDULayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 456
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::MultipleStpLayer*::setCISTBridgeSystemID
    - pcpp::MultipleStpLayer*::setVersion3Len
    - pcpp::MultipleStpLayer*::setMstConfigRevision
    - pcpp::MultipleStpLayer*::getData
    - pcpp::StpConfigurationBPDULayer*::getDataLen
    - pcpp::RapidStpLayer*::getData
    - pcpp::MultipleStpLayer*::getDataLen
    - pcpp::MultipleStpLayer*::setCISTBridgePriority
    - auto::get
    - PTF_ASSERT_TRUE
    - pcpp::MultipleStpLayer*::setMstConfigurationName
    - pcpp::MultipleStpLayer*::setCISTBridgeSystemIDExtension
    - pcpp::Packet::isPacketOfType
    - pcpp::MultipleStpLayer*::setRemainingHopCount
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::MultipleStpLayer*::setCISTBridgeId
    - pcpp::RapidStpLayer*::getDataLen
    - createPacketFromHexResource
    - pcpp::StpConfigurationBPDULayer*::getData
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::MultipleStpLayer*::setCISTIrpc
    - pcpp::MultipleStpLayer*::setMstConfigurationFormatSelector
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(MultipleStpEditTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:11,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:12,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:13,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:15,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:16,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:17,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:19,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:19,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:20,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:20,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:21,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:21,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:22,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:22,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:23,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:23,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:24,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:24,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:25,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:25,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:26,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:26,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:28,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:30,1
    - Dst: pcpp::AuthenticationHeaderLayer*::getSPI
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:31,1
    - Dst: pcpp::AuthenticationHeaderLayer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:32,1
    - Dst: pcpp::AuthenticationHeaderLayer*::getICVLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:32,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:33,1
    - Dst: pcpp::AuthenticationHeaderLayer*::getICVHexStream
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:33,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:34,1
    - Dst: pcpp::AuthenticationHeaderLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:34,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:35,1
    - Dst: pcpp::AuthenticationHeaderLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:36,1
    - Dst: pcpp::AuthenticationHeaderLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:36,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:38,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:40,1
    - Dst: pcpp::ESPLayer*::getSPI
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:41,1
    - Dst: pcpp::ESPLayer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:41,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:42,1
    - Dst: pcpp::ESPLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:43,1
    - Dst: pcpp::ESPLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:44,1
    - Dst: pcpp::ESPLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:44,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:46,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:48,1
    - Dst: pcpp::AuthenticationHeaderLayer*::getSPI
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:48,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:49,1
    - Dst: pcpp::AuthenticationHeaderLayer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:49,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:50,1
    - Dst: pcpp::AuthenticationHeaderLayer*::getICVLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:50,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:51,1
    - Dst: pcpp::AuthenticationHeaderLayer*::getICVHexStream
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:52,1
    - Dst: pcpp::AuthenticationHeaderLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:52,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:53,1
    - Dst: pcpp::AuthenticationHeaderLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:53,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:55,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:56,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:57,1
    - Dst: pcpp::ESPLayer*::getSPI
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:57,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:58,1
    - Dst: pcpp::ESPLayer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 9
    functionDepth: 2
    functionLinenumber: 9
    functionLinenumberEnd: 59
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::ESPLayer*::getSPI
    - pcpp::AuthenticationHeaderLayer*::getNextLayer
    - pcpp::AuthenticationHeaderLayer*::getHeaderLen
    - pcpp::AuthenticationHeaderLayer*::getICVLength
    - auto::get
    - pcpp::AuthenticationHeaderLayer*::toString
    - pcpp::AuthenticationHeaderLayer*::getSequenceNumber
    - PTF_ASSERT_TRUE
    - pcpp::ESPLayer*::toString
    - pcpp::ESPLayer*::getNextLayer
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - createPacketFromHexResource
    - pcpp::ESPLayer*::getSequenceNumber
    - pcpp::ESPLayer*::getHeaderLen
    - PTF_ASSERT_NOT_NULL
    - pcpp::AuthenticationHeaderLayer*::getSPI
    - pcpp::AuthenticationHeaderLayer*::getICVHexStream
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(IPSecParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:15,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:17,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:18,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:18,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:19,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:20,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:22,1
    - Dst: pcpp::DhcpLayer*::getOpCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:22,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:23,1
    - Dst: pcpp::DhcpLayer*::getDhcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:23,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:24,1
    - Dst: pcpp::DhcpLayer*::getDhcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:24,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:25,1
    - Dst: pcpp::DhcpLayer*::getDhcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:25,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:25,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:26,1
    - Dst: pcpp::DhcpLayer*::getClientIpAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:26,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:27,1
    - Dst: pcpp::DhcpLayer*::getYourIpAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:27,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:28,1
    - Dst: pcpp::DhcpLayer*::getServerIpAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:28,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:29,1
    - Dst: pcpp::DhcpLayer*::getGatewayIpAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:29,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:30,1
    - Dst: pcpp::DhcpLayer*::getClientHardwareAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:30,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:30,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:32,1
    - Dst: pcpp::DhcpLayer*::getOptionsCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:32,1
    - Dst: pcpp::DhcpLayer*::getFirstOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:33,1
    - Dst: pcpp::DhcpLayer*::getOptionsCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:49,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:51,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:52,1
    - Dst: pcpp::DhcpOption::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:52,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:53,1
    - Dst: pcpp::DhcpOption::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:53,1
    - Dst: pcpp::DhcpLayer*::getNextOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:54,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:57,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:57,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:59,1
    - Dst: pcpp::DhcpLayer*::getOptionsCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:60,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:62,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:63,1
    - Dst: pcpp::DhcpLayer*::getOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:63,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:66,1
    - Dst: pcpp::DhcpLayer*::getOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:66,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:67,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:68,1
    - Dst: pcpp::DhcpLayer*::getOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:68,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:70,1
    - Dst: pcpp::DhcpLayer*::getOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:70,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:70,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:71,1
    - Dst: pcpp::DhcpLayer*::getOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:71,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:73,1
    - Dst: pcpp::DhcpLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:73,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:75,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:77,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:79,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:80,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:82,1
    - Dst: pcpp::DhcpLayer*::getOpCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:83,1
    - Dst: pcpp::DhcpLayer*::getDhcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:83,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:84,1
    - Dst: pcpp::DhcpLayer*::getClientIpAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:84,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:85,1
    - Dst: pcpp::DhcpLayer*::getYourIpAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:85,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:86,1
    - Dst: pcpp::DhcpLayer*::getServerIpAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:87,1
    - Dst: pcpp::DhcpLayer*::getGatewayIpAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:87,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:88,1
    - Dst: pcpp::DhcpLayer*::getClientHardwareAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:88,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:88,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:90,1
    - Dst: pcpp::DhcpLayer*::getOptionsCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:90,1
    - Dst: pcpp::DhcpLayer*::getFirstOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:91,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:104,1
    - Dst: pcpp::DhcpLayer*::getOptionsCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:105,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:107,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:108,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:108,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:109,1
    - Dst: pcpp::DhcpOption::getType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:109,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:110,1
    - Dst: pcpp::DhcpOption::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:110,1
    - Dst: pcpp::DhcpLayer*::getNextOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:111,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:114,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:114,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:116,1
    - Dst: pcpp::DhcpLayer*::getOptionsCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:117,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:119,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:120,1
    - Dst: pcpp::DhcpLayer*::getOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:120,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:123,1
    - Dst: pcpp::DhcpLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 124
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DhcpLayer*::getClientIpAddress
    - be32toh
    - pcpp::DhcpOption::getType
    - pcpp::DhcpLayer*::getOpCode
    - htobe32
    - pcpp::DhcpOption::isNull
    - pcpp::DhcpLayer*::getClientHardwareAddress
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - string
    - pcpp::DhcpLayer*::getMessageType
    - PTF_ASSERT_TRUE
    - pcpp::DhcpLayer*::getGatewayIpAddress
    - pcpp::DhcpOption::getDataSize
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::DhcpLayer*::getServerIpAddress
    - pcpp::Packet::getLayerOfType
    - be16toh
    - pcpp::DhcpLayer*::getOptionsCount
    - createPacketFromHexResource
    - PTF_PRINT_VERBOSE
    - PTF_ASSERT_NOT_NULL
    - pcpp::DhcpLayer*::getDhcpHeader
    - PTF_ASSERT_FALSE
    - pcpp::DhcpLayer*::getOptionData
    - pcpp::StpLayer::IDtoMacAddress
    - pcpp::DhcpLayer*::getYourIpAddress
    - pcpp::DhcpLayer*::getNextOptionData
    - pcpp::DhcpLayer*::getFirstOptionData
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DhcpParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:128,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:128,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:133,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:133,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:134,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:138,1
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:140,1
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:141,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:141,1
    - Dst: pcpp::DhcpLayer::getDhcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:142,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:142,1
    - Dst: pcpp::DhcpLayer::setYourIpAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:146,1
    - Dst: pcpp::DhcpLayer::setServerIpAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:147,1
    - Dst: pcpp::DhcpLayer::setGatewayIpAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:148,1
    - Dst: pcpp::DhcpLayer::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:151,1
    - Dst: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:151,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:151,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:152,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:152,1
    - Dst: pcpp::DhcpLayer::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:156,1
    - Dst: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:156,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:157,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:157,1
    - Dst: pcpp::DhcpLayer::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:162,1
    - Dst: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:162,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:163,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:163,1
    - Dst: pcpp::DhcpLayer::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:165,1
    - Dst: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:166,1
    - Dst: pcpp::DhcpOption::setValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:167,1
    - Dst: pcpp::DhcpOption::setValueString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:168,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:169,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:169,1
    - Dst: pcpp::DhcpLayer::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:174,1
    - Dst: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:175,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:176,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:176,1
    - Dst: pcpp::DhcpLayer::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:178,1
    - Dst: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:179,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:179,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:181,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:181,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:184,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:184,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:185,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:185,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:186,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:186,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:187,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:187,1
    - Dst: pcpp::DhcpLayer::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:190,1
    - Dst: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:190,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:190,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:192,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:192,1
    - Dst: pcpp::DhcpLayer::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:194,1
    - Dst: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:195,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:195,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:196,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:196,1
    - Dst: pcpp::DhcpLayer::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:198,1
    - Dst: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:199,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:200,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:200,1
    - Dst: pcpp::DhcpOption::setValueIpAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:203,1
    - Dst: pcpp::DhcpOption::setValueIpAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:204,1
    - Dst: pcpp::DhcpLayer::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:206,1
    - Dst: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:207,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:208,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:208,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:210,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:212,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:214,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:214,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:214,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:215,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:215,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:215,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 216
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp
    functionUses: 1
    functionsReached:
    - auto::data
    - htobe16
    - htobe32
    - pcpp::DhcpOption::isNull
    - pcpp::DhcpOption::setValueString
    - pcpp::Packet::addLayer
    - pcpp::DhcpLayer::setYourIpAddress
    - string
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::DhcpLayer::addOption
    - PTF_ASSERT_TRUE
    - pcpp::DhcpLayer::addOptionAfter
    - PTF_ASSERT_EQUAL
    - auto::size
    - pcpp::DhcpLayer::getDhcpHeader
    - pcpp::DhcpLayer::setGatewayIpAddress
    - pcpp::DhcpLayer::setServerIpAddress
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::DhcpOption::setValue
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp_tests::loadHexResourceToVector
    - pcpp::DhcpOption::setValueIpAddr
    - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DhcpCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:222,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:224,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:226,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:228,1
    - Dst: pcpp::DhcpLayer*::removeOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:228,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:230,1
    - Dst: pcpp::DhcpLayer*::removeOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:230,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:232,1
    - Dst: pcpp::DhcpLayer*::removeOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:232,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:234,1
    - Dst: pcpp::DhcpLayer*::removeOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:234,1
    - Dst: pcpp::DhcpLayer*::getOptionData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:236,1
    - Dst: pcpp::DhcpOption::setValueIpAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:238,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:240,1
    - Dst: pcpp::DhcpLayer*::setMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:240,1
    - Dst: pcpp::DhcpLayer*::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:245,1
    - Dst: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:245,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:246,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:246,1
    - Dst: pcpp::DhcpLayer*::addOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:248,1
    - Dst: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:248,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:250,1
    - Dst: pcpp::DhcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:250,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:252,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:254,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:256,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:256,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:256,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:257,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:257,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:257,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:257,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:259,1
    - Dst: pcpp::DhcpLayer*::removeAllOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:259,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:261,1
    - Dst: pcpp::DhcpLayer*::getOptionsCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:261,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:263,1
    - Dst: pcpp::DhcpLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:263,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:265,1
    - Dst: pcpp::DhcpLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:265,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:267,1
    - Dst: pcpp::DhcpLayer*::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:267,1
    - Dst: pcpp::DhcpOptionBuilder::DhcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:267,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:269,1
    - Dst: pcpp::DhcpLayer*::setMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:269,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:271,1
    - Dst: pcpp::DhcpLayer*::setMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:271,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:273,1
    - Dst: pcpp::DhcpLayer*::getOptionsCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:273,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:275,1
    - Dst: pcpp::DhcpLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:275,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:277,1
    - Dst: pcpp::DhcpLayer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:277,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 280
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp
    functionUses: 1
    functionsReached:
    - auto::data
    - pcpp::DhcpOption::isNull
    - pcpp::DhcpLayer*::removeAllOptions
    - pcpp::DhcpLayer*::setMessageType
    - pcpp::DhcpLayer*::getMessageType
    - auto::get
    - pcpp::DhcpLayer*::addOption
    - PTF_ASSERT_TRUE
    - pcpp::DhcpLayer*::removeOption
    - pcpp::DhcpLayer*::getDataLen
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::size
    - pcpp::DhcpLayer*::getOptionsCount
    - createPacketFromHexResource
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::DhcpLayer*::addOptionAfter
    - PTF_ASSERT_FALSE
    - pcpp::DhcpLayer*::getOptionData
    - PTF_ASSERT_BUF_COMPARE
    - pcpp_tests::loadHexResourceToVector
    - pcpp::DhcpOption::setValueIpAddr
    - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(DhcpEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:19,1
    - Dst: pcpp::HttpRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:19,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:21,1
    - Dst: pcpp::HttpRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:21,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:21,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:24,1
    - Dst: pcpp::HttpRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:24,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:24,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:42,1
    - Dst: pcpp::HttpRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:42,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:42,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:46,1
    - Dst: pcpp::HttpRequestFirstLine::parseMethod
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:46,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 48
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp
    functionUses: 1
    functionsReached:
    - std::string::length
    - PTF_ASSERT_EQUAL
    - string
    - std::string::c_str
    - pcpp::HttpRequestFirstLine::parseMethod
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(HttpRequestParseMethodTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:54,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:56,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:58,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:58,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:59,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:59,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:60,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:61,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:63,1
    - Dst: pcpp::HttpRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:63,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:64,1
    - Dst: pcpp::HttpRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:64,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:65,1
    - Dst: pcpp::HttpRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:65,1
    - Dst: pcpp::HttpRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:67,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:68,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:69,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:71,1
    - Dst: pcpp::HttpRequestLayer*::getUrl
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:71,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:73,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:74,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:76,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:76,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:77,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:78,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:80,1
    - Dst: pcpp::HttpRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:80,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:81,1
    - Dst: pcpp::HttpRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:81,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:82,1
    - Dst: pcpp::HttpRequestLayer*::getUrl
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:82,1
    - Dst: pcpp::HttpRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:84,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:85,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:86,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:86,1
    - Dst: pcpp::HttpRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:88,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:89,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:90,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:90,1
    - Dst: pcpp::HttpRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:92,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:93,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:95,1
    - Dst: pcpp::HttpRequestLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:95,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:96,1
    - Dst: pcpp::HttpRequestLayer*::isHeaderComplete
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::HttpRequestLayer*::getFieldCount
    - pcpp::HttpRequestLayer*::getFieldByName
    - pcpp::HttpRequestLayer*::isHeaderComplete
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::get
    - PTF_ASSERT_NOT_NULL
    - pcpp::HeaderField*::getFieldValue
    - PTF_ASSERT_FALSE
    - createPacketFromHexResource
    - PTF_ASSERT_TRUE
    - pcpp::HttpRequestLayer*::getFirstLine
    - pcpp::HttpRequestLayer*::getUrl
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(HttpRequestLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:101,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:105,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:107,1
    - Dst: pcpp::IPv4Layer::IPv4Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:108,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:109,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:110,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:113,1
    - Dst: pcpp::HttpRequestLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:113,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:115,1
    - Dst: pcpp::HttpRequestLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:115,1
    - Dst: pcpp::HttpRequestLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:116,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:117,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:118,1
    - Dst: pcpp::HttpRequestLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:118,1
    - Dst: pcpp::HttpRequestLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:119,1
    - Dst: pcpp::HttpRequestLayer::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:122,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:123,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:124,1
    - Dst: pcpp::HttpRequestLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:124,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:125,1
    - Dst: pcpp::HttpRequestLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:125,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:126,1
    - Dst: pcpp::HttpRequestLayer::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:126,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:128,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:129,1
    - Dst: pcpp::HttpRequestLayer::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:129,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:131,1
    - Dst: pcpp::HttpRequestLayer::addEndOfHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:131,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:132,1
    - Dst: pcpp::HttpRequestLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:132,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:134,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:135,1
    - Dst: pcpp::HttpRequestLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:135,1
    - Dst: pcpp::HeaderField*::setFieldValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:137,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:140,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:140,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:141,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:141,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:142,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:142,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:143,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:143,1
    - Dst: pcpp::HeaderField*::setFieldValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:145,1
    - Dst: pcpp::HttpRequestLayer::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:146,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:147,1
    - Dst: pcpp::HttpRequestLayer::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:147,1
    - Dst: pcpp::HttpRequestLayer::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:148,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:149,1
    - Dst: pcpp::HttpRequestLayer::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:149,1
    - Dst: pcpp::HttpRequestLayer::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:150,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:151,1
    - Dst: pcpp::HttpRequestLayer::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:151,1
    - Dst: pcpp::HeaderField*::setFieldValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:152,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:155,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:157,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:157,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:158,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:158,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 160
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4Layer::IPv4Layer
    - pcpp::HttpRequestLayer::addField
    - pcpp::HttpRequestLayer::removeField
    - pcpp::Packet::addLayer
    - SuppressLogs::SuppressLogs
    - pcpp::HttpRequestLayer::insertField
    - pcpp::HeaderField*::setFieldValue
    - get
    - PTF_ASSERT_TRUE
    - pcpp::HttpRequestLayer::addEndOfHeader
    - PTF_ASSERT_EQUAL
    - pcpp::HttpRequestLayer::getFirstLine
    - pcpp::Packet::getLayerOfType
    - data::get
    - createPacketAndBufferFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(HttpRequestLayerCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:164,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:166,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:168,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:169,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:169,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:171,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:172,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:172,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:173,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:173,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:174,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:174,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:175,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:175,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:177,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:178,1
    - Dst: pcpp::HttpRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:179,1
    - Dst: pcpp::HttpRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:180,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:181,1
    - Dst: pcpp::HeaderField*::setFieldValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:182,1
    - Dst: pcpp::HttpRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:183,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:184,1
    - Dst: pcpp::HttpRequestLayer*::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:185,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:187,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:189,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:189,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:189,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:191,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:193,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:193,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:193,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 194
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp
    functionUses: 1
    functionsReached:
    - auto::data
    - htobe16
    - htobe32
    - pcpp::IPv4Layer*::getIPv4Header
    - pcpp::HttpRequestLayer*::insertField
    - auto::get
    - pcpp::HeaderField*::setFieldValue
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::size
    - createPacketFromHexResource
    - pcpp::HttpRequestLayer*::getFirstLine
    - pcpp::Packet::computeCalculateFields
    - pcpp::HttpRequestLayer*::getFieldByName
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    - pcpp_tests::loadHexResourceToVector
    - pcpp::TcpLayer*::getTcpHeader
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(HttpRequestLayerEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:198,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:198,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:200,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:200,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:200,1
    - Dst: toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:291,1
    - Dst: getMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:291,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:292,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:292,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:292,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:292,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:296,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:297,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:297,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:299,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:300,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:300,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:302,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:303,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:303,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:305,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:306,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:306,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:308,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:309,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:309,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:311,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:312,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:312,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:314,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:315,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:315,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:319,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:320,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:320,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:321,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:322,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:322,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:327,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:327,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:327,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:327,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:331,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:331,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:331,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:331,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:335,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:335,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:335,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:335,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:339,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:339,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:339,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:339,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:343,1
    - Dst: pcpp::HttpResponseFirstLine::parseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:343,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:343,1
    - Dst: std::string::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 345
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp
    functionUses: 1
    functionsReached:
    - std::string::length
    - toString
    - PTF_ASSERT_EQUAL
    - string
    - pcpp::HttpResponseFirstLine::parseStatusCode
    - std::string::c_str
    - getMessage
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(HttpResponseParseStatusCodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:349,1
    - Dst: pcpp::HttpResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:349,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:351,1
    - Dst: pcpp::HttpResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:351,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:351,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:354,1
    - Dst: pcpp::HttpResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:354,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:354,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:356,1
    - Dst: pcpp::HttpResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:356,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:356,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:358,1
    - Dst: pcpp::HttpResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:358,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:358,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:360,1
    - Dst: pcpp::HttpResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:360,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:360,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:362,1
    - Dst: pcpp::HttpResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:362,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:362,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:374,1
    - Dst: pcpp::HttpResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:374,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:374,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:374,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:378,1
    - Dst: pcpp::HttpResponseFirstLine::parseVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:378,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 380
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp
    functionUses: 1
    functionsReached:
    - std::string::length
    - PTF_ASSERT_EQUAL
    - string
    - std::string::c_str
    - pcpp::HttpResponseFirstLine::parseVersion
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(HttpResponseParseVersionTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:386,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:388,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:390,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:390,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:391,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:391,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:392,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:393,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:395,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:395,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:396,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:396,1
    - Dst: pcpp::HttpResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:398,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:399,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:400,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:400,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:401,1
    - Dst: pcpp::HttpResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:403,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:404,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:405,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 406
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::HttpResponseLayer*::getFieldByName
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::HttpResponseLayer*::getFirstLine
    - pcpp::Packet::getLayerOfType
    - auto::get
    - PTF_ASSERT_NOT_NULL
    - pcpp::HeaderField*::getFieldValue
    - createPacketFromHexResource
    - atoi
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(HttpResponseLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:410,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:414,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:416,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:417,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:418,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:421,1
    - Dst: pcpp::HttpResponseLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:421,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:423,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:424,1
    - Dst: pcpp::HttpResponseLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:424,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:426,1
    - Dst: pcpp::HttpResponseLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:426,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:427,1
    - Dst: pcpp::HttpResponseLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:427,1
    - Dst: pcpp::HttpResponseLayer::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:427,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:429,1
    - Dst: pcpp::HttpResponseLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:430,1
    - Dst: pcpp::HttpResponseLayer::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:430,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:431,1
    - Dst: pcpp::HttpResponseLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:431,1
    - Dst: pcpp::HttpResponseLayer::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:431,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:432,1
    - Dst: pcpp::HttpResponseLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:432,1
    - Dst: pcpp::HttpResponseLayer::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:432,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:434,1
    - Dst: pcpp::HttpResponseLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:435,1
    - Dst: pcpp::HttpResponseLayer::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:435,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:436,1
    - Dst: pcpp::HttpResponseLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:436,1
    - Dst: pcpp::HttpResponseLayer::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:436,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:437,1
    - Dst: pcpp::HttpResponseLayer::setContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:437,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:438,1
    - Dst: pcpp::HttpResponseLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:438,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:439,1
    - Dst: pcpp::HttpResponseLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:439,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:440,1
    - Dst: pcpp::HttpResponseLayer::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:440,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:443,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:443,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:444,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:444,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:445,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:445,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:446,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:446,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:448,1
    - Dst: pcpp::PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:448,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:449,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:449,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:451,1
    - Dst: pcpp::HttpResponseLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:451,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:452,1
    - Dst: pcpp::HttpResponseLayer::addEndOfHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:452,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:453,1
    - Dst: pcpp::HttpResponseLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:453,1
    - Dst: pcpp::HttpResponseLayer::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:453,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:456,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:457,1
    - Dst: pcpp::HttpResponseLayer::addField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:457,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:459,1
    - Dst: pcpp::HttpResponseLayer::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:460,1
    - Dst: pcpp::HttpResponseLayer::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:460,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:462,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:463,1
    - Dst: pcpp::HttpResponseLayer::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:463,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:465,1
    - Dst: pcpp::HttpResponseLayer::removeField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:465,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:467,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:469,1
    - Dst: pcpp::HttpResponseLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:469,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:471,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:471,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:471,1
    - Dst: pcpp::EthLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:472,1
    - Dst: pcpp::IPv4Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:472,1
    - Dst: pcpp::TcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:472,1
    - Dst: pcpp::HttpResponseLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 475
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4Layer::getHeaderLen
    - pcpp::PayloadLayer::PayloadLayer
    - pcpp::Packet::addLayer
    - SuppressLogs::SuppressLogs
    - pcpp::TcpLayer::getHeaderLen
    - get
    - PTF_ASSERT_TRUE
    - pcpp::HttpResponseLayer::getFieldByName
    - pcpp::HttpResponseLayer::addEndOfHeader
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - data::get
    - pcpp::HttpResponseLayer::removeField
    - createPacketAndBufferFromHexResource
    - pcpp::HttpResponseLayer::addField
    - PTF_ASSERT_NULL
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::HttpResponseLayer::getHeaderLen
    - PTF_ASSERT_NOT_NULL
    - pcpp::EthLayer::getHeaderLen
    - PTF_ASSERT_FALSE
    - pcpp::HttpResponseLayer::insertField
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::HttpResponseLayer::setContentLength
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(HttpResponseLayerCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:479,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:481,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:483,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:483,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:484,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:485,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:487,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:487,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:488,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:491,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:492,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:493,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:493,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:495,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:495,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:497,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:497,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:498,1
    - Dst: pcpp::HttpResponseLayer*::setContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:498,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:502,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:502,1
    - Dst: pcpp::HttpResponseLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:502,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:502,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:504,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:504,1
    - Dst: pcpp::HttpResponseStatusCode::HttpResponseStatusCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:505,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:506,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:506,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:507,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:507,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:510,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:510,1
    - Dst: pcpp::HttpResponseLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:510,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 511
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp
    functionUses: 1
    functionsReached:
    - std::string::length
    - pcpp::Packet::isPacketOfType
    - pcpp::HttpResponseLayer*::getFirstLine
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::get
    - PTF_ASSERT_NOT_NULL
    - pcpp::HttpResponseLayer*::getData
    - createPacketFromHexResource
    - pcpp::HttpResponseLayer*::setContentLength
    - PTF_ASSERT_BUF_COMPARE
    - std::string::c_str
    - PTF_ASSERT_TRUE
    - pcpp::HttpResponseStatusCode::HttpResponseStatusCode
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(HttpResponseLayerEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:516,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:518,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:520,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:521,1
    - Dst: pcpp::HttpResponseLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:521,1
    - Dst: pcpp::HttpResponseLayer*::getFirstField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:531,1
    - Dst: pcpp::HeaderField*::isEndOfHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:531,1
    - Dst: pcpp::HttpResponseLayer*::getNextField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:532,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:534,1
    - Dst: pcpp::HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:534,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:535,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 538
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::HeaderField*::getFieldName
    - pcpp::HttpResponseLayer*::getFieldCount
    - pcpp::HeaderField*::isEndOfHeader
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::get
    - pcpp::HeaderField*::getFieldValue
    - pcpp::HttpResponseLayer*::getFirstField
    - createPacketFromHexResource
    - pcpp::HttpResponseLayer*::getNextField
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(HttpMalformedResponseTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:19,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:20,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:21,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:22,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:24,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:25,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:26,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:27,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:30,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:30,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:31,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:31,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:32,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:33,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:35,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:36,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:37,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:37,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:38,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:38,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:39,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:39,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:42,1
    - Dst: pcpp::GtpV1Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:43,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:46,1
    - Dst: pcpp::GtpV1Layer*::getNpduNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:46,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:49,1
    - Dst: pcpp::GtpV1Layer*::getNextExtensionHeaderType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:49,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:51,1
    - Dst: pcpp::GtpV1Layer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:52,1
    - Dst: pcpp::GtpV1Layer*::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:52,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:54,1
    - Dst: pcpp::GtpV1Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:54,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:55,1
    - Dst: pcpp::GtpV1Layer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:55,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:57,1
    - Dst: pcpp::GtpV1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:57,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:58,1
    - Dst: pcpp::GtpV1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:58,1
    - Dst: dynamic_cast<pcpp::IPv4Layer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:59,1
    - Dst: pcpp::GtpV1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:59,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:60,1
    - Dst: pcpp::IPv4Layer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:60,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:61,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:61,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:62,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:62,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:64,1
    - Dst: pcpp::GtpV1Layer*::isGTPCMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:64,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:65,1
    - Dst: pcpp::GtpV1Layer*::isGTPUMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:65,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:68,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:69,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:71,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:71,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:72,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:72,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:72,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:73,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:73,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:73,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:74,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:74,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:76,1
    - Dst: pcpp::GtpV1Layer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:76,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:77,1
    - Dst: pcpp::GtpV1Layer*::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:77,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:79,1
    - Dst: pcpp::GtpV1Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:79,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:80,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:82,1
    - Dst: pcpp::GtpV1Layer*::getNpduNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:82,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:84,1
    - Dst: pcpp::GtpV1Layer*::getNextExtensionHeaderType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:84,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:85,1
    - Dst: pcpp::GtpV1Layer*::getNextExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:87,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:88,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:89,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getExtensionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:89,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:90,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:90,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:91,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:91,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:92,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getNextExtensionHeaderType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:92,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:93,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getNextExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:93,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:95,1
    - Dst: pcpp::GtpV1Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:95,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:96,1
    - Dst: pcpp::GtpV1Layer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:96,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:98,1
    - Dst: pcpp::GtpV1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:98,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:99,1
    - Dst: pcpp::GtpV1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:99,1
    - Dst: dynamic_cast<pcpp::IPv4Layer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:100,1
    - Dst: pcpp::GtpV1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:100,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:101,1
    - Dst: pcpp::IPv4Layer*::getDstIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:101,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:102,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:103,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:103,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:105,1
    - Dst: pcpp::GtpV1Layer*::isGTPCMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:105,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:106,1
    - Dst: pcpp::GtpV1Layer*::isGTPUMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:106,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:109,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:110,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:112,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:112,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:113,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:113,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:114,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:114,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:114,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:115,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:115,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:116,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:118,1
    - Dst: pcpp::GtpV1Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:118,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:119,1
    - Dst: pcpp::GtpV1Layer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:119,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:121,1
    - Dst: pcpp::GtpV1Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:121,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:122,1
    - Dst: pcpp::GtpV1Layer*::getNpduNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:122,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:123,1
    - Dst: pcpp::GtpV1Layer*::getNextExtensionHeaderType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:123,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:125,1
    - Dst: pcpp::GtpV1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:125,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:126,1
    - Dst: pcpp::GtpV1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:126,1
    - Dst: dynamic_cast<pcpp::IPv6Layer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:127,1
    - Dst: pcpp::GtpV1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:127,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:128,1
    - Dst: pcpp::IPv6Layer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:128,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:128,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:129,1
    - Dst: pcpp::IPv6Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:129,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:130,1
    - Dst: pcpp::IPv6Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:130,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:132,1
    - Dst: pcpp::GtpV1Layer*::isGTPCMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:132,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:133,1
    - Dst: pcpp::GtpV1Layer*::isGTPUMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:133,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:136,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:136,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:137,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:137,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:138,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:139,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:141,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:141,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:142,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:142,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:143,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:143,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:143,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:144,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:144,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:146,1
    - Dst: pcpp::GtpV1Layer*::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:146,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:147,1
    - Dst: pcpp::GtpV1Layer*::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:147,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:149,1
    - Dst: pcpp::GtpV1Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:149,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:150,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:152,1
    - Dst: pcpp::GtpV1Layer*::getNpduNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:152,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:154,1
    - Dst: pcpp::GtpV1Layer*::getNextExtensionHeaderType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:154,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:156,1
    - Dst: pcpp::GtpV1Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:156,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:158,1
    - Dst: pcpp::GtpV1Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:158,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:159,1
    - Dst: pcpp::GtpV1Layer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:159,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:161,1
    - Dst: pcpp::GtpV1Layer*::isGTPCMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:161,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:162,1
    - Dst: pcpp::GtpV1Layer*::isGTPUMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 163
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::GtpV1Layer::GtpExtension::getNextExtensionHeaderType
    - pcpp::GtpV1Layer::GtpExtension::getExtensionType
    - pcpp::GtpV1Layer*::getHeader
    - pcpp::GtpV1Layer*::getMessageTypeAsString
    - be32toh
    - pcpp::GtpV1Layer*::getNextLayer
    - pcpp::IPv6Layer*::getNextLayer
    - dynamic_cast<pcpp::IPv6Layer*>
    - pcpp::GtpV1Layer::GtpExtension::getTotalLength
    - pcpp::GtpV1Layer::GtpExtension::getNextExtension
    - pcpp::GtpV1Layer*::getMessageType
    - pcpp::GtpV1Layer::GtpExtension::getContentLength
    - pcpp::IPv4Layer*::getNextLayer
    - pcpp::GtpV1Layer*::getHeaderLen
    - pcpp::GtpV1Layer::GtpExtension::isNull
    - auto::get
    - PTF_ASSERT_TRUE
    - dynamic_cast<pcpp::IPv4Layer*>
    - pcpp::IPv4Layer*::getSrcIPAddress
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - pcpp::GtpV1Layer*::getNextExtensionHeaderType
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::GtpV1Layer*::isGTPUMessage
    - pcpp::GtpV1Layer*::getNextExtension
    - pcpp::Packet::getLayerOfType
    - pcpp::GtpV1Layer*::toString
    - pcpp::GtpV1Layer*::getSequenceNumber
    - be16toh
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::IPv4Layer*::getDstIPAddress
    - pcpp::GtpV1Layer*::getNpduNumber
    - PTF_ASSERT_NOT_NULL
    - pcpp::IPv6Layer*::getSrcIPAddress
    - PTF_ASSERT_FALSE
    - pcpp::GtpV1Layer*::isGTPCMessage
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(GtpV1LayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:168,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:172,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:176,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:180,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:182,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:183,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:184,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:187,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:187,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:188,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:190,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:191,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:191,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:192,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:192,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:193,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:193,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:194,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:194,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:195,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:195,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:196,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:196,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:197,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:199,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:199,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:200,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:200,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:200,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:201,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:203,1
    - Dst: pcpp::GtpV1Layer*::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:205,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:206,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:206,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:207,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getExtensionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:207,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:208,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:208,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:209,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:209,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:210,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getContent
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:210,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:211,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:211,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:212,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getNextExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:212,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:214,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:216,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:216,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:217,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:217,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:217,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:218,1
    - Dst: pcpp::GtpV1Layer*::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:220,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:221,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:221,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:222,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getExtensionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:222,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:223,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getTotalLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:223,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:224,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getContentLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:224,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:225,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getContent
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:225,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:226,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:226,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:227,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getNextExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:227,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:229,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:231,1
    - Dst: pcpp::GtpV1Layer*::getNextExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:231,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:232,1
    - Dst: pcpp::GtpV1Layer*::getNextExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:232,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:233,1
    - Dst: pcpp::GtpV1Layer*::getNextExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:233,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:235,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:235,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:236,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:236,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:236,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:237,1
    - Dst: std::unique_ptr<pcpp::GtpV1Layer>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:242,1
    - Dst: pcpp::GtpV1Layer::GtpV1Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:243,1
    - Dst: auto::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:244,1
    - Dst: auto::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 247
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::GtpV1Layer::GtpExtension::getExtensionType
    - pcpp::Packet::getNextLayerOfType
    - pcpp::GtpV1Layer::GtpExtension::getTotalLength
    - pcpp::GtpV1Layer::GtpExtension::getNextExtension
    - pcpp::Packet::addLayer
    - pcpp::GtpV1Layer::GtpExtension::getContentLength
    - auto::getHeader
    - pcpp::GtpV1Layer::GtpExtension::isNull
    - pcpp::GtpV1Layer::GtpV1Layer
    - get
    - PTF_ASSERT_TRUE
    - pcpp::Packet::Packet
    - pcpp::GtpV1Layer::GtpExtension::getContent
    - PTF_ASSERT_EQUAL
    - pcpp::GtpV1Layer*::getNextExtension
    - pcpp::Packet::getLayerOfType
    - data::get
    - reinterpret_cast<uint16_t*>
    - be16toh
    - createPacketAndBufferFromHexResource
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::GtpV1Layer*::addExtension
    - auto::addExtension
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    - std::unique_ptr<pcpp::GtpV1Layer>
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(GtpV1LayerCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:251,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:252,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:254,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:256,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:256,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:257,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:257,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:258,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:259,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:261,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:262,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:264,1
    - Dst: pcpp::GtpV1Layer*::setSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:266,1
    - Dst: pcpp::GtpV1Layer*::setNpduNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:267,1
    - Dst: pcpp::GtpV1Layer*::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:268,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:271,1
    - Dst: pcpp::GtpV1Layer*::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:271,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:272,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:275,1
    - Dst: pcpp::GtpV1Layer*::getNpduNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:275,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:276,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:279,1
    - Dst: pcpp::GtpV1Layer*::getNextExtensionHeaderType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:279,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:280,1
    - Dst: pcpp::GtpV1Layer*::getNextExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:282,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:283,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:283,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:284,1
    - Dst: pcpp::GtpV1Layer::GtpExtension::getContent
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:284,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:285,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:285,1
    - Dst: pcpp::GtpV1Layer*::getHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:287,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:288,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:288,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:290,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:292,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:292,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:292,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:293,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:293,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:293,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 296
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp
    functionUses: 1
    functionsReached:
    - auto::data
    - pcpp::GtpV1Layer*::getHeader
    - be32toh
    - htobe32
    - pcpp::GtpV1Layer::GtpExtension::isNull
    - auto::get
    - PTF_ASSERT_TRUE
    - pcpp::GtpV1Layer::GtpExtension::getContent
    - pcpp::GtpV1Layer*::getNextExtensionHeaderType
    - pcpp::Packet::isPacketOfType
    - pcpp::GtpV1Layer*::setSequenceNumber
    - PTF_ASSERT_EQUAL
    - pcpp::GtpV1Layer*::getNextExtension
    - pcpp::Packet::getLayerOfType
    - pcpp::GtpV1Layer*::getSequenceNumber
    - reinterpret_cast<uint16_t*>
    - be16toh
    - auto::size
    - createPacketFromHexResource
    - pcpp::GtpV1Layer*::getNpduNumber
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::GtpV1Layer*::addExtension
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    - pcpp_tests::loadHexResourceToVector
    - pcpp::GtpV1Layer*::setNpduNumber
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(GtpV1LayerEditTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:301,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:302,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:304,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:304,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:305,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:305,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:306,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:307,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:309,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:309,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:310,1
    - Dst: auto::getMessageLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:310,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:311,1
    - Dst: auto::isPiggybacking
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:311,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:312,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:312,1
    - Dst: auto::getTeid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:313,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:314,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:315,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:316,1
    - Dst: auto::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:316,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:317,1
    - Dst: auto::getMessagePriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:317,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:318,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:318,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:319,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:319,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:321,1
    - Dst: auto::getInformationElementCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:321,1
    - Dst: auto::getFirstInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:336,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:339,1
    - Dst: auto::getIEType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:339,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:339,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:340,1
    - Dst: auto::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:340,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:340,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:341,1
    - Dst: auto::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:341,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:341,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:342,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:342,1
    - Dst: auto::getCRFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:342,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:342,1
    - Dst: std::get<3>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:342,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:343,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:343,1
    - Dst: auto::getInstance
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:343,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:344,1
    - Dst: std::get<4>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:344,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:345,1
    - Dst: auto::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:345,1
    - Dst: std::get<5>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:345,1
    - Dst: auto::getDataSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:346,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:348,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:348,1
    - Dst: auto::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:348,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:349,1
    - Dst: std::get<6>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:349,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:351,1
    - Dst: auto::getInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:351,1
    - Dst: auto::getIEType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:351,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:352,1
    - Dst: auto::getNextInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:353,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:355,1
    - Dst: auto::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:355,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:359,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:360,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:362,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:362,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:363,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:363,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:364,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:365,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:367,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:367,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:368,1
    - Dst: auto::isPiggybacking
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:368,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:369,1
    - Dst: auto::getTeid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:369,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:370,1
    - Dst: auto::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:370,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:371,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:371,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:372,1
    - Dst: auto::getInformationElementCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:372,1
    - Dst: reinterpret_cast<pcpp::GtpV2Layer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:374,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:374,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:375,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:377,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:377,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:378,1
    - Dst: auto::isPiggybacking
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:378,1
    - Dst: auto::getTeid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:379,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:380,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:381,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:382,1
    - Dst: auto::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:382,1
    - Dst: auto::getMessagePriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:383,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:384,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:385,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:386,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:386,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:387,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:387,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:391,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:392,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:393,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:393,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:394,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:394,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:395,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:396,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:397,1
    - Dst: auto::isPiggybacking
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:397,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:398,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:398,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:399,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:399,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:403,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:404,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:406,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:406,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:407,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:407,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:408,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:409,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:410,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:410,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:411,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:411,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:415,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:416,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:418,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:419,1
    - Dst: auto::getFirstInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:420,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:421,1
    - Dst: auto::getCRFlag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:421,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:422,1
    - Dst: auto::getInstance
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:422,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:430,1
    - Dst: pcpp::GtpV2Layer::isDataValid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:430,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:434,1
    - Dst: pcpp::GtpV2Layer::isDataValid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 436
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp
    functionUses: 1
    functionsReached:
    - auto::isPiggybacking
    - std::get<2>
    - std::get<4>
    - std::get<1>
    - auto::getSequenceNumber
    - auto::getFirstInformationElement
    - auto::getInstance
    - auto::getNextInformationElement
    - auto::getMessageType
    - auto::getCRFlag
    - auto::get
    - auto::getDataSize
    - std::get<5>
    - PTF_ASSERT_TRUE
    - auto::isNull
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - reinterpret_cast<pcpp::GtpV2Layer*>
    - static_cast<int>
    - pcpp::Packet::getLayerOfType
    - auto::getMessageLength
    - auto::getHeaderLen
    - std::get<0>
    - auto::getInformationElement
    - createPacketFromHexResource
    - auto::getIEType
    - PTF_ASSERT_NULL
    - pcpp::GtpV2Layer::isDataValid
    - auto::getValueAs
    - std::get<3>
    - auto::toString
    - auto::getNextLayer
    - auto::getInformationElementCount
    - std::get<6>
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - auto::getMessagePriority
    - auto::getTotalSize
    - auto::getTeid
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(GtpV2LayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:441,1
    - Dst: pcpp::GtpV2Layer::addInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:460,1
    - Dst: pcpp::GtpV2Layer::addInformationElementAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:464,1
    - Dst: pcpp::GtpV2Layer::addInformationElementAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:467,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:470,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:471,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:473,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:474,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:476,1
    - Dst: pcpp::GtpV2Layer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:476,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:476,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:477,1
    - Dst: pcpp::GtpV2Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:477,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:477,1
    - Dst: pcpp::GtpV2Layer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:477,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:482,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:482,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:483,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:483,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:484,1
    - Dst: pcpp::GtpV2Layer::addInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:488,1
    - Dst: pcpp::GtpV2Layer::addInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:492,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:496,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:497,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:498,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:499,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:500,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:501,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:502,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:504,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:505,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:507,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:507,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:507,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:508,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:508,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:508,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:509,1
    - Dst: pcpp::GtpV2Layer::addInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:514,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:521,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:522,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:524,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:525,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:527,1
    - Dst: pcpp::GtpV2Layer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:527,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:527,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:528,1
    - Dst: pcpp::GtpV2Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:528,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:528,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 438
    functionDepth: 4
    functionLinenumber: 438
    functionLinenumberEnd: 530
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::Packet::addLayer
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - pcpp::Packet::Packet
    - pcpp::GtpV2Layer::addInformationElementAfter
    - auto::getData
    - pcpp::GtpV2Layer::getDataLen
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - createPacketFromHexResource
    - pcpp::Packet::computeCalculateFields
    - pcpp::GtpV2Layer::addInformationElement
    - pcpp::Packet::getRawPacket
    - auto::getDataLen
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::GtpV2Layer::getData
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(GtpV2LayerCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:535,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:537,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:538,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:540,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:541,1
    - Dst: pcpp::GtpV2Layer::addInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:545,1
    - Dst: pcpp::GtpV2Layer::setMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:552,1
    - Dst: pcpp::GtpV2Layer::setTeid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:553,1
    - Dst: pcpp::GtpV2Layer::setMessagePriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:554,1
    - Dst: pcpp::GtpV2Layer::setSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:555,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:557,1
    - Dst: pcpp::GtpV2Layer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:557,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:557,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:558,1
    - Dst: pcpp::GtpV2Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:558,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:558,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:558,1
    - Dst: pcpp::GtpV2Layer::addInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:563,1
    - Dst: pcpp::GtpV2Layer::setTeid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:570,1
    - Dst: pcpp::GtpV2Layer::setMessagePriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:571,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:573,1
    - Dst: pcpp::GtpV2Layer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:573,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:573,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:574,1
    - Dst: pcpp::GtpV2Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:574,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:574,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:574,1
    - Dst: pcpp::GtpV2Layer::addInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:579,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:581,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:582,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:584,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:585,1
    - Dst: pcpp::GtpV2Layer::unsetMessagePriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:587,1
    - Dst: pcpp::GtpV2Layer::unsetTeid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:588,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:590,1
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:590,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:590,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:591,1
    - Dst: pcpp::GtpV2Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:591,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:592,1
    - Dst: pcpp::GtpV2Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:592,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:592,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:593,1
    - Dst: pcpp::GtpV2Layer::unsetMessagePriority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:595,1
    - Dst: pcpp::GtpV2Layer::unsetTeid
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:596,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:598,1
    - Dst: pcpp::GtpV2Layer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:598,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:598,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:599,1
    - Dst: pcpp::GtpV2Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:599,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:600,1
    - Dst: pcpp::GtpV2Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:600,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:600,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:601,1
    - Dst: pcpp::GtpV2Layer::addInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:606,1
    - Dst: pcpp::GtpV2Layer::addInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:609,1
    - Dst: pcpp::GtpV2Layer::addInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:615,1
    - Dst: pcpp::GtpV2Layer::addInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:618,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:620,1
    - Dst: pcpp::GtpV2Layer::removeInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:620,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:621,1
    - Dst: pcpp::GtpV2Layer::removeInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:621,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:622,1
    - Dst: pcpp::GtpV2Layer::removeInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:622,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:623,1
    - Dst: pcpp::GtpV2Layer::removeInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:623,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:625,1
    - Dst: pcpp::GtpV2Layer::getInformationElementCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:625,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:627,1
    - Dst: pcpp::GtpV2Layer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:627,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:627,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:628,1
    - Dst: pcpp::GtpV2Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:628,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:628,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:628,1
    - Dst: pcpp::GtpV2Layer::addInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:633,1
    - Dst: pcpp::GtpV2Layer::addInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:636,1
    - Dst: pcpp::GtpV2Layer::addInformationElement
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:642,1
    - Dst: pcpp::GtpV2Layer::removeAllInformationElements
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:644,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:646,1
    - Dst: pcpp::GtpV2Layer::getInformationElementCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:646,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:648,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:649,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:651,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:652,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:654,1
    - Dst: pcpp::GtpV2Layer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:654,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:654,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:655,1
    - Dst: pcpp::GtpV2Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:655,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:655,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 532
    functionDepth: 3
    functionLinenumber: 532
    functionLinenumberEnd: 657
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::GtpV2Layer::setMessageType
    - pcpp::GtpV2Layer::unsetTeid
    - pcpp::GtpV2Layer::getInformationElementCount
    - pcpp::GtpV2Layer::removeInformationElement
    - pcpp::GtpV2Layer::unsetMessagePriority
    - auto::get
    - pcpp::GtpV2Layer::setSequenceNumber
    - PTF_ASSERT_TRUE
    - auto::getData
    - pcpp::GtpV2Layer::setTeid
    - pcpp::GtpV2Layer::getDataLen
    - PTF_ASSERT_EQUAL
    - pcpp::GtpV2Layer::setMessagePriority
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - auto::getHeaderLen
    - pcpp::GtpV2Layer::getHeaderLen
    - createPacketFromHexResource
    - pcpp::GtpV2Layer::removeAllInformationElements
    - pcpp::GtpV2Layer::addInformationElement
    - auto::getDataLen
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::GtpV2Layer::getData
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(GtpV2LayerEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:39,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:46,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:46,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:47,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:47,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:48,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:48,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:50,1
    - Dst: pcpp::VlanLayer::VlanLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:55,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:57,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:57,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:58,1
    - Dst: pcpp::EthLayer::getDestMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:58,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:59,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:59,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:60,1
    - Dst: pcpp::IPv4Layer::getDstIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:60,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:61,1
    - Dst: pcpp::IPv4Layer::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:61,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:62,1
    - Dst: pcpp::PayloadLayer::getPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:62,1
    - Dst: pcpp::EthLayer::EthLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:69,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:70,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:70,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:72,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:72,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:73,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:73,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:74,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:74,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:75,1
    - Dst: pcpp::EthLayer::getDestMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:75,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:76,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:76,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:77,1
    - Dst: pcpp::IPv4Layer::getDstIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:77,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:78,1
    - Dst: pcpp::IPv4Layer::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:78,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:79,1
    - Dst: pcpp::PayloadLayer::getPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:79,1
    - Dst: pcpp::TcpLayer::TcpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:84,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:85,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:85,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:92,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:92,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:93,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:93,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:94,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:94,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:95,1
    - Dst: pcpp::EthLayer::getDestMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 97
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::VlanLayer::VlanLayer
    - pcpp::Packet::addLayer
    - pcpp::Packet::getFirstLayer
    - pcpp::IPv4Layer::getDstIPAddress
    - PTF_ASSERT_EQUAL
    - pcpp::EthLayer::getDestMac
    - pcpp::Packet::insertLayer
    - pcpp::TcpLayer::TcpLayer
    - pcpp::PayloadLayer::getPayload
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    - PTF_ASSERT_NULL
    - pcpp::IPv4Layer::getSrcIPAddress
    - pcpp::EthLayer::EthLayer
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(InsertDataToPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:102,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:103,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:105,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:112,1
    - Dst: pcpp::Packet*::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:112,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:117,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:118,1
    - Dst: pcpp::Packet*::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:118,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:122,1
    - Dst: pcpp::Packet*::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:122,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:125,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:129,1
    - Dst: pcpp::Packet*::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:129,1
    - Dst: pcpp::IPv4Layer::addOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:133,1
    - Dst: pcpp::IPv4OptionBuilder::IPv4OptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:133,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:134,1
    - Dst: pcpp::IPv4Option::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:134,1
    - Dst: pcpp::Packet*::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:137,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:144,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 148
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - SuppressLogs::SuppressLogs
    - pcpp::byteArrayToHexString
    - pcpp::IPv4Option::isNull
    - pcpp::IPv4OptionBuilder::IPv4OptionBuilder
    - PTF_ASSERT_EQUAL
    - uint8_t::uint8_t
    - pcpp::Packet*::insertLayer
    - PTF_ASSERT_FALSE
    - pcpp::Packet*::computeCalculateFields
    - pcpp::IPv4Layer::addOption
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer::getIPv4Header
    - memset
    - pcpp::Packet::Packet
    - pcpp::Packet*::addLayer
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(CreatePacketFromBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:152,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:156,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:158,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:158,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:158,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:160,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:160,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:161,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:161,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:162,1
    - Dst: pcpp::VlanLayer::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:162,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:163,1
    - Dst: pcpp::VlanLayer::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - auto::get
    - pcpp::Packet::insertLayer
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - pcpp::VlanLayer::getNextLayer
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(InsertVlanToPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:171,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:173,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:178,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:178,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:179,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:179,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:180,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:180,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:181,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:181,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:182,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:182,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:183,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:183,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:188,1
    - Dst: pcpp::Packet::removeFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:188,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:189,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:189,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:190,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:190,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:191,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:191,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:192,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:192,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:193,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:193,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:197,1
    - Dst: pcpp::Packet::removeLastLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:197,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:198,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:198,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:199,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:199,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:200,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:200,1
    - Dst: pcpp::Packet::getLastLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:200,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:201,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:201,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:202,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:202,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:207,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:209,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:210,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:210,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:211,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:211,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:212,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:212,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:213,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:213,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:214,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:214,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:215,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:216,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:216,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:217,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:217,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:218,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:218,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:219,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:219,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:225,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:226,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:226,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:227,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:227,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:238,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:238,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:243,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:244,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:244,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:248,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:248,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:253,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:253,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:254,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:254,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:255,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:255,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:256,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:256,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:257,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:257,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:258,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:258,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:263,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:263,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:264,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:264,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:265,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:265,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:266,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:266,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:267,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:267,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:268,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:268,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:274,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:274,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:275,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:275,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:276,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:276,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:277,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:277,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:278,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:278,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:283,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:283,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:284,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:284,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:285,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:285,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:286,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:286,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:287,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:287,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:288,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:288,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:289,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:289,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:290,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:290,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:298,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:298,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:299,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:300,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:300,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:301,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:301,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:302,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:302,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:303,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:303,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:304,1
    - Dst: getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:304,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:305,1
    - Dst: addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:305,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:306,1
    - Dst: getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:306,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:312,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:314,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:315,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:316,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:317,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:318,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:319,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:320,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:321,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:322,1
    - Dst: pcpp::EthLayer*::isAllocatedToPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:322,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:323,1
    - Dst: pcpp::IcmpLayer*::isAllocatedToPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:323,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:324,1
    - Dst: pcpp::IPv4Layer*::isAllocatedToPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:324,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:325,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:325,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:326,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:326,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:327,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:327,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:328,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:328,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:329,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:329,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:331,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:332,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:332,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:333,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:333,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:334,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:334,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:335,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:337,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:339,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:339,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:339,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:340,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:340,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:340,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 341
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - auto::data
    - pcpp::Packet::removeLayer
    - pcpp::IPv4Layer*::isAllocatedToPacket
    - pcpp::Packet::addLayer
    - pcpp::Packet::removeLastLayer
    - SuppressLogs::SuppressLogs
    - pcpp::EthLayer*::isAllocatedToPacket
    - pcpp::IcmpLayer*::isAllocatedToPacket
    - pcpp::Packet::removeFirstLayer
    - auto::get
    - PTF_ASSERT_TRUE
    - pcpp::Packet::Packet
    - addLayer
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - pcpp::Packet::detachLayer
    - auto::size
    - createPacketFromHexResource
    - getRawPacket
    - PTF_ASSERT_NULL
    - pcpp::Packet::getFirstLayer
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::Packet::getLastLayer
    - pcpp::Packet::insertLayer
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp_tests::loadHexResourceToVector
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(RemoveLayerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:346,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:348,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:350,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:354,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:356,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:356,1
    - Dst: auto::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:356,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:357,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:357,1
    - Dst: auto::getRawData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:357,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:358,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:358,1
    - Dst: auto::getRawData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:358,1
    - Dst: auto::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:358,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:362,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:363,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:363,1
    - Dst: pcpp::EthLayer::getLayerPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:363,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:364,1
    - Dst: pcpp::EthLayer::getLayerPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:364,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:365,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:366,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:370,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:372,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:373,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:374,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:374,1
    - Dst: pcpp::TcpLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:374,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:375,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:375,1
    - Dst: pcpp::TcpLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:375,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:376,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:377,1
    - Dst: pcpp::TcpLayer::getTcpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:377,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:378,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:380,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:380,1
    - Dst: pcpp::TcpLayer::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:380,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:382,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:383,1
    - Dst: pcpp::TcpLayer::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:384,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:389,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:390,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:391,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:391,1
    - Dst: pcpp::HttpResponseLayer::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:391,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:392,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:392,1
    - Dst: pcpp::HttpResponseLayer::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:392,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:394,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:394,1
    - Dst: pcpp::HttpResponseLayer::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:394,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:395,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:395,1
    - Dst: pcpp::HttpResponseLayer::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:395,1
    - Dst: pcpp::HttpResponseLayer*::getFirstField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:397,1
    - Dst: pcpp::HttpResponseLayer::getFirstField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:398,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:401,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:402,1
    - Dst: pcpp::HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:402,1
    - Dst: pcpp::HeaderField*::getFieldName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:402,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:403,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:403,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:403,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:404,1
    - Dst: pcpp::HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:404,1
    - Dst: pcpp::HeaderField*::getFieldSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:404,1
    - Dst: pcpp::HttpResponseLayer*::getNextField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:406,1
    - Dst: pcpp::HttpResponseLayer*::getNextField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:407,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:410,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:411,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:417,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:417,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:417,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:418,1
    - Dst: pcpp::Packet::getLastLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:418,1
    - Dst: pcpp::Packet::getLastLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:418,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:419,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:419,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:419,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:420,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:420,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:421,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:422,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:422,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:422,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:423,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:424,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:424,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:425,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:425,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:426,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:426,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:427,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:427,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:428,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:429,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:432,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:432,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:432,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:433,1
    - Dst: pcpp::Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:433,1
    - Dst: pcpp::Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:433,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:434,1
    - Dst: pcpp::Layer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:434,1
    - Dst: pcpp::Layer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:434,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:435,1
    - Dst: pcpp::Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:435,1
    - Dst: pcpp::Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:435,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:436,1
    - Dst: pcpp::Layer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:436,1
    - Dst: pcpp::Layer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:436,1
    - Dst: pcpp::Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:437,1
    - Dst: pcpp::Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:438,1
    - Dst: pcpp::Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:439,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:441,1
    - Dst: auto::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:442,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:443,1
    - Dst: auto::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:444,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:447,1
    - Dst: auto::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:448,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:449,1
    - Dst: auto::insertField
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:450,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:452,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:453,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:459,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:461,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:465,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:465,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:465,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:466,1
    - Dst: pcpp::Packet::getLastLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:466,1
    - Dst: pcpp::Packet::getLastLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:466,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:467,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:467,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:467,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:468,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:468,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:469,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:470,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:470,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:471,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:472,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:473,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:473,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:474,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:474,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:476,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:477,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:480,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:480,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:480,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:481,1
    - Dst: pcpp::Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:481,1
    - Dst: pcpp::Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:481,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:482,1
    - Dst: pcpp::Layer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:482,1
    - Dst: pcpp::Layer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:482,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:483,1
    - Dst: pcpp::Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:483,1
    - Dst: pcpp::Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:483,1
    - Dst: pcpp::Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:484,1
    - Dst: pcpp::Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:485,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:492,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:494,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:498,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:498,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:498,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:499,1
    - Dst: pcpp::Packet::getLastLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:499,1
    - Dst: pcpp::Packet::getLastLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:499,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:500,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:500,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:500,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:501,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:501,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:501,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:502,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:502,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:502,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:503,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:504,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:504,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:505,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:505,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:507,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:508,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:511,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:511,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:511,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:512,1
    - Dst: pcpp::Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:512,1
    - Dst: pcpp::Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:512,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:513,1
    - Dst: pcpp::Layer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:513,1
    - Dst: pcpp::Layer*::getLayerPayloadSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:513,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:514,1
    - Dst: pcpp::Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:514,1
    - Dst: pcpp::Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:514,1
    - Dst: pcpp::Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:515,1
    - Dst: pcpp::Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:516,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:522,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:524,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:526,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:527,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:529,1
    - Dst: pcpp::DnsLayer::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:529,1
    - Dst: pcpp::DnsLayer*::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:529,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:530,1
    - Dst: pcpp::DnsLayer::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:530,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:530,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:531,1
    - Dst: pcpp::DnsLayer::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:531,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:531,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:533,1
    - Dst: pcpp::DnsLayer::getAuthorityCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:533,1
    - Dst: pcpp::DnsLayer*::getAuthorityCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:533,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:534,1
    - Dst: pcpp::DnsLayer::getAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:534,1
    - Dst: pcpp::DnsLayer*::getAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:535,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:537,1
    - Dst: pcpp::DnsLayer::getAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:537,1
    - Dst: pcpp::DnsLayer*::getAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:538,1
    - Dst: pcpp::DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:540,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:541,1
    - Dst: pcpp::DnsLayer::addAnswer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:542,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:546,1
    - Dst: pcpp::DnsLayer::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:546,1
    - Dst: pcpp::DnsLayer*::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:546,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:547,1
    - Dst: pcpp::DnsLayer::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:547,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:547,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:548,1
    - Dst: pcpp::DnsLayer::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:548,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:548,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:550,1
    - Dst: pcpp::DnsLayer::getAuthorityCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:550,1
    - Dst: pcpp::DnsLayer*::getAuthorityCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:550,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:551,1
    - Dst: pcpp::DnsLayer::getAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:551,1
    - Dst: pcpp::DnsLayer*::getAuthority
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:552,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:554,1
    - Dst: pcpp::DnsLayer::getAnswerCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:554,1
    - Dst: pcpp::DnsLayer*::getAnswerCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:554,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:556,1
    - Dst: pcpp::DnsLayer::getAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:556,1
    - Dst: pcpp::DnsLayer*::getAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:557,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 343
    functionDepth: 5
    functionLinenumber: 343
    functionLinenumberEnd: 559
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::HeaderField*::getFieldName
    - auto::getRawDataLen
    - pcpp::DnsLayer::addAnswer
    - pcpp::Layer*::getLayerPayloadSize
    - pcpp::EthLayer::getLayerPayload
    - pcpp::RawPacket::RawPacket
    - pcpp::Layer*::getProtocol
    - pcpp::TcpLayer::getTcpOptionCount
    - pcpp::DnsLayer*::getFirstQuery
    - pcpp::DnsLayer::getAnswerCount
    - auto::getRawData
    - pcpp::DnsLayer*::getQueryCount
    - pcpp::DnsLayer*::getAdditionalRecord
    - auto::get
    - pcpp::DnsLayer::getAuthority
    - string
    - PTF_ASSERT_TRUE
    - pcpp::HttpResponseLayer*::getNextField
    - pcpp::DnsLayer::getFirstQuery
    - pcpp::DnsLayer*::getAnswerCount
    - pcpp::Layer*::getDataLen
    - pcpp::Layer*::getHeaderLen
    - pcpp::RawPacket::getRawData
    - pcpp::DnsLayer::getAuthorityCount
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::HttpResponseLayer::getFirstLine
    - pcpp::HeaderField*::getFieldValue
    - pcpp::Layer*::getNextLayer
    - pcpp::Layer*::getData
    - pcpp::DnsLayer::getAdditionalRecord
    - pcpp::HttpResponseLayer*::getFirstField
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - pcpp::DnsLayer::addQuery
    - pcpp::RawPacket::getRawDataLen
    - pcpp::Packet::getFirstLayer
    - pcpp::Packet::getRawPacket
    - pcpp::TcpLayer::getTcpOption
    - pcpp::HttpResponseLayer*::getFirstLine
    - pcpp::HeaderField*::getFieldSize
    - pcpp::Packet::getLastLayer
    - pcpp::TcpLayer::getData
    - PTF_ASSERT_NOT_NULL
    - pcpp::DnsLayer*::getAuthority
    - pcpp::DnsLayer*::getAuthorityCount
    - PTF_ASSERT_BUF_COMPARE
    - auto::insertField
    - pcpp::DnsLayer::getQueryCount
    - pcpp::HttpResponseLayer::getFirstField
    - auto::getFieldByName
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(CopyLayerAndPacketTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:568,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:569,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:572,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:572,1
    - Dst: std::array::fill
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:575,1
    - Dst: pcpp::IPv4Layer::copyData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:576,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:576,1
    - Dst: PTF_ASSERT_BUF_COMPARE_S
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:577,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:577,1
    - Dst: pcpp::IPv4Layer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:577,1
    - Dst: pcpp::IPv4Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:577,1
    - Dst: pcpp::IPv4Layer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:577,1
    - Dst: pcpp::IPv4Layer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:580,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:580,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:582,1
    - Dst: std::array::fill
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:586,1
    - Dst: pcpp::IPv4Layer::copyData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:587,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:587,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:587,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:588,1
    - Dst: PTF_ASSERT_BUF_COMPARE_S
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:589,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:589,1
    - Dst: pcpp::IPv4Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:589,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:592,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:594,1
    - Dst: std::array::fill
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:598,1
    - Dst: pcpp::IPv4Layer::copyData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:599,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:599,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:600,1
    - Dst: PTF_ASSERT_BUF_COMPARE_S
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:601,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:601,1
    - Dst: pcpp::IPv4Layer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:601,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:604,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 608
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_BUF_COMPARE_S
    - pcpp::IPv4Layer::copyData
    - pcpp::IPv4Layer::getDataLen
    - PTF_ASSERT_EQUAL
    - std::array::fill
    - std::array::size
    - std::array::data
    - PTF_ASSERT_GREATER_THAN
    - pcpp::IPv4Layer::getData
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(CopyLayerDataTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:613,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:614,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:616,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:617,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:619,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:620,1
    - Dst: pcpp::Packet::getPrevLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:622,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:623,1
    - Dst: pcpp::Packet::getPrevLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:625,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:626,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:630,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:631,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:634,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:635,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:636,1
    - Dst: pcpp::IPv4Layer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:636,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:636,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:637,1
    - Dst: pcpp::IPv4Layer*::getDstIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:637,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:637,1
    - Dst: pcpp::Packet::getPrevLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:640,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:641,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:642,1
    - Dst: pcpp::IPv4Layer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:642,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:642,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:643,1
    - Dst: pcpp::IPv4Layer*::getDstIPAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:643,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:643,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:646,1
    - Dst: pcpp::Packet::getPrevLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:646,1
    - Dst: pcpp::Packet::getPrevLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:649,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:650,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:651,1
    - Dst: pcpp::Packet::getPrevLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:651,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:652,1
    - Dst: pcpp::Packet::getPrevLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:652,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:652,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:655,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 657
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::Packet::getLayerOfType
    - auto::get
    - PTF_ASSERT_NOT_NULL
    - pcpp::IPv4Layer*::getSrcIPAddress
    - createPacketFromHexResource
    - pcpp::Packet::getPrevLayerOfType
    - PTF_ASSERT_NULL
    - pcpp::IPv4Layer*::getDstIPAddress
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PacketLayerLookupTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:661,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:673,1
    - Dst: auto::setPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:673,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:674,1
    - Dst: auto::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:674,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:675,1
    - Dst: auto::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:675,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:682,1
    - Dst: auto::setPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:682,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:683,1
    - Dst: auto::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:683,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:684,1
    - Dst: auto::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 685
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - auto::getPacketTimeStamp
    - PTF_ASSERT_EQUAL
    - auto::setPacketTimeStamp
    - createPacketFromHexResource
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(RawPacketTimeStampSetterTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:689,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:690,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:691,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:692,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:693,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:694,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:695,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:697,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:698,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:699,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:700,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:701,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:702,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:703,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:705,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:705,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:706,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:706,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:707,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:707,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:708,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:708,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:709,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:709,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:710,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:710,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:711,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:711,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:712,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:712,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:713,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:713,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:715,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:715,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:716,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:716,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:717,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:717,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:718,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:718,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:719,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:719,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:720,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:720,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:721,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:721,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:723,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:723,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:724,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:724,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:725,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:725,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:726,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:726,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:727,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:727,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:728,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:728,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:729,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:729,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:730,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:730,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:731,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:731,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:733,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:733,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:734,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:734,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:735,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:735,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:736,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:736,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:737,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:737,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:738,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:738,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:739,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:739,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:741,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:741,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:742,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:742,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:743,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:743,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:744,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:744,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:745,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:745,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:746,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:746,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:747,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:747,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:748,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:748,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:749,1
    - Dst: pcpp::Packet::getLastLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:749,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:750,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:750,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:751,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:751,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:753,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:753,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:754,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:754,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:755,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:755,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:756,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:756,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:757,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:757,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:758,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:758,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:760,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:760,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:761,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:761,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:762,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:762,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:763,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:763,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:764,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:765,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:766,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:766,1
    - Dst: pcpp::Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:767,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:768,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:769,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:769,1
    - Dst: pcpp::Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:770,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:771,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:772,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:772,1
    - Dst: pcpp::Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:773,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 775
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - pcpp::Packet::getLayerOfType
    - pcpp::Packet::getLastLayer
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - createPacketFromHexResource
    - pcpp::Layer*::getNextLayer
    - pcpp::Layer*::getProtocol
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(ParsePartialPacketTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:780,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:782,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:783,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:784,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:785,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:786,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:788,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:789,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:790,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:791,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:792,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:794,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:794,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:795,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:795,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:796,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:796,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:797,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:797,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:799,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:799,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:800,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:800,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:801,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:801,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:802,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:802,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:804,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:804,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:806,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:806,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:808,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:808,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:810,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:810,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:813,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:813,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:814,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:814,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:815,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:815,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:816,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:816,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:818,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:819,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:820,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:821,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:822,1
    - Dst: pcpp::EthLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:822,1
    - Dst: pcpp::EthLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:822,1
    - Dst: pcpp::IPv4Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:822,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:823,1
    - Dst: pcpp::IPv4Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:823,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:823,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:823,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:825,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:826,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:827,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:828,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:829,1
    - Dst: pcpp::EthLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:829,1
    - Dst: pcpp::EthLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:829,1
    - Dst: pcpp::IPv6Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:829,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:830,1
    - Dst: pcpp::IPv6Layer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:830,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:831,1
    - Dst: pcpp::IPv6Layer*::getIPv6Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:831,1
    - Dst: pcpp::IPv6Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:831,1
    - Dst: pcpp::VlanLayer::VlanLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:834,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:835,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:835,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:836,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:837,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:837,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:838,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:838,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:839,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:839,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:840,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:840,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:841,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:841,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:842,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:842,1
    - Dst: pcpp::HttpRequestLayer::HttpRequestLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:845,1
    - Dst: auto::addEndOfHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:846,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:847,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:848,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:849,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:850,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:851,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:851,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:852,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:852,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:853,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:853,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:854,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:854,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:855,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:855,1
    - Dst: std::make_unique<pcpp::PayloadLayer>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:859,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:861,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:862,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:862,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:862,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:866,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:866,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:867,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:868,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:868,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:869,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:869,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:870,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:870,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:871,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:871,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:874,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:874,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:875,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:876,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:876,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:877,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:877,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:878,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:878,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:881,1
    - Dst: pcpp::VlanLayer::VlanLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:882,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:883,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:883,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:884,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:885,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:886,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:886,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:887,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:888,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:888,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:889,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:889,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:890,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:890,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:891,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:891,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:892,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:892,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:895,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:895,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:896,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:897,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:897,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:898,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:898,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:901,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:901,1
    - Dst: pcpp::EthLayer::EthLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:901,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:903,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:903,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:904,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:904,1
    - Dst: pcpp::IPv4Layer::IPv4Layer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:904,1
    - Dst: auto::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:905,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:905,1
    - Dst: auto::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:906,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:907,1
    - Dst: pcpp::TcpLayer::TcpLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:908,1
    - Dst: auto::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:909,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:909,1
    - Dst: auto::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:910,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:910,1
    - Dst: auto::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:911,1
    - Dst: auto::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:912,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:912,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:913,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:914,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:915,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:915,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:916,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:916,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:917,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:917,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:918,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:918,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:921,1
    - Dst: pcpp::IPv6Layer*::addExtension
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:923,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:924,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:925,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:925,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:926,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:926,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:927,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:927,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:928,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:928,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:929,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:929,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:930,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:930,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:933,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:934,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:936,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::addTag
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:936,1
    - Dst: pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:936,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:938,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:939,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:939,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:940,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:940,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:941,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:941,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:944,1
    - Dst: pcpp::IPv6Layer*::removeAllExtensions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:945,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:946,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:947,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:947,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:948,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:948,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:949,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:949,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:950,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:950,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:951,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:951,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:952,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:952,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:955,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:956,1
    - Dst: pcpp::PPPoEDiscoveryLayer*::removeAllTags
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:956,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:957,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:958,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:958,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:959,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:959,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:960,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 777
    functionDepth: 4
    functionLinenumber: 777
    functionLinenumberEnd: 961
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - auto::getTcpHeader
    - std::make_unique<pcpp::PayloadLayer>
    - pcpp::IPv6Layer*::getIPv6Header
    - std::unique_ptr::get
    - htobe32
    - pcpp::IPv4Layer::IPv4Layer
    - pcpp::EthLayer*::getDataLen
    - pcpp::IPv4Layer*::getIPv4Header
    - pcpp::HttpRequestLayer::HttpRequestLayer
    - pcpp::Packet::addLayer
    - SuppressLogs::SuppressLogs
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - pcpp::IPv6Layer*::getDataLen
    - pcpp::EthLayer*::getHeaderLen
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - pcpp::VlanLayer::VlanLayer
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::TcpLayer::TcpLayer
    - pcpp::PPPoEDiscoveryLayer*::addTag
    - be16toh
    - pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
    - pcpp::PPPoEDiscoveryLayer*::removeAllTags
    - auto::getIPv4Header
    - createPacketFromHexResource
    - pcpp::IPv6Layer*::addExtension
    - pcpp::IPv4Layer*::getDataLen
    - pcpp::Packet::computeCalculateFields
    - auto::addEndOfHeader
    - pcpp::IPv6Layer*::getHeaderLen
    - pcpp::Packet::insertLayer
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - pcpp::IPv6Layer*::removeAllExtensions
    - pcpp::Packet::removeLayer
    - pcpp::EthLayer::EthLayer
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PacketTrailerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:970,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:970,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:973,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:973,1
    - Dst: pcpp::PayloadLayer::setPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:980,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:983,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:983,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:988,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:988,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:989,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:990,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:991,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:992,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:993,1
    - Dst: pcpp::PayloadLayer::setPayload
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1000,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1003,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1003,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1008,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1008,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1009,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1010,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1011,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1012,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1013,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1014,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1015,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 963
    functionDepth: 4
    functionLinenumber: 963
    functionLinenumberEnd: 1017
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - pcpp::PayloadLayer::setPayload
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(ResizeLayerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1034,1
    - Dst: localtime
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1038,1
    - Dst: strftime
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1042,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1046,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1047,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1050,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1052,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1053,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1054,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1055,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1056,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1057,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1058,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1061,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1062,1
    - Dst: pcpp::Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1062,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1064,1
    - Dst: pcpp::Layer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1064,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1067,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1067,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1070,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1070,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1082,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1082,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1082,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1083,1
    - Dst: pcpp::Packet::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1083,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1083,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1085,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1085,1
    - Dst: pcpp::Packet::toStringList
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1087,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1019
    functionDepth: 3
    functionLinenumber: 1019
    functionLinenumberEnd: 1089
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - pcpp::Layer*::toString
    - std::vector::end
    - pcpp::Packet::toString
    - localtime
    - PTF_ASSERT_EQUAL
    - auto::get
    - string
    - std::vector::begin
    - std::vector::insert
    - std::vector::push_back
    - pcpp::Layer*::getNextLayer
    - std::ostringstream::str
    - PTF_ASSERT_TRUE
    - createPacketFromHexResource
    - pcpp::Packet::toStringList
    - localtime_r
    - strftime
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PrintPacketAndLayersTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1093,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1095,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1097,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1098,1
    - Dst: auto::isMemberOfProtocolFamily
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1098,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1099,1
    - Dst: auto::isMemberOfProtocolFamily
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1099,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1100,1
    - Dst: auto::isMemberOfProtocolFamily
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1100,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1101,1
    - Dst: auto::isMemberOfProtocolFamily
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1101,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1103,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1104,1
    - Dst: auto::isMemberOfProtocolFamily
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1104,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1105,1
    - Dst: auto::isMemberOfProtocolFamily
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1105,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1106,1
    - Dst: auto::isMemberOfProtocolFamily
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1106,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1107,1
    - Dst: auto::isMemberOfProtocolFamily
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1108
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::getLayerOfType
    - auto::get
    - PTF_ASSERT_FALSE
    - createPacketFromHexResource
    - PTF_ASSERT_TRUE
    - auto::isMemberOfProtocolFamily
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(ProtocolFamilyMembershipTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1112,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1113,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1114,1
    - Dst: pcpp::Packet::getLastLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1114,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1114,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1116,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1118,1
    - Dst: pcpp::Packet::getLastLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1119
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::getFirstLayer
    - PTF_ASSERT_EQUAL
    - auto::get
    - pcpp::Packet::getLastLayer
    - createPacketFromHexResource
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PacketParseLayerLimitTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1124,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1127,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1132,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1141,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1121
    functionDepth: 2
    functionLinenumber: 1121
    functionLinenumberEnd: 1149
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::getNextLayerOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::get
    - createPacketFromHexResource
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PacketParseMultiLayerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1153,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1158,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1159,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1159,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1160,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1160,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1161,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1161,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1163,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1164,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1166,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1167,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1169,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1169,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1170,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1170,1
    - Dst: pcpp::Packet::parsePacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1174,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1176,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1176,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1177,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1177,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1178,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1178,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1181,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1181,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1182,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1182,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1184,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1184,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1185,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1185,1
    - Dst: pcpp::Packet::parsePacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1188,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1191,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1191,1
    - Dst: pcpp::Packet::parsePacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1195,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1197,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1197,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1200,1
    - Dst: pcpp::Packet::getLastLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1200,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1151
    functionDepth: 2
    functionLinenumber: 1151
    functionLinenumberEnd: 1201
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - pcpp::Packet::getLayerOfType
    - pcpp::Packet::getLastLayer
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - createPacketFromHexResource
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_NULL
    - pcpp::Packet::parsePacket
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PacketIncrementalParseTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1205,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1206,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1208,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1208,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1209,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1209,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1210,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1210,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1212,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1212,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1213,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1213,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1214,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1214,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1215,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1215,1
    - Dst: pcpp::Packet::parsePacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1221,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1223,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1223,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1224,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1224,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1225,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1225,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1227,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1227,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1228,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1228,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1231,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1231,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1232,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1203
    functionDepth: 2
    functionLinenumber: 1203
    functionLinenumberEnd: 1233
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - auto::get
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - createPacketFromHexResource
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_NULL
    - pcpp::Packet::parsePacket
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(PacketFullReparseTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:14,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:16,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:17,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:17,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:19,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:20,1
    - Dst: pcpp::LLCLayer*::getLlcHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:22,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:24,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:25,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:27,1
    - Dst: pcpp::LLCLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:28,1
    - Dst: pcpp::LLCLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:30,1
    - Dst: pcpp::LLCLayer*::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:30,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:32,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:33,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:34,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:36,1
    - Dst: pcpp::LLCLayer*::getLlcHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 42
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::get
    - pcpp::LLCLayer*::getNextLayer
    - pcpp::LLCLayer*::toString
    - PTF_ASSERT_NOT_NULL
    - pcpp::LLCLayer*::getLlcHeader
    - createPacketFromHexResource
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(LLCParsingTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:47,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:49,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:51,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:52,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:52,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:54,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:55,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:58,1
    - Dst: pcpp::LLCLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:58,1
    - Dst: pcpp::LLCLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:58,1
    - Dst: pcpp::LLCLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - pcpp::LLCLayer::getDataLen
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::LLCLayer*::getData
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::LLCLayer::getData
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(LLCCreationTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:16,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:17,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:19,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:20,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:22,1
    - Dst: auto::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:22,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:23,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:24,1
    - Dst: auto::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:24,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:25,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:25,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:26,1
    - Dst: auto::getControls
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:26,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:27,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:39,1
    - Dst: auto::getRootAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:39,1
    - Dst: pcpp::Asn1SequenceRecord::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:40,1
    - Dst: auto::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:40,1
    - Dst: pcpp::Asn1ConstructedRecord::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:40,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:45,1
    - Dst: pcpp_tests::utils::PacketFactory::PacketFactory
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:46,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:47,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:49,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:50,1
    - Dst: auto::getControls
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:52,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:59,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:64,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:65,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:67,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:68,1
    - Dst: auto::getControls
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:70,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:72,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:77,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:83,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:85,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:86,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:89,1
    - Dst: auto::tryGet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:89,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:92,1
    - Dst: auto::tryGet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:92,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:94,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:99,1
    - Dst: pcpp_tests::utils::PacketFactory::PacketFactory
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:100,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:101,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:103,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:104,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:108,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:108,1
    - Dst: dynamic_cast<pcpp::LdapLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:109,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:109,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:110,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:113,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:113,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:114,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:114,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:119,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:120,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:122,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:123,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:124,1
    - Dst: auto::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:124,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:125,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:125,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:126,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:126,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:127,1
    - Dst: auto::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:127,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:128,1
    - Dst: auto::getAuthenticationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:128,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:130,1
    - Dst: auto::getSimpleAuthentication
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:130,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:131,1
    - Dst: auto::getSaslAuthentication
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:131,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:134,1
    - Dst: auto::tryGet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:135,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:136,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:136,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:141,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:142,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:144,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:145,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:146,1
    - Dst: auto::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:146,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:147,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:147,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:148,1
    - Dst: auto::getVersion
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:148,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:149,1
    - Dst: auto::getName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:149,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:150,1
    - Dst: auto::getAuthenticationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:150,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:233,1
    - Dst: auto::getSaslAuthentication
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:233,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:234,1
    - Dst: auto::getSimpleAuthentication
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:234,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:237,1
    - Dst: auto::tryGet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:238,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:239,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:239,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:244,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:245,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:247,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:248,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:249,1
    - Dst: auto::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:249,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:250,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:250,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:251,1
    - Dst: auto::getResultCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:251,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:252,1
    - Dst: auto::getMatchedDN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:252,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:253,1
    - Dst: auto::getDiagnosticMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:253,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:254,1
    - Dst: auto::getReferral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:254,1
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:254,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:267,1
    - Dst: auto::getServerSaslCredentials
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:267,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:272,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:273,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:275,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:276,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:277,1
    - Dst: auto::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:277,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:278,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:278,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:279,1
    - Dst: auto::getResultCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:279,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:280,1
    - Dst: auto::getMatchedDN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:280,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:281,1
    - Dst: auto::getDiagnosticMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:281,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:282,1
    - Dst: auto::getReferral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:282,1
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:282,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:283,1
    - Dst: auto::getServerSaslCredentials
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:283,1
    - Dst: std::vector<uint8_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:283,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:288,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:289,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:291,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:292,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:293,1
    - Dst: auto::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:293,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:294,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:294,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:295,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:295,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:300,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:301,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:303,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:304,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:305,1
    - Dst: auto::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:305,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:306,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:306,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:307,1
    - Dst: auto::getBaseObject
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:307,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:308,1
    - Dst: auto::getScope
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:308,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:310,1
    - Dst: auto::getDerefAlias
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:310,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:312,1
    - Dst: auto::getSizeLimit
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:312,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:313,1
    - Dst: auto::getTimeLimit
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:313,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:314,1
    - Dst: auto::getTypesOnly
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:314,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:319,1
    - Dst: auto::getFilter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:319,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:319,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:320,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:320,1
    - Dst: auto::getAttributes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:321,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:334,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:339,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:340,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:342,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:343,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:344,1
    - Dst: auto::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:344,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:345,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:345,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:347,1
    - Dst: auto::getObjectName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:347,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:357,1
    - Dst: auto::getAttributes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:357,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:362,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:363,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:365,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:366,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:367,1
    - Dst: auto::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:367,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:368,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:368,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:370,1
    - Dst: auto::getResultCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:370,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:371,1
    - Dst: auto::getMatchedDN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:371,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:372,1
    - Dst: auto::getDiagnosticMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:372,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:373,1
    - Dst: auto::getReferral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:373,1
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:373,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:374,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:374,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:379,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:380,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:382,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:383,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:384,1
    - Dst: auto::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:384,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:385,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:385,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:386,1
    - Dst: auto::getResultCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:386,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:387,1
    - Dst: auto::getMatchedDN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:387,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:388,1
    - Dst: auto::getDiagnosticMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:388,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:389,1
    - Dst: auto::getReferral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:389,1
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:389,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:390,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:390,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:395,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:396,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:398,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:399,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:400,1
    - Dst: auto::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:400,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:401,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:401,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:402,1
    - Dst: auto::getResultCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:402,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:403,1
    - Dst: auto::getMatchedDN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:403,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:404,1
    - Dst: auto::getDiagnosticMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:404,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:405,1
    - Dst: auto::getReferral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:405,1
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:405,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:406,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:406,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:411,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:412,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:414,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:415,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:416,1
    - Dst: auto::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:416,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:417,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:417,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:418,1
    - Dst: auto::getResultCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:418,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:419,1
    - Dst: auto::getMatchedDN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:419,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:420,1
    - Dst: auto::getDiagnosticMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:420,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:424,1
    - Dst: auto::getReferral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:424,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:425,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:425,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:430,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:431,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:433,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:434,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:435,1
    - Dst: auto::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:435,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:436,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:436,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:438,1
    - Dst: auto::getResultCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:438,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:439,1
    - Dst: auto::getMatchedDN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:439,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:440,1
    - Dst: auto::getDiagnosticMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:440,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:441,1
    - Dst: auto::getReferral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:441,1
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:441,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:442,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:442,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:447,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:448,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:450,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:451,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:452,1
    - Dst: auto::getMessageID
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:452,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:453,1
    - Dst: auto::getLdapOperationType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:453,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:454,1
    - Dst: auto::getResultCode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:454,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:455,1
    - Dst: auto::getMatchedDN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:455,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:456,1
    - Dst: auto::getDiagnosticMessage
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:456,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:457,1
    - Dst: auto::getReferral
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:457,1
    - Dst: std::vector<std::string>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:457,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:458,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 151
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 12
    functionDepth: 3
    functionLinenumber: 12
    functionLinenumberEnd: 460
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp
    functionUses: 1
    functionsReached:
    - auto::getVersion
    - auto::getMessageID
    - auto::getSimpleAuthentication
    - auto::getLdapOperationType
    - auto::getObjectName
    - auto::getMatchedDN
    - auto::getAttributes
    - auto::getName
    - auto::getControls
    - auto::getFilter
    - auto::getSaslAuthentication
    - auto::getResultCode
    - pcpp_tests::utils::PacketFactory::PacketFactory
    - PTF_ASSERT_VECTORS_EQUAL
    - auto::get
    - pcpp::Asn1ConstructedRecord::toString
    - pcpp::Asn1SequenceRecord::toString
    - PTF_ASSERT_TRUE
    - auto::tryGet
    - auto::getRootAsn1Record
    - auto::getDiagnosticMessage
    - dynamic_cast<pcpp::LdapLayer*>
    - std::vector<uint8_t>
    - PTF_ASSERT_EQUAL
    - auto::getScope
    - std::vector<std::string>
    - pcpp::Packet::getLayerOfType
    - auto::getHeaderLen
    - auto::getAuthenticationType
    - std::ostringstream::str
    - createPacketAndBufferFromHexResource
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    - auto::getSizeLimit
    - auto::toString
    - auto::getNextLayer
    - auto::getDerefAlias
    - auto::getTimeLimit
    - auto::getProtocol
    - auto::getTypesOnly
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_RAISES
    - PTF_ASSERT_FALSE
    - auto::getReferral
    - auto::getLdapOperationAsn1Record
    - auto::getServerSaslCredentials
    - auto::getBaseObject
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(LdapParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:466,1
    - Dst: pcpp_tests::utils::PacketFactory::PacketFactory
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:467,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:468,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:500,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:501,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:503,1
    - Dst: pcpp::LdapLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:503,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:503,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:503,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:508,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:509,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:522,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:523,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:525,1
    - Dst: pcpp::LdapLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:525,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:525,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:525,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:530,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:531,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:536,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:537,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:539,1
    - Dst: pcpp::LdapBindRequestLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:539,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:539,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:540,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:545,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:546,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:631,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:632,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:634,1
    - Dst: pcpp::LdapBindRequestLayer::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:634,1
    - Dst: auto::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:635,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:636,1
    - Dst: std::equal
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:636,1
    - Dst: pcpp::LdapBindRequestLayer::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:637,1
    - Dst: pcpp::LdapBindRequestLayer::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:638,1
    - Dst: auto::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:639,1
    - Dst: encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:640,1
    - Dst: encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:640,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:645,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:646,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:664,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:665,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:667,1
    - Dst: pcpp::LdapBindResponseLayer::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:667,1
    - Dst: auto::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:668,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:672,1
    - Dst: pcpp::LdapBindResponseLayer::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:673,1
    - Dst: auto::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:674,1
    - Dst: pcpp::LdapBindResponseLayer::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:678,1
    - Dst: auto::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:680,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:682,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:682,1
    - Dst: auto::getValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:683,1
    - Dst: auto::getValueLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:684,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:689,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:690,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:694,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:695,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:697,1
    - Dst: pcpp::LdapBindResponseLayer::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:697,1
    - Dst: auto::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:698,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:699,1
    - Dst: std::equal
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:699,1
    - Dst: pcpp::LdapBindResponseLayer::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:700,1
    - Dst: pcpp::LdapBindResponseLayer::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:701,1
    - Dst: auto::getLdapOperationAsn1Record
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:702,1
    - Dst: encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:703,1
    - Dst: encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:703,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:708,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:709,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:713,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:714,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:716,1
    - Dst: pcpp::LdapUnbindRequestLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:716,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:716,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:717,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:722,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:723,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:747,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:748,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:750,1
    - Dst: pcpp::LdapSearchRequestLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:750,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:750,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:751,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:756,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:757,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:772,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:773,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:775,1
    - Dst: pcpp::LdapSearchResultEntryLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:775,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:775,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:776,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:781,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:782,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:786,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:787,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:789,1
    - Dst: pcpp::LdapSearchResultDoneLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:789,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:789,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:790,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:795,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:796,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:800,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:801,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:803,1
    - Dst: pcpp::LdapModifyResponseLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:803,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:803,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:804,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:809,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:810,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:814,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:815,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:817,1
    - Dst: pcpp::LdapAddResponseLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:817,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:817,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:818,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:823,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:824,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:833,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:834,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:836,1
    - Dst: pcpp::LdapDeleteResponseLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:836,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:836,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:837,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:842,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:843,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:848,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:849,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:851,1
    - Dst: pcpp::LdapModifyDNResponseLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:851,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:851,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:852,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:857,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:858,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:862,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:863,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:865,1
    - Dst: pcpp::LdapCompareResponseLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:865,1
    - Dst: auto::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:865,1
    - Dst: auto::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 462
    functionDepth: 3
    functionLinenumber: 462
    functionLinenumberEnd: 868
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::LdapModifyDNResponseLayer::getData
    - pcpp::LdapBindResponseLayer::getLdapOperationAsn1Record
    - auto::getValueLength
    - encode
    - pcpp::LdapSearchResultDoneLayer::getData
    - pcpp::LdapSearchResultEntryLayer::getData
    - pcpp_tests::utils::PacketFactory::PacketFactory
    - auto::get
    - pcpp::LdapLayer::getData
    - PTF_ASSERT_TRUE
    - auto::getData
    - pcpp::LdapSearchRequestLayer::getData
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - pcpp::LdapBindRequestLayer::getData
    - std::equal
    - createPacketFromHexResource
    - auto::getLdapOperationAsn1Record
    - pcpp::LdapAddResponseLayer::getData
    - pcpp::LdapDeleteResponseLayer::getData
    - auto::getDataLen
    - pcpp::LdapModifyResponseLayer::getData
    - PTF_ASSERT_NOT_NULL
    - pcpp::LdapUnbindRequestLayer::getData
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::LdapBindRequestLayer::getLdapOperationAsn1Record
    - auto::getValue
    - pcpp::LdapCompareResponseLayer::getData
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(LdapCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:16,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:17,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:18,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:19,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:20,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:21,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:22,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:26,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:28,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:28,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:29,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:30,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:31,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:32,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:33,1
    - Dst: pcpp::BgpLayer*::getBgpMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:33,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:34,1
    - Dst: pcpp::BgpKeepaliveMessageLayer*::getBgpMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:34,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:35,1
    - Dst: pcpp::BgpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:36,1
    - Dst: pcpp::BgpKeepaliveMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:39,1
    - Dst: pcpp::BgpKeepaliveMessageLayer*::getKeepaliveHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:41,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:41,1
    - Dst: pcpp::BgpKeepaliveMessageLayer*::getKeepaliveHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:41,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:45,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:47,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:47,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:48,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:49,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:50,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:52,1
    - Dst: pcpp::BgpLayer*::getBgpMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:52,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:53,1
    - Dst: pcpp::BgpOpenMessageLayer*::getBgpMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:53,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:54,1
    - Dst: pcpp::BgpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:54,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:55,1
    - Dst: pcpp::BgpOpenMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:55,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:58,1
    - Dst: pcpp::BgpOpenMessageLayer*::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:58,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:60,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:60,1
    - Dst: pcpp::BgpOpenMessageLayer*::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:60,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:61,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:61,1
    - Dst: pcpp::BgpOpenMessageLayer*::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:61,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:62,1
    - Dst: pcpp::BgpOpenMessageLayer*::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:62,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:63,1
    - Dst: pcpp::BgpOpenMessageLayer*::getBgpId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:63,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:63,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:64,1
    - Dst: pcpp::BgpOpenMessageLayer*::getOptionalParametersLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:64,1
    - Dst: pcpp::BgpOpenMessageLayer*::getOptionalParameters
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:66,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:67,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:67,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:74,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:75,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:76,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:81,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:83,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:83,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:85,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:86,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:87,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getBgpMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:87,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:88,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:88,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:91,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getNotificationMsgHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:91,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:93,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getNotificationMsgHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:93,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:94,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getNotificationMsgHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:94,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:95,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getNotificationDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:95,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:101,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getNotificationDataAsHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:101,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:103,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:105,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:105,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:106,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:107,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:108,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getNotificationDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:108,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:109,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getNotificationData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:109,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:110,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getNotificationDataAsHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:110,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:114,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:116,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:116,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:117,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:118,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:119,1
    - Dst: pcpp::BgpRouteRefreshMessageLayer*::getBgpMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:119,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:120,1
    - Dst: pcpp::BgpRouteRefreshMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:120,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:121,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:121,1
    - Dst: pcpp::BgpRouteRefreshMessageLayer*::getRouteRefreshHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:121,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:122,1
    - Dst: pcpp::BgpRouteRefreshMessageLayer*::getRouteRefreshHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:122,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:123,1
    - Dst: pcpp::BgpRouteRefreshMessageLayer*::getRouteRefreshHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:123,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:127,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:129,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:129,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:130,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:131,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:132,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getBgpMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:132,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:133,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:133,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:134,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:134,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getWithdrawnRoutes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:136,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:137,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:137,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:139,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:140,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:140,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:143,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:143,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:145,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:146,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:146,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:148,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:149,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:149,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:150,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getPathAttributesLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:150,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getPathAttributes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:152,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:153,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:153,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:154,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:154,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:155,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:155,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:159,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:161,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:161,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:162,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:163,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:164,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getBgpMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:164,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:165,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:165,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:166,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getWithdrawnRoutesLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:166,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:167,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getWithdrawnRoutes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:168,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:169,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:169,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:170,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:171,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getPathAttributesLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:171,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getPathAttributes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:172,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:173,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:173,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:176,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:177,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:178,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:179,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:181,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:182,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:183,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:184,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:186,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:187,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:188,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:189,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:190,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getNetworkLayerReachabilityInfoLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:190,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getNetworkLayerReachabilityInfo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:192,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:193,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:193,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:195,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:196,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:196,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:200,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:200,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:201,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:201,1
    - Dst: dynamic_cast<pcpp::BgpUpdateMessageLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:202,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:202,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:203,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:204,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getPathAttributesLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 206
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::BgpOpenMessageLayer*::getBgpMessageType
    - pcpp::BgpOpenMessageLayer*::getOpenMsgHeader
    - pcpp::BgpKeepaliveMessageLayer*::getBgpMessageType
    - std::vector::clear
    - pcpp::BgpLayer*::getHeaderLen
    - pcpp::BgpUpdateMessageLayer*::getPathAttributes
    - pcpp::BgpUpdateMessageLayer*::getWithdrawnRoutesLength
    - pcpp::BgpOpenMessageLayer*::getOptionalParametersLength
    - pcpp::BgpRouteRefreshMessageLayer*::getRouteRefreshHeader
    - pcpp::BgpUpdateMessageLayer*::getBgpMessageType
    - pcpp::BgpNotificationMessageLayer*::getNotificationMsgHeader
    - pcpp::BgpUpdateMessageLayer*::getNextLayer
    - dynamic_cast<pcpp::BgpUpdateMessageLayer*>
    - pcpp::BgpKeepaliveMessageLayer*::getHeaderLen
    - pcpp::BgpNotificationMessageLayer*::getHeaderLen
    - pcpp::BgpUpdateMessageLayer*::getWithdrawnRoutes
    - pcpp::BgpNotificationMessageLayer*::getNotificationDataLen
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - pcpp::BgpNotificationMessageLayer*::getNotificationData
    - PTF_ASSERT_TRUE
    - pcpp::BgpUpdateMessageLayer*::getPathAttributesLength
    - pcpp::BgpKeepaliveMessageLayer*::getKeepaliveHeader
    - pcpp::BgpRouteRefreshMessageLayer*::getBgpMessageType
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - be16toh
    - pcpp::BgpOpenMessageLayer*::getBgpId
    - createPacketFromHexResource
    - pcpp::BgpLayer*::getBgpMessageType
    - pcpp::BgpOpenMessageLayer*::getOptionalParameters
    - pcpp::BgpNotificationMessageLayer*::getNotificationDataAsHexString
    - PTF_ASSERT_NULL
    - pcpp::BgpRouteRefreshMessageLayer*::getHeaderLen
    - pcpp::BgpUpdateMessageLayer*::getNetworkLayerReachabilityInfoLength
    - std::vector::size
    - pcpp::BgpNotificationMessageLayer*::getBgpMessageType
    - PTF_ASSERT_NOT_NULL
    - pcpp::BgpUpdateMessageLayer*::getNetworkLayerReachabilityInfo
    - pcpp::BgpOpenMessageLayer*::getHeaderLen
    - pcpp::BgpUpdateMessageLayer*::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(BgpLayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:210,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:214,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:218,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:222,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:226,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:230,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:234,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:242,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:242,1
    - Dst: pcpp::BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:243,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:244,1
    - Dst: dynamic_cast<pcpp::BgpKeepaliveMessageLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:246,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:246,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:247,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:248,1
    - Dst: pcpp::BgpKeepaliveMessageLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:248,1
    - Dst: pcpp::BgpKeepaliveMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:248,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:249,1
    - Dst: pcpp::BgpKeepaliveMessageLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:249,1
    - Dst: pcpp::BgpKeepaliveMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:249,1
    - Dst: pcpp::BgpKeepaliveMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:249,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:250,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:250,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:251,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:252,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:252,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:253,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:253,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:258,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:258,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:260,1
    - Dst: dynamic_cast<pcpp::BgpRouteRefreshMessageLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:262,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:262,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:263,1
    - Dst: pcpp::BgpRouteRefreshMessageLayer::getRouteRefreshHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:264,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:265,1
    - Dst: pcpp::BgpRouteRefreshMessageLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:265,1
    - Dst: pcpp::BgpRouteRefreshMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:265,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:266,1
    - Dst: pcpp::BgpRouteRefreshMessageLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:266,1
    - Dst: pcpp::BgpRouteRefreshMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:266,1
    - Dst: pcpp::BgpRouteRefreshMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:267,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:268,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:268,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:269,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:270,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:270,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:271,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:271,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:276,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:276,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:282,1
    - Dst: dynamic_cast<pcpp::BgpNotificationMessageLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:284,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:284,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:285,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:286,1
    - Dst: pcpp::BgpNotificationMessageLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:286,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:286,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:287,1
    - Dst: pcpp::BgpNotificationMessageLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:287,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:287,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:288,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:289,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:289,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:290,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:291,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:291,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:292,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:292,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:297,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:297,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:299,1
    - Dst: dynamic_cast<pcpp::BgpNotificationMessageLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:301,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:301,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:302,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:303,1
    - Dst: pcpp::BgpNotificationMessageLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:303,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:303,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:304,1
    - Dst: pcpp::BgpNotificationMessageLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:304,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:304,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:305,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:306,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:306,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:307,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:308,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:308,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:309,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:309,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:314,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:314,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:316,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:316,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:317,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:317,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:318,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:318,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:319,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:319,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:321,1
    - Dst: dynamic_cast<pcpp::BgpUpdateMessageLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:323,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:323,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:324,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:325,1
    - Dst: pcpp::BgpUpdateMessageLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:325,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:325,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:326,1
    - Dst: pcpp::BgpUpdateMessageLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:326,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:326,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:326,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:327,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:327,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:327,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:328,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:329,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:329,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:330,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:330,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:335,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:335,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:337,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:337,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:338,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:338,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:339,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:339,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:341,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:341,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:344,1
    - Dst: dynamic_cast<pcpp::BgpUpdateMessageLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:345,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:345,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:346,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:347,1
    - Dst: pcpp::BgpUpdateMessageLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:347,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:347,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:348,1
    - Dst: pcpp::BgpUpdateMessageLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:348,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:348,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:348,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:349,1
    - Dst: pcpp::Packet::insertLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:349,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:349,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:350,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:351,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:351,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:352,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:352,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:357,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:357,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:359,1
    - Dst: pcpp::BgpOpenMessageLayer::optional_parameter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:359,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:360,1
    - Dst: pcpp::BgpOpenMessageLayer::optional_parameter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:360,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:361,1
    - Dst: pcpp::BgpOpenMessageLayer::optional_parameter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:361,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:362,1
    - Dst: pcpp::BgpOpenMessageLayer::optional_parameter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:362,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:363,1
    - Dst: pcpp::BgpOpenMessageLayer::optional_parameter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:363,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:364,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:365,1
    - Dst: dynamic_cast<pcpp::BgpOpenMessageLayer*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:367,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:367,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:368,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:369,1
    - Dst: pcpp::BgpOpenMessageLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:369,1
    - Dst: pcpp::BgpOpenMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:369,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:370,1
    - Dst: pcpp::BgpOpenMessageLayer::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:370,1
    - Dst: pcpp::BgpOpenMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:370,1
    - Dst: pcpp::BgpOpenMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:370,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:371,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:371,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:372,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:373,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:373,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:374,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:374,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:379,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:379,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:381,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:381,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:382,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:383,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:383,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:384,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:385,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:388,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:388,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:389,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:389,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:390,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:390,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:391,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:392,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:394,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:395,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:396,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:397,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:397,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:398,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:398,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:399,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:399,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:400,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:400,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:403,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:404,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:404,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:405,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:405,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:406,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:406,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:407,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:408,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:408,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:409,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:409,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:410,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:410,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:411,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:411,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:414,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:415,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:415,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:416,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:416,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:417,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:417,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:418,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:419,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:419,1
    - Dst: pcpp::BgpUpdateMessageLayer::BgpUpdateMessageLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:422,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:424,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:425,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:425,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:426,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:426,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:427,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:427,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:428,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:428,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:429,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:429,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:430,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:430,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:431,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:431,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:432,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:434,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:434,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:435,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:436,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:436,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:437,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 121
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 440
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TcpLayer::getTcpHeader
    - htobe16
    - pcpp::BgpUpdateMessageLayer*::getDataLen
    - pcpp::BgpUpdateMessageLayer::path_attribute
    - std::vector::clear
    - htobe32
    - pcpp::BgpUpdateMessageLayer::prefix_and_ip
    - dynamic_cast<pcpp::BgpRouteRefreshMessageLayer*>
    - dynamic_cast<pcpp::BgpOpenMessageLayer*>
    - pcpp::BgpKeepaliveMessageLayer*::getData
    - dynamic_cast<pcpp::BgpUpdateMessageLayer*>
    - pcpp::BgpRouteRefreshMessageLayer*::getDataLen
    - pcpp::Packet::addLayer
    - pcpp::BgpRouteRefreshMessageLayer::getDataLen
    - pcpp::SdpLayer::getOwnerIPv4Address
    - std::vector::push_back
    - get
    - pcpp::BgpOpenMessageLayer*::getDataLen
    - PTF_ASSERT_TRUE
    - pcpp::BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer
    - pcpp::Packet::Packet
    - pcpp::BgpKeepaliveMessageLayer*::getDataLen
    - dynamic_cast<pcpp::BgpNotificationMessageLayer*>
    - PTF_ASSERT_EQUAL
    - pcpp::BgpOpenMessageLayer::optional_parameter
    - pcpp::BgpUpdateMessageLayer*::getData
    - data::get
    - pcpp::Packet::getLayerOfType
    - pcpp::Packet::detachLayer
    - pcpp::BgpRouteRefreshMessageLayer::getRouteRefreshHeader
    - memcpy
    - pcpp::BgpOpenMessageLayer::getDataLen
    - createPacketAndBufferFromHexResource
    - pcpp::BgpNotificationMessageLayer::getDataLen
    - pcpp::BgpOpenMessageLayer::getData
    - pcpp::BgpNotificationMessageLayer*::getData
    - pcpp::BgpKeepaliveMessageLayer::getDataLen
    - pcpp::BgpUpdateMessageLayer::getData
    - pcpp::BgpKeepaliveMessageLayer::getData
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::BgpRouteRefreshMessageLayer::getData
    - pcpp::BgpRouteRefreshMessageLayer*::getData
    - pcpp::BgpUpdateMessageLayer::BgpUpdateMessageLayer
    - pcpp::BgpUpdateMessageLayer::getDataLen
    - pcpp::Packet::insertLayer
    - PTF_ASSERT_NOT_NULL
    - pcpp::BgpOpenMessageLayer*::getData
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::StpLayer::IDtoMacAddress
    - pcpp::BgpNotificationMessageLayer::getData
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp::BgpNotificationMessageLayer*::getDataLen
    - dynamic_cast<pcpp::BgpKeepaliveMessageLayer*>
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(BgpLayerCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:445,1
    - Dst: createPacketAndBufferFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:447,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:451,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:452,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:453,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:454,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:455,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:461,1
    - Dst: data::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:461,1
    - Dst: get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:462,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:463,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:465,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:466,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:467,1
    - Dst: pcpp::BgpNotificationMessageLayer*::setNotificationData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:467,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getNotificationMsgHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:468,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:469,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:471,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:472,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:473,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:473,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:473,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:474,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:474,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:474,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:475,1
    - Dst: pcpp_tests::utils::PacketFactory::PacketFactory
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:477,1
    - Dst: pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:478,1
    - Dst: pcpp::Packet::setRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:480,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:480,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:481,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:486,1
    - Dst: pcpp::BgpNotificationMessageLayer*::setNotificationData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:486,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getNotificationMsgHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:487,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:488,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:489,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:489,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:489,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:490,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:490,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:490,1
    - Dst: pcpp::BgpNotificationMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:491,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:495,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:496,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:497,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:498,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:499,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:500,1
    - Dst: pcpp::BgpOpenMessageLayer*::getOpenMsgHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:501,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:501,1
    - Dst: pcpp::BgpOpenMessageLayer*::setBgpId
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:502,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:502,1
    - Dst: pcpp::BgpOpenMessageLayer*::getOptionalParameters
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:504,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:505,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:505,1
    - Dst: pcpp::BgpOpenMessageLayer::optional_parameter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:505,1
    - Dst: std::vector::pop_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:506,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:507,1
    - Dst: pcpp::BgpOpenMessageLayer::optional_parameter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:507,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:508,1
    - Dst: pcpp::BgpOpenMessageLayer*::setOptionalParameters
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:508,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:509,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:510,1
    - Dst: pcpp::BgpOpenMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:510,1
    - Dst: pcpp::BgpOpenMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:510,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:511,1
    - Dst: pcpp::BgpOpenMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:511,1
    - Dst: pcpp::BgpOpenMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:511,1
    - Dst: pcpp::BgpOpenMessageLayer*::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:511,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:512,1
    - Dst: pcpp::BgpOpenMessageLayer*::clearOptionalParameters
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:512,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:513,1
    - Dst: pcpp::BgpOpenMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:513,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:514,1
    - Dst: pcpp::BgpOpenMessageLayer*::getOptionalParametersLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:514,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:518,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:519,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:521,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:523,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:525,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:527,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:529,1
    - Dst: pcpp::Packet::getNextLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:531,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:532,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:533,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:534,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:535,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:536,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:537,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:540,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:540,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:541,1
    - Dst: pcpp::BgpUpdateMessageLayer*::setWithdrawnRoutes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:541,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:542,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:542,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:542,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:543,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:543,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:543,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:544,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:546,1
    - Dst: pcpp::BgpUpdateMessageLayer*::clearWithdrawnRoutes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:546,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:549,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:549,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:550,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:550,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:551,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:551,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:552,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:552,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:553,1
    - Dst: pcpp::BgpUpdateMessageLayer*::setPathAttributes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:553,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:554,1
    - Dst: pcpp::BgpUpdateMessageLayer*::setNetworkLayerReachabilityInfo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:554,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:555,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:555,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:555,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:556,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:556,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:556,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:557,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:559,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:559,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:560,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:560,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:560,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:561,1
    - Dst: pcpp::BgpUpdateMessageLayer*::setPathAttributes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:561,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:562,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:563,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:563,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:564,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:564,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:565,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:565,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:566,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:566,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:567,1
    - Dst: pcpp::BgpUpdateMessageLayer*::setNetworkLayerReachabilityInfo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:567,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:568,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:568,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:568,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:569,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:569,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:569,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:570,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:572,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:572,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:573,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:573,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:574,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:575,1
    - Dst: pcpp::BgpUpdateMessageLayer*::setPathAttributes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:575,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:576,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:577,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:577,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:578,1
    - Dst: pcpp::BgpUpdateMessageLayer*::setNetworkLayerReachabilityInfo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:578,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:579,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:579,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:579,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:580,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:580,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:580,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:581,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:583,1
    - Dst: pcpp::BgpUpdateMessageLayer*::clearNetworkLayerReachabilityInfo
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:583,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:584,1
    - Dst: pcpp::BgpUpdateMessageLayer*::clearPathAttributes
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:584,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:585,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:585,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:585,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:586,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:586,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:586,1
    - Dst: pcpp::BgpUpdateMessageLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 589
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::BgpOpenMessageLayer*::getOpenMsgHeader
    - pcpp::BgpNotificationMessageLayer*::setNotificationData
    - pcpp::BgpOpenMessageLayer*::setBgpId
    - pcpp::BgpOpenMessageLayer*::clearOptionalParameters
    - pcpp::Packet::getNextLayerOfType
    - pcpp::BgpUpdateMessageLayer*::setPathAttributes
    - pcpp::BgpUpdateMessageLayer::path_attribute
    - std::vector::insert
    - std::vector::clear
    - pcpp::BgpUpdateMessageLayer::prefix_and_ip
    - pcpp::BgpOpenMessageLayer*::getOptionalParametersLength
    - pcpp::BgpNotificationMessageLayer*::getNotificationMsgHeader
    - pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
    - pcpp::BgpUpdateMessageLayer*::clearNetworkLayerReachabilityInfo
    - pcpp_tests::utils::PacketFactory::PacketFactory
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - std::vector::push_back
    - pcpp::Packet::setRawPacket
    - get
    - pcpp::BgpOpenMessageLayer*::getDataLen
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_EQUAL
    - std::vector::erase
    - pcpp::BgpUpdateMessageLayer*::getData
    - gettimeofday
    - data::get
    - pcpp::Packet::getLayerOfType
    - memcpy
    - createPacketAndBufferFromHexResource
    - std::vector::pop_back
    - pcpp::BgpOpenMessageLayer*::getOptionalParameters
    - createPacketFromHexResource
    - pcpp::BgpNotificationMessageLayer*::getData
    - pcpp::BgpUpdateMessageLayer*::clearWithdrawnRoutes
    - pcpp::Packet::computeCalculateFields
    - pcpp::BgpUpdateMessageLayer*::setWithdrawnRoutes
    - pcpp::BgpOpenMessageLayer*::setOptionalParameters
    - std::vector::begin
    - pcpp::BgpUpdateMessageLayer*::clearPathAttributes
    - PTF_ASSERT_NOT_NULL
    - pcpp::BgpOpenMessageLayer*::getData
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::BgpUpdateMessageLayer*::setNetworkLayerReachabilityInfo
    - pcpp::BgpNotificationMessageLayer*::getDataLen
    - pcpp::BgpOpenMessageLayer::optional_parameter
    - pcpp::BgpOpenMessageLayer*::getHeaderLen
    - pcpp::BgpUpdateMessageLayer*::getHeaderLen
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(BgpLayerEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:594,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:599,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:600,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:602,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:603,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:610,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:611,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:613,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:614,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:615,1
    - Dst: auto*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:615,1
    - Dst: auto*::getOptionalParameters
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:618,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:619,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:619,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:621,1
    - Dst: auto*::getOptionalParametersLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:621,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:628,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:629,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:631,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:632,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:633,1
    - Dst: auto*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:633,1
    - Dst: auto*::getOptionalParameters
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:636,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:637,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:637,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:639,1
    - Dst: auto*::getOptionalParametersLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:639,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:646,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:647,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:649,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:650,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:651,1
    - Dst: auto*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:651,1
    - Dst: auto*::getOptionalParameters
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:654,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:655,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:655,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:657,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:658,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:660,1
    - Dst: auto*::getOptionalParametersLength
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:660,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:666,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:667,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 674
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp
    functionUses: 1
    functionsReached:
    - SuppressLogs::SuppressLogs
    - PTF_ASSERT_EQUAL
    - auto*::getHeaderLen
    - std::vector::size
    - pcpp::Packet::getLayerOfType
    - auto::get
    - auto*::getOptionalParametersLength
    - PTF_ASSERT_NOT_NULL
    - auto*::getOptionalParameters
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(BgpOpenMalformedOptionalParamsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:18,1
    - Dst: pcpp::OUILookup::initOUIDatabaseFromJson
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:18,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:20,1
    - Dst: pcpp::OUILookup::getVendorName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:20,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:22,1
    - Dst: pcpp::OUILookup::getVendorName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:22,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:23,1
    - Dst: pcpp::OUILookup::getVendorName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:23,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:25,1
    - Dst: pcpp::OUILookup::getVendorName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:25,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:26,1
    - Dst: pcpp::OUILookup::getVendorName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:26,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:28,1
    - Dst: pcpp::OUILookup::getVendorName
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 15
    functionDepth: 9
    functionLinenumber: 15
    functionLinenumberEnd: 29
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_GREATER_THAN
    - PTF_ASSERT_EQUAL
    - pcpp::OUILookup::initOUIDatabaseFromJson
    - pcpp::OUILookup::getVendorName
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(OUILookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:41,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:41,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:42,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:42,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:44,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:44,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:45,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:45,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:46,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:46,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:47,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:48,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:48,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:49,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:49,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:49,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:51,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:52,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:53,1
    - Dst: pcpp::RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:53,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:57,1
    - Dst: pcpp::RawPacket*::getRawData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - be16toh
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::RawPacket*::getRawDataLen
    - PTF_ASSERT_TRUE
    - pcpp::RawPacket*::getRawData
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(EthPacketCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::EthLayer::EthLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:64,1
    - Dst: pcpp::PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:67,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:69,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:70,1
    - Dst: pcpp::Packet*::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:70,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:71,1
    - Dst: pcpp::Packet*::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:71,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:73,1
    - Dst: pcpp::Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:73,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:74,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:74,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:75,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:75,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:76,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:76,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:77,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:77,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:78,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:78,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:79,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:81,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:83,1
    - Dst: pcpp::RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:83,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:87,1
    - Dst: pcpp::RawPacket*::getRawData
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet*::getLayerOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet*::isPacketOfType
    - pcpp::Packet*::getRawPacket
    - pcpp::RawPacket*::getRawData
    - PTF_ASSERT_NOT_NULL
    - be16toh
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::PayloadLayer::PayloadLayer
    - PTF_ASSERT_TRUE
    - pcpp::RawPacket*::getRawDataLen
    - pcpp::Packet::Packet
    - pcpp::Packet*::addLayer
    - pcpp::EthLayer::EthLayer
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(EthPacketPointerCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:93,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:95,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:96,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:96,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:97,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:97,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:101,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:102,1
    - Dst: pcpp::EthLayer*::getDestMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:103,1
    - Dst: pcpp::EthLayer*::getSourceMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:103,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:104,1
    - Dst: pcpp::EthLayer*::getEthHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:104,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:104,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:106,1
    - Dst: pcpp::EthLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:106,1
    - Dst: pcpp::EthLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:107,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:108,1
    - Dst: pcpp::ArpLayer*::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:108,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:108,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:109,1
    - Dst: pcpp::ArpLayer*::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:109,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:109,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:110,1
    - Dst: pcpp::ArpLayer*::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:110,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:111,1
    - Dst: pcpp::ArpLayer*::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:111,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:112,1
    - Dst: pcpp::ArpLayer*::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:112,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:112,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:113,1
    - Dst: pcpp::ArpLayer*::isReply
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:113,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:114,1
    - Dst: pcpp::ArpLayer*::isRequest
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:114,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:115,1
    - Dst: pcpp::ArpLayer*::getSenderIpAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:115,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:116,1
    - Dst: pcpp::ArpLayer*::getTargetMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:116,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 117
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::EthLayer*::getDestMac
    - htobe16
    - pcpp::EthLayer*::getEthHeader
    - pcpp::ArpLayer*::isReply
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - pcpp::ArpLayer*::getTargetMacAddress
    - pcpp::EthLayer*::getNextLayer
    - PTF_ASSERT_TRUE
    - pcpp::ArpLayer*::getSenderIpAddr
    - pcpp::ArpLayer*::getArpHeader
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - be16toh
    - createPacketFromHexResource
    - pcpp::EthLayer*::getSourceMac
    - PTF_ASSERT_NOT_NULL
    - pcpp::ArpLayer*::isRequest
    - pcpp::StpLayer::IDtoMacAddress
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(EthAndArpPacketParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::readFileIntoBuffer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:122,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:128,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:129,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:131,1
    - Dst: pcpp::ArpLayer::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:131,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:135,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:135,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:136,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:136,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:137,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:138,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:138,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:140,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:141,1
    - Dst: pcpp::ArpLayer*::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:143,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:144,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:145,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:145,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:147,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:147,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:147,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:148,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:148,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:148,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:148,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:159,1
    - Dst: pcpp::ArpLayer::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:159,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:162,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:162,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:163,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:163,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:165,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:166,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:166,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:168,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:169,1
    - Dst: pcpp::ArpLayer*::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:171,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:172,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:173,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:173,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:175,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:175,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:175,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:176,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:176,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:176,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:176,1
    - Dst: pcpp_tests::readFileIntoBuffer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:181,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:192,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:192,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:193,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:193,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:195,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:197,1
    - Dst: pcpp::ArpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:197,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:198,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:198,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:199,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:199,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:200,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:200,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:200,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:201,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:201,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:201,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:202,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:202,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:202,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:203,1
    - Dst: pcpp::ArpLayer::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:203,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:204,1
    - Dst: pcpp::ArpLayer::getSenderMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:204,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:205,1
    - Dst: pcpp::ArpLayer::getSenderIpAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:205,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:206,1
    - Dst: pcpp::ArpLayer::getTargetMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:206,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:207,1
    - Dst: pcpp::ArpLayer::getTargetIpAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:207,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:209,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:209,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:211,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:212,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:214,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:214,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:214,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:215,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:215,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:215,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:216,1
    - Dst: pcpp::ArpLayer::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:225,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:227,1
    - Dst: pcpp::ArpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:227,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:228,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:228,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:229,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:229,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:230,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:230,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:230,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:231,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:231,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:231,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:232,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:232,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:232,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:233,1
    - Dst: pcpp::ArpLayer::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:233,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:234,1
    - Dst: pcpp::ArpLayer::getSenderMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:234,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:235,1
    - Dst: pcpp::ArpLayer::getSenderIpAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:235,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:236,1
    - Dst: pcpp::ArpLayer::getTargetMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:236,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:237,1
    - Dst: pcpp::ArpLayer::getTargetIpAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:237,1
    - Dst: pcpp::ArpLayer::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:246,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:248,1
    - Dst: pcpp::ArpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:248,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:249,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:249,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:250,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:250,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:251,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:251,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:251,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:252,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:252,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:252,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:253,1
    - Dst: pcpp::ArpLayer::getArpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:253,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:253,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:254,1
    - Dst: pcpp::ArpLayer::getMessageType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:254,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:255,1
    - Dst: pcpp::ArpLayer::getSenderMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:255,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:256,1
    - Dst: pcpp::ArpLayer::getSenderIpAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:256,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:257,1
    - Dst: pcpp::ArpLayer::getTargetMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:257,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:258,1
    - Dst: pcpp::ArpLayer::getTargetIpAddr
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 260
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp
    functionUses: 1
    functionsReached:
    - auto::data
    - htobe16
    - pcpp::Packet::addLayer
    - pcpp::ArpLayer::getTargetIpAddr
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::ArpLayer::getSenderMacAddress
    - pcpp::ArpLayer::computeCalculateFields
    - pcpp::ArpLayer::getHeaderLen
    - PTF_ASSERT_TRUE
    - pcpp::ArpLayer*::getArpHeader
    - pcpp::ArpLayer::getTargetMacAddress
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::size
    - pcpp_tests::readFileIntoBuffer
    - pcpp::ArpLayer::getMessageType
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::ArpLayer::getArpHeader
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::ArpLayer::getSenderIpAddr
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(ArpPacketCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:264,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:265,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:267,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:267,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:268,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:269,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:270,1
    - Dst: pcpp::EthDot3Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:270,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:271,1
    - Dst: pcpp::EthDot3Layer*::getSourceMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:271,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:271,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:272,1
    - Dst: pcpp::EthDot3Layer*::getDestMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:272,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:272,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:273,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:273,1
    - Dst: pcpp::EthDot3Layer*::getEthHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:273,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:275,1
    - Dst: pcpp::EthDot3Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:275,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:276,1
    - Dst: pcpp::EthDot3Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 277
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - auto::get
    - pcpp::EthDot3Layer*::getNextLayer
    - PTF_ASSERT_NOT_NULL
    - be16toh
    - pcpp::EthDot3Layer*::getSourceMac
    - createPacketFromHexResource
    - pcpp::StpLayer::IDtoMacAddress
    - pcpp::EthDot3Layer*::getDestMac
    - PTF_ASSERT_TRUE
    - pcpp::EthDot3Layer*::getHeaderLen
    - pcpp::EthDot3Layer*::getEthHeader
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(EthDot3LayerParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:281,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:282,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:292,1
    - Dst: pcpp::PayloadLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:292,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:294,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:295,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:295,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:296,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:296,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:297,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:299,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:299,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:299,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:299,1
    - Dst: pcpp::EthDot3Layer::setSourceMac
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:303,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:303,1
    - Dst: pcpp::EthDot3Layer::getEthHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:304,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:304,1
    - Dst: pcpp::PayloadLayer::PayloadLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:306,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:309,1
    - Dst: pcpp::Packet::detachLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:309,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:310,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:310,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:311,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:313,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:313,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:313,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 279
    functionDepth: 4
    functionLinenumber: 279
    functionLinenumberEnd: 315
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - auto::data
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - htobe16
    - pcpp::PayloadLayer::getDataLen
    - PTF_ASSERT_EQUAL
    - pcpp::EthDot3Layer::setSourceMac
    - auto::size
    - pcpp::EthDot3Layer::getEthHeader
    - pcpp::Packet::detachLayer
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::Packet::Packet
    - pcpp::StpLayer::IDtoMacAddress
    - pcpp::PayloadLayer::PayloadLayer
    - PTF_ASSERT_TRUE
    - pcpp_tests::loadHexResourceToVector
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(EthDot3LayerCreateEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:30,1
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:49,1
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:50,1
    - Dst: first::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:50,1
    - Dst: first::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:50,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:52,1
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:52,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:54,1
    - Dst: first::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:54,1
    - Dst: first::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:54,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:55,1
    - Dst: pcpp::Base64::encodeHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:55,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:58,1
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:58,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:63,1
    - Dst: pcpp::Base64::encode
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:63,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:65,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:66,1
    - Dst: pcpp::Base64::encodeHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 7
    functionDepth: 2
    functionLinenumber: 7
    functionLinenumberEnd: 69
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp
    functionUses: 1
    functionsReached:
    - SuppressLogs::SuppressLogs
    - pcpp::byteArrayToHexString
    - pcpp::Base64::encodeHexString
    - PTF_ASSERT_EQUAL
    - first::data
    - PTF_ASSERT_RAISES
    - pcpp::Base64::encode
    - first::size
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(Base64EncodingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:94,1
    - Dst: pcpp::Base64::decodeToString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:94,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:95,1
    - Dst: pcpp::Base64::getDecodedSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:95,1
    - Dst: second::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:96,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:115,1
    - Dst: pcpp::Base64::decodeToByteVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:115,1
    - Dst: pcpp::Base64::decodeToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:118,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:119,1
    - Dst: second::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:119,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:120,1
    - Dst: pcpp::Base64::decodeToHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:121,1
    - Dst: pcpp::byteArrayToHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:122,1
    - Dst: second::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:122,1
    - Dst: second::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:122,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:123,1
    - Dst: pcpp::Base64::getDecodedSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:123,1
    - Dst: second::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:124,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:130,1
    - Dst: pcpp::Base64::decodeToHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:130,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:132,1
    - Dst: pcpp::Base64::decodeToHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:132,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:137,1
    - Dst: pcpp::Base64::decodeToHexString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:137,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:141,1
    - Dst: pcpp::Base64::decodeToByteArray
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:141,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:144,1
    - Dst: pcpp::Base64::getDecodedSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:144,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:146,1
    - Dst: pcpp::Base64::getDecodedSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 149
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp
    functionUses: 1
    functionsReached:
    - second::data
    - pcpp::byteArrayToHexString
    - pcpp::Base64::getDecodedSize
    - PTF_ASSERT_EQUAL
    - PTF_ASSERT_VECTORS_EQUAL
    - second::size
    - PTF_ASSERT_RAISES
    - pcpp::Base64::decodeToHexString
    - pcpp::Base64::decodeToString
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::Base64::decodeToByteArray
    - pcpp::Base64::decodeToByteVector
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(Base64DecodingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:14,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:19,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:21,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:23,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:23,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:24,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:26,1
    - Dst: auto::getAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:26,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:27,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:28,1
    - Dst: auto::getAddressValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:29,1
    - Dst: auto::getNextProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:30,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:31,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:31,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:35,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:37,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:39,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:39,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:42,1
    - Dst: auto::getAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:43,1
    - Dst: auto::getNextProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:44,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:44,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:48,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:50,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:52,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:52,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:53,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:55,1
    - Dst: auto::getAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:55,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:56,1
    - Dst: auto::getAddressValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:56,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:57,1
    - Dst: auto::getNextProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:57,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:58,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:58,1
    - Dst: pcpp::RawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:64,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:64,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:64,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:68,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:68,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:71,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 73
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp
    functionUses: 1
    functionsReached:
    - auto::data
    - auto::toString
    - auto::getNextLayer
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - auto::getHeaderLen
    - auto::size
    - createPacketFromHexResource
    - PTF_ASSERT_TRUE
    - auto::getAddress
    - auto::getNextProtocol
    - auto::getAddressValue
    - pcpp::RawPacket
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(CiscoHdlcParsingTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:81,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:81,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:84,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:85,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:86,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:88,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:90,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:92,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:93,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:94,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:94,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:96,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:96,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:97,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:98,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:103,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:104,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:107,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:108,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:109,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:111,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:113,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:115,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:117,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:117,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:119,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:119,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:120,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 123
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::get
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_BUF_COMPARE
    - createPacketFromHexResource
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(CiscoHdlcLayerCreationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::CiscoHdlcLayer::setAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:130,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:131,1
    - Dst: pcpp::CiscoHdlcLayer::getAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:131,1
    - Dst: pcpp::CiscoHdlcLayer::setAddressValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:137,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:138,1
    - Dst: pcpp::CiscoHdlcLayer::getAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:138,1
    - Dst: pcpp::CiscoHdlcLayer::setAddressValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:144,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:145,1
    - Dst: pcpp::CiscoHdlcLayer::getAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:145,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:151,1
    - Dst: pcpp::CiscoHdlcLayer::setAddress
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 155
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::CiscoHdlcLayer::getAddress
    - pcpp::CiscoHdlcLayer::setAddressValue
    - PTF_ASSERT_EQUAL
    - pcpp::CiscoHdlcLayer::setAddress
    - PTF_ASSERT_RAISES
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(CiscoHdlcLayerEditTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:22,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:24,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:26,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:27,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:27,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:28,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:28,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:30,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:33,1
    - Dst: pcpp::TcpLayer*::getDstPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:33,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:34,1
    - Dst: pcpp::TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:34,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:35,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:35,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:36,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:36,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:37,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:38,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:39,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:39,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:39,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:42,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:42,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:43,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:44,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:44,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:45,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:45,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:46,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:46,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:47,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:47,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:48,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:48,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:49,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:49,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:50,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:50,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:51,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:54,1
    - Dst: pcpp::TcpLayer*::getTcpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:54,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:57,1
    - Dst: pcpp::TcpLayer*::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:57,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:58,1
    - Dst: pcpp::TcpLayer*::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:58,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:61,1
    - Dst: pcpp::TcpLayer*::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:61,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:62,1
    - Dst: pcpp::TcpLayer*::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:62,1
    - Dst: pcpp::TcpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:64,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:65,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:66,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 67
    functionName: DISABLE_WARNING_DEPRECATED::PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp
    functionUses: 0
    functionsReached:
    - htobe16
    - pcpp::TcpLayer*::getTcpOption
    - pcpp::TcpLayer*::getNextLayer
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::TcpLayer*::getTcpOptionCount
    - PTF_ASSERT_NOT_NULL
    - pcpp::TcpLayer*::getSrcPort
    - htobe32
    - createPacketFromHexResource
    - pcpp::TcpLayer*::getDstPort
    - pcpp::Layer*::getProtocol
    - PTF_ASSERT_TRUE
    - pcpp::TcpLayer*::getTcpHeader
    linkageType: ''
    returnType: DISABLE_WARNING_PUSH
    signature: 'DISABLE_WARNING_PUSH DISABLE_WARNING_DEPRECATED


      PTF_TEST_CASE(TcpPacketNoOptionsParsing)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:72,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:74,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:76,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:77,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:77,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:79,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:80,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:82,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:83,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - PTF_ASSERT_TRUE
    - pcpp::TcpLayer*::getTcpHeader
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TcpPacketWithAccurateEcnParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:89,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:91,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:93,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:94,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:94,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:95,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:95,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:97,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:98,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:100,1
    - Dst: pcpp::TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:100,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:101,1
    - Dst: pcpp::TcpLayer*::getDstPort
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:101,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:102,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:103,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:103,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:104,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:104,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:105,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:105,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:108,1
    - Dst: pcpp::TcpLayer*::getTcpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:108,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:111,1
    - Dst: pcpp::TcpLayer*::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:111,1
    - Dst: pcpp::TcpLayer*::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:112,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:113,1
    - Dst: pcpp::TcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:113,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:114,1
    - Dst: pcpp::TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:114,1
    - Dst: pcpp::TcpOption::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:115,1
    - Dst: pcpp::TcpOption::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:117,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:118,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:118,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:121,1
    - Dst: pcpp::TcpLayer*::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:121,1
    - Dst: pcpp::TcpLayer*::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:122,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:123,1
    - Dst: pcpp::TcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:123,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:124,1
    - Dst: pcpp::TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:124,1
    - Dst: pcpp::TcpOption::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:125,1
    - Dst: pcpp::TcpOption::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:126,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:127,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:127,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:128,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 129
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TcpOption::isNull
    - pcpp::TcpLayer*::getTcpOption
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::TcpOption::getValueAs
    - auto::get
    - gettimeofday
    - pcpp::Packet::getLayerOfType
    - pcpp::TcpLayer*::getTcpOptionCount
    - PTF_ASSERT_NOT_NULL
    - pcpp::TcpLayer*::getSrcPort
    - htobe32
    - createPacketFromHexResource
    - pcpp::TcpOption::getTotalSize
    - pcpp::TcpLayer*::getDstPort
    - PTF_ASSERT_TRUE
    - pcpp::TcpLayer*::getTcpHeader
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TcpPacketWithOptionsParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:134,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:136,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:138,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:140,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:141,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:143,1
    - Dst: pcpp::TcpLayer*::getTcpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:143,1
    - Dst: pcpp::TcpLayer*::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:146,1
    - Dst: pcpp::TcpLayer*::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:147,1
    - Dst: pcpp::TcpLayer*::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:148,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:149,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:149,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:150,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:150,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:151,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:151,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:153,1
    - Dst: pcpp::TcpOption::getTcpOptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:153,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:154,1
    - Dst: pcpp::TcpOption::getTcpOptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:154,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:155,1
    - Dst: pcpp::TcpOption::getTcpOptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:155,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:157,1
    - Dst: pcpp::TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:157,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:158,1
    - Dst: pcpp::TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:158,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:159,1
    - Dst: pcpp::TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:159,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:161,1
    - Dst: pcpp::TcpOption::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:161,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:161,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:162,1
    - Dst: pcpp::TcpOption::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:162,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:163,1
    - Dst: pcpp::TcpOption::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:163,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:164,1
    - Dst: pcpp::TcpOption::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:164,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:165,1
    - Dst: pcpp::TcpOption::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:165,1
    - Dst: pcpp::TcpLayer*::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:168,1
    - Dst: pcpp::TcpLayer*::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:169,1
    - Dst: pcpp::TcpLayer*::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:170,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:171,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:171,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:172,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:172,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:173,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:173,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:175,1
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:175,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:176,1
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:176,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:177,1
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:177,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:179,1
    - Dst: pcpp::TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:179,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:180,1
    - Dst: pcpp::TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:180,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:181,1
    - Dst: pcpp::TcpOption::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:181,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:183,1
    - Dst: pcpp::TcpOption::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:183,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:183,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:184,1
    - Dst: pcpp::TcpOption::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:184,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:185,1
    - Dst: pcpp::TcpOption::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:185,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:186,1
    - Dst: pcpp::TcpOption::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:186,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:187,1
    - Dst: pcpp::TcpOption::getValueAs
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:187,1
    - Dst: pcpp::TcpLayer*::getFirstTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:190,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:191,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:191,1
    - Dst: pcpp::TcpOption::getTcpOptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:191,1
    - Dst: pcpp::TcpLayer*::getNextTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:192,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:193,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:193,1
    - Dst: pcpp::TcpOption::getTcpOptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:193,1
    - Dst: pcpp::TcpLayer*::getNextTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:194,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:195,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:195,1
    - Dst: pcpp::TcpOption::getTcpOptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:195,1
    - Dst: pcpp::TcpLayer*::getNextTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:196,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:197,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:197,1
    - Dst: pcpp::TcpOption::getTcpOptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:197,1
    - Dst: pcpp::TcpLayer*::getNextTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:198,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:199,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:199,1
    - Dst: pcpp::TcpOption::getTcpOptionType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:199,1
    - Dst: pcpp::TcpLayer*::getFirstTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:202,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:203,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:203,1
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:203,1
    - Dst: pcpp::TcpLayer*::getNextTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:204,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:205,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:205,1
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:205,1
    - Dst: pcpp::TcpLayer*::getNextTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:206,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:207,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:207,1
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:207,1
    - Dst: pcpp::TcpLayer*::getNextTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:208,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:209,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:209,1
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:209,1
    - Dst: pcpp::TcpLayer*::getNextTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:210,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:211,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:211,1
    - Dst: pcpp::TcpOption::getTcpOptionEnumType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:211,1
    - Dst: pcpp::TcpLayer*::getNextTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:212,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:213,1
    - Dst: pcpp::TcpOption::isNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:213,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 214
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TcpOption::isNull
    - htobe16
    - pcpp::TcpLayer*::getTcpOption
    - pcpp::TcpOption::getValueAs
    - PTF_ASSERT_EQUAL
    - auto::get
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - pcpp::TcpLayer*::getTcpOptionCount
    - PTF_ASSERT_NOT_NULL
    - pcpp::TcpOption::getTcpOptionType
    - pcpp::TcpLayer*::getNextTcpOption
    - pcpp::TcpOption::getTotalSize
    - pcpp::TcpLayer*::getFirstTcpOption
    - PTF_ASSERT_TRUE
    - createPacketFromHexResource
    - pcpp::TcpOption::isNotNull
    - pcpp::TcpOption::getTcpOptionEnumType
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TcpPacketWithOptionsParsing2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:219,1
    - Dst: createPacketFromHexResource
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:221,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:223,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:225,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:225,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:226,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp
    functionUses: 1
    functionsReached:
    - auto::get
    - pcpp::Packet::getLayerOfType
    - gettimeofday
    - PTF_ASSERT_NOT_NULL
    - createPacketFromHexResource
    - PTF_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TcpMalformedPacketParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:237,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:237,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:238,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:238,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:239,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:241,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:241,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:242,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:242,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:243,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:244,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:245,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:245,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:246,1
    - Dst: pcpp::TcpLayer::addTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:246,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:246,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:247,1
    - Dst: pcpp::TcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:247,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:248,1
    - Dst: pcpp::TcpLayer::addTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:248,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:248,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:249,1
    - Dst: pcpp::TcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:249,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:250,1
    - Dst: pcpp::TcpLayer::addTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:251,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:251,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:253,1
    - Dst: pcpp::TcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:253,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:255,1
    - Dst: pcpp::TcpLayer::addTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:256,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:256,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:257,1
    - Dst: pcpp::TcpLayer::addTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:258,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:258,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:260,1
    - Dst: pcpp::TcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:260,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:261,1
    - Dst: pcpp::TcpLayer::getTcpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:261,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:267,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:268,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:269,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:270,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:272,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:273,1
    - Dst: pcpp::TcpLayer::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:274,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:275,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:275,1
    - Dst: pcpp::TcpOption::setValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:276,1
    - Dst: pcpp::TcpOption::setValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:277,1
    - Dst: pcpp::TcpLayer::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:280,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:281,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:281,1
    - Dst: pcpp::TcpOption::setValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:282,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:284,1
    - Dst: pcpp::TcpLayer::getTcpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:284,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:286,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:288,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:290,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:290,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:290,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 291
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TcpLayer::getTcpHeader
    - htobe16
    - auto::data
    - htobe32
    - pcpp::TcpOptionBuilder
    - pcpp::TcpLayer::getTcpOptionCount
    - pcpp::Packet::addLayer
    - pcpp::TcpLayer::getHeaderLen
    - pcpp::TcpOption::setValue
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_EQUAL
    - auto::size
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::TcpLayer::getTcpOption
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::TcpLayer::addTcpOption
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp_tests::loadHexResourceToVector
    - pcpp::TcpOption::isNotNull
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TcpPacketCreation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:301,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:301,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:302,1
    - Dst: pcpp::IPv4Layer::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:303,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:305,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:305,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:306,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:307,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:308,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:308,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:310,1
    - Dst: pcpp::TcpLayer::addTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:310,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:310,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:311,1
    - Dst: pcpp::TcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:311,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:313,1
    - Dst: pcpp::TcpLayer::addTcpOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:313,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:313,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:314,1
    - Dst: pcpp::TcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:314,1
    - Dst: pcpp::TcpLayer::addTcpOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:316,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:317,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:318,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:318,1
    - Dst: pcpp::TcpOption::setValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:319,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:319,1
    - Dst: pcpp::TcpOption::setValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:320,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:321,1
    - Dst: pcpp::TcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:321,1
    - Dst: pcpp::TcpLayer::addTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:324,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:324,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:325,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:325,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:326,1
    - Dst: pcpp::TcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:326,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:328,1
    - Dst: pcpp::TcpLayer::addTcpOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:329,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:329,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:331,1
    - Dst: pcpp::TcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:331,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:333,1
    - Dst: pcpp::TcpLayer::getTcpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:333,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:336,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:336,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:337,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:337,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:338,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:338,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:340,1
    - Dst: pcpp::TcpLayer::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:342,1
    - Dst: pcpp_tests::loadHexResourceToVector
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:344,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:346,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:346,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:346,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:346,1
    - Dst: pcpp::TcpLayer::addTcpOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:349,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:349,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:350,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:350,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:351,1
    - Dst: pcpp::TcpOption::setValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:351,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:351,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:352,1
    - Dst: pcpp::TcpLayer::addTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:353,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:354,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:354,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:354,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:356,1
    - Dst: pcpp::TcpLayer::insertTcpOptionAfter
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:356,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:357,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:361,1
    - Dst: pcpp::TcpLayer::getTcpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:361,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:363,1
    - Dst: pcpp::TcpLayer::removeTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:363,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:364,1
    - Dst: pcpp::TcpLayer::getTcpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:364,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:365,1
    - Dst: pcpp::TcpLayer::removeTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:365,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:366,1
    - Dst: pcpp::TcpLayer::removeTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:366,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:367,1
    - Dst: pcpp::TcpLayer::getTcpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:367,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:369,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:369,1
    - Dst: auto::data
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:369,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:369,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:371,1
    - Dst: pcpp::TcpLayer::removeAllTcpOptions
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:371,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:372,1
    - Dst: pcpp::TcpLayer::getTcpOptionCount
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:372,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:373,1
    - Dst: pcpp::TcpLayer::getFirstTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:373,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:374,1
    - Dst: pcpp::TcpLayer::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:374,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:375,1
    - Dst: pcpp::TcpLayer::getTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:375,1
    - Dst: pcpp::TcpLayer::addTcpOption
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:378,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:378,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:379,1
    - Dst: pcpp::TcpOption::isNotNull
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:379,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:380,1
    - Dst: pcpp::TcpOption::setValue
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:380,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 381
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TcpLayer::getTcpHeader
    - htobe16
    - auto::data
    - htobe32
    - pcpp::TcpOptionBuilder
    - pcpp::TcpLayer::getTcpOptionCount
    - pcpp::Packet::addLayer
    - pcpp::TcpLayer::getHeaderLen
    - pcpp::TcpOption::setValue
    - PTF_ASSERT_TRUE
    - pcpp::TcpLayer::addTcpOptionAfter
    - pcpp::TcpLayer::insertTcpOptionAfter
    - PTF_ASSERT_EQUAL
    - auto::size
    - pcpp::TcpLayer::removeTcpOption
    - pcpp::TcpLayer::getFirstTcpOption
    - pcpp::Packet::computeCalculateFields
    - pcpp::Packet::getRawPacket
    - pcpp::TcpLayer::getTcpOption
    - pcpp::TcpLayer::removeAllTcpOptions
    - PTF_ASSERT_BUF_COMPARE
    - static_cast<uint32_t>
    - pcpp::TcpLayer::addTcpOption
    - pcpp::IPv4Layer::getIPv4Header
    - pcpp_tests::loadHexResourceToVector
    - pcpp::TcpOption::isNotNull
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TcpPacketCreation2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:385,1
    - Dst: reinterpret_cast<uint16_t*>
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:391,1
    - Dst: pcpp::computeChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:394,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 398
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_EQUAL
    - pcpp::computeChecksum
    - uint8_t::uint8_t
    - reinterpret_cast<uint16_t*>
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TcpChecksumInvalidRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::computeChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:418,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:420,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:420,1
    - Dst: pcpp::computeChecksum
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:423,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 425
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_EQUAL
    - htobe16
    - pcpp::computeChecksum
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TcpChecksumMultiBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 56
    functionName: printUsage
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void printUsage()
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:74,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:93,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:96,1
    - Dst: dpdkArgs::push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:99,1
    - Dst: PTF_SET_VERBOSE_MODE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:108,1
    - Dst: PTF_SHOW_SKIPPED_TESTS
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:123,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:126,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:127,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:129,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:130,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:145,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:146,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:159,1
    - Dst: printUsage
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:184,1
    - Dst: exit
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:185,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:191,1
    - Dst: pcpp::getPcapPlusPlusVersionFull
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:194,1
    - Dst: pcpp::getBuildDateTime
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:195,1
    - Dst: pcpp::getGitInfo
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:196,1
    - Dst: PTF_START_RUNNING_TESTS
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:211,1
    - Dst: testSetUp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:213,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:215,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:216,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:217,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:218,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:219,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:220,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:221,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:222,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:224,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:226,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:227,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:228,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:229,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:230,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:231,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:232,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:233,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:234,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:236,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:237,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:238,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:239,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:240,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:241,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:242,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:243,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:244,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:245,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:246,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:247,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:248,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:249,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:250,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:251,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:252,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:253,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:255,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:256,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:257,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:258,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:259,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:260,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:261,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:262,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:263,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:264,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:265,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:266,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:267,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:268,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:269,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:271,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:272,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:273,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:274,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:275,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:277,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:278,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:279,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:280,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:282,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:283,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:284,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:285,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:286,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:287,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:288,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:290,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:291,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:292,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:293,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:294,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:295,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:297,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:298,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:300,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:301,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:302,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:303,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:304,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:305,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:306,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:307,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:308,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:309,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:310,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:311,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:312,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:313,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:314,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:315,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:316,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:317,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:319,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:320,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:321,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:322,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:323,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:324,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:325,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:326,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:328,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:330,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:332,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:333,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:334,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:335,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:337,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:338,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:339,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:340,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:344,1
    - Dst: PTF_RUN_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp:345,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 219
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 348
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp
    functionUses: 0
    functionsReached:
    - exit
    - PTF_START_RUNNING_TESTS
    - PTF_RUN_TEST
    - PTF_SET_VERBOSE_MODE
    - printUsage
    - pcpp::getPcapPlusPlusVersionFull
    - atoi
    - getopt_long
    - testSetUp
    - PTF_SHOW_SKIPPED_TESTS
    - pcpp::getBuildDateTime
    - pcpp::getGitInfo
    - pcpp::GtpV2InformationElement::getInstance
    - dpdkArgs::push_back
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:26,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' url'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 27
    functionName: sendURLRequest
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - system
    linkageType: ''
    returnType: bool
    signature: bool sendURLRequest(const std::string& url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:33,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:36,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:42,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:43,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' pcapFileName'
    - ' packetStream'
    - ' errMsg'
    argTypes:
    - std::string
    - std::vector<pcpp::RawPacket>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 49
    functionName: readPcapIntoPacketVec
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PcapFileReaderDevice::getNextPacket
    - pcpp::PcapFileReaderDevice::open
    - clear
    - pcpp::RawPacket::RawPacket
    - push_back
    linkageType: ''
    returnType: bool
    signature: "bool readPcapIntoPacketVec(const std::string& pcapFileName, std::vector<pcpp::RawPacket>&
      packetStream,\n                           std::string& errMsg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:53,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:56,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:57,1
    - Dst: std::ifstream::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: getFileLength
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp
    functionUses: 12
    functionsReached:
    - std::ifstream::close
    - std::ifstream::seekg
    - std::ifstream::tellg
    - c_str
    linkageType: ''
    returnType: int
    signature: int getFileLength(const std::string& filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getFileLength
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:64,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:68,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:73,1
    - Dst: std::ifstream::eof
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:75,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:78,1
    - Dst: std::ifstream::read
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:79,1
    - Dst: strtol
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:80,1
    - Dst: std::ifstream::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ' filename'
    - ' bufferLength'
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: readFileIntoBuffer
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::close
    - c_str
    - getFileLength
    - strtol
    - std::ifstream::read
    - memset
    - uint8_t::uint8_t
    - std::ifstream::eof
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t * readFileIntoBuffer(const std::string& filename, int& bufferLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:91,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:95,1
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:102,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:108,1
    - Dst: dpdkArgs::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:108,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:109,1
    - Dst: dpdkArgs::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:109,1
    - Dst: dpdkArgs::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:109,1
    - Dst: std::back_inserter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:110,1
    - Dst: const_cast<char*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:110,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:110,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:111,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:111,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:111,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:112,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:112,1
    - Dst: pcpp::DpdkDeviceList::initDpdk
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 117
    functionName: testSetUp
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp
    functionUses: 2
    functionsReached:
    - std::vector::empty
    - dpdkArgs::begin
    - dpdkArgs::size
    - pcpp::DpdkDeviceList::initDpdk
    - std::vector::size
    - static_cast<int>
    - c_str
    - pcpp::getNumOfCores
    - std::vector::data
    - std::transform
    - std::back_inserter
    - dpdkArgs::end
    - const_cast<char*>
    - pcpp::GtpV2InformationElement::getInstance
    - std::vector::reserve
    linkageType: ''
    returnType: void
    signature: void testSetUp()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:120,1
    - Dst: TempFile::generateRandomName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:120,1
    - Dst: open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:127,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ' extension'
    - ' name'
    - open
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: TempFile::TempFile
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - TempFile::generateRandomName
    - empty
    - std::runtime_error
    - open
    linkageType: ''
    returnType: void
    signature: void TempFile::TempFile(const std::string& extension, const std::string&
      name, bool open)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:136,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:138,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:140,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: TempFile::~TempFile()
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - std::remove
    - TempFile::close
    - is_open
    linkageType: ''
    returnType: void
    signature: void TempFile::~TempFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dis
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 159
    functionName: TempFile::generateRandomName
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp
    functionUses: 1
    functionsReached:
    - dis
    linkageType: ''
    returnType: std::string
    signature: std::string TempFile::generateRandomName()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - device
    argTypes:
    - pcpp::IDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: DeviceTeardown::DeviceTeardown
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeviceTeardown(pcpp::IDevice* device, bool deleteDevice = false)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:25,1
    - Dst: close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:27,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: ~DeviceTeardown()
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h
    functionUses: 0
    functionsReached:
    - close
    - isOpened
    linkageType: ''
    returnType: void
    signature: void ~DeviceTeardown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: DeviceTeardown::cancelTeardown
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cancelTeardown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: SuppressLogs::SuppressLogs
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h
    functionUses: 23
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void SuppressLogs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: ~SuppressLogs()
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void ~SuppressLogs()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:69,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:70,1
    - Dst: end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:71,1
    - Dst: end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:71,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:79,1
    - Dst: std::make_pair
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:79,1
    - Dst: std::make_pair
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ' left'
    - ' right'
    - ' result'
    argTypes:
    - std::unordered_map<KeyType, LeftValue>
    - std::unordered_map<KeyType, RightValue>
    - std::unordered_map<KeyType, std::pair<LeftValue, RightValue>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: intersectMaps
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h
    functionUses: 0
    functionsReached:
    - end
    - std::make_pair
    - insert
    - begin
    linkageType: ''
    returnType: void
    signature: "void intersectMaps(const std::unordered_map<KeyType, LeftValue>& left,\n
      \                  const std::unordered_map<KeyType, RightValue>& right,\n                   std::unordered_map<KeyType,
      std::pair<LeftValue, RightValue>>& result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: TempFile::TempFile
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TempFile(const TempFile&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: '& operator=(const TempFile&)'
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TempFile
    signature: TempFile & operator=(const TempFile&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: '& operator<<(const T& data)'
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h
    functionUses: 0
    functionsReached:
    - flush
    linkageType: ''
    returnType: TempFile
    signature: TempFile & operator<<(const T& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:106,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:106,1
    - Dst: data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:106,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:106,1
    - Dst: flush
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: '& operator<<(const std::vector<uint8_t>& data)'
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h
    functionUses: 0
    functionsReached:
    - write
    - data
    - reinterpret_cast<const char*>
    - size
    - flush
    linkageType: ''
    returnType: TempFile
    signature: TempFile & operator<<(const std::vector<uint8_t>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:113,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:113,1
    - Dst: data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:113,1
    - Dst: flush
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::array<uint8_t, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: '& operator<<(const std::array<uint8_t, N>& data)'
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h
    functionUses: 0
    functionsReached:
    - write
    - data
    - reinterpret_cast<const char*>
    - flush
    linkageType: ''
    returnType: TempFile
    signature: TempFile & operator<<(const std::array<uint8_t, N>& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: TempFile::getFileName
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string getFileName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: TempFile::close
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h
    functionUses: 2
    functionsReached:
    - TempFile::close
    linkageType: ''
    returnType: void
    signature: void close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PointerVector*::pushBack
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:14,1
    - Dst: pcpp::IPReassembly::PacketKey*::clone
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - userCookie
    argTypes:
    - pcpp::IPReassembly::PacketKey*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: ipReassemblyOnFragmentsClean
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::PointerVector*::pushBack
    - pcpp::IPReassembly::PacketKey*::clone
    linkageType: ''
    returnType: void
    signature: void ipReassemblyOnFragmentsClean(const pcpp::IPReassembly::PacketKey*
      key, void* userCookie)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:25,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:25,1
    - Dst: pcpp::IPReassembly::IPReassembly
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:30,1
    - Dst: pcpp::IPReassembly::getMaxCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:31,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:31,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:35,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:36,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:38,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:39,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:40,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:44,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:44,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:46,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:48,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:49,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:50,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:50,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:54,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:55,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:56,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:56,1
    - Dst: readFileIntoBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:61,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:63,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:64,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:65,1
    - Dst: pcpp::Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:65,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:66,1
    - Dst: pcpp::Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:66,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:67,1
    - Dst: pcpp::Packet*::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:67,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:68,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:70,1
    - Dst: pcpp::HttpRequestLayer*::getUrl
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:70,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:71,1
    - Dst: pcpp::HttpRequestLayer*::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:71,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:73,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:74,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:74,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:75,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:75,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:84,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:84,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:88,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:88,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:90,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:94,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:95,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:97,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:98,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:99,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:103,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:103,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:105,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:107,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:108,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:109,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:109,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:113,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:114,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:115,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:115,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:119,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:121,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:121,1
    - Dst: readFileIntoBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:124,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:126,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:127,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:127,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:128,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:128,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:136,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:137,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:137,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:139,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:142,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:143,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:144,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:146,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:147,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:153,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:154,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:156,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:157,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:158,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:160,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 163
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::Packet*::getLayerOfType
    - std::vector::clear
    - readFileIntoBuffer
    - pcpp::RawPacketVector::at
    - readPcapIntoPacketVec
    - std::vector::at
    - pcpp::Packet*::getRawPacket
    - pcpp::RawPacketVector::size
    - pcpp::PcapFileReaderDevice::getNextPackets
    - PTF_ASSERT_TRUE
    - pcpp::HttpRequestLayer*::getFieldCount
    - pcpp::IPReassembly::getMaxCapacity
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileReaderDevice::close
    - pcpp::IPReassembly::processPacket
    - PTF_ASSERT_NULL
    - pcpp::HttpRequestLayer*::getUrl
    - pcpp::IPReassembly::getCurrentCapacity
    - PTF_PRINT_VERBOSE
    - std::vector::size
    - pcpp::Packet*::isPacketOfType
    - PTF_ASSERT_NOT_NULL
    - pcpp::IPReassembly::IPReassembly
    - PTF_ASSERT_BUF_COMPARE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestIPFragmentationSanity)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPReassembly::IPReassembly
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:170,1
    - Dst: readFileIntoBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:176,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:181,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:181,1
    - Dst: swap
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:184,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:186,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:187,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:189,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:191,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:192,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:195,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:199,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:201,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:203,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:204,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:208,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:209,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:213,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:214,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:214,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:215,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:215,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:220,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:225,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:225,1
    - Dst: swap
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:228,1
    - Dst: swap
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:231,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:233,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:234,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:236,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:238,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:239,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:242,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:243,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:247,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:249,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:251,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:252,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:256,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:257,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:261,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:262,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:262,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:263,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:263,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:268,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:273,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:273,1
    - Dst: swap
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:276,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:278,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:279,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:281,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:283,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:284,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:285,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:287,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:288,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:292,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:296,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:297,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:301,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:302,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:306,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:307,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:307,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:308,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:308,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:313,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:318,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:318,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:321,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:322,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:322,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:323,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:323,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:325,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:326,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:328,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:330,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:331,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:334,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:335,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:339,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:341,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:343,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:344,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:348,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:349,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:353,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:354,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:354,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:355,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:355,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:360,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:365,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:365,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:368,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:370,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:371,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:371,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:372,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:372,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:375,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:376,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:378,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:380,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:381,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:382,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:384,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:385,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:389,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:390,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:394,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:395,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:395,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:396,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:396,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:400,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:408,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:408,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:412,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:412,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:414,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:418,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:418,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:419,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:420,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:421,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:421,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:422,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:423,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:424,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:424,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:425,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:426,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:427,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:427,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:428,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:429,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:430,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:430,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:431,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:432,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:433,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:433,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:434,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:435,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:436,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:436,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:437,1
    - Dst: readFileIntoBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:440,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:443,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:443,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:445,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:445,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:446,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:446,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 162
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 451
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::Packet*::getLayerOfType
    - std::vector::insert
    - std::vector::clear
    - swap
    - readFileIntoBuffer
    - pcpp::RawPacketVector::at
    - readPcapIntoPacketVec
    - std::vector::at
    - pcpp::Packet*::getRawPacket
    - pcpp::PcapFileReaderDevice::getNextPackets
    - PTF_ASSERT_TRUE
    - std::vector::erase
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileReaderDevice::close
    - pcpp::IPReassembly::processPacket
    - PTF_ASSERT_NULL
    - PTF_PRINT_VERBOSE
    - std::vector::size
    - std::vector::begin
    - PTF_ASSERT_NOT_NULL
    - pcpp::IPReassembly::IPReassembly
    - PTF_ASSERT_BUF_COMPARE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestIPFragOutOfOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IPReassembly::IPReassembly
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:458,1
    - Dst: readFileIntoBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:465,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:467,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:467,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:471,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:472,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:475,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:475,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:476,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:476,1
    - Dst: pcpp::IPReassembly::getCurrentPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:477,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:479,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:480,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:480,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:481,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:481,1
    - Dst: readFileIntoBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:490,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:493,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:493,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:497,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:497,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:499,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:503,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:504,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:507,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:507,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:508,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:508,1
    - Dst: pcpp::IPReassembly::getCurrentPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:509,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:510,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:510,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:511,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:511,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 453
    functionDepth: 3
    functionLinenumber: 453
    functionLinenumberEnd: 517
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPReassembly::getCurrentPacket
    - PTF_ASSERT_EQUAL
    - pcpp::SdpLayer::getOwnerIPv4Address
    - string
    - pcpp::Packet*::getRawPacket
    - pcpp::PcapFileReaderDevice::open
    - PTF_ASSERT_NOT_NULL
    - pcpp::IPReassembly::IPReassembly
    - pcpp::PcapFileReaderDevice::close
    - pcpp::IPReassembly::processPacket
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::PcapFileReaderDevice::getNextPackets
    - readFileIntoBuffer
    - PTF_ASSERT_TRUE
    - pcpp::RawPacketVector::at
    - readPcapIntoPacketVec
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - std::vector::at
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestIPFragPartialData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:522,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:522,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:525,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:525,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:541,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:541,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:542,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:542,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:543,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:543,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:544,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:544,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:545,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:545,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:546,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:546,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:547,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:547,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:548,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:548,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:549,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:549,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:550,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:550,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:551,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:551,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:552,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:552,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:554,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:554,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:555,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:555,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:556,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:556,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:557,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:557,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:559,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:560,1
    - Dst: pcpp::IPReassembly::IPReassembly
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:576,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:582,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:582,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:583,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:584,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:585,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:585,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:586,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:587,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:588,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:588,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:589,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:590,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:591,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:591,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:592,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:593,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:594,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:594,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:595,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:597,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:598,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:598,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:599,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:600,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:601,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:601,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:603,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:604,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:605,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:605,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:606,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:607,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:609,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:609,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:610,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:611,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:612,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:612,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:613,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:614,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:616,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:616,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:620,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:623,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:625,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:625,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:626,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:627,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:628,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:628,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:629,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:630,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:631,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:631,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:632,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:633,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:634,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:634,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:635,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:636,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:637,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:637,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:638,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:639,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:640,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:640,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:641,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:642,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:643,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:643,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:644,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:645,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:646,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:646,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:647,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:648,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:649,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:649,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:650,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:651,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:652,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:652,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:653,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:654,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:657,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:657,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:661,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:661,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:662,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:663,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:664,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:664,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:665,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:666,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:667,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:667,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:668,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:669,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:671,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:671,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:675,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:675,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:676,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:677,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:678,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:678,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:678,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:682,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:682,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:683,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:684,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:685,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:685,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:686,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:687,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:688,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:688,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:689,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:690,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:691,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:691,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:692,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:693,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:695,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:695,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:699,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:702,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:704,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:704,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:705,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:706,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:707,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:707,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:708,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:709,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:710,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:710,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:711,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:712,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:713,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:713,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:714,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:715,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:720,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:723,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:724,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:724,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:725,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:726,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:729,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:729,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:730,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:731,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:733,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:733,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:737,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:737,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:738,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:739,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:740,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:740,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:740,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:744,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:744,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:745,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:746,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:747,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:747,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:748,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:749,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:750,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:750,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:751,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:752,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:754,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:754,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:758,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:758,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:759,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:760,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:761,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:761,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:761,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:765,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:765,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:765,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:766,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:767,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:767,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:767,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:768,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:772,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:775,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:776,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:776,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:777,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:778,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:781,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:781,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:782,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:783,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:785,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:785,1
    - Dst: readFileIntoBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:788,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:789,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:789,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:790,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:790,1
    - Dst: readFileIntoBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:793,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:794,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:794,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:795,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:795,1
    - Dst: readFileIntoBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:798,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:799,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:799,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:800,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:800,1
    - Dst: readFileIntoBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:803,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:805,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:805,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:806,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:806,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:807,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:807,1
    - Dst: readFileIntoBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:810,1
    - Dst: pcpp::Packet*::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:812,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:812,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:813,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:813,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:814,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:814,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 204
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 835
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPReassembly::getCurrentCapacity
    - pcpp::Packet*::getLayerOfType
    - htobe16
    - PTF_ASSERT_EQUAL
    - PTF_PRINT_VERBOSE
    - pcpp::PcapFileReaderDevice::open
    - pcpp::Packet*::getRawPacket
    - PTF_ASSERT_NOT_NULL
    - pcpp::IPReassembly::IPReassembly
    - pcpp::PcapFileReaderDevice::close
    - pcpp::PcapFileReaderDevice::getNextPackets
    - pcpp::IPReassembly::processPacket
    - PTF_ASSERT_BUF_COMPARE
    - readFileIntoBuffer
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_NULL
    - pcpp::RawPacketVector::at
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestIPFragMultipleFrags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:840,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:840,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:843,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:843,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:859,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:859,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:860,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:860,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:861,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:861,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:862,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:862,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:863,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:863,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:864,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:864,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:865,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:865,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:866,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:866,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:867,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:867,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:868,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:868,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:869,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:869,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:870,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:870,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:872,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:872,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:873,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:873,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:874,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:874,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:875,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:875,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:881,1
    - Dst: pcpp::IPReassembly::getMaxCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:881,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:882,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:882,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:886,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:886,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:887,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:887,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:888,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:888,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:889,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:889,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:890,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:890,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:891,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:891,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:892,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:892,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:893,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:893,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:894,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:894,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:895,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:895,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:896,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:896,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:897,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:897,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:899,1
    - Dst: pcpp::IPReassembly::getMaxCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:899,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:900,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:900,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:902,1
    - Dst: pcpp::PointerVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:902,1
    - Dst: dynamic_cast<pcpp::IPReassembly::IPv6PacketKey*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:908,1
    - Dst: pcpp::PointerVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:908,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:909,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:910,1
    - Dst: pcpp::IPReassembly::IPv6PacketKey*::getFragmentID
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:910,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:911,1
    - Dst: pcpp::IPReassembly::IPv6PacketKey*::getSrcIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:911,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:911,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:911,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:912,1
    - Dst: pcpp::IPReassembly::IPv6PacketKey*::getDstIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:912,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:912,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:912,1
    - Dst: dynamic_cast<pcpp::IPReassembly::IPv4PacketKey*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:915,1
    - Dst: pcpp::PointerVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:915,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:916,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:917,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey*::getIpID
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:917,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:918,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey*::getSrcIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:918,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:918,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:918,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:919,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey*::getDstIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:919,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:919,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:919,1
    - Dst: dynamic_cast<pcpp::IPReassembly::IPv4PacketKey*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:922,1
    - Dst: pcpp::PointerVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:922,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:923,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:924,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey*::getIpID
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:924,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:925,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey*::getSrcIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:925,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:925,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:925,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:926,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey*::getDstIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:926,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:926,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:926,1
    - Dst: dynamic_cast<pcpp::IPReassembly::IPv6PacketKey*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:929,1
    - Dst: pcpp::PointerVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:929,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:930,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:931,1
    - Dst: pcpp::IPReassembly::IPv6PacketKey*::getFragmentID
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:931,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:932,1
    - Dst: pcpp::IPReassembly::IPv6PacketKey*::getSrcIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:932,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:932,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:932,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:933,1
    - Dst: pcpp::IPReassembly::IPv6PacketKey*::getDstIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:933,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:933,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:933,1
    - Dst: dynamic_cast<pcpp::IPReassembly::IPv4PacketKey*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:936,1
    - Dst: pcpp::PointerVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:936,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:937,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:938,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey*::getIpID
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:938,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:939,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey*::getSrcIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:939,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:939,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:939,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:940,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey*::getDstIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:940,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:940,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 837
    functionDepth: 2
    functionLinenumber: 837
    functionLinenumberEnd: 941
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPReassembly::IPv6PacketKey*::getFragmentID
    - dynamic_cast<pcpp::IPReassembly::IPv4PacketKey*>
    - pcpp::RawPacketVector::at
    - pcpp::IPReassembly::IPv6PacketKey*::getSrcIP
    - pcpp::SdpLayer::getOwnerIPv4Address
    - string
    - pcpp::PcapFileReaderDevice::getNextPackets
    - PTF_ASSERT_TRUE
    - pcpp::IPReassembly::IPv4PacketKey*::getSrcIP
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - pcpp::IPReassembly::IPv6PacketKey*::getDstIP
    - dynamic_cast<pcpp::IPReassembly::IPv6PacketKey*>
    - pcpp::IPReassembly::IPv4PacketKey*::getDstIP
    - pcpp::IPReassembly::getMaxCapacity
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::open
    - pcpp::IPReassembly::processPacket
    - pcpp::IPReassembly::getCurrentCapacity
    - pcpp::IPReassembly::IPv4PacketKey*::getIpID
    - pcpp::PointerVector::at
    - PTF_ASSERT_NOT_NULL
    - pcpp::PointerVector::size
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestIPFragMapOverflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:946,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:946,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:949,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:949,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:965,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:965,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:966,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:966,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:967,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:967,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:968,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:968,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:969,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:969,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:970,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:970,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:971,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:971,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:972,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:972,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:973,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:973,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:974,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:974,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:975,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:975,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:976,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:976,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:978,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:978,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:979,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:979,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:980,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:980,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:981,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:981,1
    - Dst: pcpp::IPReassembly::IPReassembly
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:983,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:987,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:987,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:988,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:988,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:989,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:989,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:990,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:990,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:991,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:991,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:992,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:992,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:993,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:993,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:994,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:994,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:995,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:995,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:996,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:996,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:997,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:997,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:998,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:998,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:999,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:999,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1000,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1000,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1002,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1002,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey::IPv4PacketKey
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1004,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey::setSrcIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1005,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1005,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1005,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey::setDstIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1006,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1006,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1006,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey::setIpID
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1008,1
    - Dst: pcpp::IPReassembly::removePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1009,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1010,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1010,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey::setIpID
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1012,1
    - Dst: pcpp::IPReassembly::removePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1013,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1014,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1014,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey::setIpID
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1017,1
    - Dst: pcpp::IPReassembly::removePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1018,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1019,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1019,1
    - Dst: pcpp::IPReassembly::IPv4PacketKey::setIpID
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1021,1
    - Dst: pcpp::IPReassembly::removePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1022,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1023,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1023,1
    - Dst: pcpp::IPReassembly::IPv6PacketKey::IPv6PacketKey
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1025,1
    - Dst: pcpp::IPReassembly::IPv6PacketKey::setSrcIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1026,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1026,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1026,1
    - Dst: pcpp::IPReassembly::IPv6PacketKey::setDstIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1027,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1027,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1027,1
    - Dst: pcpp::IPReassembly::IPv6PacketKey::setFragmentID
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1029,1
    - Dst: pcpp::IPReassembly::removePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1030,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1031,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1031,1
    - Dst: pcpp::IPReassembly::IPv6PacketKey::setFragmentID
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1034,1
    - Dst: pcpp::IPReassembly::removePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1035,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1036,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1036,1
    - Dst: pcpp::IPReassembly::IPv6PacketKey::setFragmentID
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1038,1
    - Dst: pcpp::IPReassembly::removePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1039,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1040,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1040,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1042,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1042,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1043,1
    - Dst: pcpp::IPReassembly::getCurrentCapacity
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 1044
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPReassembly::IPv4PacketKey::setDstIP
    - pcpp::IPReassembly::removePacket
    - pcpp::IPReassembly::IPv4PacketKey::setIpID
    - pcpp::RawPacketVector::at
    - pcpp::IPReassembly::IPv6PacketKey::IPv6PacketKey
    - pcpp::SdpLayer::getOwnerIPv4Address
    - pcpp::IPReassembly::IPv4PacketKey::IPv4PacketKey
    - string
    - pcpp::IPReassembly::IPv6PacketKey::setDstIP
    - pcpp::PcapFileReaderDevice::getNextPackets
    - PTF_ASSERT_TRUE
    - pcpp::IPReassembly::IPv6PacketKey::setSrcIP
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - pcpp::IPReassembly::IPv4PacketKey::setSrcIP
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::open
    - pcpp::IPReassembly::processPacket
    - pcpp::IPReassembly::IPv6PacketKey::setFragmentID
    - pcpp::IPReassembly::getCurrentCapacity
    - pcpp::IPReassembly::IPReassembly
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestIPFragRemove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1051,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1051,1
    - Dst: pcpp::IPReassembly::IPReassembly
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1053,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1061,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1064,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1065,1
    - Dst: readFileIntoBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1068,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1069,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1071,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1071,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1072,1
    - Dst: pcpp::Packet*::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1046
    functionDepth: 3
    functionLinenumber: 1046
    functionLinenumberEnd: 1076
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_EQUAL
    - pcpp::Packet*::getRawPacket
    - PTF_ASSERT_NOT_NULL
    - pcpp::IPReassembly::IPReassembly
    - pcpp::IPReassembly::processPacket
    - PTF_ASSERT_BUF_COMPARE
    - readFileIntoBuffer
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestIPFragWithPadding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1083,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1083,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1085,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1087,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1088,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1089,1
    - Dst: pcpp::IPv4Layer*::isFragment
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1089,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1090,1
    - Dst: pcpp::IPv4Layer*::isFirstFragment
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1090,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1091,1
    - Dst: pcpp::IPv4Layer*::isLastFragment
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1091,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1092,1
    - Dst: pcpp::IPv4Layer*::getFragmentOffset
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1092,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1093,1
    - Dst: pcpp::IPv4Layer*::getFragmentFlags
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1093,1
    - Dst: pcpp::IPReassembly::IPReassembly
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1096,1
    - Dst: pcpp::IPReassembly::processPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1098,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp:1099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1078
    functionDepth: 3
    functionLinenumber: 1078
    functionLinenumberEnd: 1100
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4Layer*::isFirstFragment
    - pcpp::IPv4Layer*::isLastFragment
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - PTF_ASSERT_NOT_NULL
    - pcpp::IPv4Layer*::getFragmentOffset
    - PTF_ASSERT_FALSE
    - pcpp::IPReassembly::IPReassembly
    - PTF_ASSERT_NOT_EQUAL
    - pcpp::IPReassembly::processPacket
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer*::isFragment
    - pcpp::IPv4Layer*::getFragmentFlags
    - readPcapIntoPacketVec
    - std::vector::at
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestIPv4MalformedFragment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:25,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:30,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' capturedPackets'
    - expectedPacketCount
    - maxTimeToSleep
    argTypes:
    - pcpp::RawPacketVector
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: incSleep
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - std::this_thread::sleep_for
    - size
    linkageType: ''
    returnType: int
    signature: int incSleep(const pcpp::RawPacketVector& capturedPackets, size_t expectedPacketCount,
      int maxTimeToSleep)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:41,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:42,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:43,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:46,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:46,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:53,1
    - Dst: pcpp::IPFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:56,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:57,1
    - Dst: pcpp::PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:57,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:58,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:58,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:59,1
    - Dst: sendURLRequest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:59,1
    - Dst: incSleep
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:61,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:62,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:63,1
    - Dst: PTF_ASSERT_GREATER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:64,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:64,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:66,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:66,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:69,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:69,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:70,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:71,1
    - Dst: pcpp::IPv4Layer*::getDstIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:71,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:73,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:78,1
    - Dst: pcpp::PortFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:81,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:82,1
    - Dst: pcpp::PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:82,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:83,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:83,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:84,1
    - Dst: sendURLRequest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:84,1
    - Dst: incSleep
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:86,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:87,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:88,1
    - Dst: PTF_ASSERT_GREATER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:89,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:89,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:90,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:90,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:93,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:93,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:94,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:95,1
    - Dst: pcpp::TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:95,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:97,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:102,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:104,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:105,1
    - Dst: pcpp::AndFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:107,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:108,1
    - Dst: pcpp::PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:108,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:109,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:109,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:110,1
    - Dst: sendURLRequest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:110,1
    - Dst: incSleep
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:112,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:113,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:114,1
    - Dst: PTF_ASSERT_GREATER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:115,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:115,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:116,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:116,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:119,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:119,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:120,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:120,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:121,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:122,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:123,1
    - Dst: pcpp::TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:123,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:124,1
    - Dst: pcpp::IPv4Layer*::getDstIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:124,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:126,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:131,1
    - Dst: pcpp::IPFilter::setDirection
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:133,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:134,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:135,1
    - Dst: pcpp::OrFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:137,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:138,1
    - Dst: pcpp::PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:138,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:139,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:139,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:140,1
    - Dst: sendURLRequest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:140,1
    - Dst: incSleep
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:142,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:143,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:144,1
    - Dst: PTF_ASSERT_GREATER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:145,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:145,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:146,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:146,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:149,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:151,1
    - Dst: pcpp::TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:152,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:154,1
    - Dst: pcpp::IPv4Layer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:157,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:159,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:161,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:163,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:164,1
    - Dst: pcpp::IPv4Layer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:164,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:168,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:173,1
    - Dst: pcpp::IPFilter::setDirection
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:174,1
    - Dst: pcpp::NotFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:176,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:177,1
    - Dst: pcpp::PcapLiveDevice*::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:177,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:178,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:178,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:179,1
    - Dst: sendURLRequest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:179,1
    - Dst: incSleep
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:181,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:182,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:183,1
    - Dst: PTF_ASSERT_GREATER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:184,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:184,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:185,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:185,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:188,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:190,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:191,1
    - Dst: pcpp::IPv4Layer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:191,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:194,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:196,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:198,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 200
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::OrFilter::parseToString
    - PTF_ASSERT_GREATER_OR_EQUAL_THAN
    - pcpp::IPFilter::parseToString
    - sendURLRequest
    - pcpp::PcapLiveDevice*::startCapture
    - pcpp::RawPacketVector::end
    - pcpp::RawPacketVector::begin
    - pcpp::PcapLiveDevice*::stopCapture
    - pcpp::GtpV2InformationElement::getInstance
    - PTF_ASSERT_NOT_EQUAL
    - pcpp::RawPacketVector::size
    - std::vector::push_back
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer*::getSrcIPAddress
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - pcpp::IPFilter::setDirection
    - pcpp::AndFilter::parseToString
    - pcpp::IPv4Layer*::getDstIPAddress
    - pcpp::NotFilter::parseToString
    - PTF_SKIP_TEST
    - pcpp::PcapLiveDevice*::open
    - PTF_PRINT_VERBOSE
    - incSleep
    - PTF_ASSERT_NOT_NULL
    - pcpp::TcpLayer*::getSrcPort
    - pcpp::PcapLiveDevice*::close
    - pcpp::PcapLiveDevice*::setFilter
    - pcpp::PortFilter::parseToString
    - ipToSendReceivePackets::c_str
    - pcpp::RawPacketVector::clear
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapFiltersLive)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:217,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:218,1
    - Dst: pcpp::BPFStringFilter::verifyFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:218,1
    - Dst: pcpp::MacAddress::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:223,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:224,1
    - Dst: pcpp::BPFStringFilter::verifyFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:224,1
    - Dst: pcpp::BPFStringFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:225,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:227,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:227,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:228,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:229,1
    - Dst: pcpp::BPFStringFilter::matches
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:235,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:239,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:240,1
    - Dst: pcpp::EthLayer*::getDestMac
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:240,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:244,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:246,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 250
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::EthLayer*::getDestMac
    - SuppressLogs::SuppressLogs
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - pcpp::BPFStringFilter::verifyFilter
    - pcpp::PcapFileReaderDevice::open
    - pcpp::MacAddress::toString
    - pcpp::BPFStringFilter::matches
    - PTF_ASSERT_FALSE
    - pcpp::PcapFileReaderDevice::close
    - pcpp::PcapFileReaderDevice::getNextPackets
    - pcpp::BPFStringFilter::parseToString
    - PTF_ASSERT_TRUE
    - pcpp::RawPacketVector::clear
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapFilters_General_BPFStr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:257,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:257,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:258,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:259,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:265,1
    - Dst: pcpp::BPFStringFilter::matches
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:265,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:268,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:269,1
    - Dst: pcpp::BPFStringFilter::matches
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:269,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:273,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 277
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp
    functionUses: 1
    functionsReached:
    - SuppressLogs::SuppressLogs
    - pcpp::PcapFileReaderDevice::open
    - pcpp::BPFStringFilter::matches
    - PTF_ASSERT_FALSE
    - pcpp::PcapFileReaderDevice::close
    - pcpp::PcapFileReaderDevice::getNextPackets
    - PTF_ASSERT_TRUE
    - pcpp::RawPacketVector::clear
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapFilters_MatchStatic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VlanFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:295,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:297,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:297,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:298,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:298,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:299,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:300,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:302,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:302,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:303,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:303,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:306,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:306,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:307,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:308,1
    - Dst: pcpp::VlanLayer*::getVlanID
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:308,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:311,1
    - Dst: pcpp::MacAddressFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:318,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:320,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:320,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:321,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:321,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:322,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:323,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:325,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:325,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:326,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:326,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:329,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:330,1
    - Dst: pcpp::EthLayer*::getDestMac
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:330,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:333,1
    - Dst: pcpp::EtherTypeFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:339,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:341,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:341,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:342,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:342,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:343,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:344,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:346,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:346,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:347,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:347,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:350,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:350,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:353,1
    - Dst: pcpp::IPv4IDFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:360,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:362,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:362,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:363,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:363,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:364,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:365,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:367,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:367,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:368,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:368,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:371,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:371,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:372,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:373,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:373,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:373,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:376,1
    - Dst: pcpp::IPv4TotalLengthFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:383,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:385,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:385,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:386,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:386,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:387,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:388,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:390,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:390,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:391,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:391,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:394,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:394,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:395,1
    - Dst: PTF_ASSERT_LOWER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:396,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:396,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:396,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:399,1
    - Dst: pcpp::TcpWindowSizeFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:406,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:408,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:408,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:409,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:409,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:410,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:411,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:413,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:413,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:414,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:414,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:417,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:417,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:418,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:419,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:419,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:419,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:422,1
    - Dst: pcpp::UdpLengthFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:429,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:431,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:431,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:432,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:432,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:433,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:434,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:436,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:436,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:437,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:437,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:440,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:440,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:441,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:442,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:442,1
    - Dst: pcpp::UdpLayer*::getUdpHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:442,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:445,1
    - Dst: pcpp::IPFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:451,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:452,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:454,1
    - Dst: pcpp::IPFilter::setAddr
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:454,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:457,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:457,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:458,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:458,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:459,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:460,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:462,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:462,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:463,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:463,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:466,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:466,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:467,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:468,1
    - Dst: pcpp::IPv4Layer*::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:468,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:468,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:471,1
    - Dst: pcpp::IPFilter::clearMask
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:473,1
    - Dst: pcpp::IPFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:474,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:475,1
    - Dst: IPFilter::IPFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:477,1
    - Dst: pcpp::IPNetwork::IPNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:477,1
    - Dst: pcpp::IPFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:478,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:479,1
    - Dst: pcpp::IPFilter::setDirection
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:481,1
    - Dst: pcpp::IPFilter::setLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:482,1
    - Dst: pcpp::IPFilter::setAddr
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:483,1
    - Dst: pcpp::IPFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:484,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:485,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:487,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:487,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:488,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:488,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:489,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:490,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:492,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:492,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:493,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:493,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:496,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:496,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:497,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:498,1
    - Dst: pcpp::IPv4Layer*::getSrcIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:498,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:498,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:500,1
    - Dst: pcpp::IPFilter::clearLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:502,1
    - Dst: pcpp::IPFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:503,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:504,1
    - Dst: pcpp::IPFilter::setMask
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:508,1
    - Dst: pcpp::IPFilter::setAddr
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:509,1
    - Dst: pcpp::IPFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:510,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:511,1
    - Dst: pcpp::IPFilter::clearMask
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:512,1
    - Dst: pcpp::IPFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:514,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:515,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:517,1
    - Dst: pcpp::IPFilter::setMask
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:517,1
    - Dst: pcpp::IPFilter::setMask
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:519,1
    - Dst: pcpp::IPFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:520,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:521,1
    - Dst: pcpp::IPFilter::setNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:523,1
    - Dst: pcpp::IPNetwork::IPNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:523,1
    - Dst: pcpp::IPFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:524,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:525,1
    - Dst: pcpp::IPFilter::setLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:527,1
    - Dst: pcpp::IPFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:528,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:529,1
    - Dst: pcpp::IPFilter::setAddr
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:531,1
    - Dst: pcpp::IPFilter::clearLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:532,1
    - Dst: pcpp::IPFilter::clearMask
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:533,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:536,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:536,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:537,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:537,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:538,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:539,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:541,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:541,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:542,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:542,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:545,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:545,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:546,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:548,1
    - Dst: pcpp::IPv6Layer*::getSrcIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:548,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:550,1
    - Dst: pcpp::IPFilter::setLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:551,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:553,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:553,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:554,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:554,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:555,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:556,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:558,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:558,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:559,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:559,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:562,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:562,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:563,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:564,1
    - Dst: pcpp::IPv6Layer*::getSrcIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:564,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:566,1
    - Dst: pcpp::PortRangeFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:572,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:574,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:574,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:575,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:575,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:576,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:577,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:579,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:579,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:581,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:581,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:584,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:584,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:584,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:585,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:587,1
    - Dst: pcpp::TcpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:588,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:589,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:591,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:593,1
    - Dst: pcpp::UdpLayer*::getSrcPort
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:594,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:595,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:598,1
    - Dst: pcpp::TcpFlagsFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:605,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:607,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:607,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:608,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:608,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:609,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:610,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:612,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:612,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:613,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:613,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:616,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:616,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:617,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:618,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:618,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:619,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:619,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:621,1
    - Dst: pcpp::TcpFlagsFilter::setTcpFlagsBitMask
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:623,1
    - Dst: pcpp::TcpFlagsFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:624,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:626,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:626,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:627,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:627,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:628,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:629,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:631,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:631,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:632,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:632,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:635,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:635,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:636,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:637,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:637,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:637,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:640,1
    - Dst: pcpp::ProtoFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:648,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:650,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:650,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:651,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:651,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:652,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:653,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:655,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:655,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:656,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:656,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:659,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:659,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:661,1
    - Dst: pcpp::ProtoFilter::setProto
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:664,1
    - Dst: pcpp::ProtoFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:665,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:667,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:667,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:668,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:668,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:669,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:670,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:672,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:672,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:673,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:673,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:676,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:676,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:678,1
    - Dst: pcpp::ProtoFilter::setProto
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:681,1
    - Dst: pcpp::ProtoFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:682,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:684,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:684,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:685,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:685,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:686,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:687,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:689,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:689,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:690,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:690,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:693,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:693,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:695,1
    - Dst: pcpp::ProtoFilter::setProto
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:698,1
    - Dst: pcpp::ProtoFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:699,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:701,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:701,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:702,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:702,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:703,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:704,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:706,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:706,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:707,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:707,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:710,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:710,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:712,1
    - Dst: pcpp::ProtoFilter::setProto
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:715,1
    - Dst: pcpp::ProtoFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:716,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:718,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:718,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:719,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:719,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:720,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:721,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:723,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:723,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:724,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:724,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:727,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:727,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:729,1
    - Dst: pcpp::ProtoFilter::setProto
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:736,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:738,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:739,1
    - Dst: pcpp::AndFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:741,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:742,1
    - Dst: pcpp::AndFilter::addFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:744,1
    - Dst: pcpp::AndFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:745,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:746,1
    - Dst: pcpp::AndFilter::removeFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:748,1
    - Dst: pcpp::AndFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:749,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:750,1
    - Dst: pcpp::AndFilter::removeFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:754,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:755,1
    - Dst: pcpp::AndFilter::clearAllFilters
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:758,1
    - Dst: pcpp::AndFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:759,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:760,1
    - Dst: pcpp::AndFilter::setFilters
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:762,1
    - Dst: pcpp::AndFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:763,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:764,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:766,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:766,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:767,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:767,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:768,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:769,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:771,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:771,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:772,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:772,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:775,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:775,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:776,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:776,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:777,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:778,1
    - Dst: pcpp::IPv4Layer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:778,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:781,1
    - Dst: pcpp::ProtoFilter::setProto
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:787,1
    - Dst: pcpp::IPFilter::setAddr
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:788,1
    - Dst: pcpp::IPFilter::setDirection
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:789,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:791,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:792,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:793,1
    - Dst: pcpp::AndFilter::setFilters
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:794,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:796,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:798,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:799,1
    - Dst: pcpp::OrFilter::parseToString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:802,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:803,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:805,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:805,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:806,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:806,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:807,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:808,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:810,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:810,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:811,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:811,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:814,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:820,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:820,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:821,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:821,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:822,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:823,1
    - Dst: pcpp::IPv4Layer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:823,1
    - Dst: pcpp::IPv4Layer*::getDstIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:824,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:827,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:829,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 307
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 831
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::EthLayer*::getDestMac
    - pcpp::OrFilter::parseToString
    - pcpp::VlanLayer*::getVlanID
    - pcpp::TcpWindowSizeFilter::parseToString
    - pcpp::AndFilter::setFilters
    - pcpp::IPFilter::parseToString
    - pcpp::IPv4Layer*::getSrcIPv4Address
    - std::vector::clear
    - pcpp::IPv4Layer*::getIPv4Header
    - pcpp::VlanFilter::parseToString
    - pcpp::UdpLengthFilter::parseToString
    - pcpp::RawPacketVector::end
    - pcpp::IPFilter::clearLen
    - pcpp::RawPacketVector::begin
    - PTF_ASSERT_NOT_EQUAL
    - pcpp::EtherTypeFilter::parseToString
    - pcpp::AndFilter::removeFilter
    - string
    - pcpp::AndFilter::addFilter
    - pcpp::RawPacketVector::size
    - PTF_ASSERT_LOWER_OR_EQUAL_THAN
    - std::vector::push_back
    - pcpp::PcapFileReaderDevice::getNextPackets
    - IPFilter::IPFilter
    - pcpp::TcpFlagsFilter::setTcpFlagsBitMask
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - pcpp::IPv4Layer*::getSrcIPAddress
    - pcpp::IPv4TotalLengthFilter::parseToString
    - pcpp::IPFilter::setNetwork
    - pcpp::IPFilter::setLen
    - pcpp::MacAddressFilter::parseToString
    - pcpp::UdpLayer*::getUdpHeader
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::IPFilter::clearMask
    - pcpp::TcpFlagsFilter::parseToString
    - pcpp::Packet::getLayerOfType
    - pcpp::PcapFileReaderDevice::open
    - pcpp::ProtoFilter::setProto
    - be16toh
    - pcpp::PcapFileReaderDevice::close
    - pcpp::IPFilter::setDirection
    - pcpp::AndFilter::parseToString
    - pcpp::IPv6Layer*::getSrcIPv6Address
    - pcpp::IPv4Layer*::getDstIPAddress
    - pcpp::IPNetwork::IPNetwork
    - pcpp::ProtoFilter::parseToString
    - PTF_SKIP_TEST
    - pcpp::IPv4IDFilter::parseToString
    - pcpp::AndFilter::clearAllFilters
    - pcpp::IPFilter::setMask
    - pcpp::UdpLayer*::getSrcPort
    - PTF_ASSERT_RAISES
    - pcpp::TcpLayer*::getSrcPort
    - pcpp::IPFilter::setAddr
    - pcpp::PcapFileReaderDevice::setFilter
    - pcpp::TcpLayer*::getTcpHeader
    - pcpp::RawPacketVector::clear
    - pcpp::PortRangeFilter::parseToString
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapFiltersOffline)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:840,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:840,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:842,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:843,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:850,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:850,1
    - Dst: pcpp::BPFStringFilter::matches
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:851,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:851,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:856,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:857,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:861,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:861,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:862,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:863,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:869,1
    - Dst: pcpp::IPv4Layer*::getDstIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:872,1
    - Dst: pcpp::BPFStringFilter::matches
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:873,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:875,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:882,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:883,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:887,1
    - Dst: pcpp::PcapNgFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:887,1
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:888,1
    - Dst: pcpp::PcapNgFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:889,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:895,1
    - Dst: pcpp::IPv4Layer*::getDstIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:898,1
    - Dst: pcpp::BPFStringFilter::matches
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:899,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:901,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:908,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:909,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp:911,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 833
    functionDepth: 2
    functionLinenumber: 833
    functionLinenumberEnd: 913
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_EQUAL
    - pcpp::PcapNgFileReaderDevice::open
    - pcpp::Packet::getLayerOfType
    - getLinkLayerType
    - pcpp::PcapFileReaderDevice::open
    - pcpp::RawPacketVector::clear
    - PTF_SKIP_TEST
    - pcpp::BPFStringFilter::matches
    - pcpp::PcapFileReaderDevice::close
    - pcpp::PcapFileReaderDevice::getNextPackets
    - pcpp::PcapNgFileReaderDevice::getNextPackets
    - pcpp::PcapNgFileReaderDevice::close
    - PTF_ASSERT_TRUE
    - pcpp::IPv4Layer*::getDstIPAddress
    - getRawDataLen
    - to_string
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapFilters_LinkLayer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - pcpp::IFileReaderDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: FileReaderTeardown::FileReaderTeardown
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileReaderTeardown(pcpp::IFileReaderDevice* reader)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: ~FileReaderTeardown()
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FileReaderTeardown()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::rdbuf
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' srcFilePath'
    - ' dstFilePath'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: copyContents
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::rdbuf
    linkageType: ''
    returnType: void
    signature: void copyContents(const std::string& srcFilePath, const std::string&
      dstFilePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ofstream::write
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' filePath'
    - data
    - dataSize
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: writeContents
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::write
    linkageType: ''
    returnType: void
    signature: void writeContents(const std::string& filePath, char const* data, size_t
      dataSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::rdbuf
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' srcFilePath'
    - ' dstFilePath'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: copyContents
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::rdbuf
    linkageType: ''
    returnType: void
    signature: void copyContents(const std::string& srcFilePath, const std::string&
      dstFilePath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ofstream::write
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' filePath'
    - data
    - dataSize
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: writeContents
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 0
    functionsReached:
    - std::ofstream::write
    linkageType: ''
    returnType: void
    signature: void writeContents(const std::string& filePath, char const* data, size_t
      dataSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: writeContents
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:62,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:62,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:65,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:66,1
    - Dst: dynamic_cast<pcpp::PcapFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:66,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:66,1
    - Dst: writeContents
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:76,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:76,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:79,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:80,1
    - Dst: dynamic_cast<pcpp::PcapFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:80,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:80,1
    - Dst: writeContents
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:89,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:89,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:92,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:93,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:93,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:93,1
    - Dst: pcpp::PcapNgFileReaderDevice::isZstdSupported
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:96,1
    - Dst: writeContents
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:105,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:105,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:107,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:108,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:108,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:108,1
    - Dst: writeContents
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:120,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:120,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:123,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:123,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:127,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:128,1
    - Dst: writeContents
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:139,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:139,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:142,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:143,1
    - Dst: dynamic_cast<pcpp::SnoopFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:143,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 145
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<pcpp::PcapFileReaderDevice*>
    - writeContents
    - reinterpret_cast<const char*>
    - auto::get
    - pcpp::IFileReaderDevice::createReader
    - pcpp::IFileReaderDevice::tryCreateReader
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_RAISES
    - pcpp::PcapNgFileReaderDevice::isZstdSupported
    - dynamic_cast<pcpp::SnoopFileReaderDevice*>
    - dynamic_cast<pcpp::PcapNgFileReaderDevice*>
    - PTF_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestFileFormatDetector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyContents
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:155,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:161,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:162,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:163,1
    - Dst: dynamic_cast<pcpp::PcapFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:163,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:163,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:164,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:164,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:166,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:167,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:168,1
    - Dst: dynamic_cast<pcpp::PcapFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:168,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:168,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:169,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 171
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<pcpp::PcapFileReaderDevice*>
    - std::unique_ptr::get
    - pcpp::IFileReaderDevice::createReader
    - pcpp::IFileReaderDevice::tryCreateReader
    - std::unique_ptr::open
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_TRUE
    - copyContents
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestReaderFactory_Pcap_Micro)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNanoSecondPrecisionSupported
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:175,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:177,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:182,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:183,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:184,1
    - Dst: dynamic_cast<pcpp::PcapFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:184,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:184,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:185,1
    - Dst: auto::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:185,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:187,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:188,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:189,1
    - Dst: dynamic_cast<pcpp::PcapFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:189,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:189,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:190,1
    - Dst: auto::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - dynamic_cast<pcpp::PcapFileReaderDevice*>
    - isNanoSecondPrecisionSupported
    - auto::open
    - auto::get
    - pcpp::IFileReaderDevice::createReader
    - pcpp::IFileReaderDevice::tryCreateReader
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_TRUE
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestReaderFactory_Pcap_Nano)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isNanoSecondPrecisionSupported
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:195,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:197,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:202,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:202,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:205,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - isNanoSecondPrecisionSupported
    - pcpp::IFileReaderDevice::createReader
    - pcpp::IFileReaderDevice::tryCreateReader
    - PTF_ASSERT_RAISES
    - PTF_ASSERT_NULL
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestReaderFactory_Pcap_Nano_Unsupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyContents
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:217,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:223,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:224,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:225,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:225,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:225,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:226,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:226,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:228,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:229,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:230,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:230,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:230,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:231,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 233
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::get
    - pcpp::IFileReaderDevice::createReader
    - pcpp::IFileReaderDevice::tryCreateReader
    - std::unique_ptr::open
    - PTF_ASSERT_NOT_NULL
    - dynamic_cast<pcpp::PcapNgFileReaderDevice*>
    - PTF_ASSERT_TRUE
    - copyContents
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestReaderFactory_PcapNG)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileReaderDevice::isZstdSupported
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:237,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:239,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:244,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:245,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:246,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:246,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:246,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:247,1
    - Dst: auto::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:247,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:249,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:250,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:251,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:251,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:251,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:252,1
    - Dst: auto::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - auto::open
    - auto::get
    - pcpp::IFileReaderDevice::createReader
    - pcpp::IFileReaderDevice::tryCreateReader
    - PTF_ASSERT_NOT_NULL
    - pcpp::PcapNgFileReaderDevice::isZstdSupported
    - dynamic_cast<pcpp::PcapNgFileReaderDevice*>
    - PTF_ASSERT_TRUE
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestReaderFactory_PcapNG_ZST)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileReaderDevice::isZstdSupported
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:257,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:259,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:264,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:264,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:267,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IFileReaderDevice::createReader
    - pcpp::IFileReaderDevice::tryCreateReader
    - PTF_ASSERT_RAISES
    - pcpp::PcapNgFileReaderDevice::isZstdSupported
    - PTF_ASSERT_NULL
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestReaderFactory_PcapNG_ZST_Unsupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:275,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:276,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:277,1
    - Dst: dynamic_cast<pcpp::SnoopFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:277,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:277,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:278,1
    - Dst: auto::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:278,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:280,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:281,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:282,1
    - Dst: dynamic_cast<pcpp::SnoopFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:282,1
    - Dst: auto::get
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:282,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:283,1
    - Dst: auto::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - auto::open
    - auto::get
    - pcpp::IFileReaderDevice::createReader
    - pcpp::IFileReaderDevice::tryCreateReader
    - PTF_ASSERT_NOT_NULL
    - dynamic_cast<pcpp::SnoopFileReaderDevice*>
    - PTF_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestReaderFactory_Snoop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:292,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:292,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:295,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:296,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:299,1
    - Dst: pcpp::IFileReaderDevice::createReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:299,1
    - Dst: pcpp::IFileReaderDevice::tryCreateReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:302,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 304
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_RAISES
    - PTF_ASSERT_NULL
    - pcpp::IFileReaderDevice::createReader
    - pcpp::IFileReaderDevice::tryCreateReader
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestReaderFactory_InvalidFile)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:326,1
    - Dst: swap16
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:344,1
    - Dst: swap16
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:345,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:348,1
    - Dst: swap32
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:349,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:362,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:367,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:384,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:384,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::unordered_map<PcapHeaderParam, uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 386
    functionName: createPcapHeader
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 0
    functionsReached:
    - std::vector::data
    - std::memcpy
    - static_cast<uint16_t>
    - swap32
    - swap16
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> createPcapHeader(const std::unordered_map<PcapHeaderParam,
      uint32_t>& params, bool swapped = false)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::system_clock::now
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:408,1
    - Dst: auto::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:409,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:411,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:412,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:414,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:415,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:416,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:416,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:446,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:446,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::unordered_map<PcapPacketHeaderParam, uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 448
    functionName: createPcapPacketHeader
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::system_clock::now
    - std::chrono::seconds
    - std::chrono::duration_cast<std::chrono::seconds>
    - std::chrono::duration_cast<std::chrono::microseconds>
    - std::vector::data
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - static_cast<uint32_t>
    - std::memcpy
    - auto::time_since_epoch
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> createPcapPacketHeader(\n    const std::unordered_map<PcapPacketHeaderParam,
      uint32_t>& params,\n    pcpp::FileTimestampPrecision precision = pcpp::FileTimestampPrecision::Microseconds)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:456,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:456,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:457,1
    - Dst: pcpp::PcapFileReaderDevice::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:457,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:458,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:458,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:459,1
    - Dst: pcpp::PcapFileWriterDevice::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:459,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:460,1
    - Dst: pcpp::PcapFileReaderDevice::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:460,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:461,1
    - Dst: pcpp::PcapFileWriterDevice::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:461,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:462,1
    - Dst: pcpp::PcapFileReaderDevice::getFileSize
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:462,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:463,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:470,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:474,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:476,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:478,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:480,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:482,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:485,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:485,1
    - Dst: static_cast<pcpp::IPcapStatisticsProvider&>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:489,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:490,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:491,1
    - Dst: pcpp::PcapFileReaderDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:496,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:497,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:498,1
    - Dst: pcpp::PcapFileWriterDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:500,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:501,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:502,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:504,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:505,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:506,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:507,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:508,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:509,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:511,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:512,1
    - Dst: pcpp::PcapFileReaderDevice::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:512,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:513,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:514,1
    - Dst: pcpp::PcapFileWriterDevice::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:514,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:520,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:520,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:521,1
    - Dst: pcpp::PcapFileReaderDevice::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:521,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:524,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:525,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:526,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:526,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:529,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:529,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:530,1
    - Dst: pcpp::PcapFileWriterDevice::writePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:530,1
    - Dst: pcpp::PcapFileWriterDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:532,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 535
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapFileWriterDevice::isOpened
    - pcpp::RawPacket::RawPacket
    - pcpp::PcapFileReaderDevice::getFileSize
    - pcpp::PcapFileWriterDevice::close
    - pcpp::PcapFileReaderDevice::isOpened
    - pcpp::PcapFileWriterDevice::getStatistics
    - pcpp::RawPacketVector::size
    - pcpp::PcapFileReaderDevice::getNextPackets
    - pcpp::PcapFileWriterDevice::getFileName
    - PTF_ASSERT_TRUE
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::getFileName
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileWriterDevice::writePackets
    - pcpp::PcapFileReaderDevice::close
    - static_cast<pcpp::IPcapStatisticsProvider&>
    - pcpp::PcapFileReaderDevice::getStatistics
    - pcpp::PcapFileReaderDevice::getNextPacket
    - PTF_ASSERT_FALSE
    - pcpp::PcapFileWriterDevice::open
    - pcpp::PcapFileWriterDevice::writePacket
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapFileReadWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:542,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:542,1
    - Dst: timeval
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:542,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:544,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:544,1
    - Dst: timespec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:544,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:549,1
    - Dst: pcpp::PcapFileWriterDevice::getTimestampPrecision
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:549,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:550,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:550,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:551,1
    - Dst: pcpp::PcapFileWriterDevice::getTimestampPrecision
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:551,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:554,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:554,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:555,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:555,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:556,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:563,1
    - Dst: pcpp::PcapFileReaderDevice::getTimestampPrecision
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:563,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:564,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:564,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:565,1
    - Dst: pcpp::PcapFileReaderDevice::getTimestampPrecision
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:565,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:567,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:568,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:568,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:569,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:569,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:570,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:570,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:572,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:572,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:573,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:573,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:574,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:574,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:575,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:581,1
    - Dst: pcpp::PcapFileReaderDevice::getTimestampPrecision
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:581,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:582,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:582,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:583,1
    - Dst: pcpp::PcapFileReaderDevice::getTimestampPrecision
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:583,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:586,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:587,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:587,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:588,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:588,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:589,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 591
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::RawPacket::getPacketTimeStamp
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::getNextPacket
    - timespec
    - pcpp::PcapFileWriterDevice::getTimestampPrecision
    - timeval
    - pcpp::PcapFileReaderDevice::getTimestampPrecision
    - std::array::size
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileWriterDevice::close
    - getPacketTimeStamp
    - pcpp::PcapFileReaderDevice::close
    - std::array::data
    - pcpp::PcapFileWriterDevice::open
    - pcpp::RawPacket::RawPacket
    - PTF_ASSERT_TRUE
    - pcpp::PcapFileWriterDevice::writePacket
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapFileMicroPrecision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:598,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:598,1
    - Dst: timeval
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:598,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:600,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:600,1
    - Dst: timespec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:600,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:605,1
    - Dst: pcpp::PcapFileWriterDevice::getTimestampPrecision
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:605,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:606,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:606,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:607,1
    - Dst: pcpp::PcapFileWriterDevice::getTimestampPrecision
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:607,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:610,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:610,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:611,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:611,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:612,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:618,1
    - Dst: pcpp::PcapFileReaderDevice::getTimestampPrecision
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:618,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:619,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:619,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:620,1
    - Dst: pcpp::PcapFileReaderDevice::getTimestampPrecision
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:620,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:622,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:623,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:623,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:624,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:624,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:625,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:625,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:627,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:627,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:628,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:628,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:629,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:629,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:630,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:636,1
    - Dst: pcpp::PcapFileReaderDevice::getTimestampPrecision
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:636,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:637,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:637,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:638,1
    - Dst: pcpp::PcapFileReaderDevice::getTimestampPrecision
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:638,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:640,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:641,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:641,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:642,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:642,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:643,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 645
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::RawPacket::getPacketTimeStamp
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::getNextPacket
    - timespec
    - pcpp::PcapFileWriterDevice::getTimestampPrecision
    - timeval
    - pcpp::PcapFileReaderDevice::getTimestampPrecision
    - std::array::size
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileWriterDevice::close
    - getPacketTimeStamp
    - pcpp::PcapFileReaderDevice::close
    - std::array::data
    - pcpp::PcapFileWriterDevice::open
    - pcpp::RawPacket::RawPacket
    - PTF_ASSERT_TRUE
    - pcpp::PcapFileWriterDevice::writePacket
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapFileNanoPrecision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:649,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:655,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:657,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:657,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:658,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:658,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:660,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:662,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:662,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:663,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:663,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:665,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:665,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:665,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:666,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:666,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:666,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:666,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:676,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:676,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:677,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:677,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:681,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:681,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:682,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:682,1
    - Dst: pcpp::PcapFileReaderDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:684,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:685,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:686,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:688,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:689,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:689,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:691,1
    - Dst: pcpp::PcapFileReaderDevice::clearFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:691,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:692,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:694,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:694,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:695,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:695,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:697,1
    - Dst: pcpp::PcapFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:697,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:704,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:704,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:705,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:705,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:706,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:706,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:712,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:712,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:713,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:713,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:720,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:721,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:721,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:722,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:722,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:729,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:730,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:730,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:731,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:731,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:732,1
    - Dst: pcpp::PcapFileReaderDevice::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:732,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:738,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:741,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:742,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:742,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:743,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:744,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:751,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:755,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:756,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:756,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:762,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:765,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:766,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:766,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:767,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:767,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:773,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:776,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:777,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:777,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:778,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:778,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:785,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:788,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:789,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:789,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:790,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:790,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:791,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:797,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:798,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:799,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:799,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:800,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:801,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:801,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:807,1
    - Dst: createPcapPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:811,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:812,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:816,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:817,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:817,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:818,1
    - Dst: pcpp::PcapFileReaderDevice::getLinkLayerType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:818,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:820,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:821,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:821,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:822,1
    - Dst: pcpp::RawPacket::getLinkLayerType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:822,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:828,1
    - Dst: createPcapPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:830,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:833,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:837,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:838,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:838,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:840,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:841,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:841,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:842,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:842,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:843,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:843,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:849,1
    - Dst: createPcapPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:851,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:855,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:856,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:856,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:858,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:859,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:859,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:860,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:860,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:866,1
    - Dst: createPcapPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:870,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:876,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:877,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:877,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:878,1
    - Dst: pcpp::PcapFileReaderDevice::getTimestampPrecision
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:878,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:880,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:881,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:881,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:882,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:882,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:890,1
    - Dst: createPcapPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:894,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:895,1
    - Dst: createPcapPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:900,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:901,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:905,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:906,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:906,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:908,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:910,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:910,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:911,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:911,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:912,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:912,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:912,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:914,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:914,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:915,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:915,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:916,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:916,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:916,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:922,1
    - Dst: createPcapPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:924,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:925,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:926,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:930,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:931,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:931,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:933,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:934,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:934,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:935,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:935,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:935,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:936,1
    - Dst: pcpp::RawPacket::getFrameLength
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:936,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:936,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:942,1
    - Dst: createPcapPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:944,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:945,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:949,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:950,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:950,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:952,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:953,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:953,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:954,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:954,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:961,1
    - Dst: createPcapPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:962,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:966,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:967,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:967,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:969,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:970,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:970,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:971,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:971,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:972,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:972,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:980,1
    - Dst: createPcapPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:983,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:988,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:989,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:989,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:991,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:992,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:992,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:993,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:993,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:994,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1000,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1003,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1004,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1004,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1006,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1007,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1007,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1008,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1008,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1014,1
    - Dst: createPcapPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1015,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1018,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1019,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1019,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1021,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1022,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1022,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1023,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 144
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 1025
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::RawPacket::getPacketTimeStamp
    - createPcapPacketHeader
    - std::array::size
    - pcpp::RawPacket::RawPacket
    - std::array::data
    - pcpp::GtpV2InformationElement::getInstance
    - getRawData
    - SuppressLogs::SuppressLogs
    - pcpp::PcapFileReaderDevice::isOpened
    - TempFile::getFileName
    - pcpp::RawPacket::getLinkLayerType
    - pcpp::RawPacketVector::size
    - pcpp::PcapFileReaderDevice::getTimestampPrecision
    - pcpp::RawPacket::getFrameLength
    - pcpp::PcapFileReaderDevice::getNextPackets
    - PTF_ASSERT_TRUE
    - pcpp::PcapFileReaderDevice::clearFilter
    - to_string
    - pcpp::RawPacket::getRawData
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileReaderDevice::close
    - pcpp::PcapFileReaderDevice::getLinkLayerType
    - PTF_ASSERT_NULL
    - getRawDataLen
    - pcpp::RawPacket::getRawDataLen
    - pcpp::PcapFileReaderDevice::getStatistics
    - pcpp::PcapFileReaderDevice::getNextPacket
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::PcapFileReaderDevice::setFilter
    - pcpp::RawPacketVector::clear
    - createPcapHeader
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapFileReadAdv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1029,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1032,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1032,1
    - Dst: timespec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1032,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1037,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1038,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1039,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1039,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1040,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1040,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1042,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1044,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1044,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1045,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1045,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1056,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1056,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1057,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1057,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1060,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1061,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1062,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1062,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1064,1
    - Dst: pcpp::PcapFileWriterDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1064,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1065,1
    - Dst: pcpp::PcapFileWriterDevice::writePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1065,1
    - Dst: pcpp::PcapFileWriterDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1067,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1068,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1069,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1071,1
    - Dst: pcpp::PcapFileWriterDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1071,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1072,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1074,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1075,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1075,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1076,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1076,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1083,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1084,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1085,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1085,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1086,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1086,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1087,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1087,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1093,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1093,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1094,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1094,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1096,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1096,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1097,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1097,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1104,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1105,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1106,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1106,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1107,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1107,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1109,1
    - Dst: pcpp::PcapFileWriterDevice::writePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1109,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1110,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1110,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1116,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1117,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1119,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1119,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1120,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1120,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1121,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1027
    functionDepth: 3
    functionLinenumber: 1027
    functionLinenumberEnd: 1124
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - SuppressLogs::SuppressLogs
    - TempFile::getFileName
    - PTF_ASSERT_EQUAL
    - timespec
    - pcpp::PcapFileReaderDevice::open
    - TempFile::close
    - std::array::size
    - pcpp::PcapFileWriterDevice::writePackets
    - pcpp::PcapFileWriterDevice::close
    - PTF_ASSERT_FALSE
    - pcpp::PcapFileReaderDevice::getNextPackets
    - std::array::data
    - pcpp::PcapFileWriterDevice::open
    - pcpp::PcapFileWriterDevice::getStatistics
    - PTF_ASSERT_TRUE
    - pcpp::PcapFileWriterDevice::writePacket
    - pcpp::PcapFileWriterDevice::setFilter
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapFileWriteAdv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1130,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1130,1
    - Dst: timespec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1130,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1134,1
    - Dst: pcpp::PcapNgFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1134,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1135,1
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1135,1
    - Dst: pcpp::PcapNgFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1136,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1139,1
    - Dst: pcpp::PcapNgFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1139,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1140,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1141,1
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1141,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1142,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1143,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1143,1
    - Dst: pcpp::PcapNgFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1126
    functionDepth: 2
    functionLinenumber: 1126
    functionLinenumberEnd: 1145
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapNgFileWriterDevice::open
    - pcpp::RawPacket::getPacketTimeStamp
    - pcpp::PcapNgFileWriterDevice::close
    - PTF_ASSERT_EQUAL
    - timespec
    - pcpp::PcapNgFileReaderDevice::getNextPacket
    - std::array::size
    - pcpp::PcapNgFileWriterDevice::writePacket
    - pcpp::PcapNgFileReaderDevice::close
    - std::array::data
    - pcpp::RawPacket::RawPacket
    - PTF_ASSERT_TRUE
    - pcpp::PcapNgFileReaderDevice::open
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapNgFilePrecision)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1151,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1151,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1152,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1152,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1153,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1160,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1164,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1166,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1168,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1170,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1172,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1175,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1175,1
    - Dst: pcpp::PcapFileReaderDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1181,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1182,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1183,1
    - Dst: pcpp::PcapFileWriterDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1185,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1186,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1187,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1189,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1190,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1191,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1192,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1193,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1194,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1196,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1147
    functionDepth: 2
    functionLinenumber: 1147
    functionLinenumberEnd: 1198
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapFileReaderDevice::getStatistics
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::getNextPacket
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileWriterDevice::getStatistics
    - pcpp::PcapFileWriterDevice::close
    - pcpp::PcapFileReaderDevice::close
    - pcpp::RawPacket::RawPacket
    - pcpp::PcapFileWriterDevice::open
    - PTF_ASSERT_TRUE
    - pcpp::PcapFileWriterDevice::writePacket
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapSllFileReadWrite)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1204,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1204,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1205,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1205,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1206,1
    - Dst: pcpp::PcapFileWriterDevice::getLinkLayerType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1206,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1207,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1212,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1216,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1218,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1221,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1221,1
    - Dst: pcpp::PcapFileReaderDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1226,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1227,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1228,1
    - Dst: pcpp::PcapFileWriterDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1231,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1232,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1233,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1234,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1236,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1237,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1238,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1200
    functionDepth: 2
    functionLinenumber: 1200
    functionLinenumberEnd: 1241
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapFileReaderDevice::getStatistics
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::getNextPacket
    - pcpp::PcapFileWriterDevice::writePacket
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileWriterDevice::getStatistics
    - pcpp::PcapFileWriterDevice::close
    - pcpp::PcapFileReaderDevice::close
    - pcpp::RawPacket::RawPacket
    - pcpp::PcapFileWriterDevice::open
    - PTF_ASSERT_TRUE
    - pcpp::PcapFileWriterDevice::getLinkLayerType
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapSll2FileReadWrite)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1248,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1248,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1249,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1249,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1250,1
    - Dst: pcpp::PcapFileWriterDevice::getLinkLayerType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1250,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1251,1
    - Dst: pcpp::PcapNgFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1251,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1252,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1259,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1263,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1265,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1267,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1269,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1271,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1274,1
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1275,1
    - Dst: pcpp::PcapFileReaderDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1282,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1283,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1284,1
    - Dst: pcpp::PcapFileWriterDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1286,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1287,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1288,1
    - Dst: pcpp::PcapNgFileWriterDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1290,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1291,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1292,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1294,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1295,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1296,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1297,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1298,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1299,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1301,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1302,1
    - Dst: pcpp::PcapNgFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1304
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapNgFileWriterDevice::open
    - pcpp::PcapFileReaderDevice::getStatistics
    - pcpp::PcapNgFileWriterDevice::close
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::getNextPacket
    - pcpp::PcapFileWriterDevice::writePacket
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileWriterDevice::getStatistics
    - pcpp::PcapNgFileWriterDevice::getStatistics
    - pcpp::PcapFileWriterDevice::close
    - pcpp::PcapNgFileWriterDevice::writePacket
    - pcpp::PcapFileReaderDevice::close
    - pcpp::RawPacket::RawPacket
    - pcpp::PcapFileWriterDevice::open
    - PTF_ASSERT_TRUE
    - pcpp::PcapFileWriterDevice::getLinkLayerType
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapRawIPFileReadWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1309,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1309,1
    - Dst: timespec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1309,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1315,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1316,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1316,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1317,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1317,1
    - Dst: pcpp::PcapFileWriterDevice::flush
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1318,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1320,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1321,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1321,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1322,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1323,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1323,1
    - Dst: PTF_ASSERT_BUF_COMPARE_S
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1324,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1324,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1324,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1324,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1325,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1326,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1326,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1332,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1334,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1335,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1335,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1336,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1336,1
    - Dst: pcpp::PcapFileWriterDevice::flush
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1337,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1339,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1340,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1340,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1341,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1342,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1342,1
    - Dst: PTF_ASSERT_BUF_COMPARE_S
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1343,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1343,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1343,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1343,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1344,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1345,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1345,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1351,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1352,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1354,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1355,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1355,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1356,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1356,1
    - Dst: pcpp::PcapFileWriterDevice::flush
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1357,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1359,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1360,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1360,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1361,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1362,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1362,1
    - Dst: PTF_ASSERT_BUF_COMPARE_S
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1363,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1363,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1363,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1363,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1364,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1365,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1365,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1372,1
    - Dst: createPcapPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1373,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1377,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1379,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1380,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1380,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1381,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1381,1
    - Dst: pcpp::PcapFileWriterDevice::flush
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1382,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1384,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1385,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1385,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1386,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1387,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1387,1
    - Dst: PTF_ASSERT_BUF_COMPARE_S
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1388,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1388,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1388,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1388,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1389,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1390,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1390,1
    - Dst: PTF_ASSERT_BUF_COMPARE_S
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1391,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1391,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1391,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1391,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1392,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1393,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1393,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1400,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1402,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1404,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1405,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1405,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1406,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1406,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1408,1
    - Dst: pcpp::PcapFileWriterDevice::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1408,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1415,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1418,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1421,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1423,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1424,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1424,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1425,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1426,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1433,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1436,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1439,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1441,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1442,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1442,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1443,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1443,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1450,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1453,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1455,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1457,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1458,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1458,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1459,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1459,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1466,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1469,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1471,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1473,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1474,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1474,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1475,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1475,1
    - Dst: createPcapHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1490,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1492,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1494,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1495,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1497,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1498,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1499,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1499,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1500,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1500,1
    - Dst: pcpp::PcapFileWriterDevice::flush
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1501,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1503,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1504,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1504,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1505,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1506,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1506,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1507,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1507,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1508,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1509,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1509,1
    - Dst: PTF_ASSERT_BUF_COMPARE_S
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1510,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1510,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1510,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1510,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1306
    functionDepth: 2
    functionLinenumber: 1306
    functionLinenumberEnd: 1514
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapFileWriterDevice::isOpened
    - pcpp::RawPacket::getPacketTimeStamp
    - std::get<2>
    - createPcapPacketHeader
    - std::get<1>
    - std::array::size
    - std::array::data
    - pcpp::RawPacket::RawPacket
    - pcpp::GtpV2InformationElement::getInstance
    - PTF_ASSERT_BUF_COMPARE_S
    - SuppressLogs::SuppressLogs
    - TempFile::getFileName
    - timespec
    - PTF_ASSERT_TRUE
    - pcpp::RawPacket::getRawData
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::open
    - TempFile::close
    - std::get<0>
    - pcpp::RawPacket::getRawDataLen
    - pcpp::PcapFileWriterDevice::flush
    - pcpp::PcapFileReaderDevice::getNextPacket
    - PTF_ASSERT_FALSE
    - pcpp::PcapFileWriterDevice::open
    - pcpp::PcapFileWriterDevice::writePacket
    - createPcapHeader
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapFileAppend)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1521,1
    - Dst: pcpp::PcapNgFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1521,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1522,1
    - Dst: pcpp::PcapNgFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1522,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1523,1
    - Dst: pcpp::PcapNgFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1523,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1524,1
    - Dst: pcpp::PcapNgFileReaderDevice::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1524,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1525,1
    - Dst: pcpp::PcapNgFileWriterDevice::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1525,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1526,1
    - Dst: pcpp::PcapNgFileWriterDevice::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1526,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1527,1
    - Dst: pcpp::PcapNgFileReaderDevice::getFileSize
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1527,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1528,1
    - Dst: pcpp::PcapNgFileReaderDevice::getOS
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1528,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1529,1
    - Dst: pcpp::PcapNgFileReaderDevice::getCaptureApplication
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1529,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1530,1
    - Dst: pcpp::PcapNgFileReaderDevice::getCaptureFileComment
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1530,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1531,1
    - Dst: pcpp::PcapNgFileReaderDevice::getHardware
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1531,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1532,1
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1542,1
    - Dst: pcpp::RawPacket::getLinkLayerType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1546,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1555,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1557,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1559,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1561,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1563,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1566,1
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1566,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1567,1
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1567,1
    - Dst: pcpp::PcapNgFileReaderDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1573,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1574,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1575,1
    - Dst: pcpp::PcapNgFileWriterDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1577,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1578,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1579,1
    - Dst: pcpp::PcapNgFileWriterDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1581,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1582,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1583,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1585,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1586,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1587,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1588,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1589,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1590,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1591,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1592,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1593,1
    - Dst: pcpp::PcapNgFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1595,1
    - Dst: pcpp::PcapNgFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1596,1
    - Dst: pcpp::PcapNgFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1597,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1516
    functionDepth: 2
    functionLinenumber: 1516
    functionLinenumberEnd: 1599
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapNgFileWriterDevice::close
    - pcpp::PcapNgFileReaderDevice::getFileName
    - pcpp::PcapNgFileReaderDevice::close
    - pcpp::RawPacket::RawPacket
    - pcpp::PcapNgFileReaderDevice::open
    - pcpp::PcapNgFileReaderDevice::getOS
    - pcpp::PcapNgFileWriterDevice::getStatistics
    - pcpp::PcapNgFileReaderDevice::getNextPacket
    - pcpp::RawPacket::getLinkLayerType
    - pcpp::PcapNgFileReaderDevice::getStatistics
    - PTF_ASSERT_TRUE
    - pcpp::PcapNgFileReaderDevice::getCaptureApplication
    - pcpp::PcapNgFileWriterDevice::open
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::PcapNgFileWriterDevice::writePacket
    - pcpp::PcapNgFileReaderDevice::getHardware
    - pcpp::PcapNgFileReaderDevice::getFileSize
    - pcpp::PcapNgFileWriterDevice::getFileName
    - pcpp::PcapNgFileReaderDevice::getCaptureFileComment
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapNgFileReadWrite)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1614,1
    - Dst: pcpp::PcapNgFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1614,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1617,1
    - Dst: pcpp::PcapNgFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1617,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1619,1
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1620,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1622,1
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1622,1
    - Dst: pcpp::PcapNgFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1624,1
    - Dst: pcpp::PcapNgFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1625,1
    - Dst: getFileLength
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1627,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1629,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1630,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1601
    functionDepth: 2
    functionLinenumber: 1601
    functionLinenumberEnd: 1634
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapNgFileWriterDevice::open
    - pcpp::PcapNgFileWriterDevice::close
    - pcpp::PcapNgFileReaderDevice::getNextPacket
    - pcpp::PcapNgFileWriterDevice::writePacket
    - pcpp::PcapNgFileReaderDevice::close
    - pcpp::RawPacket::RawPacket
    - getFileLength
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - pcpp::PcapNgFileReaderDevice::open
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapNgZstdCompressionLevels)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapNgFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1641,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1643,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1644,1
    - Dst: pcpp::PcapNgFileReaderDevice::getOS
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1644,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1648,1
    - Dst: pcpp::PcapNgFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1648,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1649,1
    - Dst: pcpp::PcapNgFileReaderDevice::getOS
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1649,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1650,1
    - Dst: pcpp::PcapNgFileReaderDevice::getCaptureApplication
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1650,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1651,1
    - Dst: pcpp::PcapNgFileReaderDevice::getCaptureFileComment
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1652,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1654,1
    - Dst: pcpp::PcapNgFileReaderDevice::getHardware
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1654,1
    - Dst: pcpp::PcapNgFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1660,1
    - Dst: pcpp::PcapNgFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1661,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1664,1
    - Dst: pcpp::PcapNgFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1664,1
    - Dst: pcpp::PcapNgFileReaderDevice::getOS
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1664,1
    - Dst: pcpp::PcapNgFileReaderDevice::getCaptureApplication
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1664,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1666,1
    - Dst: pcpp::PcapNgFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1666,1
    - Dst: pcpp::PcapNgFileReaderDevice::getOS
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1666,1
    - Dst: pcpp::PcapNgFileReaderDevice::getCaptureApplication
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1667,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1670,1
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1683,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1687,1
    - Dst: pcpp::RawPacket::getFrameLength
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1687,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1691,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1693,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1695,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1697,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1699,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1701,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1703,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1708,1
    - Dst: std::string::compare
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1708,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1712,1
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1712,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1712,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1713,1
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1713,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1713,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1716,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1717,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1718,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1719,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1720,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1721,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1722,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1723,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1724,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1725,1
    - Dst: pcpp::PcapNgFileReaderDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1730,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1731,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1732,1
    - Dst: pcpp::PcapNgFileWriterDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1734,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1735,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1736,1
    - Dst: pcpp::PcapNgFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1738,1
    - Dst: pcpp::PcapNgFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1739,1
    - Dst: pcpp::PcapNgFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1740,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1748,1
    - Dst: pcpp::PcapNgFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1748,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1749,1
    - Dst: pcpp::PcapNgFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1749,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1750,1
    - Dst: pcpp::PcapNgFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1750,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1752,1
    - Dst: pcpp::PcapNgFileReaderDevice::getOS
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1752,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1753,1
    - Dst: pcpp::PcapNgFileReaderDevice::getCaptureApplication
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1753,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1755,1
    - Dst: pcpp::PcapNgFileReaderDevice::getCaptureFileComment
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1755,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1756,1
    - Dst: pcpp::PcapNgFileReaderDevice::getHardware
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1756,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1758,1
    - Dst: pcpp::PcapNgFileReaderDevice::getOS
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1758,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1759,1
    - Dst: pcpp::PcapNgFileReaderDevice::getCaptureApplication
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1759,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1760,1
    - Dst: pcpp::PcapNgFileReaderDevice::getCaptureFileComment
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1760,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1761,1
    - Dst: pcpp::PcapNgFileReaderDevice::getHardware
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1761,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1773,1
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1775,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1779,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1781,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1783,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1785,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1787,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1789,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1791,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1796,1
    - Dst: std::string::compare
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1796,1
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1800,1
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1801,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1803,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1803,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1803,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1804,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1804,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1804,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1806,1
    - Dst: pcpp::RawPacket::getLinkLayerType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1806,1
    - Dst: pcpp::RawPacket::getLinkLayerType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1806,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1807,1
    - Dst: pcpp::RawPacket::getLinkLayerType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1807,1
    - Dst: getLinkLayerType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1807,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1809,1
    - Dst: pcpp::RawPacket::getFrameLength
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1809,1
    - Dst: pcpp::RawPacket::getFrameLength
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1809,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1810,1
    - Dst: pcpp::RawPacket::getFrameLength
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1810,1
    - Dst: getFrameLength
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1810,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1812,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1813,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1814,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1818,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1823,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1829,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1834,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1840,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1845,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1851,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1856,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1860,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1861,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1862,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1863,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1864,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1865,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1866,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1867,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1868,1
    - Dst: pcpp::PcapNgFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1870,1
    - Dst: pcpp::PcapNgFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1871,1
    - Dst: pcpp::PcapNgFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1872,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1876,1
    - Dst: pcpp::PcapNgFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1876,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1878,1
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1878,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1879,1
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1879,1
    - Dst: pcpp::PcapNgFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1881,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1884,1
    - Dst: pcpp::PcapNgFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1884,1
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1888,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1893,1
    - Dst: std::ifstream::rdbuf
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1900,1
    - Dst: std::ifstream::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1901,1
    - Dst: std::ofstream::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1902,1
    - Dst: pcpp::IFileReaderDevice::getReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1904,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1906,1
    - Dst: dynamic_cast<pcpp::PcapFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1906,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1907,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1907,1
    - Dst: pcpp::IFileReaderDevice::getReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1909,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1911,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1911,1
    - Dst: pcpp::IFileReaderDevice::getReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1913,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1915,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1915,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1916,1
    - Dst: pcpp::IFileReaderDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1916,1
    - Dst: pcpp::IFileReaderDevice::getReader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1918,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1920,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1920,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1921,1
    - Dst: pcpp::IFileReaderDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1921,1
    - Dst: pcpp::IFileReaderDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1923,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1929,1
    - Dst: pcpp::PcapNgFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1929,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1931,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1932,1
    - Dst: pcpp::PcapNgFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1932,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1934,1
    - Dst: pcpp::PcapNgFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1934,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1937,1
    - Dst: pcpp::PcapNgFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1937,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1939,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1940,1
    - Dst: pcpp::PcapNgFileWriterDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1940,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1942,1
    - Dst: pcpp::PcapNgFileWriterDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1942,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1945,1
    - Dst: pcpp::PcapNgFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1945,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1947,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1948,1
    - Dst: pcpp::PcapNgFileWriterDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1948,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1950,1
    - Dst: pcpp::PcapNgFileWriterDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1950,1
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1955,1
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1958,1
    - Dst: pcpp::PcapNgFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1960,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1964,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1965,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1966,1
    - Dst: pcpp::PcapNgFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1968,1
    - Dst: pcpp::PcapNgFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1969,1
    - Dst: pcpp::PcapNgFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1970,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 187
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1636
    functionDepth: 2
    functionLinenumber: 1636
    functionLinenumberEnd: 1972
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - std::string::compare
    - pcpp::PcapNgFileWriterDevice::close
    - pcpp::RawPacket::getPacketTimeStamp
    - getLinkLayerType
    - pcpp::PcapNgFileReaderDevice::close
    - std::string::c_str
    - pcpp::RawPacket::RawPacket
    - pcpp::IFileReaderDevice::getReader
    - std::ifstream::close
    - pcpp::PcapNgFileWriterDevice::setFilter
    - pcpp::PcapNgFileReaderDevice::open
    - pcpp::IFileReaderDevice*::open
    - dynamic_cast<pcpp::PcapFileReaderDevice*>
    - SuppressLogs::SuppressLogs
    - pcpp::PcapNgFileReaderDevice::getOS
    - pcpp::PcapNgFileWriterDevice::getStatistics
    - pcpp::PcapNgFileReaderDevice::getNextPacket
    - pcpp::RawPacket::getLinkLayerType
    - getFrameLength
    - pcpp::PcapNgFileReaderDevice::getStatistics
    - pcpp::RawPacket::getFrameLength
    - dynamic_cast<pcpp::PcapNgFileReaderDevice*>
    - PTF_ASSERT_TRUE
    - pcpp::PcapNgFileReaderDevice::getCaptureApplication
    - PTF_ASSERT_LOWER_THAN
    - pcpp::PcapNgFileWriterDevice::open
    - pcpp::IFileReaderDevice*::close
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - getPacketTimeStamp
    - pcpp::PcapNgFileWriterDevice::writePacket
    - PTF_ASSERT_NULL
    - pcpp::PcapNgFileReaderDevice::setFilter
    - pcpp::PcapNgFileReaderDevice::getHardware
    - getRawDataLen
    - pcpp::RawPacket::getRawDataLen
    - PTF_ASSERT_NOT_NULL
    - std::ofstream::close
    - PTF_ASSERT_FALSE
    - std::ifstream::rdbuf
    - pcpp::PcapNgFileReaderDevice::getCaptureFileComment
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapNgFileReadWriteAdv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1977,1
    - Dst: pcpp::PcapNgFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1977,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1978,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1981,1
    - Dst: pcpp::PcapNgFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1982,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1985,1
    - Dst: pcpp::RawPacket::getLinkLayerType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1985,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1986,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1987,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1988,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1991,1
    - Dst: pcpp::PcapNgFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1974
    functionDepth: 2
    functionLinenumber: 1974
    functionLinenumberEnd: 1993
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - SuppressLogs::SuppressLogs
    - pcpp::RawPacket::getPacketTimeStamp
    - PTF_ASSERT_EQUAL
    - pcpp::PcapNgFileReaderDevice::getNextPacket
    - pcpp::RawPacket::getLinkLayerType
    - pcpp::PcapNgFileReaderDevice::close
    - pcpp::RawPacket::RawPacket
    - PTF_ASSERT_TRUE
    - pcpp::PcapNgFileReaderDevice::open
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapNgFileTooManyInterfaces)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1998,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1998,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1999,1
    - Dst: pcpp::PcapFileReaderDevice::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:1999,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2000,1
    - Dst: pcpp::PcapFileReaderDevice::getFileSize
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2000,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2001,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2007,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2011,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2013,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2015,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2017,1
    - Dst: pcpp::PcapFileReaderDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2023,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2024,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2025,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2027,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2028,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2029,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2030,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2031,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2033,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2034,1
    - Dst: pcpp::PcapFileReaderDevice::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2034,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 1995
    functionDepth: 2
    functionLinenumber: 1995
    functionLinenumberEnd: 2036
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapFileReaderDevice::isOpened
    - pcpp::PcapFileReaderDevice::getStatistics
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::getNextPacket
    - pcpp::PcapFileReaderDevice::open
    - PTF_ASSERT_FALSE
    - pcpp::PcapFileReaderDevice::close
    - pcpp::RawPacket::RawPacket
    - PTF_ASSERT_TRUE
    - pcpp::PcapFileReaderDevice::getFileSize
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapFileReadLinkTypeIPv6)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2041,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2041,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2042,1
    - Dst: pcpp::PcapFileReaderDevice::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2042,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2043,1
    - Dst: pcpp::PcapFileReaderDevice::getFileSize
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2043,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2044,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2050,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2054,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2056,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2058,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2060,1
    - Dst: pcpp::PcapFileReaderDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2066,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2067,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2068,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2070,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2071,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2072,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2073,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2074,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2076,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2077,1
    - Dst: pcpp::PcapFileReaderDevice::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2077,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2038
    functionDepth: 2
    functionLinenumber: 2038
    functionLinenumberEnd: 2079
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapFileReaderDevice::isOpened
    - pcpp::PcapFileReaderDevice::getStatistics
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::getNextPacket
    - pcpp::PcapFileReaderDevice::open
    - PTF_ASSERT_FALSE
    - pcpp::PcapFileReaderDevice::close
    - pcpp::RawPacket::RawPacket
    - PTF_ASSERT_TRUE
    - pcpp::PcapFileReaderDevice::getFileSize
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapFileReadLinkTypeIPv4)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2110,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2115,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2122,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::unordered_map<SnoopHeaderParam, uint64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2088
    functionDepth: 1
    functionLinenumber: 2088
    functionLinenumberEnd: 2124
    functionName: createSnoopHeader
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    - static_cast<uint16_t>
    - std::vector::data
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> createSnoopHeader(const std::unordered_map<SnoopHeaderParam,
      uint64_t>& params)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::system_clock::now
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2152,1
    - Dst: auto::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2153,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2154,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2155,1
    - Dst: std::chrono::duration_cast<std::chrono::seconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2155,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2156,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2156,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2190,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2191,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2192,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2192,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2194,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2195,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2198,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - std::unordered_map<SnoopPacketHeaderParam, uint32_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2135
    functionDepth: 1
    functionLinenumber: 2135
    functionLinenumberEnd: 2200
    functionName: createSnoopPacketHeader
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::system_clock::now
    - std::chrono::seconds
    - std::chrono::duration_cast<std::chrono::seconds>
    - std::chrono::duration_cast<std::chrono::microseconds>
    - htobe32
    - std::vector::data
    - static_cast<uint32_t>
    - std::memcpy
    - auto::time_since_epoch
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> createSnoopPacketHeader(const std::unordered_map<SnoopPacketHeaderParam,
      uint32_t>& params)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2204,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2211,1
    - Dst: pcpp::SnoopFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2211,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2212,1
    - Dst: pcpp::SnoopFileReaderDevice::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2212,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2213,1
    - Dst: pcpp::SnoopFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2221,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2225,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2227,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2229,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2231,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2233,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2235,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2235,1
    - Dst: pcpp::SnoopFileReaderDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2240,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2241,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2242,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2244,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2245,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2246,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2247,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2248,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2249,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2250,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2251,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2252,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2253,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2255,1
    - Dst: pcpp::SnoopFileReaderDevice::getLinkLayerType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2255,1
    - Dst: pcpp::SnoopFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2256,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2263,1
    - Dst: pcpp::SnoopFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2263,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2265,1
    - Dst: pcpp::SnoopFileReaderDevice::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2265,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2269,1
    - Dst: pcpp::SnoopFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2270,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2275,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2275,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2276,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2277,1
    - Dst: auto::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2277,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2280,1
    - Dst: pcpp::SnoopFileReaderDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2283,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2284,1
    - Dst: createSnoopHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2291,1
    - Dst: createSnoopPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2292,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2293,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2294,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2299,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2301,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2302,1
    - Dst: pcpp::SnoopFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2302,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2304,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2305,1
    - Dst: pcpp::SnoopFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2305,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2307,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2307,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2307,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2308,1
    - Dst: pcpp::RawPacket::getFrameLength
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2308,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2308,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2309,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2309,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2310,1
    - Dst: pcpp::RawPacket::getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2310,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2312,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2312,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2312,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2312,1
    - Dst: createSnoopHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2318,1
    - Dst: createSnoopPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2319,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2320,1
    - Dst: createSnoopPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2325,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2326,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2329,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2331,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2332,1
    - Dst: pcpp::SnoopFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2332,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2334,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2337,1
    - Dst: pcpp::SnoopFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2337,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2338,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2338,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2338,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2339,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2339,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2339,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2339,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2346,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2347,1
    - Dst: pcpp::SnoopFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2347,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2348,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2348,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2354,1
    - Dst: pcpp::SnoopFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2354,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2355,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2355,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2362,1
    - Dst: pcpp::SnoopFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2362,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2364,1
    - Dst: pcpp::SnoopFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2364,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2365,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2365,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2371,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2372,1
    - Dst: pcpp::SnoopFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2372,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2373,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2373,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2379,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2381,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2382,1
    - Dst: pcpp::SnoopFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2382,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2383,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2383,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2384,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2385,1
    - Dst: pcpp::SnoopFileReaderDevice::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2385,1
    - Dst: createSnoopHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2391,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2394,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2396,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2397,1
    - Dst: pcpp::SnoopFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2397,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2398,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2398,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2399,1
    - Dst: createSnoopHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2405,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2408,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2410,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2411,1
    - Dst: pcpp::SnoopFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2411,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2412,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2412,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2413,1
    - Dst: createSnoopHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2419,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2422,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2424,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2425,1
    - Dst: pcpp::SnoopFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2425,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2426,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2426,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2427,1
    - Dst: createSnoopHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2433,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2434,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2436,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2437,1
    - Dst: pcpp::SnoopFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2437,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2438,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2439,1
    - Dst: pcpp::SnoopFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2439,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2440,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2440,1
    - Dst: createSnoopHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2446,1
    - Dst: createSnoopPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2447,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2450,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2452,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2453,1
    - Dst: pcpp::SnoopFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2453,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2454,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2455,1
    - Dst: pcpp::SnoopFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2455,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2456,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2456,1
    - Dst: createSnoopHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2462,1
    - Dst: createSnoopPacketHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2463,1
    - Dst: TempFile::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2464,1
    - Dst: TempFile::getFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2466,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2467,1
    - Dst: pcpp::SnoopFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2467,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2468,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2469,1
    - Dst: pcpp::SnoopFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2469,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2470,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 123
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2202
    functionDepth: 3
    functionLinenumber: 2202
    functionLinenumberEnd: 2472
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::SnoopFileReaderDevice::setFilter
    - pcpp::RawPacket::getPacketTimeStamp
    - std::array::size
    - pcpp::RawPacket::RawPacket
    - std::array::data
    - createSnoopHeader
    - pcpp::GtpV2InformationElement::getInstance
    - SuppressLogs::SuppressLogs
    - TempFile::getFileName
    - std::vector::push_back
    - pcpp::RawPacket::getFrameLength
    - pcpp::SnoopFileReaderDevice::open
    - PTF_ASSERT_TRUE
    - pcpp::SnoopFileReaderDevice::getLinkLayerType
    - pcpp::SnoopFileReaderDevice::close
    - pcpp::RawPacket::getRawData
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - TempFile::close
    - auto::getSrcIPAddress
    - createSnoopPacketHeader
    - pcpp::RawPacket::getRawDataLen
    - pcpp::SnoopFileReaderDevice::isOpened
    - pcpp::SnoopFileReaderDevice::getStatistics
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::SnoopFileReaderDevice::getNextPacket
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestSolarisSnoopFileRead)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2478,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2478,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2479,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2479,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2487,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2487,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2488,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2488,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2489,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2489,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2494,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2494,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2495,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2495,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2496,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2496,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2497,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2503,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2504,1
    - Dst: std::ifstream::seekg
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2507,1
    - Dst: std::ifstream::tellg
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2508,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2511,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2512,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp:2513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2474
    functionDepth: 2
    functionLinenumber: 2474
    functionLinenumberEnd: 2514
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_EQUAL
    - std::ifstream::seekg
    - std::array::size
    - pcpp::PcapFileWriterDevice::close
    - std::array::data
    - pcpp::PcapFileWriterDevice::open
    - PTF_ASSERT_TRUE
    - pcpp::PcapFileWriterDevice::writePacket
    - std::ifstream::tellg
    - PTF_ASSERT_NOT_EQUAL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapFileWriterDeviceDestructor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/SystemUtilsTests.cpp:8,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/SystemUtilsTests.cpp:9,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/SystemUtilsTests.cpp:14,1
    - Dst: std::bitset::count
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/SystemUtilsTests.cpp:14,1
    - Dst: min
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/SystemUtilsTests.cpp:14,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/SystemUtilsTests.cpp:14,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/SystemUtilsTests.cpp:18,1
    - Dst: pcpp::createCoreMaskFromCoreVector
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/SystemUtilsTests.cpp:18,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/SystemUtilsTests.cpp:21,1
    - Dst: pcpp::createCoreMaskFromCoreIds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/SystemUtilsTests.cpp:21,1
    - Dst: pcpp::createCoreVectorFromCoreMask
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/SystemUtilsTests.cpp:24,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/SystemUtilsTests.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 6
    functionDepth: 2
    functionLinenumber: 6
    functionLinenumberEnd: 26
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/SystemUtilsTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_EQUAL
    - static_cast<int>
    - pcpp::getNumOfCores
    - pcpp::createCoreVectorFromCoreMask
    - pcpp::createCoreMaskFromCoreVector
    - std::bitset::count
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - pcpp::createCoreMaskFromCoreIds
    - min
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestSystemCoreUtils)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: pcpp::invokeDebugLog
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void invokeDebugLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_WARN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: pcpp::invokeWarnLog
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_WARN
    linkageType: ''
    returnType: void
    signature: void invokeWarnLog(const std::string& message = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: pcpp::invokeErrorLog
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void invokeErrorLog(const std::string& message = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_DEBUG
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: pcpp::invokeDebugLog
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void invokeDebugLog()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_WARN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: pcpp::invokeWarnLog
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_WARN
    linkageType: ''
    returnType: void
    signature: void invokeWarnLog(const std::string& message = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PCPP_LOG_ERROR
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: pcpp::invokeErrorLog
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached:
    - PCPP_LOG_ERROR
    linkageType: ''
    returnType: void
    signature: void invokeErrorLog(const std::string& message = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: message::reserve
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:49,1
    - Dst: filename::reserve
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:50,1
    - Dst: method::reserve
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: LogPrinter::LogPrinter
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached:
    - message::reserve
    - method::reserve
    - filename::reserve
    linkageType: ''
    returnType: void
    signature: void LogPrinter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - logLevel
    - ' logMessage'
    - ' fileName'
    - ' method'
    - line
    argTypes:
    - pcpp::Logger::LogLevel
    - std::string
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: LogPrinter::onLogMessage
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onLogMessage(pcpp::Logger::LogLevel logLevel, const std::string&
      logMessage, const std::string& fileName,\n\t                  const std::string&
      method, const int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    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: LogPrinter::clean
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clean()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: LogPrinter::getLastLog
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogInfo
    signature: LogInfo * getLastLog() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - numThreads
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: MultiThreadLogCounter::MultiThreadLogCounter
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: void MultiThreadLogCounter(size_t numThreads)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:107,1
    - Dst: back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:110,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - logLevel
    - ' logMessage'
    - ' fileName'
    - ' method'
    - line
    argTypes:
    - pcpp::Logger::LogLevel
    - std::string
    - std::string
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: MultiThreadLogCounter::onLogMessage
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached:
    - empty
    - back
    - size
    linkageType: ''
    returnType: void
    signature: "void onLogMessage(pcpp::Logger::LogLevel logLevel, const std::string&
      logMessage, const std::string& fileName,\n\t                  const std::string&
      method, const int line)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::rfind
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:130,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:130,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:133,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:133,1
    - Dst: std::string::rfind
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:136,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:136,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:139,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 142
    functionName: getLFileName
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached:
    - std::string::rfind
    - std::string::length
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string getLFileName(const std::string& path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:146,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:147,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:147,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:147,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' path'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: getLowerCaseFileName
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached:
    - std::string::end
    - std::transform
    - getLFileName
    - std::string::begin
    linkageType: ''
    returnType: std::string
    signature: std::string getLowerCaseFileName(const std::string& path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::rfind
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:154,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:154,1
    - Dst: std::string::substr
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:157,1
    - Dst: std::string::length
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' method'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: getMethodWithoutNamespace
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached:
    - std::string::rfind
    - std::string::length
    - std::string::substr
    linkageType: ''
    returnType: std::string
    signature: std::string getMethodWithoutNamespace(const std::string& method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:167,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:168,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:169,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: ~LoggerCleaner()
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached:
    - clear
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void ~LoggerCleaner()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:181,1
    - Dst: pcpp::invokeErrorLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:185,1
    - Dst: dist
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:186,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:187,1
    - Dst: std::chrono::milliseconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - threadId
    - numMessages
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: printLogThread
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 0
    functionsReached:
    - dist
    - std::chrono::milliseconds
    - pcpp::invokeErrorLog
    - std::ostringstream::str
    - std::this_thread::sleep_for
    linkageType: ''
    returnType: void
    signature: void printLogThread(int threadId, int numMessages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:202,1
    - Dst: MultiThreadLogCounter::onLogMessage
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:204,1
    - Dst: std::thread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:213,1
    - Dst: join
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:218,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 229
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 1
    functionsReached:
    - std::thread
    - PTF_ASSERT_EQUAL
    - MultiThreadLogCounter::onLogMessage
    - join
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestLoggerMultiThread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:237,1
    - Dst: LogPrinter::LogPrinter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:239,1
    - Dst: static_cast<LogModule>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:247,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:249,1
    - Dst: getLogLevel
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:249,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:250,1
    - Dst: isDebugEnabled
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:250,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:252,1
    - Dst: shouldLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:252,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:253,1
    - Dst: shouldLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:253,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:254,1
    - Dst: shouldLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:254,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:255,1
    - Dst: shouldLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:255,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:256,1
    - Dst: shouldLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:256,1
    - Dst: setLogPrinter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:260,1
    - Dst: LogPrinter::onLogMessage
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:262,1
    - Dst: pcpp::invokeDebugLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:267,1
    - Dst: LogPrinter::getLastLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:268,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:269,1
    - Dst: pcpp::invokeErrorLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:271,1
    - Dst: LogPrinter::getLastLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:273,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:274,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:275,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:276,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:277,1
    - Dst: getLowerCaseFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:277,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:278,1
    - Dst: getMethodWithoutNamespace
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:278,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:279,1
    - Dst: setLogLevel
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:282,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:283,1
    - Dst: getLogLevel
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:283,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:284,1
    - Dst: isDebugEnabled
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:284,1
    - Dst: pcpp::invokeDebugLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:287,1
    - Dst: LogPrinter::getLastLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:288,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:289,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:290,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:291,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:292,1
    - Dst: getLowerCaseFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:292,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:293,1
    - Dst: getMethodWithoutNamespace
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:293,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:294,1
    - Dst: pcpp::invokeWarnLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:296,1
    - Dst: LogPrinter::getLastLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:297,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:298,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:299,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:300,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:301,1
    - Dst: getLowerCaseFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:301,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:302,1
    - Dst: getMethodWithoutNamespace
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:302,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:303,1
    - Dst: pcpp::invokeErrorLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:305,1
    - Dst: LogPrinter::getLastLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:306,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:307,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:308,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:309,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:310,1
    - Dst: getLowerCaseFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:310,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:311,1
    - Dst: getMethodWithoutNamespace
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:311,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:312,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:315,1
    - Dst: getLastError
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:315,1
    - Dst: setAllModulesToLogLevel
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:318,1
    - Dst: static_cast<LogModule>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:321,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:323,1
    - Dst: getLogLevel
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:323,1
    - Dst: static_cast<LogModule>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:323,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:324,1
    - Dst: isDebugEnabled
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:324,1
    - Dst: static_cast<LogModule>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:324,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:326,1
    - Dst: shouldLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:326,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:327,1
    - Dst: shouldLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:327,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:328,1
    - Dst: shouldLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:328,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:329,1
    - Dst: shouldLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:329,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:330,1
    - Dst: shouldLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:330,1
    - Dst: pcpp::invokeDebugLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:334,1
    - Dst: LogPrinter::getLastLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:335,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:336,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:337,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:338,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:339,1
    - Dst: getLowerCaseFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:339,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:340,1
    - Dst: getMethodWithoutNamespace
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:340,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:341,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:344,1
    - Dst: logsEnabled
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:344,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:346,1
    - Dst: logsEnabled
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:346,1
    - Dst: pcpp::invokeDebugLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:352,1
    - Dst: pcpp::invokeErrorLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:353,1
    - Dst: LogPrinter::getLastLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:355,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:356,1
    - Dst: pcpp::invokeErrorLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:359,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:360,1
    - Dst: getLastError
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:360,1
    - Dst: enableLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:363,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:364,1
    - Dst: logsEnabled
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:364,1
    - Dst: pcpp::invokeErrorLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:367,1
    - Dst: LogPrinter::getLastLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:369,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:370,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:371,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:371,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:372,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:373,1
    - Dst: getLowerCaseFileName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:373,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:374,1
    - Dst: getMethodWithoutNamespace
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:374,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:375,1
    - Dst: getLastError
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:375,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:376,1
    - Dst: LogPrinter::clean
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:379,1
    - Dst: resetLogPrinter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:382,1
    - Dst: setstate
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:385,1
    - Dst: setLogLevel
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:388,1
    - Dst: pcpp::invokeDebugLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:389,1
    - Dst: pcpp::invokeErrorLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:390,1
    - Dst: LogPrinter::getLastLog
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:392,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 394
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    functionUses: 1
    functionsReached:
    - getMethodWithoutNamespace
    - pcpp::invokeDebugLog
    - pcpp::invokeWarnLog
    - setLogLevel
    - resetLogPrinter
    - shouldLog
    - setstate
    - getLogLevel
    - pcpp::GtpV2InformationElement::getInstance
    - logsEnabled
    - setLogPrinter
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_EQUAL
    - static_cast<int>
    - pcpp::invokeErrorLog
    - setAllModulesToLogLevel
    - LogPrinter::getLastLog
    - isDebugEnabled
    - LogPrinter::onLogMessage
    - PTF_ASSERT_NULL
    - enableLogs
    - static_cast<LogModule>
    - getLastError
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - LogPrinter::clean
    - LogPrinter::LogPrinter
    - getLowerCaseFileName
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestLogger)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: XdpPacketData
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XdpPacketData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 9
    argNames:
    - config
    - expectedAttachMode
    - expectedUmemNumFrames
    - expectedUmemFrameSize
    - expectedFillRingSize
    - expectedCompletionRingSize
    - expectedRxSize
    - expectedTxSize
    - expectedRxTxBatchSize
    argTypes:
    - pcpp::XdpDevice::XdpDeviceConfiguration*
    - pcpp::XdpDevice::XdpDeviceConfiguration::AttachMode
    - uint16_t
    - uint16_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: assertConfig
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool assertConfig(const pcpp::XdpDevice::XdpDeviceConfiguration* config,\n
      \                 const pcpp::XdpDevice::XdpDeviceConfiguration::AttachMode
      expectedAttachMode,\n                  const uint16_t expectedUmemNumFrames,
      const uint16_t expectedUmemFrameSize,\n                  const uint32_t expectedFillRingSize,
      const uint32_t expectedCompletionRingSize,\n                  const uint32_t
      expectedRxSize, const uint32_t expectedTxSize, const uint16_t expectedRxTxBatchSize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xdpInterface::empty
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:39,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:45,1
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:45,1
    - Dst: auto::getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: getDeviceName
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp
    functionUses: 6
    functionsReached:
    - auto::getName
    - ipToSendReceivePackets::c_str
    - xdpInterface::empty
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: std::string
    signature: std::string getDeviceName()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDeviceName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:59,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:60,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:60,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:63,1
    - Dst: pcpp::XdpDevice::getConfig
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:63,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:65,1
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:65,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:67,1
    - Dst: assertConfig
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:67,1
    - Dst: pcpp::XdpDevice::getConfig
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:67,1
    - Dst: static_cast<XdpPacketData*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:74,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:78,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:81,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:82,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:83,1
    - Dst: pcpp::XdpDevice::stopReceivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:89,1
    - Dst: clock_gettime
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:94,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:98,1
    - Dst: pcpp::XdpDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:98,1
    - Dst: PTF_ASSERT_GREATER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:100,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:101,1
    - Dst: pcpp::XdpDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:103,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:104,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:105,1
    - Dst: pcpp::XdpDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:107,1
    - Dst: pcpp::XdpDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:109,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:111,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:112,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:113,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:114,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:118,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:119,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:120,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:121,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:122,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:123,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:124,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:125,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:126,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:129,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:130,1
    - Dst: pcpp::XdpDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:130,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 135
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::XdpDevice::close
    - PTF_ASSERT_GREATER_OR_EQUAL_THAN
    - std::string::empty
    - pcpp::XdpDevice::stopReceivePackets
    - pcpp::XdpDevice::getStatistics
    - SuppressLogs::SuppressLogs
    - clock_gettime
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - static_cast<XdpPacketData*>
    - PTF_ASSERT_EQUAL
    - getPacketTimeStamp
    - pcpp::XdpDevice::receivePackets
    - pcpp::XdpDevice::getConfig
    - PTF_ASSERT_NULL
    - getRawDataLen
    - PTF_SKIP_TEST
    - assertConfig
    - pcpp::XdpDevice::open
    - PTF_ASSERT_FALSE
    - getDeviceName
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestXdpDeviceReceivePackets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDeviceName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:140,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:141,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:141,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:145,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:145,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:147,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:149,1
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:149,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:151,1
    - Dst: pcpp::XdpDevice::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:151,1
    - Dst: pcpp::XdpDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:153,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:154,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:155,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:156,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:157,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:158,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:159,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:160,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:161,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:162,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:163,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:164,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:165,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:166,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:168,1
    - Dst: pcpp::XdpDevice::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:168,1
    - Dst: pcpp::XdpDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:170,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:171,1
    - Dst: pcpp::XdpDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:173,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:176,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:177,1
    - Dst: pcpp::XdpDevice::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:177,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 182
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::XdpDevice::sendPackets
    - pcpp::XdpDevice::close
    - SuppressLogs::SuppressLogs
    - PTF_ASSERT_EQUAL
    - std::string::empty
    - pcpp::PcapFileReaderDevice::open
    - pcpp::XdpDevice::open
    - PTF_ASSERT_FALSE
    - pcpp::PcapFileReaderDevice::getNextPackets
    - pcpp::XdpDevice::getStatistics
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - getDeviceName
    - PTF_ASSERT_NOT_EQUAL
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestXdpDeviceSendPackets)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDeviceName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:187,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:188,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:188,1
    - Dst: pcpp::XdpDevice::XdpDeviceConfiguration
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:191,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:193,1
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:193,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:195,1
    - Dst: assertConfig
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:195,1
    - Dst: pcpp::XdpDevice::getConfig
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:195,1
    - Dst: static_cast<int*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:202,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:206,1
    - Dst: pcpp::XdpDevice::stopReceivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:214,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:218,1
    - Dst: pcpp::XdpDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:218,1
    - Dst: PTF_ASSERT_GREATER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:220,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 224
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp
    functionUses: 1
    functionsReached:
    - assertConfig
    - PTF_ASSERT_GREATER_OR_EQUAL_THAN
    - PTF_SKIP_TEST
    - std::string::empty
    - pcpp::XdpDevice::open
    - pcpp::XdpDevice::receivePackets
    - PTF_ASSERT_FALSE
    - pcpp::XdpDevice::getConfig
    - pcpp::XdpDevice::stopReceivePackets
    - PTF_ASSERT_TRUE
    - static_cast<int*>
    - getDeviceName
    - getRawDataLen
    - pcpp::XdpDevice::XdpDeviceConfiguration
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestXdpDeviceNonDefaultConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDeviceName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:229,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:230,1
    - Dst: std::string::empty
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:230,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:234,1
    - Dst: pcpp::XdpDevice::XdpDeviceConfiguration
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:237,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:240,1
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:240,1
    - Dst: pcpp::XdpDevice::XdpDeviceConfiguration
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:243,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:246,1
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:246,1
    - Dst: pcpp::XdpDevice::XdpDeviceConfiguration
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:249,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:252,1
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:252,1
    - Dst: pcpp::XdpDevice::XdpDeviceConfiguration
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:255,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:258,1
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:258,1
    - Dst: pcpp::XdpDevice::XdpDeviceConfiguration
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:261,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:264,1
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:264,1
    - Dst: pcpp::XdpDevice::XdpDeviceConfiguration
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:267,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:270,1
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:270,1
    - Dst: pcpp::XdpDevice::XdpDeviceConfiguration
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:273,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:276,1
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:276,1
    - Dst: pcpp::XdpDevice::XdpDeviceConfiguration
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:279,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:282,1
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:282,1
    - Dst: pcpp::XdpDevice::XdpDeviceConfiguration
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:285,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:288,1
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:288,1
    - Dst: pcpp::XdpDevice::XdpDeviceConfiguration
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:291,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:294,1
    - Dst: pcpp::XdpDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:294,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 299
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp
    functionUses: 1
    functionsReached:
    - SuppressLogs::SuppressLogs
    - PTF_SKIP_TEST
    - std::string::empty
    - pcpp::XdpDevice::open
    - PTF_ASSERT_FALSE
    - getDeviceName
    - pcpp::XdpDevice::XdpDeviceConfiguration
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestXdpDeviceInvalidConfig)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:13,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:13,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:15,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:36,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:40,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:45,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:46,1
    - Dst: pcpp::HttpRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:46,1
    - Dst: pcpp::HttpRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:47,1
    - Dst: pcpp::HttpRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:65,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:67,1
    - Dst: pcpp::HttpRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:67,1
    - Dst: pcpp::HttpRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:70,1
    - Dst: pcpp::HttpRequestLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:72,1
    - Dst: pcpp::HttpRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:75,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:78,1
    - Dst: pcpp::HttpRequestLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:87,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:91,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:92,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:94,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:96,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:100,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:102,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:106,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:108,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:111,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:113,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:121,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:123,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:126,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:128,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:130,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:134,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:137,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:140,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 141
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::HttpRequestLayer*::getFieldByName
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::getNextPacket
    - pcpp::Packet::getLayerOfType
    - pcpp::PcapFileReaderDevice::open
    - PTF_ASSERT_NOT_NULL
    - pcpp::HeaderField*::getFieldValue
    - pcpp::PcapFileReaderDevice::close
    - pcpp::RawPacket::RawPacket
    - PTF_ASSERT_TRUE
    - pcpp::HttpRequestLayer*::getFirstLine
    - std::string::find
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestHttpRequestParsing)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:146,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:146,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:148,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:163,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:167,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:172,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:173,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:173,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:175,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:179,1
    - Dst: pcpp::HttpResponseLayer*::getFirstLine
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:183,1
    - Dst: pcpp::HttpResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:188,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:191,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:192,1
    - Dst: pcpp::HttpResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:198,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:199,1
    - Dst: pcpp::HttpResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:202,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:203,1
    - Dst: pcpp::HttpResponseLayer*::getFieldByName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:206,1
    - Dst: pcpp::HeaderField*::getFieldValue
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:209,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:210,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:210,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:216,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:222,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:224,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:226,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:228,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:231,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:234,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:239,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:242,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:245,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 247
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::HttpResponseLayer*::getFieldByName
    - pcpp::Packet::isPacketOfType
    - pcpp::HttpResponseLayer*::getFirstLine
    - pcpp::PcapFileReaderDevice::getNextPacket
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - pcpp::PcapFileReaderDevice::open
    - PTF_ASSERT_NOT_NULL
    - pcpp::HeaderField*::getFieldValue
    - atoi
    - pcpp::RawPacket::RawPacket
    - std::string::c_str
    - PTF_ASSERT_TRUE
    - std::string::find
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestHttpResponseParsing)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:252,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:252,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:253,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:255,1
    - Dst: pcpp::Packet::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:258,1
    - Dst: std::ifstream::rdbuf
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:267,1
    - Dst: std::ifstream::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:268,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:273,1
    - Dst: std::string::find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:277,1
    - Dst: std::string::replace
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:280,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:284,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 285
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::Packet::toString
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::getNextPacket
    - pcpp::PcapFileReaderDevice::open
    - std::ostringstream::str
    - pcpp::RawPacket::RawPacket
    - std::ifstream::rdbuf
    - PTF_ASSERT_TRUE
    - std::ifstream::close
    - std::stringstream::str
    - std::string::replace
    - std::string::find
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPrintPacketAndLayers)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:290,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:290,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:292,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:319,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:323,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:323,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:325,1
    - Dst: pcpp::DnsLayer*::getQueryCount
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:326,1
    - Dst: pcpp::DnsLayer*::getQuery
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:330,1
    - Dst: pcpp::DnsLayer*::getQuery
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:332,1
    - Dst: pcpp::DnsLayer*::getFirstQuery
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:338,1
    - Dst: pcpp::DnsLayer*::getNextQuery
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:339,1
    - Dst: pcpp::DnsQuery*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:341,1
    - Dst: pcpp::DnsQuery*::getDnsClass
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:343,1
    - Dst: pcpp::DnsQuery*::getDnsClass
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:343,1
    - Dst: pcpp::DnsLayer*::getAnswerCount
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:355,1
    - Dst: pcpp::DnsLayer*::getAnswer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:359,1
    - Dst: pcpp::DnsLayer*::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:366,1
    - Dst: pcpp::DnsLayer*::getNextAnswer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:367,1
    - Dst: pcpp::DnsResource*::getTTL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:369,1
    - Dst: pcpp::DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:371,1
    - Dst: pcpp::DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:373,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:375,1
    - Dst: pcpp::DnsLayer*::getAuthorityCount
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:387,1
    - Dst: pcpp::DnsLayer*::getAuthority
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:391,1
    - Dst: pcpp::DnsLayer*::getFirstAuthority
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:394,1
    - Dst: pcpp::DnsLayer*::getNextAuthority
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:395,1
    - Dst: pcpp::DnsResource*::getData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:397,1
    - Dst: pcpp::DnsLayer*::getAdditionalRecordCount
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:405,1
    - Dst: pcpp::DnsLayer*::getAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:409,1
    - Dst: pcpp::DnsLayer*::getAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:412,1
    - Dst: pcpp::DnsLayer*::getFirstAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:418,1
    - Dst: pcpp::DnsLayer*::getNextAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:419,1
    - Dst: pcpp::DnsResource*::getDnsType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:421,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:430,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:433,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:435,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:437,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:439,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:442,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:444,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:446,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:448,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:450,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:453,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:455,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:457,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:459,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:461,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:464,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:466,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:469,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:472,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp:474,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 475
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DnsLayer*::getNextAdditionalRecord
    - pcpp::DnsResource*::getData
    - pcpp::RawPacket::RawPacket
    - pcpp::DnsLayer*::getAdditionalRecordCount
    - pcpp::DnsLayer*::getFirstQuery
    - pcpp::DnsLayer*::getFirstAdditionalRecord
    - pcpp::DnsLayer*::getNextAuthority
    - pcpp::DnsQuery*::getDnsClass
    - pcpp::DnsLayer*::getQueryCount
    - pcpp::DnsLayer*::getAdditionalRecord
    - pcpp::DnsResource*::getDnsType
    - pcpp::DnsLayer*::getNextQuery
    - pcpp::DnsLayer*::getAnswer
    - PTF_ASSERT_TRUE
    - pcpp::DnsLayer*::getQuery
    - pcpp::DnsLayer*::getFirstAnswer
    - pcpp::DnsLayer*::getFirstAuthority
    - pcpp::DnsResource*::getTTL
    - pcpp::DnsLayer*::getNextAnswer
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileReaderDevice::getNextPacket
    - pcpp::DnsLayer*::getAuthority
    - pcpp::DnsQuery*::getDnsType
    - pcpp::DnsLayer*::getAuthorityCount
    - pcpp::DnsLayer*::getAnswerCount
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestDnsParsing)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: change_mtu_new
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int change_mtu_new(uint16_t, unsigned int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: change_mtu_old
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int change_mtu_old(uint8_t, unsigned int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: config_network_if_new
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int config_network_if_new(uint16_t, uint8_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: config_network_if_old
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int config_network_if_old(uint8_t, uint8_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: config_mac_address
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int config_mac_address(uint16_t, uint8_t[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: config_promiscusity
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int config_promiscusity(uint16_t, uint8_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - numOfPackets
    - userCookie
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: onPacketsCallbackSingleBurst
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned int*>
    linkageType: ''
    returnType: bool
    signature: "bool onPacketsCallbackSingleBurst(pcpp::MBufRawPacket*, uint32_t numOfPackets,
      pcpp::KniDevice*,\n\t                                         void* userCookie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: onPacketsMock
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool onPacketsMock(pcpp::MBufRawPacket*, uint32_t, pcpp::KniDevice*,
      void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - numOfPackets
    - userCookie
    argTypes:
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: onPacketsCallback
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<unsigned int*>
    linkageType: ''
    returnType: bool
    signature: bool onPacketsCallback(pcpp::MBufRawPacket*, uint32_t numOfPackets,
      pcpp::KniDevice*, void* userCookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: setCallbacks
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setCallbacks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::executeShellCommand
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:92,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:92,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:93,1
    - Dst: pcpp::executeShellCommand
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:95,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' ip'
    - kniDeviceId
    argTypes:
    - pcpp::IPAddress
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: setKniDeviceIp
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - pcpp::executeShellCommand
    linkageType: ''
    returnType: bool
    signature: bool setKniDeviceIp(const pcpp::IPAddress& ip, int kniDeviceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - pcpp::KniDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: KniDeviceTeardown::KniDeviceTeardown
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KniDeviceTeardown(pcpp::KniDevice* dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isInitialized
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:112,1
    - Dst: isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:112,1
    - Dst: stopRequestHandlerThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:114,1
    - Dst: close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: ~KniDeviceTeardown()
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 0
    functionsReached:
    - isInitialized
    - close
    - stopRequestHandlerThread
    - isOpened
    linkageType: ''
    returnType: void
    signature: void ~KniDeviceTeardown()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:128,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:138,1
    - Dst: setCallbacks
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:140,1
    - Dst: pcpp::KniDeviceList::callbackVersion
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:141,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:149,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:153,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:154,1
    - Dst: isInitialized
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:154,1
    - Dst: createDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:155,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:156,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:157,1
    - Dst: pcpp::KniDevice*::isInitialized
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:157,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:159,1
    - Dst: getDeviceByPort
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:159,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:160,1
    - Dst: getDeviceByName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:160,1
    - Dst: pcpp::KniDevice*::getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:163,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:164,1
    - Dst: pcpp::KniDevice*::getPort
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:167,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:168,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:171,1
    - Dst: pcpp::KniDevice*::getLinkState
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:171,1
    - Dst: pcpp::KniDevice*::getLinkState
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:174,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:175,1
    - Dst: pcpp::KniDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:180,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:181,1
    - Dst: pcpp::KniDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:182,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:183,1
    - Dst: pcpp::KniDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:186,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:187,1
    - Dst: pcpp::KniDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:188,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:189,1
    - Dst: pcpp::KniDevice*::getPromiscuous
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:192,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:193,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:196,1
    - Dst: pcpp::KniDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:196,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:197,1
    - Dst: pcpp::KniDevice*::startRequestHandlerThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:197,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:198,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:198,1
    - Dst: pcpp::KniDeviceList::isCallbackSupported
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:199,1
    - Dst: pcpp::KniDevice*::setPromiscuous
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:201,1
    - Dst: PTF_NON_CRITICAL_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:202,1
    - Dst: pcpp::KniDevice*::getPromiscuous
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:205,1
    - Dst: PTF_NON_CRITICAL_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:206,1
    - Dst: pcpp::KniDevice*::setPromiscuous
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:207,1
    - Dst: PTF_NON_CRITICAL_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:208,1
    - Dst: pcpp::KniDevice*::getPromiscuous
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:211,1
    - Dst: PTF_NON_CRITICAL_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:212,1
    - Dst: pcpp::KniDeviceList::isCallbackSupported
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:216,1
    - Dst: pcpp::KniDevice*::setMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:219,1
    - Dst: PTF_NON_CRITICAL_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:220,1
    - Dst: pcpp::KniDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:223,1
    - Dst: PTF_NON_CRITICAL_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:224,1
    - Dst: pcpp::KniDeviceList::isCallbackSupported
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:227,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:229,1
    - Dst: pcpp::KniDevice*::setMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:230,1
    - Dst: PTF_NON_CRITICAL_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:231,1
    - Dst: pcpp::KniDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:234,1
    - Dst: PTF_NON_CRITICAL_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:235,1
    - Dst: pcpp::KniDeviceList::isCallbackSupported
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:238,1
    - Dst: pcpp::KniDevice*::setLinkState
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:242,1
    - Dst: PTF_NON_CRITICAL_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:243,1
    - Dst: pcpp::KniDevice*::getLinkState
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:246,1
    - Dst: PTF_NON_CRITICAL_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:247,1
    - Dst: pcpp::KniDevice*::setLinkState
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:248,1
    - Dst: pcpp::KniDevice*::getLinkState
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:251,1
    - Dst: PTF_NON_CRITICAL_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:252,1
    - Dst: pcpp::KniDevice*::updateLinkState
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:262,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:267,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:272,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:277,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:282,1
    - Dst: pcpp::KniDevice*::stopRequestHandlerThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:287,1
    - Dst: pcpp::KniDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:288,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:292,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 294
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::KniDevice*::setMtu
    - getDeviceByPort
    - pcpp::KniDevice*::isInitialized
    - pcpp::KniDevice*::getPort
    - pcpp::KniDevice*::setLinkState
    - pcpp::KniDevice*::getPromiscuous
    - pcpp::GtpV2InformationElement::getInstance
    - PTF_NON_CRITICAL_EQUAL
    - pcpp::KniDeviceList::isCallbackSupported
    - pcpp::KniDevice*::getName
    - std::chrono::seconds
    - isInitialized
    - getDeviceByName
    - pcpp::KniDeviceList::callbackVersion
    - PTF_ASSERT_TRUE
    - pcpp::KniDevice*::updateLinkState
    - pcpp::KniDevice*::startRequestHandlerThread
    - PTF_ASSERT_EQUAL
    - PTF_NON_CRITICAL_TRUE
    - setCallbacks
    - pcpp::KniDevice*::getLinkState
    - std::ostringstream::str
    - pcpp::KniDevice*::open
    - std::this_thread::sleep_for
    - pcpp::KniDevice*::setMacAddress
    - pcpp::KniDevice*::stopRequestHandlerThread
    - PTF_SKIP_TEST
    - PTF_PRINT_VERBOSE
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - createDevice
    - pcpp::KniDevice*::getMacAddress
    - pcpp::KniDevice*::setPromiscuous
    - pcpp::KniDevice*::close
    - pcpp::KniDevice*::getMtu
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestKniDevice)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:302,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:319,1
    - Dst: setCallbacks
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:320,1
    - Dst: pcpp::KniDeviceList::callbackVersion
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:321,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:333,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:334,1
    - Dst: isInitialized
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:334,1
    - Dst: createDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:335,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:336,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:337,1
    - Dst: pcpp::KniDevice*::isInitialized
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:337,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:338,1
    - Dst: pcpp::KniDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:338,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:339,1
    - Dst: pcpp::KniDevice*::startRequestHandlerThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:339,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:342,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:342,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:345,1
    - Dst: setKniDeviceIp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:345,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:346,1
    - Dst: pcpp::KniDevice*::setPromiscuous
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:346,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:347,1
    - Dst: pcpp::KniDevice*::setLinkState
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:347,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:352,1
    - Dst: pcpp::RawSocketDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:352,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:355,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:360,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:360,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:362,1
    - Dst: pcpp::KniDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:362,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:364,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:365,1
    - Dst: pcpp::KniDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:365,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:367,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:367,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:370,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:371,1
    - Dst: pcpp::RawPacketVector::pushBack
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:372,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:375,1
    - Dst: pcpp::RawSocketDevice::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:376,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:378,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:379,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:379,1
    - Dst: pcpp::KniDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:380,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:381,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:383,1
    - Dst: pcpp::KniDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:383,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:384,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:384,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:386,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:389,1
    - Dst: pcpp::KniDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:389,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:390,1
    - Dst: pcpp::KniDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:390,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:391,1
    - Dst: pcpp::KniDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:391,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:395,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:396,1
    - Dst: pcpp::RawPacketVector::pushBack
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:397,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:400,1
    - Dst: pcpp::RawSocketDevice::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:401,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:403,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:404,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:404,1
    - Dst: pcpp::KniDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:405,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:406,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:408,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:410,1
    - Dst: pcpp::RawPacketVector::pushBack
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:411,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:414,1
    - Dst: pcpp::RawSocketDevice::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:415,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:417,1
    - Dst: pcpp::KniDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:420,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:426,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:431,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:436,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:443,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:444,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:446,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:446,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:455,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:456,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:460,1
    - Dst: pcpp::RawPacketVector::pushBack
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:461,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:462,1
    - Dst: pcpp::PointerVector::pushBack
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:463,1
    - Dst: pcpp::KniDevice*::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:470,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:471,1
    - Dst: pcpp::RawSocketDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:476,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:477,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:479,1
    - Dst: pcpp::KniDevice*::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:483,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:484,1
    - Dst: pcpp::RawSocketDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:489,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:490,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:492,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:497,1
    - Dst: pcpp::KniDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:497,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:497,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:498,1
    - Dst: pcpp::KniDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:498,1
    - Dst: pcpp::RawSocketDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:502,1
    - Dst: pcpp::KniDevice*::stopRequestHandlerThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:503,1
    - Dst: pcpp::KniDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:504,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:505,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp:508,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 296
    functionDepth: 4
    functionLinenumber: 296
    functionLinenumberEnd: 511
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::KniDevice*::isInitialized
    - pcpp::RawPacket::RawPacket
    - pcpp::KniDevice*::setLinkState
    - pcpp::RawPacketVector::at
    - pcpp::GtpV2InformationElement::getInstance
    - PTF_ASSERT_NOT_EQUAL
    - SuppressLogs::SuppressLogs
    - std::chrono::seconds
    - setKniDeviceIp
    - isInitialized
    - pcpp::KniDeviceList::callbackVersion
    - PTF_ASSERT_TRUE
    - pcpp::Packet::Packet
    - pcpp::KniDevice*::startRequestHandlerThread
    - pcpp::RawSocketDevice::close
    - pcpp::RawSocketDevice::open
    - PTF_ASSERT_EQUAL
    - pcpp::RawSocketDevice::receivePackets
    - pcpp::RawSocketDevice::sendPackets
    - pcpp::PcapFileReaderDevice::open
    - setCallbacks
    - pcpp::PcapFileReaderDevice::close
    - std::ostringstream::str
    - pcpp::KniDevice*::open
    - std::this_thread::sleep_for
    - pcpp::KniDevice*::startCaptureBlockingMode
    - pcpp::KniDevice*::stopRequestHandlerThread
    - pcpp::KniDevice*::sendPacket
    - PTF_SKIP_TEST
    - pcpp::KniDevice*::stopCapture
    - PTF_PRINT_VERBOSE
    - pcpp::PcapFileReaderDevice::getNextPacket
    - pcpp::KniDevice*::startCapture
    - PTF_ASSERT_NOT_NULL
    - pcpp::KniDevice*::receivePackets
    - PTF_ASSERT_FALSE
    - pcpp::PointerVector::pushBack
    - createDevice
    - pcpp::KniDevice*::setPromiscuous
    - pcpp::KniDevice*::close
    - pcpp::KniDevice*::sendPackets
    - pcpp::RawPacketVector::clear
    - pcpp::RawPacketVector::pushBack
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestKniDeviceSendReceive)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: DpdkPacketData
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DpdkPacketData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 129
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:61,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - maxSleepTime
    - minPacketCount
    - ' packetData'
    argTypes:
    - int
    - int
    - DpdkPacketData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: incSleep
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 1
    functionsReached:
    - std::chrono::seconds
    - std::this_thread::sleep_for
    linkageType: ''
    returnType: int
    signature: int incSleep(int maxSleepTime, int minPacketCount, const DpdkPacketData&
      packetData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:76,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:76,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - maxSleepTime
    - packetData
    - totalNumOfCores
    - numOfCoresInUse
    - coreMask
    argTypes:
    - int
    - DpdkPacketData[]
    - int
    - int
    - pcpp::CoreMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 94
    functionName: incSleepMultiThread
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - std::this_thread::sleep_for
    linkageType: ''
    returnType: int
    signature: "int incSleepMultiThread(int maxSleepTime, DpdkPacketData packetData[],
      int totalNumOfCores, int numOfCoresInUse,\n                        pcpp::CoreMask
      coreMask)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:107,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:109,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:111,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:113,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:115,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:117,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - packets
    - numOfPackets
    - threadId
    - device
    - userCookie
    argTypes:
    - pcpp::MBufRawPacket*
    - uint32_t
    - uint8_t
    - pcpp::DpdkDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 122
    functionName: dpdkPacketsArrive
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::isPacketOfType
    linkageType: ''
    returnType: void
    signature: "void dpdkPacketsArrive(pcpp::MBufRawPacket* packets, uint32_t numOfPackets,
      uint8_t threadId, pcpp::DpdkDevice* device,\n                       void* userCookie)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:135,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:137,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:139,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:141,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:143,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:146,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:148,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:149,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:149,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:152,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:155,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:157,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:158,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:158,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 5
    argNames:
    - packets
    - numOfPackets
    - threadId
    - device
    - userCookie
    argTypes:
    - pcpp::MBufRawPacket*
    - uint32_t
    - uint8_t
    - pcpp::DpdkDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 164
    functionName: dpdkPacketsArriveMultiThread
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::hash5Tuple
    - pcpp::RawPacket::RawPacket
    - pushBack
    - pcpp::Packet::isPacketOfType
    linkageType: ''
    returnType: void
    signature: "void dpdkPacketsArriveMultiThread(pcpp::MBufRawPacket* packets, uint32_t
      numOfPackets, uint8_t threadId,\n                                  pcpp::DpdkDevice*
      device, void* userCookie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: DpdkTestWorkerThread::DpdkTestWorkerThread
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DpdkTestWorkerThread()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dpdkDevice
    - queueId
    - queueLock
    argTypes:
    - pcpp::DpdkDevice*
    - uint16_t
    - std::mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: DpdkTestWorkerThread::init
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init(pcpp::DpdkDevice* dpdkDevice, uint16_t queueId, std::mutex*
      queueLock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:219,1
    - Dst: std::unique_lock::unlock
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - coreId
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 232
    functionName: DpdkTestWorkerThread::run
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 0
    functionsReached:
    - receivePackets
    - std::unique_lock::unlock
    linkageType: ''
    returnType: bool
    signature: bool run(uint32_t coreId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: DpdkTestWorkerThread::stop
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: DpdkTestWorkerThread::getCoreId
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t getCoreId() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: DpdkTestWorkerThread::getPacketCount
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getPacketCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: DpdkTestWorkerThread::threadRanAndStopped
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool threadRanAndStopped()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:260,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:261,1
    - Dst: getDpdkDeviceList
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:261,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:263,1
    - Dst: getDpdkLogLevel
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:263,1
    - Dst: setDpdkLogLevel
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:264,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:265,1
    - Dst: getDpdkLogLevel
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:265,1
    - Dst: setDpdkLogLevel
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:266,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 270
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_EQUAL
    - getDpdkLogLevel
    - setDpdkLogLevel
    - getDpdkDeviceList
    - PTF_ASSERT_GREATER_THAN
    - pcpp::GtpV2InformationElement::getInstance
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestDpdkInitDevice)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:275,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:275,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:277,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:278,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:280,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:280,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:281,1
    - Dst: pcpp::DpdkDevice*::getNumOfOpenedRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:281,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:282,1
    - Dst: pcpp::DpdkDevice*::getNumOfOpenedTxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:282,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:283,1
    - Dst: pcpp::DpdkDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:283,1
    - Dst: pcpp::DpdkDevice*::getPMDName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:293,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:296,1
    - Dst: pcpp::DpdkDevice*::isDeviceSupportRssHashFunction
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:296,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:297,1
    - Dst: pcpp::DpdkDevice*::getSupportedRssHashFunctions
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:297,1
    - Dst: pcpp::DpdkDevice*::getPMDName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:299,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:304,1
    - Dst: pcpp::DpdkDevice*::isDeviceSupportRssHashFunction
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:304,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:305,1
    - Dst: pcpp::DpdkDevice*::getSupportedRssHashFunctions
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:305,1
    - Dst: pcpp::DpdkDevice*::getPMDType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:309,1
    - Dst: pcpp::DpdkDevice*::getPMDType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:309,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:316,1
    - Dst: pcpp::DpdkDevice*::getConfiguredRssHashFunction
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:316,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:318,1
    - Dst: pcpp::DpdkDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:318,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:321,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:322,1
    - Dst: pcpp::DpdkDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:322,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:324,1
    - Dst: pcpp::DpdkDevice*::getNumOfOpenedRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:324,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:325,1
    - Dst: pcpp::DpdkDevice*::getNumOfOpenedTxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:325,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:327,1
    - Dst: pcpp::DpdkDevice*::getLinkStatus
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:327,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:328,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:329,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:332,1
    - Dst: pcpp::DpdkDevice*::startCaptureSingleThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:332,1
    - Dst: incSleep
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:333,1
    - Dst: pcpp::DpdkDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:334,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:336,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:338,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:339,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:340,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:341,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:342,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:343,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:344,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:345,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:346,1
    - Dst: pcpp::DpdkDevice*::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:349,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:350,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:351,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:352,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:353,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:361,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:362,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:364,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:365,1
    - Dst: PTF_ASSERT_LOWER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:370,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:371,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:372,1
    - Dst: pcpp::DpdkDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:374,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 379
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DpdkDevice*::getNumOfOpenedRxQueues
    - pcpp::DpdkDevice*::getConfiguredRssHashFunction
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::DpdkDevice*::getStatistics
    - PTF_ASSERT_NOT_EQUAL
    - SuppressLogs::SuppressLogs
    - pcpp::DpdkDevice*::getMtu
    - PTF_ASSERT_LOWER_OR_EQUAL_THAN
    - pcpp::DpdkDevice*::getPMDType
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - pcpp::DpdkDevice*::getLinkStatus
    - pcpp::DpdkDevice*::getNumOfOpenedTxQueues
    - pcpp::DpdkDevice*::open
    - pcpp::DpdkDevice*::stopCapture
    - PTF_ASSERT_EQUAL
    - pcpp::DpdkDevice*::isDeviceSupportRssHashFunction
    - pcpp::DpdkDevice*::close
    - PTF_SKIP_TEST
    - pcpp::DpdkDevice*::startCaptureSingleThread
    - pcpp::DpdkDevice*::getSupportedRssHashFunctions
    - pcpp::DpdkDevice*::getPMDName
    - PTF_PRINT_VERBOSE
    - incSleep
    - PTF_ASSERT_NOT_NULL
    - pcpp::DpdkDevice*::getTotalNumOfRxQueues
    - PTF_ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestDpdkDevice)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:384,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:384,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:386,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:387,1
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:392,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:393,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:394,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:404,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:406,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:407,1
    - Dst: pcpp::DpdkDevice*::openMultiQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:407,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:410,1
    - Dst: pcpp::DpdkDevice*::openMultiQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:410,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:414,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:416,1
    - Dst: pcpp::DpdkDevice*::startCaptureSingleThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:416,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:419,1
    - Dst: pcpp::DpdkDevice*::getNumOfOpenedRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:419,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:420,1
    - Dst: pcpp::DpdkDevice*::getNumOfOpenedTxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:420,1
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:422,1
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:423,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:429,1
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:431,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:443,1
    - Dst: pcpp::DpdkDevice*::startCaptureMultiThreads
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:443,1
    - Dst: incSleepMultiThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:445,1
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:445,1
    - Dst: pcpp::DpdkDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:446,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:447,1
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:450,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:455,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:456,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:457,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:458,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:459,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:460,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:461,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:462,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:466,1
    - Dst: pcpp::DpdkDevice*::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:469,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:470,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:471,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:472,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:473,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:476,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:477,1
    - Dst: PTF_ASSERT_GREATER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:479,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:480,1
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:482,1
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:487,1
    - Dst: intersectMaps
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:493,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:495,1
    - Dst: std::unordered_map::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:495,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:500,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:504,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:505,1
    - Dst: pcpp::PcapFileWriterDevice::writePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:506,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:507,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:511,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:512,1
    - Dst: pcpp::PcapFileWriterDevice::writePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:513,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:514,1
    - Dst: second::first::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:516,1
    - Dst: second::second::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:517,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:521,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:522,1
    - Dst: FlowKeys::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:522,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:528,1
    - Dst: second::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:528,1
    - Dst: second::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:529,1
    - Dst: FlowKeys::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:533,1
    - Dst: pcpp::DpdkDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:536,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:539,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 541
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DpdkDevice*::startCaptureMultiThreads
    - PTF_ASSERT_GREATER_OR_EQUAL_THAN
    - pcpp::DpdkDevice*::getNumOfOpenedRxQueues
    - std::unordered_map::size
    - incSleepMultiThread
    - pcpp::PcapFileWriterDevice::close
    - pcpp::DpdkDevice*::getStatistics
    - pcpp::GtpV2InformationElement::getInstance
    - SuppressLogs::SuppressLogs
    - second::clear
    - intersectMaps
    - FlowKeys::clear
    - pcpp::getNumOfCores
    - pcpp::DpdkDevice*::openMultiQueues
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - pcpp::DpdkDevice*::getNumOfOpenedTxQueues
    - pcpp::DpdkDevice*::stopCapture
    - PTF_ASSERT_EQUAL
    - FlowKeys::size
    - pcpp::PcapFileWriterDevice::writePackets
    - std::ostringstream::str
    - pcpp::DpdkDevice*::close
    - second::first::clear
    - PTF_SKIP_TEST
    - pcpp::DpdkDevice*::startCaptureSingleThread
    - PTF_PRINT_VERBOSE
    - second::size
    - second::second::clear
    - PTF_ASSERT_NOT_NULL
    - pcpp::DpdkDevice*::getTotalNumOfRxQueues
    - PTF_ASSERT_FALSE
    - pcpp::PcapFileWriterDevice::open
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestDpdkMultiThread)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:546,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:546,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:548,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:549,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:553,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:554,1
    - Dst: pcpp::DpdkDevice*::openMultiQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:554,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfTxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:557,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfTxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:557,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:560,1
    - Dst: pcpp::DpdkDevice*::openMultiQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:560,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:563,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:563,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:569,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:570,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:575,1
    - Dst: pcpp::RawPacketVector::pushBack
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:576,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:577,1
    - Dst: pcpp::PointerVector::pushBack
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:578,1
    - Dst: pcpp::DpdkDevice*::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:585,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:586,1
    - Dst: pcpp::DpdkDevice*::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:590,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:591,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:592,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:600,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:601,1
    - Dst: pcpp::DpdkDevice*::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:604,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:605,1
    - Dst: pcpp::DpdkDevice*::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:609,1
    - Dst: pcpp::DpdkDevice*::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:610,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:611,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:612,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:616,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:617,1
    - Dst: pcpp::DpdkDevice*::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:617,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:620,1
    - Dst: pcpp::DpdkDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:620,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:620,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:621,1
    - Dst: pcpp::DpdkDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:621,1
    - Dst: pcpp::DpdkDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:623,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:624,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:627,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 629
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::DpdkDevice*::sendPacket
    - pcpp::RawPacket::RawPacket
    - pcpp::RawPacketVector::at
    - pcpp::DpdkDevice*::getStatistics
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::DpdkDevice*::getTotalNumOfTxQueues
    - SuppressLogs::SuppressLogs
    - pcpp::DpdkDevice*::openMultiQueues
    - pcpp::DpdkDevice*::sendPackets
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - pcpp::Packet::Packet
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileReaderDevice::close
    - pcpp::DpdkDevice*::close
    - PTF_SKIP_TEST
    - pcpp::PcapFileReaderDevice::getNextPacket
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::PointerVector::pushBack
    - pcpp::RawPacketVector::pushBack
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestDpdkDeviceSendPackets)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:634,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:634,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:636,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:637,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:649,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:650,1
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:650,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:651,1
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:651,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:652,1
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:652,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:654,1
    - Dst: pcpp::DpdkDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:654,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:655,1
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:655,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:655,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:656,1
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:656,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:656,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:657,1
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:657,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:657,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:663,1
    - Dst: pcpp::DpdkDevice*::startCaptureSingleThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:663,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:664,1
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:664,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:665,1
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:665,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:666,1
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:666,1
    - Dst: pcpp::DpdkDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:668,1
    - Dst: pcpp::DpdkDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:669,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:671,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:671,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfTxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:672,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfTxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:672,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:673,1
    - Dst: pcpp::DpdkDevice*::openMultiQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:673,1
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:684,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:685,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:685,1
    - Dst: pcpp::MBufRawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:686,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:699,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:700,1
    - Dst: pcpp::MBufRawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:700,1
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:712,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:713,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:713,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:726,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:727,1
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:745,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:746,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:746,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:759,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:760,1
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:774,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:777,1
    - Dst: DpdkTestWorkerThread::DpdkTestWorkerThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:779,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:781,1
    - Dst: DpdkTestWorkerThread*::init
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:782,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:783,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:786,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:786,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:789,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:791,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:791,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:794,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:794,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:795,1
    - Dst: pcpp::DpdkDevice*::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:798,1
    - Dst: pcpp::DpdkDevice*::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:804,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:805,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:806,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:807,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:808,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:809,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:810,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:813,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:815,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:818,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:818,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:825,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:826,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:827,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:836,1
    - Dst: DpdkTestWorkerThread*::threadRanAndStopped
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:836,1
    - Dst: DpdkTestWorkerThread*::getPacketCount
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:837,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:838,1
    - Dst: DpdkTestWorkerThread*::getCoreId
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:838,1
    - Dst: DpdkTestWorkerThread*::getPacketCount
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:838,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:843,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:845,1
    - Dst: pcpp::DpdkDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:847,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:850,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 124
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 852
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 1
    functionsReached:
    - DpdkTestWorkerThread*::getPacketCount
    - pcpp::MBufRawPacketVector::size
    - pcpp::DpdkDevice*::getStatistics
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::DpdkDevice*::getTotalNumOfTxQueues
    - SuppressLogs::SuppressLogs
    - std::chrono::seconds
    - pcpp::getNumOfCores
    - std::vector::push_back
    - pcpp::DpdkDevice*::openMultiQueues
    - DpdkTestWorkerThread*::threadRanAndStopped
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - DpdkTestWorkerThread*::init
    - PTF_ASSERT_LOWER_THAN
    - pcpp::DpdkDevice*::open
    - pcpp::DpdkDevice*::stopCapture
    - pcpp::DpdkDevice*::receivePackets
    - PTF_ASSERT_EQUAL
    - std::this_thread::sleep_for
    - pcpp::DpdkDevice*::close
    - DpdkTestWorkerThread::DpdkTestWorkerThread
    - DpdkTestWorkerThread*::getCoreId
    - PTF_SKIP_TEST
    - pcpp::DpdkDevice*::startCaptureSingleThread
    - PTF_PRINT_VERBOSE
    - std::vector::size
    - PTF_ASSERT_NOT_NULL
    - pcpp::DpdkDevice*::getTotalNumOfRxQueues
    - PTF_ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestDpdkDeviceWorkerThreads)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:857,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:857,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:859,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:860,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:862,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:862,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfTxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:863,1
    - Dst: pcpp::DpdkDevice*::getTotalNumOfTxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:863,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:865,1
    - Dst: pcpp::DpdkDevice*::openMultiQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:865,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:871,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:871,1
    - Dst: pcpp::MBufRawPacket::MBufRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:880,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:881,1
    - Dst: pcpp::MBufRawPacket::init
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:881,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:882,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:888,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:890,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:892,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:894,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:899,1
    - Dst: pcpp::DpdkDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:899,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:903,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:904,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:905,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:906,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:907,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:909,1
    - Dst: pcpp::DpdkDevice*::getNumOfOpenedRxQueues
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:918,1
    - Dst: pcpp::DpdkDevice*::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:920,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:921,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:921,1
    - Dst: pcpp::MBufRawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:922,1
    - Dst: pcpp::MBufRawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:922,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:926,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:926,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:927,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:941,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:942,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:945,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:945,1
    - Dst: pcpp::MBufRawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:946,1
    - Dst: pcpp::MBufRawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:946,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:948,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:948,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:950,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:953,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:953,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:954,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:956,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:960,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:962,1
    - Dst: pcpp::MBufRawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:962,1
    - Dst: pcpp::MBufRawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:968,1
    - Dst: pcpp::MBufRawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:968,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:971,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:971,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:971,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:973,1
    - Dst: pcpp::TcpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:974,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:980,1
    - Dst: pcpp::UdpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:981,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:989,1
    - Dst: pcpp::MBufRawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:990,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:992,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:995,1
    - Dst: pcpp::Packet::removeAllLayersAfter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:995,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:997,1
    - Dst: pcpp::IPv4Layer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:997,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:998,1
    - Dst: pcpp::MBufRawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:998,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1003,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1003,1
    - Dst: pcpp::DnsLayer::DnsLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1005,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1006,1
    - Dst: pcpp::DnsLayer::getDnsHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1007,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1007,1
    - Dst: pcpp::DnsLayer::addQuery
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1008,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1009,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1011,1
    - Dst: rand
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1017,1
    - Dst: rand
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1021,1
    - Dst: pcpp::DnsQuery*::setName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1032,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1032,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1033,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1036,1
    - Dst: pcpp::DpdkDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1036,1
    - Dst: pcpp::DpdkDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1039,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp:1042,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 854
    functionDepth: 4
    functionLinenumber: 854
    functionLinenumberEnd: 1044
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - pcpp::MBufRawPacketVector::end
    - pcpp::UdpLayer*::getNextLayer
    - pcpp::DpdkDevice*::getNumOfOpenedRxQueues
    - pcpp::MBufRawPacketVector::size
    - pcpp::MBufRawPacket*::getRawDataLen
    - pcpp::DpdkDevice*::sendPacket
    - pcpp::RawPacket::RawPacket
    - pcpp::MBufRawPacket::MBufRawPacket
    - pcpp::PcapFileWriterDevice::close
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::MBufRawPacketVector::begin
    - pcpp::DpdkDevice*::getTotalNumOfTxQueues
    - pcpp::Packet::addLayer
    - pcpp::IPv4Layer*::getNextLayer
    - std::chrono::seconds
    - string
    - pcpp::DpdkDevice*::openMultiQueues
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - PTF_ASSERT_LOWER_THAN
    - pcpp::DpdkDevice*::receivePackets
    - pcpp::Packet::isPacketOfType
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::removeAllLayersAfter
    - pcpp::Packet::getLayerOfType
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileReaderDevice::close
    - std::this_thread::sleep_for
    - pcpp::DpdkDevice*::close
    - pcpp::DnsLayer::getDnsHeader
    - PTF_ASSERT_NULL
    - pcpp::DnsLayer::addQuery
    - pcpp::DnsLayer::DnsLayer
    - PTF_SKIP_TEST
    - pcpp::Packet::computeCalculateFields
    - pcpp::TcpLayer*::getNextLayer
    - rand
    - PTF_PRINT_VERBOSE
    - pcpp::PcapFileReaderDevice::getNextPacket
    - pcpp::DnsQuery*::setName
    - pcpp::MBufRawPacket::init
    - PTF_ASSERT_NOT_NULL
    - pcpp::DpdkDevice*::getTotalNumOfRxQueues
    - pcpp::PcapFileWriterDevice::open
    - pcpp::PcapFileWriterDevice::writePacket
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestDpdkMbufRawPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: TcpReassemblyStats
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void TcpReassemblyStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 131
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:66,1
    - Dst: clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 132
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:79,1
    - Dst: std::ifstream::rdbuf
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:81,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' fileName'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: readFileIntoString
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - std::ifstream::rdbuf
    - c_str
    linkageType: ''
    returnType: std::string
    signature: std::string readFileIntoString(const std::string& fileName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:95,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:97,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:99,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:101,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:103,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:103,1
    - Dst: pcpp::IPv4Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:103,1
    - Dst: pcpp::TcpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ' rawPacket'
    argTypes:
    - pcpp::RawPacket
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: getPayloadLen
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpLayer*::getHeaderLen
    - pcpp::Packet::getLayerOfType
    - be16toh
    - pcpp::IPv4Layer*::getHeaderLen
    - std::runtime_error
    - pcpp::IPv4Layer*::getIPv4Header
    linkageType: ''
    returnType: size_t
    signature: size_t getPayloadLen(pcpp::RawPacket& rawPacket)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:114,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:114,1
    - Dst: end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:115,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:117,1
    - Dst: std::make_pair
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:117,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:117,1
    - Dst: TcpReassemblyStats
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:117,1
    - Dst: find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:118,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:118,1
    - Dst: getMissingByteCount
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:121,1
    - Dst: timestamps::push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:129,1
    - Dst: getTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:129,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:131,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:131,1
    - Dst: getDataLength
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - sideIndex
    - ' tcpData'
    - userCookie
    argTypes:
    - int8_t
    - pcpp::TcpStreamData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 132
    functionName: tcpReassemblyMsgReadyCallback
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 0
    functionsReached:
    - getDataLength
    - end
    - getData
    - string
    - TcpReassemblyStats
    - getMissingByteCount
    - getConnectionData
    - find
    - getTimeStamp
    - insert
    - std::make_pair
    - timestamps::push_back
    linkageType: ''
    returnType: void
    signature: void tcpReassemblyMsgReadyCallback(int8_t sideIndex, const pcpp::TcpStreamData&
      tcpData, void* userCookie)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<TcpReassemblyMultipleConnStats*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:141,1
    - Dst: find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:143,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:143,1
    - Dst: end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:144,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:146,1
    - Dst: std::make_pair
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:146,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:146,1
    - Dst: TcpReassemblyStats
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:146,1
    - Dst: find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:147,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:147,1
    - Dst: getMissingByteCount
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:150,1
    - Dst: static_cast<TcpReassemblyMultipleConnStats*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:158,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:158,1
    - Dst: getTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:158,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:160,1
    - Dst: getData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:160,1
    - Dst: getDataLength
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:160,1
    - Dst: static_cast<TcpReassemblyMultipleConnStats*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:166,1
    - Dst: closeConnection
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:166,1
    - Dst: getConnectionData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - sideIndex
    - ' tcpData'
    - userCookie
    argTypes:
    - int8_t
    - pcpp::TcpStreamData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 169
    functionName: tcpReassemblyManuallyCloseConnMsgReadyCallback
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 0
    functionsReached:
    - getDataLength
    - end
    - getData
    - string
    - closeConnection
    - TcpReassemblyStats
    - getMissingByteCount
    - getConnectionData
    - static_cast<TcpReassemblyMultipleConnStats*>
    - find
    - getTimeStamp
    - insert
    - std::make_pair
    - push_back
    linkageType: ''
    returnType: void
    signature: "void tcpReassemblyManuallyCloseConnMsgReadyCallback(int8_t sideIndex,
      const pcpp::TcpStreamData& tcpData,\n                                                           void*
      userCookie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:179,1
    - Dst: end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:180,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:182,1
    - Dst: std::make_pair
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:182,1
    - Dst: TcpReassemblyStats
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:182,1
    - Dst: find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:183,1
    - Dst: find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:188,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:188,1
    - Dst: end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:188,1
    - Dst: end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:188,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' connectionData'
    - userCookie
    argTypes:
    - pcpp::ConnectionData
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: tcpReassemblyConnectionStartCallback
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - TcpReassemblyStats
    - find
    - insert
    - std::make_pair
    - push_back
    linkageType: ''
    returnType: void
    signature: void tcpReassemblyConnectionStartCallback(const pcpp::ConnectionData&
      connectionData, void* userCookie)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:204,1
    - Dst: end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:205,1
    - Dst: insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:207,1
    - Dst: std::make_pair
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:207,1
    - Dst: TcpReassemblyStats
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:207,1
    - Dst: find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:208,1
    - Dst: find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:213,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:213,1
    - Dst: end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:213,1
    - Dst: end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:213,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' connectionData'
    - reason
    - userCookie
    argTypes:
    - pcpp::ConnectionData
    - pcpp::TcpReassembly::ConnectionEndReason
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 221
    functionName: tcpReassemblyConnectionEndCallback
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - TcpReassemblyStats
    - find
    - insert
    - std::make_pair
    - push_back
    linkageType: ''
    returnType: void
    signature: "void tcpReassemblyConnectionEndCallback(const pcpp::ConnectionData&
      connectionData,\n                                               pcpp::TcpReassembly::ConnectionEndReason
      reason, void* userCookie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpReassembly::TcpReassembly
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:234,1
    - Dst: pcpp::TcpReassembly::TcpReassembly
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:237,1
    - Dst: pcpp::TcpReassembly*::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:242,1
    - Dst: pcpp::TcpReassembly*::closeAllConnections
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ' packetStream'
    - ' results'
    - monitorOpenCloseConns
    - closeConnsManually
    argTypes:
    - std::vector<pcpp::RawPacket>
    - TcpReassemblyMultipleConnStats
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 265
    functionName: tcpReassemblyTest
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::TcpReassembly*::closeAllConnections
    - pcpp::TcpReassembly::TcpReassembly
    - pcpp::TcpReassembly*::reassemblePacket
    linkageType: ''
    returnType: bool
    signature: "bool tcpReassemblyTest(const std::vector<pcpp::RawPacket>& packetStream,
      TcpReassemblyMultipleConnStats& results,\n                              bool
      monitorOpenCloseConns, bool closeConnsManually)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::TcpReassembly::TcpReassembly
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:275,1
    - Dst: tcpReassmbly::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:281,1
    - Dst: tcpReassmbly::closeAllConnections
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' packetStream'
    - ' results'
    argTypes:
    - std::vector<pcpp::RawPacket>
    - TcpReassemblyMultipleConnStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 289
    functionName: tcpReassemblyTestManuallyCloseConnOnMsgReady
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 0
    functionsReached:
    - tcpReassmbly::closeAllConnections
    - pcpp::TcpReassembly::TcpReassembly
    - tcpReassmbly::reassemblePacket
    linkageType: ''
    returnType: bool
    signature: "bool tcpReassemblyTestManuallyCloseConnOnMsgReady(const std::vector<pcpp::RawPacket>&
      packetStream,\n                                                         TcpReassemblyMultipleConnStats&
      results)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:299,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:301,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:303,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:305,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:308,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:308,1
    - Dst: pcpp::IPv4Layer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:308,1
    - Dst: pcpp::TcpLayer*::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:308,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:313,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:317,1
    - Dst: pcpp::TcpLayer*::getLayerPayload
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:317,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:322,1
    - Dst: pcpp::TcpLayer*::getLayerPayload
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:322,1
    - Dst: pcpp::TcpLayer*::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:329,1
    - Dst: pcpp::Packet::removeLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:331,1
    - Dst: pcpp::Layer*::getProtocol
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:331,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:333,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:333,1
    - Dst: be32toh
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:333,1
    - Dst: pcpp::TcpLayer*::getTcpHeader
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:333,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:336,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:338,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:342,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - rawPacket
    - beginning
    - numOfBytes
    argTypes:
    - pcpp::RawPacket
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 343
    functionName: tcpReassemblyAddRetransmissions
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::Packet::computeCalculateFields
    - pcpp::TcpLayer*::getNextLayer
    - pcpp::Packet::addLayer
    - pcpp::Packet::getRawPacket
    - pcpp::TcpLayer*::getLayerPayload
    - be32toh
    - pcpp::TcpLayer*::getHeaderLen
    - pcpp::Packet::getLayerOfType
    - htobe32
    - be16toh
    - memcpy
    - pcpp::IPv4Layer*::getHeaderLen
    - std::runtime_error
    - pcpp::IPv4Layer*::getIPv4Header
    - pcpp::Layer*::getProtocol
    - pcpp::Packet::removeLayer
    - pcpp::TcpLayer*::getTcpHeader
    - uint8_t::uint8_t
    linkageType: ''
    returnType: pcpp::RawPacket
    signature: pcpp::RawPacket tcpReassemblyAddRetransmissions(pcpp::RawPacket rawPacket,
      int beginning, int numOfBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:356,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:356,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:359,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:362,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:362,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:363,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:363,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:364,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:364,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:365,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:365,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:366,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:366,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:367,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:367,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:368,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:368,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:369,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:370,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:371,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:371,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:372,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:372,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:373,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:373,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:374,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:374,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:376,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:377,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:377,1
    - Dst: connData::startTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:377,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:378,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:378,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:379,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:379,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:380,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:381,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:381,1
    - Dst: connData::endTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:381,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:384,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:384,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:385,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 386
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - connData::endTimePrecise::time_since_epoch
    - begin
    - PTF_ASSERT_EQUAL
    - string
    - tcpReassemblyTest
    - size
    - PTF_ASSERT_FALSE
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - connData::startTimePrecise::time_since_epoch
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    - readFileIntoString
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblySanity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:393,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:393,1
    - Dst: tcpReassemblyAddRetransmissions
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:396,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:396,1
    - Dst: tcpReassemblyAddRetransmissions
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:398,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:398,1
    - Dst: tcpReassemblyAddRetransmissions
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:400,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:400,1
    - Dst: tcpReassemblyAddRetransmissions
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:402,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:402,1
    - Dst: tcpReassemblyAddRetransmissions
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:404,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:404,1
    - Dst: tcpReassemblyAddRetransmissions
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:406,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:406,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:408,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:408,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:409,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:409,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:410,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:410,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:411,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:411,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:412,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:412,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:413,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:413,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:416,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:419,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:419,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:420,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:420,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:421,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:421,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:422,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:422,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:425,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:425,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:426,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 388
    functionDepth: 5
    functionLinenumber: 388
    functionLinenumberEnd: 427
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - begin
    - PTF_ASSERT_EQUAL
    - std::vector::insert
    - std::vector::begin
    - tcpReassemblyTest
    - string
    - size
    - tcpReassemblyAddRetransmissions
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    - readFileIntoString
    - std::vector::at
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyRetran)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:434,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:434,1
    - Dst: tcpReassemblyAddRetransmissions
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:438,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:438,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:439,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:439,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:440,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:440,1
    - Dst: tcpReassemblyAddRetransmissions
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:444,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:444,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:445,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:445,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:446,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:446,1
    - Dst: getPayloadLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:450,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:450,1
    - Dst: getPayloadLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:451,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:451,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:452,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:452,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:453,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:453,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:456,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:459,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:459,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:460,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:460,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:461,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:461,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:462,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:462,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:463,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:463,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:466,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:466,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:467,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:467,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:469,1
    - Dst: TcpReassemblyMultipleConnStats::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:470,1
    - Dst: std::string::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:471,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:474,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:474,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:477,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:477,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:478,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:478,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:480,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:482,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:482,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:483,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:483,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:484,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:484,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:485,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:485,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:487,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:487,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:488,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 429
    functionDepth: 5
    functionLinenumber: 429
    functionLinenumberEnd: 489
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - getPayloadLen
    - begin
    - std::vector::erase
    - PTF_ASSERT_EQUAL
    - std::vector::insert
    - std::vector::begin
    - tcpReassemblyTest
    - string
    - size
    - std::vector::clear
    - tcpReassemblyAddRetransmissions
    - std::string::clear
    - TcpReassemblyMultipleConnStats::clear
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    - readFileIntoString
    - std::vector::at
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyMissingData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:496,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:496,1
    - Dst: swap
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:499,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:503,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:503,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:504,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:504,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:510,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:510,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:511,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:511,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:515,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:518,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:518,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:519,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:519,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:520,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:520,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:521,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:521,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:522,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:522,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:523,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:523,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:524,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:524,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:527,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:527,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:528,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:528,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:530,1
    - Dst: TcpReassemblyMultipleConnStats::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:531,1
    - Dst: std::string::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:532,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:535,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:535,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:541,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:541,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:542,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:542,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:546,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:546,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:548,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:550,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:550,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:551,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:551,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:552,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:552,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:553,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:553,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:554,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:554,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:555,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:555,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:556,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:556,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:558,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:558,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:560,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 561
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - begin
    - std::vector::erase
    - PTF_ASSERT_EQUAL
    - std::vector::begin
    - std::vector::insert
    - tcpReassemblyTest
    - string
    - size
    - swap
    - PTF_ASSERT_FALSE
    - std::vector::clear
    - std::string::clear
    - TcpReassemblyMultipleConnStats::clear
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    - readFileIntoString
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyOutOfOrder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:569,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:569,1
    - Dst: swap
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:572,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:576,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:576,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:577,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:577,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:583,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:583,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:584,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:584,1
    - Dst: tcpReassemblyTestManuallyCloseConnOnMsgReady
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:588,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:591,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:591,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:592,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:592,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:593,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:593,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:594,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:594,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:595,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:595,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:596,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:596,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:597,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:597,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:600,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:600,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:601,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:601,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:608,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:608,1
    - Dst: swap
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:611,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:614,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:614,1
    - Dst: tcpReassemblyTestManuallyCloseConnOnMsgReady
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:617,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:620,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:620,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:621,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:621,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:622,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:622,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:623,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:623,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:624,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:624,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:625,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:625,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:626,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:626,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:629,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:629,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:631,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 563
    functionDepth: 3
    functionLinenumber: 563
    functionLinenumberEnd: 633
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - begin
    - std::vector::erase
    - PTF_ASSERT_EQUAL
    - std::vector::begin
    - std::vector::insert
    - string
    - size
    - swap
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    - readFileIntoString
    - tcpReassemblyTestManuallyCloseConnOnMsgReady
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyOOOWithManualClose)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:643,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:643,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:644,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:647,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:647,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:648,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:648,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:649,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:649,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:650,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:650,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:651,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:651,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:652,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:652,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:653,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:653,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:654,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:654,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:655,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:655,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:657,1
    - Dst: TcpReassemblyMultipleConnStats::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:658,1
    - Dst: std::string::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:659,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:662,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:662,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:663,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:665,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:665,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:666,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:666,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:667,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:667,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:668,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:668,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:669,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:669,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:670,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:670,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:671,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:671,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:672,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:672,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:673,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:673,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:675,1
    - Dst: TcpReassemblyMultipleConnStats::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:676,1
    - Dst: std::string::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:677,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:680,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:680,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:681,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:683,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:683,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:684,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:684,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:685,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:685,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:686,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:686,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:687,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:687,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:688,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:688,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:689,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:689,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:691,1
    - Dst: TcpReassemblyMultipleConnStats::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:692,1
    - Dst: std::string::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:693,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:696,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:696,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:697,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:699,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:699,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:700,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:700,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:701,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:701,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:702,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:702,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:703,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:703,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:704,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:704,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:705,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:705,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:706,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:706,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:707,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:707,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:709,1
    - Dst: TcpReassemblyMultipleConnStats::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:710,1
    - Dst: std::string::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:711,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:714,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:714,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:718,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:718,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:719,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:719,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:721,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:723,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:723,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:724,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:724,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:725,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:725,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:726,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:726,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:727,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:727,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:728,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:728,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:729,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:729,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:730,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:730,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:731,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 635
    functionDepth: 3
    functionLinenumber: 635
    functionLinenumberEnd: 732
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - begin
    - PTF_ASSERT_EQUAL
    - std::vector::erase
    - string
    - tcpReassemblyTest
    - std::vector::begin
    - std::vector::clear
    - size
    - std::vector::insert
    - PTF_ASSERT_FALSE
    - std::string::clear
    - TcpReassemblyMultipleConnStats::clear
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    - readFileIntoString
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyWithFIN_RST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:742,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:742,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:745,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:746,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:747,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:748,1
    - Dst: be16toh
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:748,1
    - Dst: htobe16
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:748,1
    - Dst: pcpp::IPv4Layer*::getIPv4Header
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:748,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:750,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:753,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:753,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:754,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:754,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:755,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:755,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:756,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:756,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:757,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:757,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:758,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:758,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:759,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:759,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:760,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:760,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:761,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 734
    functionDepth: 3
    functionLinenumber: 734
    functionLinenumberEnd: 762
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - htobe16
    - begin
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - tcpReassemblyTest
    - string
    - PTF_ASSERT_NOT_NULL
    - be16toh
    - size
    - PTF_ASSERT_FALSE
    - pcpp::IPv4Layer*::getIPv4Header
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    - readFileIntoString
    - std::vector::at
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyMalformedPkts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:774,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:774,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:776,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:777,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:779,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:779,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:780,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:780,1
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:803,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:804,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:808,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:808,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:809,1
    - Dst: TcpReassemblyMultipleConnStats::flowKeysList::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:809,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:811,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:813,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:814,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:815,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:816,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:817,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:818,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:819,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:819,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:820,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:824,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:825,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:826,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:827,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:828,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:829,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:830,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:830,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:831,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:835,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:836,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:837,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:838,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:839,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:840,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:841,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:841,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:842,1
    - Dst: pcpp::TcpReassembly::getConnectionInformation
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:846,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:847,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:847,1
    - Dst: find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:850,1
    - Dst: find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:852,1
    - Dst: find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:854,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:855,1
    - Dst: end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:855,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:856,1
    - Dst: end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:856,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:857,1
    - Dst: end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:857,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:858,1
    - Dst: pcpp::TcpReassembly::isConnectionOpen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:858,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:859,1
    - Dst: pcpp::TcpReassembly::isConnectionOpen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:859,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:860,1
    - Dst: pcpp::TcpReassembly::isConnectionOpen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:860,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:865,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:866,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:867,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:868,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:869,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:870,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:871,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:873,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:874,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::const_iterator::second::startTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:874,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:875,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:876,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:877,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:878,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::const_iterator::second::endTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:878,1
    - Dst: PTF_ASSERT_LOWER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:884,1
    - Dst: pcpp::TcpReassembly::isConnectionOpen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:884,1
    - Dst: pcpp::TcpReassembly::closeConnection
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:888,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:889,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:890,1
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:894,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:895,1
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:896,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:897,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:899,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 764
    functionDepth: 3
    functionLinenumber: 764
    functionLinenumberEnd: 901
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TcpReassembly::getConnectionInformation
    - end
    - size
    - readPcapIntoPacketVec
    - std::vector::at
    - pcpp::TcpReassembly::isConnectionOpen
    - pcpp::TcpReassembly::reassemblePacket
    - string
    - pcpp::TcpReassembly::ConnectionInfoList::const_iterator::second::endTimePrecise::time_since_epoch
    - find
    - pcpp::TcpReassembly::closeConnection
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - PTF_ASSERT_LOWER_THAN
    - begin
    - std::vector::erase
    - PTF_ASSERT_EQUAL
    - readFileIntoString
    - TcpReassemblyMultipleConnStats::flowKeysList::size
    - std::vector::begin
    - PTF_ASSERT_FALSE
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - pcpp::TcpReassembly::ConnectionInfoList::const_iterator::second::startTimePrecise::time_since_epoch
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyMultipleConns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:908,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:908,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:911,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:914,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:914,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:915,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:915,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:916,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:916,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:917,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:917,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:918,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:918,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:919,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:919,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:920,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:920,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:923,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:923,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:924,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:924,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:925,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:925,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:926,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:926,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:928,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:929,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:929,1
    - Dst: connData::startTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:929,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:930,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:930,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:931,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:931,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:932,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:933,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:933,1
    - Dst: connData::endTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:933,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:936,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:936,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:937,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 903
    functionDepth: 3
    functionLinenumber: 903
    functionLinenumberEnd: 938
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - connData::endTimePrecise::time_since_epoch
    - begin
    - PTF_ASSERT_EQUAL
    - string
    - tcpReassemblyTest
    - size
    - PTF_ASSERT_FALSE
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - connData::startTimePrecise::time_since_epoch
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    - readFileIntoString
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyIPv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:946,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:946,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:949,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:952,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:952,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:954,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:960,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:961,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:962,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:963,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:964,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:965,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:966,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:967,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:968,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:969,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:969,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:970,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:970,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:972,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:973,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:973,1
    - Dst: connData::startTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:973,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:974,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:974,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:975,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:975,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:976,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:977,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:977,1
    - Dst: connData::endTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:977,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:979,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:979,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:980,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:984,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:985,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:986,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:987,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:988,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:989,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:990,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:991,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:992,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:993,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:993,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:994,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:994,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:996,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:997,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:997,1
    - Dst: connData::startTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:997,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:998,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:998,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:999,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:999,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1000,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1001,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1001,1
    - Dst: connData::endTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1001,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1006,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1007,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1008,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1009,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1010,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1011,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1012,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1013,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1014,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1015,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1015,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1016,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1016,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1018,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1019,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1019,1
    - Dst: connData::startTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1019,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1020,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1020,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1021,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1021,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1022,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1023,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1023,1
    - Dst: connData::endTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1023,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1025,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1025,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1026,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1030,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1031,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1032,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1033,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1034,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1035,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1036,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1037,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1038,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1039,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1039,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1040,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1040,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1042,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1043,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1043,1
    - Dst: connData::startTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1043,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1044,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1044,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1045,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1045,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1046,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1047,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1047,1
    - Dst: connData::endTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1047,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1050,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1050,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 940
    functionDepth: 3
    functionLinenumber: 940
    functionLinenumberEnd: 1052
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - connData::endTimePrecise::time_since_epoch
    - begin
    - PTF_ASSERT_EQUAL
    - string
    - tcpReassemblyTest
    - size
    - PTF_ASSERT_FALSE
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - connData::startTimePrecise::time_since_epoch
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    - readFileIntoString
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyIPv6MultConns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1059,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1059,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1063,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1063,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1064,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1064,1
    - Dst: std::vector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1068,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1068,1
    - Dst: std::vector::insert
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1069,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1069,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1072,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1075,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1075,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1076,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1076,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1077,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1077,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1078,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1078,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1079,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1079,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1080,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1080,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1081,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1081,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1084,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1084,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1085,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1085,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1086,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1086,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1087,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1087,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1089,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1090,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1090,1
    - Dst: connData::startTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1090,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1091,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1091,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1092,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1092,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1093,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1094,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1094,1
    - Dst: connData::endTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1094,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1097,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1097,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1098,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1054
    functionDepth: 3
    functionLinenumber: 1054
    functionLinenumberEnd: 1099
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - connData::endTimePrecise::time_since_epoch
    - begin
    - std::vector::erase
    - PTF_ASSERT_EQUAL
    - std::vector::insert
    - std::vector::begin
    - tcpReassemblyTest
    - string
    - size
    - PTF_ASSERT_FALSE
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - connData::startTimePrecise::time_since_epoch
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    - readFileIntoString
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyIPv6_OOO)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1111,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1111,1
    - Dst: std::vector::back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1113,1
    - Dst: std::vector::pop_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1115,1
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1120,1
    - Dst: pcpp::TcpReassembly::getConnectionInformation
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1124,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1125,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1125,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1126,1
    - Dst: TcpReassemblyMultipleConnStats::flowKeysList::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1126,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1129,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1131,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1133,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1134,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1134,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1135,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1135,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1136,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1136,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1137,1
    - Dst: pcpp::TcpReassembly::isConnectionOpen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1137,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1138,1
    - Dst: pcpp::TcpReassembly::isConnectionOpen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1138,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1139,1
    - Dst: pcpp::TcpReassembly::isConnectionOpen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1139,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1141,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1141,1
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1143,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1144,1
    - Dst: pcpp::TcpReassembly::getConnectionInformation
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1144,1
    - Dst: pcpp::TcpReassembly::purgeClosedConnections
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1146,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1147,1
    - Dst: pcpp::TcpReassembly::getConnectionInformation
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1147,1
    - Dst: pcpp::TcpReassembly::purgeClosedConnections
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1149,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1150,1
    - Dst: pcpp::TcpReassembly::getConnectionInformation
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1150,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1153,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1154,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1155,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1156,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1156,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1157,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1157,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1158,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1158,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1159,1
    - Dst: pcpp::TcpReassembly::isConnectionOpen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1159,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1160,1
    - Dst: pcpp::TcpReassembly::isConnectionOpen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1160,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1161,1
    - Dst: pcpp::TcpReassembly::isConnectionOpen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1101
    functionDepth: 3
    functionLinenumber: 1101
    functionLinenumberEnd: 1162
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TcpReassembly::getConnectionInformation
    - pcpp::TcpReassembly::ConnectionInfoList::find
    - pcpp::TcpReassembly::ConnectionInfoList::end
    - pcpp::TcpReassembly::isConnectionOpen
    - PTF_ASSERT_EQUAL
    - TcpReassemblyMultipleConnStats::flowKeysList::size
    - pcpp::TcpReassembly::reassemblePacket
    - std::chrono::seconds
    - pcpp::TcpReassembly::purgeClosedConnections
    - std::vector::back
    - std::this_thread::sleep_for
    - std::vector::pop_back
    - pcpp::TcpReassembly::ConnectionInfoList::size
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyCleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1179,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1180,1
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1185,1
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1186,1
    - Dst: pcpp::TcpReassembly::getConnectionInformation
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1189,1
    - Dst: pcpp::TcpReassembly::getConnectionInformation
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1191,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1192,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1192,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1193,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1193,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1194,1
    - Dst: TcpReassemblyMultipleConnStats::flowKeysList::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1194,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1195,1
    - Dst: TcpReassemblyMultipleConnStats::flowKeysList::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1195,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1198,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::find
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1200,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1201,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1201,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1202,1
    - Dst: pcpp::TcpReassembly::ConnectionInfoList::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1202,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1203,1
    - Dst: pcpp::TcpReassembly::isConnectionOpen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1203,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1204,1
    - Dst: pcpp::TcpReassembly::isConnectionOpen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1204,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1206,1
    - Dst: TcpReassemblyMultipleConnStats::stats::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1206,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1208,1
    - Dst: TcpReassemblyMultipleConnStats::stats::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1208,1
    - Dst: pcpp::TcpReassembly::closeAllConnections
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1211,1
    - Dst: pcpp::TcpReassembly::closeAllConnections
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1212,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1215,1
    - Dst: TcpReassemblyMultipleConnStats::stats::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1215,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1216,1
    - Dst: TcpReassemblyMultipleConnStats::stats::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1164
    functionDepth: 3
    functionLinenumber: 1164
    functionLinenumberEnd: 1217
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TcpReassembly::getConnectionInformation
    - pcpp::TcpReassembly::ConnectionInfoList::find
    - pcpp::TcpReassembly::ConnectionInfoList::end
    - pcpp::TcpReassembly::isConnectionOpen
    - pcpp::TcpReassembly::closeAllConnections
    - PTF_ASSERT_EQUAL
    - TcpReassemblyMultipleConnStats::flowKeysList::size
    - pcpp::TcpReassembly::reassemblePacket
    - pcpp::TcpReassembly::ConnectionInfoList::size
    - TcpReassemblyMultipleConnStats::stats::begin
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyMaxOOOFrags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1224,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1224,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1227,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1230,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1230,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1231,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1231,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1232,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1232,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1233,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1233,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1234,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1234,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1235,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1235,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1236,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1236,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1237,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1238,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1239,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1239,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1240,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1240,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1241,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1241,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1242,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1242,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1244,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1245,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1245,1
    - Dst: connData::startTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1245,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1246,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1246,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1247,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1247,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1248,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1249,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1249,1
    - Dst: connData::endTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1249,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1252,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1252,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1253,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1219
    functionDepth: 3
    functionLinenumber: 1219
    functionLinenumberEnd: 1254
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - connData::endTimePrecise::time_since_epoch
    - begin
    - PTF_ASSERT_EQUAL
    - string
    - tcpReassemblyTest
    - size
    - PTF_ASSERT_FALSE
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - connData::startTimePrecise::time_since_epoch
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    - readFileIntoString
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyMaxSeq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1268,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1268,1
    - Dst: swap
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1271,1
    - Dst: swap
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1272,1
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1278,1
    - Dst: pcpp::TcpReassembly::reassemblePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1279,1
    - Dst: pcpp::TcpReassembly::closeAllConnections
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1282,1
    - Dst: pcpp::TcpReassembly::closeAllConnections
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1283,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1287,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1287,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1288,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1288,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1289,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1289,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1290,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1290,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1292,1
    - Dst: TcpReassemblyMultipleConnStats::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1256
    functionDepth: 3
    functionLinenumber: 1256
    functionLinenumberEnd: 1294
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::TcpReassembly::closeAllConnections
    - begin
    - PTF_ASSERT_EQUAL
    - pcpp::TcpReassembly::reassemblePacket
    - std::vector::clear
    - size
    - swap
    - TcpReassemblyMultipleConnStats::clear
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyDisableOOOCleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1301,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1302,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1305,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1308,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1308,1
    - Dst: TcpReassemblyMultipleConnStats::timestamps::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1310,1
    - Dst: std::stoll
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1315,1
    - Dst: std::stoll
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1316,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1317,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1318,1
    - Dst: std::ifstream::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1320,1
    - Dst: std::vector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1321,1
    - Dst: TcpReassemblyMultipleConnStats::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1296
    functionDepth: 3
    functionLinenumber: 1296
    functionLinenumberEnd: 1323
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - TcpReassemblyMultipleConnStats::timestamps::size
    - begin
    - PTF_ASSERT_EQUAL
    - tcpReassemblyTest
    - std::stoll
    - std::vector::clear
    - TcpReassemblyMultipleConnStats::clear
    - PTF_ASSERT_TRUE
    - std::ifstream::close
    - readPcapIntoPacketVec
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyTimeStamps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1330,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1331,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1334,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1337,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1337,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1338,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1338,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1339,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1339,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1340,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1325
    functionDepth: 3
    functionLinenumber: 1325
    functionLinenumberEnd: 1341
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - begin
    - PTF_ASSERT_EQUAL
    - tcpReassemblyTest
    - size
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyFinReset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1348,1
    - Dst: readPcapIntoPacketVec
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1348,1
    - Dst: getPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1352,1
    - Dst: setPacketTimeStamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1354,1
    - Dst: tcpReassemblyTest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1358,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1363,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1364,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1365,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1367,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1368,1
    - Dst: connData::startTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1368,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1369,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1370,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1371,1
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1372,1
    - Dst: connData::endTimePrecise::time_since_epoch
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1372,1
    - Dst: readFileIntoString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1376,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1376,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1377,1
    - Dst: begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp:1377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1343
    functionDepth: 3
    functionLinenumber: 1343
    functionLinenumberEnd: 1378
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    functionUses: 1
    functionsReached:
    - connData::endTimePrecise::time_since_epoch
    - setPacketTimeStamp
    - begin
    - PTF_ASSERT_EQUAL
    - string
    - getPacketTimeStamp
    - tcpReassemblyTest
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - connData::startTimePrecise::time_since_epoch
    - PTF_ASSERT_TRUE
    - readPcapIntoPacketVec
    - readFileIntoString
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestTcpReassemblyHighPrecision)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::VrrpLayer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:14,1
    - Dst: pcpp::IPAddress::getType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:18,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:27,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:28,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:29,1
    - Dst: pcpp::RawSocketDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:30,1
    - Dst: pcpp::RawSocketDevice::receivePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:30,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:31,1
    - Dst: pcpp::RawSocketDevice::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:31,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:38,1
    - Dst: pcpp::RawSocketDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:38,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:43,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:44,1
    - Dst: pcpp::RawSocketDevice::receivePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:44,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:46,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:46,1
    - Dst: pcpp::RawSocketDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:54,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:55,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:57,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:62,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:62,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:63,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:63,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:66,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:66,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:73,1
    - Dst: pcpp::RawSocketDevice::receivePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:74,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:77,1
    - Dst: PTF_NON_CRITICAL_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:81,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:87,1
    - Dst: pcpp::RawSocketDevice::receivePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:88,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:91,1
    - Dst: PTF_NON_CRITICAL_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:95,1
    - Dst: pcpp::RawSocketDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:98,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:99,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:101,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:102,1
    - Dst: pcpp::RawSocketDevice::receivePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:102,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:103,1
    - Dst: pcpp::RawSocketDevice::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:103,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:103,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:106,1
    - Dst: pcpp::RawSocketDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:106,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:110,1
    - Dst: pcpp::RawSocketDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:110,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:116,1
    - Dst: pcpp::RawSocketDevice::receivePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:116,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:118,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:118,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:119,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:120,1
    - Dst: pcpp::RawSocketDevice::receivePacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:120,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:122,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:122,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:128,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:128,1
    - Dst: pcpp::RawPacketVector::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:129,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:132,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:133,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:136,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:140,1
    - Dst: pcpp::RawPacketVector::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:142,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:146,1
    - Dst: pcpp::RawSocketDevice::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:146,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:147,1
    - Dst: pcpp::RawSocketDevice::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:147,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:152,1
    - Dst: pcpp::RawSocketDevice::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:152,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:152,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:157,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:158,1
    - Dst: pcpp::RawSocketDevice::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:158,1
    - Dst: pcpp::RawPacketVector::at
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:158,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:159,1
    - Dst: pcpp::RawSocketDevice::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp:159,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 12
    functionDepth: 4
    functionLinenumber: 12
    functionLinenumberEnd: 161
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::VrrpLayer::addIPAddress
    - pcpp::RawSocketDevice::receivePacket
    - pcpp::RawPacket::RawPacket
    - pcpp::RawPacketVector::end
    - pcpp::RawPacketVector::begin
    - pcpp::RawPacketVector::at
    - SuppressLogs::SuppressLogs
    - PTF_NON_CRITICAL_EQUAL
    - pcpp::RawPacketVector::size
    - pcpp::PcapFileReaderDevice::getNextPackets
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - pcpp::IPAddress::getType
    - pcpp::RawSocketDevice::close
    - pcpp::RawSocketDevice::open
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::isPacketOfType
    - pcpp::RawSocketDevice::receivePackets
    - pcpp::RawSocketDevice::sendPackets
    - pcpp::PcapFileReaderDevice::open
    - pcpp::RawSocketDevice::sendPacket
    - pcpp::RawPacketVector::erase
    - PTF_PRINT_VERBOSE
    - PTF_ASSERT_FALSE
    - pcpp::RawPacketVector::clear
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestRawSockets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:27,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:27,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:28,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:28,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:28,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:31,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:31,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:32,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:32,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:32,1
    - Dst: pcpp::VrrpLayer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:36,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:37,1
    - Dst: pcpp::IPAddress::getType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:37,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:38,1
    - Dst: pcpp::IPAddress::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:38,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:42,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:42,1
    - Dst: pcpp::IPAddress::getIPv4
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:44,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:48,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:48,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:50,1
    - Dst: pcpp::IPv4Address::toInt
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:50,1
    - Dst: htobe32
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:50,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:51,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:53,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:57,1
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:57,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:60,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:61,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:62,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:63,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:66,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:67,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:68,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:69,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:71,1
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:71,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:73,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:74,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:75,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:76,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:79,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:80,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:81,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:82,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:93,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:93,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:94,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:94,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:95,1
    - Dst: pcpp::IPv4Address::matchNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:95,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:96,1
    - Dst: pcpp::IPv4Address::matchNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:96,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:97,1
    - Dst: pcpp::IPv4Address::matchNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:97,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:97,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:101,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:106,1
    - Dst: pcpp::IPv4Address::matchNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:106,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:110,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:110,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:111,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:111,1
    - Dst: pcpp::VrrpLayer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:116,1
    - Dst: pcpp::IPAddress::getType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:116,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:117,1
    - Dst: pcpp::IPAddress::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:117,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:121,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:121,1
    - Dst: pcpp::IPAddress::getIPv6
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:123,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:127,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:127,1
    - Dst: pcpp::IPv6Address::copyTo
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:133,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:133,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:134,1
    - Dst: std::array::fill
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:137,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:138,1
    - Dst: pcpp::IPv6Address::copyTo
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:138,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:138,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:138,1
    - Dst: PTF_ASSERT_VECTORS_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:139,1
    - Dst: std::array::fill
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:142,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:143,1
    - Dst: pcpp::IPv6Address::copyTo
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:143,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:143,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:144,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:145,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:145,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:145,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:148,1
    - Dst: pcpp::IPv6Address::copyTo
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:148,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:151,1
    - Dst: pcpp::IPv6Address::copyTo
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:151,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:156,1
    - Dst: pcpp::IPv6Address::copyToNewBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:156,1
    - Dst: pcpp::IPv6Address::copyToNewBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:164,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:167,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:168,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:168,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:169,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:170,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:170,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:170,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:175,1
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:175,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:178,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:179,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:180,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:181,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:184,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:185,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:186,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:187,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:189,1
    - Dst: inet_pton
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:189,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:190,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:191,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:192,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:193,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:196,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:197,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:198,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:199,1
    - Dst: pcpp::VrrpLayer::addIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:202,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:203,1
    - Dst: pcpp::IPAddress::getType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:203,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:204,1
    - Dst: pcpp::IPAddress::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:204,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:205,1
    - Dst: pcpp::IPAddress::getIPv6
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:206,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:208,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:210,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:210,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:211,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:211,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:226,1
    - Dst: pcpp::IPv6Address::matchNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:226,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:226,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:226,1
    - Dst: pcpp::IPv6Address::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:228,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:228,1
    - Dst: pcpp::IPv6Address::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:229,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:229,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:230,1
    - Dst: pcpp::IPv6Address::matchNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:230,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:231,1
    - Dst: pcpp::IPv6Address::matchNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:231,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:241,1
    - Dst: pcpp::IPv6Address::matchNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:241,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:241,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:241,1
    - Dst: pcpp::IPv6Address::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:243,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:243,1
    - Dst: pcpp::IPv6Address::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:244,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:244,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:245,1
    - Dst: pcpp::IPv6Address::matchNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:245,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:246,1
    - Dst: pcpp::IPv6Address::matchNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:246,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:250,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:251,1
    - Dst: pcpp::IPv6Address::matchNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:251,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:252,1
    - Dst: pcpp::IPv6Address::matchNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:252,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:261,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:262,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:263,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:264,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:270,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:271,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:279,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:280,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:283,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:284,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:287,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:288,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:289,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:290,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:293,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:294,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:295,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 128
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 297
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::VrrpLayer::addIPAddress
    - pcpp::IPv4Network::IPv4Network
    - std::get<2>
    - pcpp::IPv6Address::matchNetwork
    - std::get<1>
    - pcpp::IPv6Network::IPv6Network
    - htobe32
    - std::array::size
    - inet_pton
    - std::array::data
    - pcpp::IPAddress::getIPv6
    - std::array::begin
    - pcpp::IPAddress::getIPv4
    - SuppressLogs::SuppressLogs
    - pcpp::IPv6Address::toString
    - std::array::fill
    - pcpp::SdpLayer::getOwnerIPv4Address
    - string
    - PTF_ASSERT_VECTORS_EQUAL
    - std::all_of
    - pcpp::IPv4Address::matchNetwork
    - std::array::end
    - PTF_ASSERT_TRUE
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - pcpp::IPAddress::getType
    - PTF_ASSERT_EQUAL
    - std::get<0>
    - std::ostringstream::str
    - pcpp::IPv6Address::copyTo
    - pcpp::IPv6Address::copyToNewBuffer
    - pcpp::IPAddress::toString
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_RAISES
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_BUF_COMPARE
    - pcpp::IPv4Address::toInt
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestIPAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:303,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:305,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:306,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:310,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:314,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:317,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:317,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:318,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:318,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:321,1
    - Dst: pcpp::MacAddress::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:321,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:324,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:324,1
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:329,1
    - Dst: std::unique_ptr::reset
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:330,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:332,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:333,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:334,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:335,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:336,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:337,1
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:340,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:340,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:341,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:341,1
    - Dst: std::array::fill
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:344,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:345,1
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:345,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:345,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:345,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:345,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:346,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:346,1
    - Dst: std::array::fill
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:349,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:350,1
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:350,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:350,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:351,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:351,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:351,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:351,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:354,1
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:354,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:357,1
    - Dst: pcpp::MacAddress::copyTo
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:357,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:362,1
    - Dst: pcpp::MacAddress::copyToNewBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:362,1
    - Dst: pcpp::MacAddress::copyToNewBuffer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:369,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:372,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:373,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:374,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:375,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:380,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:380,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:385,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:387,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:390,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:390,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:392,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:392,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:394,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:394,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:396,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 398
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::reset
    - PTF_ASSERT_EQUAL
    - std::array::fill
    - string
    - pcpp::MacAddress::copyTo
    - pcpp::MacAddress::toString
    - std::array::size
    - PTF_ASSERT_RAISES
    - std::all_of
    - PTF_ASSERT_NOT_NULL
    - pcpp::StpLayer::IDtoMacAddress
    - std::ostringstream::str
    - std::array::data
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - std::array::end
    - pcpp::MacAddress::copyToNewBuffer
    - std::array::begin
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestMacAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:405,1
    - Dst: pcpp::LRUList::put
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:405,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:406,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:408,1
    - Dst: pcpp::LRUList::put
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:408,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:410,1
    - Dst: pcpp::LRUList::put
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:410,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:411,1
    - Dst: pcpp::LRUList::eraseElement
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:413,1
    - Dst: pcpp::LRUList::eraseElement
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:414,1
    - Dst: pcpp::LRUList::eraseElement
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:415,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:416,1
    - Dst: pcpp::LRUList::getSize
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 417
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_EQUAL
    - pcpp::LRUList::put
    - pcpp::LRUList::getSize
    - pcpp::LRUList::eraseElement
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestLRUList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:423,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:424,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:425,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:426,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:429,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:431,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:432,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:434,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:435,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:436,1
    - Dst: pcpp::hexStringToByteArray
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:441,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:442,1
    - Dst: PTF_ASSERT_BUF_COMPARE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 444
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp
    functionUses: 1
    functionsReached:
    - SuppressLogs::SuppressLogs
    - PTF_ASSERT_EQUAL
    - PTF_ASSERT_BUF_COMPARE
    - PTF_ASSERT_TRUE
    - pcpp::hexStringToByteArray
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestGeneralUtils)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:450,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:451,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:452,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:453,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:453,1
    - Dst: pcpp::executeShellCommand
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:460,1
    - Dst: std::string::erase
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:461,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:461,1
    - Dst: std::string::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:461,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:461,1
    - Dst: std::string::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:462,1
    - Dst: pcpp::executeShellCommand
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:464,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:467,1
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:475,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:477,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:480,1
    - Dst: pcpp::PcapLiveDevice*::getIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:487,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:492,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:496,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:507,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:510,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 512
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp
    functionUses: 1
    functionsReached:
    - SuppressLogs::SuppressLogs
    - pcpp::PcapLiveDevice*::open
    - pcpp::SdpLayer::getOwnerIPv4Address
    - std::getline
    - PTF_SKIP_TEST
    - pcpp::PcapLiveDevice*::getIPv4Address
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_NOT_EQUAL
    - std::remove
    - std::string::begin
    - pcpp::IPv4Address::IPv4Address
    - PTF_ASSERT_TRUE
    - std::string::end
    - std::string::erase
    - ipToSendReceivePackets::c_str
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::executeShellCommand
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestGetMacAddress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:517,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:517,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:517,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:519,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:519,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:519,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:523,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:523,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:523,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:525,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:525,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:525,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:527,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:527,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:527,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:529,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:529,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:529,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:531,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:531,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:531,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:533,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:533,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:533,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:537,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:537,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:537,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:539,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:539,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:539,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:541,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:541,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:541,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:543,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:543,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:543,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:545,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:545,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:545,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:547,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:547,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:547,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:549,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:549,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:549,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:551,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:551,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:551,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:553,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:553,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:553,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:557,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:558,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:577,1
    - Dst: pcpp::IPv4Network::getPrefixLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:577,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:577,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:578,1
    - Dst: pcpp::IPv4Network::getNetworkPrefix
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:578,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:578,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:582,1
    - Dst: pcpp::IPv4Network::getNetmask
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:582,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:582,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:583,1
    - Dst: pcpp::IPv4Network::getNetworkPrefix
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:583,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:583,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:586,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:588,1
    - Dst: pcpp::IPv4Network::getPrefixLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:588,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:588,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:589,1
    - Dst: pcpp::IPv4Network::getNetworkPrefix
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:589,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:589,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:593,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:593,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:595,1
    - Dst: pcpp::IPv4Network::getNetmask
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:595,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:595,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:596,1
    - Dst: pcpp::IPv4Network::getNetworkPrefix
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:596,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:596,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:598,1
    - Dst: pcpp::IPv4Network::getLowestAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:598,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:598,1
    - Dst: std::get<3>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:598,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:599,1
    - Dst: pcpp::IPv4Network::getHighestAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:599,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:600,1
    - Dst: std::get<4>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:600,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:601,1
    - Dst: pcpp::IPv4Network::getTotalAddressCount
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:601,1
    - Dst: std::get<5>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:601,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:604,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:604,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:606,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:606,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:606,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:607,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:607,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:607,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:611,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:611,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:611,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:611,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:616,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:616,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:616,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:616,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:619,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:619,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:619,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:619,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:621,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:621,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:622,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:622,1
    - Dst: pcpp::IPv4Network::IPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:622,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:622,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:625,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:625,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:628,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 629
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::IPv4Network::IPv4Network
    - std::get<2>
    - pcpp::IPv4Network::getLowestAddress
    - std::get<4>
    - std::get<1>
    - pcpp::IPv4Network::getPrefixLen
    - pcpp::IPv4Network::getTotalAddressCount
    - pcpp::IPv4Network::getNetmask
    - pcpp::IPv4Network::getHighestAddress
    - pcpp::SdpLayer::getOwnerIPv4Address
    - string
    - std::get<5>
    - PTF_ASSERT_TRUE
    - to_string
    - PTF_ASSERT_EQUAL
    - std::get<0>
    - auto::includes
    - std::get<3>
    - auto::toString
    - PTF_ASSERT_RAISES
    - PTF_ASSERT_FALSE
    - std::stringstream::str
    - pcpp::IPv4Network::getNetworkPrefix
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestIPv4Network)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:634,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:634,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:634,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:638,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:638,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:638,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:640,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:640,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:640,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:642,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:642,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:642,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:644,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:644,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:644,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:646,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:646,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:646,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:648,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:648,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:648,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:652,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:652,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:652,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:654,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:654,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:654,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:656,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:656,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:656,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:658,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:658,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:658,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:660,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:660,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:660,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:662,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:662,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:662,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:664,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:664,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:664,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:666,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:666,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:666,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:668,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:668,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:668,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:670,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:670,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:670,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:674,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:675,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:699,1
    - Dst: pcpp::IPv6Network::getPrefixLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:699,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:699,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:700,1
    - Dst: pcpp::IPv6Network::getNetworkPrefix
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:700,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:700,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:704,1
    - Dst: pcpp::IPv6Network::getNetmask
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:704,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:704,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:705,1
    - Dst: pcpp::IPv6Network::getNetworkPrefix
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:705,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:705,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:708,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:710,1
    - Dst: pcpp::IPv6Network::getPrefixLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:710,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:710,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:711,1
    - Dst: pcpp::IPv6Network::getNetworkPrefix
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:711,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:711,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:715,1
    - Dst: std::get<1>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:715,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:717,1
    - Dst: pcpp::IPv6Network::getNetmask
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:717,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:717,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:718,1
    - Dst: pcpp::IPv6Network::getNetworkPrefix
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:718,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:718,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:720,1
    - Dst: pcpp::IPv6Network::getLowestAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:720,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:720,1
    - Dst: std::get<3>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:720,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:721,1
    - Dst: pcpp::IPv6Network::getHighestAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:721,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:722,1
    - Dst: std::get<4>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:722,1
    - Dst: std::get<5>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:723,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:726,1
    - Dst: pcpp::IPv6Network::getTotalAddressCount
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:726,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:730,1
    - Dst: pcpp::IPv6Network::getTotalAddressCount
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:730,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:735,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:735,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:737,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:737,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:737,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:738,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:738,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:738,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:739,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:739,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:739,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:740,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:740,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:740,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:741,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:741,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:741,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:742,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:742,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:742,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:746,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:746,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:747,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:747,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:752,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:752,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:753,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:753,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:756,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:757,1
    - Dst: pcpp::IPv6Network::IPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:757,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:757,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:760,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:760,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:763,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 631
    functionDepth: 3
    functionLinenumber: 631
    functionLinenumberEnd: 764
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp
    functionUses: 1
    functionsReached:
    - std::get<2>
    - std::get<4>
    - std::get<1>
    - pcpp::IPv6Network::IPv6Network
    - string
    - std::get<5>
    - PTF_ASSERT_TRUE
    - pcpp::IPv6Network::getPrefixLen
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - to_string
    - pcpp::IPv6Network::getNetmask
    - PTF_ASSERT_EQUAL
    - pcpp::IPv6Network::getLowestAddress
    - std::get<0>
    - auto::includes
    - std::get<3>
    - auto::toString
    - pcpp::IPv6Network::getTotalAddressCount
    - pcpp::IPv6Network::getNetworkPrefix
    - PTF_ASSERT_RAISES
    - PTF_ASSERT_FALSE
    - pcpp::IPv6Network::getHighestAddress
    - std::stringstream::str
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestIPv6Network)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:770,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:770,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:770,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:770,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:771,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:771,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:771,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:771,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:779,1
    - Dst: pcpp::IPNetwork::getPrefixLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:779,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:779,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:780,1
    - Dst: pcpp::IPNetwork::getNetworkPrefix
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:780,1
    - Dst: std::get<4>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:780,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:784,1
    - Dst: pcpp::IPNetwork::getNetmask
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:784,1
    - Dst: std::get<3>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:784,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:785,1
    - Dst: pcpp::IPNetwork::getNetworkPrefix
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:785,1
    - Dst: std::get<4>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:785,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:788,1
    - Dst: std::get<3>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:788,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:789,1
    - Dst: pcpp::IPNetwork::getPrefixLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:789,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:789,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:790,1
    - Dst: pcpp::IPNetwork::getNetworkPrefix
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:790,1
    - Dst: std::get<4>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:790,1
    - Dst: std::get<0>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:793,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:793,1
    - Dst: std::get<2>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:793,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:794,1
    - Dst: pcpp::IPNetwork::getNetmask
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:794,1
    - Dst: std::get<3>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:794,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:795,1
    - Dst: pcpp::IPNetwork::getNetworkPrefix
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:795,1
    - Dst: std::get<4>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:795,1
    - Dst: std::get<5>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:797,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:799,1
    - Dst: pcpp::IPNetwork::isIPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:799,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:800,1
    - Dst: pcpp::IPNetwork::isIPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:800,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:804,1
    - Dst: pcpp::IPNetwork::isIPv6Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:804,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:805,1
    - Dst: pcpp::IPNetwork::isIPv4Network
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:805,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:808,1
    - Dst: pcpp::IPNetwork::getLowestAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:808,1
    - Dst: std::get<6>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:808,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:809,1
    - Dst: pcpp::IPNetwork::getHighestAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:809,1
    - Dst: std::get<7>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:809,1
    - Dst: std::get<8>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:811,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:813,1
    - Dst: pcpp::IPNetwork::getTotalAddressCount
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:813,1
    - Dst: std::get<8>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:813,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:817,1
    - Dst: pcpp::IPNetwork::getTotalAddressCount
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:817,1
    - Dst: pcpp::IPNetwork::IPNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:823,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:823,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:825,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:825,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:825,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:826,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:826,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:826,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:827,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:827,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:827,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:829,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:829,1
    - Dst: pcpp::IPNetwork::IPNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:829,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:830,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:830,1
    - Dst: pcpp::IPNetwork::IPNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:830,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:831,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:831,1
    - Dst: pcpp::IPNetwork::IPNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:831,1
    - Dst: pcpp::IPNetwork::IPNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:833,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:833,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:835,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:835,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:835,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:836,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:836,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:836,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:837,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:837,1
    - Dst: pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:837,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:839,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:839,1
    - Dst: pcpp::IPNetwork::IPNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:839,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:840,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:840,1
    - Dst: pcpp::IPNetwork::IPNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:840,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:841,1
    - Dst: auto::includes
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:841,1
    - Dst: pcpp::IPNetwork::IPNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:841,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:844,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:844,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:847,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:847,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:849,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:849,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:850,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:852,1
    - Dst: std::stringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:852,1
    - Dst: pcpp::IPNetwork::IPNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:855,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:856,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:856,1
    - Dst: pcpp::IPNetwork::IPNetwork
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:858,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:859,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:859,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:863,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:863,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:865,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:865,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:868,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:868,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:870,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp:870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 871
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp
    functionUses: 1
    functionsReached:
    - std::get<2>
    - std::get<4>
    - pcpp::IPNetwork::isIPv6Network
    - pcpp::IPNetwork::getNetworkPrefix
    - pcpp::SdpLayer::getOwnerIPv4Address
    - std::get<8>
    - pcpp::IPNetwork::getNetmask
    - std::get<5>
    - pcpp::IPNetwork::getHighestAddress
    - PTF_ASSERT_TRUE
    - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
    - to_string
    - PTF_ASSERT_EQUAL
    - std::get<0>
    - pcpp::IPNetwork::IPNetwork
    - auto::includes
    - std::get<3>
    - std::get<6>
    - auto::toString
    - pcpp::IPNetwork::getPrefixLen
    - pcpp::IPNetwork::isIPv4Network
    - std::get<7>
    - PTF_ASSERT_RAISES
    - PTF_ASSERT_FALSE
    - std::stringstream::str
    - pcpp::IPNetwork::getTotalAddressCount
    - pcpp::IPNetwork::getLowestAddress
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestIPNetwork)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rawPacket
    - pDevice
    - userCookie
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: packetArrives
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int*>
    linkageType: ''
    returnType: void
    signature: void packetArrives(pcpp::RawPacket* rawPacket, pcpp::PcapLiveDevice*
      pDevice, void* userCookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' stats'
    - userCookie
    argTypes:
    - pcpp::PcapStats
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: statsUpdate
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int*>
    linkageType: ''
    returnType: void
    signature: void statsUpdate(pcpp::PcapStats& stats, void* userCookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rawPacket
    - dev
    - userCookie
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: packetArrivesBlockingModeTimeout
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool packetArrivesBlockingModeTimeout(pcpp::RawPacket* rawPacket, pcpp::PcapLiveDevice*
      dev, void* userCookie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - rawPacket
    - dev
    - userCookie
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: packetArrivesBlockingModeNoTimeout
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int*>
    linkageType: ''
    returnType: bool
    signature: bool packetArrivesBlockingModeNoTimeout(pcpp::RawPacket* rawPacket,
      pcpp::PcapLiveDevice* dev, void* userCookie)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:57,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:58,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:62,1
    - Dst: static_cast<int*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - rawPacket
    - dev
    - userCookie
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: packetArrivesBlockingModeStartCapture
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int*>
    - SuppressLogs::SuppressLogs
    - pcpp::PcapLiveDevice*::startCaptureBlockingMode
    - pcpp::PcapLiveDevice*::startCapture
    linkageType: ''
    returnType: bool
    signature: "bool packetArrivesBlockingModeStartCapture(pcpp::RawPacket* rawPacket,
      pcpp::PcapLiveDevice* dev,\n                                                  void*
      userCookie)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:78,1
    - Dst: static_cast<int*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rawPacket
    - dev
    - userCookie
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: packetArrivesBlockingModeStopCapture
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int*>
    - pcpp::PcapLiveDevice*::stopCapture
    linkageType: ''
    returnType: bool
    signature: "bool packetArrivesBlockingModeStopCapture(pcpp::RawPacket* rawPacket,
      pcpp::PcapLiveDevice* dev,\n                                                 void*
      userCookie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rawPacket
    - dev
    - userCookie
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: packetArrivesBlockingModeNoTimeoutPacketCount
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int*>
    linkageType: ''
    returnType: bool
    signature: "bool packetArrivesBlockingModeNoTimeoutPacketCount(pcpp::RawPacket*
      rawPacket, pcpp::PcapLiveDevice* dev,\n                                                          void*
      userCookie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:99,1
    - Dst: pcpp::RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rawPacket
    - dev
    - userCookie
    argTypes:
    - pcpp::RawPacket*
    - pcpp::PcapLiveDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: packetArrivesBlockingModeWithSnaplen
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int*>
    - pcpp::RawPacket*::getRawDataLen
    linkageType: ''
    returnType: bool
    signature: "bool packetArrivesBlockingModeWithSnaplen(pcpp::RawPacket* rawPacket,
      pcpp::PcapLiveDevice* dev,\n                                                 void*
      userCookie)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TerminateProcess
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:115,1
    - Dst: CloseHandle
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:116,1
    - Dst: CloseHandle
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: RpcapdServerInitializer::killProcessAndCloseHandles
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached:
    - CloseHandle
    - TerminateProcess
    linkageType: ''
    returnType: void
    signature: void killProcessAndCloseHandles()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::snprintf
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:136,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:136,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:136,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:136,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:136,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:139,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:141,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:144,1
    - Dst: CreateJobObject
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:147,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:150,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:151,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:151,1
    - Dst: SetInformationJobObject
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:160,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:163,1
    - Dst: CloseHandle
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:164,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:165,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:166,1
    - Dst: ZeroMemory
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:172,1
    - Dst: ZeroMemory
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:174,1
    - Dst: CreateProcess
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:175,1
    - Dst: TEXT
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:176,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:176,1
    - Dst: TEXT
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:178,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:178,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:180,1
    - Dst: CloseHandle
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:181,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:182,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:182,1
    - Dst: CloseHandle
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:186,1
    - Dst: AssignProcessToJobObject
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:188,1
    - Dst: GetLastError
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:190,1
    - Dst: RpcapdServerInitializer::killProcessAndCloseHandles
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:191,1
    - Dst: std::runtime_error
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:192,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:192,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - activateRemoteDevice
    - ' ip'
    - port
    argTypes:
    - bool
    - std::string
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 194
    functionName: RpcapdServerInitializer::RpcapdServerInitializer
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached:
    - GetLastError
    - AssignProcessToJobObject
    - CloseHandle
    - to_string
    - SetInformationJobObject
    - std::array::size
    - RpcapdServerInitializer::killProcessAndCloseHandles
    - std::string::c_str
    - std::snprintf
    - std::array::data
    - std::runtime_error
    - TEXT
    - CreateProcess
    - ZeroMemory
    - c_str
    - CreateJobObject
    linkageType: ''
    returnType: void
    signature: void RpcapdServerInitializer(bool activateRemoteDevice, const std::string&
      ip, uint16_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: RpcapdServerInitializer::RpcapdServerInitializer
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RpcapdServerInitializer(const RpcapdServerInitializer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RpcapdServerInitializer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: RpcapdServerInitializer::RpcapdServerInitializer
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RpcapdServerInitializer(RpcapdServerInitializer&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: '& operator=(const RpcapdServerInitializer&)'
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RpcapdServerInitializer
    signature: RpcapdServerInitializer & operator=(const RpcapdServerInitializer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: killProcessAndCloseHandles
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RpcapdServerInitializer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: '& operator=(RpcapdServerInitializer&& other) noexcept'
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached:
    - killProcessAndCloseHandles
    linkageType: ''
    returnType: RpcapdServerInitializer
    signature: RpcapdServerInitializer & operator=(RpcapdServerInitializer&& other)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: killProcessAndCloseHandles
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: ~RpcapdServerInitializer()
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached:
    - killProcessAndCloseHandles
    linkageType: ''
    returnType: void
    signature: void ~RpcapdServerInitializer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: RpcapdServerInitializer::getHandle
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE getHandle() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:230,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:231,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:231,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:236,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:236,1
    - Dst: getDefaultGateway
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:238,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:241,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:243,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:244,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:247,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:249,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:250,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:250,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:254,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:254,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:257,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:258,1
    - Dst: pcpp::PcapLiveDeviceList*::getPcapLiveDevicesList
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:260,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:261,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:261,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:261,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:263,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:264,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:264,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:266,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:266,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:266,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:270,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:270,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 275
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::empty
    - std::vector::end
    - getDefaultGateway
    - std::vector::size
    - PTF_ASSERT_EQUAL
    - std::vector::begin
    - pcpp::PcapLiveDeviceList*::getPcapLiveDevicesList
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_NOT_EQUAL
    - getName
    - pcpp::GtpV2InformationElement::getInstance
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapLiveDeviceList)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:281,1
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:281,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:282,1
    - Dst: pcpp::PcapLiveDevice*::getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:284,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:286,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:287,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:288,1
    - Dst: pcpp::PcapLiveDevice*::getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:288,1
    - Dst: pcpp::PcapLiveDevice*::getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:288,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:290,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:291,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:292,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:293,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:295,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:296,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 300
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_EQUAL
    - PTF_SKIP_TEST
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_NULL
    - ipToSendReceivePackets::c_str
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::PcapLiveDevice*::getName
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapLiveDeviceListSearch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:306,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:307,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:308,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:309,1
    - Dst: pcpp::PcapLiveDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:309,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:310,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:310,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:312,1
    - Dst: pcpp::PcapLiveDevice*::getIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:312,1
    - Dst: pcpp::PcapLiveDevice*::getIPAddresses
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:315,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:316,1
    - Dst: std::any_of
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:316,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:316,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:316,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:323,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:323,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:323,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:324,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:328,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:328,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:334,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:336,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:337,1
    - Dst: PTF_ASSERT_GREATER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:338,1
    - Dst: pcpp::PcapLiveDevice*::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:341,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:344,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:345,1
    - Dst: pcpp::PcapLiveDevice*::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:345,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:349,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:350,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:350,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:350,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:351,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 356
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapLiveDevice*::getIPAddresses
    - pcpp::PcapLiveDevice*::getStatistics
    - PTF_ASSERT_GREATER_OR_EQUAL_THAN
    - static_cast<void*>
    - pcpp::PcapLiveDevice*::isOpened
    - pcpp::PcapLiveDevice*::startCapture
    - pcpp::PcapLiveDevice*::getIPv4Address
    - pcpp::PcapLiveDevice*::stopCapture
    - pcpp::GtpV2InformationElement::getInstance
    - std::any_of
    - auto::begin
    - SuppressLogs::SuppressLogs
    - std::chrono::seconds
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - PTF_ASSERT_EQUAL
    - std::this_thread::sleep_for
    - PTF_SKIP_TEST
    - pcpp::PcapLiveDevice*::getMtu
    - pcpp::PcapLiveDevice*::open
    - PTF_PRINT_VERBOSE
    - auto::end
    - pcpp::PcapLiveDevice*::close
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - ipToSendReceivePackets::c_str
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapLiveDevice)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:363,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:366,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:367,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:371,1
    - Dst: dynamic_cast<pcpp::WinPcapLiveDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:371,1
    - Dst: pcpp::PcapLiveDevice*::clone
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:374,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:377,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:381,1
    - Dst: dynamic_cast<pcpp::WinPcapLiveDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:381,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:384,1
    - Dst: pcpp::PcapLiveDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:384,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:385,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:385,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:389,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:389,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:389,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:390,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:394,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:394,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:400,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:402,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:403,1
    - Dst: PTF_ASSERT_GREATER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:404,1
    - Dst: pcpp::PcapLiveDevice*::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:406,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:409,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:410,1
    - Dst: pcpp::PcapLiveDevice*::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:410,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:414,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:415,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:415,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:415,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:416,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 421
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapLiveDevice*::getStatistics
    - PTF_ASSERT_GREATER_OR_EQUAL_THAN
    - static_cast<void*>
    - pcpp::PcapLiveDevice*::isOpened
    - pcpp::PcapLiveDevice*::startCapture
    - pcpp::PcapLiveDevice*::clone
    - pcpp::PcapLiveDevice*::stopCapture
    - pcpp::GtpV2InformationElement::getInstance
    - SuppressLogs::SuppressLogs
    - std::chrono::seconds
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - std::this_thread::sleep_for
    - dynamic_cast<pcpp::WinPcapLiveDevice*>
    - PTF_SKIP_TEST
    - pcpp::PcapLiveDevice*::getMtu
    - pcpp::PcapLiveDevice*::open
    - PTF_PRINT_VERBOSE
    - pcpp::PcapLiveDevice*::close
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - ipToSendReceivePackets::c_str
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapLiveDeviceClone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:426,1
    - Dst: pcpp::PcapLiveDevice::getPcapLibVersionInfo
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:426,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:430,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:431,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:431,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:433,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:433,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:433,1
    - Dst: getLoopback
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:434,1
    - Dst: getIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:434,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:436,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:441,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:442,1
    - Dst: pcpp::PcapLiveDevice*::getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:442,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:443,1
    - Dst: pcpp::PcapLiveDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:443,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:444,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:444,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:449,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:450,1
    - Dst: PTF_ASSERT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:452,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 423
    functionDepth: 5
    functionLinenumber: 423
    functionLinenumberEnd: 456
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - std::vector::empty
    - pcpp::PcapLiveDevice*::getMtu
    - std::vector::end
    - SuppressLogs::SuppressLogs
    - pcpp::PcapLiveDevice*::getMacAddress
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::PcapLiveDevice::getPcapLibVersionInfo
    - PTF_SKIP_TEST
    - std::vector::begin
    - getLoopback
    - PTF_ASSERT_NOT_NULL
    - std::find_if
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_GREATER_THAN
    - PTF_ASSERT_NULL
    - getIPv4Address
    - PTF_ASSERT_NOT_EQUAL
    - pcpp::PcapLiveDevice*::getName
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapLiveDeviceNoNetworking)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:462,1
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:462,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:463,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:464,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:464,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:467,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:467,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:467,1
    - Dst: sendURLRequest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:468,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:472,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:472,1
    - Dst: pcpp::PcapLiveDevice*::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:475,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:480,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:482,1
    - Dst: PTF_ASSERT_GREATER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:483,1
    - Dst: pcpp::PcapLiveDevice*::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:485,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:486,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:489,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:490,1
    - Dst: pcpp::PcapLiveDevice*::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:490,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:494,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:495,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:495,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:495,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 500
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapLiveDevice*::getStatistics
    - PTF_ASSERT_GREATER_OR_EQUAL_THAN
    - static_cast<void*>
    - sendURLRequest
    - pcpp::PcapLiveDevice*::isOpened
    - pcpp::PcapLiveDevice*::startCapture
    - pcpp::PcapLiveDevice*::stopCapture
    - pcpp::GtpV2InformationElement::getInstance
    - SuppressLogs::SuppressLogs
    - std::chrono::seconds
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - std::this_thread::sleep_for
    - PTF_SKIP_TEST
    - pcpp::PcapLiveDevice*::open
    - PTF_PRINT_VERBOSE
    - pcpp::PcapLiveDevice*::close
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - ipToSendReceivePackets::c_str
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapLiveDeviceStatsMode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:506,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:509,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:518,1
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:518,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:519,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:520,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:520,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:524,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:524,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:528,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:528,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:529,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:532,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:533,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:533,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:535,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:535,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:536,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:540,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:540,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:545,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:545,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:551,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:553,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:555,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:559,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:559,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:560,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:564,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:564,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:565,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:569,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:569,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:570,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:574,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:574,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:578,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:579,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:579,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:585,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:585,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:591,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:593,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:594,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:596,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:600,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:601,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:601,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:605,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 607
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - SuppressLogs::SuppressLogs
    - pcpp::PcapLiveDevice*::open
    - PTF_ASSERT_EQUAL
    - PTF_PRINT_VERBOSE
    - std::chrono::seconds
    - pcpp::PcapLiveDevice*::startCaptureBlockingMode
    - pcpp::PcapLiveDevice*::close
    - PTF_ASSERT_NOT_NULL
    - std::vector::emplace_back
    - PTF_ASSERT_FALSE
    - pcpp::PcapLiveDevice*::stopCapture
    - std::this_thread::sleep_for
    - pcpp::PcapLiveDevice*::startCapture
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - ipToSendReceivePackets::c_str
    - pcpp::GtpV2InformationElement::getInstance
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapLiveDeviceBlockingMode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:613,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:614,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:615,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:616,1
    - Dst: pcpp::PcapLiveDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:616,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:617,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:617,1
    - Dst: static_cast<int*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:623,1
    - Dst: static_cast<int*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:626,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:628,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:628,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:628,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:629,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:633,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:633,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:639,1
    - Dst: pcpp::PcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:641,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:642,1
    - Dst: PTF_ASSERT_GREATER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:643,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 647
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapLiveDevice*::getMtu
    - PTF_ASSERT_GREATER_OR_EQUAL_THAN
    - pcpp::PcapLiveDevice*::open
    - static_cast<void*>
    - PTF_PRINT_VERBOSE
    - std::chrono::seconds
    - PTF_ASSERT_NOT_NULL
    - std::this_thread::sleep_for
    - pcpp::PcapLiveDevice*::stopCapture
    - pcpp::PcapLiveDevice*::startCapture
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - static_cast<int*>
    - ipToSendReceivePackets::c_str
    - pcpp::GtpV2InformationElement::getInstance
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapLiveDeviceWithLambda)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:654,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:664,1
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:664,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:665,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:666,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:666,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:670,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:670,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:671,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:673,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:677,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:678,1
    - Dst: pcpp::PcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:678,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 683
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - SuppressLogs::SuppressLogs
    - pcpp::PcapLiveDevice*::open
    - PTF_ASSERT_EQUAL
    - pcpp::PcapLiveDevice*::startCaptureBlockingMode
    - pcpp::PcapLiveDevice*::close
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::PcapLiveDevice*::startCapture
    - PTF_ASSERT_TRUE
    - static_cast<int*>
    - ipToSendReceivePackets::c_str
    - pcpp::GtpV2InformationElement::getInstance
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapLiveDeviceBlockingModeWithLambda)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:689,1
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:689,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:690,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:693,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:693,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:698,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:698,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:701,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:702,1
    - Dst: pcpp::PcapLiveDevice*::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:702,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:704,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:710,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:710,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:713,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:713,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:716,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:717,1
    - Dst: pcpp::PcapLiveDevice*::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:717,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:719,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:728,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:728,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:731,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:731,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:734,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:735,1
    - Dst: pcpp::PcapLiveDevice*::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:735,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:737,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:745,1
    - Dst: PTF_NON_CRITICAL_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:750,1
    - Dst: pcpp::PcapLiveDevice*::startCaptureBlockingMode
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:750,1
    - Dst: pcpp::PcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:752,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 756
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_NON_CRITICAL_EQUAL
    - pcpp::PcapLiveDevice*::open
    - PTF_ASSERT_EQUAL
    - pcpp::PcapLiveDevice*::isOpened
    - pcpp::PcapLiveDevice*::startCaptureBlockingMode
    - pcpp::PcapLiveDevice*::close
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - ipToSendReceivePackets::c_str
    - pcpp::GtpV2InformationElement::getInstance
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPcapLiveDeviceSpecialCfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:762,1
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:762,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:763,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:764,1
    - Dst: pcpp::PcapLiveDevice*::getDeviceType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:764,1
    - Dst: static_cast<pcpp::WinPcapLiveDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:766,1
    - Dst: pcpp::WinPcapLiveDevice*::getMinAmountOfDataToCopyFromKernelToApplication
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:767,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:768,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:769,1
    - Dst: pcpp::WinPcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:769,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:771,1
    - Dst: pcpp::WinPcapLiveDevice*::setMinAmountOfDataToCopyFromKernelToApplication
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:771,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:774,1
    - Dst: pcpp::WinPcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:774,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:774,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:775,1
    - Dst: sendURLRequest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:778,1
    - Dst: pcpp::WinPcapLiveDevice*::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:782,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:783,1
    - Dst: pcpp::WinPcapLiveDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:786,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:787,1
    - Dst: pcpp::WinPcapLiveDevice*::setMinAmountOfDataToCopyFromKernelToApplication
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:787,1
    - Dst: pcpp::WinPcapLiveDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:788,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:789,1
    - Dst: pcpp::PcapLiveDevice*::isOpened
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:789,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:793,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:794,1
    - Dst: pcpp::WinPcapLiveDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:794,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:794,1
    - Dst: static_cast<void*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:795,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 801
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::WinPcapLiveDevice*::stopCapture
    - static_cast<void*>
    - sendURLRequest
    - pcpp::PcapLiveDevice*::isOpened
    - pcpp::PcapLiveDevice*::getDeviceType
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::WinPcapLiveDevice*::startCapture
    - SuppressLogs::SuppressLogs
    - static_cast<pcpp::WinPcapLiveDevice*>
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - pcpp::WinPcapLiveDevice*::close
    - pcpp::WinPcapLiveDevice*::getStatistics
    - PTF_ASSERT_EQUAL
    - pcpp::WinPcapLiveDevice*::setMinAmountOfDataToCopyFromKernelToApplication
    - pcpp::WinPcapLiveDevice*::open
    - PTF_SKIP_TEST
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::WinPcapLiveDevice*::getMinAmountOfDataToCopyFromKernelToApplication
    - ipToSendReceivePackets::c_str
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestWinPcapLiveDevice)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:807,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:808,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:809,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:810,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:810,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:814,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:814,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:816,1
    - Dst: pcpp::PcapLiveDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:816,1
    - Dst: pcpp::PcapLiveDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:817,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:821,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:822,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:822,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:822,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:826,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:826,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:829,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:829,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:830,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:830,1
    - Dst: getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:830,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:830,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:832,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:832,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:835,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 839
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapLiveDevice*::getMtu
    - getRawData
    - SuppressLogs::SuppressLogs
    - pcpp::PcapLiveDevice*::open
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::open
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - std::vector::data
    - pcpp::PcapFileReaderDevice::getNextPackets
    - pcpp::PcapFileReaderDevice::close
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - pcpp::PcapLiveDevice*::sendPacket
    - ipToSendReceivePackets::c_str
    - getRawDataLen
    - pcpp::GtpV2InformationElement::getInstance
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestSendPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:846,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:847,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:848,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:848,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:852,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:852,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:856,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:856,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:858,1
    - Dst: pcpp::PcapLiveDevice*::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:858,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:861,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:861,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:862,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:862,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:862,1
    - Dst: std::back_inserter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:862,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:864,1
    - Dst: pcpp::PcapLiveDevice*::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:864,1
    - Dst: std::vector::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:864,1
    - Dst: pcpp::PointerVector::pushBack
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:869,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:869,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:871,1
    - Dst: pcpp::PcapLiveDevice*::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:871,1
    - Dst: pcpp::PointerVector::data
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:871,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:873,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 841
    functionDepth: 2
    functionLinenumber: 841
    functionLinenumberEnd: 877
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::RawPacketVector::end
    - pcpp::RawPacketVector::begin
    - pcpp::GtpV2InformationElement::getInstance
    - std::vector::reserve
    - pcpp::PcapLiveDevice*::sendPackets
    - pcpp::RawPacketVector::size
    - pcpp::PcapFileReaderDevice::getNextPackets
    - PTF_ASSERT_TRUE
    - pcpp::Packet::Packet
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileReaderDevice::close
    - std::transform
    - pcpp::PointerVector::data
    - PTF_SKIP_TEST
    - pcpp::PcapLiveDevice*::open
    - PTF_ASSERT_NOT_NULL
    - std::vector::data
    - pcpp::PointerVector::pushBack
    - std::back_inserter
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestSendPackets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:883,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:884,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:885,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:886,1
    - Dst: pcpp::PcapLiveDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:886,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:891,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:891,1
    - Dst: pcpp::IPv4Address::IPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:893,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:896,1
    - Dst: remoteIp::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:896,1
    - Dst: pcpp::PcapLiveDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:906,1
    - Dst: pcpp::EthLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:906,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:908,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:909,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:910,1
    - Dst: pcpp::PcapLiveDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:913,1
    - Dst: pcpp::IPv4Layer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:913,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:914,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:915,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:917,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:920,1
    - Dst: pcpp::PcapLiveDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:920,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:921,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:921,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:922,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:922,1
    - Dst: pcpp::PcapLiveDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:922,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:924,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:924,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:925,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:927,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:927,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:928,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:928,1
    - Dst: pcpp::RawPacket*::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:928,1
    - Dst: pcpp::RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:928,1
    - Dst: pcpp::PcapLiveDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:934,1
    - Dst: pcpp::StpLayer::IDtoMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:934,1
    - Dst: pcpp::PcapLiveDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:939,1
    - Dst: pcpp::EthLayer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:939,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:941,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:942,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:943,1
    - Dst: pcpp::PcapLiveDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:946,1
    - Dst: pcpp::IPv4Layer::getDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:946,1
    - Dst: uint8_t::uint8_t
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:947,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:948,1
    - Dst: pcpp::Packet::addLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:950,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:953,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:953,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:954,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:954,1
    - Dst: pcpp::PcapLiveDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:954,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:957,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:958,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:958,1
    - Dst: pcpp::Packet::getRawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:960,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:962,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:962,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:963,1
    - Dst: pcpp::PcapLiveDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:963,1
    - Dst: pcpp::RawPacket*::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:963,1
    - Dst: pcpp::RawPacket*::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:963,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 879
    functionDepth: 5
    functionLinenumber: 879
    functionLinenumberEnd: 971
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PcapLiveDevice*::getMacAddress
    - remoteIp::c_str
    - pcpp::IPv4Address::IPv4Address
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::Packet::addLayer
    - pcpp::EthLayer::getDataLen
    - SuppressLogs::SuppressLogs
    - pcpp::SdpLayer::getOwnerIPv4Address
    - PTF_ASSERT_TRUE
    - uint8_t::uint8_t
    - PTF_ASSERT_EQUAL
    - pcpp::Packet::getLayerOfType
    - pcpp::RawPacket*::getRawDataLen
    - memset
    - pcpp::RawPacket*::getRawData
    - PTF_SKIP_TEST
    - pcpp::PcapLiveDevice*::getMtu
    - pcpp::Packet::getRawPacket
    - pcpp::PcapLiveDevice*::open
    - pcpp::IPv4Layer::getDataLen
    - PTF_PRINT_VERBOSE
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::StpLayer::IDtoMacAddress
    - pcpp::PcapLiveDevice*::sendPacket
    - ipToSendReceivePackets::c_str
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestMtuSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:984,1
    - Dst: RpcapdServerInitializer::getHandle
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:984,1
    - Dst: pcpp::PcapRemoteDeviceList::getRemoteDeviceList
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:988,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:989,1
    - Dst: pcpp::PcapRemoteDeviceList*::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:990,1
    - Dst: pcpp::PcapRemoteDeviceList*::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:991,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:993,1
    - Dst: getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:993,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:995,1
    - Dst: pcpp::PcapRemoteDeviceList*::getRemoteMachineIpAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:995,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:996,1
    - Dst: pcpp::PcapRemoteDeviceList*::getRemoteMachinePort
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:996,1
    - Dst: pcpp::PcapRemoteDeviceList*::getRemoteDeviceByIP
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:998,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:999,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1000,1
    - Dst: pcpp::PcapRemoteDevice*::getDeviceType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1000,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1001,1
    - Dst: pcpp::PcapRemoteDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1001,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1003,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1004,1
    - Dst: pcpp::PcapRemoteDevice*::getMacAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1004,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1006,1
    - Dst: pcpp::PcapRemoteDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1006,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1009,1
    - Dst: pcpp::PcapRemoteDevice*::startCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1009,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1012,1
    - Dst: sendURLRequest
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1012,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1017,1
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1022,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1022,1
    - Dst: pcpp::PcapRemoteDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1026,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1028,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1030,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1030,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1033,1
    - Dst: pcpp::PcapRemoteDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1033,1
    - Dst: pcpp::RawPacketVector::front
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1033,1
    - Dst: pcpp::RawPacketVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1037,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1039,1
    - Dst: pcpp::RawPacketVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1040,1
    - Dst: getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1042,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1042,1
    - Dst: pcpp::PcapRemoteDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1042,1
    - Dst: pcpp::RawPacketVector::pushBack
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1044,1
    - Dst: pcpp::RawPacketVector::getAndDetach
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1044,1
    - Dst: pcpp::PcapRemoteDevice*::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1049,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1050,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1050,1
    - Dst: pcpp::RawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1050,1
    - Dst: pcpp::PcapRemoteDevice*::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1054,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1055,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1055,1
    - Dst: pcpp::PcapRemoteDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1057,1
    - Dst: pcpp::PcapRemoteDevice*::clone
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1060,1
    - Dst: DeviceTeardown
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1061,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1062,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1063,1
    - Dst: dynamic_cast<pcpp::PcapRemoteDevice*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1063,1
    - Dst: DeviceTeardown::cancelTeardown
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1068,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp:1070,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 973
    functionDepth: 5
    functionLinenumber: 973
    functionLinenumberEnd: 1073
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
    functionUses: 1
    functionsReached:
    - RpcapdServerInitializer::getHandle
    - pcpp::RawPacketVector::getAndDetach
    - sendURLRequest
    - pcpp::PcapRemoteDeviceList::getRemoteDeviceList
    - pcpp::PcapRemoteDevice*::getDeviceType
    - pcpp::PcapRemoteDeviceList*::begin
    - pcpp::PcapRemoteDeviceList*::end
    - DeviceTeardown::cancelTeardown
    - pcpp::RawPacketVector::end
    - pcpp::RawPacketVector::begin
    - dynamic_cast<pcpp::PcapRemoteDevice*>
    - SuppressLogs::SuppressLogs
    - std::chrono::seconds
    - pcpp::PcapRemoteDevice*::startCapture
    - pcpp::RawPacketVector::size
    - pcpp::PcapRemoteDeviceList*::getRemoteDeviceByIP
    - PTF_ASSERT_TRUE
    - getName
    - pcpp::PcapRemoteDevice*::getMtu
    - PTF_ASSERT_GREATER_THAN
    - pcpp::PcapRemoteDevice*::clone
    - DeviceTeardown
    - PTF_ASSERT_EQUAL
    - static_cast<int>
    - std::this_thread::sleep_for
    - pcpp::PcapRemoteDevice*::stopCapture
    - pcpp::RawPacketVector::front
    - pcpp::PcapRemoteDevice*::sendPackets
    - getRawDataLen
    - pcpp::PcapRemoteDevice*::getMacAddress
    - PTF_SKIP_TEST
    - pcpp::PcapRemoteDeviceList*::getRemoteMachinePort
    - pcpp::PcapRemoteDevice*::sendPacket
    - PTF_PRINT_VERBOSE
    - PTF_ASSERT_NOT_NULL
    - pcpp::PcapRemoteDevice*::open
    - PTF_ASSERT_FALSE
    - static_cast<uint32_t>
    - pcpp::PcapRemoteDeviceList*::getRemoteMachineIpAddress
    - pcpp::PcapRemoteDevice*::close
    - pcpp::PcapRemoteDevice*::getStatistics
    - pcpp::RawPacketVector::pushBack
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestRemoteCapture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:12,1
    - Dst: DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:12,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:13,1
    - Dst: DynamicObjectPool::maxSize
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:13,1
    - Dst: DynamicObjectPool::preallocate
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:15,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:16,1
    - Dst: DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:16,1
    - Dst: DynamicObjectPool::setMaxSize
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:18,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:19,1
    - Dst: DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:19,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:20,1
    - Dst: DynamicObjectPool::maxSize
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:20,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:22,1
    - Dst: DynamicObjectPool::preallocate
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:22,1
    - Dst: DynamicObjectPool::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:25,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:26,1
    - Dst: DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:26,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:27,1
    - Dst: DynamicObjectPool::maxSize
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:27,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:32,1
    - Dst: DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:32,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:33,1
    - Dst: DynamicObjectPool::maxSize
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:33,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:35,1
    - Dst: DynamicObjectPool<int>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:35,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:41,1
    - Dst: DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:41,1
    - Dst: DynamicObjectPool::acquireObject
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:44,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:45,1
    - Dst: DynamicObjectPool::acquireObject
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:48,1
    - Dst: DynamicObjectPool::releaseObject
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:55,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:55,1
    - Dst: DynamicObjectPool::releaseObject
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:56,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:56,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:58,1
    - Dst: DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:58,1
    - Dst: DynamicObjectPool::acquireObject
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:62,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:65,1
    - Dst: DynamicObjectPool::acquireObject
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:68,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:69,1
    - Dst: DynamicObjectPool::setMaxSize
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:72,1
    - Dst: DynamicObjectPool::releaseObject
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:75,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:75,1
    - Dst: DynamicObjectPool::releaseObject
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:76,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:76,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:77,1
    - Dst: DynamicObjectPool::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 79
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_EQUAL
    - DynamicObjectPool::setMaxSize
    - DynamicObjectPool::acquireObject
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_RAISES
    - DynamicObjectPool::clear
    - DynamicObjectPool::releaseObject
    - DynamicObjectPool::preallocate
    - DynamicObjectPool<int>
    - DynamicObjectPool::maxSize
    - DynamicObjectPool::size
    - std::move
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestObjectPool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: PfRingPacketData
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PfRingPacketData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 140
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PfRingPacketData*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:54,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:62,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:64,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:66,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - packets
    - numOfPackets
    - threadId
    - device
    - userCookie
    argTypes:
    - pcpp::RawPacket*
    - uint32_t
    - uint8_t
    - pcpp::PfRingDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: pfRingPacketsArrive
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 0
    functionsReached:
    - static_cast<PfRingPacketData*>
    - pcpp::Packet::isPacketOfType
    linkageType: ''
    returnType: void
    signature: "void pfRingPacketsArrive(pcpp::RawPacket* packets, uint32_t numOfPackets,
      uint8_t threadId,\n                                pcpp::PfRingDevice* device,
      void* userCookie)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<PfRingPacketData*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:76,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:84,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:86,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:88,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:91,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:93,1
    - Dst: pcpp::hash5Tuple
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:94,1
    - Dst: pushBack
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:94,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - packets
    - numOfPackets
    - threadId
    - device
    - userCookie
    argTypes:
    - pcpp::RawPacket*
    - uint32_t
    - uint8_t
    - pcpp::PfRingDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 100
    functionName: pfRingPacketsArriveMultiThread
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::hash5Tuple
    - pcpp::Packet::isPacketOfType
    - pushBack
    - static_cast<PfRingPacketData*>
    - pcpp::RawPacket::RawPacket
    linkageType: ''
    returnType: void
    signature: "void pfRingPacketsArriveMultiThread(pcpp::RawPacket* packets, uint32_t
      numOfPackets, uint8_t threadId,\n                                           pcpp::PfRingDevice*
      device, void* userCookie)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<SetFilterInstruction*>
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:105,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:112,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:125,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:129,1
    - Dst: pcpp::IPv4Layer*::getSrcIPAddress
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - packets
    - numOfPackets
    - threadId
    - device
    - userCookie
    argTypes:
    - pcpp::RawPacket*
    - uint32_t
    - uint8_t
    - pcpp::PfRingDevice*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 138
    functionName: pfRingPacketsArriveSetFilter
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 0
    functionsReached:
    - pcpp::IPv4Layer*::getSrcIPAddress
    - pcpp::Packet::isPacketOfType
    - pcpp::Packet::getLayerOfType
    - static_cast<SetFilterInstruction*>
    linkageType: ''
    returnType: void
    signature: "void pfRingPacketsArriveSetFilter(pcpp::RawPacket* packets, uint32_t
      numOfPackets, uint8_t threadId,\n                                  pcpp::PfRingDevice*
      device, void* userCookie)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:145,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - maxSleepTime
    - ' packetData'
    argTypes:
    - int
    - PfRingPacketData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: incSleep
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 2
    functionsReached:
    - std::chrono::seconds
    - std::this_thread::sleep_for
    linkageType: ''
    returnType: int
    signature: int incSleep(int maxSleepTime, const PfRingPacketData& packetData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:160,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - maxSleepTime
    - packetData
    - totalNumOfCores
    - numOfCoresInUse
    - coreMask
    argTypes:
    - int
    - PfRingPacketData[]
    - int
    - int
    - pcpp::CoreMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 178
    functionName: incSleepMultiThread
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 1
    functionsReached:
    - std::chrono::seconds
    - std::this_thread::sleep_for
    linkageType: ''
    returnType: int
    signature: "int incSleepMultiThread(int maxSleepTime, PfRingPacketData packetData[],
      int totalNumOfCores, int numOfCoresInUse,\n                        pcpp::CoreMask
      coreMask)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::sleep_for
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:185,1
    - Dst: std::chrono::seconds
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - maxSleepTime
    - ' packetData'
    argTypes:
    - int
    - SetFilterInstruction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: incSleepSetFilter
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 0
    functionsReached:
    - std::chrono::seconds
    - std::this_thread::sleep_for
    linkageType: ''
    returnType: int
    signature: int incSleepSetFilter(int maxSleepTime, const SetFilterInstruction&
      packetData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:202,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:203,1
    - Dst: getPfRingDevicesList
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:203,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:204,1
    - Dst: getPfRingVersion
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:204,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:206,1
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:206,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:207,1
    - Dst: getPfRingDeviceByName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:208,1
    - Dst: pcpp::PcapLiveDevice*::getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:208,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:210,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:211,1
    - Dst: pcpp::PfRingDevice*::getInterfaceIndex
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:211,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:212,1
    - Dst: pcpp::PfRingDevice*::getTotalNumOfRxChannels
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:212,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:213,1
    - Dst: pcpp::PfRingDevice*::getNumOfOpenedRxChannels
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:213,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:214,1
    - Dst: pcpp::PfRingDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:214,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:216,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:217,1
    - Dst: pcpp::PfRingDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:217,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:219,1
    - Dst: pcpp::PfRingDevice*::getNumOfOpenedRxChannels
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:219,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:222,1
    - Dst: pcpp::PfRingDevice*::startCaptureSingleThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:222,1
    - Dst: incSleep
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:223,1
    - Dst: pcpp::PfRingDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:224,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:225,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:226,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:227,1
    - Dst: pcpp::PfRingDevice*::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:232,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:233,1
    - Dst: pcpp::PfRingDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:234,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:236,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:237,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:238,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:239,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:240,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:241,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:242,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:243,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:244,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 249
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PfRingDevice*::open
    - pcpp::GtpV2InformationElement::getInstance
    - PTF_ASSERT_NOT_EQUAL
    - SuppressLogs::SuppressLogs
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - pcpp::PfRingDevice*::stopCapture
    - pcpp::PfRingDevice*::close
    - PTF_ASSERT_EQUAL
    - getPfRingDevicesList
    - pcpp::PfRingDevice*::getNumOfOpenedRxChannels
    - getPfRingDeviceByName
    - PTF_SKIP_TEST
    - getPfRingVersion
    - pcpp::PfRingDevice*::getTotalNumOfRxChannels
    - pcpp::PfRingDevice*::getStatistics
    - PTF_PRINT_VERBOSE
    - pcpp::PfRingDevice*::startCaptureSingleThread
    - incSleep
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - pcpp::PfRingDevice*::getInterfaceIndex
    - ipToSendReceivePackets::c_str
    - pcpp::PcapLiveDevice*::getName
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPfRingDevice)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:255,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:257,1
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:257,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:258,1
    - Dst: getPfRingDeviceByName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:259,1
    - Dst: pcpp::PcapLiveDevice*::getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:259,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:260,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:264,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:265,1
    - Dst: pcpp::PfRingDevice*::openSingleRxChannel
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:265,1
    - Dst: pcpp::PfRingDevice*::getTotalNumOfRxChannels
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:265,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:267,1
    - Dst: pcpp::PfRingDevice*::openSingleRxChannel
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:267,1
    - Dst: pcpp::PfRingDevice*::getTotalNumOfRxChannels
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:267,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:268,1
    - Dst: pcpp::PfRingDevice*::startCaptureSingleThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:268,1
    - Dst: incSleep
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:269,1
    - Dst: pcpp::PfRingDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:270,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:271,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:272,1
    - Dst: PTF_ASSERT_NOT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:273,1
    - Dst: pcpp::PfRingDevice*::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:275,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:276,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:277,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:278,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:279,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:280,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:281,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:282,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:283,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:284,1
    - Dst: pcpp::PfRingDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:286,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:287,1
    - Dst: pcpp::PfRingDevice*::getNumOfOpenedRxChannels
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:287,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 292
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PfRingDevice*::openSingleRxChannel
    - PTF_ASSERT_NOT_EQUAL
    - pcpp::GtpV2InformationElement::getInstance
    - SuppressLogs::SuppressLogs
    - PTF_ASSERT_TRUE
    - pcpp::PfRingDevice*::close
    - PTF_ASSERT_GREATER_THAN
    - pcpp::PfRingDevice*::stopCapture
    - PTF_ASSERT_EQUAL
    - pcpp::PfRingDevice*::getNumOfOpenedRxChannels
    - getPfRingDeviceByName
    - PTF_SKIP_TEST
    - pcpp::PfRingDevice*::getStatistics
    - pcpp::PfRingDevice*::getTotalNumOfRxChannels
    - PTF_PRINT_VERBOSE
    - pcpp::PfRingDevice*::startCaptureSingleThread
    - incSleep
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - ipToSendReceivePackets::c_str
    - pcpp::PcapLiveDevice*::getName
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPfRingDeviceSingleChannel)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:297,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:299,1
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:299,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:300,1
    - Dst: getPfRingDeviceByName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:301,1
    - Dst: pcpp::PcapLiveDevice*::getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:301,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:302,1
    - Dst: pcpp::PfRingDevice*::getTotalNumOfRxChannels
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:304,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:305,1
    - Dst: pcpp::PfRingDevice*::openMultiRxChannels
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:305,1
    - Dst: pcpp::PfRingDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:307,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:308,1
    - Dst: pcpp::PfRingDevice*::getNumOfOpenedRxChannels
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:308,1
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:309,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:322,1
    - Dst: pcpp::PfRingDevice*::openMultiRxChannels
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:322,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:324,1
    - Dst: pcpp::PfRingDevice*::startCaptureMultiThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:324,1
    - Dst: incSleepMultiThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:327,1
    - Dst: pcpp::PfRingDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:328,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:329,1
    - Dst: pcpp::PfRingDevice*::getThreadStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:340,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:346,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:347,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:348,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:349,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:350,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:351,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:352,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:353,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:354,1
    - Dst: FlowKeys::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:354,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:357,1
    - Dst: second::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:357,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:361,1
    - Dst: pcpp::PfRingDevice*::getStatistics
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:364,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:365,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:366,1
    - Dst: intersectMaps
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:373,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:375,1
    - Dst: std::unordered_map::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:375,1
    - Dst: FlowKeys::clear
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:378,1
    - Dst: pcpp::PfRingDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:380,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:384,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 386
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 1
    functionsReached:
    - std::unordered_map::size
    - incSleepMultiThread
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::PfRingDevice*::openMultiRxChannels
    - intersectMaps
    - FlowKeys::clear
    - pcpp::getNumOfCores
    - pcpp::PfRingDevice*::getThreadStatistics
    - PTF_ASSERT_TRUE
    - pcpp::PfRingDevice*::stopCapture
    - pcpp::PfRingDevice*::close
    - PTF_ASSERT_EQUAL
    - FlowKeys::size
    - pcpp::PfRingDevice*::getNumOfOpenedRxChannels
    - getPfRingDeviceByName
    - PTF_SKIP_TEST
    - pcpp::PfRingDevice*::getStatistics
    - pcpp::PfRingDevice*::getTotalNumOfRxChannels
    - PTF_PRINT_VERBOSE
    - second::size
    - PTF_ASSERT_NOT_NULL
    - ipToSendReceivePackets::c_str
    - pcpp::PfRingDevice*::startCaptureMultiThread
    - pcpp::PcapLiveDevice*::getName
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPfRingDeviceMultiThread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:391,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:400,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:400,1
    - Dst: PTF_INTERNAL_RUN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:403,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 408
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_INTERNAL_RUN
    - PTF_PRINT_VERBOSE
    - pcpp::getNumOfCores
    - std::ostringstream::str
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPfRingMultiThreadAllCores)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::getNumOfCores
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:413,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:425,1
    - Dst: std::ostringstream::str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:425,1
    - Dst: PTF_INTERNAL_RUN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:428,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 433
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_INTERNAL_RUN
    - PTF_PRINT_VERBOSE
    - pcpp::getNumOfCores
    - std::ostringstream::str
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPfRingMultiThreadSomeCores)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:438,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:440,1
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:440,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:441,1
    - Dst: getPfRingDeviceByName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:442,1
    - Dst: pcpp::PcapLiveDevice*::getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:442,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:443,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:444,1
    - Dst: pcpp::PfRingDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:444,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:448,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:448,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:450,1
    - Dst: pcpp::PfRingDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:450,1
    - Dst: pcpp::PfRingDevice*::getMtu
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:451,1
    - Dst: memset
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:454,1
    - Dst: pcpp::RawPacket::RawPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:456,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:459,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:465,1
    - Dst: pcpp::PfRingDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:465,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:468,1
    - Dst: pcpp::PfRingDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:468,1
    - Dst: pcpp::RawPacket::getRawData
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:468,1
    - Dst: pcpp::RawPacket::getRawDataLen
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:468,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:472,1
    - Dst: pcpp::PfRingDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:472,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:477,1
    - Dst: pcpp::PfRingDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:479,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:481,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:484,1
    - Dst: pcpp::PfRingDevice*::openSingleRxChannel
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:484,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:485,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:486,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:488,1
    - Dst: pcpp::PfRingDevice*::sendPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:488,1
    - Dst: pcpp::PfRingDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:491,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:493,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 498
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PfRingDevice*::sendPacket
    - pcpp::PfRingDevice*::open
    - pcpp::PfRingDevice*::openSingleRxChannel
    - pcpp::RawPacket::RawPacket
    - pcpp::GtpV2InformationElement::getInstance
    - PTF_ASSERT_TRUE
    - pcpp::PfRingDevice*::close
    - PTF_ASSERT_GREATER_THAN
    - pcpp::RawPacket::getRawData
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileReaderDevice::close
    - getPfRingDeviceByName
    - memset
    - pcpp::RawPacket::getRawDataLen
    - PTF_SKIP_TEST
    - pcpp::PcapFileReaderDevice::getNextPacket
    - PTF_ASSERT_NOT_NULL
    - pcpp::PfRingDevice*::getMtu
    - ipToSendReceivePackets::c_str
    - pcpp::PcapLiveDevice*::getName
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPfRingSendPacket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:503,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:505,1
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:505,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:506,1
    - Dst: getPfRingDeviceByName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:507,1
    - Dst: pcpp::PcapLiveDevice*::getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:507,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:508,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:509,1
    - Dst: pcpp::PfRingDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:509,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:513,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:513,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:519,1
    - Dst: pcpp::PointerVector::pushBack
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:521,1
    - Dst: pcpp::Packet::Packet
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:521,1
    - Dst: pcpp::PfRingDevice*::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:526,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:529,1
    - Dst: pcpp::PointerVector::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:529,1
    - Dst: pcpp::PointerVector::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:529,1
    - Dst: pcpp::PfRingDevice*::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:530,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:532,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:533,1
    - Dst: pcpp::PfRingDevice*::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:535,1
    - Dst: pcpp::PcapFileReaderDevice::close
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:536,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 541
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::PfRingDevice*::open
    - pcpp::PfRingDevice*::sendPackets
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::PointerVector::begin
    - PTF_ASSERT_TRUE
    - pcpp::PfRingDevice*::close
    - pcpp::Packet::Packet
    - std::copy
    - PTF_ASSERT_EQUAL
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileReaderDevice::close
    - getPfRingDeviceByName
    - pcpp::PointerVector::end
    - PTF_SKIP_TEST
    - pcpp::PcapFileReaderDevice::getNextPacket
    - PTF_ASSERT_NOT_NULL
    - pcpp::PointerVector::pushBack
    - ipToSendReceivePackets::c_str
    - pcpp::PcapLiveDevice*::getName
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPfRingSendPackets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:546,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:548,1
    - Dst: ipToSendReceivePackets::c_str
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:548,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:549,1
    - Dst: getPfRingDeviceByName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:550,1
    - Dst: pcpp::PcapLiveDevice*::getName
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:550,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:551,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:553,1
    - Dst: pcpp::PfRingDevice*::isFilterCurrentlySet
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:553,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:554,1
    - Dst: pcpp::PfRingDevice*::clearFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:554,1
    - Dst: SuppressLogs::SuppressLogs
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:557,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:558,1
    - Dst: pcpp::PfRingDevice*::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:558,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:561,1
    - Dst: pcpp::PfRingDevice*::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:561,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:563,1
    - Dst: pcpp::PfRingDevice*::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:563,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:567,1
    - Dst: pcpp::PfRingDevice*::startCaptureSingleThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:567,1
    - Dst: incSleepSetFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:568,1
    - Dst: pcpp::PfRingDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:569,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:570,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:571,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:577,1
    - Dst: pcpp::PfRingDevice*::setFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:577,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:578,1
    - Dst: pcpp::PfRingDevice*::startCaptureSingleThread
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:578,1
    - Dst: incSleepSetFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:579,1
    - Dst: pcpp::PfRingDevice*::stopCapture
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:580,1
    - Dst: PTF_PRINT_VERBOSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:581,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:582,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:588,1
    - Dst: pcpp::PfRingDevice*::isFilterCurrentlySet
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:588,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:589,1
    - Dst: pcpp::PfRingDevice*::clearFilter
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:589,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:590,1
    - Dst: pcpp::PfRingDevice*::isFilterCurrentlySet
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:590,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 595
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    functionUses: 1
    functionsReached:
    - SuppressLogs::SuppressLogs
    - incSleepSetFilter
    - PTF_PRINT_VERBOSE
    - pcpp::PfRingDevice*::clearFilter
    - pcpp::PfRingDevice*::open
    - pcpp::PfRingDevice*::startCaptureSingleThread
    - pcpp::PfRingDevice*::stopCapture
    - PTF_ASSERT_EQUAL
    - PTF_SKIP_TEST
    - PTF_ASSERT_NOT_NULL
    - PTF_ASSERT_FALSE
    - getPfRingDeviceByName
    - PTF_ASSERT_TRUE
    - pcpp::PfRingDevice*::setFilter
    - pcpp::PfRingDevice*::isFilterCurrentlySet
    - ipToSendReceivePackets::c_str
    - pcpp::GtpV2InformationElement::getInstance
    - pcpp::PcapLiveDevice*::getName
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestPfRingFilters)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:21,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:22,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:22,1
    - Dst: pcpp::WinDivertDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:28,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:29,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:30,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:31,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:33,1
    - Dst: pcpp::WinDivertDevice::WinDivertRawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:33,1
    - Dst: PTF_ASSERT_NOT_NULL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:37,1
    - Dst: pcpp::WinDivertDevice::getNetworkInterface
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:37,1
    - Dst: getInterfaceIndex
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:37,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:39,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:39,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:45,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:46,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:46,1
    - Dst: pcpp::WinDivertDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:58,1
    - Dst: pcpp::WinDivertDevice::getNetworkInterface
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:67,1
    - Dst: getInterfaceIndex
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:67,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:69,1
    - Dst: getWinDivertTimestamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:70,1
    - Dst: getWinDivertTimestamp
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:71,1
    - Dst: size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:74,1
    - Dst: pcpp::WinDivertDevice::stopReceive
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:77,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:81,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:82,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:83,1
    - Dst: PTF_ASSERT_GREATER_OR_EQUAL_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:84,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:85,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:86,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:87,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:88,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:93,1
    - Dst: pcpp::WinDivertDevice::getNetworkInterfaces
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:95,1
    - Dst: std::find_if
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:99,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:99,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:99,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:102,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:110,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:110,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:110,1
    - Dst: pcpp::WinDivertDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:115,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:117,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:124,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:125,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:125,1
    - Dst: pcpp::WinDivertDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:131,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:132,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:134,1
    - Dst: pcpp::WinDivertDevice::WinDivertRawPacketVector::size
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:134,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:139,1
    - Dst: pcpp::IPAddress::isIPv4
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:142,1
    - Dst: pcpp::IPAddress::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:144,1
    - Dst: pcpp::IPAddress::toString
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:148,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:150,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:150,1
    - Dst: pcpp::WinDivertDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:153,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:154,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:159,1
    - Dst: pcpp::Packet::getLayerOfType
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:159,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:165,1
    - Dst: pcpp::WinDivertDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:168,1
    - Dst: pcpp::WinDivertDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:169,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:173,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:174,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:175,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:181,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:182,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:182,1
    - Dst: pcpp::WinDivertDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:187,1
    - Dst: pcpp::WinDivertDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:188,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:192,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:193,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:194,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:200,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:201,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:201,1
    - Dst: pcpp::WinDivertDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:206,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:208,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:209,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:210,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:215,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:216,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:216,1
    - Dst: pcpp::WinDivertDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:222,1
    - Dst: pcpp::WinDivertDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:224,1
    - Dst: pcpp::WinDivertDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:226,1
    - Dst: pcpp::WinDivertDevice::stopReceive
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:236,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:239,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:244,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:245,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:245,1
    - Dst: pcpp::WinDivertDevice::receivePackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:249,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:251,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:252,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:255,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 257
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp
    functionUses: 1
    functionsReached:
    - PTF_ASSERT_GREATER_OR_EQUAL_THAN
    - size
    - auto::begin
    - pcpp::WinDivertDevice::WinDivertRawPacketVector::size
    - pcpp::WinDivertDevice::receivePackets
    - PTF_ASSERT_TRUE
    - pcpp::WinDivertDevice::stopReceive
    - to_string
    - PTF_ASSERT_EQUAL
    - pcpp::WinDivertDevice::getNetworkInterfaces
    - pcpp::Packet::getLayerOfType
    - getInterfaceIndex
    - pcpp::WinDivertDevice::WinDivertDevice
    - std::find_if
    - pcpp::WinDivertDevice::getNetworkInterface
    - getWinDivertTimestamp
    - PTF_SKIP_TEST
    - pcpp::Packet::getFirstLayer
    - pcpp::WinDivertDevice::open
    - pcpp::IPAddress::toString
    - pcpp::IPAddress::isIPv4
    - auto::end
    - PTF_ASSERT_NOT_NULL
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestWinDivertReceivePackets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:267,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:267,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:268,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:268,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:271,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:271,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:272,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:272,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:274,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:275,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:275,1
    - Dst: pcpp::WinDivertDevice::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:279,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:280,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:281,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:282,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:292,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:292,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:293,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:293,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:296,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:297,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:297,1
    - Dst: pcpp::WinDivertDevice::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:301,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:302,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:303,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:304,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:312,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:312,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:313,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:313,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:315,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:316,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:316,1
    - Dst: pcpp::WinDivertDevice::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:320,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:321,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:322,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:323,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:324,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:332,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:332,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:333,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:333,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:336,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:336,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:337,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:337,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:339,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:340,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:340,1
    - Dst: pcpp::WinDivertDevice::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:344,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:345,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:346,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:347,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:348,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:356,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:356,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:357,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:357,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:359,1
    - Dst: pcpp::WinDivertDevice::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:360,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:362,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:363,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:364,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:365,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:373,1
    - Dst: pcpp::PcapFileReaderDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:373,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:374,1
    - Dst: pcpp::PcapFileReaderDevice::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:374,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:376,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:377,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:377,1
    - Dst: pcpp::WinDivertDevice::sendPackets
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:382,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:384,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:385,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:386,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:387,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 392
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::WinDivertDevice::sendPackets
    - pcpp::WinDivertDevice::open
    - PTF_ASSERT_EQUAL
    - pcpp::WinDivertDevice::WinDivertDevice
    - pcpp::PcapFileReaderDevice::open
    - pcpp::PcapFileReaderDevice::getNextPackets
    - PTF_ASSERT_TRUE
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestWinDivertSendPackets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:398,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:399,1
    - Dst: pcpp::WinDivertDevice::open
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:399,1
    - Dst: PTF_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:403,1
    - Dst: pcpp::WinDivertDevice::getVersion
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:403,1
    - Dst: pcpp::WinDivertDevice::getPacketQueueParams
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:405,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:408,1
    - Dst: pcpp::WinDivertDevice::setPacketQueueParams
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:416,1
    - Dst: pcpp::WinDivertDevice::getPacketQueueParams
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:418,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:419,1
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:424,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:426,1
    - Dst: pcpp::WinDivertDevice::getVersion
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:426,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:427,1
    - Dst: pcpp::WinDivertDevice::getPacketQueueParams
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:427,1
    - Dst: PTF_ASSERT_RAISES
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:428,1
    - Dst: pcpp::WinDivertDevice::setPacketQueueParams
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:428,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 433
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::WinDivertDevice::getPacketQueueParams
    - pcpp::WinDivertDevice::open
    - PTF_ASSERT_EQUAL
    - pcpp::WinDivertDevice::setPacketQueueParams
    - pcpp::WinDivertDevice::WinDivertDevice
    - PTF_ASSERT_RAISES
    - pcpp::WinDivertDevice::getVersion
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestWinDivertParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::WinDivertDevice::WinDivertDevice
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:438,1
    - Dst: pcpp::WinDivertDevice::getNetworkInterfaces
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:440,1
    - Dst: PTF_ASSERT_GREATER_THAN
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:445,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:446,1
    - Dst: name::empty
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:446,1
    - Dst: PTF_ASSERT_FALSE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:447,1
    - Dst: description::empty
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:447,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:452,1
    - Dst: PTF_ASSERT_TRUE
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:453,1
    - Dst: PTF_SKIP_TEST
      Src: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 457
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp
    functionUses: 1
    functionsReached:
    - pcpp::WinDivertDevice::getNetworkInterfaces
    - pcpp::WinDivertDevice::WinDivertDevice
    - PTF_ASSERT_FALSE
    - description::empty
    - PTF_ASSERT_TRUE
    - PTF_ASSERT_GREATER_THAN
    - name::empty
    - PTF_SKIP_TEST
    linkageType: ''
    returnType: void
    signature: void PTF_TEST_CASE(TestWinDivertNetworkInterfaces)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - exp
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: _PTF_PRINT_TYPE_ACTUAL
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PTF_PRINT_TYPE_ACTUAL(exp, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - exp
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: _PTF_PRINT_TYPE_EXPECTED
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PTF_PRINT_TYPE_EXPECTED(exp, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - exp
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: hex_PTF_PRINT_TYPE_ACTUAL
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hex_PTF_PRINT_TYPE_ACTUAL(exp, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - exp
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: hex_PTF_PRINT_TYPE_EXPECTED
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hex_PTF_PRINT_TYPE_EXPECTED(exp, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - exp
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: enum_PTF_PRINT_TYPE_ACTUAL
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enum_PTF_PRINT_TYPE_ACTUAL(exp, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - exp
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: enum_PTF_PRINT_TYPE_EXPECTED
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enum_PTF_PRINT_TYPE_EXPECTED(exp, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - exp
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: ptr_PTF_PRINT_TYPE_ACTUAL
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ptr_PTF_PRINT_TYPE_ACTUAL(exp, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - exp
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: ptr_PTF_PRINT_TYPE_EXPECTED
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ptr_PTF_PRINT_TYPE_EXPECTED(exp, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - exp
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: enumclass_PTF_PRINT_TYPE_ACTUAL
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enumclass_PTF_PRINT_TYPE_ACTUAL(exp, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - exp
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: enumclass_PTF_PRINT_TYPE_EXPECTED
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enumclass_PTF_PRINT_TYPE_EXPECTED(exp, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: BUFFER_PRINT
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUFFER_PRINT(buffer, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - severity
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: PTF_PRINT_ASSERTION
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_PRINT_ASSERTION(severity, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - severity
    - ','
    - op
    - ','
    - actualExp
    - ','
    - actualVal
    - ','
    - expectedExp
    - ','
    - expectedVal
    - ','
    - objType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: PTF_PRINT_COMPARE_ASSERTION
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_PRINT_COMPARE_ASSERTION(severity, op, actualExp, actualVal, expectedExp,
      expectedVal, objType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - op
    - ','
    - actualExp
    - ','
    - actualVal
    - ','
    - expectedExp
    - ','
    - expectedVal
    - ','
    - objType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: PTF_PRINT_COMPARE_ASSERTION_FAILED
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_PRINT_COMPARE_ASSERTION_FAILED(op, actualExp, actualVal, expectedExp,
      expectedVal, objType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - op
    - ','
    - actualExp
    - ','
    - actualVal
    - ','
    - expectedExp
    - ','
    - expectedVal
    - ','
    - objType
    - )
    argTypes:
    - auto
    - auto
    - 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: PTF_PRINT_COMPARE_ASSERTION_NON_CRITICAL
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_PRINT_COMPARE_ASSERTION_NON_CRITICAL(op, actualExp, actualVal,
      expectedExp, expectedVal, objType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TestName
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: PTF_TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_TEST_CASE(TestName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TestName
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: PTF_INTERNAL_RUN
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_INTERNAL_RUN(TestName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - expected
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: PTF_ASSERT_EQUAL
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 334
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_ASSERT_EQUAL(actual, expected, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - expected
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 115
    functionName: PTF_ASSERT_VECTORS_EQUAL
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_ASSERT_VECTORS_EQUAL(actual, expected, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - expected
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: PTF_ASSERT_NOT_EQUAL
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_ASSERT_NOT_EQUAL(actual, expected, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - expected
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: PTF_ASSERT_GREATER_THAN
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_ASSERT_GREATER_THAN(actual, expected, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - expected
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: PTF_ASSERT_GREATER_OR_EQUAL_THAN
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_ASSERT_GREATER_OR_EQUAL_THAN(actual, expected, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - expected
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: PTF_ASSERT_LOWER_THAN
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_ASSERT_LOWER_THAN(actual, expected, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - expected
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: PTF_ASSERT_LOWER_OR_EQUAL_THAN
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_ASSERT_LOWER_OR_EQUAL_THAN(actual, expected, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - buf1
    - ','
    - buf1_size
    - ','
    - buf2
    - ','
    - buf2_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: PTF_ASSERT_BUF_COMPARE_S
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_ASSERT_BUF_COMPARE_S(buf1, buf1_size, buf2, buf2_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf1
    - ','
    - buf2
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: PTF_ASSERT_BUF_COMPARE
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 111
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_ASSERT_BUF_COMPARE(buf1, buf2, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: PTF_ASSERT_TRUE
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 299
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_ASSERT_TRUE(exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: PTF_ASSERT_FALSE
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 126
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_ASSERT_FALSE(exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: PTF_ASSERT_NOT_NULL
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 230
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_ASSERT_NOT_NULL(exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: PTF_ASSERT_NULL
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_ASSERT_NULL(exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - expected
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: PTF_NON_CRITICAL_EQUAL
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_NON_CRITICAL_EQUAL(actual, expected, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: PTF_NON_CRITICAL_TRUE
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_NON_CRITICAL_TRUE(exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 282
    functionName: PTF_PRINT_VERBOSE
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_PRINT_VERBOSE(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 293
    functionName: PTF_SKIP_TEST
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_SKIP_TEST(why)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h:17,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' input'
    - ' result'
    argTypes:
    - std::string
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: __ptfSplitString
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::getline
    linkageType: ''
    returnType: void
    signature: void __ptfSplitString(const std::string& input, std::vector<std::string>&
      result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __ptfSplitString
      Src: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h:32,1
    - Dst: __ptfSplitString
      Src: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h:33,1
    - Dst: std::any_of
      Src: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h:37,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h:37,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' tagSet'
    - ' tagSetToCompareWith'
    - emptyTagSetMeansAll
    argTypes:
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: __ptfCheckTags
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h
    functionUses: 0
    functionsReached:
    - __ptfSplitString
    - std::vector::end
    - std::vector::begin
    - std::any_of
    linkageType: ''
    returnType: bool
    signature: bool __ptfCheckTags(const std::string& tagSet, const std::string& tagSetToCompareWith,
      bool emptyTagSetMeansAll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - userIncludeTags
    - ','
    - userExcludeTags
    - ','
    - configTags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: PTF_START_RUNNING_TESTS
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_START_RUNNING_TESTS(userIncludeTags, userExcludeTags, configTags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestName
    - ','
    - tags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 123
    functionName: PTF_RUN_TEST
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_RUN_TEST(TestName, tags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: PTF_SET_VERBOSE_MODE
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_SET_VERBOSE_MODE(flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: PTF_SHOW_SKIPPED_TESTS
    functionSourceFile: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTF_SHOW_SKIPPED_TESTS(flag)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:12,1
    - Dst: tmpnam
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:13,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:15,1
    - Dst: dumpDataToPcapFile
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:18,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:18,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:24,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:27,1
    - Dst: std::unique_ptr::getStatistics
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:34,1
    - Dst: dynamic_cast<pcpp::PcapNgFileReaderDevice*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:38,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:38,1
    - Dst: auto::getOS
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:40,1
    - Dst: auto::getHardware
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:40,1
    - Dst: auto::getCaptureApplication
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:41,1
    - Dst: auto::getCaptureFileComment
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:42,1
    - Dst: std::unique_ptr::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:46,1
    - Dst: pcpp::RawPacketVector::front
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:52,1
    - Dst: strcmp
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:57,1
    - Dst: strcmp
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:57,1
    - Dst: pcpp::Packet::toString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:60,1
    - Dst: pcpp::Packet::getFirstLayer
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:61,1
    - Dst: auto::toString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:64,1
    - Dst: auto::getHeaderLen
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:65,1
    - Dst: readParsedPacket
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:66,1
    - Dst: auto::getNextLayer
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:67,1
    - Dst: pcpp::Packet::computeCalculateFields
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:69,1
    - Dst: std::unique_ptr::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:71,1
    - Dst: std::unique_ptr::close
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp:73,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 75
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp
    functionUses: 1
    functionsReached:
    - std::unique_ptr::getStatistics
    - empty
    - std::unique_ptr::get
    - auto::getCaptureFileComment
    - tmpnam
    - c_str
    - pcpp::GtpV2InformationElement::getInstance
    - readParsedPacket
    - std::unique_ptr::open
    - auto::getOS
    - strcmp
    - auto::getCaptureApplication
    - dynamic_cast<pcpp::PcapNgFileReaderDevice*>
    - std::unique_ptr::close
    - dumpDataToPcapFile
    - pcpp::Packet::toString
    - std::unique_ptr::getNextPacket
    - auto::getHeaderLen
    - pcpp::RawPacketVector::front
    - pcpp::Packet::getFirstLayer
    - pcpp::Packet::computeCalculateFields
    - auto::toString
    - auto::getNextLayer
    - auto::getHardware
    - std::unique_ptr::getNextPackets
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:29,1
    - Dst: dynamic_cast<pcpp::TelnetLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:31,1
    - Dst: auto::getFirstCommand
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:33,1
    - Dst: auto::getTotalNumberOfCommands
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:34,1
    - Dst: auto::getNextCommand
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:39,1
    - Dst: auto::getTelnetCommandAsString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:40,1
    - Dst: auto::getOption
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:42,1
    - Dst: auto::getTelnetOptionAsString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:43,1
    - Dst: auto::getDataAsString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:45,1
    - Dst: auto::getNumberOfCommands
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:46,1
    - Dst: auto::getOption
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:47,1
    - Dst: auto::getOptionData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:49,1
    - Dst: auto::getOptionData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:50,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:54,1
    - Dst: dynamic_cast<pcpp::ArpLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:56,1
    - Dst: auto::isReply
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:58,1
    - Dst: auto::isRequest
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:59,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:62,1
    - Dst: dynamic_cast<pcpp::SomeIpSdLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:64,1
    - Dst: auto::getEntries
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:66,1
    - Dst: auto::empty
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:67,1
    - Dst: auto::getOptionsFromEntry
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:69,1
    - Dst: getNumOptions
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:76,1
    - Dst: getServiceId
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:77,1
    - Dst: getInstanceId
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:78,1
    - Dst: getMajorVersion
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:79,1
    - Dst: getMinorVersion
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:80,1
    - Dst: getCounter
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:81,1
    - Dst: getEventgroupId
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:82,1
    - Dst: auto::getFlags
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:86,1
    - Dst: auto::getOptions
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:87,1
    - Dst: getType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:90,1
    - Dst: dynamic_cast<pcpp::SomeIpSdIPv4Option*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:91,1
    - Dst: auto::getIpAddress
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:93,1
    - Dst: auto::getPort
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:94,1
    - Dst: auto::getProtocol
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:95,1
    - Dst: dynamic_cast<pcpp::SomeIpSdIPv6Option*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:97,1
    - Dst: auto::getIpAddress
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:99,1
    - Dst: auto::getPort
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:100,1
    - Dst: auto::getProtocol
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:101,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:107,1
    - Dst: dynamic_cast<pcpp::GtpV1Layer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:109,1
    - Dst: auto::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:112,1
    - Dst: auto::getNpduNumber
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:114,1
    - Dst: auto::getMessageType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:115,1
    - Dst: auto::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:116,1
    - Dst: auto::isGTPUMessage
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:117,1
    - Dst: auto::isGTPCMessage
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:118,1
    - Dst: auto::getNextExtension
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:119,1
    - Dst: auto::getExtensionType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:120,1
    - Dst: auto::getContent
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:121,1
    - Dst: auto::getContentLength
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:122,1
    - Dst: auto::getNextExtension
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:123,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:126,1
    - Dst: dynamic_cast<pcpp::GreLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:128,1
    - Dst: auto::getSequenceNumber
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:131,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:134,1
    - Dst: dynamic_cast<pcpp::GREv0Layer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:136,1
    - Dst: auto::getChecksum
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:139,1
    - Dst: auto::getOffset
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:140,1
    - Dst: auto::getKey
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:142,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:145,1
    - Dst: dynamic_cast<pcpp::GREv1Layer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:147,1
    - Dst: auto::getAcknowledgmentNum
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:150,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:153,1
    - Dst: dynamic_cast<pcpp::FtpRequestLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:155,1
    - Dst: auto::getCommandOption
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:157,1
    - Dst: auto::getCommandOption
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:158,1
    - Dst: dynamic_cast<pcpp::FtpResponseLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:160,1
    - Dst: auto::getStatusCode
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:162,1
    - Dst: auto::getStatusOption
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:163,1
    - Dst: auto::getStatusOption
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:164,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:167,1
    - Dst: dynamic_cast<pcpp::Sll2Layer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:169,1
    - Dst: auto::getLinkLayerAsMacAddress
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:171,1
    - Dst: auto::getProtocolType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:172,1
    - Dst: auto::getInterfaceIndex
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:173,1
    - Dst: auto::getArphrdType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:174,1
    - Dst: auto::getPacketType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:175,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:178,1
    - Dst: dynamic_cast<pcpp::VrrpLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:180,1
    - Dst: auto::getIPAddresses
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:182,1
    - Dst: auto::isChecksumCorrect
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:183,1
    - Dst: auto::getChecksum
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:184,1
    - Dst: auto::getPriorityAsEnum
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:185,1
    - Dst: auto::getPriority
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:186,1
    - Dst: auto::getType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:187,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:190,1
    - Dst: dynamic_cast<pcpp::VrrpV2Layer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:192,1
    - Dst: auto::getAuthTypeAsEnum
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:194,1
    - Dst: auto::getAdvInt
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:195,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:198,1
    - Dst: dynamic_cast<pcpp::VrrpV3Layer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:200,1
    - Dst: auto::getMaxAdvInt
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:202,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:205,1
    - Dst: dynamic_cast<pcpp::TcpLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:207,1
    - Dst: auto::insertTcpOptionAfter
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:210,1
    - Dst: pcpp::TcpOptionBuilder
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:210,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:214,1
    - Dst: dynamic_cast<pcpp::SdpLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:216,1
    - Dst: auto::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:218,1
    - Dst: auto::getMediaPort
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:219,1
    - Dst: auto::getFieldCount
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:220,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:224,1
    - Dst: auto::addMediaDescription
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:225,1
    - Dst: auto::addField
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:226,1
    - Dst: auto::removeField
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:227,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:230,1
    - Dst: dynamic_cast<pcpp::SSLHandshakeLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:232,1
    - Dst: auto::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:234,1
    - Dst: auto::getCompressionMethodsValue
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:236,1
    - Dst: auto::getSessionID
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:237,1
    - Dst: auto::getHandshakeType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:238,1
    - Dst: auto::getHandshakeVersion
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:239,1
    - Dst: pcpp::SSLCipherSuite::getCipherSuiteByName
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:241,1
    - Dst: auto::getCipherSuiteCount
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:242,1
    - Dst: auto::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:244,1
    - Dst: auto::getCipherSuiteID
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:246,1
    - Dst: auto::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:248,1
    - Dst: auto::getHostName
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:249,1
    - Dst: auto::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:250,1
    - Dst: auto::getSupportedVersions
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:251,1
    - Dst: auto::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:253,1
    - Dst: auto::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:254,1
    - Dst: auto::generateTLSFingerprint
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:256,1
    - Dst: auto::toMD5
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:257,1
    - Dst: auto::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:259,1
    - Dst: auto::getCompressionMethodsValue
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:261,1
    - Dst: auto::getSessionID
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:262,1
    - Dst: auto::getCipherSuite
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:263,1
    - Dst: auto::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:265,1
    - Dst: auto::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:266,1
    - Dst: auto::getExtensionOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:267,1
    - Dst: auto::getHandshakeVersion
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:269,1
    - Dst: auto::generateTLSFingerprint
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:270,1
    - Dst: auto::toMD5
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:271,1
    - Dst: auto::getHandshakeMessageOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:273,1
    - Dst: auto::isMessageComplete
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:275,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:279,1
    - Dst: dynamic_cast<pcpp::NtpLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:281,1
    - Dst: auto::getLeapIndicator
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:283,1
    - Dst: auto::getMode
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:284,1
    - Dst: auto::getModeString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:285,1
    - Dst: auto::getStratum
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:286,1
    - Dst: auto::getPollInterval
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:287,1
    - Dst: auto::getPrecision
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:288,1
    - Dst: auto::getRootDelay
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:289,1
    - Dst: auto::getRootDispersion
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:290,1
    - Dst: auto::getReferenceIdentifier
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:291,1
    - Dst: auto::getReferenceIdentifierString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:292,1
    - Dst: auto::getReferenceTimestamp
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:293,1
    - Dst: auto::getOriginTimestamp
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:294,1
    - Dst: auto::getReceiveTimestamp
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:295,1
    - Dst: auto::getTransmitTimestamp
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:296,1
    - Dst: auto::getDigest
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:298,1
    - Dst: auto::getKeyID
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:299,1
    - Dst: auto::getPollIntervalInSecs
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:301,1
    - Dst: auto::getPrecisionInSecs
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:302,1
    - Dst: auto::getRootDelayInSecs
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:303,1
    - Dst: auto::getRootDispersionInSecs
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:304,1
    - Dst: auto::getReferenceTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:305,1
    - Dst: auto::getOriginTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:306,1
    - Dst: auto::getReceiveTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:307,1
    - Dst: auto::getTransmitTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:308,1
    - Dst: auto::getReferenceTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:310,1
    - Dst: auto::getOriginTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:311,1
    - Dst: auto::getReceiveTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:312,1
    - Dst: auto::getTransmitTimestampAsString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:313,1
    - Dst: auto::setRootDelayInSecs
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:316,1
    - Dst: auto::setReferenceTimestampInSecs
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:317,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:320,1
    - Dst: dynamic_cast<pcpp::IcmpLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:322,1
    - Dst: auto::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:326,1
    - Dst: auto::getTimestampReplyData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:328,1
    - Dst: auto::setTimestampReplyData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:332,1
    - Dst: auto::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:334,1
    - Dst: auto::getAddressMaskRequestData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:336,1
    - Dst: auto::setAddressMaskRequestData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:337,1
    - Dst: auto::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:339,1
    - Dst: auto::getAddressMaskReplyData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:341,1
    - Dst: auto::setAddressMaskReplyData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:342,1
    - Dst: auto::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:344,1
    - Dst: auto::getDestUnreachableData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:346,1
    - Dst: auto::setDestUnreachableData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:347,1
    - Dst: auto::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:349,1
    - Dst: auto::getInfoReplyData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:351,1
    - Dst: auto::setInfoReplyData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:352,1
    - Dst: auto::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:354,1
    - Dst: auto::getInfoRequestData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:356,1
    - Dst: auto::setInfoRequestData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:357,1
    - Dst: auto::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:359,1
    - Dst: auto::getParamProblemData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:361,1
    - Dst: auto::setParamProblemData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:362,1
    - Dst: auto::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:364,1
    - Dst: auto::getTimeExceededData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:366,1
    - Dst: auto::setTimeExceededData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:367,1
    - Dst: auto::isMessageOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:369,1
    - Dst: auto::getRouterAdvertisementData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:371,1
    - Dst: pcpp::icmp_router_address_structure::setRouterAddress
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:373,1
    - Dst: pcpp::SdpLayer::getOwnerIPv4Address
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:373,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:375,1
    - Dst: auto::setRouterAdvertisementData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:376,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:380,1
    - Dst: dynamic_cast<pcpp::DhcpV6Layer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:382,1
    - Dst: auto::getTransactionID
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:384,1
    - Dst: auto::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:385,1
    - Dst: auto::getFirstOptionData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:387,1
    - Dst: pcpp::DhcpV6Option::getType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:388,1
    - Dst: pcpp::DhcpV6Option::getTotalSize
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:389,1
    - Dst: pcpp::DhcpV6Option::getValueAsHexString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:390,1
    - Dst: auto::getOptionCount
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:391,1
    - Dst: auto::getNextOptionData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:393,1
    - Dst: auto::getOptionData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:395,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:399,1
    - Dst: dynamic_cast<pcpp::DhcpLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:401,1
    - Dst: auto::getOpCode
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:403,1
    - Dst: auto::getDhcpHeader
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:404,1
    - Dst: auto::getClientIpAddress
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:405,1
    - Dst: auto::getYourIpAddress
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:406,1
    - Dst: auto::getServerIpAddress
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:407,1
    - Dst: auto::getGatewayIpAddress
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:408,1
    - Dst: auto::getClientHardwareAddress
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:409,1
    - Dst: auto::getOptionsCount
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:410,1
    - Dst: auto::getFirstOptionData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:412,1
    - Dst: pcpp::DhcpOption::getValueAsIpAddr
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:413,1
    - Dst: pcpp::DhcpOption::getValueAsString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:414,1
    - Dst: auto::getOptionsCount
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:415,1
    - Dst: auto::getNextOptionData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:417,1
    - Dst: auto::getOptionData
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:420,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:423,1
    - Dst: dynamic_cast<pcpp::BgpLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:425,1
    - Dst: auto::getMessageTypeAsString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:427,1
    - Dst: dynamic_cast<pcpp::BgpOpenMessageLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:428,1
    - Dst: auto::getOptionalParameters
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:431,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:433,1
    - Dst: pcpp::BgpOpenMessageLayer::optional_parameter
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:433,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:434,1
    - Dst: pcpp::BgpOpenMessageLayer::optional_parameter
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:434,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:435,1
    - Dst: pcpp::BgpOpenMessageLayer::optional_parameter
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:435,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:436,1
    - Dst: pcpp::BgpOpenMessageLayer::optional_parameter
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:436,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:437,1
    - Dst: pcpp::BgpOpenMessageLayer::optional_parameter
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:437,1
    - Dst: auto::setOptionalParameters
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:438,1
    - Dst: auto::clearOptionalParameters
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:439,1
    - Dst: auto::setOptionalParameters
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:440,1
    - Dst: dynamic_cast<pcpp::BgpUpdateMessageLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:442,1
    - Dst: auto::getWithdrawnRoutes
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:445,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:447,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:447,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:448,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:448,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:449,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:449,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:450,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:450,1
    - Dst: auto::setWithdrawnRoutes
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:451,1
    - Dst: auto::clearWithdrawnRoutes
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:452,1
    - Dst: auto::setWithdrawnRoutes
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:453,1
    - Dst: auto::getNetworkLayerReachabilityInfo
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:456,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:458,1
    - Dst: pcpp::BgpUpdateMessageLayer::prefix_and_ip
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:458,1
    - Dst: auto::setNetworkLayerReachabilityInfo
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:459,1
    - Dst: auto::clearNetworkLayerReachabilityInfo
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:460,1
    - Dst: auto::setNetworkLayerReachabilityInfo
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:461,1
    - Dst: auto::getPathAttributes
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:464,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:466,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:466,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:467,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:468,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:469,1
    - Dst: pcpp::BgpUpdateMessageLayer::path_attribute
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:469,1
    - Dst: auto::setPathAttributes
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:470,1
    - Dst: auto::clearPathAttributes
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:471,1
    - Dst: auto::setPathAttributes
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:472,1
    - Dst: dynamic_cast<pcpp::BgpNotificationMessageLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:474,1
    - Dst: auto::getNotificationDataAsHexString
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:476,1
    - Dst: pcpp::Packet::isPacketOfType
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:480,1
    - Dst: dynamic_cast<pcpp::DnsLayer*>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:482,1
    - Dst: auto::addQuery
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:484,1
    - Dst: auto::removeQuery
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:485,1
    - Dst: auto::removeQuery
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:486,1
    - Dst: string
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:487,1
    - Dst: auto::addAnswer
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:488,1
    - Dst: auto::removeAnswer
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:490,1
    - Dst: auto::removeAnswer
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:491,1
    - Dst: auto::addAuthority
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:492,1
    - Dst: auto::removeAuthority
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:493,1
    - Dst: auto::removeAuthority
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:494,1
    - Dst: auto::addAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:496,1
    - Dst: auto::removeAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:497,1
    - Dst: auto::removeAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:498,1
    - Dst: auto::getFirstAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:500,1
    - Dst: auto::getNextAdditionalRecord
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:503,1
    - Dst: auto::getFirstAnswer
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:506,1
    - Dst: auto::getNextAnswer
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:509,1
    - Dst: auto::getFirstAuthority
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:512,1
    - Dst: auto::getNextAuthority
      Src: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h:515,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 349
    argCount: 2
    argNames:
    - parsedPacket
    - layer
    argTypes:
    - pcpp::Packet
    - pcpp::Layer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 522
    functionName: readParsedPacket
    functionSourceFile: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h
    functionUses: 1
    functionsReached:
    - auto::getTelnetCommandAsString
    - dynamic_cast<pcpp::GREv1Layer*>
    - auto::getCipherSuite
    - auto::getNextOptionData
    - auto::getHostName
    - pcpp::BgpUpdateMessageLayer::prefix_and_ip
    - auto::getOriginTimestamp
    - auto::getTransmitTimestampInSecs
    - auto::getModeString
    - dynamic_cast<pcpp::Sll2Layer*>
    - auto::addAdditionalRecord
    - dynamic_cast<pcpp::BgpUpdateMessageLayer*>
    - auto::getNextAnswer
    - auto::getExtensionType
    - auto::getMode
    - auto::setAddressMaskRequestData
    - auto::getHandshakeVersion
    - auto::getClientHardwareAddress
    - auto::getMessageTypeAsString
    - getEventgroupId
    - auto::getIpAddress
    - auto::getReferenceTimestamp
    - auto::getGatewayIpAddress
    - dynamic_cast<pcpp::BgpNotificationMessageLayer*>
    - auto::getSessionID
    - auto::setNetworkLayerReachabilityInfo
    - auto::getDhcpHeader
    - auto::getNextExtension
    - dynamic_cast<pcpp::BgpLayer*>
    - dynamic_cast<pcpp::SomeIpSdIPv4Option*>
    - getNumOptions
    - dynamic_cast<pcpp::GREv0Layer*>
    - auto::getInfoRequestData
    - pcpp::icmp_router_address_structure::setRouterAddress
    - auto::getStratum
    - auto::getPollIntervalInSecs
    - auto::getAdvInt
    - auto::isMessageComplete
    - auto::getWithdrawnRoutes
    - auto::getHandshakeType
    - auto::getPathAttributes
    - auto::setInfoRequestData
    - auto::getCommandOption
    - auto::getDataAsString
    - getMinorVersion
    - auto::getPriorityAsEnum
    - dynamic_cast<pcpp::FtpRequestLayer*>
    - auto::setParamProblemData
    - auto::getReceiveTimestampInSecs
    - dynamic_cast<pcpp::FtpResponseLayer*>
    - pcpp::TcpOptionBuilder
    - auto::getFirstOptionData
    - auto::getContent
    - dynamic_cast<pcpp::SSLHandshakeLayer*>
    - auto::setDestUnreachableData
    - auto::getAddressMaskReplyData
    - auto::isGTPCMessage
    - auto::getFirstAdditionalRecord
    - auto::getReferenceIdentifier
    - string
    - dynamic_cast<pcpp::VrrpV2Layer*>
    - auto::isGTPUMessage
    - auto::addMediaDescription
    - auto::getKeyID
    - dynamic_cast<pcpp::NtpLayer*>
    - auto::getTimeExceededData
    - auto::getInfoReplyData
    - auto::getMaxAdvInt
    - auto::removeAdditionalRecord
    - auto::getPort
    - auto::getNpduNumber
    - auto::getOriginTimestampAsString
    - auto::getOptionalParameters
    - auto::getCompressionMethodsValue
    - auto::getTotalNumberOfCommands
    - auto::getOpCode
    - dynamic_cast<pcpp::GtpV1Layer*>
    - dynamic_cast<pcpp::VrrpV3Layer*>
    - dynamic_cast<pcpp::TcpLayer*>
    - auto::setInfoReplyData
    - pcpp::DhcpV6Option::getValueAsHexString
    - auto::setPathAttributes
    - getInstanceId
    - auto::addField
    - auto::setRootDelayInSecs
    - auto::getNumberOfCommands
    - auto::isReply
    - auto::getReceiveTimestamp
    - auto::getReceiveTimestampAsString
    - auto::getClientIpAddress
    - auto::getNextAuthority
    - auto::setRouterAdvertisementData
    - auto::getFirstAnswer
    - auto::getFieldCount
    - pcpp::BgpUpdateMessageLayer::path_attribute
    - auto::getIPAddresses
    - auto::getRootDispersionInSecs
    - auto::clearWithdrawnRoutes
    - auto::getSequenceNumber
    - auto::getPollInterval
    - auto::getRootDelayInSecs
    - pcpp::DhcpV6Option::getTotalSize
    - auto::setReferenceTimestampInSecs
    - auto::getNotificationDataAsHexString
    - auto::addAuthority
    - auto::getRootDispersion
    - auto::getRootDelay
    - auto::getLinkLayerAsMacAddress
    - pcpp::SdpLayer::getOwnerIPv4Address
    - auto::isMessageOfType
    - auto::setWithdrawnRoutes
    - std::vector::push_back
    - auto::getEntries
    - auto::getArphrdType
    - auto::getPacketType
    - dynamic_cast<pcpp::DhcpLayer*>
    - dynamic_cast<pcpp::SomeIpSdIPv6Option*>
    - auto::getOptions
    - getType
    - auto::removeAuthority
    - auto::removeAnswer
    - auto::clearOptionalParameters
    - auto::setTimestampReplyData
    - auto::clearPathAttributes
    - auto::getFirstAuthority
    - auto::getOwnerIPv4Address
    - auto::getNetworkLayerReachabilityInfo
    - auto::removeField
    - auto::generateTLSFingerprint
    - auto::getOptionData
    - auto::toMD5
    - auto::getPrecision
    - auto::getProtocol
    - auto::getReferenceIdentifierString
    - auto::getParamProblemData
    - auto::getDestUnreachableData
    - auto::empty
    - auto::getReferenceTimestampAsString
    - pcpp::SSLCipherSuite::getCipherSuiteByName
    - pcpp::DhcpOption::getValueAsString
    - auto::getHandshakeMessageOfType
    - auto::getLeapIndicator
    - getCounter
    - auto::clearNetworkLayerReachabilityInfo
    - auto::getExtensionOfType
    - auto::getTimestampReplyData
    - auto::setAddressMaskReplyData
    - auto::getTransactionID
    - auto::getStatusOption
    - auto::getRouterAdvertisementData
    - auto::isRequest
    - auto::getTransmitTimestamp
    - auto::getTelnetOptionAsString
    - auto::getCipherSuiteID
    - auto::getPrecisionInSecs
    - auto::getOption
    - auto::getMediaPort
    - auto::addQuery
    - auto::getNextAdditionalRecord
    - auto::getFirstCommand
    - dynamic_cast<pcpp::BgpOpenMessageLayer*>
    - dynamic_cast<pcpp::GreLayer*>
    - auto::getStatusCode
    - auto::getMessageType
    - auto::getDigest
    - auto::addAnswer
    - auto::getOptionsFromEntry
    - auto::getCipherSuiteCount
    - auto::getFlags
    - auto::setOptionalParameters
    - dynamic_cast<pcpp::SdpLayer*>
    - dynamic_cast<pcpp::SomeIpSdLayer*>
    - auto::getOffset
    - auto::getProtocolType
    - auto::getYourIpAddress
    - dynamic_cast<pcpp::TelnetLayer*>
    - auto::getSupportedVersions
    - auto::getAcknowledgmentNum
    - dynamic_cast<pcpp::ArpLayer*>
    - pcpp::Packet::isPacketOfType
    - auto::isChecksumCorrect
    - auto::getServerIpAddress
    - auto::getOriginTimestampInSecs
    - dynamic_cast<pcpp::VrrpLayer*>
    - getMajorVersion
    - auto::getPriority
    - getServiceId
    - auto::getReferenceTimestampInSecs
    - dynamic_cast<pcpp::DhcpV6Layer*>
    - auto::getNextCommand
    - auto::getAddressMaskRequestData
    - auto::getAuthTypeAsEnum
    - auto::getInterfaceIndex
    - auto::getOptionsCount
    - auto::getContentLength
    - dynamic_cast<pcpp::DnsLayer*>
    - auto::getChecksum
    - auto::insertTcpOptionAfter
    - auto::removeQuery
    - auto::getTransmitTimestampAsString
    - dynamic_cast<pcpp::IcmpLayer*>
    - auto::setTimeExceededData
    - auto::getOptionCount
    - pcpp::DhcpV6Option::getType
    - pcpp::DhcpOption::getValueAsIpAddr
    - auto::getType
    - auto::getKey
    - pcpp::BgpOpenMessageLayer::optional_parameter
    linkageType: ''
    returnType: void
    signature: void readParsedPacket(pcpp::Packet parsedPacket, pcpp::Layer* layer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PcapPlusPlus/Tests/Fuzzers/DumpToFile.h:12,1
    - Dst: fwrite
      Src: /src/PcapPlusPlus/Tests/Fuzzers/DumpToFile.h:19,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/Tests/Fuzzers/DumpToFile.h:20,1
    - Dst: fclose
      Src: /src/PcapPlusPlus/Tests/Fuzzers/DumpToFile.h:23,1
    - Dst: fclose
      Src: /src/PcapPlusPlus/Tests/Fuzzers/DumpToFile.h:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - path
    argTypes:
    - uint8_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 29
    functionName: dumpDataToPcapFile
    functionSourceFile: /src/PcapPlusPlus/Tests/Fuzzers/DumpToFile.h
    functionUses: 1
    functionsReached:
    - fclose
    - static_cast<size_t>
    - fwrite
    - fopen
    linkageType: ''
    returnType: int
    signature: int dumpDataToPcapFile(const uint8_t* data, size_t size, const char*
      path)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:15,1
    - Dst: tmpnam
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:16,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:18,1
    - Dst: dumpDataToPcapFile
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:21,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:21,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:27,1
    - Dst: std::unique_ptr::open
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:30,1
    - Dst: empty
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:36,1
    - Dst: remove
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:51,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:51,1
    - Dst: pcpp::PcapFileWriterDevice::open
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:53,1
    - Dst: std::unique_ptr::getNextPackets
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:60,1
    - Dst: pcpp::RawPacketVector::front
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:66,1
    - Dst: pcpp::PcapFileWriterDevice::writePacket
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:69,1
    - Dst: std::unique_ptr::getNextPacket
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:70,1
    - Dst: pcpp::PcapFileWriterDevice::getStatistics
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:73,1
    - Dst: pcpp::PcapFileWriterDevice::close
      Src: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp:77,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 79
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp
    functionUses: 1
    functionsReached:
    - dumpDataToPcapFile
    - std::unique_ptr::getNextPacket
    - empty
    - c_str
    - remove
    - std::unique_ptr::open
    - std::unique_ptr::getNextPackets
    - pcpp::PcapFileWriterDevice::getStatistics
    - pcpp::PcapFileWriterDevice::close
    - pcpp::PcapFileWriterDevice::open
    - tmpnam
    - pcpp::RawPacketVector::front
    - pcpp::PcapFileWriterDevice::writePacket
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:143,1
    - Dst: vfprintf
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:145,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: _vwarnx
    functionSourceFile: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
    functionUses: 0
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void _vwarnx(const char *fmt,va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:153,1
    - Dst: _vwarnx
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:154,1
    - Dst: va_end
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: warnx
    functionSourceFile: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - _vwarnx
    linkageType: ''
    returnType: void
    signature: void warnx(const char *fmt,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: gcd
    functionSourceFile: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gcd(int a, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcd
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - panonopt_start
    - panonopt_end
    - opt_end
    - nargv
    argTypes:
    - int
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: permute_args
    functionSourceFile: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
    functionUses: 0
    functionsReached:
    - gcd
    linkageType: ''
    returnType: void
    signature: "void permute_args(int panonopt_start, int panonopt_end, int opt_end,\n\tchar
      * const *nargv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getopt_internal
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nargc
    - nargv
    - options
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: getopt
    functionSourceFile: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
    functionUses: 9
    functionsReached:
    - getopt_internal
    linkageType: ''
    returnType: int
    signature: int getopt(int nargc, char * const *nargv, const char *options)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:308,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:313,1
    - Dst: strncmp
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:317,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:321,1
    - Dst: IDENTICAL_INTERPRETATION
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:336,1
    - Dst: warnx
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:342,1
    - Dst: warnx
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:351,1
    - Dst: warnx
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:381,1
    - Dst: warnx
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:399,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 73
    argCount: 5
    argNames:
    - nargv
    - options
    - long_options
    - idx
    - short_too
    argTypes:
    - char**
    - char*
    - struct option*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 411
    functionName: parse_long_options
    functionSourceFile: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
    functionUses: 0
    functionsReached:
    - strchr
    - warnx
    - strlen
    - IDENTICAL_INTERPRETATION
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int parse_long_options(char * const *nargv, const char *options,\n\tconst
      struct option *long_options, int *idx, int short_too)"
  - 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: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: IDENTICAL_INTERPRETATION
    functionSourceFile: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDENTICAL_INTERPRETATION(_x, _y)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:443,1
    - Dst: permute_args
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:461,1
    - Dst: strchr
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:476,1
    - Dst: permute_args
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:497,1
    - Dst: permute_args
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:521,1
    - Dst: strchr
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:541,1
    - Dst: parse_long_options
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:544,1
    - Dst: strchr
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:554,1
    - Dst: warnx
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:565,1
    - Dst: warnx
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:576,1
    - Dst: parse_long_options
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:581,1
    - Dst: warnx
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:597,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 123
    argCount: 6
    argNames:
    - nargc
    - nargv
    - options
    - long_options
    - idx
    - flags
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 608
    functionName: getopt_internal
    functionSourceFile: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
    functionUses: 4
    functionsReached:
    - permute_args
    - strchr
    - warnx
    - getenv
    - parse_long_options
    linkageType: ''
    returnType: int
    signature: "int getopt_internal(int nargc, char * const *nargv, const char *options,\n\tconst
      struct option *long_options, int *idx, int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getopt_internal
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - nargc
    - nargv
    - options
    - long_options
    - idx
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: getopt_long
    functionSourceFile: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
    functionUses: 23
    functionsReached:
    - getopt_internal
    linkageType: ''
    returnType: int
    signature: "int getopt_long(int nargc, char * const *nargv, const char *options,\n
      \   const struct option *long_options, int *idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getopt_internal
      Src: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - nargc
    - nargv
    - options
    - long_options
    - idx
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 634
    functionName: getopt_long_only
    functionSourceFile: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
    functionUses: 0
    functionsReached:
    - getopt_internal
    linkageType: ''
    returnType: int
    signature: "int getopt_long_only(int nargc, char * const *nargv, const char *options,\n
      \   const struct option *long_options, int *idx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pcapng
    - option_code
    argTypes:
    - light_pcapng
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: light_get_option
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_option.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: light_option
    signature: light_option light_get_option(const light_pcapng pcapng, uint16_t option_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - light_option
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: light_get_option_code
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_option.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t light_get_option_code(const light_option option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - light_option
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: light_get_next_option
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_option.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: light_option
    signature: light_option light_get_next_option(const light_option option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - light_option
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: light_get_option_data
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_option.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *light_get_option_data(const light_option option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - option
    argTypes:
    - light_option
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: light_get_option_length
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_option.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t light_get_option_length(const light_option option)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:40,1
    - Dst: PADD32
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:42,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:46,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:47,1
    - Dst: __copy_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - option
    argTypes:
    - struct _light_option*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: __copy_option
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c
    functionUses: 1
    functionsReached:
    - memcpy
    - calloc
    - PADD32
    - __copy_option
    linkageType: ''
    returnType: struct _light_option
    signature: struct _light_option *__copy_option(const struct _light_option *option)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:61,1
    - Dst: __copy_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:66,1
    - Dst: __get_option_total_size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:67,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:70,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:71,1
    - Dst: __copy_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - pcapng
    - recursive
    argTypes:
    - struct _light_pcapng*
    - light_boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 81
    functionName: __copy_block
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c
    functionUses: 1
    functionsReached:
    - calloc
    - __copy_block
    - __copy_option
    - memcpy
    - __get_option_total_size
    linkageType: ''
    returnType: struct _light_pcapng
    signature: struct _light_pcapng *__copy_block(const struct _light_pcapng *pcapng,
      const light_boolean recursive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PADD32
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - option
    argTypes:
    - struct _light_option*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: __get_option_total_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c
    functionUses: 1
    functionsReached:
    - PADD32
    linkageType: ''
    returnType: size_t
    signature: size_t __get_option_total_size(const struct _light_option *option)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __get_option_size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:105,1
    - Dst: PADD32
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:109,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:111,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:113,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:114,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - option
    - size
    argTypes:
    - struct _light_option*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 122
    functionName: __get_option_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c
    functionUses: 1
    functionsReached:
    - calloc
    - PADD32
    - memcpy
    - __get_option_size
    - free
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *__get_option_size(const struct _light_option *option, size_t
      *size)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - section
    argTypes:
    - struct _light_pcapng*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: __is_section_header
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: light_boolean
    signature: light_boolean __is_section_header(const struct _light_pcapng * section)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __is_section_header
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:140,1
    - Dst: __is_section_header
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:149,1
    - Dst: __validate_section
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - section
    argTypes:
    - struct _light_pcapng*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: __validate_section
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c
    functionUses: 1
    functionsReached:
    - __validate_section
    - __is_section_header
    linkageType: ''
    returnType: int
    signature: int __validate_section(struct _light_pcapng *section)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_cont.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - head
    - memory
    - size
    - is_owner
    argTypes:
    - struct _light_pcapng_mem*
    - uint32_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 57
    functionName: __parse_mem_inplace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_cont.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void __parse_mem_inplace(struct _light_pcapng_mem *head, uint32_t *memory,
      size_t size, int is_owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_cont.c:62,1
    - Dst: __parse_mem_inplace
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_cont.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - memory
    - size
    - is_owner
    argTypes:
    - uint32_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: light_no_copy_from_memory
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_cont.c
    functionUses: 0
    functionsReached:
    - __parse_mem_inplace
    - calloc
    linkageType: ''
    returnType: struct _light_pcapng_mem
    signature: struct _light_pcapng_mem *light_no_copy_from_memory(uint32_t *memory,
      size_t size, int is_owner)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_cont.c:70,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_cont.c:73,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_cont.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - struct _light_pcapng_mem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: light_pcapng_mem_release
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_cont.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void light_pcapng_mem_release(struct _light_pcapng_mem *pcapng)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c:34,1
    - Dst: PADD32
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c:39,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - option_length
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: light_alloc_option
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c
    functionUses: 0
    functionsReached:
    - calloc
    - PADD32
    linkageType: ''
    returnType: light_option
    signature: light_option light_alloc_option(uint16_t option_length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c:49,1
    - Dst: PADD32
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c:55,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c:69,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - block_type
    - block_body
    - block_body_length
    argTypes:
    - uint32_t
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 77
    functionName: light_alloc_block
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    - PADD32
    linkageType: ''
    returnType: light_pcapng
    signature: light_pcapng light_alloc_block(uint32_t block_type, const uint32_t
      *block_body, uint32_t block_body_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c:81,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - option
    argTypes:
    - light_option
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: light_free_option
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void light_free_option(light_option option)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c:87,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: light_free_block
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void light_free_block(light_pcapng pcapng)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: __is_section_header
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_advanced.c:34,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_advanced.c:40,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_advanced.c:43,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_advanced.c:46,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_advanced.c:49,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_advanced.c:52,1
    - Dst: extractor
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_advanced.c:60,1
    - Dst: __is_section_header
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_advanced.c:62,1
    - Dst: extractor
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_advanced.c:63,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - section
    - feature_vector
    - feature_vector_size
    - type
    argTypes:
    - light_pcapng
    - void**
    - size_t
    - light_feature_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 68
    functionName: light_section_feature_extraction
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_advanced.c
    functionUses: 0
    functionsReached:
    - calloc
    - extractor
    - __is_section_header
    linkageType: ''
    returnType: int
    signature: "int light_section_feature_extraction(const light_pcapng section, int
      (*extractor)(const light_pcapng, void *, size_t),\n\t\tvoid **feature_vector,
      const size_t feature_vector_size, const light_feature_t type)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:52,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:57,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:61,1
    - Dst: light_get_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:65,1
    - Dst: light_get_option_length
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:68,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:69,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:70,1
    - Dst: light_get_option_data
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:70,1
    - Dst: light_get_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:79,1
    - Dst: light_get_option_length
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:82,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:83,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:84,1
    - Dst: light_get_option_data
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:84,1
    - Dst: light_get_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:93,1
    - Dst: light_get_option_length
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:96,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:97,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:98,1
    - Dst: light_get_option_data
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:98,1
    - Dst: light_get_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:107,1
    - Dst: light_get_option_length
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:110,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:111,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:112,1
    - Dst: light_get_option_data
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 1
    argNames:
    - pcapng_head
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 124
    functionName: __create_file_info
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 0
    functionsReached:
    - light_get_block_info
    - calloc
    - light_get_option_data
    - memcpy
    - light_get_option
    - light_get_option_length
    linkageType: ''
    returnType: light_pcapng_file_info
    signature: light_pcapng_file_info *__create_file_info(light_pcapng pcapng_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint64_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: int_pow
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t int_pow(uint64_t x, uint8_t y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:149,1
    - Dst: light_get_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:151,1
    - Dst: int_pow
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:154,1
    - Dst: light_get_option_data
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:158,1
    - Dst: int_pow
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:160,1
    - Dst: int_pow
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - interface_block
    - info
    argTypes:
    - light_pcapng
    - light_pcapng_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 167
    functionName: __append_interface_block_to_file_info
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 0
    functionsReached:
    - light_get_block_info
    - light_get_option_data
    - int_pow
    - light_get_option
    linkageType: ''
    returnType: void
    signature: void __append_interface_block_to_file_info(const light_pcapng interface_block,
      light_pcapng_file_info* info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - struct _light_pcapng_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: __is_open_for_write
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: light_boolean
    signature: light_boolean __is_open_for_write(const struct _light_pcapng_t* pcapng)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:187,1
    - Dst: light_open
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:188,1
    - Dst: DCHECK_ASSERT_EXP
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:189,1
    - Dst: light_read_record
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:193,1
    - Dst: __create_file_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:195,1
    - Dst: light_get_pos
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:201,1
    - Dst: light_read_record
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:204,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:206,1
    - Dst: __append_interface_block_to_file_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:208,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:211,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:213,1
    - Dst: light_set_pos
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:217,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - file_path
    - read_all_interfaces
    argTypes:
    - char*
    - light_boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 224
    functionName: light_pcapng_open_read
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 2
    functionsReached:
    - light_get_block_info
    - calloc
    - light_read_record
    - light_pcapng_release
    - DCHECK_ASSERT_EXP
    - light_eof
    - light_get_pos
    - light_open
    - __create_file_info
    - __append_interface_block_to_file_info
    - light_set_pos
    linkageType: ''
    returnType: light_pcapng_t
    signature: light_pcapng_t *light_pcapng_open_read(const char* file_path, light_boolean
      read_all_interfaces)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:231,1
    - Dst: light_open_compression
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:233,1
    - Dst: DCHECK_ASSERT_EXP
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:236,1
    - Dst: light_alloc_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:245,1
    - Dst: light_create_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:249,1
    - Dst: light_add_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:250,1
    - Dst: light_create_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:255,1
    - Dst: light_add_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:256,1
    - Dst: light_create_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:261,1
    - Dst: light_add_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:262,1
    - Dst: light_create_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:267,1
    - Dst: light_add_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:268,1
    - Dst: light_alloc_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:280,1
    - Dst: light_add_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:281,1
    - Dst: light_pcapng_to_file_stream
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:285,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - file_path
    - file_info
    - compression_level
    argTypes:
    - char*
    - light_pcapng_file_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 291
    functionName: light_pcapng_open_write
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 2
    functionsReached:
    - calloc
    - light_create_option
    - DCHECK_ASSERT_EXP
    - light_add_block
    - light_pcapng_release
    - light_alloc_block
    - light_open_compression
    - light_pcapng_to_file_stream
    - light_add_option
    linkageType: ''
    returnType: light_pcapng_t
    signature: light_pcapng_t *light_pcapng_open_write(const char* file_path, light_pcapng_file_info
      *file_info, int compression_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: light_pcapng_open_read
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:297,1
    - Dst: light_close
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:299,1
    - Dst: light_open
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:301,1
    - Dst: DCHECK_NULLP
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:302,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - file_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 308
    functionName: light_pcapng_open_append
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 2
    functionsReached:
    - DCHECK_NULLP
    - light_pcapng_release
    - light_pcapng_open_read
    - light_open
    - light_close
    linkageType: ''
    returnType: light_pcapng_t
    signature: light_pcapng_t *light_pcapng_open_append(const char* file_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:312,1
    - Dst: memset
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: light_create_default_file_info
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 2
    functionsReached:
    - memset
    - calloc
    linkageType: ''
    returnType: light_pcapng_file_info
    signature: light_pcapng_file_info *light_create_default_file_info()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: light_create_default_file_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:320,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:322,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:324,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:325,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:326,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:330,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:332,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:333,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:334,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:338,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:340,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:341,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:342,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:346,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:348,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:349,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:350,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - os_desc
    - hardware_desc
    - user_app_desc
    - file_comment
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 355
    functionName: light_create_file_info
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 2
    functionsReached:
    - memcpy
    - calloc
    - light_create_default_file_info
    - strlen
    linkageType: ''
    returnType: light_pcapng_file_info
    signature: light_pcapng_file_info *light_create_file_info(const char *os_desc,
      const char *hardware_desc, const char *user_app_desc, const char *file_comment)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:360,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:363,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:366,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:369,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - info
    argTypes:
    - light_pcapng_file_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 372
    functionName: light_free_file_info
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void light_free_file_info(light_pcapng_file_info *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: light_pcang_get_file_info
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: light_pcapng_file_info
    signature: light_pcapng_file_info *light_pcang_get_file_info(light_pcapng_t *pcapng)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: light_read_record
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:384,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:390,1
    - Dst: __append_interface_block_to_file_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:395,1
    - Dst: light_read_record
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:397,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:400,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:412,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:455,1
    - Dst: light_get_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:471,1
    - Dst: light_get_option_length
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:474,1
    - Dst: light_get_option_data
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:475,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 3
    argNames:
    - pcapng
    - packet_header
    - packet_data
    argTypes:
    - light_pcapng_t*
    - light_packet_header*
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 479
    functionName: light_get_next_packet
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 2
    functionsReached:
    - light_get_block_info
    - light_read_record
    - light_get_option_data
    - light_get_option
    - light_get_option_length
    - __append_interface_block_to_file_info
    linkageType: ''
    returnType: int
    signature: int light_get_next_packet(light_pcapng_t *pcapng, light_packet_header
      *packet_header, const uint8_t **packet_data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_NULLP
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:485,1
    - Dst: DCHECK_NULLP
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:486,1
    - Dst: DCHECK_NULLP
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:487,1
    - Dst: DCHECK_ASSERT_EXP
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:488,1
    - Dst: __is_open_for_write
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:488,1
    - Dst: light_alloc_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:509,1
    - Dst: light_create_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:513,1
    - Dst: light_add_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:514,1
    - Dst: __append_interface_block_to_file_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:517,1
    - Dst: PADD32
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:521,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:522,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:541,1
    - Dst: light_alloc_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:543,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:544,1
    - Dst: light_create_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:548,1
    - Dst: light_add_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:549,1
    - Dst: light_add_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:555,1
    - Dst: light_pcapng_to_file_stream
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:557,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:559,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - pcapng
    - packet_header
    - packet_data
    argTypes:
    - light_pcapng_t*
    - light_packet_header*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 560
    functionName: light_write_packet
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 2
    functionsReached:
    - DCHECK_NULLP
    - calloc
    - light_create_option
    - DCHECK_ASSERT_EXP
    - light_add_block
    - light_pcapng_release
    - light_alloc_block
    - PADD32
    - memcpy
    - free
    - light_add_option
    - __append_interface_block_to_file_info
    - __is_open_for_write
    - light_pcapng_to_file_stream
    linkageType: ''
    returnType: void
    signature: void light_write_packet(light_pcapng_t *pcapng, const light_packet_header
      *packet_header, const uint8_t *packet_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_NULLP
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:564,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:566,1
    - Dst: light_flush
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:570,1
    - Dst: light_close
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:571,1
    - Dst: light_free_file_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:574,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 576
    functionName: light_pcapng_close
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 4
    functionsReached:
    - DCHECK_NULLP
    - light_flush
    - light_pcapng_release
    - free
    - light_close
    - light_free_file_info
    linkageType: ''
    returnType: void
    signature: void light_pcapng_close(light_pcapng_t *pcapng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: light_flush
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: light_pcapng_flush
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    functionUses: 2
    functionsReached:
    - light_flush
    linkageType: ''
    returnType: void
    signature: void light_pcapng_flush(light_pcapng_t *pcapng)
  - 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: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: max
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:52,1
    - Dst: ZSTD_createCCtx
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:53,1
    - Dst: max
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:57,1
    - Dst: ZSTD_CStreamOutSize
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:57,1
    - Dst: malloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:58,1
    - Dst: malloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:59,1
    - Dst: ZSTD_CCtx_setParameter
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:64,1
    - Dst: assert
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:65,1
    - Dst: ZSTD_isError
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - compression_level
    argTypes:
    - int
    assertStmts:
    - condition: (!ZSTD_isError(set_param_result))
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: get_zstd_compression_context
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c
    functionUses: 0
    functionsReached:
    - max
    - ZSTD_createCCtx
    - calloc
    - assert
    - ZSTD_CCtx_setParameter
    - ZSTD_isError
    - ZSTD_CStreamOutSize
    - malloc
    linkageType: ''
    returnType: _compression_t
    signature: _compression_t * get_zstd_compression_context(int compression_level)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_freeCCtx
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:77,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:79,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - context
    argTypes:
    - _compression_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: free_zstd_compression_context
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c
    functionUses: 0
    functionsReached:
    - free
    - ZSTD_freeCCtx
    linkageType: ''
    returnType: void
    signature: void free_zstd_compression_context(_compression_t* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:86,1
    - Dst: ZSTD_createDCtx
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:87,1
    - Dst: ZSTD_DStreamInSize
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:89,1
    - Dst: max
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:91,1
    - Dst: ZSTD_DStreamOutSize
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:91,1
    - Dst: malloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:92,1
    - Dst: malloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: get_zstd_decompression_context
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c
    functionUses: 0
    functionsReached:
    - max
    - calloc
    - ZSTD_DStreamInSize
    - ZSTD_DStreamOutSize
    - malloc
    - ZSTD_createDCtx
    linkageType: ''
    returnType: _decompression_t
    signature: _decompression_t * get_zstd_decompression_context()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_freeDCtx
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:109,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:111,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - context
    argTypes:
    - _decompression_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: free_zstd_decompression_context
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c
    functionUses: 0
    functionsReached:
    - free
    - ZSTD_freeDCtx
    linkageType: ''
    returnType: void
    signature: void free_zstd_decompression_context(_decompression_t* context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - file_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: is_zstd_compressed_file
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c
    functionUses: 0
    functionsReached:
    - strstr
    linkageType: ''
    returnType: int
    signature: int is_zstd_compressed_file(const char* file_path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:148,1
    - Dst: feof
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:149,1
    - Dst: ZSTD_decompressStream
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:160,1
    - Dst: assert
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:161,1
    - Dst: ZSTD_isError
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:161,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:176,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - light_file
    - void*
    - size_t
    assertStmts:
    - condition: (!ZSTD_isError(remaining))
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c
    constantsTouched: []
    func_position:
      end: 197
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 197
    functionName: read_zstd_compressed
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c
    functionUses: 0
    functionsReached:
    - assert
    - ZSTD_isError
    - ZSTD_decompressStream
    - memcpy
    - fread
    - feof
    linkageType: ''
    returnType: size_t
    signature: size_t read_zstd_compressed(light_file fd, void *buf, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_compressStream2
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:214,1
    - Dst: assert
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:215,1
    - Dst: ZSTD_isError
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:215,1
    - Dst: fwrite
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - light_file
    - void*
    - size_t
    assertStmts:
    - condition: (!ZSTD_isError(remaining))
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c
    constantsTouched: []
    func_position:
      end: 224
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 224
    functionName: write_zstd_compressed
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c
    functionUses: 0
    functionsReached:
    - ZSTD_compressStream2
    - ZSTD_isError
    - fwrite
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t write_zstd_compressed(light_file fd, const void *buf, size_t
      count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_compressStream2
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:238,1
    - Dst: fwrite
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - fd
    argTypes:
    - light_file
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 246
    functionName: close_zstd_compressed
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c
    functionUses: 0
    functionsReached:
    - ZSTD_compressStream2
    - fwrite
    linkageType: ''
    returnType: int
    signature: int close_zstd_compressed(light_file fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:42,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:55,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:67,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:70,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:71,1
    - Dst: DCHECK_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:79,1
    - Dst: DCHECK_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:80,1
    - Dst: __parse_options
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - memory
    - max_len
    argTypes:
    - uint32_t**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 93
    functionName: __parse_options
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 1
    functionsReached:
    - calloc
    - __parse_options
    - DCHECK_ASSERT
    - memcpy
    - free
    linkageType: ''
    returnType: struct _light_option
    signature: struct _light_option *__parse_options(uint32_t **memory, const int32_t
      max_len)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DPRINT_HERE
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:107,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:108,1
    - Dst: __parse_options
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:123,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:125,1
    - Dst: DPRINT_HERE
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:132,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:133,1
    - Dst: __parse_options
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:143,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:145,1
    - Dst: DPRINT_HERE
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:152,1
    - Dst: PADD32
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:176,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:178,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:185,1
    - Dst: __parse_options
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:189,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:191,1
    - Dst: DPRINT_HERE
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:198,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:203,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:206,1
    - Dst: DPRINT_HERE
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:215,1
    - Dst: PADD32
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:237,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:238,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:243,1
    - Dst: __parse_options
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:247,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:249,1
    - Dst: DPRINT_HERE
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:256,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:260,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:261,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 99
    argCount: 3
    argNames:
    - current
    - local_data
    - block_start
    argTypes:
    - struct _light_pcapng*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 271
    functionName: parse_by_block_type
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 0
    functionsReached:
    - calloc
    - __parse_options
    - DPRINT_HERE
    - PADD32
    - memcpy
    linkageType: ''
    returnType: void
    signature: void parse_by_block_type(struct _light_pcapng *current, const uint32_t
      *local_data, const uint32_t *block_start)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_INT
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:289,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:302,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:310,1
    - Dst: DCHECK_NULLP
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:311,1
    - Dst: parse_by_block_type
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:319,1
    - Dst: DCHECK_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - iter
    - memory
    - size
    argTypes:
    - struct _light_pcapng**
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 332
    functionName: __parse_mem_copy
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 0
    functionsReached:
    - DCHECK_NULLP
    - calloc
    - DCHECK_ASSERT
    - parse_by_block_type
    - DCHECK_INT
    linkageType: ''
    returnType: size_t
    signature: size_t __parse_mem_copy(struct _light_pcapng **iter, const uint32_t
      *memory, const size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:358,1
    - Dst: light_read
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:366,1
    - Dst: feof
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:367,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:374,1
    - Dst: DCHECK_NULLP
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:375,1
    - Dst: light_read
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:381,1
    - Dst: feof
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:382,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:384,1
    - Dst: assert
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:390,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:394,1
    - Dst: light_read
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:395,1
    - Dst: feof
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:396,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:398,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:399,1
    - Dst: light_read
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:405,1
    - Dst: feof
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:407,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:409,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:410,1
    - Dst: parse_by_block_type
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:417,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:419,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - fd
    - record
    argTypes:
    - light_file
    - light_pcapng*
    assertStmts:
    - condition: ((current->block_total_length % 4) == 0)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    constantsTouched: []
    func_position:
      end: 423
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 423
    functionName: light_read_record
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 2
    functionsReached:
    - DCHECK_NULLP
    - calloc
    - light_pcapng_release
    - assert
    - parse_by_block_type
    - light_read
    - free
    - feof
    linkageType: ''
    returnType: void
    signature: void light_read_record(light_file fd, light_pcapng *record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __parse_mem_copy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - memory
    - size
    argTypes:
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 4
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: light_read_from_memory
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 0
    functionsReached:
    - __parse_mem_copy
    linkageType: ''
    returnType: light_pcapng
    signature: light_pcapng light_read_from_memory(const uint32_t *memory, size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __free_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:437,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:440,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - option
    argTypes:
    - struct _light_option*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: __free_option
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 1
    functionsReached:
    - free
    - __free_option
    linkageType: ''
    returnType: void
    signature: void __free_option(struct _light_option *option)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: light_get_block_count
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:447,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:448,1
    - Dst: __free_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:461,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:462,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:463,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 467
    functionName: light_pcapng_release
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 6
    functionsReached:
    - free
    - calloc
    - __free_option
    - light_get_block_count
    linkageType: ''
    returnType: void
    signature: void light_pcapng_release(light_pcapng pcapng)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __option_count
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - option
    argTypes:
    - struct _light_option*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 475
    functionName: __option_count
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 1
    functionsReached:
    - __option_count
    linkageType: ''
    returnType: int
    signature: int __option_count(struct _light_option *option)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: light_get_block_count
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:483,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:485,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:490,1
    - Dst: sprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:492,1
    - Dst: __option_count
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:493,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:495,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:495,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:496,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 502
    functionName: light_pcapng_to_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 0
    functionsReached:
    - calloc
    - __option_count
    - sprintf
    - memcpy
    - strlen
    - free
    - light_get_block_count
    linkageType: ''
    returnType: char
    signature: char *light_pcapng_to_string(light_pcapng pcapng)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: light_get_size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:515,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:516,1
    - Dst: __get_option_size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:524,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:529,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:530,1
    - Dst: DCHECK_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:533,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - pcapng
    - size
    argTypes:
    - light_pcapng
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 543
    functionName: light_pcapng_to_memory
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 0
    functionsReached:
    - calloc
    - light_get_size
    - DCHECK_ASSERT
    - memcpy
    - __get_option_size
    - free
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t *light_pcapng_to_memory(const light_pcapng pcapng, size_t
      *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:558,1
    - Dst: DCHECK_NULLP
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:561,1
    - Dst: __get_option_size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:564,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:569,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:570,1
    - Dst: DCHECK_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:573,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:575,1
    - Dst: light_write
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:577,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - pcapng
    - file
    argTypes:
    - light_pcapng
    - light_file
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 584
    functionName: light_pcapng_to_file_stream
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 2
    functionsReached:
    - DCHECK_NULLP
    - DCHECK_ASSERT
    - light_write
    - memcpy
    - __get_option_size
    - free
    - realloc
    linkageType: ''
    returnType: size_t
    signature: size_t light_pcapng_to_file_stream(const light_pcapng pcapng, light_file
      file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:595,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:596,1
    - Dst: light_pcapng_to_memory
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:603,1
    - Dst: memcmp
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:604,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:606,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:607,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - p0
    - p1
    argTypes:
    - light_pcapng
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 586
    functionDepth: 3
    functionLinenumber: 586
    functionLinenumberEnd: 620
    functionName: light_pcapng_validate
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 0
    functionsReached:
    - fprintf
    - memcmp
    - free
    - light_pcapng_to_memory
    linkageType: ''
    returnType: int
    signature: int light_pcapng_validate(light_pcapng p0, uint32_t *p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 633
    functionName: light_get_block_count
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t light_get_block_count(const light_pcapng pcapng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pcapng
    - index
    argTypes:
    - light_pcapng
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 644
    functionName: light_get_block
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: light_pcapng
    signature: light_pcapng light_get_block(const light_pcapng pcapng, uint32_t index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: key_master
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:657,1
    - Dst: realloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:669,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - pcapng
    - hist
    - size
    - rejected
    argTypes:
    - light_pcapng
    - light_pair**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 685
    functionName: light_pcapng_historgram
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 0
    functionsReached:
    - realloc
    - key_master
    linkageType: ''
    returnType: void
    signature: "void light_pcapng_historgram(const light_pcapng pcapng, uint32_t (*key_master)(const
      light_pcapng),\n      light_pair **hist, size_t *size, size_t *rejected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 698
    functionName: light_get_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t light_get_size(const light_pcapng pcapng)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stop_fn
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pcapng
    - args
    argTypes:
    - light_pcapng
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 714
    functionName: light_iterate
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 0
    functionsReached:
    - stop_fn
    linkageType: ''
    returnType: int
    signature: int light_iterate(const light_pcapng pcapng, light_boolean (*stop_fn)(const
      light_pcapng, void *), void *args)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - pcapng
    - info_flag
    - info_data
    - data_size
    argTypes:
    - light_pcapng
    - light_info
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 764
    functionName: light_get_block_info
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int light_get_block_info(const light_pcapng pcapng, light_info info_flag,
      void *info_data, size_t *data_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: LIGHT_HTONS
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIGHT_HTONS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: LIGHT_NTOHS
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIGHT_NTOHS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: LIGHT_HTONL
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIGHT_HTONL(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: LIGHT_NTOHL
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIGHT_NTOHL(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: LIGHT_HTONS
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIGHT_HTONS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: LIGHT_NTOHS
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIGHT_NTOHS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: LIGHT_HTONL
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIGHT_HTONL(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: LIGHT_NTOHL
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIGHT_NTOHL(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:63,1
    - Dst: PADD32
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:65,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:69,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - option_code
    - option_length
    - option_value
    argTypes:
    - uint16_t
    - uint16_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: light_create_option
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 2
    functionsReached:
    - memcpy
    - calloc
    - PADD32
    linkageType: ''
    returnType: light_option
    signature: light_option light_create_option(const uint16_t option_code, const
      uint16_t option_length, void *option_value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: __copy_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:85,1
    - Dst: __get_option_total_size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:91,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:101,1
    - Dst: __is_section_header
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:119,1
    - Dst: PCAPNG_WARNING
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - section
    - pcapng
    - option
    - copy
    argTypes:
    - light_pcapng
    - light_pcapng
    - light_option
    - light_boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 128
    functionName: light_add_option
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 2
    functionsReached:
    - calloc
    - __copy_option
    - __get_option_total_size
    - __is_section_header
    - PCAPNG_WARNING
    linkageType: ''
    returnType: int
    signature: int light_add_option(light_pcapng section, light_pcapng pcapng, light_option
      option, light_boolean copy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: light_add_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:143,1
    - Dst: PADD32
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:147,1
    - Dst: PADD32
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:148,1
    - Dst: __is_section_header
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:153,1
    - Dst: PCAPNG_WARNING
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:158,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:162,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:163,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - section
    - pcapng
    - option
    argTypes:
    - light_pcapng
    - light_pcapng
    - light_option
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 169
    functionName: light_update_option
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached:
    - calloc
    - PADD32
    - free
    - memcpy
    - __is_section_header
    - PCAPNG_WARNING
    - light_add_option
    linkageType: ''
    returnType: int
    signature: int light_update_option(light_pcapng section, light_pcapng pcapng,
      light_option option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - block
    - next_block
    argTypes:
    - light_pcapng
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: light_add_block
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int light_add_block(light_pcapng block, light_pcapng next_block)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __is_section_header
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:179,1
    - Dst: PCAPNG_ERROR
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:180,1
    - Dst: __copy_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:185,1
    - Dst: predicate
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:191,1
    - Dst: __copy_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:192,1
    - Dst: __validate_section
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - section
    - subcapture
    argTypes:
    - light_pcapng
    - light_pcapng*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 201
    functionName: light_subcapture
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached:
    - __copy_block
    - predicate
    - PCAPNG_ERROR
    - __is_section_header
    - __validate_section
    linkageType: ''
    returnType: int
    signature: int light_subcapture(const light_pcapng section, light_boolean (*predicate)(const
      light_pcapng), light_pcapng *subcapture)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - payload
    - address
    argTypes:
    - uint8_t*
    - flow_address_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 241
    functionName: __extract_ipv4_address
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void __extract_ipv4_address(const uint8_t *payload, flow_address_t
      *address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIGHT_NTOHS
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:249,1
    - Dst: LIGHT_NTOHS
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - payload
    - address
    argTypes:
    - uint8_t*
    - flow_address_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: __extract_ipv6_address
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached:
    - LIGHT_NTOHS
    linkageType: ''
    returnType: void
    signature: void __extract_ipv6_address(const uint8_t *payload, flow_address_t
      *address)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LIGHT_NTOHS
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:260,1
    - Dst: __extract_ipv4_address
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:281,1
    - Dst: __extract_ipv6_address
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - payload
    - address
    - protocol_version
    argTypes:
    - uint8_t*
    - flow_address_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 293
    functionName: __get_ip_address
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached:
    - __extract_ipv6_address
    - LIGHT_NTOHS
    - __extract_ipv4_address
    linkageType: ''
    returnType: light_boolean
    signature: light_boolean __get_ip_address(const uint8_t *payload, flow_address_t
      *address, uint8_t *protocol_version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __get_ip_address
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:302,1
    - Dst: __get_ip_address
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pcapng
    - address
    - protocol_version
    argTypes:
    - light_pcapng
    - flow_address_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 311
    functionName: __get_address
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached:
    - __get_ip_address
    linkageType: ''
    returnType: light_boolean
    signature: light_boolean __get_address(const light_pcapng pcapng, flow_address_t
      *address, uint8_t *protocol_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:315,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:318,1
    - Dst: __copy_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:319,1
    - Dst: __copy_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - section
    - interface
    - key
    - protocol_version
    argTypes:
    - light_pcapng
    - light_pcapng
    - flow_address_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 326
    functionName: __create_flow
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached:
    - memcpy
    - calloc
    - __copy_block
    linkageType: ''
    returnType: flow_information_t
    signature: flow_information_t *__create_flow(const light_pcapng section, const
      light_pcapng interface, const flow_address_t *key, const uint8_t protocol_version)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - start
    - key
    - protocol_version
    argTypes:
    - flow_information_t*
    - flow_address_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 347
    functionName: __find_flow
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: flow_information_t
    signature: flow_information_t *__find_flow(flow_information_t *start, const flow_address_t
      *key, const uint8_t protocol_version)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: light_alloc_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:363,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:367,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:370,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:372,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:375,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:377,1
    - Dst: light_add_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - section
    - info
    argTypes:
    - light_pcapng
    - flow_information_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 380
    functionName: __append_address_information
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached:
    - light_alloc_option
    - light_add_option
    - memcpy
    linkageType: ''
    returnType: void
    signature: void __append_address_information(light_pcapng section, const flow_information_t
      *info)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: light_get_block_count
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:386,1
    - Dst: __is_section_header
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:389,1
    - Dst: PCAPNG_ERROR
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:390,1
    - Dst: realloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:414,1
    - Dst: __get_address
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:423,1
    - Dst: __create_flow
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:430,1
    - Dst: __create_flow
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:434,1
    - Dst: __find_flow
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:441,1
    - Dst: __create_flow
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:446,1
    - Dst: __create_flow
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:450,1
    - Dst: __copy_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:458,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:469,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:483,1
    - Dst: __validate_section
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:489,1
    - Dst: __append_address_information
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:490,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:498,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c:501,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 78
    argCount: 4
    argNames:
    - sectionp
    - flows
    - flow_count
    - dropped
    argTypes:
    - light_pcapng*
    - light_pcapng**
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 382
    functionDepth: 4
    functionLinenumber: 382
    functionLinenumberEnd: 504
    functionName: light_ip_flow
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    functionUses: 0
    functionsReached:
    - calloc
    - __get_address
    - __copy_block
    - __append_address_information
    - PCAPNG_ERROR
    - __validate_section
    - printf
    - free
    - __is_section_header
    - __create_flow
    - realloc
    - __find_flow
    - light_get_block_count
    linkageType: ''
    returnType: int
    signature: int light_ip_flow(light_pcapng *sectionp, light_pcapng **flows, size_t
      *flow_count, size_t *dropped)
  - 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: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: max
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max(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: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: min
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(a,b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:44,1
    - Dst: light_get_decompression_context
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:46,1
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - file_name
    - mode
    argTypes:
    - char*
    - __read_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: light_open_decompression
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
    functionUses: 0
    functionsReached:
    - light_get_decompression_context
    - calloc
    - fopen
    linkageType: ''
    returnType: light_file
    signature: light_file light_open_decompression(const char *file_name, const __read_mode_t
      mode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:70,1
    - Dst: light_is_compressed_file
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:78,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:80,1
    - Dst: light_open_decompression
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:81,1
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:83,1
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:87,1
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - file_name
    - mode
    argTypes:
    - char*
    - __read_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 102
    functionName: light_open
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
    functionUses: 2
    functionsReached:
    - calloc
    - fopen
    - light_open_decompression
    - light_is_compressed_file
    - free
    linkageType: ''
    returnType: light_file
    signature: light_file light_open(const char *file_name, const __read_mode_t mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:106,1
    - Dst: assert
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:109,1
    - Dst: max
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:110,1
    - Dst: min
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:111,1
    - Dst: light_get_compression_context
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:113,1
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - file_name
    - mode
    - compression_level
    argTypes:
    - char*
    - __read_mode_t
    - int
    assertStmts:
    - condition: (0 <= compression_level && 10 >= compression_level)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
    constantsTouched: []
    func_position:
      end: 137
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 137
    functionName: light_open_compression
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
    functionUses: 1
    functionsReached:
    - max
    - calloc
    - assert
    - fopen
    - light_get_compression_context
    - min
    linkageType: ''
    returnType: light_file
    signature: light_file light_open_compression(const char *file_name, const __read_mode_t
      mode, int compression_level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:145,1
    - Dst: light_read_compressed
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - light_file
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: light_read
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
    functionUses: 1
    functionsReached:
    - light_read_compressed
    - fread
    linkageType: ''
    returnType: size_t
    signature: size_t light_read(light_file fd, void *buf, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:158,1
    - Dst: light_write_compressed
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - light_file
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: light_write
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
    functionUses: 1
    functionsReached:
    - fwrite
    - light_write_compressed
    linkageType: ''
    returnType: size_t
    signature: size_t light_write(light_file fd, const void *buf, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:170,1
    - Dst: fseek
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:172,1
    - Dst: ftell
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:173,1
    - Dst: fseek
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - light_file
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: light_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
    functionUses: 0
    functionsReached:
    - fseek
    - ftell
    linkageType: ''
    returnType: size_t
    signature: size_t light_size(light_file fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: light_close_compressed
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:181,1
    - Dst: fclose
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:182,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - light_file
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 187
    functionName: light_close
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
    functionUses: 2
    functionsReached:
    - free
    - fclose
    - light_close_compressed
    linkageType: ''
    returnType: int
    signature: int light_close(light_file fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - light_file
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: light_flush
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
    functionUses: 2
    functionsReached:
    - fflush
    linkageType: ''
    returnType: int
    signature: int light_flush(light_file fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - light_file
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: light_eof
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
    functionUses: 1
    functionsReached:
    - feof
    linkageType: ''
    returnType: int
    signature: int light_eof(light_file fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - light_file
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: light_get_pos
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
    functionUses: 1
    functionsReached:
    - ftell
    linkageType: ''
    returnType: light_file_pos_t
    signature: light_file_pos_t light_get_pos(light_file fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - pos
    argTypes:
    - light_file
    - light_file_pos_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: light_set_pos
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
    functionUses: 1
    functionsReached:
    - fseek
    linkageType: ''
    returnType: light_file_pos_t
    signature: light_file_pos_t light_set_pos(light_file fd, light_file_pos_t pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: light_open
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:37,1
    - Dst: DCHECK_ASSERT_EXP
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:38,1
    - Dst: light_size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:40,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:43,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:45,1
    - Dst: light_close
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:46,1
    - Dst: light_read
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:51,1
    - Dst: light_read_from_memory
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:53,1
    - Dst: light_close
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:55,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 59
    functionName: light_read_from_path
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c
    functionUses: 0
    functionsReached:
    - light_read_from_memory
    - calloc
    - DCHECK_ASSERT_EXP
    - fprintf
    - light_read
    - light_size
    - light_open
    - free
    - light_close
    linkageType: ''
    returnType: light_pcapng
    signature: light_pcapng light_read_from_path(const char *file_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: light_open
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:63,1
    - Dst: light_pcapng_to_file_stream
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:67,1
    - Dst: light_close
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - file_name
    - pcapng
    argTypes:
    - char*
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: light_pcapng_to_file
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c
    functionUses: 0
    functionsReached:
    - light_pcapng_to_file_stream
    - light_close
    - light_open
    linkageType: ''
    returnType: int
    signature: int light_pcapng_to_file(const char *file_name, const light_pcapng
      pcapng)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: light_open_compression
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:75,1
    - Dst: light_pcapng_to_file_stream
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:80,1
    - Dst: light_close
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - file_name
    - pcapng
    - compression_level
    argTypes:
    - char*
    - light_pcapng
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: light_pcapng_to_compressed_file
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c
    functionUses: 0
    functionsReached:
    - light_pcapng_to_file_stream
    - light_close
    - light_open_compression
    linkageType: ''
    returnType: int
    signature: int light_pcapng_to_compressed_file(const char *file_name, const light_pcapng
      pcapng, int compression_level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:90,1
    - Dst: light_open
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:91,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: light_open_stream
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - light_open
    linkageType: ''
    returnType: light_pcapng_stream
    signature: light_pcapng_stream light_open_stream(const char *file_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:113,1
    - Dst: light_read
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:118,1
    - Dst: light_read
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:119,1
    - Dst: malloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:124,1
    - Dst: light_read
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:134,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:135,1
    - Dst: light_read_from_memory
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:140,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng_stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 102
    functionDepth: 5
    functionLinenumber: 102
    functionLinenumberEnd: 144
    functionName: light_read_stream
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c
    functionUses: 0
    functionsReached:
    - light_read_from_memory
    - light_pcapng_release
    - light_read
    - free
    - malloc
    linkageType: ''
    returnType: light_pcapng
    signature: light_pcapng light_read_stream(light_pcapng_stream pcapng)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:153,1
    - Dst: light_close
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:157,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng_stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 162
    functionName: light_close_stream
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c
    functionUses: 0
    functionsReached:
    - free
    - light_close
    - light_pcapng_release
    linkageType: ''
    returnType: int
    signature: int light_close_stream(light_pcapng_stream pcapng)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_compression_context_ptr
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - compression_level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: light_get_compression_context
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c
    functionUses: 1
    functionsReached:
    - get_compression_context_ptr
    linkageType: ''
    returnType: _compression_t
    signature: _compression_t * light_get_compression_context(int compression_level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_compression_context_ptr
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c:51,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - _compression_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: light_free_compression_context
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c
    functionUses: 0
    functionsReached:
    - free
    - free_compression_context_ptr
    linkageType: ''
    returnType: void
    signature: void light_free_compression_context(_compression_t* context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_decompression_context_ptr
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: light_get_decompression_context
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c
    functionUses: 1
    functionsReached:
    - get_decompression_context_ptr
    linkageType: ''
    returnType: _decompression_t
    signature: _decompression_t * light_get_decompression_context()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_decompression_context_ptr
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c:70,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - _decompression_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: light_free_decompression_context
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c
    functionUses: 0
    functionsReached:
    - free
    - free_decompression_context_ptr
    linkageType: ''
    returnType: void
    signature: void light_free_decompression_context(_decompression_t* context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_compressed_file
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - file_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: light_is_compressed_file
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c
    functionUses: 1
    functionsReached:
    - is_compressed_file
    linkageType: ''
    returnType: int
    signature: int light_is_compressed_file(const char* file_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_compressed
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - light_file
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: light_read_compressed
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c
    functionUses: 1
    functionsReached:
    - read_compressed
    linkageType: ''
    returnType: size_t
    signature: size_t light_read_compressed(light_file fd, void *buf, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_compressed
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - light_file
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: light_write_compressed
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c
    functionUses: 1
    functionsReached:
    - write_compressed
    linkageType: ''
    returnType: size_t
    signature: size_t light_write_compressed(light_file fd, const void *buf, size_t
      count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close_compressed
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c:102,1
    - Dst: light_free_compression_context
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c:104,1
    - Dst: light_free_decompression_context
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - light_file
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: light_close_compressed
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c
    functionUses: 1
    functionsReached:
    - light_free_compression_context
    - light_free_decompression_context
    - close_compressed
    linkageType: ''
    returnType: int
    signature: int light_close_compressed(light_file fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:38,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - idb
    argTypes:
    - struct _light_interface_description_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: print_interface
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_interface(const struct _light_interface_description_block
      *idb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:44,1
    - Dst: ntohs
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:45,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - packet_data
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: __handle_tcp
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c
    functionUses: 0
    functionsReached:
    - printf
    - ntohs
    linkageType: ''
    returnType: void
    signature: void __handle_tcp(uint8_t *packet_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:51,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:55,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:57,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:59,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:61,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:63,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:65,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:67,1
    - Dst: __handle_tcp
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - packet_data
    - header_len
    argTypes:
    - uint8_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: __handle_ipv4
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c
    functionUses: 0
    functionsReached:
    - __handle_tcp
    - printf
    - ntohs
    linkageType: ''
    returnType: void
    signature: void __handle_ipv4(uint8_t *packet_data, uint8_t header_len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:87,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:88,1
    - Dst: print_interface
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:92,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:102,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:105,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:107,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:109,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:112,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:114,1
    - Dst: ntohs
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:116,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:130,1
    - Dst: __handle_ipv4
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:138,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:143,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 3
    argNames:
    - packet
    - data
    - feature_count
    argTypes:
    - light_pcapng
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 148
    functionName: extractor
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c
    functionUses: 1
    functionsReached:
    - light_get_block_info
    - printf
    - ntohs
    - print_interface
    - __handle_ipv4
    linkageType: ''
    returnType: int
    signature: int extractor(const light_pcapng packet, void *data, size_t feature_count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: light_read_from_path
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:155,1
    - Dst: light_section_feature_extraction
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:158,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:161,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:167,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:168,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - args
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 150
    functionDepth: 6
    functionLinenumber: 150
    functionLinenumberEnd: 176
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c
    functionUses: 0
    functionsReached:
    - light_pcapng_release
    - fprintf
    - light_read_from_path
    - light_section_feature_extraction
    - free
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: light_read_from_path
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read.c:34,1
    - Dst: light_pcapng_to_string
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read.c:36,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read.c:37,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read.c:38,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read.c:39,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - args
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 6
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read.c
    functionUses: 0
    functionsReached:
    - light_pcapng_release
    - fprintf
    - light_read_from_path
    - printf
    - light_pcapng_to_string
    - free
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: light_read_from_path
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:40,1
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:42,1
    - Dst: light_pcapng_to_memory
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:44,1
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:46,1
    - Dst: stat
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:50,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:52,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:55,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:57,1
    - Dst: fread
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:58,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:59,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:60,1
    - Dst: memcmp
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:64,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:67,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:70,1
    - Dst: fwrite
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:73,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:75,1
    - Dst: fclose
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:77,1
    - Dst: fclose
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:78,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:79,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:80,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - args
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 35
    functionDepth: 6
    functionLinenumber: 35
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c
    functionUses: 0
    functionsReached:
    - calloc
    - fwrite
    - light_pcapng_release
    - fopen
    - fprintf
    - light_read_from_path
    - fclose
    - memcmp
    - printf
    - stat
    - fread
    - light_pcapng_to_memory
    - free
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:13,1
    - Dst: light_open_stream
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:14,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:18,1
    - Dst: light_read_stream
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:24,1
    - Dst: light_close_stream
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:28,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 10
    functionDepth: 6
    functionLinenumber: 10
    functionLinenumberEnd: 33
    functionName: test_split_count
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c
    functionUses: 0
    functionsReached:
    - light_close_stream
    - fprintf
    - access
    - light_read_stream
    - printf
    - light_open_stream
    linkageType: ''
    returnType: void
    signature: void test_split_count(int argc, char *const *argv)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:38,1
    - Dst: strdup
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:49,1
    - Dst: strrchr
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:50,1
    - Dst: light_open_stream
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:53,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:55,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:56,1
    - Dst: sprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:60,1
    - Dst: open
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:61,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:64,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:65,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:66,1
    - Dst: light_close_stream
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:67,1
    - Dst: light_pcapng_to_memory
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:74,1
    - Dst: light_read_stream
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:74,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:85,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:89,1
    - Dst: realloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:98,1
    - Dst: write
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:109,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:110,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:114,1
    - Dst: close
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:120,1
    - Dst: sprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:123,1
    - Dst: open
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:124,1
    - Dst: write
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:125,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:126,1
    - Dst: write
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:130,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:131,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:138,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:139,1
    - Dst: close
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:141,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:145,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:147,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:148,1
    - Dst: light_close_stream
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:150,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 2
    argNames:
    - n
    - file
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 35
    functionDepth: 6
    functionLinenumber: 35
    functionLinenumberEnd: 151
    functionName: test_split_trace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c
    functionUses: 0
    functionsReached:
    - light_close_stream
    - calloc
    - write
    - close
    - strrchr
    - sprintf
    - open
    - fprintf
    - light_read_stream
    - printf
    - light_open_stream
    - strdup
    - light_pcapng_to_memory
    - free
    - realloc
    linkageType: ''
    returnType: void
    signature: void test_split_trace(int n, const char *file)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:161,1
    - Dst: atoi
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:164,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:165,1
    - Dst: test_split_count
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:174,1
    - Dst: exit
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:177,1
    - Dst: access
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:184,1
    - Dst: test_split_trace
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c:185,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 153
    functionDepth: 7
    functionLinenumber: 153
    functionLinenumberEnd: 191
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c
    functionUses: 0
    functionsReached:
    - exit
    - access
    - printf
    - atoi
    - test_split_count
    - test_split_trace
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * const argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_histogram.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: key_master
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_histogram.c
    functionUses: 1
    functionsReached:
    - light_get_block_info
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t key_master(const light_pcapng pcapng)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: light_read_from_path
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_histogram.c:41,1
    - Dst: light_pcapng_historgram
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_histogram.c:47,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_histogram.c:49,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_histogram.c:51,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_histogram.c:53,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_histogram.c:55,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_histogram.c:56,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_histogram.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - args
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 6
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_histogram.c
    functionUses: 0
    functionsReached:
    - light_pcapng_release
    - fprintf
    - light_read_from_path
    - printf
    - light_pcapng_historgram
    - free
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:45,1
    - Dst: stat
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:46,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:47,1
    - Dst: fread
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:48,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:50,1
    - Dst: fclose
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - file
    - data
    - size
    argTypes:
    - char*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: read_file
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c
    functionUses: 0
    functionsReached:
    - calloc
    - fopen
    - fclose
    - stat
    - fread
    - free
    linkageType: ''
    returnType: int
    signature: int read_file(const char *file, uint8_t **data, size_t *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:66,1
    - Dst: light_read_from_memory
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:67,1
    - Dst: light_no_copy_from_memory
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:68,1
    - Dst: light_pcapng_validate
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:69,1
    - Dst: light_pcapng_validate
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:72,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:74,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:76,1
    - Dst: light_pcapng_mem_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:77,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - args
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 59
    functionDepth: 5
    functionLinenumber: 59
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c
    functionUses: 0
    functionsReached:
    - light_read_from_memory
    - light_no_copy_from_memory
    - light_pcapng_release
    - fprintf
    - printf
    - light_pcapng_validate
    - read_file
    - light_pcapng_mem_release
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: system
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: compile_features
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c
    functionUses: 0
    functionsReached:
    - system
    linkageType: ''
    returnType: int
    signature: int compile_features()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:49,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:51,1
    - Dst: dlerror
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:51,1
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:55,1
    - Dst: perror
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:57,1
    - Dst: fgets
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:62,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:63,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:64,1
    - Dst: dlsym
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:67,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:69,1
    - Dst: strdup
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:73,1
    - Dst: memset
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:76,1
    - Dst: fclose
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 82
    functionName: extract_features
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c
    functionUses: 0
    functionsReached:
    - dlsym
    - fgets
    - fopen
    - dlopen
    - fprintf
    - strlen
    - fclose
    - strdup
    - dlerror
    - perror
    - memset
    linkageType: ''
    returnType: int
    signature: int extract_features()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:89,1
    - Dst: dlclose
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: cleanup
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c
    functionUses: 31
    functionsReached:
    - free
    - dlclose
    linkageType: ''
    returnType: void
    signature: void cleanup()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:98,1
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:99,1
    - Dst: compile_features
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:104,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:105,1
    - Dst: extract_features
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:109,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:110,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:114,1
    - Dst: memset
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:115,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:117,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:118,1
    - Dst: calloc
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:120,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:123,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:125,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:127,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:129,1
    - Dst: light_read_from_path
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:133,1
    - Dst: light_get_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:139,1
    - Dst: light_get_option_data
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:141,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:144,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:145,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:146,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:151,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:154,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:158,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:161,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:166,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:183,1
    - Dst: light_create_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:186,1
    - Dst: light_update_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:187,1
    - Dst: light_pcapng_to_file
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:188,1
    - Dst: light_free_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:190,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:191,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:194,1
    - Dst: fclose
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:198,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:201,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:203,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:204,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:210,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:214,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:217,1
    - Dst: fclose
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:219,1
    - Dst: cleanup
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c:221,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 81
    argCount: 2
    argNames:
    - argc
    - args
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 96
    functionDepth: 6
    functionLinenumber: 96
    functionLinenumberEnd: 224
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c
    functionUses: 0
    functionsReached:
    - light_pcapng_to_file
    - calloc
    - compile_features
    - light_create_option
    - fopen
    - fprintf
    - light_read_from_path
    - light_get_option_data
    - light_pcapng_release
    - fclose
    - printf
    - cleanup
    - memcpy
    - light_update_option
    - light_get_option
    - memset
    - light_free_option
    - extract_features
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:30,1
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:31,1
    - Dst: fread
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:35,1
    - Dst: fwrite
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:37,1
    - Dst: fflush
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:42,1
    - Dst: fclose
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:43,1
    - Dst: fclose
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - src_path
    - dst_path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: copy_file
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c
    functionUses: 0
    functionsReached:
    - fwrite
    - fopen
    - fclose
    - fread
    - fflush
    linkageType: ''
    returnType: void
    signature: void copy_file(const char *src_path, const char *dst_path)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: light_pcapng_open_read
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:52,1
    - Dst: copy_file
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:55,1
    - Dst: light_pcang_get_file_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:57,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:58,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:60,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:62,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:64,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:66,1
    - Dst: light_pcapng_open_write
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:69,1
    - Dst: light_create_default_file_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:69,1
    - Dst: light_pcapng_open_append
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:71,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:75,1
    - Dst: exit
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:76,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:81,1
    - Dst: exit
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:82,1
    - Dst: light_get_next_packet
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:92,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:97,1
    - Dst: sprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:108,1
    - Dst: light_write_packet
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:112,1
    - Dst: light_write_packet
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:113,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:119,1
    - Dst: light_pcapng_close
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:121,1
    - Dst: light_pcapng_close
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:122,1
    - Dst: light_pcapng_close
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:123,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c:126,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - args
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c
    functionUses: 0
    functionsReached:
    - exit
    - light_pcapng_close
    - sprintf
    - light_pcang_get_file_info
    - light_pcapng_open_write
    - copy_file
    - fprintf
    - light_write_packet
    - printf
    - light_get_next_packet
    - light_pcapng_open_append
    - light_create_default_file_info
    - light_pcapng_open_read
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **args)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:35,1
    - Dst: strrchr
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:36,1
    - Dst: light_read_from_path
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:37,1
    - Dst: light_ip_flow
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:50,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:53,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:57,1
    - Dst: light_get_block_count
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:60,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:65,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:67,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:73,1
    - Dst: light_get_option_code
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:75,1
    - Dst: light_get_next_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:78,1
    - Dst: light_get_option_data
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:82,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:85,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:86,1
    - Dst: sprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:87,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:94,1
    - Dst: sprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:95,1
    - Dst: sprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:99,1
    - Dst: light_pcapng_to_file
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:102,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:103,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:105,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:109,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:113,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:116,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c:119,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - args
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 30
    functionDepth: 6
    functionLinenumber: 30
    functionLinenumberEnd: 123
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c
    functionUses: 0
    functionsReached:
    - light_pcapng_to_file
    - light_get_block_info
    - light_pcapng_release
    - strrchr
    - sprintf
    - fprintf
    - light_read_from_path
    - light_get_option_data
    - printf
    - light_ip_flow
    - memcpy
    - strdup
    - light_get_next_option
    - free
    - light_get_option_code
    - light_get_block_count
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:36,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: subcapture_predicate
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c
    functionUses: 0
    functionsReached:
    - light_get_block_info
    linkageType: ''
    returnType: light_boolean
    signature: light_boolean subcapture_predicate(const light_pcapng pcapng)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: light_create_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:45,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:45,1
    - Dst: light_read_from_path
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:49,1
    - Dst: strstr
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:59,1
    - Dst: light_subcapture
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:62,1
    - Dst: light_add_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:63,1
    - Dst: light_pcapng_to_memory
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:64,1
    - Dst: sprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:66,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:67,1
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:68,1
    - Dst: fwrite
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:69,1
    - Dst: fclose
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:70,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:72,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:73,1
    - Dst: light_pcapng_release
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:74,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:77,1
    - Dst: light_free_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - args
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c
    functionUses: 0
    functionsReached:
    - strstr
    - light_create_option
    - fwrite
    - sprintf
    - fopen
    - light_read_from_path
    - fclose
    - light_pcapng_release
    - fprintf
    - printf
    - light_pcapng_to_memory
    - strlen
    - free
    - light_subcapture
    - light_add_option
    - light_free_option
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **args)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: light_pcapng_open_read
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c:34,1
    - Dst: light_pcang_get_file_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c:36,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c:37,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c:39,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c:41,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c:43,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c:45,1
    - Dst: light_get_next_packet
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c:54,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c:59,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c:68,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c:70,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c:76,1
    - Dst: light_pcapng_close
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c:78,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - args
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 86
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c
    functionUses: 0
    functionsReached:
    - light_pcapng_close
    - light_pcang_get_file_info
    - fprintf
    - printf
    - light_get_next_packet
    - light_pcapng_open_read
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - base
    - exponent
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: my_pow
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t my_pow(uint32_t base, uint32_t exponent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:35,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:38,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:43,1
    - Dst: light_next_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: _f_data_transferred
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 0
    functionsReached:
    - light_get_block_info
    - light_next_block
    linkageType: ''
    returnType: feature_type_t
    signature: feature_type_t _f_data_transferred(const light_pcapng pcapng)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:64,1
    - Dst: light_get_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:66,1
    - Dst: light_get_option_data
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:68,1
    - Dst: my_pow
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:72,1
    - Dst: my_pow
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:75,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:79,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:86,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:93,1
    - Dst: light_next_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 109
    functionName: _f_trace_duration
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 1
    functionsReached:
    - light_get_block_info
    - light_next_block
    - fprintf
    - light_get_option_data
    - light_get_option
    - my_pow
    linkageType: ''
    returnType: feature_type_t
    signature: feature_type_t _f_trace_duration(const light_pcapng pcapng)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:124,1
    - Dst: light_get_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:126,1
    - Dst: light_get_option_data
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:128,1
    - Dst: my_pow
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:132,1
    - Dst: my_pow
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:135,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:139,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:146,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:153,1
    - Dst: light_next_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:164,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 175
    functionName: _f_avg_packet_interval
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 0
    functionsReached:
    - light_get_block_info
    - light_next_block
    - fprintf
    - light_get_option_data
    - light_get_option
    - my_pow
    linkageType: ''
    returnType: feature_type_t
    signature: feature_type_t _f_avg_packet_interval(const light_pcapng pcapng)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: light_get_option
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:182,1
    - Dst: light_get_option_data
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:185,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:188,1
    - Dst: memcpy
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 204
    functionName: _f_address_relation
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - light_get_option_data
    - light_get_option
    linkageType: ''
    returnType: feature_type_t
    signature: feature_type_t _f_address_relation(const light_pcapng pcapng)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: LIGHT_HTONS
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIGHT_HTONS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: LIGHT_NTOHS
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIGHT_NTOHS(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIGHT_NTOHS
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:218,1
    - Dst: LIGHT_NTOHS
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - payload
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 222
    functionName: __solve_port
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 0
    functionsReached:
    - LIGHT_NTOHS
    linkageType: ''
    returnType: feature_type_t
    signature: feature_type_t __solve_port(const uint8_t *payload)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - payload
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 240
    functionName: __solve_protocol
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: feature_type_t
    signature: feature_type_t __solve_protocol(const uint8_t *payload)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LIGHT_NTOHS
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:246,1
    - Dst: fn
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - payload
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 279
    functionName: __ip_level
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 0
    functionsReached:
    - LIGHT_NTOHS
    - fn
    linkageType: ''
    returnType: feature_type_t
    signature: feature_type_t __ip_level(const uint8_t *payload, feature_type_t (*fn)(const
      uint8_t *))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:288,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:291,1
    - Dst: __ip_level
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:292,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:296,1
    - Dst: __ip_level
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:297,1
    - Dst: light_next_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 304
    functionName: _f_protocol
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 0
    functionsReached:
    - light_next_block
    - light_get_block_info
    - __ip_level
    linkageType: ''
    returnType: feature_type_t
    signature: feature_type_t _f_protocol(const light_pcapng pcapng)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:313,1
    - Dst: light_next_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 321
    functionName: _f_packet_count
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 0
    functionsReached:
    - light_get_block_info
    - light_next_block
    linkageType: ''
    returnType: feature_type_t
    signature: feature_type_t _f_packet_count(const light_pcapng pcapng)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:330,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:333,1
    - Dst: __ip_level
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:334,1
    - Dst: light_get_block_info
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:338,1
    - Dst: __ip_level
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:339,1
    - Dst: light_next_block
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pcapng
    - port
    argTypes:
    - light_pcapng
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 356
    functionName: _f_application_port
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 0
    functionsReached:
    - light_next_block
    - light_get_block_info
    - __ip_level
    linkageType: ''
    returnType: feature_type_t
    signature: feature_type_t _f_application_port(const light_pcapng pcapng, uint16_t
      port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _f_application_port
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: _f_application_port_https
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 0
    functionsReached:
    - _f_application_port
    linkageType: ''
    returnType: feature_type_t
    signature: feature_type_t _f_application_port_https(const light_pcapng pcapng)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _f_application_port
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:365,1
    - Dst: _f_application_port
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:365,1
    - Dst: _f_application_port
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcapng
    argTypes:
    - light_pcapng
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: _f_application_port_http
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
    functionUses: 0
    functionsReached:
    - _f_application_port
    linkageType: ''
    returnType: feature_type_t
    signature: feature_type_t _f_application_port_http(const light_pcapng pcapng)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - csv_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: zero_count
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int zero_count(const csv_entry *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string::begin
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:40,1
    - Dst: string::end
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:40,1
    - Dst: csv_entry::csv_entry
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:43,1
    - Dst: sregex_token_iterator::str
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:46,1
    - Dst: sregex_token_iterator::str
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:48,1
    - Dst: std::stoll
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:54,1
    - Dst: sregex_token_iterator::str
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:54,1
    - Dst: csv_entry*::entries::push_back
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:55,1
    - Dst: csv_entry*::original_values::push_back
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - csv_line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 61
    functionName: make_csv_entry
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc
    functionUses: 0
    functionsReached:
    - csv_entry*::original_values::push_back
    - std::stoll
    - csv_entry::csv_entry
    - string::end
    - csv_entry*::entries::push_back
    - sregex_token_iterator::str
    - string::begin
    linkageType: ''
    returnType: csv_entry_t
    signature: csv_entry_t *make_csv_entry(const char *csv_line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ifstream::getline
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:68,1
    - Dst: string::begin
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:72,1
    - Dst: string::end
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:72,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:76,1
    - Dst: sregex_token_iterator::str
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:76,1
    - Dst: ifstream::eof
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:79,1
    - Dst: ifstream::getline
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:81,1
    - Dst: strlen
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:82,1
    - Dst: make_csv_entry
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:86,1
    - Dst: zero_count
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:87,1
    - Dst: vector<csv_entry_t *>::push_back
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:88,1
    - Dst: ifstream::close
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - csv_file_path
    - entries
    argTypes:
    - char*
    - vector<csv_entry_t *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 99
    functionName: read_csv_file
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc
    functionUses: 0
    functionsReached:
    - zero_count
    - ifstream::close
    - vector<csv_entry_t *>::push_back
    - string::end
    - ifstream::eof
    - make_csv_entry
    - strlen
    - push_back
    - sregex_token_iterator::str
    - string::begin
    - ifstream::getline
    linkageType: ''
    returnType: bool
    signature: bool read_csv_file(const char *csv_file_path, vector<csv_entry_t *>
      &entries)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - min
    - max
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: rescale
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double rescale(const double &v, const double &min, const double &max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vector::push_back
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:112,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:113,1
    - Dst: csv_entry_t*::entries::size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:118,1
    - Dst: csv_entry_t*::entries::size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:130,1
    - Dst: rescale
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - entries
    argTypes:
    - vector<csv_entry_t *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: scale_features
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc
    functionUses: 0
    functionsReached:
    - vector::push_back
    - push_back
    - csv_entry_t*::entries::size
    - rescale
    linkageType: ''
    returnType: void
    signature: void scale_features(vector<csv_entry_t *> &entries)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vector<csv_entry_t *>::size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:139,1
    - Dst: Galaxy::compute_clusters
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:140,1
    - Dst: Galaxy::valid
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:141,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:142,1
    - Dst: Galaxy::get_error
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:142,1
    - Dst: Galaxy::print
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - vector<csv_entry_t *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: cluster_data
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc
    functionUses: 0
    functionsReached:
    - Galaxy::compute_clusters
    - printf
    - Galaxy::print
    - Galaxy::get_error
    - Galaxy::valid
    - vector<csv_entry_t *>::size
    linkageType: ''
    returnType: void
    signature: void cluster_data(vector<csv_entry_t *> &data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:151,1
    - Dst: read_csv_file
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:156,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:157,1
    - Dst: scale_features
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:160,1
    - Dst: cluster_data
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - args
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 166
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc
    functionUses: 0
    functionsReached:
    - fprintf
    - cluster_data
    - scale_features
    - read_csv_file
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - values
    argTypes:
    - vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: Cluster::Cluster
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Cluster(const vector<double> values, int id = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - e
    - dist
    argTypes:
    - csv_entry_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Cluster::add_member
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void add_member(csv_entry_t *e, double dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: Cluster::reset
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: Cluster::id
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int id()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: Cluster::get_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int get_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: '&get_center()'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vector <double>
    signature: vector <double> &get_center()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: Cluster::get_error
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double get_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~Cluster()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Cluster()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: Galaxy::get_error
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double get_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: Galaxy::valid
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~Galaxy()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Galaxy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector<double>::size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 25
    functionName: Cluster::distance
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc
    functionUses: 0
    functionsReached:
    - vector<double>::size
    linkageType: ''
    returnType: double
    signature: double Cluster::distance(const vector<double> &x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:29,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:35,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: Cluster::recompute_center
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: double
    signature: double Cluster::recompute_center()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:52,1
    - Dst: time
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sz
    - elements
    - iter
    argTypes:
    - int
    - vector<csv_entry_t *>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: Galaxy::Galaxy
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc
    functionUses: 0
    functionsReached:
    - time
    - srand
    linkageType: ''
    returnType: void
    signature: void Galaxy::Galaxy(int sz, vector<csv_entry_t *> &elements, int iter)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:57,1
    - Dst: rand
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:70,1
    - Dst: id
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:74,1
    - Dst: distance
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:74,1
    - Dst: vector::empty
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:79,1
    - Dst: vector::back
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:80,1
    - Dst: vector::pop_back
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:81,1
    - Dst: Cluster::Cluster
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:94,1
    - Dst: vector::push_back
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:95,1
    - Dst: reset
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:111,1
    - Dst: distance
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:119,1
    - Dst: add_member
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:125,1
    - Dst: recompute_center
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:129,1
    - Dst: Galaxy::get_error
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:137,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:143,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:144,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:145,1
    - Dst: vector::empty
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:153,1
    - Dst: vector::back
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:154,1
    - Dst: vector::pop_back
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:155,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 160
    functionName: Galaxy::compute_clusters
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc
    functionUses: 1
    functionsReached:
    - vector::push_back
    - reset
    - vector::empty
    - rand
    - empty
    - id
    - back
    - size
    - vector::back
    - distance
    - add_member
    - Galaxy::get_error
    - Cluster::Cluster
    - pop_back
    - vector::pop_back
    - recompute_center
    linkageType: ''
    returnType: void
    signature: void Galaxy::compute_clusters()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:164,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:164,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:166,1
    - Dst: get_center
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:167,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:168,1
    - Dst: get_center
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:168,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:170,1
    - Dst: get_size
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:170,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: Galaxy::print
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc
    functionUses: 1
    functionsReached:
    - get_center
    - get_size
    - printf
    - size
    linkageType: ''
    returnType: void
    signature: void Galaxy::print() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - aligned_val_p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: PADD32
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_util.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PADD32(val, aligned_val_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - symbol
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: DPRINT_HERE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DPRINT_HERE(symbol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - symbol
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: DPRINT_HERE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DPRINT_HERE(symbol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - other
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: DCHECK_INT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_INT(x, y, other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - other
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: DCHECK_ASSERT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_ASSERT(x, y, other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expression
    - ','
    - err_message
    - ','
    - other
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: DCHECK_ASSERT_EXP
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_ASSERT_EXP(expression, err_message, other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - other
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: DCHECK_NULLP
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_NULLP(x, other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - symbol
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: PCAPNG_WARNING
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPNG_WARNING(symbol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - symbol
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: PCAPNG_ERROR
    functionSourceFile: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCAPNG_ERROR(symbol)
  - 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: be16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 342
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(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: be32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: be64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: le64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: le32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: be16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 342
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: be32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: be64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: le64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: le32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(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: htobe16
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 346
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(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: htole16
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(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: be16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 342
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(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: le16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(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: htobe32
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 117
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(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: htole32
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(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: be32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(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: le32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(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: htobe64
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(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: htole64
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(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: be64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(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: le64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(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: htobe16
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 346
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(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: htole16
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: be16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 342
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(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: le16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - 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: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: htobe32
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 117
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: htole32
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: be32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: le32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: htobe64
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: htole64
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - 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: be64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(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: le64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: htobe16
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 346
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: htole16
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: be16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 342
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: le16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: htobe32
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 117
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: htole32
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: be32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - 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: le32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: htobe64
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: htole64
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: be64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: le64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: htobe16
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 346
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: htole16
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: be16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 342
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: le16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: htobe32
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 117
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: htole32
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: be32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - 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: le32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: htobe64
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: htole64
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: be64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(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: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: le64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: be64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: be32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: be16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 342
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: le16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: le32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: le64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: be64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: be32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: be16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 342
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: le16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: le32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - 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: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: le64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: htole16
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: htole64
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: be64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: be32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: be16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 342
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: le16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: le32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: le64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: be64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: be32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: be16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 342
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: le16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: le32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: le64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - 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: be64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: be32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: be16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 342
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: le16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: le32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: le64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: be64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: be32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: be16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 342
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: le32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: le64toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: be32toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(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: be16toh
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 342
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: htobe64
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: htobe32
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 117
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: htobe16
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 346
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: htole32
    functionSourceFile: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - 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: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: NLOHMANN_JSON_ABI_TAGS_CONCAT_EX
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(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: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: NLOHMANN_JSON_ABI_TAGS_CONCAT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(major, minor, patch)
  - 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: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: NLOHMANN_JSON_NAMESPACE_CONCAT_EX
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_NAMESPACE_CONCAT_EX(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: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: NLOHMANN_JSON_NAMESPACE_CONCAT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_NAMESPACE_CONCAT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 315
    functionName: NLOHMANN_JSON_NAMESPACE_BEGIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_END
    signature: NLOHMANN_JSON_NAMESPACE_END NLOHMANN_JSON_NAMESPACE_BEGIN
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 268
    functionName: nonesuch
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 269
    functionName: ~nonesuch()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~nonesuch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 270
    functionName: nonesuch
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch(nonesuch const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: nonesuch
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nonesuch(nonesuch const&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: operator=(nonesuch const&)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(nonesuch const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: operator=(nonesuch&&)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator=(nonesuch&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: JSON_HEDLEY_STRINGIFY_EX
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_STRINGIFY_EX(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    functionName: JSON_HEDLEY_STRINGIFY
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_STRINGIFY(x)
  - 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: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: JSON_HEDLEY_CONCAT_EX
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CONCAT_EX(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: 359
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 359
    functionName: JSON_HEDLEY_CONCAT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CONCAT(a,b)
  - 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: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: JSON_HEDLEY_CONCAT3_EX
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CONCAT3_EX(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: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    functionName: JSON_HEDLEY_CONCAT3
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CONCAT3(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - revision
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: JSON_HEDLEY_VERSION_ENCODE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_VERSION_ENCODE(major,minor,revision)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    functionName: JSON_HEDLEY_VERSION_DECODE_MAJOR
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_VERSION_DECODE_MAJOR(version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 384
    functionName: JSON_HEDLEY_VERSION_DECODE_MINOR
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_VERSION_DECODE_MINOR(version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - version
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 389
    functionName: JSON_HEDLEY_VERSION_DECODE_REVISION
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_VERSION_DECODE_REVISION(version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 404
    functionName: JSON_HEDLEY_GNUC_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 406
    functionName: JSON_HEDLEY_GNUC_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 424
    functionName: JSON_HEDLEY_MSVC_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 426
    functionName: JSON_HEDLEY_MSVC_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 428
    functionName: JSON_HEDLEY_MSVC_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 430
    functionName: JSON_HEDLEY_MSVC_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: JSON_HEDLEY_INTEL_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    functionName: JSON_HEDLEY_INTEL_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 462
    functionName: JSON_HEDLEY_INTEL_CL_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 464
    functionName: JSON_HEDLEY_INTEL_CL_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 478
    functionName: JSON_HEDLEY_PGI_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 480
    functionName: JSON_HEDLEY_PGI_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 500
    functionName: JSON_HEDLEY_SUNPRO_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 502
    functionName: JSON_HEDLEY_SUNPRO_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 534
    functionName: JSON_HEDLEY_ARM_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 536
    functionName: JSON_HEDLEY_ARM_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 554
    functionName: JSON_HEDLEY_IBM_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 556
    functionName: JSON_HEDLEY_IBM_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 578
    functionName: JSON_HEDLEY_TI_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 580
    functionName: JSON_HEDLEY_TI_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 594
    functionName: JSON_HEDLEY_TI_CL2000_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 596
    functionName: JSON_HEDLEY_TI_CL2000_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 610
    functionName: JSON_HEDLEY_TI_CL430_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 612
    functionName: JSON_HEDLEY_TI_CL430_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 626
    functionName: JSON_HEDLEY_TI_ARMCL_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 628
    functionName: JSON_HEDLEY_TI_ARMCL_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 642
    functionName: JSON_HEDLEY_TI_CL6X_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 644
    functionName: JSON_HEDLEY_TI_CL6X_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 658
    functionName: JSON_HEDLEY_TI_CL7X_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 660
    functionName: JSON_HEDLEY_TI_CL7X_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 674
    functionName: JSON_HEDLEY_TI_CLPRU_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 676
    functionName: JSON_HEDLEY_TI_CLPRU_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 694
    functionName: JSON_HEDLEY_CRAY_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 696
    functionName: JSON_HEDLEY_CRAY_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 714
    functionName: JSON_HEDLEY_IAR_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 716
    functionName: JSON_HEDLEY_IAR_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 730
    functionName: JSON_HEDLEY_TINYC_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 732
    functionName: JSON_HEDLEY_TINYC_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 746
    functionName: JSON_HEDLEY_DMC_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 748
    functionName: JSON_HEDLEY_DMC_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 762
    functionName: JSON_HEDLEY_COMPCERT_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 764
    functionName: JSON_HEDLEY_COMPCERT_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 778
    functionName: JSON_HEDLEY_PELLES_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 780
    functionName: JSON_HEDLEY_PELLES_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 794
    functionName: JSON_HEDLEY_MCST_LCC_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 796
    functionName: JSON_HEDLEY_MCST_LCC_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 825
    functionName: JSON_HEDLEY_GCC_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 827
    functionName: JSON_HEDLEY_GCC_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 838
    functionName: JSON_HEDLEY_HAS_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 840
    functionName: JSON_HEDLEY_HAS_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 847
    functionName: JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 849
    functionName: JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 856
    functionName: JSON_HEDLEY_GCC_HAS_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 858
    functionName: JSON_HEDLEY_GCC_HAS_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 868
    functionName: JSON_HEDLEY_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 870
    functionName: JSON_HEDLEY_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ns
    - ','
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 877
    functionName: JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ns
    - ','
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 883
    functionName: JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ns
    - ','
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 885
    functionName: JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 892
    functionName: JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 894
    functionName: JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 901
    functionName: JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 903
    functionName: JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - builtin
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 910
    functionName: JSON_HEDLEY_HAS_BUILTIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_BUILTIN(builtin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - builtin
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 912
    functionName: JSON_HEDLEY_HAS_BUILTIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_BUILTIN(builtin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - builtin
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 919
    functionName: JSON_HEDLEY_GNUC_HAS_BUILTIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - builtin
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 921
    functionName: JSON_HEDLEY_GNUC_HAS_BUILTIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - builtin
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 928
    functionName: JSON_HEDLEY_GCC_HAS_BUILTIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - builtin
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 930
    functionName: JSON_HEDLEY_GCC_HAS_BUILTIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - feature
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 937
    functionName: JSON_HEDLEY_HAS_FEATURE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_FEATURE(feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - feature
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 939
    functionName: JSON_HEDLEY_HAS_FEATURE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_FEATURE(feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - feature
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 946
    functionName: JSON_HEDLEY_GNUC_HAS_FEATURE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - feature
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 948
    functionName: JSON_HEDLEY_GNUC_HAS_FEATURE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - feature
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 955
    functionName: JSON_HEDLEY_GCC_HAS_FEATURE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - feature
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 957
    functionName: JSON_HEDLEY_GCC_HAS_FEATURE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - extension
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 964
    functionName: JSON_HEDLEY_HAS_EXTENSION
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_EXTENSION(extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - extension
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 966
    functionName: JSON_HEDLEY_HAS_EXTENSION
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_EXTENSION(extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - extension
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 973
    functionName: JSON_HEDLEY_GNUC_HAS_EXTENSION
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - extension
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 975
    functionName: JSON_HEDLEY_GNUC_HAS_EXTENSION
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - extension
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 982
    functionName: JSON_HEDLEY_GCC_HAS_EXTENSION
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - extension
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 984
    functionName: JSON_HEDLEY_GCC_HAS_EXTENSION
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 991
    functionName: JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 993
    functionName: JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1000
    functionName: JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1002
    functionName: JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1009
    functionName: JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - attribute
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1011
    functionName: JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - warning
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1018
    functionName: JSON_HEDLEY_HAS_WARNING
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_WARNING(warning)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - warning
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1020
    functionName: JSON_HEDLEY_HAS_WARNING
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_HAS_WARNING(warning)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - warning
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1027
    functionName: JSON_HEDLEY_GNUC_HAS_WARNING
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - warning
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1029
    functionName: JSON_HEDLEY_GNUC_HAS_WARNING
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - warning
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1036
    functionName: JSON_HEDLEY_GCC_HAS_WARNING
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - warning
    - ','
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1038
    functionName: JSON_HEDLEY_GCC_HAS_WARNING
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1060
    functionName: JSON_HEDLEY_PRAGMA
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PRAGMA(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1062
    functionName: JSON_HEDLEY_PRAGMA
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PRAGMA(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xpr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1122
    functionName: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xpr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1129
    functionName: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xpr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1136
    functionName: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1141
    functionName: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1148
    functionName: JSON_HEDLEY_CONST_CAST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CONST_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1158
    functionName: JSON_HEDLEY_CONST_CAST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CONST_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1160
    functionName: JSON_HEDLEY_CONST_CAST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CONST_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1167
    functionName: JSON_HEDLEY_REINTERPRET_CAST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REINTERPRET_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1169
    functionName: JSON_HEDLEY_REINTERPRET_CAST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REINTERPRET_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1176
    functionName: JSON_HEDLEY_STATIC_CAST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_STATIC_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1178
    functionName: JSON_HEDLEY_STATIC_CAST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_STATIC_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1190
    functionName: JSON_HEDLEY_CPP_CAST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CPP_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1195
    functionName: JSON_HEDLEY_CPP_CAST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CPP_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1197
    functionName: JSON_HEDLEY_CPP_CAST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CPP_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1200
    functionName: JSON_HEDLEY_CPP_CAST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CPP_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1347
    functionName: JSON_HEDLEY_DEPRECATED
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - replacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1348
    functionName: JSON_HEDLEY_DEPRECATED_FOR
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1362
    functionName: JSON_HEDLEY_DEPRECATED
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - replacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1363
    functionName: JSON_HEDLEY_DEPRECATED_FOR
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1365
    functionName: JSON_HEDLEY_DEPRECATED
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - replacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1366
    functionName: JSON_HEDLEY_DEPRECATED_FOR
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1384
    functionName: JSON_HEDLEY_DEPRECATED
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - replacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1385
    functionName: JSON_HEDLEY_DEPRECATED_FOR
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1390
    functionName: JSON_HEDLEY_DEPRECATED
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - replacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1391
    functionName: JSON_HEDLEY_DEPRECATED_FOR
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1393
    functionName: JSON_HEDLEY_DEPRECATED
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED(since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - since
    - ','
    - replacement
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1394
    functionName: JSON_HEDLEY_DEPRECATED_FOR
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - available_since
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1408
    functionName: JSON_HEDLEY_UNAVAILABLE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNAVAILABLE(available_since)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1438
    functionName: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1441
    functionName: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1444
    functionName: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1447
    functionName: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - position
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1462
    functionName: JSON_HEDLEY_SENTINEL
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_SENTINEL(position)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1537
    functionName: JSON_HEDLEY_ASSUME
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ASSUME(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1539
    functionName: JSON_HEDLEY_ASSUME
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ASSUME(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1544
    functionName: JSON_HEDLEY_ASSUME
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ASSUME(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1546
    functionName: JSON_HEDLEY_ASSUME
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ASSUME(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1557
    functionName: JSON_HEDLEY_UNREACHABLE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1559
    functionName: JSON_HEDLEY_UNREACHABLE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1563
    functionName: JSON_HEDLEY_ASSUME
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ASSUME(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1565
    functionName: JSON_HEDLEY_ASSUME
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ASSUME(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1572
    functionName: JSON_HEDLEY_UNREACHABLE_RETURN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNREACHABLE_RETURN(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1574
    functionName: JSON_HEDLEY_UNREACHABLE_RETURN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNREACHABLE_RETURN(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1577
    functionName: JSON_HEDLEY_UNREACHABLE_RETURN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNREACHABLE_RETURN(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1580
    functionName: JSON_HEDLEY_UNREACHABLE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1605
    functionName: JSON_HEDLEY_NON_NULL
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_NON_NULL(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string_idx
    - ','
    - first_to_check
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1615
    functionName: JSON_HEDLEY_PRINTF_FORMAT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string_idx
    - ','
    - first_to_check
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1617
    functionName: JSON_HEDLEY_PRINTF_FORMAT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string_idx
    - ','
    - first_to_check
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1636
    functionName: JSON_HEDLEY_PRINTF_FORMAT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string_idx
    - ','
    - first_to_check
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1638
    functionName: JSON_HEDLEY_PRINTF_FORMAT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1668
    functionName: JSON_HEDLEY_UNPREDICTABLE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNPREDICTABLE(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expr
    - ','
    - value
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1674
    functionName: JSON_HEDLEY_PREDICT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT(expr, value, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1675
    functionName: JSON_HEDLEY_PREDICT_TRUE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT_TRUE(expr, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1676
    functionName: JSON_HEDLEY_PREDICT_FALSE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT_FALSE(expr, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1677
    functionName: JSON_HEDLEY_LIKELY
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_LIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1678
    functionName: JSON_HEDLEY_UNLIKELY
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNLIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expr
    - ','
    - expected
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1697
    functionName: JSON_HEDLEY_PREDICT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT(expr, expected, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1702
    functionName: JSON_HEDLEY_PREDICT_TRUE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT_TRUE(expr, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1707
    functionName: JSON_HEDLEY_PREDICT_FALSE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT_FALSE(expr, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1708
    functionName: JSON_HEDLEY_LIKELY
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_LIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1709
    functionName: JSON_HEDLEY_UNLIKELY
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNLIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expr
    - ','
    - expected
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1711
    functionName: JSON_HEDLEY_PREDICT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT(expr, expected, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1712
    functionName: JSON_HEDLEY_PREDICT_TRUE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT_TRUE(expr, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - probability
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1713
    functionName: JSON_HEDLEY_PREDICT_FALSE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_PREDICT_FALSE(expr, probability)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1714
    functionName: JSON_HEDLEY_LIKELY
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_LIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1715
    functionName: JSON_HEDLEY_UNLIKELY
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNLIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1718
    functionName: JSON_HEDLEY_UNPREDICTABLE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_UNPREDICTABLE(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 2059
    functionDepth: 0
    functionLinenumber: 2059
    functionLinenumberEnd: 2060
    functionName: JSON_HEDLEY_ARRAY_PARAM
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_ARRAY_PARAM(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2087
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2087
    functionName: JSON_HEDLEY_IS_CONSTANT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTANT(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2099
    functionName: JSON_HEDLEY_IS_CONSTEXPR_
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTEXPR_(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2101
    functionDepth: 0
    functionLinenumber: 2101
    functionLinenumberEnd: 2102
    functionName: JSON_HEDLEY_IS_CONSTEXPR_
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTEXPR_(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2116
    functionName: JSON_HEDLEY_IS_CONSTEXPR_
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTEXPR_(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2119
    functionName: JSON_HEDLEY_IS_CONSTEXPR_
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTEXPR_(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2140
    functionName: JSON_HEDLEY_IS_CONSTEXPR_
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTEXPR_(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2145
    functionName: JSON_HEDLEY_IS_CONSTANT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTANT(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2147
    functionName: JSON_HEDLEY_REQUIRE_CONSTEXPR
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REQUIRE_CONSTEXPR(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 2149
    functionDepth: 0
    functionLinenumber: 2149
    functionLinenumberEnd: 2150
    functionName: JSON_HEDLEY_IS_CONSTANT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_IS_CONSTANT(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2152
    functionName: JSON_HEDLEY_REQUIRE_CONSTEXPR
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REQUIRE_CONSTEXPR(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2184
    functionDepth: 0
    functionLinenumber: 2184
    functionLinenumberEnd: 2185
    functionName: JSON_HEDLEY_STATIC_ASSERT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_STATIC_ASSERT(expr, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2190
    functionName: JSON_HEDLEY_STATIC_ASSERT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_STATIC_ASSERT(expr, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2220
    functionName: JSON_HEDLEY_MESSAGE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MESSAGE(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2224
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2224
    functionName: JSON_HEDLEY_MESSAGE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MESSAGE(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2226
    functionName: JSON_HEDLEY_MESSAGE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MESSAGE(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2228
    functionName: JSON_HEDLEY_MESSAGE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MESSAGE(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2230
    functionName: JSON_HEDLEY_MESSAGE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_MESSAGE(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2243
    functionName: JSON_HEDLEY_WARNING
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARNING(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2248
    functionName: JSON_HEDLEY_WARNING
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARNING(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2252
    functionName: JSON_HEDLEY_WARNING
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARNING(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2254
    functionName: JSON_HEDLEY_WARNING
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_WARNING(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2264
    functionDepth: 0
    functionLinenumber: 2264
    functionLinenumberEnd: 2269
    functionName: JSON_HEDLEY_REQUIRE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REQUIRE(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2269
    functionDepth: 0
    functionLinenumber: 2269
    functionLinenumberEnd: 2274
    functionName: JSON_HEDLEY_REQUIRE_MSG
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REQUIRE_MSG(expr,msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2275
    functionDepth: 0
    functionLinenumber: 2275
    functionLinenumberEnd: 2276
    functionName: JSON_HEDLEY_REQUIRE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REQUIRE(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2276
    functionDepth: 0
    functionLinenumber: 2276
    functionLinenumberEnd: 2277
    functionName: JSON_HEDLEY_REQUIRE_MSG
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_REQUIRE_MSG(expr,msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2296
    functionDepth: 0
    functionLinenumber: 2296
    functionLinenumberEnd: 2302
    functionName: JSON_HEDLEY_FLAGS_CAST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_FLAGS_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - T
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2303
    functionDepth: 0
    functionLinenumber: 2303
    functionLinenumberEnd: 2304
    functionName: JSON_HEDLEY_FLAGS_CAST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_FLAGS_CAST(T, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2323
    functionDepth: 0
    functionLinenumber: 2323
    functionLinenumberEnd: 2324
    functionName: JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2326
    functionName: JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2332
    functionName: JSON_HEDLEY_CLANG_HAS_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2336
    functionDepth: 0
    functionLinenumber: 2336
    functionLinenumberEnd: 2337
    functionName: JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - builtin
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2342
      start: 2341
    functionDepth: 0
    functionLinenumber: 2341
    functionLinenumberEnd: 2342
    functionName: JSON_HEDLEY_CLANG_HAS_BUILTIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - feature
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2347
    functionName: JSON_HEDLEY_CLANG_HAS_FEATURE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CLANG_HAS_FEATURE(feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - extension
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2352
    functionName: JSON_HEDLEY_CLANG_HAS_EXTENSION
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CLANG_HAS_EXTENSION(extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2356
    functionDepth: 0
    functionLinenumber: 2356
    functionLinenumberEnd: 2357
    functionName: JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - warning
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2361
    functionDepth: 0
    functionLinenumber: 2361
    functionLinenumberEnd: 2362
    functionName: JSON_HEDLEY_CLANG_HAS_WARNING
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_HEDLEY_CLANG_HAS_WARNING(warning)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exception
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2517
    functionDepth: 0
    functionLinenumber: 2517
    functionLinenumberEnd: 2518
    functionName: JSON_THROW
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_THROW(exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exception
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2520
    functionName: JSON_CATCH
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_CATCH(exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exception
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2520
    functionDepth: 0
    functionLinenumber: 2520
    functionLinenumberEnd: 2521
    functionName: JSON_INTERNAL_CATCH
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_INTERNAL_CATCH(exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exception
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2523
    functionDepth: 0
    functionLinenumber: 2523
    functionLinenumberEnd: 2524
    functionName: JSON_THROW
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_THROW(exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exception
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2526
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2526
    functionName: JSON_CATCH
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_CATCH(exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exception
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2527
    functionName: JSON_INTERNAL_CATCH
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_INTERNAL_CATCH(exception)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2552
    functionDepth: 0
    functionLinenumber: 2552
    functionLinenumberEnd: 2553
    functionName: JSON_ASSERT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_ASSERT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ENUM_TYPE
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2592
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2592
    functionName: NLOHMANN_JSON_SERIALIZE_ENUM
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2614
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2614
    functionName: NLOHMANN_JSON_EXPAND
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_EXPAND( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 133
    argNames:
    - (
    - _1
    - ','
    - _2
    - ','
    - _3
    - ','
    - _4
    - ','
    - _5
    - ','
    - _6
    - ','
    - _7
    - ','
    - _8
    - ','
    - _9
    - ','
    - _10
    - ','
    - _11
    - ','
    - _12
    - ','
    - _13
    - ','
    - _14
    - ','
    - _15
    - ','
    - _16
    - ','
    - _17
    - ','
    - _18
    - ','
    - _19
    - ','
    - _20
    - ','
    - _21
    - ','
    - _22
    - ','
    - _23
    - ','
    - _24
    - ','
    - _25
    - ','
    - _26
    - ','
    - _27
    - ','
    - _28
    - ','
    - _29
    - ','
    - _30
    - ','
    - _31
    - ','
    - _32
    - ','
    - _33
    - ','
    - _34
    - ','
    - _35
    - ','
    - _36
    - ','
    - _37
    - ','
    - _38
    - ','
    - _39
    - ','
    - _40
    - ','
    - _41
    - ','
    - _42
    - ','
    - _43
    - ','
    - _44
    - ','
    - _45
    - ','
    - _46
    - ','
    - _47
    - ','
    - _48
    - ','
    - _49
    - ','
    - _50
    - ','
    - _51
    - ','
    - _52
    - ','
    - _53
    - ','
    - _54
    - ','
    - _55
    - ','
    - _56
    - ','
    - _57
    - ','
    - _58
    - ','
    - _59
    - ','
    - _60
    - ','
    - _61
    - ','
    - _62
    - ','
    - _63
    - ','
    - _64
    - ','
    - NAME
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2615
    functionName: NLOHMANN_JSON_GET_MACRO
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11,
      _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27,
      _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43,
      _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59,
      _60, _61, _62, _63, _64, NAME,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2615
    functionDepth: 0
    functionLinenumber: 2615
    functionLinenumberEnd: 2680
    functionName: NLOHMANN_JSON_PASTE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2680
    functionDepth: 0
    functionLinenumber: 2680
    functionLinenumberEnd: 2681
    functionName: NLOHMANN_JSON_PASTE2
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE2(func, v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2682
    functionName: NLOHMANN_JSON_PASTE3
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE3(func, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2683
    functionName: NLOHMANN_JSON_PASTE4
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE4(func, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2684
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2684
    functionName: NLOHMANN_JSON_PASTE5
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2684
    functionDepth: 0
    functionLinenumber: 2684
    functionLinenumberEnd: 2685
    functionName: NLOHMANN_JSON_PASTE6
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2685
    functionDepth: 0
    functionLinenumber: 2685
    functionLinenumberEnd: 2686
    functionName: NLOHMANN_JSON_PASTE7
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2687
      start: 2686
    functionDepth: 0
    functionLinenumber: 2686
    functionLinenumberEnd: 2687
    functionName: NLOHMANN_JSON_PASTE8
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - )
    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: 2688
      start: 2687
    functionDepth: 0
    functionLinenumber: 2687
    functionLinenumberEnd: 2688
    functionName: NLOHMANN_JSON_PASTE9
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2688
    functionDepth: 0
    functionLinenumber: 2688
    functionLinenumberEnd: 2689
    functionName: NLOHMANN_JSON_PASTE10
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2690
      start: 2689
    functionDepth: 0
    functionLinenumber: 2689
    functionLinenumberEnd: 2690
    functionName: NLOHMANN_JSON_PASTE11
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2690
    functionDepth: 0
    functionLinenumber: 2690
    functionLinenumberEnd: 2691
    functionName: NLOHMANN_JSON_PASTE12
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2692
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2692
    functionName: NLOHMANN_JSON_PASTE13
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2693
    functionName: NLOHMANN_JSON_PASTE14
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2693
    functionDepth: 0
    functionLinenumber: 2693
    functionLinenumberEnd: 2694
    functionName: NLOHMANN_JSON_PASTE15
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2694
    functionDepth: 0
    functionLinenumber: 2694
    functionLinenumberEnd: 2695
    functionName: NLOHMANN_JSON_PASTE16
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 35
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2695
    functionDepth: 0
    functionLinenumber: 2695
    functionLinenumberEnd: 2696
    functionName: NLOHMANN_JSON_PASTE17
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2697
    functionName: NLOHMANN_JSON_PASTE18
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 39
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2698
      start: 2697
    functionDepth: 0
    functionLinenumber: 2697
    functionLinenumberEnd: 2698
    functionName: NLOHMANN_JSON_PASTE19
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 41
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2699
    functionName: NLOHMANN_JSON_PASTE20
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 43
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2699
    functionDepth: 0
    functionLinenumber: 2699
    functionLinenumberEnd: 2700
    functionName: NLOHMANN_JSON_PASTE21
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 45
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2700
    functionDepth: 0
    functionLinenumber: 2700
    functionLinenumberEnd: 2701
    functionName: NLOHMANN_JSON_PASTE22
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 47
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2702
      start: 2701
    functionDepth: 0
    functionLinenumber: 2701
    functionLinenumberEnd: 2702
    functionName: NLOHMANN_JSON_PASTE23
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 49
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2703
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2703
    functionName: NLOHMANN_JSON_PASTE24
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 51
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2704
    functionName: NLOHMANN_JSON_PASTE25
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 53
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2704
    functionDepth: 0
    functionLinenumber: 2704
    functionLinenumberEnd: 2705
    functionName: NLOHMANN_JSON_PASTE26
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 55
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2705
    functionDepth: 0
    functionLinenumber: 2705
    functionLinenumberEnd: 2706
    functionName: NLOHMANN_JSON_PASTE27
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 57
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2706
    functionDepth: 0
    functionLinenumber: 2706
    functionLinenumberEnd: 2707
    functionName: NLOHMANN_JSON_PASTE28
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 59
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2708
    functionName: NLOHMANN_JSON_PASTE29
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 61
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2708
    functionDepth: 0
    functionLinenumber: 2708
    functionLinenumberEnd: 2709
    functionName: NLOHMANN_JSON_PASTE30
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 63
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2709
    functionDepth: 0
    functionLinenumber: 2709
    functionLinenumberEnd: 2710
    functionName: NLOHMANN_JSON_PASTE31
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 65
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2711
    functionName: NLOHMANN_JSON_PASTE32
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 67
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2712
    functionName: NLOHMANN_JSON_PASTE33
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 69
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2713
    functionName: NLOHMANN_JSON_PASTE34
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 71
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2714
    functionName: NLOHMANN_JSON_PASTE35
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 73
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2714
    functionDepth: 0
    functionLinenumber: 2714
    functionLinenumberEnd: 2715
    functionName: NLOHMANN_JSON_PASTE36
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 75
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2716
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2716
    functionName: NLOHMANN_JSON_PASTE37
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 77
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2717
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2717
    functionName: NLOHMANN_JSON_PASTE38
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 79
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2718
      start: 2717
    functionDepth: 0
    functionLinenumber: 2717
    functionLinenumberEnd: 2718
    functionName: NLOHMANN_JSON_PASTE39
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 81
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2718
    functionDepth: 0
    functionLinenumber: 2718
    functionLinenumberEnd: 2719
    functionName: NLOHMANN_JSON_PASTE40
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 83
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2720
      start: 2719
    functionDepth: 0
    functionLinenumber: 2719
    functionLinenumberEnd: 2720
    functionName: NLOHMANN_JSON_PASTE41
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 85
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2721
      start: 2720
    functionDepth: 0
    functionLinenumber: 2720
    functionLinenumberEnd: 2721
    functionName: NLOHMANN_JSON_PASTE42
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 87
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2722
    functionName: NLOHMANN_JSON_PASTE43
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 89
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2722
    functionDepth: 0
    functionLinenumber: 2722
    functionLinenumberEnd: 2723
    functionName: NLOHMANN_JSON_PASTE44
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 91
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2723
    functionDepth: 0
    functionLinenumber: 2723
    functionLinenumberEnd: 2724
    functionName: NLOHMANN_JSON_PASTE45
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 93
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2725
      start: 2724
    functionDepth: 0
    functionLinenumber: 2724
    functionLinenumberEnd: 2725
    functionName: NLOHMANN_JSON_PASTE46
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 95
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2726
      start: 2725
    functionDepth: 0
    functionLinenumber: 2725
    functionLinenumberEnd: 2726
    functionName: NLOHMANN_JSON_PASTE47
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 97
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2727
      start: 2726
    functionDepth: 0
    functionLinenumber: 2726
    functionLinenumberEnd: 2727
    functionName: NLOHMANN_JSON_PASTE48
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 99
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2728
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2728
    functionName: NLOHMANN_JSON_PASTE49
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 101
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2728
    functionDepth: 0
    functionLinenumber: 2728
    functionLinenumberEnd: 2729
    functionName: NLOHMANN_JSON_PASTE50
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 103
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2730
    functionName: NLOHMANN_JSON_PASTE51
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 105
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2731
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2731
    functionName: NLOHMANN_JSON_PASTE52
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 107
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2732
      start: 2731
    functionDepth: 0
    functionLinenumber: 2731
    functionLinenumberEnd: 2732
    functionName: NLOHMANN_JSON_PASTE53
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 109
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2733
    functionName: NLOHMANN_JSON_PASTE54
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 111
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2733
    functionDepth: 0
    functionLinenumber: 2733
    functionLinenumberEnd: 2734
    functionName: NLOHMANN_JSON_PASTE55
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 113
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2734
    functionDepth: 0
    functionLinenumber: 2734
    functionLinenumberEnd: 2735
    functionName: NLOHMANN_JSON_PASTE56
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 115
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2736
    functionName: NLOHMANN_JSON_PASTE57
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 117
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - ','
    - v57
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2737
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2737
    functionName: NLOHMANN_JSON_PASTE58
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 119
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - ','
    - v57
    - ','
    - v58
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2738
    functionName: NLOHMANN_JSON_PASTE59
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 121
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - ','
    - v57
    - ','
    - v58
    - ','
    - v59
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2738
    functionDepth: 0
    functionLinenumber: 2738
    functionLinenumberEnd: 2739
    functionName: NLOHMANN_JSON_PASTE60
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58,
      v59)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 123
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - ','
    - v57
    - ','
    - v58
    - ','
    - v59
    - ','
    - v60
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2739
    functionDepth: 0
    functionLinenumber: 2739
    functionLinenumberEnd: 2740
    functionName: NLOHMANN_JSON_PASTE61
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58,
      v59, v60)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 125
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - ','
    - v57
    - ','
    - v58
    - ','
    - v59
    - ','
    - v60
    - ','
    - v61
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2741
      start: 2740
    functionDepth: 0
    functionLinenumber: 2740
    functionLinenumberEnd: 2741
    functionName: NLOHMANN_JSON_PASTE62
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58,
      v59, v60, v61)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 127
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - ','
    - v57
    - ','
    - v58
    - ','
    - v59
    - ','
    - v60
    - ','
    - v61
    - ','
    - v62
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2742
      start: 2741
    functionDepth: 0
    functionLinenumber: 2741
    functionLinenumberEnd: 2742
    functionName: NLOHMANN_JSON_PASTE63
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58,
      v59, v60, v61, v62)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 129
    argNames:
    - (
    - func
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - ','
    - v8
    - ','
    - v9
    - ','
    - v10
    - ','
    - v11
    - ','
    - v12
    - ','
    - v13
    - ','
    - v14
    - ','
    - v15
    - ','
    - v16
    - ','
    - v17
    - ','
    - v18
    - ','
    - v19
    - ','
    - v20
    - ','
    - v21
    - ','
    - v22
    - ','
    - v23
    - ','
    - v24
    - ','
    - v25
    - ','
    - v26
    - ','
    - v27
    - ','
    - v28
    - ','
    - v29
    - ','
    - v30
    - ','
    - v31
    - ','
    - v32
    - ','
    - v33
    - ','
    - v34
    - ','
    - v35
    - ','
    - v36
    - ','
    - v37
    - ','
    - v38
    - ','
    - v39
    - ','
    - v40
    - ','
    - v41
    - ','
    - v42
    - ','
    - v43
    - ','
    - v44
    - ','
    - v45
    - ','
    - v46
    - ','
    - v47
    - ','
    - v48
    - ','
    - v49
    - ','
    - v50
    - ','
    - v51
    - ','
    - v52
    - ','
    - v53
    - ','
    - v54
    - ','
    - v55
    - ','
    - v56
    - ','
    - v57
    - ','
    - v58
    - ','
    - v59
    - ','
    - v60
    - ','
    - v61
    - ','
    - v62
    - ','
    - v63
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2742
    functionDepth: 0
    functionLinenumber: 2742
    functionLinenumberEnd: 2743
    functionName: NLOHMANN_JSON_PASTE64
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10,
      v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26,
      v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42,
      v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58,
      v59, v60, v61, v62, v63)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2745
      start: 2744
    functionDepth: 0
    functionLinenumber: 2744
    functionLinenumberEnd: 2745
    functionName: NLOHMANN_JSON_TO
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_TO(v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2745
    functionDepth: 0
    functionLinenumber: 2745
    functionLinenumberEnd: 2746
    functionName: NLOHMANN_JSON_FROM
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_FROM(v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2746
    functionDepth: 0
    functionLinenumber: 2746
    functionLinenumberEnd: 2747
    functionName: NLOHMANN_JSON_FROM_WITH_DEFAULT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_JSON_FROM_WITH_DEFAULT(v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2756
    functionName: NLOHMANN_DEFINE_TYPE_INTRUSIVE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2760
      start: 2757
    functionDepth: 0
    functionLinenumber: 2757
    functionLinenumberEnd: 2760
    functionName: NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT(Type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2763
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2763
    functionName: NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE(Type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2772
      start: 2769
    functionDepth: 0
    functionLinenumber: 2769
    functionLinenumberEnd: 2772
    functionName: NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE(Type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Type
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2776
    functionDepth: 0
    functionLinenumber: 2776
    functionLinenumberEnd: 2779
    functionName: NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT(Type, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - std_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2786
    functionDepth: 0
    functionLinenumber: 2786
    functionLinenumberEnd: 2811
    functionName: NLOHMANN_CAN_CALL_STD_FUNC_IMPL
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NLOHMANN_CAN_CALL_STD_FUNC_IMPL(std_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2912,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2913,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2915,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2915,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2921,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2921,1
    - Dst: std::is_lt
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2932,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2840
    functionDepth: 1
    functionLinenumber: 2840
    functionLinenumberEnd: 2936
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::is_lt
    - std::array::size
    - static_cast<std::size_t>
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2912,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2913,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2915,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2915,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2921,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2921,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - value_t
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2902
    functionDepth: 1
    functionLinenumber: 2902
    functionLinenumberEnd: 2923
    functionName: operator<(const value_t lhs, const value_t rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::array::size
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool operator<(const value_t lhs, const value_t rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::is_lt
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - value_t
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2933
      start: 2930
    functionDepth: 0
    functionLinenumber: 2930
    functionLinenumberEnd: 2933
    functionName: operator<(const value_t lhs, const value_t rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::is_lt
    linkageType: ''
    returnType: bool
    signature: bool operator<(const value_t lhs, const value_t rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2974,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2974,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2975,1
    - Dst: replace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2977,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2977,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2978,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2978,1
    - Dst: replace_substring
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2992,1
    - Dst: replace_substring
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2993,1
    - Dst: replace_substring
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3007,1
    - Dst: replace_substring
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3011
      start: 2937
    functionDepth: 1
    functionLinenumber: 2937
    functionLinenumberEnd: 3011
    functionName: NLOHMANN_JSON_NAMESPACE_BEGIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - empty
    - JSON_ASSERT
    - size
    - find
    - replace_substring
    - replace
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_END
    signature: NLOHMANN_JSON_NAMESPACE_END NLOHMANN_JSON_NAMESPACE_BEGIN
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2974,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2974,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2975,1
    - Dst: replace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2977,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2977,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2978,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' s'
    - ' f'
    - ' t'
    argTypes:
    - StringType
    - StringType
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2980
      start: 2971
    functionDepth: 1
    functionLinenumber: 2971
    functionLinenumberEnd: 2980
    functionName: replace_substring
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - empty
    - JSON_ASSERT
    - size
    - find
    - replace
    linkageType: ''
    returnType: void
    signature: "void replace_substring(StringType& s, const StringType& f,\n                              const
      StringType& t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_substring
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2992,1
    - Dst: replace_substring
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:2993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2990
    functionDepth: 2
    functionLinenumber: 2990
    functionLinenumberEnd: 2995
    functionName: escape
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - replace_substring
    linkageType: ''
    returnType: StringType
    signature: StringType escape(StringType s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_substring
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3007,1
    - Dst: replace_substring
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3009
      start: 3005
    functionDepth: 2
    functionLinenumber: 3005
    functionLinenumberEnd: 3009
    functionName: unescape
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - replace_substring
    linkageType: ''
    returnType: void
    signature: void unescape(StringType& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3051
      start: 3030
    functionDepth: 0
    functionLinenumber: 3030
    functionLinenumberEnd: 3051
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3048
      start: 3045
    functionDepth: 0
    functionLinenumber: 3045
    functionLinenumberEnd: 3048
    functionName: operator size_t() const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator size_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3224,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3227
      start: 3076
    functionDepth: 0
    functionLinenumber: 3076
    functionLinenumberEnd: 3227
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<T>
    - std::forward<Args>
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3128
      start: 3125
    functionDepth: 0
    functionLinenumber: 3125
    functionLinenumberEnd: 3128
    functionName: size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 498
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3224,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3225
      start: 3222
    functionDepth: 0
    functionLinenumber: 3222
    functionLinenumberEnd: 3225
    functionName: make_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    - std::forward<Args>
    linkageType: ''
    returnType: std::array<T, sizeof...(Args)>
    signature: std::array<T, sizeof...(Args)> make_array(Args&& ... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3267
    functionDepth: 0
    functionLinenumber: 3267
    functionLinenumberEnd: 3310
    functionName: detail
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN detail
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3517,1
    - Dst: std::declval<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3517,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3520,1
    - Dst: std::declval<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3520,1
    - Dst: std::declval<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3523,1
    - Dst: static_cast<int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3617,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3622,1
    - Dst: static_cast<int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3627,1
    - Dst: static_cast<int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3641,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3646,1
    - Dst: static_cast<int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3651,1
    - Dst: std::declval<R&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3744,1
    - Dst: std::declval<ConstructibleStringType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3828,1
    - Dst: std::declval<Compare>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3981,1
    - Dst: std::declval<A>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3981,1
    - Dst: std::declval<B>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3981,1
    - Dst: std::declval<Compare>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3982,1
    - Dst: std::declval<B>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3982,1
    - Dst: std::declval<A>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3982,1
    - Dst: std::declval<ObjectType&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4019,1
    - Dst: std::declval<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4019,1
    - Dst: test
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4045,1
    - Dst: static_cast<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4052,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4091,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4091,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4101,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4101,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4111,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4111,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4121,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4121,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4122,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4122,1
    - Dst: gen_vlan_tpid_test
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4136,1
    - Dst: gen_vlan_tpid_test
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4152,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4207
      start: 3438
    functionDepth: 12
    functionLinenumber: 3438
    functionLinenumberEnd: 4207
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::declval<ConstructibleStringType>
    - std::declval<ObjectType&>
    - static_cast<T>
    - gen_vlan_tpid_test
    - std::declval<R&>
    - static_cast<char_type>
    - std::declval<Compare>
    - std::declval<A>
    - from_json
    - static_cast<int_type>
    - static_cast<CommonType>
    - std::declval<T>
    - std::declval<B>
    - test
    - to_json
    - std::declval<Args>
    - std::declval<KeyType>
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3618
      start: 3615
    functionDepth: 0
    functionLinenumber: 3615
    functionLinenumberEnd: 3618
    functionName: to_int_type
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int_type>
    linkageType: ''
    returnType: int_type
    signature: int_type to_int_type(char_type c) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3623
      start: 3620
    functionDepth: 0
    functionLinenumber: 3620
    functionLinenumberEnd: 3623
    functionName: to_char_type
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<char_type>
    linkageType: ''
    returnType: char_type
    signature: char_type to_char_type(int_type i) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3628
      start: 3625
    functionDepth: 0
    functionLinenumber: 3625
    functionLinenumberEnd: 3628
    functionName: eof
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 12
    functionsReached:
    - static_cast<int_type>
    linkageType: ''
    returnType: int_type
    signature: int_type eof() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3642
      start: 3639
    functionDepth: 0
    functionLinenumber: 3639
    functionLinenumberEnd: 3642
    functionName: to_int_type
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int_type>
    linkageType: ''
    returnType: int_type
    signature: int_type to_int_type(char_type c) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3647
      start: 3644
    functionDepth: 0
    functionLinenumber: 3644
    functionLinenumberEnd: 3647
    functionName: to_char_type
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<char_type>
    linkageType: ''
    returnType: char_type
    signature: char_type to_char_type(int_type i) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:3651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3652
      start: 3649
    functionDepth: 0
    functionLinenumber: 3649
    functionLinenumberEnd: 3652
    functionName: eof
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 12
    functionsReached:
    - static_cast<int_type>
    linkageType: ''
    returnType: int_type
    signature: int_type eof() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4053
      start: 4050
    functionDepth: 0
    functionLinenumber: 4050
    functionLinenumberEnd: 4053
    functionName: conditional_static_cast
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: T
    signature: T conditional_static_cast(U value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4059
      start: 4056
    functionDepth: 0
    functionLinenumber: 4056
    functionLinenumberEnd: 4059
    functionName: conditional_static_cast
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T conditional_static_cast(U value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4091,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4092
      start: 4088
    functionDepth: 0
    functionLinenumber: 4088
    functionLinenumberEnd: 4092
    functionName: test
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<CommonType>
    linkageType: ''
    returnType: bool
    signature: bool test(T val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4101,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4102
      start: 4098
    functionDepth: 0
    functionLinenumber: 4098
    functionLinenumberEnd: 4102
    functionName: test
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<CommonType>
    linkageType: ''
    returnType: bool
    signature: bool test(T val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4111,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4112
      start: 4108
    functionDepth: 0
    functionLinenumber: 4108
    functionLinenumberEnd: 4112
    functionName: test
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<CommonType>
    linkageType: ''
    returnType: bool
    signature: bool test(T val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4121,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4121,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4122,1
    - Dst: static_cast<CommonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4123
      start: 4118
    functionDepth: 0
    functionLinenumber: 4118
    functionLinenumberEnd: 4123
    functionName: test
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<CommonType>
    linkageType: ''
    returnType: bool
    signature: bool test(T val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_vlan_tpid_test
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4137
      start: 4134
    functionDepth: 12
    functionLinenumber: 4134
    functionLinenumberEnd: 4137
    functionName: test
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - gen_vlan_tpid_test
    linkageType: ''
    returnType: bool
    signature: bool test(T val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4146
      start: 4143
    functionDepth: 0
    functionLinenumber: 4143
    functionLinenumberEnd: 4146
    functionName: test
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool test(T /*val*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gen_vlan_tpid_test
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4153
      start: 4150
    functionDepth: 12
    functionLinenumber: 4150
    functionLinenumberEnd: 4153
    functionName: value_in_range_of
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - gen_vlan_tpid_test
    linkageType: ''
    returnType: bool
    signature: bool value_in_range_of(T val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4175
      start: 4166
    functionDepth: 0
    functionLinenumber: 4166
    functionLinenumberEnd: 4175
    functionName: impl::is_c_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_c_string()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4175
      start: 4166
    functionDepth: 0
    functionLinenumber: 4166
    functionLinenumberEnd: 4175
    functionName: impl::is_c_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_c_string()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4197
      start: 4194
    functionDepth: 0
    functionLinenumber: 4194
    functionLinenumberEnd: 4197
    functionName: impl::is_transparent
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_transparent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4197
      start: 4194
    functionDepth: 0
    functionLinenumber: 4194
    functionLinenumberEnd: 4197
    functionName: impl::is_transparent
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_transparent()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concat_length
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4248,1
    - Dst: ::strlen
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4255,1
    - Dst: concat_length
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4255,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4261,1
    - Dst: concat_length
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4261,1
    - Dst: std::declval<StringType&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4269,1
    - Dst: std::declval < Arg && >
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4269,1
    - Dst: std::declval<StringType&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4275,1
    - Dst: std::declval < Arg && >
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4275,1
    - Dst: std::declval<StringType&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4281,1
    - Dst: std::declval<const Arg&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4281,1
    - Dst: std::declval<const Arg&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4281,1
    - Dst: std::declval<StringType&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4287,1
    - Dst: std::declval<const Arg&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4287,1
    - Dst: std::declval<const Arg&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4287,1
    - Dst: append
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4314,1
    - Dst: std::forward<Arg>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4314,1
    - Dst: concat_into
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4315,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4315,1
    - Dst: std::forward<Arg>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4323,1
    - Dst: concat_into
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4324,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4324,1
    - Dst: append
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4333,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4333,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4333,1
    - Dst: concat_into
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4334,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4334,1
    - Dst: append
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4344,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4344,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4344,1
    - Dst: concat_into
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4345,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4345,1
    - Dst: OutStringType::reserve
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4352,1
    - Dst: concat_length
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4352,1
    - Dst: concat_into
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4353,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4353,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4230
    functionDepth: 1
    functionLinenumber: 4230
    functionLinenumberEnd: 4357
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::forward<Args>
    - std::declval<const Arg&>
    - append
    - concat_into
    - data
    - ::strlen
    - concat_length
    - begin
    - end
    - std::forward<Arg>
    - OutStringType::reserve
    - size
    - std::declval<StringType&>
    - std::declval < Arg && >
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4237
      start: 4234
    functionDepth: 0
    functionLinenumber: 4234
    functionLinenumberEnd: 4237
    functionName: concat_length
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t concat_length()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concat_length
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4249
      start: 4246
    functionDepth: 1
    functionLinenumber: 4246
    functionLinenumberEnd: 4249
    functionName: concat_length
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - concat_length
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t concat_length(const char /*c*/, const Args& ... rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::strlen
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4255,1
    - Dst: concat_length
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4256
      start: 4252
    functionDepth: 1
    functionLinenumber: 4252
    functionLinenumberEnd: 4256
    functionName: concat_length
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - concat_length
    - ::strlen
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t concat_length(const char* cstr, const Args& ... rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4261,1
    - Dst: concat_length
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4262
      start: 4259
    functionDepth: 1
    functionLinenumber: 4259
    functionLinenumberEnd: 4262
    functionName: concat_length
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - concat_length
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t concat_length(const StringType& str, const Args& ... rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4266
      start: 4265
    functionDepth: 0
    functionLinenumber: 4265
    functionLinenumberEnd: 4266
    functionName: concat_into
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void concat_into(OutStringType& /*out*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4314,1
    - Dst: std::forward<Arg>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4314,1
    - Dst: concat_into
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4315,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' arg'
    argTypes:
    - OutStringType
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4316
      start: 4312
    functionDepth: 1
    functionLinenumber: 4312
    functionLinenumberEnd: 4316
    functionName: concat_into
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - std::forward<Arg>
    - std::forward<Args>
    - append
    - concat_into
    linkageType: ''
    returnType: void
    signature: void concat_into(OutStringType& out, Arg && arg, Args && ... rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Arg>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4323,1
    - Dst: concat_into
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4324,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' arg'
    argTypes:
    - OutStringType
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4325
      start: 4321
    functionDepth: 1
    functionLinenumber: 4321
    functionLinenumberEnd: 4325
    functionName: concat_into
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - std::forward<Args>
    - std::forward<Arg>
    - concat_into
    linkageType: ''
    returnType: void
    signature: void concat_into(OutStringType& out, Arg&& arg, Args&& ... rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4333,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4333,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4333,1
    - Dst: concat_into
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4334,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' arg'
    argTypes:
    - OutStringType
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4335
      start: 4331
    functionDepth: 1
    functionLinenumber: 4331
    functionLinenumberEnd: 4335
    functionName: concat_into
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - std::forward<Args>
    - append
    - concat_into
    - begin
    - end
    linkageType: ''
    returnType: void
    signature: void concat_into(OutStringType& out, const Arg& arg, Args&& ... rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4344,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4344,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4344,1
    - Dst: concat_into
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4345,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' arg'
    argTypes:
    - OutStringType
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4346
      start: 4342
    functionDepth: 1
    functionLinenumber: 4342
    functionLinenumberEnd: 4346
    functionName: concat_into
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 5
    functionsReached:
    - std::forward<Args>
    - append
    - concat_into
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void concat_into(OutStringType& out, const Arg& arg, Args&& ... rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OutStringType::reserve
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4352,1
    - Dst: concat_length
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4352,1
    - Dst: concat_into
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4353,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4355
      start: 4349
    functionDepth: 1
    functionLinenumber: 4349
    functionLinenumberEnd: 4355
    functionName: concat
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - concat_length
    - concat_into
    - std::forward<Args>
    - OutStringType::reserve
    linkageType: ''
    returnType: OutStringType
    signature: OutStringType concat(Args && ... args)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: what
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4377,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4389,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4389,1
    - Dst: auto*::m_parent::type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4404,1
    - Dst: auto*::m_parent::m_data::m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4408,1
    - Dst: auto*::m_parent::m_data::m_value::array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4410,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4412,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4412,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4425,1
    - Dst: first::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4425,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4445,1
    - Dst: std::accumulate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4450,1
    - Dst: std::vector::rbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4450,1
    - Dst: std::vector::rend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4450,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4453,1
    - Dst: escape
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4453,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4455,1
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4457,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4484,1
    - Dst: exception::name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4484,1
    - Dst: position_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4485,1
    - Dst: exception::diagnostics
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4485,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4486,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4492,1
    - Dst: exception::name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4492,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4493,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4493,1
    - Dst: exception::diagnostics
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4494,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4495,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4515,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4515,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4516,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4528,1
    - Dst: exception::name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4528,1
    - Dst: exception::diagnostics
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4528,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4529,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4546,1
    - Dst: exception::name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4546,1
    - Dst: exception::diagnostics
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4546,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4547,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4563,1
    - Dst: exception::name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4563,1
    - Dst: exception::diagnostics
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4563,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4564,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4580,1
    - Dst: exception::name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4580,1
    - Dst: exception::diagnostics
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4580,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4581,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4589
      start: 4358
    functionDepth: 3
    functionLinenumber: 4358
    functionLinenumberEnd: 4589
    functionName: NLOHMANN_JSON_NAMESPACE_BEGIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - first::c_str
    - auto*::m_parent::type
    - concat
    - what
    - exception::name
    - escape
    - to_string
    - static_cast<void>
    - position_string
    - std::vector::emplace_back
    - std::string::c_str
    - std::accumulate
    - std::vector::rend
    - exception::diagnostics
    - auto*::m_parent::m_data::m_value::array
    - std::vector::rbegin
    - auto*::m_parent::m_data::m_value::array::size
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_END
    signature: NLOHMANN_JSON_NAMESPACE_END NLOHMANN_JSON_NAMESPACE_BEGIN
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exception::what
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4378
      start: 4375
    functionDepth: 1
    functionLinenumber: 4375
    functionLinenumberEnd: 4378
    functionName: exception::what
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - exception::what
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4385
      start: 4384
    functionDepth: 0
    functionLinenumber: 4384
    functionLinenumberEnd: 4385
    functionName: "(3)\n    exception(int id_, const char* what_arg) : id(id_), m(what_arg)"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    exception(int id_, const char* what_arg)
      : id(id_), m(what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4389,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ename'
    - id_
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4390
      start: 4387
    functionDepth: 2
    functionLinenumber: 4387
    functionLinenumberEnd: 4390
    functionName: exception::name
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - concat
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string name(const std::string& ename, int id_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4395
      start: 4392
    functionDepth: 0
    functionLinenumber: 4392
    functionLinenumberEnd: 4395
    functionName: exception::diagnostics
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string diagnostics(std::nullptr_t /*leaf_element*/)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: auto*::m_parent::type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4404,1
    - Dst: auto*::m_parent::m_data::m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4408,1
    - Dst: auto*::m_parent::m_data::m_value::array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4410,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4412,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4412,1
    - Dst: std::vector::emplace_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4425,1
    - Dst: first::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4425,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4445,1
    - Dst: std::accumulate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4450,1
    - Dst: std::vector::rbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4450,1
    - Dst: std::vector::rend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4450,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4453,1
    - Dst: escape
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4453,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4455,1
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4457,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - leaf_element
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4460
      start: 4398
    functionDepth: 3
    functionLinenumber: 4398
    functionLinenumberEnd: 4460
    functionName: exception::diagnostics
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::vector::empty
    - first::c_str
    - auto*::m_parent::type
    - concat
    - escape
    - auto*::m_parent::m_data::m_value::array::size
    - static_cast<void>
    - std::vector::emplace_back
    - std::accumulate
    - std::vector::rend
    - auto*::m_parent::m_data::m_value::array
    - std::vector::rbegin
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string diagnostics(const BasicJsonType* leaf_element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4484,1
    - Dst: exception::name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4484,1
    - Dst: parse_error::position_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4485,1
    - Dst: exception::diagnostics
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4485,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - id_
    - ' pos'
    - ' what_arg'
    - context
    argTypes:
    - int
    - position_t
    - std::string
    - BasicJsonContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4487
      start: 4482
    functionDepth: 3
    functionLinenumber: 4482
    functionLinenumberEnd: 4487
    functionName: parse_error::create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - exception::name
    - concat
    - parse_error::position_string
    - std::string::c_str
    - exception::diagnostics
    linkageType: ''
    returnType: parse_error
    signature: parse_error create(int id_, const position_t& pos, const std::string&
      what_arg, BasicJsonContext context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4492,1
    - Dst: exception::name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4492,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4493,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4493,1
    - Dst: exception::diagnostics
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4494,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - id_
    - byte_
    - ' what_arg'
    - context
    argTypes:
    - int
    - std::size_t
    - std::string
    - BasicJsonContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4496
      start: 4490
    functionDepth: 3
    functionLinenumber: 4490
    functionLinenumberEnd: 4496
    functionName: parse_error::create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - exception::name
    - concat
    - std::string::c_str
    - exception::diagnostics
    - to_string
    linkageType: ''
    returnType: parse_error
    signature: parse_error create(int id_, std::size_t byte_, const std::string& what_arg,
      BasicJsonContext context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - id_
    - byte_
    - what_arg
    argTypes:
    - int
    - std::size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4511
      start: 4510
    functionDepth: 0
    functionLinenumber: 4510
    functionLinenumberEnd: 4511
    functionName: parse_error::parse_error
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void parse_error(int id_, std::size_t byte_, const char* what_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4515,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4515,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pos'
    argTypes:
    - position_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4517
      start: 4513
    functionDepth: 2
    functionLinenumber: 4513
    functionLinenumberEnd: 4517
    functionName: parse_error::position_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - concat
    - to_string
    linkageType: ''
    returnType: std::string
    signature: std::string position_string(const position_t& pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4528,1
    - Dst: exception::name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4528,1
    - Dst: exception::diagnostics
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4528,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id_
    - ' what_arg'
    - context
    argTypes:
    - int
    - std::string
    - BasicJsonContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4530
      start: 4526
    functionDepth: 3
    functionLinenumber: 4526
    functionLinenumberEnd: 4530
    functionName: invalid_iterator::create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - exception::name
    - concat
    - exception::diagnostics
    linkageType: ''
    returnType: invalid_iterator
    signature: invalid_iterator create(int id_, const std::string& what_arg, BasicJsonContext
      context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4535
      start: 4533
    functionDepth: 0
    functionLinenumber: 4533
    functionLinenumberEnd: 4535
    functionName: "(3)\n    invalid_iterator(int id_, const char* what_arg)\n        :
      exception(id_, what_arg)"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    invalid_iterator(int id_, const char*
      what_arg)\n        : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4546,1
    - Dst: exception::name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4546,1
    - Dst: exception::diagnostics
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4546,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id_
    - ' what_arg'
    - context
    argTypes:
    - int
    - std::string
    - BasicJsonContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4548
      start: 4544
    functionDepth: 3
    functionLinenumber: 4544
    functionLinenumberEnd: 4548
    functionName: type_error::create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - exception::name
    - concat
    - exception::diagnostics
    linkageType: ''
    returnType: type_error
    signature: type_error create(int id_, const std::string& what_arg, BasicJsonContext
      context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4552
      start: 4551
    functionDepth: 0
    functionLinenumber: 4551
    functionLinenumberEnd: 4552
    functionName: "(3)\n    type_error(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    type_error(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4563,1
    - Dst: exception::name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4563,1
    - Dst: exception::diagnostics
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4563,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id_
    - ' what_arg'
    - context
    argTypes:
    - int
    - std::string
    - BasicJsonContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4565
      start: 4561
    functionDepth: 3
    functionLinenumber: 4561
    functionLinenumberEnd: 4565
    functionName: out_of_range::create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - exception::name
    - concat
    - exception::diagnostics
    linkageType: ''
    returnType: out_of_range
    signature: out_of_range create(int id_, const std::string& what_arg, BasicJsonContext
      context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4569
      start: 4568
    functionDepth: 0
    functionLinenumber: 4568
    functionLinenumberEnd: 4569
    functionName: "(3)\n    out_of_range(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    out_of_range(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4580,1
    - Dst: exception::name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4580,1
    - Dst: exception::diagnostics
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4580,1
    - Dst: std::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id_
    - ' what_arg'
    - context
    argTypes:
    - int
    - std::string
    - BasicJsonContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4582
      start: 4578
    functionDepth: 3
    functionLinenumber: 4578
    functionLinenumberEnd: 4582
    functionName: other_error::create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - exception::name
    - concat
    - exception::diagnostics
    linkageType: ''
    returnType: other_error
    signature: other_error create(int id_, const std::string& what_arg, BasicJsonContext
      context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4586
      start: 4585
    functionDepth: 0
    functionLinenumber: 4585
    functionLinenumberEnd: 4586
    functionName: "(3)\n    other_error(int id_, const char* what_arg) : exception(id_,
      what_arg)"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    other_error(int id_, const char* what_arg)
      : exception(id_, what_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4617
      start: 4590
    functionDepth: 0
    functionLinenumber: 4590
    functionLinenumberEnd: 4617
    functionName: NLOHMANN_JSON_NAMESPACE_BEGIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_END
    signature: NLOHMANN_JSON_NAMESPACE_END NLOHMANN_JSON_NAMESPACE_BEGIN
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4640
      start: 4636
    functionDepth: 0
    functionLinenumber: 4636
    functionLinenumberEnd: 4640
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4648
      start: 4644
    functionDepth: 0
    functionLinenumber: 4644
    functionLinenumberEnd: 4648
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4666,1
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4666,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4668,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4668,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4668,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4668,1
    - Dst: static_cast<value_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4680,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4684,1
    - Dst: template get_ptr<const typename BasicJsonType::number_unsigned_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4684,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4689,1
    - Dst: template get_ptr<const typename BasicJsonType::number_integer_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4689,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4694,1
    - Dst: template get_ptr<const typename BasicJsonType::number_float_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4694,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4706,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4706,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4706,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4706,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4713,1
    - Dst: is_boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4713,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4715,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4715,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4715,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4715,1
    - Dst: template get_ptr<const typename BasicJsonType::boolean_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4717,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4723,1
    - Dst: is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4723,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4725,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4725,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4725,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4725,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4727,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4739,1
    - Dst: is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4739,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4741,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4741,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4741,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4741,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4744,1
    - Dst: get_arithmetic_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4750,1
    - Dst: get_arithmetic_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4756,1
    - Dst: get_arithmetic_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4762,1
    - Dst: get_arithmetic_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4771,1
    - Dst: static_cast<EnumType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4772,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4781,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4781,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4783,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4783,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4783,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4783,1
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4785,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4786,1
    - Dst: rbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4786,1
    - Dst: rend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4786,1
    - Dst: std::front_inserter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4787,1
    - Dst: template get<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4789,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4798,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4798,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4800,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4800,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4800,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4800,1
    - Dst: resize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4802,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4802,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4803,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4803,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4803,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4803,1
    - Dst: template get<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4806,1
    - Dst: template get<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4812,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4816,1
    - Dst: template get_ptr<const typename BasicJsonType::array_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4823,1
    - Dst: template get<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4829,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4833,1
    - Dst: reserve
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4843,1
    - Dst: std::declval<typename ConstructibleArrayType::size_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4843,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4844,1
    - Dst: ConstructibleArrayType::reserve
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4850,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4850,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4851,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4851,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4851,1
    - Dst: std::inserter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4852,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4852,1
    - Dst: std::size_t::template get<typename ConstructibleArrayType::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4856,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4858,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4871,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4872,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4872,1
    - Dst: std::inserter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4872,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4872,1
    - Dst: std::size_t::template get<typename ConstructibleArrayType::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4877,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4879,1
    - Dst: from_json_array_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4891,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4892,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4895,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4895,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4897,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4897,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4897,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4897,1
    - Dst: from_json_array_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4900,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4907,1
    - Dst: from_json_inplace_array_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4912,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4912,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4914,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4914,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4916,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4916,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4916,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4916,1
    - Dst: from_json_inplace_array_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4919,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4919,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4925,1
    - Dst: is_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4925,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4927,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4927,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4927,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4927,1
    - Dst: template get_ptr<const typename BasicJsonType::binary_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4930,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4937,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4937,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4939,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4939,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4939,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4939,1
    - Dst: template get_ptr<const typename BasicJsonType::object_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4943,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4945,1
    - Dst: auto*::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4946,1
    - Dst: auto*::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4946,1
    - Dst: std::inserter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4947,1
    - Dst: ConstructibleObjectType::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4947,1
    - Dst: value_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4950,1
    - Dst: second::template get<typename ConstructibleObjectType::mapped_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4950,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4952,1
    - Dst: static_cast<value_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4969,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4973,1
    - Dst: template get_ptr<const typename BasicJsonType::number_unsigned_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4973,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4978,1
    - Dst: template get_ptr<const typename BasicJsonType::number_integer_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4978,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4983,1
    - Dst: template get_ptr<const typename BasicJsonType::number_float_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4983,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4988,1
    - Dst: template get_ptr<const typename BasicJsonType::boolean_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4988,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4999,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4999,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4999,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4999,1
    - Dst: std::make_tuple
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5006,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5006,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5012,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5013,1
    - Dst: from_json_tuple_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5019,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5019,1
    - Dst: from_json_tuple_impl_base
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5025,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5025,1
    - Dst: from_json_tuple_impl_base
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5031,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5031,1
    - Dst: from_json_tuple_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5036,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5036,1
    - Dst: std::forward<TupleRelated>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5036,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5038,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5038,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5040,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5040,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5040,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5040,1
    - Dst: from_json_tuple_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5043,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5043,1
    - Dst: std::forward<TupleRelated>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5043,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5051,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5051,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5053,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5053,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5053,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5053,1
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5055,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5058,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5058,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5060,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5060,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5060,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5060,1
    - Dst: emplace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5062,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5062,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5062,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5071,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5071,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5073,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5073,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5073,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5073,1
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5075,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5078,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5078,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5080,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5080,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5080,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5080,1
    - Dst: emplace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5082,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5082,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5082,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5090,1
    - Dst: is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5090,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5092,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5092,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5092,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5092,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5094,1
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5102,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5102,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5102,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5103,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5103,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5105,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5105,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 185
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5109
      start: 4659
    functionDepth: 4
    functionLinenumber: 4659
    functionLinenumberEnd: 5109
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - from_json_inplace_array_impl
    - type_error::create
    - is_string
    - template get_ptr<const typename BasicJsonType::binary_t*>
    - rbegin
    - from_json_tuple_impl
    - std::forward<TupleRelated>
    - end
    - type_name
    - reserve
    - is_object
    - static_cast<EnumType>
    - size
    - ConstructibleObjectType::begin
    - from_json
    - static_cast<ArithmeticType>
    - clear
    - at
    - from_json_tuple_impl_base
    - std::forward<T>
    - std::size_t::template get<typename ConstructibleArrayType::value_type>
    - template get_ptr<const typename BasicJsonType::array_t*>
    - is_array
    - rend
    - is_null
    - template get_ptr<const typename BasicJsonType::object_t*>
    - value_type
    - second::template get<typename ConstructibleObjectType::mapped_type>
    - std::forward<BasicJsonType>
    - auto*::begin
    - std::front_inserter
    - JSON_THROW
    - template get<typename ConstructibleArrayType::value_type>
    - emplace
    - template get_ptr<const typename BasicJsonType::number_unsigned_t*>
    - JSON_HEDLEY_UNLIKELY
    - concat
    - std::inserter
    - begin
    - is_binary
    - std::declval<typename ConstructibleArrayType::size_type>
    - ConstructibleArrayType::reserve
    - template get_ptr<const typename BasicJsonType::boolean_t*>
    - template get_ptr<const typename BasicJsonType::number_integer_t*>
    - std::transform
    - resize
    - noexcept
    - std::make_tuple
    - template get_ptr<const typename BasicJsonType::string_t*>
    - from_json_array_impl
    - is_boolean
    - get_arithmetic_value
    - auto*::end
    - static_cast<value_t>
    - std::move
    - template get_ptr<const typename BasicJsonType::number_float_t*>
    - template get<T>
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4666,1
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4666,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4668,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4668,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4668,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' n'
    argTypes:
    - BasicJsonType
    - typename std::nullptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4671
      start: 4664
    functionDepth: 4
    functionLinenumber: 4664
    functionLinenumberEnd: 4671
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - is_null
    - type_name
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename std::nullptr_t& n)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4680,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4684,1
    - Dst: template get_ptr<const typename BasicJsonType::number_unsigned_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4684,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4689,1
    - Dst: template get_ptr<const typename BasicJsonType::number_integer_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4689,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4694,1
    - Dst: template get_ptr<const typename BasicJsonType::number_float_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4694,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4706,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4706,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4706,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ArithmeticType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4708
      start: 4678
    functionDepth: 4
    functionLinenumber: 4678
    functionLinenumberEnd: 4708
    functionName: get_arithmetic_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - type_error::create
    - concat
    - type_name
    - static_cast<ArithmeticType>
    - template get_ptr<const typename BasicJsonType::number_integer_t*>
    - static_cast<value_t>
    - JSON_THROW
    - template get_ptr<const typename BasicJsonType::number_float_t*>
    - template get_ptr<const typename BasicJsonType::number_unsigned_t*>
    linkageType: ''
    returnType: void
    signature: void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4713,1
    - Dst: is_boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4713,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4715,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4715,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4715,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4715,1
    - Dst: template get_ptr<const typename BasicJsonType::boolean_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::boolean_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4718
      start: 4711
    functionDepth: 4
    functionLinenumber: 4711
    functionLinenumberEnd: 4718
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - type_name
    - is_boolean
    - template get_ptr<const typename BasicJsonType::boolean_t*>
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t&
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4723,1
    - Dst: is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4723,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4725,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4725,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4725,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4725,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4728
      start: 4721
    functionDepth: 4
    functionLinenumber: 4721
    functionLinenumberEnd: 4728
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - is_string
    - JSON_HEDLEY_UNLIKELY
    - type_error::create
    - concat
    - template get_ptr<const typename BasicJsonType::string_t*>
    - type_name
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::string_t&
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4739,1
    - Dst: is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4739,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4741,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4741,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4741,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4741,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4745
      start: 4737
    functionDepth: 4
    functionLinenumber: 4737
    functionLinenumberEnd: 4745
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - is_string
    - JSON_HEDLEY_UNLIKELY
    - type_error::create
    - concat
    - template get_ptr<const typename BasicJsonType::string_t*>
    - type_name
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, StringType& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_arithmetic_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4751
      start: 4748
    functionDepth: 5
    functionLinenumber: 4748
    functionLinenumberEnd: 4751
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_arithmetic_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4757
      start: 4754
    functionDepth: 5
    functionLinenumber: 4754
    functionLinenumberEnd: 4757
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_arithmetic_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4763
      start: 4760
    functionDepth: 5
    functionLinenumber: 4760
    functionLinenumberEnd: 4763
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - get_arithmetic_value
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t&
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_arithmetic_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4771,1
    - Dst: static_cast<EnumType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' j'
    - ' e'
    argTypes:
    - BasicJsonType
    - EnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4773
      start: 4768
    functionDepth: 5
    functionLinenumber: 4768
    functionLinenumberEnd: 4773
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - get_arithmetic_value
    - static_cast<EnumType>
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, EnumType& e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4781,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4781,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4783,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4783,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4783,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4783,1
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4785,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4786,1
    - Dst: rbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4786,1
    - Dst: rend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4786,1
    - Dst: std::front_inserter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4787,1
    - Dst: template get<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' l'
    argTypes:
    - BasicJsonType
    - std::forward_list<T, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4791
      start: 4779
    functionDepth: 4
    functionLinenumber: 4779
    functionLinenumberEnd: 4791
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - rbegin
    - type_name
    - clear
    - std::transform
    - std::front_inserter
    - JSON_THROW
    - is_array
    - template get<T>
    - rend
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::forward_list<T, Allocator>&
      l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4798,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4798,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4800,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4800,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4800,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4800,1
    - Dst: resize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4802,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4802,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4803,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4803,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4803,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4803,1
    - Dst: template get<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' l'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4808
      start: 4796
    functionDepth: 4
    functionLinenumber: 4796
    functionLinenumberEnd: 4808
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - begin
    - end
    - type_name
    - size
    - std::transform
    - resize
    - JSON_THROW
    - is_array
    - template get<T>
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::valarray<T>& l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4812,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - (arr)
    argTypes:
    - BasicJsonType
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4818
      start: 4811
    functionDepth: 1
    functionLinenumber: 4811
    functionLinenumberEnd: 4818
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - at
    - template get<T>
    linkageType: ''
    returnType: auto
    signature: 'auto from_json(const BasicJsonType& j, T (&arr)[N])  // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays)

      -> decltype(j.template get<T>(), void())'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get_ptr<const typename BasicJsonType::array_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4824
      start: 4821
    functionDepth: 0
    functionLinenumber: 4821
    functionLinenumberEnd: 4824
    functionName: from_json_array_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - template get_ptr<const typename BasicJsonType::array_t*>
    linkageType: ''
    returnType: void
    signature: void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t&
      arr, priority_tag<3> /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template get<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4829,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::array<T, N>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4835
      start: 4827
    functionDepth: 1
    functionLinenumber: 4827
    functionLinenumberEnd: 4835
    functionName: from_json_array_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - at
    - template get<T>
    linkageType: ''
    returnType: auto
    signature: "auto from_json_array_impl(const BasicJsonType& j, std::array<T, N>&
      arr,\n                          priority_tag<2> /*unused*/)\n-> decltype(j.template
      get<T>(), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4843,1
    - Dst: std::declval<typename ConstructibleArrayType::size_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4843,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4844,1
    - Dst: ConstructibleArrayType::reserve
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4850,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4850,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4851,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4851,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4851,1
    - Dst: std::inserter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4852,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4852,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4856,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4859
      start: 4841
    functionDepth: 1
    functionLinenumber: 4841
    functionLinenumberEnd: 4859
    functionName: from_json_array_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::inserter
    - begin
    - end
    - reserve
    - ConstructibleArrayType::reserve
    - std::declval<typename ConstructibleArrayType::size_type>
    - size
    - std::transform
    - template get<typename ConstructibleArrayType::value_type>
    - std::move
    linkageType: ''
    returnType: auto
    signature: "auto from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType&
      arr, priority_tag<1> /*unused*/)\n-> decltype(\n    arr.reserve(std::declval<typename
      ConstructibleArrayType::size_type>()),\n    j.template get<typename ConstructibleArrayType::value_type>(),\n
      \   void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::transform
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4871,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4872,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4872,1
    - Dst: std::inserter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4872,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4872,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4877,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4880
      start: 4865
    functionDepth: 1
    functionLinenumber: 4865
    functionLinenumberEnd: 4880
    functionName: from_json_array_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::inserter
    - begin
    - end
    - std::transform
    - template get<typename ConstructibleArrayType::value_type>
    - std::move
    linkageType: ''
    returnType: void
    signature: "void from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType&
      arr,\n                                 priority_tag<0> /*unused*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: from_json_array_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4891,1
    - Dst: template get<typename ConstructibleArrayType::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4892,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4895,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4895,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4897,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4897,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4897,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4897,1
    - Dst: from_json_array_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - ConstructibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4901
      start: 4890
    functionDepth: 4
    functionLinenumber: 4890
    functionLinenumberEnd: 4901
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - from_json_array_impl
    - type_name
    - template get<typename ConstructibleArrayType::value_type>
    - JSON_THROW
    - is_array
    linkageType: ''
    returnType: auto
    signature: 'auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr)

      -> decltype(from_json_array_impl(j, arr, priority_tag<3> {}),

      j.template get<typename ConstructibleArrayType::value_type>(),

      void())'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4908
      start: 4904
    functionDepth: 0
    functionLinenumber: 4904
    functionLinenumberEnd: 4908
    functionName: from_json_inplace_array_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::forward<BasicJsonType>
    linkageType: ''
    returnType: std::array<T, sizeof...(Idx)>
    signature: "std::array<T, sizeof...(Idx)> from_json_inplace_array_impl(BasicJsonType&&
      j,\n        identity_tag<std::array<T, sizeof...(Idx)>> /*unused*/, index_sequence<Idx...>
      /*unused*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: from_json_inplace_array_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4912,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4912,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4914,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4914,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4916,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4916,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4916,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4916,1
    - Dst: from_json_inplace_array_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4919,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - tag
    argTypes:
    - BasicJsonType
    - identity_tag<std::array<T, N>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4920
      start: 4911
    functionDepth: 4
    functionLinenumber: 4911
    functionLinenumberEnd: 4920
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - from_json_inplace_array_impl
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - type_name
    - std::forward<BasicJsonType>
    - JSON_THROW
    - is_array
    linkageType: ''
    returnType: auto
    signature: 'auto from_json(BasicJsonType&& j, identity_tag<std::array<T, N>> tag)

      -> decltype(from_json_inplace_array_impl(std::forward<BasicJsonType>(j), tag,
      make_index_sequence<N> {}))'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4925,1
    - Dst: is_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4925,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4927,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4927,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4927,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4927,1
    - Dst: template get_ptr<const typename BasicJsonType::binary_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' bin'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4931
      start: 4923
    functionDepth: 4
    functionLinenumber: 4923
    functionLinenumberEnd: 4931
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - template get_ptr<const typename BasicJsonType::binary_t*>
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - is_binary
    - type_name
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, typename BasicJsonType::binary_t&
      bin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4937,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4937,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4939,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4939,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4939,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4939,1
    - Dst: template get_ptr<const typename BasicJsonType::object_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4943,1
    - Dst: std::transform
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4945,1
    - Dst: auto*::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4946,1
    - Dst: auto*::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4946,1
    - Dst: std::inserter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4947,1
    - Dst: ConstructibleObjectType::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4947,1
    - Dst: value_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4950,1
    - Dst: second::template get<typename ConstructibleObjectType::mapped_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4950,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - ConstructibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4953
      start: 4935
    functionDepth: 4
    functionLinenumber: 4935
    functionLinenumberEnd: 4953
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - std::inserter
    - type_name
    - is_object
    - template get_ptr<const typename BasicJsonType::object_t*>
    - value_type
    - second::template get<typename ConstructibleObjectType::mapped_type>
    - ConstructibleObjectType::begin
    - auto*::end
    - std::transform
    - auto*::begin
    - JSON_THROW
    - std::move
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ConstructibleObjectType& obj)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4969,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4973,1
    - Dst: template get_ptr<const typename BasicJsonType::number_unsigned_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4973,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4978,1
    - Dst: template get_ptr<const typename BasicJsonType::number_integer_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4978,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4983,1
    - Dst: template get_ptr<const typename BasicJsonType::number_float_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4983,1
    - Dst: static_cast<ArithmeticType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4988,1
    - Dst: template get_ptr<const typename BasicJsonType::boolean_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4988,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4999,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4999,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4999,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:4999,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - ArithmeticType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5001
      start: 4967
    functionDepth: 4
    functionLinenumber: 4967
    functionLinenumberEnd: 5001
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - type_error::create
    - concat
    - type_name
    - template get_ptr<const typename BasicJsonType::boolean_t*>
    - static_cast<ArithmeticType>
    - template get_ptr<const typename BasicJsonType::number_integer_t*>
    - static_cast<value_t>
    - JSON_THROW
    - template get_ptr<const typename BasicJsonType::number_float_t*>
    - template get_ptr<const typename BasicJsonType::number_unsigned_t*>
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, ArithmeticType& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_tuple
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5006,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5007
      start: 5004
    functionDepth: 0
    functionLinenumber: 5004
    functionLinenumberEnd: 5007
    functionName: from_json_tuple_impl_base
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::forward<BasicJsonType>
    - std::make_tuple
    linkageType: ''
    returnType: std::tuple<Args...>
    signature: std::tuple<Args...> from_json_tuple_impl_base(BasicJsonType&& j, index_sequence<Idx...>
      /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5012,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5014
      start: 5010
    functionDepth: 0
    functionLinenumber: 5010
    functionLinenumberEnd: 5014
    functionName: from_json_tuple_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::forward<BasicJsonType>
    linkageType: ''
    returnType: std::pair<A1, A2>
    signature: std::pair<A1, A2> from_json_tuple_impl(BasicJsonType&& j, identity_tag<std::pair<A1,
      A2>> /*unused*/, priority_tag<0> /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_json_tuple_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5019,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std::pair<A1, A2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5020
      start: 5017
    functionDepth: 1
    functionLinenumber: 5017
    functionLinenumberEnd: 5020
    functionName: from_json_tuple_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - from_json_tuple_impl
    - std::forward<BasicJsonType>
    linkageType: ''
    returnType: void
    signature: void from_json_tuple_impl(BasicJsonType&& j, std::pair<A1, A2>& p,
      priority_tag<1> /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_json_tuple_impl_base
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5025,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5026
      start: 5023
    functionDepth: 1
    functionLinenumber: 5023
    functionLinenumberEnd: 5026
    functionName: from_json_tuple_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - std::forward<BasicJsonType>
    - from_json_tuple_impl_base
    linkageType: ''
    returnType: std::tuple<Args...>
    signature: std::tuple<Args...> from_json_tuple_impl(BasicJsonType&& j, identity_tag<std::tuple<Args...>>
      /*unused*/, priority_tag<2> /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_json_tuple_impl_base
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5031,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5031,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - std::tuple<Args...>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5032
      start: 5029
    functionDepth: 1
    functionLinenumber: 5029
    functionLinenumberEnd: 5032
    functionName: from_json_tuple_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - std::forward<BasicJsonType>
    - from_json_tuple_impl_base
    linkageType: ''
    returnType: void
    signature: void from_json_tuple_impl(BasicJsonType&& j, std::tuple<Args...>& t,
      priority_tag<3> /*unused*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: from_json_tuple_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5036,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5036,1
    - Dst: std::forward<TupleRelated>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5036,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5038,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5038,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5040,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5040,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5040,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5040,1
    - Dst: from_json_tuple_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5043,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5043,1
    - Dst: std::forward<TupleRelated>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5043,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - TupleRelated
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5044
      start: 5035
    functionDepth: 4
    functionLinenumber: 5035
    functionLinenumberEnd: 5044
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - std::forward<TupleRelated>
    - JSON_HEDLEY_UNLIKELY
    - from_json_tuple_impl
    - type_error::create
    - concat
    - type_name
    - std::forward<BasicJsonType>
    - JSON_THROW
    - is_array
    linkageType: ''
    returnType: auto
    signature: 'auto from_json(BasicJsonType&& j, TupleRelated&& t)

      -> decltype(from_json_tuple_impl(std::forward<BasicJsonType>(j), std::forward<TupleRelated>(t),
      priority_tag<3> {}))'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5051,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5051,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5053,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5053,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5053,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5053,1
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5055,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5058,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5058,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5060,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5060,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5060,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5060,1
    - Dst: emplace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5062,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5062,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' j'
    - ' m'
    argTypes:
    - BasicJsonType
    - std::map<Key, Value, Compare, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5064
      start: 5049
    functionDepth: 4
    functionLinenumber: 5049
    functionLinenumberEnd: 5064
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - type_name
    - clear
    - at
    - JSON_THROW
    - emplace
    - is_array
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::map<Key, Value, Compare,
      Allocator>& m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5071,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5071,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5073,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5073,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5073,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5073,1
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5075,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5078,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5078,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5080,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5080,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5080,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5080,1
    - Dst: emplace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5082,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5082,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' j'
    - ' m'
    argTypes:
    - BasicJsonType
    - std::unordered_map<Key, Value, Hash, KeyEqual, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5084
      start: 5069
    functionDepth: 4
    functionLinenumber: 5069
    functionLinenumberEnd: 5084
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - type_name
    - clear
    - at
    - JSON_THROW
    - emplace
    - is_array
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std::unordered_map<Key, Value,
      Hash, KeyEqual, Allocator>& m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5090,1
    - Dst: is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5090,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5092,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5092,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5092,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5092,1
    - Dst: template get_ptr<const typename BasicJsonType::string_t*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std_fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5095
      start: 5088
    functionDepth: 4
    functionLinenumber: 5088
    functionLinenumberEnd: 5095
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - is_string
    - JSON_HEDLEY_UNLIKELY
    - type_error::create
    - concat
    - template get_ptr<const typename BasicJsonType::string_t*>
    - type_name
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void from_json(const BasicJsonType& j, std_fs::path& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5102,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5102,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5102,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5103,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5103,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5105,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5106
      start: 5101
    functionDepth: 5
    functionLinenumber: 5101
    functionLinenumberEnd: 5106
    functionName: "operator()(const BasicJsonType& j, T&& val) const\n    noexcept(noexcept(from_json(j,
      std::forward<T>(val))))\n    -> decltype(from_json(j, std::forward<T>(val)))"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - from_json
    - std::forward<T>
    - noexcept
    linkageType: ''
    returnType: auto
    signature: "auto operator()(const BasicJsonType& j, T&& val) const\n    noexcept(noexcept(from_json(j,
      std::forward<T>(val))))\n    -> decltype(from_json(j, std::forward<T>(val)))"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5183,1
    - Dst: std::declval<IteratorType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5193,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5212,1
    - Dst: iteration_proxy_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5244,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5265,1
    - Dst: m_object::type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5267,1
    - Dst: int_to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5274,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5282,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5301,1
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5328,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5328,1
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5334,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5334,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5342,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5344,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5350,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5352,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5355
      start: 5174
    functionDepth: 1
    functionLinenumber: 5174
    functionLinenumberEnd: 5355
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - begin
    - end
    - iteration_proxy_value
    - JSON_ASSERT
    - int_to_string
    - iteration_proxy_value<IteratorType>
    - value
    - key
    - std::declval<IteratorType>
    - m_object::type
    - std::move
    - to_string
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' target'
    - value
    argTypes:
    - string_type
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5184
      start: 5179
    functionDepth: 1
    functionLinenumber: 5179
    functionLinenumberEnd: 5184
    functionName: int_to_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - to_string
    linkageType: ''
    returnType: void
    signature: void int_to_string( string_type& target, std::size_t value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5208
      start: 5208
    functionDepth: 0
    functionLinenumber: 5208
    functionLinenumberEnd: 5208
    functionName: iteration_proxy_value::iteration_proxy_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5214
      start: 5209
    functionDepth: 0
    functionLinenumber: 5209
    functionLinenumberEnd: 5214
    functionName: iteration_proxy_value::iteration_proxy_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void iteration_proxy_value(IteratorType it, std::size_t array_index_
      = 0)\n    noexcept(std::is_nothrow_move_constructible<IteratorType>::value\n
      \            && std::is_nothrow_default_constructible<string_type>::value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5216
      start: 5216
    functionDepth: 0
    functionLinenumber: 5216
    functionLinenumberEnd: 5216
    functionName: iteration_proxy_value::iteration_proxy_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy_value(iteration_proxy_value const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5217
      start: 5217
    functionDepth: 0
    functionLinenumber: 5217
    functionLinenumberEnd: 5217
    functionName: '& operator=(iteration_proxy_value const&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator=(iteration_proxy_value const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5221
      start: 5219
    functionDepth: 0
    functionLinenumber: 5219
    functionLinenumberEnd: 5221
    functionName: iteration_proxy_value::iteration_proxy_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void iteration_proxy_value(iteration_proxy_value&&)\n    noexcept(std::is_nothrow_move_constructible<IteratorType>::value\n
      \            && std::is_nothrow_move_constructible<string_type>::value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5224
      start: 5222
    functionDepth: 0
    functionLinenumber: 5222
    functionLinenumberEnd: 5224
    functionName: "& operator=(iteration_proxy_value&&)\n    noexcept(std::is_nothrow_move_assignable<IteratorType>::value\n
      \            && std::is_nothrow_move_assignable<string_type>::value)"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: "iteration_proxy_value & operator=(iteration_proxy_value&&)\n    noexcept(std::is_nothrow_move_assignable<IteratorType>::value\n
      \            && std::is_nothrow_move_assignable<string_type>::value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5225
      start: 5225
    functionDepth: 0
    functionLinenumber: 5225
    functionLinenumberEnd: 5225
    functionName: ~iteration_proxy_value()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~iteration_proxy_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5231
      start: 5228
    functionDepth: 0
    functionLinenumber: 5228
    functionLinenumberEnd: 5231
    functionName: '& operator*() const'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5240
      start: 5234
    functionDepth: 0
    functionLinenumber: 5234
    functionLinenumberEnd: 5240
    functionName: '& operator++()'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5248
      start: 5242
    functionDepth: 0
    functionLinenumber: 5242
    functionLinenumberEnd: 5248
    functionName: operator++(int)&
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - iteration_proxy_value
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value operator++(int)&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - iteration_proxy_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5254
      start: 5251
    functionDepth: 0
    functionLinenumber: 5251
    functionLinenumberEnd: 5254
    functionName: operator==(const iteration_proxy_value& o) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iteration_proxy_value& o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - iteration_proxy_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5260
      start: 5257
    functionDepth: 0
    functionLinenumber: 5257
    functionLinenumberEnd: 5260
    functionName: operator!=(const iteration_proxy_value& o) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iteration_proxy_value& o) const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5265,1
    - Dst: m_object::type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5267,1
    - Dst: int_to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5274,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5296
      start: 5263
    functionDepth: 2
    functionLinenumber: 5263
    functionLinenumberEnd: 5296
    functionName: '& key() const'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - key
    - m_object::type
    - JSON_ASSERT
    - int_to_string
    linkageType: ''
    returnType: string_type
    signature: string_type & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value::value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5302
      start: 5299
    functionDepth: 1
    functionLinenumber: 5299
    functionLinenumberEnd: 5302
    functionName: iteration_proxy_value::value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - iteration_proxy_value::value
    linkageType: ''
    returnType: typename IteratorType::reference
    signature: typename IteratorType::reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5313
      start: 5313
    functionDepth: 0
    functionLinenumber: 5313
    functionLinenumberEnd: 5313
    functionName: iteration_proxy::iteration_proxy
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cont
    argTypes:
    - typename IteratorType::reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5317
      start: 5316
    functionDepth: 0
    functionLinenumber: 5316
    functionLinenumberEnd: 5317
    functionName: iteration_proxy::iteration_proxy
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy(typename IteratorType::reference cont) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5319
      start: 5319
    functionDepth: 0
    functionLinenumber: 5319
    functionLinenumberEnd: 5319
    functionName: iteration_proxy::iteration_proxy
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy(iteration_proxy const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5320
      start: 5320
    functionDepth: 0
    functionLinenumber: 5320
    functionLinenumberEnd: 5320
    functionName: '& operator=(iteration_proxy const&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy
    signature: iteration_proxy & operator=(iteration_proxy const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5321
      start: 5321
    functionDepth: 0
    functionLinenumber: 5321
    functionLinenumberEnd: 5321
    functionName: iteration_proxy::iteration_proxy
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy(iteration_proxy&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5322
      start: 5322
    functionDepth: 0
    functionLinenumber: 5322
    functionLinenumberEnd: 5322
    functionName: '& operator=(iteration_proxy&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy
    signature: iteration_proxy & operator=(iteration_proxy&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5323
      start: 5323
    functionDepth: 0
    functionLinenumber: 5323
    functionLinenumberEnd: 5323
    functionName: ~iteration_proxy()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~iteration_proxy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5328,1
    - Dst: iteration_proxy::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5329
      start: 5326
    functionDepth: 1
    functionLinenumber: 5326
    functionLinenumberEnd: 5329
    functionName: iteration_proxy::begin
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - iteration_proxy_value<IteratorType>
    - iteration_proxy::begin
    linkageType: ''
    returnType: iteration_proxy_value<IteratorType>
    signature: iteration_proxy_value<IteratorType> begin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5334,1
    - Dst: iteration_proxy::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5335
      start: 5332
    functionDepth: 1
    functionLinenumber: 5332
    functionLinenumberEnd: 5335
    functionName: iteration_proxy::end
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - iteration_proxy_value<IteratorType>
    - iteration_proxy::end
    linkageType: ''
    returnType: iteration_proxy_value<IteratorType>
    signature: iteration_proxy_value<IteratorType> end() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5342,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - nlohmann::detail::iteration_proxy_value<IteratorType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5345
      start: 5342
    functionDepth: 1
    functionLinenumber: 5342
    functionLinenumberEnd: 5345
    functionName: get
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 389
    functionsReached:
    - key
    linkageType: ''
    returnType: auto
    signature: auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>&
      i) -> decltype(i.key())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5350,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - nlohmann::detail::iteration_proxy_value<IteratorType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5353
      start: 5350
    functionDepth: 1
    functionLinenumber: 5350
    functionLinenumberEnd: 5353
    functionName: get
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 389
    functionsReached:
    - value
    linkageType: ''
    returnType: auto
    signature: auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>&
      i) -> decltype(i.value())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5379,1
    - Dst: "std::declval <\n                            ::nlohmann::detail::iteration_proxy_value<IteratorType
        >>"
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5386
      start: 5356
    functionDepth: 2
    functionLinenumber: 5356
    functionLinenumberEnd: 5386
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - "std::declval <\n                            ::nlohmann::detail::iteration_proxy_value<IteratorType
      >>"
    - get
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_END
    signature: NLOHMANN_JSON_NAMESPACE_END namespace
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5427,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5430,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5440,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5443,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5449,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5451,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5452,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5460,1
    - Dst: template create<typename BasicJsonType::string_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5462,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5463,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5473,1
    - Dst: BasicJsonType::binary_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5475,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5476,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5482,1
    - Dst: BasicJsonType::binary_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5484,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5484,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5485,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5495,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5498,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5508,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5511,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5521,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5524,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5534,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5537,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5538,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5544,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5546,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5547,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5548,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5559,1
    - Dst: template create<typename BasicJsonType::array_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5561,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5561,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5561,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5562,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5563,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5569,1
    - Dst: m_data::m_value::array::reserve
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5572,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5572,1
    - Dst: m_data::m_value::array::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5575,1
    - Dst: set_parent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5576,1
    - Dst: m_data::m_value::array::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5576,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5578,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5585,1
    - Dst: m_data::m_value::array::resize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5588,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5588,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5589,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: m_data::m_value::array::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5593,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5594,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5604,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5607,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5608,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5614,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5616,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5617,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5618,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5628,1
    - Dst: template create<typename BasicJsonType::object_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5630,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5630,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5630,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5631,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5632,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5644,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5657,1
    - Dst: static_cast<typename BasicJsonType::boolean_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5657,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5664,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5670,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5670,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5677,1
    - Dst: static_cast<typename BasicJsonType::number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5677,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5684,1
    - Dst: static_cast<typename BasicJsonType::number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5684,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5691,1
    - Dst: static_cast<typename BasicJsonType::number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5691,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5700,1
    - Dst: static_cast<underlying_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5700,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5707,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5720,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5726,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5733,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5733,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5739,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5739,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5746,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5752,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5752,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5762,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5776,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5776,1
    - Dst: std::get<Idx>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5782,1
    - Dst: to_json_tuple_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5788,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5795,1
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5802,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5802,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5802,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5803,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5803,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5805,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5805,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 145
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5808
      start: 5404
    functionDepth: 1
    functionLinenumber: 5404
    functionLinenumberEnd: 5808
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<typename BasicJsonType::number_integer_t>
    - assert_invariant
    - static_cast<typename BasicJsonType::number_float_t>
    - end
    - size
    - static_cast<typename BasicJsonType::number_unsigned_t>
    - std::forward<T>
    - template create<typename BasicJsonType::array_t>
    - value
    - m_data::m_value::destroy
    - construct
    - static_cast<underlying_type>
    - string
    - m_data::m_value::array::reserve
    - to_json
    - static_cast<typename BasicJsonType::boolean_t>
    - std::copy
    - m_data::m_value::array::back
    - begin
    - m_data::m_value::array::resize
    - to_json_tuple_impl
    - template create<typename BasicJsonType::string_t>
    - set_parents
    - std::get<Idx>
    - key
    - noexcept
    - BasicJsonType::binary_t
    - template create<typename BasicJsonType::object_t>
    - set_parent
    - m_data::m_value::array::begin
    - m_data::m_value::array::push_back
    - std::move
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5427,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - b
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::boolean_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5431
      start: 5425
    functionDepth: 1
    functionLinenumber: 5425
    functionLinenumberEnd: 5431
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::boolean_t
      b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5440,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5444
      start: 5438
    functionDepth: 1
    functionLinenumber: 5438
    functionLinenumberEnd: 5444
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::string_t&
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5449,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5451,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5453
      start: 5447
    functionDepth: 1
    functionLinenumber: 5447
    functionLinenumberEnd: 5453
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - m_data::m_value::destroy
    - assert_invariant
    - std::move
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::string_t&&
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5460,1
    - Dst: template create<typename BasicJsonType::string_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5462,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' str'
    argTypes:
    - BasicJsonType
    - CompatibleStringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5464
      start: 5458
    functionDepth: 1
    functionLinenumber: 5458
    functionLinenumberEnd: 5464
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - template create<typename BasicJsonType::string_t>
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleStringType& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5473,1
    - Dst: BasicJsonType::binary_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5475,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5477
      start: 5471
    functionDepth: 1
    functionLinenumber: 5471
    functionLinenumberEnd: 5477
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - BasicJsonType::binary_t
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::binary_t&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5482,1
    - Dst: BasicJsonType::binary_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5484,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5484,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5486
      start: 5480
    functionDepth: 1
    functionLinenumber: 5480
    functionLinenumberEnd: 5486
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - BasicJsonType::binary_t
    - m_data::m_value::destroy
    - assert_invariant
    - std::move
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::binary_t&&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5495,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5499
      start: 5493
    functionDepth: 1
    functionLinenumber: 5493
    functionLinenumberEnd: 5499
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_float_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5508,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5512
      start: 5506
    functionDepth: 1
    functionLinenumber: 5506
    functionLinenumberEnd: 5512
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5521,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5525
      start: 5519
    functionDepth: 1
    functionLinenumber: 5519
    functionLinenumberEnd: 5525
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5534,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5537,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5539
      start: 5532
    functionDepth: 1
    functionLinenumber: 5532
    functionLinenumberEnd: 5539
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - set_parents
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::array_t&
      arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5544,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5546,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5547,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5549
      start: 5542
    functionDepth: 1
    functionLinenumber: 5542
    functionLinenumberEnd: 5549
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - set_parents
    - m_data::m_value::destroy
    - assert_invariant
    - std::move
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::array_t&&
      arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5559,1
    - Dst: template create<typename BasicJsonType::array_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5561,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5561,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5561,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5562,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - CompatibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5564
      start: 5554
    functionDepth: 1
    functionLinenumber: 5554
    functionLinenumberEnd: 5564
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - assert_invariant
    - begin
    - end
    - set_parents
    - template create<typename BasicJsonType::array_t>
    - m_data::m_value::destroy
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleArrayType& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5569,1
    - Dst: m_data::m_value::array::reserve
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5572,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5572,1
    - Dst: m_data::m_value::array::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5575,1
    - Dst: set_parent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5576,1
    - Dst: m_data::m_value::array::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5576,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5579
      start: 5567
    functionDepth: 1
    functionLinenumber: 5567
    functionLinenumberEnd: 5579
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - m_data::m_value::array::back
    - set_parent
    - assert_invariant
    - size
    - m_data::m_value::array::reserve
    - m_data::m_value::array::push_back
    - m_data::m_value::destroy
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const std::vector<bool>& arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5585,1
    - Dst: m_data::m_value::array::resize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5588,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5588,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5589,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: m_data::m_value::array::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5593,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5595
      start: 5583
    functionDepth: 1
    functionLinenumber: 5583
    functionLinenumberEnd: 5595
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - assert_invariant
    - begin
    - m_data::m_value::array::resize
    - end
    - m_data::m_value::array::begin
    - size
    - set_parents
    - m_data::m_value::destroy
    - std::copy
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const std::valarray<T>& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5604,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5607,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5609
      start: 5602
    functionDepth: 1
    functionLinenumber: 5602
    functionLinenumberEnd: 5609
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - set_parents
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::object_t&
      obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5614,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5616,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5617,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5619
      start: 5612
    functionDepth: 1
    functionLinenumber: 5612
    functionLinenumberEnd: 5619
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - set_parents
    - m_data::m_value::destroy
    - assert_invariant
    - std::move
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::object_t&&
      obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5628,1
    - Dst: template create<typename BasicJsonType::object_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5630,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5630,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5630,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5631,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - CompatibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5633
      start: 5623
    functionDepth: 1
    functionLinenumber: 5623
    functionLinenumberEnd: 5633
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - template create<typename BasicJsonType::object_t>
    - assert_invariant
    - begin
    - end
    - set_parents
    - m_data::m_value::destroy
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleObjectType& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - b
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5645
      start: 5642
    functionDepth: 2
    functionLinenumber: 5642
    functionLinenumberEnd: 5645
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, T b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5657,1
    - Dst: static_cast<typename BasicJsonType::boolean_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - BoolRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5658
      start: 5655
    functionDepth: 2
    functionLinenumber: 5655
    functionLinenumberEnd: 5658
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    - static_cast<typename BasicJsonType::boolean_t>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const BoolRef& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - CompatibleString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5665
      start: 5662
    functionDepth: 2
    functionLinenumber: 5662
    functionLinenumberEnd: 5665
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleString& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5670,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5671
      start: 5668
    functionDepth: 2
    functionLinenumber: 5668
    functionLinenumberEnd: 5671
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    - std::move
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5677,1
    - Dst: static_cast<typename BasicJsonType::number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5678
      start: 5675
    functionDepth: 2
    functionLinenumber: 5675
    functionLinenumberEnd: 5678
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    - static_cast<typename BasicJsonType::number_float_t>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, FloatType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5684,1
    - Dst: static_cast<typename BasicJsonType::number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - CompatibleNumberUnsignedType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5685
      start: 5682
    functionDepth: 2
    functionLinenumber: 5682
    functionLinenumberEnd: 5685
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    - static_cast<typename BasicJsonType::number_unsigned_t>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5691,1
    - Dst: static_cast<typename BasicJsonType::number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - CompatibleNumberIntegerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5692
      start: 5689
    functionDepth: 2
    functionLinenumber: 5689
    functionLinenumberEnd: 5692
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    - static_cast<typename BasicJsonType::number_integer_t>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5700,1
    - Dst: static_cast<underlying_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - e
    argTypes:
    - BasicJsonType
    - EnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5701
      start: 5697
    functionDepth: 2
    functionLinenumber: 5697
    functionLinenumberEnd: 5701
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    - static_cast<underlying_type>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, EnumType e) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' e'
    argTypes:
    - BasicJsonType
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5708
      start: 5705
    functionDepth: 2
    functionLinenumber: 5705
    functionLinenumberEnd: 5708
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::vector<bool>& e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - CompatibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5721
      start: 5718
    functionDepth: 2
    functionLinenumber: 5718
    functionLinenumberEnd: 5721
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' bin'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5727
      start: 5724
    functionDepth: 2
    functionLinenumber: 5724
    functionLinenumberEnd: 5727
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const typename BasicJsonType::binary_t&
      bin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5733,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5734
      start: 5731
    functionDepth: 2
    functionLinenumber: 5731
    functionLinenumberEnd: 5734
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    - std::move
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::valarray<T>& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5739,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5740
      start: 5737
    functionDepth: 2
    functionLinenumber: 5737
    functionLinenumberEnd: 5740
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    - std::move
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - CompatibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5747
      start: 5744
    functionDepth: 2
    functionLinenumber: 5744
    functionLinenumberEnd: 5747
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5752,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5753
      start: 5750
    functionDepth: 2
    functionLinenumber: 5750
    functionLinenumberEnd: 5753
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    - std::move
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - (arr)
    argTypes:
    - BasicJsonType
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5763
      start: 5760
    functionDepth: 2
    functionLinenumber: 5760
    functionLinenumberEnd: 5763
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T(&arr)[N])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std::pair<T1, T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5769
      start: 5766
    functionDepth: 0
    functionLinenumber: 5766
    functionLinenumberEnd: 5769
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::pair<T1, T2>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5776,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5777
      start: 5774
    functionDepth: 1
    functionLinenumber: 5774
    functionLinenumberEnd: 5777
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - key
    - value
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<Idx>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - Tuple
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5783
      start: 5780
    functionDepth: 0
    functionLinenumber: 5780
    functionLinenumberEnd: 5783
    functionName: to_json_tuple_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::get<Idx>
    linkageType: ''
    returnType: void
    signature: void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence<Idx...>
      /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_json_tuple_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5789
      start: 5786
    functionDepth: 1
    functionLinenumber: 5786
    functionLinenumberEnd: 5789
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - to_json_tuple_impl
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std_fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5796
      start: 5793
    functionDepth: 1
    functionLinenumber: 5793
    functionLinenumberEnd: 5796
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - string
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std_fs::path& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5802,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5802,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5802,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5803,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5803,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5805,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5806
      start: 5802
    functionDepth: 3
    functionLinenumber: 5802
    functionLinenumberEnd: 5806
    functionName: "operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j,
      std::forward<T>(val))))\n    -> decltype(to_json(j, std::forward<T>(val)), void())"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::forward<T>
    - noexcept
    - to_json
    linkageType: ''
    returnType: auto
    signature: "auto operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j,
      std::forward<T>(val))))\n    -> decltype(to_json(j, std::forward<T>(val)), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5838,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5838,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5838,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5839,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5839,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5841,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - TargetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5842
      start: 5837
    functionDepth: 1
    functionLinenumber: 5837
    functionLinenumberEnd: 5842
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - from_json
    - noexcept
    - std::forward<BasicJsonType>
    linkageType: ''
    returnType: auto
    signature: "auto from_json(BasicJsonType && j, TargetType& val) noexcept(\n        noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      val)))\n    -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      val), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5848,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5848,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5848,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5849,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5849,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5851,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5852
      start: 5847
    functionDepth: 1
    functionLinenumber: 5847
    functionLinenumberEnd: 5852
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 5
    functionsReached:
    - from_json
    - noexcept
    - std::forward<BasicJsonType>
    linkageType: ''
    returnType: auto
    signature: "auto from_json(BasicJsonType && j) noexcept(\n    noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      detail::identity_tag<TargetType> {})))\n    -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      detail::identity_tag<TargetType> {}))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5858,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5858,1
    - Dst: std::forward<TargetType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5858,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5859,1
    - Dst: std::forward<TargetType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5859,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5861,1
    - Dst: std::forward<TargetType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - TargetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5862
      start: 5857
    functionDepth: 1
    functionLinenumber: 5857
    functionLinenumberEnd: 5862
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - std::forward<TargetType>
    - noexcept
    - to_json
    linkageType: ''
    returnType: auto
    signature: "auto to_json(BasicJsonType& j, TargetType && val) noexcept(\n        noexcept(::nlohmann::to_json(j,
      std::forward<TargetType>(val))))\n    -> decltype(::nlohmann::to_json(j, std::forward<TargetType>(val)),
      void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5838,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5838,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5838,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5839,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5839,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5841,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - TargetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5842
      start: 5837
    functionDepth: 1
    functionLinenumber: 5837
    functionLinenumberEnd: 5842
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - from_json
    - noexcept
    - std::forward<BasicJsonType>
    linkageType: ''
    returnType: auto
    signature: "auto from_json(BasicJsonType && j, TargetType& val) noexcept(\n        noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      val)))\n    -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      val), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5848,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5848,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5848,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5849,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5849,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5851,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5852
      start: 5847
    functionDepth: 1
    functionLinenumber: 5847
    functionLinenumberEnd: 5852
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 7
    functionsReached:
    - from_json
    - noexcept
    - std::forward<BasicJsonType>
    linkageType: ''
    returnType: auto
    signature: "auto from_json(BasicJsonType && j) noexcept(\n    noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      detail::identity_tag<TargetType> {})))\n    -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      detail::identity_tag<TargetType> {}))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5858,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5858,1
    - Dst: std::forward<TargetType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5858,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5859,1
    - Dst: std::forward<TargetType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5859,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5861,1
    - Dst: std::forward<TargetType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - TargetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5862
      start: 5857
    functionDepth: 1
    functionLinenumber: 5857
    functionLinenumberEnd: 5862
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 5
    functionsReached:
    - std::forward<TargetType>
    - noexcept
    - to_json
    linkageType: ''
    returnType: auto
    signature: "auto to_json(BasicJsonType& j, TargetType && val) noexcept(\n        noexcept(::nlohmann::to_json(j,
      std::forward<TargetType>(val))))\n    -> decltype(::nlohmann::to_json(j, std::forward<TargetType>(val)),
      void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - byte_container_with_subtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5934
      start: 5931
    functionDepth: 0
    functionLinenumber: 5931
    functionLinenumberEnd: 5934
    functionName: operator!=(const byte_container_with_subtype& rhs) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const byte_container_with_subtype& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - subtype_
    argTypes:
    - subtype_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5942
      start: 5938
    functionDepth: 0
    functionLinenumber: 5938
    functionLinenumberEnd: 5942
    functionName: set_subtype
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_subtype(subtype_type subtype_) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<subtype_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5949
      start: 5946
    functionDepth: 0
    functionLinenumber: 5946
    functionLinenumberEnd: 5949
    functionName: subtype
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<subtype_type>
    linkageType: ''
    returnType: subtype_type
    signature: subtype_type subtype() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5956
      start: 5953
    functionDepth: 0
    functionLinenumber: 5953
    functionLinenumberEnd: 5956
    functionName: has_subtype
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_subtype() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5964
      start: 5960
    functionDepth: 0
    functionLinenumber: 5960
    functionLinenumberEnd: 5964
    functionName: clear_subtype
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_subtype() noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6029,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6029,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6030,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6035,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6040,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6040,1
    - Dst: items
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6041,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6043,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6044,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6045,1
    - Dst: hash
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6045,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6045,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6052,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6052,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6055,1
    - Dst: hash
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6055,1
    - Dst: template get_ref<const string_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6062,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6063,1
    - Dst: template get<bool>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6068,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6069,1
    - Dst: template get<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6074,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6075,1
    - Dst: template get<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6080,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6081,1
    - Dst: template get<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6086,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6087,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6092,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6092,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6093,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6094,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6095,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6095,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6095,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6096,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6098,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6109
      start: 5999
    functionDepth: 1
    functionLinenumber: 5999
    functionLinenumberEnd: 6109
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - template get<number_integer_t>
    - static_cast<std::size_t>
    - template get<number_unsigned_t>
    - template get_ref<const string_t&>
    - template get<bool>
    - template get<number_float_t>
    - hash
    - size
    - get_binary
    - JSON_ASSERT
    - type
    - value
    - key
    - combine
    - items
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - seed
    - h
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6008
      start: 6004
    functionDepth: 0
    functionLinenumber: 6004
    functionLinenumberEnd: 6008
    functionName: combine
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t combine(std::size_t seed, std::size_t h) noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6029,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6029,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6030,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6035,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6040,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6040,1
    - Dst: items
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6041,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6043,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6044,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6045,1
    - Dst: hash
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6045,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6045,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6052,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6052,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6055,1
    - Dst: hash
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6055,1
    - Dst: template get_ref<const string_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6062,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6063,1
    - Dst: template get<bool>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6068,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6069,1
    - Dst: template get<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6074,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6075,1
    - Dst: template get<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6080,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6081,1
    - Dst: template get<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6086,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6087,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6092,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6092,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6093,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6094,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6095,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6095,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6095,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6096,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6098,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6107
      start: 6022
    functionDepth: 1
    functionLinenumber: 6022
    functionLinenumberEnd: 6107
    functionName: hash
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - template get<number_integer_t>
    - static_cast<std::size_t>
    - template get<number_unsigned_t>
    - template get_ref<const string_t&>
    - template get<bool>
    - template get<number_float_t>
    - hash
    - size
    - get_binary
    - JSON_ASSERT
    - type
    - value
    - key
    - combine
    - items
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t hash(const BasicJsonType& j)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6196,1
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6204,1
    - Dst: std::fgetc
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6208,1
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6236,1
    - Dst: rdstate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6236,1
    - Dst: rdbuf
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6241,1
    - Dst: sbumpc
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6261,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6263,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6263,1
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6265,1
    - Dst: rdstate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6265,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6286,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6286,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6291,1
    - Dst: to_int_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6293,1
    - Dst: std::advance
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6294,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6298,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6328,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6328,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6330,1
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6336,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6341,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6346,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6346,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6347,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6347,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6352,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6352,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6353,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6353,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6354,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6354,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6359,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6359,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6360,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6360,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6361,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6361,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6362,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6362,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6368,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6386,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6386,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6388,1
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6394,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6399,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6404,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6404,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6405,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6405,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6410,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6410,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6411,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6411,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6412,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6412,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6417,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6417,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6419,1
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6419,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6420,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6421,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6422,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6423,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6424,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6429,1
    - Dst: fill_buffer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6452,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6454,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6455,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6459,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6460,1
    - Dst: fill_buffer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6470,1
    - Dst: adapter_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6491,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6491,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6491,1
    - Dst: adapter_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    - Dst: base_adapter_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    - Dst: dag_create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6524,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6542,1
    - Dst: std::declval<ContainerType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6542,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6542,1
    - Dst: std::declval<ContainerType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6542,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6544,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6544,1
    - Dst: std::declval<ContainerType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6544,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6544,1
    - Dst: std::declval<ContainerType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6544,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    - Dst: dag_create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6557,1
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6564,1
    - Dst: input_stream_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6569,1
    - Dst: input_stream_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6574,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6578,1
    - Dst: std::declval<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6578,1
    - Dst: std::declval<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6578,1
    - Dst: std::strlen
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6590,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6590,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6591,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6592,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6596,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6598,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6614,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6614,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6621,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6625,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 131
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6632
      start: 6171
    functionDepth: 3
    functionLinenumber: 6171
    functionLinenumberEnd: 6632
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - dag_create
    - end
    - empty
    - clear
    - static_cast<unsigned int>
    - JSON_HEDLEY_LIKELY
    - file_input_adapter
    - std::declval<const char*>
    - get_character
    - JSON_ASSERT
    - input_stream_adapter
    - std::strlen
    - input_adapter
    - adapter_type
    - fill_buffer
    - std::declval<ContainerType>
    - to_int_type
    - JSON_HEDLEY_UNLIKELY
    - reinterpret_cast<const char*>
    - begin
    - std::fgetc
    - light_eof
    - rdbuf
    - std::advance
    - base_adapter_type
    - sbumpc
    - rdstate
    - static_cast<std::char_traits<char>::int_type>
    - std::move
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6197
      start: 6193
    functionDepth: 1
    functionLinenumber: 6193
    functionLinenumberEnd: 6197
    functionName: file_input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(std::FILE* f) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6200
      start: 6200
    functionDepth: 0
    functionLinenumber: 6200
    functionLinenumberEnd: 6200
    functionName: file_input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(const file_input_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6201
      start: 6201
    functionDepth: 0
    functionLinenumber: 6201
    functionLinenumberEnd: 6201
    functionName: file_input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(file_input_adapter&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fgetc
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6209
      start: 6206
    functionDepth: 0
    functionLinenumber: 6206
    functionLinenumberEnd: 6209
    functionName: get_character
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::fgetc
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6236,1
    - Dst: rdstate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6238
      start: 6230
    functionDepth: 0
    functionLinenumber: 6230
    functionLinenumberEnd: 6238
    functionName: ~input_stream_adapter()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - rdstate
    - clear
    linkageType: ''
    returnType: void
    signature: void ~input_stream_adapter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdbuf
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6242
      start: 6240
    functionDepth: 0
    functionLinenumber: 6240
    functionLinenumberEnd: 6242
    functionName: input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - rdbuf
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(std::istream& i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6245
      start: 6245
    functionDepth: 0
    functionLinenumber: 6245
    functionLinenumberEnd: 6245
    functionName: input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(const input_stream_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6246
      start: 6246
    functionDepth: 0
    functionLinenumber: 6246
    functionLinenumberEnd: 6246
    functionName: '& operator=(input_stream_adapter&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter & operator=(input_stream_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6247
      start: 6247
    functionDepth: 0
    functionLinenumber: 6247
    functionLinenumberEnd: 6247
    functionName: '& operator=(input_stream_adapter&&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter & operator=(input_stream_adapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - input_stream_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6254
      start: 6249
    functionDepth: 0
    functionLinenumber: 6249
    functionLinenumberEnd: 6254
    functionName: input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(input_stream_adapter&& rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sbumpc
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6261,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6263,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6263,1
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6265,1
    - Dst: rdstate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6268
      start: 6259
    functionDepth: 1
    functionLinenumber: 6259
    functionLinenumberEnd: 6268
    functionName: input_stream_adapter::get_character
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - sbumpc
    - light_eof
    - clear
    - rdstate
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6286,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6287
      start: 6285
    functionDepth: 0
    functionLinenumber: 6285
    functionLinenumberEnd: 6287
    functionName: iterator_input_adapter::iterator_input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void iterator_input_adapter(IteratorType first, IteratorType last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6291,1
    - Dst: to_int_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6293,1
    - Dst: std::advance
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6294,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6299
      start: 6289
    functionDepth: 1
    functionLinenumber: 6289
    functionLinenumberEnd: 6299
    functionName: iterator_input_adapter::get_character
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - to_int_type
    - JSON_HEDLEY_LIKELY
    - light_eof
    linkageType: ''
    returnType: typename char_traits<char_type>::int_type
    signature: typename char_traits<char_type>::int_type get_character()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6311
      start: 6308
    functionDepth: 0
    functionLinenumber: 6308
    functionLinenumberEnd: 6311
    functionName: iterator_input_adapter::empty
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6328,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6328,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6330,1
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6336,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6341,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6346,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6346,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6347,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6347,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6352,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6352,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6353,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6353,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6354,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6354,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6359,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6359,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6360,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6360,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6361,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6361,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6362,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6362,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 4
    argNames:
    - ' input'
    - ' utf8_bytes'
    - ' utf8_bytes_index'
    - ' utf8_bytes_filled'
    argTypes:
    - BaseInputAdapter
    - std::array<std::char_traits<char>::int_type, 4>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6372
      start: 6321
    functionDepth: 1
    functionLinenumber: 6321
    functionLinenumberEnd: 6372
    functionName: fill_buffer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - light_eof
    - empty
    - get_character
    - static_cast<unsigned int>
    - static_cast<std::char_traits<char>::int_type>
    linkageType: ''
    returnType: void
    signature: "void fill_buffer(BaseInputAdapter& input,\n                            std::array<std::char_traits<char>::int_type,
      4>& utf8_bytes,\n                            size_t& utf8_bytes_index,\n                            size_t&
      utf8_bytes_filled)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6386,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6386,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6388,1
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6394,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6399,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6404,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6404,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6405,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6405,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6410,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6410,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6411,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6411,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6412,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6412,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6417,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6417,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6419,1
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6419,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6420,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6421,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6422,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6423,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6424,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - ' input'
    - ' utf8_bytes'
    - ' utf8_bytes_index'
    - ' utf8_bytes_filled'
    argTypes:
    - BaseInputAdapter
    - std::array<std::char_traits<char>::int_type, 4>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6434
      start: 6379
    functionDepth: 1
    functionLinenumber: 6379
    functionLinenumberEnd: 6434
    functionName: fill_buffer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - light_eof
    - empty
    - get_character
    - static_cast<unsigned int>
    - static_cast<std::char_traits<char>::int_type>
    linkageType: ''
    returnType: void
    signature: "void fill_buffer(BaseInputAdapter& input,\n                            std::array<std::char_traits<char>::int_type,
      4>& utf8_bytes,\n                            size_t& utf8_bytes_index,\n                            size_t&
      utf8_bytes_filled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - base
    argTypes:
    - BaseInputAdapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6445
      start: 6444
    functionDepth: 0
    functionLinenumber: 6444
    functionLinenumberEnd: 6445
    functionName: wide_string_input_adapter::wide_string_input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wide_string_input_adapter(BaseInputAdapter base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wide_string_input_adapter::fill_buffer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6452,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6454,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6455,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6459,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6462
      start: 6447
    functionDepth: 1
    functionLinenumber: 6447
    functionLinenumberEnd: 6462
    functionName: wide_string_input_adapter::get_character
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - wide_string_input_adapter::fill_buffer
    linkageType: ''
    returnType: typename std::char_traits<char>::int_type
    signature: typename std::char_traits<char>::int_type get_character() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wide_string_input_adapter::fill_buffer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6471
      start: 6468
    functionDepth: 1
    functionLinenumber: 6468
    functionLinenumberEnd: 6471
    functionName: wide_string_input_adapter::fill_buffer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - wide_string_input_adapter::fill_buffer
    linkageType: ''
    returnType: void
    signature: void fill_buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adapter_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6491,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6491,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6492
      start: 6489
    functionDepth: 0
    functionLinenumber: 6489
    functionLinenumberEnd: 6492
    functionName: create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 50
    functionsReached:
    - adapter_type
    - std::move
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adapter_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    - Dst: base_adapter_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6516
      start: 6513
    functionDepth: 0
    functionLinenumber: 6513
    functionLinenumberEnd: 6516
    functionName: create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 50
    functionsReached:
    - std::move
    - adapter_type
    - base_adapter_type
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dag_create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6525
      start: 6521
    functionDepth: 3
    functionLinenumber: 6521
    functionLinenumberEnd: 6525
    functionName: input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - dag_create
    linkageType: ''
    returnType: typename iterator_input_adapter_factory<IteratorType>::adapter_type
    signature: typename iterator_input_adapter_factory<IteratorType>::adapter_type
      input_adapter(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - ContainerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6549
      start: 6546
    functionDepth: 4
    functionLinenumber: 6546
    functionLinenumberEnd: 6549
    functionName: container_input_adapter_factory_impl::create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - end
    - input_adapter
    - begin
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(const ContainerType& container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - ContainerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6549
      start: 6546
    functionDepth: 4
    functionLinenumber: 6546
    functionLinenumberEnd: 6549
    functionName: container_input_adapter_factory_impl::create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - end
    - input_adapter
    - begin
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(const ContainerType& container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dag_create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - ContainerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6558
      start: 6555
    functionDepth: 3
    functionLinenumber: 6555
    functionLinenumberEnd: 6558
    functionName: input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - dag_create
    linkageType: ''
    returnType: typename container_input_adapter_factory_impl::container_input_adapter_factory<ContainerType>::adapter_type
    signature: typename container_input_adapter_factory_impl::container_input_adapter_factory<ContainerType>::adapter_type
      input_adapter(const ContainerType& container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - std::FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6565
      start: 6562
    functionDepth: 2
    functionLinenumber: 6562
    functionLinenumberEnd: 6565
    functionName: input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - file_input_adapter
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter input_adapter(std::FILE* file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_stream_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6570
      start: 6567
    functionDepth: 0
    functionLinenumber: 6567
    functionLinenumberEnd: 6570
    functionName: input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - input_stream_adapter
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter input_adapter(std::istream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_stream_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6575
      start: 6572
    functionDepth: 0
    functionLinenumber: 6572
    functionLinenumberEnd: 6575
    functionName: input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - input_stream_adapter
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter input_adapter(std::istream&& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6590,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6590,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6591,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - CharT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6593
      start: 6588
    functionDepth: 1
    functionLinenumber: 6588
    functionLinenumberEnd: 6593
    functionName: input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 5
    functionsReached:
    - input_adapter
    - std::strlen
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: contiguous_bytes_input_adapter
    signature: contiguous_bytes_input_adapter input_adapter(CharT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6596,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (array)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6599
      start: 6596
    functionDepth: 1
    functionLinenumber: 6596
    functionLinenumberEnd: 6599
    functionName: input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - input_adapter
    linkageType: ''
    returnType: auto
    signature: auto input_adapter(T (&array)[N]) -> decltype(input_adapter(array,
      array + N))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6614,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - CharT
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6614
      start: 6613
    functionDepth: 0
    functionLinenumber: 6613
    functionLinenumberEnd: 6614
    functionName: span_input_adapter::span_input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void span_input_adapter(CharT b, std::size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6621
      start: 6620
    functionDepth: 4
    functionLinenumber: 6620
    functionLinenumberEnd: 6621
    functionName: span_input_adapter::span_input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - input_adapter
    linkageType: ''
    returnType: void
    signature: void span_input_adapter(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6626
      start: 6623
    functionDepth: 0
    functionLinenumber: 6623
    functionLinenumberEnd: 6626
    functionName: '&& get()'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: contiguous_bytes_input_adapter
    signature: contiguous_bytes_input_adapter && get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6815
      start: 6813
    functionDepth: 0
    functionLinenumber: 6813
    functionLinenumberEnd: 6815
    functionName: json_sax_dom_parser
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_
      = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6818
      start: 6818
    functionDepth: 0
    functionLinenumber: 6818
    functionLinenumberEnd: 6818
    functionName: json_sax_dom_parser
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(const json_sax_dom_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6819
      start: 6819
    functionDepth: 0
    functionLinenumber: 6819
    functionLinenumberEnd: 6819
    functionName: json_sax_dom_parser
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(json_sax_dom_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6822
      start: 6822
    functionDepth: 0
    functionLinenumber: 6822
    functionLinenumberEnd: 6822
    functionName: ~json_sax_dom_parser()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax_dom_parser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6828
      start: 6824
    functionDepth: 0
    functionLinenumber: 6824
    functionLinenumberEnd: 6828
    functionName: 'null'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6834
      start: 6830
    functionDepth: 0
    functionLinenumber: 6830
    functionLinenumberEnd: 6834
    functionName: boolean
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6840
      start: 6836
    functionDepth: 0
    functionLinenumber: 6836
    functionLinenumberEnd: 6840
    functionName: number_integer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6846
      start: 6842
    functionDepth: 0
    functionLinenumber: 6842
    functionLinenumberEnd: 6846
    functionName: number_unsigned
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6852
      start: 6848
    functionDepth: 0
    functionLinenumber: 6848
    functionLinenumberEnd: 6852
    functionName: number_float
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t val, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6858
      start: 6854
    functionDepth: 0
    functionLinenumber: 6854
    functionLinenumberEnd: 6858
    functionName: string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 370
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6862,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6864
      start: 6860
    functionDepth: 0
    functionLinenumber: 6860
    functionLinenumberEnd: 6864
    functionName: binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - std::move
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6868,1
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6868,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6870,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6870,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6870,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6872,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6872,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6872,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6872,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6876
      start: 6866
    functionDepth: 4
    functionLinenumber: 6866
    functionLinenumberEnd: 6876
    functionName: start_object
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - out_of_range::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - to_string
    - back
    - handle_value
    - JSON_THROW
    - push_back
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6880,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6880,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6881,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6881,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6884,1
    - Dst: m_value::object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6886
      start: 6878
    functionDepth: 1
    functionLinenumber: 6878
    functionLinenumberEnd: 6886
    functionName: key
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 9
    functionsReached:
    - back
    - empty
    - JSON_ASSERT
    - m_value::object
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6890,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6890,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6891,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6891,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6893,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6896
      start: 6888
    functionDepth: 1
    functionLinenumber: 6888
    functionLinenumberEnd: 6896
    functionName: end_object
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - back
    - pop_back
    - empty
    - JSON_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6900,1
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6900,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6902,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6902,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6902,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6904,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6904,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6904,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6904,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6908
      start: 6898
    functionDepth: 4
    functionLinenumber: 6898
    functionLinenumberEnd: 6908
    functionName: start_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - out_of_range::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - to_string
    - back
    - handle_value
    - JSON_THROW
    - push_back
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6912,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6912,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6913,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6913,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6915,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6918
      start: 6910
    functionDepth: 1
    functionLinenumber: 6910
    functionLinenumberEnd: 6918
    functionName: end_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - back
    - pop_back
    - empty
    - JSON_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6925,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' ex'
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6931
      start: 6921
    functionDepth: 1
    functionLinenumber: 6921
    functionLinenumberEnd: 6931
    functionName: parse_error
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: "bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,\n
      \                    const Exception& ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6936
      start: 6933
    functionDepth: 0
    functionLinenumber: 6933
    functionLinenumberEnd: 6936
    functionName: is_errored
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_errored() const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5183,1
    - Dst: std::declval<IteratorType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5193,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5212,1
    - Dst: iteration_proxy_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5244,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5265,1
    - Dst: m_object::type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5267,1
    - Dst: int_to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5274,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5282,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5301,1
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5328,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5328,1
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5334,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5334,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5342,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5344,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5350,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5352,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5355
      start: 5174
    functionDepth: 2
    functionLinenumber: 5174
    functionLinenumberEnd: 5355
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - begin
    - end
    - iteration_proxy_value
    - JSON_ASSERT
    - int_to_string
    - iteration_proxy_value<IteratorType>
    - value
    - key
    - std::declval<IteratorType>
    - m_object::type
    - std::move
    - to_string
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' target'
    - value
    argTypes:
    - string_type
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5184
      start: 5179
    functionDepth: 1
    functionLinenumber: 5179
    functionLinenumberEnd: 5184
    functionName: int_to_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - to_string
    linkageType: ''
    returnType: void
    signature: void int_to_string( string_type& target, std::size_t value )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5208
      start: 5208
    functionDepth: 0
    functionLinenumber: 5208
    functionLinenumberEnd: 5208
    functionName: iteration_proxy_value::iteration_proxy_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5214
      start: 5209
    functionDepth: 0
    functionLinenumber: 5209
    functionLinenumberEnd: 5214
    functionName: iteration_proxy_value::iteration_proxy_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void iteration_proxy_value(IteratorType it, std::size_t array_index_
      = 0)\n    noexcept(std::is_nothrow_move_constructible<IteratorType>::value\n
      \            && std::is_nothrow_default_constructible<string_type>::value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5216
      start: 5216
    functionDepth: 0
    functionLinenumber: 5216
    functionLinenumberEnd: 5216
    functionName: iteration_proxy_value::iteration_proxy_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy_value(iteration_proxy_value const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5217
      start: 5217
    functionDepth: 0
    functionLinenumber: 5217
    functionLinenumberEnd: 5217
    functionName: '& operator=(iteration_proxy_value const&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator=(iteration_proxy_value const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5221
      start: 5219
    functionDepth: 0
    functionLinenumber: 5219
    functionLinenumberEnd: 5221
    functionName: iteration_proxy_value::iteration_proxy_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void iteration_proxy_value(iteration_proxy_value&&)\n    noexcept(std::is_nothrow_move_constructible<IteratorType>::value\n
      \            && std::is_nothrow_move_constructible<string_type>::value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5224
      start: 5222
    functionDepth: 0
    functionLinenumber: 5222
    functionLinenumberEnd: 5224
    functionName: "& operator=(iteration_proxy_value&&)\n    noexcept(std::is_nothrow_move_assignable<IteratorType>::value\n
      \            && std::is_nothrow_move_assignable<string_type>::value)"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: "iteration_proxy_value & operator=(iteration_proxy_value&&)\n    noexcept(std::is_nothrow_move_assignable<IteratorType>::value\n
      \            && std::is_nothrow_move_assignable<string_type>::value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5225
      start: 5225
    functionDepth: 0
    functionLinenumber: 5225
    functionLinenumberEnd: 5225
    functionName: ~iteration_proxy_value()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~iteration_proxy_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5231
      start: 5228
    functionDepth: 0
    functionLinenumber: 5228
    functionLinenumberEnd: 5231
    functionName: '& operator*() const'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5240
      start: 5234
    functionDepth: 0
    functionLinenumber: 5234
    functionLinenumberEnd: 5240
    functionName: '& operator++()'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5248
      start: 5242
    functionDepth: 0
    functionLinenumber: 5242
    functionLinenumberEnd: 5248
    functionName: operator++(int)&
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - iteration_proxy_value
    linkageType: ''
    returnType: iteration_proxy_value
    signature: iteration_proxy_value operator++(int)&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - iteration_proxy_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5254
      start: 5251
    functionDepth: 0
    functionLinenumber: 5251
    functionLinenumberEnd: 5254
    functionName: operator==(const iteration_proxy_value& o) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iteration_proxy_value& o) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' o'
    argTypes:
    - iteration_proxy_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5260
      start: 5257
    functionDepth: 0
    functionLinenumber: 5257
    functionLinenumberEnd: 5260
    functionName: operator!=(const iteration_proxy_value& o) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iteration_proxy_value& o) const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5265,1
    - Dst: m_object::type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5267,1
    - Dst: int_to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5274,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5296
      start: 5263
    functionDepth: 2
    functionLinenumber: 5263
    functionLinenumberEnd: 5296
    functionName: '& key() const'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - key
    - m_object::type
    - JSON_ASSERT
    - int_to_string
    linkageType: ''
    returnType: string_type
    signature: string_type & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value::value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5302
      start: 5299
    functionDepth: 1
    functionLinenumber: 5299
    functionLinenumberEnd: 5302
    functionName: iteration_proxy_value::value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - iteration_proxy_value::value
    linkageType: ''
    returnType: typename IteratorType::reference
    signature: typename IteratorType::reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5313
      start: 5313
    functionDepth: 0
    functionLinenumber: 5313
    functionLinenumberEnd: 5313
    functionName: iteration_proxy::iteration_proxy
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cont
    argTypes:
    - typename IteratorType::reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5317
      start: 5316
    functionDepth: 0
    functionLinenumber: 5316
    functionLinenumberEnd: 5317
    functionName: iteration_proxy::iteration_proxy
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy(typename IteratorType::reference cont) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5319
      start: 5319
    functionDepth: 0
    functionLinenumber: 5319
    functionLinenumberEnd: 5319
    functionName: iteration_proxy::iteration_proxy
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy(iteration_proxy const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5320
      start: 5320
    functionDepth: 0
    functionLinenumber: 5320
    functionLinenumberEnd: 5320
    functionName: '& operator=(iteration_proxy const&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy
    signature: iteration_proxy & operator=(iteration_proxy const&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5321
      start: 5321
    functionDepth: 0
    functionLinenumber: 5321
    functionLinenumberEnd: 5321
    functionName: iteration_proxy::iteration_proxy
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iteration_proxy(iteration_proxy&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5322
      start: 5322
    functionDepth: 0
    functionLinenumber: 5322
    functionLinenumberEnd: 5322
    functionName: '& operator=(iteration_proxy&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iteration_proxy
    signature: iteration_proxy & operator=(iteration_proxy&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5323
      start: 5323
    functionDepth: 0
    functionLinenumber: 5323
    functionLinenumberEnd: 5323
    functionName: ~iteration_proxy()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~iteration_proxy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5328,1
    - Dst: iteration_proxy::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5329
      start: 5326
    functionDepth: 1
    functionLinenumber: 5326
    functionLinenumberEnd: 5329
    functionName: iteration_proxy::begin
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - iteration_proxy_value<IteratorType>
    - iteration_proxy::begin
    linkageType: ''
    returnType: iteration_proxy_value<IteratorType>
    signature: iteration_proxy_value<IteratorType> begin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy_value<IteratorType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5334,1
    - Dst: iteration_proxy::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5335
      start: 5332
    functionDepth: 1
    functionLinenumber: 5332
    functionLinenumberEnd: 5335
    functionName: iteration_proxy::end
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - iteration_proxy_value<IteratorType>
    - iteration_proxy::end
    linkageType: ''
    returnType: iteration_proxy_value<IteratorType>
    signature: iteration_proxy_value<IteratorType> end() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5342,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - nlohmann::detail::iteration_proxy_value<IteratorType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5345
      start: 5342
    functionDepth: 2
    functionLinenumber: 5342
    functionLinenumberEnd: 5345
    functionName: get
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 390
    functionsReached:
    - key
    linkageType: ''
    returnType: auto
    signature: auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>&
      i) -> decltype(i.key())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5350,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - nlohmann::detail::iteration_proxy_value<IteratorType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5353
      start: 5350
    functionDepth: 1
    functionLinenumber: 5350
    functionLinenumberEnd: 5353
    functionName: get
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 390
    functionsReached:
    - value
    linkageType: ''
    returnType: auto
    signature: auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>&
      i) -> decltype(i.value())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5379,1
    - Dst: "std::declval <\n                            ::nlohmann::detail::iteration_proxy_value<IteratorType
        >>"
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5386
      start: 5356
    functionDepth: 2
    functionLinenumber: 5356
    functionLinenumberEnd: 5386
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - "std::declval <\n                            ::nlohmann::detail::iteration_proxy_value<IteratorType
      >>"
    - get
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_END
    signature: NLOHMANN_JSON_NAMESPACE_END namespace
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5427,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5430,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5440,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5443,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5449,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5451,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5452,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5460,1
    - Dst: template create<typename BasicJsonType::string_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5462,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5463,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5473,1
    - Dst: BasicJsonType::binary_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5475,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5476,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5482,1
    - Dst: BasicJsonType::binary_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5484,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5484,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5485,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5495,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5498,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5508,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5511,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5521,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5524,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5534,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5537,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5538,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5544,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5546,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5547,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5548,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5559,1
    - Dst: template create<typename BasicJsonType::array_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5561,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5561,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5561,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5562,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5563,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5569,1
    - Dst: m_data::m_value::array::reserve
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5572,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5572,1
    - Dst: m_data::m_value::array::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5575,1
    - Dst: set_parent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5576,1
    - Dst: m_data::m_value::array::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5576,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5578,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5585,1
    - Dst: m_data::m_value::array::resize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5588,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5588,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5589,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: m_data::m_value::array::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5593,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5594,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5604,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5607,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5608,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5614,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5616,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5617,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5618,1
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5628,1
    - Dst: template create<typename BasicJsonType::object_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5630,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5630,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5630,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5631,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5632,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5644,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5657,1
    - Dst: static_cast<typename BasicJsonType::boolean_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5657,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5664,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5670,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5670,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5677,1
    - Dst: static_cast<typename BasicJsonType::number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5677,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5684,1
    - Dst: static_cast<typename BasicJsonType::number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5684,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5691,1
    - Dst: static_cast<typename BasicJsonType::number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5691,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5700,1
    - Dst: static_cast<underlying_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5700,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5707,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5720,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5726,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5733,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5733,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5739,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5739,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5746,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5752,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5752,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5762,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5776,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5776,1
    - Dst: std::get<Idx>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5782,1
    - Dst: to_json_tuple_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5788,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5795,1
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5802,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5802,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5802,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5803,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5803,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5805,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5805,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 145
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5808
      start: 5404
    functionDepth: 3
    functionLinenumber: 5404
    functionLinenumberEnd: 5808
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<typename BasicJsonType::number_integer_t>
    - assert_invariant
    - static_cast<typename BasicJsonType::number_float_t>
    - end
    - size
    - static_cast<typename BasicJsonType::number_unsigned_t>
    - std::forward<T>
    - template create<typename BasicJsonType::array_t>
    - value
    - m_data::m_value::destroy
    - construct
    - static_cast<underlying_type>
    - string
    - m_data::m_value::array::reserve
    - to_json
    - static_cast<typename BasicJsonType::boolean_t>
    - std::copy
    - m_data::m_value::array::back
    - begin
    - m_data::m_value::array::resize
    - to_json_tuple_impl
    - template create<typename BasicJsonType::string_t>
    - set_parents
    - std::get<Idx>
    - key
    - noexcept
    - BasicJsonType::binary_t
    - template create<typename BasicJsonType::object_t>
    - set_parent
    - m_data::m_value::array::begin
    - m_data::m_value::array::push_back
    - std::move
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5427,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - b
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::boolean_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5431
      start: 5425
    functionDepth: 1
    functionLinenumber: 5425
    functionLinenumberEnd: 5431
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::boolean_t
      b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5440,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5444
      start: 5438
    functionDepth: 1
    functionLinenumber: 5438
    functionLinenumberEnd: 5444
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::string_t&
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5449,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5451,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5453
      start: 5447
    functionDepth: 1
    functionLinenumber: 5447
    functionLinenumberEnd: 5453
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - m_data::m_value::destroy
    - assert_invariant
    - std::move
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::string_t&&
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5460,1
    - Dst: template create<typename BasicJsonType::string_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5462,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' str'
    argTypes:
    - BasicJsonType
    - CompatibleStringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5464
      start: 5458
    functionDepth: 1
    functionLinenumber: 5458
    functionLinenumberEnd: 5464
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - template create<typename BasicJsonType::string_t>
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleStringType& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5473,1
    - Dst: BasicJsonType::binary_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5475,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5477
      start: 5471
    functionDepth: 1
    functionLinenumber: 5471
    functionLinenumberEnd: 5477
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - BasicJsonType::binary_t
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::binary_t&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5482,1
    - Dst: BasicJsonType::binary_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5484,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5484,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5486
      start: 5480
    functionDepth: 1
    functionLinenumber: 5480
    functionLinenumberEnd: 5486
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - BasicJsonType::binary_t
    - m_data::m_value::destroy
    - assert_invariant
    - std::move
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::binary_t&&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5495,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5499
      start: 5493
    functionDepth: 1
    functionLinenumber: 5493
    functionLinenumberEnd: 5499
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_float_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5508,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5512
      start: 5506
    functionDepth: 1
    functionLinenumber: 5506
    functionLinenumberEnd: 5512
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5521,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5525
      start: 5519
    functionDepth: 1
    functionLinenumber: 5519
    functionLinenumberEnd: 5525
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t
      val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5534,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5537,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5539
      start: 5532
    functionDepth: 1
    functionLinenumber: 5532
    functionLinenumberEnd: 5539
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - set_parents
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::array_t&
      arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5544,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5546,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5547,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5549
      start: 5542
    functionDepth: 1
    functionLinenumber: 5542
    functionLinenumberEnd: 5549
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - set_parents
    - m_data::m_value::destroy
    - assert_invariant
    - std::move
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::array_t&&
      arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5559,1
    - Dst: template create<typename BasicJsonType::array_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5561,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5561,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5561,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5562,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - CompatibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5564
      start: 5554
    functionDepth: 1
    functionLinenumber: 5554
    functionLinenumberEnd: 5564
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - assert_invariant
    - begin
    - end
    - set_parents
    - template create<typename BasicJsonType::array_t>
    - m_data::m_value::destroy
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleArrayType& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5569,1
    - Dst: m_data::m_value::array::reserve
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5572,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5572,1
    - Dst: m_data::m_value::array::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5575,1
    - Dst: set_parent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5576,1
    - Dst: m_data::m_value::array::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5576,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5579
      start: 5567
    functionDepth: 1
    functionLinenumber: 5567
    functionLinenumberEnd: 5579
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - m_data::m_value::array::back
    - set_parent
    - assert_invariant
    - size
    - m_data::m_value::array::reserve
    - m_data::m_value::array::push_back
    - m_data::m_value::destroy
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const std::vector<bool>& arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5585,1
    - Dst: m_data::m_value::array::resize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5588,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5588,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5589,1
    - Dst: std::copy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: m_data::m_value::array::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5591,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5593,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5595
      start: 5583
    functionDepth: 1
    functionLinenumber: 5583
    functionLinenumberEnd: 5595
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - assert_invariant
    - begin
    - m_data::m_value::array::resize
    - end
    - m_data::m_value::array::begin
    - size
    - set_parents
    - m_data::m_value::destroy
    - std::copy
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const std::valarray<T>& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5604,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5607,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5609
      start: 5602
    functionDepth: 1
    functionLinenumber: 5602
    functionLinenumberEnd: 5609
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - set_parents
    - m_data::m_value::destroy
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const typename BasicJsonType::object_t&
      obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5614,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5616,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5617,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5619
      start: 5612
    functionDepth: 1
    functionLinenumber: 5612
    functionLinenumberEnd: 5619
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - set_parents
    - m_data::m_value::destroy
    - assert_invariant
    - std::move
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, typename BasicJsonType::object_t&&
      obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5628,1
    - Dst: template create<typename BasicJsonType::object_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5630,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5630,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5630,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5631,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - CompatibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5633
      start: 5623
    functionDepth: 1
    functionLinenumber: 5623
    functionLinenumberEnd: 5633
    functionName: construct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - template create<typename BasicJsonType::object_t>
    - assert_invariant
    - begin
    - end
    - set_parents
    - m_data::m_value::destroy
    linkageType: ''
    returnType: void
    signature: void construct(BasicJsonType& j, const CompatibleObjectType& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - b
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5645
      start: 5642
    functionDepth: 2
    functionLinenumber: 5642
    functionLinenumberEnd: 5645
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, T b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5657,1
    - Dst: static_cast<typename BasicJsonType::boolean_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - BoolRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5658
      start: 5655
    functionDepth: 2
    functionLinenumber: 5655
    functionLinenumberEnd: 5658
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    - static_cast<typename BasicJsonType::boolean_t>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const BoolRef& b) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - CompatibleString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5665
      start: 5662
    functionDepth: 2
    functionLinenumber: 5662
    functionLinenumberEnd: 5665
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleString& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5670,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' s'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5671
      start: 5668
    functionDepth: 2
    functionLinenumber: 5668
    functionLinenumberEnd: 5671
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    - std::move
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5677,1
    - Dst: static_cast<typename BasicJsonType::number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5678
      start: 5675
    functionDepth: 2
    functionLinenumber: 5675
    functionLinenumberEnd: 5678
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    - static_cast<typename BasicJsonType::number_float_t>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, FloatType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5684,1
    - Dst: static_cast<typename BasicJsonType::number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - CompatibleNumberUnsignedType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5685
      start: 5682
    functionDepth: 2
    functionLinenumber: 5682
    functionLinenumberEnd: 5685
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    - static_cast<typename BasicJsonType::number_unsigned_t>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5691,1
    - Dst: static_cast<typename BasicJsonType::number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - val
    argTypes:
    - BasicJsonType
    - CompatibleNumberIntegerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5692
      start: 5689
    functionDepth: 2
    functionLinenumber: 5689
    functionLinenumberEnd: 5692
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    - static_cast<typename BasicJsonType::number_integer_t>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5700,1
    - Dst: static_cast<underlying_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - e
    argTypes:
    - BasicJsonType
    - EnumType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5701
      start: 5697
    functionDepth: 2
    functionLinenumber: 5697
    functionLinenumberEnd: 5701
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    - static_cast<underlying_type>
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, EnumType e) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' e'
    argTypes:
    - BasicJsonType
    - std::vector<bool>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5708
      start: 5705
    functionDepth: 2
    functionLinenumber: 5705
    functionLinenumberEnd: 5708
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::vector<bool>& e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - CompatibleArrayType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5721
      start: 5718
    functionDepth: 2
    functionLinenumber: 5718
    functionLinenumberEnd: 5721
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' bin'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5727
      start: 5724
    functionDepth: 2
    functionLinenumber: 5724
    functionLinenumberEnd: 5727
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const typename BasicJsonType::binary_t&
      bin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5733,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - std::valarray<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5734
      start: 5731
    functionDepth: 2
    functionLinenumber: 5731
    functionLinenumberEnd: 5734
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    - std::move
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::valarray<T>& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5739,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' arr'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5740
      start: 5737
    functionDepth: 2
    functionLinenumber: 5737
    functionLinenumberEnd: 5740
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    - std::move
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - CompatibleObjectType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5747
      start: 5744
    functionDepth: 2
    functionLinenumber: 5744
    functionLinenumberEnd: 5747
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5752,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' obj'
    argTypes:
    - BasicJsonType
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5753
      start: 5750
    functionDepth: 2
    functionLinenumber: 5750
    functionLinenumberEnd: 5753
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    - std::move
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - (arr)
    argTypes:
    - BasicJsonType
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5763
      start: 5760
    functionDepth: 2
    functionLinenumber: 5760
    functionLinenumberEnd: 5763
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - construct
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T(&arr)[N])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std::pair<T1, T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5769
      start: 5766
    functionDepth: 0
    functionLinenumber: 5766
    functionLinenumberEnd: 5769
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std::pair<T1, T2>& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5776,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' b'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5777
      start: 5774
    functionDepth: 2
    functionLinenumber: 5774
    functionLinenumberEnd: 5777
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - key
    - value
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<Idx>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - Tuple
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5783
      start: 5780
    functionDepth: 0
    functionLinenumber: 5780
    functionLinenumberEnd: 5783
    functionName: to_json_tuple_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - std::get<Idx>
    linkageType: ''
    returnType: void
    signature: void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence<Idx...>
      /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_json_tuple_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' t'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5789
      start: 5786
    functionDepth: 1
    functionLinenumber: 5786
    functionLinenumberEnd: 5789
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - to_json_tuple_impl
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' p'
    argTypes:
    - BasicJsonType
    - std_fs::path
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5796
      start: 5793
    functionDepth: 1
    functionLinenumber: 5793
    functionLinenumberEnd: 5796
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - string
    linkageType: ''
    returnType: void
    signature: void to_json(BasicJsonType& j, const std_fs::path& p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5802,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5802,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5802,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5803,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5803,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5805,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5806
      start: 5802
    functionDepth: 3
    functionLinenumber: 5802
    functionLinenumberEnd: 5806
    functionName: "operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j,
      std::forward<T>(val))))\n    -> decltype(to_json(j, std::forward<T>(val)), void())"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::forward<T>
    - noexcept
    - to_json
    linkageType: ''
    returnType: auto
    signature: "auto operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j,
      std::forward<T>(val))))\n    -> decltype(to_json(j, std::forward<T>(val)), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5838,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5838,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5838,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5839,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5839,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5841,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - TargetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5842
      start: 5837
    functionDepth: 1
    functionLinenumber: 5837
    functionLinenumberEnd: 5842
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 8
    functionsReached:
    - from_json
    - noexcept
    - std::forward<BasicJsonType>
    linkageType: ''
    returnType: auto
    signature: "auto from_json(BasicJsonType && j, TargetType& val) noexcept(\n        noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      val)))\n    -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      val), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5848,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5848,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5848,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5849,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5849,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5851,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5852
      start: 5847
    functionDepth: 1
    functionLinenumber: 5847
    functionLinenumberEnd: 5852
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 9
    functionsReached:
    - from_json
    - noexcept
    - std::forward<BasicJsonType>
    linkageType: ''
    returnType: auto
    signature: "auto from_json(BasicJsonType && j) noexcept(\n    noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      detail::identity_tag<TargetType> {})))\n    -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      detail::identity_tag<TargetType> {}))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5858,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5858,1
    - Dst: std::forward<TargetType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5858,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5859,1
    - Dst: std::forward<TargetType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5859,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5861,1
    - Dst: std::forward<TargetType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - TargetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5862
      start: 5857
    functionDepth: 1
    functionLinenumber: 5857
    functionLinenumberEnd: 5862
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 8
    functionsReached:
    - std::forward<TargetType>
    - noexcept
    - to_json
    linkageType: ''
    returnType: auto
    signature: "auto to_json(BasicJsonType& j, TargetType && val) noexcept(\n        noexcept(::nlohmann::to_json(j,
      std::forward<TargetType>(val))))\n    -> decltype(::nlohmann::to_json(j, std::forward<TargetType>(val)),
      void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5838,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5838,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5838,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5839,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5839,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5841,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - TargetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5842
      start: 5837
    functionDepth: 1
    functionLinenumber: 5837
    functionLinenumberEnd: 5842
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 10
    functionsReached:
    - from_json
    - noexcept
    - std::forward<BasicJsonType>
    linkageType: ''
    returnType: auto
    signature: "auto from_json(BasicJsonType && j, TargetType& val) noexcept(\n        noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      val)))\n    -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      val), void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5848,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5848,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5848,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5849,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5849,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5851,1
    - Dst: std::forward<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5852
      start: 5847
    functionDepth: 1
    functionLinenumber: 5847
    functionLinenumberEnd: 5852
    functionName: from_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 11
    functionsReached:
    - from_json
    - noexcept
    - std::forward<BasicJsonType>
    linkageType: ''
    returnType: auto
    signature: "auto from_json(BasicJsonType && j) noexcept(\n    noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      detail::identity_tag<TargetType> {})))\n    -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j),
      detail::identity_tag<TargetType> {}))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5858,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5858,1
    - Dst: std::forward<TargetType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5858,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5859,1
    - Dst: std::forward<TargetType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5859,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5861,1
    - Dst: std::forward<TargetType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - ' val'
    argTypes:
    - BasicJsonType
    - TargetType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5862
      start: 5857
    functionDepth: 1
    functionLinenumber: 5857
    functionLinenumberEnd: 5862
    functionName: to_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 9
    functionsReached:
    - std::forward<TargetType>
    - noexcept
    - to_json
    linkageType: ''
    returnType: auto
    signature: "auto to_json(BasicJsonType& j, TargetType && val) noexcept(\n        noexcept(::nlohmann::to_json(j,
      std::forward<TargetType>(val))))\n    -> decltype(::nlohmann::to_json(j, std::forward<TargetType>(val)),
      void())"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - byte_container_with_subtype
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5934
      start: 5931
    functionDepth: 0
    functionLinenumber: 5931
    functionLinenumberEnd: 5934
    functionName: operator!=(const byte_container_with_subtype& rhs) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const byte_container_with_subtype& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - subtype_
    argTypes:
    - subtype_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5942
      start: 5938
    functionDepth: 0
    functionLinenumber: 5938
    functionLinenumberEnd: 5942
    functionName: set_subtype
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_subtype(subtype_type subtype_) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<subtype_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:5948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5949
      start: 5946
    functionDepth: 0
    functionLinenumber: 5946
    functionLinenumberEnd: 5949
    functionName: subtype
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<subtype_type>
    linkageType: ''
    returnType: subtype_type
    signature: subtype_type subtype() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5956
      start: 5953
    functionDepth: 0
    functionLinenumber: 5953
    functionLinenumberEnd: 5956
    functionName: has_subtype
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_subtype() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5964
      start: 5960
    functionDepth: 0
    functionLinenumber: 5960
    functionLinenumberEnd: 5964
    functionName: clear_subtype
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_subtype() noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6029,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6029,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6030,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6035,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6040,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6040,1
    - Dst: items
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6041,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6043,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6044,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6045,1
    - Dst: hash
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6045,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6045,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6052,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6052,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6055,1
    - Dst: hash
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6055,1
    - Dst: template get_ref<const string_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6062,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6063,1
    - Dst: template get<bool>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6068,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6069,1
    - Dst: template get<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6074,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6075,1
    - Dst: template get<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6080,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6081,1
    - Dst: template get<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6086,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6087,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6092,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6092,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6093,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6094,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6095,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6095,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6095,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6096,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6098,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6109
      start: 5999
    functionDepth: 2
    functionLinenumber: 5999
    functionLinenumberEnd: 6109
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - template get<number_integer_t>
    - static_cast<std::size_t>
    - template get<number_unsigned_t>
    - template get_ref<const string_t&>
    - template get<bool>
    - template get<number_float_t>
    - hash
    - size
    - get_binary
    - JSON_ASSERT
    - type
    - value
    - key
    - combine
    - items
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - seed
    - h
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6008
      start: 6004
    functionDepth: 0
    functionLinenumber: 6004
    functionLinenumberEnd: 6008
    functionName: combine
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t combine(std::size_t seed, std::size_t h) noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6029,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6029,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6030,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6035,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6040,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6040,1
    - Dst: items
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6041,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6043,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6044,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6045,1
    - Dst: hash
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6045,1
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6045,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6052,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6052,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6055,1
    - Dst: hash
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6055,1
    - Dst: template get_ref<const string_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6062,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6063,1
    - Dst: template get<bool>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6068,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6069,1
    - Dst: template get<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6074,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6075,1
    - Dst: template get<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6080,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6081,1
    - Dst: template get<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6086,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6087,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6092,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6092,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6093,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6094,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6095,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6095,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6095,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6096,1
    - Dst: combine
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6098,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6107
      start: 6022
    functionDepth: 2
    functionLinenumber: 6022
    functionLinenumberEnd: 6107
    functionName: hash
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 8
    functionsReached:
    - template get<number_integer_t>
    - static_cast<std::size_t>
    - template get<number_unsigned_t>
    - template get_ref<const string_t&>
    - template get<bool>
    - template get<number_float_t>
    - hash
    - size
    - get_binary
    - JSON_ASSERT
    - type
    - value
    - key
    - combine
    - items
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t hash(const BasicJsonType& j)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6196,1
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6204,1
    - Dst: std::fgetc
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6208,1
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6236,1
    - Dst: rdstate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6236,1
    - Dst: rdbuf
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6241,1
    - Dst: sbumpc
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6261,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6263,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6263,1
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6265,1
    - Dst: rdstate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6265,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6286,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6286,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6291,1
    - Dst: to_int_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6293,1
    - Dst: std::advance
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6294,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6298,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6328,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6328,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6330,1
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6336,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6341,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6346,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6346,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6347,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6347,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6352,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6352,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6353,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6353,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6354,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6354,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6359,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6359,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6360,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6360,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6361,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6361,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6362,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6362,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6368,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6386,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6386,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6388,1
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6394,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6399,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6404,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6404,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6405,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6405,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6410,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6410,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6411,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6411,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6412,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6412,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6417,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6417,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6419,1
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6419,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6420,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6421,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6422,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6423,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6424,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6429,1
    - Dst: fill_buffer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6452,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6454,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6455,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6459,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6460,1
    - Dst: fill_buffer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6470,1
    - Dst: adapter_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6491,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6491,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6491,1
    - Dst: adapter_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    - Dst: base_adapter_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    - Dst: dag_create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6524,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6542,1
    - Dst: std::declval<ContainerType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6542,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6542,1
    - Dst: std::declval<ContainerType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6542,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6544,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6544,1
    - Dst: std::declval<ContainerType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6544,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6544,1
    - Dst: std::declval<ContainerType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6544,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    - Dst: dag_create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6557,1
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6564,1
    - Dst: input_stream_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6569,1
    - Dst: input_stream_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6574,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6578,1
    - Dst: std::declval<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6578,1
    - Dst: std::declval<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6578,1
    - Dst: std::strlen
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6590,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6590,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6591,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6592,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6596,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6598,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6614,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6614,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6621,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6625,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 131
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6632
      start: 6171
    functionDepth: 4
    functionLinenumber: 6171
    functionLinenumberEnd: 6632
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - dag_create
    - end
    - empty
    - clear
    - static_cast<unsigned int>
    - JSON_HEDLEY_LIKELY
    - file_input_adapter
    - std::declval<const char*>
    - get_character
    - JSON_ASSERT
    - input_stream_adapter
    - std::strlen
    - input_adapter
    - adapter_type
    - fill_buffer
    - std::declval<ContainerType>
    - to_int_type
    - JSON_HEDLEY_UNLIKELY
    - reinterpret_cast<const char*>
    - begin
    - std::fgetc
    - light_eof
    - rdbuf
    - std::advance
    - base_adapter_type
    - sbumpc
    - rdstate
    - static_cast<std::char_traits<char>::int_type>
    - std::move
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - std::FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6197
      start: 6193
    functionDepth: 1
    functionLinenumber: 6193
    functionLinenumberEnd: 6197
    functionName: file_input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(std::FILE* f) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6200
      start: 6200
    functionDepth: 0
    functionLinenumber: 6200
    functionLinenumberEnd: 6200
    functionName: file_input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(const file_input_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6201
      start: 6201
    functionDepth: 0
    functionLinenumber: 6201
    functionLinenumberEnd: 6201
    functionName: file_input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void file_input_adapter(file_input_adapter&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::fgetc
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6209
      start: 6206
    functionDepth: 0
    functionLinenumber: 6206
    functionLinenumberEnd: 6209
    functionName: get_character
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - std::fgetc
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character() noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6236,1
    - Dst: rdstate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6238
      start: 6230
    functionDepth: 0
    functionLinenumber: 6230
    functionLinenumberEnd: 6238
    functionName: ~input_stream_adapter()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - rdstate
    - clear
    linkageType: ''
    returnType: void
    signature: void ~input_stream_adapter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdbuf
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6242
      start: 6240
    functionDepth: 0
    functionLinenumber: 6240
    functionLinenumberEnd: 6242
    functionName: input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - rdbuf
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(std::istream& i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6245
      start: 6245
    functionDepth: 0
    functionLinenumber: 6245
    functionLinenumberEnd: 6245
    functionName: input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(const input_stream_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6246
      start: 6246
    functionDepth: 0
    functionLinenumber: 6246
    functionLinenumberEnd: 6246
    functionName: '& operator=(input_stream_adapter&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter & operator=(input_stream_adapter&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6247
      start: 6247
    functionDepth: 0
    functionLinenumber: 6247
    functionLinenumberEnd: 6247
    functionName: '& operator=(input_stream_adapter&&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter & operator=(input_stream_adapter&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - input_stream_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6254
      start: 6249
    functionDepth: 0
    functionLinenumber: 6249
    functionLinenumberEnd: 6254
    functionName: input_stream_adapter::input_stream_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void input_stream_adapter(input_stream_adapter&& rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sbumpc
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6261,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6263,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6263,1
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6265,1
    - Dst: rdstate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6268
      start: 6259
    functionDepth: 1
    functionLinenumber: 6259
    functionLinenumberEnd: 6268
    functionName: input_stream_adapter::get_character
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - sbumpc
    - light_eof
    - clear
    - rdstate
    linkageType: ''
    returnType: std::char_traits<char>::int_type
    signature: std::char_traits<char>::int_type get_character()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6286,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6287
      start: 6285
    functionDepth: 0
    functionLinenumber: 6285
    functionLinenumberEnd: 6287
    functionName: iterator_input_adapter::iterator_input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void iterator_input_adapter(IteratorType first, IteratorType last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6291,1
    - Dst: to_int_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6293,1
    - Dst: std::advance
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6294,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6299
      start: 6289
    functionDepth: 1
    functionLinenumber: 6289
    functionLinenumberEnd: 6299
    functionName: iterator_input_adapter::get_character
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - to_int_type
    - JSON_HEDLEY_LIKELY
    - light_eof
    linkageType: ''
    returnType: typename char_traits<char_type>::int_type
    signature: typename char_traits<char_type>::int_type get_character()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6311
      start: 6308
    functionDepth: 0
    functionLinenumber: 6308
    functionLinenumberEnd: 6311
    functionName: iterator_input_adapter::empty
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6328,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6328,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6330,1
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6336,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6341,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6346,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6346,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6347,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6347,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6352,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6352,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6353,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6353,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6354,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6354,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6359,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6359,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6360,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6360,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6361,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6361,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6362,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6362,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 4
    argNames:
    - ' input'
    - ' utf8_bytes'
    - ' utf8_bytes_index'
    - ' utf8_bytes_filled'
    argTypes:
    - BaseInputAdapter
    - std::array<std::char_traits<char>::int_type, 4>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6372
      start: 6321
    functionDepth: 1
    functionLinenumber: 6321
    functionLinenumberEnd: 6372
    functionName: fill_buffer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - light_eof
    - empty
    - get_character
    - static_cast<unsigned int>
    - static_cast<std::char_traits<char>::int_type>
    linkageType: ''
    returnType: void
    signature: "void fill_buffer(BaseInputAdapter& input,\n                            std::array<std::char_traits<char>::int_type,
      4>& utf8_bytes,\n                            size_t& utf8_bytes_index,\n                            size_t&
      utf8_bytes_filled)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6386,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6386,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6388,1
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6394,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6399,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6404,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6404,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6405,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6405,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6410,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6410,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6411,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6411,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6412,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6412,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6417,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6417,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6419,1
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6419,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6420,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6421,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6422,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6423,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6424,1
    - Dst: static_cast<std::char_traits<char>::int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - ' input'
    - ' utf8_bytes'
    - ' utf8_bytes_index'
    - ' utf8_bytes_filled'
    argTypes:
    - BaseInputAdapter
    - std::array<std::char_traits<char>::int_type, 4>
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6434
      start: 6379
    functionDepth: 1
    functionLinenumber: 6379
    functionLinenumberEnd: 6434
    functionName: fill_buffer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - light_eof
    - empty
    - get_character
    - static_cast<unsigned int>
    - static_cast<std::char_traits<char>::int_type>
    linkageType: ''
    returnType: void
    signature: "void fill_buffer(BaseInputAdapter& input,\n                            std::array<std::char_traits<char>::int_type,
      4>& utf8_bytes,\n                            size_t& utf8_bytes_index,\n                            size_t&
      utf8_bytes_filled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - base
    argTypes:
    - BaseInputAdapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6445
      start: 6444
    functionDepth: 0
    functionLinenumber: 6444
    functionLinenumberEnd: 6445
    functionName: wide_string_input_adapter::wide_string_input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wide_string_input_adapter(BaseInputAdapter base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wide_string_input_adapter::fill_buffer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6452,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6454,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6455,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6459,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6462
      start: 6447
    functionDepth: 2
    functionLinenumber: 6447
    functionLinenumberEnd: 6462
    functionName: wide_string_input_adapter::get_character
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - wide_string_input_adapter::fill_buffer
    linkageType: ''
    returnType: typename std::char_traits<char>::int_type
    signature: typename std::char_traits<char>::int_type get_character() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wide_string_input_adapter::fill_buffer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6471
      start: 6468
    functionDepth: 1
    functionLinenumber: 6468
    functionLinenumberEnd: 6471
    functionName: wide_string_input_adapter::fill_buffer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - wide_string_input_adapter::fill_buffer
    linkageType: ''
    returnType: void
    signature: void fill_buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adapter_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6491,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6491,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6492
      start: 6489
    functionDepth: 0
    functionLinenumber: 6489
    functionLinenumberEnd: 6492
    functionName: create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 55
    functionsReached:
    - adapter_type
    - std::move
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adapter_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    - Dst: base_adapter_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6516
      start: 6513
    functionDepth: 0
    functionLinenumber: 6513
    functionLinenumberEnd: 6516
    functionName: create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 55
    functionsReached:
    - std::move
    - adapter_type
    - base_adapter_type
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dag_create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6525
      start: 6521
    functionDepth: 3
    functionLinenumber: 6521
    functionLinenumberEnd: 6525
    functionName: input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 8
    functionsReached:
    - dag_create
    linkageType: ''
    returnType: typename iterator_input_adapter_factory<IteratorType>::adapter_type
    signature: typename iterator_input_adapter_factory<IteratorType>::adapter_type
      input_adapter(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - ContainerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6549
      start: 6546
    functionDepth: 4
    functionLinenumber: 6546
    functionLinenumberEnd: 6549
    functionName: container_input_adapter_factory_impl::create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - end
    - input_adapter
    - begin
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(const ContainerType& container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - ContainerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6549
      start: 6546
    functionDepth: 4
    functionLinenumber: 6546
    functionLinenumberEnd: 6549
    functionName: container_input_adapter_factory_impl::create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - end
    - input_adapter
    - begin
    linkageType: ''
    returnType: adapter_type
    signature: adapter_type create(const ContainerType& container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dag_create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' container'
    argTypes:
    - ContainerType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6558
      start: 6555
    functionDepth: 3
    functionLinenumber: 6555
    functionLinenumberEnd: 6558
    functionName: input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 10
    functionsReached:
    - dag_create
    linkageType: ''
    returnType: typename container_input_adapter_factory_impl::container_input_adapter_factory<ContainerType>::adapter_type
    signature: typename container_input_adapter_factory_impl::container_input_adapter_factory<ContainerType>::adapter_type
      input_adapter(const ContainerType& container)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - std::FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6565
      start: 6562
    functionDepth: 2
    functionLinenumber: 6562
    functionLinenumberEnd: 6565
    functionName: input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 11
    functionsReached:
    - file_input_adapter
    linkageType: ''
    returnType: file_input_adapter
    signature: file_input_adapter input_adapter(std::FILE* file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_stream_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6570
      start: 6567
    functionDepth: 0
    functionLinenumber: 6567
    functionLinenumberEnd: 6570
    functionName: input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 11
    functionsReached:
    - input_stream_adapter
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter input_adapter(std::istream& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_stream_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' stream'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6575
      start: 6572
    functionDepth: 0
    functionLinenumber: 6572
    functionLinenumberEnd: 6575
    functionName: input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 11
    functionsReached:
    - input_stream_adapter
    linkageType: ''
    returnType: input_stream_adapter
    signature: input_stream_adapter input_adapter(std::istream&& stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strlen
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6590,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6590,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6591,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - CharT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6593
      start: 6588
    functionDepth: 1
    functionLinenumber: 6588
    functionLinenumberEnd: 6593
    functionName: input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 12
    functionsReached:
    - input_adapter
    - std::strlen
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: contiguous_bytes_input_adapter
    signature: contiguous_bytes_input_adapter input_adapter(CharT b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6596,1
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - (array)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6599
      start: 6596
    functionDepth: 1
    functionLinenumber: 6596
    functionLinenumberEnd: 6599
    functionName: input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 13
    functionsReached:
    - input_adapter
    linkageType: ''
    returnType: auto
    signature: auto input_adapter(T (&array)[N]) -> decltype(input_adapter(array,
      array + N))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6614,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - CharT
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6614
      start: 6613
    functionDepth: 0
    functionLinenumber: 6613
    functionLinenumberEnd: 6614
    functionName: span_input_adapter::span_input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void span_input_adapter(CharT b, std::size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6621
      start: 6620
    functionDepth: 4
    functionLinenumber: 6620
    functionLinenumberEnd: 6621
    functionName: span_input_adapter::span_input_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - input_adapter
    linkageType: ''
    returnType: void
    signature: void span_input_adapter(IteratorType first, IteratorType last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6626
      start: 6623
    functionDepth: 0
    functionLinenumber: 6623
    functionLinenumberEnd: 6626
    functionName: '&& get()'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: contiguous_bytes_input_adapter
    signature: contiguous_bytes_input_adapter && get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' r'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6815
      start: 6813
    functionDepth: 0
    functionLinenumber: 6813
    functionLinenumberEnd: 6815
    functionName: json_sax_dom_parser
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_
      = true)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6818
      start: 6818
    functionDepth: 0
    functionLinenumber: 6818
    functionLinenumberEnd: 6818
    functionName: json_sax_dom_parser
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(const json_sax_dom_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6819
      start: 6819
    functionDepth: 0
    functionLinenumber: 6819
    functionLinenumberEnd: 6819
    functionName: json_sax_dom_parser
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_parser(json_sax_dom_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6822
      start: 6822
    functionDepth: 0
    functionLinenumber: 6822
    functionLinenumberEnd: 6822
    functionName: ~json_sax_dom_parser()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax_dom_parser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6828
      start: 6824
    functionDepth: 0
    functionLinenumber: 6824
    functionLinenumberEnd: 6828
    functionName: 'null'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6834
      start: 6830
    functionDepth: 0
    functionLinenumber: 6830
    functionLinenumberEnd: 6834
    functionName: boolean
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6840
      start: 6836
    functionDepth: 0
    functionLinenumber: 6836
    functionLinenumberEnd: 6840
    functionName: number_integer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6846
      start: 6842
    functionDepth: 0
    functionLinenumber: 6842
    functionLinenumberEnd: 6846
    functionName: number_unsigned
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6852
      start: 6848
    functionDepth: 0
    functionLinenumber: 6848
    functionLinenumberEnd: 6852
    functionName: number_float
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t val, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6858
      start: 6854
    functionDepth: 0
    functionLinenumber: 6854
    functionLinenumberEnd: 6858
    functionName: string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 377
    functionsReached:
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6862,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6864
      start: 6860
    functionDepth: 0
    functionLinenumber: 6860
    functionLinenumberEnd: 6864
    functionName: binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - std::move
    - handle_value
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6868,1
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6868,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6870,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6870,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6870,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6872,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6872,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6872,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6872,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6876
      start: 6866
    functionDepth: 4
    functionLinenumber: 6866
    functionLinenumberEnd: 6876
    functionName: start_object
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - out_of_range::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - to_string
    - back
    - handle_value
    - JSON_THROW
    - push_back
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6880,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6880,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6881,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6881,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6884,1
    - Dst: m_value::object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6886
      start: 6878
    functionDepth: 1
    functionLinenumber: 6878
    functionLinenumberEnd: 6886
    functionName: key
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 16
    functionsReached:
    - back
    - empty
    - JSON_ASSERT
    - m_value::object
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6890,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6890,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6891,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6891,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6893,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6896
      start: 6888
    functionDepth: 1
    functionLinenumber: 6888
    functionLinenumberEnd: 6896
    functionName: end_object
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - back
    - pop_back
    - empty
    - JSON_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6900,1
    - Dst: handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6900,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6902,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6902,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6902,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6904,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6904,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6904,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6904,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6908
      start: 6898
    functionDepth: 4
    functionLinenumber: 6898
    functionLinenumberEnd: 6908
    functionName: start_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - out_of_range::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - to_string
    - back
    - handle_value
    - JSON_THROW
    - push_back
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6912,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6912,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6913,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6913,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6915,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6918
      start: 6910
    functionDepth: 1
    functionLinenumber: 6910
    functionLinenumberEnd: 6918
    functionName: end_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - back
    - pop_back
    - empty
    - JSON_ASSERT
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6925,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' ex'
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6931
      start: 6921
    functionDepth: 1
    functionLinenumber: 6921
    functionLinenumberEnd: 6931
    functionName: parse_error
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: "bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,\n
      \                    const Exception& ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6936
      start: 6933
    functionDepth: 0
    functionLinenumber: 6933
    functionLinenumberEnd: 6936
    functionName: is_errored
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_errored() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:6998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' r'
    - cb
    argTypes:
    - BasicJsonType
    - parser_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6999
      start: 6993
    functionDepth: 1
    functionLinenumber: 6993
    functionLinenumberEnd: 6999
    functionName: json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: "void json_sax_dom_callback_parser(BasicJsonType& r,\n                                 const
      parser_callback_t cb,\n                                 const bool allow_exceptions_
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7002
      start: 7002
    functionDepth: 0
    functionLinenumber: 7002
    functionLinenumberEnd: 7002
    functionName: json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_callback_parser(const json_sax_dom_callback_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7003
      start: 7003
    functionDepth: 0
    functionLinenumber: 7003
    functionLinenumberEnd: 7003
    functionName: json_sax_dom_callback_parser::json_sax_dom_callback_parser
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_sax_dom_callback_parser(json_sax_dom_callback_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7004
      start: 7004
    functionDepth: 0
    functionLinenumber: 7004
    functionLinenumberEnd: 7004
    functionName: '& operator=(const json_sax_dom_callback_parser&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_callback_parser
    signature: json_sax_dom_callback_parser & operator=(const json_sax_dom_callback_parser&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7005
      start: 7005
    functionDepth: 0
    functionLinenumber: 7005
    functionLinenumberEnd: 7005
    functionName: '& operator=(json_sax_dom_callback_parser&&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_sax_dom_callback_parser
    signature: json_sax_dom_callback_parser & operator=(json_sax_dom_callback_parser&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7006
      start: 7006
    functionDepth: 0
    functionLinenumber: 7006
    functionLinenumberEnd: 7006
    functionName: ~json_sax_dom_callback_parser()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_sax_dom_callback_parser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_sax_dom_callback_parser::handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7012
      start: 7008
    functionDepth: 1
    functionLinenumber: 7008
    functionLinenumberEnd: 7012
    functionName: json_sax_dom_callback_parser::null
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_sax_dom_callback_parser::handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7018
      start: 7014
    functionDepth: 1
    functionLinenumber: 7014
    functionLinenumberEnd: 7018
    functionName: json_sax_dom_callback_parser::boolean
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_sax_dom_callback_parser::handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7024
      start: 7020
    functionDepth: 1
    functionLinenumber: 7020
    functionLinenumberEnd: 7024
    functionName: json_sax_dom_callback_parser::number_integer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_sax_dom_callback_parser::handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7030
      start: 7026
    functionDepth: 1
    functionLinenumber: 7026
    functionLinenumberEnd: 7030
    functionName: json_sax_dom_callback_parser::number_unsigned
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_sax_dom_callback_parser::handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - val
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7036
      start: 7032
    functionDepth: 1
    functionLinenumber: 7032
    functionLinenumberEnd: 7036
    functionName: json_sax_dom_callback_parser::number_float
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t val, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_sax_dom_callback_parser::handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7042
      start: 7038
    functionDepth: 1
    functionLinenumber: 7038
    functionLinenumberEnd: 7042
    functionName: json_sax_dom_callback_parser::string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_sax_dom_callback_parser::handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7046,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7048
      start: 7044
    functionDepth: 1
    functionLinenumber: 7044
    functionLinenumberEnd: 7048
    functionName: json_sax_dom_callback_parser::binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    - json_sax_dom_callback_parser::handle_value
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7053,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7053,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7053,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7054,1
    - Dst: json_sax_dom_callback_parser::handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7056,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7057,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7060,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7060,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7060,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7060,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7062,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7062,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7062,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7062,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7066
      start: 7050
    functionDepth: 4
    functionLinenumber: 7050
    functionLinenumberEnd: 7066
    functionName: json_sax_dom_callback_parser::start_object
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - out_of_range::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - to_string
    - static_cast<int>
    - callback
    - back
    - size
    - json_sax_dom_callback_parser::handle_value
    - JSON_THROW
    - push_back
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7070,1
    - Dst: callback
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7073,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7073,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7073,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7074,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7077,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7079,1
    - Dst: m_value::object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7083
      start: 7068
    functionDepth: 1
    functionLinenumber: 7068
    functionLinenumberEnd: 7083
    functionName: json_sax_dom_callback_parser::key
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - BasicJsonType
    - callback
    - static_cast<int>
    - m_value::object
    - back
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7087,1
    - Dst: callback
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7089,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7089,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7089,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7089,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7092,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7096,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7100,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7100,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7101,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7101,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7102,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7103,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7105,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7105,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7105,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7108,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7108,1
    - Dst: auto::is_discarded
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7110,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7119
      start: 7085
    functionDepth: 1
    functionLinenumber: 7085
    functionLinenumberEnd: 7119
    functionName: json_sax_dom_callback_parser::end_object
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - callback
    - empty
    - auto::is_discarded
    - JSON_ASSERT
    - back
    - size
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: callback
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7123,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7123,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7123,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7124,1
    - Dst: json_sax_dom_callback_parser::handle_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7126,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7127,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7130,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7130,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7130,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7130,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7132,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7132,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7132,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7132,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7136
      start: 7121
    functionDepth: 4
    functionLinenumber: 7121
    functionLinenumberEnd: 7136
    functionName: json_sax_dom_callback_parser::start_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - out_of_range::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - to_string
    - static_cast<int>
    - callback
    - back
    - size
    - json_sax_dom_callback_parser::handle_value
    - JSON_THROW
    - push_back
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7142,1
    - Dst: callback
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7144,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7144,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7144,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7144,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7147,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7152,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7156,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7156,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7157,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7157,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7158,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7159,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7162,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7162,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7164,1
    - Dst: m_value::array::pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7168
      start: 7138
    functionDepth: 1
    functionLinenumber: 7138
    functionLinenumberEnd: 7168
    functionName: json_sax_dom_callback_parser::end_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - callback
    - empty
    - JSON_ASSERT
    - back
    - size
    - m_value::array::pop_back
    - pop_back
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7175,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' ex'
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7181
      start: 7171
    functionDepth: 1
    functionLinenumber: 7171
    functionLinenumberEnd: 7181
    functionName: json_sax_dom_callback_parser::parse_error
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - static_cast<void>
    linkageType: ''
    returnType: bool
    signature: "bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,\n
      \                    const Exception& ex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7186
      start: 7183
    functionDepth: 0
    functionLinenumber: 7183
    functionLinenumberEnd: 7186
    functionName: json_sax_dom_callback_parser::is_errored
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_errored() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7207,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7207,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7211,1
    - Dst: BasicJsonType
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7217,1
    - Dst: std::forward<Value>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7217,1
    - Dst: callback
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7220,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7220,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7220,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7228,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7230,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7236,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7242,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7242,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7242,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7245,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7247,1
    - Dst: m_value::array::emplace_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7247,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7247,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7248,1
    - Dst: m_value::array::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7248,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7252,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7252,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7254,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7254,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7255,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7256,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7263,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7266
      start: 7205
    functionDepth: 1
    functionLinenumber: 7205
    functionLinenumberEnd: 7266
    functionName: json_sax_dom_callback_parser::handle_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 9
    functionsReached:
    - std::forward<Value>
    - BasicJsonType
    - empty
    - callback
    - static_cast<int>
    - back
    - JSON_ASSERT
    - size
    - m_value::array::emplace_back
    - pop_back
    - m_value::array::back
    - std::move
    linkageType: ''
    returnType: std::pair<bool, BasicJsonType*>
    signature: std::pair<bool, BasicJsonType*> handle_value(Value&& v, const bool
      skip_callback = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7301
      start: 7298
    functionDepth: 0
    functionLinenumber: 7298
    functionLinenumberEnd: 7301
    functionName: json_sax_acceptor::null
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7306
      start: 7303
    functionDepth: 0
    functionLinenumber: 7303
    functionLinenumberEnd: 7306
    functionName: json_sax_acceptor::boolean
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool boolean(bool /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7311
      start: 7308
    functionDepth: 0
    functionLinenumber: 7308
    functionLinenumberEnd: 7311
    functionName: json_sax_acceptor::number_integer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_integer(number_integer_t /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7316
      start: 7313
    functionDepth: 0
    functionLinenumber: 7313
    functionLinenumberEnd: 7316
    functionName: json_sax_acceptor::number_unsigned
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_unsigned(number_unsigned_t /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7321
      start: 7318
    functionDepth: 0
    functionLinenumber: 7318
    functionLinenumberEnd: 7321
    functionName: json_sax_acceptor::number_float
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool number_float(number_float_t /*unused*/, const string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7326
      start: 7323
    functionDepth: 0
    functionLinenumber: 7323
    functionLinenumberEnd: 7326
    functionName: json_sax_acceptor::string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool string(string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7331
      start: 7328
    functionDepth: 0
    functionLinenumber: 7328
    functionLinenumberEnd: 7331
    functionName: json_sax_acceptor::binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool binary(binary_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7336
      start: 7333
    functionDepth: 0
    functionLinenumber: 7333
    functionLinenumberEnd: 7336
    functionName: json_sax_acceptor::start_object
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool start_object(std::size_t /*unused*/ = static_cast<std::size_t>(-1))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7341
      start: 7338
    functionDepth: 0
    functionLinenumber: 7338
    functionLinenumberEnd: 7341
    functionName: json_sax_acceptor::key
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool key(string_t& /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7346
      start: 7343
    functionDepth: 0
    functionLinenumber: 7343
    functionLinenumberEnd: 7346
    functionName: json_sax_acceptor::end_object
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool end_object()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7351
      start: 7348
    functionDepth: 0
    functionLinenumber: 7348
    functionLinenumberEnd: 7351
    functionName: json_sax_acceptor::start_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool start_array(std::size_t /*unused*/ = static_cast<std::size_t>(-1))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7356
      start: 7353
    functionDepth: 0
    functionLinenumber: 7353
    functionLinenumberEnd: 7356
    functionName: json_sax_acceptor::end_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool end_array()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7361
      start: 7358
    functionDepth: 0
    functionLinenumber: 7358
    functionLinenumberEnd: 7361
    functionName: json_sax_acceptor::parse_error
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
      const detail::exception& /*unused*/)
  - BBCount: 350
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7496,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7498,1
    - Dst: get_decimal_point
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7498,1
    - Dst: localeconv
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7517,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7518,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7544,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7550,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7554,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7554,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7558,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7558,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7562,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7562,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7570,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7591,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7591,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7591,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7591,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7592,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7594,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7594,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7596,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7597,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7599,1
    - Dst: reset
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7629,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7632,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7637,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7640,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7655,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7659,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7663,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7667,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7671,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7675,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7679,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7683,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7687,1
    - Dst: get_codepoint
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7693,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7696,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7706,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7706,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7706,1
    - Dst: get_codepoint
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7708,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7710,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7717,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7720,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7722,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7724,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7744,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7752,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7758,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7758,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7763,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7763,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7763,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7764,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7764,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7764,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7769,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7769,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7769,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7770,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7770,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7770,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7771,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7771,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7771,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7776,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7776,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7776,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7777,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7777,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7777,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7778,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7778,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7778,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7779,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7779,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7779,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8083,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8119,1
    - Dst: next_byte_in_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8119,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8129,1
    - Dst: next_byte_in_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8129,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8153,1
    - Dst: next_byte_in_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8153,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8163,1
    - Dst: next_byte_in_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8163,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8173,1
    - Dst: next_byte_in_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8173,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8185,1
    - Dst: next_byte_in_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8185,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8195,1
    - Dst: next_byte_in_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8195,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8218,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8225,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8229,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8244,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8246,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8255,1
    - Dst: unget
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8262,1
    - Dst: std::strtof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8286,1
    - Dst: std::strtod
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8292,1
    - Dst: std::strtold
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8298,1
    - Dst: reset
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8344,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8355,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8361,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8375,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8381,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8387,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8391,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8405,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8418,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8422,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8429,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8439,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8452,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8458,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8465,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8476,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8489,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8502,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8515,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8522,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8533,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8538,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8553,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8567,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8580,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8593,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8606,1
    - Dst: unget
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8617,1
    - Dst: std::strtoull
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8625,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8625,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8628,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8628,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8628,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8632,1
    - Dst: std::strtoll
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8641,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8641,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8644,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8644,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8644,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8648,1
    - Dst: strtof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8658,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8658,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8661,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8661,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8661,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8678,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8678,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8678,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 782
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8683
      start: 7397
    functionDepth: 2
    functionLinenumber: 7397
    functionLinenumberEnd: 8683
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - data
    - end
    - std::strtod
    - size
    - static_cast<unsigned int>
    - static_cast<char_int_type>
    - std::strtold
    - JSON_HEDLEY_LIKELY
    - get_codepoint
    - std::strtoll
    - next_byte_in_range
    - to_char_type
    - add
    - localeconv
    - JSON_ASSERT
    - unget
    - get
    - static_cast<number_integer_t>
    - reset
    - JSON_HEDLEY_UNLIKELY
    - begin
    - static_cast<number_unsigned_t>
    - static_cast<int>
    - light_eof
    - std::strtoull
    - get_decimal_point
    - strtof
    - std::strtof
    - std::move
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - t
    argTypes:
    - token_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7475
      start: 7434
    functionDepth: 0
    functionLinenumber: 7434
    functionLinenumberEnd: 7475
    functionName: lexer_base::token_type_name
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * token_type_name(const token_type t) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7496,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7498,1
    - Dst: lexer::get_decimal_point
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7499
      start: 7495
    functionDepth: 1
    functionLinenumber: 7495
    functionLinenumberEnd: 7499
    functionName: lexer::lexer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - lexer::get_decimal_point
    - std::move
    - static_cast<char_int_type>
    linkageType: ''
    returnType: void
    signature: void lexer(InputAdapterType&& adapter, bool ignore_comments_ = false)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7502
      start: 7502
    functionDepth: 0
    functionLinenumber: 7502
    functionLinenumberEnd: 7502
    functionName: lexer::lexer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lexer(const lexer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7503
      start: 7503
    functionDepth: 0
    functionLinenumber: 7503
    functionLinenumberEnd: 7503
    functionName: lexer::lexer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lexer(lexer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7504
      start: 7504
    functionDepth: 0
    functionLinenumber: 7504
    functionLinenumberEnd: 7504
    functionName: '& operator=(lexer&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lexer
    signature: lexer & operator=(lexer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7505
      start: 7505
    functionDepth: 0
    functionLinenumber: 7505
    functionLinenumberEnd: 7505
    functionName: '& operator=(lexer&&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: lexer
    signature: lexer & operator=(lexer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7506
      start: 7506
    functionDepth: 0
    functionLinenumber: 7506
    functionLinenumberEnd: 7506
    functionName: ~lexer()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~lexer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7517,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7520
      start: 7514
    functionDepth: 1
    functionLinenumber: 7514
    functionLinenumberEnd: 7520
    functionName: lexer::get_decimal_point
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - localeconv
    - JSON_ASSERT
    linkageType: ''
    returnType: JSON_HEDLEY_PURE
    signature: JSON_HEDLEY_PURE get_decimal_point() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7544,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7550,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7554,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7554,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7558,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7558,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7562,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7562,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7570,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7572
      start: 7541
    functionDepth: 2
    functionLinenumber: 7541
    functionLinenumberEnd: 7572
    functionName: lexer::get_codepoint
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - static_cast<unsigned int>
    - get
    - JSON_ASSERT
    linkageType: ''
    returnType: int
    signature: int get_codepoint()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7591,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7591,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7591,1
    - Dst: std::initializer_list<char_int_type>::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7591,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7592,1
    - Dst: std::initializer_list<char_int_type>::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7594,1
    - Dst: std::initializer_list<char_int_type>::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7594,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7596,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7597,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ranges
    argTypes:
    - std::initializer_list<char_int_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7609
      start: 7589
    functionDepth: 2
    functionLinenumber: 7589
    functionLinenumberEnd: 7609
    functionName: lexer::next_byte_in_range
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - add
    - std::initializer_list<char_int_type>::size
    - JSON_ASSERT
    - get
    - JSON_HEDLEY_LIKELY
    - std::initializer_list<char_int_type>::begin
    - std::initializer_list<char_int_type>::end
    linkageType: ''
    returnType: bool
    signature: bool next_byte_in_range(std::initializer_list<char_int_type> ranges)
  - BBCount: 208
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7629,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7632,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7637,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7640,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7655,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7659,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7663,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7667,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7671,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7675,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7679,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7683,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7687,1
    - Dst: lexer::get_codepoint
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7693,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7696,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7706,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7706,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7706,1
    - Dst: lexer::get_codepoint
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7708,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7710,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7717,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7720,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7722,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7724,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7744,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7752,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7758,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7758,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7763,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7763,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7763,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7764,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7764,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7764,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7769,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7769,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7769,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7770,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7770,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7770,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7771,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7771,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7771,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7776,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7776,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7776,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7777,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7777,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7777,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7778,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7778,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7778,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7779,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7779,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:7779,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8083,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8119,1
    - Dst: lexer::next_byte_in_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8119,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8129,1
    - Dst: lexer::next_byte_in_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8129,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8153,1
    - Dst: lexer::next_byte_in_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8153,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8163,1
    - Dst: lexer::next_byte_in_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8163,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8173,1
    - Dst: lexer::next_byte_in_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8173,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8185,1
    - Dst: lexer::next_byte_in_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8185,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8195,1
    - Dst: lexer::next_byte_in_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8195,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 408
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8210
      start: 7626
    functionDepth: 3
    functionLinenumber: 7626
    functionLinenumberEnd: 8210
    functionName: lexer::scan_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - reset
    - JSON_HEDLEY_UNLIKELY
    - add
    - light_eof
    - static_cast<int>
    - JSON_ASSERT
    - get
    - static_cast<unsigned int>
    - static_cast<char_int_type>
    - JSON_HEDLEY_LIKELY
    - lexer::get_codepoint
    - lexer::next_byte_in_range
    linkageType: ''
    returnType: token_type
    signature: token_type scan_string()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8218,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8225,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8229,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8244,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8246,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8255,1
    - Dst: unget
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8281
      start: 8216
    functionDepth: 2
    functionLinenumber: 8216
    functionLinenumberEnd: 8281
    functionName: lexer::scan_comment
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - light_eof
    - get
    - unget
    linkageType: ''
    returnType: bool
    signature: bool scan_comment()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lexer::strtof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - float
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8287
      start: 8284
    functionDepth: 1
    functionLinenumber: 8284
    functionLinenumberEnd: 8287
    functionName: lexer::strtof
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - lexer::strtof
    linkageType: ''
    returnType: void
    signature: void strtof(float& f, const char* str, char** endptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strtod
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - double
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8293
      start: 8290
    functionDepth: 0
    functionLinenumber: 8290
    functionLinenumberEnd: 8293
    functionName: lexer::strtof
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::strtod
    linkageType: ''
    returnType: void
    signature: void strtof(double& f, const char* str, char** endptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::strtold
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' f'
    - str
    - endptr
    argTypes:
    - long double
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8299
      start: 8296
    functionDepth: 0
    functionLinenumber: 8296
    functionLinenumberEnd: 8299
    functionName: lexer::strtof
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::strtold
    linkageType: ''
    returnType: void
    signature: void strtof(long double& f, const char* str, char** endptr) noexcept
  - BBCount: 107
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8344,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8355,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8361,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8375,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8381,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8387,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8391,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8405,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8418,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8422,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8429,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8439,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8452,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8458,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8465,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8476,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8489,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8502,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8515,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8522,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8533,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8538,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8553,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8567,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8580,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8593,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8606,1
    - Dst: unget
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8617,1
    - Dst: std::strtoull
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8625,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8625,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8628,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8628,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8628,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8632,1
    - Dst: std::strtoll
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8641,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8641,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8644,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8644,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8644,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8648,1
    - Dst: lexer::strtof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8658,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8658,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8661,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8661,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8661,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 253
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8664
      start: 8341
    functionDepth: 2
    functionLinenumber: 8341
    functionLinenumberEnd: 8664
    functionName: lexer::scan_number
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - reset
    - data
    - add
    - static_cast<number_unsigned_t>
    - lexer::strtof
    - unget
    - JSON_ASSERT
    - std::strtoull
    - size
    - get
    - static_cast<number_integer_t>
    - std::strtoll
    linkageType: ''
    returnType: token_type
    signature: token_type scan_number()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8694,1
    - Dst: clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8695,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8696,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8697
      start: 8692
    functionDepth: 1
    functionLinenumber: 8692
    functionLinenumberEnd: 8697
    functionName: reset
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 41
    functionsReached:
    - push_back
    - clear
    - to_char_type
    linkageType: ''
    returnType: void
    signature: void reset() noexcept
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8721,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8724,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8724,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8726,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8736
      start: 8709
    functionDepth: 1
    functionLinenumber: 8709
    functionLinenumberEnd: 8736
    functionName: get
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 397
    functionsReached:
    - to_char_type
    - light_eof
    - get_character
    - push_back
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: char_int_type
    signature: char_int_type get()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8765,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8765,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8767,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8767,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8770
      start: 8746
    functionDepth: 1
    functionLinenumber: 8746
    functionLinenumberEnd: 8770
    functionName: unget
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - light_eof
    - empty
    - JSON_ASSERT
    - pop_back
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: void
    signature: void unget()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8775,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_int_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8776
      start: 8773
    functionDepth: 1
    functionLinenumber: 8773
    functionLinenumberEnd: 8776
    functionName: add
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 7
    functionsReached:
    - push_back
    - static_cast<typename string_t::value_type>
    linkageType: ''
    returnType: void
    signature: void add(char_int_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8793
      start: 8790
    functionDepth: 0
    functionLinenumber: 8790
    functionLinenumberEnd: 8793
    functionName: get_number_unsigned
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t get_number_unsigned() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8799
      start: 8796
    functionDepth: 0
    functionLinenumber: 8796
    functionLinenumberEnd: 8799
    functionName: get_number_float
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: number_float_t
    signature: number_float_t get_number_float() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8805
      start: 8802
    functionDepth: 0
    functionLinenumber: 8802
    functionLinenumberEnd: 8805
    functionName: get_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: string_t
    signature: string_t & get_string()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8815
      start: 8812
    functionDepth: 0
    functionLinenumber: 8812
    functionLinenumberEnd: 8815
    functionName: get_position
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: position_t
    signature: position_t get_position() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8826,1
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8830,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8830,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8830,1
    - Dst: static_cast<unsigned char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8830,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8831,1
    - Dst: std::string::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8836,1
    - Dst: static_cast<std::string::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8841
      start: 8820
    functionDepth: 1
    functionLinenumber: 8820
    functionLinenumberEnd: 8841
    functionName: get_token_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - static_cast<void>
    - static_cast<unsigned char>
    - std::array::size
    - static_cast<std::string::value_type>
    - std::array::data
    linkageType: ''
    returnType: std::string
    signature: std::string get_token_string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8848
      start: 8844
    functionDepth: 0
    functionLinenumber: 8844
    functionLinenumberEnd: 8848
    functionName: get_error_message
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL * get_error_message() const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8860,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8863,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8863,1
    - Dst: unget
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8870
      start: 8858
    functionDepth: 2
    functionLinenumber: 8858
    functionLinenumberEnd: 8870
    functionName: skip_bom
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - get
    - unget
    linkageType: ''
    returnType: bool
    signature: bool skip_bom()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8879
      start: 8872
    functionDepth: 2
    functionLinenumber: 8872
    functionLinenumberEnd: 8879
    functionName: skip_whitespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: void
    signature: void skip_whitespace()
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: skip_bom
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8884,1
    - Dst: skip_whitespace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8891,1
    - Dst: scan_comment
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8896,1
    - Dst: skip_whitespace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8902,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8924,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8924,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8924,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8924,1
    - Dst: scan_literal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8925,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8925,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8925,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8929,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8929,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8929,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8929,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8929,1
    - Dst: scan_literal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8930,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8930,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8930,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8934,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8934,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8934,1
    - Dst: static_cast<char_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8934,1
    - Dst: scan_literal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8935,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8935,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8935,1
    - Dst: scan_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8940,1
    - Dst: scan_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8954,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:8959,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8967
      start: 8881
    functionDepth: 3
    functionLinenumber: 8881
    functionLinenumberEnd: 8967
    functionName: scan
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - scan_literal
    - skip_bom
    - skip_whitespace
    - static_cast<char_type>
    - scan_string
    - light_eof
    - std::array::size
    - scan_comment
    - std::array::data
    - scan_number
    linkageType: ''
    returnType: token_type
    signature: token_type scan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<T&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9035,1
    - Dst: std::declval<T&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9039,1
    - Dst: std::declval<bool>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9039,1
    - Dst: std::declval<T&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9043,1
    - Dst: std::declval<Integer>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9043,1
    - Dst: std::declval<T&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9047,1
    - Dst: std::declval<Unsigned>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9047,1
    - Dst: std::declval<T&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9050,1
    - Dst: std::declval<Float>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9051,1
    - Dst: std::declval<const String&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9051,1
    - Dst: std::declval<T&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9055,1
    - Dst: std::declval<String&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9055,1
    - Dst: std::declval<T&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9059,1
    - Dst: std::declval<Binary&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9059,1
    - Dst: std::declval<T&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9063,1
    - Dst: std::declval<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9063,1
    - Dst: std::declval<T&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9067,1
    - Dst: std::declval<String&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9067,1
    - Dst: std::declval<T&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9070,1
    - Dst: std::declval<T&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9074,1
    - Dst: std::declval<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9074,1
    - Dst: std::declval<T&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9077,1
    - Dst: std::declval<T&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9080,1
    - Dst: std::declval<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9081,1
    - Dst: std::declval<const std::string&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9081,1
    - Dst: std::declval<const Exception&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9082,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9169
      start: 9030
    functionDepth: 0
    functionLinenumber: 9030
    functionLinenumberEnd: 9169
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::declval<const Exception&>
    - std::declval<bool>
    - std::declval<Binary&>
    - std::declval<Integer>
    - std::declval<String&>
    - std::declval<T&>
    - std::declval<const std::string&>
    - std::declval<std::size_t>
    - std::declval<Unsigned>
    - std::declval<Float>
    - std::declval<const String&>
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 798
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9200,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9228,1
    - Dst: parse_bson_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9260,1
    - Dst: parse_cbor_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9264,1
    - Dst: parse_msgpack_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9268,1
    - Dst: parse_ubjson_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9273,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9278,1
    - Dst: get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9286,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9290,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9293,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9293,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9295,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9295,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9295,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9296,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9296,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9296,1
    - Dst: get_number<std::int32_t, true>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9315,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9317,1
    - Dst: start_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9317,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9317,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9322,1
    - Dst: parse_bson_element_list
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9322,1
    - Dst: end_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9327,1
    - Dst: std::back_inserter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9339,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9342,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9343,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9343,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9351,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9369,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9371,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9372,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9372,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9373,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9373,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9373,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9376,1
    - Dst: static_cast<NumberType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9376,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9376,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9376,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9391,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9393,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9394,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9394,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9395,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9395,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9395,1
    - Dst: get_number<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9400,1
    - Dst: set_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9401,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9403,1
    - Dst: get_number<double, true>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9424,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9424,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9424,1
    - Dst: get_number<std::int32_t, true>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9431,1
    - Dst: get_bson_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9431,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9431,1
    - Dst: parse_bson_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9436,1
    - Dst: parse_bson_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9441,1
    - Dst: get_number<std::int32_t, true>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9448,1
    - Dst: get_bson_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9448,1
    - Dst: binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9448,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9453,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9453,1
    - Dst: 'null'
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9458,1
    - Dst: get_number<std::int32_t, true>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9464,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9464,1
    - Dst: get_number<std::int64_t, true>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9470,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9470,1
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9476,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9476,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9476,1
    - Dst: static_cast<unsigned char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9476,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9477,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9478,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9479,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9479,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9500,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9502,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9502,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9508,1
    - Dst: get_bson_cstr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9508,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9513,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9518,1
    - Dst: parse_bson_element_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9518,1
    - Dst: string_t::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9524,1
    - Dst: get_number<std::int32_t, true>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9537,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9539,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9539,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9539,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9544,1
    - Dst: parse_bson_element_list
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9544,1
    - Dst: end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9549,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9567,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9570,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9571,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9598,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9598,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9603,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9603,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9609,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9609,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9615,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9615,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9621,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9621,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9649,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9649,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9654,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9654,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9654,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9660,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9660,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9660,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9666,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9666,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9666,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9672,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9672,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9672,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9673,1
    - Dst: get_cbor_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9708,1
    - Dst: binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9708,1
    - Dst: get_cbor_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9743,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9743,1
    - Dst: get_cbor_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9771,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9772,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9772,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9777,1
    - Dst: get_cbor_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9777,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9777,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9783,1
    - Dst: get_cbor_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9783,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9783,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9789,1
    - Dst: get_cbor_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9789,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9789,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9795,1
    - Dst: get_cbor_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9795,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9795,1
    - Dst: get_cbor_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9799,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9799,1
    - Dst: get_cbor_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9826,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9826,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9826,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9831,1
    - Dst: get_cbor_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9831,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9831,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9837,1
    - Dst: get_cbor_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9837,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9837,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9843,1
    - Dst: get_cbor_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9843,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9843,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9849,1
    - Dst: get_cbor_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9849,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9849,1
    - Dst: get_cbor_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9853,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9853,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9879,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9880,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9880,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9881,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9881,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9892,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9898,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9904,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9910,1
    - Dst: parse_cbor_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9916,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9928,1
    - Dst: binary_t::set_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9929,1
    - Dst: detail::conditional_static_cast<typename binary_t::subtype_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9929,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9935,1
    - Dst: binary_t::set_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9936,1
    - Dst: detail::conditional_static_cast<typename binary_t::subtype_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9936,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9942,1
    - Dst: binary_t::set_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9943,1
    - Dst: detail::conditional_static_cast<typename binary_t::subtype_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9943,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9949,1
    - Dst: binary_t::set_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9950,1
    - Dst: detail::conditional_static_cast<typename binary_t::subtype_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9950,1
    - Dst: parse_cbor_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9954,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9956,1
    - Dst: get_cbor_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9957,1
    - Dst: binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9957,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9961,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9967,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9970,1
    - Dst: 'null'
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9973,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9977,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9978,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9978,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9982,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9983,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9983,1
    - Dst: static_cast<unsigned char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9988,1
    - Dst: static_cast<unsigned char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9989,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9999,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10004,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10005,1
    - Dst: std::ldexp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10009,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10012,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10013,1
    - Dst: std::ldexp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10015,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10018,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10019,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10020,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10026,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10026,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10026,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10032,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10032,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10032,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10037,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10038,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10038,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10039,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10039,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10057,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10057,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10090,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10090,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10096,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10096,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10102,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10102,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10108,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10108,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10114,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10114,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10119,1
    - Dst: get_cbor_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10122,1
    - Dst: append
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10126,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10133,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10134,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10134,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10135,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10135,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10153,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10153,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10186,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10186,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10192,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10193,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10199,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10200,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10206,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10207,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10213,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10214,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10219,1
    - Dst: get_cbor_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10222,1
    - Dst: insert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10226,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10226,1
    - Dst: binary_t::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10226,1
    - Dst: binary_t::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10226,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10233,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10234,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10234,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10235,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10235,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10249,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10249,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10254,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10258,1
    - Dst: parse_cbor_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10258,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10266,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10268,1
    - Dst: parse_cbor_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10268,1
    - Dst: end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10275,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10287,1
    - Dst: start_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10287,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10295,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10299,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10300,1
    - Dst: get_cbor_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10300,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10300,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10305,1
    - Dst: parse_cbor_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10305,1
    - Dst: string_t::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10309,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10314,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10316,1
    - Dst: get_cbor_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10316,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10316,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10321,1
    - Dst: parse_cbor_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10321,1
    - Dst: string_t::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10325,1
    - Dst: end_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10330,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10342,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10345,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10346,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10477,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10477,1
    - Dst: get_msgpack_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10496,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10496,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10496,1
    - Dst: get_msgpack_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10515,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10515,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10515,1
    - Dst: get_msgpack_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10555,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10555,1
    - Dst: 'null'
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10559,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10562,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10565,1
    - Dst: get_msgpack_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10580,1
    - Dst: binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10580,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10586,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10586,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10586,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10592,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10592,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10592,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10598,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10598,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10604,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10604,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10610,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10610,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10616,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10616,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10622,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10622,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10628,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10628,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10634,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10634,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10640,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10640,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10646,1
    - Dst: get_msgpack_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10646,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10646,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10652,1
    - Dst: get_msgpack_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10652,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10652,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10658,1
    - Dst: get_msgpack_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10658,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10658,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10664,1
    - Dst: get_msgpack_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10664,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10664,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10700,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10700,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10704,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10705,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10705,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10706,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10706,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10723,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10723,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10764,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10764,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10770,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10770,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10776,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10776,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10782,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10782,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10787,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10788,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10788,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10789,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10789,1
    - Dst: set_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10809,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10809,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10818,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10819,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10825,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10826,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10832,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10833,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10840,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10841,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10842,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10843,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10850,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10851,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10852,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10853,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10860,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10861,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10862,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10863,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10869,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10870,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10871,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10877,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10878,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10879,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10885,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10886,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10887,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10893,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10894,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10895,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10901,1
    - Dst: get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10902,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10903,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10917,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10917,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10924,1
    - Dst: parse_msgpack_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10924,1
    - Dst: end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10930,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10939,1
    - Dst: start_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10939,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10947,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10948,1
    - Dst: get_msgpack_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10948,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10948,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10953,1
    - Dst: parse_msgpack_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10953,1
    - Dst: string_t::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10957,1
    - Dst: end_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10960,1
    - Dst: get_ubjson_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10976,1
    - Dst: get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10976,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10997,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11000,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11000,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11010,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11010,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11016,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11016,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11022,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11022,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11028,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11028,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11034,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11034,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11044,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11044,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11054,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11054,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11064,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11064,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11070,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11081,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11081,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11081,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11094,1
    - Dst: get_ubjson_size_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11094,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11107,1
    - Dst: get_ubjson_size_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11107,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11111,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11119,1
    - Dst: get_ubjson_size_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11119,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11123,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11131,1
    - Dst: get_ubjson_size_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11131,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11135,1
    - Dst: get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11136,1
    - Dst: get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11157,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11165,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11165,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11169,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11176,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11176,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11182,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11182,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11182,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11183,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11185,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11192,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11192,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11198,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11198,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11198,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11199,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11201,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11208,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11208,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11214,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11214,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11214,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11215,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11217,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11224,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11224,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11230,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11230,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11230,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11231,1
    - Dst: value_in_range_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11233,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11235,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11235,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11235,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11236,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11238,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11249,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11249,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11253,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11264,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11264,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11268,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11279,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11279,1
    - Dst: value_in_range_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11283,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11285,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11285,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11285,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11286,1
    - Dst: detail::conditional_static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11288,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11300,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11300,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11300,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11300,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11303,1
    - Dst: get_ubjson_ndarray_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11303,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11307,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11307,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11307,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11309,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11309,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11312,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11324,1
    - Dst: start_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11324,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11324,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11324,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11324,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11334,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11334,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11334,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11334,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11336,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11336,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11336,1
    - Dst: end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11342,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11351,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11362,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11362,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11362,1
    - Dst: get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11382,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11386,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11388,1
    - Dst: std::binary_search
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11388,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11388,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11388,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11390,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11391,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11391,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11392,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11392,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11395,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11395,1
    - Dst: get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11400,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11401,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11403,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11403,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11407,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11408,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11408,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11409,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11409,1
    - Dst: get_ubjson_size_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11412,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11417,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11417,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11417,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11418,1
    - Dst: get_ubjson_size_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11427,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11430,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11430,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11430,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11431,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11447,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11448,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11451,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11453,1
    - Dst: 'null'
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11456,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11461,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11461,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11467,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11467,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11473,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11473,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11479,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11479,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11485,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11485,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11495,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11495,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11505,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11505,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11515,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11515,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11524,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11525,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11525,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11529,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11530,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11530,1
    - Dst: static_cast<unsigned char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11535,1
    - Dst: static_cast<unsigned char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11536,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11546,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11551,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11552,1
    - Dst: std::ldexp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11556,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11559,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11560,1
    - Dst: std::ldexp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11562,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11565,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11566,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11567,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11573,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11573,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11573,1
    - Dst: get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11579,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11579,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11579,1
    - Dst: get_ubjson_high_precision_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11584,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11589,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11590,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11590,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11594,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11596,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11597,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11597,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11598,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11598,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11600,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11601,1
    - Dst: get_ubjson_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11607,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11607,1
    - Dst: get_ubjson_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11611,1
    - Dst: get_ubjson_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11614,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11619,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11620,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11620,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11620,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11629,1
    - Dst: get_ubjson_size_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11629,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11639,1
    - Dst: std::lower_bound
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11640,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11640,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11640,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11645,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11645,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11647,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11648,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11648,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11649,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11653,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11653,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11653,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11664,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11664,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11664,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11671,1
    - Dst: get_ubjson_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11671,1
    - Dst: end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11677,1
    - Dst: end_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11677,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11682,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11682,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11693,1
    - Dst: get_ubjson_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11693,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11704,1
    - Dst: parse_ubjson_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11704,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11713,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11713,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11713,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11720,1
    - Dst: parse_ubjson_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11720,1
    - Dst: get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11724,1
    - Dst: end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11728,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11737,1
    - Dst: get_ubjson_size_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11737,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11745,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11746,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11746,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11747,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11753,1
    - Dst: start_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11753,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11762,1
    - Dst: get_ubjson_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11762,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11762,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11766,1
    - Dst: get_ubjson_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11766,1
    - Dst: string_t::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11770,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11777,1
    - Dst: get_ubjson_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11777,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11777,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11781,1
    - Dst: parse_ubjson_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11781,1
    - Dst: string_t::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11785,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11791,1
    - Dst: start_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11791,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11791,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11798,1
    - Dst: get_ubjson_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11798,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11798,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11802,1
    - Dst: parse_ubjson_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11802,1
    - Dst: get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11806,1
    - Dst: string_t::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11807,1
    - Dst: end_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11811,1
    - Dst: get_ubjson_size_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11822,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11823,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11832,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11833,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11833,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11837,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11837,1
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11841,1
    - Dst: detail::lexer<BasicJsonType, ia_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11842,1
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11842,1
    - Dst: auto::scan
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11843,1
    - Dst: auto::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11844,1
    - Dst: auto::scan
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11845,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11849,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11851,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11851,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11852,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11852,1
    - Dst: auto::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11852,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11858,1
    - Dst: auto::get_number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11858,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11860,1
    - Dst: auto::get_number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11860,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11862,1
    - Dst: auto::get_number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11862,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11862,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11878,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11878,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11879,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11879,1
    - Dst: auto::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11879,1
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11899,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11909,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11938,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11939,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11939,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11947,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11951,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11956,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11956,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11982,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11983,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11983,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11988,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11988,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12015,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12016,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12016,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12021,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12021,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12034,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12034,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12036,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12037,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12037,1
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12048,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12048,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12048,1
    - Dst: static_cast<unsigned char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12048,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12049,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12088,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12091,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12095,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12101,1
    - Dst: little_endianness
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12107,1
    CyclomaticComplexity: 338
    EdgeCount: 338
    ICount: 1606
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12153
      start: 9170
    functionDepth: 13
    functionLinenumber: 9170
    functionLinenumberEnd: 12153
    functionName: NLOHMANN_JSON_NAMESPACE_BEGIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - append
    - std::array::data
    - parse_cbor_internal
    - string_t::clear
    - binary_t::begin
    - conditional_static_cast
    - std::numeric_limits<double>::infinity
    - get_msgpack_object
    - get_number<std::int64_t, true>
    - push_back
    - get_ubjson_size_value
    - get_ubjson_ndarray_size
    - get_binary
    - get_cbor_array
    - detail::conditional_static_cast<std::size_t>
    - get_bson_binary
    - light_eof
    - number_integer
    - parse_msgpack_internal
    - auto::get_number_unsigned
    - get_cbor_object
    - assign_and_return_true
    - auto::get_number_float
    - static_cast<number_float_t>
    - end_object
    - get_token_string
    - binary_t::end
    - parse_bson_array
    - std::memcpy
    - std::ldexp
    - file_input_adapter
    - get_cbor_binary
    - string
    - std::binary_search
    - get_msgpack_array
    - little_endianness
    - static_cast<char>
    - get_string
    - static_cast<number_unsigned_t>
    - start_object
    - std::vector::size
    - number_unsigned
    - static_cast<typename string_t::value_type>
    - std::back_inserter
    - detail::lexer<BasicJsonType, ia_type>
    - get_cbor_string
    - end
    - static_cast<void>
    - std::array::size
    - static_cast<char_int_type>
    - auto::scan
    - get_ignore_noop
    - get_ubjson_size_type
    - get_character
    - get_bson_cstr
    - std::vector::push_back
    - get_bson_string
    - get
    - get_number<std::uint8_t>
    - static_cast<number_integer_t>
    - get_ubjson_high_precision_number
    - JSON_HEDLEY_UNLIKELY
    - get_ubjson_array
    - boolean
    - unexpect_eof
    - static_cast<std::size_t>
    - binary_t::set_subtype
    - parse_bson_element_internal
    - static_cast<unsigned char>
    - number_float
    - get_number<std::int32_t, true>
    - start_array
    - reinterpret_cast<char*>
    - std::vector::empty
    - parse_bson_element_list
    - value_in_range_of
    - get_ubjson_value
    - auto::get_number_integer
    - get_ubjson_string
    - static_cast<NumberType>
    - static_cast<unsigned int>
    - std::vector::at
    - parse_error
    - static_cast<std::uint8_t>
    - parse_ubjson_internal
    - auto::get_token_string
    - get_number
    - JSON_ASSERT
    - insert
    - 'null'
    - exception_message
    - to_string
    - binary
    - end_array
    - out_of_range::create
    - concat
    - std::lower_bound
    - begin
    - parse_bson_internal
    - get_ubjson_object
    - detail::conditional_static_cast<typename binary_t::subtype_type>
    - key
    - std::numeric_limits<double>::quiet_NaN
    - get_number<double, true>
    - parse_error::create
    - set_subtype
    - get_msgpack_binary
    - static_cast<std::int8_t>
    - get_msgpack_string
    - std::move
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_END
    signature: NLOHMANN_JSON_NAMESPACE_END NLOHMANN_JSON_NAMESPACE_BEGIN
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9201
      start: 9198
    functionDepth: 0
    functionLinenumber: 9198
    functionLinenumberEnd: 9201
    functionName: little_endianness
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: bool
    signature: bool little_endianness(int num = 1) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9231
      start: 9228
    functionDepth: 0
    functionLinenumber: 9228
    functionLinenumberEnd: 9231
    functionName: binary_reader::binary_reader
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void binary_reader(InputAdapterType&& adapter, const input_format_t
      format = input_format_t::json) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9234
      start: 9234
    functionDepth: 0
    functionLinenumber: 9234
    functionLinenumberEnd: 9234
    functionName: binary_reader::binary_reader
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void binary_reader(const binary_reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9235
      start: 9235
    functionDepth: 0
    functionLinenumber: 9235
    functionLinenumberEnd: 9235
    functionName: binary_reader::binary_reader
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void binary_reader(binary_reader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9236
      start: 9236
    functionDepth: 0
    functionLinenumber: 9236
    functionLinenumberEnd: 9236
    functionName: '& operator=(const binary_reader&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: binary_reader
    signature: binary_reader & operator=(const binary_reader&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9237
      start: 9237
    functionDepth: 0
    functionLinenumber: 9237
    functionLinenumberEnd: 9237
    functionName: '& operator=(binary_reader&&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: binary_reader
    signature: binary_reader & operator=(binary_reader&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9238
      start: 9238
    functionDepth: 0
    functionLinenumber: 9238
    functionLinenumberEnd: 9238
    functionName: ~binary_reader()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~binary_reader()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: parse_bson_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9260,1
    - Dst: parse_cbor_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9264,1
    - Dst: parse_msgpack_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9268,1
    - Dst: parse_ubjson_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9273,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9278,1
    - Dst: get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9286,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9290,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9293,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9293,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9295,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9295,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9295,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9296,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9296,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9296,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - format
    - sax_
    argTypes:
    - input_format_t
    - json_sax_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9301
      start: 9248
    functionDepth: 4
    functionLinenumber: 9248
    functionLinenumberEnd: 9301
    functionName: "(3)\n    bool sax_parse(const input_format_t format,\n                   json_sax_t*
      sax_,\n                   const bool strict = true,\n                   const
      cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - parse_ubjson_internal
    - get_ignore_noop
    - concat
    - get_token_string
    - light_eof
    - parse_bson_internal
    - JSON_ASSERT
    - parse_msgpack_internal
    - get
    - parse_cbor_internal
    - exception_message
    - parse_error::create
    - parse_error
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    bool sax_parse(const input_format_t
      format,\n                   json_sax_t* sax_,\n                   const bool
      strict = true,\n                   const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9315,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9317,1
    - Dst: start_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9317,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9317,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9322,1
    - Dst: binary_reader::parse_bson_element_list
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9322,1
    - Dst: end_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9328
      start: 9312
    functionDepth: 5
    functionLinenumber: 9312
    functionLinenumberEnd: 9328
    functionName: binary_reader::parse_bson_internal
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - start_object
    - end_object
    - binary_reader::get_number
    - binary_reader::parse_bson_element_list
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_internal()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::back_inserter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9339,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9342,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9343,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9343,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9353
      start: 9337
    functionDepth: 1
    functionLinenumber: 9337
    functionLinenumberEnd: 9353
    functionName: binary_reader::get_bson_cstr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - static_cast<typename string_t::value_type>
    - std::back_inserter
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: bool get_bson_cstr(string_t& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9369,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9371,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9372,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9372,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9373,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9373,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9373,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9376,1
    - Dst: static_cast<NumberType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9376,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9376,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - len
    - ' result'
    argTypes:
    - NumberType
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9377
      start: 9367
    functionDepth: 4
    functionLinenumber: 9367
    functionLinenumberEnd: 9377
    functionName: binary_reader::get_bson_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - binary_reader::get
    - binary_reader::exception_message
    - concat
    - to_string
    - binary_reader::get_string
    - light_eof
    - binary_reader::get_token_string
    - static_cast<NumberType>
    - parse_error::create
    - parse_error
    linkageType: ''
    returnType: bool
    signature: bool get_bson_string(const NumberType len, string_t& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9391,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9393,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9394,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9394,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9395,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9395,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9395,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9400,1
    - Dst: set_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9401,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - len
    - ' result'
    argTypes:
    - NumberType
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9404
      start: 9389
    functionDepth: 4
    functionLinenumber: 9389
    functionLinenumberEnd: 9404
    functionName: binary_reader::get_bson_binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - binary_reader::exception_message
    - concat
    - binary_reader::get_binary
    - set_subtype
    - to_string
    - binary_reader::get_token_string
    - binary_reader::get_number
    - parse_error::create
    - parse_error
    linkageType: ''
    returnType: bool
    signature: bool get_bson_binary(const NumberType len, binary_t& result)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9424,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9424,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9424,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9431,1
    - Dst: binary_reader::get_bson_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9431,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9431,1
    - Dst: binary_reader::parse_bson_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9436,1
    - Dst: binary_reader::parse_bson_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9441,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9448,1
    - Dst: binary_reader::get_bson_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9448,1
    - Dst: binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9448,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9453,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9453,1
    - Dst: 'null'
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9458,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9464,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9464,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9470,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9470,1
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9476,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9476,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9476,1
    - Dst: static_cast<unsigned char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9476,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9477,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9478,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9479,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9479,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - element_type
    - element_type_parse_position
    argTypes:
    - char_int_type
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9482
      start: 9416
    functionDepth: 6
    functionLinenumber: 9416
    functionLinenumberEnd: 9482
    functionName: binary_reader::parse_bson_element_internal
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<void>
    - std::array::size
    - std::array::data
    - parse_error
    - binary_reader::get
    - binary_reader::get_bson_binary
    - string
    - 'null'
    - binary
    - concat
    - number_integer
    - binary_reader::parse_bson_array
    - boolean
    - binary_reader::parse_bson_internal
    - parse_error::create
    - static_cast<unsigned char>
    - number_float
    - binary_reader::get_bson_string
    - static_cast<number_float_t>
    - binary_reader::get_number
    linkageType: ''
    returnType: bool
    signature: "bool parse_bson_element_internal(const char_int_type element_type,\n
      \                                    const std::size_t element_type_parse_position)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9500,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9502,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9502,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9508,1
    - Dst: binary_reader::get_bson_cstr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9508,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9513,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9518,1
    - Dst: binary_reader::parse_bson_element_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9518,1
    - Dst: string_t::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - is_array
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9528
      start: 9496
    functionDepth: 7
    functionLinenumber: 9496
    functionLinenumberEnd: 9528
    functionName: binary_reader::parse_bson_element_list
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - binary_reader::get_bson_cstr
    - key
    - unexpect_eof
    - string_t::clear
    - binary_reader::parse_bson_element_internal
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_element_list(const bool is_array)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9537,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9539,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9539,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9539,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9544,1
    - Dst: binary_reader::parse_bson_element_list
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9544,1
    - Dst: end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9550
      start: 9534
    functionDepth: 8
    functionLinenumber: 9534
    functionLinenumberEnd: 9550
    functionName: binary_reader::parse_bson_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - start_array
    - binary_reader::get_number
    - binary_reader::parse_bson_element_list
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool parse_bson_array()
  - BBCount: 219
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9567,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9570,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9571,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9598,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9598,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9603,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9603,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9609,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9609,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9615,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9615,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9621,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9621,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9649,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9649,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9654,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9654,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9654,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9660,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9660,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9660,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9666,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9666,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9666,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9672,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9672,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9672,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9673,1
    - Dst: binary_reader::get_cbor_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9708,1
    - Dst: binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9708,1
    - Dst: binary_reader::get_cbor_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9743,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9743,1
    - Dst: binary_reader::get_cbor_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9771,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9772,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9772,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9777,1
    - Dst: binary_reader::get_cbor_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9777,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9777,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9783,1
    - Dst: binary_reader::get_cbor_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9783,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9783,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9789,1
    - Dst: binary_reader::get_cbor_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9789,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9789,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9795,1
    - Dst: binary_reader::get_cbor_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9795,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9795,1
    - Dst: binary_reader::get_cbor_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9799,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9799,1
    - Dst: binary_reader::get_cbor_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9826,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9826,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9826,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9831,1
    - Dst: binary_reader::get_cbor_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9831,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9831,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9837,1
    - Dst: binary_reader::get_cbor_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9837,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9837,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9843,1
    - Dst: binary_reader::get_cbor_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9843,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9843,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9849,1
    - Dst: binary_reader::get_cbor_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9849,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9849,1
    - Dst: binary_reader::get_cbor_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9853,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9853,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9879,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9880,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9880,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9881,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9881,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9892,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9898,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9904,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9910,1
    - Dst: binary_reader::parse_cbor_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9916,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9928,1
    - Dst: binary_t::set_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9929,1
    - Dst: detail::conditional_static_cast<typename binary_t::subtype_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9929,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9935,1
    - Dst: binary_t::set_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9936,1
    - Dst: detail::conditional_static_cast<typename binary_t::subtype_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9936,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9942,1
    - Dst: binary_t::set_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9943,1
    - Dst: detail::conditional_static_cast<typename binary_t::subtype_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9943,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9949,1
    - Dst: binary_t::set_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9950,1
    - Dst: detail::conditional_static_cast<typename binary_t::subtype_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9950,1
    - Dst: binary_reader::parse_cbor_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9954,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9956,1
    - Dst: binary_reader::get_cbor_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9957,1
    - Dst: binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9957,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9961,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9967,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9970,1
    - Dst: 'null'
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9973,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9977,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9978,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9978,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9982,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9983,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9983,1
    - Dst: static_cast<unsigned char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9988,1
    - Dst: static_cast<unsigned char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9989,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:9999,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10004,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10005,1
    - Dst: std::ldexp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10009,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10012,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10013,1
    - Dst: std::ldexp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10015,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10018,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10019,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10020,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10026,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10026,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10026,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10032,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10032,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10032,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10037,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10038,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10038,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10039,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10039,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 333
    argCount: 2
    argNames:
    - get_char
    - tag_handler
    argTypes:
    - bool
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10042
      start: 9564
    functionDepth: 4
    functionLinenumber: 9564
    functionLinenumberEnd: 10042
    functionName: binary_reader::parse_cbor_internal
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<unsigned int>
    - conditional_static_cast
    - parse_error
    - std::ldexp
    - binary_reader::get
    - std::numeric_limits<double>::infinity
    - string
    - binary_reader::get_token_string
    - JSON_ASSERT
    - 'null'
    - static_cast<number_integer_t>
    - binary_reader::get_cbor_binary
    - binary
    - JSON_HEDLEY_UNLIKELY
    - concat
    - static_cast<number_unsigned_t>
    - light_eof
    - number_integer
    - detail::conditional_static_cast<typename binary_t::subtype_type>
    - boolean
    - binary_reader::get_cbor_string
    - std::numeric_limits<double>::quiet_NaN
    - unexpect_eof
    - parse_error::create
    - static_cast<std::size_t>
    - binary_t::set_subtype
    - binary_reader::exception_message
    - binary_reader::parse_cbor_internal
    - binary_reader::get_cbor_object
    - number_unsigned
    - static_cast<unsigned char>
    - number_float
    - static_cast<std::int8_t>
    - static_cast<number_float_t>
    - binary_reader::get_cbor_array
    - binary_reader::get_number
    linkageType: ''
    returnType: bool
    signature: "bool parse_cbor_internal(const bool get_char,\n                             const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10057,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10057,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10090,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10090,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10096,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10096,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10102,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10102,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10108,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10108,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10114,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10114,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10119,1
    - Dst: binary_reader::get_cbor_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10122,1
    - Dst: append
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10126,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10133,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10134,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10134,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10135,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10138
      start: 10055
    functionDepth: 4
    functionLinenumber: 10055
    functionLinenumberEnd: 10138
    functionName: binary_reader::get_cbor_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - binary_reader::get
    - append
    - binary_reader::exception_message
    - concat
    - binary_reader::get_token_string
    - static_cast<unsigned int>
    - parse_error::create
    - binary_reader::get_cbor_string
    - unexpect_eof
    - binary_reader::get_number
    - binary_reader::get_string
    - parse_error
    linkageType: ''
    returnType: bool
    signature: bool get_cbor_string(string_t& result)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10153,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10153,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10186,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10186,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10192,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10193,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10199,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10200,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10206,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10207,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10213,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10214,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10219,1
    - Dst: binary_reader::get_cbor_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10222,1
    - Dst: insert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10226,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10226,1
    - Dst: binary_t::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10226,1
    - Dst: binary_t::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10226,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10233,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10234,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10234,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10235,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10238
      start: 10151
    functionDepth: 4
    functionLinenumber: 10151
    functionLinenumberEnd: 10238
    functionName: binary_reader::get_cbor_binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - binary_reader::get
    - binary_reader::exception_message
    - concat
    - binary_reader::get_binary
    - end
    - binary_t::end
    - binary_t::begin
    - binary_reader::get_token_string
    - static_cast<unsigned int>
    - insert
    - unexpect_eof
    - binary_reader::get_cbor_binary
    - binary_reader::get_number
    - parse_error::create
    - parse_error
    linkageType: ''
    returnType: bool
    signature: bool get_cbor_binary(binary_t& result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10249,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10249,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10254,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10258,1
    - Dst: binary_reader::parse_cbor_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10258,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10266,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10268,1
    - Dst: binary_reader::parse_cbor_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10268,1
    - Dst: end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - len
    - tag_handler
    argTypes:
    - std::size_t
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10276
      start: 10246
    functionDepth: 5
    functionLinenumber: 10246
    functionLinenumberEnd: 10276
    functionName: binary_reader::get_cbor_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - end_array
    - binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - binary_reader::parse_cbor_internal
    - start_array
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: "bool get_cbor_array(const std::size_t len,\n                        const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10287,1
    - Dst: start_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10287,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10295,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10299,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10300,1
    - Dst: binary_reader::get_cbor_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10300,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10300,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10305,1
    - Dst: binary_reader::parse_cbor_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10305,1
    - Dst: string_t::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10309,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10314,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10316,1
    - Dst: binary_reader::get_cbor_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10316,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10316,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10321,1
    - Dst: binary_reader::parse_cbor_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10321,1
    - Dst: string_t::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10325,1
    - Dst: end_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10330,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - len
    - tag_handler
    argTypes:
    - std::size_t
    - cbor_tag_handler_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10331
      start: 10284
    functionDepth: 5
    functionLinenumber: 10284
    functionLinenumberEnd: 10331
    functionName: binary_reader::get_cbor_object
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - start_object
    - binary_reader::parse_cbor_internal
    - key
    - binary_reader::get_cbor_string
    - end_object
    - string_t::clear
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: "bool get_cbor_object(const std::size_t len,\n                         const
      cbor_tag_handler_t tag_handler)"
  - BBCount: 258
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10342,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10345,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10346,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10477,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10477,1
    - Dst: binary_reader::get_msgpack_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10496,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10496,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10496,1
    - Dst: binary_reader::get_msgpack_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10515,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10515,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10515,1
    - Dst: binary_reader::get_msgpack_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10555,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10555,1
    - Dst: 'null'
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10559,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10562,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10565,1
    - Dst: binary_reader::get_msgpack_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10580,1
    - Dst: binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10580,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10586,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10586,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10586,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10592,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10592,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10592,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10598,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10598,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10604,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10604,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10610,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10610,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10616,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10616,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10622,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10622,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10628,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10628,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10634,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10634,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10640,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10640,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10646,1
    - Dst: binary_reader::get_msgpack_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10646,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10646,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10652,1
    - Dst: binary_reader::get_msgpack_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10652,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10652,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10658,1
    - Dst: binary_reader::get_msgpack_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10658,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10658,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10664,1
    - Dst: binary_reader::get_msgpack_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10664,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10664,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10700,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10700,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10704,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10705,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10705,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10706,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10706,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 302
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10709
      start: 10340
    functionDepth: 4
    functionLinenumber: 10340
    functionLinenumberEnd: 10709
    functionName: binary_reader::parse_msgpack_internal
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_reader::get_msgpack_binary
    - binary_reader::get_msgpack_object
    - binary_reader::get_msgpack_string
    - static_cast<unsigned int>
    - conditional_static_cast
    - parse_error
    - binary_reader::get
    - string
    - binary_reader::get_token_string
    - 'null'
    - binary
    - concat
    - static_cast<number_unsigned_t>
    - light_eof
    - number_integer
    - boolean
    - unexpect_eof
    - parse_error::create
    - static_cast<std::size_t>
    - binary_reader::exception_message
    - number_unsigned
    - number_float
    - binary_reader::get_msgpack_array
    - static_cast<std::int8_t>
    - static_cast<number_float_t>
    - binary_reader::get_number
    linkageType: ''
    returnType: bool
    signature: bool parse_msgpack_internal()
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10723,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10723,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10764,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10764,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10770,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10770,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10776,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10776,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10782,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10782,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10787,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10788,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10788,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10789,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10789,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10792
      start: 10721
    functionDepth: 4
    functionLinenumber: 10721
    functionLinenumberEnd: 10792
    functionName: binary_reader::get_msgpack_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - binary_reader::exception_message
    - concat
    - binary_reader::get_token_string
    - static_cast<unsigned int>
    - parse_error::create
    - unexpect_eof
    - binary_reader::get_number
    - binary_reader::get_string
    - parse_error
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_string(string_t& result)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: set_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10809,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10809,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10818,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10819,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10825,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10826,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10832,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10833,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10840,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10841,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10842,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10843,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10850,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10851,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10852,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10853,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10860,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10861,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10862,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10863,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10869,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10870,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10871,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10877,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10878,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10879,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10885,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10886,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10887,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10893,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10894,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10895,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10901,1
    - Dst: binary_reader::get_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10902,1
    - Dst: assign_and_return_true
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10903,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10909
      start: 10804
    functionDepth: 1
    functionLinenumber: 10804
    functionLinenumberEnd: 10909
    functionName: binary_reader::get_msgpack_binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_reader::get_binary
    - set_subtype
    - assign_and_return_true
    - binary_reader::get_number
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_binary(binary_t& result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10917,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10917,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10924,1
    - Dst: binary_reader::parse_msgpack_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10924,1
    - Dst: end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10931
      start: 10915
    functionDepth: 5
    functionLinenumber: 10915
    functionLinenumberEnd: 10931
    functionName: binary_reader::get_msgpack_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - start_array
    - binary_reader::parse_msgpack_internal
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_array(const std::size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10939,1
    - Dst: start_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10939,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10947,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10948,1
    - Dst: binary_reader::get_msgpack_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10948,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10948,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10953,1
    - Dst: binary_reader::parse_msgpack_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10953,1
    - Dst: string_t::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10957,1
    - Dst: end_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10960,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - len
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10961
      start: 10937
    functionDepth: 5
    functionLinenumber: 10937
    functionLinenumberEnd: 10961
    functionName: binary_reader::get_msgpack_object
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - start_object
    - binary_reader::get_msgpack_string
    - binary_reader::parse_msgpack_internal
    - key
    - end_object
    - string_t::clear
    linkageType: ''
    returnType: bool
    signature: bool get_msgpack_object(const std::size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get_ubjson_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10976,1
    - Dst: binary_reader::get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10977
      start: 10974
    functionDepth: 1
    functionLinenumber: 10974
    functionLinenumberEnd: 10977
    functionName: binary_reader::parse_ubjson_internal
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_reader::get_ubjson_value
    - binary_reader::get_ignore_noop
    linkageType: ''
    returnType: bool
    signature: bool parse_ubjson_internal(const bool get_char = true)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:10997,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11000,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11000,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11010,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11010,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11016,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11016,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11022,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11022,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11028,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11028,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11034,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11034,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11044,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11044,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11054,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11054,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11064,1
    - Dst: binary_reader::get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11064,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11070,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11081,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11081,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11081,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11082
      start: 10993
    functionDepth: 4
    functionLinenumber: 10993
    functionLinenumberEnd: 11082
    functionName: binary_reader::get_ubjson_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - binary_reader::exception_message
    - binary_reader::get_token_string
    - parse_error::create
    - unexpect_eof
    - binary_reader::get_number
    - binary_reader::get_string
    - parse_error
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_string(string_t& result, const bool get_char = true)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11094,1
    - Dst: binary_reader::get_ubjson_size_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11094,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11107,1
    - Dst: binary_reader::get_ubjson_size_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11107,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11111,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11119,1
    - Dst: binary_reader::get_ubjson_size_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11119,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11123,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11131,1
    - Dst: binary_reader::get_ubjson_size_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11131,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11135,1
    - Dst: binary_reader::get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - ' dim'
    argTypes:
    - std::vector<size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11140
      start: 11088
    functionDepth: 1
    functionLinenumber: 11088
    functionLinenumberEnd: 11140
    functionName: binary_reader::get_ubjson_ndarray_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - binary_reader::get_ubjson_size_value
    - binary_reader::get_ubjson_size_type
    - push_back
    - binary_reader::get_ignore_noop
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_ndarray_size(std::vector<size_t>& dim)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11157,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11165,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11165,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11169,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11176,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11176,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11182,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11182,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11182,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11183,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11185,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11192,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11192,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11198,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11198,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11198,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11199,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11201,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11208,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11208,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11214,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11214,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11214,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11215,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11217,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11224,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11224,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11230,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11230,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11230,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11231,1
    - Dst: value_in_range_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11233,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11235,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11235,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11235,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11236,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11238,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11249,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11249,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11253,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11264,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11264,1
    - Dst: conditional_static_cast
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11268,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11279,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11279,1
    - Dst: value_in_range_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11283,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11285,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11285,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11285,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11286,1
    - Dst: detail::conditional_static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11288,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11300,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11300,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11300,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11300,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11303,1
    - Dst: binary_reader::get_ubjson_ndarray_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11303,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11307,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11307,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11307,1
    - Dst: std::vector::at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11309,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11309,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11312,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11324,1
    - Dst: start_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11324,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11324,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11324,1
    - Dst: std::vector::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11324,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11334,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11334,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11334,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11334,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11336,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11336,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11336,1
    - Dst: end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11342,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11351,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11362,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11362,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11362,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 135
    argCount: 2
    argNames:
    - ' result'
    - ' is_ndarray'
    argTypes:
    - std::size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11363
      start: 11153
    functionDepth: 13
    functionLinenumber: 11153
    functionLinenumberEnd: 11363
    functionName: binary_reader::get_ubjson_size_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::vector::empty
    - binary_reader::get_ubjson_ndarray_size
    - value_in_range_of
    - std::vector::at
    - conditional_static_cast
    - parse_error
    - binary_reader::get_token_string
    - out_of_range::create
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - detail::conditional_static_cast<std::size_t>
    - static_cast<number_unsigned_t>
    - key
    - binary_reader::get_ignore_noop
    - parse_error::create
    - static_cast<std::size_t>
    - binary_reader::exception_message
    - start_object
    - std::vector::size
    - number_unsigned
    - start_array
    - binary_reader::get_number
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_size_value(std::size_t& result, bool& is_ndarray, char_int_type
      prefix = 0)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11382,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11386,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11388,1
    - Dst: std::binary_search
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11388,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11388,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11388,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11390,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11391,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11391,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11392,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11392,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11395,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11395,1
    - Dst: binary_reader::get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11400,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11401,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11403,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11403,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11407,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11408,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11408,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11409,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11409,1
    - Dst: binary_reader::get_ubjson_size_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11412,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11417,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11417,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11417,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11418,1
    - Dst: binary_reader::get_ubjson_size_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11427,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11430,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11430,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11430,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11431,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - std::pair<std::size_t, char_int_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11437
      start: 11376
    functionDepth: 14
    functionLinenumber: 11376
    functionLinenumberEnd: 11437
    functionName: binary_reader::get_ubjson_size_type
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - binary_reader::exception_message
    - concat
    - binary_reader::get_ubjson_size_value
    - begin
    - end
    - std::binary_search
    - binary_reader::get_token_string
    - unexpect_eof
    - binary_reader::get_ignore_noop
    - parse_error::create
    - parse_error
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_size_type(std::pair<std::size_t, char_int_type>& result,
      bool inside_ndarray = false)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11447,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11448,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11451,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11453,1
    - Dst: 'null'
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11456,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11461,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11461,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11467,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11467,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11473,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11473,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11479,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11479,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11485,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11485,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11495,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11495,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11505,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11505,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11515,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11515,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11524,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11525,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11525,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11529,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11530,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11530,1
    - Dst: static_cast<unsigned char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11535,1
    - Dst: static_cast<unsigned char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11536,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11546,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11551,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11552,1
    - Dst: std::ldexp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11556,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11559,1
    - Dst: std::numeric_limits<double>::quiet_NaN
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11560,1
    - Dst: std::ldexp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11562,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11565,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11566,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11567,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11573,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11573,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11573,1
    - Dst: binary_reader::get_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11579,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11579,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11579,1
    - Dst: binary_reader::get_ubjson_high_precision_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11584,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11589,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11590,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11590,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11594,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11596,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11597,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11597,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11598,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11598,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11600,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11601,1
    - Dst: binary_reader::get_ubjson_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11607,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11607,1
    - Dst: binary_reader::get_ubjson_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11611,1
    - Dst: binary_reader::get_ubjson_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11614,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11619,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11620,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11620,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11620,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char_int_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11621
      start: 11443
    functionDepth: 5
    functionLinenumber: 11443
    functionLinenumberEnd: 11621
    functionName: binary_reader::get_ubjson_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_reader::get_ubjson_string
    - static_cast<unsigned int>
    - std::ldexp
    - parse_error
    - binary_reader::get
    - std::numeric_limits<double>::infinity
    - string
    - binary_reader::get_token_string
    - JSON_ASSERT
    - binary_reader::get_ubjson_high_precision_number
    - 'null'
    - JSON_HEDLEY_UNLIKELY
    - concat
    - light_eof
    - number_integer
    - boolean
    - binary_reader::get_ubjson_array
    - std::numeric_limits<double>::quiet_NaN
    - unexpect_eof
    - parse_error::create
    - binary_reader::exception_message
    - number_unsigned
    - static_cast<unsigned char>
    - static_cast<typename string_t::value_type>
    - number_float
    - binary_reader::get_ubjson_object
    - static_cast<number_float_t>
    - binary_reader::get_number
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_value(const char_int_type prefix)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11629,1
    - Dst: binary_reader::get_ubjson_size_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11629,1
    - Dst: static_cast<char_int_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11639,1
    - Dst: std::lower_bound
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11640,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11640,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11640,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11645,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11645,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11647,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11648,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11648,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11649,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11653,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11653,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11653,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11664,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11664,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11664,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11671,1
    - Dst: binary_reader::get_ubjson_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11671,1
    - Dst: end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11677,1
    - Dst: end_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11677,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11682,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11682,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11693,1
    - Dst: binary_reader::get_ubjson_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11693,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11704,1
    - Dst: binary_reader::parse_ubjson_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11704,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11713,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11713,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11713,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11720,1
    - Dst: binary_reader::parse_ubjson_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11720,1
    - Dst: binary_reader::get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11724,1
    - Dst: end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11728,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11729
      start: 11626
    functionDepth: 15
    functionLinenumber: 11626
    functionLinenumberEnd: 11729
    functionName: binary_reader::get_ubjson_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - end
    - static_cast<char_int_type>
    - parse_error
    - binary_reader::get_ubjson_value
    - string
    - binary_reader::get_token_string
    - binary_reader::get_ubjson_size_type
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - std::lower_bound
    - begin
    - key
    - binary_reader::get_ignore_noop
    - parse_error::create
    - static_cast<std::size_t>
    - binary_reader::exception_message
    - end_object
    - start_array
    - binary_reader::parse_ubjson_internal
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_array()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11737,1
    - Dst: binary_reader::get_ubjson_size_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11737,1
    - Dst: binary_reader::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11745,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11746,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11746,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11747,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11753,1
    - Dst: start_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11753,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11762,1
    - Dst: binary_reader::get_ubjson_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11762,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11762,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11766,1
    - Dst: binary_reader::get_ubjson_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11766,1
    - Dst: string_t::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11770,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11777,1
    - Dst: binary_reader::get_ubjson_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11777,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11777,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11781,1
    - Dst: binary_reader::parse_ubjson_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11781,1
    - Dst: string_t::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11785,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11791,1
    - Dst: start_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11791,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11791,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11798,1
    - Dst: binary_reader::get_ubjson_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11798,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11798,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11802,1
    - Dst: binary_reader::parse_ubjson_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11802,1
    - Dst: binary_reader::get_ignore_noop
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11806,1
    - Dst: string_t::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11807,1
    - Dst: end_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11811,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11812
      start: 11734
    functionDepth: 15
    functionLinenumber: 11734
    functionLinenumberEnd: 11812
    functionName: binary_reader::get_ubjson_object
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - binary_reader::exception_message
    - start_object
    - static_cast<std::size_t>
    - end_object
    - binary_reader::get_ubjson_value
    - binary_reader::get_token_string
    - binary_reader::get_ubjson_string
    - binary_reader::get_ubjson_size_type
    - key
    - binary_reader::get_ignore_noop
    - string_t::clear
    - binary_reader::parse_ubjson_internal
    - parse_error::create
    - parse_error
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_object()
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get_ubjson_size_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11822,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11823,1
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11832,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11833,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11833,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11837,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11837,1
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11841,1
    - Dst: detail::lexer<BasicJsonType, ia_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11842,1
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11842,1
    - Dst: auto::scan
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11843,1
    - Dst: auto::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11844,1
    - Dst: auto::scan
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11845,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11849,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11851,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11851,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11852,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11852,1
    - Dst: auto::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11852,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11858,1
    - Dst: auto::get_number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11858,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11860,1
    - Dst: auto::get_number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11860,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11862,1
    - Dst: auto::get_number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11862,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11862,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11878,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11878,1
    - Dst: binary_reader::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11879,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11879,1
    - Dst: auto::get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11879,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11881
      start: 11817
    functionDepth: 14
    functionLinenumber: 11817
    functionLinenumberEnd: 11881
    functionName: binary_reader::get_ubjson_high_precision_number
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - auto::get_number_integer
    - auto::scan
    - parse_error
    - file_input_adapter
    - binary_reader::get
    - auto::get_token_string
    - std::vector::push_back
    - static_cast<char>
    - JSON_HEDLEY_UNLIKELY
    - binary_reader::get_ubjson_size_value
    - concat
    - number_integer
    - unexpect_eof
    - parse_error::create
    - binary_reader::exception_message
    - auto::get_number_unsigned
    - number_unsigned
    - number_float
    - auto::get_number_float
    - detail::lexer<BasicJsonType, ia_type>
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool get_ubjson_high_precision_number()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11900
      start: 11896
    functionDepth: 1
    functionLinenumber: 11896
    functionLinenumberEnd: 11900
    functionName: binary_reader::get
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 15
    functionsReached:
    - get_character
    linkageType: ''
    returnType: char_int_type
    signature: char_int_type get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11914
      start: 11905
    functionDepth: 2
    functionLinenumber: 11905
    functionLinenumberEnd: 11914
    functionName: binary_reader::get_ignore_noop
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - binary_reader::get
    linkageType: ''
    returnType: char_int_type
    signature: char_int_type get_ignore_noop()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11938,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11939,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11939,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11947,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11951,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11956,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - format
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11958
      start: 11932
    functionDepth: 2
    functionLinenumber: 11932
    functionLinenumberEnd: 11958
    functionName: binary_reader::get_number
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 13
    functionsReached:
    - binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - std::array::data
    - std::memcpy
    - unexpect_eof
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: bool get_number(const input_format_t format, NumberType& result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11982,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11983,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11983,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11988,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:11988,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - format
    - len
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11991
      start: 11975
    functionDepth: 2
    functionLinenumber: 11975
    functionLinenumberEnd: 11991
    functionName: binary_reader::get_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - static_cast<typename string_t::value_type>
    - push_back
    - unexpect_eof
    linkageType: ''
    returnType: bool
    signature: "bool get_string(const input_format_t format,\n                    const
      NumberType len,\n                    string_t& result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: binary_reader::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12015,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12016,1
    - Dst: unexpect_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12016,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12021,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12021,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - format
    - len
    - ' result'
    argTypes:
    - input_format_t
    - NumberType
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12024
      start: 12008
    functionDepth: 2
    functionLinenumber: 12008
    functionLinenumberEnd: 12024
    functionName: binary_reader::get_binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - binary_reader::get
    - JSON_HEDLEY_UNLIKELY
    - push_back
    - unexpect_eof
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: bool
    signature: "bool get_binary(const input_format_t format,\n                    const
      NumberType len,\n                    binary_t& result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12034,1
    - Dst: light_eof
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12034,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12036,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12037,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - format
    - context
    argTypes:
    - input_format_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12040
      start: 12031
    functionDepth: 4
    functionLinenumber: 12031
    functionLinenumberEnd: 12040
    functionName: "(3)\n    bool unexpect_eof(const input_format_t format, const char*
      context) const"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - light_eof
    - exception_message
    - parse_error::create
    - parse_error
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (3)\n    bool unexpect_eof(const input_format_t
      format, const char* context) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12048,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12048,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12048,1
    - Dst: static_cast<unsigned char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12048,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12050
      start: 12045
    functionDepth: 1
    functionLinenumber: 12045
    functionLinenumberEnd: 12050
    functionName: binary_reader::get_token_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 13
    functionsReached:
    - static_cast<void>
    - static_cast<unsigned char>
    - std::array::data
    - std::array::size
    linkageType: ''
    returnType: std::string
    signature: std::string get_token_string() const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12088,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12091,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - format
    - ' detail'
    - ' context'
    argTypes:
    - input_format_t
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12092
      start: 12058
    functionDepth: 2
    functionLinenumber: 12058
    functionLinenumberEnd: 12092
    functionName: binary_reader::exception_message
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 14
    functionsReached:
    - concat
    - JSON_ASSERT
    linkageType: ''
    returnType: std::string
    signature: "std::string exception_message(const input_format_t format,\n                                  const
      std::string& detail,\n                                  const std::string& context)
      const"
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12244,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12248,1
    - Dst: sax_parse_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12266,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12269,1
    - Dst: json_sax_dom_callback_parser::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12271,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12271,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12272,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12273,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12273,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12274,1
    - Dst: json_sax_dom_callback_parser::is_errored
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12278,1
    - Dst: is_discarded
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12286,1
    - Dst: sax_parse_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12294,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12297,1
    - Dst: json_sax_dom_parser::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12299,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12299,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12300,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12301,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12301,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12301,1
    - Dst: json_sax_dom_parser::is_errored
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12305,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12312,1
    - Dst: sax_parse
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12324,1
    - Dst: sax_parse_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12332,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12335,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12337,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12337,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12338,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12339,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12339,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12339,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12365,1
    - Dst: start_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12365,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12365,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12371,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12373,1
    - Dst: end_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12373,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12381,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12383,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12383,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12384,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12385,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12385,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12385,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12387,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12387,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12387,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12393,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12393,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12395,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12395,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12396,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12397,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12397,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12397,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12401,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12404,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12410,1
    - Dst: start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12410,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12410,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12416,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12418,1
    - Dst: end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12418,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12426,1
    - Dst: get_number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12434,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12436,1
    - Dst: std::isfinite
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12436,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12438,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12438,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12439,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12440,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12440,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12440,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12443,1
    - Dst: number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12443,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12443,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12453,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12453,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12462,1
    - Dst: 'null'
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12462,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12471,1
    - Dst: boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12471,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12480,1
    - Dst: number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12480,1
    - Dst: get_number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12480,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12489,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12489,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12489,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12498,1
    - Dst: number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12498,1
    - Dst: get_number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12498,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12508,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12508,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12509,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12510,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12510,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12510,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12514,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12514,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12516,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12516,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12517,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12518,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12518,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12522,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12522,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12523,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12524,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12524,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12524,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12534,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12534,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12535,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12536,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12536,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12536,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12546,1
    - Dst: std::vector::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12552,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12555,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12558,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12563,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12565,1
    - Dst: end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12565,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12574,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12574,1
    - Dst: std::vector::pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12575,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12580,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12580,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12581,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12582,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12582,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12582,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12588,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12591,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12591,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12593,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12593,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12594,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12595,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12595,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12595,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12598,1
    - Dst: key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12598,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12598,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12604,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12604,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12606,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12606,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12607,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12608,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12608,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12608,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12612,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12617,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12619,1
    - Dst: end_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12619,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12628,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12628,1
    - Dst: std::vector::pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12629,1
    - Dst: parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12634,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12634,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12635,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12636,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12636,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12636,1
    - Dst: scan
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12643,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12650,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12652,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12659,1
    - Dst: get_error_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12659,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12660,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12664,1
    - Dst: lexer_base::token_type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12664,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12669,1
    - Dst: lexer_base::token_type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12669,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 201
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12686
      start: 12195
    functionDepth: 5
    functionLinenumber: 12195
    functionLinenumberEnd: 12686
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::vector::empty
    - get_position
    - get_token_string
    - assert_invariant
    - empty
    - get_number_integer
    - lexer_base::token_type_name
    - json_sax_dom_callback_parser::parse_error
    - JSON_HEDLEY_LIKELY
    - parse_error
    - scan
    - string
    - get_number_float
    - std::vector::push_back
    - std::vector::back
    - JSON_ASSERT
    - is_discarded
    - 'null'
    - get_string
    - exception_message
    - get_number_unsigned
    - out_of_range::create
    - end_array
    - JSON_HEDLEY_UNLIKELY
    - concat
    - sax_parse_internal
    - number_integer
    - json_sax_dom_parser::is_errored
    - std::vector::pop_back
    - boolean
    - get_token
    - json_sax_dom_callback_parser::is_errored
    - key
    - get_error_message
    - parse_error::create
    - static_cast<std::size_t>
    - std::isfinite
    - start_object
    - number_unsigned
    - sax_parse
    - number_float
    - json_sax_dom_parser::parse_error
    - end_object
    - start_array
    - std::move
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12244,1
    - Dst: parser::get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' adapter'
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12249
      start: 12239
    functionDepth: 1
    functionLinenumber: 12239
    functionLinenumberEnd: 12249
    functionName: parser::parser
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - parser::get_token
    - std::move
    linkageType: ''
    returnType: void
    signature: "void parser(InputAdapterType&& adapter,\n                    const
      parser_callback_t<BasicJsonType> cb = nullptr,\n                    const bool
      allow_exceptions_ = true,\n                    const bool skip_comments = false)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: parser::sax_parse_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12266,1
    - Dst: parser::get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12269,1
    - Dst: json_sax_dom_callback_parser::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12271,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12271,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12272,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12273,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12273,1
    - Dst: parser::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12274,1
    - Dst: json_sax_dom_callback_parser::is_errored
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12278,1
    - Dst: is_discarded
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12286,1
    - Dst: parser::sax_parse_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12294,1
    - Dst: parser::get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12297,1
    - Dst: json_sax_dom_parser::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12299,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12299,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12300,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12301,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12301,1
    - Dst: parser::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12301,1
    - Dst: json_sax_dom_parser::is_errored
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12305,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12312,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - strict
    - ' result'
    argTypes:
    - bool
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12313
      start: 12261
    functionDepth: 4
    functionLinenumber: 12261
    functionLinenumberEnd: 12313
    functionName: parser::parse
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - get_position
    - get_token_string
    - assert_invariant
    - parser::get_token
    - json_sax_dom_parser::is_errored
    - json_sax_dom_callback_parser::parse_error
    - parser::sax_parse_internal
    - is_discarded
    - json_sax_dom_parser::parse_error
    - json_sax_dom_callback_parser::is_errored
    - parser::exception_message
    - parse_error::create
    linkageType: ''
    returnType: void
    signature: void parse(const bool strict, BasicJsonType& result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sax_parse
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12325
      start: 12321
    functionDepth: 1
    functionLinenumber: 12321
    functionLinenumberEnd: 12325
    functionName: parser::accept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - sax_parse
    linkageType: ''
    returnType: bool
    signature: bool accept(const bool strict = true)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sax_parse_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12332,1
    - Dst: get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12335,1
    - Dst: SAX*::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12337,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12337,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12338,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12339,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12339,1
    - Dst: exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sax
    argTypes:
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12343
      start: 12328
    functionDepth: 4
    functionLinenumber: 12328
    functionLinenumberEnd: 12343
    functionName: "(2)\n    bool sax_parse(SAX* sax, const bool strict = true)"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - get_position
    - get_token_string
    - sax_parse_internal
    - SAX*::parse_error
    - get_token
    - exception_message
    - parse_error::create
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    bool sax_parse(SAX* sax, const bool
      strict = true)"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12365,1
    - Dst: SAX*::start_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12365,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12365,1
    - Dst: parser::get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12371,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12373,1
    - Dst: SAX*::end_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12373,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12381,1
    - Dst: SAX*::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12383,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12383,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12384,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12385,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12385,1
    - Dst: parser::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12385,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12387,1
    - Dst: SAX*::key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12387,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12387,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12393,1
    - Dst: parser::get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12393,1
    - Dst: SAX*::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12395,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12395,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12396,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12397,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12397,1
    - Dst: parser::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12397,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12401,1
    - Dst: parser::get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12404,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12410,1
    - Dst: SAX*::start_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12410,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12410,1
    - Dst: parser::get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12416,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12418,1
    - Dst: SAX*::end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12418,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12426,1
    - Dst: get_number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12434,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12436,1
    - Dst: std::isfinite
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12436,1
    - Dst: SAX*::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12438,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12438,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12439,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12440,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12440,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12440,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12443,1
    - Dst: SAX*::number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12443,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12443,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12453,1
    - Dst: SAX*::boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12453,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12462,1
    - Dst: SAX*::null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12462,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12471,1
    - Dst: SAX*::boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12471,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12480,1
    - Dst: SAX*::number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12480,1
    - Dst: get_number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12480,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12489,1
    - Dst: SAX*::string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12489,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12489,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12498,1
    - Dst: SAX*::number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12498,1
    - Dst: get_number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12498,1
    - Dst: SAX*::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12508,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12508,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12509,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12510,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12510,1
    - Dst: parser::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12510,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12514,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12514,1
    - Dst: SAX*::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12516,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12516,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12517,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12518,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12518,1
    - Dst: SAX*::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12522,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12522,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12523,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12524,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12524,1
    - Dst: parser::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12524,1
    - Dst: SAX*::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12534,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12534,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12535,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12536,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12536,1
    - Dst: parser::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12536,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12546,1
    - Dst: std::vector::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12552,1
    - Dst: parser::get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12555,1
    - Dst: parser::get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12558,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12563,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12565,1
    - Dst: SAX*::end_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12565,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12574,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12574,1
    - Dst: std::vector::pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12575,1
    - Dst: SAX*::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12580,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12580,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12581,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12582,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12582,1
    - Dst: parser::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12582,1
    - Dst: parser::get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12588,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12591,1
    - Dst: parser::get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12591,1
    - Dst: SAX*::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12593,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12593,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12594,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12595,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12595,1
    - Dst: parser::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12595,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12598,1
    - Dst: SAX*::key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12598,1
    - Dst: get_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12598,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12604,1
    - Dst: parser::get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12604,1
    - Dst: SAX*::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12606,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12606,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12607,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12608,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12608,1
    - Dst: parser::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12608,1
    - Dst: parser::get_token
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12612,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12617,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12619,1
    - Dst: SAX*::end_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12619,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12628,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12628,1
    - Dst: std::vector::pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12629,1
    - Dst: SAX*::parse_error
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12634,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12634,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12635,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12636,1
    - Dst: get_position
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12636,1
    - Dst: parser::exception_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12636,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 150
    argCount: 1
    argNames:
    - sax
    argTypes:
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12638
      start: 12348
    functionDepth: 5
    functionLinenumber: 12348
    functionLinenumberEnd: 12638
    functionName: parser::sax_parse_internal
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::vector::empty
    - get_position
    - get_token_string
    - get_number_integer
    - parser::get_token
    - SAX*::number_unsigned
    - JSON_HEDLEY_LIKELY
    - SAX*::number_integer
    - SAX*::start_array
    - get_number_float
    - std::vector::push_back
    - std::vector::back
    - JSON_ASSERT
    - get_string
    - get_number_unsigned
    - out_of_range::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - SAX*::parse_error
    - SAX*::number_float
    - std::vector::pop_back
    - SAX*::string
    - SAX*::key
    - SAX*::null
    - parse_error::create
    - std::isfinite
    - static_cast<std::size_t>
    - SAX*::end_array
    - SAX*::boolean
    - SAX*::start_object
    - SAX*::end_object
    - parser::exception_message
    linkageType: ''
    returnType: bool
    signature: bool sax_parse_internal(SAX* sax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scan
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12644
      start: 12641
    functionDepth: 4
    functionLinenumber: 12641
    functionLinenumberEnd: 12644
    functionName: parser::get_token
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - scan
    linkageType: ''
    returnType: token_type
    signature: token_type get_token()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12650,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12652,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12659,1
    - Dst: get_error_message
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12659,1
    - Dst: get_token_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12660,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12664,1
    - Dst: lexer_base::token_type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12664,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12669,1
    - Dst: lexer_base::token_type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12669,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - expected
    - ' context'
    argTypes:
    - token_type
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12673
      start: 12646
    functionDepth: 2
    functionLinenumber: 12646
    functionLinenumberEnd: 12673
    functionName: parser::exception_message
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - concat
    - get_token_string
    - empty
    - lexer_base::token_type_name
    - get_error_message
    linkageType: ''
    returnType: std::string
    signature: std::string exception_message(const token_type expected, const std::string&
      context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12834
      start: 12719
    functionDepth: 0
    functionLinenumber: 12719
    functionLinenumberEnd: 12834
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12747
      start: 12744
    functionDepth: 0
    functionLinenumber: 12744
    functionLinenumberEnd: 12747
    functionName: primitive_iterator_t::get_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type get_value() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12753
      start: 12750
    functionDepth: 0
    functionLinenumber: 12750
    functionLinenumberEnd: 12753
    functionName: primitive_iterator_t::set_begin
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12759
      start: 12756
    functionDepth: 0
    functionLinenumber: 12756
    functionLinenumberEnd: 12759
    functionName: primitive_iterator_t::set_end
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_end() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12765
      start: 12762
    functionDepth: 0
    functionLinenumber: 12762
    functionLinenumberEnd: 12765
    functionName: primitive_iterator_t::is_begin
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_begin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12771
      start: 12768
    functionDepth: 0
    functionLinenumber: 12768
    functionLinenumberEnd: 12771
    functionName: primitive_iterator_t::is_end
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_end() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12776
      start: 12773
    functionDepth: 0
    functionLinenumber: 12773
    functionLinenumberEnd: 12776
    functionName: operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12781
      start: 12778
    functionDepth: 0
    functionLinenumber: 12778
    functionLinenumberEnd: 12781
    functionName: operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12788
      start: 12783
    functionDepth: 0
    functionLinenumber: 12783
    functionLinenumberEnd: 12788
    functionName: operator+(difference_type n) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator+(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - primitive_iterator_t
    - primitive_iterator_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12793
      start: 12790
    functionDepth: 0
    functionLinenumber: 12790
    functionLinenumberEnd: 12793
    functionName: operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t
      rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12799
      start: 12795
    functionDepth: 0
    functionLinenumber: 12795
    functionLinenumberEnd: 12799
    functionName: '& operator++() noexcept'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator++() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12806
      start: 12801
    functionDepth: 0
    functionLinenumber: 12801
    functionLinenumberEnd: 12806
    functionName: operator++(int)& noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator++(int)& noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12812
      start: 12808
    functionDepth: 0
    functionLinenumber: 12808
    functionLinenumberEnd: 12812
    functionName: '& operator--() noexcept'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator--() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12819
      start: 12814
    functionDepth: 0
    functionLinenumber: 12814
    functionLinenumberEnd: 12819
    functionName: operator--(int)& noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t operator--(int)& noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12825
      start: 12821
    functionDepth: 0
    functionLinenumber: 12821
    functionLinenumberEnd: 12825
    functionName: '& operator+=(difference_type n) noexcept'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator+=(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12831
      start: 12827
    functionDepth: 0
    functionLinenumber: 12827
    functionLinenumberEnd: 12831
    functionName: '& operator-=(difference_type n) noexcept'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: primitive_iterator_t
    signature: primitive_iterator_t & operator-=(difference_type n) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12858
      start: 12835
    functionDepth: 0
    functionLinenumber: 12835
    functionLinenumberEnd: 12858
    functionName: NLOHMANN_JSON_NAMESPACE_BEGIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_END
    signature: NLOHMANN_JSON_NAMESPACE_END NLOHMANN_JSON_NAMESPACE_BEGIN
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12970,1
    - Dst: json_reverse_iterator::json_reverse_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12976,1
    - Dst: json_reverse_iterator::json_reverse_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12982,1
    - Dst: primitive_iterator_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12996,1
    - Dst: set_begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13065,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13067,1
    - Dst: m_data::m_value::object::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13073,1
    - Dst: m_data::m_value::array::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13079,1
    - Dst: primitive_iterator::set_end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13086,1
    - Dst: primitive_iterator::set_begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13099,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13111,1
    - Dst: m_data::m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13117,1
    - Dst: m_data::m_value::array::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13123,1
    - Dst: primitive_iterator::set_end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13137,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13150,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13156,1
    - Dst: m_data::m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13156,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13162,1
    - Dst: m_data::m_value::array::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13162,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13167,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13167,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13178,1
    - Dst: primitive_iterator::is_begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13178,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13183,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13183,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 112
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13186
      start: 12890
    functionDepth: 4
    functionLinenumber: 12890
    functionLinenumberEnd: 13186
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - primitive_iterator::set_begin
    - m_data::m_value::array::end
    - m_data::m_value::array::begin
    - primitive_iterator_t
    - set_begin
    - JSON_ASSERT
    - m_data::m_value::object::begin
    - primitive_iterator::set_end
    - m_data::m_value::object::end
    - json_reverse_iterator::json_reverse_iterator
    - JSON_THROW
    - invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - primitive_iterator::is_begin
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12970,1
    - Dst: json_reverse_iterator::json_reverse_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12976,1
    - Dst: json_reverse_iterator::json_reverse_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12982,1
    - Dst: primitive_iterator_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12996,1
    - Dst: set_begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13065,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13067,1
    - Dst: m_data::m_value::object::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13073,1
    - Dst: m_data::m_value::array::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13079,1
    - Dst: primitive_iterator::set_end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13086,1
    - Dst: primitive_iterator::set_begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13099,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13111,1
    - Dst: m_data::m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13117,1
    - Dst: m_data::m_value::array::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13123,1
    - Dst: primitive_iterator::set_end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13137,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13141
      start: 12915
    functionDepth: 1
    functionLinenumber: 12915
    functionLinenumberEnd: 13141
    functionName: set_end
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - primitive_iterator::set_begin
    - m_data::m_value::array::end
    - m_data::m_value::array::begin
    - primitive_iterator_t
    - set_begin
    - JSON_ASSERT
    - m_data::m_value::object::begin
    - primitive_iterator::set_end
    - m_data::m_value::object::end
    - json_reverse_iterator::json_reverse_iterator
    linkageType: ''
    returnType: "class iter_impl // NOLINT(cppcoreguidelines-special-member-functions,hicpp-special-member-functions)\n{\n
      \   /// the iterator with BasicJsonType of different const-ness\n    using other_iter_impl
      = iter_impl<typename std::conditional<std::is_const<BasicJsonType>::value, typename
      std::remove_const<BasicJsonType>::type, const BasicJsonType>::type>;\n    ///
      allow basic_json to access private members\n    friend other_iter_impl;\n    friend
      BasicJsonType;\n    friend iteration_proxy<iter_impl>;\n    friend iteration_proxy_value<iter_impl>;\n\n
      \   using object_t = typename BasicJsonType::object_t;\n    using array_t =
      typename BasicJsonType::array_t;\n    // make sure BasicJsonType is basic_json
      or const basic_json\n    static_assert(is_basic_json<typename std::remove_const<BasicJsonType>::type>::value,\n
      \                 \"iter_impl only accepts (const) basic_json\");\n    // superficial
      check for the LegacyBidirectionalIterator named requirement\n    static_assert(std::is_base_of<std::bidirectional_iterator_tag,
      std::bidirectional_iterator_tag>::value\n                  &&  std::is_base_of<std::bidirectional_iterator_tag,
      typename std::iterator_traits<typename array_t::iterator>::iterator_category>::value,\n
      \                 \"basic_json iterator assumes array and object type iterators
      satisfy the LegacyBidirectionalIterator named requirement.\");\n\n  public:\n
      \   /// The std::iterator class template (used as a base class to provide typedefs)
      is deprecated in C++17.\n    /// The C++ Standard has never required user-defined
      iterators to derive from std::iterator.\n    /// A user-defined iterator should
      provide publicly accessible typedefs named\n    /// iterator_category, value_type,
      difference_type, pointer, and reference.\n    /// Note that value_type is required
      to be non-const, even for constant iterators.\n    using iterator_category =
      std::bidirectional_iterator_tag;\n\n    /// the type of the values when the
      iterator is dereferenced\n    using value_type = typename BasicJsonType::value_type;\n
      \   /// a type to represent differences between iterators\n    using difference_type
      = typename BasicJsonType::difference_type;\n    /// defines a pointer to the
      type iterated over (value_type)\n    using pointer = typename std::conditional<std::is_const<BasicJsonType>::value,\n
      \         typename BasicJsonType::const_pointer,\n          typename BasicJsonType::pointer>::type;\n
      \   /// defines a reference to the type iterated over (value_type)\n    using
      reference =\n        typename std::conditional<std::is_const<BasicJsonType>::value,\n
      \       typename BasicJsonType::const_reference,\n        typename BasicJsonType::reference>::type;\n\n
      \   iter_impl() = default;\n    ~iter_impl() = default;\n    iter_impl(iter_impl&&)
      noexcept = default;\n    iter_impl& operator=(iter_impl&&) noexcept = default;\n\n
      \   /*!\n    @brief constructor for a given JSON instance\n    @param[in] object
      \ pointer to a JSON object for this iterator\n    @pre object != nullptr\n    @post
      The iterator is initialized; i.e. `m_object != nullptr`.\n    */\n    explicit
      iter_impl(pointer object) noexcept : m_object(object)\n    {\n        JSON_ASSERT(m_object
      != nullptr);\n\n        switch (m_object->m_data.m_type)\n        {\n            case
      value_t::object:\n            {\n                m_it.object_iterator = typename
      object_t::iterator();\n                break;\n            }\n\n            case
      value_t::array:\n            {\n                m_it.array_iterator = typename
      array_t::iterator();\n                break;\n            }\n\n            case
      value_t::null:\n            case value_t::string:\n            case value_t::boolean:\n
      \           case value_t::number_integer:\n            case value_t::number_unsigned:\n
      \           case value_t::number_float:\n            case value_t::binary:\n
      \           case value_t::discarded:\n            default:\n            {\n
      \               m_it.primitive_iterator = primitive_iterator_t();\n                break;\n
      \           }\n        }\n    }\n\n    /*!\n    @note The conventional copy
      constructor and copy assignment are implicitly\n          defined. Combined
      with the following converting constructor and\n          assignment, they support:
      (1) copy from iterator to iterator, (2)\n          copy from const iterator
      to const iterator, and (3) conversion from\n          iterator to const iterator.
      However conversion from const iterator\n          to iterator is not defined.\n
      \   */\n\n    /*!\n    @brief const copy constructor\n    @param[in] other const
      iterator to copy from\n    @note This copy constructor had to be defined explicitly
      to circumvent a bug\n          occurring on msvc v19.0 compiler (VS 2015) debug
      build. For more\n          information refer to: https://github.com/nlohmann/json/issues/1608\n
      \   */\n    iter_impl(const iter_impl<const BasicJsonType>& other) noexcept\n
      \       : m_object(other.m_object), m_it(other.m_it)\n    {}\n\n    /*!\n    @brief
      converting assignment\n    @param[in] other const iterator to copy from\n    @return
      const/non-const iterator\n    @note It is not checked whether @a other is initialized.\n
      \   */\n    iter_impl& operator=(const iter_impl<const BasicJsonType>& other)
      noexcept\n    {\n        if (&other != this)\n        {\n            m_object
      = other.m_object;\n            m_it = other.m_it;\n        }\n        return
      *this;\n    }\n\n    /*!\n    @brief converting constructor\n    @param[in]
      other  non-const iterator to copy from\n    @note It is not checked whether
      @a other is initialized.\n    */\n    iter_impl(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept\n        : m_object(other.m_object), m_it(other.m_it)\n    {}\n\n
      \   /*!\n    @brief converting assignment\n    @param[in] other  non-const iterator
      to copy from\n    @return const/non-const iterator\n    @note It is not checked
      whether @a other is initialized.\n    */\n    iter_impl& operator=(const iter_impl<typename
      std::remove_const<BasicJsonType>::type>& other) noexcept // NOLINT(cert-oop54-cpp)\n
      \   {\n        m_object = other.m_object;\n        m_it = other.m_it;\n        return
      *this;\n    }\n\n  JSON_PRIVATE_UNLESS_TESTED:\n    /*!\n    @brief set the
      iterator to the first value\n    @pre The iterator is initialized; i.e. `m_object
      != nullptr`.\n    */\n    void set_begin() noexcept\n    {\n        JSON_ASSERT(m_object
      != nullptr);\n\n        switch (m_object->m_data.m_type)\n        {\n            case
      value_t::object:\n            {\n                m_it.object_iterator = m_object->m_data.m_value.object->begin();\n
      \               break;\n            }\n\n            case value_t::array:\n
      \           {\n                m_it.array_iterator = m_object->m_data.m_value.array->begin();\n
      \               break;\n            }\n\n            case value_t::null:\n            {\n
      \               // set to end so begin()==end() is true: null is empty\n                m_it.primitive_iterator.set_end();\n
      \               break;\n            }\n\n            case value_t::string:\n
      \           case value_t::boolean:\n            case value_t::number_integer:\n
      \           case value_t::number_unsigned:\n            case value_t::number_float:\n
      \           case value_t::binary:\n            case value_t::discarded:\n            default:\n
      \           {\n                m_it.primitive_iterator.set_begin();\n                break;\n
      \           }\n        }\n    }"
    signature: "class iter_impl // NOLINT(cppcoreguidelines-special-member-functions,hicpp-special-member-functions)\n{\n
      \   /// the iterator with BasicJsonType of different const-ness\n    using other_iter_impl
      = iter_impl<typename std::conditional<std::is_const<BasicJsonType>::value, typename
      std::remove_const<BasicJsonType>::type, const BasicJsonType>::type>;\n    ///
      allow basic_json to access private members\n    friend other_iter_impl;\n    friend
      BasicJsonType;\n    friend iteration_proxy<iter_impl>;\n    friend iteration_proxy_value<iter_impl>;\n\n
      \   using object_t = typename BasicJsonType::object_t;\n    using array_t =
      typename BasicJsonType::array_t;\n    // make sure BasicJsonType is basic_json
      or const basic_json\n    static_assert(is_basic_json<typename std::remove_const<BasicJsonType>::type>::value,\n
      \                 \"iter_impl only accepts (const) basic_json\");\n    // superficial
      check for the LegacyBidirectionalIterator named requirement\n    static_assert(std::is_base_of<std::bidirectional_iterator_tag,
      std::bidirectional_iterator_tag>::value\n                  &&  std::is_base_of<std::bidirectional_iterator_tag,
      typename std::iterator_traits<typename array_t::iterator>::iterator_category>::value,\n
      \                 \"basic_json iterator assumes array and object type iterators
      satisfy the LegacyBidirectionalIterator named requirement.\");\n\n  public:\n
      \   /// The std::iterator class template (used as a base class to provide typedefs)
      is deprecated in C++17.\n    /// The C++ Standard has never required user-defined
      iterators to derive from std::iterator.\n    /// A user-defined iterator should
      provide publicly accessible typedefs named\n    /// iterator_category, value_type,
      difference_type, pointer, and reference.\n    /// Note that value_type is required
      to be non-const, even for constant iterators.\n    using iterator_category =
      std::bidirectional_iterator_tag;\n\n    /// the type of the values when the
      iterator is dereferenced\n    using value_type = typename BasicJsonType::value_type;\n
      \   /// a type to represent differences between iterators\n    using difference_type
      = typename BasicJsonType::difference_type;\n    /// defines a pointer to the
      type iterated over (value_type)\n    using pointer = typename std::conditional<std::is_const<BasicJsonType>::value,\n
      \         typename BasicJsonType::const_pointer,\n          typename BasicJsonType::pointer>::type;\n
      \   /// defines a reference to the type iterated over (value_type)\n    using
      reference =\n        typename std::conditional<std::is_const<BasicJsonType>::value,\n
      \       typename BasicJsonType::const_reference,\n        typename BasicJsonType::reference>::type;\n\n
      \   iter_impl() = default;\n    ~iter_impl() = default;\n    iter_impl(iter_impl&&)
      noexcept = default;\n    iter_impl& operator=(iter_impl&&) noexcept = default;\n\n
      \   /*!\n    @brief constructor for a given JSON instance\n    @param[in] object
      \ pointer to a JSON object for this iterator\n    @pre object != nullptr\n    @post
      The iterator is initialized; i.e. `m_object != nullptr`.\n    */\n    explicit
      iter_impl(pointer object) noexcept : m_object(object)\n    {\n        JSON_ASSERT(m_object
      != nullptr);\n\n        switch (m_object->m_data.m_type)\n        {\n            case
      value_t::object:\n            {\n                m_it.object_iterator = typename
      object_t::iterator();\n                break;\n            }\n\n            case
      value_t::array:\n            {\n                m_it.array_iterator = typename
      array_t::iterator();\n                break;\n            }\n\n            case
      value_t::null:\n            case value_t::string:\n            case value_t::boolean:\n
      \           case value_t::number_integer:\n            case value_t::number_unsigned:\n
      \           case value_t::number_float:\n            case value_t::binary:\n
      \           case value_t::discarded:\n            default:\n            {\n
      \               m_it.primitive_iterator = primitive_iterator_t();\n                break;\n
      \           }\n        }\n    }\n\n    /*!\n    @note The conventional copy
      constructor and copy assignment are implicitly\n          defined. Combined
      with the following converting constructor and\n          assignment, they support:
      (1) copy from iterator to iterator, (2)\n          copy from const iterator
      to const iterator, and (3) conversion from\n          iterator to const iterator.
      However conversion from const iterator\n          to iterator is not defined.\n
      \   */\n\n    /*!\n    @brief const copy constructor\n    @param[in] other const
      iterator to copy from\n    @note This copy constructor had to be defined explicitly
      to circumvent a bug\n          occurring on msvc v19.0 compiler (VS 2015) debug
      build. For more\n          information refer to: https://github.com/nlohmann/json/issues/1608\n
      \   */\n    iter_impl(const iter_impl<const BasicJsonType>& other) noexcept\n
      \       : m_object(other.m_object), m_it(other.m_it)\n    {}\n\n    /*!\n    @brief
      converting assignment\n    @param[in] other const iterator to copy from\n    @return
      const/non-const iterator\n    @note It is not checked whether @a other is initialized.\n
      \   */\n    iter_impl& operator=(const iter_impl<const BasicJsonType>& other)
      noexcept\n    {\n        if (&other != this)\n        {\n            m_object
      = other.m_object;\n            m_it = other.m_it;\n        }\n        return
      *this;\n    }\n\n    /*!\n    @brief converting constructor\n    @param[in]
      other  non-const iterator to copy from\n    @note It is not checked whether
      @a other is initialized.\n    */\n    iter_impl(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept\n        : m_object(other.m_object), m_it(other.m_it)\n    {}\n\n
      \   /*!\n    @brief converting assignment\n    @param[in] other  non-const iterator
      to copy from\n    @return const/non-const iterator\n    @note It is not checked
      whether @a other is initialized.\n    */\n    iter_impl& operator=(const iter_impl<typename
      std::remove_const<BasicJsonType>::type>& other) noexcept // NOLINT(cert-oop54-cpp)\n
      \   {\n        m_object = other.m_object;\n        m_it = other.m_it;\n        return
      *this;\n    }\n\n  JSON_PRIVATE_UNLESS_TESTED:\n    /*!\n    @brief set the
      iterator to the first value\n    @pre The iterator is initialized; i.e. `m_object
      != nullptr`.\n    */\n    void set_begin() noexcept\n    {\n        JSON_ASSERT(m_object
      != nullptr);\n\n        switch (m_object->m_data.m_type)\n        {\n            case
      value_t::object:\n            {\n                m_it.object_iterator = m_object->m_data.m_value.object->begin();\n
      \               break;\n            }\n\n            case value_t::array:\n
      \           {\n                m_it.array_iterator = m_object->m_data.m_value.array->begin();\n
      \               break;\n            }\n\n            case value_t::null:\n            {\n
      \               // set to end so begin()==end() is true: null is empty\n                m_it.primitive_iterator.set_end();\n
      \               break;\n            }\n\n            case value_t::string:\n
      \           case value_t::boolean:\n            case value_t::number_integer:\n
      \           case value_t::number_unsigned:\n            case value_t::number_float:\n
      \           case value_t::binary:\n            case value_t::discarded:\n            default:\n
      \           {\n                m_it.primitive_iterator.set_begin();\n                break;\n
      \           }\n        }\n    } set_end() noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12957
      start: 12957
    functionDepth: 0
    functionLinenumber: 12957
    functionLinenumberEnd: 12957
    functionName: iter_impl::iter_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12958
      start: 12958
    functionDepth: 0
    functionLinenumber: 12958
    functionLinenumberEnd: 12958
    functionName: ~iter_impl()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~iter_impl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12959
      start: 12959
    functionDepth: 0
    functionLinenumber: 12959
    functionLinenumberEnd: 12959
    functionName: iter_impl::iter_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl(iter_impl&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12960
      start: 12960
    functionDepth: 0
    functionLinenumber: 12960
    functionLinenumberEnd: 12960
    functionName: '& operator=(iter_impl&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator=(iter_impl&&) noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12970,1
    - Dst: json_reverse_iterator::json_reverse_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12976,1
    - Dst: json_reverse_iterator::json_reverse_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12982,1
    - Dst: primitive_iterator_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:12996,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - object
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13000
      start: 12968
    functionDepth: 1
    functionLinenumber: 12968
    functionLinenumberEnd: 13000
    functionName: iter_impl::iter_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_reverse_iterator::json_reverse_iterator
    - primitive_iterator_t
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: void iter_impl(pointer object) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<const BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13020
      start: 13018
    functionDepth: 0
    functionLinenumber: 13018
    functionLinenumberEnd: 13020
    functionName: iter_impl::iter_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl(const iter_impl<const BasicJsonType>& other) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<const BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13036
      start: 13028
    functionDepth: 0
    functionLinenumber: 13028
    functionLinenumberEnd: 13036
    functionName: '& operator=(const iter_impl<const BasicJsonType>& other) noexcept'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator=(const iter_impl<const BasicJsonType>& other)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<typename std::remove_const<BasicJsonType>::type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13045
      start: 13043
    functionDepth: 0
    functionLinenumber: 13043
    functionLinenumberEnd: 13045
    functionName: iter_impl::iter_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iter_impl(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl<typename std::remove_const<BasicJsonType>::type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13058
      start: 13053
    functionDepth: 0
    functionLinenumber: 13053
    functionLinenumberEnd: 13058
    functionName: '& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
      other) noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::object::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13073,1
    - Dst: m_data::m_value::array::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13079,1
    - Dst: primitive_iterator::set_end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13086,1
    - Dst: primitive_iterator::set_begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13099,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13102
      start: 13069
    functionDepth: 2
    functionLinenumber: 13069
    functionLinenumberEnd: 13102
    functionName: (m_object->m_data.m_type)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - primitive_iterator::set_begin
    - primitive_iterator::set_end
    - m_data::m_value::array::begin
    - m_data::m_value::object::begin
    linkageType: ''
    returnType: switch
    signature: switch (m_object->m_data.m_type)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13194,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13200,1
    - Dst: m_data::m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13200,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13206,1
    - Dst: m_data::m_value::array::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13206,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13220,1
    - Dst: primitive_iterator::is_begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13220,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13225,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13228
      start: 13192
    functionDepth: 4
    functionLinenumber: 13192
    functionLinenumberEnd: 13228
    functionName: operator->() const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - m_data::m_value::array::end
    - JSON_ASSERT
    - m_data::m_value::object::end
    - JSON_THROW
    - invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - primitive_iterator::is_begin
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13239
      start: 13234
    functionDepth: 0
    functionLinenumber: 13234
    functionLinenumberEnd: 13239
    functionName: operator++(int)&
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator++(int)&
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13247,1
    - Dst: std::advance
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13253,1
    - Dst: std::advance
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13279
      start: 13245
    functionDepth: 1
    functionLinenumber: 13245
    functionLinenumberEnd: 13279
    functionName: '& operator++()'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - JSON_ASSERT
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13290
      start: 13285
    functionDepth: 0
    functionLinenumber: 13285
    functionLinenumberEnd: 13290
    functionName: operator--(int)&
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator--(int)&
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13298,1
    - Dst: std::advance
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13304,1
    - Dst: std::advance
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13330
      start: 13296
    functionDepth: 1
    functionLinenumber: 13296
    functionLinenumberEnd: 13330
    functionName: '& operator--()'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::advance
    - JSON_ASSERT
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator--()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13340,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13342,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13342,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IterImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13366
      start: 13337
    functionDepth: 4
    functionLinenumber: 13337
    functionLinenumberEnd: 13366
    functionName: operator==(const IterImpl& other) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - JSON_HEDLEY_UNLIKELY
    - JSON_ASSERT
    - invalid_iterator::create
    linkageType: ''
    returnType: bool
    signature: bool operator==(const IterImpl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - IterImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13376
      start: 13373
    functionDepth: 0
    functionLinenumber: 13373
    functionLinenumberEnd: 13376
    functionName: operator!=(const IterImpl& other) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const IterImpl& other) const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13385,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13387,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13387,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13390,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13395,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13411
      start: 13382
    functionDepth: 4
    functionLinenumber: 13382
    functionLinenumberEnd: 13411
    functionName: operator<(const iter_impl& other) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - JSON_HEDLEY_UNLIKELY
    - JSON_ASSERT
    - invalid_iterator::create
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: other
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13420
      start: 13417
    functionDepth: 0
    functionLinenumber: 13417
    functionLinenumberEnd: 13420
    functionName: operator<=(const iter_impl& other) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - other
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13429
      start: 13426
    functionDepth: 0
    functionLinenumber: 13426
    functionLinenumberEnd: 13429
    functionName: operator>(const iter_impl& other) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iter_impl& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13438
      start: 13435
    functionDepth: 0
    functionLinenumber: 13435
    functionLinenumberEnd: 13438
    functionName: operator>=(const iter_impl& other) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iter_impl& other) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13446,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13451,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13451,1
    - Dst: std::advance
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13475
      start: 13444
    functionDepth: 4
    functionLinenumber: 13444
    functionLinenumberEnd: 13475
    functionName: '& operator+=(difference_type i)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - std::advance
    - invalid_iterator::create
    - JSON_ASSERT
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator+=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13484
      start: 13481
    functionDepth: 0
    functionLinenumber: 13481
    functionLinenumberEnd: 13484
    functionName: '& operator-=(difference_type i)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl & operator-=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13495
      start: 13490
    functionDepth: 0
    functionLinenumber: 13490
    functionLinenumberEnd: 13495
    functionName: operator+(difference_type i) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator+(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - ' it'
    argTypes:
    - difference_type
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13506
      start: 13501
    functionDepth: 0
    functionLinenumber: 13501
    functionLinenumberEnd: 13506
    functionName: operator+(difference_type i, const iter_impl& it)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: friend
    signature: friend operator+(difference_type i, const iter_impl& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13517
      start: 13512
    functionDepth: 0
    functionLinenumber: 13512
    functionLinenumberEnd: 13517
    functionName: operator-(difference_type i) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iter_impl
    signature: iter_impl operator-(difference_type i) const
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13525,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13530,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - iter_impl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13546
      start: 13523
    functionDepth: 4
    functionLinenumber: 13523
    functionLinenumberEnd: 13546
    functionName: operator-(const iter_impl& other) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - invalid_iterator::create
    - JSON_ASSERT
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iter_impl& other) const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13554,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13559,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13559,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13562,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13565,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13565,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13576,1
    - Dst: primitive_iterator::get_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13576,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13581,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13584
      start: 13552
    functionDepth: 4
    functionLinenumber: 13552
    functionLinenumberEnd: 13584
    functionName: operator[](difference_type n) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - primitive_iterator::get_value
    - std::next
    - JSON_THROW
    - invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type n) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13592,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13594,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13594,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13599,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13600
      start: 13590
    functionDepth: 4
    functionLinenumber: 13590
    functionLinenumberEnd: 13600
    functionName: key
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 25
    functionsReached:
    - is_object
    - JSON_ASSERT
    - JSON_THROW
    - invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: typename object_t::key_type
    signature: typename object_t::key_type & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13609
      start: 13606
    functionDepth: 0
    functionLinenumber: 13606
    functionLinenumberEnd: 13609
    functionName: value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13687,1
    - Dst: base_iterator::operator++
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13687,1
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13693,1
    - Dst: base_iterator::operator++
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13693,1
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13699,1
    - Dst: base_iterator::operator--
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13699,1
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13705,1
    - Dst: base_iterator::operator--
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13705,1
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13711,1
    - Dst: base_iterator::operator+=
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13711,1
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13717,1
    - Dst: base_iterator::operator+
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13717,1
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13723,1
    - Dst: base_iterator::operator-
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13723,1
    - Dst: base_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13729,1
    - Dst: base_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13729,1
    - Dst: std::declval<Base>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13739,1
    - Dst: base
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13741,1
    - Dst: auto::key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13742,1
    - Dst: base
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13748,1
    - Dst: it
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13753
      start: 13641
    functionDepth: 2
    functionLinenumber: 13641
    functionLinenumberEnd: 13753
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - base_iterator::operator-
    - auto::key
    - it
    - base_iterator::operator+=
    - base_iterator::operator+
    - static_cast<json_reverse_iterator>
    - base_iterator
    - base_iterator::operator++
    - base
    - std::declval<Base>
    - static_cast<json_reverse_iterator&>
    - base_iterator::operator--
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - typename base_iterator::iterator_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13679
      start: 13678
    functionDepth: 0
    functionLinenumber: 13678
    functionLinenumberEnd: 13679
    functionName: json_reverse_iterator::json_reverse_iterator
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_reverse_iterator(const typename base_iterator::iterator_type&
      it) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - base_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13682
      start: 13682
    functionDepth: 0
    functionLinenumber: 13682
    functionLinenumberEnd: 13682
    functionName: json_reverse_iterator::json_reverse_iterator
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_reverse_iterator(const base_iterator& it) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13687,1
    - Dst: base_iterator::operator++
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13688
      start: 13685
    functionDepth: 0
    functionLinenumber: 13685
    functionLinenumberEnd: 13688
    functionName: operator++(int)&
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<json_reverse_iterator>
    - base_iterator::operator++
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator++(int)&
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13693,1
    - Dst: base_iterator::operator++
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13694
      start: 13691
    functionDepth: 0
    functionLinenumber: 13691
    functionLinenumberEnd: 13694
    functionName: '& operator++()'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<json_reverse_iterator&>
    - base_iterator::operator++
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13699,1
    - Dst: base_iterator::operator--
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13700
      start: 13697
    functionDepth: 0
    functionLinenumber: 13697
    functionLinenumberEnd: 13700
    functionName: operator--(int)&
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<json_reverse_iterator>
    - base_iterator::operator--
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator--(int)&
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13705,1
    - Dst: base_iterator::operator--
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13706
      start: 13703
    functionDepth: 0
    functionLinenumber: 13703
    functionLinenumberEnd: 13706
    functionName: '& operator--()'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<json_reverse_iterator&>
    - base_iterator::operator--
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13711,1
    - Dst: base_iterator::operator+=
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13712
      start: 13709
    functionDepth: 0
    functionLinenumber: 13709
    functionLinenumberEnd: 13712
    functionName: '& operator+=(difference_type i)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator+=
    - static_cast<json_reverse_iterator&>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator & operator+=(difference_type i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13717,1
    - Dst: base_iterator::operator+
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13718
      start: 13715
    functionDepth: 0
    functionLinenumber: 13715
    functionLinenumberEnd: 13718
    functionName: operator+(difference_type i) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<json_reverse_iterator>
    - base_iterator::operator+
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator+(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<json_reverse_iterator>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13723,1
    - Dst: base_iterator::operator-
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13724
      start: 13721
    functionDepth: 0
    functionLinenumber: 13721
    functionLinenumberEnd: 13724
    functionName: operator-(difference_type i) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator::operator-
    - static_cast<json_reverse_iterator>
    linkageType: ''
    returnType: json_reverse_iterator
    signature: json_reverse_iterator operator-(difference_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13729,1
    - Dst: base_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - json_reverse_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13730
      start: 13727
    functionDepth: 0
    functionLinenumber: 13727
    functionLinenumberEnd: 13730
    functionName: operator-(const json_reverse_iterator& other) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - base_iterator
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const json_reverse_iterator& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13736
      start: 13733
    functionDepth: 0
    functionLinenumber: 13733
    functionLinenumberEnd: 13736
    functionName: operator[](difference_type n) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<Base>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13739,1
    - Dst: json_reverse_iterator::base
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13741,1
    - Dst: auto::key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13743
      start: 13739
    functionDepth: 2
    functionLinenumber: 13739
    functionLinenumberEnd: 13743
    functionName: json_reverse_iterator::key
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - auto::key
    - std::declval<Base>
    - json_reverse_iterator::base
    linkageType: ''
    returnType: auto
    signature: auto key() const -> decltype(std::declval<Base>().key())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_reverse_iterator::base
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13748,1
    - Dst: it
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13750
      start: 13746
    functionDepth: 0
    functionLinenumber: 13746
    functionLinenumberEnd: 13750
    functionName: json_reverse_iterator::value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - it
    - json_reverse_iterator::base
    linkageType: ''
    returnType: reference
    signature: reference value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13797
      start: 13774
    functionDepth: 0
    functionLinenumber: 13774
    functionLinenumberEnd: 13797
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13853
      start: 13835
    functionDepth: 0
    functionLinenumber: 13835
    functionLinenumberEnd: 13853
    functionName: string_t_helper
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN string_t_helper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13859
      start: 13855
    functionDepth: 0
    functionLinenumber: 13855
    functionLinenumberEnd: 13859
    functionName: string_t_helper
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NLOHMANN_BASIC_JSON_TPL_DECLARATION
    signature: NLOHMANN_BASIC_JSON_TPL_DECLARATION string_t_helper<NLOHMANN_BASIC_JSON_TPL>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13869
      start: 13867
    functionDepth: 1
    functionLinenumber: 13867
    functionLinenumberEnd: 13869
    functionName: json_pointer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - split
    linkageType: ''
    returnType: void
    signature: void json_pointer(const string_t& s = "")
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13875,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13875,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13875,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13879,1
    - Dst: escape
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13881
      start: 13873
    functionDepth: 3
    functionLinenumber: 13873
    functionLinenumberEnd: 13881
    functionName: to_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 99
    functionsReached:
    - concat
    - begin
    - end
    - escape
    - std::accumulate
    linkageType: ''
    returnType: string_t
    signature: string_t to_string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13889
      start: 13886
    functionDepth: 4
    functionLinenumber: 13886
    functionLinenumberEnd: 13889
    functionName: operator string_t() const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: void
    signature: void operator string_t() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' o'
    - ' ptr'
    argTypes:
    - std::ostream
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13898
      start: 13894
    functionDepth: 4
    functionLinenumber: 13894
    functionLinenumberEnd: 13898
    functionName: '& operator<<(std::ostream& o, const json_pointer& ptr)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: friend
    signature: friend & operator<<(std::ostream& o, const json_pointer& ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13905,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13905,1
    - Dst: reference_tokens::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13906,1
    - Dst: reference_tokens::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13909
      start: 13903
    functionDepth: 1
    functionLinenumber: 13903
    functionLinenumberEnd: 13909
    functionName: '& operator/=(const json_pointer& ptr)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - end
    - reference_tokens::end
    - insert
    - reference_tokens::begin
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer & operator/=(const json_pointer& ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13915,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - token
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13917
      start: 13913
    functionDepth: 1
    functionLinenumber: 13913
    functionLinenumberEnd: 13917
    functionName: '& operator/=(string_t token)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::move
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer & operator/=(string_t token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - array_idx
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13924
      start: 13921
    functionDepth: 4
    functionLinenumber: 13921
    functionLinenumberEnd: 13924
    functionName: '& operator/=(std::size_t array_idx)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer & operator/=(std::size_t array_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13932
      start: 13928
    functionDepth: 2
    functionLinenumber: 13928
    functionLinenumberEnd: 13932
    functionName: "json_pointer operator/(const json_pointer& lhs,\n                                  const
      json_pointer& rhs)"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_pointer
    linkageType: ''
    returnType: friend
    signature: "friend json_pointer operator/(const json_pointer& lhs,\n                                  const
      json_pointer& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13938,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - token
    argTypes:
    - json_pointer
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13939
      start: 13936
    functionDepth: 2
    functionLinenumber: 13936
    functionLinenumberEnd: 13939
    functionName: json_pointer operator/(const json_pointer& lhs, string_t token)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_pointer
    - std::move
    linkageType: ''
    returnType: friend
    signature: friend json_pointer operator/(const json_pointer& lhs, string_t token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - array_idx
    argTypes:
    - json_pointer
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13946
      start: 13943
    functionDepth: 2
    functionLinenumber: 13943
    functionLinenumberEnd: 13946
    functionName: json_pointer operator/(const json_pointer& lhs, std::size_t array_idx)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_pointer
    linkageType: ''
    returnType: friend
    signature: friend json_pointer operator/(const json_pointer& lhs, std::size_t
      array_idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13952,1
    - Dst: json_pointer::pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13960
      start: 13950
    functionDepth: 1
    functionLinenumber: 13950
    functionLinenumberEnd: 13960
    functionName: parent_pointer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_pointer::pop_back
    - empty
    linkageType: ''
    returnType: json_pointer
    signature: json_pointer parent_pointer() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13966,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13966,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13968,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13968,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13972
      start: 13964
    functionDepth: 4
    functionLinenumber: 13964
    functionLinenumberEnd: 13972
    functionName: pop_back
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 27
    functionsReached:
    - out_of_range::create
    - JSON_HEDLEY_UNLIKELY
    - empty
    - JSON_THROW
    - pop_back
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13978,1
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13978,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13980,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13980,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13984
      start: 13976
    functionDepth: 4
    functionLinenumber: 13976
    functionLinenumberEnd: 13984
    functionName: back
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 300
    functionsReached:
    - out_of_range::create
    - JSON_HEDLEY_UNLIKELY
    - empty
    - back
    - JSON_THROW
    linkageType: ''
    returnType: string_t
    signature: string_t & back() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13991
      start: 13988
    functionDepth: 1
    functionLinenumber: 13988
    functionLinenumberEnd: 13991
    functionName: push_back
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 209
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void push_back(const string_t& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13997,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:13997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13998
      start: 13995
    functionDepth: 1
    functionLinenumber: 13995
    functionLinenumberEnd: 13998
    functionName: push_back
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 210
    functionsReached:
    - push_back
    - std::move
    linkageType: ''
    returnType: void
    signature: void push_back(string_t&& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14005
      start: 14002
    functionDepth: 1
    functionLinenumber: 14002
    functionLinenumberEnd: 14005
    functionName: empty
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 174
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const noexcept
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: auto*::type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14087,1
    - Dst: result
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14094,1
    - Dst: result
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14099,1
    - Dst: result
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14107,1
    - Dst: result
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14114,1
    - Dst: array_index<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14114,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14132,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14137
      start: 14079
    functionDepth: 4
    functionLinenumber: 14079
    functionLinenumberEnd: 14137
    functionName: get_and_create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - type_error::create
    - result
    - array_index<BasicJsonType>
    - auto*::type
    - JSON_THROW
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_and_create(BasicJsonType& j) const
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14164,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14168,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14168,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14168,1
    - Dst: std::isdigit
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14171,1
    - Dst: BasicJsonType*::type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14180,1
    - Dst: ptr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14185,1
    - Dst: ptr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14194,1
    - Dst: BasicJsonType*::m_data::m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14194,1
    - Dst: ptr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14199,1
    - Dst: array_index<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14199,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14213,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14213,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14218
      start: 14159
    functionDepth: 4
    functionLinenumber: 14159
    functionLinenumberEnd: 14218
    functionName: get_unchecked
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - ptr
    - out_of_range::create
    - concat
    - begin
    - end
    - array_index<BasicJsonType>
    - BasicJsonType*::is_null
    - std::all_of
    - BasicJsonType*::m_data::m_value::array::size
    - std::isdigit
    - JSON_THROW
    - BasicJsonType*::type
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_unchecked(BasicJsonType* ptr) const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14231,1
    - Dst: BasicJsonType*::at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14236,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14242,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14245,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14245,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14245,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14246,1
    - Dst: BasicJsonType*::m_data::m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14246,1
    - Dst: BasicJsonType*::at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14251,1
    - Dst: array_index<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14251,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14264,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14264,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14269
      start: 14227
    functionDepth: 4
    functionLinenumber: 14227
    functionLinenumberEnd: 14269
    functionName: get_checked
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - out_of_range::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - array_index<BasicJsonType>
    - BasicJsonType*::at
    - BasicJsonType*::m_data::m_value::array::size
    - JSON_THROW
    - BasicJsonType*::type
    - to_string
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_checked(BasicJsonType* ptr) const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14289,1
    - Dst: ptr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14294,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14300,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14303,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14303,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14303,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14303,1
    - Dst: BasicJsonType*::m_data::m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14303,1
    - Dst: ptr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14307,1
    - Dst: array_index<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14307,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14320,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14320,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14325
      start: 14285
    functionDepth: 4
    functionLinenumber: 14285
    functionLinenumberEnd: 14325
    functionName: get_unchecked
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - ptr
    - out_of_range::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - array_index<BasicJsonType>
    - BasicJsonType*::m_data::m_value::array::size
    - JSON_THROW
    - BasicJsonType*::type
    - to_string
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_unchecked(const BasicJsonType* ptr) const
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14338,1
    - Dst: BasicJsonType*::at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14343,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14349,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14352,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14352,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14352,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14353,1
    - Dst: BasicJsonType*::m_data::m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14353,1
    - Dst: BasicJsonType*::at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14358,1
    - Dst: array_index<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14358,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14371,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14371,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14376
      start: 14334
    functionDepth: 4
    functionLinenumber: 14334
    functionLinenumberEnd: 14376
    functionName: get_checked
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - out_of_range::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - array_index<BasicJsonType>
    - BasicJsonType*::at
    - BasicJsonType*::m_data::m_value::array::size
    - JSON_THROW
    - BasicJsonType*::type
    - to_string
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType & get_checked(const BasicJsonType* ptr) const
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: BasicJsonType*::type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14387,1
    - Dst: BasicJsonType*::contains
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14391,1
    - Dst: ptr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14397,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14403,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14408,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14408,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14413,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14413,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14415,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14420,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14422,1
    - Dst: array_index<BasicJsonType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14430,1
    - Dst: BasicJsonType*::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14431,1
    - Dst: ptr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14437,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BasicJsonType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14460
      start: 14383
    functionDepth: 1
    functionLinenumber: 14383
    functionLinenumberEnd: 14460
    functionName: contains
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - ptr
    - JSON_HEDLEY_UNLIKELY
    - array_index<BasicJsonType>
    - BasicJsonType*::contains
    - size
    - BasicJsonType*::size
    - BasicJsonType*::type
    linkageType: ''
    returnType: bool
    signature: bool contains(const BasicJsonType* ptr) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14476,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14482,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14484,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14484,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14484,1
    - Dst: find_first_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14492,1
    - Dst: find_first_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14501,1
    - Dst: substr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14505,1
    - Dst: auto::find_first_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14508,1
    - Dst: auto::find_first_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14510,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14512,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14515,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14515,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14519,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14519,1
    - Dst: unescape
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14524,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14525,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' reference_string'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14529
      start: 14471
    functionDepth: 4
    functionLinenumber: 14471
    functionLinenumberEnd: 14529
    functionName: split
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - concat
    - find_first_of
    - empty
    - auto::find_first_of
    - substr
    - JSON_ASSERT
    - auto::size
    - unescape
    - std::vector::push_back
    - JSON_THROW
    - parse_error::create
    linkageType: ''
    returnType: std::vector<string_t>
    signature: std::vector<string_t> split(const string_t& reference_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14645
      start: 14640
    functionDepth: 0
    functionLinenumber: 14640
    functionLinenumberEnd: 14645
    functionName: convert
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_pointer<string_t>
    signature: json_pointer<string_t> convert() const&
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14652
      start: 14647
    functionDepth: 0
    functionLinenumber: 14647
    functionLinenumberEnd: 14652
    functionName: convert
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: json_pointer<string_t>
    signature: json_pointer<string_t> convert()&&
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - json_pointer<RefStringTypeRhs>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14662
      start: 14659
    functionDepth: 0
    functionLinenumber: 14659
    functionLinenumberEnd: 14662
    functionName: operator==(const json_pointer<RefStringTypeRhs>& rhs) const noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const json_pointer<RefStringTypeRhs>& rhs) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14670
      start: 14667
    functionDepth: 2
    functionLinenumber: 14667
    functionLinenumberEnd: 14670
    functionName: operator==(const string_t& rhs) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_pointer
    linkageType: ''
    returnType: bool
    signature: bool operator==(const string_t& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - json_pointer<RefStringTypeRhs>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14677
      start: 14674
    functionDepth: 0
    functionLinenumber: 14674
    functionLinenumberEnd: 14677
    functionName: operator<=>(const json_pointer<RefStringTypeRhs>& rhs) const noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::strong_ordering
    signature: std::strong_ordering operator<=>(const json_pointer<RefStringTypeRhs>&
      rhs) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer<RefStringTypeLhs>
    - json_pointer<RefStringTypeRhs>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14740
      start: 14736
    functionDepth: 0
    functionLinenumber: 14736
    functionLinenumberEnd: 14740
    functionName: "operator==(const json_pointer<RefStringTypeLhs>& lhs,\n                       const
      json_pointer<RefStringTypeRhs>& rhs) noexcept"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator==(const json_pointer<RefStringTypeLhs>& lhs,\n                       const
      json_pointer<RefStringTypeRhs>& rhs) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer<RefStringTypeLhs>
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14749
      start: 14745
    functionDepth: 2
    functionLinenumber: 14745
    functionLinenumberEnd: 14749
    functionName: "operator==(const json_pointer<RefStringTypeLhs>& lhs,\n                       const
      StringType& rhs)"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_pointer
    linkageType: ''
    returnType: bool
    signature: "bool operator==(const json_pointer<RefStringTypeLhs>& lhs,\n                       const
      StringType& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - StringType
    - json_pointer<RefStringTypeRhs>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14758
      start: 14754
    functionDepth: 2
    functionLinenumber: 14754
    functionLinenumberEnd: 14758
    functionName: "operator==(const StringType& lhs,\n                       const
      json_pointer<RefStringTypeRhs>& rhs)"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_pointer
    linkageType: ''
    returnType: bool
    signature: "bool operator==(const StringType& lhs,\n                       const
      json_pointer<RefStringTypeRhs>& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer<RefStringTypeLhs>
    - json_pointer<RefStringTypeRhs>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14765
      start: 14761
    functionDepth: 0
    functionLinenumber: 14761
    functionLinenumberEnd: 14765
    functionName: "operator!=(const json_pointer<RefStringTypeLhs>& lhs,\n                       const
      json_pointer<RefStringTypeRhs>& rhs) noexcept"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator!=(const json_pointer<RefStringTypeLhs>& lhs,\n                       const
      json_pointer<RefStringTypeRhs>& rhs) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer<RefStringTypeLhs>
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14774
      start: 14770
    functionDepth: 0
    functionLinenumber: 14770
    functionLinenumberEnd: 14774
    functionName: "operator!=(const json_pointer<RefStringTypeLhs>& lhs,\n                       const
      StringType& rhs)"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator!=(const json_pointer<RefStringTypeLhs>& lhs,\n                       const
      StringType& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - StringType
    - json_pointer<RefStringTypeRhs>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14783
      start: 14779
    functionDepth: 0
    functionLinenumber: 14779
    functionLinenumberEnd: 14783
    functionName: "operator!=(const StringType& lhs,\n                       const
      json_pointer<RefStringTypeRhs>& rhs)"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator!=(const StringType& lhs,\n                       const
      json_pointer<RefStringTypeRhs>& rhs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - json_pointer<RefStringTypeLhs>
    - json_pointer<RefStringTypeRhs>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14790
      start: 14786
    functionDepth: 0
    functionLinenumber: 14786
    functionLinenumberEnd: 14790
    functionName: "operator<(const json_pointer<RefStringTypeLhs>& lhs,\n                      const
      json_pointer<RefStringTypeRhs>& rhs) noexcept"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator<(const json_pointer<RefStringTypeLhs>& lhs,\n                      const
      json_pointer<RefStringTypeRhs>& rhs) noexcept"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14825,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14840,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14854,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14874
      start: 14814
    functionDepth: 0
    functionLinenumber: 14814
    functionLinenumberEnd: 14874
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::forward<Args>
    - std::move
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14826
      start: 14824
    functionDepth: 0
    functionLinenumber: 14824
    functionLinenumberEnd: 14826
    functionName: json_ref::json_ref
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void json_ref(value_type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14830
      start: 14828
    functionDepth: 0
    functionLinenumber: 14828
    functionLinenumberEnd: 14830
    functionName: json_ref::json_ref
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(const value_type& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - init
    argTypes:
    - std::initializer_list<json_ref>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14834
      start: 14832
    functionDepth: 0
    functionLinenumber: 14832
    functionLinenumberEnd: 14834
    functionName: json_ref::json_ref
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(std::initializer_list<json_ref> init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14841
      start: 14839
    functionDepth: 0
    functionLinenumber: 14839
    functionLinenumberEnd: 14841
    functionName: json_ref::json_ref
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void json_ref(Args && ... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14844
      start: 14844
    functionDepth: 0
    functionLinenumber: 14844
    functionLinenumberEnd: 14844
    functionName: json_ref::json_ref
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(json_ref&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14845
      start: 14845
    functionDepth: 0
    functionLinenumber: 14845
    functionLinenumberEnd: 14845
    functionName: json_ref::json_ref
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_ref(const json_ref&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14846
      start: 14846
    functionDepth: 0
    functionLinenumber: 14846
    functionLinenumberEnd: 14846
    functionName: '& operator=(const json_ref&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_ref
    signature: json_ref & operator=(const json_ref&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14847
      start: 14847
    functionDepth: 0
    functionLinenumber: 14847
    functionLinenumberEnd: 14847
    functionName: '& operator=(json_ref&&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: json_ref
    signature: json_ref & operator=(json_ref&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14848
      start: 14848
    functionDepth: 0
    functionLinenumber: 14848
    functionLinenumberEnd: 14848
    functionName: ~json_ref()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~json_ref()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14857
      start: 14850
    functionDepth: 0
    functionLinenumber: 14850
    functionLinenumberEnd: 14857
    functionName: json_ref::moved_or_copied
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: value_type
    signature: value_type moved_or_copied() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14862
      start: 14859
    functionDepth: 0
    functionLinenumber: 14859
    functionLinenumberEnd: 14862
    functionName: '& operator*() const'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: value_type
    signature: value_type & operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14867
      start: 14864
    functionDepth: 0
    functionLinenumber: 14864
    functionLinenumberEnd: 14867
    functionName: '* operator->() const'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: value_type
    signature: value_type * operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14972,1
    - Dst: insert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14978,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14978,1
    - Dst: put
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14997,1
    - Dst: write
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15003,1
    - Dst: static_cast<std::streamsize>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15003,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15022,1
    - Dst: append
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15028,1
    - Dst: std::make_shared<output_vector_adapter<CharType, AllocatorType>>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15041,1
    - Dst: std::make_shared<output_stream_adapter<CharType>>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15045,1
    - Dst: std::make_shared<output_string_adapter<CharType, StringType>>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15049,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15060
      start: 14939
    functionDepth: 2
    functionLinenumber: 14939
    functionLinenumberEnd: 15060
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::make_shared<output_stream_adapter<CharType>>
    - append
    - write
    - put
    - end
    - std::make_shared<output_vector_adapter<CharType, AllocatorType>>
    - insert
    - std::make_shared<output_string_adapter<CharType, StringType>>
    - push_back
    - static_cast<std::streamsize>
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14948
      start: 14948
    functionDepth: 0
    functionLinenumber: 14948
    functionLinenumberEnd: 14948
    functionName: ~output_adapter_protocol()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~output_adapter_protocol()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14950
      start: 14950
    functionDepth: 0
    functionLinenumber: 14950
    functionLinenumberEnd: 14950
    functionName: output_adapter_protocol
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_adapter_protocol()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14951
      start: 14951
    functionDepth: 0
    functionLinenumber: 14951
    functionLinenumberEnd: 14951
    functionName: output_adapter_protocol
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_adapter_protocol(const output_adapter_protocol&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14952
      start: 14952
    functionDepth: 0
    functionLinenumber: 14952
    functionLinenumberEnd: 14952
    functionName: output_adapter_protocol
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_adapter_protocol(output_adapter_protocol&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14953
      start: 14953
    functionDepth: 0
    functionLinenumber: 14953
    functionLinenumberEnd: 14953
    functionName: '& operator=(const output_adapter_protocol&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: output_adapter_protocol
    signature: output_adapter_protocol & operator=(const output_adapter_protocol&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14954
      start: 14954
    functionDepth: 0
    functionLinenumber: 14954
    functionLinenumberEnd: 14954
    functionName: '& operator=(output_adapter_protocol&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: output_adapter_protocol
    signature: output_adapter_protocol & operator=(output_adapter_protocol&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<CharType, AllocatorType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14968
      start: 14966
    functionDepth: 0
    functionLinenumber: 14966
    functionLinenumberEnd: 14968
    functionName: output_vector_adapter::output_vector_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_vector_adapter(std::vector<CharType, AllocatorType>& vec)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14973
      start: 14970
    functionDepth: 2
    functionLinenumber: 14970
    functionLinenumberEnd: 14973
    functionName: output_vector_adapter::write_character
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14978,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14979
      start: 14975
    functionDepth: 1
    functionLinenumber: 14975
    functionLinenumberEnd: 14979
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - end
    - insert
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::basic_ostream<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14993
      start: 14991
    functionDepth: 0
    functionLinenumber: 14991
    functionLinenumberEnd: 14993
    functionName: output_stream_adapter::output_stream_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_stream_adapter(std::basic_ostream<CharType>& s) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:14997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14998
      start: 14995
    functionDepth: 0
    functionLinenumber: 14995
    functionLinenumberEnd: 14998
    functionName: output_stream_adapter::write_character
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - put
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15003,1
    - Dst: static_cast<std::streamsize>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15004
      start: 15000
    functionDepth: 0
    functionLinenumber: 15000
    functionLinenumberEnd: 15004
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - write
    - static_cast<std::streamsize>
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15018
      start: 15016
    functionDepth: 0
    functionLinenumber: 15016
    functionLinenumberEnd: 15018
    functionName: output_string_adapter::output_string_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void output_string_adapter(StringType& s) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15023
      start: 15020
    functionDepth: 2
    functionLinenumber: 15020
    functionLinenumberEnd: 15023
    functionName: output_string_adapter::write_character
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void write_character(CharType c) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - CharType*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15029
      start: 15025
    functionDepth: 0
    functionLinenumber: 15025
    functionLinenumberEnd: 15029
    functionName: "(2)\n    void write_characters(const CharType* s, std::size_t length)
      override"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: "JSON_HEDLEY_NON_NULL (2)\n    void write_characters(const CharType*
      s, std::size_t length) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_vector_adapter<CharType, AllocatorType>>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<CharType, AllocatorType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15041
      start: 15040
    functionDepth: 0
    functionLinenumber: 15040
    functionLinenumberEnd: 15041
    functionName: output_adapter::output_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_vector_adapter<CharType, AllocatorType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(std::vector<CharType, AllocatorType>& vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_stream_adapter<CharType>>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::basic_ostream<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15045
      start: 15044
    functionDepth: 0
    functionLinenumber: 15044
    functionLinenumberEnd: 15045
    functionName: output_adapter::output_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_stream_adapter<CharType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(std::basic_ostream<CharType>& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<output_string_adapter<CharType, StringType>>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - StringType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15049
      start: 15048
    functionDepth: 0
    functionLinenumber: 15048
    functionLinenumberEnd: 15049
    functionName: output_adapter::output_adapter
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::make_shared<output_string_adapter<CharType, StringType>>
    linkageType: ''
    returnType: void
    signature: void output_adapter(StringType& s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15054
      start: 15051
    functionDepth: 0
    functionLinenumber: 15051
    functionLinenumberEnd: 15054
    functionName: operator output_adapter_t<CharType>()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator output_adapter_t<CharType>()
  - BBCount: 242
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15090,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15092,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15101,1
    - Dst: write_bson_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15105,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15120,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15120,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15120,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15120,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15130,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15134,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15134,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15140,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15141,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15142,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15155,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15155,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15159,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15159,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15160,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15160,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15164,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15164,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15165,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15165,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15169,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15169,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15170,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15170,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15174,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15174,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15175,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15175,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15185,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15185,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15189,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15189,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15190,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15190,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15194,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15194,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15195,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15195,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15199,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15199,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15200,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15200,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15204,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15204,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15205,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15205,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15215,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15215,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15219,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15219,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15220,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15220,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15224,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15224,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15225,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15225,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15229,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15229,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15230,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15230,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15234,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15234,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15235,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15235,1
    - Dst: std::isnan
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15242,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15245,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15245,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15246,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15246,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15247,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15247,1
    - Dst: std::isinf
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15249,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15252,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15252,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15253,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15253,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15253,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15254,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15254,1
    - Dst: write_compact_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15258,1
    - Dst: m_data::m_value::string::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15266,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15269,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15269,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15273,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15273,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15274,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15274,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15278,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15278,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15279,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15279,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15283,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15283,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15284,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15284,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15289,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15289,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15290,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15290,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15295,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15296,1
    - Dst: m_data::m_value::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15296,1
    - Dst: m_data::m_value::string::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15297,1
    - Dst: m_data::m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15304,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15307,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15307,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15311,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15311,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15312,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15312,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15316,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15316,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15317,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15317,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15321,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15321,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15322,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15322,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15327,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15327,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15328,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15328,1
    - Dst: write_cbor
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15335,1
    - Dst: m_data::m_value::binary::has_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15342,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15344,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15346,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15346,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15347,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15347,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15347,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15349,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15351,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15351,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15352,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15352,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15352,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15354,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15356,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15356,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15357,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15357,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15357,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15359,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15361,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15361,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15362,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15362,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15362,1
    - Dst: m_data::m_value::binary::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15367,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15370,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15370,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15374,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15374,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15375,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15375,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15379,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15379,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15380,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15380,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15384,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15384,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15385,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15385,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15390,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15390,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15391,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15391,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15396,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15397,1
    - Dst: m_data::m_value::binary::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15397,1
    - Dst: m_data::m_value::object::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15406,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15409,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15409,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15413,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15413,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15414,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15414,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15418,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15418,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15419,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15419,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15423,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15423,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15424,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15424,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15429,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15429,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15430,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15430,1
    - Dst: write_cbor
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15437,1
    - Dst: write_cbor
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15438,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15454,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15458,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15458,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15464,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15465,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15466,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15480,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15480,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15485,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15485,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15486,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15486,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15491,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15491,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15492,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15492,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15497,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15497,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15498,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15498,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15503,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15503,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15504,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15504,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15512,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15512,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15518,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15518,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15519,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15519,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15525,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15525,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15526,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15526,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15532,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15532,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15533,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15533,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15539,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15539,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15540,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15540,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15551,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15551,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15556,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15556,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15557,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15557,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15562,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15562,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15563,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15563,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15568,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15568,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15569,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15569,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15574,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15574,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15575,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15575,1
    - Dst: write_compact_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15582,1
    - Dst: m_data::m_value::string::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15589,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15593,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15593,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15598,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15598,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15599,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15599,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15604,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15604,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15605,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15605,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15610,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15610,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15611,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15611,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15615,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15616,1
    - Dst: m_data::m_value::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15616,1
    - Dst: m_data::m_value::string::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15617,1
    - Dst: m_data::m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15624,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15628,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15628,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15633,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15633,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15634,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15634,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15639,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15639,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15640,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15640,1
    - Dst: write_msgpack
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15646,1
    - Dst: m_data::m_value::binary::has_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15655,1
    - Dst: m_data::m_value::binary::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15658,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15695,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15695,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15698,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15698,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15707,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15707,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15708,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15708,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15716,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15716,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15717,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15717,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15723,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15723,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15723,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15727,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15728,1
    - Dst: m_data::m_value::binary::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15728,1
    - Dst: m_data::m_value::object::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15737,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15741,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15741,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15746,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15746,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15747,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15747,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15752,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15752,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15753,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15753,1
    - Dst: write_msgpack
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15759,1
    - Dst: write_msgpack
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15760,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15782,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15788,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15788,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15797,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15798,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15799,1
    - Dst: write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15806,1
    - Dst: write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15812,1
    - Dst: write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15818,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15826,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15826,1
    - Dst: write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15828,1
    - Dst: m_data::m_value::string::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15828,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15829,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15830,1
    - Dst: m_data::m_value::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15830,1
    - Dst: m_data::m_value::string::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15831,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15839,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15839,1
    - Dst: m_data::m_value::array::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15843,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15845,1
    - Dst: ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15846,1
    - Dst: front
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15846,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15847,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15847,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15847,1
    - Dst: ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15850,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15855,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15855,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15855,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15855,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15858,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15858,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15859,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15865,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15865,1
    - Dst: write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15866,1
    - Dst: m_data::m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15866,1
    - Dst: write_ubjson
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15871,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15876,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15876,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15886,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15886,1
    - Dst: m_data::m_value::binary::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15889,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15891,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15892,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15892,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15893,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15898,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15898,1
    - Dst: write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15899,1
    - Dst: m_data::m_value::binary::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15899,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15904,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15905,1
    - Dst: m_data::m_value::binary::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15905,1
    - Dst: m_data::m_value::binary::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15906,1
    - Dst: m_data::m_value::binary::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15910,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15912,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15912,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15913,1
    - Dst: m_data::m_value::binary::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15913,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15919,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15919,1
    - Dst: m_data::m_value::object::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15927,1
    - Dst: m_data::m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15927,1
    - Dst: m_data::m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15927,1
    - Dst: m_data::m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15927,1
    - Dst: m_data::m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15927,1
    - Dst: m_data::m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15927,1
    - Dst: m_data::m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15927,1
    - Dst: write_bjdata_ndarray
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15929,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15937,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15937,1
    - Dst: m_data::m_value::object::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15941,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15943,1
    - Dst: ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15944,1
    - Dst: front
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15944,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15945,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15945,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15945,1
    - Dst: ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15948,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15953,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15953,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15953,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15953,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15956,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15956,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15957,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15963,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15963,1
    - Dst: write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15964,1
    - Dst: m_data::m_value::object::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15964,1
    - Dst: write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15969,1
    - Dst: first::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15969,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15970,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15971,1
    - Dst: first::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15971,1
    - Dst: first::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15972,1
    - Dst: write_ubjson
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15973,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15978,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15978,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16001,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16001,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16002,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16004,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16004,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16004,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16004,1
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16005,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16008,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16017,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16017,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16018,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16019,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16019,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16020,1
    - Dst: write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16029,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16030,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16030,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16030,1
    - Dst: write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16039,1
    - Dst: write_number<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16040,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16048,1
    - Dst: write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16057,1
    - Dst: write_number<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16059,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16059,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16059,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16060,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16061,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16061,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16062,1
    - Dst: write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16070,1
    - Dst: write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16091,1
    - Dst: write_number<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16092,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16092,1
    - Dst: write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16096,1
    - Dst: write_number<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16097,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16097,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16106,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16117,1
    - Dst: write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16119,1
    - Dst: write_number<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16120,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16120,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16122,1
    - Dst: write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16124,1
    - Dst: write_number<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16125,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16125,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16129,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16129,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16129,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16129,1
    - Dst: write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16139,1
    - Dst: write_bson_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16140,1
    - Dst: std::accumulate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16150,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16150,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16150,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16150,1
    - Dst: calc_bson_element_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16152,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16152,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16163,1
    - Dst: write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16172,1
    - Dst: write_number<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16173,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16173,1
    - Dst: calc_bson_array_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16173,1
    - Dst: write_bson_element
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16179,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16179,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16182,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16182,1
    - Dst: write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16191,1
    - Dst: write_number<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16193,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16193,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16193,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16194,1
    - Dst: has_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16194,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16194,1
    - Dst: subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16194,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16194,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16196,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16196,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16196,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16196,1
    - Dst: calc_bson_entry_header_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16206,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16207,1
    - Dst: calc_bson_object_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16210,1
    - Dst: calc_bson_array_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16213,1
    - Dst: calc_bson_binary_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16216,1
    - Dst: calc_bson_integer_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16225,1
    - Dst: calc_bson_unsigned_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16228,1
    - Dst: calc_bson_string_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16231,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16239,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16254,1
    - Dst: write_bson_object_entry
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16257,1
    - Dst: write_bson_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16260,1
    - Dst: write_bson_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16263,1
    - Dst: write_bson_boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16266,1
    - Dst: write_bson_double
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16269,1
    - Dst: write_bson_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16272,1
    - Dst: write_bson_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16275,1
    - Dst: write_bson_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16278,1
    - Dst: write_bson_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16281,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16286,1
    - Dst: std::accumulate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16300,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16300,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16300,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16300,1
    - Dst: calc_bson_element_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16303,1
    - Dst: write_number<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16315,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16315,1
    - Dst: calc_bson_object_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16315,1
    - Dst: write_bson_element
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16319,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16322,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16322,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16331,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16336,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16345,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16350,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16366,1
    - Dst: get_ubjson_float_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16366,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16368,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16378,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16382,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16382,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16384,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16384,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16390,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16390,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16392,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16392,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16394,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16398,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16398,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16400,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16400,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16402,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16406,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16406,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16408,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16408,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16410,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16414,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16414,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16416,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16416,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16418,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16422,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16422,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16424,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16424,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16426,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16430,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16430,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16432,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16432,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16438,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16438,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16440,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16440,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16446,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16446,1
    - Dst: BasicJsonType
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16449,1
    - Dst: write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16450,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16450,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16451,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16453,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16453,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16453,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16470,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16470,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16472,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16472,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16474,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16474,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16478,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16478,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16480,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16480,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16486,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16486,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16488,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16488,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16490,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16490,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16494,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16494,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16496,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16496,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16502,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16502,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16504,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16504,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16506,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16506,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16510,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16510,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16512,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16512,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16518,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16518,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16520,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16520,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16527,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16527,1
    - Dst: BasicJsonType
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16530,1
    - Dst: write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16531,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16531,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16532,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16534,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16534,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16534,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16545,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16589,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16593,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16597,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16601,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16605,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16609,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16613,1
    - Dst: get_ubjson_float_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16626,1
    - Dst: std::map::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16664,1
    - Dst: static_cast<string_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16664,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16664,1
    - Dst: std::map::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16665,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16672,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16673,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16675,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16679,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16684,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16685,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16686,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16687,1
    - Dst: write_ubjson
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16690,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16690,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16695,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16697,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16697,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16702,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16704,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16704,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16709,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16711,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16711,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16716,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16718,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16718,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16723,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16725,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16725,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16730,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16732,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16732,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16737,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16739,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16739,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16744,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16746,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16746,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16751,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16753,1
    - Dst: static_cast<float>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16753,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16758,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16760,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16760,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16788,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16788,1
    - Dst: std::reverse
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16794,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16794,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16794,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16797,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16797,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16806,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16806,1
    - Dst: std::numeric_limits<float>::lowest
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16806,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16807,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16807,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16808,1
    - Dst: static_cast<float>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16808,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16808,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16810,1
    - Dst: get_cbor_float_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16811,1
    - Dst: static_cast<float>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16811,1
    - Dst: get_msgpack_float_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16812,1
    - Dst: static_cast<float>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16812,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16813,1
    - Dst: static_cast<float>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16813,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16817,1
    - Dst: get_cbor_float_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16818,1
    - Dst: get_msgpack_float_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16819,1
    - Dst: write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16820,1
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16836,1
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16846,1
    - Dst: little_endianness
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16870,1
    CyclomaticComplexity: 275
    EdgeCount: 275
    ICount: 933
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16876
      start: 15061
    functionDepth: 4
    functionLinenumber: 15061
    functionLinenumberEnd: 16876
    functionName: NLOHMANN_JSON_NAMESPACE_BEGIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - write_bson_boolean
    - size
    - at
    - std::isnan
    - std::array::data
    - std::isinf
    - std::array::begin
    - m_data::m_value::string::size
    - calc_bson_object_size
    - m_data::m_value::array::empty
    - static_cast<std::uint64_t>
    - JSON_THROW
    - write_number<std::int32_t>
    - subtype
    - m_data::m_value::object::end
    - write_number<std::int64_t>
    - m_data::m_value::object::size
    - BasicJsonType
    - m_data::m_value::binary::size
    - calc_bson_binary_size
    - write_bson_null
    - first::size
    - std::memcpy
    - c_str
    - calc_bson_unsigned_size
    - write_bson_string
    - get_msgpack_float_prefix
    - std::all_of
    - get_ubjson_float_prefix
    - m_data::m_value::string::c_str
    - little_endianness
    - write_character
    - write_bson_array
    - write_characters
    - m_data::m_value::binary::empty
    - write_cbor
    - calc_bson_integer_size
    - write_bson_integer
    - static_cast<typename string_t::value_type>
    - m_data::m_value::binary::subtype
    - write_bson_element
    - m_data::m_value::binary::data
    - type_error::create
    - data
    - end
    - type_name
    - static_cast<void>
    - write_bson_object
    - m_data::m_value::array::size
    - write_ubjson
    - write_bjdata_ndarray
    - m_data::m_value::object::find
    - reinterpret_cast<const CharType*>
    - first::c_str
    - to_char_type
    - write_bson_object_entry
    - write_bson_binary
    - calc_bson_array_size
    - write_msgpack
    - std::accumulate
    - std::array::end
    - static_cast<uint16_t>
    - static_cast<string_t>
    - JSON_HEDLEY_UNLIKELY
    - write_number_with_ubjson_prefix
    - front
    - std::numeric_limits<float>::lowest
    - auto::size
    - static_cast<std::size_t>
    - std::vector::end
    - static_cast<std::uint16_t>
    - calc_bson_string_size
    - m_data::m_value::object::empty
    - type
    - m_data::m_value::binary::has_subtype
    - calc_bson_element_size
    - std::reverse
    - reinterpret_cast<char*>
    - write_compact_float
    - has_subtype
    - static_cast<double>
    - static_cast<std::uint8_t>
    - static_cast<float>
    - JSON_ASSERT
    - static_cast<std::int64_t>
    - write_bson_unsigned
    - find
    - static_cast<std::uint32_t>
    - static_cast<std::int16_t>
    - static_cast<std::int32_t>
    - out_of_range::create
    - to_string
    - get_cbor_float_prefix
    - concat
    - begin
    - static_cast<uint64_t>
    - calc_bson_entry_header_size
    - write_bson_double
    - write_number
    - std::map::find
    - ubjson_prefix
    - std::map::end
    - std::vector::begin
    - write_number<double>
    - static_cast<uint32_t>
    - static_cast<std::int8_t>
    - write_bson_entry_header
    - std::move
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_END
    signature: NLOHMANN_JSON_NAMESPACE_END NLOHMANN_JSON_NAMESPACE_BEGIN
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15090,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adapter
    argTypes:
    - output_adapter_t<CharType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15093
      start: 15090
    functionDepth: 1
    functionLinenumber: 15090
    functionLinenumberEnd: 15093
    functionName: binary_writer::binary_writer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    - std::move
    linkageType: ''
    returnType: void
    signature: void binary_writer(output_adapter_t<CharType> adapter)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15101,1
    - Dst: binary_writer::write_bson_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15105,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15120,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15120,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15120,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15123
      start: 15099
    functionDepth: 4
    functionLinenumber: 15099
    functionLinenumberEnd: 15123
    functionName: binary_writer::write_bson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - type_error::create
    - concat
    - type_name
    - binary_writer::write_bson_object
    - type
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void write_bson(const BasicJsonType& j)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15130,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15134,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15134,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15140,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15141,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15142,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15155,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15155,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15159,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15159,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15160,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15160,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15164,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15164,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15165,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15165,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15169,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15169,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15170,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15170,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15174,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15174,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15175,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15175,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15185,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15185,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15189,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15189,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15190,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15190,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15194,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15194,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15195,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15195,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15199,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15199,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15200,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15200,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15204,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15204,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15205,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15205,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15215,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15215,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15219,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15219,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15220,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15220,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15224,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15224,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15225,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15225,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15229,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15229,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15230,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15230,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15234,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15234,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15235,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15235,1
    - Dst: std::isnan
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15242,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15245,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15245,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15246,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15246,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15247,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15247,1
    - Dst: std::isinf
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15249,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15252,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15252,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15253,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15253,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15253,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15254,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15254,1
    - Dst: binary_writer::write_compact_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15258,1
    - Dst: m_data::m_value::string::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15266,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15269,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15269,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15273,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15273,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15274,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15274,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15278,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15278,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15279,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15279,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15283,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15283,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15284,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15284,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15289,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15289,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15290,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15290,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15295,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15296,1
    - Dst: m_data::m_value::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15296,1
    - Dst: m_data::m_value::string::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15297,1
    - Dst: m_data::m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15304,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15307,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15307,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15311,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15311,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15312,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15312,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15316,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15316,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15317,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15317,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15321,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15321,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15322,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15322,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15327,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15327,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15328,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15328,1
    - Dst: binary_writer::write_cbor
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15335,1
    - Dst: m_data::m_value::binary::has_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15342,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15344,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15346,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15346,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15347,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15347,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15347,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15349,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15351,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15351,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15352,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15352,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15352,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15354,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15356,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15356,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15357,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15357,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15357,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15359,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15361,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15361,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15362,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15362,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15362,1
    - Dst: m_data::m_value::binary::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15367,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15370,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15370,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15374,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15374,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15375,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15375,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15379,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15379,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15380,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15380,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15384,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15384,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15385,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15385,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15390,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15390,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15391,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15391,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15396,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15397,1
    - Dst: m_data::m_value::binary::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15397,1
    - Dst: m_data::m_value::object::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15406,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15409,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15409,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15413,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15413,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15414,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15414,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15418,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15418,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15419,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15419,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15423,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15423,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15424,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15424,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15429,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15429,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15430,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15430,1
    - Dst: binary_writer::write_cbor
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15437,1
    - Dst: binary_writer::write_cbor
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15438,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 205
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15447
      start: 15128
    functionDepth: 1
    functionLinenumber: 15128
    functionLinenumberEnd: 15447
    functionName: binary_writer::write_cbor
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - m_data::m_value::array::size
    - std::isnan
    - std::isinf
    - static_cast<std::uint8_t>
    - m_data::m_value::string::size
    - reinterpret_cast<const CharType*>
    - m_data::m_value::string::c_str
    - binary_writer::write_cbor
    - static_cast<std::uint64_t>
    - write_character
    - write_characters
    - static_cast<std::uint32_t>
    - binary_writer::write_compact_float
    - binary_writer::to_char_type
    - m_data::m_value::object::size
    - static_cast<std::uint16_t>
    - m_data::m_value::binary::subtype
    - type
    - m_data::m_value::binary::has_subtype
    - m_data::m_value::binary::size
    - m_data::m_value::binary::data
    - binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: void write_cbor(const BasicJsonType& j)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15454,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15458,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15458,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15464,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15465,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15466,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15480,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15480,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15485,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15485,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15486,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15486,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15491,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15491,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15492,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15492,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15497,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15497,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15498,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15498,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15503,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15503,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15504,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15504,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15512,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15512,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15518,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15518,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15519,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15519,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15525,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15525,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15526,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15526,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15532,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15532,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15533,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15533,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15539,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15539,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15540,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15540,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15551,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15551,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15556,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15556,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15557,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15557,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15562,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15562,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15563,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15563,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15568,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15568,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15569,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15569,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15574,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15574,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15575,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15575,1
    - Dst: binary_writer::write_compact_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15582,1
    - Dst: m_data::m_value::string::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15589,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15593,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15593,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15598,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15598,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15599,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15599,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15604,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15604,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15605,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15605,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15610,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15610,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15611,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15611,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15615,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15616,1
    - Dst: m_data::m_value::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15616,1
    - Dst: m_data::m_value::string::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15617,1
    - Dst: m_data::m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15624,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15628,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15628,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15633,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15633,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15634,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15634,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15639,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15639,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15640,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15640,1
    - Dst: binary_writer::write_msgpack
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15646,1
    - Dst: m_data::m_value::binary::has_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15655,1
    - Dst: m_data::m_value::binary::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15658,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15695,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15695,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15698,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15698,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15707,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15707,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15708,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15708,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15716,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15716,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15717,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15717,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15723,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15723,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15723,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15727,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15728,1
    - Dst: m_data::m_value::binary::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15728,1
    - Dst: m_data::m_value::object::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15737,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15741,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15741,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15746,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15746,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15747,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15747,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15752,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15752,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15753,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15753,1
    - Dst: binary_writer::write_msgpack
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15759,1
    - Dst: binary_writer::write_msgpack
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15760,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 183
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15769
      start: 15452
    functionDepth: 1
    functionLinenumber: 15452
    functionLinenumberEnd: 15769
    functionName: binary_writer::write_msgpack
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - m_data::m_value::array::size
    - binary_writer::write_msgpack
    - static_cast<std::uint8_t>
    - m_data::m_value::string::size
    - reinterpret_cast<const CharType*>
    - static_cast<std::int64_t>
    - m_data::m_value::string::c_str
    - static_cast<std::uint64_t>
    - write_character
    - write_characters
    - static_cast<std::uint32_t>
    - static_cast<std::int32_t>
    - static_cast<std::int16_t>
    - binary_writer::write_compact_float
    - binary_writer::to_char_type
    - m_data::m_value::object::size
    - static_cast<std::uint16_t>
    - m_data::m_value::binary::subtype
    - type
    - static_cast<std::int8_t>
    - m_data::m_value::binary::has_subtype
    - m_data::m_value::binary::size
    - m_data::m_value::binary::data
    - binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: void write_msgpack(const BasicJsonType& j)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15782,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15788,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15788,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15797,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15798,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15799,1
    - Dst: binary_writer::write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15806,1
    - Dst: binary_writer::write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15812,1
    - Dst: binary_writer::write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15818,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15826,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15826,1
    - Dst: binary_writer::write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15828,1
    - Dst: m_data::m_value::string::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15828,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15829,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15830,1
    - Dst: m_data::m_value::string::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15830,1
    - Dst: m_data::m_value::string::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15831,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15839,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15839,1
    - Dst: m_data::m_value::array::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15843,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15845,1
    - Dst: binary_writer::ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15846,1
    - Dst: front
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15846,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15847,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15847,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15847,1
    - Dst: binary_writer::ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15850,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15855,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15855,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15855,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15855,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15858,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15858,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15859,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15865,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15865,1
    - Dst: binary_writer::write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15866,1
    - Dst: m_data::m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15866,1
    - Dst: binary_writer::write_ubjson
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15871,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15876,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15876,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15886,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15886,1
    - Dst: m_data::m_value::binary::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15889,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15891,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15892,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15892,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15893,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15898,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15898,1
    - Dst: binary_writer::write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15899,1
    - Dst: m_data::m_value::binary::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15899,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15904,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15905,1
    - Dst: m_data::m_value::binary::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15905,1
    - Dst: m_data::m_value::binary::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15906,1
    - Dst: m_data::m_value::binary::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15910,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15912,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15912,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15913,1
    - Dst: m_data::m_value::binary::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15913,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15919,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15919,1
    - Dst: m_data::m_value::object::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15927,1
    - Dst: m_data::m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15927,1
    - Dst: m_data::m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15927,1
    - Dst: m_data::m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15927,1
    - Dst: m_data::m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15927,1
    - Dst: m_data::m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15927,1
    - Dst: m_data::m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15927,1
    - Dst: binary_writer::write_bjdata_ndarray
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15929,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15937,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15937,1
    - Dst: m_data::m_value::object::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15941,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15943,1
    - Dst: binary_writer::ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15944,1
    - Dst: front
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15944,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15945,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15945,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15945,1
    - Dst: binary_writer::ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15948,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15953,1
    - Dst: std::vector::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15953,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15953,1
    - Dst: std::vector::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15953,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15956,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15956,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15957,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15963,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15963,1
    - Dst: binary_writer::write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15964,1
    - Dst: m_data::m_value::object::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15964,1
    - Dst: binary_writer::write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15969,1
    - Dst: first::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15969,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15970,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15971,1
    - Dst: first::c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15971,1
    - Dst: first::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15972,1
    - Dst: binary_writer::write_ubjson
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15973,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15978,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:15978,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 121
    argCount: 3
    argNames:
    - ' j'
    - use_count
    - use_type
    argTypes:
    - BasicJsonType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15988
      start: 15778
    functionDepth: 2
    functionLinenumber: 15778
    functionLinenumberEnd: 15988
    functionName: binary_writer::write_ubjson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer::write_bjdata_ndarray
    - end
    - m_data::m_value::array::size
    - first::size
    - m_data::m_value::object::find
    - m_data::m_value::string::size
    - reinterpret_cast<const CharType*>
    - first::c_str
    - binary_writer::write_number_with_ubjson_prefix
    - JSON_ASSERT
    - std::all_of
    - m_data::m_value::string::c_str
    - m_data::m_value::array::empty
    - find
    - write_character
    - write_characters
    - m_data::m_value::binary::empty
    - begin
    - front
    - binary_writer::to_char_type
    - m_data::m_value::object::end
    - std::vector::end
    - m_data::m_value::object::size
    - std::vector::begin
    - m_data::m_value::object::empty
    - type
    - binary_writer::write_ubjson
    - m_data::m_value::binary::size
    - m_data::m_value::binary::data
    - binary_writer::ubjson_prefix
    linkageType: ''
    returnType: void
    signature: "void write_ubjson(const BasicJsonType& j, const bool use_count,\n
      \                     const bool use_type, const bool add_prefix = true,\n                      const
      bool use_bjdata = false)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16001,1
    - Dst: static_cast<typename string_t::value_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16001,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16002,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16004,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16004,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16004,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16004,1
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16005,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' name'
    - ' j'
    argTypes:
    - string_t
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16009
      start: 15999
    functionDepth: 4
    functionLinenumber: 15999
    functionLinenumberEnd: 16009
    functionName: binary_writer::calc_bson_entry_header_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - out_of_range::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - static_cast<void>
    - static_cast<typename string_t::value_type>
    - size
    - find
    - JSON_THROW
    - to_string
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_entry_header_size(const string_t& name, const
      BasicJsonType& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16017,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16017,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16018,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16019,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16019,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - element_type
    argTypes:
    - string_t
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16021
      start: 16014
    functionDepth: 1
    functionLinenumber: 16014
    functionLinenumberEnd: 16021
    functionName: binary_writer::write_bson_entry_header
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const CharType*>
    - binary_writer::to_char_type
    - size
    - write_character
    - write_characters
    - c_str
    linkageType: ''
    returnType: void
    signature: "void write_bson_entry_header(const string_t& name,\n                                 const
      std::uint8_t element_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer::write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16029,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16030,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16030,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16031
      start: 16026
    functionDepth: 2
    functionLinenumber: 16026
    functionLinenumberEnd: 16031
    functionName: binary_writer::write_bson_boolean
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer::write_bson_entry_header
    - binary_writer::to_char_type
    - write_character
    linkageType: ''
    returnType: void
    signature: "void write_bson_boolean(const string_t& name,\n                            const
      bool value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer::write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16039,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16041
      start: 16036
    functionDepth: 2
    functionLinenumber: 16036
    functionLinenumberEnd: 16041
    functionName: binary_writer::write_bson_double
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer::write_bson_entry_header
    - binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: "void write_bson_double(const string_t& name,\n                           const
      double value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16049
      start: 16046
    functionDepth: 1
    functionLinenumber: 16046
    functionLinenumberEnd: 16049
    functionName: binary_writer::calc_bson_string_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_string_size(const string_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer::write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16057,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16059,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16059,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16059,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16060,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16061,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16061,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16063
      start: 16054
    functionDepth: 2
    functionLinenumber: 16054
    functionLinenumberEnd: 16063
    functionName: binary_writer::write_bson_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const CharType*>
    - binary_writer::write_bson_entry_header
    - c_str
    - size
    - write_characters
    - binary_writer::write_number
    - static_cast<std::int32_t>
    linkageType: ''
    returnType: void
    signature: "void write_bson_string(const string_t& name,\n                           const
      string_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer::write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' name'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16071
      start: 16068
    functionDepth: 2
    functionLinenumber: 16068
    functionLinenumberEnd: 16071
    functionName: binary_writer::write_bson_null
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer::write_bson_entry_header
    linkageType: ''
    returnType: void
    signature: void write_bson_null(const string_t& name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16081
      start: 16076
    functionDepth: 0
    functionLinenumber: 16076
    functionLinenumberEnd: 16081
    functionName: binary_writer::calc_bson_integer_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_integer_size(const std::int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer::write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16091,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16092,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16092,1
    - Dst: binary_writer::write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16096,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16097,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' name'
    - value
    argTypes:
    - string_t
    - std::int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16099
      start: 16086
    functionDepth: 2
    functionLinenumber: 16086
    functionLinenumberEnd: 16099
    functionName: binary_writer::write_bson_integer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer::write_bson_entry_header
    - static_cast<std::int32_t>
    - binary_writer::write_number
    - static_cast<std::int64_t>
    linkageType: ''
    returnType: void
    signature: "void write_bson_integer(const string_t& name,\n                            const
      std::int64_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16109
      start: 16104
    functionDepth: 0
    functionLinenumber: 16104
    functionLinenumberEnd: 16109
    functionName: binary_writer::calc_bson_unsigned_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<std::uint64_t>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_unsigned_size(const std::uint64_t value) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16117,1
    - Dst: binary_writer::write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16119,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16120,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16120,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16122,1
    - Dst: binary_writer::write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16124,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16125,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16125,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16129,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16129,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16129,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' name'
    - ' j'
    argTypes:
    - string_t
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16131
      start: 16114
    functionDepth: 4
    functionLinenumber: 16114
    functionLinenumberEnd: 16131
    functionName: binary_writer::write_bson_unsigned
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - out_of_range::create
    - concat
    - binary_writer::write_bson_entry_header
    - static_cast<std::int64_t>
    - static_cast<std::uint64_t>
    - JSON_THROW
    - binary_writer::write_number
    - static_cast<std::int32_t>
    - to_string
    linkageType: ''
    returnType: void
    signature: "void write_bson_unsigned(const string_t& name,\n                             const
      BasicJsonType& j)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer::write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16139,1
    - Dst: binary_writer::write_bson_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16141
      start: 16136
    functionDepth: 2
    functionLinenumber: 16136
    functionLinenumberEnd: 16141
    functionName: binary_writer::write_bson_object_entry
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer::write_bson_entry_header
    - binary_writer::write_bson_object
    linkageType: ''
    returnType: void
    signature: "void write_bson_object_entry(const string_t& name,\n                                 const
      typename BasicJsonType::object_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16150,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16150,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16150,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16150,1
    - Dst: binary_writer::calc_bson_element_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16152,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16156
      start: 16146
    functionDepth: 4
    functionLinenumber: 16146
    functionLinenumberEnd: 16156
    functionName: binary_writer::calc_bson_array_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - begin
    - end
    - to_string
    - std::accumulate
    - binary_writer::calc_bson_element_size
    - static_cast<std::size_t>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_array_size(const typename BasicJsonType::array_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16164
      start: 16161
    functionDepth: 1
    functionLinenumber: 16161
    functionLinenumberEnd: 16164
    functionName: binary_writer::calc_bson_binary_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_binary_size(const typename BasicJsonType::binary_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer::write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16172,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16173,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16173,1
    - Dst: binary_writer::calc_bson_array_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16173,1
    - Dst: binary_writer::write_bson_element
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16179,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16179,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16182,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - typename BasicJsonType::array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16183
      start: 16169
    functionDepth: 5
    functionLinenumber: 16169
    functionLinenumberEnd: 16183
    functionName: binary_writer::write_bson_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer::write_bson_entry_header
    - binary_writer::write_bson_element
    - binary_writer::to_char_type
    - binary_writer::calc_bson_array_size
    - write_character
    - binary_writer::write_number
    - static_cast<std::int32_t>
    - to_string
    linkageType: ''
    returnType: void
    signature: "void write_bson_array(const string_t& name,\n                          const
      typename BasicJsonType::array_t& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer::write_bson_entry_header
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16191,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16193,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16193,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16193,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16194,1
    - Dst: has_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16194,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16194,1
    - Dst: subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16194,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16194,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16196,1
    - Dst: reinterpret_cast<const CharType*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16196,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16196,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' name'
    - ' value'
    argTypes:
    - string_t
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16197
      start: 16188
    functionDepth: 2
    functionLinenumber: 16188
    functionLinenumberEnd: 16197
    functionName: binary_writer::write_bson_binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const CharType*>
    - data
    - has_subtype
    - subtype
    - binary_writer::write_bson_entry_header
    - size
    - write_characters
    - binary_writer::write_number
    - static_cast<std::int32_t>
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: "void write_bson_binary(const string_t& name,\n                           const
      binary_t& value)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer::calc_bson_entry_header_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16206,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16207,1
    - Dst: binary_writer::calc_bson_object_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16210,1
    - Dst: binary_writer::calc_bson_array_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16213,1
    - Dst: binary_writer::calc_bson_binary_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16216,1
    - Dst: binary_writer::calc_bson_integer_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16225,1
    - Dst: binary_writer::calc_bson_unsigned_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16228,1
    - Dst: binary_writer::calc_bson_string_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16231,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - ' name'
    - ' j'
    argTypes:
    - string_t
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16243
      start: 16203
    functionDepth: 5
    functionLinenumber: 16203
    functionLinenumberEnd: 16243
    functionName: binary_writer::calc_bson_element_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer::calc_bson_string_size
    - JSON_ASSERT
    - binary_writer::calc_bson_object_size
    - binary_writer::calc_bson_integer_size
    - binary_writer::calc_bson_binary_size
    - type
    - binary_writer::calc_bson_array_size
    - binary_writer::calc_bson_unsigned_size
    - binary_writer::calc_bson_entry_header_size
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t calc_bson_element_size(const string_t& name,\n            const
      BasicJsonType& j)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16254,1
    - Dst: binary_writer::write_bson_object_entry
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16257,1
    - Dst: binary_writer::write_bson_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16260,1
    - Dst: binary_writer::write_bson_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16263,1
    - Dst: binary_writer::write_bson_boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16266,1
    - Dst: binary_writer::write_bson_double
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16269,1
    - Dst: binary_writer::write_bson_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16272,1
    - Dst: binary_writer::write_bson_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16275,1
    - Dst: binary_writer::write_bson_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16278,1
    - Dst: binary_writer::write_bson_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16281,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - ' name'
    - ' j'
    argTypes:
    - string_t
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16290
      start: 16251
    functionDepth: 6
    functionLinenumber: 16251
    functionLinenumberEnd: 16290
    functionName: binary_writer::write_bson_element
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer::write_bson_unsigned
    - binary_writer::write_bson_integer
    - binary_writer::write_bson_double
    - JSON_ASSERT
    - binary_writer::write_bson_null
    - binary_writer::write_bson_binary
    - type
    - binary_writer::write_bson_string
    - binary_writer::write_bson_boolean
    - binary_writer::write_bson_array
    - binary_writer::write_bson_object_entry
    linkageType: ''
    returnType: void
    signature: "void write_bson_element(const string_t& name,\n                            const
      BasicJsonType& j)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::accumulate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16300,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16300,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16300,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16300,1
    - Dst: binary_writer::calc_bson_element_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16307
      start: 16298
    functionDepth: 6
    functionLinenumber: 16298
    functionLinenumberEnd: 16307
    functionName: binary_writer::calc_bson_object_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - begin
    - end
    - std::accumulate
    - binary_writer::calc_bson_element_size
    - static_cast<std::size_t>
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t calc_bson_object_size(const typename BasicJsonType::object_t&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16315,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16315,1
    - Dst: binary_writer::calc_bson_object_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16315,1
    - Dst: binary_writer::write_bson_element
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16319,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16322,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename BasicJsonType::object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16323
      start: 16313
    functionDepth: 7
    functionLinenumber: 16313
    functionLinenumberEnd: 16323
    functionName: binary_writer::write_bson_object
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - binary_writer::write_bson_element
    - binary_writer::to_char_type
    - binary_writer::calc_bson_object_size
    - write_character
    - binary_writer::write_number
    - static_cast<std::int32_t>
    linkageType: ''
    returnType: void
    signature: void write_bson_object(const typename BasicJsonType::object_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16332
      start: 16329
    functionDepth: 1
    functionLinenumber: 16329
    functionLinenumberEnd: 16332
    functionName: binary_writer::get_cbor_float_prefix
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_cbor_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16337
      start: 16334
    functionDepth: 1
    functionLinenumber: 16334
    functionLinenumberEnd: 16337
    functionName: binary_writer::get_cbor_float_prefix
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_cbor_float_prefix(double /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16346
      start: 16343
    functionDepth: 1
    functionLinenumber: 16343
    functionLinenumberEnd: 16346
    functionName: binary_writer::get_msgpack_float_prefix
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_msgpack_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16351
      start: 16348
    functionDepth: 1
    functionLinenumber: 16348
    functionLinenumberEnd: 16351
    functionName: binary_writer::get_msgpack_float_prefix
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer::to_char_type
    linkageType: ''
    returnType: CharType
    signature: CharType get_msgpack_float_prefix(double /*unused*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16366,1
    - Dst: binary_writer::get_ubjson_float_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16366,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - n
    - add_prefix
    - use_bjdata
    argTypes:
    - NumberType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16369
      start: 16360
    functionDepth: 1
    functionLinenumber: 16360
    functionLinenumberEnd: 16369
    functionName: binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer::get_ubjson_float_prefix
    - binary_writer::write_number
    - write_character
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix,\n                                         const bool use_bjdata)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16378,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16382,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16382,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16384,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16384,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16390,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16390,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16392,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16392,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16394,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16398,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16398,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16400,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16400,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16402,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16406,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16406,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16408,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16408,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16410,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16414,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16414,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16416,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16416,1
    - Dst: static_cast<uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16418,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16422,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16422,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16424,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16424,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16426,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16430,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16430,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16432,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16432,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16438,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16438,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16440,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16440,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16446,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16446,1
    - Dst: BasicJsonType
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16449,1
    - Dst: binary_writer::write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16450,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16450,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16451,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16453,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16453,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16453,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 3
    argNames:
    - n
    - add_prefix
    - use_bjdata
    argTypes:
    - NumberType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16456
      start: 16374
    functionDepth: 1
    functionLinenumber: 16374
    functionLinenumberEnd: 16456
    functionName: binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<std::int32_t>
    - binary_writer::write_number_with_ubjson_prefix
    - static_cast<uint64_t>
    - BasicJsonType
    - binary_writer::to_char_type
    - static_cast<std::uint16_t>
    - static_cast<std::int64_t>
    - auto::size
    - static_cast<std::uint64_t>
    - write_character
    - static_cast<std::uint32_t>
    - binary_writer::write_number
    - static_cast<std::int16_t>
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix,\n                                         const bool use_bjdata)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16470,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16470,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16472,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16472,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16474,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16474,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16478,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16478,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16480,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16480,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16486,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16486,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16488,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16488,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16490,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16490,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16494,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16494,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16496,1
    - Dst: static_cast<uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16496,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16502,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16502,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16504,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16504,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16506,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16506,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16510,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16510,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16512,1
    - Dst: static_cast<uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16512,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16518,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16518,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16520,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16520,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16527,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16527,1
    - Dst: BasicJsonType
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16530,1
    - Dst: binary_writer::write_number_with_ubjson_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16531,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16531,1
    - Dst: auto::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16532,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16534,1
    - Dst: binary_writer::to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16534,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16534,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 51
    argCount: 3
    argNames:
    - n
    - add_prefix
    - use_bjdata
    argTypes:
    - NumberType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16538
      start: 16462
    functionDepth: 1
    functionLinenumber: 16462
    functionLinenumberEnd: 16538
    functionName: binary_writer::write_number_with_ubjson_prefix
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - static_cast<std::int32_t>
    - binary_writer::write_number_with_ubjson_prefix
    - BasicJsonType
    - binary_writer::to_char_type
    - static_cast<std::int64_t>
    - auto::size
    - static_cast<uint32_t>
    - static_cast<std::int8_t>
    - write_character
    - binary_writer::write_number
    - static_cast<uint16_t>
    - static_cast<std::int16_t>
    - static_cast<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: "void write_number_with_ubjson_prefix(const NumberType n,\n                                         const
      bool add_prefix,\n                                         const bool use_bjdata)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16545,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16589,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16593,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16597,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16601,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16605,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16609,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16613,1
    - Dst: binary_writer::get_ubjson_float_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16626,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 70
    argCount: 2
    argNames:
    - ' j'
    - use_bjdata
    argTypes:
    - BasicJsonType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16642
      start: 16543
    functionDepth: 1
    functionLinenumber: 16543
    functionLinenumberEnd: 16642
    functionName: binary_writer::ubjson_prefix
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer::get_ubjson_float_prefix
    - type
    - static_cast<std::uint64_t>
    linkageType: ''
    returnType: CharType
    signature: CharType ubjson_prefix(const BasicJsonType& j, const bool use_bjdata)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16647
      start: 16644
    functionDepth: 0
    functionLinenumber: 16644
    functionLinenumberEnd: 16647
    functionName: binary_writer::get_ubjson_float_prefix
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType get_ubjson_float_prefix(float /*unused*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16652
      start: 16649
    functionDepth: 0
    functionLinenumber: 16649
    functionLinenumberEnd: 16652
    functionName: binary_writer::get_ubjson_float_prefix
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType get_ubjson_float_prefix(double /*unused*/)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: std::map::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16664,1
    - Dst: static_cast<string_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16664,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16664,1
    - Dst: std::map::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16665,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16672,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16673,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16675,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16679,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16684,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16685,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16686,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16687,1
    - Dst: binary_writer::write_ubjson
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16690,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16690,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16695,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16697,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16697,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16702,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16704,1
    - Dst: static_cast<std::int8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16704,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16709,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16711,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16711,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16716,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16718,1
    - Dst: static_cast<std::int16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16718,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16723,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16725,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16725,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16730,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16732,1
    - Dst: static_cast<std::int32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16732,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16737,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16739,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16739,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16744,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16746,1
    - Dst: static_cast<std::int64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16746,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16751,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16753,1
    - Dst: static_cast<float>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16753,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16758,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16760,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16760,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 3
    argNames:
    - ' value'
    - use_count
    - use_type
    argTypes:
    - typename BasicJsonType::object_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16764
      start: 16657
    functionDepth: 3
    functionLinenumber: 16657
    functionLinenumberEnd: 16764
    functionName: binary_writer::write_bjdata_ndarray
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::map::end
    - static_cast<float>
    - static_cast<std::int32_t>
    - static_cast<std::uint8_t>
    - static_cast<double>
    - static_cast<std::uint16_t>
    - static_cast<std::int64_t>
    - at
    - static_cast<std::int16_t>
    - binary_writer::write_ubjson
    - write_character
    - static_cast<std::int8_t>
    - static_cast<std::uint64_t>
    - static_cast<std::uint32_t>
    - binary_writer::write_number
    - static_cast<string_t>
    - std::map::find
    - static_cast<std::size_t>
    linkageType: ''
    returnType: bool
    signature: bool write_bjdata_ndarray(const typename BasicJsonType::object_t& value,
      const bool use_count, const bool use_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16788,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16788,1
    - Dst: std::reverse
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16794,1
    - Dst: std::array::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16794,1
    - Dst: std::array::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16794,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16797,1
    - Dst: std::array::data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16798
      start: 16784
    functionDepth: 1
    functionLinenumber: 16784
    functionLinenumberEnd: 16798
    functionName: binary_writer::write_number
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 13
    functionsReached:
    - write_characters
    - std::array::data
    - std::reverse
    - std::array::end
    - std::memcpy
    - std::array::begin
    linkageType: ''
    returnType: void
    signature: void write_number(const NumberType n, const bool OutputIsLittleEndian
      = false)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16806,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16806,1
    - Dst: std::numeric_limits<float>::lowest
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16806,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16807,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16807,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16808,1
    - Dst: static_cast<float>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16808,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16808,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16810,1
    - Dst: binary_writer::get_cbor_float_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16811,1
    - Dst: static_cast<float>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16811,1
    - Dst: binary_writer::get_msgpack_float_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16812,1
    - Dst: static_cast<float>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16812,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16813,1
    - Dst: static_cast<float>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16813,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16817,1
    - Dst: binary_writer::get_cbor_float_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16818,1
    - Dst: binary_writer::get_msgpack_float_prefix
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16819,1
    - Dst: binary_writer::write_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - n
    - format
    argTypes:
    - number_float_t
    - detail::input_format_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16825
      start: 16800
    functionDepth: 2
    functionLinenumber: 16800
    functionLinenumberEnd: 16825
    functionName: binary_writer::write_compact_float
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<float>
    - binary_writer::get_cbor_float_prefix
    - std::numeric_limits<float>::lowest
    - static_cast<double>
    - binary_writer::get_msgpack_float_prefix
    - write_character
    - binary_writer::write_number
    linkageType: ''
    returnType: void
    signature: void write_compact_float(const number_float_t n, detail::input_format_t
      format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16837
      start: 16834
    functionDepth: 0
    functionLinenumber: 16834
    functionLinenumberEnd: 16837
    functionName: binary_writer::to_char_type
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 13
    functionsReached:
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16848
      start: 16841
    functionDepth: 0
    functionLinenumber: 16841
    functionLinenumberEnd: 16848
    functionName: binary_writer::to_char_type
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 13
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16855
      start: 16852
    functionDepth: 0
    functionLinenumber: 16852
    functionLinenumberEnd: 16855
    functionName: binary_writer::to_char_type
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(std::uint8_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - InputCharType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16866
      start: 16863
    functionDepth: 0
    functionLinenumber: 16863
    functionLinenumberEnd: 16866
    functionName: binary_writer::to_char_type
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: CharType
    signature: CharType to_char_type(InputCharType x) noexcept
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16960,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16979,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16980,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17056,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17075,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17076,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17098,1
    - Dst: std::isfinite
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17098,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17099,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17118,1
    - Dst: reinterpret_bits<bits_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17118,1
    - Dst: diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17124,1
    - Dst: diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17125,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17125,1
    - Dst: diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17149,1
    - Dst: diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17151,1
    - Dst: diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17152,1
    - Dst: dtoa_impl::normalize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17155,1
    - Dst: dtoa_impl::normalize_to
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17158,1
    - Dst: dtoa_impl::normalize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17160,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17379,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17380,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17382,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17385,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17386,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17386,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17386,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17388,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17389,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17390,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17456,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17457,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17458,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17459,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17484,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17512,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17513,1
    - Dst: timersub
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17515,1
    - Dst: timersub
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17516,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17527,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17534,1
    - Dst: find_largest_pow10
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17537,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17570,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17571,1
    - Dst: grisu2_round
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17607,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17657,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17668,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17677,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17678,1
    - Dst: grisu2_round
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17712,1
    - Dst: JSON_HEDLEY_NON_NULL
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17734,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17738,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17739,1
    - Dst: get_cached_power_for_binary_exponent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17750,1
    - Dst: dtoa_impl::mul
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17755,1
    - Dst: dtoa_impl::mul
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17756,1
    - Dst: dtoa_impl::mul
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17757,1
    - Dst: grisu2_digit_gen
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17785,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17800,1
    - Dst: std::isfinite
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17800,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17801,1
    - Dst: compute_boundaries
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17820,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17820,1
    - Dst: compute_boundaries
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17822,1
    - Dst: grisu2
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17825,1
    - Dst: JSON_HEDLEY_NON_NULL
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17833,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17837,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17838,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17850,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17856,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17860,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17862,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17866,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17868,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17870,1
    - Dst: JSON_HEDLEY_NON_NULL
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17885,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17890,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17891,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17905,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17905,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17905,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17909,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17917,1
    - Dst: std::memmove
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17919,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17919,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17919,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17919,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17921,1
    - Dst: std::memmove
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17929,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17929,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17929,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17932,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17932,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17933,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17933,1
    - Dst: std::memmove
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17948,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17948,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17950,1
    - Dst: append_exponent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17954,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17975,1
    - Dst: std::isfinite
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17975,1
    - Dst: std::signbit
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17978,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18000,1
    - Dst: dtoa_impl::grisu2
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18008,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18010,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18017,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18018,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18019,1
    - Dst: dtoa_impl::format_buffer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18021,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 200
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18022
      start: 16928
    functionDepth: 1
    functionLinenumber: 16928
    functionLinenumberEnd: 18022
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - dtoa_impl::normalize_to
    - dtoa_impl::format_buffer
    - static_cast<double>
    - get_cached_power_for_binary_exponent
    - std::array::size
    - std::memset
    - std::memcpy
    - JSON_HEDLEY_NON_NULL
    - dtoa_impl::grisu2
    - static_cast<size_t>
    - diyfp
    - JSON_ASSERT
    - static_cast<std::uint64_t>
    - static_cast<char>
    - static_cast<std::uint32_t>
    - timersub
    - dtoa_impl::normalize
    - dtoa_impl::mul
    - grisu2_round
    - std::signbit
    - static_cast<int>
    - append_exponent
    - compute_boundaries
    - grisu2
    - static_cast<std::size_t>
    - std::isfinite
    - grisu2_digit_gen
    - find_largest_pow10
    - std::memmove
    - reinterpret_bits<bits_type>
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: NLOHMANN_JSON_NAMESPACE_BEGIN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - Source
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16962
      start: 16955
    functionDepth: 0
    functionLinenumber: 16955
    functionLinenumberEnd: 16962
    functionName: dtoa_impl::reinterpret_bits
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: Target
    signature: Target reinterpret_bits(const Source source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - f_
    - e_
    argTypes:
    - std::uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16971
      start: 16971
    functionDepth: 0
    functionLinenumber: 16971
    functionLinenumberEnd: 16971
    functionName: dtoa_impl::diyfp
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void diyfp(std::uint64_t f_, int e_) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16979,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16983
      start: 16977
    functionDepth: 1
    functionLinenumber: 16977
    functionLinenumberEnd: 16983
    functionName: dtoa_impl::sub
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp sub(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17048
      start: 16989
    functionDepth: 0
    functionLinenumber: 16989
    functionLinenumberEnd: 17048
    functionName: dtoa_impl::mul
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: diyfp
    signature: diyfp mul(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17065
      start: 17054
    functionDepth: 1
    functionLinenumber: 17054
    functionLinenumberEnd: 17065
    functionName: dtoa_impl::normalize
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize(diyfp x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17075,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - target_exponent
    argTypes:
    - diyfp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17079
      start: 17071
    functionDepth: 1
    functionLinenumber: 17071
    functionLinenumberEnd: 17079
    functionName: dtoa_impl::normalize_to
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17098,1
    - Dst: std::isfinite
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17098,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17099,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17118,1
    - Dst: dtoa_impl::reinterpret_bits
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17118,1
    - Dst: dtoa_impl::diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17124,1
    - Dst: dtoa_impl::diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17125,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17125,1
    - Dst: dtoa_impl::diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17149,1
    - Dst: dtoa_impl::diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17151,1
    - Dst: dtoa_impl::diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17152,1
    - Dst: dtoa_impl::normalize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17155,1
    - Dst: dtoa_impl::normalize_to
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17158,1
    - Dst: dtoa_impl::normalize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17161
      start: 17096
    functionDepth: 2
    functionLinenumber: 17096
    functionLinenumberEnd: 17161
    functionName: dtoa_impl::compute_boundaries
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - dtoa_impl::normalize_to
    - dtoa_impl::normalize
    - static_cast<int>
    - dtoa_impl::diyfp
    - dtoa_impl::reinterpret_bits
    - JSON_ASSERT
    - static_cast<std::uint64_t>
    - std::isfinite
    linkageType: ''
    returnType: boundaries
    signature: boundaries compute_boundaries(FloatType value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17379,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17380,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17382,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17385,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17386,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17386,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17386,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17388,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17389,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17393
      start: 17235
    functionDepth: 1
    functionLinenumber: 17235
    functionLinenumberEnd: 17393
    functionName: dtoa_impl::get_cached_power_for_binary_exponent
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::array::size
    - JSON_ASSERT
    - static_cast<std::size_t>
    linkageType: ''
    returnType: cached_power
    signature: cached_power get_cached_power_for_binary_exponent(int e)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - n
    - ' pow10'
    argTypes:
    - std::uint32_t
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17451
      start: 17399
    functionDepth: 0
    functionLinenumber: 17399
    functionLinenumberEnd: 17451
    functionName: dtoa_impl::find_largest_pow10
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17456,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17457,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17458,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17459,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - buf
    - len
    - dist
    - delta
    - rest
    - ten_k
    argTypes:
    - char*
    - int
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17488
      start: 17453
    functionDepth: 1
    functionLinenumber: 17453
    functionLinenumberEnd: 17488
    functionName: dtoa_impl::grisu2_round
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: "void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t
      delta,\n                         std::uint64_t rest, std::uint64_t ten_k)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17512,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17513,1
    - Dst: timersub
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17515,1
    - Dst: timersub
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17516,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17527,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17534,1
    - Dst: dtoa_impl::find_largest_pow10
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17537,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17570,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17571,1
    - Dst: dtoa_impl::grisu2_round
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17607,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17657,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17668,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17677,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17678,1
    - Dst: dtoa_impl::grisu2_round
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17712,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - buffer
    - ' length'
    - ' decimal_exponent'
    - M_minus
    - w
    - M_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17727
      start: 17494
    functionDepth: 2
    functionLinenumber: 17494
    functionLinenumberEnd: 17727
    functionName: dtoa_impl::grisu2_digit_gen
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - dtoa_impl::grisu2_round
    - timersub
    - JSON_ASSERT
    - static_cast<char>
    - static_cast<std::uint32_t>
    - dtoa_impl::find_largest_pow10
    linkageType: ''
    returnType: void
    signature: "void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,\n
      \                            diyfp M_minus, diyfp w, diyfp M_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17738,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17739,1
    - Dst: dtoa_impl::get_cached_power_for_binary_exponent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17750,1
    - Dst: dtoa_impl::mul
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17755,1
    - Dst: dtoa_impl::mul
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17756,1
    - Dst: dtoa_impl::mul
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17757,1
    - Dst: dtoa_impl::grisu2_digit_gen
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - m_minus
    - v
    - m_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17786
      start: 17735
    functionDepth: 3
    functionLinenumber: 17735
    functionLinenumberEnd: 17786
    functionName: dtoa_impl::grisu2
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - dtoa_impl::mul
    - dtoa_impl::get_cached_power_for_binary_exponent
    - dtoa_impl::grisu2_digit_gen
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: "void grisu2(char* buf, int& len, int& decimal_exponent,\n                   diyfp
      m_minus, diyfp v, diyfp m_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17800,1
    - Dst: std::isfinite
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17800,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17801,1
    - Dst: dtoa_impl::compute_boundaries
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17820,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17820,1
    - Dst: dtoa_impl::compute_boundaries
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17822,1
    - Dst: dtoa_impl::grisu2
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - value
    argTypes:
    - char*
    - int
    - int
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17826
      start: 17794
    functionDepth: 4
    functionLinenumber: 17794
    functionLinenumberEnd: 17826
    functionName: '(1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - dtoa_impl::grisu2
    - static_cast<double>
    - JSON_ASSERT
    - dtoa_impl::compute_boundaries
    - std::isfinite
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: 'JSON_HEDLEY_NON_NULL (1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17837,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17838,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17850,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17856,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17860,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17862,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17866,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17868,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - e
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17874
      start: 17835
    functionDepth: 1
    functionLinenumber: 17835
    functionLinenumberEnd: 17874
    functionName: dtoa_impl::append_exponent
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<char>
    - static_cast<std::uint32_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: char
    signature: char * append_exponent(char* buf, int e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17890,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17891,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17905,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17905,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17905,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17909,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17917,1
    - Dst: std::memmove
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17919,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17919,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17919,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17919,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17921,1
    - Dst: std::memmove
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17929,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17929,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17929,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17932,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17932,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17933,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17933,1
    - Dst: std::memmove
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17948,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17948,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17950,1
    - Dst: dtoa_impl::append_exponent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17954,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - buf
    - len
    - decimal_exponent
    - min_exp
    - max_exp
    argTypes:
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17955
      start: 17887
    functionDepth: 2
    functionLinenumber: 17887
    functionLinenumberEnd: 17955
    functionName: dtoa_impl::format_buffer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - dtoa_impl::append_exponent
    - static_cast<size_t>
    - std::memmove
    - JSON_ASSERT
    - std::memset
    linkageType: ''
    returnType: char
    signature: "char * format_buffer(char* buf, int len, int decimal_exponent,\n                           int
      min_exp, int max_exp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - Source
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16962
      start: 16955
    functionDepth: 0
    functionLinenumber: 16955
    functionLinenumberEnd: 16962
    functionName: dtoa_impl::reinterpret_bits
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: Target
    signature: Target reinterpret_bits(const Source source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - f_
    - e_
    argTypes:
    - std::uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16971
      start: 16971
    functionDepth: 0
    functionLinenumber: 16971
    functionLinenumberEnd: 16971
    functionName: dtoa_impl::diyfp
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void diyfp(std::uint64_t f_, int e_) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16979,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:16980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16983
      start: 16977
    functionDepth: 1
    functionLinenumber: 16977
    functionLinenumberEnd: 16983
    functionName: dtoa_impl::sub
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp sub(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17048
      start: 16989
    functionDepth: 0
    functionLinenumber: 16989
    functionLinenumberEnd: 17048
    functionName: dtoa_impl::mul
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: diyfp
    signature: diyfp mul(const diyfp& x, const diyfp& y) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17056,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17065
      start: 17054
    functionDepth: 1
    functionLinenumber: 17054
    functionLinenumberEnd: 17065
    functionName: dtoa_impl::normalize
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize(diyfp x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17075,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' x'
    - target_exponent
    argTypes:
    - diyfp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17079
      start: 17071
    functionDepth: 1
    functionLinenumber: 17071
    functionLinenumberEnd: 17079
    functionName: dtoa_impl::normalize_to
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: diyfp
    signature: diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17098,1
    - Dst: std::isfinite
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17098,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17099,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17118,1
    - Dst: dtoa_impl::reinterpret_bits
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17118,1
    - Dst: dtoa_impl::diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17124,1
    - Dst: dtoa_impl::diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17125,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17125,1
    - Dst: dtoa_impl::diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17149,1
    - Dst: dtoa_impl::diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17151,1
    - Dst: dtoa_impl::diyfp
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17152,1
    - Dst: dtoa_impl::normalize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17155,1
    - Dst: dtoa_impl::normalize_to
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17158,1
    - Dst: dtoa_impl::normalize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17161
      start: 17096
    functionDepth: 2
    functionLinenumber: 17096
    functionLinenumberEnd: 17161
    functionName: dtoa_impl::compute_boundaries
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - dtoa_impl::normalize_to
    - dtoa_impl::normalize
    - static_cast<int>
    - dtoa_impl::diyfp
    - dtoa_impl::reinterpret_bits
    - JSON_ASSERT
    - static_cast<std::uint64_t>
    - std::isfinite
    linkageType: ''
    returnType: boundaries
    signature: boundaries compute_boundaries(FloatType value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17379,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17380,1
    - Dst: static_cast<int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17382,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17385,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17386,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17386,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17386,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17388,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17389,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17393
      start: 17235
    functionDepth: 1
    functionLinenumber: 17235
    functionLinenumberEnd: 17393
    functionName: dtoa_impl::get_cached_power_for_binary_exponent
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - std::array::size
    - JSON_ASSERT
    - static_cast<std::size_t>
    linkageType: ''
    returnType: cached_power
    signature: cached_power get_cached_power_for_binary_exponent(int e)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - n
    - ' pow10'
    argTypes:
    - std::uint32_t
    - std::uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17451
      start: 17399
    functionDepth: 0
    functionLinenumber: 17399
    functionLinenumberEnd: 17451
    functionName: dtoa_impl::find_largest_pow10
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17456,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17457,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17458,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17459,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - buf
    - len
    - dist
    - delta
    - rest
    - ten_k
    argTypes:
    - char*
    - int
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    - std::uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17488
      start: 17453
    functionDepth: 1
    functionLinenumber: 17453
    functionLinenumberEnd: 17488
    functionName: dtoa_impl::grisu2_round
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: "void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t
      delta,\n                         std::uint64_t rest, std::uint64_t ten_k)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17512,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17513,1
    - Dst: timersub
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17515,1
    - Dst: timersub
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17516,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17527,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17534,1
    - Dst: dtoa_impl::find_largest_pow10
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17537,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17570,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17571,1
    - Dst: dtoa_impl::grisu2_round
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17607,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17657,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17668,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17677,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17678,1
    - Dst: dtoa_impl::grisu2_round
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17712,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - buffer
    - ' length'
    - ' decimal_exponent'
    - M_minus
    - w
    - M_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17727
      start: 17494
    functionDepth: 2
    functionLinenumber: 17494
    functionLinenumberEnd: 17727
    functionName: dtoa_impl::grisu2_digit_gen
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - dtoa_impl::grisu2_round
    - timersub
    - JSON_ASSERT
    - static_cast<char>
    - static_cast<std::uint32_t>
    - dtoa_impl::find_largest_pow10
    linkageType: ''
    returnType: void
    signature: "void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,\n
      \                            diyfp M_minus, diyfp w, diyfp M_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17738,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17739,1
    - Dst: dtoa_impl::get_cached_power_for_binary_exponent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17750,1
    - Dst: dtoa_impl::mul
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17755,1
    - Dst: dtoa_impl::mul
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17756,1
    - Dst: dtoa_impl::mul
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17757,1
    - Dst: dtoa_impl::grisu2_digit_gen
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - m_minus
    - v
    - m_plus
    argTypes:
    - char*
    - int
    - int
    - diyfp
    - diyfp
    - diyfp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17786
      start: 17735
    functionDepth: 3
    functionLinenumber: 17735
    functionLinenumberEnd: 17786
    functionName: dtoa_impl::grisu2
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - dtoa_impl::mul
    - dtoa_impl::get_cached_power_for_binary_exponent
    - dtoa_impl::grisu2_digit_gen
    - JSON_ASSERT
    linkageType: ''
    returnType: void
    signature: "void grisu2(char* buf, int& len, int& decimal_exponent,\n                   diyfp
      m_minus, diyfp v, diyfp m_plus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17800,1
    - Dst: std::isfinite
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17800,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17801,1
    - Dst: compute_boundaries
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17820,1
    - Dst: static_cast<double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17820,1
    - Dst: compute_boundaries
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17822,1
    - Dst: grisu2
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - buf
    - ' len'
    - ' decimal_exponent'
    - value
    argTypes:
    - char*
    - int
    - int
    - FloatType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17826
      start: 17794
    functionDepth: 1
    functionLinenumber: 17794
    functionLinenumberEnd: 17826
    functionName: '(1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - compute_boundaries
    - JSON_ASSERT
    - grisu2
    - std::isfinite
    linkageType: ''
    returnType: JSON_HEDLEY_NON_NULL
    signature: 'JSON_HEDLEY_NON_NULL (1)

      void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17837,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17838,1
    - Dst: static_cast<std::uint32_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17850,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17856,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17860,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17862,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17866,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17868,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - e
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17874
      start: 17835
    functionDepth: 1
    functionLinenumber: 17835
    functionLinenumberEnd: 17874
    functionName: dtoa_impl::append_exponent
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<char>
    - static_cast<std::uint32_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: char
    signature: char * append_exponent(char* buf, int e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17890,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17891,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17905,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17905,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17905,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17909,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17917,1
    - Dst: std::memmove
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17919,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17919,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17919,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17919,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17921,1
    - Dst: std::memmove
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17929,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17929,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17929,1
    - Dst: std::memset
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17932,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17932,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17933,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17933,1
    - Dst: std::memmove
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17948,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17948,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17950,1
    - Dst: dtoa_impl::append_exponent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:17954,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - buf
    - len
    - decimal_exponent
    - min_exp
    - max_exp
    argTypes:
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17955
      start: 17887
    functionDepth: 2
    functionLinenumber: 17887
    functionLinenumberEnd: 17955
    functionName: dtoa_impl::format_buffer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - dtoa_impl::append_exponent
    - static_cast<size_t>
    - std::memmove
    - JSON_ASSERT
    - std::memset
    linkageType: ''
    returnType: char
    signature: "char * format_buffer(char* buf, int len, int decimal_exponent,\n                           int
      min_exp, int max_exp)"
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18077,1
    - Dst: std::localeconv
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18078,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18079,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18080,1
    - Dst: m_data::m_value::object::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18125,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18127,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18133,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18137,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18137,1
    - Dst: resize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18139,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18139,1
    - Dst: m_data::m_value::object::cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18143,1
    - Dst: m_data::m_value::object::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18144,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18146,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18146,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18147,1
    - Dst: dump_escaped
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18148,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18149,1
    - Dst: dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18150,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18151,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18155,1
    - Dst: m_data::m_value::object::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18155,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18156,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18156,1
    - Dst: m_data::m_value::object::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18156,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18157,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18157,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18158,1
    - Dst: dump_escaped
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18159,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18160,1
    - Dst: dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18161,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18163,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18164,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18164,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18165,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18169,1
    - Dst: m_data::m_value::object::cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18172,1
    - Dst: m_data::m_value::object::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18173,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18175,1
    - Dst: dump_escaped
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18176,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18177,1
    - Dst: dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18178,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18179,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18183,1
    - Dst: m_data::m_value::object::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18183,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18184,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18184,1
    - Dst: m_data::m_value::object::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18184,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18185,1
    - Dst: dump_escaped
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18186,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18187,1
    - Dst: dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18188,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18190,1
    - Dst: m_data::m_value::array::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18198,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18200,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18206,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18210,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18210,1
    - Dst: resize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18212,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18212,1
    - Dst: m_data::m_value::array::cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18216,1
    - Dst: m_data::m_value::array::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18217,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18219,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18219,1
    - Dst: dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18220,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18221,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18225,1
    - Dst: m_data::m_value::array::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18225,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18226,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18226,1
    - Dst: dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18227,1
    - Dst: m_data::m_value::array::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18227,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18229,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18230,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18230,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18231,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18235,1
    - Dst: m_data::m_value::array::cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18238,1
    - Dst: m_data::m_value::array::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18239,1
    - Dst: dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18241,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18242,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18246,1
    - Dst: m_data::m_value::array::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18246,1
    - Dst: dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18247,1
    - Dst: m_data::m_value::array::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18247,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18249,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18257,1
    - Dst: dump_escaped
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18258,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18259,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18267,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18271,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18271,1
    - Dst: resize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18273,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18273,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18276,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18276,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18278,1
    - Dst: m_data::m_value::binary::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18280,1
    - Dst: m_data::m_value::binary::cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18282,1
    - Dst: m_data::m_value::binary::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18283,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18285,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18286,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18288,1
    - Dst: m_data::m_value::binary::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18288,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18291,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18292,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18292,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18294,1
    - Dst: m_data::m_value::binary::has_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18295,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18297,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18297,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18301,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18303,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18304,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18304,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18305,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18309,1
    - Dst: m_data::m_value::binary::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18311,1
    - Dst: m_data::m_value::binary::cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18313,1
    - Dst: m_data::m_value::binary::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18314,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18316,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18317,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18319,1
    - Dst: m_data::m_value::binary::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18319,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18322,1
    - Dst: m_data::m_value::binary::has_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18323,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18325,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18325,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18326,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18330,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18340,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18344,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18351,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18357,1
    - Dst: dump_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18363,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18369,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18375,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18380,1
    - Dst: dump_escaped
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18399,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18409,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18411,1
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18477,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18477,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18478,1
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18484,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18484,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18485,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18486,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18503,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18505,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18505,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18521,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18521,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18521,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18521,1
    - Dst: hex_bytes
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18521,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18554,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18555,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18556,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18562,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18564,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18564,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18579,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18598,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18603,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18603,1
    - Dst: switch
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18609,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18613,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18613,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18613,1
    - Dst: hex_bytes
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18613,1
    - Dst: static_cast<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18613,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18613,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18619,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18619,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18626,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18626,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18634,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 294
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18678
      start: 18025
    functionDepth: 5
    functionLinenumber: 18025
    functionLinenumberEnd: 18678
    functionName: NLOHMANN_JSON_NAMESPACE_BEGIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - type_error::create
    - data
    - static_cast<void>
    - size
    - m_data::m_value::binary::cend
    - dump
    - JSON_HEDLEY_LIKELY
    - c_str
    - static_cast<std::uint8_t>
    - to_char_type
    - dump_escaped
    - JSON_ASSERT
    - back
    - m_data::m_value::array::empty
    - write_character
    - std::next
    - JSON_THROW
    - write_characters
    - m_data::m_value::binary::empty
    - to_string
    - JSON_HEDLEY_UNLIKELY
    - m_data::m_value::array::back
    - m_data::m_value::binary::back
    - concat
    - dump_float
    - hex_bytes
    - switch
    - m_data::m_value::array::cbegin
    - resize
    - dump_integer
    - m_data::m_value::object::size
    - m_data::m_value::binary::cbegin
    - m_data::m_value::object::cend
    - static_cast<std::uint16_t>
    - m_data::m_value::binary::subtype
    - m_data::m_value::object::empty
    - m_data::m_value::object::cbegin
    - m_data::m_value::array::cend
    - std::localeconv
    - m_data::m_value::binary::has_subtype
    - std::move
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_END
    signature: NLOHMANN_JSON_NAMESPACE_END NLOHMANN_JSON_NAMESPACE_BEGIN
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18077,1
    - Dst: std::localeconv
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18078,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18079,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - s
    - ichar
    argTypes:
    - output_adapter_t<char>
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18084
      start: 18075
    functionDepth: 1
    functionLinenumber: 18075
    functionLinenumberEnd: 18084
    functionName: serializer::serializer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - to_char_type
    - std::localeconv
    - std::move
    linkageType: ''
    returnType: void
    signature: "void serializer(output_adapter_t<char> s, const char ichar,\n               error_handler_t
      error_handler_ = error_handler_t::strict)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18087
      start: 18087
    functionDepth: 0
    functionLinenumber: 18087
    functionLinenumberEnd: 18087
    functionName: serializer::serializer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void serializer(const serializer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18088
      start: 18088
    functionDepth: 0
    functionLinenumber: 18088
    functionLinenumberEnd: 18088
    functionName: '& operator=(const serializer&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: serializer
    signature: serializer & operator=(const serializer&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18089
      start: 18089
    functionDepth: 0
    functionLinenumber: 18089
    functionLinenumberEnd: 18089
    functionName: serializer::serializer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void serializer(serializer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18090
      start: 18090
    functionDepth: 0
    functionLinenumber: 18090
    functionLinenumberEnd: 18090
    functionName: '& operator=(serializer&&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: serializer
    signature: serializer & operator=(serializer&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18091
      start: 18091
    functionDepth: 0
    functionLinenumber: 18091
    functionLinenumberEnd: 18091
    functionName: ~serializer()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~serializer()
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: m_data::m_value::object::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18125,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18127,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18133,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18137,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18137,1
    - Dst: resize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18139,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18139,1
    - Dst: m_data::m_value::object::cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18143,1
    - Dst: m_data::m_value::object::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18144,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18146,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18146,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18147,1
    - Dst: dump_escaped
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18148,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18149,1
    - Dst: serializer::dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18150,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18151,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18155,1
    - Dst: m_data::m_value::object::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18155,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18156,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18156,1
    - Dst: m_data::m_value::object::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18156,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18157,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18157,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18158,1
    - Dst: dump_escaped
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18159,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18160,1
    - Dst: serializer::dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18161,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18163,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18164,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18164,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18165,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18169,1
    - Dst: m_data::m_value::object::cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18172,1
    - Dst: m_data::m_value::object::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18173,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18175,1
    - Dst: dump_escaped
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18176,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18177,1
    - Dst: serializer::dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18178,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18179,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18183,1
    - Dst: m_data::m_value::object::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18183,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18184,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18184,1
    - Dst: m_data::m_value::object::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18184,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18185,1
    - Dst: dump_escaped
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18186,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18187,1
    - Dst: serializer::dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18188,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18190,1
    - Dst: m_data::m_value::array::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18198,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18200,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18206,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18210,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18210,1
    - Dst: resize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18212,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18212,1
    - Dst: m_data::m_value::array::cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18216,1
    - Dst: m_data::m_value::array::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18217,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18219,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18219,1
    - Dst: serializer::dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18220,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18221,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18225,1
    - Dst: m_data::m_value::array::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18225,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18226,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18226,1
    - Dst: serializer::dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18227,1
    - Dst: m_data::m_value::array::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18227,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18229,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18230,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18230,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18231,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18235,1
    - Dst: m_data::m_value::array::cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18238,1
    - Dst: m_data::m_value::array::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18239,1
    - Dst: serializer::dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18241,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18242,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18246,1
    - Dst: m_data::m_value::array::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18246,1
    - Dst: serializer::dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18247,1
    - Dst: m_data::m_value::array::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18247,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18249,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18257,1
    - Dst: dump_escaped
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18258,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18259,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18267,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18271,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18271,1
    - Dst: resize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18273,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18273,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18276,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18276,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18278,1
    - Dst: m_data::m_value::binary::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18280,1
    - Dst: m_data::m_value::binary::cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18282,1
    - Dst: m_data::m_value::binary::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18283,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18285,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18286,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18288,1
    - Dst: m_data::m_value::binary::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18288,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18291,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18292,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18292,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18294,1
    - Dst: m_data::m_value::binary::has_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18295,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18297,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18297,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18301,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18303,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18304,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18304,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18305,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18309,1
    - Dst: m_data::m_value::binary::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18311,1
    - Dst: m_data::m_value::binary::cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18313,1
    - Dst: m_data::m_value::binary::cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18314,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18316,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18317,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18319,1
    - Dst: m_data::m_value::binary::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18319,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18322,1
    - Dst: m_data::m_value::binary::has_subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18323,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18325,1
    - Dst: m_data::m_value::binary::subtype
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18325,1
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18326,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18330,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18340,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18344,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18351,1
    - Dst: dump_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18357,1
    - Dst: dump_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18363,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18369,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18375,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18380,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 164
    argCount: 4
    argNames:
    - ' val'
    - pretty_print
    - ensure_ascii
    - indent_step
    argTypes:
    - BasicJsonType
    - bool
    - bool
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18382
      start: 18115
    functionDepth: 5
    functionLinenumber: 18115
    functionLinenumberEnd: 18382
    functionName: serializer::dump
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - size
    - m_data::m_value::binary::cend
    - c_str
    - dump_escaped
    - JSON_ASSERT
    - serializer::dump
    - m_data::m_value::array::empty
    - write_character
    - std::next
    - write_characters
    - m_data::m_value::binary::empty
    - JSON_HEDLEY_UNLIKELY
    - m_data::m_value::array::back
    - m_data::m_value::binary::back
    - dump_float
    - m_data::m_value::array::cbegin
    - resize
    - dump_integer
    - m_data::m_value::object::size
    - m_data::m_value::binary::cbegin
    - m_data::m_value::object::cend
    - m_data::m_value::binary::subtype
    - m_data::m_value::object::empty
    - m_data::m_value::object::cbegin
    - m_data::m_value::array::cend
    - m_data::m_value::binary::has_subtype
    linkageType: ''
    returnType: void
    signature: "void dump(const BasicJsonType& val,\n              const bool pretty_print,\n
      \             const bool ensure_ascii,\n              const unsigned int indent_step,\n
      \             const unsigned int current_indent = 0)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18477,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18477,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18478,1
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18484,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18484,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18485,1
    - Dst: static_cast<std::uint16_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18486,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18503,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18505,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18505,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18521,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18521,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18521,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18521,1
    - Dst: hex_bytes
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18521,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18554,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18555,1
    - Dst: to_char_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18556,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18562,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18564,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18564,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18579,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 107
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18594
      start: 18413
    functionDepth: 4
    functionLinenumber: 18413
    functionLinenumberEnd: 18594
    functionName: serializer::switch
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - type_error::create
    - data
    - concat
    - to_char_type
    - static_cast<void>
    - hex_bytes
    - static_cast<std::uint16_t>
    - size
    - JSON_ASSERT
    - JSON_THROW
    - write_characters
    - to_string
    linkageType: ''
    returnType: void
    signature: void switch (decode(state, codepoint, byte))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - byte
    argTypes:
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18692
      start: 18685
    functionDepth: 0
    functionLinenumber: 18685
    functionLinenumberEnd: 18692
    functionName: hex_bytes
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string hex_bytes(std::uint8_t byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18699
      start: 18696
    functionDepth: 0
    functionLinenumber: 18696
    functionLinenumberEnd: 18699
    functionName: is_negative_number
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_negative_number(NumberType x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18705
      start: 18702
    functionDepth: 0
    functionLinenumber: 18702
    functionLinenumberEnd: 18705
    functionName: is_negative_number
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_negative_number(NumberType /*unused*/)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write_character
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18743,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18748,1
    - Dst: is_negative_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18754,1
    - Dst: remove_sign
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18757,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18757,1
    - Dst: count_digits
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18760,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18764,1
    - Dst: count_digits
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18765,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18769,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18769,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18779,1
    - Dst: static_cast<unsigned>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18787,1
    - Dst: static_cast<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18793,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18796,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - x
    argTypes:
    - NumberType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18797
      start: 18722
    functionDepth: 1
    functionLinenumber: 18722
    functionLinenumberEnd: 18797
    functionName: dump_integer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - static_cast<unsigned>
    - static_cast<char>
    - data
    - begin
    - static_cast<number_unsigned_t>
    - is_negative_number
    - JSON_ASSERT
    - size
    - write_character
    - count_digits
    - write_characters
    - static_cast<number_integer_t>
    - remove_sign
    linkageType: ''
    returnType: void
    signature: void dump_integer(NumberType x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::isfinite
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18810,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18812,1
    - Dst: dump_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18825,1
    - Dst: std::integral_constant<bool, is_ieee_single_or_double>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18825,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18826
      start: 18807
    functionDepth: 1
    functionLinenumber: 18807
    functionLinenumberEnd: 18826
    functionName: dump_float
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - write_characters
    - std::integral_constant<bool, is_ieee_single_or_double>
    - dump_float
    - std::isfinite
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18830,1
    - Dst: ::nlohmann::detail::to_chars
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18831,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18831,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18833,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18834
      start: 18828
    functionDepth: 1
    functionLinenumber: 18828
    functionLinenumberEnd: 18834
    functionName: dump_float
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - data
    - ::nlohmann::detail::to_chars
    - static_cast<size_t>
    - size
    - write_characters
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_double*/)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18843,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18843,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18846,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18848,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18848,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18848,1
    - Dst: std::remove
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18854,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18854,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18854,1
    - Dst: std::fill
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18855,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18855,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18856,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18856,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18857,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18864,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18864,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18864,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18865,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18871,1
    - Dst: data
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18871,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18871,1
    - Dst: std::none_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18875,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18875,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18875,1
    - Dst: write_characters
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18883,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18885
      start: 18836
    functionDepth: 1
    functionLinenumber: 18836
    functionLinenumberEnd: 18885
    functionName: dump_float
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - data
    - begin
    - end
    - JSON_ASSERT
    - size
    - find
    - std::remove
    - std::fill
    - write_characters
    - std::none_of
    - static_cast<std::size_t>
    linkageType: ''
    returnType: void
    signature: void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18930,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18930,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18937,1
    - Dst: static_cast<size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18937,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18938,1
    - Dst: std::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' state'
    - ' codep'
    - byte
    argTypes:
    - std::uint8_t
    - std::uint32_t
    - std::uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18941
      start: 18908
    functionDepth: 1
    functionLinenumber: 18908
    functionLinenumberEnd: 18941
    functionName: decode
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 40
    functionsReached:
    - static_cast<size_t>
    - JSON_ASSERT
    - std::array::size
    linkageType: ''
    returnType: std::uint8_t
    signature: std::uint8_t decode(std::uint8_t& state, std::uint32_t& codep, const
      std::uint8_t byte) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18952
      start: 18948
    functionDepth: 1
    functionLinenumber: 18948
    functionLinenumberEnd: 18952
    functionName: remove_sign
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - JSON_ASSERT
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t remove_sign(number_unsigned_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18965,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:18966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18967
      start: 18963
    functionDepth: 1
    functionLinenumber: 18963
    functionLinenumberEnd: 18967
    functionName: remove_sign
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - static_cast<number_unsigned_t>
    - JSON_ASSERT
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t remove_sign(number_integer_t x) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19050,1
    - Dst: Container
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19050
      start: 19050
    functionDepth: 1
    functionLinenumber: 19050
    functionLinenumberEnd: 19050
    functionName: ordered_map
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - Container
    linkageType: ''
    returnType: void
    signature: void ordered_map() noexcept(noexcept(Container()))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19051,1
    - Dst: Container
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' alloc'
    argTypes:
    - Allocator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19051
      start: 19051
    functionDepth: 1
    functionLinenumber: 19051
    functionLinenumberEnd: 19051
    functionName: ordered_map
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - noexcept
    - Container
    linkageType: ''
    returnType: void
    signature: void ordered_map(const Allocator& alloc) noexcept(noexcept(Container(alloc)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - It
    - It
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19054
      start: 19053
    functionDepth: 0
    functionLinenumber: 19053
    functionLinenumberEnd: 19054
    functionName: ordered_map
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - Allocator
    linkageType: ''
    returnType: void
    signature: void ordered_map(It first, It last, const Allocator& alloc = Allocator())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - init
    argTypes:
    - std::initializer_list<value_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19056
      start: 19055
    functionDepth: 0
    functionLinenumber: 19055
    functionLinenumberEnd: 19056
    functionName: ordered_map
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - Allocator
    linkageType: ''
    returnType: void
    signature: void ordered_map(std::initializer_list<value_type> init, const Allocator&
      alloc = Allocator() )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19060,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19060,1
    - Dst: m_compare
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19062,1
    - Dst: emplace_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19067,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19067,1
    - Dst: std::prev
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19068,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19068,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - ' t'
    argTypes:
    - key_type
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19069
      start: 19058
    functionDepth: 1
    functionLinenumber: 19058
    functionLinenumberEnd: 19069
    functionName: emplace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 11
    functionsReached:
    - emplace_back
    - begin
    - end
    - std::prev
    - std::forward<T>
    - m_compare
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> emplace(const key_type& key, T&& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19075,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19075,1
    - Dst: m_compare
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19077,1
    - Dst: emplace_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19082,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19082,1
    - Dst: std::forward<T>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19082,1
    - Dst: std::prev
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19083,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - ' t'
    argTypes:
    - KeyType
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19084
      start: 19073
    functionDepth: 1
    functionLinenumber: 19073
    functionLinenumberEnd: 19084
    functionName: emplace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 11
    functionsReached:
    - emplace_back
    - begin
    - end
    - std::prev
    - std::forward<T>
    - std::forward<KeyType>
    - m_compare
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> emplace(KeyType && key, T && t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19089
      start: 19086
    functionDepth: 2
    functionLinenumber: 19086
    functionLinenumberEnd: 19089
    functionName: '& operator[](const key_type& key)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - emplace
    linkageType: ''
    returnType: T
    signature: T & operator[](const key_type& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19095,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19095,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19096
      start: 19093
    functionDepth: 2
    functionLinenumber: 19093
    functionLinenumberEnd: 19096
    functionName: '& operator[](KeyType && key)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::forward<KeyType>
    - emplace
    linkageType: ''
    returnType: T
    signature: T & operator[](KeyType && key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19101
      start: 19098
    functionDepth: 1
    functionLinenumber: 19098
    functionLinenumberEnd: 19101
    functionName: '& operator[](const key_type& key) const'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - at
    linkageType: ''
    returnType: T
    signature: T & operator[](const key_type& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19107,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19108
      start: 19105
    functionDepth: 1
    functionLinenumber: 19105
    functionLinenumberEnd: 19108
    functionName: '& operator[](KeyType && key) const'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - at
    - std::forward<KeyType>
    linkageType: ''
    returnType: T
    signature: T & operator[](KeyType && key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19112,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19112,1
    - Dst: m_compare
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19114,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19120,1
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19121
      start: 19110
    functionDepth: 1
    functionLinenumber: 19110
    functionLinenumberEnd: 19121
    functionName: at
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 279
    functionsReached:
    - std::out_of_range
    - begin
    - end
    - m_compare
    - JSON_THROW
    linkageType: ''
    returnType: T
    signature: T & at(const key_type& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19127,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19127,1
    - Dst: m_compare
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19129,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19135,1
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19136
      start: 19125
    functionDepth: 1
    functionLinenumber: 19125
    functionLinenumberEnd: 19136
    functionName: at
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 279
    functionsReached:
    - std::out_of_range
    - begin
    - end
    - m_compare
    - JSON_THROW
    linkageType: ''
    returnType: T
    signature: T & at(KeyType && key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19140,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19140,1
    - Dst: m_compare
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19142,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19148,1
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19149
      start: 19138
    functionDepth: 1
    functionLinenumber: 19138
    functionLinenumberEnd: 19149
    functionName: at
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 279
    functionsReached:
    - std::out_of_range
    - begin
    - end
    - m_compare
    - JSON_THROW
    linkageType: ''
    returnType: T
    signature: T & at(const key_type& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19155,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19155,1
    - Dst: m_compare
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19157,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19163,1
    - Dst: std::out_of_range
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19164
      start: 19153
    functionDepth: 1
    functionLinenumber: 19153
    functionLinenumberEnd: 19164
    functionName: at
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 279
    functionsReached:
    - std::out_of_range
    - begin
    - end
    - m_compare
    - JSON_THROW
    linkageType: ''
    returnType: T
    signature: T & at(KeyType && key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19168,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19168,1
    - Dst: m_compare
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19170,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19173,1
    - Dst: auto::~value_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19175,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19176,1
    - Dst: value_type::value_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19176,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19183
      start: 19166
    functionDepth: 5
    functionLinenumber: 19166
    functionLinenumberEnd: 19183
    functionName: erase
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 61
    functionsReached:
    - begin
    - end
    - auto::~value_type
    - m_compare
    - value_type::value_type
    - pop_back
    - std::move
    linkageType: ''
    returnType: size_type
    signature: size_type erase(const key_type& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19189,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19189,1
    - Dst: m_compare
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19191,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19194,1
    - Dst: auto::~value_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19196,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19197,1
    - Dst: value_type::value_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19197,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19204
      start: 19187
    functionDepth: 5
    functionLinenumber: 19187
    functionLinenumberEnd: 19204
    functionName: erase
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 61
    functionsReached:
    - begin
    - end
    - auto::~value_type
    - m_compare
    - value_type::value_type
    - pop_back
    - std::move
    linkageType: ''
    returnType: size_type
    signature: size_type erase(KeyType && key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19208,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19209
      start: 19206
    functionDepth: 1
    functionLinenumber: 19206
    functionLinenumberEnd: 19209
    functionName: erase
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 62
    functionsReached:
    - std::next
    - erase
    linkageType: ''
    returnType: iterator
    signature: iterator erase(iterator pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19218,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19219,1
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19219,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19241,1
    - Dst: sock_send
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19241,1
    - Dst: auto::~value_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19243,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19244,1
    - Dst: std::next
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19244,1
    - Dst: value_type::value_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19244,1
    - Dst: Container::resize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19252,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19252,1
    - Dst: static_cast<size_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19252,1
    - Dst: pcpp::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19262
      start: 19211
    functionDepth: 6
    functionLinenumber: 19211
    functionLinenumberEnd: 19262
    functionName: erase
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 62
    functionsReached:
    - std::distance
    - auto::~value_type
    - size
    - sock_send
    - Container::resize
    - pcpp::begin
    - std::next
    - value_type::value_type
    - static_cast<size_type>
    - std::move
    linkageType: ''
    returnType: iterator
    signature: iterator erase(iterator first, iterator last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19266,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19266,1
    - Dst: m_compare
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19274
      start: 19264
    functionDepth: 1
    functionLinenumber: 19264
    functionLinenumberEnd: 19274
    functionName: count
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 52
    functionsReached:
    - end
    - m_compare
    - begin
    linkageType: ''
    returnType: size_type
    signature: size_type count(const key_type& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19280,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19280,1
    - Dst: m_compare
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19288
      start: 19278
    functionDepth: 1
    functionLinenumber: 19278
    functionLinenumberEnd: 19288
    functionName: count
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 52
    functionsReached:
    - end
    - m_compare
    - begin
    linkageType: ''
    returnType: size_type
    signature: size_type count(KeyType && key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19292,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19292,1
    - Dst: m_compare
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19294,1
    - Dst: sock_send
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19300
      start: 19290
    functionDepth: 6
    functionLinenumber: 19290
    functionLinenumberEnd: 19300
    functionName: find
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 192
    functionsReached:
    - end
    - sock_send
    - m_compare
    - begin
    linkageType: ''
    returnType: iterator
    signature: iterator find(const key_type& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19306,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19306,1
    - Dst: m_compare
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19308,1
    - Dst: sock_send
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19314
      start: 19304
    functionDepth: 6
    functionLinenumber: 19304
    functionLinenumberEnd: 19314
    functionName: find
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 192
    functionsReached:
    - end
    - sock_send
    - m_compare
    - begin
    linkageType: ''
    returnType: iterator
    signature: iterator find(KeyType && key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19318,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19318,1
    - Dst: m_compare
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19320,1
    - Dst: sock_send
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19326
      start: 19316
    functionDepth: 6
    functionLinenumber: 19316
    functionLinenumberEnd: 19326
    functionName: find
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 192
    functionsReached:
    - end
    - sock_send
    - m_compare
    - begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const key_type& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19330,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19331
      start: 19328
    functionDepth: 2
    functionLinenumber: 19328
    functionLinenumberEnd: 19331
    functionName: insert
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 49
    functionsReached:
    - emplace
    - std::move
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert( value_type&& value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19335,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19335,1
    - Dst: m_compare
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19337,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19342,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19344
      start: 19333
    functionDepth: 2
    functionLinenumber: 19333
    functionLinenumberEnd: 19344
    functionName: insert
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 49
    functionsReached:
    - end
    - push_back
    - m_compare
    - begin
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert( const value_type& value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - InputIt
    - InputIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19357
      start: 19351
    functionDepth: 1
    functionLinenumber: 19351
    functionLinenumberEnd: 19357
    functionName: insert
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 50
    functionsReached:
    - insert
    linkageType: ''
    returnType: void
    signature: void insert(InputIt first, InputIt last)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ::nlohmann::detail::parser<basic_json, InputAdapterType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19441,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19441,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19442,1
    - Dst: allocator_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19544,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19558,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19558,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19559,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19560,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19582,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19583,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19584,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19585,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19603,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19605,1
    - Dst: AllocatorTraits::deallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19687,1
    - Dst: pcpp::internal::DynamicObjectPool::preallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19689,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19690,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19690,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19690,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19691,1
    - Dst: std::unique_ptr::release
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19692,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19761,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19767,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19773,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19779,1
    - Dst: static_cast<boolean_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19785,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19791,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19797,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19803,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19817,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19819,1
    - Dst: other_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19819,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19827,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19830,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19830,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19833,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19836,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19836,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19839,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19842,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19842,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19845,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19848,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19848,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19851,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19854,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19854,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19876,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19876,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19877,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19877,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19877,1
    - Dst: std::back_inserter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19877,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19881,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19881,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19884,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19884,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19888,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19891,1
    - Dst: std::vector::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19891,1
    - Dst: std::vector::pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19892,1
    - Dst: basic_json::is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19896,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19898,1
    - Dst: basic_json::m_data::m_value::array::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19898,1
    - Dst: basic_json::m_data::m_value::array::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19898,1
    - Dst: std::back_inserter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19898,1
    - Dst: basic_json::m_data::m_value::array::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19900,1
    - Dst: basic_json::is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19902,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19906,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19906,1
    - Dst: basic_json::m_data::m_value::object::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19909,1
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19922,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19923,1
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19930,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19931,1
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19938,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19939,1
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19946,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19947,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19986,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19987,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19988,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19989,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19995,1
    - Dst: is_structured
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19995,1
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19995,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19995,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19995,1
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20002,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 176
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20003
      start: 19378
    functionDepth: 5
    functionLinenumber: 19378
    functionLinenumberEnd: 20003
    functionName: "NLOHMANN_BASIC_JSON_TPL_DECLARATION\nclass basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-special-member-functions)\n
      \   : public ::nlohmann::detail::json_base_class<CustomBaseClass>"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::vector::empty
    - std::forward<Args>
    - pcap_sendqueue_destroy
    - pcpp::internal::DynamicObjectPool::preallocate
    - basic_json::m_data::m_value::object::clear
    - end
    - std::unique_ptr::get
    - static_cast<void>
    - size
    - basic_json::is_object
    - std::vector::reserve
    - create
    - construct
    - basic_json::m_data::m_value::array::end
    - JSON_ASSERT
    - std::vector::push_back
    - std::vector::back
    - basic_json::m_data::m_value::array::begin
    - std::all_of
    - JSON_THROW
    - static_cast<number_integer_t>
    - is_structured
    - to_string
    - basic_json::m_data::m_value::array::clear
    - static_cast<boolean_t>
    - JSON_HEDLEY_UNLIKELY
    - concat
    - begin
    - allocator_type
    - static_cast<number_unsigned_t>
    - std::vector::pop_back
    - std::unique_ptr::release
    - AllocatorTraits::deallocate
    - std::allocator_traits<decltype(alloc)>::deallocate
    - basic_json::is_array
    - other_error::create
    - ::nlohmann::detail::parser<basic_json, InputAdapterType>
    - std::back_inserter
    - static_cast<number_float_t>
    - std::move
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_BEGIN
    signature: "NLOHMANN_JSON_NAMESPACE_BEGIN NLOHMANN_BASIC_JSON_TPL_DECLARATION\nclass
      basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-special-member-functions)\n
      \   : public ::nlohmann::detail::json_base_class<CustomBaseClass>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::nlohmann::detail::parser<basic_json, InputAdapterType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19441,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19441,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adapter
    argTypes:
    - InputAdapterType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19443
      start: 19434
    functionDepth: 0
    functionLinenumber: 19434
    functionLinenumberEnd: 19443
    functionName: parser
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - ::nlohmann::detail::parser<basic_json, InputAdapterType>
    - std::move
    linkageType: ''
    returnType: ::nlohmann::detail::parser<basic_json, InputAdapterType>
    signature: "::nlohmann::detail::parser<basic_json, InputAdapterType> parser(\n
      \       InputAdapterType adapter,\n        detail::parser_callback_t<basic_json>cb
      = nullptr,\n        const bool allow_exceptions = true,\n        const bool
      ignore_comments = false\n                                 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocator_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19545
      start: 19542
    functionDepth: 0
    functionLinenumber: 19542
    functionLinenumberEnd: 19545
    functionName: get_allocator
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - allocator_type
    linkageType: ''
    returnType: allocator_type
    signature: allocator_type get_allocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19558,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19558,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19559,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19560,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19582,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19583,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19584,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19585,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19603,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19610
      start: 19549
    functionDepth: 4
    functionLinenumber: 19549
    functionLinenumberEnd: 19610
    functionName: meta
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - concat
    - to_string
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT meta()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocatorTraits::deallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19687,1
    - Dst: pcpp::internal::DynamicObjectPool::preallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19689,1
    - Dst: construct
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19690,1
    - Dst: std::unique_ptr::get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19690,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19690,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19691,1
    - Dst: std::unique_ptr::release
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19693
      start: 19675
    functionDepth: 2
    functionLinenumber: 19675
    functionLinenumberEnd: 19693
    functionName: create
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 106
    functionsReached:
    - std::forward<Args>
    - pcpp::internal::DynamicObjectPool::preallocate
    - construct
    - std::unique_ptr::get
    - JSON_ASSERT
    - std::unique_ptr::release
    - AllocatorTraits::deallocate
    linkageType: ''
    returnType: "private:\n\n    /// helper for exception-safe object creation\n    template<typename
      T, typename... Args>"
    signature: "private:\n\n    /// helper for exception-safe object creation\n    template<typename
      T, typename... Args> * create(Args&& ... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19745
      start: 19745
    functionDepth: 0
    functionLinenumber: 19745
    functionLinenumberEnd: 19745
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - boolean_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19747
      start: 19747
    functionDepth: 0
    functionLinenumber: 19747
    functionLinenumberEnd: 19747
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value(boolean_t v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - number_integer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19749
      start: 19749
    functionDepth: 0
    functionLinenumber: 19749
    functionLinenumberEnd: 19749
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value(number_integer_t v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - number_unsigned_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19751
      start: 19751
    functionDepth: 0
    functionLinenumber: 19751
    functionLinenumberEnd: 19751
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value(number_unsigned_t v) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - number_float_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19753
      start: 19753
    functionDepth: 0
    functionLinenumber: 19753
    functionLinenumberEnd: 19753
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void json_value(number_float_t v) noexcept
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19761,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19767,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19773,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19779,1
    - Dst: static_cast<boolean_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19785,1
    - Dst: static_cast<number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19791,1
    - Dst: static_cast<number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19797,1
    - Dst: static_cast<number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19803,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19817,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19819,1
    - Dst: other_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19819,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 1
    argNames:
    - t
    argTypes:
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19824
      start: 19755
    functionDepth: 4
    functionLinenumber: 19755
    functionLinenumberEnd: 19824
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - static_cast<boolean_t>
    - create
    - JSON_HEDLEY_UNLIKELY
    - static_cast<number_unsigned_t>
    - other_error::create
    - static_cast<number_float_t>
    - JSON_THROW
    - static_cast<number_integer_t>
    linkageType: ''
    returnType: void
    signature: void json_value(value_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19827
      start: 19827
    functionDepth: 1
    functionLinenumber: 19827
    functionLinenumberEnd: 19827
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - create
    linkageType: ''
    returnType: void
    signature: void json_value(const string_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19830,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19830
      start: 19830
    functionDepth: 1
    functionLinenumber: 19830
    functionLinenumberEnd: 19830
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - create
    - std::move
    linkageType: ''
    returnType: void
    signature: void json_value(string_t&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19833
      start: 19833
    functionDepth: 1
    functionLinenumber: 19833
    functionLinenumberEnd: 19833
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - create
    linkageType: ''
    returnType: void
    signature: void json_value(const object_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19836,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19836
      start: 19836
    functionDepth: 1
    functionLinenumber: 19836
    functionLinenumberEnd: 19836
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - create
    - std::move
    linkageType: ''
    returnType: void
    signature: void json_value(object_t&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19839
      start: 19839
    functionDepth: 1
    functionLinenumber: 19839
    functionLinenumberEnd: 19839
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - create
    linkageType: ''
    returnType: void
    signature: void json_value(const array_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19842,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19842
      start: 19842
    functionDepth: 1
    functionLinenumber: 19842
    functionLinenumberEnd: 19842
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - create
    - std::move
    linkageType: ''
    returnType: void
    signature: void json_value(array_t&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename binary_t::container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19845
      start: 19845
    functionDepth: 1
    functionLinenumber: 19845
    functionLinenumberEnd: 19845
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - create
    linkageType: ''
    returnType: void
    signature: void json_value(const typename binary_t::container_type& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19848,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename binary_t::container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19848
      start: 19848
    functionDepth: 1
    functionLinenumber: 19848
    functionLinenumberEnd: 19848
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - create
    - std::move
    linkageType: ''
    returnType: void
    signature: void json_value(typename binary_t::container_type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19851
      start: 19851
    functionDepth: 1
    functionLinenumber: 19851
    functionLinenumberEnd: 19851
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - create
    linkageType: ''
    returnType: void
    signature: void json_value(const binary_t& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19854,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19854
      start: 19854
    functionDepth: 1
    functionLinenumber: 19854
    functionLinenumberEnd: 19854
    functionName: json_value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - create
    - std::move
    linkageType: ''
    returnType: void
    signature: void json_value(binary_t&& value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19876,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19876,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19877,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19877,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19877,1
    - Dst: std::back_inserter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19877,1
    - Dst: std::vector::reserve
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19881,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19881,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19884,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19884,1
    - Dst: std::vector::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19888,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19891,1
    - Dst: std::vector::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19891,1
    - Dst: std::vector::pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19892,1
    - Dst: basic_json::is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19896,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19898,1
    - Dst: basic_json::m_data::m_value::array::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19898,1
    - Dst: basic_json::m_data::m_value::array::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19898,1
    - Dst: std::back_inserter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19898,1
    - Dst: basic_json::m_data::m_value::array::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19900,1
    - Dst: basic_json::is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19902,1
    - Dst: std::vector::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19906,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19906,1
    - Dst: basic_json::m_data::m_value::object::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19909,1
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19922,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19923,1
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19930,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19931,1
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19938,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19939,1
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19946,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:19947,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 1
    argNames:
    - t
    argTypes:
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19962
      start: 19856
    functionDepth: 5
    functionLinenumber: 19856
    functionLinenumberEnd: 19962
    functionName: destroy
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 43
    functionsReached:
    - std::vector::empty
    - basic_json::m_data::m_value::array::clear
    - pcap_sendqueue_destroy
    - begin
    - end
    - basic_json::is_array
    - basic_json::m_data::m_value::array::end
    - basic_json::m_data::m_value::object::clear
    - std::allocator_traits<decltype(alloc)>::deallocate
    - std::vector::back
    - size
    - std::vector::push_back
    - basic_json::m_data::m_value::array::begin
    - std::vector::pop_back
    - basic_json::is_object
    - std::back_inserter
    - std::move
    - std::vector::reserve
    linkageType: ''
    returnType: void
    signature: void destroy(value_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20000
      start: 20000
    functionDepth: 0
    functionLinenumber: 20000
    functionLinenumberEnd: 20000
    functionName: JSON_CATCH
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JSON_CATCH(...)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20040
      start: 20005
    functionDepth: 0
    functionLinenumber: 20005
    functionLinenumberEnd: 20040
    functionName: set_parents
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_parents()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - it
    - count_set_parents
    argTypes:
    - iterator
    - typename iterator::difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20053
      start: 20042
    functionDepth: 0
    functionLinenumber: 20042
    functionLinenumberEnd: 20053
    functionName: set_parents
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 16
    functionsReached:
    - static_cast<void>
    linkageType: ''
    returnType: iterator
    signature: iterator set_parents(iterator it, typename iterator::difference_type
      count_set_parents)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20055,1
    - Dst: static_cast<std::size_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20058,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20061,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20061,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20062,1
    - Dst: m_value::array::capacity
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20062,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20065,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20078,1
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20087,1
    - Dst: static_cast<void>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - j
    argTypes:
    - reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20091
      start: 20055
    functionDepth: 1
    functionLinenumber: 20055
    functionLinenumberEnd: 20091
    functionName: set_parent
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - JSON_HEDLEY_UNLIKELY
    - m_value::array::capacity
    - static_cast<void>
    - JSON_ASSERT
    - set_parents
    - type
    - static_cast<std::size_t>
    linkageType: ''
    returnType: reference
    signature: reference set_parent(reference j, std::size_t old_capacity = static_cast<std::size_t>(-1))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20121
      start: 20117
    functionDepth: 0
    functionLinenumber: 20117
    functionLinenumberEnd: 20121
    functionName: basic_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void basic_json(const value_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20129
      start: 20125
    functionDepth: 0
    functionLinenumber: 20125
    functionLinenumberEnd: 20129
    functionName: basic_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void basic_json(std::nullptr_t = nullptr) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20137,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20138,1
    - Dst: std::declval<basic_json_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20138,1
    - Dst: std::forward<CompatibleType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20139,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20141,1
    - Dst: std::forward<CompatibleType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20141,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20142,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - CompatibleType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20144
      start: 20137
    functionDepth: 3
    functionLinenumber: 20137
    functionLinenumberEnd: 20144
    functionName: basic_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    - std::declval<basic_json_t&>
    - set_parents
    - noexcept
    - to_json
    - std::forward<CompatibleType>
    linkageType: ''
    returnType: void
    signature: "void basic_json(CompatibleType && val) noexcept(noexcept( // NOLINT(bugprone-forwarding-reference-overload,bugprone-exception-escape)\n
      \               JSONSerializer<U>::to_json(std::declval<basic_json_t&>(),\n
      \                                          std::forward<CompatibleType>(val))))"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20162,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20165,1
    - Dst: template get<other_boolean_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20165,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20168,1
    - Dst: template get<other_number_float_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20168,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20171,1
    - Dst: template get<other_number_integer_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20171,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20174,1
    - Dst: template get<other_number_unsigned_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20174,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20177,1
    - Dst: template get_ref<const other_string_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20177,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20180,1
    - Dst: template get_ref<const other_object_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20180,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20183,1
    - Dst: template get_ref<const other_array_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20183,1
    - Dst: to_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20186,1
    - Dst: template get_ref<const other_binary_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20186,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20195,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20197,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20197,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20198,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20199,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - BasicJsonType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20200
      start: 20151
    functionDepth: 3
    functionLinenumber: 20151
    functionLinenumberEnd: 20200
    functionName: basic_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - template get_ref<const other_string_t&>
    - assert_invariant
    - template get_ref<const other_binary_t&>
    - JSON_ASSERT
    - template get_ref<const other_object_t&>
    - template get<other_number_unsigned_t>
    - type
    - set_parents
    - template get_ref<const other_array_t&>
    - template get<other_number_float_t>
    - template get<other_boolean_t>
    - to_json
    - template get<other_number_integer_t>
    linkageType: ''
    returnType: void
    signature: void basic_json(const BasicJsonType& val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::all_of
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20210,1
    - Dst: initializer_list_t::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20210,1
    - Dst: initializer_list_t::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20210,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20216,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20216,1
    - Dst: static_cast<size_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20216,1
    - Dst: is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20216,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20229,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20231,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20231,1
    - Dst: moved_or_copied
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20243,1
    - Dst: m_value::object::emplace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20244,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20245,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20246,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20253,1
    - Dst: initializer_list_t::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20253,1
    - Dst: initializer_list_t::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20253,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20256,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - init
    argTypes:
    - initializer_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20258
      start: 20204
    functionDepth: 4
    functionLinenumber: 20204
    functionLinenumberEnd: 20258
    functionName: basic_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_string
    - JSON_HEDLEY_UNLIKELY
    - type_error::create
    - create
    - assert_invariant
    - initializer_list_t::end
    - m_value::object::emplace
    - std::all_of
    - size
    - moved_or_copied
    - set_parents
    - initializer_list_t::begin
    - JSON_THROW
    - static_cast<size_type>
    - is_array
    - std::move
    linkageType: ''
    returnType: void
    signature: "void basic_json(initializer_list_t init,\n               bool type_deduction
      = true,\n               value_t manual_type = value_t::array)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' init'
    argTypes:
    - typename binary_t::container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20269
      start: 20262
    functionDepth: 1
    functionLinenumber: 20262
    functionLinenumberEnd: 20269
    functionName: binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 15
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT binary(const typename binary_t::container_type&
      init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20276,1
    - Dst: binary_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' init'
    - subtype
    argTypes:
    - typename binary_t::container_type
    - typename binary_t::subtype_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20280
      start: 20273
    functionDepth: 1
    functionLinenumber: 20273
    functionLinenumberEnd: 20280
    functionName: binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 15
    functionsReached:
    - basic_json
    - binary_t
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT binary(const typename binary_t::container_type&
      init, typename binary_t::subtype_type subtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20287,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' init'
    argTypes:
    - typename binary_t::container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20291
      start: 20284
    functionDepth: 1
    functionLinenumber: 20284
    functionLinenumberEnd: 20291
    functionName: binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 15
    functionsReached:
    - basic_json
    - std::move
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT binary(typename binary_t::container_type&&
      init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20298,1
    - Dst: binary_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20300,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' init'
    - subtype
    argTypes:
    - typename binary_t::container_type
    - typename binary_t::subtype_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20302
      start: 20295
    functionDepth: 1
    functionLinenumber: 20295
    functionLinenumberEnd: 20302
    functionName: binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 15
    functionsReached:
    - basic_json
    - std::move
    - binary_t
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT binary(typename binary_t::container_type&&
      init, typename binary_t::subtype_type subtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20310
      start: 20306
    functionDepth: 1
    functionLinenumber: 20306
    functionLinenumberEnd: 20310
    functionName: array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 34
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT array(initializer_list_t init = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20318
      start: 20314
    functionDepth: 1
    functionLinenumber: 20314
    functionLinenumberEnd: 20318
    functionName: object
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 27
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: JSON_HEDLEY_WARN_UNUSED_RESULT object(initializer_list_t init = {})
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20325,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cnt
    - ' val'
    argTypes:
    - size_type
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20327
      start: 20322
    functionDepth: 1
    functionLinenumber: 20322
    functionLinenumberEnd: 20327
    functionName: basic_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - set_parents
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void basic_json(size_type cnt, const basic_json& val)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20336,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20337,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20340,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20342,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20342,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20357,1
    - Dst: InputIT::m_it::primitive_iterator::is_begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20357,1
    - Dst: InputIT::m_it::primitive_iterator::is_end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20358,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20360,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20360,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20408,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20415,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20429,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20429,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20429,1
    - Dst: InputIT::m_object::type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20429,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20432,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20433,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - InputIT
    - InputIT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20434
      start: 20334
    functionDepth: 4
    functionLinenumber: 20334
    functionLinenumberEnd: 20434
    functionName: basic_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - assert_invariant
    - InputIT::m_object::type_name
    - InputIT::m_it::primitive_iterator::is_begin
    - JSON_ASSERT
    - InputIT::m_it::primitive_iterator::is_end
    - set_parents
    - JSON_THROW
    - invalid_iterator::create
    linkageType: ''
    returnType: void
    signature: void basic_json(InputIT first, InputIT last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: moved_or_copied
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' ref'
    argTypes:
    - JsonRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20443
      start: 20443
    functionDepth: 0
    functionLinenumber: 20443
    functionLinenumberEnd: 20443
    functionName: basic_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - moved_or_copied
    linkageType: ''
    returnType: void
    signature: void basic_json(const JsonRef& ref)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20452,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20510,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20511,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20512
      start: 20447
    functionDepth: 1
    functionLinenumber: 20447
    functionLinenumberEnd: 20512
    functionName: basic_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - set_parents
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void basic_json(const basic_json& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<json_base_class_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20517,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20518,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20521,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20527,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20529
      start: 20516
    functionDepth: 1
    functionLinenumber: 20516
    functionLinenumberEnd: 20529
    functionName: basic_json
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - set_parents
    - assert_invariant
    - std::move
    - std::forward<json_base_class_t>
    linkageType: ''
    returnType: void
    signature: void basic_json(basic_json&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json::assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20542,1
    - Dst: swap
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20545,1
    - Dst: swap
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20546,1
    - Dst: json_base_class_t::operator=
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20547,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20547,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20549,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20552
      start: 20533
    functionDepth: 1
    functionLinenumber: 20533
    functionLinenumberEnd: 20552
    functionName: "& operator=(basic_json other) noexcept (\n        std::is_nothrow_move_constructible<value_t>::value&&\n
      \       std::is_nothrow_move_assignable<value_t>::value&&\n        std::is_nothrow_move_constructible<json_value>::value&&\n
      \       std::is_nothrow_move_assignable<json_value>::value&&\n        std::is_nothrow_move_assignable<json_base_class_t>::value\n
      \   )"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_base_class_t::operator=
    - assert_invariant
    - swap
    - basic_json::assert_invariant
    - set_parents
    - std::move
    linkageType: ''
    returnType: basic_json
    signature: "basic_json & operator=(basic_json other) noexcept (\n        std::is_nothrow_move_constructible<value_t>::value&&\n
      \       std::is_nothrow_move_assignable<value_t>::value&&\n        std::is_nothrow_move_constructible<json_value>::value&&\n
      \       std::is_nothrow_move_assignable<json_value>::value&&\n        std::is_nothrow_move_assignable<json_base_class_t>::value\n
      \   )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20559
      start: 20556
    functionDepth: 0
    functionLinenumber: 20556
    functionLinenumberEnd: 20559
    functionName: ~basic_json() noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: void ~basic_json() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20599
      start: 20596
    functionDepth: 0
    functionLinenumber: 20596
    functionLinenumberEnd: 20599
    functionName: type
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 110
    functionsReached: []
    linkageType: ''
    returnType: value_t
    signature: value_t type() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20605,1
    - Dst: is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20605,1
    - Dst: is_boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20605,1
    - Dst: is_number
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20605,1
    - Dst: is_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20606
      start: 20603
    functionDepth: 1
    functionLinenumber: 20603
    functionLinenumberEnd: 20606
    functionName: is_primitive
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_string
    - is_number
    - is_binary
    - is_null
    - is_boolean
    linkageType: ''
    returnType: bool
    signature: bool is_primitive() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20612,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20613
      start: 20610
    functionDepth: 1
    functionLinenumber: 20610
    functionLinenumberEnd: 20613
    functionName: is_structured
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - is_object
    - is_array
    linkageType: ''
    returnType: bool
    signature: bool is_structured() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20620
      start: 20617
    functionDepth: 0
    functionLinenumber: 20617
    functionLinenumberEnd: 20620
    functionName: is_null
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_null() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20627
      start: 20624
    functionDepth: 0
    functionLinenumber: 20624
    functionLinenumberEnd: 20627
    functionName: is_boolean
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_boolean() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20633,1
    - Dst: is_number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20634
      start: 20631
    functionDepth: 1
    functionLinenumber: 20631
    functionLinenumberEnd: 20634
    functionName: is_number
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - is_number_integer
    - is_number_float
    linkageType: ''
    returnType: bool
    signature: bool is_number() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20641
      start: 20638
    functionDepth: 0
    functionLinenumber: 20638
    functionLinenumberEnd: 20641
    functionName: is_number_integer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_number_integer() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20648
      start: 20645
    functionDepth: 0
    functionLinenumber: 20645
    functionLinenumberEnd: 20648
    functionName: is_number_unsigned
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_number_unsigned() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20655
      start: 20652
    functionDepth: 0
    functionLinenumber: 20652
    functionLinenumberEnd: 20655
    functionName: is_number_float
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_number_float() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20662
      start: 20659
    functionDepth: 0
    functionLinenumber: 20659
    functionLinenumberEnd: 20662
    functionName: is_object
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_object() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20669
      start: 20666
    functionDepth: 0
    functionLinenumber: 20666
    functionLinenumberEnd: 20669
    functionName: is_array
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_array() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20676
      start: 20673
    functionDepth: 0
    functionLinenumber: 20673
    functionLinenumberEnd: 20676
    functionName: is_string
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_string() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20683
      start: 20680
    functionDepth: 0
    functionLinenumber: 20680
    functionLinenumberEnd: 20683
    functionName: is_binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_binary() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20690
      start: 20687
    functionDepth: 0
    functionLinenumber: 20687
    functionLinenumberEnd: 20690
    functionName: is_discarded
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_discarded() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20697
      start: 20694
    functionDepth: 0
    functionLinenumber: 20694
    functionLinenumberEnd: 20697
    functionName: operator value_t() const noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator value_t() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20721
      start: 20718
    functionDepth: 1
    functionLinenumber: 20718
    functionLinenumberEnd: 20721
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_object
    linkageType: ''
    returnType: object_t
    signature: object_t * get_impl_ptr(object_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20727
      start: 20724
    functionDepth: 1
    functionLinenumber: 20724
    functionLinenumberEnd: 20727
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_object
    linkageType: ''
    returnType: object_t
    signature: object_t * get_impl_ptr(const object_t* /*unused*/) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20733
      start: 20730
    functionDepth: 1
    functionLinenumber: 20730
    functionLinenumberEnd: 20733
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_array
    linkageType: ''
    returnType: array_t
    signature: array_t * get_impl_ptr(array_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20739
      start: 20736
    functionDepth: 1
    functionLinenumber: 20736
    functionLinenumberEnd: 20739
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_array
    linkageType: ''
    returnType: array_t
    signature: array_t * get_impl_ptr(const array_t* /*unused*/) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20745
      start: 20742
    functionDepth: 1
    functionLinenumber: 20742
    functionLinenumberEnd: 20745
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_string
    linkageType: ''
    returnType: string_t
    signature: string_t * get_impl_ptr(string_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20751
      start: 20748
    functionDepth: 1
    functionLinenumber: 20748
    functionLinenumberEnd: 20751
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_string
    linkageType: ''
    returnType: string_t
    signature: string_t * get_impl_ptr(const string_t* /*unused*/) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20757
      start: 20754
    functionDepth: 1
    functionLinenumber: 20754
    functionLinenumberEnd: 20757
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_boolean
    linkageType: ''
    returnType: boolean_t
    signature: boolean_t * get_impl_ptr(boolean_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_boolean
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20763
      start: 20760
    functionDepth: 1
    functionLinenumber: 20760
    functionLinenumberEnd: 20763
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_boolean
    linkageType: ''
    returnType: boolean_t
    signature: boolean_t * get_impl_ptr(const boolean_t* /*unused*/) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20769
      start: 20766
    functionDepth: 1
    functionLinenumber: 20766
    functionLinenumberEnd: 20769
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_integer
    linkageType: ''
    returnType: number_integer_t
    signature: number_integer_t * get_impl_ptr(number_integer_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number_integer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20775
      start: 20772
    functionDepth: 1
    functionLinenumber: 20772
    functionLinenumberEnd: 20775
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_integer
    linkageType: ''
    returnType: number_integer_t
    signature: number_integer_t * get_impl_ptr(const number_integer_t* /*unused*/)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20781
      start: 20778
    functionDepth: 1
    functionLinenumber: 20778
    functionLinenumberEnd: 20781
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_unsigned
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t * get_impl_ptr(number_unsigned_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number_unsigned
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20787
      start: 20784
    functionDepth: 1
    functionLinenumber: 20784
    functionLinenumberEnd: 20787
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_unsigned
    linkageType: ''
    returnType: number_unsigned_t
    signature: number_unsigned_t * get_impl_ptr(const number_unsigned_t* /*unused*/)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20793
      start: 20790
    functionDepth: 1
    functionLinenumber: 20790
    functionLinenumberEnd: 20793
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_float
    linkageType: ''
    returnType: number_float_t
    signature: number_float_t * get_impl_ptr(number_float_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_number_float
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20799
      start: 20796
    functionDepth: 1
    functionLinenumber: 20796
    functionLinenumberEnd: 20799
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_number_float
    linkageType: ''
    returnType: number_float_t
    signature: number_float_t * get_impl_ptr(const number_float_t* /*unused*/) const
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20805
      start: 20802
    functionDepth: 1
    functionLinenumber: 20802
    functionLinenumberEnd: 20805
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_binary
    linkageType: ''
    returnType: binary_t
    signature: binary_t * get_impl_ptr(binary_t* /*unused*/) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20811
      start: 20808
    functionDepth: 1
    functionLinenumber: 20808
    functionLinenumberEnd: 20811
    functionName: get_impl_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - is_binary
    linkageType: ''
    returnType: binary_t
    signature: binary_t * get_impl_ptr(const binary_t* /*unused*/) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: template get_ptr<typename std::add_pointer<ReferenceType>::type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20828,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20830,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20835,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20835,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20835,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - ThisType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20836
      start: 20825
    functionDepth: 4
    functionLinenumber: 20825
    functionLinenumberEnd: 20836
    functionName: get_ref_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - type_error::create
    - concat
    - type_name
    - template get_ptr<typename std::add_pointer<ReferenceType>::type>
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: ReferenceType
    signature: ReferenceType get_ref_impl(ThisType& obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<const basic_json_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20858,1
    - Dst: std::declval<PointerType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20858,1
    - Dst: get_impl_ptr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20861,1
    - Dst: static_cast<PointerType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20862
      start: 20858
    functionDepth: 2
    functionLinenumber: 20858
    functionLinenumberEnd: 20862
    functionName: get_ptr
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::declval<const basic_json_t&>
    - static_cast<PointerType>
    - std::declval<PointerType>
    - get_impl_ptr
    linkageType: ''
    returnType: auto
    signature: auto get_ptr() const noexcept -> decltype(std::declval<const basic_json_t&>().get_impl_ptr(std::declval<PointerType>()))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ValueType
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20911,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20914
      start: 20908
    functionDepth: 5
    functionLinenumber: 20908
    functionLinenumberEnd: 20914
    functionName: noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 21
    functionsReached:
    - from_json
    - ValueType
    linkageType: ''
    returnType: void
    signature: "void noexcept(noexcept(\n                JSONSerializer<ValueType>::from_json(std::declval<const
      basic_json_t&>(), std::declval<ValueType&>())))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20950,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20951,1
    - Dst: std::declval<const basic_json_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20951,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:20953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20954
      start: 20950
    functionDepth: 6
    functionLinenumber: 20950
    functionLinenumberEnd: 20954
    functionName: get_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - from_json
    - noexcept
    - std::declval<const basic_json_t&>
    linkageType: ''
    returnType: ValueType
    signature: "ValueType get_impl(detail::priority_tag<1> /*unused*/) const noexcept(noexcept(\n
      \               JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>())))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20978
      start: 20975
    functionDepth: 0
    functionLinenumber: 20975
    functionLinenumberEnd: 20978
    functionName: get_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BasicJsonType
    signature: BasicJsonType get_impl(detail::priority_tag<2> /*unused*/) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21001
      start: 20998
    functionDepth: 0
    functionLinenumber: 20998
    functionLinenumberEnd: 21001
    functionName: get_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: basic_json
    signature: basic_json get_impl(detail::priority_tag<3> /*unused*/) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<const basic_json_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21012,1
    - Dst: get_ptr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21016
      start: 21011
    functionDepth: 3
    functionLinenumber: 21011
    functionLinenumberEnd: 21016
    functionName: get_impl
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::declval<const basic_json_t&>
    - get_ptr
    linkageType: ''
    returnType: auto
    signature: "auto get_impl(detail::priority_tag<4> /*unused*/) const noexcept\n
      \   -> decltype(std::declval<const basic_json_t&>().template get_ptr<PointerType>())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<basic_json_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21087,1
    - Dst: get_ptr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21091
      start: 21087
    functionDepth: 3
    functionLinenumber: 21087
    functionLinenumberEnd: 21091
    functionName: get
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 422
    functionsReached:
    - get_ptr
    - std::declval<basic_json_t&>
    linkageType: ''
    returnType: auto
    signature: auto get() noexcept -> decltype(std::declval<basic_json_t&>().template
      get_ptr<PointerType>())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21100,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21101,1
    - Dst: std::declval<const basic_json_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21101,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21105
      start: 21100
    functionDepth: 6
    functionLinenumber: 21100
    functionLinenumberEnd: 21105
    functionName: get_to
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - from_json
    - noexcept
    - std::declval<const basic_json_t&>
    linkageType: ''
    returnType: ValueType
    signature: "ValueType & get_to(ValueType& v) const noexcept(noexcept(\n                JSONSerializer<ValueType>::from_json(std::declval<const
      basic_json_t&>(), v)))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21117
      start: 21113
    functionDepth: 0
    functionLinenumber: 21113
    functionLinenumberEnd: 21117
    functionName: get_to
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ValueType
    signature: ValueType & get_to(ValueType& v) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: noexcept
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21125,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21125,1
    - Dst: std::declval<const basic_json_t&>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21126,1
    - Dst: from_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - (v)
    argTypes:
    - T[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21130
      start: 21124
    functionDepth: 6
    functionLinenumber: 21124
    functionLinenumberEnd: 21130
    functionName: get_to
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - from_json
    - noexcept
    - std::declval<const basic_json_t&>
    linkageType: ''
    returnType: Array
    signature: "Array get_to(T (&v)[N]) const // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays)\n
      \   noexcept(noexcept(JSONSerializer<Array>::from_json(\n                          std::declval<const
      basic_json_t&>(), v)))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ref_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21140
      start: 21136
    functionDepth: 5
    functionLinenumber: 21136
    functionLinenumberEnd: 21140
    functionName: get_ref
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - get_ref_impl
    linkageType: ''
    returnType: ReferenceType
    signature: ReferenceType get_ref()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_ref_impl
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21151
      start: 21147
    functionDepth: 5
    functionLinenumber: 21147
    functionLinenumberEnd: 21151
    functionName: get_ref
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - get_ref_impl
    linkageType: ''
    returnType: ReferenceType
    signature: ReferenceType get_ref() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21208,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21210,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21210,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21210,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21210,1
    - Dst: get_ptr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21214
      start: 21206
    functionDepth: 4
    functionLinenumber: 21206
    functionLinenumberEnd: 21214
    functionName: get_binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 8
    functionsReached:
    - type_error::create
    - concat
    - get_ptr
    - is_binary
    - type_name
    - JSON_THROW
    linkageType: ''
    returnType: binary_t
    signature: binary_t & get_binary()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21220,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21222,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21222,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21222,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21222,1
    - Dst: get_ptr
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21226
      start: 21218
    functionDepth: 4
    functionLinenumber: 21218
    functionLinenumberEnd: 21226
    functionName: get_binary
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 8
    functionsReached:
    - type_error::create
    - concat
    - get_ptr
    - is_binary
    - type_name
    - JSON_THROW
    linkageType: ''
    returnType: binary_t
    signature: binary_t & get_binary() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21243,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21243,1
    - Dst: set_parent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21247,1
    - Dst: m_value::array::at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21247,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21252,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21252,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21252,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21254
      start: 21240
    functionDepth: 4
    functionLinenumber: 21240
    functionLinenumberEnd: 21254
    functionName: at
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 289
    functionsReached:
    - out_of_range::create
    - concat
    - set_parent
    - m_value::array::at
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - is_array
    - to_string
    linkageType: ''
    returnType: reference
    signature: reference at(size_type idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21252,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21252,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21252,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21253
      start: 21249
    functionDepth: 4
    functionLinenumber: 21249
    functionLinenumberEnd: 21253
    functionName: JSON_CATCH
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - to_string
    - concat
    - out_of_range::create
    linkageType: ''
    returnType: void
    signature: void JSON_CATCH (std::out_of_range&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21266,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21266,1
    - Dst: m_value::array::at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21270,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21275,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21275,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21275,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21277
      start: 21263
    functionDepth: 4
    functionLinenumber: 21263
    functionLinenumberEnd: 21277
    functionName: at
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 291
    functionsReached:
    - out_of_range::create
    - concat
    - m_value::array::at
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - is_array
    - to_string
    linkageType: ''
    returnType: const_reference
    signature: const_reference at(size_type idx) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21275,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21275,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21275,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21276
      start: 21272
    functionDepth: 4
    functionLinenumber: 21272
    functionLinenumberEnd: 21276
    functionName: JSON_CATCH
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_THROW
    - to_string
    - concat
    - out_of_range::create
    linkageType: ''
    returnType: void
    signature: void JSON_CATCH (std::out_of_range&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21289,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21289,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21291,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21291,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21291,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21291,1
    - Dst: m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21294,1
    - Dst: m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21295,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21297,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21297,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21297,1
    - Dst: set_parent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21300
      start: 21286
    functionDepth: 7
    functionLinenumber: 21286
    functionLinenumberEnd: 21300
    functionName: at
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 293
    functionsReached:
    - out_of_range::create
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - set_parent
    - type_name
    - is_object
    - m_value::object::end
    - JSON_THROW
    - m_value::object::find
    linkageType: ''
    returnType: reference
    signature: reference at(const typename object_t::key_type& key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21309,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21309,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21311,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21311,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21311,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21311,1
    - Dst: m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21314,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21314,1
    - Dst: m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21315,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21317,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21317,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21317,1
    - Dst: string_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21317,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21317,1
    - Dst: set_parent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21320
      start: 21306
    functionDepth: 7
    functionLinenumber: 21306
    functionLinenumberEnd: 21320
    functionName: at
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 294
    functionsReached:
    - out_of_range::create
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - set_parent
    - type_name
    - is_object
    - string_t
    - m_value::object::end
    - std::forward<KeyType>
    - JSON_THROW
    - m_value::object::find
    linkageType: ''
    returnType: reference
    signature: reference at(KeyType && key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21327,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21327,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21329,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21329,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21329,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21329,1
    - Dst: m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21332,1
    - Dst: m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21333,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21335,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21335,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21338
      start: 21324
    functionDepth: 7
    functionLinenumber: 21324
    functionLinenumberEnd: 21338
    functionName: at
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 295
    functionsReached:
    - out_of_range::create
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - type_name
    - is_object
    - m_value::object::end
    - JSON_THROW
    - m_value::object::find
    linkageType: ''
    returnType: const_reference
    signature: const_reference at(const typename object_t::key_type& key) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21347,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21347,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21349,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21349,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21349,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21349,1
    - Dst: m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21352,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21352,1
    - Dst: m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21353,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21355,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21355,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21355,1
    - Dst: string_t
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21355,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21358
      start: 21344
    functionDepth: 7
    functionLinenumber: 21344
    functionLinenumberEnd: 21358
    functionName: at
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 296
    functionsReached:
    - out_of_range::create
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - type_name
    - is_object
    - string_t
    - m_value::object::end
    - std::forward<KeyType>
    - JSON_THROW
    - m_value::object::find
    linkageType: ''
    returnType: const_reference
    signature: const_reference at(KeyType && key) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21365,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21368,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21369,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21373,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21373,1
    - Dst: m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21376,1
    - Dst: m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21380,1
    - Dst: m_value::array::capacity
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21381,1
    - Dst: m_value::array::resize
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21383,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21386,1
    - Dst: m_value::array::capacity
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21386,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21389,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21394,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21394,1
    - Dst: static_cast<typename iterator::difference_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21394,1
    - Dst: static_cast<typename iterator::difference_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21394,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21397,1
    - Dst: m_value::array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21400,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21403,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21403,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21403,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21404
      start: 21362
    functionDepth: 4
    functionLinenumber: 21362
    functionLinenumberEnd: 21404
    functionName: operator[](size_type idx)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - create
    - JSON_HEDLEY_UNLIKELY
    - type_error::create
    - m_value::array::capacity
    - m_value::array
    - assert_invariant
    - begin
    - concat
    - is_null
    - m_value::array::resize
    - type_name
    - static_cast<typename iterator::difference_type>
    - set_parents
    - m_value::array::size
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - is_array
    linkageType: ''
    returnType: reference
    signature: reference operator[](size_type idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21411,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21411,1
    - Dst: m_value::array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21413,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21416,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21416,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21416,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21417
      start: 21408
    functionDepth: 4
    functionLinenumber: 21408
    functionLinenumberEnd: 21417
    functionName: operator[](size_type idx) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - type_error::create
    - m_value::array
    - concat
    - type_name
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - is_array
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator[](size_type idx) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21424,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21427,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21428,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21432,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21432,1
    - Dst: m_value::object::emplace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21434,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21434,1
    - Dst: set_parent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21435,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21438,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21438,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21438,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - typename object_t::key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21439
      start: 21421
    functionDepth: 4
    functionLinenumber: 21421
    functionLinenumberEnd: 21439
    functionName: operator[](typename object_t::key_type key)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - create
    - type_error::create
    - concat
    - assert_invariant
    - set_parent
    - m_value::object::emplace
    - is_null
    - type_name
    - is_object
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - std::move
    linkageType: ''
    returnType: reference
    signature: reference operator[](typename object_t::key_type key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21446,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21446,1
    - Dst: m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21448,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21449,1
    - Dst: m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21449,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21453,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21453,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21453,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21454
      start: 21443
    functionDepth: 7
    functionLinenumber: 21443
    functionLinenumberEnd: 21454
    functionName: operator[](const typename object_t::key_type& key) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - type_error::create
    - concat
    - type_name
    - is_object
    - JSON_ASSERT
    - m_value::object::end
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - m_value::object::find
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator[](const typename object_t::key_type& key)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: object_t::key_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21462
      start: 21459
    functionDepth: 0
    functionLinenumber: 21459
    functionLinenumberEnd: 21462
    functionName: operator[](T* key)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - object_t::key_type
    linkageType: ''
    returnType: reference
    signature: reference operator[](T* key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: object_t::key_type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21468
      start: 21465
    functionDepth: 0
    functionLinenumber: 21465
    functionLinenumberEnd: 21468
    functionName: operator[](T* key) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - object_t::key_type
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator[](T* key) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21477,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21480,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21481,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21485,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21485,1
    - Dst: m_value::object::emplace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21487,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21487,1
    - Dst: set_parent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21488,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21491,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21491,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21491,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21492
      start: 21474
    functionDepth: 4
    functionLinenumber: 21474
    functionLinenumberEnd: 21492
    functionName: operator[](KeyType && key)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - create
    - type_error::create
    - concat
    - assert_invariant
    - set_parent
    - m_value::object::emplace
    - is_null
    - type_name
    - is_object
    - std::forward<KeyType>
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: reference
    signature: reference operator[](KeyType && key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21501,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21501,1
    - Dst: m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21503,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21503,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21504,1
    - Dst: m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21504,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21508,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21508,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21508,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21509
      start: 21498
    functionDepth: 7
    functionLinenumber: 21498
    functionLinenumberEnd: 21509
    functionName: operator[](KeyType && key) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - type_error::create
    - concat
    - type_name
    - is_object
    - JSON_ASSERT
    - m_value::object::end
    - std::forward<KeyType>
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - m_value::object::find
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator[](KeyType && key) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21531,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21531,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21534,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21535,1
    - Dst: auto::template get<ValueType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21537,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21543,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21543,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21543,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - ' default_value'
    argTypes:
    - typename object_t::key_type
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21544
      start: 21521
    functionDepth: 7
    functionLinenumber: 21521
    functionLinenumberEnd: 21544
    functionName: value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 61
    functionsReached:
    - type_error::create
    - concat
    - end
    - type_name
    - is_object
    - find
    - auto::template get<ValueType>
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: "public:\n    /// @brief access specified object element with default
      value\n    /// @sa https://json.nlohmann.me/api/basic_json/value/\n    template
      < class ValueType, detail::enable_if_t <\n                   !detail::is_transparent<object_comparator_t>::value\n
      \                  && detail::is_getable<basic_json_t, ValueType>::value\n                   &&
      !std::is_same<value_t, detail::uncvref_t<ValueType>>::value, int > = 0 >"
    signature: "public:\n    /// @brief access specified object element with default
      value\n    /// @sa https://json.nlohmann.me/api/basic_json/value/\n    template
      < class ValueType, detail::enable_if_t <\n                   !detail::is_transparent<object_comparator_t>::value\n
      \                  && detail::is_getable<basic_json_t, ValueType>::value\n                   &&
      !std::is_same<value_t, detail::uncvref_t<ValueType>>::value, int > = 0 > value(const
      typename object_t::key_type& key, const ValueType& default_value) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21556,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21556,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21559,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21560,1
    - Dst: auto::template get<ReturnType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21562,1
    - Dst: std::forward<ValueType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21565,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21568,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21568,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21568,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - ' default_value'
    argTypes:
    - typename object_t::key_type
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21569
      start: 21553
    functionDepth: 7
    functionLinenumber: 21553
    functionLinenumberEnd: 21569
    functionName: value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 61
    functionsReached:
    - type_error::create
    - concat
    - end
    - type_name
    - is_object
    - find
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - auto::template get<ReturnType>
    - std::forward<ValueType>
    linkageType: ''
    returnType: ReturnType
    signature: ReturnType value(const typename object_t::key_type& key, ValueType
      && default_value) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21582,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21582,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21585,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21585,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21586,1
    - Dst: auto::template get<ValueType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21588,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21594,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21594,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21594,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - ' default_value'
    argTypes:
    - KeyType
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21595
      start: 21579
    functionDepth: 7
    functionLinenumber: 21579
    functionLinenumberEnd: 21595
    functionName: value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 61
    functionsReached:
    - type_error::create
    - concat
    - end
    - type_name
    - is_object
    - std::forward<KeyType>
    - find
    - auto::template get<ValueType>
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: ValueType
    signature: ValueType value(KeyType && key, const ValueType& default_value) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21609,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21609,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21612,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21612,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21613,1
    - Dst: auto::template get<ReturnType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21615,1
    - Dst: std::forward<ValueType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21618,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21621,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21621,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21621,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' key'
    - ' default_value'
    argTypes:
    - KeyType
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21622
      start: 21606
    functionDepth: 7
    functionLinenumber: 21606
    functionLinenumberEnd: 21622
    functionName: value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 61
    functionsReached:
    - type_error::create
    - concat
    - end
    - type_name
    - is_object
    - std::forward<KeyType>
    - find
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - auto::template get<ReturnType>
    - std::forward<ValueType>
    linkageType: ''
    returnType: ReturnType
    signature: ReturnType value(KeyType && key, ValueType && default_value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21632,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21632,1
    - Dst: get_checked
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' ptr'
    - ' default_value'
    argTypes:
    - json_pointer
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21643
      start: 21629
    functionDepth: 5
    functionLinenumber: 21629
    functionLinenumberEnd: 21643
    functionName: value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 61
    functionsReached:
    - is_object
    - JSON_HEDLEY_LIKELY
    - get_checked
    linkageType: ''
    returnType: ValueType
    signature: ValueType value(const json_pointer& ptr, const ValueType& default_value)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21642
      start: 21639
    functionDepth: 0
    functionLinenumber: 21639
    functionLinenumberEnd: 21642
    functionName: JSON_INTERNAL_CATCH
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JSON_INTERNAL_CATCH (out_of_range&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21657,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21657,1
    - Dst: get_checked
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21662,1
    - Dst: std::forward<ValueType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' ptr'
    - ' default_value'
    argTypes:
    - json_pointer
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21668
      start: 21654
    functionDepth: 5
    functionLinenumber: 21654
    functionLinenumberEnd: 21668
    functionName: value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 61
    functionsReached:
    - std::forward<ValueType>
    - is_object
    - JSON_HEDLEY_LIKELY
    - get_checked
    linkageType: ''
    returnType: ReturnType
    signature: ReturnType value(const json_pointer& ptr, ValueType && default_value)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<ValueType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21667
      start: 21664
    functionDepth: 0
    functionLinenumber: 21664
    functionLinenumberEnd: 21667
    functionName: JSON_INTERNAL_CATCH
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::forward<ValueType>
    linkageType: ''
    returnType: void
    signature: void JSON_INTERNAL_CATCH (out_of_range&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21680,1
    - Dst: convert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' ptr'
    - ' default_value'
    argTypes:
    - ::nlohmann::json_pointer<BasicJsonType>
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21681
      start: 21678
    functionDepth: 1
    functionLinenumber: 21678
    functionLinenumberEnd: 21681
    functionName: value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 62
    functionsReached:
    - value
    - convert
    linkageType: ''
    returnType: ValueType
    signature: ValueType value(const ::nlohmann::json_pointer<BasicJsonType>& ptr,
      const ValueType& default_value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21691,1
    - Dst: convert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21691,1
    - Dst: std::forward<ValueType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' ptr'
    - ' default_value'
    argTypes:
    - ::nlohmann::json_pointer<BasicJsonType>
    - ValueType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21692
      start: 21689
    functionDepth: 1
    functionLinenumber: 21689
    functionLinenumberEnd: 21692
    functionName: value
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 63
    functionsReached:
    - std::forward<ValueType>
    - value
    - convert
    linkageType: ''
    returnType: ReturnType
    signature: ReturnType value(const ::nlohmann::json_pointer<BasicJsonType>& ptr,
      ValueType && default_value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21699
      start: 21696
    functionDepth: 1
    functionLinenumber: 21696
    functionLinenumberEnd: 21699
    functionName: front
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 12
    functionsReached:
    - begin
    linkageType: ''
    returnType: reference
    signature: reference front()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21706
      start: 21703
    functionDepth: 1
    functionLinenumber: 21703
    functionLinenumberEnd: 21706
    functionName: front
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 12
    functionsReached:
    - cbegin
    linkageType: ''
    returnType: const_reference
    signature: const_reference front() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21715
      start: 21710
    functionDepth: 1
    functionLinenumber: 21710
    functionLinenumberEnd: 21715
    functionName: back
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 315
    functionsReached:
    - end
    linkageType: ''
    returnType: reference
    signature: reference back()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21724
      start: 21719
    functionDepth: 1
    functionLinenumber: 21719
    functionLinenumberEnd: 21724
    functionName: back
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 315
    functionsReached:
    - cend
    linkageType: ''
    returnType: const_reference
    signature: const_reference back() const
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21734,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21736,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21736,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21739,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21750,1
    - Dst: IteratorType::m_it::primitive_iterator::is_begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21750,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21752,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21752,1
    - Dst: is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21755,1
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21758,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21759,1
    - Dst: is_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21762,1
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21765,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21766,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21771,1
    - Dst: m_value::object::erase
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21777,1
    - Dst: m_value::array::erase
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21783,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21790,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21790,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21790,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21790,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - pos
    argTypes:
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21794
      start: 21731
    functionDepth: 4
    functionLinenumber: 21731
    functionLinenumberEnd: 21794
    functionName: erase
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 63
    functionsReached:
    - m_value::object::erase
    - is_string
    - JSON_HEDLEY_UNLIKELY
    - type_error::create
    - concat
    - pcap_sendqueue_destroy
    - assert_invariant
    - std::allocator_traits<decltype(alloc)>::deallocate
    - end
    - is_binary
    - type_name
    - m_value::array::erase
    - JSON_THROW
    - invalid_iterator::create
    - IteratorType::m_it::primitive_iterator::is_begin
    linkageType: ''
    returnType: IteratorType
    signature: IteratorType erase(IteratorType pos)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21804,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21806,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21806,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21809,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21820,1
    - Dst: IteratorType::m_it::primitive_iterator::is_begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21820,1
    - Dst: IteratorType::m_it::primitive_iterator::is_end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21821,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21823,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21823,1
    - Dst: is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21826,1
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21829,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21830,1
    - Dst: is_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21833,1
    - Dst: pcap_sendqueue_destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21836,1
    - Dst: std::allocator_traits<decltype(alloc)>::deallocate
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21837,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21842,1
    - Dst: m_value::object::erase
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21848,1
    - Dst: m_value::array::erase
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21855,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21863,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21863,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21863,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21863,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21867
      start: 21801
    functionDepth: 4
    functionLinenumber: 21801
    functionLinenumberEnd: 21867
    functionName: erase
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 64
    functionsReached:
    - m_value::object::erase
    - is_string
    - JSON_HEDLEY_UNLIKELY
    - type_error::create
    - concat
    - pcap_sendqueue_destroy
    - assert_invariant
    - std::allocator_traits<decltype(alloc)>::deallocate
    - end
    - is_binary
    - type_name
    - IteratorType::m_it::primitive_iterator::is_begin
    - m_value::array::erase
    - JSON_THROW
    - invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - IteratorType::m_it::primitive_iterator::is_end
    linkageType: ''
    returnType: IteratorType
    signature: IteratorType erase(IteratorType first, IteratorType last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21875,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21875,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21877,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21877,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21877,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21877,1
    - Dst: m_value::object::erase
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21880,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21881
      start: 21869
    functionDepth: 6
    functionLinenumber: 21869
    functionLinenumberEnd: 21881
    functionName: erase_internal
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::object::erase
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - type_name
    - is_object
    - std::forward<KeyType>
    - JSON_THROW
    linkageType: ''
    returnType: "private:\n    template < typename KeyType, detail::enable_if_t <\n
      \                  detail::has_erase_with_key_type<basic_json_t, KeyType>::value,
      int > = 0 >"
    signature: "private:\n    template < typename KeyType, detail::enable_if_t <\n
      \                  detail::has_erase_with_key_type<basic_json_t, KeyType>::value,
      int > = 0 > erase_internal(KeyType && key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21888,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21888,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21890,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21890,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21890,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21890,1
    - Dst: m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21893,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21893,1
    - Dst: m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21894,1
    - Dst: m_value::object::erase
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21900
      start: 21885
    functionDepth: 7
    functionLinenumber: 21885
    functionLinenumberEnd: 21900
    functionName: erase_internal
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - m_value::object::erase
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - type_name
    - is_object
    - m_value::object::end
    - std::forward<KeyType>
    - JSON_THROW
    - m_value::object::find
    linkageType: ''
    returnType: size_type
    signature: size_type erase_internal(KeyType && key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase_internal
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21919,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21920
      start: 21917
    functionDepth: 7
    functionLinenumber: 21917
    functionLinenumberEnd: 21920
    functionName: erase
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 66
    functionsReached:
    - std::forward<KeyType>
    - erase_internal
    linkageType: ''
    returnType: size_type
    signature: size_type erase(KeyType && key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21927,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21927,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21929,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21929,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21931,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21931,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21931,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21931,1
    - Dst: m_value::array::erase
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21934,1
    - Dst: m_value::array::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21934,1
    - Dst: static_cast<difference_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21934,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21938,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21938,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21938,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - idx
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21940
      start: 21924
    functionDepth: 4
    functionLinenumber: 21924
    functionLinenumberEnd: 21940
    functionName: erase
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 67
    functionsReached:
    - out_of_range::create
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - m_value::array::begin
    - type_name
    - size
    - m_value::array::erase
    - JSON_THROW
    - static_cast<difference_type>
    - JSON_HEDLEY_LIKELY
    - is_array
    - to_string
    linkageType: ''
    returnType: void
    signature: void erase(const size_type idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21955,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21957,1
    - Dst: m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21963
      start: 21953
    functionDepth: 1
    functionLinenumber: 21953
    functionLinenumberEnd: 21963
    functionName: find
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 204
    functionsReached:
    - end
    - is_object
    - m_value::object::find
    linkageType: ''
    returnType: iterator
    signature: iterator find(const typename object_t::key_type& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21969,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21971,1
    - Dst: m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21977
      start: 21967
    functionDepth: 1
    functionLinenumber: 21967
    functionLinenumberEnd: 21977
    functionName: find
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 205
    functionsReached:
    - is_object
    - m_value::object::find
    - cend
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const typename object_t::key_type& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21985,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21987,1
    - Dst: m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21989,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:21989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21993
      start: 21983
    functionDepth: 1
    functionLinenumber: 21983
    functionLinenumberEnd: 21993
    functionName: find
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 206
    functionsReached:
    - end
    - std::forward<KeyType>
    - is_object
    - m_value::object::find
    linkageType: ''
    returnType: iterator
    signature: iterator find(KeyType && key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22001,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22003,1
    - Dst: m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22005,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22009
      start: 21999
    functionDepth: 1
    functionLinenumber: 21999
    functionLinenumberEnd: 22009
    functionName: find
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 207
    functionsReached:
    - std::forward<KeyType>
    - is_object
    - m_value::object::find
    - cend
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(KeyType && key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22016,1
    - Dst: m_value::object::count
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22017
      start: 22013
    functionDepth: 1
    functionLinenumber: 22013
    functionLinenumberEnd: 22017
    functionName: count
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 53
    functionsReached:
    - m_value::object::count
    - is_object
    linkageType: ''
    returnType: size_type
    signature: size_type count(const typename object_t::key_type& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22026,1
    - Dst: m_value::object::count
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22026,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22027
      start: 22023
    functionDepth: 1
    functionLinenumber: 22023
    functionLinenumberEnd: 22027
    functionName: count
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 54
    functionsReached:
    - m_value::object::count
    - is_object
    - std::forward<KeyType>
    linkageType: ''
    returnType: size_type
    signature: size_type count(KeyType && key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22033,1
    - Dst: m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22033,1
    - Dst: m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - typename object_t::key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22034
      start: 22031
    functionDepth: 7
    functionLinenumber: 22031
    functionLinenumberEnd: 22034
    functionName: contains
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - is_object
    - m_value::object::find
    - m_value::object::end
    linkageType: ''
    returnType: bool
    signature: bool contains(const typename object_t::key_type& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22042,1
    - Dst: m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22042,1
    - Dst: std::forward<KeyType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22042,1
    - Dst: m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22043
      start: 22040
    functionDepth: 7
    functionLinenumber: 22040
    functionLinenumberEnd: 22043
    functionName: contains
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - std::forward<KeyType>
    - is_object
    - m_value::object::find
    - m_value::object::end
    linkageType: ''
    returnType: bool
    signature: bool contains(KeyType && key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22050
      start: 22047
    functionDepth: 1
    functionLinenumber: 22047
    functionLinenumberEnd: 22050
    functionName: contains
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool contains(const json_pointer& ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - typename ::nlohmann::json_pointer<BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22057
      start: 22054
    functionDepth: 1
    functionLinenumber: 22054
    functionLinenumberEnd: 22057
    functionName: contains
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 5
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: bool contains(const typename ::nlohmann::json_pointer<BasicJsonType>&
      ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator::set_begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22075
      start: 22070
    functionDepth: 0
    functionLinenumber: 22070
    functionLinenumberEnd: 22075
    functionName: begin
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 340
    functionsReached:
    - iterator::set_begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22082
      start: 22079
    functionDepth: 1
    functionLinenumber: 22079
    functionLinenumberEnd: 22082
    functionName: begin
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 341
    functionsReached:
    - cbegin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator::set_begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22091
      start: 22086
    functionDepth: 0
    functionLinenumber: 22086
    functionLinenumberEnd: 22091
    functionName: cbegin
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 11
    functionsReached:
    - const_iterator::set_begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator::set_end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22100
      start: 22095
    functionDepth: 2
    functionLinenumber: 22095
    functionLinenumberEnd: 22100
    functionName: end
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 523
    functionsReached:
    - iterator::set_end
    linkageType: ''
    returnType: iterator
    signature: iterator end() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22107
      start: 22104
    functionDepth: 1
    functionLinenumber: 22104
    functionLinenumberEnd: 22107
    functionName: end
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 524
    functionsReached:
    - cend
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator::set_end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22116
      start: 22111
    functionDepth: 2
    functionLinenumber: 22111
    functionLinenumberEnd: 22116
    functionName: cend
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 13
    functionsReached:
    - const_iterator::set_end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22122,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22123
      start: 22120
    functionDepth: 3
    functionLinenumber: 22120
    functionLinenumberEnd: 22123
    functionName: rbegin
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 8
    functionsReached:
    - end
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rbegin() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22130
      start: 22127
    functionDepth: 1
    functionLinenumber: 22127
    functionLinenumberEnd: 22130
    functionName: rbegin
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 9
    functionsReached:
    - crbegin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22136,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22137
      start: 22134
    functionDepth: 1
    functionLinenumber: 22134
    functionLinenumberEnd: 22137
    functionName: rend
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - reverse_iterator
    - begin
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rend() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22144
      start: 22141
    functionDepth: 1
    functionLinenumber: 22141
    functionLinenumberEnd: 22144
    functionName: rend
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 5
    functionsReached:
    - crend
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22150,1
    - Dst: cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22151
      start: 22148
    functionDepth: 3
    functionLinenumber: 22148
    functionLinenumberEnd: 22151
    functionName: crbegin
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - const_reverse_iterator
    - cend
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator crbegin() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22157,1
    - Dst: cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22158
      start: 22155
    functionDepth: 1
    functionLinenumber: 22155
    functionLinenumberEnd: 22158
    functionName: crend
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - const_reverse_iterator
    - cbegin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator crend() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reference::items
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22170
      start: 22167
    functionDepth: 1
    functionLinenumber: 22167
    functionLinenumberEnd: 22170
    functionName: iterator_wrapper
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - reference::items
    linkageType: ''
    returnType: iteration_proxy<iterator>
    signature: iteration_proxy<iterator> iterator_wrapper(reference ref) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reference::items
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22181
      start: 22178
    functionDepth: 1
    functionLinenumber: 22178
    functionLinenumberEnd: 22181
    functionName: iterator_wrapper
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - const_reference::items
    linkageType: ''
    returnType: iteration_proxy<const_iterator>
    signature: iteration_proxy<const_iterator> iterator_wrapper(const_reference ref)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy<iterator>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22188
      start: 22185
    functionDepth: 0
    functionLinenumber: 22185
    functionLinenumberEnd: 22188
    functionName: items
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 8
    functionsReached:
    - iteration_proxy<iterator>
    linkageType: ''
    returnType: iteration_proxy<iterator>
    signature: iteration_proxy<iterator> items() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iteration_proxy<const_iterator>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22195
      start: 22192
    functionDepth: 0
    functionLinenumber: 22192
    functionLinenumberEnd: 22195
    functionName: items
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 8
    functionsReached:
    - iteration_proxy<const_iterator>
    linkageType: ''
    returnType: iteration_proxy<const_iterator>
    signature: iteration_proxy<const_iterator> items() const noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: m_value::array::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22221,1
    - Dst: m_value::object::empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22243
      start: 22208
    functionDepth: 1
    functionLinenumber: 22208
    functionLinenumberEnd: 22243
    functionName: empty
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 182
    functionsReached:
    - m_value::array::empty
    - m_value::object::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: m_value::array::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22260,1
    - Dst: m_value::object::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22282
      start: 22247
    functionDepth: 1
    functionLinenumber: 22247
    functionLinenumberEnd: 22282
    functionName: size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 571
    functionsReached:
    - m_value::object::size
    - m_value::array::size
    linkageType: ''
    returnType: size_type
    signature: size_type size() const noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: m_value::array::max_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22293,1
    - Dst: m_value::object::max_size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22299,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22316
      start: 22286
    functionDepth: 1
    functionLinenumber: 22286
    functionLinenumberEnd: 22316
    functionName: max_size
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - m_value::array::max_size
    - m_value::object::max_size
    - size
    linkageType: ''
    returnType: size_type
    signature: size_type max_size() const noexcept
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: m_value::string::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22359,1
    - Dst: m_value::binary::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22365,1
    - Dst: m_value::array::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22371,1
    - Dst: m_value::object::clear
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22377,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22386
      start: 22329
    functionDepth: 0
    functionLinenumber: 22329
    functionLinenumberEnd: 22386
    functionName: clear
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 161
    functionsReached:
    - m_value::binary::clear
    - m_value::string::clear
    - m_value::array::clear
    - m_value::object::clear
    linkageType: ''
    returnType: void
    signature: void clear() noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22393,1
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22393,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22393,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22395,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22395,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22395,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22395,1
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22399,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22403,1
    - Dst: m_value::array::capacity
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22407,1
    - Dst: m_value::array::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22408,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22408,1
    - Dst: set_parent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22409,1
    - Dst: m_value::array::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22411
      start: 22390
    functionDepth: 5
    functionLinenumber: 22390
    functionLinenumberEnd: 22411
    functionName: push_back
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 218
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - m_value::array::capacity
    - assert_invariant
    - set_parent
    - is_null
    - type_name
    - JSON_THROW
    - m_value::array::back
    - is_array
    - std::move
    - m_value::array::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(basic_json&& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22417,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22419
      start: 22415
    functionDepth: 2
    functionLinenumber: 22415
    functionLinenumberEnd: 22419
    functionName: operator+=(basic_json&& val)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    - std::move
    linkageType: ''
    returnType: reference
    signature: reference operator+=(basic_json&& val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22426,1
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22426,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22426,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22428,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22428,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22428,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22428,1
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22432,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22436,1
    - Dst: m_value::array::capacity
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22440,1
    - Dst: m_value::array::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22441,1
    - Dst: set_parent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22442,1
    - Dst: m_value::array::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22443
      start: 22423
    functionDepth: 5
    functionLinenumber: 22423
    functionLinenumberEnd: 22443
    functionName: push_back
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 220
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - m_value::array::capacity
    - assert_invariant
    - set_parent
    - is_null
    - type_name
    - JSON_THROW
    - m_value::array::back
    - is_array
    - m_value::array::push_back
    linkageType: ''
    returnType: void
    signature: void push_back(const basic_json& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22451
      start: 22447
    functionDepth: 2
    functionLinenumber: 22447
    functionLinenumberEnd: 22451
    functionName: operator+=(const basic_json& val)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: reference
    signature: reference operator+=(const basic_json& val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22458,1
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22458,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22458,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22460,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22460,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22460,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22460,1
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22464,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22468,1
    - Dst: m_value::object::insert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22472,1
    - Dst: set_parent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - typename object_t::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22474
      start: 22455
    functionDepth: 4
    functionLinenumber: 22455
    functionLinenumberEnd: 22474
    functionName: push_back
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 221
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - m_value::object::insert
    - concat
    - assert_invariant
    - set_parent
    - is_null
    - type_name
    - is_object
    - JSON_THROW
    linkageType: ''
    returnType: void
    signature: void push_back(const typename object_t::value_type& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - typename object_t::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22482
      start: 22478
    functionDepth: 2
    functionLinenumber: 22478
    functionLinenumberEnd: 22482
    functionName: operator+=(const typename object_t::value_type& val)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: reference
    signature: reference operator+=(const typename object_t::value_type& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22488,1
    - Dst: initializer_list_t::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22488,1
    - Dst: initializer_list_t::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22488,1
    - Dst: is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22488,1
    - Dst: initializer_list_t::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22490,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22496,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - init
    argTypes:
    - initializer_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22498
      start: 22486
    functionDepth: 1
    functionLinenumber: 22486
    functionLinenumberEnd: 22498
    functionName: push_back
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 223
    functionsReached:
    - is_string
    - initializer_list_t::size
    - is_object
    - initializer_list_t::begin
    - basic_json
    - push_back
    linkageType: ''
    returnType: void
    signature: void push_back(initializer_list_t init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - init
    argTypes:
    - initializer_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22506
      start: 22502
    functionDepth: 2
    functionLinenumber: 22502
    functionLinenumberEnd: 22506
    functionName: operator+=(initializer_list_t init)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: reference
    signature: reference operator+=(initializer_list_t init)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22514,1
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22514,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22514,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22516,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22516,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22516,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22516,1
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22520,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22524,1
    - Dst: m_value::array::capacity
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22528,1
    - Dst: m_value::array::emplace_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22529,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22529,1
    - Dst: set_parent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22530,1
    - Dst: m_value::array::back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22531
      start: 22511
    functionDepth: 5
    functionLinenumber: 22511
    functionLinenumberEnd: 22531
    functionName: emplace_back
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 26
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - std::forward<Args>
    - concat
    - m_value::array::capacity
    - assert_invariant
    - set_parent
    - is_null
    - type_name
    - JSON_THROW
    - m_value::array::back
    - is_array
    - m_value::array::emplace_back
    linkageType: ''
    returnType: reference
    signature: reference emplace_back(Args&& ... args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22539,1
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22539,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22539,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22541,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22541,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22541,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22541,1
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22545,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22549,1
    - Dst: m_value::object::emplace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22553,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22553,1
    - Dst: set_parent
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22554,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22562
      start: 22536
    functionDepth: 4
    functionLinenumber: 22536
    functionLinenumberEnd: 22562
    functionName: emplace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 18
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - std::forward<Args>
    - concat
    - assert_invariant
    - set_parent
    - m_value::object::emplace
    - is_null
    - type_name
    - is_object
    - begin
    - JSON_THROW
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> emplace(Args&& ... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22571,1
    - Dst: std::distance
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22573,1
    - Dst: m_value::array::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22573,1
    - Dst: m_value::array::insert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22574,1
    - Dst: std::forward<Args>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22574,1
    - Dst: m_value::array::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22575,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pos
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22583
      start: 22568
    functionDepth: 3
    functionLinenumber: 22568
    functionLinenumberEnd: 22583
    functionName: insert_iterator
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - m_value::array::begin
    - m_value::array::insert
    - std::distance
    - JSON_ASSERT
    - set_parents
    linkageType: ''
    returnType: iterator
    signature: iterator insert_iterator(const_iterator pos, Args&& ... args)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22590,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22590,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22593,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22595,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22595,1
    - Dst: insert_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22599,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22602,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22602,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22602,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pos
    - ' val'
    argTypes:
    - const_iterator
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22603
      start: 22587
    functionDepth: 4
    functionLinenumber: 22587
    functionLinenumberEnd: 22603
    functionName: insert
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 52
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - insert_iterator
    - type_name
    - JSON_THROW
    - invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - is_array
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, const basic_json& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pos
    - ' val'
    argTypes:
    - const_iterator
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22610
      start: 22607
    functionDepth: 1
    functionLinenumber: 22607
    functionLinenumberEnd: 22610
    functionName: insert
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 53
    functionsReached:
    - insert
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, basic_json&& val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22617,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22617,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22620,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22622,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22622,1
    - Dst: insert_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22626,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22629,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22629,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22629,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pos
    - cnt
    - ' val'
    argTypes:
    - const_iterator
    - size_type
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22630
      start: 22614
    functionDepth: 4
    functionLinenumber: 22614
    functionLinenumberEnd: 22630
    functionName: insert
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 53
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - insert_iterator
    - type_name
    - JSON_THROW
    - invalid_iterator::create
    - JSON_HEDLEY_LIKELY
    - is_array
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, size_type cnt, const basic_json&
      val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22637,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22637,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22639,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22639,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22639,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22639,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22643,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22645,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22645,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22649,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22651,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22651,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22654,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22656,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22656,1
    - Dst: insert_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pos
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22661
      start: 22634
    functionDepth: 4
    functionLinenumber: 22634
    functionLinenumberEnd: 22661
    functionName: insert
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 53
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - insert_iterator
    - type_name
    - JSON_THROW
    - invalid_iterator::create
    - is_array
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, const_iterator first, const_iterator
      last)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22668,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22668,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22670,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22670,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22670,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22670,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22674,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22676,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22676,1
    - Dst: insert_iterator
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22680,1
    - Dst: initializer_list_t::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22680,1
    - Dst: initializer_list_t::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pos
    - ilist
    argTypes:
    - const_iterator
    - initializer_list_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22681
      start: 22665
    functionDepth: 4
    functionLinenumber: 22665
    functionLinenumberEnd: 22681
    functionName: insert
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 53
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - insert_iterator
    - initializer_list_t::end
    - type_name
    - initializer_list_t::begin
    - JSON_THROW
    - invalid_iterator::create
    - is_array
    linkageType: ''
    returnType: iterator
    signature: iterator insert(const_iterator pos, initializer_list_t ilist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22688,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22688,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22690,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22690,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22690,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22690,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22694,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22696,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22696,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22700,1
    - Dst: const_iterator::m_object::is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22700,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22702,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22702,1
    - Dst: m_value::object::insert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22706
      start: 22685
    functionDepth: 4
    functionLinenumber: 22685
    functionLinenumberEnd: 22706
    functionName: insert
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 54
    functionsReached:
    - type_error::create
    - JSON_HEDLEY_UNLIKELY
    - m_value::object::insert
    - concat
    - type_name
    - is_object
    - const_iterator::m_object::is_object
    - JSON_THROW
    - invalid_iterator::create
    linkageType: ''
    returnType: void
    signature: void insert(const_iterator first, const_iterator last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22712,1
    - Dst: const_reference::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22712,1
    - Dst: const_reference::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22713
      start: 22710
    functionDepth: 3
    functionLinenumber: 22710
    functionLinenumberEnd: 22713
    functionName: update
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 3
    functionsReached:
    - const_reference::begin
    - update
    - const_reference::end
    linkageType: ''
    returnType: void
    signature: void update(const_reference j, bool merge_objects = false)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22720,1
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22723,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22724,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22727,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22727,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22729,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22729,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22729,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22729,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22733,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22735,1
    - Dst: invalid_iterator::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22735,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22739,1
    - Dst: const_iterator::m_object::is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22739,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22741,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22741,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22741,1
    - Dst: const_iterator::m_object::type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22741,1
    - Dst: auto::value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22746,1
    - Dst: m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22748,1
    - Dst: auto::key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22748,1
    - Dst: m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22749,1
    - Dst: auto::second::update
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22751,1
    - Dst: auto::value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22751,1
    - Dst: m_value::object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22755,1
    - Dst: auto::key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22755,1
    - Dst: auto::value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22755,1
    - Dst: m_value::object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22757,1
    - Dst: auto::key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22757,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22760
      start: 22717
    functionDepth: 7
    functionLinenumber: 22717
    functionLinenumberEnd: 22760
    functionName: update
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 4
    functionsReached:
    - create
    - JSON_HEDLEY_UNLIKELY
    - type_error::create
    - concat
    - auto::value
    - assert_invariant
    - is_null
    - type_name
    - is_object
    - m_value::object
    - auto::second::update
    - m_value::object::end
    - const_iterator::m_object::is_object
    - auto::key
    - JSON_THROW
    - invalid_iterator::create
    - const_iterator::m_object::type_name
    - m_value::object::find
    linkageType: ''
    returnType: void
    signature: void update(const_iterator first, const_iterator last, bool merge_objects
      = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22771,1
    - Dst: swap
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22772,1
    - Dst: set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22774,1
    - Dst: reference::set_parents
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22775,1
    - Dst: assert_invariant
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22777
      start: 22764
    functionDepth: 1
    functionLinenumber: 22764
    functionLinenumberEnd: 22777
    functionName: swap
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 6
    functionsReached:
    - swap
    - set_parents
    - reference::set_parents
    - assert_invariant
    linkageType: ''
    returnType: void
    signature: "void swap(reference other) noexcept (\n        std::is_nothrow_move_constructible<value_t>::value&&\n
      \       std::is_nothrow_move_assignable<value_t>::value&&\n        std::is_nothrow_move_constructible<json_value>::value&&
      // NOLINT(cppcoreguidelines-noexcept-swap,performance-noexcept-swap)\n        std::is_nothrow_move_assignable<json_value>::value\n
      \   )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reference::swap
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - reference
    - reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22789
      start: 22781
    functionDepth: 0
    functionLinenumber: 22781
    functionLinenumberEnd: 22789
    functionName: swap
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 7
    functionsReached:
    - reference::swap
    linkageType: ''
    returnType: friend
    signature: "friend swap(reference left, reference right) noexcept (\n        std::is_nothrow_move_constructible<value_t>::value&&\n
      \       std::is_nothrow_move_assignable<value_t>::value&&\n        std::is_nothrow_move_constructible<json_value>::value&&
      // NOLINT(cppcoreguidelines-noexcept-swap,performance-noexcept-swap)\n        std::is_nothrow_move_assignable<json_value>::value\n
      \   )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22796,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22796,1
    - Dst: swap
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22799,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22803,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22803,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22803,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - array_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22805
      start: 22793
    functionDepth: 4
    functionLinenumber: 22793
    functionLinenumberEnd: 22805
    functionName: swap
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 8
    functionsReached:
    - type_error::create
    - concat
    - type_name
    - swap
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    - is_array
    linkageType: ''
    returnType: void
    signature: void swap(array_t& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22812,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22812,1
    - Dst: swap
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22815,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22819,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22819,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22819,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - object_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22821
      start: 22809
    functionDepth: 4
    functionLinenumber: 22809
    functionLinenumberEnd: 22821
    functionName: swap
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 9
    functionsReached:
    - type_error::create
    - concat
    - type_name
    - is_object
    - swap
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: void
    signature: void swap(object_t& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22828,1
    - Dst: is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22828,1
    - Dst: swap
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22831,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22835,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22835,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22835,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - string_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22837
      start: 22825
    functionDepth: 4
    functionLinenumber: 22825
    functionLinenumberEnd: 22837
    functionName: swap
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 10
    functionsReached:
    - is_string
    - type_error::create
    - concat
    - type_name
    - swap
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: void
    signature: void swap(string_t& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22844,1
    - Dst: is_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22844,1
    - Dst: swap
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22847,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22851,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22851,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22851,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - binary_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22853
      start: 22841
    functionDepth: 4
    functionLinenumber: 22841
    functionLinenumberEnd: 22853
    functionName: swap
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 11
    functionsReached:
    - type_error::create
    - concat
    - is_binary
    - type_name
    - swap
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: void
    signature: void swap(binary_t& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22860,1
    - Dst: is_binary
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22860,1
    - Dst: swap
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22863,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22867,1
    - Dst: type_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22867,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22867,1
    - Dst: type_name
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - typename binary_t::container_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22869
      start: 22857
    functionDepth: 4
    functionLinenumber: 22857
    functionLinenumberEnd: 22869
    functionName: swap
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 12
    functionsReached:
    - type_error::create
    - concat
    - is_binary
    - type_name
    - swap
    - JSON_THROW
    - JSON_HEDLEY_LIKELY
    linkageType: ''
    returnType: void
    signature: void swap(typename binary_t::container_type& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - op
    - ','
    - null_result
    - ','
    - unordered_result
    - ','
    - default_result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22886
      start: 22882
    functionDepth: 0
    functionLinenumber: 22882
    functionLinenumberEnd: 22886
    functionName: JSON_IMPLEMENT_OPERATOR
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JSON_IMPLEMENT_OPERATOR(op, null_result, unordered_result, default_result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22949
      start: 22946
    functionDepth: 0
    functionLinenumber: 22946
    functionLinenumberEnd: 22949
    functionName: if
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: else if(compares_unordered(lhs, rhs))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compares_unordered
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22978
      start: 22975
    functionDepth: 1
    functionLinenumber: 22975
    functionLinenumberEnd: 22978
    functionName: compares_unordered
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - compares_unordered
    linkageType: ''
    returnType: bool
    signature: bool compares_unordered(const_reference rhs, bool inverse = false)
      const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_IMPLEMENT_OPERATOR
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:22991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22995
      start: 22984
    functionDepth: 1
    functionLinenumber: 22984
    functionLinenumberEnd: 22995
    functionName: operator==(const_reference rhs) const noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_IMPLEMENT_OPERATOR
    linkageType: ''
    returnType: bool
    signature: bool operator==(const_reference rhs) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23004
      start: 23001
    functionDepth: 1
    functionLinenumber: 23001
    functionLinenumberEnd: 23004
    functionName: operator==(ScalarType rhs) const noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator==(ScalarType rhs) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compares_unordered
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23015
      start: 23008
    functionDepth: 2
    functionLinenumber: 23008
    functionLinenumberEnd: 23015
    functionName: operator!=(const_reference rhs) const noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - compares_unordered
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const_reference rhs) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23028
      start: 23019
    functionDepth: 0
    functionLinenumber: 23019
    functionLinenumberEnd: 23028
    functionName: operator<=>(const_reference rhs) const noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::partial_ordering
    signature: std::partial_ordering operator<=>(const_reference rhs) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23037
      start: 23034
    functionDepth: 1
    functionLinenumber: 23034
    functionLinenumberEnd: 23037
    functionName: operator<=>(ScalarType rhs) const noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: std::partial_ordering
    signature: std::partial_ordering operator<=>(ScalarType rhs) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compares_unordered
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23053
      start: 23046
    functionDepth: 2
    functionLinenumber: 23046
    functionLinenumberEnd: 23053
    functionName: operator<=(const_reference rhs) const noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - compares_unordered
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const_reference rhs) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23062
      start: 23059
    functionDepth: 1
    functionLinenumber: 23059
    functionLinenumberEnd: 23062
    functionName: operator<=(ScalarType rhs) const noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator<=(ScalarType rhs) const noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compares_unordered
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23074
      start: 23067
    functionDepth: 2
    functionLinenumber: 23067
    functionLinenumberEnd: 23074
    functionName: operator>=(const_reference rhs) const noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - compares_unordered
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const_reference rhs) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23083
      start: 23080
    functionDepth: 1
    functionLinenumber: 23080
    functionLinenumberEnd: 23083
    functionName: operator>=(ScalarType rhs) const noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator>=(ScalarType rhs) const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JSON_IMPLEMENT_OPERATOR
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23098
      start: 23088
    functionDepth: 1
    functionLinenumber: 23088
    functionLinenumberEnd: 23098
    functionName: operator==(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - JSON_IMPLEMENT_OPERATOR
    linkageType: ''
    returnType: friend
    signature: friend operator==(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23107
      start: 23104
    functionDepth: 1
    functionLinenumber: 23104
    functionLinenumberEnd: 23107
    functionName: operator==(const_reference lhs, ScalarType rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator==(const_reference lhs, ScalarType rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23116
      start: 23113
    functionDepth: 1
    functionLinenumber: 23113
    functionLinenumberEnd: 23116
    functionName: operator==(ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator==(ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compares_unordered
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23127
      start: 23120
    functionDepth: 2
    functionLinenumber: 23120
    functionLinenumberEnd: 23127
    functionName: operator!=(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - compares_unordered
    linkageType: ''
    returnType: friend
    signature: friend operator!=(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23136
      start: 23133
    functionDepth: 1
    functionLinenumber: 23133
    functionLinenumberEnd: 23136
    functionName: operator!=(const_reference lhs, ScalarType rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const_reference lhs, ScalarType rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23145
      start: 23142
    functionDepth: 1
    functionLinenumber: 23142
    functionLinenumberEnd: 23145
    functionName: operator!=(ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator!=(ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23164
      start: 23161
    functionDepth: 1
    functionLinenumber: 23161
    functionLinenumberEnd: 23164
    functionName: operator<(const_reference lhs, ScalarType rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator<(const_reference lhs, ScalarType rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23173
      start: 23170
    functionDepth: 1
    functionLinenumber: 23170
    functionLinenumberEnd: 23173
    functionName: operator<(ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator<(ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compares_unordered
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23184
      start: 23177
    functionDepth: 2
    functionLinenumber: 23177
    functionLinenumberEnd: 23184
    functionName: operator<=(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - compares_unordered
    linkageType: ''
    returnType: friend
    signature: friend operator<=(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23193
      start: 23190
    functionDepth: 1
    functionLinenumber: 23190
    functionLinenumberEnd: 23193
    functionName: operator<=(const_reference lhs, ScalarType rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const_reference lhs, ScalarType rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23202
      start: 23199
    functionDepth: 1
    functionLinenumber: 23199
    functionLinenumberEnd: 23202
    functionName: operator<=(ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator<=(ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compares_unordered
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23214
      start: 23206
    functionDepth: 2
    functionLinenumber: 23206
    functionLinenumberEnd: 23214
    functionName: operator>(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - compares_unordered
    linkageType: ''
    returnType: friend
    signature: friend operator>(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23223
      start: 23220
    functionDepth: 1
    functionLinenumber: 23220
    functionLinenumberEnd: 23223
    functionName: operator>(const_reference lhs, ScalarType rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator>(const_reference lhs, ScalarType rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23232
      start: 23229
    functionDepth: 1
    functionLinenumber: 23229
    functionLinenumberEnd: 23232
    functionName: operator>(ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator>(ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compares_unordered
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23243
      start: 23236
    functionDepth: 2
    functionLinenumber: 23236
    functionLinenumberEnd: 23243
    functionName: operator>=(const_reference lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - compares_unordered
    linkageType: ''
    returnType: friend
    signature: friend operator>=(const_reference lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - const_reference
    - ScalarType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23252
      start: 23249
    functionDepth: 1
    functionLinenumber: 23249
    functionLinenumberEnd: 23252
    functionName: operator>=(const_reference lhs, ScalarType rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const_reference lhs, ScalarType rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ScalarType
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23261
      start: 23258
    functionDepth: 1
    functionLinenumber: 23258
    functionLinenumberEnd: 23261
    functionName: operator>=(ScalarType lhs, const_reference rhs) noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - basic_json
    linkageType: ''
    returnType: bool
    signature: bool operator>=(ScalarType lhs, const_reference rhs) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: width
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23280,1
    - Dst: width
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23281,1
    - Dst: width
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23284,1
    - Dst: detail::output_adapter<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23287,1
    - Dst: fill
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23287,1
    - Dst: serializer::dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23288,1
    - Dst: static_cast<unsigned int>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' o'
    - ' j'
    argTypes:
    - std::ostream
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23290
      start: 23277
    functionDepth: 6
    functionLinenumber: 23277
    functionLinenumberEnd: 23290
    functionName: '& operator<<(std::ostream& o, const basic_json& j)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - fill
    - width
    - serializer::dump
    - static_cast<unsigned int>
    - detail::output_adapter<char>
    linkageType: ''
    returnType: friend
    signature: friend & operator<<(std::ostream& o, const basic_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23323,1
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23323,1
    - Dst: std::forward<InputType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - InputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23325
      start: 23316
    functionDepth: 2
    functionLinenumber: 23316
    functionLinenumberEnd: 23325
    functionName: parse
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 19
    functionsReached:
    - file_input_adapter
    - parser
    - std::forward<InputType>
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT parse(InputType&& i,\n                            const
      parser_callback_t cb = nullptr,\n                            const bool allow_exceptions
      = true,\n                            const bool ignore_comments = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23338,1
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23338,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23338,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23340
      start: 23330
    functionDepth: 2
    functionLinenumber: 23330
    functionLinenumberEnd: 23340
    functionName: parse
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 19
    functionsReached:
    - file_input_adapter
    - parser
    - std::move
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT parse(IteratorType first,\n                            IteratorType
      last,\n                            const parser_callback_t cb = nullptr,\n                            const
      bool allow_exceptions = true,\n                            const bool ignore_comments
      = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23350,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::span_input_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23352
      start: 23344
    functionDepth: 2
    functionLinenumber: 23344
    functionLinenumberEnd: 23352
    functionName: parse
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 19
    functionsReached:
    - parser
    - get
    linkageType: ''
    returnType: basic_json
    signature: "basic_json parse(detail::span_input_adapter&& i,\n                            const
      parser_callback_t cb = nullptr,\n                            const bool allow_exceptions
      = true,\n                            const bool ignore_comments = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23360,1
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23360,1
    - Dst: std::forward<InputType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - InputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23361
      start: 23357
    functionDepth: 2
    functionLinenumber: 23357
    functionLinenumberEnd: 23361
    functionName: accept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 5
    functionsReached:
    - file_input_adapter
    - parser
    - std::forward<InputType>
    linkageType: ''
    returnType: bool
    signature: "bool accept(InputType&& i,\n                       const bool ignore_comments
      = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23369,1
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23369,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23369,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23370
      start: 23366
    functionDepth: 2
    functionLinenumber: 23366
    functionLinenumberEnd: 23370
    functionName: accept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 5
    functionsReached:
    - file_input_adapter
    - parser
    - std::move
    linkageType: ''
    returnType: bool
    signature: "bool accept(IteratorType first, IteratorType last,\n                       const
      bool ignore_comments = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parser
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23377,1
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::span_input_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23378
      start: 23374
    functionDepth: 2
    functionLinenumber: 23374
    functionLinenumberEnd: 23378
    functionName: accept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 5
    functionsReached:
    - parser
    - get
    linkageType: ''
    returnType: bool
    signature: "bool accept(detail::span_input_adapter&& i,\n                       const
      bool ignore_comments = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23389,1
    - Dst: std::forward<InputType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23389,1
    - Dst: parser
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23391,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23391,1
    - Dst: detail::binary_reader<basic_json, decltype(ia), SAX>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23392,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' i'
    - sax
    argTypes:
    - InputType
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23393
      start: 23384
    functionDepth: 2
    functionLinenumber: 23384
    functionLinenumberEnd: 23393
    functionName: sax_parse
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - file_input_adapter
    - parser
    - detail::binary_reader<basic_json, decltype(ia), SAX>
    - std::forward<InputType>
    - std::move
    linkageType: ''
    returnType: bool
    signature: "bool sax_parse(InputType&& i, SAX* sax,\n                          input_format_t
      format = input_format_t::json,\n                          const bool strict
      = true,\n                          const bool ignore_comments = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23404,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23404,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23404,1
    - Dst: parser
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23406,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23406,1
    - Dst: detail::binary_reader<basic_json, decltype(ia), SAX>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23407,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - first
    - last
    - sax
    argTypes:
    - IteratorType
    - IteratorType
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23408
      start: 23399
    functionDepth: 2
    functionLinenumber: 23399
    functionLinenumberEnd: 23408
    functionName: sax_parse
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - file_input_adapter
    - parser
    - std::move
    - detail::binary_reader<basic_json, decltype(ia), SAX>
    linkageType: ''
    returnType: bool
    signature: "bool sax_parse(IteratorType first, IteratorType last, SAX* sax,\n
      \                         input_format_t format = input_format_t::json,\n                          const
      bool strict = true,\n                          const bool ignore_comments =
      false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23423,1
    - Dst: parser
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23426,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23426,1
    - Dst: detail::binary_reader<basic_json, decltype(ia), SAX>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23428,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' i'
    - sax
    argTypes:
    - detail::span_input_adapter
    - SAX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23429
      start: 23418
    functionDepth: 2
    functionLinenumber: 23418
    functionLinenumberEnd: 23429
    functionName: sax_parse
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 2
    functionsReached:
    - parser
    - get
    - std::move
    - detail::binary_reader<basic_json, decltype(ia), SAX>
    linkageType: ''
    returnType: bool
    signature: "bool sax_parse(detail::span_input_adapter&& i, SAX* sax,\n                          input_format_t
      format = input_format_t::json,\n                          const bool strict
      = true,\n                          const bool ignore_comments = false)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23484
      start: 23459
    functionDepth: 0
    functionLinenumber: 23459
    functionLinenumberEnd: 23484
    functionName: type_name
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: JSON_HEDLEY_RETURNS_NON_NULL
    signature: JSON_HEDLEY_RETURNS_NON_NULL * type_name() const noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23502
      start: 23499
    functionDepth: 0
    functionLinenumber: 23499
    functionLinenumberEnd: 23502
    functionName: data
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 393
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void data(const value_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cnt
    - ' val'
    argTypes:
    - size_type
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23508
      start: 23504
    functionDepth: 1
    functionLinenumber: 23504
    functionLinenumberEnd: 23508
    functionName: data
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 393
    functionsReached:
    - create
    linkageType: ''
    returnType: void
    signature: void data(size_type cnt, const basic_json& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23510
      start: 23510
    functionDepth: 0
    functionLinenumber: 23510
    functionLinenumberEnd: 23510
    functionName: data
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 393
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void data() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23511
      start: 23511
    functionDepth: 0
    functionLinenumber: 23511
    functionLinenumberEnd: 23511
    functionName: data
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 393
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void data(data&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23512
      start: 23512
    functionDepth: 0
    functionLinenumber: 23512
    functionLinenumberEnd: 23512
    functionName: data
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 393
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void data(const data&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23513
      start: 23513
    functionDepth: 0
    functionLinenumber: 23513
    functionLinenumberEnd: 23513
    functionName: '& operator=(data&&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: data
    signature: data & operator=(data&&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23514
      start: 23514
    functionDepth: 0
    functionLinenumber: 23514
    functionLinenumberEnd: 23514
    functionName: '& operator=(const data&) noexcept'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: data
    signature: data & operator=(const data&) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23519
      start: 23516
    functionDepth: 6
    functionLinenumber: 23516
    functionLinenumberEnd: 23519
    functionName: ~data() noexcept
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - destroy
    linkageType: ''
    returnType: void
    signature: void ~data() noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<std::uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23551
      start: 23548
    functionDepth: 0
    functionLinenumber: 23548
    functionLinenumberEnd: 23551
    functionName: to_cbor
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: void to_cbor(const basic_json& j, detail::output_adapter<std::uint8_t>
      o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23558
      start: 23555
    functionDepth: 0
    functionLinenumber: 23555
    functionLinenumberEnd: 23558
    functionName: to_cbor
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - binary_writer<char>
    linkageType: ''
    returnType: void
    signature: void to_cbor(const basic_json& j, detail::output_adapter<char> o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_msgpack
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23567
      start: 23562
    functionDepth: 1
    functionLinenumber: 23562
    functionLinenumberEnd: 23567
    functionName: to_msgpack
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - to_msgpack
    linkageType: ''
    returnType: std::vector<std::uint8_t>
    signature: std::vector<std::uint8_t> to_msgpack(const basic_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<std::uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23574
      start: 23571
    functionDepth: 0
    functionLinenumber: 23571
    functionLinenumberEnd: 23574
    functionName: to_msgpack
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: void to_msgpack(const basic_json& j, detail::output_adapter<std::uint8_t>
      o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23581
      start: 23578
    functionDepth: 0
    functionLinenumber: 23578
    functionLinenumberEnd: 23581
    functionName: to_msgpack
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<char>
    linkageType: ''
    returnType: void
    signature: void to_msgpack(const basic_json& j, detail::output_adapter<char> o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_ubjson
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23592
      start: 23585
    functionDepth: 1
    functionLinenumber: 23585
    functionLinenumberEnd: 23592
    functionName: to_ubjson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - to_ubjson
    linkageType: ''
    returnType: std::vector<std::uint8_t>
    signature: "std::vector<std::uint8_t> to_ubjson(const basic_json& j,\n            const
      bool use_size = false,\n            const bool use_type = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<std::uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23600
      start: 23596
    functionDepth: 0
    functionLinenumber: 23596
    functionLinenumberEnd: 23600
    functionName: to_ubjson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: "void to_ubjson(const basic_json& j, detail::output_adapter<std::uint8_t>
      o,\n                          const bool use_size = false, const bool use_type
      = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23608
      start: 23604
    functionDepth: 0
    functionLinenumber: 23604
    functionLinenumberEnd: 23608
    functionName: to_ubjson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<char>
    linkageType: ''
    returnType: void
    signature: "void to_ubjson(const basic_json& j, detail::output_adapter<char> o,\n
      \                         const bool use_size = false, const bool use_type =
      false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_bjdata
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23619
      start: 23612
    functionDepth: 1
    functionLinenumber: 23612
    functionLinenumberEnd: 23619
    functionName: to_bjdata
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - to_bjdata
    linkageType: ''
    returnType: std::vector<std::uint8_t>
    signature: "std::vector<std::uint8_t> to_bjdata(const basic_json& j,\n            const
      bool use_size = false,\n            const bool use_type = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<std::uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23627
      start: 23623
    functionDepth: 0
    functionLinenumber: 23623
    functionLinenumberEnd: 23627
    functionName: to_bjdata
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: "void to_bjdata(const basic_json& j, detail::output_adapter<std::uint8_t>
      o,\n                          const bool use_size = false, const bool use_type
      = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23635
      start: 23631
    functionDepth: 0
    functionLinenumber: 23631
    functionLinenumberEnd: 23635
    functionName: to_bjdata
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<char>
    linkageType: ''
    returnType: void
    signature: "void to_bjdata(const basic_json& j, detail::output_adapter<char> o,\n
      \                         const bool use_size = false, const bool use_type =
      false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: to_bson
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23644
      start: 23639
    functionDepth: 1
    functionLinenumber: 23639
    functionLinenumberEnd: 23644
    functionName: to_bson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - to_bson
    linkageType: ''
    returnType: std::vector<std::uint8_t>
    signature: std::vector<std::uint8_t> to_bson(const basic_json& j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<std::uint8_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<std::uint8_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23651
      start: 23648
    functionDepth: 0
    functionLinenumber: 23648
    functionLinenumberEnd: 23651
    functionName: to_bson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<std::uint8_t>
    linkageType: ''
    returnType: void
    signature: void to_bson(const basic_json& j, detail::output_adapter<std::uint8_t>
      o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_writer<char>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' j'
    - o
    argTypes:
    - basic_json
    - detail::output_adapter<char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23658
      start: 23655
    functionDepth: 0
    functionLinenumber: 23655
    functionLinenumberEnd: 23658
    functionName: to_bson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_writer<char>
    linkageType: ''
    returnType: void
    signature: void to_bson(const basic_json& j, detail::output_adapter<char> o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23671,1
    - Dst: std::forward<InputType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23671,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23672,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23672,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - InputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23674
      start: 23663
    functionDepth: 2
    functionLinenumber: 23663
    functionLinenumberEnd: 23674
    functionName: from_cbor
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - file_input_adapter
    - binary_reader<decltype(ia)>
    - basic_json
    - std::forward<InputType>
    - std::move
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_cbor(InputType&& i,\n                                const
      bool strict = true,\n                                const bool allow_exceptions
      = true,\n                                const cbor_tag_handler_t tag_handler
      = cbor_tag_handler_t::error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23687,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23687,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23687,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23688,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23688,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23690
      start: 23679
    functionDepth: 2
    functionLinenumber: 23679
    functionLinenumberEnd: 23690
    functionName: from_cbor
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - file_input_adapter
    - binary_reader<decltype(ia)>
    - basic_json
    - std::move
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_cbor(IteratorType first, IteratorType
      last,\n                                const bool strict = true,\n                                const
      bool allow_exceptions = true,\n                                const cbor_tag_handler_t
      tag_handler = cbor_tag_handler_t::error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_cbor
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - T*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23701
      start: 23695
    functionDepth: 1
    functionLinenumber: 23695
    functionLinenumberEnd: 23701
    functionName: from_cbor
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - from_cbor
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_cbor(const T* ptr, std::size_t len,\n                                const
      bool strict = true,\n                                const bool allow_exceptions
      = true,\n                                const cbor_tag_handler_t tag_handler
      = cbor_tag_handler_t::error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23712,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23714,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23714,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::span_input_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23716
      start: 23705
    functionDepth: 2
    functionLinenumber: 23705
    functionLinenumberEnd: 23716
    functionName: from_cbor
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_reader<decltype(ia)>
    - basic_json
    - get
    - std::move
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_cbor(detail::span_input_adapter&& i,\n                                const
      bool strict = true,\n                                const bool allow_exceptions
      = true,\n                                const cbor_tag_handler_t tag_handler
      = cbor_tag_handler_t::error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23728,1
    - Dst: std::forward<InputType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23728,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23729,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23729,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - InputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23731
      start: 23721
    functionDepth: 2
    functionLinenumber: 23721
    functionLinenumberEnd: 23731
    functionName: from_msgpack
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - file_input_adapter
    - binary_reader<decltype(ia)>
    - basic_json
    - std::forward<InputType>
    - std::move
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_msgpack(InputType&& i,\n                                   const
      bool strict = true,\n                                   const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23743,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23743,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23743,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23744,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23744,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23746
      start: 23736
    functionDepth: 2
    functionLinenumber: 23736
    functionLinenumberEnd: 23746
    functionName: from_msgpack
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - file_input_adapter
    - binary_reader<decltype(ia)>
    - basic_json
    - std::move
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_msgpack(IteratorType first, IteratorType
      last,\n                                   const bool strict = true,\n                                   const
      bool allow_exceptions = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_msgpack
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - T*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23756
      start: 23751
    functionDepth: 1
    functionLinenumber: 23751
    functionLinenumberEnd: 23756
    functionName: from_msgpack
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - from_msgpack
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_msgpack(const T* ptr, std::size_t len,\n                                   const
      bool strict = true,\n                                   const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23766,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23768,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23768,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::span_input_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23770
      start: 23760
    functionDepth: 2
    functionLinenumber: 23760
    functionLinenumberEnd: 23770
    functionName: from_msgpack
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_reader<decltype(ia)>
    - basic_json
    - get
    - std::move
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_msgpack(detail::span_input_adapter&& i,\n                                   const
      bool strict = true,\n                                   const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23782,1
    - Dst: std::forward<InputType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23782,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23783,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23783,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - InputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23785
      start: 23775
    functionDepth: 2
    functionLinenumber: 23775
    functionLinenumberEnd: 23785
    functionName: from_ubjson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - file_input_adapter
    - binary_reader<decltype(ia)>
    - basic_json
    - std::forward<InputType>
    - std::move
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_ubjson(InputType&& i,\n                                  const
      bool strict = true,\n                                  const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23797,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23797,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23797,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23798,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23798,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23800
      start: 23790
    functionDepth: 2
    functionLinenumber: 23790
    functionLinenumberEnd: 23800
    functionName: from_ubjson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - file_input_adapter
    - binary_reader<decltype(ia)>
    - basic_json
    - std::move
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_ubjson(IteratorType first, IteratorType
      last,\n                                  const bool strict = true,\n                                  const
      bool allow_exceptions = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_ubjson
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - T*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23810
      start: 23805
    functionDepth: 1
    functionLinenumber: 23805
    functionLinenumberEnd: 23810
    functionName: from_ubjson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - from_ubjson
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_ubjson(const T* ptr, std::size_t len,\n                                  const
      bool strict = true,\n                                  const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23820,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23822,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23822,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::span_input_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23824
      start: 23814
    functionDepth: 2
    functionLinenumber: 23814
    functionLinenumberEnd: 23824
    functionName: from_ubjson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_reader<decltype(ia)>
    - basic_json
    - get
    - std::move
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_ubjson(detail::span_input_adapter&& i,\n                                  const
      bool strict = true,\n                                  const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23836,1
    - Dst: std::forward<InputType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23836,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23837,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23837,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - InputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23839
      start: 23829
    functionDepth: 2
    functionLinenumber: 23829
    functionLinenumberEnd: 23839
    functionName: from_bjdata
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - file_input_adapter
    - binary_reader<decltype(ia)>
    - basic_json
    - std::forward<InputType>
    - std::move
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_bjdata(InputType&& i,\n                                  const
      bool strict = true,\n                                  const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23851,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23851,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23851,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23852,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23852,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23854
      start: 23844
    functionDepth: 2
    functionLinenumber: 23844
    functionLinenumberEnd: 23854
    functionName: from_bjdata
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - file_input_adapter
    - binary_reader<decltype(ia)>
    - basic_json
    - std::move
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_bjdata(IteratorType first, IteratorType
      last,\n                                  const bool strict = true,\n                                  const
      bool allow_exceptions = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23866,1
    - Dst: std::forward<InputType>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23866,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23867,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23867,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - InputType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23869
      start: 23859
    functionDepth: 2
    functionLinenumber: 23859
    functionLinenumberEnd: 23869
    functionName: from_bson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - file_input_adapter
    - binary_reader<decltype(ia)>
    - basic_json
    - std::forward<InputType>
    - std::move
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_bson(InputType&& i,\n                                const
      bool strict = true,\n                                const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_input_adapter
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23881,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23881,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23881,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23882,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23882,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - IteratorType
    - IteratorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23884
      start: 23874
    functionDepth: 2
    functionLinenumber: 23874
    functionLinenumberEnd: 23884
    functionName: from_bson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - file_input_adapter
    - binary_reader<decltype(ia)>
    - basic_json
    - std::move
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT from_bson(IteratorType first, IteratorType
      last,\n                                const bool strict = true,\n                                const
      bool allow_exceptions = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: from_bson
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - T*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23894
      start: 23889
    functionDepth: 1
    functionLinenumber: 23889
    functionLinenumberEnd: 23894
    functionName: from_bson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - from_bson
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_bson(const T* ptr, std::size_t len,\n                                const
      bool strict = true,\n                                const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23904,1
    - Dst: binary_reader<decltype(ia)>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23906,1
    - Dst: std::move
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23906,1
    - Dst: basic_json
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' i'
    argTypes:
    - detail::span_input_adapter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23908
      start: 23898
    functionDepth: 2
    functionLinenumber: 23898
    functionLinenumberEnd: 23908
    functionName: from_bson
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - binary_reader<decltype(ia)>
    - basic_json
    - get
    - std::move
    linkageType: ''
    returnType: basic_json
    signature: "basic_json from_bson(detail::span_input_adapter&& i,\n                                const
      bool strict = true,\n                                const bool allow_exceptions
      = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_unchecked
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23923
      start: 23920
    functionDepth: 5
    functionLinenumber: 23920
    functionLinenumberEnd: 23923
    functionName: operator[](const json_pointer& ptr)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - get_unchecked
    linkageType: ''
    returnType: reference
    signature: reference operator[](const json_pointer& ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_unchecked
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - ::nlohmann::json_pointer<BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23930
      start: 23927
    functionDepth: 5
    functionLinenumber: 23927
    functionLinenumberEnd: 23930
    functionName: operator[](const ::nlohmann::json_pointer<BasicJsonType>& ptr)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - get_unchecked
    linkageType: ''
    returnType: reference
    signature: reference operator[](const ::nlohmann::json_pointer<BasicJsonType>&
      ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_unchecked
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23937
      start: 23934
    functionDepth: 5
    functionLinenumber: 23934
    functionLinenumberEnd: 23937
    functionName: operator[](const json_pointer& ptr) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - get_unchecked
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator[](const json_pointer& ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_unchecked
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - ::nlohmann::json_pointer<BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23944
      start: 23941
    functionDepth: 5
    functionLinenumber: 23941
    functionLinenumberEnd: 23944
    functionName: operator[](const ::nlohmann::json_pointer<BasicJsonType>& ptr) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - get_unchecked
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator[](const ::nlohmann::json_pointer<BasicJsonType>&
      ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_checked
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23951
      start: 23948
    functionDepth: 5
    functionLinenumber: 23948
    functionLinenumberEnd: 23951
    functionName: at
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 327
    functionsReached:
    - get_checked
    linkageType: ''
    returnType: reference
    signature: reference at(const json_pointer& ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_checked
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - ::nlohmann::json_pointer<BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23958
      start: 23955
    functionDepth: 5
    functionLinenumber: 23955
    functionLinenumberEnd: 23958
    functionName: at
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 327
    functionsReached:
    - get_checked
    linkageType: ''
    returnType: reference
    signature: reference at(const ::nlohmann::json_pointer<BasicJsonType>& ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_checked
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - json_pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23965
      start: 23962
    functionDepth: 5
    functionLinenumber: 23962
    functionLinenumberEnd: 23965
    functionName: at
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 327
    functionsReached:
    - get_checked
    linkageType: ''
    returnType: const_reference
    signature: const_reference at(const json_pointer& ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_checked
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ptr'
    argTypes:
    - ::nlohmann::json_pointer<BasicJsonType>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23972
      start: 23969
    functionDepth: 5
    functionLinenumber: 23969
    functionLinenumberEnd: 23972
    functionName: at
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 327
    functionsReached:
    - get_checked
    linkageType: ''
    returnType: const_reference
    signature: const_reference at(const ::nlohmann::json_pointer<BasicJsonType>& ptr)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flatten
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23981
      start: 23976
    functionDepth: 1
    functionLinenumber: 23976
    functionLinenumberEnd: 23981
    functionName: flatten
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - flatten
    linkageType: ''
    returnType: basic_json
    signature: basic_json flatten() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unflatten
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:23987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23988
      start: 23985
    functionDepth: 1
    functionLinenumber: 23985
    functionLinenumberEnd: 23988
    functionName: unflatten
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - unflatten
    linkageType: ''
    returnType: basic_json
    signature: basic_json unflatten() const
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24041,1
    - Dst: top
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24048,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24051,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24055,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24056,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24058,1
    - Dst: push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24075,1
    - Dst: json_pointer::template array_index<basic_json_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24079,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24080,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24080,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24083,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24083,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24083,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24083,1
    - Dst: insert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24087,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24087,1
    - Dst: static_cast<difference_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24087,1
    - Dst: JSON_ASSERT
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24101,1
    - Dst: back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24109,1
    - Dst: pop_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24110,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24111,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24114,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24117,1
    - Dst: JSON_HEDLEY_LIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24118,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24118,1
    - Dst: erase
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24120,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24124,1
    - Dst: out_of_range::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24124,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24124,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24127,1
    - Dst: erase
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24130,1
    - Dst: json_pointer::template array_index<basic_json_t>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24130,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24135,1
    - Dst: is_array
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24135,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24137,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24137,1
    - Dst: m_data::m_value::object::find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24149,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24152,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24155,1
    - Dst: m_data::m_value::object::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24155,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24158,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24158,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24158,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24162,1
    - Dst: auto::second::is_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24162,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24165,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24165,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24165,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24173,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24173,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24175,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24175,1
    - Dst: get_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24179,1
    - Dst: get_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24180,1
    - Dst: get_op
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24183,1
    - Dst: operation_add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24187,1
    - Dst: get_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24187,1
    - Dst: operation_remove
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24193,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24200,1
    - Dst: get_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24200,1
    - Dst: get_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24206,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24210,1
    - Dst: operation_remove
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24216,1
    - Dst: operation_add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24217,1
    - Dst: get_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24223,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24227,1
    - Dst: operation_add
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24232,1
    - Dst: at
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24243,1
    - Dst: get_value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24243,1
    - Dst: JSON_HEDLEY_UNLIKELY
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24251,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24253,1
    - Dst: other_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24253,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24253,1
    - Dst: dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24253,1
    - Dst: JSON_THROW
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24264,1
    - Dst: parse_error::create
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24264,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24264,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 118
    argCount: 1
    argNames:
    - ' json_patch'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24267
      start: 24001
    functionDepth: 7
    functionLinenumber: 24001
    functionLinenumberEnd: 24267
    functionName: patch_inplace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - end
    - empty
    - is_object
    - size
    - at
    - dump
    - pop_back
    - JSON_HEDLEY_LIKELY
    - is_array
    - m_data::m_value::object::find
    - auto::second::is_string
    - back
    - JSON_ASSERT
    - find
    - insert
    - erase
    - JSON_THROW
    - push_back
    - static_cast<difference_type>
    - get_value
    - to_string
    - out_of_range::create
    - JSON_HEDLEY_UNLIKELY
    - concat
    - begin
    - json_pointer::template array_index<basic_json_t>
    - m_data::m_value::object::end
    - operation_remove
    - top
    - parse_error::create
    - operation_add
    - get_op
    - other_error::create
    linkageType: ''
    returnType: void
    signature: void patch_inplace(const basic_json& json_patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: basic_json::patch_inplace
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' json_patch'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24277
      start: 24272
    functionDepth: 8
    functionLinenumber: 24272
    functionLinenumberEnd: 24277
    functionName: patch
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 19
    functionsReached:
    - basic_json::patch_inplace
    linkageType: ''
    returnType: basic_json
    signature: basic_json patch(const basic_json& json_patch) const
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24294,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24294,1
    - Dst: basic_json::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24297,1
    - Dst: type
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24304,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24310,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24310,1
    - Dst: diff
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24313,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24313,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24313,1
    - Dst: basic_json::insert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24314,1
    - Dst: basic_json::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24314,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24314,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24314,1
    - Dst: static_cast<difference_type>
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24322,1
    - Dst: basic_json::size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24322,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24323,1
    - Dst: basic_json::insert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24327,1
    - Dst: basic_json::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24327,1
    - Dst: object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24327,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24330,1
    - Dst: to_string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24330,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24336,1
    - Dst: basic_json::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24338,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24341,1
    - Dst: cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24353,1
    - Dst: cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24353,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24356,1
    - Dst: escape
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24356,1
    - Dst: auto::key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24356,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24358,1
    - Dst: auto::key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24358,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24358,1
    - Dst: diff
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24361,1
    - Dst: auto::value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24361,1
    - Dst: auto::key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24361,1
    - Dst: basic_json::insert
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24362,1
    - Dst: basic_json::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24362,1
    - Dst: auto::begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24362,1
    - Dst: auto::end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24362,1
    - Dst: basic_json::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24367,1
    - Dst: object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24367,1
    - Dst: cbegin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24375,1
    - Dst: cend
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24375,1
    - Dst: find
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24377,1
    - Dst: auto::key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24377,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24377,1
    - Dst: concat
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24380,1
    - Dst: escape
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24380,1
    - Dst: auto::key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24380,1
    - Dst: basic_json::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24381,1
    - Dst: auto::value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24384,1
    - Dst: basic_json::push_back
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24403,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - ' source'
    - ' target'
    argTypes:
    - basic_json
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24412
      start: 24281
    functionDepth: 7
    functionLinenumber: 24281
    functionLinenumberEnd: 24412
    functionName: diff
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - auto::value
    - cend
    - end
    - size
    - cbegin
    - auto::begin
    - basic_json::begin
    - object
    - escape
    - find
    - basic_json::insert
    - static_cast<difference_type>
    - basic_json::size
    - to_string
    - concat
    - diff
    - auto::end
    - basic_json::push_back
    - type
    - basic_json::end
    - auto::key
    linkageType: ''
    returnType: JSON_HEDLEY_WARN_UNUSED_RESULT
    signature: "JSON_HEDLEY_WARN_UNUSED_RESULT diff(const basic_json& source, const
      basic_json& target,\n                           const std::string& path = \"\")"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24426,1
    - Dst: is_object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24428,1
    - Dst: object
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24430,1
    - Dst: begin
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24432,1
    - Dst: end
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24432,1
    - Dst: auto::value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24434,1
    - Dst: erase
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24436,1
    - Dst: auto::key
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24436,1
    - Dst: merge_patch
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24440,1
    - Dst: auto::value
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' apply_patch'
    argTypes:
    - basic_json
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24448
      start: 24424
    functionDepth: 6
    functionLinenumber: 24424
    functionLinenumberEnd: 24448
    functionName: merge_patch
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - auto::value
    - merge_patch
    - begin
    - end
    - object
    - is_object
    - erase
    - auto::key
    linkageType: ''
    returnType: void
    signature: void merge_patch(const basic_json& apply_patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - NLOHMANN_BASIC_JSON_TPL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24459
      start: 24455
    functionDepth: 0
    functionLinenumber: 24455
    functionLinenumberEnd: 24459
    functionName: std::string to_string(const NLOHMANN_BASIC_JSON_TPL& j)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - dump
    linkageType: ''
    returnType: NLOHMANN_BASIC_JSON_TPL_DECLARATION
    signature: NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string(const NLOHMANN_BASIC_JSON_TPL&
      j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: finish_parse
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24476
      start: 24472
    functionDepth: 7
    functionLinenumber: 24472
    functionLinenumberEnd: 24476
    functionName: operator "" _json(const char* s, std::size_t n)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - finish_parse
    linkageType: ''
    returnType: nlohmann::json
    signature: nlohmann::json operator "" _json(const char* s, std::size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pointer
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24487,1
    - Dst: string
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24488
      start: 24484
    functionDepth: 2
    functionLinenumber: 24484
    functionLinenumberEnd: 24488
    functionName: operator "" _json_pointer(const char* s, std::size_t n)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - json_pointer
    - string
    linkageType: ''
    returnType: nlohmann::json::json_pointer
    signature: nlohmann::json::json_pointer operator "" _json_pointer(const char*
      s, std::size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24508,1
    - Dst: std::is_lt
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24524,1
    - Dst: ::nlohmann::detail::operator<
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24526,1
    - Dst: swap
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24546
      start: 24492
    functionDepth: 2
    functionLinenumber: 24492
    functionLinenumberEnd: 24546
    functionName: namespace
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 1
    functionsReached:
    - swap
    - std::is_lt
    - ::nlohmann::detail::operator<
    - hash
    linkageType: ''
    returnType: NLOHMANN_JSON_NAMESPACE_END
    signature: NLOHMANN_JSON_NAMESPACE_END namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24510
      start: 24503
    functionDepth: 2
    functionLinenumber: 24503
    functionLinenumberEnd: 24510
    functionName: struct
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 36
    functionsReached:
    - hash
    linkageType: ''
    returnType: NLOHMANN_BASIC_JSON_TPL_DECLARATION
    signature: NLOHMANN_BASIC_JSON_TPL_DECLARATION struct hash<nlohmann::NLOHMANN_BASIC_JSON_TPL>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' j'
    argTypes:
    - nlohmann::NLOHMANN_BASIC_JSON_TPL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24509
      start: 24506
    functionDepth: 2
    functionLinenumber: 24506
    functionLinenumberEnd: 24509
    functionName: operator()(const nlohmann::NLOHMANN_BASIC_JSON_TPL& j) const
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - hash
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const nlohmann::NLOHMANN_BASIC_JSON_TPL& j)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::is_lt
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24524,1
    - Dst: ::nlohmann::detail::operator<
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - ::nlohmann::detail::value_t
    - ::nlohmann::detail::value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24528
      start: 24520
    functionDepth: 0
    functionLinenumber: 24520
    functionLinenumberEnd: 24528
    functionName: "operator()(::nlohmann::detail::value_t lhs,\n                    ::nlohmann::detail::value_t
      rhs) const noexcept"
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 0
    functionsReached:
    - std::is_lt
    - ::nlohmann::detail::operator<
    linkageType: ''
    returnType: bool
    signature: "bool operator()(::nlohmann::detail::value_t lhs,\n                    ::nlohmann::detail::value_t
      rhs) const noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/PcapPlusPlus/3rdParty/json/include/json.hpp:24541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' j1'
    - ' j2'
    argTypes:
    - nlohmann::NLOHMANN_BASIC_JSON_TPL
    - nlohmann::NLOHMANN_BASIC_JSON_TPL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24542
      start: 24536
    functionDepth: 0
    functionLinenumber: 24536
    functionLinenumberEnd: 24542
    functionName: swap
    functionSourceFile: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    functionUses: 14
    functionsReached:
    - swap
    linkageType: ''
    returnType: NLOHMANN_BASIC_JSON_TPL_DECLARATION
    signature: "NLOHMANN_BASIC_JSON_TPL_DECLARATION swap(nlohmann::NLOHMANN_BASIC_JSON_TPL&
      j1, nlohmann::NLOHMANN_BASIC_JSON_TPL& j2) noexcept(  // NOLINT(readability-inconsistent-declaration-parameter-name,
      cert-dcl58-cpp)\n    is_nothrow_move_constructible<nlohmann::NLOHMANN_BASIC_JSON_TPL>::value&&
      \                         // NOLINT(misc-redundant-expression,cppcoreguidelines-noexcept-swap,performance-noexcept-swap)\n
      \   is_nothrow_move_assignable<nlohmann::NLOHMANN_BASIC_JSON_TPL>::value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5::reset
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: MD5::MD5
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 4
    functionsReached:
    - MD5::reset
    linkageType: ''
    returnType: void
    signature: void MD5::MD5()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: MD5::reset
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MD5::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: f1
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f1(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: f2
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f2(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: f3
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f3(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: f4
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f4(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - c
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: rotate
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rotate(uint32_t a, uint32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_bswap32
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:63,1
    - Dst: _byteswap_ulong
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: swap
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 14
    functionsReached:
    - _byteswap_ulong
    - __builtin_bswap32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t swap(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: f1
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f1(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: f2
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f2(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: f3
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f3(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - c
    - d
    argTypes:
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: f4
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t f4(uint32_t b, uint32_t c, uint32_t d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - c
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: rotate
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rotate(uint32_t a, uint32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_bswap32
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:63,1
    - Dst: _byteswap_ulong
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: swap
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 14
    functionsReached:
    - _byteswap_ulong
    - __builtin_bswap32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t swap(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:98,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:99,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:99,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:100,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:101,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:101,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:102,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:103,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:103,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:104,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:105,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:105,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:107,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:108,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:108,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:109,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:110,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:110,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:111,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:112,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:112,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:113,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:114,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:114,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:116,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:117,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:117,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:118,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:119,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:119,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:120,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:121,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:121,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:122,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:123,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:123,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:125,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:126,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:126,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:127,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:128,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:128,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:129,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:130,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:130,1
    - Dst: HASH_LIB_LITTLEENDIAN
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:131,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:132,1
    - Dst: f1
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:132,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:135,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:135,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:136,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:136,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:137,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:137,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:138,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:138,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:140,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:140,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:141,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:141,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:142,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:142,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:143,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:143,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:145,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:145,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:146,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:146,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:147,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:147,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:148,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:148,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:150,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:150,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:151,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:151,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:152,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:152,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:153,1
    - Dst: f2
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:153,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:156,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:156,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:157,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:157,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:158,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:158,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:159,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:159,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:161,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:161,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:162,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:162,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:163,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:163,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:164,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:164,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:166,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:166,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:167,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:167,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:168,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:168,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:169,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:169,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:171,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:171,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:172,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:172,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:173,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:173,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:174,1
    - Dst: f3
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:174,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:177,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:177,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:178,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:178,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:179,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:179,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:180,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:180,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:182,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:182,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:183,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:183,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:184,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:184,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:185,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:185,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:187,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:187,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:188,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:188,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:189,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:189,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:190,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:190,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:192,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:192,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:193,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:193,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:194,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:194,1
    - Dst: rotate
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:195,1
    - Dst: f4
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 69
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 202
    functionName: MD5::processBlock
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached:
    - rotate
    - f2
    - f1
    - HASH_LIB_LITTLEENDIAN
    - f3
    - f4
    linkageType: ''
    returnType: void
    signature: void MD5::processBlock(const void* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: HASH_LIB_LITTLEENDIAN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_LIB_LITTLEENDIAN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: HASH_LIB_LITTLEENDIAN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_LIB_LITTLEENDIAN(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MD5::processBlock
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:222,1
    - Dst: MD5::processBlock
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - data
    - numBytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 246
    functionName: MD5::add
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached:
    - MD5::processBlock
    linkageType: ''
    returnType: void
    signature: void MD5::add(const void* data, size_t numBytes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MD5::processBlock
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:308,1
    - Dst: MD5::processBlock
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 312
    functionName: MD5::processBuffer
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached:
    - MD5::processBlock
    linkageType: ''
    returnType: void
    signature: void MD5::processBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5::getHash
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:320,1
    - Dst: std::string::reserve
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 333
    functionName: MD5::getHash
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 1
    functionsReached:
    - MD5::getHash
    - std::string::reserve
    linkageType: ''
    returnType: std::string
    signature: std::string MD5::getHash()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5::processBuffer
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 358
    functionName: MD5::getHash
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 1
    functionsReached:
    - MD5::processBuffer
    linkageType: ''
    returnType: void
    signature: void MD5::getHash(unsigned char buffer[MD5::HashBytes])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MD5::reset
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:364,1
    - Dst: MD5::add
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:365,1
    - Dst: MD5::getHash
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - numBytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: MD5::operator()(const void* data, size_t numBytes)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached:
    - MD5::reset
    - MD5::add
    - MD5::getHash
    linkageType: ''
    returnType: std::string
    signature: std::string MD5::operator()(const void* data, size_t numBytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:373,1
    - Dst: add
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:374,1
    - Dst: c_str
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:374,1
    - Dst: size
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:374,1
    - Dst: getHash
      Src: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' text'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: MD5::operator()(const std::string& text)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
    functionUses: 0
    functionsReached:
    - reset
    - getHash
    - add
    - size
    - c_str
    linkageType: ''
    returnType: std::string
    signature: std::string MD5::operator()(const std::string& text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __start
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: MemPlumber::start
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.h
    functionUses: 0
    functionsReached:
    - __start
    linkageType: ''
    returnType: void
    signature: void start(bool verbose = false, const char* fileDumperName = "", bool
      append = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stop
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: MemPlumber::stop
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.h
    functionUses: 0
    functionsReached:
    - __stop
    linkageType: ''
    returnType: void
    signature: void stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __stop_and_free_all_mem
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: MemPlumber::stopAndFreeAllMemory
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.h
    functionUses: 0
    functionsReached:
    - __stop_and_free_all_mem
    linkageType: ''
    returnType: void
    signature: void stopAndFreeAllMemory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __mem_leak_check
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' memLeakCount'
    - ' memLeakSize'
    argTypes:
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: MemPlumber::memLeakCheck
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.h
    functionUses: 0
    functionsReached:
    - __mem_leak_check
    linkageType: ''
    returnType: void
    signature: void memLeakCheck(size_t& memLeakCount, uint64_t& memLeakSize, bool
      verbose = false, const char* fileDumperName = "", bool append = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __static_mem_check
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' memCount'
    - ' memSize'
    argTypes:
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: MemPlumber::staticMemCheck
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.h
    functionUses: 0
    functionsReached:
    - __static_mem_check
    linkageType: ''
    returnType: void
    signature: void staticMemCheck(size_t& memCount, uint64_t& memSize, bool verbose
      = false, const char* fileDumperName = "", bool append = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - programMain
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: MEMPLUMBER_MAIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMPLUMBER_MAIN(programMain)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: MEMPLUMBER_HASH
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMPLUMBER_HASH(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: MemPlumberInternal::MemPlumberInternal
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MemPlumberInternal()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:65,1
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:71,1
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:74,1
    - Dst: fopen
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:76,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - fileName
    - append
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 86
    functionName: MemPlumberInternal::openFile
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - fprintf
    - strncmp
    - fopen
    linkageType: ''
    returnType: FILE
    signature: FILE * openFile(const char* fileName, bool append)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:90,1
    - Dst: fclose
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: MemPlumberInternal::closeFile
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - fclose
    - fflush
    linkageType: ''
    returnType: void
    signature: void closeFile(FILE* file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: MemPlumberInternal::isVerbose
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isVerbose()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemPlumberInternal::MemPlumberInternal
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: '& getInstance()'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - MemPlumberInternal::MemPlumberInternal
    linkageType: ''
    returnType: MemPlumberInternal
    signature: MemPlumberInternal & getInstance()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MemPlumberInternal::isVerbose
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:112,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:113,1
    - Dst: malloc
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:115,1
    - Dst: malloc
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:122,1
    - Dst: memset
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:123,1
    - Dst: MEMPLUMBER_HASH
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:133,1
    - Dst: strncpy
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:143,1
    - Dst: MemPlumberInternal::isVerbose
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:149,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:151,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - size
    - file
    - line
    argTypes:
    - std::size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 158
    functionName: MemPlumberInternal::allocateMemory
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - MemPlumberInternal::isVerbose
    - fprintf
    - MEMPLUMBER_HASH
    - strncpy
    - memset
    - malloc
    linkageType: ''
    returnType: void
    signature: void * allocateMemory(std::size_t size, const char* file, int line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MEMPLUMBER_HASH
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:167,1
    - Dst: MemPlumberInternal::isVerbose
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:193,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:194,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:202,1
    - Dst: MemPlumberInternal::isVerbose
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:209,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:210,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pointer
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 214
    functionName: MemPlumberInternal::freeMemory
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - MemPlumberInternal::isVerbose
    - MEMPLUMBER_HASH
    - fprintf
    - free
    linkageType: ''
    returnType: void
    signature: void freeMemory(void* pointer, const char* file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: MemPlumberInternal::programStarted
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void programStarted()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemPlumberInternal::openFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - verbose
    - fileDumperName
    - append
    argTypes:
    - bool
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: MemPlumberInternal::start
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - MemPlumberInternal::openFile
    linkageType: ''
    returnType: void
    signature: void start(bool verbose, const char* fileDumperName, bool append)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MemPlumberInternal::closeFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: MemPlumberInternal::stop
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - MemPlumberInternal::closeFile
    linkageType: ''
    returnType: void
    signature: void stop(bool closeDumper = true)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MemPlumberInternal::openFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:241,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:260,1
    - Dst: MemPlumberInternal::closeFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - ' memLeakCount'
    - ' memLeakSize'
    - verbose
    - fileDumperName
    - append
    argTypes:
    - size_t
    - uint64_t
    - bool
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 273
    functionName: MemPlumberInternal::checkLeaks
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - fprintf
    - MemPlumberInternal::openFile
    - MemPlumberInternal::closeFile
    linkageType: ''
    returnType: void
    signature: void checkLeaks(size_t& memLeakCount, uint64_t& memLeakSize, bool verbose,
      const char* fileDumperName, bool append)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MemPlumberInternal::openFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:281,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:296,1
    - Dst: MemPlumberInternal::closeFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - ' memCount'
    - ' memSize'
    - verbose
    - fileDumperName
    - append
    argTypes:
    - size_t
    - uint64_t
    - bool
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 312
    functionName: MemPlumberInternal::staticMemAllocation
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - fprintf
    - MemPlumberInternal::openFile
    - MemPlumberInternal::closeFile
    linkageType: ''
    returnType: void
    signature: void staticMemAllocation(size_t& memCount, uint64_t& memSize, bool
      verbose, const char* fileDumperName, bool append)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MemPlumberInternal::isVerbose
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:329,1
    - Dst: fprintf
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:330,1
    - Dst: free
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:338,1
    - Dst: MemPlumberInternal::closeFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 350
    functionName: MemPlumberInternal::freeAllMemory
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - MemPlumberInternal::isVerbose
    - MemPlumberInternal::closeFile
    - fprintf
    - free
    linkageType: ''
    returnType: void
    signature: void freeAllMemory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: getCaller
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getCaller()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:367,1
    - Dst: backtrace_symbols
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 378
    functionName: getCaller
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - backtrace_symbols
    - backtrace
    linkageType: ''
    returnType: char
    signature: char * getCaller()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - file
    - line
    argTypes:
    - std::size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: '* operator new(std::size_t size, const char* file, int line)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void * operator new(std::size_t size, const char* file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator new
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - file
    - line
    argTypes:
    - std::size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: '* operator new[](std::size_t size, const char* file, int line)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - operator new
    linkageType: ''
    returnType: void
    signature: void * operator new[](std::size_t size, const char* file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator new
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:390,1
    - Dst: getCaller
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: '* operator new[](size_t size)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - operator new
    - getCaller
    linkageType: ''
    returnType: void
    signature: void * operator new[](size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator new
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:394,1
    - Dst: getCaller
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: '* operator new(size_t size)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - operator new
    - getCaller
    linkageType: ''
    returnType: void
    signature: void * operator new(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operator new
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:398,1
    - Dst: getCaller
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: '* operator new(size_t size, const std::nothrow_t&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - operator new
    - getCaller
    linkageType: ''
    returnType: void
    signature: void * operator new(size_t size, const std::nothrow_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCaller
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: '* operator new[](size_t size, const std::nothrow_t&)'
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - getCaller
    linkageType: ''
    returnType: void
    signature: void * operator new[](size_t size, const std::nothrow_t&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pointer
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: operator delete(void* pointer, const char* file, int line)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void operator delete(void* pointer, const char* file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: operator delete(void* pointer) throw()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator delete(void* pointer) throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - void*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: operator delete(void* pointer, std::size_t size)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator delete(void* pointer, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: operator delete[](void* pointer)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator delete[](void* pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - void*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: operator delete[](void* pointer, std::size_t size)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator delete[](void* pointer, std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pointer
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: operator delete[](void* pointer, const char* file, int line)
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator delete[](void* pointer, const char* file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: operator delete(void* pointer, const std::nothrow_t&) throw()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator delete(void* pointer, const std::nothrow_t&) throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: operator delete[](void* pointer, const std::nothrow_t&) throw()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator delete[](void* pointer, const std::nothrow_t&) throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' memLeakCount'
    - ' memLeakSize'
    - verbose
    - fileDumperName
    - append
    argTypes:
    - size_t
    - uint64_t
    - bool
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 440
    functionName: __mem_leak_check
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 1
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void __mem_leak_check(size_t& memLeakCount, uint64_t& memLeakSize,
      bool verbose, const char* fileDumperName, bool append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - '  memCount'
    - ' memSize'
    - verbose
    - fileDumperName
    - append
    argTypes:
    - size_t
    - uint64_t
    - bool
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: __static_mem_check
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 1
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void __static_mem_check(size_t&  memCount, uint64_t& memSize, bool
      verbose, const char* fileDumperName, bool append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - verbose
    - fileDumperName
    - append
    argTypes:
    - bool
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: __start
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 1
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void __start(bool verbose, const char* fileDumperName, bool append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: __stop
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 1
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void __stop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:455,1
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: __stop_and_free_all_mem
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 1
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void __stop_and_free_all_mem()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pcpp::GtpV2InformationElement::getInstance
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: __program_started
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    functionUses: 0
    functionsReached:
    - pcpp::GtpV2InformationElement::getInstance
    linkageType: ''
    returnType: void
    signature: void __program_started()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemPlumber::staticMemCheck
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/static-example.cpp:55,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/static-example.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: app_main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/static-example.cpp
    functionUses: 0
    functionsReached:
    - MemPlumber::staticMemCheck
    - printf
    linkageType: ''
    returnType: int
    signature: int app_main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/static-example.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/static-example.cpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemPlumber::start
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/basic-example.cpp:30,1
    - Dst: int::int
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/basic-example.cpp:33,1
    - Dst: MyClass::MyClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/basic-example.cpp:34,1
    - Dst: MyClass::MyClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/basic-example.cpp:37,1
    - Dst: MemPlumber::memLeakCheck
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/basic-example.cpp:42,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/basic-example.cpp:45,1
    - Dst: MemPlumber::stop
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/basic-example.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/basic-example.cpp
    functionUses: 0
    functionsReached:
    - MemPlumber::memLeakCheck
    - int::int
    - MyClass::MyClass
    - printf
    - MemPlumber::start
    - MemPlumber::stop
    linkageType: ''
    returnType: int
    signature: int main( int argc, const char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemPlumber::start
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/dump-to-file-example.cpp:47,1
    - Dst: int::int
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/dump-to-file-example.cpp:50,1
    - Dst: MyClass::MyClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/dump-to-file-example.cpp:51,1
    - Dst: MyClass::MyClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/dump-to-file-example.cpp:54,1
    - Dst: MemPlumber::memLeakCheck
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/dump-to-file-example.cpp:59,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/dump-to-file-example.cpp:62,1
    - Dst: MemPlumber::memLeakCheck
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/dump-to-file-example.cpp:70,1
    - Dst: printf
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/dump-to-file-example.cpp:73,1
    - Dst: MemPlumber::stopAndFreeAllMemory
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/dump-to-file-example.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/dump-to-file-example.cpp
    functionUses: 0
    functionsReached:
    - MemPlumber::memLeakCheck
    - int::int
    - MyClass::MyClass
    - printf
    - MemPlumber::stopAndFreeAllMemory
    - MemPlumber::start
    linkageType: ''
    returnType: int
    signature: int main( int argc, const char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: double::double
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: TestClass2::TestClass2
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp
    functionUses: 0
    functionsReached:
    - double::double
    linkageType: ''
    returnType: void
    signature: void TestClass2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: ~TestClass2()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TestClass2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: countLinesInFile
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp
    functionUses: 0
    functionsReached:
    - std::getline
    linkageType: ''
    returnType: int
    signature: int countLinesInFile(const char* fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestClass1::TestClass1
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:48,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:50,1
    - Dst: TestClass2::TestClass2
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:52,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:55,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:61,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp
    functionUses: 1
    functionsReached:
    - TestClass2::TestClass2
    - TestClass1::TestClass1
    - CHECK_MEM_LEAK
    linkageType: ''
    returnType: void
    signature: void TEST_CASE(BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestClass1::TestClass1
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:79,1
    - Dst: TestClass2::TestClass2
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:80,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:83,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:89,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 98
    functionName: TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp
    functionUses: 1
    functionsReached:
    - TestClass2::TestClass2
    - TestClass1::TestClass1
    - CHECK_MEM_LEAK
    linkageType: ''
    returnType: void
    signature: void TEST_CASE(MultipleAllocations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestClass1::TestClass1
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:104,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:106,1
    - Dst: TestClass2::TestClass2
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:108,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:110,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:114,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp
    functionUses: 1
    functionsReached:
    - TestClass2::TestClass2
    - TestClass1::TestClass1
    - CHECK_MEM_LEAK
    linkageType: ''
    returnType: void
    signature: void TEST_CASE(ArrayAllocation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: START_TEST_DUMP_TO_FILE
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:125,1
    - Dst: TestClass1::TestClass1
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:127,1
    - Dst: TestClass1::TestClass1
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:133,1
    - Dst: TestClass2::TestClass2
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:134,1
    - Dst: MemPlumber::memLeakCheck
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:137,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:142,1
    - Dst: countLinesInFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:142,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:143,1
    - Dst: countLinesInFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:143,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:145,1
    - Dst: countLinesInFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:145,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:146,1
    - Dst: countLinesInFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp
    functionUses: 1
    functionsReached:
    - TestClass1::TestClass1
    - MemPlumber::memLeakCheck
    - TestClass2::TestClass2
    - TEST_ASSERT_EQUAL
    - countLinesInFile
    - START_TEST_DUMP_TO_FILE
    linkageType: ''
    returnType: void
    signature: void TEST_CASE(DumpToFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: START_TEST_DUMP_TO_FILE
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:152,1
    - Dst: TestClass1::TestClass1
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:154,1
    - Dst: TestClass1::TestClass1
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:160,1
    - Dst: TestClass2::TestClass2
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:161,1
    - Dst: MemPlumber::memLeakCheck
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:164,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:169,1
    - Dst: countLinesInFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:169,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:170,1
    - Dst: countLinesInFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:170,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:172,1
    - Dst: countLinesInFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:172,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:173,1
    - Dst: countLinesInFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 175
    functionName: TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp
    functionUses: 1
    functionsReached:
    - TestClass1::TestClass1
    - MemPlumber::memLeakCheck
    - TestClass2::TestClass2
    - TEST_ASSERT_EQUAL
    - countLinesInFile
    - START_TEST_DUMP_TO_FILE
    linkageType: ''
    returnType: void
    signature: void TEST_CASE(DumpToFileAppend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:189,1
    - Dst: RUN_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:192,1
    - Dst: RUN_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:193,1
    - Dst: SKIP_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:195,1
    - Dst: SKIP_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:196,1
    - Dst: RUN_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:199,1
    - Dst: RUN_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 203
    functionName: MAIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp
    functionUses: 0
    functionsReached:
    - RUN_TEST
    - SKIP_TEST
    linkageType: ''
    returnType: int
    signature: int MAIN(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibClass::LibClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp:9,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp:11,1
    - Dst: LibClass::getSizeOfInternalClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp:11,1
    - Dst: LibClass*::doSomething
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp:13,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp:15,1
    - Dst: LibClass::getSizeOfInternalClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp:15,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp:19,1
    - Dst: LibClass*::getSizeOfInternalClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 22
    functionName: TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp
    functionUses: 1
    functionsReached:
    - LibClass*::doSomething
    - CHECK_MEM_LEAK
    - LibClass::getSizeOfInternalClass
    - LibClass::LibClass
    - LibClass*::getSizeOfInternalClass
    linkageType: ''
    returnType: void
    signature: void TEST_CASE(MultiLibTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp:35,1
    - Dst: SKIP_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: MAIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp
    functionUses: 0
    functionsReached:
    - RUN_TEST
    - SKIP_TEST
    linkageType: ''
    returnType: int
    signature: int MAIN(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TestName
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 6
    functionName: TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_CASE(TestName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 13
    functionName: TEST_ASSERT_EQUAL
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL(actual, expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TestName
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: RUN_TEST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestName
    - ','
    - why
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: SKIP_TEST
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_TEST(TestName, why)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fileName
    - ','
    - append
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: START_TEST_DUMP_TO_FILE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: START_TEST_DUMP_TO_FILE(fileName, append)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expectedLeakCount
    - ','
    - expectedLeakSize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: CHECK_MEM_LEAK
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_MEM_LEAK(expectedLeakCount, expectedLeakSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: SimpleClass::SimpleClass
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SimpleClass()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int::int
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: InheritedClass::InheritedClass
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
    functionUses: 0
    functionsReached:
    - int::int
    linkageType: ''
    returnType: void
    signature: void InheritedClass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: ~InheritedClass()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~InheritedClass()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int::int
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:48,1
    - Dst: char::char
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:49,1
    - Dst: float::float
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:50,1
    - Dst: strcpy
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: ClassWithMemAllocations::ClassWithMemAllocations
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
    functionUses: 0
    functionsReached:
    - strcpy
    - char::char
    - float::float
    - int::int
    linkageType: ''
    returnType: void
    signature: void ClassWithMemAllocations()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: ~ClassWithMemAllocations()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ClassWithMemAllocations()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SimpleStruct::SimpleStruct
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:73,1
    - Dst: SimpleClass::SimpleClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:74,1
    - Dst: ClassWithMemAllocations::ClassWithMemAllocations
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:75,1
    - Dst: LibClass::LibClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: ComplexClass::ComplexClass
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
    functionUses: 0
    functionsReached:
    - LibClass::LibClass
    - SimpleStruct::SimpleStruct
    - ClassWithMemAllocations::ClassWithMemAllocations
    - SimpleClass::SimpleClass
    linkageType: ''
    returnType: void
    signature: void ComplexClass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: ~ComplexClass()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ComplexClass()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibClass::getSizeOfInternalClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:97,1
    - Dst: SimpleStruct::SimpleStruct
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:108,1
    - Dst: SimpleClass::SimpleClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:109,1
    - Dst: InheritedClass::InheritedClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:110,1
    - Dst: ClassWithMemAllocations::ClassWithMemAllocations
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:111,1
    - Dst: LibClass::LibClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:112,1
    - Dst: ComplexClass::ComplexClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:113,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:117,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 138
    functionName: TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
    functionUses: 1
    functionsReached:
    - LibClass::getSizeOfInternalClass
    - ComplexClass::ComplexClass
    - SimpleClass::SimpleClass
    - CHECK_MEM_LEAK
    - LibClass::LibClass
    - SimpleStruct::SimpleStruct
    - ClassWithMemAllocations::ClassWithMemAllocations
    - InheritedClass::InheritedClass
    linkageType: ''
    returnType: void
    signature: void TEST_CASE(AllocateAllAndThenRelease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibClass::getSizeOfInternalClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:149,1
    - Dst: SimpleStruct::SimpleStruct
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:160,1
    - Dst: SimpleClass::SimpleClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:161,1
    - Dst: InheritedClass::InheritedClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:162,1
    - Dst: ClassWithMemAllocations::ClassWithMemAllocations
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:163,1
    - Dst: LibClass::LibClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:164,1
    - Dst: ComplexClass::ComplexClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:165,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:169,1
    - Dst: rand
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:179,1
    - Dst: rand
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:182,1
    - Dst: SimpleStruct::SimpleStruct
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:199,1
    - Dst: SimpleClass::SimpleClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:200,1
    - Dst: InheritedClass::InheritedClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:201,1
    - Dst: ClassWithMemAllocations::ClassWithMemAllocations
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:202,1
    - Dst: LibClass::LibClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:203,1
    - Dst: ComplexClass::ComplexClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:204,1
    - Dst: SimpleStruct::SimpleStruct
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:206,1
    - Dst: SimpleClass::SimpleClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:207,1
    - Dst: InheritedClass::InheritedClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:208,1
    - Dst: ClassWithMemAllocations::ClassWithMemAllocations
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:209,1
    - Dst: LibClass::LibClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:210,1
    - Dst: ComplexClass::ComplexClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:211,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:215,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 237
    functionName: TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
    functionUses: 1
    functionsReached:
    - LibClass::getSizeOfInternalClass
    - ComplexClass::ComplexClass
    - SimpleClass::SimpleClass
    - CHECK_MEM_LEAK
    - rand
    - LibClass::LibClass
    - SimpleStruct::SimpleStruct
    - ClassWithMemAllocations::ClassWithMemAllocations
    - InheritedClass::InheritedClass
    linkageType: ''
    returnType: void
    signature: void TEST_CASE(AllocateSomeAndReleaseSome)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:249,1
    - Dst: RUN_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: MAIN
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
    functionUses: 0
    functionsReached:
    - RUN_TEST
    linkageType: ''
    returnType: int
    signature: int MAIN(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint64_t::uint64_t
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: StaticVarsTestClass::StaticVarsTestClass
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp
    functionUses: 0
    functionsReached:
    - uint64_t::uint64_t
    linkageType: ''
    returnType: void
    signature: void StaticVarsTestClass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: ~StaticVarsTestClass()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StaticVarsTestClass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: StaticVarsTestClass::getStaticVar
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StaticClass
    signature: StaticClass * getStaticVar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::getline
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fileName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: countLinesInFile
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp
    functionUses: 2
    functionsReached:
    - std::getline
    linkageType: ''
    returnType: int
    signature: int countLinesInFile(const char* fileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StaticVarsTestClass::StaticVarsTestClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:61,1
    - Dst: MemPlumber::staticMemCheck
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:65,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:66,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:67,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:69,1
    - Dst: CHECK_MEM_LEAK
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp
    functionUses: 1
    functionsReached:
    - StaticVarsTestClass::StaticVarsTestClass
    - MemPlumber::staticMemCheck
    - TEST_ASSERT_EQUAL
    - CHECK_MEM_LEAK
    linkageType: ''
    returnType: void
    signature: void TEST_CASE(StaticVarTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MemPlumber::staticMemCheck
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:82,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:84,1
    - Dst: countLinesInFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:84,1
    - Dst: MemPlumber::staticMemCheck
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:86,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:88,1
    - Dst: countLinesInFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:88,1
    - Dst: MemPlumber::staticMemCheck
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:90,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:92,1
    - Dst: countLinesInFile
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: TEST_CASE
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp
    functionUses: 1
    functionsReached:
    - countLinesInFile
    - MemPlumber::staticMemCheck
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST_CASE(StaticVarsDumpToFile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:100,1
    - Dst: RUN_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: tests_main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp
    functionUses: 0
    functionsReached:
    - RUN_TEST
    linkageType: ''
    returnType: int
    signature: int tests_main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SKIP_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:111,1
    - Dst: SKIP_TEST
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: main
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp
    functionUses: 0
    functionsReached:
    - SKIP_TEST
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: double::double
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-lib/test-lib.cpp:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 12
    functionName: LibInternalClass::LibInternalClass
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-lib/test-lib.cpp
    functionUses: 0
    functionsReached:
    - double::double
    linkageType: ''
    returnType: void
    signature: void LibInternalClass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: ~LibInternalClass()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-lib/test-lib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LibInternalClass()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: double::double
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-lib/test-lib.cpp:22,1
    - Dst: LibInternalClass::LibInternalClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-lib/test-lib.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: LibClass::LibClass
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-lib/test-lib.cpp
    functionUses: 4
    functionsReached:
    - double::double
    - LibInternalClass::LibInternalClass
    linkageType: ''
    returnType: void
    signature: void LibClass::LibClass()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: LibClass::~LibClass()
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-lib/test-lib.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LibClass::~LibClass()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibInternalClass::LibInternalClass
      Src: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-lib/test-lib.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: LibClass::doSomething
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-lib/test-lib.cpp
    functionUses: 0
    functionsReached:
    - LibInternalClass::LibInternalClass
    linkageType: ''
    returnType: void
    signature: void LibClass::doSomething()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: LibClass::getSizeOfInternalClass
    functionSourceFile: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-lib/test-lib.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LibClass::getSizeOfInternalClass()
Fuzzer filename: /src/libpcap/testprogs/fuzz/fuzz_pcap.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- rpc/rpcent.h
- CryptoKeyDecoder.h
- LRUList.h
- dirent.h
- linux/usbdevice_fs.h
- strtoaddr.h
- DnsResourceData.h
- fstream
- rte_mempool.h
- bluetooth/hci.h
- PostgresLayer.h
- windef.h
- Asn1Codec.h
- Sll2Layer.h
- CiscoHdlcLayer.h
- PayloadLayer.h
- PPPoELayer.h
- getservent.h
- atomic
- GtpLayer.h
- CryptoDataReader.h
- stdint.h
- ah.h
- openssl/ssl.h
- pcap/compiler-tests.h
- netlink/msg.h
- rpcapd/daemon.h
- rpcap-protocol.h
- iosfwd
- sys/device.h
- pcap-bt-monitor-linux.h
- stdlib.h
- IPv6Extensions.h
- set
- ntp.h
- istream
- NflogLayer.h
- PointerVector.h
- ntddndis.h
- stack
- pcap-bt-linux.h
- windivert.h
- IpAddress.h
- light_debug.h
- linux/compiler.h
- light_types.h
- timeval-operations.h
- pcap-util.h
- cpack.h
- numeric
- PacketFactory.h
- SdpLayer.h
- nlpid.h
- TcpLayer.h
- net/if_arp.h
- SomeIpSdLayer.h
- malloc.h
- sal.h
- missing/getopt_long.h
- IcmpLayer.h
- VlanLayer.h
- TestDefinition.h
- light_util.h
- machine/endian.h
- PcapRemoteDeviceList.h
- MySqlLayer.h
- charconv.h
- dlpisubs.h
- AppWorkerThread.h
- pcap-common.h
- nameser.h
- linux/if_arp.h
- RawSocketDevice.h
- X509ExtensionDataDecoder.h
- sys/file.h
- ios
- IpAddressUtils.h
- ascii_strcasecmp.h
- syslog.h
- IcmpV6Layer.h
- ip6.h
- linux/netlink.h
- KniDevice.h
- DhcpLayer.h
- libcasper.h
- linux/if_ether.h
- stdarg.h
- io.h
- OUILookup.h
- features.h
- diag-control.h
- net/bpf.h
- DeviceUtils.h
- Resources.h
- limits.h
- SSLCommon.h
- compare
- json.hpp
- PfRingDeviceList.h
- rpc_msg.h
- sys/time.h
- l2vpn.h
- nametoaddr.h
- smi.h
- string
- rte_errno.h
- rte_launch.h
- pfring.h
- RawPacket.h
- benchmark/benchmark.h
- NtpLayer.h
- SSLStatsCollector.h
- clocale
- shadow.h
- GeneralUtils.h
- Common/GlobalTestArgs.h
- ../Common/GlobalTestArgs.h
- libkern/OSByteOrder.h
- pcap-dbus.h
- md5.h
- systemconfiguration/scdynamicstore.h
- sys/cfgodm.h
- sys/dlpi_ext.h
- IPSecLayer.h
- casper/cap_dns.h
- TextBasedProtocol.h
- SmtpLayer.h
- rte_lcore.h
- linux/netfilter.h
- Packet32.h
- thread-local.h
- iostream
- pwd.h
- netdissect-stdinc.h
- pcap.h
- process.h
- NullLoopbackLayer.h
- SSHLayer.h
- zone.h
- mach.h
- openssl/crypto.h
- TLVData.h
- pcap-rdmasniff.h
- rte_interrupts.h
- pcap/pcap.h
- sf-pcap.h
- sys/endian.h
- af.h
- ctype.h
- ../Common/PcapFileNamesDef.h
- PcapFileDevice.h
- experimental/filesystem
- dag_config_api.h
- rpc/rpc.h
- utility
- tcp.h
- cerrno
- pcap-types.h
- BgpLayer.h
- ppp.h
- ModbusLayer.h
- ip.h
- libdlpi.h
- pcap-namedb.h
- PcapDevice.h
- DpdkDeviceList.h
- netlink/genl/genl.h
- cstdio
- linux/filter.h
- UdpLayer.h
- PacketMatchingEngine.h
- resolv.h
- portability.h
- LdapLayer.h
- typeinfo
- TestUtils.h
- PcapPlusPlusVersion.h
- netinet/ether.h
- oui.h
- gre.h
- snf.h
- light_null_compression.h
- rte_config.h
- ifaddrs.h
- PcapRemoteDevice.h
- log.h
- DnsResource.h
- fptype.h
- rte_bus_pci.h
- PcapFilter.h
- exception
- sys/types.h
- pcap-usb-linux-common.h
- ../../version.h
- TelnetLayer.h
- memory
- cluster.h
- ipproto.h
- Splitters.h
- test-lib/test-lib.h
- netinet/if_ether.h
- pcap/bluetooth.h
- rte_ethdev.h
- Device.h
- cstddef
- string.h
- pcap-snf.h
- pcap/bpf.h
- appletalk.h
- nfsfh.h
- sys/capsicum.h
- NetworkUtils.h
- type_traits
- rte_memory.h
- Common/TestUtils.h
- npcap-bpf.h
- ObjectPool.h
- gencode.h
- sys/eventfd.h
- sys/ioccom.h
- assert.h
- pcap/can_socketcan.h
- LLCLayer.h
- getopt.h
- pcap/ipnet.h
- daemon.h
- libgen.h
- PcppTestFrameworkRun.h
- dlfcn.h
- poll.h
- cstdlib
- mpls.h
- forward_list
- sys/dlpi.h
- EthDot3Layer.h
- inttypes.h
- dagpci.h
- linux/types.h
- chdlc.h
- pcap/sll.h
- ../header/CotpLayer.h
- netlink/attr.h
- stddef.h
- algorithm
- chrono
- StpLayer.h
- condition_variable
- rte_memzone.h
- regex
- thread
- csignal
- net/route.h
- scanner.h
- sys/wait.h
- fmtutils.h
- vector
- linux/netfilter/nfnetlink_log.h
- IPv6Layer.h
- IPPortSplitters.h
- infiniband/verbs.h
- cap-ng.h
- SomeIpLayer.h
- netinet/ip.h
- list
- AssertionUtils.h
- map
- openssl/md5.h
- iomanip
- HttpLayer.h
- linux/if_packet.h
- linux/netfilter/nfnetlink.h
- SipLayer.h
- KniDeviceList.h
- cf.h
- linux/ethtool.h
- CotpLayer.h
- functional
- rte_prefetch.h
- time.h
- linux/netfilter/nfnetlink_queue.h
- rte_ether.h
- valarray
- ddk/ndis.h
- addrtoname.h
- rte_mbuf.h
- array
- funcattrs.h
- Common.h
- net/if_dl.h
- sockutils.h
- SimpleSplitters.h
- dbus/dbus.h
- atm.h
- ws2tcpip.h
- sys/nv.h
- zstd.h
- Packet.h
- sys/stat.h
- DpdkDevice.h
- SllLayer.h
- openssl/evp.h
- arpa/nameser.h
- RadiusLayer.h
- light_file.h
- VrrpLayer.h
- DnsLayer.h
- net/netmap_user.h
- string_view
- EndianPortable.h
- DhcpV6Layer.h
- os-proto.h
- netdissect-ctype.h
- MacAddress.h
- print.h
- pcap-dag.h
- TpktLayer.h
- IpUtils.h
- udp.h
- sys/select.h
- sys/stream.h
- IPReassembly.h
- pflog.h
- rte_kni.h
- filesystem
- intrin.h
- optimize.h
- sys/ethernet.h
- fcntl.h
- wchar.h
- FtpLayer.h
- ConnectionSplitters.h
- fileconf.h
- ieee80211.h
- openssl/err.h
- sys/bufmod.h
- IgmpLayer.h
- ArpLayer.h
- PcppTestFramework.h
- ../Common/TestUtils.h
- light_compression_functions.h
- mach/mach.h
- mutex
- machine/atomic.h
- OS.h
- DumpToFile.h
- config.h
- mib.h
- memory.h
- WinPcapLiveDevice.h
- WireGuardLayer.h
- pcap-netmap.h
- cmath
- net/if_types.h
- device/device.h
- execinfo.h
- cstdint
- netdissect.h
- gmpls.h
- stropts.h
- linux/if.h
- DeprecationUtils.h
- pcap-int.h
- varattrs.h
- winsock2.h
- sys/systeminfo.h
- sys/sysctl.h
- X509Decoder.h
- pcap/socket.h
- sys/ioctl.h
- WinDivertDevice.h
- sys/socket.h
- PcapUtils.h
- linux/net_tstamp.h
- sys/param.h
- XdpDevice.h
- netinet/in.h
- unordered_map
- Windows.h
- setjmp.h
- sys/mman.h
- MBufRawPacket.h
- light_pcapng.h
- stdbool.h
- rte_atomic.h
- pcap-usb-linux.h
- crtdefs.h
- status-exit-codes.h
- hurd.h
- ../Utils/TestUtils.h
- test-lib.h
- linux/sockios.h
- netpacket/packet.h
- bfd.h
- HttpStatsCollector.h
- netdb.h
- rte_pci.h
- nfs.h
- pcap/nflog.h
- netlink/genl/ctrl.h
- WakeOnLanLayer.h
- rte_per_lcore.h
- unistd.h
- stdio.h
- sys/sockio.h
- icmp.h
- rte_log.h
- unordered_set
- errno.h
- ethertype.h
- initializer_list
- IPv4Layer.h
- sys/byteorder.h
- cstring
- linux/nl80211.h
- grp.h
- PemCodec.h
- NdpLayer.h
- slcompress.h
- mach/clock.h
- pcap/namedb.h
- DeviceListBase.h
- ../TestDefinition.h
- rte_cycles.h
- PfRingDevice.h
- ftmacros.h
- byteswap.h
- memplumber.h
- rte_malloc.h
- net/if_ether.h
- sf-pcapng.h
- bluetooth/bluetooth.h
- Utils/TestUtils.h
- PcppTestFrameworkCommon.h
- ctime
- getopt_long.h
- ostream
- rte_version.h
- pcap-rpcap.h
- dagapi.h
- memplumber-internals.h
- pcap/dlt.h
- tuple
- TcpReassembly.h
- sysexits.h
- linux/if_bonding.h
- any
- ranges
- TimespecTimeval.h
- bpf/libbpf.h
- math.h
- random
- netdissect-alloc.h
- arpa/inet.h
- rte_common.h
- new
- rte_eal.h
- pcap/funcattrs.h
- linux/if_link.h
- bpf/xsk.h
- ddk/ntddndis.h
- sys/sysconfig.h
- net/if.h
- sys/utsname.h
- unix.h
- PcapLiveDeviceList.h
- light_special.h
- Layer.h
- SystemUtils.h
- sys/isa_defs.h
- pcap/usb.h
- rte_random.h
- GreLayer.h
- stdexcept
- DoIpLayer.h
- smb.h
- cassert
- EthLayer.h
- net/if_media.h
- PacketUtils.h
- limits
- ProtocolType.h
- WorkerThread.h
- LinuxNicInformationSocket.h
- pcap/vlan.h
- pcap-netfilter-linux.h
- light_platform.h
- pcap/pcap-inttypes.h
- SSLLayer.h
- iterator
- llc.h
- rte_ring.h
- Logger.h
- VxlanLayer.h
- win32-svc.h
- net/ethernet.h
- interface.h
- S7CommLayer.h
- rpc_auth.h
- rte_debug.h
- light_pcapng_ext.h
- GlobalTestArgs.h
- PcapLiveDevice.h
- SSLHandshake.h
- SingleCommandTextProtocol.h
- device/device_types.h
- addrtostr.h
- config_params.h
- endian.h
- bitset
- openflow.h
- MplsLayer.h
- device/net_status.h
- signature.h
- rte_memcpy.h
- light_zstd_compression.h
- PcapExtract.h
- cctype
- test-macros.h
- sys/resource.h
- iphlpapi.h
- compiler-tests.h
- ospf.h
- pthread.h
- version
- PacketTrailerLayer.h
- strings.h
- light_compression.h
- netlink/genl/family.h
- extract.h
- windows.h
- future
- ReadParsedPacket.h
- DnsLayerEnums.h
- sslutils.h
- rpcapd.h
- signal.h
- IPLayer.h
- light_internal.h
- rte_branch_prediction.h
- TablePrinter.h
- sstream
report: name
sources:
- function_names: []
  source_file: /src/libpcap/thread-local.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: thread_local
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libpcap/thread-local.h
      type_or_value: _Thread_local
    - item_type: preproc_def
      name: thread_local
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libpcap/thread-local.h
      type_or_value: __declspec(thread)
    - item_type: preproc_def
      name: thread_local
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libpcap/thread-local.h
      type_or_value: __thread
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/ieee80211.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IEEE80211_FC0_VERSION_MASK
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x03U
    - item_type: preproc_def
      name: IEEE80211_FC0_VERSION_SHIFT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libpcap/ieee80211.h
      type_or_value: '0'
    - item_type: preproc_def
      name: IEEE80211_FC0_VERSION_0
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x00U
    - item_type: preproc_def
      name: IEEE80211_FC0_TYPE_MASK
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x0cU
    - item_type: preproc_def
      name: IEEE80211_FC0_TYPE_SHIFT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libpcap/ieee80211.h
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE80211_FC0_TYPE_MGT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x00U
    - item_type: preproc_def
      name: IEEE80211_FC0_TYPE_CTL
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x04U
    - item_type: preproc_def
      name: IEEE80211_FC0_TYPE_DATA
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x08U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_MASK
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0xf0U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_SHIFT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libpcap/ieee80211.h
      type_or_value: '4'
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_ASSOC_REQ
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x00U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_ASSOC_RESP
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x10U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_REASSOC_REQ
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x20U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_REASSOC_RESP
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x30U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_PROBE_REQ
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x40U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_PROBE_RESP
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x50U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_BEACON
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x80U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_ATIM
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x90U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_DISASSOC
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0xa0U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_AUTH
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0xb0U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_DEAUTH
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0xc0U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_BAR
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x80U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_BA
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x90U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_PS_POLL
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0xa0U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_RTS
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0xb0U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_CTS
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0xc0U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_ACK
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0xd0U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_CF_END
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0xe0U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_CF_END_ACK
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0xf0U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_DATA
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x00U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_CF_ACK
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x10U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_CF_POLL
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x20U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_CF_ACPL
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x30U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_NODATA
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x40U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_NODATA_CF_ACK
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x50U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_NODATA_CF_POLL
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x60U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_NODATA_CF_ACPL
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x70U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_QOS
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x80U
    - item_type: preproc_def
      name: IEEE80211_FC0_SUBTYPE_QOS_NULL
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0xc0U
    - item_type: preproc_def
      name: IEEE80211_FC1_DIR_MASK
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x03U
    - item_type: preproc_def
      name: IEEE80211_FC1_DIR_NODS
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libpcap/ieee80211.h
      type_or_value: "0x00U\t"
    - item_type: preproc_def
      name: IEEE80211_FC1_DIR_TODS
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libpcap/ieee80211.h
      type_or_value: "0x01U\t"
    - item_type: preproc_def
      name: IEEE80211_FC1_DIR_FROMDS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libpcap/ieee80211.h
      type_or_value: "0x02U\t"
    - item_type: preproc_def
      name: IEEE80211_FC1_DIR_DSTODS
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libpcap/ieee80211.h
      type_or_value: "0x03U\t"
    - item_type: preproc_def
      name: IEEE80211_FC1_MORE_FRAG
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x04U
    - item_type: preproc_def
      name: IEEE80211_FC1_RETRY
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x08U
    - item_type: preproc_def
      name: IEEE80211_FC1_PWR_MGT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x10U
    - item_type: preproc_def
      name: IEEE80211_FC1_MORE_DATA
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x20U
    - item_type: preproc_def
      name: IEEE80211_FC1_WEP
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x40U
    - item_type: preproc_def
      name: IEEE80211_FC1_ORDER
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x80U
    - item_type: preproc_def
      name: IEEE80211_SEQ_FRAG_MASK
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x000fU
    - item_type: preproc_def
      name: IEEE80211_SEQ_FRAG_SHIFT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libpcap/ieee80211.h
      type_or_value: '0'
    - item_type: preproc_def
      name: IEEE80211_SEQ_SEQ_MASK
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0xfff0U
    - item_type: preproc_def
      name: IEEE80211_SEQ_SEQ_SHIFT
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libpcap/ieee80211.h
      type_or_value: '4'
    - item_type: preproc_def
      name: IEEE80211_NWID_LEN
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libpcap/ieee80211.h
      type_or_value: '32'
    - item_type: preproc_def
      name: IEEE80211_QOS_TXOP
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x00ffU
    - item_type: preproc_def
      name: IEEE80211_QOS_ACKPOLICY
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x60U
    - item_type: preproc_def
      name: IEEE80211_QOS_ACKPOLICY_S
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libpcap/ieee80211.h
      type_or_value: '5'
    - item_type: preproc_def
      name: IEEE80211_QOS_ESOP
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x10U
    - item_type: preproc_def
      name: IEEE80211_QOS_ESOP_S
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libpcap/ieee80211.h
      type_or_value: '4'
    - item_type: preproc_def
      name: IEEE80211_QOS_TID
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libpcap/ieee80211.h
      type_or_value: 0x0fU
    structs: []
    typedefs: []
    union: []
- function_names:
  - u_int_sum
  - is_isochronous_transfer_completion
  - iso_pseudo_header_len
  - incoming_isochronous_transfer_completed_len
  source_file: /src/libpcap/pcap-usb-linux-common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/dlpisubs.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: stat
        type: struct pcap_stat
      item_type: struct
      name: pcap_dlpi
      pos:
        line_end: 19
        line_start: 10
        source_file: /src/libpcap/dlpisubs.h
    typedefs: []
    union: []
- function_names:
  - SA_LEN
  - SA_LEN
  - pcapint_findalldevs_interfaces
  source_file: /src/libpcap/fad-gifc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SA_LEN
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libpcap/fad-gifc.c
      type_or_value: '255'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcapint_fmt_set_encoding
  - pcapint_fmt_set_encoding
  - IS_LEADING_SURROGATE
  - IS_TRAILING_SURROGATE
  - SURROGATE_VALUE
  - utf_16le_to_utf_8_truncated
  - pcapint_fmt_errmsg_for_errno
  - pcapint_vfmt_errmsg_for_errno
  - pcapint_fmt_errmsg_for_win32_err
  - pcapint_vfmt_errmsg_for_win32_err
  source_file: /src/libpcap/fmtutils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REPLACEMENT_CHARACTER
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libpcap/fmtutils.c
      type_or_value: '0x0FFFD'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/sslutils.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSL
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libpcap/sslutils.h
      type_or_value: void const
    - item_type: preproc_def
      name: _U_NOSSL_
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libpcap/sslutils.h
      type_or_value: _U_
    structs: []
    typedefs: []
    union: []
- function_names:
  - TX_ONLY
  - RX_ONLY
  - RXTX_STR
  - get_decuint_from_env
  - delete_pcap_dag
  - dag_platform_cleanup
  - atexit_handler
  - new_pcap_dag
  - dag_erf_ext_header_count
  - dag_rxtx_mismatch
  - dag_read_notimpl
  - dag_getnonblock_fd_notimpl
  - dag_stats_notimpl
  - dag_setnonblock_notimpl
  - dag_inject_notimpl
  - dag_install_bpf_program_notimpl
  - dag_read
  - dag_inject
  - dag_activate_tx
  - dag_activate
  - dag_create
  - dag_stats
  - dag_device_description
  - dag_stream_short_description
  - dag_stream_long_description
  - dag_findalldevs
  - dag_set_datalink
  - dag_setnonblock
  - dag_get_datalink
  - pcapint_create_interface
  - pcap_lib_version
  source_file: /src/libpcap/pcap-dag.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DAG_MAX_BOARDS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '32'
    - item_type: preproc_def
      name: ATM_CELL_SIZE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '52'
    - item_type: preproc_def
      name: ATM_HDR_SIZE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MTP2_SENT_OFFSET
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: MTP2_ANNEX_A_USED_OFFSET
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MTP2_LINK_NUMBER_OFFSET
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MTP2_HDR_LEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: MTP2_ANNEX_A_NOT_USED
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MTP2_ANNEX_A_USED
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MTP2_ANNEX_A_USED_UNKNOWN
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ALIGN_BYTES_DEFAULT
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '8'
    - item_type: preproc_def
      name: ALIGN_BYTES_9_2
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '16'
    - item_type: preproc_def
      name: ALIGN_BYTES_MAX
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: ALIGN_BYTES_9_2
    - item_type: preproc_def
      name: MAX_DAG_PACKET
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '65536'
    - item_type: preproc_def
      name: ENV_RX_FCS_BITS
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '"ERF_FCS_BITS"'
    - item_type: preproc_def
      name: ENV_RX_FCS_NOSTRIP
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '"ERF_DONT_STRIP_FCS"'
    - item_type: preproc_def
      name: ENV_TX_IFACE
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '"ERF_TX_INTERFACE"'
    - item_type: preproc_def
      name: ETH_MINLEN_NOFCS
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '60'
    - item_type: preproc_def
      name: ETH_MAXLEN_NOFCS
      pos:
        line_end: 753
        line_start: 752
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '9596'
    - item_type: preproc_def
      name: ETH_MINLEN_HDRONLY
      pos:
        line_end: 760
        line_start: 759
        source_file: /src/libpcap/pcap-dag.c
      type_or_value: '14'
    structs:
    - fields:
      - name: flags
        type: unsigned char
      - name: vpi
        type: unsigned char
      - name: vci
        type: unsigned short
      item_type: struct
      name: sunatm_hdr
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/libpcap/pcap-dag.c
    - fields:
      - name: stat
        type: struct pcap_stat
      - name: '*dag_mem_bottom'
        type: u_char
      - name: '*dag_mem_top'
        type: u_char
      - name: dag_fcs_bits
        type: int
      - name: dag_flags
        type: int
      - name: dag_devnum
        type: int
      - name: dag_stream
        type: int
      - name: dag_timeout
        type: int
      - name: dag_ref
        type: dag_card_ref_t
      - name: dag_root
        type: dag_component_t
      - name: drop_attr
        type: attr_uuid_t
      - name: drop_base
        type: uint64_t
      - name: required_select_timeout
        type: struct timeval
      - name: tx_iface
        type: uint8_t
      - name: tx_align_bytes
        type: uint8_t
      - name: terf_fcs_bytes
        type: uint8_t
      item_type: struct
      name: pcap_dag
      pos:
        line_end: 88
        line_start: 65
        source_file: /src/libpcap/pcap-dag.c
    - fields:
      - name: '*next'
        type: struct pcap_dag_node
      - name: '*p'
        type: pcap_t
      - name: pid
        type: pid_t
      item_type: struct
      name: pcap_dag_node
      pos:
        line_end: 98
        line_start: 94
        source_file: /src/libpcap/pcap-dag.c
    typedefs: []
    union: []
- function_names:
  - rpcap_senderror
  - rpcap_createhdr
  - rpcap_msg_type_string
  source_file: /src/libpcap/rpcap-protocol.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_REQ_TYPES
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libpcap/rpcap-protocol.c
      type_or_value: (sizeof requests / sizeof requests[0])
    - item_type: preproc_def
      name: NUM_REPLY_TYPES
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/libpcap/rpcap-protocol.c
      type_or_value: (sizeof replies / sizeof replies[0])
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcap_set_optimizer_debug
  - pcap_set_print_dot_graph
  - lowest_set_bit
  - lowest_set_bit
  - lowest_set_bit
  - K
  - SET_MEMBER
  - SET_INSERT
  - SET_DELETE
  - SET_INTERSECT
  - SET_SUBTRACT
  - SET_UNION
  - find_levels_r
  - find_levels
  - find_dom
  - propedom
  - find_edom
  - find_closure
  - atomuse
  - atomdef
  - compute_local_ud
  - find_ud
  - init_val
  - F
  - vstore
  - fold_op
  - this_op
  - opt_not
  - opt_peep
  - opt_stmt
  - deadstmt
  - opt_deadstores
  - opt_blk
  - use_conflict
  - fold_edge
  - opt_j
  - or_pullup
  - and_pullup
  - opt_blks
  - link_inedge
  - find_inedges
  - opt_root
  - opt_loop
  - bpf_optimize
  - make_marks
  - mark_code
  - eq_slist
  - eq_blk
  - intern_blocks
  - opt_cleanup
  - PCAP_NORETURN::opt_error
  - slength
  - count_blocks
  - number_blks_r
  - count_stmts
  - opt_init
  - convert_code_r
  - icode_to_fcode
  - PCAP_NORETURN::conv_error
  - pcapint_install_bpf_program
  - dot_dump_node
  - dot_dump_edge
  - dot_dump
  - plain_dump
  - opt_dump
  source_file: /src/libpcap/optimize.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NOP
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/libpcap/optimize.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: A_ATOM
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libpcap/optimize.c
      type_or_value: BPF_MEMWORDS
    - item_type: preproc_def
      name: X_ATOM
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libpcap/optimize.c
      type_or_value: (BPF_MEMWORDS+1)
    - item_type: preproc_def
      name: AX_ATOM
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/libpcap/optimize.c
      type_or_value: N_ATOMS
    - item_type: preproc_def
      name: BITS_PER_WORD
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/libpcap/optimize.c
      type_or_value: (8*sizeof(bpf_u_int32))
    - item_type: preproc_def
      name: MODULUS
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/libpcap/optimize.c
      type_or_value: '213'
    structs:
    - fields:
      - name: code
        type: int
      - name: v0
        type: bpf_u_int32
      - name: val
        type: int
      - name: '*next'
        type: struct valnode
      item_type: struct
      name: valnode
      pos:
        line_end: 184
        line_start: 179
        source_file: /src/libpcap/optimize.c
    - fields:
      - name: is_const
        type: int
      - name: const_val
        type: bpf_u_int32
      item_type: struct
      name: vmapinfo
      pos:
        line_end: 192
        line_start: 189
        source_file: /src/libpcap/optimize.c
    - fields:
      - name: top_ctx
        type: jmp_buf
      - name: '*errbuf'
        type: char
      - name: done
        type: int
      - name: non_branch_movement_performed
        type: int
      - name: n_blocks
        type: u_int
      - name: '**blocks'
        type: struct block
      - name: n_edges
        type: u_int
      - name: '**edges'
        type: struct edge
      - name: nodewords
        type: u_int
      - name: edgewords
        type: u_int
      - name: '**levels'
        type: struct block
      - name: '*space'
        type: bpf_u_int32
      - name: all_dom_sets
        type: uset
      - name: all_closure_sets
        type: uset
      - name: all_edge_sets
        type: uset
      - name: '*hashtbl[MODULUS]'
        type: struct valnode
      - name: curval
        type: bpf_u_int32
      - name: maxval
        type: bpf_u_int32
      - name: '*vmap'
        type: struct vmapinfo
      - name: '*vnode_base'
        type: struct valnode
      - name: '*next_vnode'
        type: struct valnode
      item_type: struct
      name: opt_state_t
      pos:
        line_end: 303
        line_start: 194
        source_file: /src/libpcap/optimize.c
    - fields:
      - name: top_ctx
        type: jmp_buf
      - name: '*errbuf'
        type: char
      - name: '*fstart'
        type: struct bpf_insn
      - name: '*ftail'
        type: struct bpf_insn
      item_type: struct
      name: conv_state_t
      pos:
        line_end: 324
        line_start: 305
        source_file: /src/libpcap/optimize.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap-types.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap-snf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - skip_space
  - skip_line
  - pcap_next_etherent
  source_file: /src/libpcap/etherent.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap-namedb.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - internal_wsockfini
  - internal_wsockinit
  - wsockinit
  - pcap_wsockinit
  - pcap_init
  - pcap_set_not_initialized_message
  - pcap_read_not_initialized
  - pcap_inject_not_initialized
  - pcap_setfilter_not_initialized
  - pcap_setdirection_not_initialized
  - pcap_set_datalink_not_initialized
  - pcap_getnonblock_not_initialized
  - pcap_stats_not_initialized
  - pcap_stats_ex_not_initialized
  - pcap_setbuff_not_initialized
  - pcap_setmode_not_initialized
  - pcap_setmintocopy_not_initialized
  - pcap_getevent_not_initialized
  - pcap_oid_get_request_not_initialized
  - pcap_oid_set_request_not_initialized
  - pcap_sendqueue_transmit_not_initialized
  - pcap_setuserbuffer_not_initialized
  - pcap_live_dump_not_initialized
  - pcap_live_dump_ended_not_initialized
  - pcap_can_set_rfmon
  - pcap_list_tstamp_types
  - pcap_free_tstamp_types
  - pcapint_oneshot
  - pcap_next
  - pcap_next_ex
  - pcap_findalldevs
  - dup_sockaddr
  - get_figure_of_merit
  - get_if_description
  - pcapint_find_or_add_if
  - pcapint_add_addr_to_if
  - pcapint_add_addr_to_dev
  - pcapint_find_or_add_dev
  - pcapint_find_dev
  - pcapint_add_dev
  - pcapint_add_any_dev
  - pcap_freealldevs
  - pcap_lookupdev
  - get_substring
  - pcap_parse_source
  - pcapint_createsrcstr_ex
  - pcap_createsrcstr
  - pcapint_parsesrcstr_ex
  - pcap_parsesrcstr
  - pcapint_createsrcstr_ex
  - pcap_createsrcstr
  - pcapint_parsesrcstr_ex
  - pcap_parsesrcstr
  - pcap_create
  - pcap_setnonblock_unactivated
  - initialize_ops
  - pcap_alloc_pcap_t
  - pcapint_create_common
  - pcapint_check_activated
  - pcap_set_snaplen
  - pcap_set_promisc
  - pcap_set_rfmon
  - pcap_set_timeout
  - pcap_set_tstamp_type
  - pcap_set_immediate_mode
  - pcap_set_buffer_size
  - pcap_set_tstamp_precision
  - pcap_get_tstamp_precision
  - pcap_activate
  - pcap_open_live
  - pcapint_open_offline_common
  - pcap_dispatch
  - pcap_loop
  - pcap_breakloop
  - pcap_datalink
  - pcap_datalink_ext
  - pcap_list_datalinks
  - pcap_free_datalinks
  - pcap_set_datalink
  - pcapint_strcasecmp
  - DLT_CHOICE
  - pcap_datalink_name_to_val
  - pcap_datalink_val_to_name
  - pcap_datalink_val_to_description
  - pcap_datalink_val_to_description_or_dlt
  - pcap_tstamp_type_name_to_val
  - pcap_tstamp_type_val_to_name
  - pcap_tstamp_type_val_to_description
  - pcap_snapshot
  - pcap_is_swapped
  - pcap_major_version
  - pcap_minor_version
  - pcap_bufsize
  - pcap_file
  - pcap_fileno
  - pcap_fileno
  - pcap_get_selectable_fd
  - pcap_get_required_select_timeout
  - pcap_perror
  - pcap_geterr
  - pcap_getnonblock
  - pcapint_getnonblock_fd
  - pcap_setnonblock
  - pcapint_setnonblock_fd
  - pcap_statustostr
  - pcap_strerror
  - pcapint_get_decuint
  - pcap_setfilter
  - pcap_setdirection
  - pcap_stats
  - pcap_stats_ex
  - pcap_setbuff
  - pcap_setmode
  - pcap_setmintocopy
  - pcap_getevent
  - pcap_oid_get_request
  - pcap_oid_set_request
  - pcap_sendqueue_alloc
  - pcap_sendqueue_destroy
  - pcap_sendqueue_queue
  - pcap_sendqueue_transmit
  - pcap_setuserbuffer
  - pcap_live_dump
  - pcap_live_dump_ended
  - pcap_get_airpcap_handle
  - pcap_close_all
  - pcapint_do_addexit
  - pcapint_add_to_pcaps_to_close
  - pcapint_remove_from_pcaps_to_close
  - pcapint_breakloop_common
  - pcapint_cleanup_live_common
  - pcap_sendpacket
  - pcap_inject
  - pcap_close
  - pcapint_load_code
  - pcapint_find_function
  - pcap_offline_filter
  - pcap_can_set_rfmon_dead
  - pcap_read_dead
  - pcap_inject_dead
  - pcap_setfilter_dead
  - pcap_setdirection_dead
  - pcap_set_datalink_dead
  - pcap_getnonblock_dead
  - pcap_setnonblock_dead
  - pcap_stats_dead
  - pcap_stats_ex_dead
  - pcap_setbuff_dead
  - pcap_setmode_dead
  - pcap_setmintocopy_dead
  - pcap_getevent_dead
  - pcap_oid_get_request_dead
  - pcap_oid_set_request_dead
  - pcap_sendqueue_transmit_dead
  - pcap_setuserbuffer_dead
  - pcap_live_dump_dead
  - pcap_live_dump_ended_dead
  - pcap_open_dead_with_tstamp_precision
  - pcap_open_dead
  - pcap_set_parser_debug
  source_file: /src/libpcap/pcap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IF_NAMESIZE
      pos:
        line_end: 1470
        line_start: 1469
        source_file: /src/libpcap/pcap.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: DLT_CHOICE_SENTINEL
      pos:
        line_end: 3211
        line_start: 3210
        source_file: /src/libpcap/pcap.c
      type_or_value: '{ NULL, NULL, 0 }'
    structs:
    - fields:
      - name: '*beginning'
        type: pcap_if_t
      item_type: struct
      name: pcap_if_list
      pos:
        line_end: 622
        line_start: 620
        source_file: /src/libpcap/pcap.c
    - fields:
      - name: (*findalldevs_op)(pcap_if_list_t *, char *)
        type: int
      - name: '*(*create_op)(const char *, char *, int *)'
        type: pcap_t
      item_type: struct
      name: capture_source_type
      pos:
        line_end: 627
        line_start: 624
        source_file: /src/libpcap/pcap.c
    - fields:
      - name: '*name'
        type: char
      - name: '*description'
        type: char
      - name: dlt
        type: int
      item_type: struct
      name: dlt_choice
      pos:
        line_end: 3207
        line_start: 3203
        source_file: /src/libpcap/pcap.c
    - fields:
      - name: '*name'
        type: char
      - name: '*description'
        type: char
      - name: type
        type: int
      item_type: struct
      name: tstamp_type_choice
      pos:
        line_end: 3459
        line_start: 3455
        source_file: /src/libpcap/pcap.c
    typedefs: []
    union: []
- function_names:
  - rpcap_deseraddr
  - pcap_read_nocb_remote
  - pcap_read_rpcap
  - pcap_cleanup_rpcap
  - pcap_stats_rpcap
  - pcap_stats_ex_rpcap
  - rpcap_stats_rpcap
  - rpcap_remoteact_getsock
  - pcap_startcapture_remote
  - pcap_pack_bpffilter
  - pcap_updatefilter_remote
  - pcap_save_current_filter_rpcap
  - pcap_setfilter_rpcap
  - pcap_createfilter_norpcappkt
  - pcap_setsampling_remote
  - rpcap_doauth
  - rpcap_doauth_userinfo
  - pcap_getnonblock_rpcap
  - pcap_setnonblock_rpcap
  - rpcap_setup_session
  - pcap_open_rpcap
  - freeaddr
  - pcap_findalldevs_ex_remote
  - pcap_remoteact_accept_ex
  - pcap_remoteact_accept
  - pcap_remoteact_close
  - pcap_remoteact_cleanup
  - pcap_remoteact_list
  - rpcap_recv_msg_header
  - rpcap_check_msg_ver
  - rpcap_check_msg_type
  - rpcap_process_msg_header
  - rpcap_recv
  - rpcap_msg_err
  - rpcap_discard
  - rpcap_read_packet_msg
  source_file: /src/libpcap/pcap-rpcap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCAP_STATS_STANDARD
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: PCAP_STATS_EX
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: SOCKADDR_IN_LEN
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: "16\t"
    - item_type: preproc_def
      name: SOCKADDR_IN6_LEN
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: "28\t"
    - item_type: preproc_def
      name: NEW_BSD_AF_INET_BE
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: ((SOCKADDR_IN_LEN << 8) | 2)
    - item_type: preproc_def
      name: NEW_BSD_AF_INET_LE
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: (SOCKADDR_IN_LEN << 8)
    - item_type: preproc_def
      name: NEW_BSD_AF_INET6_BSD_BE
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: "((SOCKADDR_IN6_LEN << 8) | 24)\t"
    - item_type: preproc_def
      name: NEW_BSD_AF_INET6_FREEBSD_BE
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: "((SOCKADDR_IN6_LEN << 8) | 28)\t"
    - item_type: preproc_def
      name: NEW_BSD_AF_INET6_DARWIN_BE
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: "((SOCKADDR_IN6_LEN << 8) | 30)\t"
    - item_type: preproc_def
      name: NEW_BSD_AF_INET6_LE
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: (SOCKADDR_IN6_LEN << 8)
    - item_type: preproc_def
      name: LINUX_AF_INET6
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: '10'
    - item_type: preproc_def
      name: HPUX_AF_INET6
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: '22'
    - item_type: preproc_def
      name: AIX_AF_INET6
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: '24'
    - item_type: preproc_def
      name: SOLARIS_AF_INET6
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: '26'
    - item_type: preproc_def
      name: PCAP_TEXT_SOURCE_ADAPTER
      pos:
        line_end: 2691
        line_start: 2690
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: '"Network adapter"'
    - item_type: preproc_def
      name: PCAP_TEXT_SOURCE_ADAPTER_LEN
      pos:
        line_end: 2692
        line_start: 2691
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: (sizeof PCAP_TEXT_SOURCE_ADAPTER - 1)
    - item_type: preproc_def
      name: PCAP_TEXT_SOURCE_ON_REMOTE_HOST
      pos:
        line_end: 2694
        line_start: 2693
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: '"on remote node"'
    - item_type: preproc_def
      name: PCAP_TEXT_SOURCE_ON_REMOTE_HOST_LEN
      pos:
        line_end: 2695
        line_start: 2694
        source_file: /src/libpcap/pcap-rpcap.c
      type_or_value: (sizeof PCAP_TEXT_SOURCE_ON_REMOTE_HOST - 1)
    structs:
    - fields:
      - name: host
        type: struct sockaddr_storage
      - name: sockctrl
        type: PCAP_SOCKET
      - name: '*ssl'
        type: SSL
      - name: protocol_version
        type: uint8_t
      - name: byte_swapped
        type: int
      - name: '*next'
        type: struct activehosts
      item_type: struct
      name: activehosts
      pos:
        line_end: 98
        line_start: 90
        source_file: /src/libpcap/pcap-rpcap.c
    - fields:
      - name: rmt_clientside
        type: int
      - name: rmt_sockctrl
        type: PCAP_SOCKET
      - name: rmt_sockdata
        type: PCAP_SOCKET
      - name: '*ctrl_ssl'
        type: SSL
      - name: rmt_flags
        type: int
      - name: rmt_capstarted
        type: int
      - name: '*currentfilter'
        type: char
      - name: protocol_version
        type: uint8_t
      - name: uses_ssl
        type: uint8_t
      - name: byte_swapped
        type: int
      - name: TotNetDrops
        type: unsigned int
      - name: TotCapt
        type: unsigned int
      - name: stat
        type: struct pcap_stat
      - name: '*next'
        type: struct pcap
      item_type: struct
      name: pcap_rpcap
      pos:
        line_end: 157
        line_start: 115
        source_file: /src/libpcap/pcap-rpcap.c
    typedefs: []
    union: []
- function_names:
  - MAX_BLOCKSIZE_FOR_SNAPLEN
  - read_bytes
  - read_block
  - get_from_block_data
  - get_opthdr_from_block_data
  - get_optvalue_from_block_data
  - process_idb_options
  - add_interface
  - pcap_ng_check_header
  - pcap_ng_cleanup
  - pcap_ng_next_packet
  source_file: /src/libpcap/sf-pcapng.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OPT_ENDOFOPT
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: OPT_COMMENT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: BT_SHB
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: '0x0A0D0D0A'
    - item_type: preproc_def
      name: BT_SHB_INSANE_MAX
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: '1024U*1024U*1U  '
    - item_type: preproc_def
      name: BYTE_ORDER_MAGIC
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: '0x1A2B3C4D'
    - item_type: preproc_def
      name: PCAP_NG_VERSION_MAJOR
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PCAP_NG_VERSION_MINOR
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: '0'
    - item_type: preproc_def
      name: BT_IDB
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: IF_NAME
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: IF_DESCRIPTION
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: IF_IPV4ADDR
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: IF_IPV6ADDR
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: IF_MACADDR
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: IF_EUIADDR
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: IF_SPEED
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "8\t"
    - item_type: preproc_def
      name: IF_TSRESOL
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "9\t"
    - item_type: preproc_def
      name: IF_TZONE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "10\t"
    - item_type: preproc_def
      name: IF_FILTER
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "11\t"
    - item_type: preproc_def
      name: IF_OS
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "12\t"
    - item_type: preproc_def
      name: IF_FCSLEN
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "13\t"
    - item_type: preproc_def
      name: IF_TSOFFSET
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: "14\t"
    - item_type: preproc_def
      name: BT_EPB
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: '0x00000006'
    - item_type: preproc_def
      name: BT_SPB
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: '0x00000003'
    - item_type: preproc_def
      name: BT_PB
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: INITIAL_MAX_BLOCKSIZE
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/libpcap/sf-pcapng.c
      type_or_value: (16*1024*1024)
    structs:
    - fields:
      - name: block_type
        type: bpf_u_int32
      - name: total_length
        type: bpf_u_int32
      item_type: struct
      name: block_header
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/libpcap/sf-pcapng.c
    - fields:
      - name: total_length
        type: bpf_u_int32
      item_type: struct
      name: block_trailer
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/libpcap/sf-pcapng.c
    - fields:
      - name: option_code
        type: u_short
      - name: option_length
        type: u_short
      item_type: struct
      name: option_header
      pos:
        line_end: 75
        line_start: 72
        source_file: /src/libpcap/sf-pcapng.c
    - fields:
      - name: byte_order_magic
        type: bpf_u_int32
      - name: major_version
        type: u_short
      - name: minor_version
        type: u_short
      - name: section_length
        type: uint64_t
      item_type: struct
      name: section_header_block
      pos:
        line_end: 93
        line_start: 87
        source_file: /src/libpcap/sf-pcapng.c
    - fields:
      - name: linktype
        type: u_short
      - name: reserved
        type: u_short
      - name: snaplen
        type: bpf_u_int32
      item_type: struct
      name: interface_description_block
      pos:
        line_end: 118
        line_start: 113
        source_file: /src/libpcap/sf-pcapng.c
    - fields:
      - name: interface_id
        type: bpf_u_int32
      - name: timestamp_high
        type: bpf_u_int32
      - name: timestamp_low
        type: bpf_u_int32
      - name: caplen
        type: bpf_u_int32
      - name: len
        type: bpf_u_int32
      item_type: struct
      name: enhanced_packet_block
      pos:
        line_end: 149
        line_start: 142
        source_file: /src/libpcap/sf-pcapng.c
    - fields:
      - name: len
        type: bpf_u_int32
      item_type: struct
      name: simple_packet_block
      pos:
        line_end: 159
        line_start: 156
        source_file: /src/libpcap/sf-pcapng.c
    - fields:
      - name: interface_id
        type: u_short
      - name: drops_count
        type: u_short
      - name: timestamp_high
        type: bpf_u_int32
      - name: timestamp_low
        type: bpf_u_int32
      - name: caplen
        type: bpf_u_int32
      - name: len
        type: bpf_u_int32
      item_type: struct
      name: packet_block
      pos:
        line_end: 174
        line_start: 166
        source_file: /src/libpcap/sf-pcapng.c
    - fields:
      - name: '*data'
        type: u_char
      - name: data_remaining
        type: size_t
      - name: block_type
        type: bpf_u_int32
      item_type: struct
      name: block_cursor
      pos:
        line_end: 185
        line_start: 181
        source_file: /src/libpcap/sf-pcapng.c
    - fields:
      - name: snaplen
        type: uint32_t
      - name: tsresol
        type: uint64_t
      - name: scale_type
        type: tstamp_scale_type_t
      - name: scale_factor
        type: uint64_t
      - name: tsoffset
        type: int64_t
      item_type: struct
      name: pcap_ng_if
      pos:
        line_end: 204
        line_start: 198
        source_file: /src/libpcap/sf-pcapng.c
    - fields:
      - name: user_tsresol
        type: uint64_t
      - name: max_blocksize
        type: u_int
      - name: ifcount
        type: bpf_u_int32
      - name: ifaces_size
        type: bpf_u_int32
      - name: '*ifaces'
        type: struct pcap_ng_if
      item_type: struct
      name: pcap_ng_sf
      pos:
        line_end: 231
        line_start: 225
        source_file: /src/libpcap/sf-pcapng.c
    typedefs: []
    union: []
- function_names:
  - PCAP_DO_PRAGMA
  source_file: /src/libpcap/diag-control.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIAG_OFF_ENUM_SWITCH
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/libpcap/diag-control.h
      type_or_value: "__pragma(warning(push)) \\\n    __pragma(warning(disable:4061))"
    - item_type: preproc_def
      name: DIAG_ON_ENUM_SWITCH
      pos:
        line_end: 66
        line_start: 64
        source_file: /src/libpcap/diag-control.h
      type_or_value: __pragma(warning(pop))
    - item_type: preproc_def
      name: DIAG_OFF_DEFAULT_ONLY_SWITCH
      pos:
        line_end: 77
        line_start: 74
        source_file: /src/libpcap/diag-control.h
      type_or_value: "__pragma(warning(push)) \\\n    __pragma(warning(disable:4065))"
    - item_type: preproc_def
      name: DIAG_ON_DEFAULT_ONLY_SWITCH
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/libpcap/diag-control.h
      type_or_value: __pragma(warning(pop))
    - item_type: preproc_def
      name: DIAG_OFF_FLEX
      pos:
        line_end: 105
        line_start: 97
        source_file: /src/libpcap/diag-control.h
      type_or_value: "PCAP_DO_PRAGMA(clang diagnostic push) \\\n    PCAP_DO_PRAGMA(clang
        diagnostic ignored \"-Wsign-compare\") \\\n    PCAP_DO_PRAGMA(clang diagnostic
        ignored \"-Wdocumentation\") \\\n    PCAP_DO_PRAGMA(clang diagnostic ignored
        \"-Wshorten-64-to-32\") \\\n    PCAP_DO_PRAGMA(clang diagnostic ignored \"-Wmissing-noreturn\")
        \\\n    PCAP_DO_PRAGMA(clang diagnostic ignored \"-Wunused-parameter\") \\\n
        \   PCAP_DO_PRAGMA(clang diagnostic ignored \"-Wunreachable-code\")"
    - item_type: preproc_def
      name: DIAG_ON_FLEX
      pos:
        line_end: 107
        line_start: 105
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(clang diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_NARROWING
      pos:
        line_end: 114
        line_start: 111
        source_file: /src/libpcap/diag-control.h
      type_or_value: "PCAP_DO_PRAGMA(clang diagnostic push) \\\n    PCAP_DO_PRAGMA(clang
        diagnostic ignored \"-Wshorten-64-to-32\")"
    - item_type: preproc_def
      name: DIAG_ON_NARROWING
      pos:
        line_end: 117
        line_start: 115
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(clang diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_DEPRECATION
      pos:
        line_end: 124
        line_start: 121
        source_file: /src/libpcap/diag-control.h
      type_or_value: "PCAP_DO_PRAGMA(clang diagnostic push) \\\n    PCAP_DO_PRAGMA(clang
        diagnostic ignored \"-Wdeprecated-declarations\")"
    - item_type: preproc_def
      name: DIAG_ON_DEPRECATION
      pos:
        line_end: 126
        line_start: 124
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(clang diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_STRICT_PROTOTYPES
      pos:
        line_end: 136
        line_start: 133
        source_file: /src/libpcap/diag-control.h
      type_or_value: "PCAP_DO_PRAGMA(clang diagnostic push) \\\n      PCAP_DO_PRAGMA(clang
        diagnostic ignored \"-Wstrict-prototypes\")"
    - item_type: preproc_def
      name: DIAG_ON_STRICT_PROTOTYPES
      pos:
        line_end: 138
        line_start: 136
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(clang diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_DOCUMENTATION
      pos:
        line_end: 143
        line_start: 140
        source_file: /src/libpcap/diag-control.h
      type_or_value: "PCAP_DO_PRAGMA(clang diagnostic push) \\\n    PCAP_DO_PRAGMA(clang
        diagnostic ignored \"-Wdocumentation\")"
    - item_type: preproc_def
      name: DIAG_ON_DOCUMENTATION
      pos:
        line_end: 145
        line_start: 143
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(clang diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_SIGN_COMPARE
      pos:
        line_end: 149
        line_start: 146
        source_file: /src/libpcap/diag-control.h
      type_or_value: "PCAP_DO_PRAGMA(clang diagnostic push) \\\n    PCAP_DO_PRAGMA(clang
        diagnostic ignored \"-Wsign-compare\")"
    - item_type: preproc_def
      name: DIAG_ON_SIGN_COMPARE
      pos:
        line_end: 151
        line_start: 149
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(clang diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_UNINITIALIZED_CONST_POINTER
      pos:
        line_end: 156
        line_start: 153
        source_file: /src/libpcap/diag-control.h
      type_or_value: "PCAP_DO_PRAGMA(clang diagnostic push) \\\n      PCAP_DO_PRAGMA(clang
        diagnostic ignored \"-Wuninitialized-const-pointer\")"
    - item_type: preproc_def
      name: DIAG_ON_UNINITIALIZED_CONST_POINTER
      pos:
        line_end: 158
        line_start: 156
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(clang diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_FLEX
      pos:
        line_end: 174
        line_start: 168
        source_file: /src/libpcap/diag-control.h
      type_or_value: "__pragma(warning(push)) \\\n    __pragma(warning(disable:4127))
        \\\n    __pragma(warning(disable:4242)) \\\n    __pragma(warning(disable:4244))
        \\\n    __pragma(warning(disable:4702))"
    - item_type: preproc_def
      name: DIAG_ON_FLEX
      pos:
        line_end: 176
        line_start: 174
        source_file: /src/libpcap/diag-control.h
      type_or_value: __pragma(warning(pop))
    - item_type: preproc_def
      name: DIAG_OFF_NARROWING
      pos:
        line_end: 184
        line_start: 180
        source_file: /src/libpcap/diag-control.h
      type_or_value: "__pragma(warning(push)) \\\n    __pragma(warning(disable:4242))
        \\\n    __pragma(warning(disable:4311))"
    - item_type: preproc_def
      name: DIAG_ON_NARROWING
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/libpcap/diag-control.h
      type_or_value: __pragma(warning(pop))
    - item_type: preproc_def
      name: DIAG_OFF_DEPRECATION
      pos:
        line_end: 193
        line_start: 190
        source_file: /src/libpcap/diag-control.h
      type_or_value: "__pragma(warning(push)) \\\n    __pragma(warning(disable:4996))"
    - item_type: preproc_def
      name: DIAG_ON_DEPRECATION
      pos:
        line_end: 195
        line_start: 193
        source_file: /src/libpcap/diag-control.h
      type_or_value: __pragma(warning(pop))
    - item_type: preproc_def
      name: DIAG_OFF_FLEX
      pos:
        line_end: 206
        line_start: 201
        source_file: /src/libpcap/diag-control.h
      type_or_value: "PCAP_DO_PRAGMA(GCC diagnostic push) \\\n    PCAP_DO_PRAGMA(GCC
        diagnostic ignored \"-Wsign-compare\") \\\n    PCAP_DO_PRAGMA(GCC diagnostic
        ignored \"-Wunused-parameter\") \\\n    PCAP_DO_PRAGMA(GCC diagnostic ignored
        \"-Wunreachable-code\")"
    - item_type: preproc_def
      name: DIAG_ON_FLEX
      pos:
        line_end: 208
        line_start: 206
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(GCC diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_DEPRECATION
      pos:
        line_end: 219
        line_start: 216
        source_file: /src/libpcap/diag-control.h
      type_or_value: "PCAP_DO_PRAGMA(GCC diagnostic push) \\\n    PCAP_DO_PRAGMA(GCC
        diagnostic ignored \"-Wdeprecated-declarations\")"
    - item_type: preproc_def
      name: DIAG_ON_DEPRECATION
      pos:
        line_end: 221
        line_start: 219
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(GCC diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_FORMAT_TRUNCATION
      pos:
        line_end: 231
        line_start: 228
        source_file: /src/libpcap/diag-control.h
      type_or_value: "PCAP_DO_PRAGMA(GCC diagnostic push) \\\n      PCAP_DO_PRAGMA(GCC
        diagnostic ignored \"-Wformat-truncation=\")"
    - item_type: preproc_def
      name: DIAG_ON_FORMAT_TRUNCATION
      pos:
        line_end: 233
        line_start: 231
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(GCC diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_FLEX
      pos:
        line_end: 241
        line_start: 239
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(error_messages(off,E_STATEMENT_NOT_REACHED))
    - item_type: preproc_def
      name: DIAG_ON_FLEX
      pos:
        line_end: 243
        line_start: 241
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(error_messages(default,E_STATEMENT_NOT_REACHED))
    - item_type: preproc_def
      name: DIAG_OFF_BISON_BYACC
      pos:
        line_end: 270
        line_start: 267
        source_file: /src/libpcap/diag-control.h
      type_or_value: "PCAP_DO_PRAGMA(clang diagnostic ignored \"-Wshadow\") \\\n      PCAP_DO_PRAGMA(clang
        diagnostic ignored \"-Wunreachable-code\")"
    - item_type: preproc_def
      name: DIAG_OFF_BISON_BYACC
      pos:
        line_end: 277
        line_start: 275
        source_file: /src/libpcap/diag-control.h
      type_or_value: __pragma(warning(disable:4702))
    - item_type: preproc_def
      name: DIAG_OFF_BISON_BYACC
      pos:
        line_end: 286
        line_start: 283
        source_file: /src/libpcap/diag-control.h
      type_or_value: "PCAP_DO_PRAGMA(GCC diagnostic ignored \"-Wshadow\") \\\n      PCAP_DO_PRAGMA(GCC
        diagnostic ignored \"-Wunreachable-code\")"
    - item_type: preproc_def
      name: DIAG_OFF_BISON_BYACC
      pos:
        line_end: 301
        line_start: 299
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(clang diagnostic ignored "-Wunreachable-code")
    - item_type: preproc_def
      name: DIAG_OFF_BISON_BYACC
      pos:
        line_end: 314
        line_start: 308
        source_file: /src/libpcap/diag-control.h
      type_or_value: "__pragma(warning(disable:4065)) \\\n      __pragma(warning(disable:4127))
        \\\n      __pragma(warning(disable:4242)) \\\n      __pragma(warning(disable:4244))
        \\\n      __pragma(warning(disable:4702))"
    - item_type: preproc_def
      name: DIAG_OFF_BISON_BYACC
      pos:
        line_end: 322
        line_start: 320
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(GCC diagnostic ignored "-Wunreachable-code")
    - item_type: preproc_def
      name: DIAG_OFF_BISON_BYACC
      pos:
        line_end: 328
        line_start: 326
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(error_messages(off,E_STATEMENT_NOT_REACHED))
    - item_type: preproc_def
      name: DIAG_OFF_WARN_UNUSED_RESULT
      pos:
        line_end: 345
        line_start: 342
        source_file: /src/libpcap/diag-control.h
      type_or_value: "PCAP_DO_PRAGMA(GCC diagnostic push) \\\n    PCAP_DO_PRAGMA(GCC
        diagnostic ignored \"-Wunused-result\")"
    - item_type: preproc_def
      name: DIAG_ON_WARN_UNUSED_RESULT
      pos:
        line_end: 347
        line_start: 345
        source_file: /src/libpcap/diag-control.h
      type_or_value: PCAP_DO_PRAGMA(GCC diagnostic pop)
    - item_type: preproc_def
      name: PCAP_UNREACHABLE
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/libpcap/diag-control.h
      type_or_value: __builtin_unreachable();
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/ppp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PPP_ADDRESS
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libpcap/ppp.h
      type_or_value: "0xff\t"
    - item_type: preproc_def
      name: PPP_CONTROL
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x03\t"
    - item_type: preproc_def
      name: PPP_PPPD_IN
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x00\t"
    - item_type: preproc_def
      name: PPP_PPPD_OUT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: PPP_IP
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x0021\t"
    - item_type: preproc_def
      name: PPP_OSI
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x0023\t"
    - item_type: preproc_def
      name: PPP_NS
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x0025\t"
    - item_type: preproc_def
      name: PPP_DECNET
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x0027\t"
    - item_type: preproc_def
      name: PPP_APPLE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x0029\t"
    - item_type: preproc_def
      name: PPP_IPX
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x002b\t"
    - item_type: preproc_def
      name: PPP_VJC
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x002d\t"
    - item_type: preproc_def
      name: PPP_VJNC
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x002f\t"
    - item_type: preproc_def
      name: PPP_BRPDU
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x0031\t"
    - item_type: preproc_def
      name: PPP_STII
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x0033\t"
    - item_type: preproc_def
      name: PPP_VINES
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x0035\t"
    - item_type: preproc_def
      name: PPP_IPV6
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x0057\t"
    - item_type: preproc_def
      name: PPP_HELLO
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x0201\t"
    - item_type: preproc_def
      name: PPP_LUXCOM
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x0231\t"
    - item_type: preproc_def
      name: PPP_SNS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x0233\t"
    - item_type: preproc_def
      name: PPP_MPLS_UCAST
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libpcap/ppp.h
      type_or_value: '0x0281  '
    - item_type: preproc_def
      name: PPP_MPLS_MCAST
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libpcap/ppp.h
      type_or_value: '0x0283  '
    - item_type: preproc_def
      name: PPP_IPCP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x8021\t"
    - item_type: preproc_def
      name: PPP_OSICP
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x8023\t"
    - item_type: preproc_def
      name: PPP_NSCP
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x8025\t"
    - item_type: preproc_def
      name: PPP_DECNETCP
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x8027\t"
    - item_type: preproc_def
      name: PPP_APPLECP
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x8029\t"
    - item_type: preproc_def
      name: PPP_IPXCP
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x802b\t"
    - item_type: preproc_def
      name: PPP_STIICP
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x8033\t"
    - item_type: preproc_def
      name: PPP_VINESCP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x8035\t"
    - item_type: preproc_def
      name: PPP_IPV6CP
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libpcap/ppp.h
      type_or_value: "0x8057\t"
    - item_type: preproc_def
      name: PPP_MPLSCP
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libpcap/ppp.h
      type_or_value: '0x8281  '
    - item_type: preproc_def
      name: PPP_LCP
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libpcap/ppp.h
      type_or_value: "0xc021\t"
    - item_type: preproc_def
      name: PPP_PAP
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libpcap/ppp.h
      type_or_value: "0xc023\t"
    - item_type: preproc_def
      name: PPP_LQM
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libpcap/ppp.h
      type_or_value: "0xc025\t"
    - item_type: preproc_def
      name: PPP_CHAP
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libpcap/ppp.h
      type_or_value: "0xc223\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - snf_set_datalink
  - snf_pcap_stats
  - snf_platform_cleanup
  - snf_getnonblock
  - snf_setnonblock
  - snf_timestamp_to_timeval
  - snf_read
  - snf_inject
  - snf_activate
  - snf_findalldevs
  - snf_device_exists
  - snf_get_if_flags
  - snf_create
  - can_be_bound
  - pcapint_platform_finddevs
  - pcapint_create_interface
  - pcap_lib_version
  source_file: /src/libpcap/pcap-snf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _NSEC_PER_SEC
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libpcap/pcap-snf.c
      type_or_value: '1000000000'
    - item_type: preproc_def
      name: MAX_DESC_LENGTH
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/libpcap/pcap-snf.c
      type_or_value: '128'
    structs:
    - fields:
      - name: snf_handle
        type: snf_handle_t
      - name: snf_ring
        type: snf_ring_t
      - name: snf_inj
        type: snf_inject_t
      - name: snf_timeout
        type: int
      - name: snf_boardnum
        type: int
      item_type: struct
      name: pcap_snf
      pos:
        line_end: 33
        line_start: 27
        source_file: /src/libpcap/pcap-snf.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/varattrs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _U_
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libpcap/varattrs.h
      type_or_value: __attribute__((unused))
    structs: []
    typedefs: []
    union: []
- function_names:
  - bpf_print_abs_load_operand
  - bpf_image
  source_file: /src/libpcap/bpf_image.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap-usb-linux.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap-bt-monitor-linux.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SA_LEN
  - get_sa_len
  - SA_LEN
  - pcapint_findalldevs_interfaces
  source_file: /src/libpcap/fad-getad.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - netfilter_read_linux
  - netfilter_set_datalink
  - netfilter_stats_linux
  - netfilter_inject_linux
  - netfilter_send_config_msg
  - nflog_send_config_msg
  - nflog_send_config_cmd
  - nflog_send_config_mode
  - nfqueue_send_verdict
  - nfqueue_send_config_msg
  - nfqueue_send_config_cmd
  - nfqueue_send_config_mode
  - netfilter_handle_send_msg_error
  - netfilter_activate
  - netfilter_create
  - netfilter_findalldevs
  source_file: /src/libpcap/pcap-netfilter-linux.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HDR_LENGTH
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libpcap/pcap-netfilter-linux.c
      type_or_value: (NLMSG_LENGTH(NLMSG_ALIGN(sizeof(struct nfgenmsg))))
    - item_type: preproc_def
      name: NFLOG_IFACE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libpcap/pcap-netfilter-linux.c
      type_or_value: '"nflog"'
    - item_type: preproc_def
      name: NFQUEUE_IFACE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libpcap/pcap-netfilter-linux.c
      type_or_value: '"nfqueue"'
    - item_type: preproc_def
      name: MAX_GROUP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libpcap/pcap-netfilter-linux.c
      type_or_value: '32'
    structs:
    - fields:
      - name: packets_read
        type: u_int
      - name: packets_nobufs
        type: u_int
      item_type: struct
      name: pcap_netfilter
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/libpcap/pcap-netfilter-linux.c
    - fields:
      - name: nfa_len
        type: uint16_t
      - name: nfa_type
        type: uint16_t
      - name: '*data'
        type: void
      item_type: struct
      name: my_nfattr
      pos:
        line_end: 340
        line_start: 336
        source_file: /src/libpcap/pcap-netfilter-linux.c
    typedefs: []
    union: []
- function_names:
  - closesocket
  source_file: /src/libpcap/sockutils.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SOCKBUF_CHECKONLY
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libpcap/sockutils.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SOCKBUF_BUFFERIZE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libpcap/sockutils.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SOCKOPEN_CLIENT
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libpcap/sockutils.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SOCKOPEN_SERVER
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libpcap/sockutils.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SOCK_RECEIVEALL_NO
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libpcap/sockutils.h
      type_or_value: "0x00000000\t"
    - item_type: preproc_def
      name: SOCK_RECEIVEALL_YES
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libpcap/sockutils.h
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: SOCK_EOF_ISNT_ERROR
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libpcap/sockutils.h
      type_or_value: "0x00000000\t"
    - item_type: preproc_def
      name: SOCK_EOF_IS_ERROR
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libpcap/sockutils.h
      type_or_value: "0x00000002\t"
    - item_type: preproc_def
      name: SOCK_MSG_PEEK
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libpcap/sockutils.h
      type_or_value: "0x00000004\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - list_interfaces
  - pcap_activate_libdlpi
  - STRINGIFY
  - dlpromiscon
  - is_dlpi_interface
  - get_if_flags
  - pcapint_platform_finddevs
  - pcap_read_libdlpi
  - pcap_inject_libdlpi
  - pcap_cleanup_libdlpi
  - pcap_libdlpi_err
  - pcapint_create_interface
  - pcap_lib_version
  source_file: /src/libpcap/pcap-libdlpi.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: linkname[DLPI_LINKNAME_MAX]
        type: char
      - name: '*lnl_next'
        type: struct linknamelist
      item_type: struct
      name: linknamelist
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/libpcap/pcap-libdlpi.c
    - fields:
      - name: '*lw_list'
        type: linknamelist_t
      - name: lw_err
        type: int
      item_type: struct
      name: linkwalk
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/libpcap/pcap-libdlpi.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap-netfilter-linux.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dlt_to_linktype
  - linktype_to_dlt
  - max_snaplen_for_dlt
  source_file: /src/libpcap/pcap-common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LINKTYPE_LOW_MATCHING_MIN
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: LINKTYPE_NULL
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libpcap/pcap-common.c
      type_or_value: DLT_NULL
    - item_type: preproc_def
      name: LINKTYPE_ETHERNET
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "DLT_EN10MB\t"
    - item_type: preproc_def
      name: LINKTYPE_EXP_ETHERNET
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "DLT_EN3MB\t"
    - item_type: preproc_def
      name: LINKTYPE_AX25
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libpcap/pcap-common.c
      type_or_value: DLT_AX25
    - item_type: preproc_def
      name: LINKTYPE_PRONET
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libpcap/pcap-common.c
      type_or_value: DLT_PRONET
    - item_type: preproc_def
      name: LINKTYPE_CHAOS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libpcap/pcap-common.c
      type_or_value: DLT_CHAOS
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_5
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "DLT_IEEE802\t"
    - item_type: preproc_def
      name: LINKTYPE_ARCNET_BSD
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "DLT_ARCNET\t"
    - item_type: preproc_def
      name: LINKTYPE_SLIP
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libpcap/pcap-common.c
      type_or_value: DLT_SLIP
    - item_type: preproc_def
      name: LINKTYPE_PPP
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libpcap/pcap-common.c
      type_or_value: DLT_PPP
    - item_type: preproc_def
      name: LINKTYPE_FDDI
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/libpcap/pcap-common.c
      type_or_value: DLT_FDDI
    - item_type: preproc_def
      name: LINKTYPE_LOW_MATCHING_MAX
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "LINKTYPE_FDDI\t"
    - item_type: preproc_def
      name: LINKTYPE_PPP_HDLC
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "50\t\t"
    - item_type: preproc_def
      name: LINKTYPE_PPP_ETHER
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "51\t\t"
    - item_type: preproc_def
      name: LINKTYPE_SYMANTEC_FIREWALL
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "99\t\t"
    - item_type: preproc_def
      name: LINKTYPE_ATM_RFC1483
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "100\t\t"
    - item_type: preproc_def
      name: LINKTYPE_RAW
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "101\t\t"
    - item_type: preproc_def
      name: LINKTYPE_SLIP_BSDOS
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "102\t\t"
    - item_type: preproc_def
      name: LINKTYPE_PPP_BSDOS
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "103\t\t"
    - item_type: preproc_def
      name: LINKTYPE_HIGH_MATCHING_MIN
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "104\t\t"
    - item_type: preproc_def
      name: LINKTYPE_C_HDLC
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "104\t\t"
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_11
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "105\t\t"
    - item_type: preproc_def
      name: LINKTYPE_ATM_CLIP
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "106\t\t"
    - item_type: preproc_def
      name: LINKTYPE_FRELAY
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "107\t\t"
    - item_type: preproc_def
      name: LINKTYPE_LOOP
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "108\t\t"
    - item_type: preproc_def
      name: LINKTYPE_ENC
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "109\t\t"
    - item_type: preproc_def
      name: LINKTYPE_LANE8023
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "110\t\t"
    - item_type: preproc_def
      name: LINKTYPE_HIPPI
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "111\t\t"
    - item_type: preproc_def
      name: LINKTYPE_NETBSD_HDLC
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "112\t\t"
    - item_type: preproc_def
      name: LINKTYPE_LINUX_SLL
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "113\t\t"
    - item_type: preproc_def
      name: LINKTYPE_LTALK
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "114\t\t"
    - item_type: preproc_def
      name: LINKTYPE_ECONET
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "115\t\t"
    - item_type: preproc_def
      name: LINKTYPE_IPFILTER
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '116'
    - item_type: preproc_def
      name: LINKTYPE_PFLOG
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "117\t\t"
    - item_type: preproc_def
      name: LINKTYPE_CISCO_IOS
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "118\t\t"
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_11_PRISM
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "119\t\t"
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_11_AIRONET
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "120\t\t"
    - item_type: preproc_def
      name: LINKTYPE_HHDLC
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '121'
    - item_type: preproc_def
      name: LINKTYPE_IP_OVER_FC
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "122\t\t"
    - item_type: preproc_def
      name: LINKTYPE_SUNATM
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "123\t\t"
    - item_type: preproc_def
      name: LINKTYPE_RIO
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "124\t\t"
    - item_type: preproc_def
      name: LINKTYPE_PCI_EXP
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "125\t\t"
    - item_type: preproc_def
      name: LINKTYPE_AURORA
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "126\t\t"
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_11_RADIOTAP
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "127\t"
    - item_type: preproc_def
      name: LINKTYPE_TZSP
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "128\t\t"
    - item_type: preproc_def
      name: LINKTYPE_ARCNET_LINUX
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "129\t\t"
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_MLPPP
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '130'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_MLFR
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '131'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_ES
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '132'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_GGSN
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '133'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_MFR
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '134'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_ATM2
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '135'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_SERVICES
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '136'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_ATM1
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '137'
    - item_type: preproc_def
      name: LINKTYPE_APPLE_IP_OVER_IEEE1394
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "138\t"
    - item_type: preproc_def
      name: LINKTYPE_MTP2_WITH_PHDR
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '139'
    - item_type: preproc_def
      name: LINKTYPE_MTP2
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '140'
    - item_type: preproc_def
      name: LINKTYPE_MTP3
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '141'
    - item_type: preproc_def
      name: LINKTYPE_SCCP
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '142'
    - item_type: preproc_def
      name: LINKTYPE_DOCSIS
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "143\t\t"
    - item_type: preproc_def
      name: LINKTYPE_LINUX_IRDA
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "144\t\t"
    - item_type: preproc_def
      name: LINKTYPE_IBM_SP
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '145'
    - item_type: preproc_def
      name: LINKTYPE_IBM_SN
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '146'
    - item_type: preproc_def
      name: LINKTYPE_USER0
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '147'
    - item_type: preproc_def
      name: LINKTYPE_USER1
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '148'
    - item_type: preproc_def
      name: LINKTYPE_USER2
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '149'
    - item_type: preproc_def
      name: LINKTYPE_USER3
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '150'
    - item_type: preproc_def
      name: LINKTYPE_USER4
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '151'
    - item_type: preproc_def
      name: LINKTYPE_USER5
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '152'
    - item_type: preproc_def
      name: LINKTYPE_USER6
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '153'
    - item_type: preproc_def
      name: LINKTYPE_USER7
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '154'
    - item_type: preproc_def
      name: LINKTYPE_USER8
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '155'
    - item_type: preproc_def
      name: LINKTYPE_USER9
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '156'
    - item_type: preproc_def
      name: LINKTYPE_USER10
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '157'
    - item_type: preproc_def
      name: LINKTYPE_USER11
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '158'
    - item_type: preproc_def
      name: LINKTYPE_USER12
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '159'
    - item_type: preproc_def
      name: LINKTYPE_USER13
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '160'
    - item_type: preproc_def
      name: LINKTYPE_USER14
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '161'
    - item_type: preproc_def
      name: LINKTYPE_USER15
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '162'
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_11_AVS
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "163\t"
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_MONITOR
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '164'
    - item_type: preproc_def
      name: LINKTYPE_BACNET_MS_TP
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '165'
    - item_type: preproc_def
      name: LINKTYPE_PPP_PPPD
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '166'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_PPPOE
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '167'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_PPPOE_ATM
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '168'
    - item_type: preproc_def
      name: LINKTYPE_GPRS_LLC
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "169\t\t"
    - item_type: preproc_def
      name: LINKTYPE_GPF_T
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "170\t\t"
    - item_type: preproc_def
      name: LINKTYPE_GPF_F
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "171\t\t"
    - item_type: preproc_def
      name: LINKTYPE_GCOM_T1E1
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '172'
    - item_type: preproc_def
      name: LINKTYPE_GCOM_SERIAL
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '173'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_PIC_PEER
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '174'
    - item_type: preproc_def
      name: LINKTYPE_ERF_ETH
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "175\t"
    - item_type: preproc_def
      name: LINKTYPE_ERF_POS
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "176\t"
    - item_type: preproc_def
      name: LINKTYPE_LINUX_LAPD
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '177'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_ETHER
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '178'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_PPP
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '179'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_FRELAY
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '180'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_CHDLC
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '181'
    - item_type: preproc_def
      name: LINKTYPE_MFR
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '182'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_VP
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '183'
    - item_type: preproc_def
      name: LINKTYPE_A429
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '184'
    - item_type: preproc_def
      name: LINKTYPE_A653_ICM
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '185'
    - item_type: preproc_def
      name: LINKTYPE_USB_FREEBSD
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '186'
    - item_type: preproc_def
      name: LINKTYPE_BLUETOOTH_HCI_H4
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '187'
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_16_MAC_CPS
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '188'
    - item_type: preproc_def
      name: LINKTYPE_USB_LINUX
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '189'
    - item_type: preproc_def
      name: LINKTYPE_CAN20B
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '190'
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_15_4_LINUX
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '191'
    - item_type: preproc_def
      name: LINKTYPE_PPI
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '192'
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_16_MAC_CPS_RADIO
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '193'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_ISM
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '194'
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_15_4_WITHFCS
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '195'
    - item_type: preproc_def
      name: LINKTYPE_SITA
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '196'
    - item_type: preproc_def
      name: LINKTYPE_ERF
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '197'
    - item_type: preproc_def
      name: LINKTYPE_RAIF1
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '198'
    - item_type: preproc_def
      name: LINKTYPE_IPMB_KONTRON
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '199'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_ST
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '200'
    - item_type: preproc_def
      name: LINKTYPE_BLUETOOTH_HCI_H4_WITH_PHDR
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '201'
    - item_type: preproc_def
      name: LINKTYPE_AX25_KISS
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '202'
    - item_type: preproc_def
      name: LINKTYPE_LAPD
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '203'
    - item_type: preproc_def
      name: LINKTYPE_PPP_WITH_DIR
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "204\t"
    - item_type: preproc_def
      name: LINKTYPE_C_HDLC_WITH_DIR
      pos:
        line_end: 588
        line_start: 587
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "205\t"
    - item_type: preproc_def
      name: LINKTYPE_FRELAY_WITH_DIR
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "206\t"
    - item_type: preproc_def
      name: LINKTYPE_LAPB_WITH_DIR
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "207\t"
    - item_type: preproc_def
      name: LINKTYPE_I2C_LINUX
      pos:
        line_end: 630
        line_start: 629
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '209'
    - item_type: preproc_def
      name: LINKTYPE_FLEXRAY
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '210'
    - item_type: preproc_def
      name: LINKTYPE_MOST
      pos:
        line_end: 643
        line_start: 642
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '211'
    - item_type: preproc_def
      name: LINKTYPE_LIN
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '212'
    - item_type: preproc_def
      name: LINKTYPE_X2E_SERIAL
      pos:
        line_end: 656
        line_start: 655
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '213'
    - item_type: preproc_def
      name: LINKTYPE_X2E_XORAYA
      pos:
        line_end: 662
        line_start: 661
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '214'
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_15_4_NONASK_PHY
      pos:
        line_end: 673
        line_start: 672
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '215'
    - item_type: preproc_def
      name: LINKTYPE_LINUX_EVDEV
      pos:
        line_end: 681
        line_start: 680
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '216'
    - item_type: preproc_def
      name: LINKTYPE_GSMTAP_UM
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '217'
    - item_type: preproc_def
      name: LINKTYPE_GSMTAP_ABIS
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '218'
    - item_type: preproc_def
      name: LINKTYPE_MPLS
      pos:
        line_end: 696
        line_start: 695
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '219'
    - item_type: preproc_def
      name: LINKTYPE_USB_LINUX_MMAPPED
      pos:
        line_end: 702
        line_start: 701
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '220'
    - item_type: preproc_def
      name: LINKTYPE_DECT
      pos:
        line_end: 708
        line_start: 707
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '221'
    - item_type: preproc_def
      name: LINKTYPE_AOS
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '222'
    - item_type: preproc_def
      name: LINKTYPE_WIHART
      pos:
        line_end: 728
        line_start: 727
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '223'
    - item_type: preproc_def
      name: LINKTYPE_FC_2
      pos:
        line_end: 734
        line_start: 733
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '224'
    - item_type: preproc_def
      name: LINKTYPE_FC_2_WITH_FRAME_DELIMS
      pos:
        line_end: 748
        line_start: 747
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '225'
    - item_type: preproc_def
      name: LINKTYPE_IPNET
      pos:
        line_end: 796
        line_start: 795
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '226'
    - item_type: preproc_def
      name: LINKTYPE_CAN_SOCKETCAN
      pos:
        line_end: 807
        line_start: 806
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '227'
    - item_type: preproc_def
      name: LINKTYPE_IPV4
      pos:
        line_end: 813
        line_start: 812
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '228'
    - item_type: preproc_def
      name: LINKTYPE_IPV6
      pos:
        line_end: 814
        line_start: 813
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '229'
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_15_4_NOFCS
      pos:
        line_end: 821
        line_start: 820
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '230'
    - item_type: preproc_def
      name: LINKTYPE_DBUS
      pos:
        line_end: 839
        line_start: 838
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '231'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_VS
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '232'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_SRX_E2E
      pos:
        line_end: 846
        line_start: 845
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '233'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_FIBRECHANNEL
      pos:
        line_end: 847
        line_start: 846
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '234'
    - item_type: preproc_def
      name: LINKTYPE_DVB_CI
      pos:
        line_end: 859
        line_start: 858
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '235'
    - item_type: preproc_def
      name: LINKTYPE_MUX27010
      pos:
        line_end: 865
        line_start: 864
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '236'
    - item_type: preproc_def
      name: LINKTYPE_STANAG_5066_D_PDU
      pos:
        line_end: 871
        line_start: 870
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '237'
    - item_type: preproc_def
      name: LINKTYPE_JUNIPER_ATM_CEMIC
      pos:
        line_end: 877
        line_start: 876
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '238'
    - item_type: preproc_def
      name: LINKTYPE_NFLOG
      pos:
        line_end: 885
        line_start: 884
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '239'
    - item_type: preproc_def
      name: LINKTYPE_NETANALYZER
      pos:
        line_end: 895
        line_start: 894
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '240'
    - item_type: preproc_def
      name: LINKTYPE_NETANALYZER_TRANSPARENT
      pos:
        line_end: 905
        line_start: 904
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '241'
    - item_type: preproc_def
      name: LINKTYPE_IPOIB
      pos:
        line_end: 912
        line_start: 911
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '242'
    - item_type: preproc_def
      name: LINKTYPE_MPEG_2_TS
      pos:
        line_end: 919
        line_start: 918
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '243'
    - item_type: preproc_def
      name: LINKTYPE_NG40
      pos:
        line_end: 927
        line_start: 926
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '244'
    - item_type: preproc_def
      name: LINKTYPE_NFC_LLCP
      pos:
        line_end: 937
        line_start: 936
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '245'
    - item_type: preproc_def
      name: LINKTYPE_PFSYNC
      pos:
        line_end: 947
        line_start: 946
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '246'
    - item_type: preproc_def
      name: LINKTYPE_INFINIBAND
      pos:
        line_end: 954
        line_start: 953
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '247'
    - item_type: preproc_def
      name: LINKTYPE_SCTP
      pos:
        line_end: 961
        line_start: 960
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '248'
    - item_type: preproc_def
      name: LINKTYPE_USBPCAP
      pos:
        line_end: 968
        line_start: 967
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '249'
    - item_type: preproc_def
      name: LINKTYPE_RTAC_SERIAL
      pos:
        line_end: 976
        line_start: 975
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '250'
    - item_type: preproc_def
      name: LINKTYPE_BLUETOOTH_LE_LL
      pos:
        line_end: 983
        line_start: 982
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '251'
    - item_type: preproc_def
      name: LINKTYPE_WIRESHARK_UPPER_PDU
      pos:
        line_end: 998
        line_start: 997
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '252'
    - item_type: preproc_def
      name: LINKTYPE_NETLINK
      pos:
        line_end: 1003
        line_start: 1002
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '253'
    - item_type: preproc_def
      name: LINKTYPE_BLUETOOTH_LINUX_MONITOR
      pos:
        line_end: 1008
        line_start: 1007
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '254'
    - item_type: preproc_def
      name: LINKTYPE_BLUETOOTH_BREDR_BB
      pos:
        line_end: 1014
        line_start: 1013
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '255'
    - item_type: preproc_def
      name: LINKTYPE_BLUETOOTH_LE_LL_WITH_PHDR
      pos:
        line_end: 1019
        line_start: 1018
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '256'
    - item_type: preproc_def
      name: LINKTYPE_PROFIBUS_DL
      pos:
        line_end: 1024
        line_start: 1023
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '257'
    - item_type: preproc_def
      name: LINKTYPE_PKTAP
      pos:
        line_end: 1045
        line_start: 1044
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '258'
    - item_type: preproc_def
      name: LINKTYPE_EPON
      pos:
        line_end: 1052
        line_start: 1051
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '259'
    - item_type: preproc_def
      name: LINKTYPE_IPMI_HPM_2
      pos:
        line_end: 1058
        line_start: 1057
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '260'
    - item_type: preproc_def
      name: LINKTYPE_ZWAVE_R1_R2
      pos:
        line_end: 1063
        line_start: 1062
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '261'
    - item_type: preproc_def
      name: LINKTYPE_ZWAVE_R3
      pos:
        line_end: 1064
        line_start: 1063
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '262'
    - item_type: preproc_def
      name: LINKTYPE_WATTSTOPPER_DLM
      pos:
        line_end: 1070
        line_start: 1069
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '263'
    - item_type: preproc_def
      name: LINKTYPE_ISO_14443
      pos:
        line_end: 1075
        line_start: 1074
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '264'
    - item_type: preproc_def
      name: LINKTYPE_RDS
      pos:
        line_end: 1081
        line_start: 1080
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '265'
    - item_type: preproc_def
      name: LINKTYPE_USB_DARWIN
      pos:
        line_end: 1086
        line_start: 1085
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '266'
    - item_type: preproc_def
      name: LINKTYPE_OPENFLOW
      pos:
        line_end: 1091
        line_start: 1090
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '267'
    - item_type: preproc_def
      name: LINKTYPE_SDLC
      pos:
        line_end: 1096
        line_start: 1095
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '268'
    - item_type: preproc_def
      name: LINKTYPE_TI_LLN_SNIFFER
      pos:
        line_end: 1102
        line_start: 1101
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '269'
    - item_type: preproc_def
      name: LINKTYPE_LORATAP
      pos:
        line_end: 1108
        line_start: 1107
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '270'
    - item_type: preproc_def
      name: LINKTYPE_VSOCK
      pos:
        line_end: 1116
        line_start: 1115
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '271'
    - item_type: preproc_def
      name: LINKTYPE_NORDIC_BLE
      pos:
        line_end: 1121
        line_start: 1120
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '272'
    - item_type: preproc_def
      name: LINKTYPE_DOCSIS31_XRA31
      pos:
        line_end: 1128
        line_start: 1127
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '273'
    - item_type: preproc_def
      name: LINKTYPE_ETHERNET_MPACKET
      pos:
        line_end: 1134
        line_start: 1133
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '274'
    - item_type: preproc_def
      name: LINKTYPE_DISPLAYPORT_AUX
      pos:
        line_end: 1141
        line_start: 1140
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '275'
    - item_type: preproc_def
      name: LINKTYPE_LINUX_SLL2
      pos:
        line_end: 1146
        line_start: 1145
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '276'
    - item_type: preproc_def
      name: LINKTYPE_SERCOS_MONITOR
      pos:
        line_end: 1151
        line_start: 1150
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '277'
    - item_type: preproc_def
      name: LINKTYPE_OPENVIZSLA
      pos:
        line_end: 1162
        line_start: 1161
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '278'
    - item_type: preproc_def
      name: LINKTYPE_EBHSCR
      pos:
        line_end: 1174
        line_start: 1173
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '279'
    - item_type: preproc_def
      name: LINKTYPE_VPP_DISPATCH
      pos:
        line_end: 1181
        line_start: 1180
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '280'
    - item_type: preproc_def
      name: LINKTYPE_DSA_TAG_BRCM
      pos:
        line_end: 1186
        line_start: 1185
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '281'
    - item_type: preproc_def
      name: LINKTYPE_DSA_TAG_BRCM_PREPEND
      pos:
        line_end: 1187
        line_start: 1186
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '282'
    - item_type: preproc_def
      name: LINKTYPE_IEEE802_15_4_TAP
      pos:
        line_end: 1195
        line_start: 1194
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '283'
    - item_type: preproc_def
      name: LINKTYPE_DSA_TAG_DSA
      pos:
        line_end: 1200
        line_start: 1199
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '284'
    - item_type: preproc_def
      name: LINKTYPE_DSA_TAG_EDSA
      pos:
        line_end: 1201
        line_start: 1200
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '285'
    - item_type: preproc_def
      name: LINKTYPE_ELEE
      pos:
        line_end: 1208
        line_start: 1207
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '286'
    - item_type: preproc_def
      name: LINKTYPE_Z_WAVE_SERIAL
      pos:
        line_end: 1213
        line_start: 1212
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '287'
    - item_type: preproc_def
      name: LINKTYPE_USB_2_0
      pos:
        line_end: 1220
        line_start: 1219
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '288'
    - item_type: preproc_def
      name: LINKTYPE_ATSC_ALP
      pos:
        line_end: 1225
        line_start: 1224
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '289'
    - item_type: preproc_def
      name: LINKTYPE_ETW
      pos:
        line_end: 1230
        line_start: 1229
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '290'
    - item_type: preproc_def
      name: LINKTYPE_NETANALYZER_NG
      pos:
        line_end: 1241
        line_start: 1240
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '291'
    - item_type: preproc_def
      name: LINKTYPE_ZBOSS_NCP
      pos:
        line_end: 1251
        line_start: 1250
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '292'
    - item_type: preproc_def
      name: LINKTYPE_USB_2_0_LOW_SPEED
      pos:
        line_end: 1256
        line_start: 1255
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '293'
    - item_type: preproc_def
      name: LINKTYPE_USB_2_0_FULL_SPEED
      pos:
        line_end: 1257
        line_start: 1256
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '294'
    - item_type: preproc_def
      name: LINKTYPE_USB_2_0_HIGH_SPEED
      pos:
        line_end: 1258
        line_start: 1257
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '295'
    - item_type: preproc_def
      name: LINKTYPE_AUERSWALD_LOG
      pos:
        line_end: 1266
        line_start: 1265
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '296'
    - item_type: preproc_def
      name: LINKTYPE_ZWAVE_TAP
      pos:
        line_end: 1273
        line_start: 1272
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '297'
    - item_type: preproc_def
      name: LINKTYPE_SILABS_DEBUG_CHANNEL
      pos:
        line_end: 1278
        line_start: 1277
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '298'
    - item_type: preproc_def
      name: LINKTYPE_FIRA_UCI
      pos:
        line_end: 1283
        line_start: 1282
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '299'
    - item_type: preproc_def
      name: LINKTYPE_MDB
      pos:
        line_end: 1295
        line_start: 1294
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '300'
    - item_type: preproc_def
      name: LINKTYPE_DECT_NR
      pos:
        line_end: 1301
        line_start: 1300
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '301'
    - item_type: preproc_def
      name: LINKTYPE_EDK2_MM
      pos:
        line_end: 1310
        line_start: 1309
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '302'
    - item_type: preproc_def
      name: LINKTYPE_DEBUG_ONLY
      pos:
        line_end: 1313
        line_start: 1312
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '303'
    - item_type: preproc_def
      name: LINKTYPE_DECT_NR_TAP
      pos:
        line_end: 1321
        line_start: 1320
        source_file: /src/libpcap/pcap-common.c
      type_or_value: '304'
    - item_type: preproc_def
      name: LINKTYPE_HIGH_MATCHING_MAX
      pos:
        line_end: 1323
        line_start: 1322
        source_file: /src/libpcap/pcap-common.c
      type_or_value: "304\t\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcapint_filter_with_aux_data
  - pcapint_filter
  - pcapint_validate_filter
  - bpf_filter
  - bpf_validate
  source_file: /src/libpcap/bpf_filter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXTRACT_SHORT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libpcap/bpf_filter.c
      type_or_value: EXTRACT_BE_U_2
    - item_type: preproc_def
      name: EXTRACT_LONG
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libpcap/bpf_filter.c
      type_or_value: EXTRACT_BE_U_4
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap-common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXTRACT_BE_U_2
  - EXTRACT_BE_S_2
  - EXTRACT_BE_U_4
  - EXTRACT_BE_S_4
  - EXTRACT_BE_U_8
  - EXTRACT_BE_S_8
  - EXTRACT_BE_U_2
  - EXTRACT_BE_S_2
  - EXTRACT_BE_U_4
  - EXTRACT_BE_S_4
  - EXTRACT_BE_U_8
  - EXTRACT_BE_S_8
  - EXTRACT_BE_U_2
  - EXTRACT_BE_S_2
  - EXTRACT_BE_U_4
  - EXTRACT_BE_S_4
  - EXTRACT_BE_U_8
  - EXTRACT_BE_S_8
  - EXTRACT_IPV4_TO_HOST_ORDER
  - EXTRACT_BE_U_3
  - EXTRACT_BE_S_3
  - EXTRACT_BE_U_5
  - EXTRACT_BE_S_5
  - EXTRACT_BE_U_6
  - EXTRACT_BE_S_6
  - EXTRACT_BE_U_7
  - EXTRACT_BE_S_7
  - EXTRACT_LE_U_2
  - EXTRACT_LE_S_2
  - EXTRACT_LE_U_4
  - EXTRACT_LE_S_4
  - EXTRACT_LE_U_3
  - EXTRACT_LE_S_3
  - EXTRACT_LE_U_8
  - EXTRACT_LE_S_8
  source_file: /src/libpcap/extract.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNALIGNED_OK
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libpcap/extract.h
      type_or_value: __attribute__((no_sanitize_undefined))
    - item_type: preproc_def
      name: UNALIGNED_OK
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libpcap/extract.h
      type_or_value: __attribute__((no_sanitize("undefined")))
    structs:
    - fields:
      - name: val
        type: uint16_t
      item_type: struct
      name: unaligned_uint16_t
      pos:
        line_end: 171
        line_start: 169
        source_file: /src/libpcap/extract.h
    - fields:
      - name: val
        type: int16_t
      item_type: struct
      name: unaligned_int16_t
      pos:
        line_end: 175
        line_start: 173
        source_file: /src/libpcap/extract.h
    - fields:
      - name: val
        type: uint32_t
      item_type: struct
      name: unaligned_uint32_t
      pos:
        line_end: 179
        line_start: 177
        source_file: /src/libpcap/extract.h
    - fields:
      - name: val
        type: int32_t
      item_type: struct
      name: unaligned_int32_t
      pos:
        line_end: 183
        line_start: 181
        source_file: /src/libpcap/extract.h
    typedefs: []
    union: []
- function_names:
  - bt_monitor_findalldevs
  - bt_monitor_read
  - bt_monitor_inject
  - bt_monitor_activate
  - bt_monitor_create
  source_file: /src/libpcap/pcap-bt-monitor-linux.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BT_CONTROL_SIZE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libpcap/pcap-bt-monitor-linux.c
      type_or_value: '32'
    - item_type: preproc_def
      name: INTERFACE_NAME
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libpcap/pcap-bt-monitor-linux.c
      type_or_value: '"bluetooth-monitor"'
    structs:
    - fields:
      - name: dummy
        type: int
      item_type: struct
      name: pcap_bt_monitor
      pos:
        line_end: 56
        line_start: 54
        source_file: /src/libpcap/pcap-bt-monitor-linux.c
    - fields:
      - name: opcode
        type: uint16_t
      - name: index
        type: uint16_t
      - name: len
        type: uint16_t
      item_type: struct
      name: hci_mon_hdr
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/libpcap/pcap-bt-monitor-linux.c
    typedefs: []
    union: []
- function_names:
  - pcapint_findalldevs_interfaces
  source_file: /src/libpcap/fad-glifc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rdmasniff_stats
  - rdmasniff_free_resources
  - rdmasniff_cleanup
  - rdmasniff_post_recv
  - rdmasniff_read
  - rdmasniff_oneshot
  - handle_get_device_list_error
  - rdma_find_device_in_list
  - rdmasniff_activate
  - rdmasniff_create
  - rdmasniff_findalldevs
  source_file: /src/libpcap/pcap-rdmasniff.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IBV_FLOW_ATTR_SNIFFER
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libpcap/pcap-rdmasniff.c
      type_or_value: '3'
    structs:
    - fields:
      - name: "*\t\tcontext"
        type: struct ibv_context
      - name: "*\tchannel"
        type: struct ibv_comp_channel
      - name: "*\t\t\tpd"
        type: struct ibv_pd
      - name: "*\t\t\tcq"
        type: struct ibv_cq
      - name: "*\t\t\tqp"
        type: struct ibv_qp
      - name: '*               flow'
        type: struct ibv_flow
      - name: "*\t\t\tmr"
        type: struct ibv_mr
      - name: "*\t\t\toneshot_buffer"
        type: u_char
      - name: cq_event
        type: int
      - name: packets_recv
        type: u_int
      item_type: struct
      name: pcap_rdmasniff
      pos:
        line_end: 63
        line_start: 52
        source_file: /src/libpcap/pcap-rdmasniff.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap-bpf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - swap_pflog_header
  - swap_socketcan_header
  - swap_linux_sll_socketcan_header
  - swap_linux_sll2_socketcan_header
  - swap_linux_usb_header
  - swap_nflog_header
  - swap_pseudo_headers
  - packet_length_might_be_wrong
  - pcapint_post_process
  source_file: /src/libpcap/pcap-util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bpf_dump
  source_file: /src/libpcap/bpf_dump.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bt_findalldevs
  - bt_create
  - bt_activate
  - bt_read_linux
  - bt_inject_linux
  - bt_stats_linux
  - bt_setdirection_linux
  source_file: /src/libpcap/pcap-bt-linux.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BT_IFACE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libpcap/pcap-bt-linux.c
      type_or_value: '"bluetooth"'
    - item_type: preproc_def
      name: BT_CTRL_SIZE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libpcap/pcap-bt-linux.c
      type_or_value: '128'
    structs:
    - fields:
      - name: dev_id
        type: unsigned
      item_type: struct
      name: pcap_bt
      pos:
        line_end: 68
        line_start: 66
        source_file: /src/libpcap/pcap-bt-linux.c
    typedefs: []
    union: []
- function_names:
  - PCAP_WARN_UNUSED_RESULT::pcap_device_set_filter
  - pcap_setfilter_hurd
  - pcap_read_hurd
  - pcap_inject_hurd
  - pcap_stats_hurd
  - pcap_cleanup_hurd
  - pcap_activate_hurd
  - pcapint_create_interface
  - can_be_bound
  - get_if_flags
  - pcapint_platform_finddevs
  - pcap_lib_version
  source_file: /src/libpcap/pcap-hurd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FILTER_COUNT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libpcap/pcap-hurd.c
      type_or_value: (sizeof(filter) / (sizeof(short)))
    - item_type: preproc_def
      name: pcapint_fmt_errmsg_for_kern_return_t
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libpcap/pcap-hurd.c
      type_or_value: pcapint_fmt_errmsg_for_errno
    structs:
    - fields:
      - name: stat
        type: struct pcap_stat
      - name: mach_dev
        type: device_t
      - name: rcv_port
        type: mach_port_t
      - name: filtering_in_kernel
        type: int
      item_type: struct
      name: pcap_hurd
      pos:
        line_end: 28
        line_start: 23
        source_file: /src/libpcap/pcap-hurd.c
    typedefs: []
    union: []
- function_names:
  - PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO
  - PCAP_ISDIGIT
  - PCAP_ISXDIGIT
  - PCAP_ISUPPER
  - PCAP_ISLOWER
  - PCAP_ISALPHA
  - PCAP_ISALNUM
  - min
  - max
  - PACKET_COUNT_IS_UNLIMITED
  - PCAP_CREATE_COMMON
  - PCAP_OPEN_OFFLINE_COMMON
  - pcapint_charset_fopen
  source_file: /src/libpcap/pcap-int.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCAP_DEBUG
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libpcap/pcap-int.h
      type_or_value: '{printf(" [%s:%d %s] ", __FILE__, __LINE__, __func__); fflush(stdout);}'
    - item_type: preproc_def
      name: PCAP_SIZEOF_TIME_T_BITS_STRING
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libpcap/pcap-int.h
      type_or_value: '"64"'
    - item_type: preproc_def
      name: PCAP_SIZEOF_TIME_T_BITS_STRING
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libpcap/pcap-int.h
      type_or_value: '"32"'
    - item_type: preproc_def
      name: PCAP_VERSION_STRING
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/libpcap/pcap-int.h
      type_or_value: '"libpcap version " PACKAGE_VERSION " (" PCAP_SIZEOF_TIME_T_BITS_STRING
        "-bit time_t)"'
    - item_type: preproc_def
      name: MAXIMUM_SNAPLEN
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/libpcap/pcap-int.h
      type_or_value: '262144'
    - item_type: preproc_def
      name: RPCAP_USE_USERINFO
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/libpcap/pcap-int.h
      type_or_value: '0'
    - item_type: preproc_def
      name: BPF_SPECIAL_VLAN_HANDLING
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/libpcap/pcap-int.h
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: BPF_SPECIAL_BASIC_HANDLING
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/libpcap/pcap-int.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: BPF_OFFLINE_AF_HANDLING
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/libpcap/pcap-int.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: PCAP_ENODEV_MESSAGE
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/libpcap/pcap-int.h
      type_or_value: '"No such device (this build of libpcap supports %s devices only)."'
    - item_type: preproc_def
      name: pcap_code_handle_t
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/libpcap/pcap-int.h
      type_or_value: HMODULE
    structs:
    - fields:
      - name: '*device'
        type: char
      - name: timeout
        type: int
      - name: buffer_size
        type: u_int
      - name: promisc
        type: int
      - name: rfmon
        type: int
      - name: immediate
        type: int
      - name: nonblock
        type: int
      - name: tstamp_type
        type: int
      - name: tstamp_precision
        type: int
      item_type: struct
      name: pcap_opt
      pos:
        line_end: 208
        line_start: 188
        source_file: /src/libpcap/pcap-int.h
    - fields:
      - name: read_op
        type: read_op_t
      - name: next_packet_op
        type: next_packet_op_t
      - name: bufsize
        type: u_int
      - name: '*buffer'
        type: u_char
      - name: '*bp'
        type: u_char
      - name: cc
        type: u_int
      - name: break_loop
        type: sig_atomic_t
      - name: '*priv'
        type: void
      - name: swapped
        type: int
      - name: '*rfile'
        type: FILE
      - name: fddipad
        type: u_int
      - name: '*next'
        type: struct pcap
      - name: version_major
        type: int
      - name: version_minor
        type: int
      - name: snapshot
        type: int
      - name: linktype
        type: int
      - name: linktype_ext
        type: int
      - name: offset
        type: u_int
      - name: activated
        type: int
      - name: oldstyle
        type: int
      - name: opt
        type: struct pcap_opt
      - name: '*pkt'
        type: u_char
      - name: direction
        type: pcap_direction_t
      - name: bpf_codegen_flags
        type: int
      - name: fcode
        type: struct bpf_program
      - name: errbuf[PCAP_ERRBUF_SIZE + 1]
        type: char
      - name: dlt_count
        type: int
      - name: '*dlt_list'
        type: u_int
      - name: tstamp_type_count
        type: int
      - name: '*tstamp_type_list'
        type: u_int
      - name: tstamp_precision_count
        type: int
      - name: '*tstamp_precision_list'
        type: u_int
      - name: pcap_header
        type: struct pcap_pkthdr
      - name: activate_op
        type: activate_op_t
      - name: can_set_rfmon_op
        type: can_set_rfmon_op_t
      - name: inject_op
        type: inject_op_t
      - name: save_current_filter_op
        type: save_current_filter_op_t
      - name: setfilter_op
        type: setfilter_op_t
      - name: setdirection_op
        type: setdirection_op_t
      - name: set_datalink_op
        type: set_datalink_op_t
      - name: getnonblock_op
        type: getnonblock_op_t
      - name: setnonblock_op
        type: setnonblock_op_t
      - name: stats_op
        type: stats_op_t
      - name: breakloop_op
        type: breakloop_op_t
      - name: oneshot_callback
        type: pcap_handler
      - name: cleanup_op
        type: cleanup_op_t
      item_type: struct
      name: pcap
      pos:
        line_end: 388
        line_start: 242
        source_file: /src/libpcap/pcap-int.h
    - fields:
      - name: '*hdr'
        type: struct pcap_pkthdr
      - name: '**pkt'
        type: u_char
      - name: '*pd'
        type: pcap_t
      item_type: struct
      name: oneshot_userdata
      pos:
        line_end: 415
        line_start: 411
        source_file: /src/libpcap/pcap-int.h
    - fields:
      - name: vlan_tag_present
        type: u_short
      - name: vlan_tag
        type: u_short
      item_type: struct
      name: pcap_bpf_aux_data
      pos:
        line_end: 594
        line_start: 591
        source_file: /src/libpcap/pcap-int.h
    typedefs:
    - item_type: typedef
      name: (*activate_op_t)(pcap_t *)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*can_set_rfmon_op_t)(pcap_t *)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*read_op_t)(pcap_t *, int cnt, pcap_handler, u_char *)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*next_packet_op_t)(pcap_t *, struct pcap_pkthdr *, u_char **)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*inject_op_t)(pcap_t *, const void *, int)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*save_current_filter_op_t)(pcap_t *, const char *)
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/libpcap/pcap-int.h
      type: void
    - item_type: typedef
      name: (*setfilter_op_t)(pcap_t *, struct bpf_program *)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*setdirection_op_t)(pcap_t *, pcap_direction_t)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*set_datalink_op_t)(pcap_t *, int)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*getnonblock_op_t)(pcap_t *)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*setnonblock_op_t)(pcap_t *, int)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*stats_op_t)(pcap_t *, struct pcap_stat *)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*breakloop_op_t)(pcap_t *)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/libpcap/pcap-int.h
      type: void
    - item_type: typedef
      name: '*(*stats_ex_op_t)(pcap_t *, int *)'
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/libpcap/pcap-int.h
      type: pcap_stat
    - item_type: typedef
      name: (*setbuff_op_t)(pcap_t *, int)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*setmode_op_t)(pcap_t *, int)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*setmintocopy_op_t)(pcap_t *, int)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*getevent_op_t)(pcap_t *)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/libpcap/pcap-int.h
      type: HANDLE
    - item_type: typedef
      name: (*oid_get_request_op_t)(pcap_t *, bpf_u_int32, void *, size_t *)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*oid_set_request_op_t)(pcap_t *, bpf_u_int32, const void *, size_t *)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*sendqueue_transmit_op_t)(pcap_t *, pcap_send_queue *, int)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/libpcap/pcap-int.h
      type: u_int
    - item_type: typedef
      name: (*setuserbuffer_op_t)(pcap_t *, int)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*live_dump_op_t)(pcap_t *, char *, int, int)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*live_dump_ended_op_t)(pcap_t *, int)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/libpcap/pcap-int.h
      type: int
    - item_type: typedef
      name: (*cleanup_op_t)(pcap_t *)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/libpcap/pcap-int.h
      type: void
    - item_type: typedef
      name: pcap_if_list_t
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/libpcap/pcap-int.h
      type: pcap_if_list
    - item_type: typedef
      name: (*get_if_flags_func)(const char *, bpf_u_int32 *, char *)
      pos:
        line_end: 505
        line_start: 505
        source_file: /src/libpcap/pcap-int.h
      type: int
    union: []
- function_names:
  - htols
  - htoll
  - htol64
  - htols
  - htoll
  - htol64
  - usb_dev_add
  - usb_findalldevs
  - usb_set_ring_size
  - usb_mmap
  - probe_devices
  - usb_create
  - usb_activate
  - usb_inject_linux
  - usb_setdirection_linux
  - usb_stats_linux_bin
  - usb_read_linux_bin
  - usb_read_linux_mmap
  - usb_cleanup_linux_mmap
  source_file: /src/libpcap/pcap-usb-linux.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USB_IFACE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '"usbmon"'
    - item_type: preproc_def
      name: USBMON_DEV_PREFIX
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '"usbmon"'
    - item_type: preproc_def
      name: USBMON_DEV_PREFIX_LEN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: (sizeof USBMON_DEV_PREFIX - 1)
    - item_type: preproc_def
      name: USB_LINE_LEN
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: MON_IOC_MAGIC
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '0x92'
    - item_type: preproc_def
      name: MON_IOCQ_URB_LEN
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: _IO(MON_IOC_MAGIC, 1)
    - item_type: preproc_def
      name: MON_IOCX_URB
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: _IOWR(MON_IOC_MAGIC, 2, struct mon_bin_hdr)
    - item_type: preproc_def
      name: MON_IOCG_STATS
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: _IOR(MON_IOC_MAGIC, 3, struct mon_bin_stats)
    - item_type: preproc_def
      name: MON_IOCT_RING_SIZE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: _IO(MON_IOC_MAGIC, 4)
    - item_type: preproc_def
      name: MON_IOCQ_RING_SIZE
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: _IO(MON_IOC_MAGIC, 5)
    - item_type: preproc_def
      name: MON_IOCX_GET
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: _IOW(MON_IOC_MAGIC, 6, struct mon_bin_get)
    - item_type: preproc_def
      name: MON_IOCX_MFETCH
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: _IOWR(MON_IOC_MAGIC, 7, struct mon_bin_mfetch)
    - item_type: preproc_def
      name: MON_IOCH_MFLUSH
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: _IO(MON_IOC_MAGIC, 8)
    - item_type: preproc_def
      name: MON_BIN_SETUP
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: MON_BIN_SETUP_ZERO
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '0x2 '
    - item_type: preproc_def
      name: MON_BIN_DATA_ZERO
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '0x4 '
    - item_type: preproc_def
      name: MON_BIN_ERROR
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '0x8'
    - item_type: preproc_def
      name: MIN_RING_SIZE
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: (8*1024)
    - item_type: preproc_def
      name: MAX_RING_SIZE
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: (1200*1024)
    - item_type: preproc_def
      name: CTRL_TIMEOUT
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '(5*1000)        '
    - item_type: preproc_def
      name: USB_DIR_IN
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: USB_TYPE_STANDARD
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: USB_RECIP_DEVICE
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: USB_REQ_GET_DESCRIPTOR
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '6'
    - item_type: preproc_def
      name: USB_DT_DEVICE
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USB_DT_CONFIG
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '2'
    - item_type: preproc_def
      name: USB_DEVICE_DESCRIPTOR_SIZE
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '18'
    - item_type: preproc_def
      name: USB_CONFIG_DESCRIPTOR_SIZE
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '9'
    - item_type: preproc_def
      name: VEC_SIZE
      pos:
        line_end: 732
        line_start: 731
        source_file: /src/libpcap/pcap-usb-linux.c
      type_or_value: '32'
    structs:
    - fields:
      - name: queued
        type: uint32_t
      - name: dropped
        type: uint32_t
      item_type: struct
      name: mon_bin_stats
      pos:
        line_end: 88
        line_start: 85
        source_file: /src/libpcap/pcap-usb-linux.c
    - fields:
      - name: '*hdr'
        type: pcap_usb_header
      - name: '*data'
        type: void
      - name: data_len
        type: size_t
      item_type: struct
      name: mon_bin_get
      pos:
        line_end: 94
        line_start: 90
        source_file: /src/libpcap/pcap-usb-linux.c
    - fields:
      - name: '*offvec'
        type: int32_t
      - name: nfetch
        type: int32_t
      - name: nflush
        type: int32_t
      item_type: struct
      name: mon_bin_mfetch
      pos:
        line_end: 100
        line_start: 96
        source_file: /src/libpcap/pcap-usb-linux.c
    - fields:
      - name: '*mmapbuf'
        type: u_char
      - name: mmapbuflen
        type: size_t
      - name: bus_index
        type: unsigned
      - name: packets_read
        type: u_int
      item_type: struct
      name: pcap_usb_linux
      pos:
        line_end: 126
        line_start: 121
        source_file: /src/libpcap/pcap-usb-linux.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/charconv.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcap_stats_dlpi
  - pcap_process_mactype
  - pcap_conf_bufmod
  - pcap_alloc_databuf
  - strioctl
  - pcap_stream_err
  source_file: /src/libpcap/dlpisubs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DL_IPATM
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/libpcap/dlpisubs.c
      type_or_value: "0x12\t"
    - item_type: preproc_def
      name: CHUNKSIZE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libpcap/dlpisubs.c
      type_or_value: '65536'
    - item_type: preproc_def
      name: PKTBUFSIZE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libpcap/dlpisubs.c
      type_or_value: CHUNKSIZE
    - item_type: preproc_def
      name: MAXDLBUF
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libpcap/dlpisubs.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: PKTBUFSIZE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libpcap/dlpisubs.c
      type_or_value: (MAXDLBUF * sizeof(bpf_u_int32))
    structs: []
    typedefs: []
    union: []
- function_names:
  - SWAPS
  - PacketIsMonitorModeSupported
  - PacketSetMonitorMode
  - PacketGetMonitorMode
  - PACKET_OID_DATA_LENGTH
  - oid_get_request
  - pcap_stats_npf
  - pcap_stats_ex_npf
  - pcap_setbuff_npf
  - pcap_setmode_npf
  - pcap_setmintocopy_npf
  - pcap_getevent_npf
  - pcap_oid_get_request_npf
  - pcap_oid_set_request_npf
  - pcap_sendqueue_transmit_npf
  - pcap_setuserbuffer_npf
  - pcap_live_dump_npf
  - pcap_live_dump_ended_npf
  - pcap_live_dump_npf
  - pcap_live_dump_ended_npf
  - pcap_read_npf
  - pcap_inject_npf
  - pcap_cleanup_npf
  - pcap_breakloop_npf
  - pcap_activate_npf
  - pcap_can_set_rfmon_npf
  - get_ts_support
  - get_ts_support
  - pcapint_create_interface
  - pcap_setfilter_npf
  - pcap_setfilter_win32_dag
  - pcap_getnonblock_npf
  - pcap_setnonblock_npf
  - pcap_add_if_npf
  - switch
  - pcapint_platform_finddevs
  - pcap_lookupdev
  - pcap_lookupnet
  - pcap_lib_version
  - pcap_lib_version
  source_file: /src/libpcap/pcap-npf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BPF_RET
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libpcap/pcap-npf.c
      type_or_value: '0x06'
    - item_type: preproc_def
      name: BPF_K
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libpcap/pcap-npf.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: WIN32_DEFAULT_USER_BUFFER_SIZE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libpcap/pcap-npf.c
      type_or_value: '256000'
    - item_type: preproc_def
      name: WIN32_DEFAULT_KERNEL_BUFFER_SIZE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libpcap/pcap-npf.c
      type_or_value: '1000000'
    - item_type: preproc_def
      name: NT_STATUS_CUSTOMER_DEFINED
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/libpcap/pcap-npf.c
      type_or_value: '0x20000000'
    - item_type: preproc_def
      name: NDIS_STATUS_INVALID_OID
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/libpcap/pcap-npf.c
      type_or_value: '0xc0010017'
    - item_type: preproc_def
      name: NDIS_STATUS_NOT_SUPPORTED
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/libpcap/pcap-npf.c
      type_or_value: "0xc00000bb\t"
    - item_type: preproc_def
      name: NDIS_STATUS_NOT_RECOGNIZED
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/libpcap/pcap-npf.c
      type_or_value: '0x00010001'
    - item_type: preproc_def
      name: bhp
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/libpcap/pcap-npf.c
      type_or_value: ((struct bpf_hdr *)bp)
    - item_type: preproc_def
      name: N_GEN_PHYSICAL_MEDIUM_OIDS
      pos:
        line_end: 1917
        line_start: 1916
        source_file: /src/libpcap/pcap-npf.c
      type_or_value: (sizeof gen_physical_medium_oids / sizeof gen_physical_medium_oids[0])
    - item_type: preproc_def
      name: ADAPTERSNAME_LEN
      pos:
        line_end: 2265
        line_start: 2264
        source_file: /src/libpcap/pcap-npf.c
      type_or_value: '8192'
    structs:
    - fields:
      - name: '*adapter'
        type: ADAPTER
      - name: nonblock
        type: int
      - name: rfmon_selfstart
        type: int
      - name: filtering_in_kernel
        type: int
      item_type: struct
      name: pcap_win
      pos:
        line_end: 91
        line_start: 81
        source_file: /src/libpcap/pcap-npf.c
    typedefs: []
    union: []
- function_names:
  - MAKE_DL_PRIMITIVES
  - pcap_read_dlpi
  - pcap_inject_dlpi
  - pcap_cleanup_dlpi
  - handle_dev_dlpi_open_error
  - handle_dlpi_device_open_error
  - open_dlpi_device
  - split_dname
  - dl_doattach
  - dl_dohpuxbind
  - STRINGIFY
  - dlpromiscon
  - show_them_all
  - get_if_flags
  - pcapint_platform_finddevs
  - send_request
  - recv_ack
  - dlstrerror
  - dlprim
  - dlbindreq
  - dlbindack
  - dlokack
  - dlinforeq
  - dlinfoack
  - dlpassive
  - dlrawdatareq
  - get_dlpi_ppa
  - pcapint_create_interface
  - pcap_lib_version
  source_file: /src/libpcap/pcap-dlpi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCAP_DEV_PREFIX
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libpcap/pcap-dlpi.c
      type_or_value: '"/dev/dlpi"'
    - item_type: preproc_def
      name: PCAP_DEV_PREFIX
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libpcap/pcap-dlpi.c
      type_or_value: '"/dev"'
    - item_type: preproc_def
      name: MAXDLBUF
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libpcap/pcap-dlpi.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: DL_IPATM
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/libpcap/pcap-dlpi.c
      type_or_value: "0x12\t"
    - item_type: preproc_def
      name: A_GET_UNITS
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/libpcap/pcap-dlpi.c
      type_or_value: (('A'<<8)|118)
    - item_type: preproc_def
      name: A_PROMISCON_REQ
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/libpcap/pcap-dlpi.c
      type_or_value: (('A'<<8)|121)
    structs: []
    typedefs: []
    union:
    - fields:
      - name: nunits
        type: u_int
      - name: pad[516]
        type: char
      item_type: union
      name: buf
      pos:
        line_end: 1144
        line_start: 1140
        source_file: /src/libpcap/pcap-dlpi.c
- function_names: []
  source_file: /src/libpcap/sf-pcapng.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sock_initfuzz
  - fuzz_recv
  - sock_geterrcode
  - sock_vfmterrmsg
  - sock_fmterrmsg
  - sock_geterrmsg
  - sock_geterrtype
  - sock_init
  - sock_init
  - sock_cleanup
  - sock_ismcastaddr
  - compare_addrs_to_try_by_address_family
  - compare_addrs_to_try_by_status
  - sock_create_socket
  - sock_open
  - sock_close
  - get_gai_errstring
  - sock_initaddress
  - sock_send
  - sock_bufferize
  - sock_recv
  - sock_recv_dgram
  - sock_discard
  - sock_check_hostlist
  - sock_cmpaddr
  - sock_getmyinfo
  - sock_getascii_addrport
  - sock_present2network
  source_file: /src/libpcap/sockutils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WINSOCK_MAJOR_VERSION
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libpcap/sockutils.c
      type_or_value: '2'
    - item_type: preproc_def
      name: WINSOCK_MINOR_VERSION
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libpcap/sockutils.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SHUT_WR
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libpcap/sockutils.c
      type_or_value: "SD_SEND\t"
    - item_type: preproc_def
      name: SOCK_ERRBUF_SIZE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libpcap/sockutils.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: SOCKET_NO_NAME_AVAILABLE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libpcap/sockutils.c
      type_or_value: '"No name available"'
    - item_type: preproc_def
      name: SOCKET_NO_PORT_AVAILABLE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libpcap/sockutils.c
      type_or_value: '"No port available"'
    - item_type: preproc_def
      name: SOCKET_NAME_NULL_DAD
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libpcap/sockutils.c
      type_or_value: '"Null address (possibly DAD Phase)"'
    - item_type: preproc_def
      name: IPV6_V6ONLY
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/libpcap/sockutils.c
      type_or_value: IPV6_BINDV6ONLY
    - item_type: preproc_def
      name: TEMP_BUF_SIZE
      pos:
        line_end: 1666
        line_start: 1665
        source_file: /src/libpcap/sockutils.c
      type_or_value: '32768'
    structs:
    - fields:
      - name: '*info'
        type: struct addrinfo
      - name: errcode
        type: int
      - name: errtype
        type: sock_errtype
      item_type: struct
      name: addr_status
      pos:
        line_end: 388
        line_start: 384
        source_file: /src/libpcap/sockutils.c
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/libpcap/sockutils.c
      type: int
    union: []
- function_names: []
  source_file: /src/libpcap/pcap-netmap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/optimize.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NBIDS
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libpcap/optimize.h
      type_or_value: '1000'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/sf-pcap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ssl_set_certfile
  - ssl_set_keyfile
  - ssl_init_once
  - ssl_promotion
  - ssl_finish
  - ssl_send
  - ssl_recv
  source_file: /src/libpcap/sslutils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcap_getnonblock_bpf
  - pcap_setnonblock_bpf
  - pcap_next_zbuf_shm
  - pcap_next_zbuf
  - TSTOMILLI
  - pcap_ack_zbuf
  - pcapint_create_interface
  - check_device_exists
  - bpf_open
  - bpf_bind
  - bpf_open_and_bind
  - get_dlt_list
  - pcap_can_set_rfmon_bpf
  - pcap_can_set_rfmon_bpf
  - pcap_stats_bpf
  - pcap_read_bpf
  - pcap_inject_bpf
  - bpf_odminit
  - bpf_odmcleanup
  - bpf_load
  - pcap_cleanup_bpf
  - check_setif_failure
  - roundup
  - check_bpf_bindable
  - get_flags_stub
  - finddevs_bpf
  - finddevs_usb
  - get_if_flags
  - get_if_flags
  - pcapint_platform_finddevs
  - monitor_mode
  - find_802_11
  - remove_non_802_11
  - remove_802_11
  - pcap_setfilter_bpf
  - pcap_setdirection_bpf
  - pcap_setdirection_bpf
  - pcap_setdirection_bpf
  - pcap_setdirection_bpf
  - pcap_set_datalink_bpf
  - pcap_lib_version
  source_file: /src/libpcap/pcap-bpf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USBUS_PREFIX_LEN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: (sizeof(usbus_prefix) - 1)
    - item_type: preproc_def
      name: domakedev
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: makedev64
    - item_type: preproc_def
      name: getmajor
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: major64
    - item_type: preproc_def
      name: bpf_hdr
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: bpf_hdr32
    - item_type: preproc_def
      name: domakedev
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: makedev
    - item_type: preproc_def
      name: getmajor
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: major
    - item_type: preproc_def
      name: BPF_NAME
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '"bpf"'
    - item_type: preproc_def
      name: BPF_MINORS
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '4'
    - item_type: preproc_def
      name: DRIVER_PATH
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '"/usr/lib/drivers"'
    - item_type: preproc_def
      name: BPF_NODE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '"/dev/bpf"'
    - item_type: preproc_def
      name: PCAP_FDDIPAD
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MUST_CLEAR_RFMON
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: MUST_DESTROY_USBUS
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: "0x00000002\t"
    - item_type: preproc_def
      name: IFM_ULIST_TYPE
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: uint64_t
    - item_type: preproc_def
      name: IFM_ULIST_TYPE
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: int
    - item_type: preproc_def
      name: DLT_DOCSIS
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '143'
    - item_type: preproc_def
      name: DLT_PRISM_HEADER
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '119'
    - item_type: preproc_def
      name: DLT_AIRONET_HEADER
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '120'
    - item_type: preproc_def
      name: DLT_IEEE802_11_RADIO
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '127'
    - item_type: preproc_def
      name: DLT_IEEE802_11_RADIO_AVS
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '163'
    - item_type: preproc_def
      name: BPF_BIND_SUCCEEDED
      pos:
        line_end: 694
        line_start: 693
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '0'
    - item_type: preproc_def
      name: BPF_BIND_BUFFER_TOO_BIG
      pos:
        line_end: 695
        line_start: 694
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '1'
    - item_type: preproc_def
      name: bhp
      pos:
        line_end: 1345
        line_start: 1344
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: ((struct bpf_xhdr *)bp)
    - item_type: preproc_def
      name: bhp
      pos:
        line_end: 1347
        line_start: 1346
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: ((struct bpf_hdr *)bp)
    - item_type: preproc_def
      name: DEFAULT_BUFSIZE
      pos:
        line_end: 1888
        line_start: 1887
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '524288'
    - item_type: preproc_def
      name: ADDITIONAL_INFO_STRING
      pos:
        line_end: 3729
        line_start: 3728
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '"with zerocopy and netmap support"'
    - item_type: preproc_def
      name: ADDITIONAL_INFO_STRING
      pos:
        line_end: 3731
        line_start: 3730
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '"with zerocopy support"'
    - item_type: preproc_def
      name: ADDITIONAL_INFO_STRING
      pos:
        line_end: 3733
        line_start: 3732
        source_file: /src/libpcap/pcap-bpf.c
      type_or_value: '"with netmap support"'
    structs:
    - fields:
      - name: '*device'
        type: char
      - name: filtering_in_kernel
        type: int
      - name: must_do_on_close
        type: int
      item_type: struct
      name: pcap_bpf
      pos:
        line_end: 179
        line_start: 151
        source_file: /src/libpcap/pcap-bpf.c
    typedefs: []
    union: []
- function_names:
  - pcap_alloc_option
  - pcap_free_option
  - pcap_set_option_string
  - pcap_set_option_int
  - pcap_get_option_string
  - pcap_get_option_int
  source_file: /src/libpcap/pcap-options.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: tstamp_precision
        type: int
      - name: '*io_read_plugin'
        type: char
      - name: '*io_write_plugin'
        type: char
      item_type: struct
      name: pcap_options
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/libpcap/pcap-options.c
    typedefs: []
    union: []
- function_names:
  - pcapint_strlcat
  - pcapint_strlcpy
  - timeradd
  - timersub
  source_file: /src/libpcap/portability.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: pcapint_strlcat
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libpcap/portability.h
      type_or_value: strlcat
    - item_type: preproc_def
      name: pcapint_strlcpy
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libpcap/portability.h
      type_or_value: strlcpy
    - item_type: preproc_def
      name: strdup
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libpcap/portability.h
      type_or_value: _strdup
    - item_type: preproc_def
      name: pcapint_asprintf
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libpcap/portability.h
      type_or_value: asprintf
    - item_type: preproc_def
      name: pcapint_vasprintf
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libpcap/portability.h
      type_or_value: vasprintf
    - item_type: preproc_def
      name: pcapint_strtok_r
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libpcap/portability.h
      type_or_value: strtok_r
    - item_type: preproc_def
      name: pcapint_strtok_r
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/libpcap/portability.h
      type_or_value: strtok_s
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/libpcap/portability.h
      type_or_value: __inline
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pflog.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PFLOG_IFNAMSIZ
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libpcap/pflog.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PFLOG_RULESET_NAME_SIZE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libpcap/pflog.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PF_INOUT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libpcap/pflog.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PF_IN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libpcap/pflog.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PF_OUT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libpcap/pflog.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PF_FWD
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libpcap/pflog.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PFRES_MATCH
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libpcap/pflog.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PFRES_BADOFF
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libpcap/pflog.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PFRES_FRAG
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libpcap/pflog.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PFRES_SHORT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libpcap/pflog.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PFRES_NORM
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libpcap/pflog.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PFRES_MEMORY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libpcap/pflog.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PFRES_TS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libpcap/pflog.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PFRES_CONGEST
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libpcap/pflog.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PFRES_IPOPTIONS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libpcap/pflog.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PFRES_PROTCKSUM
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libpcap/pflog.h
      type_or_value: '9'
    - item_type: preproc_def
      name: PFRES_BADSTATE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libpcap/pflog.h
      type_or_value: '10'
    - item_type: preproc_def
      name: PFRES_STATEINS
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libpcap/pflog.h
      type_or_value: '11'
    - item_type: preproc_def
      name: PFRES_MAXSTATES
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libpcap/pflog.h
      type_or_value: '12'
    - item_type: preproc_def
      name: PFRES_SRCLIMIT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libpcap/pflog.h
      type_or_value: '13'
    - item_type: preproc_def
      name: PFRES_SYNPROXY
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libpcap/pflog.h
      type_or_value: '14'
    - item_type: preproc_def
      name: PFRES_MAPFAILED
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libpcap/pflog.h
      type_or_value: '15'
    - item_type: preproc_def
      name: PFRES_STATELOCKED
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libpcap/pflog.h
      type_or_value: '15'
    - item_type: preproc_def
      name: PFRES_TRANSLATE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libpcap/pflog.h
      type_or_value: '15'
    - item_type: preproc_def
      name: PFRES_NOROUTE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libpcap/pflog.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PFRES_DUMMYNET
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libpcap/pflog.h
      type_or_value: '15'
    - item_type: preproc_def
      name: PF_PASS
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libpcap/pflog.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PF_DROP
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libpcap/pflog.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PF_SCRUB
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libpcap/pflog.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PF_NOSCRUB
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libpcap/pflog.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PF_NAT
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libpcap/pflog.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PF_NONAT
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libpcap/pflog.h
      type_or_value: '5'
    - item_type: preproc_def
      name: PF_BINAT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libpcap/pflog.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PF_NOBINAT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/libpcap/pflog.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PF_RDR
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libpcap/pflog.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PF_NORDR
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libpcap/pflog.h
      type_or_value: '9'
    - item_type: preproc_def
      name: PF_SYNPROXY_DROP
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libpcap/pflog.h
      type_or_value: '10'
    - item_type: preproc_def
      name: PF_DEFER
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libpcap/pflog.h
      type_or_value: '11'
    - item_type: preproc_def
      name: PF_DEFER
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libpcap/pflog.h
      type_or_value: '11'
    - item_type: preproc_def
      name: PF_MATCH
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libpcap/pflog.h
      type_or_value: '12'
    - item_type: preproc_def
      name: PF_DIVERT
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libpcap/pflog.h
      type_or_value: '13'
    - item_type: preproc_def
      name: PF_RT
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libpcap/pflog.h
      type_or_value: '14'
    - item_type: preproc_def
      name: PF_AFRT
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libpcap/pflog.h
      type_or_value: '15'
    - item_type: preproc_def
      name: PF_DUMMYNET
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libpcap/pflog.h
      type_or_value: '11'
    - item_type: preproc_def
      name: PF_NODUMMYNET
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libpcap/pflog.h
      type_or_value: '12'
    - item_type: preproc_def
      name: PF_NAT64
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libpcap/pflog.h
      type_or_value: '13'
    - item_type: preproc_def
      name: PF_NONAT64
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libpcap/pflog.h
      type_or_value: '14'
    - item_type: preproc_def
      name: v4
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/libpcap/pflog.h
      type_or_value: pfa.v4
    - item_type: preproc_def
      name: v6
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/libpcap/pflog.h
      type_or_value: pfa.v6
    - item_type: preproc_def
      name: addr8
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libpcap/pflog.h
      type_or_value: pfa.addr8
    - item_type: preproc_def
      name: addr16
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/libpcap/pflog.h
      type_or_value: pfa.addr16
    - item_type: preproc_def
      name: addr32
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libpcap/pflog.h
      type_or_value: pfa.addr32
    structs:
    - fields:
      - name: pfa
        type: "union {\n\t\tstruct in_addr\t\tv4;\n\t\tstruct in6_addr\t\tv6;\n\t\tuint8_t\t\t\taddr8[16];\n\t\tuint16_t\t\taddr16[8];\n\t\tuint32_t\t\taddr32[4];\n\t}"
      item_type: struct
      name: pf_addr
      pos:
        line_end: 124
        line_start: 111
        source_file: /src/libpcap/pflog.h
    - fields:
      - name: length
        type: uint8_t
      - name: af
        type: uint8_t
      - name: action
        type: uint8_t
      - name: reason
        type: uint8_t
      - name: ifname[PFLOG_IFNAMSIZ]
        type: char
      - name: ruleset[PFLOG_RULESET_NAME_SIZE]
        type: char
      - name: rulenr
        type: uint32_t
      - name: subrulenr
        type: uint32_t
      - name: uid
        type: uint32_t
      - name: pid
        type: int32_t
      - name: rule_uid
        type: uint32_t
      - name: rule_pid
        type: int32_t
      - name: dir
        type: uint8_t
      item_type: struct
      name: pfloghdr
      pos:
        line_end: 157
        line_start: 126
        source_file: /src/libpcap/pflog.h
    typedefs: []
    union: []
- function_names:
  - cp_to_utf_16le
  - utf_16le_to_cp
  - utf_8_to_acp_truncated
  source_file: /src/libpcap/charconv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap-dag.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap-dbus.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcap_setsampling
  - pcap_findalldevs_ex
  - pcap_open
  - pcap_setsampling
  source_file: /src/libpcap/pcap-new.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCAP_TEXT_SOURCE_FILE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libpcap/pcap-new.c
      type_or_value: '"File"'
    - item_type: preproc_def
      name: PCAP_TEXT_SOURCE_FILE_LEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libpcap/pcap-new.c
      type_or_value: (sizeof PCAP_TEXT_SOURCE_FILE - 1)
    - item_type: preproc_def
      name: PCAP_TEXT_SOURCE_ADAPTER
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libpcap/pcap-new.c
      type_or_value: '"Network adapter"'
    - item_type: preproc_def
      name: PCAP_TEXT_SOURCE_ADAPTER_LEN
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libpcap/pcap-new.c
      type_or_value: (sizeof "Network adapter" - 1)
    - item_type: preproc_def
      name: PCAP_TEXT_SOURCE_ON_LOCAL_HOST
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libpcap/pcap-new.c
      type_or_value: '"on local host"'
    - item_type: preproc_def
      name: PCAP_TEXT_SOURCE_ON_LOCAL_HOST_LEN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libpcap/pcap-new.c
      type_or_value: (sizeof PCAP_TEXT_SOURCE_ON_LOCAL_HOST + 1)
    - item_type: preproc_def
      name: ENDING_CHAR
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/libpcap/pcap-new.c
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: ENDING_CHAR
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/libpcap/pcap-new.c
      type_or_value: '''/'''
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SET_BINMODE
  - pcap_check_header
  - grow_buffer
  - pcap_next_packet
  - sf_write_header
  - pcap_dump
  - pcap_setup_dump
  - pcap_dump_open
  - pcap_dump_hopen
  - pcap_dump_fopen
  - pcap_dump_open_append
  - pcap_dump_file
  - pcap_dump_ftell
  - pcap_dump_ftell64
  - pcap_dump_ftell64
  - pcap_dump_ftell64
  - pcap_dump_flush
  - pcap_dump_close
  source_file: /src/libpcap/sf-pcap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TCPDUMP_MAGIC
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libpcap/sf-pcap.c
      type_or_value: '0xa1b2c3d4'
    - item_type: preproc_def
      name: KUZNETZOV_TCPDUMP_MAGIC
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libpcap/sf-pcap.c
      type_or_value: '0xa1b2cd34'
    - item_type: preproc_def
      name: FMESQUITA_TCPDUMP_MAGIC
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libpcap/sf-pcap.c
      type_or_value: '0xa1b234cd'
    - item_type: preproc_def
      name: NAVTEL_TCPDUMP_MAGIC
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libpcap/sf-pcap.c
      type_or_value: '0xa12b3c4d'
    - item_type: preproc_def
      name: NSEC_TCPDUMP_MAGIC
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libpcap/sf-pcap.c
      type_or_value: '0xa1b23c4d'
    - item_type: preproc_def
      name: CBPF_SAVEFILE_MAGIC
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libpcap/sf-pcap.c
      type_or_value: '0xa1b2c3cb'
    structs:
    - fields:
      - name: tv_sec
        type: bpf_u_int32
      - name: tv_usec
        type: bpf_u_int32
      item_type: struct
      name: pcap_timeval
      pos:
        line_end: 118
        line_start: 115
        source_file: /src/libpcap/sf-pcap.c
    - fields:
      - name: ts
        type: struct pcap_timeval
      - name: caplen
        type: bpf_u_int32
      - name: len
        type: bpf_u_int32
      item_type: struct
      name: pcap_sf_pkthdr
      pos:
        line_end: 154
        line_start: 150
        source_file: /src/libpcap/sf-pcap.c
    - fields:
      - name: ts
        type: struct pcap_timeval
      - name: caplen
        type: bpf_u_int32
      - name: len
        type: bpf_u_int32
      - name: index
        type: int
      - name: protocol
        type: unsigned short
      - name: pkt_type
        type: unsigned char
      item_type: struct
      name: pcap_sf_patched_pkthdr
      pos:
        line_end: 173
        line_start: 166
        source_file: /src/libpcap/sf-pcap.c
    - fields:
      - name: hdrsize
        type: size_t
      - name: lengths_swapped
        type: swapped_type_t
      - name: scale_type
        type: tstamp_scale_type_t
      item_type: struct
      name: pcap_sf
      pos:
        line_end: 210
        line_start: 206
        source_file: /src/libpcap/sf-pcap.c
    typedefs: []
    union: []
- function_names:
  - SWAPLL
  - SWAPLONG
  - SWAPSHORT
  - swap_4_byte_aligned_uint64
  - swap_4_byte_aligned_int64
  source_file: /src/libpcap/pcap-util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/fmtutils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ATOMMASK
  - ATOMELEM
  - isMarked
  - unMarkAll
  - Mark
  - JT
  - JF
  source_file: /src/libpcap/gencode.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: Q_HOST
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libpcap/gencode.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Q_NET
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libpcap/gencode.h
      type_or_value: '2'
    - item_type: preproc_def
      name: Q_PORT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libpcap/gencode.h
      type_or_value: '3'
    - item_type: preproc_def
      name: Q_GATEWAY
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libpcap/gencode.h
      type_or_value: '4'
    - item_type: preproc_def
      name: Q_PROTO
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libpcap/gencode.h
      type_or_value: '5'
    - item_type: preproc_def
      name: Q_PROTOCHAIN
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libpcap/gencode.h
      type_or_value: '6'
    - item_type: preproc_def
      name: Q_PORTRANGE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libpcap/gencode.h
      type_or_value: '7'
    - item_type: preproc_def
      name: Q_LINK
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libpcap/gencode.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Q_IP
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libpcap/gencode.h
      type_or_value: '2'
    - item_type: preproc_def
      name: Q_ARP
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libpcap/gencode.h
      type_or_value: '3'
    - item_type: preproc_def
      name: Q_RARP
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libpcap/gencode.h
      type_or_value: '4'
    - item_type: preproc_def
      name: Q_SCTP
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libpcap/gencode.h
      type_or_value: '5'
    - item_type: preproc_def
      name: Q_TCP
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libpcap/gencode.h
      type_or_value: '6'
    - item_type: preproc_def
      name: Q_UDP
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libpcap/gencode.h
      type_or_value: '7'
    - item_type: preproc_def
      name: Q_ICMP
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libpcap/gencode.h
      type_or_value: '8'
    - item_type: preproc_def
      name: Q_IGMP
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libpcap/gencode.h
      type_or_value: '9'
    - item_type: preproc_def
      name: Q_IGRP
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libpcap/gencode.h
      type_or_value: '10'
    - item_type: preproc_def
      name: Q_ATALK
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libpcap/gencode.h
      type_or_value: '11'
    - item_type: preproc_def
      name: Q_DECNET
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libpcap/gencode.h
      type_or_value: '12'
    - item_type: preproc_def
      name: Q_LAT
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libpcap/gencode.h
      type_or_value: '13'
    - item_type: preproc_def
      name: Q_SCA
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libpcap/gencode.h
      type_or_value: '14'
    - item_type: preproc_def
      name: Q_MOPRC
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libpcap/gencode.h
      type_or_value: '15'
    - item_type: preproc_def
      name: Q_MOPDL
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libpcap/gencode.h
      type_or_value: '16'
    - item_type: preproc_def
      name: Q_IPV6
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libpcap/gencode.h
      type_or_value: '17'
    - item_type: preproc_def
      name: Q_ICMPV6
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/libpcap/gencode.h
      type_or_value: '18'
    - item_type: preproc_def
      name: Q_AH
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libpcap/gencode.h
      type_or_value: '19'
    - item_type: preproc_def
      name: Q_ESP
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libpcap/gencode.h
      type_or_value: '20'
    - item_type: preproc_def
      name: Q_PIM
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libpcap/gencode.h
      type_or_value: '21'
    - item_type: preproc_def
      name: Q_VRRP
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libpcap/gencode.h
      type_or_value: '22'
    - item_type: preproc_def
      name: Q_AARP
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/libpcap/gencode.h
      type_or_value: '23'
    - item_type: preproc_def
      name: Q_ISO
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libpcap/gencode.h
      type_or_value: '24'
    - item_type: preproc_def
      name: Q_ESIS
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libpcap/gencode.h
      type_or_value: '25'
    - item_type: preproc_def
      name: Q_ISIS
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libpcap/gencode.h
      type_or_value: '26'
    - item_type: preproc_def
      name: Q_CLNP
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libpcap/gencode.h
      type_or_value: '27'
    - item_type: preproc_def
      name: Q_STP
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libpcap/gencode.h
      type_or_value: '28'
    - item_type: preproc_def
      name: Q_IPX
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libpcap/gencode.h
      type_or_value: '29'
    - item_type: preproc_def
      name: Q_NETBEUI
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/libpcap/gencode.h
      type_or_value: '30'
    - item_type: preproc_def
      name: Q_ISIS_L1
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libpcap/gencode.h
      type_or_value: '31'
    - item_type: preproc_def
      name: Q_ISIS_L2
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libpcap/gencode.h
      type_or_value: '32'
    - item_type: preproc_def
      name: Q_ISIS_IIH
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/libpcap/gencode.h
      type_or_value: '33'
    - item_type: preproc_def
      name: Q_ISIS_SNP
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libpcap/gencode.h
      type_or_value: '34'
    - item_type: preproc_def
      name: Q_ISIS_CSNP
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libpcap/gencode.h
      type_or_value: '35'
    - item_type: preproc_def
      name: Q_ISIS_PSNP
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libpcap/gencode.h
      type_or_value: '36'
    - item_type: preproc_def
      name: Q_ISIS_LSP
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/libpcap/gencode.h
      type_or_value: '37'
    - item_type: preproc_def
      name: Q_RADIO
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/libpcap/gencode.h
      type_or_value: '38'
    - item_type: preproc_def
      name: Q_CARP
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/libpcap/gencode.h
      type_or_value: '39'
    - item_type: preproc_def
      name: Q_SRC
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/libpcap/gencode.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Q_DST
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/libpcap/gencode.h
      type_or_value: '2'
    - item_type: preproc_def
      name: Q_OR
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libpcap/gencode.h
      type_or_value: '3'
    - item_type: preproc_def
      name: Q_AND
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libpcap/gencode.h
      type_or_value: '4'
    - item_type: preproc_def
      name: Q_ADDR1
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/libpcap/gencode.h
      type_or_value: '5'
    - item_type: preproc_def
      name: Q_ADDR2
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/libpcap/gencode.h
      type_or_value: '6'
    - item_type: preproc_def
      name: Q_ADDR3
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/libpcap/gencode.h
      type_or_value: '7'
    - item_type: preproc_def
      name: Q_ADDR4
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/libpcap/gencode.h
      type_or_value: '8'
    - item_type: preproc_def
      name: Q_RA
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/libpcap/gencode.h
      type_or_value: '9'
    - item_type: preproc_def
      name: Q_TA
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/libpcap/gencode.h
      type_or_value: '10'
    - item_type: preproc_def
      name: Q_DEFAULT
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/libpcap/gencode.h
      type_or_value: '0'
    - item_type: preproc_def
      name: Q_UNDEF
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/libpcap/gencode.h
      type_or_value: '255'
    - item_type: preproc_def
      name: A_METAC
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/libpcap/gencode.h
      type_or_value: "22\t"
    - item_type: preproc_def
      name: A_BCC
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/libpcap/gencode.h
      type_or_value: "23\t"
    - item_type: preproc_def
      name: A_OAMF4SC
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/libpcap/gencode.h
      type_or_value: "24\t"
    - item_type: preproc_def
      name: A_OAMF4EC
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/libpcap/gencode.h
      type_or_value: "25\t"
    - item_type: preproc_def
      name: A_SC
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/libpcap/gencode.h
      type_or_value: "26\t"
    - item_type: preproc_def
      name: A_ILMIC
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/libpcap/gencode.h
      type_or_value: "27\t"
    - item_type: preproc_def
      name: A_OAM
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/libpcap/gencode.h
      type_or_value: "28\t"
    - item_type: preproc_def
      name: A_OAMF4
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/libpcap/gencode.h
      type_or_value: "29\t"
    - item_type: preproc_def
      name: A_LANE
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/libpcap/gencode.h
      type_or_value: "30\t"
    - item_type: preproc_def
      name: A_VPI
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libpcap/gencode.h
      type_or_value: '51'
    - item_type: preproc_def
      name: A_VCI
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/libpcap/gencode.h
      type_or_value: '52'
    - item_type: preproc_def
      name: A_CONNECTMSG
      pos:
        line_end: 170
        line_start: 167
        source_file: /src/libpcap/gencode.h
      type_or_value: "70\t"
    - item_type: preproc_def
      name: A_METACONNECT
      pos:
        line_end: 176
        line_start: 170
        source_file: /src/libpcap/gencode.h
      type_or_value: "71\t"
    - item_type: preproc_def
      name: M_FISU
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/libpcap/gencode.h
      type_or_value: "22\t"
    - item_type: preproc_def
      name: M_LSSU
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/libpcap/gencode.h
      type_or_value: "23\t"
    - item_type: preproc_def
      name: M_MSU
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/libpcap/gencode.h
      type_or_value: "24\t"
    - item_type: preproc_def
      name: MH_FISU
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/libpcap/gencode.h
      type_or_value: "25\t"
    - item_type: preproc_def
      name: MH_LSSU
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/libpcap/gencode.h
      type_or_value: "26\t"
    - item_type: preproc_def
      name: MH_MSU
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/libpcap/gencode.h
      type_or_value: "27\t"
    - item_type: preproc_def
      name: M_SIO
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/libpcap/gencode.h
      type_or_value: '1'
    - item_type: preproc_def
      name: M_OPC
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/libpcap/gencode.h
      type_or_value: '2'
    - item_type: preproc_def
      name: M_DPC
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/libpcap/gencode.h
      type_or_value: '3'
    - item_type: preproc_def
      name: M_SLS
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libpcap/gencode.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MH_SIO
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libpcap/gencode.h
      type_or_value: '5'
    - item_type: preproc_def
      name: MH_OPC
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/libpcap/gencode.h
      type_or_value: '6'
    - item_type: preproc_def
      name: MH_DPC
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/libpcap/gencode.h
      type_or_value: '7'
    - item_type: preproc_def
      name: MH_SLS
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/libpcap/gencode.h
      type_or_value: '8'
    - item_type: preproc_def
      name: N_ATOMS
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/libpcap/gencode.h
      type_or_value: (BPF_MEMWORDS+2)
    - item_type: preproc_def
      name: VAL_UNKNOWN
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/libpcap/gencode.h
      type_or_value: '0'
    structs:
    - fields:
      - name: code
        type: int
      - name: '*jt'
        type: struct slist
      - name: '*jf'
        type: struct slist
      - name: k
        type: bpf_u_int32
      item_type: struct
      name: stmt
      pos:
        line_end: 210
        line_start: 205
        source_file: /src/libpcap/gencode.h
    - fields:
      - name: s
        type: struct stmt
      - name: '*next'
        type: struct slist
      item_type: struct
      name: slist
      pos:
        line_end: 215
        line_start: 212
        source_file: /src/libpcap/gencode.h
    - fields:
      - name: id
        type: u_int
      - name: code
        type: int
      - name: edom
        type: uset
      - name: '*succ'
        type: struct block
      - name: '*pred'
        type: struct block
      - name: '*next'
        type: struct edge
      item_type: struct
      name: edge
      pos:
        line_end: 248
        line_start: 241
        source_file: /src/libpcap/gencode.h
    - fields:
      - name: id
        type: u_int
      - name: '*stmts'
        type: struct slist
      - name: s
        type: struct stmt
      - name: mark
        type: int
      - name: longjt
        type: u_int
      - name: longjf
        type: u_int
      - name: level
        type: int
      - name: offset
        type: int
      - name: sense
        type: int
      - name: et
        type: struct edge
      - name: ef
        type: struct edge
      - name: '*head'
        type: struct block
      - name: '*link'
        type: struct block
      - name: dom
        type: uset
      - name: closure
        type: uset
      - name: '*in_edges'
        type: struct edge
      - name: def
        type: atomset
      - name: in_use
        type: atomset
      - name: out_use
        type: atomset
      - name: oval
        type: int
      - name: val[N_ATOMS]
        type: bpf_u_int32
      - name: meaning
        type: "enum {\n\t\tIS_UNCERTAIN = 0, // must be the default\n\t\tIS_TRUE,\n\t\tIS_FALSE,\n\t}"
      item_type: struct
      name: block
      pos:
        line_end: 282
        line_start: 255
        source_file: /src/libpcap/gencode.h
    - fields:
      - name: '*b'
        type: struct block
      - name: '*s'
        type: struct slist
      - name: regno
        type: int
      item_type: struct
      name: arth
      pos:
        line_end: 293
        line_start: 289
        source_file: /src/libpcap/gencode.h
    - fields:
      - name: addr
        type: unsigned char
      - name: proto
        type: unsigned char
      - name: dir
        type: unsigned char
      - name: pad
        type: unsigned char
      item_type: struct
      name: qual
      pos:
        line_end: 300
        line_start: 295
        source_file: /src/libpcap/gencode.h
    - fields:
      - name: '*root'
        type: struct block
      - name: cur_mark
        type: int
      item_type: struct
      name: icode
      pos:
        line_end: 418
        line_start: 415
        source_file: /src/libpcap/gencode.h
    typedefs:
    - item_type: typedef
      name: atomset
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/libpcap/gencode.h
      type: bpf_u_int32
    - item_type: typedef
      name: '*uset'
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/libpcap/gencode.h
      type: bpf_u_int32
    - item_type: typedef
      name: compiler_state_t
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/libpcap/gencode.h
      type: _compiler_state
    union: []
- function_names:
  - pcapint_create_interface
  - pcap_lookupnet
  - pcap_lib_version
  source_file: /src/libpcap/pcap-null.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - NTOHL
  - pcap_nametoaddr
  - pcap_nametoaddrinfo
  - pcap_nametonetaddr
  - pcap_nametonetaddr
  - pcap_nametoport
  - pcap_nametoportrange
  - pcap_nametoproto
  - proto_or_undef
  - pcap_nametoeproto
  - pcap_nametollc
  - pcapint_xdtoi
  - pcapint_atoin
  - pcapint_atodn
  - pcapint_atoan
  - pcapint_atomac48_xxxxxxxxxxxx
  - pcapint_atomac48_xxxx_3_times
  - pcapint_atomac48_x_xx_6_times
  - pcapint_atomac48
  - pcap_ether_aton
  - pcap_ether_hostton
  - pcap_ether_hostton
  source_file: /src/libpcap/nametoaddr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AREASHIFT
      pos:
        line_end: 670
        line_start: 669
        source_file: /src/libpcap/nametoaddr.c
      type_or_value: '10'
    - item_type: preproc_def
      name: AREAMASK
      pos:
        line_end: 671
        line_start: 670
        source_file: /src/libpcap/nametoaddr.c
      type_or_value: '0176000'
    - item_type: preproc_def
      name: NODEMASK
      pos:
        line_end: 672
        line_start: 671
        source_file: /src/libpcap/nametoaddr.c
      type_or_value: '01777'
    structs:
    - fields:
      - name: ether_addr_octet[6]
        type: unsigned char
      item_type: struct
      name: ether_addr
      pos:
        line_end: 86
        line_start: 84
        source_file: /src/libpcap/nametoaddr.c
    - fields:
      - name: '*s'
        type: char
      - name: p
        type: u_short
      item_type: struct
      name: eproto
      pos:
        line_end: 551
        line_start: 548
        source_file: /src/libpcap/nametoaddr.c
    typedefs: []
    union: []
- function_names:
  - pcap_netmap_stats
  - pcap_netmap_filter
  - pcap_netmap_dispatch
  - pcap_netmap_inject
  - pcap_netmap_ioctl
  - pcap_netmap_close
  - pcap_netmap_activate
  - pcap_netmap_create
  source_file: /src/libpcap/pcap-netmap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IFF_PPROMISC
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libpcap/pcap-netmap.c
      type_or_value: IFF_PROMISC
    structs:
    - fields:
      - name: '*d'
        type: struct nm_desc
      - name: cb
        type: pcap_handler
      - name: '*cb_arg'
        type: u_char
      - name: must_clear_promisc
        type: int
      - name: rx_pkts
        type: uint64_t
      item_type: struct
      name: pcap_netmap
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/libpcap/pcap-netmap.c
    typedefs: []
    union: []
- function_names:
  - SET_BINMODE
  - sf_setnonblock
  - sf_stats
  - sf_stats_ex
  - sf_setbuff
  - sf_setmode
  - sf_setmintocopy
  - sf_getevent
  - sf_oid_get_request
  - sf_oid_set_request
  - sf_sendqueue_transmit
  - sf_setuserbuffer
  - sf_live_dump
  - sf_live_dump_ended
  - sf_inject
  - sf_setdirection
  - pcapint_sf_cleanup
  - pcapint_charset_fopen
  - pcap_open_offline_with_tstamp_precision
  - pcap_open_offline
  - pcap_hopen_offline_with_tstamp_precision
  - pcap_hopen_offline
  - pcapint_adjust_snapshot
  - pcap_fopen_offline_with_tstamp_precision
  - pcap_fopen_offline
  - pcapint_offline_read
  source_file: /src/libpcap/savefile.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_MODE_LEN
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/libpcap/savefile.c
      type_or_value: '16'
    - item_type: preproc_def
      name: N_FILE_TYPES
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/libpcap/savefile.c
      type_or_value: (sizeof check_headers / sizeof check_headers[0])
    structs: []
    typedefs: []
    union: []
- function_names:
  - __SOCKADDR_COMMON
  - JMP
  - PUSH_LINKHDR
  - CHUNKSIZE
  - bpf_set_error
  - PCAP_NORETURN::bpf_error
  - initcurrentchunk_ok
  - initchunks_ok
  - newchunk_nolongjmp
  - newchunk
  - freechunks
  - sdup
  - new_block
  - new_stmt
  - gen_retblk_internal
  - gen_retblk
  - syntax
  - qual2kw
  - pqkw
  - dqkw
  - tqkw
  - atmkw
  - ss7kw
  - pcapint_datalink_val_to_string
  - fail_kw_on_dlt
  - assert_pflog
  - assert_atm
  - assert_ss7
  - assert_maxval
  - assert_nonwlan_dqual
  - port_pq_to_ipproto
  - pq_to_ipproto
  - pq_to_llcsap
  - pq_to_ethertype
  - pq_to_nlpid
  - pcap_compile
  - pcap_compile_nopcap
  - pcap_freecode
  - backpatch
  - merge
  - finish_parse
  - gen_and
  - gen_or
  - gen_not
  - gen_cmp
  - gen_cmp_gt
  - gen_cmp_ge
  - gen_cmp_lt
  - gen_cmp_le
  - gen_cmp_ne
  - gen_mcmp
  - gen_mcmp_ne
  - gen_bcmp
  - gen_jmp_k
  - gen_jmp_x
  - gen_set
  - gen_unset
  - gen_ncmp
  - init_linktype
  - gen_load_absoffsetrel
  - gen_load_absoffsetarthrel
  - gen_load_a
  - gen_loadx_iphdrlen
  - gen_uncond
  - gen_true
  - gen_false
  - gen_ether_linktype
  - gen_endian_linktype
  - gen_bsd_af_linktype_live
  - gen_bsd_af_linktype_offline
  - gen_loopback_linktype_live
  - gen_pflog_linktype
  - gen_loopback_linktype
  - gen_ipnet_linktype
  - gen_linux_sll_linktype
  - gen_load_pflog_llprefixlen
  - gen_load_prism_llprefixlen
  - gen_load_avs_llprefixlen
  - gen_load_radiotap_llprefixlen
  - gen_load_ppi_llprefixlen
  - gen_load_802_11_header_len
  - insert_compute_vloffsets
  - gen_abs_offset_varpart
  - ethertype_to_ppptype
  - gen_prevlinkhdr_check
  - gen_ip_version
  - gen_frelay_nlpid
  - gen_linktype
  - gen_snap
  - gen_llc_internal
  - gen_llc
  - gen_llc_i
  - gen_llc_s
  - gen_llc_u
  - gen_llc_s_subtype
  - gen_llc_u_subtype
  - gen_llc_linktype
  - gen_hostop
  - gen_hostop6
  - gen_wlanhostop
  - gen_dnhostop
  - gen_just_after_mpls_stack
  - gen_mpls_linktype
  - gen_host
  - gen_host6
  - uint32_t_cmp
  - in6_addr_cmp
  - gen_host46_byname
  - gen_dnhost
  - is_mac48_linktype
  - gen_mac48host
  - gen_mac48host_byname
  - gen_mac8host
  - gen_gateway
  - gen_proto_abbrev_internal
  - gen_proto_abbrev
  - gen_ip_proto
  - gen_ip6_proto
  - gen_ipfrag
  - gen_portatom
  - gen_portatom6
  - gen_port
  - gen_port_common
  - gen_port6
  - gen_port6_common
  - gen_portrangeatom
  - gen_portrange
  - gen_portrangeatom6
  - gen_portrange6
  - lookup_proto
  - gen_protochain
  - gen_proto
  - nametoport
  - stringtoport
  - stringtoportrange
  - gen_scode
  - gen_mcode
  - gen_ncode
  - gen_mcode6
  - gen_ecode
  - gen_acode
  - sappend
  - sprepend_to_block
  - xfer_to_x
  - xfer_to_a
  - gen_load_internal
  - gen_load
  - gen_relation_internal
  - gen_relation
  - gen_loadlen
  - gen_loadi_internal
  - gen_loadi
  - gen_neg
  - gen_arth
  - init_regs
  - alloc_reg
  - free_reg
  - gen_len
  - gen_greater
  - gen_less
  - gen_byteop
  - gen_broadcast
  - gen_mac_multicast
  - gen_multicast
  - require_basic_bpf_extensions
  - gen_ifindex
  - gen_inbound_outbound
  - gen_pf_ifname
  - gen_pf_ruleset
  - gen_pf_rnr
  - gen_pf_srnr
  - gen_pf_reason
  - gen_pf_action
  - gen_p80211_type
  - gen_p80211_fcdir
  - gen_vlan_tpid_test
  - gen_vlan_vid_test
  - gen_vlan_no_bpf_extensions
  - gen_vlan_vloffset_add
  - gen_vlan_patch_tpid_test
  - gen_vlan_patch_vid_test
  - gen_vlan_bpf_extensions
  - gen_vlan
  - gen_mpls_internal
  - gen_mpls
  - gen_pppoed
  - gen_pppoes
  - gen_geneve_check
  - gen_geneve4
  - gen_geneve6
  - gen_geneve_offsets
  - gen_geneve
  - gen_vxlan_check
  - gen_vxlan4
  - gen_vxlan6
  - gen_vxlan_offsets
  - gen_vxlan
  - gen_encap_ll_check
  - gen_atmfield_code_internal
  - gen_atm_vpi
  - gen_atm_vci
  - gen_atm_prototype
  - gen_atmtype_llc
  - gen_atmfield_code
  - gen_atmtype_abbrev
  - gen_mtp2type_abbrev
  - gen_mtp3field_code_internal
  - gen_mtp3field_code
  - gen_msg_abbrev
  - gen_atmmulti_abbrev
  source_file: /src/libpcap/gencode.c
  types:
    enum:
    - enumerators:
      - name: OR_PACKET
      - name: OR_LLC
      - name: OR_PREVLINKHDR
      - name: OR_PREVMPLSHDR
      - name: OR_LINKHDR
      - name: OR_LINKTYPE
      - name: OR_LINKPL
      - name: OR_LINKPL_NOSNAP
      - name: OR_TRAN_IPV4
      - name: OR_TRAN_IPV6
      item_type: enum
      name: e_offrel
      pos:
        line_end: 405
        line_start: 394
        source_file: /src/libpcap/gencode.c
    preproc_defs:
    - item_type: preproc_def
      name: s6_addr
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libpcap/gencode.c
      type_or_value: in6_u.u6_addr8
    - item_type: preproc_def
      name: s6_addr16
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libpcap/gencode.c
      type_or_value: in6_u.u6_addr16
    - item_type: preproc_def
      name: s6_addr32
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libpcap/gencode.c
      type_or_value: in6_u.u6_addr32
    - item_type: preproc_def
      name: s6_addr64
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libpcap/gencode.c
      type_or_value: in6_u.u6_addr64
    - item_type: preproc_def
      name: ETHERMTU
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libpcap/gencode.c
      type_or_value: '1500'
    - item_type: preproc_def
      name: IPPROTO_HOPOPTS
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libpcap/gencode.c
      type_or_value: '0'
    - item_type: preproc_def
      name: IPPROTO_IGMP
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libpcap/gencode.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IPPROTO_IGRP
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/libpcap/gencode.c
      type_or_value: '9'
    - item_type: preproc_def
      name: IPPROTO_ROUTING
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/libpcap/gencode.c
      type_or_value: '43'
    - item_type: preproc_def
      name: IPPROTO_FRAGMENT
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libpcap/gencode.c
      type_or_value: '44'
    - item_type: preproc_def
      name: IPPROTO_ESP
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/libpcap/gencode.c
      type_or_value: '50'
    - item_type: preproc_def
      name: IPPROTO_AH
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/libpcap/gencode.c
      type_or_value: '51'
    - item_type: preproc_def
      name: IPPROTO_ICMPV6
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/libpcap/gencode.c
      type_or_value: '58'
    - item_type: preproc_def
      name: IPPROTO_NONE
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/libpcap/gencode.c
      type_or_value: '59'
    - item_type: preproc_def
      name: IPPROTO_DSTOPTS
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/libpcap/gencode.c
      type_or_value: '60'
    - item_type: preproc_def
      name: IPPROTO_PIM
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/libpcap/gencode.c
      type_or_value: '103'
    - item_type: preproc_def
      name: IPPROTO_CARP
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/libpcap/gencode.c
      type_or_value: '112'
    - item_type: preproc_def
      name: IPPROTO_VRRP
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/libpcap/gencode.c
      type_or_value: '112'
    - item_type: preproc_def
      name: IPPROTO_SCTP
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/libpcap/gencode.c
      type_or_value: '132'
    - item_type: preproc_def
      name: GENEVE_PORT
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libpcap/gencode.c
      type_or_value: '6081'
    - item_type: preproc_def
      name: VXLAN_PORT
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libpcap/gencode.c
      type_or_value: '4789'
    - item_type: preproc_def
      name: ARCTYPE_IP_OLD
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/libpcap/gencode.c
      type_or_value: "240\t"
    - item_type: preproc_def
      name: ARCTYPE_ARP_OLD
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/libpcap/gencode.c
      type_or_value: "241\t"
    - item_type: preproc_def
      name: ARCTYPE_IP
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/libpcap/gencode.c
      type_or_value: "212\t"
    - item_type: preproc_def
      name: ARCTYPE_ARP
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/libpcap/gencode.c
      type_or_value: "213\t"
    - item_type: preproc_def
      name: ARCTYPE_REVARP
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/libpcap/gencode.c
      type_or_value: "214\t"
    - item_type: preproc_def
      name: ARCTYPE_ATALK
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/libpcap/gencode.c
      type_or_value: "221\t"
    - item_type: preproc_def
      name: ARCTYPE_BANIAN
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/libpcap/gencode.c
      type_or_value: "247\t"
    - item_type: preproc_def
      name: ARCTYPE_IPX
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/libpcap/gencode.c
      type_or_value: "250\t"
    - item_type: preproc_def
      name: ARCTYPE_INET6
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/libpcap/gencode.c
      type_or_value: "0xc4\t"
    - item_type: preproc_def
      name: ARCTYPE_DIAGNOSE
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: VCI_PPC
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x05\t"
    - item_type: preproc_def
      name: VCI_BCC
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: VCI_OAMF4SC
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x03\t"
    - item_type: preproc_def
      name: VCI_OAMF4EC
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x04\t"
    - item_type: preproc_def
      name: VCI_METAC
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: VCI_ILMIC
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x10\t"
    - item_type: preproc_def
      name: CALL_PROCEED
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: CONNECT
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x07\t"
    - item_type: preproc_def
      name: CONNECT_ACK
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x0f\t"
    - item_type: preproc_def
      name: SETUP
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x05\t"
    - item_type: preproc_def
      name: RELEASE
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x4d\t"
    - item_type: preproc_def
      name: RELEASE_DONE
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x5a\t"
    - item_type: preproc_def
      name: RESTART
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x46\t"
    - item_type: preproc_def
      name: RESTART_ACK
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x4e\t"
    - item_type: preproc_def
      name: STATUS
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x7d\t"
    - item_type: preproc_def
      name: STATUS_ENQ
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x75\t"
    - item_type: preproc_def
      name: ADD_PARTY
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: ADD_PARTY_ACK
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x81\t"
    - item_type: preproc_def
      name: ADD_PARTY_REJ
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x82\t"
    - item_type: preproc_def
      name: DROP_PARTY
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x83\t"
    - item_type: preproc_def
      name: DROP_PARTY_ACK
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x84\t"
    - item_type: preproc_def
      name: CAUSE
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x08\t"
    - item_type: preproc_def
      name: ENDPT_REF
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x54\t"
    - item_type: preproc_def
      name: AAL_PARA
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x58\t"
    - item_type: preproc_def
      name: TRAFF_DESCRIP
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x59\t"
    - item_type: preproc_def
      name: CONNECT_ID
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x5a\t"
    - item_type: preproc_def
      name: QOS_PARA
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x5c\t"
    - item_type: preproc_def
      name: B_HIGHER
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x5d\t"
    - item_type: preproc_def
      name: B_BEARER
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x5e\t"
    - item_type: preproc_def
      name: B_LOWER
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x5f\t"
    - item_type: preproc_def
      name: CALLING_PARTY
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x6c\t"
    - item_type: preproc_def
      name: CALLED_PARTY
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x70\t"
    - item_type: preproc_def
      name: Q2931
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/libpcap/gencode.c
      type_or_value: '0x09'
    - item_type: preproc_def
      name: PROTO_POS
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/libpcap/gencode.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: CALL_REF_POS
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/libpcap/gencode.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MSG_TYPE_POS
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/libpcap/gencode.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: MSG_LEN_POS
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/libpcap/gencode.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: IE_BEGIN_POS
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/libpcap/gencode.c
      type_or_value: "9\t"
    - item_type: preproc_def
      name: TYPE_POS
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/libpcap/gencode.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LEN_POS
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/libpcap/gencode.c
      type_or_value: '2'
    - item_type: preproc_def
      name: FIELD_BEGIN_POS
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/libpcap/gencode.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SUNATM_DIR_POS
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/libpcap/gencode.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SUNATM_VPI_POS
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/libpcap/gencode.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SUNATM_VCI_POS
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/libpcap/gencode.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SUNATM_PKT_BEGIN_POS
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/libpcap/gencode.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: PT_LANE
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: PT_LLC
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: PT_ILMI
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x05\t"
    - item_type: preproc_def
      name: PT_QSAAL
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/libpcap/gencode.c
      type_or_value: "0x06\t"
    - item_type: preproc_def
      name: ISO8473_CLNP
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/libpcap/gencode.c
      type_or_value: '0x81'
    - item_type: preproc_def
      name: ISO9542_ESIS
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/libpcap/gencode.c
      type_or_value: '0x82'
    - item_type: preproc_def
      name: ISO10589_ISIS
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/libpcap/gencode.c
      type_or_value: '0x83'
    - item_type: preproc_def
      name: ISO9577_IPV6
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/libpcap/gencode.c
      type_or_value: '0x8e'
    - item_type: preproc_def
      name: ISO9577_IPV4
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/libpcap/gencode.c
      type_or_value: '0xcc'
    - item_type: preproc_def
      name: ISIS_L1_LAN_IIH
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/libpcap/gencode.c
      type_or_value: '15'
    - item_type: preproc_def
      name: ISIS_L2_LAN_IIH
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/libpcap/gencode.c
      type_or_value: '16'
    - item_type: preproc_def
      name: ISIS_PTP_IIH
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/libpcap/gencode.c
      type_or_value: '17'
    - item_type: preproc_def
      name: ISIS_L1_LSP
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/libpcap/gencode.c
      type_or_value: '18'
    - item_type: preproc_def
      name: ISIS_L2_LSP
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/libpcap/gencode.c
      type_or_value: '20'
    - item_type: preproc_def
      name: ISIS_L1_CSNP
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/libpcap/gencode.c
      type_or_value: '24'
    - item_type: preproc_def
      name: ISIS_L2_CSNP
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/libpcap/gencode.c
      type_or_value: '25'
    - item_type: preproc_def
      name: ISIS_L1_PSNP
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/libpcap/gencode.c
      type_or_value: '26'
    - item_type: preproc_def
      name: ISIS_L2_PSNP
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/libpcap/gencode.c
      type_or_value: '27'
    - item_type: preproc_def
      name: ISIS_PDU_TYPE_MAX
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/libpcap/gencode.c
      type_or_value: 0x1FU
    - item_type: preproc_def
      name: SLIPDIR_IN
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/libpcap/gencode.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SLIPDIR_OUT
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/libpcap/gencode.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IPV6_PROTO_OFFSET
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/libpcap/gencode.c
      type_or_value: '6'
    - item_type: preproc_def
      name: IPV6_SRCADDR_OFFSET
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/libpcap/gencode.c
      type_or_value: '8'
    - item_type: preproc_def
      name: IPV6_DSTADDR_OFFSET
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/libpcap/gencode.c
      type_or_value: '24'
    - item_type: preproc_def
      name: IPV4_PROTO_OFFSET
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/libpcap/gencode.c
      type_or_value: '9'
    - item_type: preproc_def
      name: IPV4_SRCADDR_OFFSET
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/libpcap/gencode.c
      type_or_value: '12'
    - item_type: preproc_def
      name: IPV4_DSTADDR_OFFSET
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/libpcap/gencode.c
      type_or_value: '16'
    - item_type: preproc_def
      name: ARP_SRCADDR_OFFSET
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/libpcap/gencode.c
      type_or_value: '14'
    - item_type: preproc_def
      name: ARP_DSTADDR_OFFSET
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/libpcap/gencode.c
      type_or_value: '24'
    - item_type: preproc_def
      name: RARP_SRCADDR_OFFSET
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/libpcap/gencode.c
      type_or_value: '14'
    - item_type: preproc_def
      name: RARP_DSTADDR_OFFSET
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/libpcap/gencode.c
      type_or_value: '24'
    - item_type: preproc_def
      name: TRAN_SRCPORT_OFFSET
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/libpcap/gencode.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TRAN_DSTPORT_OFFSET
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/libpcap/gencode.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IP6_HDRLEN
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/libpcap/gencode.c
      type_or_value: '40'
    - item_type: preproc_def
      name: MPLS_STACKENTRY_LEN
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/libpcap/gencode.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MPLS_LABEL_MAX
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/libpcap/gencode.c
      type_or_value: 0xfffffU
    - item_type: preproc_def
      name: MPLS_LABEL_SHIFT
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/libpcap/gencode.c
      type_or_value: '12'
    - item_type: preproc_def
      name: OFFSET_NOT_SET
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/libpcap/gencode.c
      type_or_value: 0xffffffffU
    - item_type: preproc_def
      name: NCHUNKS
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/libpcap/gencode.c
      type_or_value: '16'
    - item_type: preproc_def
      name: CHUNK_ALIGN
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/libpcap/gencode.c
      type_or_value: (offsetof(struct chunk_align, u))
    - item_type: preproc_def
      name: ERRSTR_FUNC_VAR_INT
      pos:
        line_end: 803
        line_start: 802
        source_file: /src/libpcap/gencode.c
      type_or_value: '"internal error in %s(): %s == %d"'
    - item_type: preproc_def
      name: ERRSTR_INVALID_QUAL
      pos:
        line_end: 1208
        line_start: 1207
        source_file: /src/libpcap/gencode.c
      type_or_value: '"''%s'' is not a valid qualifier for ''%s''"'
    - item_type: preproc_def
      name: ERRSTR_UNKNOWN_MAC48HOST
      pos:
        line_end: 1209
        line_start: 1208
        source_file: /src/libpcap/gencode.c
      type_or_value: '"unknown Ethernet-like host ''%s''"'
    - item_type: preproc_def
      name: ERRSTR_INVALID_IPV4_ADDR
      pos:
        line_end: 1210
        line_start: 1209
        source_file: /src/libpcap/gencode.c
      type_or_value: '"invalid IPv4 address ''%s''"'
    - item_type: preproc_def
      name: ERRSTR_FUNC_VAR_STR
      pos:
        line_end: 1211
        line_start: 1210
        source_file: /src/libpcap/gencode.c
      type_or_value: '"internal error in %s(): %s == ''%s''"'
    - item_type: preproc_def
      name: BSD_AFNUM_INET
      pos:
        line_end: 2933
        line_start: 2932
        source_file: /src/libpcap/gencode.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: BSD_AFNUM_INET6_BSD
      pos:
        line_end: 2939
        line_start: 2938
        source_file: /src/libpcap/gencode.c
      type_or_value: "24\t"
    - item_type: preproc_def
      name: BSD_AFNUM_INET6_FREEBSD
      pos:
        line_end: 2940
        line_start: 2939
        source_file: /src/libpcap/gencode.c
      type_or_value: "28\t"
    - item_type: preproc_def
      name: BSD_AFNUM_INET6_DARWIN
      pos:
        line_end: 2941
        line_start: 2940
        source_file: /src/libpcap/gencode.c
      type_or_value: "30\t"
    - item_type: preproc_def
      name: MAX_PER_AF
      pos:
        line_end: 5633
        line_start: 5632
        source_file: /src/libpcap/gencode.c
      type_or_value: '100'
    - item_type: preproc_def
      name: MTP2_SIO_MAXVAL
      pos:
        line_end: 9985
        line_start: 9984
        source_file: /src/libpcap/gencode.c
      type_or_value: UINT8_MAX
    - item_type: preproc_def
      name: MTP3_PC_MAXVAL
      pos:
        line_end: 9986
        line_start: 9985
        source_file: /src/libpcap/gencode.c
      type_or_value: 0x3fffU
    - item_type: preproc_def
      name: MTP3_SLS_MAXVAL
      pos:
        line_end: 9987
        line_start: 9986
        source_file: /src/libpcap/gencode.c
      type_or_value: 0xfU
    structs:
    - fields:
      - name: in6_u
        type: "union\n      {\n\tuint8_t\t\tu6_addr8[16];\n\tuint16_t\tu6_addr16[8];\n\tuint32_t\tu6_addr32[4];\n
          \     }"
      item_type: struct
      name: in6_addr
      pos:
        line_end: 82
        line_start: 70
        source_file: /src/libpcap/gencode.c
    - fields:
      - name: sin6_port
        type: uint16_t
      - name: sin6_flowinfo
        type: uint32_t
      - name: sin6_addr
        type: struct in6_addr
      item_type: struct
      name: sockaddr_in6
      pos:
        line_end: 96
        line_start: 90
        source_file: /src/libpcap/gencode.c
    - fields:
      - name: ai_flags
        type: int
      - name: ai_family
        type: int
      - name: ai_socktype
        type: int
      - name: ai_protocol
        type: int
      - name: ai_addrlen
        type: size_t
      - name: '*ai_canonname'
        type: char
      - name: '*ai_addr'
        type: struct sockaddr
      - name: '*ai_next'
        type: struct addrinfo
      item_type: struct
      name: addrinfo
      pos:
        line_end: 108
        line_start: 99
        source_file: /src/libpcap/gencode.c
    - fields:
      - name: is_variable
        type: int
      - name: constant_part
        type: u_int
      - name: reg
        type: int
      item_type: struct
      name: bpf_abs_offset
      pos:
        line_end: 388
        line_start: 384
        source_file: /src/libpcap/gencode.c
    - fields:
      - name: n_left
        type: size_t
      - name: '*m'
        type: void
      item_type: struct
      name: chunk
      pos:
        line_end: 422
        line_start: 419
        source_file: /src/libpcap/gencode.c
    - fields:
      - name: dummy
        type: char
      - name: u
        type: "union {\n\t\tchar c;\n\t\tstruct block b;\n\t\tstruct slist s;\n\t\tstruct
          arth a;\n\t}"
      item_type: struct
      name: chunk_align
      pos:
        line_end: 441
        line_start: 433
        source_file: /src/libpcap/gencode.c
    - fields:
      - name: top_ctx
        type: jmp_buf
      - name: '*bpf_pcap'
        type: pcap_t
      - name: error_set
        type: int
      - name: ic
        type: struct icode
      - name: snaplen
        type: int
      - name: linktype
        type: int
      - name: prevlinktype
        type: int
      - name: outermostlinktype
        type: int
      - name: netmask
        type: bpf_u_int32
      - name: no_optimize
        type: int
      - name: label_stack_depth
        type: u_int
      - name: vlan_stack_depth
        type: u_int
      - name: pcap_fddipad
        type: u_int
      - name: '*ai'
        type: struct addrinfo
      - name: off_linkhdr
        type: bpf_abs_offset
      - name: off_prevlinkhdr
        type: bpf_abs_offset
      - name: off_outermostlinkhdr
        type: bpf_abs_offset
      - name: off_linkpl
        type: bpf_abs_offset
      - name: off_linktype
        type: bpf_abs_offset
      - name: is_atm
        type: int
      - name: is_encap
        type: int
      - name: is_vlan_vloffset
        type: int
      - name: off_vpi
        type: u_int
      - name: off_vci
        type: u_int
      - name: off_proto
        type: u_int
      - name: off_li
        type: u_int
      - name: off_li_hsl
        type: u_int
      - name: off_sio
        type: u_int
      - name: off_opc
        type: u_int
      - name: off_dpc
        type: u_int
      - name: off_sls
        type: u_int
      - name: off_payload
        type: u_int
      - name: off_nl
        type: u_int
      - name: off_nl_nosnap
        type: u_int
      - name: regused[BPF_MEMWORDS]
        type: int
      - name: curreg
        type: int
      - name: chunks[NCHUNKS]
        type: struct chunk
      - name: cur_chunk
        type: unsigned
      item_type: struct
      name: _compiler_state
      pos:
        line_end: 619
        line_start: 446
        source_file: /src/libpcap/gencode.c
    typedefs:
    - item_type: typedef
      name: sa_family_t
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/libpcap/gencode.c
      type: unsigned short
    union: []
- function_names:
  - __atomic_load_n
  - __atomic_store_n
  - packet_mmap_acquire
  - packet_mmap_release
  - packet_mmap_v3_acquire
  - packet_mmap_v3_release
  - RING_GET_FRAME_AT
  - RING_GET_CURRENT_FRAME
  - VLAN_VALID
  - VLAN_VALID
  - VLAN_TPID
  - VLAN_TPID
  - pcapint_create_interface
  - get_mac80211_phydev
  - nl80211_init
  - nl80211_cleanup
  - if_type_cb
  - get_if_type
  - add_mon_if
  - del_mon_if
  - pcap_protocol
  - pcap_can_set_rfmon_linux
  - linux_get_stat
  - linux_if_drops
  - pcap_cleanup_linux
  - has_broken_tpacket_v3
  - set_poll_timeout
  - pcap_breakloop_linux
  - set_vlan_offset
  - pcap_activate_linux
  - pcap_set_datalink_linux
  - linux_check_direction
  - device_still_exists
  - pcap_inject_linux
  - pcap_stats_linux
  - can_be_bound
  - get_if_ioctl_socket
  - get_if_flags
  - pcapint_platform_finddevs
  - pcap_setdirection_linux
  - is_wifi
  - map_arphrd_to_dlt
  - setup_socket
  - setup_mmapped
  - init_tpacket
  - prepare_tpacket_socket
  - create_ring
  - destroy_ring
  - pcapint_oneshot_linux
  - pcap_getnonblock_linux
  - pcap_setnonblock_linux
  - pcap_get_ring_frame_status
  - pcap_wait_for_frames_mmap
  - pcap_handle_packet_mmap
  - pcap_read_linux_mmap_v2
  - pcap_read_linux_mmap_v3
  - pcap_setfilter_linux
  - iface_get_id
  - iface_bind
  - enter_rfmon_mode
  - iface_set_all_ts_types
  - iface_get_ts_types
  - iface_get_ts_types
  - iface_get_ts_types
  - iface_ethtool_flag_ioctl
  - iface_get_offload
  - iface_dsa_get_proto_info
  - iface_get_mtu
  - iface_get_arptype
  - fix_dlt_can_socketcan
  - fix_dlt_can_socketcan
  - fix_program
  - fix_offset
  - set_kernel_filter
  - reset_kernel_filter
  - pcap_set_protocol_linux
  - pcap_lib_version
  source_file: /src/libpcap/pcap-linux.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARPHRD_IEEE802154
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libpcap/pcap-linux.c
      type_or_value: '804'
    - item_type: preproc_def
      name: ARPHRD_IEEE802154_MONITOR
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/libpcap/pcap-linux.c
      type_or_value: '805'
    - item_type: preproc_def
      name: ARPHRD_NETLINK
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libpcap/pcap-linux.c
      type_or_value: '824'
    - item_type: preproc_def
      name: ARPHRD_6LOWPAN
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libpcap/pcap-linux.c
      type_or_value: '825'
    - item_type: preproc_def
      name: ARPHRD_VSOCKMON
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/libpcap/pcap-linux.c
      type_or_value: '826'
    - item_type: preproc_def
      name: ARPHRD_LAPD
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libpcap/pcap-linux.c
      type_or_value: '8445'
    - item_type: preproc_def
      name: MAX_LINKHEADER_SIZE
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/libpcap/pcap-linux.c
      type_or_value: '256'
    - item_type: preproc_def
      name: BIGGER_THAN_ALL_MTUS
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/libpcap/pcap-linux.c
      type_or_value: (64*1024)
    - item_type: preproc_def
      name: MUST_DELETE_MONIF
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/libpcap/pcap-linux.c
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: NUM_SOF_TIMESTAMPING_TYPES
      pos:
        line_end: 5099
        line_start: 5098
        source_file: /src/libpcap/pcap-linux.c
      type_or_value: (sizeof sof_ts_type_map / sizeof sof_ts_type_map[0])
    - item_type: preproc_def
      name: ADDITIONAL_INFO_STRING
      pos:
        line_end: 6245
        line_start: 6244
        source_file: /src/libpcap/pcap-linux.c
      type_or_value: '"with TPACKET_V3 and netmap"'
    - item_type: preproc_def
      name: ADDITIONAL_INFO_STRING
      pos:
        line_end: 6247
        line_start: 6246
        source_file: /src/libpcap/pcap-linux.c
      type_or_value: '"with TPACKET_V3"'
    - item_type: preproc_def
      name: ADDITIONAL_INFO_STRING
      pos:
        line_end: 6249
        line_start: 6248
        source_file: /src/libpcap/pcap-linux.c
      type_or_value: '"with TPACKET_V2 and netmap"'
    - item_type: preproc_def
      name: ADDITIONAL_INFO_STRING
      pos:
        line_end: 6251
        line_start: 6250
        source_file: /src/libpcap/pcap-linux.c
      type_or_value: '"with TPACKET_V2"'
    structs:
    - fields:
      - name: sysfs_dropped
        type: long long
      - name: stat
        type: struct pcap_stat
      - name: '*device'
        type: char
      - name: filter_in_userland
        type: int
      - name: blocks_to_filter_in_userland
        type: u_int
      - name: must_do_on_close
        type: int
      - name: timeout
        type: int
      - name: cooked
        type: int
      - name: ifindex
        type: int
      - name: lo_ifindex
        type: int
      - name: netdown
        type: int
      - name: oldmode
        type: bpf_u_int32
      - name: '*mondevice'
        type: char
      - name: '*mmapbuf'
        type: u_char
      - name: mmapbuflen
        type: size_t
      - name: vlan_offset
        type: int
      - name: tp_version
        type: u_int
      - name: tp_hdrlen
        type: u_int
      - name: '*oneshot_buffer'
        type: u_char
      - name: poll_timeout
        type: int
      - name: poll_breakloop_fd
        type: int
      item_type: struct
      name: pcap_linux
      pos:
        line_end: 243
        line_start: 216
        source_file: /src/libpcap/pcap-linux.c
    - fields:
      - name: '*nl_sock'
        type: struct nl_sock
      - name: '*nl_cache'
        type: struct nl_cache
      - name: '*nl80211'
        type: struct genl_family
      item_type: struct
      name: nl80211_state
      pos:
        line_end: 558
        line_start: 554
        source_file: /src/libpcap/pcap-linux.c
    - fields:
      - name: soft_timestamping_val
        type: int
      - name: pcap_tstamp_val
        type: int
      item_type: struct
      name: "sof_ts_type_map[3] = {\n\t{ SOF_TIMESTAMPING_SOFTWARE, PCAP_TSTAMP_HOST
        },\n\t{ SOF_TIMESTAMPING_SYS_HARDWARE, PCAP_TSTAMP_ADAPTER },\n\t{ SOF_TIMESTAMPING_RAW_HARDWARE,
        PCAP_TSTAMP_ADAPTER_UNSYNCED }\n}"
      pos:
        line_end: 5093
        line_start: 5090
        source_file: /src/libpcap/pcap-linux.c
    - fields:
      - name: '*name'
        type: char
      - name: linktype
        type: bpf_u_int32
      item_type: struct
      name: dsa_proto
      pos:
        line_end: 5465
        line_start: 5462
        source_file: /src/libpcap/pcap-linux.c
    typedefs:
    - item_type: typedef
      name: socklen_t
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/libpcap/pcap-linux.c
      type: int
    union:
    - fields:
      - name: '*h2'
        type: struct tpacket2_hdr
      - name: '*raw'
        type: u_char
      item_type: union
      name: thdr
      pos:
        line_end: 270
        line_start: 264
        source_file: /src/libpcap/pcap-linux.c
- function_names:
  - pcap_read_haiku
  - PCAP_WARN_UNUSED_RESULT::dgram_socket
  - PCAP_WARN_UNUSED_RESULT::ioctl_ifreq
  - PCAP_WARN_UNUSED_RESULT::get_promisc
  - set_promisc
  - pcap_cleanup_haiku
  - pcap_inject_haiku
  - pcap_stats_haiku
  - pcap_activate_haiku
  - PCAP_WARN_UNUSED_RESULT::validate_ifname
  - can_be_bound
  - pcapint_create_interface
  - get_if_flags
  - pcapint_platform_finddevs
  - pcap_lib_version
  source_file: /src/libpcap/pcap-haiku.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IFT_TUNNEL
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libpcap/pcap-haiku.c
      type_or_value: IFT_TUN
    structs:
    - fields:
      - name: stat
        type: struct pcap_stat
      - name: aux_socket
        type: int
      - name: ifreq
        type: struct ifreq
      - name: orig_promisc
        type: int
      item_type: struct
      name: pcap_haiku
      pos:
        line_end: 51
        line_start: 44
        source_file: /src/libpcap/pcap-haiku.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap-rpcap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - __cyg_profile_func_enter
  - __cyg_profile_func_exit
  - print_debug
  source_file: /src/libpcap/instrument-functions.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ND_NO_INSTRUMENT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libpcap/instrument-functions.c
      type_or_value: __attribute__((no_instrument_function))
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/ftmacros.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLC_IS_NR
  - LLC_I_NS
  source_file: /src/libpcap/llc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LLC_U_FMT
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/libpcap/llc.h
      type_or_value: '3'
    - item_type: preproc_def
      name: LLC_GSAP
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/libpcap/llc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LLC_IG
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/libpcap/llc.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: LLC_S_FMT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/libpcap/llc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LLC_U_POLL
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libpcap/llc.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: LLC_IS_POLL
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/libpcap/llc.h
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: LLC_XID_FI
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libpcap/llc.h
      type_or_value: '0x81'
    - item_type: preproc_def
      name: LLC_U_CMD_MASK
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libpcap/llc.h
      type_or_value: '0xef'
    - item_type: preproc_def
      name: LLC_UI
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libpcap/llc.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: LLC_UA
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libpcap/llc.h
      type_or_value: '0x63'
    - item_type: preproc_def
      name: LLC_DISC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libpcap/llc.h
      type_or_value: '0x43'
    - item_type: preproc_def
      name: LLC_DM
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libpcap/llc.h
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: LLC_SABME
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libpcap/llc.h
      type_or_value: '0x6f'
    - item_type: preproc_def
      name: LLC_TEST
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libpcap/llc.h
      type_or_value: '0xe3'
    - item_type: preproc_def
      name: LLC_XID
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libpcap/llc.h
      type_or_value: '0xaf'
    - item_type: preproc_def
      name: LLC_FRMR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libpcap/llc.h
      type_or_value: '0x87'
    - item_type: preproc_def
      name: LLC_S_CMD_MASK
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libpcap/llc.h
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: LLC_RR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libpcap/llc.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: LLC_RNR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libpcap/llc.h
      type_or_value: '0x0005'
    - item_type: preproc_def
      name: LLC_REJ
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libpcap/llc.h
      type_or_value: '0x0009'
    - item_type: preproc_def
      name: LLCSAP_NULL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/libpcap/llc.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: LLCSAP_GLOBAL
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libpcap/llc.h
      type_or_value: '0xff'
    - item_type: preproc_def
      name: LLCSAP_8021B_I
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libpcap/llc.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: LLCSAP_8021B_G
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libpcap/llc.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: LLCSAP_IP
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libpcap/llc.h
      type_or_value: '0x06'
    - item_type: preproc_def
      name: LLCSAP_PROWAYNM
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libpcap/llc.h
      type_or_value: '0x0e'
    - item_type: preproc_def
      name: LLCSAP_8021D
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libpcap/llc.h
      type_or_value: '0x42'
    - item_type: preproc_def
      name: LLCSAP_RS511
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libpcap/llc.h
      type_or_value: '0x4e'
    - item_type: preproc_def
      name: LLCSAP_ISO8208
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libpcap/llc.h
      type_or_value: '0x7e'
    - item_type: preproc_def
      name: LLCSAP_PROWAY
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libpcap/llc.h
      type_or_value: '0x8e'
    - item_type: preproc_def
      name: LLCSAP_SNAP
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libpcap/llc.h
      type_or_value: '0xaa'
    - item_type: preproc_def
      name: LLCSAP_IPX
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libpcap/llc.h
      type_or_value: '0xe0'
    - item_type: preproc_def
      name: LLCSAP_NETBEUI
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libpcap/llc.h
      type_or_value: '0xf0'
    - item_type: preproc_def
      name: LLCSAP_ISONS
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libpcap/llc.h
      type_or_value: '0xfe'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/ethertype.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ETHERTYPE_IP
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libpcap/ethertype.h
      type_or_value: "0x0800\t"
    - item_type: preproc_def
      name: ETHERTYPE_ARP
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libpcap/ethertype.h
      type_or_value: "0x0806\t"
    - item_type: preproc_def
      name: ETHERTYPE_NS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x0600'
    - item_type: preproc_def
      name: ETHERTYPE_MOPDL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x6001'
    - item_type: preproc_def
      name: ETHERTYPE_MOPRC
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x6002'
    - item_type: preproc_def
      name: ETHERTYPE_DN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x6003'
    - item_type: preproc_def
      name: ETHERTYPE_LAT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x6004'
    - item_type: preproc_def
      name: ETHERTYPE_SCA
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x6007'
    - item_type: preproc_def
      name: ETHERTYPE_TEB
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x6558'
    - item_type: preproc_def
      name: ETHERTYPE_REVARP
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libpcap/ethertype.h
      type_or_value: "0x8035\t"
    - item_type: preproc_def
      name: ETHERTYPE_ATALK
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x809b'
    - item_type: preproc_def
      name: ETHERTYPE_AARP
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x80f3'
    - item_type: preproc_def
      name: ETHERTYPE_8021Q
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x8100'
    - item_type: preproc_def
      name: ETHERTYPE_IPX
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x8137'
    - item_type: preproc_def
      name: ETHERTYPE_IPV6
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x86dd'
    - item_type: preproc_def
      name: ETHERTYPE_SLOW
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x8809'
    - item_type: preproc_def
      name: ETHERTYPE_MPLS
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x8847'
    - item_type: preproc_def
      name: ETHERTYPE_MPLS_MULTI
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x8848'
    - item_type: preproc_def
      name: ETHERTYPE_PPPOED
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x8863'
    - item_type: preproc_def
      name: ETHERTYPE_PPPOES
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x8864'
    - item_type: preproc_def
      name: ETHERTYPE_8021AD
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x88a8'
    - item_type: preproc_def
      name: ETHERTYPE_LLDP
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x88cc'
    - item_type: preproc_def
      name: ETHERTYPE_LOOPBACK
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x9000'
    - item_type: preproc_def
      name: ETHERTYPE_8021QINQ
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libpcap/ethertype.h
      type_or_value: '0x9100'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/nametoaddr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dbus_read
  - dbus_write
  - dbus_stats
  - dbus_cleanup
  - dbus_getnonblock
  - dbus_setnonblock
  - dbus_activate
  - dbus_create
  - dbus_findalldevs
  source_file: /src/libpcap/pcap-dbus.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAVESDROPPING_RULE
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/libpcap/pcap-dbus.c
      type_or_value: '"eavesdrop=true,"'
    - item_type: preproc_def
      name: N_RULES
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/libpcap/pcap-dbus.c
      type_or_value: sizeof(rules)/sizeof(rules[0])
    structs:
    - fields:
      - name: '*conn'
        type: DBusConnection
      - name: packets_read
        type: u_int
      item_type: struct
      name: pcap_dbus
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/libpcap/pcap-dbus.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap-bt-linux.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RPCAP_VERSION_IS_SUPPORTED
  - RPCAP_VERSION_IS_SUPPORTED
  source_file: /src/libpcap/rpcap-protocol.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RPCAP_DEFAULT_NETPORT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: '"2002" '
    - item_type: preproc_def
      name: RPCAP_DEFAULT_NETPORT_ACTIVE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: '"2003"'
    - item_type: preproc_def
      name: RPCAP_DEFAULT_NETADDR
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "\"\"\t"
    - item_type: preproc_def
      name: RPCAP_MIN_VERSION
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RPCAP_MAX_VERSION
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RPCAP_HOSTLIST_SEP
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: '" ,;\n\r"'
    - item_type: preproc_def
      name: RPCAP_BYTE_ORDER_MAGIC
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: 0xa1b2c3d4U
    - item_type: preproc_def
      name: RPCAP_BYTE_ORDER_MAGIC_SWAPPED
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: 0xd4c3b2a1U
    - item_type: preproc_def
      name: RPCAP_AF_INET
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: RPCAP_AF_INET6
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "23\t\t"
    - item_type: preproc_def
      name: RPCAP_MSG_IS_REPLY
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x080\t"
    - item_type: preproc_def
      name: RPCAP_MSG_ERROR
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: RPCAP_MSG_FINDALLIF_REQ
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: RPCAP_MSG_OPEN_REQ
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x03\t"
    - item_type: preproc_def
      name: RPCAP_MSG_STARTCAP_REQ
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x04\t"
    - item_type: preproc_def
      name: RPCAP_MSG_UPDATEFILTER_REQ
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x05\t"
    - item_type: preproc_def
      name: RPCAP_MSG_CLOSE
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x06\t"
    - item_type: preproc_def
      name: RPCAP_MSG_PACKET
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x07\t"
    - item_type: preproc_def
      name: RPCAP_MSG_AUTH_REQ
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x08\t"
    - item_type: preproc_def
      name: RPCAP_MSG_STATS_REQ
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x09\t"
    - item_type: preproc_def
      name: RPCAP_MSG_ENDCAP_REQ
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x0A\t"
    - item_type: preproc_def
      name: RPCAP_MSG_SETSAMPLING_REQ
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x0B\t"
    - item_type: preproc_def
      name: RPCAP_MSG_FINDALLIF_REPLY
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "(RPCAP_MSG_FINDALLIF_REQ | RPCAP_MSG_IS_REPLY)\t\t"
    - item_type: preproc_def
      name: RPCAP_MSG_OPEN_REPLY
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "(RPCAP_MSG_OPEN_REQ | RPCAP_MSG_IS_REPLY)\t\t"
    - item_type: preproc_def
      name: RPCAP_MSG_STARTCAP_REPLY
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "(RPCAP_MSG_STARTCAP_REQ | RPCAP_MSG_IS_REPLY)\t\t"
    - item_type: preproc_def
      name: RPCAP_MSG_UPDATEFILTER_REPLY
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "(RPCAP_MSG_UPDATEFILTER_REQ | RPCAP_MSG_IS_REPLY)\t"
    - item_type: preproc_def
      name: RPCAP_MSG_AUTH_REPLY
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "(RPCAP_MSG_AUTH_REQ | RPCAP_MSG_IS_REPLY)\t\t"
    - item_type: preproc_def
      name: RPCAP_MSG_STATS_REPLY
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "(RPCAP_MSG_STATS_REQ | RPCAP_MSG_IS_REPLY)\t\t"
    - item_type: preproc_def
      name: RPCAP_MSG_ENDCAP_REPLY
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "(RPCAP_MSG_ENDCAP_REQ | RPCAP_MSG_IS_REPLY)\t\t"
    - item_type: preproc_def
      name: RPCAP_MSG_SETSAMPLING_REPLY
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "(RPCAP_MSG_SETSAMPLING_REQ | RPCAP_MSG_IS_REPLY)\t\t"
    - item_type: preproc_def
      name: RPCAP_STARTCAPREQ_FLAG_PROMISC
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: RPCAP_STARTCAPREQ_FLAG_DGRAM
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x00000002\t"
    - item_type: preproc_def
      name: RPCAP_STARTCAPREQ_FLAG_SERVEROPEN
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x00000004\t"
    - item_type: preproc_def
      name: RPCAP_STARTCAPREQ_FLAG_INBOUND
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x00000008\t"
    - item_type: preproc_def
      name: RPCAP_STARTCAPREQ_FLAG_OUTBOUND
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "0x00000010\t"
    - item_type: preproc_def
      name: RPCAP_UPDATEFILTER_BPF
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "1\t\t\t"
    - item_type: preproc_def
      name: PCAP_ERR_NETW
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PCAP_ERR_INITTIMEOUT
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: PCAP_ERR_AUTH
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: PCAP_ERR_FINDALLIF
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: PCAP_ERR_NOREMOTEIF
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: PCAP_ERR_OPEN
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: PCAP_ERR_UPDATEFILTER
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: PCAP_ERR_GETSTATS
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: PCAP_ERR_READEX
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "9\t"
    - item_type: preproc_def
      name: PCAP_ERR_HOSTNOAUTH
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "10\t"
    - item_type: preproc_def
      name: PCAP_ERR_REMOTEACCEPT
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "11\t"
    - item_type: preproc_def
      name: PCAP_ERR_STARTCAPTURE
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "12\t"
    - item_type: preproc_def
      name: PCAP_ERR_ENDCAPTURE
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "13\t"
    - item_type: preproc_def
      name: PCAP_ERR_RUNTIMETIMEOUT
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "14\t"
    - item_type: preproc_def
      name: PCAP_ERR_SETSAMPLING
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "15\t"
    - item_type: preproc_def
      name: PCAP_ERR_WRONGMSG
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "16\t"
    - item_type: preproc_def
      name: PCAP_ERR_WRONGVER
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "17\t"
    - item_type: preproc_def
      name: PCAP_ERR_AUTH_FAILED
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "18\t"
    - item_type: preproc_def
      name: PCAP_ERR_TLS_REQUIRED
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "19\t"
    - item_type: preproc_def
      name: PCAP_ERR_AUTH_TYPE_NOTSUP
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: "20\t"
    - item_type: preproc_def
      name: RPCAP_NETBUF_SIZE
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/libpcap/rpcap-protocol.h
      type_or_value: '64000'
    structs:
    - fields:
      - name: ver
        type: uint8_t
      - name: type
        type: uint8_t
      - name: value
        type: uint16_t
      - name: plen
        type: uint32_t
      item_type: struct
      name: rpcap_header
      pos:
        line_end: 143
        line_start: 137
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: minvers
        type: uint8_t
      - name: maxvers
        type: uint8_t
      - name: pad[2]
        type: uint8_t
      - name: byte_order_magic
        type: uint32_t
      item_type: struct
      name: rpcap_authreply
      pos:
        line_end: 158
        line_start: 152
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: minvers
        type: uint8_t
      - name: maxvers
        type: uint8_t
      item_type: struct
      name: rpcap_authreply_old
      pos:
        line_end: 175
        line_start: 171
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: namelen
        type: uint16_t
      - name: desclen
        type: uint16_t
      - name: flags
        type: uint32_t
      - name: naddr
        type: uint16_t
      - name: dummy
        type: uint16_t
      item_type: struct
      name: rpcap_findalldevs_if
      pos:
        line_end: 185
        line_start: 178
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: family
        type: uint16_t
      - name: data[128-2]
        type: char
      item_type: struct
      name: rpcap_sockaddr
      pos:
        line_end: 233
        line_start: 229
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: family
        type: uint16_t
      - name: port
        type: uint16_t
      - name: addr
        type: uint32_t
      - name: zero[8]
        type: uint8_t
      item_type: struct
      name: rpcap_sockaddr_in
      pos:
        line_end: 245
        line_start: 239
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: family
        type: uint16_t
      - name: port
        type: uint16_t
      - name: flowinfo
        type: uint32_t
      - name: addr[16]
        type: uint8_t
      - name: scope_id
        type: uint32_t
      item_type: struct
      name: rpcap_sockaddr_in6
      pos:
        line_end: 258
        line_start: 251
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: addr
        type: struct rpcap_sockaddr
      - name: netmask
        type: struct rpcap_sockaddr
      - name: broadaddr
        type: struct rpcap_sockaddr
      - name: dstaddr
        type: struct rpcap_sockaddr
      item_type: struct
      name: rpcap_findalldevs_ifaddr
      pos:
        line_end: 267
        line_start: 261
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: linktype
        type: int32_t
      - name: tzoff
        type: int32_t
      item_type: struct
      name: rpcap_openreply
      pos:
        line_end: 278
        line_start: 274
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: snaplen
        type: uint32_t
      - name: read_timeout
        type: uint32_t
      - name: flags
        type: uint16_t
      - name: portdata
        type: uint16_t
      item_type: struct
      name: rpcap_startcapreq
      pos:
        line_end: 287
        line_start: 281
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: bufsize
        type: int32_t
      - name: portdata
        type: uint16_t
      - name: dummy
        type: uint16_t
      item_type: struct
      name: rpcap_startcapreply
      pos:
        line_end: 295
        line_start: 290
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: timestamp_sec
        type: uint32_t
      - name: timestamp_usec
        type: uint32_t
      - name: caplen
        type: uint32_t
      - name: len
        type: uint32_t
      - name: npkt
        type: uint32_t
      item_type: struct
      name: rpcap_pkthdr
      pos:
        line_end: 314
        line_start: 303
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: filtertype
        type: uint16_t
      - name: dummy
        type: uint16_t
      - name: nitems
        type: uint32_t
      item_type: struct
      name: rpcap_filter
      pos:
        line_end: 322
        line_start: 317
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: code
        type: uint16_t
      - name: jt
        type: uint8_t
      - name: jf
        type: uint8_t
      - name: k
        type: int32_t
      item_type: struct
      name: rpcap_filterbpf_insn
      pos:
        line_end: 331
        line_start: 325
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: type
        type: uint16_t
      - name: dummy
        type: uint16_t
      - name: slen1
        type: uint16_t
      - name: slen2
        type: uint16_t
      item_type: struct
      name: rpcap_auth
      pos:
        line_end: 340
        line_start: 334
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: ifrecv
        type: uint32_t
      - name: ifdrop
        type: uint32_t
      - name: krnldrop
        type: uint32_t
      - name: svrcapt
        type: uint32_t
      item_type: struct
      name: rpcap_stats
      pos:
        line_end: 349
        line_start: 343
        source_file: /src/libpcap/rpcap-protocol.h
    - fields:
      - name: method
        type: uint8_t
      - name: dummy1
        type: uint8_t
      - name: dummy2
        type: uint16_t
      - name: value
        type: uint32_t
      item_type: struct
      name: rpcap_sampling
      pos:
        line_end: 358
        line_start: 352
        source_file: /src/libpcap/rpcap-protocol.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap-rdmasniff.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libpcap/testprogs/versiontest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/testprogs/unix.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: stat
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: _stat
    - item_type: preproc_def
      name: fstat
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: _fstat
    - item_type: preproc_def
      name: open
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: _open
    - item_type: preproc_def
      name: O_RDONLY
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: _O_RDONLY
    - item_type: preproc_def
      name: O_WRONLY
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: _O_WRONLY
    - item_type: preproc_def
      name: O_RDWR
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: _O_RDWR
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: _O_BINARY
    - item_type: preproc_def
      name: O_CREAT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: _O_CREAT
    - item_type: preproc_def
      name: O_TRUNC
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: _O_TRUNC
    - item_type: preproc_def
      name: read
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: _read
    - item_type: preproc_def
      name: write
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: _write
    - item_type: preproc_def
      name: close
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: _close
    - item_type: preproc_def
      name: EX_OK
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '0'
    - item_type: preproc_def
      name: EX_USAGE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '64'
    - item_type: preproc_def
      name: EX_DATAERR
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '65'
    - item_type: preproc_def
      name: EX_NOINPUT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '66'
    - item_type: preproc_def
      name: EX_NOUSER
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '67'
    - item_type: preproc_def
      name: EX_NOHOST
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '68'
    - item_type: preproc_def
      name: EX_UNAVAILABLE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '69'
    - item_type: preproc_def
      name: EX_SOFTWARE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '70'
    - item_type: preproc_def
      name: EX_OSERR
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '71'
    - item_type: preproc_def
      name: EX_OSFILE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '72'
    - item_type: preproc_def
      name: EX_CANTCREAT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '73'
    - item_type: preproc_def
      name: EX_IOERR
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '74'
    - item_type: preproc_def
      name: EX_TEMPFAIL
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '75'
    - item_type: preproc_def
      name: EX_PROTOCOL
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '76'
    - item_type: preproc_def
      name: EX_NOPERM
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '77'
    - item_type: preproc_def
      name: EX_CONFIG
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libpcap/testprogs/unix.h
      type_or_value: '78'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sigint_handler
  - main
  - countme
  - usage
  - error
  - warning
  - copy_argv
  source_file: /src/libpcap/testprogs/capturetest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: B_OPTION
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libpcap/testprogs/capturetest.c
      type_or_value: '""'
    - item_type: preproc_def
      name: R_OPTION
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libpcap/testprogs/capturetest.c
      type_or_value: '""'
    - item_type: preproc_def
      name: S_OPTION
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libpcap/testprogs/capturetest.c
      type_or_value: '""'
    - item_type: preproc_def
      name: B_OPTION
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libpcap/testprogs/capturetest.c
      type_or_value: '"b"'
    - item_type: preproc_def
      name: R_OPTION
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libpcap/testprogs/capturetest.c
      type_or_value: '"r"'
    - item_type: preproc_def
      name: R_OPTION
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/libpcap/testprogs/capturetest.c
      type_or_value: '""'
    - item_type: preproc_def
      name: S_OPTION
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libpcap/testprogs/capturetest.c
      type_or_value: '"s"'
    - item_type: preproc_def
      name: COMMAND_OPTIONS
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/libpcap/testprogs/capturetest.c
      type_or_value: B_OPTION "i:mn" R_OPTION S_OPTION "t:"
    - item_type: preproc_def
      name: USAGE_OPTIONS
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/libpcap/testprogs/capturetest.c
      type_or_value: '"-" B_OPTION "mn" R_OPTION S_OPTION'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - error
  source_file: /src/libpcap/testprogs/can_set_rfmon_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_infile
  - error
  - warning
  - copy_argv
  - main
  - usage
  source_file: /src/libpcap/testprogs/valgrindtest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/libpcap/testprogs/valgrindtest.c
      type_or_value: '0'
    - item_type: preproc_def
      name: INSN_COUNT
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/libpcap/testprogs/valgrindtest.c
      type_or_value: '17'
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop_capture
  - stop_capture
  - parse_interface_number
  - find_interface_by_number
  - open_interface
  - main
  - usage
  - error
  - warning
  - copy_argv
  source_file: /src/libpcap/testprogs/writecaptest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COMMAND_OPTIONS
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/libpcap/testprogs/writecaptest.c
      type_or_value: '"DLi:s:w:y:"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - error
  - warning
  - usage
  - main
  source_file: /src/libpcap/testprogs/nonblocktest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cleanup
  - blank_comments
  - read_infile
  - read_stdin
  - error
  - warn
  - copy_argv
  - enumerate_bpf_image
  - main
  - usage
  source_file: /src/libpcap/testprogs/filtertest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXIMUM_SNAPLEN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libpcap/testprogs/filtertest.c
      type_or_value: '262144'
    - item_type: preproc_def
      name: MAX_STDIN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libpcap/testprogs/filtertest.c
      type_or_value: (64 * 1024)
    - item_type: preproc_def
      name: BPF_IMAGE_UNIMPL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libpcap/testprogs/filtertest.c
      type_or_value: '") unimp "'
    - item_type: preproc_def
      name: BPF_IMAGE_ARGV
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libpcap/testprogs/filtertest.c
      type_or_value: '"_enumerate_bpf_image"'
    - item_type: preproc_def
      name: BPF_IMAGE_FORMAT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libpcap/testprogs/filtertest.c
      type_or_value: '"%-50s; 0x%04x\n"'
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libpcap/testprogs/filtertest.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - error
  source_file: /src/libpcap/testprogs/reactivatetest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - win32_strerror
  - catch_sigusr1
  - sleep_secs
  - capture_thread_func
  - main
  - countme
  - usage
  - error
  - warning
  - copy_argv
  source_file: /src/libpcap/testprogs/threadsignaltest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THREAD_HANDLE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libpcap/testprogs/threadsignaltest.c
      type_or_value: HANDLE
    - item_type: preproc_def
      name: THREAD_FUNC_ARG_TYPE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libpcap/testprogs/threadsignaltest.c
      type_or_value: LPVOID
    - item_type: preproc_def
      name: THREAD_FUNC_RETURN_TYPE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libpcap/testprogs/threadsignaltest.c
      type_or_value: DWORD __stdcall
    - item_type: preproc_def
      name: THREAD_HANDLE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libpcap/testprogs/threadsignaltest.c
      type_or_value: pthread_t
    - item_type: preproc_def
      name: THREAD_FUNC_ARG_TYPE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libpcap/testprogs/threadsignaltest.c
      type_or_value: void *
    - item_type: preproc_def
      name: THREAD_FUNC_RETURN_TYPE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libpcap/testprogs/threadsignaltest.c
      type_or_value: void *
    - item_type: preproc_def
      name: ERRBUF_SIZE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libpcap/testprogs/threadsignaltest.c
      type_or_value: '1024'
    structs: []
    typedefs: []
    union: []
- function_names:
  - win32_strerror
  - getpass
  - main
  - ether_ntop
  - ifprint
  - iptos
  source_file: /src/libpcap/testprogs/findalldevstest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ETHER_ADDR_LEN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libpcap/testprogs/findalldevstest.c
      type_or_value: '6'
    - item_type: preproc_def
      name: ERRBUF_SIZE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libpcap/testprogs/findalldevstest.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: IPTOSBUFFERS
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/libpcap/testprogs/findalldevstest.c
      type_or_value: '12'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libpcap/testprogs/findalldevstest-perf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libpcap/testprogs/activatetest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CAPTURE_DEVICE
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/libpcap/testprogs/activatetest.c
      type_or_value: '"nosuchdevice"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - countme
  - usage
  - error
  - warning
  - copy_argv
  source_file: /src/libpcap/testprogs/selpolltest.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  - usage
  - error
  - warning
  source_file: /src/libpcap/testprogs/opentest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXIMUM_SNAPLEN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libpcap/testprogs/opentest.c
      type_or_value: '262144'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_pcap_nametoeproto
  - test_pcap_nametollc
  - valid_unsigned_long
  - test_pcapint_xdtoi
  - test_pcapint_atodn
  - test_pcapint_atoan
  - test_pcap_ether_aton
  - test_pcapint_parsesrcstr_ex
  - errcode
  - test_pcapint_get_decuint_endp
  - test_pcapint_get_decuint_noendp
  - usage_short
  - usage_long
  - main
  source_file: /src/libpcap/testprogs/translatetest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_FUNCS
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/libpcap/testprogs/translatetest.c
      type_or_value: (sizeof(testfunc) / sizeof(testfunc[0]))
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: null_ok
        type: u_char
      - name: (*runner)(const char *)
        type: int
      - name: '*arg_descr'
        type: char
      item_type: struct
      name: "testfunc[] = {\n\t{\"pcap_nametoeproto\", 0, test_pcap_nametoeproto,
        \"Ethernet protocol name\"},\n\t{\"pcap_nametollc\", 0, test_pcap_nametollc,
        \"LLC protocol name\"},\n\t{\"pcapint_xdtoi\", 0, test_pcapint_xdtoi, \"0..255\"},\n\t{\"pcapint_atodn\",
        0, test_pcapint_atodn, \"DECnet address\"},\n\t{\"pcapint_atoan\", 0, test_pcapint_atoan,
        \"ARCnet address\"},\n\t{\"pcap_ether_aton\", 0, test_pcap_ether_aton, \"MAC-48
        address\"},\n\t{\"pcapint_parsesrcstr_ex\", 1, test_pcapint_parsesrcstr_ex,
        \"source string\"},\n\t{\"pcapint_get_decuint/endp\", 1, test_pcapint_get_decuint_endp,
        \"unsigned integer\"},\n\t{\"pcapint_get_decuint/noendp\", 1, test_pcapint_get_decuint_noendp,
        \"unsigned integer\"},\n}"
      pos:
        line_end: 212
        line_start: 207
        source_file: /src/libpcap/testprogs/translatetest.c
    typedefs: []
    union: []
- function_names:
  - fuzz_openFile
  - rpcapd_log
  - LLVMFuzzerTestOneInput
  source_file: /src/libpcap/testprogs/fuzz/fuzz_rserver.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bufferToFile
  - fuzz_openFile
  - LLVMFuzzerTestOneInput
  source_file: /src/libpcap/testprogs/fuzz/fuzz_both.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_openFile
  - LLVMFuzzerTestOneInput
  source_file: /src/libpcap/testprogs/fuzz/fuzz_filter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libpcap/testprogs/fuzz/onefile.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bufferToFile
  - fuzz_openFile
  - LLVMFuzzerTestOneInput
  source_file: /src/libpcap/testprogs/fuzz/fuzz_pcap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_openFile
  - LLVMFuzzerTestOneInput
  source_file: /src/libpcap/testprogs/fuzz/fuzz_rclient.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libpcap/cmake/have_siocglifconf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap/bluetooth.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: direction
        type: uint32_t
      item_type: struct
      name: _pcap_bluetooth_h4_header
      pos:
        line_end: 44
        line_start: 42
        source_file: /src/libpcap/pcap/bluetooth.h
    - fields:
      - name: adapter_id
        type: uint16_t
      - name: opcode
        type: uint16_t
      item_type: struct
      name: _pcap_bluetooth_linux_monitor_header
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/libpcap/pcap/bluetooth.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap/sll.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SLL_HDR_LEN
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libpcap/pcap/sll.h
      type_or_value: "16\t\t"
    - item_type: preproc_def
      name: SLL_ADDRLEN
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libpcap/pcap/sll.h
      type_or_value: "8\t\t"
    - item_type: preproc_def
      name: SLL2_HDR_LEN
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libpcap/pcap/sll.h
      type_or_value: "20\t\t"
    - item_type: preproc_def
      name: LINUX_SLL_HOST
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libpcap/pcap/sll.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LINUX_SLL_BROADCAST
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/libpcap/pcap/sll.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LINUX_SLL_MULTICAST
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libpcap/pcap/sll.h
      type_or_value: '2'
    - item_type: preproc_def
      name: LINUX_SLL_OTHERHOST
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/libpcap/pcap/sll.h
      type_or_value: '3'
    - item_type: preproc_def
      name: LINUX_SLL_OUTGOING
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/libpcap/pcap/sll.h
      type_or_value: '4'
    - item_type: preproc_def
      name: LINUX_SLL_P_802_3
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/libpcap/pcap/sll.h
      type_or_value: "0x0001\t"
    - item_type: preproc_def
      name: LINUX_SLL_P_802_2
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/libpcap/pcap/sll.h
      type_or_value: "0x0004\t"
    - item_type: preproc_def
      name: LINUX_SLL_P_CAN
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libpcap/pcap/sll.h
      type_or_value: "0x000C\t"
    - item_type: preproc_def
      name: LINUX_SLL_P_CANFD
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/libpcap/pcap/sll.h
      type_or_value: "0x000D\t"
    - item_type: preproc_def
      name: LINUX_SLL_P_CANXL
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/libpcap/pcap/sll.h
      type_or_value: "0x000E\t"
    structs:
    - fields:
      - name: sll_pkttype
        type: uint16_t
      - name: sll_hatype
        type: uint16_t
      - name: sll_halen
        type: uint16_t
      - name: sll_addr[SLL_ADDRLEN]
        type: uint8_t
      - name: sll_protocol
        type: uint16_t
      item_type: struct
      name: sll_header
      pos:
        line_end: 86
        line_start: 80
        source_file: /src/libpcap/pcap/sll.h
    - fields:
      - name: sll2_protocol
        type: uint16_t
      - name: sll2_reserved_mbz
        type: uint16_t
      - name: sll2_if_index
        type: uint32_t
      - name: sll2_hatype
        type: uint16_t
      - name: sll2_pkttype
        type: uint8_t
      - name: sll2_halen
        type: uint8_t
      - name: sll2_addr[SLL_ADDRLEN]
        type: uint8_t
      item_type: struct
      name: sll2_header
      pos:
        line_end: 101
        line_start: 93
        source_file: /src/libpcap/pcap/sll.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap/namedb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCAP_ETHERS_FILE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/libpcap/pcap/namedb.h
      type_or_value: '"/boot/system/settings/network/ethers"'
    - item_type: preproc_def
      name: PCAP_ETHERS_FILE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/libpcap/pcap/namedb.h
      type_or_value: '"/etc/ethers"'
    - item_type: preproc_def
      name: PROTO_UNDEF
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/libpcap/pcap/namedb.h
      type_or_value: '-1'
    structs:
    - fields:
      - name: addr[6]
        type: u_char
      - name: name[122]
        type: char
      item_type: struct
      name: pcap_etherent
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/libpcap/pcap/namedb.h
    typedefs: []
    union: []
- function_names:
  - BPF_WORDALIGN
  - BPF_CLASS
  - BPF_SIZE
  - BPF_MODE
  - BPF_OP
  - BPF_SRC
  - BPF_RVAL
  - BPF_MISCOP
  - BPF_STMT
  - BPF_JUMP
  source_file: /src/libpcap/pcap/bpf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BPF_RELEASE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '199606'
    - item_type: preproc_def
      name: BPF_ALIGNMENT
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: sizeof(bpf_int32)
    - item_type: preproc_def
      name: BPF_ALIGNMENT
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: sizeof(long)
    - item_type: preproc_def
      name: BPF_LD
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_LDX
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: BPF_ST
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: BPF_STX
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: BPF_ALU
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: BPF_JMP
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x05'
    - item_type: preproc_def
      name: BPF_RET
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x06'
    - item_type: preproc_def
      name: BPF_MISC
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x07'
    - item_type: preproc_def
      name: BPF_W
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_H
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: BPF_B
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: BPF_IMM
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_ABS
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: BPF_IND
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: BPF_MEM
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x60'
    - item_type: preproc_def
      name: BPF_LEN
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: BPF_MSH
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0xa0'
    - item_type: preproc_def
      name: BPF_ADD
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_SUB
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: BPF_MUL
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: BPF_DIV
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x30'
    - item_type: preproc_def
      name: BPF_OR
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: BPF_AND
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x50'
    - item_type: preproc_def
      name: BPF_LSH
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x60'
    - item_type: preproc_def
      name: BPF_RSH
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x70'
    - item_type: preproc_def
      name: BPF_NEG
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: BPF_MOD
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x90'
    - item_type: preproc_def
      name: BPF_XOR
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0xa0'
    - item_type: preproc_def
      name: BPF_JA
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_JEQ
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: BPF_JGT
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: BPF_JGE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x30'
    - item_type: preproc_def
      name: BPF_JSET
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: BPF_K
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_X
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: BPF_A
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: BPF_TAX
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: BPF_TXA
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: BPF_MEMWORDS
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/libpcap/pcap/bpf.h
      type_or_value: '16'
    structs:
    - fields:
      - name: bf_len
        type: u_int
      - name: '*bf_insns'
        type: struct bpf_insn
      item_type: struct
      name: bpf_program
      pos:
        line_end: 113
        line_start: 110
        source_file: /src/libpcap/pcap/bpf.h
    - fields:
      - name: code
        type: u_short
      - name: jt
        type: u_char
      - name: jf
        type: u_char
      - name: k
        type: bpf_u_int32
      item_type: struct
      name: bpf_insn
      pos:
        line_end: 243
        line_start: 238
        source_file: /src/libpcap/pcap/bpf.h
    typedefs:
    - item_type: typedef
      name: bpf_int32
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/libpcap/pcap/bpf.h
      type: int
    - item_type: typedef
      name: bpf_u_int32
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/libpcap/pcap/bpf.h
      type: u_int
    union: []
- function_names: []
  source_file: /src/libpcap/pcap/dlt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DLT_LOW_MATCHING_MIN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DLT_NULL
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: DLT_EN10MB
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DLT_EN3MB
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DLT_AX25
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: DLT_PRONET
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DLT_CHAOS
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: DLT_IEEE802
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: DLT_ARCNET
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: DLT_SLIP
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: DLT_PPP
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "9\t"
    - item_type: preproc_def
      name: DLT_FDDI
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "10\t"
    - item_type: preproc_def
      name: DLT_LOW_MATCHING_MAX
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "DLT_FDDI\t"
    - item_type: preproc_def
      name: DLT_ATM_RFC1483
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "11\t"
    - item_type: preproc_def
      name: DLT_RAW
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "14\t"
    - item_type: preproc_def
      name: DLT_RAW
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "12\t"
    - item_type: preproc_def
      name: DLT_SLIP_BSDOS
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "13\t"
    - item_type: preproc_def
      name: DLT_PPP_BSDOS
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "14\t"
    - item_type: preproc_def
      name: DLT_SLIP_BSDOS
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "15\t"
    - item_type: preproc_def
      name: DLT_PPP_BSDOS
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "16\t"
    - item_type: preproc_def
      name: DLT_HIPPI
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "15\t"
    - item_type: preproc_def
      name: DLT_PFSYNC
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '18'
    - item_type: preproc_def
      name: DLT_ATM_CLIP
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "19\t"
    - item_type: preproc_def
      name: DLT_REDBACK_SMARTEDGE
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '32'
    - item_type: preproc_def
      name: DLT_PPP_SERIAL
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "50\t"
    - item_type: preproc_def
      name: DLT_PPP_ETHER
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "51\t"
    - item_type: preproc_def
      name: DLT_SYMANTEC_FIREWALL
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '99'
    - item_type: preproc_def
      name: DLT_HIGH_MATCHING_MIN
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '104'
    - item_type: preproc_def
      name: DLT_C_HDLC
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "104\t"
    - item_type: preproc_def
      name: DLT_CHDLC
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: DLT_C_HDLC
    - item_type: preproc_def
      name: DLT_IEEE802_11
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "105\t"
    - item_type: preproc_def
      name: DLT_FRELAY
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '107'
    - item_type: preproc_def
      name: DLT_LOOP
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '12'
    - item_type: preproc_def
      name: DLT_LOOP
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '108'
    - item_type: preproc_def
      name: DLT_ENC
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '13'
    - item_type: preproc_def
      name: DLT_ENC
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '109'
    - item_type: preproc_def
      name: DLT_HDLC
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "16\t"
    - item_type: preproc_def
      name: DLT_HDLC
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '112'
    - item_type: preproc_def
      name: DLT_LINUX_SLL
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '113'
    - item_type: preproc_def
      name: DLT_LTALK
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '114'
    - item_type: preproc_def
      name: DLT_ECONET
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '115'
    - item_type: preproc_def
      name: DLT_IPFILTER
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '116'
    - item_type: preproc_def
      name: DLT_PFLOG
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '117'
    - item_type: preproc_def
      name: DLT_CISCO_IOS
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '118'
    - item_type: preproc_def
      name: DLT_PRISM_HEADER
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '119'
    - item_type: preproc_def
      name: DLT_AIRONET_HEADER
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '120'
    - item_type: preproc_def
      name: DLT_PFSYNC
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '121'
    - item_type: preproc_def
      name: DLT_HHDLC
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '121'
    - item_type: preproc_def
      name: DLT_IP_OVER_FC
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '122'
    - item_type: preproc_def
      name: DLT_SUNATM
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "123\t"
    - item_type: preproc_def
      name: DLT_RIO
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '124     '
    - item_type: preproc_def
      name: DLT_PCI_EXP
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '125     '
    - item_type: preproc_def
      name: DLT_AURORA
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '126     '
    - item_type: preproc_def
      name: DLT_IEEE802_11_RADIO
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "127\t"
    - item_type: preproc_def
      name: DLT_TZSP
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '128     '
    - item_type: preproc_def
      name: DLT_ARCNET_LINUX
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "129\t"
    - item_type: preproc_def
      name: DLT_JUNIPER_MLPPP
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '130'
    - item_type: preproc_def
      name: DLT_JUNIPER_MLFR
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '131'
    - item_type: preproc_def
      name: DLT_JUNIPER_ES
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '132'
    - item_type: preproc_def
      name: DLT_JUNIPER_GGSN
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '133'
    - item_type: preproc_def
      name: DLT_JUNIPER_MFR
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '134'
    - item_type: preproc_def
      name: DLT_JUNIPER_ATM2
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '135'
    - item_type: preproc_def
      name: DLT_JUNIPER_SERVICES
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '136'
    - item_type: preproc_def
      name: DLT_JUNIPER_ATM1
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '137'
    - item_type: preproc_def
      name: DLT_APPLE_IP_OVER_IEEE1394
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '138'
    - item_type: preproc_def
      name: DLT_MTP2_WITH_PHDR
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "139\t"
    - item_type: preproc_def
      name: DLT_MTP2
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "140\t"
    - item_type: preproc_def
      name: DLT_MTP3
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "141\t"
    - item_type: preproc_def
      name: DLT_SCCP
      pos:
        line_end: 556
        line_start: 555
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "142\t"
    - item_type: preproc_def
      name: DLT_DOCSIS
      pos:
        line_end: 561
        line_start: 560
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '143'
    - item_type: preproc_def
      name: DLT_LINUX_IRDA
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '144'
    - item_type: preproc_def
      name: DLT_IBM_SP
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '145'
    - item_type: preproc_def
      name: DLT_IBM_SN
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '146'
    - item_type: preproc_def
      name: DLT_USER0
      pos:
        line_end: 611
        line_start: 610
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '147'
    - item_type: preproc_def
      name: DLT_USER1
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '148'
    - item_type: preproc_def
      name: DLT_USER2
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '149'
    - item_type: preproc_def
      name: DLT_USER3
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '150'
    - item_type: preproc_def
      name: DLT_USER4
      pos:
        line_end: 615
        line_start: 614
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '151'
    - item_type: preproc_def
      name: DLT_USER5
      pos:
        line_end: 616
        line_start: 615
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '152'
    - item_type: preproc_def
      name: DLT_USER6
      pos:
        line_end: 617
        line_start: 616
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '153'
    - item_type: preproc_def
      name: DLT_USER7
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '154'
    - item_type: preproc_def
      name: DLT_USER8
      pos:
        line_end: 619
        line_start: 618
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '155'
    - item_type: preproc_def
      name: DLT_USER9
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '156'
    - item_type: preproc_def
      name: DLT_USER10
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '157'
    - item_type: preproc_def
      name: DLT_USER11
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '158'
    - item_type: preproc_def
      name: DLT_USER12
      pos:
        line_end: 623
        line_start: 622
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '159'
    - item_type: preproc_def
      name: DLT_USER13
      pos:
        line_end: 624
        line_start: 623
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '160'
    - item_type: preproc_def
      name: DLT_USER14
      pos:
        line_end: 625
        line_start: 624
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '161'
    - item_type: preproc_def
      name: DLT_USER15
      pos:
        line_end: 626
        line_start: 625
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '162'
    - item_type: preproc_def
      name: DLT_IEEE802_11_RADIO_AVS
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "163\t"
    - item_type: preproc_def
      name: DLT_JUNIPER_MONITOR
      pos:
        line_end: 646
        line_start: 645
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '164'
    - item_type: preproc_def
      name: DLT_BACNET_MS_TP
      pos:
        line_end: 651
        line_start: 650
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '165'
    - item_type: preproc_def
      name: DLT_PPP_PPPD
      pos:
        line_end: 667
        line_start: 666
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '166'
    - item_type: preproc_def
      name: DLT_PPP_WITH_DIRECTION
      pos:
        line_end: 673
        line_start: 672
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: DLT_PPP_PPPD
    - item_type: preproc_def
      name: DLT_LINUX_PPP_WITHDIRECTION
      pos:
        line_end: 674
        line_start: 673
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: DLT_PPP_PPPD
    - item_type: preproc_def
      name: DLT_JUNIPER_PPPOE
      pos:
        line_end: 682
        line_start: 681
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '167'
    - item_type: preproc_def
      name: DLT_JUNIPER_PPPOE_ATM
      pos:
        line_end: 683
        line_start: 682
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '168'
    - item_type: preproc_def
      name: DLT_GPRS_LLC
      pos:
        line_end: 685
        line_start: 684
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "169\t"
    - item_type: preproc_def
      name: DLT_GPF_T
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "170\t"
    - item_type: preproc_def
      name: DLT_GPF_F
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "171\t"
    - item_type: preproc_def
      name: DLT_GCOM_T1E1
      pos:
        line_end: 693
        line_start: 692
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '172'
    - item_type: preproc_def
      name: DLT_GCOM_SERIAL
      pos:
        line_end: 694
        line_start: 693
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '173'
    - item_type: preproc_def
      name: DLT_JUNIPER_PIC_PEER
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '174'
    - item_type: preproc_def
      name: DLT_ERF_ETH
      pos:
        line_end: 709
        line_start: 708
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "175\t"
    - item_type: preproc_def
      name: DLT_ERF_POS
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "176\t"
    - item_type: preproc_def
      name: DLT_LINUX_LAPD
      pos:
        line_end: 718
        line_start: 717
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '177'
    - item_type: preproc_def
      name: DLT_JUNIPER_ETHER
      pos:
        line_end: 727
        line_start: 726
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '178'
    - item_type: preproc_def
      name: DLT_JUNIPER_PPP
      pos:
        line_end: 728
        line_start: 727
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '179'
    - item_type: preproc_def
      name: DLT_JUNIPER_FRELAY
      pos:
        line_end: 729
        line_start: 728
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '180'
    - item_type: preproc_def
      name: DLT_JUNIPER_CHDLC
      pos:
        line_end: 730
        line_start: 729
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '181'
    - item_type: preproc_def
      name: DLT_MFR
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '182'
    - item_type: preproc_def
      name: DLT_JUNIPER_VP
      pos:
        line_end: 743
        line_start: 742
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '183'
    - item_type: preproc_def
      name: DLT_A429
      pos:
        line_end: 752
        line_start: 751
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '184'
    - item_type: preproc_def
      name: DLT_A653_ICM
      pos:
        line_end: 759
        line_start: 758
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '185'
    - item_type: preproc_def
      name: DLT_USB_FREEBSD
      pos:
        line_end: 778
        line_start: 777
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '186'
    - item_type: preproc_def
      name: DLT_USB
      pos:
        line_end: 779
        line_start: 778
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '186'
    - item_type: preproc_def
      name: DLT_BLUETOOTH_HCI_H4
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '187'
    - item_type: preproc_def
      name: DLT_IEEE802_16_MAC_CPS
      pos:
        line_end: 791
        line_start: 790
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '188'
    - item_type: preproc_def
      name: DLT_USB_LINUX
      pos:
        line_end: 797
        line_start: 796
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '189'
    - item_type: preproc_def
      name: DLT_CAN20B
      pos:
        line_end: 806
        line_start: 805
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '190'
    - item_type: preproc_def
      name: DLT_IEEE802_15_4_LINUX
      pos:
        line_end: 812
        line_start: 811
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '191'
    - item_type: preproc_def
      name: DLT_PPI
      pos:
        line_end: 818
        line_start: 817
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '192'
    - item_type: preproc_def
      name: DLT_IEEE802_16_MAC_CPS_RADIO
      pos:
        line_end: 824
        line_start: 823
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '193'
    - item_type: preproc_def
      name: DLT_JUNIPER_ISM
      pos:
        line_end: 832
        line_start: 831
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '194'
    - item_type: preproc_def
      name: DLT_IEEE802_15_4_WITHFCS
      pos:
        line_end: 844
        line_start: 843
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '195'
    - item_type: preproc_def
      name: DLT_IEEE802_15_4
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: DLT_IEEE802_15_4_WITHFCS
    - item_type: preproc_def
      name: DLT_SITA
      pos:
        line_end: 851
        line_start: 850
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '196'
    - item_type: preproc_def
      name: DLT_ERF
      pos:
        line_end: 858
        line_start: 857
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '197'
    - item_type: preproc_def
      name: DLT_RAIF1
      pos:
        line_end: 865
        line_start: 864
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '198'
    - item_type: preproc_def
      name: DLT_IPMB_KONTRON
      pos:
        line_end: 881
        line_start: 880
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '199'
    - item_type: preproc_def
      name: DLT_JUNIPER_ST
      pos:
        line_end: 888
        line_start: 887
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '200'
    - item_type: preproc_def
      name: DLT_BLUETOOTH_HCI_H4_WITH_PHDR
      pos:
        line_end: 894
        line_start: 893
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '201'
    - item_type: preproc_def
      name: DLT_AX25_KISS
      pos:
        line_end: 903
        line_start: 902
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '202'
    - item_type: preproc_def
      name: DLT_LAPD
      pos:
        line_end: 910
        line_start: 909
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '203'
    - item_type: preproc_def
      name: DLT_PPP_WITH_DIR
      pos:
        line_end: 920
        line_start: 919
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '204'
    - item_type: preproc_def
      name: DLT_C_HDLC_WITH_DIR
      pos:
        line_end: 927
        line_start: 926
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '205'
    - item_type: preproc_def
      name: DLT_FRELAY_WITH_DIR
      pos:
        line_end: 935
        line_start: 934
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '206'
    - item_type: preproc_def
      name: DLT_LAPB_WITH_DIR
      pos:
        line_end: 943
        line_start: 942
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '207'
    - item_type: preproc_def
      name: DLT_I2C_LINUX
      pos:
        line_end: 954
        line_start: 953
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '209'
    - item_type: preproc_def
      name: DLT_IPMB_LINUX
      pos:
        line_end: 962
        line_start: 961
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '209'
    - item_type: preproc_def
      name: DLT_FLEXRAY
      pos:
        line_end: 968
        line_start: 967
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '210'
    - item_type: preproc_def
      name: DLT_MOST
      pos:
        line_end: 975
        line_start: 974
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '211'
    - item_type: preproc_def
      name: DLT_LIN
      pos:
        line_end: 982
        line_start: 981
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '212'
    - item_type: preproc_def
      name: DLT_X2E_SERIAL
      pos:
        line_end: 988
        line_start: 987
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '213'
    - item_type: preproc_def
      name: DLT_X2E_XORAYA
      pos:
        line_end: 994
        line_start: 993
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '214'
    - item_type: preproc_def
      name: DLT_IEEE802_15_4_NONASK_PHY
      pos:
        line_end: 1005
        line_start: 1004
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '215'
    - item_type: preproc_def
      name: DLT_LINUX_EVDEV
      pos:
        line_end: 1013
        line_start: 1012
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '216'
    - item_type: preproc_def
      name: DLT_GSMTAP_UM
      pos:
        line_end: 1020
        line_start: 1019
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '217'
    - item_type: preproc_def
      name: DLT_GSMTAP_ABIS
      pos:
        line_end: 1021
        line_start: 1020
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '218'
    - item_type: preproc_def
      name: DLT_MPLS
      pos:
        line_end: 1028
        line_start: 1027
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '219'
    - item_type: preproc_def
      name: DLT_USB_LINUX_MMAPPED
      pos:
        line_end: 1034
        line_start: 1033
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '220'
    - item_type: preproc_def
      name: DLT_DECT
      pos:
        line_end: 1040
        line_start: 1039
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '221'
    - item_type: preproc_def
      name: DLT_AOS
      pos:
        line_end: 1051
        line_start: 1050
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '222'
    - item_type: preproc_def
      name: DLT_WIHART
      pos:
        line_end: 1060
        line_start: 1059
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '223'
    - item_type: preproc_def
      name: DLT_FC_2
      pos:
        line_end: 1066
        line_start: 1065
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '224'
    - item_type: preproc_def
      name: DLT_FC_2_WITH_FRAME_DELIMS
      pos:
        line_end: 1080
        line_start: 1079
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '225'
    - item_type: preproc_def
      name: DLT_IPNET
      pos:
        line_end: 1128
        line_start: 1127
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '226'
    - item_type: preproc_def
      name: DLT_CAN_SOCKETCAN
      pos:
        line_end: 1139
        line_start: 1138
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '227'
    - item_type: preproc_def
      name: DLT_IPV4
      pos:
        line_end: 1145
        line_start: 1144
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '228'
    - item_type: preproc_def
      name: DLT_IPV6
      pos:
        line_end: 1146
        line_start: 1145
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '229'
    - item_type: preproc_def
      name: DLT_IEEE802_15_4_NOFCS
      pos:
        line_end: 1153
        line_start: 1152
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '230'
    - item_type: preproc_def
      name: DLT_DBUS
      pos:
        line_end: 1171
        line_start: 1170
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '231'
    - item_type: preproc_def
      name: DLT_JUNIPER_VS
      pos:
        line_end: 1177
        line_start: 1176
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '232'
    - item_type: preproc_def
      name: DLT_JUNIPER_SRX_E2E
      pos:
        line_end: 1178
        line_start: 1177
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '233'
    - item_type: preproc_def
      name: DLT_JUNIPER_FIBRECHANNEL
      pos:
        line_end: 1179
        line_start: 1178
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '234'
    - item_type: preproc_def
      name: DLT_DVB_CI
      pos:
        line_end: 1191
        line_start: 1190
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '235'
    - item_type: preproc_def
      name: DLT_MUX27010
      pos:
        line_end: 1198
        line_start: 1197
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '236'
    - item_type: preproc_def
      name: DLT_STANAG_5066_D_PDU
      pos:
        line_end: 1204
        line_start: 1203
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '237'
    - item_type: preproc_def
      name: DLT_JUNIPER_ATM_CEMIC
      pos:
        line_end: 1210
        line_start: 1209
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '238'
    - item_type: preproc_def
      name: DLT_NFLOG
      pos:
        line_end: 1218
        line_start: 1217
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '239'
    - item_type: preproc_def
      name: DLT_NETANALYZER
      pos:
        line_end: 1228
        line_start: 1227
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '240'
    - item_type: preproc_def
      name: DLT_NETANALYZER_TRANSPARENT
      pos:
        line_end: 1239
        line_start: 1238
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '241'
    - item_type: preproc_def
      name: DLT_IPOIB
      pos:
        line_end: 1246
        line_start: 1245
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '242'
    - item_type: preproc_def
      name: DLT_MPEG_2_TS
      pos:
        line_end: 1253
        line_start: 1252
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '243'
    - item_type: preproc_def
      name: DLT_NG40
      pos:
        line_end: 1261
        line_start: 1260
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '244'
    - item_type: preproc_def
      name: DLT_NFC_LLCP
      pos:
        line_end: 1271
        line_start: 1270
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '245'
    - item_type: preproc_def
      name: DLT_PFSYNC
      pos:
        line_end: 1281
        line_start: 1280
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '246'
    - item_type: preproc_def
      name: DLT_INFINIBAND
      pos:
        line_end: 1289
        line_start: 1288
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '247'
    - item_type: preproc_def
      name: DLT_SCTP
      pos:
        line_end: 1296
        line_start: 1295
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '248'
    - item_type: preproc_def
      name: DLT_USBPCAP
      pos:
        line_end: 1303
        line_start: 1302
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '249'
    - item_type: preproc_def
      name: DLT_RTAC_SERIAL
      pos:
        line_end: 1311
        line_start: 1310
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '250'
    - item_type: preproc_def
      name: DLT_BLUETOOTH_LE_LL
      pos:
        line_end: 1318
        line_start: 1317
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '251'
    - item_type: preproc_def
      name: DLT_WIRESHARK_UPPER_PDU
      pos:
        line_end: 1333
        line_start: 1332
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '252'
    - item_type: preproc_def
      name: DLT_NETLINK
      pos:
        line_end: 1338
        line_start: 1337
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '253'
    - item_type: preproc_def
      name: DLT_BLUETOOTH_LINUX_MONITOR
      pos:
        line_end: 1343
        line_start: 1342
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '254'
    - item_type: preproc_def
      name: DLT_BLUETOOTH_BREDR_BB
      pos:
        line_end: 1349
        line_start: 1348
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '255'
    - item_type: preproc_def
      name: DLT_BLUETOOTH_LE_LL_WITH_PHDR
      pos:
        line_end: 1354
        line_start: 1353
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '256'
    - item_type: preproc_def
      name: DLT_PROFIBUS_DL
      pos:
        line_end: 1359
        line_start: 1358
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '257'
    - item_type: preproc_def
      name: DLT_PKTAP
      pos:
        line_end: 1406
        line_start: 1405
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: DLT_USER2
    - item_type: preproc_def
      name: DLT_PKTAP
      pos:
        line_end: 1408
        line_start: 1407
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '258'
    - item_type: preproc_def
      name: DLT_EPON
      pos:
        line_end: 1416
        line_start: 1415
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '259'
    - item_type: preproc_def
      name: DLT_IPMI_HPM_2
      pos:
        line_end: 1422
        line_start: 1421
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '260'
    - item_type: preproc_def
      name: DLT_ZWAVE_R1_R2
      pos:
        line_end: 1427
        line_start: 1426
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '261'
    - item_type: preproc_def
      name: DLT_ZWAVE_R3
      pos:
        line_end: 1428
        line_start: 1427
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '262'
    - item_type: preproc_def
      name: DLT_WATTSTOPPER_DLM
      pos:
        line_end: 1434
        line_start: 1433
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '263'
    - item_type: preproc_def
      name: DLT_ISO_14443
      pos:
        line_end: 1439
        line_start: 1438
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '264'
    - item_type: preproc_def
      name: DLT_RDS
      pos:
        line_end: 1445
        line_start: 1444
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '265'
    - item_type: preproc_def
      name: DLT_USB_DARWIN
      pos:
        line_end: 1450
        line_start: 1449
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '266'
    - item_type: preproc_def
      name: DLT_OPENFLOW
      pos:
        line_end: 1455
        line_start: 1454
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '267'
    - item_type: preproc_def
      name: DLT_SDLC
      pos:
        line_end: 1460
        line_start: 1459
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '268'
    - item_type: preproc_def
      name: DLT_TI_LLN_SNIFFER
      pos:
        line_end: 1466
        line_start: 1465
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '269'
    - item_type: preproc_def
      name: DLT_LORATAP
      pos:
        line_end: 1472
        line_start: 1471
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '270'
    - item_type: preproc_def
      name: DLT_VSOCK
      pos:
        line_end: 1480
        line_start: 1479
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '271'
    - item_type: preproc_def
      name: DLT_NORDIC_BLE
      pos:
        line_end: 1485
        line_start: 1484
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '272'
    - item_type: preproc_def
      name: DLT_DOCSIS31_XRA31
      pos:
        line_end: 1492
        line_start: 1491
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '273'
    - item_type: preproc_def
      name: DLT_ETHERNET_MPACKET
      pos:
        line_end: 1498
        line_start: 1497
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '274'
    - item_type: preproc_def
      name: DLT_DISPLAYPORT_AUX
      pos:
        line_end: 1505
        line_start: 1504
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '275'
    - item_type: preproc_def
      name: DLT_LINUX_SLL2
      pos:
        line_end: 1510
        line_start: 1509
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '276'
    - item_type: preproc_def
      name: DLT_SERCOS_MONITOR
      pos:
        line_end: 1515
        line_start: 1514
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '277'
    - item_type: preproc_def
      name: DLT_OPENVIZSLA
      pos:
        line_end: 1526
        line_start: 1525
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '278'
    - item_type: preproc_def
      name: DLT_EBHSCR
      pos:
        line_end: 1538
        line_start: 1537
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '279'
    - item_type: preproc_def
      name: DLT_VPP_DISPATCH
      pos:
        line_end: 1545
        line_start: 1544
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '280'
    - item_type: preproc_def
      name: DLT_DSA_TAG_BRCM
      pos:
        line_end: 1550
        line_start: 1549
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '281'
    - item_type: preproc_def
      name: DLT_DSA_TAG_BRCM_PREPEND
      pos:
        line_end: 1551
        line_start: 1550
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '282'
    - item_type: preproc_def
      name: DLT_IEEE802_15_4_TAP
      pos:
        line_end: 1559
        line_start: 1558
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '283'
    - item_type: preproc_def
      name: DLT_DSA_TAG_DSA
      pos:
        line_end: 1564
        line_start: 1563
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '284'
    - item_type: preproc_def
      name: DLT_DSA_TAG_EDSA
      pos:
        line_end: 1565
        line_start: 1564
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '285'
    - item_type: preproc_def
      name: DLT_ELEE
      pos:
        line_end: 1572
        line_start: 1571
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '286'
    - item_type: preproc_def
      name: DLT_Z_WAVE_SERIAL
      pos:
        line_end: 1577
        line_start: 1576
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '287'
    - item_type: preproc_def
      name: DLT_USB_2_0
      pos:
        line_end: 1584
        line_start: 1583
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '288'
    - item_type: preproc_def
      name: DLT_ATSC_ALP
      pos:
        line_end: 1589
        line_start: 1588
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '289'
    - item_type: preproc_def
      name: DLT_ETW
      pos:
        line_end: 1594
        line_start: 1593
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '290'
    - item_type: preproc_def
      name: DLT_NETANALYZER_NG
      pos:
        line_end: 1605
        line_start: 1604
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '291'
    - item_type: preproc_def
      name: DLT_ZBOSS_NCP
      pos:
        line_end: 1615
        line_start: 1614
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '292'
    - item_type: preproc_def
      name: DLT_USB_2_0_LOW_SPEED
      pos:
        line_end: 1620
        line_start: 1619
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '293'
    - item_type: preproc_def
      name: DLT_USB_2_0_FULL_SPEED
      pos:
        line_end: 1621
        line_start: 1620
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '294'
    - item_type: preproc_def
      name: DLT_USB_2_0_HIGH_SPEED
      pos:
        line_end: 1622
        line_start: 1621
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '295'
    - item_type: preproc_def
      name: DLT_AUERSWALD_LOG
      pos:
        line_end: 1629
        line_start: 1628
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '296'
    - item_type: preproc_def
      name: DLT_ZWAVE_TAP
      pos:
        line_end: 1636
        line_start: 1635
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '297'
    - item_type: preproc_def
      name: DLT_SILABS_DEBUG_CHANNEL
      pos:
        line_end: 1641
        line_start: 1640
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '298'
    - item_type: preproc_def
      name: DLT_FIRA_UCI
      pos:
        line_end: 1647
        line_start: 1646
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '299'
    - item_type: preproc_def
      name: DLT_MDB
      pos:
        line_end: 1659
        line_start: 1658
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '300'
    - item_type: preproc_def
      name: DLT_DECT_NR
      pos:
        line_end: 1665
        line_start: 1664
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '301'
    - item_type: preproc_def
      name: DLT_EDK2_MM
      pos:
        line_end: 1674
        line_start: 1673
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '302'
    - item_type: preproc_def
      name: DLT_DEBUG_ONLY
      pos:
        line_end: 1689
        line_start: 1688
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '303'
    - item_type: preproc_def
      name: DLT_DECT_NR_TAP
      pos:
        line_end: 1698
        line_start: 1697
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: '304'
    - item_type: preproc_def
      name: DLT_HIGH_MATCHING_MAX
      pos:
        line_end: 1711
        line_start: 1710
        source_file: /src/libpcap/pcap/dlt.h
      type_or_value: "304\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcap_4_byte_aligned_uint64_val
  - pcap_4_byte_aligned_int64_val
  source_file: /src/libpcap/pcap/pcap-inttypes.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: halves[2]
        type: uint32_t
      item_type: struct
      name: pcap_4_byte_aligned_uint64
      pos:
        line_end: 106
        line_start: 104
        source_file: /src/libpcap/pcap/pcap-inttypes.h
    - fields:
      - name: halves[2]
        type: uint32_t
      item_type: struct
      name: pcap_4_byte_aligned_int64
      pos:
        line_end: 119
        line_start: 117
        source_file: /src/libpcap/pcap/pcap-inttypes.h
    typedefs:
    - item_type: typedef
      name: uint8_t
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/libpcap/pcap/pcap-inttypes.h
      type: unsigned char
    - item_type: typedef
      name: int8_t
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/libpcap/pcap/pcap-inttypes.h
      type: signed char
    - item_type: typedef
      name: uint16_t
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/libpcap/pcap/pcap-inttypes.h
      type: unsigned short
    - item_type: typedef
      name: int16_t
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/libpcap/pcap/pcap-inttypes.h
      type: signed short
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/libpcap/pcap/pcap-inttypes.h
      type: unsigned int
    - item_type: typedef
      name: int32_t
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/libpcap/pcap/pcap-inttypes.h
      type: signed int
    - item_type: typedef
      name: uint64_t
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/libpcap/pcap/pcap-inttypes.h
      type: unsigned _int64
    - item_type: typedef
      name: int64_t
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/libpcap/pcap/pcap-inttypes.h
      type: _int64
    - item_type: typedef
      name: uint64_t
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/libpcap/pcap/pcap-inttypes.h
      type: unsigned long long
    - item_type: typedef
      name: int64_t
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/libpcap/pcap/pcap-inttypes.h
      type: long long
    union: []
- function_names: []
  source_file: /src/libpcap/pcap/can_socketcan.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CANFD_BRS
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libpcap/pcap/can_socketcan.h
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: CANFD_ESI
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libpcap/pcap/can_socketcan.h
      type_or_value: '0x02 '
    - item_type: preproc_def
      name: CANFD_FDF
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libpcap/pcap/can_socketcan.h
      type_or_value: '0x04 '
    - item_type: preproc_def
      name: CANXL_SEC
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libpcap/pcap/can_socketcan.h
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: CANXL_RRS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libpcap/pcap/can_socketcan.h
      type_or_value: '0x02 '
    - item_type: preproc_def
      name: CANXL_XLF
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libpcap/pcap/can_socketcan.h
      type_or_value: '0x80 '
    structs:
    - fields:
      - name: can_id
        type: uint32_t
      - name: payload_length
        type: uint8_t
      - name: fd_flags
        type: uint8_t
      - name: reserved1
        type: uint8_t
      - name: reserved2
        type: uint8_t
      item_type: struct
      name: pcap_can_socketcan_hdr
      pos:
        line_end: 49
        line_start: 43
        source_file: /src/libpcap/pcap/can_socketcan.h
    - fields:
      - name: priority_vcid
        type: uint32_t
      - name: flags
        type: uint8_t
      - name: sdu_type
        type: uint8_t
      - name: payload_length
        type: uint16_t
      - name: acceptance_field
        type: uint32_t
      item_type: struct
      name: pcap_can_socketcan_xl_hdr
      pos:
        line_end: 71
        line_start: 65
        source_file: /src/libpcap/pcap/can_socketcan.h
    typedefs: []
    union: []
- function_names:
  - LT_LINKTYPE
  - LT_LINKTYPE_EXT
  - LT_RESERVED1
  - LT_FCS_LENGTH_PRESENT
  - LT_FCS_LENGTH
  - LT_FCS_DATALINK_EXT
  - pcap_fopen_offline_with_tstamp_precision
  - pcap_fopen_offline
  - pcap_dump_fopen
  source_file: /src/libpcap/pcap/pcap.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCAP_VERSION_MAJOR
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCAP_VERSION_MINOR
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PCAP_ERRBUF_SIZE
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '256'
    - item_type: preproc_def
      name: PCAP_IF_LOOPBACK
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: PCAP_IF_UP
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "0x00000002\t"
    - item_type: preproc_def
      name: PCAP_IF_RUNNING
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "0x00000004\t"
    - item_type: preproc_def
      name: PCAP_IF_WIRELESS
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "0x00000008\t"
    - item_type: preproc_def
      name: PCAP_IF_CONNECTION_STATUS
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "0x00000030\t"
    - item_type: preproc_def
      name: PCAP_IF_CONNECTION_STATUS_UNKNOWN
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "0x00000000\t"
    - item_type: preproc_def
      name: PCAP_IF_CONNECTION_STATUS_CONNECTED
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "0x00000010\t"
    - item_type: preproc_def
      name: PCAP_IF_CONNECTION_STATUS_DISCONNECTED
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "0x00000020\t"
    - item_type: preproc_def
      name: PCAP_IF_CONNECTION_STATUS_NOT_APPLICABLE
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "0x00000030\t"
    - item_type: preproc_def
      name: PCAP_ERROR
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "-1\t"
    - item_type: preproc_def
      name: PCAP_ERROR_BREAK
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "-2\t"
    - item_type: preproc_def
      name: PCAP_ERROR_NOT_ACTIVATED
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "-3\t"
    - item_type: preproc_def
      name: PCAP_ERROR_ACTIVATED
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "-4\t"
    - item_type: preproc_def
      name: PCAP_ERROR_NO_SUCH_DEVICE
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "-5\t"
    - item_type: preproc_def
      name: PCAP_ERROR_RFMON_NOTSUP
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "-6\t"
    - item_type: preproc_def
      name: PCAP_ERROR_NOT_RFMON
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "-7\t"
    - item_type: preproc_def
      name: PCAP_ERROR_PERM_DENIED
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "-8\t"
    - item_type: preproc_def
      name: PCAP_ERROR_IFACE_NOT_UP
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "-9\t"
    - item_type: preproc_def
      name: PCAP_ERROR_CANTSET_TSTAMP_TYPE
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "-10\t"
    - item_type: preproc_def
      name: PCAP_ERROR_PROMISC_PERM_DENIED
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "-11\t"
    - item_type: preproc_def
      name: PCAP_ERROR_TSTAMP_PRECISION_NOTSUP
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '-12  '
    - item_type: preproc_def
      name: PCAP_ERROR_CAPTURE_NOTSUP
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "-13\t"
    - item_type: preproc_def
      name: PCAP_WARNING
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PCAP_WARNING_PROMISC_NOTSUP
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: PCAP_WARNING_TSTAMP_TYPE_NOTSUP
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: PCAP_NETMASK_UNKNOWN
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: PCAP_CHAR_ENC_LOCAL
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "0x00000000U\t"
    - item_type: preproc_def
      name: PCAP_CHAR_ENC_UTF_8
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "0x00000001U\t"
    - item_type: preproc_def
      name: PCAP_MMAP_32BIT
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "0x00000002U\t"
    - item_type: preproc_def
      name: PCAP_TSTAMP_HOST
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: PCAP_TSTAMP_HOST_LOWPREC
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PCAP_TSTAMP_HOST_HIPREC
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: PCAP_TSTAMP_ADAPTER
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: PCAP_TSTAMP_ADAPTER_UNSYNCED
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: PCAP_TSTAMP_HOST_HIPREC_UNSYNCED
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: PCAP_TSTAMP_PRECISION_MICRO
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: PCAP_TSTAMP_PRECISION_NANO
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MODE_CAPT
      pos:
        line_end: 872
        line_start: 871
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MODE_STAT
      pos:
        line_end: 873
        line_start: 872
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MODE_MON
      pos:
        line_end: 874
        line_start: 873
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCAP_BUF_SIZE
      pos:
        line_end: 925
        line_start: 924
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: PCAP_SRC_FILE
      pos:
        line_end: 930
        line_start: 929
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: PCAP_SRC_IFLOCAL
      pos:
        line_end: 931
        line_start: 930
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: PCAP_SRC_IFREMOTE
      pos:
        line_end: 932
        line_start: 931
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: PCAP_SRC_FILE_STRING
      pos:
        line_end: 982
        line_start: 981
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '"file://"'
    - item_type: preproc_def
      name: PCAP_SRC_IF_STRING
      pos:
        line_end: 989
        line_start: 988
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '"rpcap://"'
    - item_type: preproc_def
      name: PCAP_OPENFLAG_PROMISCUOUS
      pos:
        line_end: 998
        line_start: 997
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: PCAP_OPENFLAG_DATATX_UDP
      pos:
        line_end: 1012
        line_start: 1011
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: PCAP_OPENFLAG_NOCAPTURE_RPCAP
      pos:
        line_end: 1026
        line_start: 1025
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: PCAP_OPENFLAG_NOCAPTURE_LOCAL
      pos:
        line_end: 1037
        line_start: 1036
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: PCAP_OPENFLAG_MAX_RESPONSIVENESS
      pos:
        line_end: 1053
        line_start: 1052
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '0x00000010'
    - item_type: preproc_def
      name: RPCAP_RMTAUTH_NULL
      pos:
        line_end: 1067
        line_start: 1066
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RPCAP_RMTAUTH_PWD
      pos:
        line_end: 1082
        line_start: 1081
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCAP_SAMP_NOSAMP
      pos:
        line_end: 1197
        line_start: 1196
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PCAP_SAMP_1_EVERY_N
      pos:
        line_end: 1208
        line_start: 1207
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCAP_SAMP_FIRST_AFTER_N_MS
      pos:
        line_end: 1219
        line_start: 1218
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RPCAP_HOSTLIST_SIZE
      pos:
        line_end: 1258
        line_start: 1257
        source_file: /src/libpcap/pcap/pcap.h
      type_or_value: '1024'
    structs:
    - fields:
      - name: magic
        type: bpf_u_int32
      - name: version_major
        type: u_short
      - name: version_minor
        type: u_short
      - name: thiszone
        type: bpf_int32
      - name: sigfigs
        type: bpf_u_int32
      - name: snaplen
        type: bpf_u_int32
      - name: linktype
        type: bpf_u_int32
      item_type: struct
      name: pcap_file_header
      pos:
        line_end: 211
        line_start: 203
        source_file: /src/libpcap/pcap/pcap.h
    - fields:
      - name: ts
        type: struct timeval
      - name: caplen
        type: bpf_u_int32
      - name: len
        type: bpf_u_int32
      item_type: struct
      name: pcap_pkthdr
      pos:
        line_end: 302
        line_start: 298
        source_file: /src/libpcap/pcap/pcap.h
    - fields:
      - name: ps_recv
        type: u_int
      - name: ps_drop
        type: u_int
      - name: ps_ifdrop
        type: u_int
      item_type: struct
      name: pcap_stat
      pos:
        line_end: 316
        line_start: 307
        source_file: /src/libpcap/pcap/pcap.h
    - fields:
      - name: '*next'
        type: struct pcap_if
      - name: '*name'
        type: char
      - name: '*description'
        type: char
      - name: '*addresses'
        type: struct pcap_addr
      - name: flags
        type: bpf_u_int32
      item_type: struct
      name: pcap_if
      pos:
        line_end: 327
        line_start: 321
        source_file: /src/libpcap/pcap/pcap.h
    - fields:
      - name: '*next'
        type: struct pcap_addr
      - name: '*addr'
        type: struct sockaddr
      - name: '*netmask'
        type: struct sockaddr
      - name: '*broadaddr'
        type: struct sockaddr
      - name: '*dstaddr'
        type: struct sockaddr
      item_type: struct
      name: pcap_addr
      pos:
        line_end: 348
        line_start: 342
        source_file: /src/libpcap/pcap/pcap.h
    - fields:
      - name: maxlen
        type: u_int
      - name: len
        type: u_int
      - name: '*buffer'
        type: char
      item_type: struct
      name: pcap_send_queue
      pos:
        line_end: 822
        line_start: 816
        source_file: /src/libpcap/pcap/pcap.h
    - fields:
      - name: type
        type: int
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      item_type: struct
      name: pcap_rmtauth
      pos:
        line_end: 1123
        line_start: 1096
        source_file: /src/libpcap/pcap/pcap.h
    - fields:
      - name: method
        type: int
      - name: value
        type: int
      item_type: struct
      name: pcap_samp
      pos:
        line_end: 1244
        line_start: 1232
        source_file: /src/libpcap/pcap/pcap.h
    typedefs:
    - item_type: typedef
      name: bpf_int32
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/libpcap/pcap/pcap.h
      type: int
    - item_type: typedef
      name: bpf_u_int32
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/libpcap/pcap/pcap.h
      type: u_int
    - item_type: typedef
      name: pcap_t
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/libpcap/pcap/pcap.h
      type: pcap
    - item_type: typedef
      name: pcap_dumper_t
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/libpcap/pcap/pcap.h
      type: pcap_dumper
    - item_type: typedef
      name: pcap_if_t
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/libpcap/pcap/pcap.h
      type: pcap_if
    - item_type: typedef
      name: pcap_addr_t
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/libpcap/pcap/pcap.h
      type: pcap_addr
    - item_type: typedef
      name: "(*pcap_handler)(u_char *, const struct pcap_pkthdr *,\n\t\t\t     const
        u_char *)"
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/libpcap/pcap/pcap.h
      type: void
    - item_type: typedef
      name: pcap_send_queue
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/libpcap/pcap/pcap.h
      type: pcap_send_queue
    - item_type: typedef
      name: '* PAirpcapHandle'
      pos:
        line_end: 831
        line_start: 831
        source_file: /src/libpcap/pcap/pcap.h
      type: _AirpcapHandle
    union: []
- function_names:
  - __has_attribute
  - PCAP_IS_AT_LEAST_GNUC_VERSION
  - PCAP_IS_AT_LEAST_GNUC_VERSION
  - PCAP_IS_AT_LEAST_CLANG_VERSION
  - PCAP_IS_AT_LEAST_CLANG_VERSION
  - PCAP_IS_AT_LEAST_SUNC_VERSION
  - PCAP_SUNPRO_VERSION_TO_BCD
  - PCAP_IS_AT_LEAST_SUNC_VERSION
  - PCAP_IS_AT_LEAST_XL_C_VERSION
  - PCAP_IS_AT_LEAST_XL_C_VERSION
  - PCAP_IS_AT_LEAST_XL_C_VERSION
  - PCAP_IS_AT_LEAST_HP_C_CXX_VERSION
  - PCAP_IS_AT_LEAST_HP_C_CXX_VERSION
  - PCAP_IS_AT_LEAST_HP_C_CXX_VERSION
  source_file: /src/libpcap/pcap/compiler-tests.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap/usb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: URB_TRANSFER_IN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libpcap/pcap/usb.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: URB_ISOCHRONOUS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libpcap/pcap/usb.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: URB_INTERRUPT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libpcap/pcap/usb.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: URB_CONTROL
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libpcap/pcap/usb.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: URB_BULK
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libpcap/pcap/usb.h
      type_or_value: '0x3'
    - item_type: preproc_def
      name: URB_SUBMIT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libpcap/pcap/usb.h
      type_or_value: '''S'''
    - item_type: preproc_def
      name: URB_COMPLETE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libpcap/pcap/usb.h
      type_or_value: '''C'''
    - item_type: preproc_def
      name: URB_ERROR
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libpcap/pcap/usb.h
      type_or_value: '''E'''
    - item_type: preproc_def
      name: USB_MAXDESC
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/libpcap/pcap/usb.h
      type_or_value: '128'
    structs:
    - fields:
      - name: bmRequestType
        type: uint8_t
      - name: bRequest
        type: uint8_t
      - name: wValue
        type: uint16_t
      - name: wIndex
        type: uint16_t
      - name: wLength
        type: uint16_t
      item_type: struct
      name: _usb_setup
      pos:
        line_end: 64
        line_start: 58
        source_file: /src/libpcap/pcap/usb.h
    - fields:
      - name: error_count
        type: int32_t
      - name: numdesc
        type: int32_t
      item_type: struct
      name: _iso_rec
      pos:
        line_end: 72
        line_start: 69
        source_file: /src/libpcap/pcap/usb.h
    - fields:
      - name: id
        type: pcap_4_byte_aligned_uint64
      - name: event_type
        type: uint8_t
      - name: transfer_type
        type: uint8_t
      - name: endpoint_number
        type: uint8_t
      - name: device_address
        type: uint8_t
      - name: bus_id
        type: uint16_t
      - name: setup_flag
        type: char
      - name: data_flag
        type: char
      - name: ts_sec
        type: pcap_4_byte_aligned_int64
      - name: ts_usec
        type: int32_t
      - name: status
        type: int32_t
      - name: urb_len
        type: uint32_t
      - name: data_len
        type: uint32_t
      - name: setup
        type: pcap_usb_setup
      item_type: struct
      name: _usb_header
      pos:
        line_end: 93
        line_start: 78
        source_file: /src/libpcap/pcap/usb.h
    - fields:
      - name: id
        type: pcap_4_byte_aligned_uint64
      - name: event_type
        type: uint8_t
      - name: transfer_type
        type: uint8_t
      - name: endpoint_number
        type: uint8_t
      - name: device_address
        type: uint8_t
      - name: bus_id
        type: uint16_t
      - name: setup_flag
        type: char
      - name: data_flag
        type: char
      - name: ts_sec
        type: pcap_4_byte_aligned_int64
      - name: ts_usec
        type: int32_t
      - name: status
        type: int32_t
      - name: urb_len
        type: uint32_t
      - name: data_len
        type: uint32_t
      - name: s
        type: "union {\n\t\tpcap_usb_setup setup;\n\t\tiso_rec iso;\n\t}"
      - name: interval
        type: int32_t
      - name: start_frame
        type: int32_t
      - name: xfer_flags
        type: uint32_t
      - name: ndesc
        type: uint32_t
      item_type: struct
      name: _usb_header_mmapped
      pos:
        line_end: 125
        line_start: 103
        source_file: /src/libpcap/pcap/usb.h
    - fields:
      - name: status
        type: int32_t
      - name: offset
        type: uint32_t
      - name: len
        type: uint32_t
      - name: pad[4]
        type: uint8_t
      item_type: struct
      name: _usb_isodesc
      pos:
        line_end: 146
        line_start: 141
        source_file: /src/libpcap/pcap/usb.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap/nflog.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NFULA_PACKET_HDR
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: NFULA_MARK
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: NFULA_TIMESTAMP
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: NFULA_IFINDEX_INDEV
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: NFULA_IFINDEX_OUTDEV
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: NFULA_IFINDEX_PHYSINDEV
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: NFULA_IFINDEX_PHYSOUTDEV
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: NFULA_HWADDR
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: NFULA_PAYLOAD
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "9\t"
    - item_type: preproc_def
      name: NFULA_PREFIX
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "10\t"
    - item_type: preproc_def
      name: NFULA_UID
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "11\t"
    - item_type: preproc_def
      name: NFULA_SEQ
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "12\t"
    - item_type: preproc_def
      name: NFULA_SEQ_GLOBAL
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "13\t"
    - item_type: preproc_def
      name: NFULA_GID
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "14\t"
    - item_type: preproc_def
      name: NFULA_HWTYPE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "15\t"
    - item_type: preproc_def
      name: NFULA_HWHEADER
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "16\t"
    - item_type: preproc_def
      name: NFULA_HWLEN
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/libpcap/pcap/nflog.h
      type_or_value: "17\t"
    structs:
    - fields:
      - name: nflog_family
        type: uint8_t
      - name: nflog_version
        type: uint8_t
      - name: nflog_rid
        type: uint16_t
      item_type: struct
      name: nflog_hdr
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/libpcap/pcap/nflog.h
    - fields:
      - name: tlv_length
        type: uint16_t
      - name: tlv_type
        type: uint16_t
      item_type: struct
      name: nflog_tlv
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/libpcap/pcap/nflog.h
    - fields:
      - name: hw_protocol
        type: uint16_t
      - name: hook
        type: uint8_t
      - name: pad
        type: uint8_t
      item_type: struct
      name: nflog_packet_hdr
      pos:
        line_end: 59
        line_start: 55
        source_file: /src/libpcap/pcap/nflog.h
    - fields:
      - name: hw_addrlen
        type: uint16_t
      - name: pad
        type: uint16_t
      - name: hw_addr[8]
        type: uint8_t
      item_type: struct
      name: nflog_hwaddr
      pos:
        line_end: 65
        line_start: 61
        source_file: /src/libpcap/pcap/nflog.h
    - fields:
      - name: sec
        type: uint64_t
      - name: usec
        type: uint64_t
      item_type: struct
      name: nflog_timestamp
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/libpcap/pcap/nflog.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap/vlan.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VLAN_TAG_LEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libpcap/pcap/vlan.h
      type_or_value: '4'
    structs:
    - fields:
      - name: vlan_tpid
        type: uint16_t
      - name: vlan_tci
        type: uint16_t
      item_type: struct
      name: vlan_tag
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/libpcap/pcap/vlan.h
    typedefs: []
    union: []
- function_names:
  - PCAP_PRINTFLIKE
  - PCAP_NONNULL
  - PCAP_DEPRECATED
  - PCAP_DEPRECATED
  - PCAP_DEPRECATED
  - PCAP_FORMAT_STRING
  - PCAP_FORMAT_STRING
  source_file: /src/libpcap/pcap/funcattrs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCAP_API_DEF
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: PCAP_API_DEF
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: PCAP_API_DEF
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: __attribute__((visibility("default")))
    - item_type: preproc_def
      name: PCAP_API_DEF
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: __global
    - item_type: preproc_def
      name: PCAP_API
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_DEF extern
    - item_type: preproc_def
      name: PCAP_AVAILABLE_0_4
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(10.0))
    - item_type: preproc_def
      name: PCAP_AVAILABLE_0_5
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(10.0))
    - item_type: preproc_def
      name: PCAP_AVAILABLE_0_6
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(10.1))
    - item_type: preproc_def
      name: PCAP_AVAILABLE_0_7
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(10.4))
    - item_type: preproc_def
      name: PCAP_AVAILABLE_0_8
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(10.4))
    - item_type: preproc_def
      name: PCAP_AVAILABLE_0_9
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(10.5))
    - item_type: preproc_def
      name: PCAP_AVAILABLE_1_0
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(10.6))
    - item_type: preproc_def
      name: PCAP_AVAILABLE_1_2
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(10.9))
    - item_type: preproc_def
      name: PCAP_AVAILABLE_1_5
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(10.10))
    - item_type: preproc_def
      name: PCAP_AVAILABLE_1_7
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(10.12))
    - item_type: preproc_def
      name: PCAP_AVAILABLE_1_8
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(10.13))
    - item_type: preproc_def
      name: PCAP_AVAILABLE_1_9
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(10.13))
    - item_type: preproc_def
      name: PCAP_AVAILABLE_1_9_REMOTE
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(14.0))
    - item_type: preproc_def
      name: PCAP_AVAILABLE_1_10
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(12.1))
    - item_type: preproc_def
      name: PCAP_AVAILABLE_1_10_REMOTE
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: PCAP_API_AVAILABLE(macos(14.0))
    - item_type: preproc_def
      name: PCAP_NORETURN
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: __attribute((noreturn))
    - item_type: preproc_def
      name: PCAP_NORETURN_DEF
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: __attribute((noreturn))
    - item_type: preproc_def
      name: PCAP_NORETURN
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: __declspec(noreturn)
    - item_type: preproc_def
      name: PCAP_WARN_UNUSED_RESULT
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/libpcap/pcap/funcattrs.h
      type_or_value: __attribute__((warn_unused_result))
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/pcap/socket.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCAP_SOCKET
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/libpcap/pcap/socket.h
      type_or_value: SOCKET
    - item_type: preproc_def
      name: PCAP_SOCKET
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/libpcap/pcap/socket.h
      type_or_value: int
    - item_type: preproc_def
      name: INVALID_SOCKET
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/libpcap/pcap/socket.h
      type_or_value: '-1'
    structs: []
    typedefs:
    - item_type: typedef
      name: suseconds_t
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/libpcap/pcap/socket.h
      type: long
    union: []
- function_names: []
  source_file: /src/libpcap/pcap/ipnet.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPH_AF_INET
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libpcap/pcap/ipnet.h
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: IPH_AF_INET6
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libpcap/pcap/ipnet.h
      type_or_value: "26\t\t"
    - item_type: preproc_def
      name: IPNET_OUTBOUND
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libpcap/pcap/ipnet.h
      type_or_value: '1'
    - item_type: preproc_def
      name: IPNET_INBOUND
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libpcap/pcap/ipnet.h
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/rpcapd/log.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/rpcapd/rpcapd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROGRAM_NAME
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libpcap/rpcapd/rpcapd.h
      type_or_value: '"rpcapd"'
    - item_type: preproc_def
      name: SOCKET_MAXCONN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libpcap/rpcapd/rpcapd.h
      type_or_value: "10\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - svc_start
  - svc_control_handler
  - svc_main
  - update_svc_status
  source_file: /src/libpcap/rpcapd/win32-svc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fileconf_read
  - fileconf_save
  - skipws
  source_file: /src/libpcap/rpcapd/fileconf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PARAM_ACTIVECLIENT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/libpcap/rpcapd/fileconf.c
      type_or_value: '"ActiveClient"'
    - item_type: preproc_def
      name: PARAM_PASSIVECLIENT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libpcap/rpcapd/fileconf.c
      type_or_value: '"PassiveClient"'
    - item_type: preproc_def
      name: PARAM_NULLAUTHPERMIT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/libpcap/rpcapd/fileconf.c
      type_or_value: '"NullAuthPermit"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/rpcapd/win32-svc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - printusage
  - main_startup
  - send_state_change_event
  - send_shutdown_notification
  - send_reread_configuration_notification
  - main_ctrl_event
  - main_terminate
  - main_reread_config
  - main_reap_children
  - accept_connections
  - accept_connection
  - main_active
  - main_passive_serviceloop_thread
  source_file: /src/libpcap/rpcapd/rpcapd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RPCAP_ACTIVE_WAIT
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/libpcap/rpcapd/rpcapd.c
      type_or_value: "30\t\t"
    - item_type: preproc_def
      name: SSL_CLOPTS
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/libpcap/rpcapd/rpcapd.c
      type_or_value: '"SK:X:C"'
    - item_type: preproc_def
      name: SSL_CLOPTS
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/libpcap/rpcapd/rpcapd.c
      type_or_value: '""'
    - item_type: preproc_def
      name: CLOPTS
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/libpcap/rpcapd/rpcapd.c
      type_or_value: '"b:dDhip:4l:na:s:f:t:v" SSL_CLOPTS'
    structs:
    - fields:
      - name: '*next'
        type: struct listen_sock
      - name: sock
        type: PCAP_SOCKET
      item_type: struct
      name: listen_sock
      pos:
        line_end: 75
        line_start: 72
        source_file: /src/libpcap/rpcapd/rpcapd.c
    - fields:
      - name: sockctrl
        type: PCAP_SOCKET
      - name: '*hostlist'
        type: char
      item_type: struct
      name: params_copy
      pos:
        line_end: 1144
        line_start: 1141
        source_file: /src/libpcap/rpcapd/rpcapd.c
    typedefs: []
    union: []
- function_names:
  - rpcapd_vlog_stderr
  - rpcapd_vlog_systemlog
  - rpcapd_vlog_systemlog
  - rpcapd_log_set
  - rpcapd_log
  source_file: /src/libpcap/rpcapd/log.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MESSAGE_SUBKEY
      pos:
        line_end: 93
        line_start: 91
        source_file: /src/libpcap/rpcapd/log.c
      type_or_value: '"SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\rpcapd"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/rpcapd/fileconf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/rpcapd/config_params.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_LINE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libpcap/rpcapd/config_params.h
      type_or_value: "2048\t\t"
    - item_type: preproc_def
      name: MAX_HOST_LIST
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libpcap/rpcapd/config_params.h
      type_or_value: '64000'
    - item_type: preproc_def
      name: MAX_ACTIVE_LIST
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libpcap/rpcapd/config_params.h
      type_or_value: '10'
    structs:
    - fields:
      - name: address[MAX_LINE + 1]
        type: char
      - name: port[MAX_LINE + 1]
        type: char
      - name: ai_family
        type: int
      item_type: struct
      name: active_pars
      pos:
        line_end: 48
        line_start: 43
        source_file: /src/libpcap/rpcapd/config_params.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/rpcapd/daemon.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - daemon_serviceloop
  - daemon_msg_err
  - daemon_msg_auth_req
  - daemon_AuthUserPwd
  - CHECK_AND_INCREASE_REPLY_LEN
  - daemon_msg_findallif_req
  - daemon_msg_open_req
  - daemon_msg_startcap_req
  - daemon_msg_endcap_req
  - daemon_unpackapplyfilter
  - daemon_msg_updatefilter_req
  - daemon_msg_setsampling_req
  - daemon_msg_stats_req
  - daemon_thrdatamain
  - noop_handler
  - daemon_seraddr
  - sleep_secs
  - sleep_secs
  - rpcapd_recv_msg_header
  - rpcapd_recv
  - rpcapd_discard
  - session_close
  - is_url
  source_file: /src/libpcap/rpcapd/daemon.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RPCAP_TIMEOUT_INIT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/libpcap/rpcapd/daemon.c
      type_or_value: '90'
    - item_type: preproc_def
      name: RPCAP_TIMEOUT_RUNTIME
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/libpcap/rpcapd/daemon.c
      type_or_value: '180'
    - item_type: preproc_def
      name: RPCAP_SUSPEND_WRONGAUTH
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/libpcap/rpcapd/daemon.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TLS_RECORD_HEADER_LEN
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/libpcap/rpcapd/daemon.c
      type_or_value: "5\t// Don't use sizeof in case it's padded"
    - item_type: preproc_def
      name: TLS_RECORD_TYPE_ALERT
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/libpcap/rpcapd/daemon.c
      type_or_value: '21'
    - item_type: preproc_def
      name: TLS_RECORD_TYPE_HANDSHAKE
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/libpcap/rpcapd/daemon.c
      type_or_value: '22'
    - item_type: preproc_def
      name: TLS_ALERT_LEN
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/libpcap/rpcapd/daemon.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TLS_ALERT_LEVEL_FATAL
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/libpcap/rpcapd/daemon.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TLS_ALERT_HANDSHAKE_FAILURE
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/libpcap/rpcapd/daemon.c
      type_or_value: '40'
    - item_type: preproc_def
      name: UINT16_MAX
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/libpcap/rpcapd/daemon.c
      type_or_value: 65535U
    - item_type: preproc_def
      name: UINT32_MAX
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/libpcap/rpcapd/daemon.c
      type_or_value: 4294967295U
    - item_type: preproc_def
      name: RPCAP_BPF_MAXINSNS
      pos:
        line_end: 2334
        line_start: 2333
        source_file: /src/libpcap/rpcapd/daemon.c
      type_or_value: '8192'
    structs:
    - fields:
      - name: sockctrl
        type: PCAP_SOCKET
      - name: '*ssl'
        type: SSL
      - name: isactive
        type: int
      - name: nullAuthAllowed
        type: int
      item_type: struct
      name: daemon_slpars
      pos:
        line_end: 99
        line_start: 93
        source_file: /src/libpcap/rpcapd/daemon.c
    - fields:
      - name: sockctrl
        type: PCAP_SOCKET
      - name: sockdata
        type: PCAP_SOCKET
      - name: '*ctrl_ssl'
        type: SSL
      - name: protocol_version
        type: uint8_t
      - name: '*fp'
        type: pcap_t
      - name: TotCapt
        type: unsigned int
      - name: have_thread
        type: int
      item_type: struct
      name: session
      pos:
        line_end: 122
        line_start: 109
        source_file: /src/libpcap/rpcapd/daemon.c
    - fields:
      - name: type
        type: uint8_t
      - name: version_major
        type: uint8_t
      - name: version_injor
        type: uint8_t
      - name: length_hi
        type: uint8_t
      - name: length_lo
        type: uint8_t
      item_type: struct
      name: tls_record_header
      pos:
        line_end: 177
        line_start: 168
        source_file: /src/libpcap/rpcapd/daemon.c
    - fields:
      - name: alert_level
        type: uint8_t
      - name: alert_description
        type: uint8_t
      item_type: struct
      name: tls_alert
      pos:
        line_end: 190
        line_start: 187
        source_file: /src/libpcap/rpcapd/daemon.c
    typedefs: []
    union: []
- function_names:
  - pcapint_strlcpy
  source_file: /src/libpcap/missing/strlcpy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libpcap/missing/getopt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getopt
  source_file: /src/libpcap/missing/getopt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BADCH
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libpcap/missing/getopt.c
      type_or_value: (int)'?'
    - item_type: preproc_def
      name: BADARG
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libpcap/missing/getopt.c
      type_or_value: (int)':'
    - item_type: preproc_def
      name: EMSG
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libpcap/missing/getopt.c
      type_or_value: '""'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcapint_strlcat
  source_file: /src/libpcap/missing/strlcat.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcapint_vasprintf
  - pcapint_asprintf
  source_file: /src/libpcap/missing/asprintf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcapint_strtok_r
  source_file: /src/libpcap/missing/strtok_r.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcapint_vasprintf
  - pcapint_asprintf
  source_file: /src/libpcap/missing/win_asprintf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RPL_DIO_GROUNDED
  - RPL_DIO_MOP
  - RPL_DIO_PRF
  - RPL_DAO_K
  - RPL_DAO_D
  - RPL_DAOACK_D
  - get_rtpref
  - get_lifetime
  - get_pref64_len_repr
  - print_lladdr
  - icmp6_cksum
  - rpl_printopts
  - rpl_dio_print
  - rpl_dao_print
  - rpl_daoack_print
  - rpl_print
  - icmp6_print
  - get_upperlayer
  - icmp6_opt_print
  - mld6_print
  - mldv2_report_print
  - mldv2_query_print
  - dnsname_print
  - icmp6_nodeinfo_print
  - icmp6_rrenum_print
  - F
  source_file: /src/tcpdump/print-icmp6.c
  types:
    enum:
    - enumerators:
      - name: ND_RPL_DAG_IS
        value: '0x00'
      - name: ND_RPL_DAG_IO
        value: '0x01'
      - name: ND_RPL_DAO_ACK
        value: '0x03'
      - name: ND_RPL_DAO
        value: '0x02'
      - name: ND_RPL_SEC_DAG_IS
        value: '0x80'
      - name: ND_RPL_SEC_DAG_IO
        value: '0x81'
      - name: ND_RPL_SEC_DAG
        value: '0x82'
      - name: ND_RPL_SEC_DAG_ACK
        value: '0x83'
      - name: ND_RPL_SEC_CONSIST
        value: '0x8A'
      item_type: enum
      name: ND_RPL_CODE
      pos:
        line_end: 532
        line_start: 522
        source_file: /src/tcpdump/print-icmp6.c
    - enumerators:
      - name: ND_RPL_DIO_GROUNDED
        value: '0x80'
      - name: ND_RPL_DIO_RES3
        value: '0x08'
      - name: ND_RPL_DIO_RES4
        value: '0x10'
      - name: ND_RPL_DIO_DATRIG
        value: '0x40'
      - name: ND_RPL_DIO_DASUPPORT
        value: '0x20'
      - name: ND_RPL_DIO_PRF_MASK
        value: '0x07'
      item_type: enum
      name: ND_RPL_DIO_FLAGS
      pos:
        line_end: 541
        line_start: 534
        source_file: /src/tcpdump/print-icmp6.c
    - enumerators:
      - name: RPL_DIO_NONSTORING
        value: '0x0'
      - name: RPL_DIO_STORING
        value: '0x1'
      - name: RPL_DIO_STORING_MULTICAST
        value: '0x3'
      - name: RPL_DIO_NONSTORING_MULTICAST
        value: '0x2'
      item_type: enum
      name: RPL_DIO_MOP
      pos:
        line_end: 591
        line_start: 586
        source_file: /src/tcpdump/print-icmp6.c
    - enumerators:
      - name: RPL_OPT_PAD1
        value: '0'
      - name: RPL_DIO_METRICS
        value: '2'
      - name: RPL_OPT_PADN
        value: '1'
      - name: RPL_DIO_CONFIG
        value: '4'
      - name: RPL_DIO_ROUTINGINFO
        value: '3'
      - name: RPL_DAO_RPLTARGET
        value: '5'
      - name: RPL_DAO_TRANSITINFO
        value: '6'
      - name: RPL_DIO_DESTPREFIX
        value: '8'
      - name: RPL_DAO_RPLTARGET_DESC
        value: '9'
      item_type: enum
      name: RPL_SUBOPT
      pos:
        line_end: 603
        line_start: 593
        source_file: /src/tcpdump/print-icmp6.c
    preproc_defs:
    - item_type: preproc_def
      name: icmp6_data32
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: icmp6_dataun.icmp6_un_data32
    - item_type: preproc_def
      name: icmp6_data16
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: icmp6_dataun.icmp6_un_data16
    - item_type: preproc_def
      name: icmp6_data8
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: icmp6_dataun.icmp6_un_data8
    - item_type: preproc_def
      name: icmp6_data
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: icmp6_dataun.icmp6_un_data
    - item_type: preproc_def
      name: icmp6_pptr
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "icmp6_data32[0]\t\t"
    - item_type: preproc_def
      name: icmp6_mtu
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "icmp6_data32[0]\t\t"
    - item_type: preproc_def
      name: icmp6_id
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "icmp6_data16[0]\t\t"
    - item_type: preproc_def
      name: icmp6_seq
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "icmp6_data16[1]\t\t"
    - item_type: preproc_def
      name: icmp6_maxdelay
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "icmp6_data16[0]\t\t"
    - item_type: preproc_def
      name: icmp6_xseq
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "icmp6_data8[2]\t\t"
    - item_type: preproc_def
      name: icmp6_xinfo
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "icmp6_data8[3]\t\t"
    - item_type: preproc_def
      name: ICMP6_DST_UNREACH
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ICMP6_PACKET_TOO_BIG
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ICMP6_TIME_EXCEEDED
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: ICMP6_PARAM_PROB
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: ICMP6_ECHO_REQUEST
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "128\t"
    - item_type: preproc_def
      name: ICMP6_ECHO_REPLY
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "129\t"
    - item_type: preproc_def
      name: MLD6_LISTENER_QUERY
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "130\t"
    - item_type: preproc_def
      name: MLD6_LISTENER_REPORT
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "131\t"
    - item_type: preproc_def
      name: MLD6_LISTENER_DONE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "132\t"
    - item_type: preproc_def
      name: ND_ROUTER_SOLICIT
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "133\t"
    - item_type: preproc_def
      name: ND_ROUTER_ADVERT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "134\t"
    - item_type: preproc_def
      name: ND_NEIGHBOR_SOLICIT
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "135\t"
    - item_type: preproc_def
      name: ND_NEIGHBOR_ADVERT
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "136\t"
    - item_type: preproc_def
      name: ND_REDIRECT
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "137\t"
    - item_type: preproc_def
      name: ICMP6_ROUTER_RENUMBERING
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "138\t"
    - item_type: preproc_def
      name: ICMP6_NI_QUERY
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "139\t"
    - item_type: preproc_def
      name: ICMP6_NI_REPLY
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "140\t"
    - item_type: preproc_def
      name: IND_SOLICIT
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "141\t"
    - item_type: preproc_def
      name: IND_ADVERT
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "142\t"
    - item_type: preproc_def
      name: ICMP6_V2_MEMBERSHIP_REPORT
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "143\t"
    - item_type: preproc_def
      name: MLDV2_LISTENER_REPORT
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "143\t"
    - item_type: preproc_def
      name: ICMP6_HADISCOV_REQUEST
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '144'
    - item_type: preproc_def
      name: ICMP6_HADISCOV_REPLY
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '145'
    - item_type: preproc_def
      name: ICMP6_MOBILEPREFIX_SOLICIT
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '146'
    - item_type: preproc_def
      name: ICMP6_MOBILEPREFIX_ADVERT
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '147'
    - item_type: preproc_def
      name: ICMP6_EXTENDED_ECHO_REQUEST
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "160\t"
    - item_type: preproc_def
      name: ICMP6_EXTENDED_ECHO_REPLY
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "161\t"
    - item_type: preproc_def
      name: MLD6_MTRACE_RESP
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "200\t"
    - item_type: preproc_def
      name: MLD6_MTRACE
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "201\t"
    - item_type: preproc_def
      name: ICMP6_MAXTYPE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '201'
    - item_type: preproc_def
      name: ICMP6_DST_UNREACH_NOROUTE
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ICMP6_DST_UNREACH_ADMIN
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ICMP6_DST_UNREACH_NOTNEIGHBOR
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ICMP6_DST_UNREACH_BEYONDSCOPE
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ICMP6_DST_UNREACH_ADDR
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: ICMP6_DST_UNREACH_NOPORT
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: ICMP6_TIME_EXCEED_TRANSIT
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ICMP6_TIME_EXCEED_REASSEMBLY
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ICMP6_PARAMPROB_HEADER
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ICMP6_PARAMPROB_NEXTHEADER
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ICMP6_PARAMPROB_OPTION
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ICMP6_PARAMPROB_FRAGHDRCHAIN
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: ICMP6_INFOMSG_MASK
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: ICMP6_NI_SUBJ_IPV6
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ICMP6_NI_SUBJ_FQDN
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ICMP6_NI_SUBJ_IPV4
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ICMP6_NI_SUCCESS
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ICMP6_NI_REFUSED
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ICMP6_NI_UNKNOWN
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ICMP6_ROUTER_RENUMBERING_COMMAND
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ICMP6_ROUTER_RENUMBERING_RESULT
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ICMP6_ROUTER_RENUMBERING_SEQNUM_RESET
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "255\t"
    - item_type: preproc_def
      name: ND_REDIRECT_ONLINK
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ND_REDIRECT_ROUTER
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: mld6_type
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: mld6_hdr.icmp6_type
    - item_type: preproc_def
      name: mld6_code
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: mld6_hdr.icmp6_code
    - item_type: preproc_def
      name: mld6_cksum
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: mld6_hdr.icmp6_cksum
    - item_type: preproc_def
      name: mld6_maxdelay
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: mld6_hdr.icmp6_data16[0]
    - item_type: preproc_def
      name: mld6_reserved
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: mld6_hdr.icmp6_data16[1]
    - item_type: preproc_def
      name: MLD_MINLEN
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '24'
    - item_type: preproc_def
      name: MLDV2_MINLEN
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '28'
    - item_type: preproc_def
      name: nd_rs_type
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_rs_hdr.icmp6_type
    - item_type: preproc_def
      name: nd_rs_code
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_rs_hdr.icmp6_code
    - item_type: preproc_def
      name: nd_rs_cksum
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_rs_hdr.icmp6_cksum
    - item_type: preproc_def
      name: nd_rs_reserved
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_rs_hdr.icmp6_data32[0]
    - item_type: preproc_def
      name: nd_ra_type
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_ra_hdr.icmp6_type
    - item_type: preproc_def
      name: nd_ra_code
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_ra_hdr.icmp6_code
    - item_type: preproc_def
      name: nd_ra_cksum
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_ra_hdr.icmp6_cksum
    - item_type: preproc_def
      name: nd_ra_curhoplimit
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_ra_hdr.icmp6_data8[0]
    - item_type: preproc_def
      name: nd_ra_flags_reserved
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_ra_hdr.icmp6_data8[1]
    - item_type: preproc_def
      name: ND_RA_FLAG_MANAGED
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: ND_RA_FLAG_OTHER
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: ND_RA_FLAG_HOME_AGENT
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: ND_RA_FLAG_IPV6ONLY
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: ND_RA_FLAG_RTPREF_MASK
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x18 '
    - item_type: preproc_def
      name: ND_RA_FLAG_RTPREF_HIGH
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x08 '
    - item_type: preproc_def
      name: ND_RA_FLAG_RTPREF_MEDIUM
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x00 '
    - item_type: preproc_def
      name: ND_RA_FLAG_RTPREF_LOW
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x18 '
    - item_type: preproc_def
      name: ND_RA_FLAG_RTPREF_RSV
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: nd_ra_router_lifetime
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_ra_hdr.icmp6_data16[1]
    - item_type: preproc_def
      name: nd_ns_type
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_ns_hdr.icmp6_type
    - item_type: preproc_def
      name: nd_ns_code
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_ns_hdr.icmp6_code
    - item_type: preproc_def
      name: nd_ns_cksum
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_ns_hdr.icmp6_cksum
    - item_type: preproc_def
      name: nd_ns_reserved
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_ns_hdr.icmp6_data32[0]
    - item_type: preproc_def
      name: nd_na_type
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_na_hdr.icmp6_type
    - item_type: preproc_def
      name: nd_na_code
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_na_hdr.icmp6_code
    - item_type: preproc_def
      name: nd_na_cksum
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_na_hdr.icmp6_cksum
    - item_type: preproc_def
      name: nd_na_flags_reserved
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_na_hdr.icmp6_data32[0]
    - item_type: preproc_def
      name: ND_NA_FLAG_ROUTER
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x80000000'
    - item_type: preproc_def
      name: ND_NA_FLAG_SOLICITED
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x40000000'
    - item_type: preproc_def
      name: ND_NA_FLAG_OVERRIDE
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x20000000'
    - item_type: preproc_def
      name: nd_rd_type
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_rd_hdr.icmp6_type
    - item_type: preproc_def
      name: nd_rd_code
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_rd_hdr.icmp6_code
    - item_type: preproc_def
      name: nd_rd_cksum
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_rd_hdr.icmp6_cksum
    - item_type: preproc_def
      name: nd_rd_reserved
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: nd_rd_hdr.icmp6_data32[0]
    - item_type: preproc_def
      name: ND_OPT_SOURCE_LINKADDR
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ND_OPT_TARGET_LINKADDR
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ND_OPT_PREFIX_INFORMATION
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '3'
    - item_type: preproc_def
      name: ND_OPT_REDIRECTED_HEADER
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ND_OPT_MTU
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '5'
    - item_type: preproc_def
      name: ND_OPT_ADVINTERVAL
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '7'
    - item_type: preproc_def
      name: ND_OPT_HOMEAGENT_INFO
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '8'
    - item_type: preproc_def
      name: ND_OPT_NONCE
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '14'
    - item_type: preproc_def
      name: ND_OPT_ROUTE_INFO
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "24\t"
    - item_type: preproc_def
      name: ND_OPT_RDNSS
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '25'
    - item_type: preproc_def
      name: ND_OPT_DNSSL
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '31'
    - item_type: preproc_def
      name: ND_OPT_PREF64_INFORMATION
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "38\t"
    - item_type: preproc_def
      name: ND_OPT_PI_FLAG_ONLINK
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: ND_OPT_PI_FLAG_AUTO
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: ND_OPT_PI_FLAG_ROUTER
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "0x20\t"
    - item_type: preproc_def
      name: ni_type
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: icmp6_ni_hdr.icmp6_type
    - item_type: preproc_def
      name: ni_code
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: icmp6_ni_hdr.icmp6_code
    - item_type: preproc_def
      name: ni_cksum
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: icmp6_ni_hdr.icmp6_cksum
    - item_type: preproc_def
      name: ni_qtype
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: icmp6_ni_hdr.icmp6_data16[0]
    - item_type: preproc_def
      name: ni_flags
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: icmp6_ni_hdr.icmp6_data16[1]
    - item_type: preproc_def
      name: NI_QTYPE_NOOP
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: NI_QTYPE_SUPTYPES
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: NI_QTYPE_NODENAME
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: NI_QTYPE_NODEADDR
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: NI_QTYPE_IPV4ADDR
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: NI_NODEADDR_FLAG_TRUNCATE
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: NI_NODEADDR_FLAG_ALL
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: NI_NODEADDR_FLAG_COMPAT
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: NI_NODEADDR_FLAG_LINKLOCAL
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: NI_NODEADDR_FLAG_SITELOCAL
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: NI_NODEADDR_FLAG_GLOBAL
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: ICMP6_RR_FLAGS_TEST
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: ICMP6_RR_FLAGS_REQRESULT
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: ICMP6_RR_FLAGS_FORCEAPPLY
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: ICMP6_RR_FLAGS_SPECSITE
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: ICMP6_RR_FLAGS_PREVDONE
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: rr_type
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: rr_hdr.icmp6_type
    - item_type: preproc_def
      name: rr_code
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: rr_hdr.icmp6_code
    - item_type: preproc_def
      name: rr_cksum
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: rr_hdr.icmp6_cksum
    - item_type: preproc_def
      name: rr_seqnum
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: rr_hdr.icmp6_data32[0]
    - item_type: preproc_def
      name: RPM_PCO_ADD
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RPM_PCO_CHANGE
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RPM_PCO_SETGLOBAL
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RPM_PCO_MAX
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ICMP6_RR_PCOUSE_RAFLAGS_ONLINK
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: ICMP6_RR_PCOUSE_RAFLAGS_AUTO
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: ((uint32_t)htonl(0x80000000))
    - item_type: preproc_def
      name: ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: ((uint32_t)htonl(0x40000000))
    - item_type: preproc_def
      name: ICMP6_RR_RESULT_FLAGS_OOB
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: ((uint16_t)htons(0x0002))
    - item_type: preproc_def
      name: ICMP6_RR_RESULT_FLAGS_FORBIDDEN
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: ((uint16_t)htons(0x0001))
    - item_type: preproc_def
      name: ND_RPL_MESSAGE
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '155  '
    - item_type: preproc_def
      name: DAGID_LEN
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '16'
    - item_type: preproc_def
      name: RPL_DIO_GROUND_FLAG
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: RPL_DIO_MOP_SHIFT
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RPL_DIO_MOP_MASK
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: (7 << RPL_DIO_MOP_SHIFT)
    - item_type: preproc_def
      name: RPL_DIO_PRF_SHIFT
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0'
    - item_type: preproc_def
      name: RPL_DIO_PRF_MASK
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: (7 << RPL_DIO_PRF_SHIFT)
    - item_type: preproc_def
      name: RPL_GENOPTION_LEN
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RPL_DIO_LIFETIME_INFINITE
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: RPL_DIO_LIFETIME_DISCONNECT
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ND_RPL_DAO_MIN_LEN
      pos:
        line_end: 634
        line_start: 633
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: RPL_DAO_K_SHIFT
      pos:
        line_end: 637
        line_start: 636
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '7'
    - item_type: preproc_def
      name: RPL_DAO_K_MASK
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: (1 << RPL_DAO_K_SHIFT)
    - item_type: preproc_def
      name: RPL_DAO_D_SHIFT
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '6'
    - item_type: preproc_def
      name: RPL_DAO_D_MASK
      pos:
        line_end: 643
        line_start: 642
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: (1 << RPL_DAO_D_SHIFT)
    - item_type: preproc_def
      name: ND_RPL_DAOACK_MIN_LEN
      pos:
        line_end: 664
        line_start: 663
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: RPL_DAOACK_D_SHIFT
      pos:
        line_end: 666
        line_start: 665
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '7'
    - item_type: preproc_def
      name: RPL_DAOACK_D_MASK
      pos:
        line_end: 667
        line_start: 666
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: (1 << RPL_DAOACK_D_SHIFT)
    - item_type: preproc_def
      name: RTSOLLEN
      pos:
        line_end: 1201
        line_start: 1200
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '8'
    - item_type: preproc_def
      name: RTADVLEN
      pos:
        line_end: 1209
        line_start: 1208
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '16'
    - item_type: preproc_def
      name: NDSOLLEN
      pos:
        line_end: 1234
        line_start: 1233
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '24'
    - item_type: preproc_def
      name: NDADVLEN
      pos:
        line_end: 1253
        line_start: 1252
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '24'
    - item_type: preproc_def
      name: REDIRECTLEN
      pos:
        line_end: 1268
        line_start: 1267
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '40'
    - item_type: preproc_def
      name: MPADVLEN
      pos:
        line_end: 1323
        line_start: 1322
        source_file: /src/tcpdump/print-icmp6.c
      type_or_value: '8'
    structs:
    - fields:
      - name: icmp6_type
        type: nd_uint8_t
      - name: icmp6_code
        type: nd_uint8_t
      - name: icmp6_cksum
        type: nd_uint16_t
      - name: icmp6_dataun
        type: "union {\n\t\tnd_uint32_t\ticmp6_un_data32[1]; /* type-specific field
          */\n\t\tnd_uint16_t\ticmp6_un_data16[2]; /* type-specific field */\n\t\tnd_uint8_t\ticmp6_un_data8[4];
          \ /* type-specific field */\n\t\tnd_byte\t\ticmp6_un_data[1];   /* type-specific
          field */\n\t}"
      item_type: struct
      name: icmp6_hdr
      pos:
        line_end: 84
        line_start: 74
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: mld6_hdr
        type: struct icmp6_hdr
      - name: mld6_addr
        type: nd_ipv6
      item_type: struct
      name: mld6_hdr
      pos:
        line_end: 175
        line_start: 172
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_rs_hdr
        type: struct icmp6_hdr
      item_type: struct
      name: nd_router_solicit
      pos:
        line_end: 193
        line_start: 190
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_ra_hdr
        type: struct icmp6_hdr
      - name: nd_ra_reachable
        type: nd_uint32_t
      - name: nd_ra_retransmit
        type: nd_uint32_t
      item_type: struct
      name: nd_router_advert
      pos:
        line_end: 205
        line_start: 200
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_ns_hdr
        type: struct icmp6_hdr
      - name: nd_ns_target
        type: nd_ipv6
      item_type: struct
      name: nd_neighbor_solicit
      pos:
        line_end: 234
        line_start: 230
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_na_hdr
        type: struct icmp6_hdr
      - name: nd_na_target
        type: nd_ipv6
      item_type: struct
      name: nd_neighbor_advert
      pos:
        line_end: 245
        line_start: 241
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_rd_hdr
        type: struct icmp6_hdr
      - name: nd_rd_target
        type: nd_ipv6
      - name: nd_rd_dst
        type: nd_ipv6
      item_type: struct
      name: nd_redirect
      pos:
        line_end: 261
        line_start: 256
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_opt_type
        type: nd_uint8_t
      - name: nd_opt_len
        type: nd_uint8_t
      item_type: struct
      name: nd_opt_hdr
      pos:
        line_end: 272
        line_start: 268
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_opt_pi_type
        type: nd_uint8_t
      - name: nd_opt_pi_len
        type: nd_uint8_t
      - name: nd_opt_pi_prefix_len
        type: nd_uint8_t
      - name: nd_opt_pi_flags_reserved
        type: nd_uint8_t
      - name: nd_opt_pi_valid_time
        type: nd_uint32_t
      - name: nd_opt_pi_preferred_time
        type: nd_uint32_t
      - name: nd_opt_pi_reserved2
        type: nd_uint32_t
      - name: nd_opt_pi_prefix
        type: nd_ipv6
      item_type: struct
      name: nd_opt_prefix_info
      pos:
        line_end: 296
        line_start: 287
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_opt_rh_type
        type: nd_uint8_t
      - name: nd_opt_rh_len
        type: nd_uint8_t
      - name: nd_opt_rh_reserved1
        type: nd_uint16_t
      - name: nd_opt_rh_reserved2
        type: nd_uint32_t
      item_type: struct
      name: nd_opt_rd_hdr
      pos:
        line_end: 308
        line_start: 302
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_opt_mtu_type
        type: nd_uint8_t
      - name: nd_opt_mtu_len
        type: nd_uint8_t
      - name: nd_opt_mtu_reserved
        type: nd_uint16_t
      - name: nd_opt_mtu_mtu
        type: nd_uint32_t
      item_type: struct
      name: nd_opt_mtu
      pos:
        line_end: 315
        line_start: 310
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_opt_rdnss_type
        type: nd_uint8_t
      - name: nd_opt_rdnss_len
        type: nd_uint8_t
      - name: nd_opt_rdnss_reserved
        type: nd_uint16_t
      - name: nd_opt_rdnss_lifetime
        type: nd_uint32_t
      - name: nd_opt_rdnss_addr[1]
        type: nd_ipv6
      item_type: struct
      name: nd_opt_rdnss
      pos:
        line_end: 323
        line_start: 317
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_opt_dnssl_type
        type: nd_uint8_t
      - name: nd_opt_dnssl_len
        type: nd_uint8_t
      - name: nd_opt_dnssl_reserved
        type: nd_uint16_t
      - name: nd_opt_dnssl_lifetime
        type: nd_uint32_t
      item_type: struct
      name: nd_opt_dnssl
      pos:
        line_end: 331
        line_start: 325
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_opt_adv_type
        type: nd_uint8_t
      - name: nd_opt_adv_len
        type: nd_uint8_t
      - name: nd_opt_adv_reserved
        type: nd_uint16_t
      - name: nd_opt_adv_interval
        type: nd_uint32_t
      item_type: struct
      name: nd_opt_advinterval
      pos:
        line_end: 338
        line_start: 333
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_opt_hai_type
        type: nd_uint8_t
      - name: nd_opt_hai_len
        type: nd_uint8_t
      - name: nd_opt_hai_reserved
        type: nd_uint16_t
      - name: nd_opt_hai_preference
        type: nd_uint16_t
      - name: nd_opt_hai_lifetime
        type: nd_uint16_t
      item_type: struct
      name: nd_opt_homeagent_info
      pos:
        line_end: 346
        line_start: 340
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_opt_rti_type
        type: nd_uint8_t
      - name: nd_opt_rti_len
        type: nd_uint8_t
      - name: nd_opt_rti_prefixlen
        type: nd_uint8_t
      - name: nd_opt_rti_flags
        type: nd_uint8_t
      - name: nd_opt_rti_lifetime
        type: nd_uint32_t
      item_type: struct
      name: nd_opt_route_info
      pos:
        line_end: 355
        line_start: 348
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: nd_opt_pref64_type
        type: nd_uint8_t
      - name: nd_opt_pref64_len
        type: nd_uint8_t
      - name: nd_opt_pref64_slplc
        type: nd_uint16_t
      - name: nd_opt_pref64_words[3]
        type: nd_uint32_t
      item_type: struct
      name: nd_opt_pref64
      pos:
        line_end: 362
        line_start: 357
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: icmp6_nl_hdr
        type: struct icmp6_hdr
      - name: icmp6_nl_nonce[8]
        type: nd_byte
      - name: icmp6_nl_ttl
        type: nd_int32_t
      item_type: struct
      name: icmp6_namelookup
      pos:
        line_end: 377
        line_start: 368
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: icmp6_ni_hdr
        type: struct icmp6_hdr
      - name: icmp6_ni_nonce[8]
        type: nd_byte
      item_type: struct
      name: icmp6_nodeinfo
      pos:
        line_end: 386
        line_start: 382
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: ni_fqdn_ttl
        type: nd_uint32_t
      - name: ni_fqdn_namelen
        type: nd_uint8_t
      - name: ni_fqdn_name[3]
        type: nd_byte
      item_type: struct
      name: ni_reply_fqdn
      pos:
        line_end: 427
        line_start: 423
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: rr_hdr
        type: struct icmp6_hdr
      - name: rr_segnum
        type: nd_uint8_t
      - name: rr_flags
        type: nd_uint8_t
      - name: rr_maxdelay
        type: nd_uint16_t
      - name: rr_reserved
        type: nd_uint32_t
      item_type: struct
      name: icmp6_router_renum
      pos:
        line_end: 438
        line_start: 432
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: rpm_code
        type: nd_uint8_t
      - name: rpm_len
        type: nd_uint8_t
      - name: rpm_ordinal
        type: nd_uint8_t
      - name: rpm_matchlen
        type: nd_uint8_t
      - name: rpm_minlen
        type: nd_uint8_t
      - name: rpm_maxlen
        type: nd_uint8_t
      - name: rpm_reserved
        type: nd_uint16_t
      - name: rpm_prefix
        type: nd_ipv6
      item_type: struct
      name: rr_pco_match
      pos:
        line_end: 468
        line_start: 459
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: rpu_uselen
        type: nd_uint8_t
      - name: rpu_keeplen
        type: nd_uint8_t
      - name: rpu_ramask
        type: nd_uint8_t
      - name: rpu_raflags
        type: nd_uint8_t
      - name: rpu_vltime
        type: nd_uint32_t
      - name: rpu_pltime
        type: nd_uint32_t
      - name: rpu_flags
        type: nd_uint32_t
      - name: rpu_prefix
        type: nd_ipv6
      item_type: struct
      name: rr_pco_use
      pos:
        line_end: 484
        line_start: 475
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: rrr_flags
        type: nd_uint16_t
      - name: rrr_ordinal
        type: nd_uint8_t
      - name: rrr_matchedlen
        type: nd_uint8_t
      - name: rrr_ifid
        type: nd_uint32_t
      - name: rrr_prefix
        type: nd_ipv6
      item_type: struct
      name: rr_result
      pos:
        line_end: 498
        line_start: 492
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: rpl_sec_t_reserved
        type: nd_uint8_t
      - name: rpl_sec_algo
        type: nd_uint8_t
      - name: rpl_sec_kim_lvl_flags
        type: nd_uint16_t
      - name: rpl_sec_counter
        type: nd_uint32_t
      item_type: struct
      name: nd_rpl_security
      pos:
        line_end: 555
        line_start: 546
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: rpl_dis_flags
        type: nd_uint8_t
      - name: rpl_dis_reserved
        type: nd_uint8_t
      item_type: struct
      name: nd_rpl_dis_is
      pos:
        line_end: 564
        line_start: 558
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: rpl_instanceid
        type: nd_uint8_t
      - name: rpl_version
        type: nd_uint8_t
      - name: rpl_dagrank
        type: nd_uint16_t
      - name: rpl_mopprf
        type: nd_uint8_t
      - name: rpl_dtsn
        type: nd_uint8_t
      - name: rpl_flags
        type: nd_uint8_t
      - name: rpl_resv1
        type: nd_uint8_t
      - name: rpl_dagid[DAGID_LEN]
        type: nd_byte
      item_type: struct
      name: nd_rpl_dio
      pos:
        line_end: 576
        line_start: 567
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: rpl_dio_type
        type: nd_uint8_t
      - name: rpl_dio_len
        type: nd_uint8_t
      item_type: struct
      name: rpl_genoption
      pos:
        line_end: 608
        line_start: 605
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: rpl_dio_type
        type: nd_uint8_t
      - name: rpl_dio_len
        type: nd_uint8_t
      - name: rpl_dio_prefixlen
        type: nd_uint8_t
      - name: rpl_dio_prf
        type: nd_uint8_t
      - name: rpl_dio_prefixlifetime
        type: nd_uint32_t
      item_type: struct
      name: rpl_dio_destprefix
      pos:
        line_end: 623
        line_start: 614
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: rpl_instanceid
        type: nd_uint8_t
      - name: rpl_flags
        type: nd_uint8_t
      - name: rpl_resv
        type: nd_uint8_t
      - name: rpl_daoseq
        type: nd_uint8_t
      - name: rpl_dagid[DAGID_LEN]
        type: nd_byte
      item_type: struct
      name: nd_rpl_dao
      pos:
        line_end: 632
        line_start: 626
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: rpl_dao_type
        type: nd_uint8_t
      - name: rpl_dao_len
        type: nd_uint8_t
      - name: rpl_dao_flags
        type: nd_uint8_t
      - name: rpl_dao_prefixlen
        type: nd_uint8_t
      item_type: struct
      name: rpl_dao_target
      pos:
        line_end: 653
        line_start: 645
        source_file: /src/tcpdump/print-icmp6.c
    - fields:
      - name: rpl_instanceid
        type: nd_uint8_t
      - name: rpl_flags
        type: nd_uint8_t
      - name: rpl_daoseq
        type: nd_uint8_t
      - name: rpl_status
        type: nd_uint8_t
      - name: rpl_dagid[DAGID_LEN]
        type: nd_byte
      item_type: struct
      name: nd_rpl_daoack
      pos:
        line_end: 662
        line_start: 656
        source_file: /src/tcpdump/print-icmp6.c
    typedefs: []
    union: []
- function_names:
  - roundup2
  - ND_MIN
  - ND_MAX
  - IS_SRC_OR_DST_PORT
  - IS_NOT_NEGATIVE
  - ND_TTEST_LEN
  - ND_TTEST_SIZE
  - ND_TCHECK_LEN
  - ND_TCHECK_LEN
  - ND_TCHECK_SIZE
  - ND_BYTES_BETWEEN
  - ND_BYTES_AVAILABLE_AFTER
  - ND_ICHECKMSG_U
  - ND_ICHECK_U
  - ND_ICHECKMSG_ZU
  - ND_ICHECK_ZU
  - ND_PRINT
  - ND_DEFAULTPRINT
  - UNALIGNED_MEMCPY
  - UNALIGNED_MEMCMP
  - UNALIGNED_MEMCPY
  - UNALIGNED_MEMCMP
  - PLURAL_SUFFIX
  - tok2strary
  - uint2tokary
  source_file: /src/tcpdump/netdissect.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FMAXINT
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "(4294967296.0)\t"
    - item_type: preproc_def
      name: MAC48_LEN
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "6U\t\t"
    - item_type: preproc_def
      name: EUI64_LEN
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/netdissect.h
      type_or_value: 8U
    - item_type: preproc_def
      name: IF_PRINTER_ARGS
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/tcpdump/netdissect.h
      type_or_value: (netdissect_options *, const struct pcap_pkthdr *, const u_char
        *)
    - item_type: preproc_def
      name: ND_TRUNCATED
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/tcpdump/netdissect.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PT_VAT
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PT_WB
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: PT_RPC
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: PT_RTP
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: PT_RTCP
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: PT_SNMP
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: PT_CNFP
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: PT_TFTP
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: PT_AODV
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "9\t"
    - item_type: preproc_def
      name: PT_CARP
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "10\t"
    - item_type: preproc_def
      name: PT_RADIUS
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "11\t"
    - item_type: preproc_def
      name: PT_ZMTP1
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "12\t"
    - item_type: preproc_def
      name: PT_VXLAN
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "13\t"
    - item_type: preproc_def
      name: PT_PGM
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "14\t"
    - item_type: preproc_def
      name: PT_PGM_ZMTP1
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "15\t"
    - item_type: preproc_def
      name: PT_LMP
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "16\t"
    - item_type: preproc_def
      name: PT_RESP
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "17\t"
    - item_type: preproc_def
      name: PT_PTP
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "18\t"
    - item_type: preproc_def
      name: PT_SOMEIP
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "19\t"
    - item_type: preproc_def
      name: PT_DOMAIN
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "20\t"
    - item_type: preproc_def
      name: PT_QUIC
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "21\t"
    - item_type: preproc_def
      name: PT_GENEVE
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "22\t"
    - item_type: preproc_def
      name: MAXIMUM_SNAPLEN
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/tcpdump/netdissect.h
      type_or_value: '262144'
    - item_type: preproc_def
      name: RESP_CODE_SECOND_TOKEN
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/tcpdump/netdissect.h
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: ND_DEBUG
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/tcpdump/netdissect.h
      type_or_value: '{printf(" [%s:%d %s] ", __FILE__, __LINE__, __func__); fflush(stdout);}'
    structs:
    - fields:
      - name: v
        type: u_int
      - name: '*s'
        type: char
      item_type: struct
      name: tok
      pos:
        line_end: 159
        line_start: 156
        source_file: /src/tcpdump/netdissect.h
    - fields:
      - name: '*ndspi_buffer'
        type: u_char
      - name: '*ndspi_packetp'
        type: u_char
      - name: '*ndspi_snapend'
        type: u_char
      - name: '*ndspi_prev'
        type: struct netdissect_saved_packet_info
      item_type: struct
      name: netdissect_saved_packet_info
      pos:
        line_end: 204
        line_start: 199
        source_file: /src/tcpdump/netdissect.h
    - fields:
      - name: ndo_bflag
        type: int
      - name: ndo_eflag
        type: int
      - name: ndo_fflag
        type: int
      - name: ndo_gflag
        type: int
      - name: ndo_Kflag
        type: int
      - name: ndo_nflag
        type: int
      - name: ndo_Nflag
        type: int
      - name: ndo_qflag
        type: int
      - name: ndo_Sflag
        type: int
      - name: ndo_tflag
        type: int
      - name: ndo_uflag
        type: int
      - name: ndo_vflag
        type: int
      - name: ndo_xflag
        type: int
      - name: ndo_Xflag
        type: int
      - name: ndo_Aflag
        type: int
      - name: ndo_Hflag
        type: int
      - name: '*ndo_protocol'
        type: char
      - name: ndo_early_end
        type: jmp_buf
      - name: '*ndo_last_mem_p'
        type: void
      - name: ndo_packet_number
        type: int
      - name: ndo_lengths
        type: int
      - name: ndo_print_sampling
        type: int
      - name: ndo_suppress_default_print
        type: int
      - name: ndo_tstamp_precision
        type: int
      - name: '*program_name'
        type: char
      - name: '*ndo_espsecret'
        type: char
      - name: '*ndo_sa_list_head'
        type: struct sa_list
      - name: '*ndo_sa_default'
        type: struct sa_list
      - name: '*ndo_sigsecret'
        type: char
      - name: ndo_packettype
        type: int
      - name: ndo_snaplen
        type: int
      - name: ndo_ll_hdr_len
        type: int
      - name: '*ndo_packetp'
        type: u_char
      - name: '*ndo_snapend'
        type: u_char
      - name: '*ndo_packet_info_stack'
        type: struct netdissect_saved_packet_info
      - name: ndo_if_printer
        type: if_printer
      - name: "(*ndo_default_print)(netdissect_options *,\n\t\t\t    const u_char
          *bp, u_int length)"
        type: void
      - name: "(*ndo_printf)(netdissect_options *,\n\t\t     const char *fmt, ...)"
        type: int
      - name: "NORETURN_FUNCPTR (*ndo_error)(netdissect_options *,\n\t\t\t\t     status_exit_codes_t
          status,\n\t\t\t\t     const char *fmt, ...)"
        type: void
      - name: "(*ndo_warning)(netdissect_options *,\n\t\t      const char *fmt, ...)"
        type: void
      item_type: struct
      name: netdissect_options
      pos:
        line_end: 276
        line_start: 209
        source_file: /src/tcpdump/netdissect.h
    - fields:
      - name: uintval
        type: u_int
      - name: '*tokary'
        type: struct tok
      item_type: struct
      name: uint_tokary
      pos:
        line_end: 532
        line_start: 528
        source_file: /src/tcpdump/netdissect.h
    - fields:
      - name: '*(*addr_string)(netdissect_options *, const u_char *)'
        type: char
      - name: '*addr'
        type: u_char
      item_type: struct
      name: lladdr_info
      pos:
        line_end: 622
        line_start: 619
        source_file: /src/tcpdump/netdissect.h
    - fields:
      - name: '*ptr'
        type: uint8_t
      - name: len
        type: int
      item_type: struct
      name: cksum_vec
      pos:
        line_end: 800
        line_start: 797
        source_file: /src/tcpdump/netdissect.h
    typedefs:
    - item_type: typedef
      name: nd_uint8_t[1]
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_uint16_t[2]
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_uint24_t[3]
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_uint32_t[4]
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_uint40_t[5]
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_uint48_t[6]
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_uint56_t[7]
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_uint64_t[8]
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_int8_t[1]
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/tcpdump/netdissect.h
      type: signed char
    - item_type: typedef
      name: nd_int16_t[2]
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_int24_t[3]
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_int32_t[4]
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_int40_t[5]
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_int48_t[6]
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_int56_t[7]
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_int64_t[8]
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_float[4]
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_double[8]
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_ipv4[4]
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_ipv6[16]
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_mac48[MAC48_LEN]
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_eui64[EUI64_LEN]
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: nd_byte
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/tcpdump/netdissect.h
      type: unsigned char
    - item_type: typedef
      name: netdissect_options
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/tcpdump/netdissect.h
      type: netdissect_options
    - item_type: typedef
      name: (*if_printer)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/tcpdump/netdissect.h
      type: void
    union: []
- function_names:
  - ap1394_hdr_print
  - ap1394_if_print
  source_file: /src/tcpdump/print-ap1394.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FIREWIRE_HDRLEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-ap1394.c
      type_or_value: '18'
    structs:
    - fields:
      - name: firewire_dhost
        type: nd_eui64
      - name: firewire_shost
        type: nd_eui64
      - name: firewire_type
        type: nd_uint16_t
      item_type: struct
      name: firewire_header
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/tcpdump/print-ap1394.c
    typedefs: []
    union: []
- function_names:
  - indent_string
  - rpki_rtr_pdu_print
  - rpki_rtr_print
  source_file: /src/tcpdump/print-rpki-rtr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RPKI_RTR_SERIAL_NOTIFY_PDU
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-rpki-rtr.c
      type_or_value: '0'
    - item_type: preproc_def
      name: RPKI_RTR_SERIAL_QUERY_PDU
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-rpki-rtr.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RPKI_RTR_RESET_QUERY_PDU
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-rpki-rtr.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RPKI_RTR_CACHE_RESPONSE_PDU
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-rpki-rtr.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RPKI_RTR_IPV4_PREFIX_PDU
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-rpki-rtr.c
      type_or_value: '4'
    - item_type: preproc_def
      name: RPKI_RTR_IPV6_PREFIX_PDU
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-rpki-rtr.c
      type_or_value: '6'
    - item_type: preproc_def
      name: RPKI_RTR_END_OF_DATA_PDU
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-rpki-rtr.c
      type_or_value: '7'
    - item_type: preproc_def
      name: RPKI_RTR_CACHE_RESET_PDU
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-rpki-rtr.c
      type_or_value: '8'
    - item_type: preproc_def
      name: RPKI_RTR_ERROR_REPORT_PDU
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-rpki-rtr.c
      type_or_value: '10'
    structs:
    - fields:
      - name: version
        type: nd_uint8_t
      - name: pdu_type
        type: nd_uint8_t
      - name: u
        type: "union {\n\tnd_uint16_t session_id;\t/* Session id */\n\tnd_uint16_t
          error_code;\t/* Error code */\n    }"
      - name: length
        type: nd_uint32_t
      item_type: struct
      name: rpki_rtr_pdu_
      pos:
        line_end: 45
        line_start: 37
        source_file: /src/tcpdump/print-rpki-rtr.c
    - fields:
      - name: pdu_header
        type: rpki_rtr_pdu
      - name: flags
        type: nd_uint8_t
      - name: prefix_length
        type: nd_uint8_t
      - name: max_length
        type: nd_uint8_t
      - name: zero
        type: nd_uint8_t
      - name: prefix
        type: nd_ipv4
      - name: as
        type: nd_uint32_t
      item_type: struct
      name: rpki_rtr_pdu_ipv4_prefix_
      pos:
        line_end: 58
        line_start: 50
        source_file: /src/tcpdump/print-rpki-rtr.c
    - fields:
      - name: pdu_header
        type: rpki_rtr_pdu
      - name: flags
        type: nd_uint8_t
      - name: prefix_length
        type: nd_uint8_t
      - name: max_length
        type: nd_uint8_t
      - name: zero
        type: nd_uint8_t
      - name: prefix
        type: nd_ipv6
      - name: as
        type: nd_uint32_t
      item_type: struct
      name: rpki_rtr_pdu_ipv6_prefix_
      pos:
        line_end: 71
        line_start: 63
        source_file: /src/tcpdump/print-rpki-rtr.c
    - fields:
      - name: pdu_header
        type: rpki_rtr_pdu
      - name: encapsulated_pdu_length
        type: nd_uint32_t
      item_type: struct
      name: rpki_rtr_pdu_error_report_
      pos:
        line_end: 82
        line_start: 76
        source_file: /src/tcpdump/print-rpki-rtr.c
    typedefs: []
    union: []
- function_names:
  - vxlan_print
  source_file: /src/tcpdump/print-vxlan.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VXLAN_I
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/tcpdump/print-vxlan.c
      type_or_value: '0x08 '
    - item_type: preproc_def
      name: VXLAN_HDR_LEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/print-vxlan.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipcomp_print
  source_file: /src/tcpdump/print-ipcomp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: comp_nxt
        type: nd_uint8_t
      - name: comp_flags
        type: nd_uint8_t
      - name: comp_cpi
        type: nd_uint16_t
      item_type: struct
      name: ipcomp
      pos:
        line_end: 34
        line_start: 30
        source_file: /src/tcpdump/print-ipcomp.c
    typedefs: []
    union: []
- function_names:
  - bootp_print
  - rfc1048_print
  - PRINTCMUADDR
  - cmu_print
  source_file: /src/tcpdump/print-bootp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BOOTPREPLY
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BOOTPREQUEST
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: VM_CMU
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '"CMU"'
    - item_type: preproc_def
      name: VM_RFC1048
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '{ 99, 130, 83, 99 }'
    - item_type: preproc_def
      name: TAG_PAD
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)   0)
    - item_type: preproc_def
      name: TAG_SUBNET_MASK
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)   1)
    - item_type: preproc_def
      name: TAG_TIME_OFFSET
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)   2)
    - item_type: preproc_def
      name: TAG_GATEWAY
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)   3)
    - item_type: preproc_def
      name: TAG_TIME_SERVER
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)   4)
    - item_type: preproc_def
      name: TAG_NAME_SERVER
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)   5)
    - item_type: preproc_def
      name: TAG_DOMAIN_SERVER
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)   6)
    - item_type: preproc_def
      name: TAG_LOG_SERVER
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)   7)
    - item_type: preproc_def
      name: TAG_COOKIE_SERVER
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)   8)
    - item_type: preproc_def
      name: TAG_LPR_SERVER
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)   9)
    - item_type: preproc_def
      name: TAG_IMPRESS_SERVER
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  10)
    - item_type: preproc_def
      name: TAG_RLP_SERVER
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  11)
    - item_type: preproc_def
      name: TAG_HOSTNAME
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  12)
    - item_type: preproc_def
      name: TAG_BOOTSIZE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  13)
    - item_type: preproc_def
      name: TAG_END
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 255)
    - item_type: preproc_def
      name: TAG_DUMPPATH
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  14)
    - item_type: preproc_def
      name: TAG_DOMAINNAME
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  15)
    - item_type: preproc_def
      name: TAG_SWAP_SERVER
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  16)
    - item_type: preproc_def
      name: TAG_ROOTPATH
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  17)
    - item_type: preproc_def
      name: TAG_EXTPATH
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  18)
    - item_type: preproc_def
      name: TAG_IP_FORWARD
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  19)
    - item_type: preproc_def
      name: TAG_NL_SRCRT
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  20)
    - item_type: preproc_def
      name: TAG_PFILTERS
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  21)
    - item_type: preproc_def
      name: TAG_REASS_SIZE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  22)
    - item_type: preproc_def
      name: TAG_DEF_TTL
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  23)
    - item_type: preproc_def
      name: TAG_MTU_TIMEOUT
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  24)
    - item_type: preproc_def
      name: TAG_MTU_TABLE
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  25)
    - item_type: preproc_def
      name: TAG_INT_MTU
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  26)
    - item_type: preproc_def
      name: TAG_LOCAL_SUBNETS
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  27)
    - item_type: preproc_def
      name: TAG_BROAD_ADDR
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  28)
    - item_type: preproc_def
      name: TAG_DO_MASK_DISC
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  29)
    - item_type: preproc_def
      name: TAG_SUPPLY_MASK
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  30)
    - item_type: preproc_def
      name: TAG_DO_RDISC
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  31)
    - item_type: preproc_def
      name: TAG_RTR_SOL_ADDR
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  32)
    - item_type: preproc_def
      name: TAG_STATIC_ROUTE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  33)
    - item_type: preproc_def
      name: TAG_USE_TRAILERS
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  34)
    - item_type: preproc_def
      name: TAG_ARP_TIMEOUT
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  35)
    - item_type: preproc_def
      name: TAG_ETH_ENCAP
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  36)
    - item_type: preproc_def
      name: TAG_TCP_TTL
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  37)
    - item_type: preproc_def
      name: TAG_TCP_KEEPALIVE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  38)
    - item_type: preproc_def
      name: TAG_KEEPALIVE_GO
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  39)
    - item_type: preproc_def
      name: TAG_NIS_DOMAIN
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  40)
    - item_type: preproc_def
      name: TAG_NIS_SERVERS
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  41)
    - item_type: preproc_def
      name: TAG_NTP_SERVERS
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  42)
    - item_type: preproc_def
      name: TAG_VENDOR_OPTS
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  43)
    - item_type: preproc_def
      name: TAG_NETBIOS_NS
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  44)
    - item_type: preproc_def
      name: TAG_NETBIOS_DDS
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  45)
    - item_type: preproc_def
      name: TAG_NETBIOS_NODE
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  46)
    - item_type: preproc_def
      name: TAG_NETBIOS_SCOPE
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  47)
    - item_type: preproc_def
      name: TAG_XWIN_FS
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  48)
    - item_type: preproc_def
      name: TAG_XWIN_DM
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  49)
    - item_type: preproc_def
      name: TAG_NIS_P_DOMAIN
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  64)
    - item_type: preproc_def
      name: TAG_NIS_P_SERVERS
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  65)
    - item_type: preproc_def
      name: TAG_MOBILE_HOME
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  68)
    - item_type: preproc_def
      name: TAG_SMTP_SERVER
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  69)
    - item_type: preproc_def
      name: TAG_POP3_SERVER
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  70)
    - item_type: preproc_def
      name: TAG_NNTP_SERVER
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  71)
    - item_type: preproc_def
      name: TAG_WWW_SERVER
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  72)
    - item_type: preproc_def
      name: TAG_FINGER_SERVER
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  73)
    - item_type: preproc_def
      name: TAG_IRC_SERVER
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  74)
    - item_type: preproc_def
      name: TAG_STREETTALK_SRVR
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  75)
    - item_type: preproc_def
      name: TAG_STREETTALK_STDA
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  76)
    - item_type: preproc_def
      name: TAG_REQUESTED_IP
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  50)
    - item_type: preproc_def
      name: TAG_IP_LEASE
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  51)
    - item_type: preproc_def
      name: TAG_OPT_OVERLOAD
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  52)
    - item_type: preproc_def
      name: TAG_TFTP_SERVER
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  66)
    - item_type: preproc_def
      name: TAG_BOOTFILENAME
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  67)
    - item_type: preproc_def
      name: TAG_DHCP_MESSAGE
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  53)
    - item_type: preproc_def
      name: TAG_SERVER_ID
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  54)
    - item_type: preproc_def
      name: TAG_PARM_REQUEST
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  55)
    - item_type: preproc_def
      name: TAG_MESSAGE
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  56)
    - item_type: preproc_def
      name: TAG_MAX_MSG_SIZE
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  57)
    - item_type: preproc_def
      name: TAG_RENEWAL_TIME
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  58)
    - item_type: preproc_def
      name: TAG_REBIND_TIME
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  59)
    - item_type: preproc_def
      name: TAG_VENDOR_CLASS
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  60)
    - item_type: preproc_def
      name: TAG_CLIENT_ID
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  61)
    - item_type: preproc_def
      name: TAG_NDS_SERVERS
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  85)
    - item_type: preproc_def
      name: TAG_NDS_TREE_NAME
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  86)
    - item_type: preproc_def
      name: TAG_NDS_CONTEXT
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  87)
    - item_type: preproc_def
      name: TAG_NDS_IPDOMAIN
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  62)
    - item_type: preproc_def
      name: TAG_NDS_IPINFO
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  63)
    - item_type: preproc_def
      name: TAG_OPEN_GROUP_UAP
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  98)
    - item_type: preproc_def
      name: TAG_AUTO_CONFIGURE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 116)
    - item_type: preproc_def
      name: TAG_SLP_DA
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  78)
    - item_type: preproc_def
      name: TAG_SLP_SCOPE
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  79)
    - item_type: preproc_def
      name: TAG_IPV6_ONLY_PREFERRED
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 108)
    - item_type: preproc_def
      name: TAG_NS_SEARCH
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 117)
    - item_type: preproc_def
      name: TAG_USER_CLASS
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  77)
    - item_type: preproc_def
      name: TAG_IP4_SUBNET_SELECT
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 118)
    - item_type: preproc_def
      name: TAG_CLASSLESS_STATIC_RT
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 121)
    - item_type: preproc_def
      name: TAG_CLASSLESS_STA_RT_MS
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 249)
    - item_type: preproc_def
      name: TAG_SZTP_REDIRECT
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 143)
    - item_type: preproc_def
      name: TAG_TFTP_SERVER_ADDRESS
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 150)
    - item_type: preproc_def
      name: TAG_SLP_NAMING_AUTH
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  80)
    - item_type: preproc_def
      name: TAG_CLIENT_FQDN
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  81)
    - item_type: preproc_def
      name: TAG_AGENT_CIRCUIT
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  82)
    - item_type: preproc_def
      name: TAG_AGENT_REMOTE
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  83)
    - item_type: preproc_def
      name: TAG_TZ_STRING
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  88)
    - item_type: preproc_def
      name: TAG_FQDN_OPTION
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  89)
    - item_type: preproc_def
      name: TAG_AUTH
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  90)
    - item_type: preproc_def
      name: TAG_CLIENT_LAST_TRANSACTION_TIME
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  91)
    - item_type: preproc_def
      name: TAG_ASSOCIATED_IP
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  92)
    - item_type: preproc_def
      name: TAG_CLIENT_ARCH
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  93)
    - item_type: preproc_def
      name: TAG_CLIENT_NDI
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  94)
    - item_type: preproc_def
      name: TAG_CLIENT_GUID
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  97)
    - item_type: preproc_def
      name: TAG_LDAP_URL
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t)  95)
    - item_type: preproc_def
      name: TAG_TZ_PCODE
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 100)
    - item_type: preproc_def
      name: TAG_TZ_TCODE
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 101)
    - item_type: preproc_def
      name: TAG_NETINFO_PARENT
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 112)
    - item_type: preproc_def
      name: TAG_NETINFO_PARENT_TAG
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 113)
    - item_type: preproc_def
      name: TAG_URL
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 114)
    - item_type: preproc_def
      name: TAG_MUDURL
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: ((uint8_t) 161)
    - item_type: preproc_def
      name: DHCPDISCOVER
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DHCPOFFER
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DHCPREQUEST
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DHCPDECLINE
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: DHCPACK
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: DHCPNAK
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: DHCPRELEASE
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: DHCPINFORM
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: DHCPLEASEQUERY
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: DHCPLEASEUNASSIGNED
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: DHCPLEASEUNKNOWN
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: DHCPLEASEACTIVE
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: VF_SMASK
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: CLIENT_FQDN_FLAGS_S
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: CLIENT_FQDN_FLAGS_O
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: CLIENT_FQDN_FLAGS_E
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: CLIENT_FQDN_FLAGS_N
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: AGENT_SUBOPTION_CIRCUIT_ID
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: AGENT_SUBOPTION_REMOTE_ID
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: AGENT_SUBOPTION_SUBSCRIBER_ID
      pos:
        line_end: 585
        line_start: 584
        source_file: /src/tcpdump/print-bootp.c
      type_or_value: "6\t"
    structs:
    - fields:
      - name: bp_op
        type: nd_uint8_t
      - name: bp_htype
        type: nd_uint8_t
      - name: bp_hlen
        type: nd_uint8_t
      - name: bp_hops
        type: nd_uint8_t
      - name: bp_xid
        type: nd_uint32_t
      - name: bp_secs
        type: nd_uint16_t
      - name: bp_flags
        type: nd_uint16_t
      - name: bp_ciaddr
        type: nd_ipv4
      - name: bp_yiaddr
        type: nd_ipv4
      - name: bp_siaddr
        type: nd_ipv4
      - name: bp_giaddr
        type: nd_ipv4
      - name: bp_chaddr[16]
        type: nd_byte
      - name: bp_sname[64]
        type: nd_byte
      - name: bp_file[128]
        type: nd_byte
      - name: bp_vend[64]
        type: nd_byte
      item_type: struct
      name: bootp
      pos:
        line_end: 72
        line_start: 55
        source_file: /src/tcpdump/print-bootp.c
    - fields:
      - name: v_magic[4]
        type: nd_byte
      - name: v_flags
        type: nd_uint32_t
      - name: v_smask
        type: nd_ipv4
      - name: v_dgate
        type: nd_ipv4
      - name: v_dns1
        type: nd_ipv4
      - name: v_ins1
        type: nd_ipv4
      - name: v_ts1
        type: nd_ipv4
      - name: v_unused[24]
        type: nd_byte
      item_type: struct
      name: cmu_vend
      pos:
        line_end: 251
        line_start: 242
        source_file: /src/tcpdump/print-bootp.c
    typedefs: []
    union: []
- function_names:
  - msdp_print
  source_file: /src/tcpdump/print-msdp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSDP_TYPE_MAX
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/tcpdump/print-msdp.c
      type_or_value: '7'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/fptype.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/getservent.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __PATH_SYSROOT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/getservent.h
      type_or_value: '"SYSTEMROOT"'
    - item_type: preproc_def
      name: __PATH_ETC_INET
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/getservent.h
      type_or_value: '"\\System32\\drivers\\etc\\"'
    - item_type: preproc_def
      name: __PATH_SERVICES
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/getservent.h
      type_or_value: '"services"'
    - item_type: preproc_def
      name: __PATH_SYSROOT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/getservent.h
      type_or_value: '"PREFIX"'
    - item_type: preproc_def
      name: __PATH_ETC_INET
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/getservent.h
      type_or_value: '"/etc/"'
    - item_type: preproc_def
      name: __PATH_SERVICES
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/getservent.h
      type_or_value: __PATH_ETC_INET"services"
    - item_type: preproc_def
      name: MAXALIASES
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/getservent.h
      type_or_value: '35'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLARE_PRINTER
  - STR_OR_ID
  - PROTOIDSTR
  - NPSTR
  - ETYPESTR
  - CHECKLEN
  - NPFUNC
  - iszero
  - cookie_find
  - cookie_record
  - cookie_isinitiator
  - cookie_isresponder
  - cookie_sidecheck
  - hexprint
  - rawprint
  - ike_show_somedata
  - ikev1_attrmap_print
  - ikev1_attr_print
  - ikev1_sa_print
  - ikev1_p_print
  - ikev1_t_print
  - ikev1_ke_print
  - ikev1_id_print
  - ikev1_cert_print
  - ikev1_cr_print
  - ikev1_hash_print
  - ikev1_sig_print
  - ikev1_nonce_print
  - ikev1_n_print
  - NOTIFY_ERROR_STR
  - IPSEC_NOTIFY_ERROR_STR
  - NOTIFY_STATUS_STR
  - IPSEC_NOTIFY_STATUS_STR
  - ikev1_d_print
  - ikev1_vid_print
  - ikev2_pay_print
  - ikev2_gen_print
  - ikev2_t_print
  - ikev2_p_print
  - ikev2_sa_print
  - ikev2_ke_print
  - ikev2_ID_print
  - ikev2_cert_print
  - ikev2_cr_print
  - ikev2_auth_print
  - ikev2_nonce_print
  - ikev2_n_print
  - ikev2_d_print
  - ikev2_vid_print
  - ikev2_TS_print
  - ikev2_e_print
  - ikev2_cp_print
  - ikev2_eap_print
  - ike_sub0_print
  - ikev1_sub_print
  - numstr
  - ikev1_print
  - ikev2_sub0_print
  - ikev2_sub_print
  - ikev2_print
  - isakmp_print
  - isakmp_rfc3948_print
  source_file: /src/tcpdump/print-isakmp.c
  types:
    enum:
    - enumerators:
      - name: IV2_T_ENCR
        value: '1'
      - name: IV2_T_DH
        value: '4'
      - name: IV2_T_PRF
        value: '2'
      - name: IV2_T_INTEG
        value: '3'
      - name: IV2_T_ESN
        value: '5'
      item_type: enum
      name: ikev2_t_type
      pos:
        line_end: 339
        line_start: 333
        source_file: /src/tcpdump/print-isakmp.c
    - enumerators:
      - name: ID_IPV4_ADDR
        value: '1'
      - name: ID_DER_ASN1_DN
        value: '9'
      - name: ID_IPV6_ADDR
        value: '5'
      - name: ID_FQDN
        value: '2'
      - name: ID_RFC822_ADDR
        value: '3'
      - name: ID_DER_ASN1_GN
        value: '10'
      - name: ID_KEY_ID
        value: '11'
      item_type: enum
      name: ikev2_id_type
      pos:
        line_end: 359
        line_start: 351
        source_file: /src/tcpdump/print-isakmp.c
    - enumerators:
      - name: IV2_NOTIFY_INVALID_MAJOR_VERSION
        value: '5'
      - name: IV2_NOTIFY_NO_ADDITIONAL_SAS
        value: '35'
      - name: IV2_NOTIFY_TEMPORARY_FAILURE
        value: '43'
      - name: IV2_NOTIFY_USE_PPK
        value: '16435'
      - name: IV2_NOTIFY_TICKET_ACK
        value: '16411'
      - name: IV2_NOTIFY_QUICK_CRASH_DETECTION
        value: '16419'
      - name: IV2_NOTIFY_NON_FIRST_FRAGMENTS_ALSO
        value: '16395'
      - name: IV2_NOTIFY_AUTH_LIFETIME
        value: '16403'
      - name: IV2_NOTIFY_IPCOMP_SUPPORTED
        value: '16387'
      - name: IV2_NOTIFY_ERX_SUPPORTED
        value: '16427'
      - name: IV2_NOTIFY_ADDITIONAL_KEY_EXCHANGE
        value: '16441'
      - name: IV2_NOTIFY_SECURE_PASSWORD_METHODS
        value: '16424'
      - name: IV2_NOTIFY_UPDATE_SA_ADDRESSES
        value: '16400'
      - name: IV2_NOTIFY_REDIRECTED_FROM
        value: '16408'
      - name: IV2_NOTIFY_INITIAL_CONTACT
        value: '16384'
      - name: IV2_NOTIFY_INVALID_KE_PAYLOAD
        value: '17'
      - name: IV2_NOTIFY_UNACCEPTABLE_ADDRESSES
        value: '40'
      - name: IV2_NOTIFY_HTTP_CERT_LOOKUP_SUPPORTED
        value: '16392'
      - name: IV2_NOTIFY_CLONE_IKE_SA_SUPPORTED
        value: '16432'
      - name: IV2_NOTIFY_ROHC_SUPPORTED
        value: '16416'
      - name: IV2_NOTIFY_IP6_ALLOWED
        value: '16440'
      - name: IV2_NOTIFY_INVALID_MESSAGE_ID
        value: '9'
      - name: IV2_NOTIFY_FAILED_CP_REQUIRED
        value: '37'
      - name: IV2_NOTIFY_TICKET_OPAQUE
        value: '16413'
      - name: IV2_NOTIFY_NAT_DETECTION_DESTINATION_IP
        value: '16389'
      - name: IV2_NOTIFY_ADDITIONAL_IP4_ADDRESS
        value: '16397'
      - name: IV2_NOTIFY_NO_PPK_AUTH
        value: '16437'
      - name: IV2_NOTIFY_INVALID_GROUP_ID
        value: '45'
      - name: IV2_NOTIFY_IPSEC_REPLAY_COUNTER_SYNC_SUPPORTED
        value: '16421'
      - name: IV2_NOTIFY_SENDER_REQUEST_ID
        value: '16429'
      - name: IV2_NOTIFY_ANOTHER_AUTH_FOLLOWS
        value: '16405'
      - name: IV2_NOTIFY_NO_NATS_ALLOWED
        value: '16402'
      - name: IV2_NOTIFY_ADDITIONAL_TS_POSSIBLE
        value: '16386'
      - name: IV2_NOTIFY_PSK_CONFIRM
        value: '16426'
      - name: IV2_NOTIFY_INVALID_IKE_SPI
        value: '4'
      - name: IV2_NOTIFY_SINGLE_PAIR_REQUIRED
        value: '34'
      - name: IV2_NOTIFY_USE_ASSIGNED_HOA
        value: '42'
      - name: IV2_NOTIFY_TICKET_REQUEST
        value: '16410'
      - name: IV2_NOTIFY_PUZZLE
        value: '16434'
      - name: IV2_NOTIFY_CHILDLESS_IKEV2_SUPPORTED
        value: '16418'
      - name: IV2_NOTIFY_ESP_TFC_PADDING_NOT_SUPPORTED
        value: '16394'
      - name: IV2_NOTIFY_NO_PROPOSAL_CHOSEN
        value: '14'
      - name: IV2_NOTIFY_INVALID_SELECTORS
        value: '39'
      - name: IV2_NOTIFY_USE_TRANSPORT_MODE
        value: '16391'
      - name: IV2_NOTIFY_SIGNATURE_HASH_ALGORITHMS
        value: '16431'
      - name: IV2_NOTIFY_USE_WESP_MODE
        value: '16415'
      - name: IV2_NOTIFY_IPSEC_REPLAY_COUNTER_SYNC
        value: '16423'
      - name: IV2_NOTIFY_NO_ADDITIONAL_ADDRESSES
        value: '16399'
      - name: IV2_NOTIFY_REDIRECT
        value: '16407'
      - name: IV2_NOTIFY_STATE_NOT_FOUND
        value: '47'
      - name: IV2_NOTIFY_IP4_ALLOWED
        value: '16439'
      - name: IV2_NOTIFY_USE_AGGFRAG
        value: '16442'
      - name: IV2_NOTIFY_IKEV2_MESSAGE_ID_SYNC_SUPPORTED
        value: '16420'
      - name: IV2_NOTIFY_IFOM_CAPABILITY
        value: '16428'
      - name: IV2_NOTIFY_MULTIPLE_AUTH_SUPPORTED
        value: '16404'
      - name: IV2_NOTIFY_INVALID_SYNTAX
        value: '7'
      - name: IV2_NOTIFY_INTERNAL_ADDRESS_FAILURE
        value: '36'
      - name: IV2_NOTIFY_CHILD_SA_NOT_FOUND
        value: '44'
      - name: IV2_NOTIFY_TICKET_NACK
        value: '16412'
      - name: IV2_NOTIFY_NAT_DETECTION_SOURCE_IP
        value: '16388'
      - name: IV2_NOTIFY_MOBIKE_SUPPORTED
        value: '16396'
      - name: IV2_NOTIFY_PPK_IDENTITY
        value: '16436'
      - name: IV2_NOTIFY_UNSUPPORTED_CRITICAL_PAYLOAD
        value: '1'
      - name: IV2_NOTIFY_AUTHENTICATION_FAILED
        value: '24'
      - name: IV2_NOTIFY_UNEXPECTED_NAT_DETECTED
        value: '41'
      - name: IV2_NOTIFY_CLONE_IKE_SA
        value: '16433'
      - name: IV2_NOTIFY_TICKET_LT_OPAQUE
        value: '16409'
      - name: IV2_NOTIFY_EAP_ONLY_AUTHENTICATION
        value: '16417'
      - name: IV2_NOTIFY_REKEY_SA
        value: '16393'
      - name: IV2_NOTIFY_COOKIE2
        value: '16401'
      - name: IV2_NOTIFY_SET_WINDOW_SIZE
        value: '16385'
      - name: IV2_NOTIFY_PSK_PERSIST
        value: '16425'
      - name: IV2_NOTIFY_IKEV2_MESSAGE_ID_SYNC
        value: '16422'
      - name: IV2_NOTIFY_ADDITIONAL_IP6_ADDRESS
        value: '16398'
      - name: IV2_NOTIFY_REDIRECT_SUPPORTED
        value: '16406'
      - name: IV2_NOTIFY_AUTHORIZATION_FAILED
        value: '46'
      - name: IV2_NOTIFY_INVALID_SPI
        value: '11'
      - name: IV2_NOTIFY_TS_UNACCEPTABLE
        value: '38'
      - name: IV2_NOTIFY_COOKIE
        value: '16390'
      - name: IV2_NOTIFY_IKEV2_FRAGMENTATION_SUPPORTED
        value: '16430'
      - name: IV2_NOTIFY_LINK_ID
        value: '16414'
      - name: IV2_NOTIFY_INTERMEDIATE_EXCHANGE_SUPPORTED
        value: '16438'
      item_type: enum
      name: ikev2_n_type
      pos:
        line_end: 460
        line_start: 377
        source_file: /src/tcpdump/print-isakmp.c
    - enumerators:
      - name: IV2_RSA_SIG
        value: '1'
      - name: IV2_DSS_SIG
        value: '3'
      - name: IV2_SHARED
        value: '2'
      item_type: enum
      name: ikev2_auth_type
      pos:
        line_end: 479
        line_start: 475
        source_file: /src/tcpdump/print-isakmp.c
    preproc_defs:
    - item_type: preproc_def
      name: PORT_ISAKMP
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '500'
    - item_type: preproc_def
      name: ISAKMP_VERS_MAJOR
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '0xf0'
    - item_type: preproc_def
      name: ISAKMP_VERS_MAJOR_SHIFT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ISAKMP_VERS_MINOR
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: ISAKMP_VERS_MINOR_SHIFT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_NONE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_SA
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_P
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_T
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_KE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_ID
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '5 '
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_CERT
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '6 '
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_CR
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '7 '
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_HASH
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_SIG
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '9 '
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_NONCE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '10 '
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_N
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '11 '
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_D
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '12 '
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_VID
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '13 '
    - item_type: preproc_def
      name: ISAKMP_NPTYPE_v2E
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '46 '
    - item_type: preproc_def
      name: IKEv1_MAJOR_VERSION
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IKEv1_MINOR_VERSION
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: IKEv2_MAJOR_VERSION
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IKEv2_MINOR_VERSION
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ISAKMP_FLAG_E
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: ISAKMP_FLAG_C
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '0x02 '
    - item_type: preproc_def
      name: ISAKMP_FLAG_extra
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: ISAKMP_FLAG_I
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '(1 << 3)  '
    - item_type: preproc_def
      name: ISAKMP_FLAG_V
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '(1 << 4)  '
    - item_type: preproc_def
      name: ISAKMP_FLAG_R
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '(1 << 5)  '
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_PAYLOAD_TYPE
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_DOI_NOT_SUPPORTED
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_SITUATION_NOT_SUPPORTED
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_COOKIE
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_MAJOR_VERSION
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_MINOR_VERSION
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_EXCHANGE_TYPE
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_FLAGS
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_MESSAGE_ID
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_PROTOCOL_ID
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_SPI
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_TRANSFORM_ID
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_ATTRIBUTES_NOT_SUPPORTED
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_NO_PROPOSAL_CHOSEN
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_BAD_PROPOSAL_SYNTAX
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '15'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_PAYLOAD_MALFORMED
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '16'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_KEY_INFORMATION
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '17'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_ID_INFORMATION
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '18'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_CERT_ENCODING
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '19'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_CERTIFICATE
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '20'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_BAD_CERT_REQUEST_SYNTAX
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '21'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_CERT_AUTHORITY
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '22'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_HASH_INFORMATION
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '23'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_AUTHENTICATION_FAILED
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '24'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_INVALID_SIGNATURE
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '25'
    - item_type: preproc_def
      name: ISAKMP_NTYPE_ADDRESS_NOTIFICATION
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '26'
    - item_type: preproc_def
      name: IPSEC_DOI
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IPSECDOI_SIT_IDENTITY_ONLY
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: IPSECDOI_SIT_SECRECY
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: IPSECDOI_SIT_INTEGRITY
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: IPSECDOI_PROTO_ISAKMP
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IPSECDOI_KEY_IKE
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IPSECDOI_PROTO_IPSEC_AH
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IPSECDOI_AH_MD5
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IPSECDOI_AH_SHA
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: IPSECDOI_AH_DES
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: IPSECDOI_AH_SHA2_256
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: IPSECDOI_AH_SHA2_384
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: IPSECDOI_AH_SHA2_512
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: IPSECDOI_PROTO_IPSEC_ESP
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: IPSECDOI_ESP_DES_IV64
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IPSECDOI_ESP_DES
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IPSECDOI_ESP_3DES
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: IPSECDOI_ESP_RC5
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: IPSECDOI_ESP_IDEA
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: IPSECDOI_ESP_CAST
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: IPSECDOI_ESP_BLOWFISH
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: IPSECDOI_ESP_3IDEA
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: IPSECDOI_ESP_DES_IV32
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: IPSECDOI_ESP_RC4
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: IPSECDOI_ESP_NULL
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: IPSECDOI_ESP_RIJNDAEL
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: IPSECDOI_ESP_AES
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: IPSECDOI_PROTO_IPCOMP
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: IPSECDOI_IPCOMP_OUI
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IPSECDOI_IPCOMP_DEFLATE
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IPSECDOI_IPCOMP_LZS
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: IPSECDOI_ATTR_SA_LTYPE
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: IPSECDOI_ATTR_SA_LTYPE_DEFAULT
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IPSECDOI_ATTR_SA_LTYPE_SEC
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IPSECDOI_ATTR_SA_LTYPE_KB
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IPSECDOI_ATTR_SA_LDUR
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: IPSECDOI_ATTR_SA_LDUR_DEFAULT
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '28800 '
    - item_type: preproc_def
      name: IPSECDOI_ATTR_GRP_DESC
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: IPSECDOI_ATTR_ENC_MODE
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: IPSECDOI_ATTR_ENC_MODE_TUNNEL
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IPSECDOI_ATTR_ENC_MODE_TRNS
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IPSECDOI_ATTR_AUTH
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '5 '
    - item_type: preproc_def
      name: IPSECDOI_ATTR_AUTH_HMAC_MD5
      pos:
        line_end: 561
        line_start: 560
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IPSECDOI_ATTR_AUTH_HMAC_SHA1
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IPSECDOI_ATTR_AUTH_DES_MAC
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: IPSECDOI_ATTR_AUTH_KPDK
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: IPSECDOI_ATTR_KEY_LENGTH
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '6 '
    - item_type: preproc_def
      name: IPSECDOI_ATTR_KEY_ROUNDS
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '7 '
    - item_type: preproc_def
      name: IPSECDOI_ATTR_COMP_DICT_SIZE
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: IPSECDOI_ATTR_COMP_PRIVALG
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '9 '
    - item_type: preproc_def
      name: IPSECDOI_ID_IPV4_ADDR
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IPSECDOI_ID_FQDN
      pos:
        line_end: 599
        line_start: 598
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IPSECDOI_ID_USER_FQDN
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: IPSECDOI_ID_IPV4_ADDR_SUBNET
      pos:
        line_end: 601
        line_start: 600
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: IPSECDOI_ID_IPV6_ADDR
      pos:
        line_end: 602
        line_start: 601
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: IPSECDOI_ID_IPV6_ADDR_SUBNET
      pos:
        line_end: 603
        line_start: 602
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: IPSECDOI_ID_IPV4_ADDR_RANGE
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: IPSECDOI_ID_IPV6_ADDR_RANGE
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: IPSECDOI_ID_DER_ASN1_DN
      pos:
        line_end: 606
        line_start: 605
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: IPSECDOI_ID_DER_ASN1_GN
      pos:
        line_end: 607
        line_start: 606
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: IPSECDOI_ID_KEY_ID
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: IPSECDOI_NTYPE_RESPONDER_LIFETIME
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '24576'
    - item_type: preproc_def
      name: IPSECDOI_NTYPE_REPLAY_STATUS
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '24577'
    - item_type: preproc_def
      name: IPSECDOI_NTYPE_INITIAL_CONTACT
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '24578'
    - item_type: preproc_def
      name: MAXINITIATORS
      pos:
        line_end: 684
        line_start: 683
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '20'
    - item_type: preproc_def
      name: USE_IPSECDOI_IN_PHASE1
      pos:
        line_end: 1365
        line_start: 1364
        source_file: /src/tcpdump/print-isakmp.c
      type_or_value: '1'
    structs:
    - fields:
      - name: i_ck
        type: cookie_t
      - name: r_ck
        type: cookie_t
      - name: np
        type: nd_uint8_t
      - name: vers
        type: nd_uint8_t
      - name: etype
        type: nd_uint8_t
      - name: flags
        type: nd_uint8_t
      - name: msgid
        type: msgid_t
      - name: len
        type: nd_uint32_t
      item_type: struct
      name: isakmp
      pos:
        line_end: 84
        line_start: 71
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: np
        type: nd_uint8_t
      - name: critical
        type: nd_uint8_t
      - name: len
        type: nd_uint16_t
      item_type: struct
      name: isakmp_gen
      pos:
        line_end: 130
        line_start: 126
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: type
        type: nd_uint16_t
      - name: lorv
        type: nd_uint16_t
      item_type: struct
      name: isakmp_data
      pos:
        line_end: 147
        line_start: 142
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: doi
        type: nd_uint32_t
      - name: sit
        type: nd_uint32_t
      item_type: struct
      name: ikev1_pl_sa
      pos:
        line_end: 165
        line_start: 161
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: p_no
        type: nd_uint8_t
      - name: prot_id
        type: nd_uint8_t
      - name: spi_size
        type: nd_uint8_t
      - name: num_t
        type: nd_uint8_t
      item_type: struct
      name: ikev1_pl_p
      pos:
        line_end: 182
        line_start: 175
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: t_no
        type: nd_uint8_t
      - name: t_id
        type: nd_uint8_t
      - name: reserved[2]
        type: nd_byte
      item_type: struct
      name: ikev1_pl_t
      pos:
        line_end: 197
        line_start: 191
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      item_type: struct
      name: ikev1_pl_ke
      pos:
        line_end: 203
        line_start: 200
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: d
        type: "union {\n\t\tnd_uint8_t  id_type;   /* ID Type */\n\t\tnd_uint32_t
          doi_data;  /* DOI Specific ID Data */\n\t}"
      item_type: struct
      name: ikev1_pl_id
      pos:
        line_end: 214
        line_start: 207
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: encode
        type: nd_uint8_t
      - name: cert
        type: nd_uint8_t
      item_type: struct
      name: ikev1_pl_cert
      pos:
        line_end: 226
        line_start: 217
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: num_cert
        type: nd_uint8_t
      item_type: struct
      name: ikev1_pl_cr
      pos:
        line_end: 240
        line_start: 229
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      item_type: struct
      name: ikev1_pl_hash
      pos:
        line_end: 247
        line_start: 244
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      item_type: struct
      name: ikev1_pl_sig
      pos:
        line_end: 254
        line_start: 251
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      item_type: struct
      name: ikev1_pl_nonce
      pos:
        line_end: 261
        line_start: 258
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: doi
        type: nd_uint32_t
      - name: prot_id
        type: nd_uint8_t
      - name: spi_size
        type: nd_uint8_t
      - name: type
        type: nd_uint16_t
      item_type: struct
      name: ikev1_pl_n
      pos:
        line_end: 272
        line_start: 264
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: doi
        type: nd_uint32_t
      - name: prot_id
        type: nd_uint8_t
      - name: spi_size
        type: nd_uint8_t
      - name: num_spi
        type: nd_uint16_t
      item_type: struct
      name: ikev1_pl_d
      pos:
        line_end: 311
        line_start: 304
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: p_no
        type: nd_uint8_t
      - name: prot_id
        type: nd_uint8_t
      - name: spi_size
        type: nd_uint8_t
      - name: num_t
        type: nd_uint8_t
      item_type: struct
      name: ikev2_p
      pos:
        line_end: 323
        line_start: 317
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: t_type
        type: nd_uint8_t
      - name: res2
        type: nd_byte
      - name: t_id
        type: nd_uint16_t
      item_type: struct
      name: ikev2_t
      pos:
        line_end: 331
        line_start: 326
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: ke_group
        type: nd_uint16_t
      - name: ke_res1
        type: nd_uint16_t
      item_type: struct
      name: ikev2_ke
      pos:
        line_end: 347
        line_start: 342
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: type
        type: nd_uint8_t
      - name: res1
        type: nd_byte
      - name: res2[2]
        type: nd_byte
      item_type: struct
      name: ikev2_id
      pos:
        line_end: 367
        line_start: 360
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: prot_id
        type: nd_uint8_t
      - name: spi_size
        type: nd_uint8_t
      - name: type
        type: nd_uint16_t
      item_type: struct
      name: ikev2_n
      pos:
        line_end: 375
        line_start: 370
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: type
        type: uint16_t
      - name: '*msg'
        type: char
      item_type: struct
      name: notify_messages
      pos:
        line_end: 465
        line_start: 462
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: auth_method
        type: nd_uint8_t
      - name: reserved[3]
        type: nd_byte
      item_type: struct
      name: ikev2_auth
      pos:
        line_end: 473
        line_start: 468
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: proto_id
        type: uint8_t
      - name: '*spi'
        type: vchar_t
      - name: dhgrp
        type: uint8_t
      - name: auth_t
        type: uint8_t
      - name: prf_t
        type: uint8_t
      - name: hash_t
        type: uint8_t
      - name: enc_t
        type: uint8_t
      - name: life_t
        type: uint8_t
      - name: ldur
        type: uint32_t
      item_type: struct
      name: oakley_sa
      pos:
        line_end: 495
        line_start: 485
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: doi
        type: nd_uint32_t
      - name: sit
        type: nd_uint32_t
      item_type: struct
      name: ipsecdoi_sa
      pos:
        line_end: 581
        line_start: 577
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: len
        type: nd_uint16_t
      - name: reserved
        type: nd_uint16_t
      item_type: struct
      name: ipsecdoi_secrecy_h
      pos:
        line_end: 586
        line_start: 583
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: h
        type: struct isakmp_gen
      - name: type
        type: nd_uint8_t
      - name: proto_id
        type: nd_uint8_t
      - name: port
        type: nd_uint16_t
      item_type: struct
      name: ipsecdoi_id
      pos:
        line_end: 595
        line_start: 589
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: initiator
        type: cookie_t
      - name: version
        type: u_int
      - name: iaddr
        type: union inaddr_u
      - name: raddr
        type: union inaddr_u
      item_type: struct
      name: cookiecache[MAXINITIATORS]
      pos:
        line_end: 694
        line_start: 689
        source_file: /src/tcpdump/print-isakmp.c
    - fields:
      - name: '*type'
        type: char
      - name: nvalue
        type: u_int
      - name: '*value[30]'
        type: char
      item_type: struct
      name: attrmap
      pos:
        line_end: 953
        line_start: 949
        source_file: /src/tcpdump/print-isakmp.c
    typedefs:
    - item_type: typedef
      name: cookie_t[8]
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/tcpdump/print-isakmp.c
      type: nd_byte
    - item_type: typedef
      name: msgid_t[4]
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/tcpdump/print-isakmp.c
      type: nd_byte
    union:
    - fields:
      - name: in4
        type: nd_ipv4
      - name: in6
        type: nd_ipv6
      item_type: union
      name: inaddr_u
      pos:
        line_end: 688
        line_start: 685
        source_file: /src/tcpdump/print-isakmp.c
- function_names:
  - bcm_li_print
  source_file: /src/tcpdump/print-bcm-li.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BCM_LI_SHIM_LEN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/print-bcm-li.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BCM_LI_PKT_TYPE_UNDECIDED
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-bcm-li.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BCM_LI_PKT_TYPE_IPV4
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-bcm-li.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BCM_LI_PKT_TYPE_IPV6
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-bcm-li.c
      type_or_value: '6'
    - item_type: preproc_def
      name: BCM_LI_PKT_TYPE_ETHERNET
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-bcm-li.c
      type_or_value: '7'
    structs: []
    typedefs: []
    union: []
- function_names:
  - nd_init
  - nd_cleanup
  - nd_push_buffer
  - nd_push_snaplen
  - nd_change_snaplen
  - nd_pop_packet_info
  - nd_pop_all_packet_info
  - nd_trunc_longjmp
  source_file: /src/tcpdump/netdissect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - juniper_ggsn_if_print
  - juniper_es_if_print
  - juniper_monitor_if_print
  - juniper_services_if_print
  - juniper_pppoe_if_print
  - juniper_ether_if_print
  - juniper_ppp_if_print
  - juniper_frelay_if_print
  - juniper_chdlc_if_print
  - juniper_pppoe_atm_if_print
  - juniper_mlppp_if_print
  - juniper_mfr_if_print
  - juniper_mlfr_if_print
  - juniper_atm1_if_print
  - juniper_atm2_if_print
  - juniper_ppp_heuristic_guess
  - ip_heuristic_guess
  - juniper_read_tlv_value
  - juniper_parse_header
  source_file: /src/tcpdump/print-juniper.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JUNIPER_BPF_OUT
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '0       '
    - item_type: preproc_def
      name: JUNIPER_BPF_IN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '1       '
    - item_type: preproc_def
      name: JUNIPER_BPF_PKT_IN
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '0x1     '
    - item_type: preproc_def
      name: JUNIPER_BPF_NO_L2
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '0x2     '
    - item_type: preproc_def
      name: JUNIPER_BPF_IIF
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '0x4     '
    - item_type: preproc_def
      name: JUNIPER_BPF_FILTER
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '0x40    '
    - item_type: preproc_def
      name: JUNIPER_BPF_EXT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '0x80    '
    - item_type: preproc_def
      name: JUNIPER_MGC_NUMBER
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '0x4d4743 '
    - item_type: preproc_def
      name: JUNIPER_LSQ_COOKIE_RE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: JUNIPER_LSQ_COOKIE_DIR
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: JUNIPER_LSQ_L3_PROTO_SHIFT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '4'
    - item_type: preproc_def
      name: JUNIPER_LSQ_L3_PROTO_MASK
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: (0x17 << JUNIPER_LSQ_L3_PROTO_SHIFT)
    - item_type: preproc_def
      name: JUNIPER_LSQ_L3_PROTO_IPV4
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: (0 << JUNIPER_LSQ_L3_PROTO_SHIFT)
    - item_type: preproc_def
      name: JUNIPER_LSQ_L3_PROTO_IPV6
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: (1 << JUNIPER_LSQ_L3_PROTO_SHIFT)
    - item_type: preproc_def
      name: JUNIPER_LSQ_L3_PROTO_MPLS
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: (2 << JUNIPER_LSQ_L3_PROTO_SHIFT)
    - item_type: preproc_def
      name: JUNIPER_LSQ_L3_PROTO_ISO
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: (3 << JUNIPER_LSQ_L3_PROTO_SHIFT)
    - item_type: preproc_def
      name: AS_PIC_COOKIE_LEN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '8'
    - item_type: preproc_def
      name: JUNIPER_IPSEC_O_ESP_ENCRYPT_ESP_AUTHEN_TYPE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '1'
    - item_type: preproc_def
      name: JUNIPER_IPSEC_O_ESP_ENCRYPT_AH_AUTHEN_TYPE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '2'
    - item_type: preproc_def
      name: JUNIPER_IPSEC_O_ESP_AUTHENTICATION_TYPE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '3'
    - item_type: preproc_def
      name: JUNIPER_IPSEC_O_AH_AUTHENTICATION_TYPE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '4'
    - item_type: preproc_def
      name: JUNIPER_IPSEC_O_ESP_ENCRYPTION_TYPE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '5'
    - item_type: preproc_def
      name: JUNIPER_EXT_TLV_OVERHEAD
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: 2U
    - item_type: preproc_def
      name: JUNIPER_IFML_ETHER
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '1'
    - item_type: preproc_def
      name: JUNIPER_IFML_FDDI
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '2'
    - item_type: preproc_def
      name: JUNIPER_IFML_TOKENRING
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '3'
    - item_type: preproc_def
      name: JUNIPER_IFML_PPP
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '4'
    - item_type: preproc_def
      name: JUNIPER_IFML_FRAMERELAY
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '5'
    - item_type: preproc_def
      name: JUNIPER_IFML_CISCOHDLC
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '6'
    - item_type: preproc_def
      name: JUNIPER_IFML_SMDSDXI
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '7'
    - item_type: preproc_def
      name: JUNIPER_IFML_ATMPVC
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '8'
    - item_type: preproc_def
      name: JUNIPER_IFML_PPP_CCC
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '9'
    - item_type: preproc_def
      name: JUNIPER_IFML_FRAMERELAY_CCC
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '10'
    - item_type: preproc_def
      name: JUNIPER_IFML_IPIP
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '11'
    - item_type: preproc_def
      name: JUNIPER_IFML_GRE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '12'
    - item_type: preproc_def
      name: JUNIPER_IFML_PIM
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '13'
    - item_type: preproc_def
      name: JUNIPER_IFML_PIMD
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '14'
    - item_type: preproc_def
      name: JUNIPER_IFML_CISCOHDLC_CCC
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '15'
    - item_type: preproc_def
      name: JUNIPER_IFML_VLAN_CCC
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '16'
    - item_type: preproc_def
      name: JUNIPER_IFML_MLPPP
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '17'
    - item_type: preproc_def
      name: JUNIPER_IFML_MLFR
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '18'
    - item_type: preproc_def
      name: JUNIPER_IFML_ML
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '19'
    - item_type: preproc_def
      name: JUNIPER_IFML_LSI
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '20'
    - item_type: preproc_def
      name: JUNIPER_IFML_DFE
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '21'
    - item_type: preproc_def
      name: JUNIPER_IFML_ATM_CELLRELAY_CCC
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '22'
    - item_type: preproc_def
      name: JUNIPER_IFML_CRYPTO
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '23'
    - item_type: preproc_def
      name: JUNIPER_IFML_GGSN
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '24'
    - item_type: preproc_def
      name: JUNIPER_IFML_LSI_PPP
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '25'
    - item_type: preproc_def
      name: JUNIPER_IFML_LSI_CISCOHDLC
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '26'
    - item_type: preproc_def
      name: JUNIPER_IFML_PPP_TCC
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '27'
    - item_type: preproc_def
      name: JUNIPER_IFML_FRAMERELAY_TCC
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '28'
    - item_type: preproc_def
      name: JUNIPER_IFML_CISCOHDLC_TCC
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '29'
    - item_type: preproc_def
      name: JUNIPER_IFML_ETHERNET_CCC
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '30'
    - item_type: preproc_def
      name: JUNIPER_IFML_VT
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '31'
    - item_type: preproc_def
      name: JUNIPER_IFML_EXTENDED_VLAN_CCC
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '32'
    - item_type: preproc_def
      name: JUNIPER_IFML_ETHER_OVER_ATM
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '33'
    - item_type: preproc_def
      name: JUNIPER_IFML_MONITOR
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '34'
    - item_type: preproc_def
      name: JUNIPER_IFML_ETHERNET_TCC
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '35'
    - item_type: preproc_def
      name: JUNIPER_IFML_VLAN_TCC
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '36'
    - item_type: preproc_def
      name: JUNIPER_IFML_EXTENDED_VLAN_TCC
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '37'
    - item_type: preproc_def
      name: JUNIPER_IFML_CONTROLLER
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '38'
    - item_type: preproc_def
      name: JUNIPER_IFML_MFR
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '39'
    - item_type: preproc_def
      name: JUNIPER_IFML_LS
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '40'
    - item_type: preproc_def
      name: JUNIPER_IFML_ETHERNET_VPLS
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '41'
    - item_type: preproc_def
      name: JUNIPER_IFML_ETHERNET_VLAN_VPLS
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '42'
    - item_type: preproc_def
      name: JUNIPER_IFML_ETHERNET_EXTENDED_VLAN_VPLS
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '43'
    - item_type: preproc_def
      name: JUNIPER_IFML_LT
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '44'
    - item_type: preproc_def
      name: JUNIPER_IFML_SERVICES
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '45'
    - item_type: preproc_def
      name: JUNIPER_IFML_ETHER_VPLS_OVER_ATM
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '46'
    - item_type: preproc_def
      name: JUNIPER_IFML_FR_PORT_CCC
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '47'
    - item_type: preproc_def
      name: JUNIPER_IFML_FRAMERELAY_EXT_CCC
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '48'
    - item_type: preproc_def
      name: JUNIPER_IFML_FRAMERELAY_EXT_TCC
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '49'
    - item_type: preproc_def
      name: JUNIPER_IFML_FRAMERELAY_FLEX
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '50'
    - item_type: preproc_def
      name: JUNIPER_IFML_GGSNI
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '51'
    - item_type: preproc_def
      name: JUNIPER_IFML_ETHERNET_FLEX
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '52'
    - item_type: preproc_def
      name: JUNIPER_IFML_COLLECTOR
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '53'
    - item_type: preproc_def
      name: JUNIPER_IFML_AGGREGATOR
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '54'
    - item_type: preproc_def
      name: JUNIPER_IFML_LAPD
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '55'
    - item_type: preproc_def
      name: JUNIPER_IFML_PPPOE
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '56'
    - item_type: preproc_def
      name: JUNIPER_IFML_PPP_SUBORDINATE
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '57'
    - item_type: preproc_def
      name: JUNIPER_IFML_CISCOHDLC_SUBORDINATE
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '58'
    - item_type: preproc_def
      name: JUNIPER_IFML_DFC
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '59'
    - item_type: preproc_def
      name: JUNIPER_IFML_PICPEER
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '60'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_SNAP
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '2'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_NLPID
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '3'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_VCMUX
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '4'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_LLC
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '5'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_PPP_VCMUX
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '6'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_PPP_LLC
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '7'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_PPP_FUNI
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '8'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_CCC
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '9'
    - item_type: preproc_def
      name: JUNIPER_IFLE_FR_NLPID
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '10'
    - item_type: preproc_def
      name: JUNIPER_IFLE_FR_SNAP
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '11'
    - item_type: preproc_def
      name: JUNIPER_IFLE_FR_PPP
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '12'
    - item_type: preproc_def
      name: JUNIPER_IFLE_FR_CCC
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '13'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ENET2
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '14'
    - item_type: preproc_def
      name: JUNIPER_IFLE_IEEE8023_SNAP
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '15'
    - item_type: preproc_def
      name: JUNIPER_IFLE_IEEE8023_LLC
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '16'
    - item_type: preproc_def
      name: JUNIPER_IFLE_PPP
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '17'
    - item_type: preproc_def
      name: JUNIPER_IFLE_CISCOHDLC
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '18'
    - item_type: preproc_def
      name: JUNIPER_IFLE_PPP_CCC
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '19'
    - item_type: preproc_def
      name: JUNIPER_IFLE_IPIP_NULL
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '20'
    - item_type: preproc_def
      name: JUNIPER_IFLE_PIM_NULL
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '21'
    - item_type: preproc_def
      name: JUNIPER_IFLE_GRE_NULL
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '22'
    - item_type: preproc_def
      name: JUNIPER_IFLE_GRE_PPP
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '23'
    - item_type: preproc_def
      name: JUNIPER_IFLE_PIMD_DECAPS
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '24'
    - item_type: preproc_def
      name: JUNIPER_IFLE_CISCOHDLC_CCC
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '25'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_CISCO_NLPID
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '26'
    - item_type: preproc_def
      name: JUNIPER_IFLE_VLAN_CCC
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '27'
    - item_type: preproc_def
      name: JUNIPER_IFLE_MLPPP
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '28'
    - item_type: preproc_def
      name: JUNIPER_IFLE_MLFR
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '29'
    - item_type: preproc_def
      name: JUNIPER_IFLE_LSI_NULL
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '30'
    - item_type: preproc_def
      name: JUNIPER_IFLE_AGGREGATE_UNUSED
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '31'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_CELLRELAY_CCC
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '32'
    - item_type: preproc_def
      name: JUNIPER_IFLE_CRYPTO
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '33'
    - item_type: preproc_def
      name: JUNIPER_IFLE_GGSN
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '34'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_TCC
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '35'
    - item_type: preproc_def
      name: JUNIPER_IFLE_FR_TCC
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '36'
    - item_type: preproc_def
      name: JUNIPER_IFLE_PPP_TCC
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '37'
    - item_type: preproc_def
      name: JUNIPER_IFLE_CISCOHDLC_TCC
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '38'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ETHERNET_CCC
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '39'
    - item_type: preproc_def
      name: JUNIPER_IFLE_VT
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '40'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_EOA_LLC
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '41'
    - item_type: preproc_def
      name: JUNIPER_IFLE_EXTENDED_VLAN_CCC
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '42'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_SNAP_TCC
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '43'
    - item_type: preproc_def
      name: JUNIPER_IFLE_MONITOR
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '44'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ETHERNET_TCC
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '45'
    - item_type: preproc_def
      name: JUNIPER_IFLE_VLAN_TCC
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '46'
    - item_type: preproc_def
      name: JUNIPER_IFLE_EXTENDED_VLAN_TCC
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '47'
    - item_type: preproc_def
      name: JUNIPER_IFLE_MFR
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '48'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ETHERNET_VPLS
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '49'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ETHERNET_VLAN_VPLS
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '50'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ETHERNET_EXTENDED_VLAN_VPLS
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '51'
    - item_type: preproc_def
      name: JUNIPER_IFLE_SERVICES
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '52'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_ETHER_VPLS_ATM_LLC
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '53'
    - item_type: preproc_def
      name: JUNIPER_IFLE_FR_PORT_CCC
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '54'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_MLPPP_LLC
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '55'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_EOA_CCC
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '56'
    - item_type: preproc_def
      name: JUNIPER_IFLE_LT_VLAN
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '57'
    - item_type: preproc_def
      name: JUNIPER_IFLE_COLLECTOR
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '58'
    - item_type: preproc_def
      name: JUNIPER_IFLE_AGGREGATOR
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '59'
    - item_type: preproc_def
      name: JUNIPER_IFLE_LAPD
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '60'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ATM_PPPOE_LLC
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '61'
    - item_type: preproc_def
      name: JUNIPER_IFLE_ETHERNET_PPPOE
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '62'
    - item_type: preproc_def
      name: JUNIPER_IFLE_PPPOE
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '63'
    - item_type: preproc_def
      name: JUNIPER_IFLE_PPP_SUBORDINATE
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '64'
    - item_type: preproc_def
      name: JUNIPER_IFLE_CISCOHDLC_SUBORDINATE
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '65'
    - item_type: preproc_def
      name: JUNIPER_IFLE_DFC
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '66'
    - item_type: preproc_def
      name: JUNIPER_IFLE_PICPEER
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '67'
    - item_type: preproc_def
      name: LS_COOKIE_ID
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '0x54'
    - item_type: preproc_def
      name: AS_COOKIE_ID
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '0x47'
    - item_type: preproc_def
      name: LS_MLFR_COOKIE_LEN
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ML_MLFR_COOKIE_LEN
      pos:
        line_end: 439
        line_start: 438
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LS_MFR_COOKIE_LEN
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '6'
    - item_type: preproc_def
      name: ATM1_COOKIE_LEN
      pos:
        line_end: 441
        line_start: 440
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ATM2_COOKIE_LEN
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '8'
    - item_type: preproc_def
      name: ATM2_PKT_TYPE_MASK
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '0x70'
    - item_type: preproc_def
      name: ATM2_GAP_COUNT_MASK
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '0x3F'
    - item_type: preproc_def
      name: JUNIPER_PROTO_NULL
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '1'
    - item_type: preproc_def
      name: JUNIPER_PROTO_IPV4
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '2'
    - item_type: preproc_def
      name: JUNIPER_PROTO_IPV6
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '6'
    - item_type: preproc_def
      name: MFR_BE_MASK
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/tcpdump/print-juniper.c
      type_or_value: '0xc0'
    structs:
    - fields:
      - name: pictype
        type: uint32_t
      - name: cookie_len
        type: uint8_t
      - name: '*s'
        type: char
      item_type: struct
      name: juniper_cookie_table_t
      pos:
        line_end: 382
        line_start: 378
        source_file: /src/tcpdump/print-juniper.c
    - fields:
      - name: length
        type: uint32_t
      - name: caplen
        type: uint32_t
      - name: pictype
        type: uint32_t
      - name: direction
        type: uint8_t
      - name: header_len
        type: u_int
      - name: cookie_len
        type: uint8_t
      - name: cookie_type
        type: uint8_t
      - name: cookie[8]
        type: uint8_t
      - name: bundle
        type: u_int
      - name: proto
        type: uint16_t
      - name: flags
        type: uint8_t
      item_type: struct
      name: juniper_l2info_t
      pos:
        line_end: 433
        line_start: 421
        source_file: /src/tcpdump/print-juniper.c
    - fields:
      - name: svc_id
        type: nd_uint8_t
      - name: flags_len
        type: nd_uint8_t
      - name: proto
        type: nd_uint8_t
      - name: flags
        type: nd_uint8_t
      - name: vlan_id
        type: nd_uint16_t
      - name: res[2]
        type: nd_byte
      item_type: struct
      name: juniper_ggsn_header
      pos:
        line_end: 480
        line_start: 473
        source_file: /src/tcpdump/print-juniper.c
    - fields:
      - name: sa_index
        type: nd_uint16_t
      - name: ttl
        type: nd_uint8_t
      - name: type
        type: nd_uint8_t
      - name: spi
        type: nd_uint32_t
      - name: src_ip
        type: nd_ipv4
      - name: dst_ip
        type: nd_ipv4
      item_type: struct
      name: juniper_ipsec_header
      pos:
        line_end: 533
        line_start: 526
        source_file: /src/tcpdump/print-juniper.c
    - fields:
      - name: pkt_type
        type: nd_uint8_t
      - name: padding
        type: nd_byte
      - name: iif
        type: nd_uint16_t
      - name: service_id
        type: nd_uint32_t
      item_type: struct
      name: juniper_monitor_header
      pos:
        line_end: 609
        line_start: 604
        source_file: /src/tcpdump/print-juniper.c
    - fields:
      - name: svc_id
        type: nd_uint8_t
      - name: flags_len
        type: nd_uint8_t
      - name: svc_set_id
        type: nd_uint16_t
      - name: pad
        type: nd_byte
      - name: dir_iif
        type: nd_uint24_t
      item_type: struct
      name: juniper_services_header
      pos:
        line_end: 649
        line_start: 643
        source_file: /src/tcpdump/print-juniper.c
    typedefs: []
    union: []
- function_names:
  - TH_OFF
  - tcp_get_flags
  source_file: /src/tcpdump/tcp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TH_FIN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/tcp.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: TH_SYN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/tcp.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: TH_RST
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/tcp.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: TH_PUSH
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/tcp.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: TH_ACK
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/tcp.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: TH_URG
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/tcp.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: TH_ECNECHO
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/tcp.h
      type_or_value: "0x40\t"
    - item_type: preproc_def
      name: TH_CWR
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/tcp.h
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: TH_AE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/tcp.h
      type_or_value: "0x100\t"
    - item_type: preproc_def
      name: TCPOPT_EOL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/tcp.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TCPOPT_NOP
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/tcp.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TCPOPT_MAXSEG
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/tcp.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TCPOLEN_MAXSEG
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/tcp.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TCPOPT_WSCALE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/tcp.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: TCPOPT_SACKOK
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/tcp.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: TCPOPT_SACK
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/tcp.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: TCPOPT_ECHO
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/tcp.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: TCPOPT_ECHOREPLY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/tcp.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: TCPOPT_TIMESTAMP
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/tcp.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: TCPOLEN_TIMESTAMP
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/tcp.h
      type_or_value: '10'
    - item_type: preproc_def
      name: TCPOLEN_TSTAMP_APPA
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/tcp.h
      type_or_value: '(TCPOLEN_TIMESTAMP+2) '
    - item_type: preproc_def
      name: TCPOPT_CC
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/tcp.h
      type_or_value: "11\t"
    - item_type: preproc_def
      name: TCPOPT_CCNEW
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/tcp.h
      type_or_value: "12\t"
    - item_type: preproc_def
      name: TCPOPT_CCECHO
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/tcp.h
      type_or_value: "13\t"
    - item_type: preproc_def
      name: TCPOPT_SIGNATURE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/tcp.h
      type_or_value: "19\t"
    - item_type: preproc_def
      name: TCPOLEN_SIGNATURE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/tcp.h
      type_or_value: '18'
    - item_type: preproc_def
      name: TCP_SIGLEN
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/tcp.h
      type_or_value: "16\t\t\t"
    - item_type: preproc_def
      name: TCPOPT_SCPS
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/tcp.h
      type_or_value: "20\t"
    - item_type: preproc_def
      name: TCPOPT_UTO
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/tcp.h
      type_or_value: "28\t"
    - item_type: preproc_def
      name: TCPOLEN_UTO
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/tcp.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TCPOPT_TCPAO
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/tcp.h
      type_or_value: "29\t"
    - item_type: preproc_def
      name: TCPOPT_MPTCP
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/tcp.h
      type_or_value: "30\t"
    - item_type: preproc_def
      name: TCPOPT_FASTOPEN
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/tcp.h
      type_or_value: "34\t"
    - item_type: preproc_def
      name: TCPOPT_EXPERIMENT2
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/tcp.h
      type_or_value: "254\t"
    - item_type: preproc_def
      name: TCPOPT_TSTAMP_HDR
      pos:
        line_end: 96
        line_start: 94
        source_file: /src/tcpdump/tcp.h
      type_or_value: (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP)
    - item_type: preproc_def
      name: FTP_PORT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/tcp.h
      type_or_value: '21'
    - item_type: preproc_def
      name: SSH_PORT
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/tcp.h
      type_or_value: '22'
    - item_type: preproc_def
      name: TELNET_PORT
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/tcp.h
      type_or_value: '23'
    - item_type: preproc_def
      name: SMTP_PORT
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/tcp.h
      type_or_value: '25'
    - item_type: preproc_def
      name: WHOIS_PORT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/tcp.h
      type_or_value: '43'
    - item_type: preproc_def
      name: NAMESERVER_PORT
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/tcp.h
      type_or_value: '53'
    - item_type: preproc_def
      name: HTTP_PORT
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/tcp.h
      type_or_value: '80'
    - item_type: preproc_def
      name: NETBIOS_SSN_PORT
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/tcp.h
      type_or_value: "139\t"
    - item_type: preproc_def
      name: BGP_PORT
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/tcp.h
      type_or_value: '179'
    - item_type: preproc_def
      name: RPKI_RTR_PORT
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/tcp.h
      type_or_value: '323'
    - item_type: preproc_def
      name: SMB_PORT
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/tcp.h
      type_or_value: '445'
    - item_type: preproc_def
      name: RTSP_PORT
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/tcp.h
      type_or_value: '554'
    - item_type: preproc_def
      name: MSDP_PORT
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/tcp.h
      type_or_value: '639'
    - item_type: preproc_def
      name: LDP_PORT
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/tcp.h
      type_or_value: '646'
    - item_type: preproc_def
      name: PPTP_PORT
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/tcp.h
      type_or_value: '1723'
    - item_type: preproc_def
      name: NFS_PORT
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/tcp.h
      type_or_value: '2049'
    - item_type: preproc_def
      name: REDIS_PORT
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/tcp.h
      type_or_value: '6379'
    - item_type: preproc_def
      name: OPENFLOW_PORT_OLD
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/tcp.h
      type_or_value: '6633'
    - item_type: preproc_def
      name: OPENFLOW_PORT_IANA
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/tcp.h
      type_or_value: '6653'
    - item_type: preproc_def
      name: HTTP_PORT_ALT
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/tcp.h
      type_or_value: '8080'
    - item_type: preproc_def
      name: RTSP_PORT_ALT
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/tcp.h
      type_or_value: '8554'
    - item_type: preproc_def
      name: BEEP_PORT
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/tcp.h
      type_or_value: '10288'
    structs:
    - fields:
      - name: th_sport
        type: nd_uint16_t
      - name: th_dport
        type: nd_uint16_t
      - name: th_seq
        type: nd_uint32_t
      - name: th_ack
        type: nd_uint32_t
      - name: th_offx2
        type: nd_uint8_t
      - name: th_flags
        type: nd_uint8_t
      - name: th_win
        type: nd_uint16_t
      - name: th_sum
        type: nd_uint16_t
      - name: th_urp
        type: nd_uint16_t
      item_type: struct
      name: tcphdr
      pos:
        line_end: 49
        line_start: 39
        source_file: /src/tcpdump/tcp.h
    typedefs: []
    union: []
- function_names:
  - vjc_print
  source_file: /src/tcpdump/print-vjc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pgm_print
  source_file: /src/tcpdump/print-pgm.c
  types:
    enum:
    - enumerators:
      - name: PGM_SPM
        value: '0x00'
      - name: PGM_ODATA
        value: '0x04'
      - name: PGM_POLL
        value: '0x01'
      - name: PGM_RDATA
        value: '0x05'
      - name: PGM_POLR
        value: '0x02'
      - name: PGM_NAK
        value: '0x08'
      - name: PGM_NULLNAK
        value: '0x09'
      - name: PGM_NCF
        value: '0x0a'
      - name: PGM_ACK
        value: '0x0b'
      - name: PGM_SPMR
        value: '0x0c'
      - name: PGM_ACK2
        value: '0x0d'
      item_type: enum
      name: _pgm_type
      pos:
        line_end: 139
        line_start: 127
        source_file: /src/tcpdump/print-pgm.c
    preproc_defs:
    - item_type: preproc_def
      name: PGM_OPT_BIT_PRESENT
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PGM_OPT_BIT_NETWORK
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: PGM_OPT_BIT_VAR_PKTLEN
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: PGM_OPT_BIT_PARITY
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: PGM_OPT_LENGTH
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: PGM_OPT_FRAGMENT
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PGM_OPT_NAK_LIST
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: PGM_OPT_JOIN
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: PGM_OPT_NAK_BO_IVL
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: PGM_OPT_NAK_BO_RNG
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: PGM_OPT_REDIRECT
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: PGM_OPT_PARITY_PRM
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: PGM_OPT_PARITY_GRP
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x09'
    - item_type: preproc_def
      name: PGM_OPT_CURR_TGSIZE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x0A'
    - item_type: preproc_def
      name: PGM_OPT_NBR_UNREACH
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x0B'
    - item_type: preproc_def
      name: PGM_OPT_PATH_NLA
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x0C'
    - item_type: preproc_def
      name: PGM_OPT_SYN
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x0D'
    - item_type: preproc_def
      name: PGM_OPT_FIN
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x0E'
    - item_type: preproc_def
      name: PGM_OPT_RST
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x0F'
    - item_type: preproc_def
      name: PGM_OPT_CR
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: PGM_OPT_CRQST
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x11'
    - item_type: preproc_def
      name: PGM_OPT_PGMCC_DATA
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x12'
    - item_type: preproc_def
      name: PGM_OPT_PGMCC_FEEDBACK
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x13'
    - item_type: preproc_def
      name: PGM_OPT_MASK
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x7f'
    - item_type: preproc_def
      name: PGM_OPT_END
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '0x80    '
    - item_type: preproc_def
      name: PGM_MIN_OPT_LEN
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PGM_OPT_LENGTH_LEN
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2)
    - item_type: preproc_def
      name: PGM_OPT_FRAGMENT_LEN
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2+4+4+4)
    - item_type: preproc_def
      name: PGM_OPT_JOIN_LEN
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2+4)
    - item_type: preproc_def
      name: PGM_OPT_NAK_BO_IVL_LEN
      pos:
        line_end: 561
        line_start: 560
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2+4+4)
    - item_type: preproc_def
      name: PGM_OPT_NAK_BO_RNG_LEN
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2+4+4)
    - item_type: preproc_def
      name: PGM_OPT_REDIRECT_FIXED_LEN
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2+2+2)
    - item_type: preproc_def
      name: PGM_OPT_PARITY_PRM_LEN
      pos:
        line_end: 633
        line_start: 632
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2+4)
    - item_type: preproc_def
      name: PGM_OPT_PARITY_GRP_LEN
      pos:
        line_end: 647
        line_start: 646
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2+4)
    - item_type: preproc_def
      name: PGM_OPT_CURR_TGSIZE_LEN
      pos:
        line_end: 661
        line_start: 660
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2+4)
    - item_type: preproc_def
      name: PGM_OPT_NBR_UNREACH_LEN
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2)
    - item_type: preproc_def
      name: PGM_OPT_SYN_LEN
      pos:
        line_end: 693
        line_start: 692
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2)
    - item_type: preproc_def
      name: PGM_OPT_FIN_LEN
      pos:
        line_end: 705
        line_start: 704
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2)
    - item_type: preproc_def
      name: PGM_OPT_RST_LEN
      pos:
        line_end: 717
        line_start: 716
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2)
    - item_type: preproc_def
      name: PGM_OPT_CRQST_LEN
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2)
    - item_type: preproc_def
      name: PGM_OPT_PGMCC_DATA_FIXED_LEN
      pos:
        line_end: 747
        line_start: 746
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2+4+2+2)
    - item_type: preproc_def
      name: PGM_OPT_PGMCC_FEEDBACK_FIXED_LEN
      pos:
        line_end: 789
        line_start: 788
        source_file: /src/tcpdump/print-pgm.c
      type_or_value: (2+2+4+2+2)
    structs:
    - fields:
      - name: pgm_sport
        type: nd_uint16_t
      - name: pgm_dport
        type: nd_uint16_t
      - name: pgm_type
        type: nd_uint8_t
      - name: pgm_options
        type: nd_uint8_t
      - name: pgm_sum
        type: nd_uint16_t
      - name: pgm_gsid[6]
        type: nd_byte
      - name: pgm_length
        type: nd_uint16_t
      item_type: struct
      name: pgm_header
      pos:
        line_end: 75
        line_start: 67
        source_file: /src/tcpdump/print-pgm.c
    - fields:
      - name: pgms_seq
        type: nd_uint32_t
      - name: pgms_trailseq
        type: nd_uint32_t
      - name: pgms_leadseq
        type: nd_uint32_t
      - name: pgms_nla_afi
        type: nd_uint16_t
      - name: pgms_reserved
        type: nd_uint16_t
      item_type: struct
      name: pgm_spm
      pos:
        line_end: 85
        line_start: 77
        source_file: /src/tcpdump/print-pgm.c
    - fields:
      - name: pgmn_seq
        type: nd_uint32_t
      - name: pgmn_source_afi
        type: nd_uint16_t
      - name: pgmn_reserved
        type: nd_uint16_t
      item_type: struct
      name: pgm_nak
      pos:
        line_end: 96
        line_start: 87
        source_file: /src/tcpdump/print-pgm.c
    - fields:
      - name: pgma_rx_max_seq
        type: nd_uint32_t
      - name: pgma_bitmap
        type: nd_uint32_t
      item_type: struct
      name: pgm_ack
      pos:
        line_end: 102
        line_start: 98
        source_file: /src/tcpdump/print-pgm.c
    - fields:
      - name: pgmp_seq
        type: nd_uint32_t
      - name: pgmp_round
        type: nd_uint16_t
      - name: pgmp_subtype
        type: nd_uint16_t
      - name: pgmp_nla_afi
        type: nd_uint16_t
      - name: pgmp_reserved
        type: nd_uint16_t
      item_type: struct
      name: pgm_poll
      pos:
        line_end: 112
        line_start: 104
        source_file: /src/tcpdump/print-pgm.c
    - fields:
      - name: pgmp_seq
        type: nd_uint32_t
      - name: pgmp_round
        type: nd_uint16_t
      - name: pgmp_reserved
        type: nd_uint16_t
      item_type: struct
      name: pgm_polr
      pos:
        line_end: 119
        line_start: 114
        source_file: /src/tcpdump/print-pgm.c
    - fields:
      - name: pgmd_seq
        type: nd_uint32_t
      - name: pgmd_trailseq
        type: nd_uint32_t
      item_type: struct
      name: pgm_data
      pos:
        line_end: 125
        line_start: 121
        source_file: /src/tcpdump/print-pgm.c
    typedefs: []
    union: []
- function_names:
  - gre_print
  - gre_print_0
  - gre_print_1
  - gre_sre_print
  - gre_sre_ip_print
  - gre_sre_asn_print
  source_file: /src/tcpdump/print-gre.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GRE_RECRS_MASK
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-gre.c
      type_or_value: "0x0700\t\t"
    - item_type: preproc_def
      name: GRE_VERS_MASK
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-gre.c
      type_or_value: "0x0007\t\t"
    - item_type: preproc_def
      name: GRESRE_IP
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-gre.c
      type_or_value: "0x0800\t\t"
    - item_type: preproc_def
      name: GRESRE_ASN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-gre.c
      type_or_value: "0xfffe\t\t"
    - item_type: preproc_def
      name: GRE_CDP
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-gre.c
      type_or_value: "0x2000\t"
    - item_type: preproc_def
      name: GRE_NHRP
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-gre.c
      type_or_value: "0x2001\t"
    - item_type: preproc_def
      name: GRE_MIKROTIK_EOIP
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-gre.c
      type_or_value: "0x6400\t"
    - item_type: preproc_def
      name: GRE_ERSPAN_III
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-gre.c
      type_or_value: '0x22eb'
    - item_type: preproc_def
      name: GRE_WCCP
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-gre.c
      type_or_value: "0x883e\t"
    - item_type: preproc_def
      name: GRE_ERSPAN_I_II
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-gre.c
      type_or_value: '0x88be'
    - item_type: preproc_def
      name: WCCP_T
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-gre.c
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: WCCP_A
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-gre.c
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: WCCP_U
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-gre.c
      type_or_value: (1 << 5)
    structs:
    - fields:
      - name: flags
        type: nd_uint8_t
      - name: ServiceId
        type: nd_uint8_t
      - name: AltBucket
        type: nd_uint8_t
      - name: PriBucket
        type: nd_uint8_t
      item_type: struct
      name: wccp_redirect
      pos:
        line_end: 92
        line_start: 84
        source_file: /src/tcpdump/print-gre.c
    typedefs: []
    union: []
- function_names:
  - hsrp_print
  source_file: /src/tcpdump/print-hsrp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HSRP_AUTH_SIZE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-hsrp.c
      type_or_value: '8'
    structs:
    - fields:
      - name: hsrp_version
        type: nd_uint8_t
      - name: hsrp_op_code
        type: nd_uint8_t
      - name: hsrp_state
        type: nd_uint8_t
      - name: hsrp_hellotime
        type: nd_uint8_t
      - name: hsrp_holdtime
        type: nd_uint8_t
      - name: hsrp_priority
        type: nd_uint8_t
      - name: hsrp_group
        type: nd_uint8_t
      - name: hsrp_reserved
        type: nd_uint8_t
      - name: hsrp_authdata[HSRP_AUTH_SIZE]
        type: nd_byte
      - name: hsrp_virtaddr
        type: nd_ipv4
      item_type: struct
      name: hsrp
      pos:
        line_end: 91
        line_start: 80
        source_file: /src/tcpdump/print-hsrp.c
    typedefs: []
    union: []
- function_names:
  - ZEROLENOPT
  - tcp_cksum
  - tcp6_cksum
  - tcp_print
  - LENCHECK
  - print_tcp_rst_data
  - print_tcp_fastopen_option
  - tcp_verify_signature
  source_file: /src/tcpdump/print-tcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_RST_DATA_LEN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-tcp.c
      type_or_value: '30'
    - item_type: preproc_def
      name: TSEQ_HASHSIZE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-tcp.c
      type_or_value: '919'
    structs:
    - fields:
      - name: src
        type: nd_ipv4
      - name: dst
        type: nd_ipv4
      - name: port
        type: u_int
      item_type: struct
      name: tha
      pos:
        line_end: 74
        line_start: 70
        source_file: /src/tcpdump/print-tcp.c
    - fields:
      - name: '*nxt'
        type: struct tcp_seq_hash
      - name: addr
        type: struct tha
      - name: seq
        type: uint32_t
      - name: ack
        type: uint32_t
      item_type: struct
      name: tcp_seq_hash
      pos:
        line_end: 81
        line_start: 76
        source_file: /src/tcpdump/print-tcp.c
    - fields:
      - name: src
        type: nd_ipv6
      - name: dst
        type: nd_ipv6
      - name: port
        type: u_int
      item_type: struct
      name: tha6
      pos:
        line_end: 87
        line_start: 83
        source_file: /src/tcpdump/print-tcp.c
    - fields:
      - name: '*nxt'
        type: struct tcp_seq_hash6
      - name: addr
        type: struct tha6
      - name: seq
        type: uint32_t
      - name: ack
        type: uint32_t
      item_type: struct
      name: tcp_seq_hash6
      pos:
        line_end: 94
        line_start: 89
        source_file: /src/tcpdump/print-tcp.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/nlpid.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NLPID_NULLNS
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: NLPID_Q933
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0x08 '
    - item_type: preproc_def
      name: NLPID_LMI
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0x09 '
    - item_type: preproc_def
      name: NLPID_SNAP
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: NLPID_CLNP
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0x81 '
    - item_type: preproc_def
      name: NLPID_ESIS
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0x82 '
    - item_type: preproc_def
      name: NLPID_ISIS
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0x83 '
    - item_type: preproc_def
      name: NLPID_CONS
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0x84'
    - item_type: preproc_def
      name: NLPID_IDRP
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0x85'
    - item_type: preproc_def
      name: NLPID_MFR
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0xb1 '
    - item_type: preproc_def
      name: NLPID_SPB
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0xc1 '
    - item_type: preproc_def
      name: NLPID_IP
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0xcc'
    - item_type: preproc_def
      name: NLPID_PPP
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0xcf'
    - item_type: preproc_def
      name: NLPID_X25_ESIS
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0x8a'
    - item_type: preproc_def
      name: NLPID_IP6
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcpdump/nlpid.h
      type_or_value: '0x8e'
    structs: []
    typedefs: []
    union: []
- function_names:
  - hexprint
  - lookup_quic_cid
  - register_quic_cid
  - quic_detect
  - get_be_vli
  - GET_BE_VLI
  - quic_print_packet
  - quic_print
  source_file: /src/tcpdump/print-quic.c
  types:
    enum:
    - enumerators:
      - name: QUIC_LH_TYPE_INITIAL
        value: '0'
      - name: QUIC_LH_TYPE_0RTT
        value: '1'
      - name: QUIC_LH_TYPE_RETRY
        value: '3'
      - name: QUIC_LH_TYPE_HANDSHAKE
        value: '2'
      item_type: enum
      name: quic_lh_packet_type
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/tcpdump/print-quic.c
    preproc_defs:
    - item_type: preproc_def
      name: QUIC_MAX_CID_LENGTH
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/print-quic.c
      type_or_value: '20'
    - item_type: preproc_def
      name: QUIC_CID_LIST_MAX
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-quic.c
      type_or_value: '512'
    structs:
    - fields:
      - name: cid[QUIC_MAX_CID_LENGTH]
        type: uint8_t
      - name: length
        type: uint8_t
      item_type: struct
      name: quic_cid_array
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/tcpdump/print-quic.c
    typedefs:
    - item_type: typedef
      name: quic_cid[QUIC_MAX_CID_LENGTH]
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/tcpdump/print-quic.c
      type: uint8_t
    union: []
- function_names:
  - print_sflow_counter_generic
  - print_sflow_counter_ethernet
  - print_sflow_counter_basevg
  - print_sflow_counter_vlan
  - print_sflow_counter_processor
  - sflow_print_counter_records
  - sflow_print_counter_sample
  - sflow_print_expanded_counter_sample
  - print_sflow_raw_packet
  - print_sflow_ethernet_frame
  - print_sflow_extended_switch_data
  - sflow_print_flow_records
  - sflow_print_flow_sample
  - sflow_print_expanded_flow_sample
  - sflow_print
  source_file: /src/tcpdump/print-sflow.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SFLOW_FLOW_SAMPLE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SFLOW_COUNTER_SAMPLE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SFLOW_EXPANDED_FLOW_SAMPLE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SFLOW_EXPANDED_COUNTER_SAMPLE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SFLOW_FLOW_RAW_PACKET
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SFLOW_FLOW_ETHERNET_FRAME
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SFLOW_FLOW_IPV4_DATA
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SFLOW_FLOW_IPV6_DATA
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SFLOW_FLOW_EXTENDED_SWITCH_DATA
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1001'
    - item_type: preproc_def
      name: SFLOW_FLOW_EXTENDED_ROUTER_DATA
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1002'
    - item_type: preproc_def
      name: SFLOW_FLOW_EXTENDED_GATEWAY_DATA
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1003'
    - item_type: preproc_def
      name: SFLOW_FLOW_EXTENDED_USER_DATA
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1004'
    - item_type: preproc_def
      name: SFLOW_FLOW_EXTENDED_URL_DATA
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1005'
    - item_type: preproc_def
      name: SFLOW_FLOW_EXTENDED_MPLS_DATA
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1006'
    - item_type: preproc_def
      name: SFLOW_FLOW_EXTENDED_NAT_DATA
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1007'
    - item_type: preproc_def
      name: SFLOW_FLOW_EXTENDED_MPLS_TUNNEL
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1008'
    - item_type: preproc_def
      name: SFLOW_FLOW_EXTENDED_MPLS_VC
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1009'
    - item_type: preproc_def
      name: SFLOW_FLOW_EXTENDED_MPLS_FEC
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1010'
    - item_type: preproc_def
      name: SFLOW_FLOW_EXTENDED_MPLS_LVP_FEC
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1011'
    - item_type: preproc_def
      name: SFLOW_FLOW_EXTENDED_VLAN_TUNNEL
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1012'
    - item_type: preproc_def
      name: SFLOW_HEADER_PROTOCOL_ETHERNET
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SFLOW_HEADER_PROTOCOL_IPV4
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '11'
    - item_type: preproc_def
      name: SFLOW_HEADER_PROTOCOL_IPV6
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '12'
    - item_type: preproc_def
      name: SFLOW_COUNTER_GENERIC
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SFLOW_COUNTER_ETHERNET
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SFLOW_COUNTER_TOKEN_RING
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SFLOW_COUNTER_BASEVG
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SFLOW_COUNTER_VLAN
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '5'
    - item_type: preproc_def
      name: SFLOW_COUNTER_PROCESSOR
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1001'
    - item_type: preproc_def
      name: SFLOW_IFACE_DIRECTION_UNKNOWN
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SFLOW_IFACE_DIRECTION_FULLDUPLEX
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SFLOW_IFACE_DIRECTION_HALFDUPLEX
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SFLOW_IFACE_DIRECTION_IN
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SFLOW_IFACE_DIRECTION_OUT
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/tcpdump/print-sflow.c
      type_or_value: '4'
    structs:
    - fields:
      - name: version
        type: nd_uint32_t
      - name: ip_version
        type: nd_uint32_t
      - name: agent
        type: nd_ipv4
      - name: agent_id
        type: nd_uint32_t
      - name: seqnum
        type: nd_uint32_t
      - name: uptime
        type: nd_uint32_t
      - name: samples
        type: nd_uint32_t
      item_type: struct
      name: sflow_datagram_t
      pos:
        line_end: 63
        line_start: 55
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: version
        type: nd_uint32_t
      - name: ip_version
        type: nd_uint32_t
      - name: agent
        type: nd_ipv6
      - name: agent_id
        type: nd_uint32_t
      - name: seqnum
        type: nd_uint32_t
      - name: uptime
        type: nd_uint32_t
      - name: samples
        type: nd_uint32_t
      item_type: struct
      name: sflow_v6_datagram_t
      pos:
        line_end: 73
        line_start: 65
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: format
        type: nd_uint32_t
      - name: len
        type: nd_uint32_t
      item_type: struct
      name: sflow_sample_header
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: seqnum
        type: nd_uint32_t
      - name: type
        type: nd_uint8_t
      - name: index
        type: nd_uint24_t
      - name: rate
        type: nd_uint32_t
      - name: pool
        type: nd_uint32_t
      - name: drops
        type: nd_uint32_t
      - name: in_interface
        type: nd_uint32_t
      - name: out_interface
        type: nd_uint32_t
      - name: records
        type: nd_uint32_t
      item_type: struct
      name: sflow_flow_sample_t
      pos:
        line_end: 104
        line_start: 93
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: seqnum
        type: nd_uint32_t
      - name: type
        type: nd_uint32_t
      - name: index
        type: nd_uint32_t
      - name: rate
        type: nd_uint32_t
      - name: pool
        type: nd_uint32_t
      - name: drops
        type: nd_uint32_t
      - name: in_interface_format
        type: nd_uint32_t
      - name: in_interface_value
        type: nd_uint32_t
      - name: out_interface_format
        type: nd_uint32_t
      - name: out_interface_value
        type: nd_uint32_t
      - name: records
        type: nd_uint32_t
      item_type: struct
      name: sflow_expanded_flow_sample_t
      pos:
        line_end: 118
        line_start: 106
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: protocol
        type: nd_uint32_t
      - name: length
        type: nd_uint32_t
      - name: stripped_bytes
        type: nd_uint32_t
      - name: header_size
        type: nd_uint32_t
      item_type: struct
      name: sflow_expanded_flow_raw_t
      pos:
        line_end: 173
        line_start: 168
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: length
        type: nd_uint32_t
      - name: src_mac[8]
        type: nd_byte
      - name: dst_mac[8]
        type: nd_byte
      - name: type
        type: nd_uint32_t
      item_type: struct
      name: sflow_ethernet_frame_t
      pos:
        line_end: 180
        line_start: 175
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: src_vlan
        type: nd_uint32_t
      - name: src_pri
        type: nd_uint32_t
      - name: dst_vlan
        type: nd_uint32_t
      - name: dst_pri
        type: nd_uint32_t
      item_type: struct
      name: sflow_extended_switch_data_t
      pos:
        line_end: 187
        line_start: 182
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: format
        type: nd_uint32_t
      - name: length
        type: nd_uint32_t
      item_type: struct
      name: sflow_counter_record_t
      pos:
        line_end: 192
        line_start: 189
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: format
        type: nd_uint32_t
      - name: length
        type: nd_uint32_t
      item_type: struct
      name: sflow_flow_record_t
      pos:
        line_end: 197
        line_start: 194
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: seqnum
        type: nd_uint32_t
      - name: type
        type: nd_uint8_t
      - name: index
        type: nd_uint24_t
      - name: records
        type: nd_uint32_t
      item_type: struct
      name: sflow_counter_sample_t
      pos:
        line_end: 204
        line_start: 199
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: seqnum
        type: nd_uint32_t
      - name: type
        type: nd_uint32_t
      - name: index
        type: nd_uint32_t
      - name: records
        type: nd_uint32_t
      item_type: struct
      name: sflow_expanded_counter_sample_t
      pos:
        line_end: 211
        line_start: 206
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: ifindex
        type: nd_uint32_t
      - name: iftype
        type: nd_uint32_t
      - name: ifspeed
        type: nd_uint64_t
      - name: ifdirection
        type: nd_uint32_t
      - name: ifstatus
        type: nd_uint32_t
      - name: ifinoctets
        type: nd_uint64_t
      - name: ifinunicastpkts
        type: nd_uint32_t
      - name: ifinmulticastpkts
        type: nd_uint32_t
      - name: ifinbroadcastpkts
        type: nd_uint32_t
      - name: ifindiscards
        type: nd_uint32_t
      - name: ifinerrors
        type: nd_uint32_t
      - name: ifinunkownprotos
        type: nd_uint32_t
      - name: ifoutoctets
        type: nd_uint64_t
      - name: ifoutunicastpkts
        type: nd_uint32_t
      - name: ifoutmulticastpkts
        type: nd_uint32_t
      - name: ifoutbroadcastpkts
        type: nd_uint32_t
      - name: ifoutdiscards
        type: nd_uint32_t
      - name: ifouterrors
        type: nd_uint32_t
      - name: ifpromiscmode
        type: nd_uint32_t
      item_type: struct
      name: sflow_generic_counter_t
      pos:
        line_end: 265
        line_start: 245
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: alignerrors
        type: nd_uint32_t
      - name: fcserrors
        type: nd_uint32_t
      - name: single_collision_frames
        type: nd_uint32_t
      - name: multiple_collision_frames
        type: nd_uint32_t
      - name: test_errors
        type: nd_uint32_t
      - name: deferred_transmissions
        type: nd_uint32_t
      - name: late_collisions
        type: nd_uint32_t
      - name: excessive_collisions
        type: nd_uint32_t
      - name: mac_transmit_errors
        type: nd_uint32_t
      - name: carrier_sense_errors
        type: nd_uint32_t
      - name: frame_too_longs
        type: nd_uint32_t
      - name: mac_receive_errors
        type: nd_uint32_t
      - name: symbol_errors
        type: nd_uint32_t
      item_type: struct
      name: sflow_ethernet_counter_t
      pos:
        line_end: 281
        line_start: 267
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: in_highpriority_frames
        type: nd_uint32_t
      - name: in_highpriority_octets
        type: nd_uint64_t
      - name: in_normpriority_frames
        type: nd_uint32_t
      - name: in_normpriority_octets
        type: nd_uint64_t
      - name: in_ipmerrors
        type: nd_uint32_t
      - name: in_oversized
        type: nd_uint32_t
      - name: in_data_errors
        type: nd_uint32_t
      - name: in_null_addressed_frames
        type: nd_uint32_t
      - name: out_highpriority_frames
        type: nd_uint32_t
      - name: out_highpriority_octets
        type: nd_uint64_t
      - name: transitioninto_frames
        type: nd_uint32_t
      - name: hc_in_highpriority_octets
        type: nd_uint64_t
      - name: hc_in_normpriority_octets
        type: nd_uint64_t
      - name: hc_out_highpriority_octets
        type: nd_uint64_t
      item_type: struct
      name: sflow_100basevg_counter_t
      pos:
        line_end: 298
        line_start: 283
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: vlan_id
        type: nd_uint32_t
      - name: octets
        type: nd_uint64_t
      - name: unicast_pkt
        type: nd_uint32_t
      - name: multicast_pkt
        type: nd_uint32_t
      - name: broadcast_pkt
        type: nd_uint32_t
      - name: discards
        type: nd_uint32_t
      item_type: struct
      name: sflow_vlan_counter_t
      pos:
        line_end: 307
        line_start: 300
        source_file: /src/tcpdump/print-sflow.c
    - fields:
      - name: five_sec_util
        type: nd_uint32_t
      - name: one_min_util
        type: nd_uint32_t
      - name: five_min_util
        type: nd_uint32_t
      - name: total_memory
        type: nd_uint64_t
      - name: free_memory
        type: nd_uint64_t
      item_type: struct
      name: sflow_processor_counter_t
      pos:
        line_end: 455
        line_start: 449
        source_file: /src/tcpdump/print-sflow.c
    typedefs: []
    union: []
- function_names:
  - ns_rcode
  - ns_nskip
  - blabel_print
  - labellen
  - fqdn_print
  - ns_cprint
  - print_eopt_ecs
  - eopt_print
  - ns_qprint
  - ns_rprint
  - domain_print
  source_file: /src/tcpdump/print-domain.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ntp_time_print
  - ntp_control_print
  - ntp_print
  - p_sfix
  - p_ntp_delta
  - p_poll
  - p_ntp_ef
  - p_ext_fields
  source_file: /src/tcpdump/print-ntp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NTP_TIMEMSG_MINLEN
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: 48U
    - item_type: preproc_def
      name: NO_WARNING
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "0x00\t"
    - item_type: preproc_def
      name: PLUS_SEC
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "0x40\t"
    - item_type: preproc_def
      name: MINUS_SEC
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: ALARM
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "0xc0\t"
    - item_type: preproc_def
      name: NTPVERSION_1
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: VERSIONMASK
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: '0x38'
    - item_type: preproc_def
      name: VERSIONSHIFT
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LEAPMASK
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: '0xc0'
    - item_type: preproc_def
      name: LEAPSHIFT
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: MODEMASK
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: MODESHIFT
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MODE_UNSPEC
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: MODE_SYM_ACT
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MODE_SYM_PAS
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MODE_CLIENT
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: MODE_SERVER
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: MODE_BROADCAST
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: MODE_CONTROL
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: MODE_RES2
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: UNSPECIFIED
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PRIM_REF
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: INFO_QUERY
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "62\t"
    - item_type: preproc_def
      name: INFO_REPLY
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: "63\t"
    - item_type: preproc_def
      name: NTP_CTRLMSG_MINLEN
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/tcpdump/print-ntp.c
      type_or_value: 12U
    structs:
    - fields:
      - name: status
        type: nd_uint8_t
      - name: stratum
        type: nd_uint8_t
      - name: ppoll
        type: nd_int8_t
      - name: precision
        type: nd_int8_t
      - name: root_delay
        type: struct s_fixedpt
      - name: root_dispersion
        type: struct s_fixedpt
      - name: refid
        type: nd_uint32_t
      - name: ref_timestamp
        type: struct l_fixedpt
      - name: org_timestamp
        type: struct l_fixedpt
      - name: rec_timestamp
        type: struct l_fixedpt
      - name: xmt_timestamp
        type: struct l_fixedpt
      item_type: struct
      name: ntp_time_data
      pos:
        line_end: 106
        line_start: 93
        source_file: /src/tcpdump/print-ntp.c
    - fields:
      - name: type
        type: nd_uint16_t
      - name: length
        type: nd_uint16_t
      item_type: struct
      name: ntp_extension_field
      pos:
        line_end: 112
        line_start: 108
        source_file: /src/tcpdump/print-ntp.c
    - fields:
      - name: magic
        type: nd_uint8_t
      - name: control
        type: nd_uint8_t
      - name: sequence
        type: nd_uint16_t
      - name: status
        type: nd_uint16_t
      - name: assoc
        type: nd_uint16_t
      - name: offset
        type: nd_uint16_t
      - name: count
        type: nd_uint16_t
      - name: data[564]
        type: nd_uint8_t
      item_type: struct
      name: ntp_control_data
      pos:
        line_end: 234
        line_start: 225
        source_file: /src/tcpdump/print-ntp.c
    typedefs: []
    union:
    - fields:
      - name: td
        type: struct ntp_time_data
      - name: cd
        type: struct ntp_control_data
      item_type: union
      name: ntpdata
      pos:
        line_end: 411
        line_start: 408
        source_file: /src/tcpdump/print-ntp.c
- function_names:
  - DNS_QR
  - DNS_OPCODE
  - DNS_AA
  - DNS_TC
  - DNS_RD
  - DNS_RA
  - DNS_AD
  - DNS_CD
  - DNS_RCODE
  source_file: /src/tcpdump/nameser.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PACKETSZ
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/nameser.h
      type_or_value: "512\t\t"
    - item_type: preproc_def
      name: MAXDNAME
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/nameser.h
      type_or_value: "256\t\t"
    - item_type: preproc_def
      name: MAXCDNAME
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/nameser.h
      type_or_value: "255\t\t"
    - item_type: preproc_def
      name: MAXLABEL
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/nameser.h
      type_or_value: "63\t\t"
    - item_type: preproc_def
      name: QFIXEDSZ
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/nameser.h
      type_or_value: '4'
    - item_type: preproc_def
      name: RRFIXEDSZ
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/nameser.h
      type_or_value: '10'
    - item_type: preproc_def
      name: QUERY
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0x0\t\t"
    - item_type: preproc_def
      name: IQUERY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0x1\t\t"
    - item_type: preproc_def
      name: STATUS
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0x2\t\t"
    - item_type: preproc_def
      name: xxx
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0x3\t\t"
    - item_type: preproc_def
      name: UPDATEA
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0x9\t\t"
    - item_type: preproc_def
      name: UPDATED
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0xa\t\t"
    - item_type: preproc_def
      name: UPDATEDA
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0xb\t\t"
    - item_type: preproc_def
      name: UPDATEM
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0xc\t\t"
    - item_type: preproc_def
      name: UPDATEMA
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0xd\t\t"
    - item_type: preproc_def
      name: ZONEINIT
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0xe\t\t"
    - item_type: preproc_def
      name: ZONEREF
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0xf\t\t"
    - item_type: preproc_def
      name: NOERROR
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: FORMERR
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/nameser.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: SERVFAIL
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/nameser.h
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: NXDOMAIN
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/nameser.h
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: NOTIMP
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/nameser.h
      type_or_value: "4\t\t"
    - item_type: preproc_def
      name: REFUSED
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/nameser.h
      type_or_value: "5\t\t"
    - item_type: preproc_def
      name: NOCHANGE
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0xf\t\t"
    - item_type: preproc_def
      name: T_A
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/nameser.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: T_NS
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/nameser.h
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: T_MD
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/nameser.h
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: T_MF
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/nameser.h
      type_or_value: "4\t\t"
    - item_type: preproc_def
      name: T_CNAME
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/nameser.h
      type_or_value: "5\t\t"
    - item_type: preproc_def
      name: T_SOA
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/nameser.h
      type_or_value: "6\t\t"
    - item_type: preproc_def
      name: T_MB
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/nameser.h
      type_or_value: "7\t\t"
    - item_type: preproc_def
      name: T_MG
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/nameser.h
      type_or_value: "8\t\t"
    - item_type: preproc_def
      name: T_MR
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/nameser.h
      type_or_value: "9\t\t"
    - item_type: preproc_def
      name: T_NULL
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/nameser.h
      type_or_value: "10\t\t"
    - item_type: preproc_def
      name: T_WKS
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/nameser.h
      type_or_value: "11\t\t"
    - item_type: preproc_def
      name: T_PTR
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/nameser.h
      type_or_value: "12\t\t"
    - item_type: preproc_def
      name: T_HINFO
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/nameser.h
      type_or_value: "13\t\t"
    - item_type: preproc_def
      name: T_MINFO
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/nameser.h
      type_or_value: "14\t\t"
    - item_type: preproc_def
      name: T_MX
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/nameser.h
      type_or_value: "15\t\t"
    - item_type: preproc_def
      name: T_TXT
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/nameser.h
      type_or_value: "16\t\t"
    - item_type: preproc_def
      name: T_RP
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/nameser.h
      type_or_value: "17\t\t"
    - item_type: preproc_def
      name: T_AFSDB
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/nameser.h
      type_or_value: "18\t\t"
    - item_type: preproc_def
      name: T_X25
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/nameser.h
      type_or_value: "19\t\t"
    - item_type: preproc_def
      name: T_ISDN
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/nameser.h
      type_or_value: "20\t\t"
    - item_type: preproc_def
      name: T_RT
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/nameser.h
      type_or_value: "21\t\t"
    - item_type: preproc_def
      name: T_NSAP
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/nameser.h
      type_or_value: "22\t\t"
    - item_type: preproc_def
      name: T_NSAP_PTR
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/nameser.h
      type_or_value: "23\t\t"
    - item_type: preproc_def
      name: T_SIG
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/nameser.h
      type_or_value: "24\t\t"
    - item_type: preproc_def
      name: T_KEY
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/nameser.h
      type_or_value: "25\t\t"
    - item_type: preproc_def
      name: T_PX
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/nameser.h
      type_or_value: "26\t\t"
    - item_type: preproc_def
      name: T_GPOS
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/nameser.h
      type_or_value: "27\t\t"
    - item_type: preproc_def
      name: T_AAAA
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/nameser.h
      type_or_value: "28\t\t"
    - item_type: preproc_def
      name: T_LOC
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/nameser.h
      type_or_value: "29\t\t"
    - item_type: preproc_def
      name: T_NXT
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/nameser.h
      type_or_value: "30\t\t"
    - item_type: preproc_def
      name: T_EID
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/nameser.h
      type_or_value: "31\t\t"
    - item_type: preproc_def
      name: T_NIMLOC
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/nameser.h
      type_or_value: "32\t\t"
    - item_type: preproc_def
      name: T_SRV
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/nameser.h
      type_or_value: "33\t\t"
    - item_type: preproc_def
      name: T_ATMA
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/nameser.h
      type_or_value: "34\t\t"
    - item_type: preproc_def
      name: T_NAPTR
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/nameser.h
      type_or_value: "35\t\t"
    - item_type: preproc_def
      name: T_KX
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/nameser.h
      type_or_value: "36\t\t"
    - item_type: preproc_def
      name: T_CERT
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/nameser.h
      type_or_value: "37\t\t"
    - item_type: preproc_def
      name: T_A6
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/nameser.h
      type_or_value: "38\t\t"
    - item_type: preproc_def
      name: T_DNAME
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/nameser.h
      type_or_value: "39\t\t"
    - item_type: preproc_def
      name: T_SINK
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/nameser.h
      type_or_value: "40\t\t"
    - item_type: preproc_def
      name: T_OPT
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/nameser.h
      type_or_value: "41\t\t"
    - item_type: preproc_def
      name: T_APL
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/nameser.h
      type_or_value: "42\t\t"
    - item_type: preproc_def
      name: T_DS
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/nameser.h
      type_or_value: "43\t\t"
    - item_type: preproc_def
      name: T_SSHFP
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/nameser.h
      type_or_value: "44\t\t"
    - item_type: preproc_def
      name: T_IPSECKEY
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/nameser.h
      type_or_value: "45\t\t"
    - item_type: preproc_def
      name: T_RRSIG
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/nameser.h
      type_or_value: "46\t\t"
    - item_type: preproc_def
      name: T_NSEC
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/nameser.h
      type_or_value: "47\t\t"
    - item_type: preproc_def
      name: T_DNSKEY
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/nameser.h
      type_or_value: "48\t\t"
    - item_type: preproc_def
      name: T_DHCID
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/nameser.h
      type_or_value: "49\t\t"
    - item_type: preproc_def
      name: T_NSEC3
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/nameser.h
      type_or_value: "50\t\t"
    - item_type: preproc_def
      name: T_NSEC3PARAM
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/nameser.h
      type_or_value: "51\t\t"
    - item_type: preproc_def
      name: T_TLSA
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/tcpdump/nameser.h
      type_or_value: "52\t\t"
    - item_type: preproc_def
      name: T_SMIMEA
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/tcpdump/nameser.h
      type_or_value: "53\t\t"
    - item_type: preproc_def
      name: T_HIP
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/tcpdump/nameser.h
      type_or_value: "55\t\t"
    - item_type: preproc_def
      name: T_NINFO
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcpdump/nameser.h
      type_or_value: "56\t\t"
    - item_type: preproc_def
      name: T_RKEY
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/nameser.h
      type_or_value: "57\t\t"
    - item_type: preproc_def
      name: T_TALINK
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcpdump/nameser.h
      type_or_value: "58\t\t"
    - item_type: preproc_def
      name: T_CDS
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcpdump/nameser.h
      type_or_value: "59\t\t"
    - item_type: preproc_def
      name: T_CDNSKEY
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/tcpdump/nameser.h
      type_or_value: "60\t\t"
    - item_type: preproc_def
      name: T_OPENPGPKEY
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/tcpdump/nameser.h
      type_or_value: "61\t\t"
    - item_type: preproc_def
      name: T_CSYNC
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcpdump/nameser.h
      type_or_value: "62\t\t"
    - item_type: preproc_def
      name: T_ZONEMD
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/tcpdump/nameser.h
      type_or_value: "63\t\t"
    - item_type: preproc_def
      name: T_SVCB
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/tcpdump/nameser.h
      type_or_value: "64\t\t"
    - item_type: preproc_def
      name: T_HTTPS
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/tcpdump/nameser.h
      type_or_value: "65\t\t"
    - item_type: preproc_def
      name: T_SPF
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/tcpdump/nameser.h
      type_or_value: "99\t\t"
    - item_type: preproc_def
      name: T_UINFO
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/tcpdump/nameser.h
      type_or_value: "100\t\t"
    - item_type: preproc_def
      name: T_UID
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/tcpdump/nameser.h
      type_or_value: "101\t\t"
    - item_type: preproc_def
      name: T_GID
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/tcpdump/nameser.h
      type_or_value: "102\t\t"
    - item_type: preproc_def
      name: T_UNSPEC
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/tcpdump/nameser.h
      type_or_value: "103\t\t"
    - item_type: preproc_def
      name: T_NID
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/tcpdump/nameser.h
      type_or_value: "104\t\t"
    - item_type: preproc_def
      name: T_L32
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/tcpdump/nameser.h
      type_or_value: "105\t\t"
    - item_type: preproc_def
      name: T_L64
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/tcpdump/nameser.h
      type_or_value: "106\t\t"
    - item_type: preproc_def
      name: T_LP
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/tcpdump/nameser.h
      type_or_value: "107\t\t"
    - item_type: preproc_def
      name: T_EUI48
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/tcpdump/nameser.h
      type_or_value: "108\t\t"
    - item_type: preproc_def
      name: T_EUI64
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/tcpdump/nameser.h
      type_or_value: "109\t\t"
    - item_type: preproc_def
      name: T_TKEY
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/tcpdump/nameser.h
      type_or_value: "249\t\t"
    - item_type: preproc_def
      name: T_TSIG
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/tcpdump/nameser.h
      type_or_value: "250\t\t"
    - item_type: preproc_def
      name: T_IXFR
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/tcpdump/nameser.h
      type_or_value: "251\t\t"
    - item_type: preproc_def
      name: T_AXFR
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/tcpdump/nameser.h
      type_or_value: "252\t\t"
    - item_type: preproc_def
      name: T_MAILB
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/tcpdump/nameser.h
      type_or_value: "253\t\t"
    - item_type: preproc_def
      name: T_MAILA
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/tcpdump/nameser.h
      type_or_value: "254\t\t"
    - item_type: preproc_def
      name: T_ANY
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/tcpdump/nameser.h
      type_or_value: "255\t\t"
    - item_type: preproc_def
      name: T_URI
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/tcpdump/nameser.h
      type_or_value: "256\t\t"
    - item_type: preproc_def
      name: T_CAA
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/tcpdump/nameser.h
      type_or_value: "257\t\t"
    - item_type: preproc_def
      name: T_AVC
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/tcpdump/nameser.h
      type_or_value: "258\t\t"
    - item_type: preproc_def
      name: T_DOA
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/tcpdump/nameser.h
      type_or_value: "259\t\t"
    - item_type: preproc_def
      name: T_AMTRELAY
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/tcpdump/nameser.h
      type_or_value: "260\t\t"
    - item_type: preproc_def
      name: T_TA
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcpdump/nameser.h
      type_or_value: "32768\t\t"
    - item_type: preproc_def
      name: T_DLV
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/tcpdump/nameser.h
      type_or_value: "32769\t\t"
    - item_type: preproc_def
      name: C_IN
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/tcpdump/nameser.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: C_CHAOS
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/tcpdump/nameser.h
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: C_HS
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/tcpdump/nameser.h
      type_or_value: "4\t\t"
    - item_type: preproc_def
      name: C_ANY
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/tcpdump/nameser.h
      type_or_value: "255\t\t"
    - item_type: preproc_def
      name: C_QU
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0x8000\t\t"
    - item_type: preproc_def
      name: C_CACHE_FLUSH
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0x8000\t\t"
    - item_type: preproc_def
      name: E_LLQ
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/tcpdump/nameser.h
      type_or_value: '1       '
    - item_type: preproc_def
      name: E_UL
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/tcpdump/nameser.h
      type_or_value: '2       '
    - item_type: preproc_def
      name: E_NSID
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/tcpdump/nameser.h
      type_or_value: '3       '
    - item_type: preproc_def
      name: E_DAU
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/tcpdump/nameser.h
      type_or_value: '5       '
    - item_type: preproc_def
      name: E_DHU
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/tcpdump/nameser.h
      type_or_value: '6       '
    - item_type: preproc_def
      name: E_N3U
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/tcpdump/nameser.h
      type_or_value: '7       '
    - item_type: preproc_def
      name: E_ECS
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/tcpdump/nameser.h
      type_or_value: '8       '
    - item_type: preproc_def
      name: E_EXPIRE
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/tcpdump/nameser.h
      type_or_value: '9       '
    - item_type: preproc_def
      name: E_COOKIE
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/tcpdump/nameser.h
      type_or_value: '10      '
    - item_type: preproc_def
      name: E_KEEPALIVE
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/tcpdump/nameser.h
      type_or_value: '11      '
    - item_type: preproc_def
      name: E_PADDING
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/tcpdump/nameser.h
      type_or_value: '12      '
    - item_type: preproc_def
      name: E_CHAIN
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/tcpdump/nameser.h
      type_or_value: '13      '
    - item_type: preproc_def
      name: E_KEYTAG
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/tcpdump/nameser.h
      type_or_value: '14      '
    - item_type: preproc_def
      name: E_CLIENTTAG
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/tcpdump/nameser.h
      type_or_value: '16      '
    - item_type: preproc_def
      name: E_SERVERTAG
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/tcpdump/nameser.h
      type_or_value: '17      '
    - item_type: preproc_def
      name: A_DELETE
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/tcpdump/nameser.h
      type_or_value: '0'
    - item_type: preproc_def
      name: A_RSAMD5
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/tcpdump/nameser.h
      type_or_value: '1'
    - item_type: preproc_def
      name: A_DH
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/tcpdump/nameser.h
      type_or_value: '2'
    - item_type: preproc_def
      name: A_DSA
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/tcpdump/nameser.h
      type_or_value: '3'
    - item_type: preproc_def
      name: A_RSASHA1
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/tcpdump/nameser.h
      type_or_value: '5'
    - item_type: preproc_def
      name: A_DSA_NSEC3_SHA1
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/tcpdump/nameser.h
      type_or_value: '6'
    - item_type: preproc_def
      name: A_RSASHA1_NSEC3_SHA1
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/tcpdump/nameser.h
      type_or_value: '7'
    - item_type: preproc_def
      name: A_RSASHA256
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/tcpdump/nameser.h
      type_or_value: '8'
    - item_type: preproc_def
      name: A_RSASHA512
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/tcpdump/nameser.h
      type_or_value: '10'
    - item_type: preproc_def
      name: A_ECC_GOST
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/tcpdump/nameser.h
      type_or_value: '12'
    - item_type: preproc_def
      name: A_ECDSAP256SHA256
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/tcpdump/nameser.h
      type_or_value: '13'
    - item_type: preproc_def
      name: A_ECDSAP384SHA384
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/tcpdump/nameser.h
      type_or_value: '14'
    - item_type: preproc_def
      name: A_ED25519
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/tcpdump/nameser.h
      type_or_value: '15'
    - item_type: preproc_def
      name: A_ED448
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/tcpdump/nameser.h
      type_or_value: '16'
    - item_type: preproc_def
      name: A_INDIRECT
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/tcpdump/nameser.h
      type_or_value: '252'
    - item_type: preproc_def
      name: A_PRIVATEDNS
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/tcpdump/nameser.h
      type_or_value: '253'
    - item_type: preproc_def
      name: A_PRIVATEOID
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/tcpdump/nameser.h
      type_or_value: '254'
    - item_type: preproc_def
      name: NSEC_SHA1
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/tcpdump/nameser.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DS_SHA1
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/tcpdump/nameser.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DS_SHA256
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/tcpdump/nameser.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DS_GOST
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/tcpdump/nameser.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DS_SHA384
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/tcpdump/nameser.h
      type_or_value: '4'
    - item_type: preproc_def
      name: CONV_SUCCESS
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/tcpdump/nameser.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CONV_OVERFLOW
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/tcpdump/nameser.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: CONV_BADFMT
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/tcpdump/nameser.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: CONV_BADCKSUM
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/tcpdump/nameser.h
      type_or_value: '-3'
    - item_type: preproc_def
      name: CONV_BADBUFLEN
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/tcpdump/nameser.h
      type_or_value: '-4'
    - item_type: preproc_def
      name: TYPE_MASK
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0xc0\t"
    - item_type: preproc_def
      name: TYPE_INDIR
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0xc0\t"
    - item_type: preproc_def
      name: TYPE_RESERVED
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: TYPE_EDNS0
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0x40\t"
    - item_type: preproc_def
      name: TYPE_LABEL
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/tcpdump/nameser.h
      type_or_value: "0x00\t"
    - item_type: preproc_def
      name: EDNS0_ELT_BITLABEL
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/tcpdump/nameser.h
      type_or_value: '0x01'
    structs:
    - fields:
      - name: id
        type: nd_uint16_t
      - name: flags
        type: nd_uint16_t
      - name: qdcount
        type: nd_uint16_t
      - name: ancount
        type: nd_uint16_t
      - name: nscount
        type: nd_uint16_t
      - name: arcount
        type: nd_uint16_t
      item_type: struct
      name: dns_header_t
      pos:
        line_end: 305
        line_start: 298
        source_file: /src/tcpdump/nameser.h
    typedefs: []
    union: []
- function_names:
  - ICMP_ADVLEN
  - ICMP_ERRTYPE
  - ICMP_MULTIPART_EXT_TYPE
  - ICMP_EXTENDED_ECHO_TYPE
  - ICMP_EXT_EXTRACT_VERSION
  - icmp_tstamp_print
  - CHECK_TLEN
  - UPDATE_TLEN
  - UPDATE_TPTR_AND_TLEN
  - print_icmp_multipart_ext_object
  - print_icmp_rfc8335
  - icmp_print
  source_file: /src/tcpdump/print-icmp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: icmp_pptr
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: icmp_hun.ih_pptr
    - item_type: preproc_def
      name: icmp_gwaddr
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: icmp_hun.ih_gwaddr
    - item_type: preproc_def
      name: icmp_id
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: icmp_hun.ih_idseq.icd_id
    - item_type: preproc_def
      name: icmp_seq
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: icmp_hun.ih_idseq.icd_seq
    - item_type: preproc_def
      name: icmp_xseq
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: icmp_hun.ih_idseqx.icdx_seq
    - item_type: preproc_def
      name: icmp_xinfo
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: icmp_hun.ih_idseqx.icdx_info
    - item_type: preproc_def
      name: icmp_void
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: icmp_hun.ih_void
    - item_type: preproc_def
      name: icmp_otime
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: icmp_dun.id_ts.its_otime
    - item_type: preproc_def
      name: icmp_rtime
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: icmp_dun.id_ts.its_rtime
    - item_type: preproc_def
      name: icmp_ttime
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: icmp_dun.id_ts.its_ttime
    - item_type: preproc_def
      name: icmp_ip
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: icmp_dun.id_ip.idi_ip
    - item_type: preproc_def
      name: icmp_mask
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: icmp_dun.id_mask
    - item_type: preproc_def
      name: icmp_data
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: icmp_dun.id_data
    - item_type: preproc_def
      name: ICMP_MINLEN
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "8\t\t\t\t"
    - item_type: preproc_def
      name: ICMP_EXTD_MINLEN
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: '(156 - sizeof (struct ip))     '
    - item_type: preproc_def
      name: ICMP_TSLEN
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "(8 + 3 * sizeof (uint32_t))\t"
    - item_type: preproc_def
      name: ICMP_MASKLEN
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "12\t\t\t\t"
    - item_type: preproc_def
      name: ICMP_ADVLENMIN
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "(8 + sizeof (struct ip) + 8)\t"
    - item_type: preproc_def
      name: ICMP_ECHOREPLY
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: ICMP_UNREACH
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_NET
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_HOST
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_PROTOCOL
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_PORT
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_NEEDFRAG
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "4\t\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_SRCFAIL
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "5\t\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_NET_UNKNOWN
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "6\t\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_HOST_UNKNOWN
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "7\t\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_ISOLATED
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "8\t\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_NET_PROHIB
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "9\t\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_HOST_PROHIB
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "10\t\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_TOSNET
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "11\t\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_TOSHOST
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "12\t\t"
    - item_type: preproc_def
      name: ICMP_SOURCEQUENCH
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "4\t\t"
    - item_type: preproc_def
      name: ICMP_REDIRECT
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "5\t\t"
    - item_type: preproc_def
      name: ICMP_REDIRECT_NET
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: ICMP_REDIRECT_HOST
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: ICMP_REDIRECT_TOSNET
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: ICMP_REDIRECT_TOSHOST
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: ICMP_ECHO
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "8\t\t"
    - item_type: preproc_def
      name: ICMP_ROUTERADVERT
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "9\t\t"
    - item_type: preproc_def
      name: ICMP_ROUTERSOLICIT
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "10\t\t"
    - item_type: preproc_def
      name: ICMP_TIMXCEED
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "11\t\t"
    - item_type: preproc_def
      name: ICMP_TIMXCEED_INTRANS
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: ICMP_TIMXCEED_REASS
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: ICMP_PARAMPROB
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "12\t\t"
    - item_type: preproc_def
      name: ICMP_PARAMPROB_OPTABSENT
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: ICMP_TSTAMP
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "13\t\t"
    - item_type: preproc_def
      name: ICMP_TSTAMPREPLY
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "14\t\t"
    - item_type: preproc_def
      name: ICMP_IREQ
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "15\t\t"
    - item_type: preproc_def
      name: ICMP_IREQREPLY
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "16\t\t"
    - item_type: preproc_def
      name: ICMP_MASKREQ
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "17\t\t"
    - item_type: preproc_def
      name: ICMP_MASKREPLY
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "18\t\t"
    - item_type: preproc_def
      name: ICMP_EXTENDED_ECHO_REQUEST
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "42\t"
    - item_type: preproc_def
      name: ICMP_EXTENDED_ECHO_REPLY
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "43\t"
    - item_type: preproc_def
      name: ICMP_ECHO_X_MALFORMED_QUERY
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ICMP_ECHO_X_NO_SUCH_INTERFACE
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ICMP_ECHO_X_NO_SUCH_TABLE_ENTRY
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: ICMP_ECHO_X_MULTIPLE_INTERFACES
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_NET_UNKNOWN
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_HOST_UNKNOWN
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_ISOLATED
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "8\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_NET_PROHIB
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "9\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_HOST_PROHIB
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "10\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_TOSNET
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "11\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_TOSHOST
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "12\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_FILTER_PROHIB
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "13\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_HOST_PRECEDENCE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "14\t"
    - item_type: preproc_def
      name: ICMP_UNREACH_PRECEDENCE_CUTOFF
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: "15\t"
    - item_type: preproc_def
      name: ICMP_EXT_VERSION
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MPLS_STACK_ENTRY_OBJECT_CLASS
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: INTERFACE_INFORMATION_OBJECT_CLASS
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: INTERFACE_IDENTIFICATION_OBJECT_CLASS
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/tcpdump/print-icmp.c
      type_or_value: '3'
    structs:
    - fields:
      - name: icmp_type
        type: nd_uint8_t
      - name: icmp_code
        type: nd_uint8_t
      - name: icmp_cksum
        type: nd_uint16_t
      - name: icmp_hun
        type: "union {\n\t\tnd_uint8_t ih_pptr;\t/* ICMP_PARAMPROB */\n\t\tnd_ipv4
          ih_gwaddr;\t/* ICMP_REDIRECT */\n\t\tstruct ih_idseq {\n\t\t\tnd_uint16_t
          icd_id;\n\t\t\tnd_uint16_t icd_seq;\n\t\t} ih_idseq;\n\t\tstruct ih_idseqx
          {\t/* RFC8335 */\n\t\t\tnd_uint16_t icdx_id;\n\t\t\tnd_uint8_t icdx_seq;\n\t\t\tnd_uint8_t
          icdx_info;\n\t\t} ih_idseqx;\n\t\tnd_uint32_t ih_void;\n\t}"
      - name: icmp_dun
        type: "union {\n\t\tstruct id_ts {\n\t\t\tnd_uint32_t its_otime;\n\t\t\tnd_uint32_t
          its_rtime;\n\t\t\tnd_uint32_t its_ttime;\n\t\t} id_ts;\n\t\tstruct id_ip
          \ {\n\t\t\tstruct ip idi_ip;\n\t\t\t/* options and then 64 bits of data
          */\n\t\t} id_ip;\n\t\tnd_uint32_t id_mask;\n\t\tnd_byte id_data[1];\n\t}"
      item_type: struct
      name: icmp
      pos:
        line_end: 93
        line_start: 49
        source_file: /src/tcpdump/print-icmp.c
    - fields:
      - name: icd_id
        type: nd_uint16_t
      - name: icd_seq
        type: nd_uint16_t
      item_type: struct
      name: ih_idseq
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/tcpdump/print-icmp.c
    - fields:
      - name: icdx_id
        type: nd_uint16_t
      - name: icdx_seq
        type: nd_uint8_t
      - name: icdx_info
        type: nd_uint8_t
      item_type: struct
      name: ih_idseqx
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/tcpdump/print-icmp.c
    - fields:
      - name: its_otime
        type: nd_uint32_t
      - name: its_rtime
        type: nd_uint32_t
      - name: its_ttime
        type: nd_uint32_t
      item_type: struct
      name: id_ts
      pos:
        line_end: 79
        line_start: 75
        source_file: /src/tcpdump/print-icmp.c
    - fields:
      - name: idi_ip
        type: struct ip
      item_type: struct
      name: id_ip
      pos:
        line_end: 83
        line_start: 80
        source_file: /src/tcpdump/print-icmp.c
    - fields:
      - name: unused
        type: nd_uint16_t
      - name: nexthopmtu
        type: nd_uint16_t
      item_type: struct
      name: mtu_discovery
      pos:
        line_end: 242
        line_start: 239
        source_file: /src/tcpdump/print-icmp.c
    - fields:
      - name: ird_addrnum
        type: nd_uint8_t
      - name: ird_addrsiz
        type: nd_uint8_t
      - name: ird_lifetime
        type: nd_uint16_t
      item_type: struct
      name: ih_rdiscovery
      pos:
        line_end: 249
        line_start: 245
        source_file: /src/tcpdump/print-icmp.c
    - fields:
      - name: ird_addr
        type: nd_uint32_t
      - name: ird_pref
        type: nd_uint32_t
      item_type: struct
      name: id_rdiscovery
      pos:
        line_end: 254
        line_start: 251
        source_file: /src/tcpdump/print-icmp.c
    - fields:
      - name: icmp_type
        type: nd_uint8_t
      - name: icmp_code
        type: nd_uint8_t
      - name: icmp_checksum
        type: nd_uint16_t
      - name: icmp_reserved
        type: nd_byte
      - name: icmp_length
        type: nd_uint8_t
      - name: icmp_reserved2[2]
        type: nd_byte
      - name: icmp_ext_legacy_header[128]
        type: nd_byte
      - name: icmp_ext_version_res[2]
        type: nd_byte
      - name: icmp_ext_checksum
        type: nd_uint16_t
      - name: icmp_ext_data[1]
        type: nd_byte
      item_type: struct
      name: icmp_ext_t
      pos:
        line_end: 297
        line_start: 286
        source_file: /src/tcpdump/print-icmp.c
    - fields:
      - name: length
        type: nd_uint16_t
      - name: class_num
        type: nd_uint8_t
      - name: ctype
        type: nd_uint8_t
      item_type: struct
      name: icmp_multipart_ext_object_header_t
      pos:
        line_end: 333
        line_start: 329
        source_file: /src/tcpdump/print-icmp.c
    - fields:
      - name: afi
        type: nd_uint16_t
      - name: reserved
        type: nd_uint16_t
      - name: ip_addr[]
        type: nd_byte
      item_type: struct
      name: icmp_interface_information_ipaddr_subobject_t
      pos:
        line_end: 363
        line_start: 359
        source_file: /src/tcpdump/print-icmp.c
    - fields:
      - name: length
        type: nd_uint8_t
      - name: if_name[63]
        type: nd_byte
      item_type: struct
      name: icmp_interface_information_ifname_subobject_t
      pos:
        line_end: 375
        line_start: 372
        source_file: /src/tcpdump/print-icmp.c
    - fields:
      - name: afi
        type: nd_uint16_t
      - name: addrlen
        type: nd_uint8_t
      - name: reserved
        type: nd_uint8_t
      - name: ip_addr[]
        type: nd_byte
      item_type: struct
      name: icmp_interface_identification_ipaddr_subobject_t
      pos:
        line_end: 391
        line_start: 386
        source_file: /src/tcpdump/print-icmp.c
    typedefs: []
    union: []
- function_names:
  - arista_print_date_hms_time
  - arista_ethertype_print
  source_file: /src/tcpdump/print-arista.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARISTA_SUBTYPE_TIMESTAMP
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-arista.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: FORMAT_64BIT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-arista.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: FORMAT_48BIT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-arista.c
      type_or_value: '0x2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - IP6_VERSION
  - IP6OPT_TYPE
  source_file: /src/tcpdump/ip6.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ip6_vfc
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/ip6.h
      type_or_value: ip6_ctlun.ip6_un2_vfc
    - item_type: preproc_def
      name: ip6_flow
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/ip6.h
      type_or_value: ip6_ctlun.ip6_un1.ip6_un1_flow
    - item_type: preproc_def
      name: ip6_plen
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/ip6.h
      type_or_value: ip6_ctlun.ip6_un1.ip6_un1_plen
    - item_type: preproc_def
      name: ip6_nxt
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/ip6.h
      type_or_value: ip6_ctlun.ip6_un1.ip6_un1_nxt
    - item_type: preproc_def
      name: ip6_hlim
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/ip6.h
      type_or_value: ip6_ctlun.ip6_un1.ip6_un1_hlim
    - item_type: preproc_def
      name: ip6_hops
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/ip6.h
      type_or_value: ip6_ctlun.ip6_un1.ip6_un1_hlim
    - item_type: preproc_def
      name: IPV6_FLOWINFO_MASK
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/ip6.h
      type_or_value: "((uint32_t)htonl(0x0fffffff))\t"
    - item_type: preproc_def
      name: IPV6_FLOWLABEL_MASK
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/ip6.h
      type_or_value: "((uint32_t)htonl(0x000fffff))\t"
    - item_type: preproc_def
      name: IP6OPT_PAD1
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0x00\t"
    - item_type: preproc_def
      name: IP6OPT_PADN
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: IP6OPT_JUMBO
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0xC2\t"
    - item_type: preproc_def
      name: IP6OPT_JUMBO_LEN
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/ip6.h
      type_or_value: '6'
    - item_type: preproc_def
      name: IP6OPT_RPL
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0x63\t"
    - item_type: preproc_def
      name: IP6OPT_TUN_ENC_LIMIT
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0x04\t"
    - item_type: preproc_def
      name: IP6OPT_ROUTER_ALERT
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0x05\t"
    - item_type: preproc_def
      name: IP6OPT_RTALERT_LEN
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/ip6.h
      type_or_value: '4'
    - item_type: preproc_def
      name: IP6OPT_RTALERT_MLD
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: IP6OPT_RTALERT_RSVP
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/ip6.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: IP6OPT_RTALERT_ACTNET
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/ip6.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: IP6OPT_MINLEN
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/ip6.h
      type_or_value: '2'
    - item_type: preproc_def
      name: IP6OPT_QUICK_START
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0x26\t"
    - item_type: preproc_def
      name: IP6OPT_CALIPSO
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0x07\t"
    - item_type: preproc_def
      name: IP6OPT_SMF_DPD
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0x08\t"
    - item_type: preproc_def
      name: IP6OPT_HOME_ADDRESS
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0xc9\t"
    - item_type: preproc_def
      name: IP6OPT_HOMEADDR_MINLEN
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/ip6.h
      type_or_value: '18'
    - item_type: preproc_def
      name: IP6OPT_EID
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0x8a\t"
    - item_type: preproc_def
      name: IP6OPT_ILNP_NOTICE
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0x8b\t"
    - item_type: preproc_def
      name: IP6OPT_LINE_ID
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0x8c\t"
    - item_type: preproc_def
      name: IP6OPT_MPL
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0x6d\t"
    - item_type: preproc_def
      name: IP6OPT_IP_DFF
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0xee\t"
    - item_type: preproc_def
      name: IP6OPT_TYPE_SKIP
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/ip6.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: IP6OPT_TYPE_DISCARD
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/ip6.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: IP6OPT_TYPE_FORCEICMP
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/ip6.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: IP6OPT_TYPE_ICMP
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/ip6.h
      type_or_value: '0xC0'
    - item_type: preproc_def
      name: IP6OPT_MUTABLE
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/ip6.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: IPV6_RTHDR_TYPE_0
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/ip6.h
      type_or_value: '0'
    - item_type: preproc_def
      name: IPV6_RTHDR_TYPE_2
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/ip6.h
      type_or_value: '2'
    - item_type: preproc_def
      name: IPV6_RTHDR_TYPE_4
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/ip6.h
      type_or_value: '4'
    - item_type: preproc_def
      name: IPV6_SRH_TLV_PAD1
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/tcpdump/ip6.h
      type_or_value: '0'
    - item_type: preproc_def
      name: IPV6_SRH_TLV_PADN
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/tcpdump/ip6.h
      type_or_value: '4'
    - item_type: preproc_def
      name: IPV6_SRH_TLV_HMAC
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/tcpdump/ip6.h
      type_or_value: '5'
    - item_type: preproc_def
      name: IP6F_OFF_MASK
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0xfff8\t"
    - item_type: preproc_def
      name: IP6F_RESERVED_MASK
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0x0006\t"
    - item_type: preproc_def
      name: IP6F_MORE_FRAG
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcpdump/ip6.h
      type_or_value: "0x0001\t"
    structs:
    - fields:
      - name: ip6_ctlun
        type: "union {\n\t\tstruct ip6_hdrctl {\n\t\t\tnd_uint32_t ip6_un1_flow;\t/*
          20 bits of flow-ID */\n\t\t\tnd_uint16_t ip6_un1_plen;\t/* payload length
          */\n\t\t\tnd_uint8_t  ip6_un1_nxt;\t/* next header */\n\t\t\tnd_uint8_t
          \ ip6_un1_hlim;\t/* hop limit */\n\t\t} ip6_un1;\n\t\tnd_uint8_t ip6_un2_vfc;\t/*
          4 bits version, top 4 bits class */\n\t}"
      - name: ip6_src
        type: nd_ipv6
      - name: ip6_dst
        type: nd_ipv6
      item_type: struct
      name: ip6_hdr
      pos:
        line_end: 87
        line_start: 75
        source_file: /src/tcpdump/ip6.h
    - fields:
      - name: ip6_un1_flow
        type: nd_uint32_t
      - name: ip6_un1_plen
        type: nd_uint16_t
      - name: ip6_un1_nxt
        type: nd_uint8_t
      - name: ip6_un1_hlim
        type: nd_uint8_t
      item_type: struct
      name: ip6_hdrctl
      pos:
        line_end: 82
        line_start: 77
        source_file: /src/tcpdump/ip6.h
    - fields:
      - name: ip6e_nxt
        type: nd_uint8_t
      - name: ip6e_len
        type: nd_uint8_t
      item_type: struct
      name: ip6_ext
      pos:
        line_end: 108
        line_start: 105
        source_file: /src/tcpdump/ip6.h
    - fields:
      - name: ip6h_nxt
        type: nd_uint8_t
      - name: ip6h_len
        type: nd_uint8_t
      item_type: struct
      name: ip6_hbh
      pos:
        line_end: 115
        line_start: 111
        source_file: /src/tcpdump/ip6.h
    - fields:
      - name: ip6d_nxt
        type: nd_uint8_t
      - name: ip6d_len
        type: nd_uint8_t
      item_type: struct
      name: ip6_dest
      pos:
        line_end: 122
        line_start: 118
        source_file: /src/tcpdump/ip6.h
    - fields:
      - name: ip6r_nxt
        type: nd_uint8_t
      - name: ip6r_len
        type: nd_uint8_t
      - name: ip6r_type
        type: nd_uint8_t
      - name: ip6r_segleft
        type: nd_uint8_t
      item_type: struct
      name: ip6_rthdr
      pos:
        line_end: 167
        line_start: 161
        source_file: /src/tcpdump/ip6.h
    - fields:
      - name: ip6r0_nxt
        type: nd_uint8_t
      - name: ip6r0_len
        type: nd_uint8_t
      - name: ip6r0_type
        type: nd_uint8_t
      - name: ip6r0_segleft
        type: nd_uint8_t
      - name: ip6r0_reserved
        type: nd_uint32_t
      - name: ip6r0_addr[1]
        type: nd_ipv6
      item_type: struct
      name: ip6_rthdr0
      pos:
        line_end: 182
        line_start: 175
        source_file: /src/tcpdump/ip6.h
    - fields:
      - name: srh_nxt
        type: nd_uint8_t
      - name: srh_len
        type: nd_uint8_t
      - name: srh_type
        type: nd_uint8_t
      - name: srh_segleft
        type: nd_uint8_t
      - name: srh_last_ent
        type: nd_uint8_t
      - name: srh_flags
        type: nd_uint8_t
      - name: srh_tag
        type: nd_uint16_t
      - name: srh_segments[1]
        type: nd_ipv6
      item_type: struct
      name: ip6_srh
      pos:
        line_end: 197
        line_start: 188
        source_file: /src/tcpdump/ip6.h
    - fields:
      - name: ip6f_nxt
        type: nd_uint8_t
      - name: ip6f_reserved
        type: nd_uint8_t
      - name: ip6f_offlg
        type: nd_uint16_t
      - name: ip6f_ident
        type: nd_uint32_t
      item_type: struct
      name: ip6_frag
      pos:
        line_end: 209
        line_start: 204
        source_file: /src/tcpdump/ip6.h
    typedefs: []
    union: []
- function_names:
  - ND_ISASCII
  - ND_ASCII_ISPRINT
  - ND_ASCII_ISGRAPH
  - ND_ASCII_ISDIGIT
  - ND_TOASCII
  - ND_ASCII_TOLOWER
  - ND_ASCII_TOUPPER
  source_file: /src/tcpdump/netdissect-ctype.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - carp_print
  source_file: /src/tcpdump/print-carp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rip_entry_print_v1
  - rip_entry_print_v2
  - rip_print
  source_file: /src/tcpdump/print-rip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RIPCMD_REQUEST
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-rip.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: RIPCMD_RESPONSE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-rip.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: RIPCMD_TRACEON
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-rip.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: RIPCMD_TRACEOFF
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-rip.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: RIPCMD_TRIGREQ
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-rip.c
      type_or_value: '6'
    - item_type: preproc_def
      name: RIPCMD_TRIGRESP
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-rip.c
      type_or_value: '7'
    - item_type: preproc_def
      name: RIPCMD_TRIGACK
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-rip.c
      type_or_value: '8'
    - item_type: preproc_def
      name: RIPCMD_UPDREQ
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-rip.c
      type_or_value: '9'
    - item_type: preproc_def
      name: RIPCMD_UPDRESP
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-rip.c
      type_or_value: '10'
    - item_type: preproc_def
      name: RIPCMD_UPDACK
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-rip.c
      type_or_value: '11'
    - item_type: preproc_def
      name: RIP_AUTHLEN
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-rip.c
      type_or_value: '16'
    - item_type: preproc_def
      name: RIP_ROUTELEN
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-rip.c
      type_or_value: '20'
    structs:
    - fields:
      - name: rip_cmd
        type: nd_uint8_t
      - name: rip_vers
        type: nd_uint8_t
      - name: unused[2]
        type: nd_byte
      item_type: struct
      name: rip
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/tcpdump/print-rip.c
    - fields:
      - name: rip_family
        type: nd_uint16_t
      - name: rip_tag
        type: nd_uint16_t
      item_type: struct
      name: rip_entry_header
      pos:
        line_end: 87
        line_start: 84
        source_file: /src/tcpdump/print-rip.c
    - fields:
      - name: rip_family
        type: nd_uint16_t
      - name: rip_mbz1[2]
        type: nd_byte
      - name: rip_dest
        type: nd_ipv4
      - name: rip_mbz2[4]
        type: nd_byte
      - name: rip_mbz3[4]
        type: nd_byte
      - name: rip_metric
        type: nd_uint32_t
      item_type: struct
      name: rip_netinfo_v1
      pos:
        line_end: 113
        line_start: 106
        source_file: /src/tcpdump/print-rip.c
    - fields:
      - name: rip_family
        type: nd_uint16_t
      - name: rip_tag
        type: nd_uint16_t
      - name: rip_dest
        type: nd_ipv4
      - name: rip_dest_mask
        type: nd_uint32_t
      - name: rip_router
        type: nd_ipv4
      - name: rip_metric
        type: nd_uint32_t
      item_type: struct
      name: rip_netinfo_v2
      pos:
        line_end: 142
        line_start: 135
        source_file: /src/tcpdump/print-rip.c
    - fields:
      - name: rip_family
        type: nd_uint16_t
      - name: rip_tag
        type: nd_uint16_t
      - name: rip_auth[16]
        type: nd_byte
      item_type: struct
      name: rip_auth_v2
      pos:
        line_end: 160
        line_start: 156
        source_file: /src/tcpdump/print-rip.c
    - fields:
      - name: rip_packet_len
        type: nd_uint16_t
      - name: rip_key_id
        type: nd_uint8_t
      - name: rip_auth_data_len
        type: nd_uint8_t
      - name: rip_seq_num
        type: nd_uint32_t
      - name: rip_mbz1[4]
        type: nd_byte
      - name: rip_mbz2[4]
        type: nd_byte
      item_type: struct
      name: rip_auth_crypto_v2
      pos:
        line_end: 184
        line_start: 177
        source_file: /src/tcpdump/print-rip.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/l2vpn.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lwres_printname
  - lwres_printnamelen
  - lwres_printbinlen
  - lwres_printaddr
  - lwres_print
  source_file: /src/tcpdump/print-lwres.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LWRES_LWPACKETFLAG_RESPONSE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: "0x0001U\t"
    - item_type: preproc_def
      name: LWRES_LWPACKETVERSION_0
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LWRES_FLAG_TRUSTNOTREQUIRED
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: 0x00000001U
    - item_type: preproc_def
      name: LWRES_FLAG_SECUREDATA
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: 0x00000002U
    - item_type: preproc_def
      name: LWRES_OPCODE_NOOP
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: 0x00000000U
    - item_type: preproc_def
      name: LWRES_OPCODE_GETADDRSBYNAME
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: 0x00010001U
    - item_type: preproc_def
      name: LWRES_ADDR_LEN
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LWRES_GABNREQUEST_LEN
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LWRES_GABNRESPONSE_LEN
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LWRES_OPCODE_GETNAMEBYADDR
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: 0x00010002U
    - item_type: preproc_def
      name: LWRES_GNBAREQUEST_LEN
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LWRES_GNBARESPONSE_LEN
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LWRES_OPCODE_GETRDATABYNAME
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: 0x00010003U
    - item_type: preproc_def
      name: LWRES_GRBNREQUEST_LEN
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LWRES_GRBNRESPONSE_LEN
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: '16'
    - item_type: preproc_def
      name: LWRDATA_VALIDATED
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: LWRES_ADDRTYPE_V4
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: "0x00000001U\t"
    - item_type: preproc_def
      name: LWRES_ADDRTYPE_V6
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: "0x00000002U\t"
    - item_type: preproc_def
      name: LWRES_MAX_ALIASES
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: "16\t\t"
    - item_type: preproc_def
      name: LWRES_MAX_ADDRS
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/tcpdump/print-lwres.c
      type_or_value: "64\t\t"
    structs:
    - fields:
      - name: length
        type: nd_uint32_t
      - name: version
        type: nd_uint16_t
      - name: pktflags
        type: nd_uint16_t
      - name: serial
        type: nd_uint32_t
      - name: opcode
        type: nd_uint32_t
      - name: result
        type: nd_uint32_t
      - name: recvlength
        type: nd_uint32_t
      - name: authtype
        type: nd_uint16_t
      - name: authlength
        type: nd_uint16_t
      item_type: struct
      name: lwres_lwpacket
      pos:
        line_end: 58
        line_start: 48
        source_file: /src/tcpdump/print-lwres.c
    - fields:
      - name: datalength
        type: nd_uint16_t
      item_type: struct
      name: lwres_nooprequest_t
      pos:
        line_end: 76
        line_start: 72
        source_file: /src/tcpdump/print-lwres.c
    - fields:
      - name: datalength
        type: nd_uint16_t
      item_type: struct
      name: lwres_noopresponse_t
      pos:
        line_end: 82
        line_start: 78
        source_file: /src/tcpdump/print-lwres.c
    - fields:
      - name: family
        type: nd_uint32_t
      - name: length
        type: nd_uint16_t
      item_type: struct
      name: lwres_addr
      pos:
        line_end: 95
        line_start: 91
        source_file: /src/tcpdump/print-lwres.c
    - fields:
      - name: flags
        type: nd_uint32_t
      - name: addrtypes
        type: nd_uint32_t
      - name: namelen
        type: nd_uint16_t
      item_type: struct
      name: lwres_gabnrequest_t
      pos:
        line_end: 104
        line_start: 98
        source_file: /src/tcpdump/print-lwres.c
    - fields:
      - name: flags
        type: nd_uint32_t
      - name: naliases
        type: nd_uint16_t
      - name: naddrs
        type: nd_uint16_t
      - name: realnamelen
        type: nd_uint16_t
      item_type: struct
      name: lwres_gabnresponse_t
      pos:
        line_end: 116
        line_start: 107
        source_file: /src/tcpdump/print-lwres.c
    - fields:
      - name: flags
        type: nd_uint32_t
      item_type: struct
      name: lwres_gnbarequest_t
      pos:
        line_end: 127
        line_start: 123
        source_file: /src/tcpdump/print-lwres.c
    - fields:
      - name: flags
        type: nd_uint32_t
      - name: naliases
        type: nd_uint16_t
      - name: realnamelen
        type: nd_uint16_t
      item_type: struct
      name: lwres_gnbaresponse_t
      pos:
        line_end: 137
        line_start: 130
        source_file: /src/tcpdump/print-lwres.c
    - fields:
      - name: flags
        type: nd_uint32_t
      - name: rdclass
        type: nd_uint16_t
      - name: rdtype
        type: nd_uint16_t
      - name: namelen
        type: nd_uint16_t
      item_type: struct
      name: lwres_grbnrequest_t
      pos:
        line_end: 152
        line_start: 145
        source_file: /src/tcpdump/print-lwres.c
    - fields:
      - name: flags
        type: nd_uint32_t
      - name: rdclass
        type: nd_uint16_t
      - name: rdtype
        type: nd_uint16_t
      - name: ttl
        type: nd_uint32_t
      - name: nrdatas
        type: nd_uint16_t
      - name: nsigs
        type: nd_uint16_t
      item_type: struct
      name: lwres_grbnresponse_t
      pos:
        line_end: 166
        line_start: 155
        source_file: /src/tcpdump/print-lwres.c
    typedefs:
    - item_type: typedef
      name: lwres_addr_t
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/tcpdump/print-lwres.c
      type: lwres_addr
    union: []
- function_names:
  - zmtp1_print_frame
  - zmtp1_print
  - zmtp1_print_intermediate_part
  - zmtp1_datagram_print
  source_file: /src/tcpdump/print-zeromq.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VBYTES
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-zeromq.c
      type_or_value: '128'
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_octets
  - print_16bits_val
  - print_32bits_val
  - l2tp_msgtype_print
  - l2tp_result_code_print
  - l2tp_proto_ver_print
  - l2tp_framing_cap_print
  - l2tp_bearer_cap_print
  - l2tp_q931_cc_print
  - l2tp_bearer_type_print
  - l2tp_framing_type_print
  - l2tp_packet_proc_delay_print
  - l2tp_proxy_auth_type_print
  - l2tp_proxy_auth_id_print
  - l2tp_call_errors_print
  - l2tp_accm_print
  - l2tp_ppp_discon_cc_print
  - l2tp_avp_print
  - l2tp_print
  source_file: /src/tcpdump/print-l2tp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: L2TP_FLAG_TYPE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x8000\t"
    - item_type: preproc_def
      name: L2TP_FLAG_LENGTH
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x4000\t"
    - item_type: preproc_def
      name: L2TP_FLAG_SEQUENCE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x0800\t"
    - item_type: preproc_def
      name: L2TP_FLAG_OFFSET
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x0200\t"
    - item_type: preproc_def
      name: L2TP_FLAG_PRIORITY
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x0100\t"
    - item_type: preproc_def
      name: L2TP_VERSION_MASK
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x000f\t"
    - item_type: preproc_def
      name: L2TP_VERSION_L2F
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x0001\t"
    - item_type: preproc_def
      name: L2TP_VERSION_L2TP
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x0002\t"
    - item_type: preproc_def
      name: L2TP_AVP_HDR_FLAG_MANDATORY
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x8000\t"
    - item_type: preproc_def
      name: L2TP_AVP_HDR_FLAG_HIDDEN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x4000\t"
    - item_type: preproc_def
      name: L2TP_AVP_HDR_LEN_MASK
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x03ff\t"
    - item_type: preproc_def
      name: L2TP_FRAMING_CAP_SYNC_MASK
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: L2TP_FRAMING_CAP_ASYNC_MASK
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x00000002\t"
    - item_type: preproc_def
      name: L2TP_FRAMING_TYPE_SYNC_MASK
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: L2TP_FRAMING_TYPE_ASYNC_MASK
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x00000002\t"
    - item_type: preproc_def
      name: L2TP_BEARER_CAP_DIGITAL_MASK
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: L2TP_BEARER_CAP_ANALOG_MASK
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x00000002\t"
    - item_type: preproc_def
      name: L2TP_BEARER_TYPE_DIGITAL_MASK
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: L2TP_BEARER_TYPE_ANALOG_MASK
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x00000002\t"
    - item_type: preproc_def
      name: L2TP_AUTHEN_TYPE_RESERVED
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x0000\t"
    - item_type: preproc_def
      name: L2TP_AUTHEN_TYPE_TEXTUAL
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x0001\t"
    - item_type: preproc_def
      name: L2TP_AUTHEN_TYPE_CHAP
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x0002\t"
    - item_type: preproc_def
      name: L2TP_AUTHEN_TYPE_PAP
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x0003\t"
    - item_type: preproc_def
      name: L2TP_AUTHEN_TYPE_NO_AUTH
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x0004\t"
    - item_type: preproc_def
      name: L2TP_AUTHEN_TYPE_MSCHAPv1
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: "0x0005\t"
    - item_type: preproc_def
      name: L2TP_PROXY_AUTH_ID_MASK
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '0x00ff'
    - item_type: preproc_def
      name: L2TP_MSGTYPE_SCCRQ
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: L2TP_MSGTYPE_SCCRP
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '2  '
    - item_type: preproc_def
      name: L2TP_MSGTYPE_SCCCN
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '3  '
    - item_type: preproc_def
      name: L2TP_MSGTYPE_STOPCCN
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '4  '
    - item_type: preproc_def
      name: L2TP_MSGTYPE_HELLO
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '6  '
    - item_type: preproc_def
      name: L2TP_MSGTYPE_OCRQ
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '7  '
    - item_type: preproc_def
      name: L2TP_MSGTYPE_OCRP
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '8  '
    - item_type: preproc_def
      name: L2TP_MSGTYPE_OCCN
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '9  '
    - item_type: preproc_def
      name: L2TP_MSGTYPE_ICRQ
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '10 '
    - item_type: preproc_def
      name: L2TP_MSGTYPE_ICRP
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '11 '
    - item_type: preproc_def
      name: L2TP_MSGTYPE_ICCN
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '12 '
    - item_type: preproc_def
      name: L2TP_MSGTYPE_CDN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '14 '
    - item_type: preproc_def
      name: L2TP_MSGTYPE_WEN
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '15 '
    - item_type: preproc_def
      name: L2TP_MSGTYPE_SLI
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '16 '
    - item_type: preproc_def
      name: L2TP_AVP_MSGTYPE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '0  '
    - item_type: preproc_def
      name: L2TP_AVP_RESULT_CODE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '1  '
    - item_type: preproc_def
      name: L2TP_AVP_PROTO_VER
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '2  '
    - item_type: preproc_def
      name: L2TP_AVP_FRAMING_CAP
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '3  '
    - item_type: preproc_def
      name: L2TP_AVP_BEARER_CAP
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '4  '
    - item_type: preproc_def
      name: L2TP_AVP_TIE_BREAKER
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '5  '
    - item_type: preproc_def
      name: L2TP_AVP_FIRM_VER
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '6  '
    - item_type: preproc_def
      name: L2TP_AVP_HOST_NAME
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '7  '
    - item_type: preproc_def
      name: L2TP_AVP_VENDOR_NAME
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '8  '
    - item_type: preproc_def
      name: L2TP_AVP_ASSND_TUN_ID
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '9  '
    - item_type: preproc_def
      name: L2TP_AVP_RECV_WIN_SIZE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '10 '
    - item_type: preproc_def
      name: L2TP_AVP_CHALLENGE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '11 '
    - item_type: preproc_def
      name: L2TP_AVP_Q931_CC
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '12 '
    - item_type: preproc_def
      name: L2TP_AVP_CHALLENGE_RESP
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '13 '
    - item_type: preproc_def
      name: L2TP_AVP_ASSND_SESS_ID
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '14 '
    - item_type: preproc_def
      name: L2TP_AVP_CALL_SER_NUM
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '15 '
    - item_type: preproc_def
      name: L2TP_AVP_MINIMUM_BPS
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '16 '
    - item_type: preproc_def
      name: L2TP_AVP_MAXIMUM_BPS
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '17 '
    - item_type: preproc_def
      name: L2TP_AVP_BEARER_TYPE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '18 '
    - item_type: preproc_def
      name: L2TP_AVP_FRAMING_TYPE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '19 '
    - item_type: preproc_def
      name: L2TP_AVP_PACKET_PROC_DELAY
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '20 '
    - item_type: preproc_def
      name: L2TP_AVP_CALLED_NUMBER
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '21 '
    - item_type: preproc_def
      name: L2TP_AVP_CALLING_NUMBER
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '22 '
    - item_type: preproc_def
      name: L2TP_AVP_SUB_ADDRESS
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '23 '
    - item_type: preproc_def
      name: L2TP_AVP_TX_CONN_SPEED
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '24 '
    - item_type: preproc_def
      name: L2TP_AVP_PHY_CHANNEL_ID
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '25 '
    - item_type: preproc_def
      name: L2TP_AVP_INI_RECV_LCP
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '26 '
    - item_type: preproc_def
      name: L2TP_AVP_LAST_SENT_LCP
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '27 '
    - item_type: preproc_def
      name: L2TP_AVP_LAST_RECV_LCP
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '28 '
    - item_type: preproc_def
      name: L2TP_AVP_PROXY_AUTH_TYPE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '29 '
    - item_type: preproc_def
      name: L2TP_AVP_PROXY_AUTH_NAME
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '30 '
    - item_type: preproc_def
      name: L2TP_AVP_PROXY_AUTH_CHAL
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '31 '
    - item_type: preproc_def
      name: L2TP_AVP_PROXY_AUTH_ID
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '32 '
    - item_type: preproc_def
      name: L2TP_AVP_PROXY_AUTH_RESP
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '33 '
    - item_type: preproc_def
      name: L2TP_AVP_CALL_ERRORS
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '34 '
    - item_type: preproc_def
      name: L2TP_AVP_ACCM
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '35 '
    - item_type: preproc_def
      name: L2TP_AVP_RANDOM_VECTOR
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '36 '
    - item_type: preproc_def
      name: L2TP_AVP_PRIVATE_GRP_ID
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '37 '
    - item_type: preproc_def
      name: L2TP_AVP_RX_CONN_SPEED
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '38 '
    - item_type: preproc_def
      name: L2TP_AVP_SEQ_REQUIRED
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '39 '
    - item_type: preproc_def
      name: L2TP_AVP_PPP_DISCON_CC
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '46 '
    - item_type: preproc_def
      name: L2TP_PPP_DISCON_CC_DIRECTION_GLOBAL
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: L2TP_PPP_DISCON_CC_DIRECTION_AT_PEER
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: L2TP_PPP_DISCON_CC_DIRECTION_AT_LOCAL
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/tcpdump/print-l2tp.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_linkaddr_string
  - get_mac48_string
  - get_eui64_string
  - get_eui64le_string
  - get_isonsap_string
  - get_ipaddr_string
  - get_ip6addr_string
  - GET_LINKADDR_STRING
  - GET_MAC48_STRING
  - GET_EUI64_STRING
  - GET_EUI64LE_STRING
  - GET_ISONSAP_STRING
  - GET_IPADDR_STRING
  - GET_IP6ADDR_STRING
  source_file: /src/tcpdump/addrtoname.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INET6_ADDRSTRLEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/addrtoname.h
      type_or_value: '46'
    - item_type: preproc_def
      name: BUFSIZE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/addrtoname.h
      type_or_value: '128'
    structs: []
    typedefs: []
    union: []
- function_names:
  - LDP_MASK_MSG_TYPE
  - LDP_MASK_U_BIT
  - LDP_MASK_TLV_TYPE
  - LDP_MASK_F_BIT
  - ldp_tlv_print
  - ldp_print
  - ldp_pdu_print
  source_file: /src/tcpdump/print-ldp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LDP_VERSION
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LDP_MSG_NOTIF
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: LDP_MSG_HELLO
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: LDP_MSG_INIT
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0200'
    - item_type: preproc_def
      name: LDP_MSG_KEEPALIVE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0201'
    - item_type: preproc_def
      name: LDP_MSG_ADDRESS
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0300'
    - item_type: preproc_def
      name: LDP_MSG_ADDRESS_WITHDRAW
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0301'
    - item_type: preproc_def
      name: LDP_MSG_LABEL_MAPPING
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0400'
    - item_type: preproc_def
      name: LDP_MSG_LABEL_REQUEST
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0401'
    - item_type: preproc_def
      name: LDP_MSG_LABEL_WITHDRAW
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0402'
    - item_type: preproc_def
      name: LDP_MSG_LABEL_RELEASE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0403'
    - item_type: preproc_def
      name: LDP_MSG_LABEL_ABORT_REQUEST
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0404'
    - item_type: preproc_def
      name: LDP_VENDOR_PRIVATE_MIN
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x3e00'
    - item_type: preproc_def
      name: LDP_VENDOR_PRIVATE_MAX
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x3eff'
    - item_type: preproc_def
      name: LDP_EXPERIMENTAL_MIN
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x3f00'
    - item_type: preproc_def
      name: LDP_EXPERIMENTAL_MAX
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x3fff'
    - item_type: preproc_def
      name: LDP_TLV_FEC
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: LDP_TLV_ADDRESS_LIST
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0101'
    - item_type: preproc_def
      name: LDP_TLV_ADDRESS_LIST_AFNUM_LEN
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LDP_TLV_HOP_COUNT
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0103'
    - item_type: preproc_def
      name: LDP_TLV_PATH_VECTOR
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0104'
    - item_type: preproc_def
      name: LDP_TLV_GENERIC_LABEL
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0200'
    - item_type: preproc_def
      name: LDP_TLV_ATM_LABEL
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0201'
    - item_type: preproc_def
      name: LDP_TLV_FR_LABEL
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0202'
    - item_type: preproc_def
      name: LDP_TLV_STATUS
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0300'
    - item_type: preproc_def
      name: LDP_TLV_EXTD_STATUS
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0301'
    - item_type: preproc_def
      name: LDP_TLV_RETURNED_PDU
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0302'
    - item_type: preproc_def
      name: LDP_TLV_RETURNED_MSG
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0303'
    - item_type: preproc_def
      name: LDP_TLV_COMMON_HELLO
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0400'
    - item_type: preproc_def
      name: LDP_TLV_IPV4_TRANSPORT_ADDR
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0401'
    - item_type: preproc_def
      name: LDP_TLV_CONFIG_SEQ_NUMBER
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0402'
    - item_type: preproc_def
      name: LDP_TLV_IPV6_TRANSPORT_ADDR
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0403'
    - item_type: preproc_def
      name: LDP_TLV_COMMON_SESSION
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0500'
    - item_type: preproc_def
      name: LDP_TLV_ATM_SESSION_PARM
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0501'
    - item_type: preproc_def
      name: LDP_TLV_FR_SESSION_PARM
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0502'
    - item_type: preproc_def
      name: LDP_TLV_FT_SESSION
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0503'
    - item_type: preproc_def
      name: LDP_TLV_TYPED_WC_FEC_CAP
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x050b '
    - item_type: preproc_def
      name: LDP_TLV_LABEL_REQUEST_MSG_ID
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0600'
    - item_type: preproc_def
      name: LDP_TLV_MTU
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0601 '
    - item_type: preproc_def
      name: LDP_TLV_DUAL_STACK_CAP
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0701 '
    - item_type: preproc_def
      name: LDP_FEC_WILDCARD
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: LDP_FEC_PREFIX
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: LDP_FEC_HOSTADDRESS
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: LDP_FEC_MARTINI_VC
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: LDP_FEC_MARTINI_IFPARM_MTU
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: LDP_FEC_MARTINI_IFPARM_DESC
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: LDP_FEC_MARTINI_IFPARM_VCCV
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x0c'
    - item_type: preproc_def
      name: LDP_DUAL_STACK_TRANSPORT_PREF_IPV4
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: LDP_DUAL_STACK_TRANSPORT_PREF_IPV6
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/tcpdump/print-ldp.c
      type_or_value: '0x60'
    structs:
    - fields:
      - name: version
        type: nd_uint16_t
      - name: pdu_length
        type: nd_uint16_t
      - name: lsr_id
        type: nd_ipv4
      - name: label_space
        type: nd_uint16_t
      item_type: struct
      name: ldp_common_header
      pos:
        line_end: 49
        line_start: 44
        source_file: /src/tcpdump/print-ldp.c
    - fields:
      - name: type
        type: nd_uint16_t
      - name: length
        type: nd_uint16_t
      - name: id
        type: nd_uint32_t
      item_type: struct
      name: ldp_msg_header
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/tcpdump/print-ldp.c
    - fields:
      - name: type
        type: nd_uint16_t
      - name: length
        type: nd_uint16_t
      item_type: struct
      name: ldp_tlv_header
      pos:
        line_end: 282
        line_start: 279
        source_file: /src/tcpdump/print-ldp.c
    typedefs: []
    union: []
- function_names:
  - smtp_print
  source_file: /src/tcpdump/print-smtp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - NFSX_FH
  - NFSX_SRVFH
  - NFSX_FATTR
  - NFSX_PREOPATTR
  - NFSX_POSTOPATTR
  - NFSX_POSTOPORFATTR
  - NFSX_WCCDATA
  - NFSX_WCCORFATTR
  - NFSX_COOKIEVERF
  - NFSX_WRITEVERF
  - NFSX_READDIR
  - NFSX_STATFS
  - vtonfsv2_mode
  - vtonfsv3_mode
  - nfstov_mode
  - vtonfsv2_type
  - vtonfsv3_type
  - nfsv2tov_type
  - nfsv3tov_type
  source_file: /src/tcpdump/nfs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NFS_PORT
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/nfs.h
      type_or_value: '2049'
    - item_type: preproc_def
      name: NFS_PROG
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/nfs.h
      type_or_value: '100003'
    - item_type: preproc_def
      name: NFS_VER2
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/nfs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NFS_VER3
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/nfs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NFS_V2MAXDATA
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/nfs.h
      type_or_value: '8192'
    - item_type: preproc_def
      name: NFS_MAXDGRAMDATA
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/nfs.h
      type_or_value: '16384'
    - item_type: preproc_def
      name: NFS_MAXDATA
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/nfs.h
      type_or_value: '32768'
    - item_type: preproc_def
      name: NFS_MAXPATHLEN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/nfs.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: NFS_MAXNAMLEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/nfs.h
      type_or_value: '255'
    - item_type: preproc_def
      name: NFS_MAXPKTHDR
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/nfs.h
      type_or_value: '404'
    - item_type: preproc_def
      name: NFS_MAXPACKET
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/nfs.h
      type_or_value: (NFS_MAXPKTHDR + NFS_MAXDATA)
    - item_type: preproc_def
      name: NFS_MINPACKET
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/nfs.h
      type_or_value: '20'
    - item_type: preproc_def
      name: NFS_FABLKSIZE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/nfs.h
      type_or_value: "512\t"
    - item_type: preproc_def
      name: NFS_OK
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NFSERR_PERM
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/nfs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NFSERR_NOENT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/nfs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NFSERR_IO
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/nfs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: NFSERR_NXIO
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/nfs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: NFSERR_ACCES
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/nfs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: NFSERR_EXIST
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/nfs.h
      type_or_value: '17'
    - item_type: preproc_def
      name: NFSERR_XDEV
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/nfs.h
      type_or_value: "18\t"
    - item_type: preproc_def
      name: NFSERR_NODEV
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/nfs.h
      type_or_value: '19'
    - item_type: preproc_def
      name: NFSERR_NOTDIR
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/nfs.h
      type_or_value: '20'
    - item_type: preproc_def
      name: NFSERR_ISDIR
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/nfs.h
      type_or_value: '21'
    - item_type: preproc_def
      name: NFSERR_INVAL
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/nfs.h
      type_or_value: "22\t"
    - item_type: preproc_def
      name: NFSERR_FBIG
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/nfs.h
      type_or_value: '27'
    - item_type: preproc_def
      name: NFSERR_NOSPC
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/nfs.h
      type_or_value: '28'
    - item_type: preproc_def
      name: NFSERR_ROFS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/nfs.h
      type_or_value: '30'
    - item_type: preproc_def
      name: NFSERR_MLINK
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/nfs.h
      type_or_value: "31\t"
    - item_type: preproc_def
      name: NFSERR_NAMETOL
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/nfs.h
      type_or_value: '63'
    - item_type: preproc_def
      name: NFSERR_NOTEMPTY
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/nfs.h
      type_or_value: '66'
    - item_type: preproc_def
      name: NFSERR_DQUOT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/nfs.h
      type_or_value: '69'
    - item_type: preproc_def
      name: NFSERR_STALE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/nfs.h
      type_or_value: '70'
    - item_type: preproc_def
      name: NFSERR_REMOTE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/nfs.h
      type_or_value: "71\t"
    - item_type: preproc_def
      name: NFSERR_WFLUSH
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/nfs.h
      type_or_value: "99\t"
    - item_type: preproc_def
      name: NFSERR_BADHANDLE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/nfs.h
      type_or_value: "10001\t"
    - item_type: preproc_def
      name: NFSERR_NOT_SYNC
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/nfs.h
      type_or_value: '10002'
    - item_type: preproc_def
      name: NFSERR_BAD_COOKIE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/nfs.h
      type_or_value: '10003'
    - item_type: preproc_def
      name: NFSERR_NOTSUPP
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/nfs.h
      type_or_value: '10004'
    - item_type: preproc_def
      name: NFSERR_TOOSMALL
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/nfs.h
      type_or_value: '10005'
    - item_type: preproc_def
      name: NFSERR_SERVERFAULT
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/nfs.h
      type_or_value: '10006'
    - item_type: preproc_def
      name: NFSERR_BADTYPE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/nfs.h
      type_or_value: '10007'
    - item_type: preproc_def
      name: NFSERR_JUKEBOX
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/nfs.h
      type_or_value: '10008'
    - item_type: preproc_def
      name: NFSERR_TRYLATER
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/nfs.h
      type_or_value: NFSERR_JUKEBOX
    - item_type: preproc_def
      name: NFSERR_STALEWRITEVERF
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/nfs.h
      type_or_value: "30001\t"
    - item_type: preproc_def
      name: NFSERR_RETVOID
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0x20000000 '
    - item_type: preproc_def
      name: NFSERR_AUTHERR
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0x40000000 '
    - item_type: preproc_def
      name: NFSERR_RETERR
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0x80000000 '
    - item_type: preproc_def
      name: NFSX_UNSIGNED
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/nfs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NFSX_V2FH
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/nfs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: NFSX_V2FATTR
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/nfs.h
      type_or_value: '68'
    - item_type: preproc_def
      name: NFSX_V2SATTR
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/nfs.h
      type_or_value: '32'
    - item_type: preproc_def
      name: NFSX_V2COOKIE
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/nfs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NFSX_V2STATFS
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/nfs.h
      type_or_value: '20'
    - item_type: preproc_def
      name: NFSX_V3FH
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/nfs.h
      type_or_value: '(sizeof (fhandle_t)) '
    - item_type: preproc_def
      name: NFSX_V3FHMAX
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/nfs.h
      type_or_value: "64\t"
    - item_type: preproc_def
      name: NFSX_V3FATTR
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/nfs.h
      type_or_value: '84'
    - item_type: preproc_def
      name: NFSX_V3SATTR
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/nfs.h
      type_or_value: "60\t"
    - item_type: preproc_def
      name: NFSX_V3POSTOPATTR
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/nfs.h
      type_or_value: (NFSX_V3FATTR + NFSX_UNSIGNED)
    - item_type: preproc_def
      name: NFSX_V3WCCDATA
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/nfs.h
      type_or_value: (NFSX_V3POSTOPATTR + 8 * NFSX_UNSIGNED)
    - item_type: preproc_def
      name: NFSX_V3COOKIEVERF
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/nfs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NFSX_V3WRITEVERF
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/nfs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NFSX_V3CREATEVERF
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/nfs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NFSX_V3STATFS
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/nfs.h
      type_or_value: '52'
    - item_type: preproc_def
      name: NFSX_V3FSINFO
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/nfs.h
      type_or_value: '48'
    - item_type: preproc_def
      name: NFSX_V3PATHCONF
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/nfs.h
      type_or_value: '24'
    - item_type: preproc_def
      name: NFSPROC_NULL
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NFSPROC_GETATTR
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/nfs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NFSPROC_SETATTR
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/nfs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NFSPROC_LOOKUP
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/nfs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NFSPROC_ACCESS
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/nfs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NFSPROC_READLINK
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/nfs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: NFSPROC_READ
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/nfs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: NFSPROC_WRITE
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/nfs.h
      type_or_value: '7'
    - item_type: preproc_def
      name: NFSPROC_CREATE
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/nfs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NFSPROC_MKDIR
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/nfs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: NFSPROC_SYMLINK
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/nfs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: NFSPROC_MKNOD
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/nfs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: NFSPROC_REMOVE
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/nfs.h
      type_or_value: '12'
    - item_type: preproc_def
      name: NFSPROC_RMDIR
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/nfs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: NFSPROC_RENAME
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/nfs.h
      type_or_value: '14'
    - item_type: preproc_def
      name: NFSPROC_LINK
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/nfs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: NFSPROC_READDIR
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/nfs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: NFSPROC_READDIRPLUS
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/nfs.h
      type_or_value: '17'
    - item_type: preproc_def
      name: NFSPROC_FSSTAT
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/nfs.h
      type_or_value: '18'
    - item_type: preproc_def
      name: NFSPROC_FSINFO
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/nfs.h
      type_or_value: '19'
    - item_type: preproc_def
      name: NFSPROC_PATHCONF
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/nfs.h
      type_or_value: '20'
    - item_type: preproc_def
      name: NFSPROC_COMMIT
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/nfs.h
      type_or_value: '21'
    - item_type: preproc_def
      name: NQNFSPROC_GETLEASE
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/nfs.h
      type_or_value: '22'
    - item_type: preproc_def
      name: NQNFSPROC_VACATED
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/nfs.h
      type_or_value: '23'
    - item_type: preproc_def
      name: NQNFSPROC_EVICTED
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/nfs.h
      type_or_value: '24'
    - item_type: preproc_def
      name: NFSPROC_NOOP
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/tcpdump/nfs.h
      type_or_value: '25'
    - item_type: preproc_def
      name: NFS_NPROCS
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/tcpdump/nfs.h
      type_or_value: '26'
    - item_type: preproc_def
      name: NFSV2PROC_NULL
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NFSV2PROC_GETATTR
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcpdump/nfs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NFSV2PROC_SETATTR
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcpdump/nfs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NFSV2PROC_NOOP
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/tcpdump/nfs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NFSV2PROC_ROOT
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/tcpdump/nfs.h
      type_or_value: "NFSV2PROC_NOOP\t"
    - item_type: preproc_def
      name: NFSV2PROC_LOOKUP
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcpdump/nfs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: NFSV2PROC_READLINK
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/tcpdump/nfs.h
      type_or_value: '5'
    - item_type: preproc_def
      name: NFSV2PROC_READ
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/tcpdump/nfs.h
      type_or_value: '6'
    - item_type: preproc_def
      name: NFSV2PROC_WRITECACHE
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/tcpdump/nfs.h
      type_or_value: "NFSV2PROC_NOOP\t"
    - item_type: preproc_def
      name: NFSV2PROC_WRITE
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/tcpdump/nfs.h
      type_or_value: '8'
    - item_type: preproc_def
      name: NFSV2PROC_CREATE
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/tcpdump/nfs.h
      type_or_value: '9'
    - item_type: preproc_def
      name: NFSV2PROC_REMOVE
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/tcpdump/nfs.h
      type_or_value: '10'
    - item_type: preproc_def
      name: NFSV2PROC_RENAME
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/tcpdump/nfs.h
      type_or_value: '11'
    - item_type: preproc_def
      name: NFSV2PROC_LINK
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/tcpdump/nfs.h
      type_or_value: '12'
    - item_type: preproc_def
      name: NFSV2PROC_SYMLINK
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/tcpdump/nfs.h
      type_or_value: '13'
    - item_type: preproc_def
      name: NFSV2PROC_MKDIR
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/tcpdump/nfs.h
      type_or_value: '14'
    - item_type: preproc_def
      name: NFSV2PROC_RMDIR
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/tcpdump/nfs.h
      type_or_value: '15'
    - item_type: preproc_def
      name: NFSV2PROC_READDIR
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/tcpdump/nfs.h
      type_or_value: '16'
    - item_type: preproc_def
      name: NFSV2PROC_STATFS
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/tcpdump/nfs.h
      type_or_value: '17'
    - item_type: preproc_def
      name: NFSV3SATTRTIME_DONTCHANGE
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NFSV3SATTRTIME_TOSERVER
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/tcpdump/nfs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NFSV3SATTRTIME_TOCLIENT
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/tcpdump/nfs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NFSV3ATTRTIME_NMODES
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/tcpdump/nfs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NFSV3ACCESS_READ
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: NFSV3ACCESS_LOOKUP
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: NFSV3ACCESS_MODIFY
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: NFSV3ACCESS_EXTEND
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: NFSV3ACCESS_DELETE
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: NFSV3ACCESS_EXECUTE
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: NFSV3ACCESS_FULL
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0x3f'
    - item_type: preproc_def
      name: NFSV3WRITE_UNSTABLE
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NFSV3WRITE_DATASYNC
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/tcpdump/nfs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NFSV3WRITE_FILESYNC
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/tcpdump/nfs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NFSV3WRITE_NMODES
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/tcpdump/nfs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NFSV3CREATE_UNCHECKED
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: NFSV3CREATE_GUARDED
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/tcpdump/nfs.h
      type_or_value: '1'
    - item_type: preproc_def
      name: NFSV3CREATE_EXCLUSIVE
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/tcpdump/nfs.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NFSV3CREATE_NMODES
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/tcpdump/nfs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NFSV3FSINFO_LINK
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: NFSV3FSINFO_SYMLINK
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: NFSV3FSINFO_HOMOGENEOUS
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: NFSV3FSINFO_CANSETTIME
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/tcpdump/nfs.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: NFS_SMALLFH
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/tcpdump/nfs.h
      type_or_value: '64'
    - item_type: preproc_def
      name: fa2_size
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv2.nfsv2fa_size
    - item_type: preproc_def
      name: fa2_blocksize
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv2.nfsv2fa_blocksize
    - item_type: preproc_def
      name: fa2_rdev
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv2.nfsv2fa_rdev
    - item_type: preproc_def
      name: fa2_blocks
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv2.nfsv2fa_blocks
    - item_type: preproc_def
      name: fa2_fsid
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv2.nfsv2fa_fsid
    - item_type: preproc_def
      name: fa2_fileid
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv2.nfsv2fa_fileid
    - item_type: preproc_def
      name: fa2_atime
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv2.nfsv2fa_atime
    - item_type: preproc_def
      name: fa2_mtime
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv2.nfsv2fa_mtime
    - item_type: preproc_def
      name: fa2_ctime
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv2.nfsv2fa_ctime
    - item_type: preproc_def
      name: fa3_size
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv3.nfsv3fa_size
    - item_type: preproc_def
      name: fa3_used
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv3.nfsv3fa_used
    - item_type: preproc_def
      name: fa3_rdev
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv3.nfsv3fa_rdev
    - item_type: preproc_def
      name: fa3_fsid
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv3.nfsv3fa_fsid
    - item_type: preproc_def
      name: fa3_fileid
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv3.nfsv3fa_fileid
    - item_type: preproc_def
      name: fa3_atime
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv3.nfsv3fa_atime
    - item_type: preproc_def
      name: fa3_mtime
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv3.nfsv3fa_mtime
    - item_type: preproc_def
      name: fa3_ctime
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/tcpdump/nfs.h
      type_or_value: fa_un.fa_nfsv3.nfsv3fa_ctime
    - item_type: preproc_def
      name: sf_tsize
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/tcpdump/nfs.h
      type_or_value: sf_un.sf_nfsv2.nfsv2sf_tsize
    - item_type: preproc_def
      name: sf_bsize
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/tcpdump/nfs.h
      type_or_value: sf_un.sf_nfsv2.nfsv2sf_bsize
    - item_type: preproc_def
      name: sf_blocks
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/tcpdump/nfs.h
      type_or_value: sf_un.sf_nfsv2.nfsv2sf_blocks
    - item_type: preproc_def
      name: sf_bfree
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/tcpdump/nfs.h
      type_or_value: sf_un.sf_nfsv2.nfsv2sf_bfree
    - item_type: preproc_def
      name: sf_bavail
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/tcpdump/nfs.h
      type_or_value: sf_un.sf_nfsv2.nfsv2sf_bavail
    - item_type: preproc_def
      name: sf_tbytes
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/tcpdump/nfs.h
      type_or_value: sf_un.sf_nfsv3.nfsv3sf_tbytes
    - item_type: preproc_def
      name: sf_fbytes
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/tcpdump/nfs.h
      type_or_value: sf_un.sf_nfsv3.nfsv3sf_fbytes
    - item_type: preproc_def
      name: sf_abytes
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/tcpdump/nfs.h
      type_or_value: sf_un.sf_nfsv3.nfsv3sf_abytes
    - item_type: preproc_def
      name: sf_tfiles
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/tcpdump/nfs.h
      type_or_value: sf_un.sf_nfsv3.nfsv3sf_tfiles
    - item_type: preproc_def
      name: sf_ffiles
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/tcpdump/nfs.h
      type_or_value: sf_un.sf_nfsv3.nfsv3sf_ffiles
    - item_type: preproc_def
      name: sf_afiles
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/tcpdump/nfs.h
      type_or_value: sf_un.sf_nfsv3.nfsv3sf_afiles
    - item_type: preproc_def
      name: sf_invarsec
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/tcpdump/nfs.h
      type_or_value: sf_un.sf_nfsv3.nfsv3sf_invarsec
    structs:
    - fields:
      - name: nfsv2_sec
        type: nd_uint32_t
      - name: nfsv2_usec
        type: nd_uint32_t
      item_type: struct
      name: nfsv2_time
      pos:
        line_end: 276
        line_start: 273
        source_file: /src/tcpdump/nfs.h
    - fields:
      - name: nfsv3_sec
        type: nd_uint32_t
      - name: nfsv3_nsec
        type: nd_uint32_t
      item_type: struct
      name: nfsv3_time
      pos:
        line_end: 282
        line_start: 279
        source_file: /src/tcpdump/nfs.h
    - fields:
      - name: specdata1
        type: nd_uint32_t
      - name: specdata2
        type: nd_uint32_t
      item_type: struct
      name: nfsv3_spec
      pos:
        line_end: 291
        line_start: 288
        source_file: /src/tcpdump/nfs.h
    - fields:
      - name: fa_type
        type: nd_uint32_t
      - name: fa_mode
        type: nd_uint32_t
      - name: fa_nlink
        type: nd_uint32_t
      - name: fa_uid
        type: nd_uint32_t
      - name: fa_gid
        type: nd_uint32_t
      - name: fa_un
        type: "union {\n\t\tstruct {\n\t\t\tnd_uint32_t nfsv2fa_size;\n\t\t\tnd_uint32_t
          nfsv2fa_blocksize;\n\t\t\tnd_uint32_t nfsv2fa_rdev;\n\t\t\tnd_uint32_t nfsv2fa_blocks;\n\t\t\tnd_uint32_t
          nfsv2fa_fsid;\n\t\t\tnd_uint32_t nfsv2fa_fileid;\n\t\t\tnfstime2    nfsv2fa_atime;\n\t\t\tnfstime2
          \   nfsv2fa_mtime;\n\t\t\tnfstime2    nfsv2fa_ctime;\n\t\t} fa_nfsv2;\n\t\tstruct
          {\n\t\t\tnd_uint64_t nfsv3fa_size;\n\t\t\tnd_uint64_t nfsv3fa_used;\n\t\t\tnfsv3spec
          \  nfsv3fa_rdev;\n\t\t\tnd_uint64_t nfsv3fa_fsid;\n\t\t\tnd_uint64_t nfsv3fa_fileid;\n\t\t\tnfstime3
          \   nfsv3fa_atime;\n\t\t\tnfstime3    nfsv3fa_mtime;\n\t\t\tnfstime3    nfsv3fa_ctime;\n\t\t}
          fa_nfsv3;\n\t}"
      item_type: struct
      name: nfs_fattr
      pos:
        line_end: 332
        line_start: 303
        source_file: /src/tcpdump/nfs.h
    - fields:
      - name: sa_mode
        type: nd_uint32_t
      - name: sa_uid
        type: nd_uint32_t
      - name: sa_gid
        type: nd_uint32_t
      - name: sa_size
        type: nd_uint32_t
      - name: sa_atime
        type: nfstime2
      - name: sa_mtime
        type: nfstime2
      item_type: struct
      name: nfsv2_sattr
      pos:
        line_end: 360
        line_start: 353
        source_file: /src/tcpdump/nfs.h
    - fields:
      - name: sf_un
        type: "union {\n\t\tstruct {\n\t\t\tnd_uint32_t nfsv2sf_tsize;\n\t\t\tnd_uint32_t
          nfsv2sf_bsize;\n\t\t\tnd_uint32_t nfsv2sf_blocks;\n\t\t\tnd_uint32_t nfsv2sf_bfree;\n\t\t\tnd_uint32_t
          nfsv2sf_bavail;\n\t\t} sf_nfsv2;\n\t\tstruct {\n\t\t\tnd_uint64_t nfsv3sf_tbytes;\n\t\t\tnd_uint64_t
          nfsv3sf_fbytes;\n\t\t\tnd_uint64_t nfsv3sf_abytes;\n\t\t\tnd_uint64_t nfsv3sf_tfiles;\n\t\t\tnd_uint64_t
          nfsv3sf_ffiles;\n\t\t\tnd_uint64_t nfsv3sf_afiles;\n\t\t\tnd_uint32_t nfsv3sf_invarsec;\n\t\t}
          sf_nfsv3;\n\t}"
      item_type: struct
      name: nfs_statfs
      pos:
        line_end: 381
        line_start: 362
        source_file: /src/tcpdump/nfs.h
    - fields:
      - name: fs_rtmax
        type: nd_uint32_t
      - name: fs_rtpref
        type: nd_uint32_t
      - name: fs_rtmult
        type: nd_uint32_t
      - name: fs_wtmax
        type: nd_uint32_t
      - name: fs_wtpref
        type: nd_uint32_t
      - name: fs_wtmult
        type: nd_uint32_t
      - name: fs_dtpref
        type: nd_uint32_t
      - name: fs_maxfilesize
        type: nd_uint64_t
      - name: fs_timedelta
        type: nfstime3
      - name: fs_properties
        type: nd_uint32_t
      item_type: struct
      name: nfsv3_fsinfo
      pos:
        line_end: 407
        line_start: 396
        source_file: /src/tcpdump/nfs.h
    - fields:
      - name: pc_linkmax
        type: nd_uint32_t
      - name: pc_namemax
        type: nd_uint32_t
      - name: pc_notrunc
        type: nd_uint32_t
      - name: pc_chownrestricted
        type: nd_uint32_t
      - name: pc_caseinsensitive
        type: nd_uint32_t
      - name: pc_casepreserving
        type: nd_uint32_t
      item_type: struct
      name: nfsv3_pathconf
      pos:
        line_end: 416
        line_start: 409
        source_file: /src/tcpdump/nfs.h
    typedefs:
    - item_type: typedef
      name: nfsfh_t
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/tcpdump/nfs.h
      type: nfsfh
    - item_type: typedef
      name: nfstime2
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/tcpdump/nfs.h
      type: nfsv2_time
    - item_type: typedef
      name: nfstime3
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/tcpdump/nfs.h
      type: nfsv3_time
    - item_type: typedef
      name: nfsv3spec
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/tcpdump/nfs.h
      type: nfsv3_spec
    union:
    - fields:
      - name: fh_bytes[NFS_SMALLFH]
        type: u_char
      item_type: union
      name: nfsfh
      pos:
        line_end: 270
        line_start: 267
        source_file: /src/tcpdump/nfs.h
- function_names:
  - ND_IN6_IS_ADDR_UNSPECIFIED
  - rip6_entry_print
  - ripng_print
  source_file: /src/tcpdump/print-ripng.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RIP6_VERSION
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-ripng.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RIP6_REQUEST
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-ripng.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RIP6_RESPONSE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-ripng.c
      type_or_value: '2'
    - item_type: preproc_def
      name: HOPCNT_INFINITY6
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-ripng.c
      type_or_value: '16'
    structs:
    - fields:
      - name: rip6_dest
        type: nd_ipv6
      - name: rip6_tag
        type: nd_uint16_t
      - name: rip6_plen
        type: nd_uint8_t
      - name: rip6_metric
        type: nd_uint8_t
      item_type: struct
      name: netinfo6
      pos:
        line_end: 71
        line_start: 66
        source_file: /src/tcpdump/print-ripng.c
    - fields:
      - name: rip6_cmd
        type: nd_uint8_t
      - name: rip6_vers
        type: nd_uint8_t
      - name: rip6_res1[2]
        type: nd_byte
      - name: rip6_nets[1]
        type: struct netinfo6
      item_type: struct
      name: rip6
      pos:
        line_end: 78
        line_start: 73
        source_file: /src/tcpdump/print-ripng.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/chdlc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHDLC_HDRLEN
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/tcpdump/chdlc.h
      type_or_value: '4'
    - item_type: preproc_def
      name: CHDLC_UNICAST
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/tcpdump/chdlc.h
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: CHDLC_BCAST
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/tcpdump/chdlc.h
      type_or_value: '0x8f'
    - item_type: preproc_def
      name: CHDLC_TYPE_SLARP
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/tcpdump/chdlc.h
      type_or_value: '0x8035'
    - item_type: preproc_def
      name: CHDLC_TYPE_CDP
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/tcpdump/chdlc.h
      type_or_value: '0x2000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - signature_compute_hmac_md5
  - signature_verify
  source_file: /src/tcpdump/signature.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MPTCP_OPT_SUBTYPE
  - MP_CAPABLE_OPT_VERSION
  - mp_capable_print
  - mp_join_print
  - mp_dss_print
  - add_addr_print
  - remove_addr_print
  - mp_prio_print
  - mp_fail_print
  - mp_fast_close_print
  - mp_tcprst_print
  - mptcp_print
  source_file: /src/tcpdump/print-mptcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MPTCP_SUB_CAPABLE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x0'
    - item_type: preproc_def
      name: MPTCP_SUB_JOIN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: MPTCP_SUB_DSS
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: MPTCP_SUB_ADD_ADDR
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x3'
    - item_type: preproc_def
      name: MPTCP_SUB_REMOVE_ADDR
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: MPTCP_SUB_PRIO
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x5'
    - item_type: preproc_def
      name: MPTCP_SUB_FAIL
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x6'
    - item_type: preproc_def
      name: MPTCP_SUB_FCLOSE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x7'
    - item_type: preproc_def
      name: MPTCP_SUB_TCPRST
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x8'
    - item_type: preproc_def
      name: MP_CAPABLE_A
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: MP_JOIN_B
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: MP_DSS_F
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: MP_DSS_m
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: MP_DSS_M
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: MP_DSS_a
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: MP_DSS_A
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: MP_PRIO_B
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/tcpdump/print-mptcp.c
      type_or_value: '0x01'
    structs:
    - fields:
      - name: kind
        type: nd_uint8_t
      - name: len
        type: nd_uint8_t
      - name: sub_etc
        type: nd_uint8_t
      item_type: struct
      name: mptcp_option
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/tcpdump/print-mptcp.c
    - fields:
      - name: kind
        type: nd_uint8_t
      - name: len
        type: nd_uint8_t
      - name: sub_ver
        type: nd_uint8_t
      - name: flags
        type: nd_uint8_t
      - name: sender_key
        type: nd_uint64_t
      - name: receiver_key
        type: nd_uint64_t
      - name: data_len
        type: nd_uint16_t
      item_type: struct
      name: mp_capable
      pos:
        line_end: 88
        line_start: 80
        source_file: /src/tcpdump/print-mptcp.c
    - fields:
      - name: kind
        type: nd_uint8_t
      - name: len
        type: nd_uint8_t
      - name: sub_b
        type: nd_uint8_t
      - name: addr_id
        type: nd_uint8_t
      - name: u
        type: "union {\n                struct {\n                        nd_uint32_t
          \    token;\n                        nd_uint32_t     nonce;\n                }
          syn;\n                struct {\n                        nd_uint64_t     mac;\n
          \                       nd_uint32_t     nonce;\n                } synack;\n
          \               struct {\n                        nd_byte         mac[20];\n
          \               } ack;\n        }"
      item_type: struct
      name: mp_join
      pos:
        line_end: 110
        line_start: 92
        source_file: /src/tcpdump/print-mptcp.c
    - fields:
      - name: kind
        type: nd_uint8_t
      - name: len
        type: nd_uint8_t
      - name: sub
        type: nd_uint8_t
      - name: flags
        type: nd_uint8_t
      item_type: struct
      name: mp_dss
      pos:
        line_end: 119
        line_start: 114
        source_file: /src/tcpdump/print-mptcp.c
    - fields:
      - name: kind
        type: nd_uint8_t
      - name: len
        type: nd_uint8_t
      - name: sub_echo
        type: nd_uint8_t
      - name: addr_id
        type: nd_uint8_t
      - name: u
        type: "union {\n                struct {\n                        nd_ipv4
          \        addr;\n                        nd_uint16_t     port;\n                        nd_uint64_t
          \    mac;\n                } v4;\n                struct {\n                        nd_ipv4
          \        addr;\n                        nd_uint64_t     mac;\n                }
          v4np;\n                struct {\n                        nd_ipv6         addr;\n
          \                       nd_uint16_t     port;\n                        nd_uint64_t
          \    mac;\n                } v6;\n                struct {\n                        nd_ipv6
          \        addr;\n                        nd_uint64_t     mac;\n                }
          v6np;\n        }"
      item_type: struct
      name: mp_add_addr
      pos:
        line_end: 160
        line_start: 135
        source_file: /src/tcpdump/print-mptcp.c
    - fields:
      - name: kind
        type: nd_uint8_t
      - name: len
        type: nd_uint8_t
      - name: sub
        type: nd_uint8_t
      - name: addrs_id[1]
        type: nd_uint8_t
      item_type: struct
      name: mp_remove_addr
      pos:
        line_end: 168
        line_start: 162
        source_file: /src/tcpdump/print-mptcp.c
    - fields:
      - name: kind
        type: nd_uint8_t
      - name: len
        type: nd_uint8_t
      - name: sub
        type: nd_uint8_t
      - name: resv
        type: nd_uint8_t
      - name: data_seq
        type: nd_uint64_t
      item_type: struct
      name: mp_fail
      pos:
        line_end: 176
        line_start: 170
        source_file: /src/tcpdump/print-mptcp.c
    - fields:
      - name: kind
        type: nd_uint8_t
      - name: len
        type: nd_uint8_t
      - name: sub
        type: nd_uint8_t
      - name: rsv
        type: nd_uint8_t
      - name: key[8]
        type: nd_byte
      item_type: struct
      name: mp_close
      pos:
        line_end: 184
        line_start: 178
        source_file: /src/tcpdump/print-mptcp.c
    - fields:
      - name: kind
        type: nd_uint8_t
      - name: len
        type: nd_uint8_t
      - name: sub_b
        type: nd_uint8_t
      - name: addr_id
        type: nd_uint8_t
      item_type: struct
      name: mp_prio
      pos:
        line_end: 191
        line_start: 186
        source_file: /src/tcpdump/print-mptcp.c
    - fields:
      - name: kind
        type: nd_uint8_t
      - name: len
        type: nd_uint8_t
      - name: sub_b
        type: nd_uint8_t
      - name: reason
        type: nd_uint8_t
      item_type: struct
      name: mp_tcprst
      pos:
        line_end: 219
        line_start: 214
        source_file: /src/tcpdump/print-mptcp.c
    - fields:
      - name: '*name'
        type: char
      - name: (*print)(netdissect_options *, const u_char *, u_int, uint16_t)
        type: int
      item_type: struct
      name: "mptcp_options[] = {\n        { \"capable\",    mp_capable_print },\n
        \       { \"join\",       mp_join_print },\n        { \"dss\",        mp_dss_print
        },\n        { \"add-addr\",   add_addr_print },\n        { \"rem-addr\",   remove_addr_print
        },\n        { \"prio\",       mp_prio_print },\n        { \"fail\",       mp_fail_print
        },\n        { \"fast-close\", mp_fast_close_print },\n        { \"tcprst\",
        \    mp_tcprst_print },\n        { \"unknown\",    dummy_print },\n}"
      pos:
        line_end: 516
        line_start: 513
        source_file: /src/tcpdump/print-mptcp.c
    typedefs: []
    union: []
- function_names:
  - print_pf_addr
  - pflog_print
  - pflog_if_print
  source_file: /src/tcpdump/print-pflog.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PFLOG_IFNAMSIZ
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '16'
    - item_type: preproc_def
      name: PFLOG_RULESET_NAME_SIZE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '16'
    - item_type: preproc_def
      name: v4
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: pfa.v4
    - item_type: preproc_def
      name: v6
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: pfa.v6
    - item_type: preproc_def
      name: PFLOG_HEADER_LEN_FREEBSD
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '69'
    - item_type: preproc_def
      name: PFLOG_HEADER_LEN_OPENBSD
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '100'
    - item_type: preproc_def
      name: PFLOG_HEADER_LEN_OTHER
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '61'
    - item_type: preproc_def
      name: MIN_PFLOG_HDRLEN
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '61'
    - item_type: preproc_def
      name: MAX_PFLOG_HDRLEN
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '100'
    - item_type: preproc_def
      name: PFRES_MATCH
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PFRES_BADOFF
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PFRES_FRAG
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PFRES_SHORT
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '3'
    - item_type: preproc_def
      name: PFRES_NORM
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PFRES_MEMORY
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '5'
    - item_type: preproc_def
      name: PFRES_TS
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '6'
    - item_type: preproc_def
      name: PFRES_CONGEST
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '7'
    - item_type: preproc_def
      name: PFRES_IPOPTIONS
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '8'
    - item_type: preproc_def
      name: PFRES_PROTCKSUM
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '9'
    - item_type: preproc_def
      name: PFRES_BADSTATE
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '10'
    - item_type: preproc_def
      name: PFRES_STATEINS
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '11'
    - item_type: preproc_def
      name: PFRES_MAXSTATES
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '12'
    - item_type: preproc_def
      name: PFRES_SRCLIMIT
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '13'
    - item_type: preproc_def
      name: PFRES_SYNPROXY
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '14'
    - item_type: preproc_def
      name: PFRES_MAPFAILED
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '15'
    - item_type: preproc_def
      name: PFRES_TRANSLATE
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '15'
    - item_type: preproc_def
      name: PFRES_NOROUTE
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '16'
    - item_type: preproc_def
      name: PFRES_STATELOCKED_DUMMYNET
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: "15\t"
    - item_type: preproc_def
      name: PFRES_INVPORT
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '16 '
    - item_type: preproc_def
      name: PFACT_PASS
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PFACT_DROP
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PFACT_SCRUB
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PFACT_NOSCRUB
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '3'
    - item_type: preproc_def
      name: PFACT_NAT
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PFACT_NONAT
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '5'
    - item_type: preproc_def
      name: PFACT_BINAT
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '6'
    - item_type: preproc_def
      name: PFACT_NOBINAT
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '7'
    - item_type: preproc_def
      name: PFACT_RDR
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '8'
    - item_type: preproc_def
      name: PFACT_NORDR
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '9'
    - item_type: preproc_def
      name: PFACT_SYNPROXY_DROP
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '10'
    - item_type: preproc_def
      name: PFACT_DEFER
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '11'
    - item_type: preproc_def
      name: PFACT_MATCH
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '12'
    - item_type: preproc_def
      name: PFACT_MATCH
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '12'
    - item_type: preproc_def
      name: PFACT_DIVERT
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '13'
    - item_type: preproc_def
      name: PFACT_RT
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '14'
    - item_type: preproc_def
      name: PFACT_AFRT
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '15'
    - item_type: preproc_def
      name: PFACT_DUMMYNET
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '11'
    - item_type: preproc_def
      name: PFACT_NODUMMYNET
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '12'
    - item_type: preproc_def
      name: PFACT_NAT64
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '13'
    - item_type: preproc_def
      name: PFACT_NONAT64
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '14'
    - item_type: preproc_def
      name: PFDIR_INOUT
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PFDIR_IN
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PFDIR_OUT
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PFDIR_FWD
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/tcpdump/print-pflog.c
      type_or_value: '3'
    structs:
    - fields:
      - name: pfa
        type: "union {\n\t\tnd_ipv4\t\tv4;\n\t\tnd_ipv6\t\tv6;\n\t}"
      item_type: struct
      name: pf_addr
      pos:
        line_end: 48
        line_start: 41
        source_file: /src/tcpdump/print-pflog.c
    - fields:
      - name: length
        type: nd_uint8_t
      - name: af
        type: nd_uint8_t
      - name: action
        type: nd_uint8_t
      - name: reason
        type: nd_uint8_t
      - name: ifname[PFLOG_IFNAMSIZ]
        type: char
      - name: ruleset[PFLOG_RULESET_NAME_SIZE]
        type: char
      - name: rulenr
        type: nd_uint32_t
      - name: subrulenr
        type: nd_uint32_t
      - name: uid
        type: nd_uint32_t
      - name: pid
        type: nd_int32_t
      - name: rule_uid
        type: nd_uint32_t
      - name: rule_pid
        type: nd_int32_t
      - name: dir
        type: nd_uint8_t
      - name: u
        type: "union {\n\t\tstruct pflog_openbsd_only {\n\t\t\tnd_uint8_t\trewritten;\n\t\t\tnd_uint8_t\tnaf;\n\t\t\tnd_uint8_t\tpad[1];\n\t\t\tstruct
          pf_addr\tsaddr;\n\t\t\tstruct pf_addr\tdaddr;\n\t\t\tnd_uint16_t\tsport;\n\t\t\tnd_uint16_t\tdport;\n\t\t}
          openbsd;\n\t\tstruct pflog_freebsd_only {\n\t\t\tnd_uint8_t\tpad[3];\n\t\t\tnd_uint32_t\tridentifier;\n\t\t\tnd_uint8_t\treserve;\n\t\t}
          freebsd;\n\t}"
      item_type: struct
      name: pfloghdr
      pos:
        line_end: 98
        line_start: 68
        source_file: /src/tcpdump/print-pflog.c
    - fields:
      - name: rewritten
        type: nd_uint8_t
      - name: naf
        type: nd_uint8_t
      - name: pad[1]
        type: nd_uint8_t
      - name: saddr
        type: struct pf_addr
      - name: daddr
        type: struct pf_addr
      - name: sport
        type: nd_uint16_t
      - name: dport
        type: nd_uint16_t
      item_type: struct
      name: pflog_openbsd_only
      pos:
        line_end: 91
        line_start: 83
        source_file: /src/tcpdump/print-pflog.c
    - fields:
      - name: pad[3]
        type: nd_uint8_t
      - name: ridentifier
        type: nd_uint32_t
      - name: reserve
        type: nd_uint8_t
      item_type: struct
      name: pflog_freebsd_only
      pos:
        line_end: 96
        line_start: 92
        source_file: /src/tcpdump/print-pflog.c
    typedefs: []
    union: []
- function_names:
  - ADDCARRY
  - in_cksum
  - in_cksum_shouldbe
  source_file: /src/tcpdump/in_cksum.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REDUCE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/in_cksum.c
      type_or_value: '{l_util.l = sum; sum = l_util.s[0] + l_util.s[1]; ADDCARRY(sum);}'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: c[2]
        type: uint8_t
      - name: s
        type: uint16_t
      item_type: union
      name: s_util
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/tcpdump/in_cksum.c
    - fields:
      - name: s[2]
        type: uint16_t
      - name: l
        type: uint32_t
      item_type: union
      name: l_util
      pos:
        line_end: 68
        line_start: 65
        source_file: /src/tcpdump/in_cksum.c
- function_names:
  - ppi_header_print
  - ppi_if_print
  source_file: /src/tcpdump/print-ppi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PPI_HDRLEN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/tcpdump/print-ppi.c
      type_or_value: '8'
    structs:
    - fields:
      - name: ppi_ver
        type: nd_uint8_t
      - name: ppi_flags
        type: nd_uint8_t
      - name: ppi_len
        type: nd_uint16_t
      - name: ppi_dlt
        type: nd_uint32_t
      item_type: struct
      name: ppi_header
      pos:
        line_end: 26
        line_start: 19
        source_file: /src/tcpdump/print-ppi.c
    typedefs: []
    union: []
- function_names:
  - RSVP_EXTRACT_VERSION
  - RSVP_EXTRACT_FLAGS
  - RSVP_OBJ_XRO_MASK_SUBOBJ
  - RSVP_OBJ_XRO_MASK_LOOSE
  - rsvp_intserv_print
  - rsvp_clear_checksum
  - rsvp_obj_print
  - rsvp_print
  source_file: /src/tcpdump/print-rsvp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RSVP_VERSION
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RSVP_MSGTYPE_PATH
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RSVP_MSGTYPE_RESV
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RSVP_MSGTYPE_PATHERR
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RSVP_MSGTYPE_RESVERR
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: RSVP_MSGTYPE_PATHTEAR
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: RSVP_MSGTYPE_RESVTEAR
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: RSVP_MSGTYPE_RESVCONF
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: RSVP_MSGTYPE_BUNDLE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: RSVP_MSGTYPE_ACK
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: RSVP_MSGTYPE_HELLO_OLD
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '14      '
    - item_type: preproc_def
      name: RSVP_MSGTYPE_SREFRESH
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '15'
    - item_type: preproc_def
      name: RSVP_MSGTYPE_HELLO
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '20'
    - item_type: preproc_def
      name: RSVP_OBJ_SESSION
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '1   '
    - item_type: preproc_def
      name: RSVP_OBJ_RSVP_HOP
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '3   '
    - item_type: preproc_def
      name: RSVP_OBJ_INTEGRITY
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '4   '
    - item_type: preproc_def
      name: RSVP_OBJ_TIME_VALUES
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '5   '
    - item_type: preproc_def
      name: RSVP_OBJ_ERROR_SPEC
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: RSVP_OBJ_SCOPE
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: RSVP_OBJ_STYLE
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '8   '
    - item_type: preproc_def
      name: RSVP_OBJ_FLOWSPEC
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '9   '
    - item_type: preproc_def
      name: RSVP_OBJ_FILTERSPEC
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '10  '
    - item_type: preproc_def
      name: RSVP_OBJ_SENDER_TEMPLATE
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: RSVP_OBJ_SENDER_TSPEC
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '12  '
    - item_type: preproc_def
      name: RSVP_OBJ_ADSPEC
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '13  '
    - item_type: preproc_def
      name: RSVP_OBJ_POLICY_DATA
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: RSVP_OBJ_CONFIRM
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '15  '
    - item_type: preproc_def
      name: RSVP_OBJ_LABEL
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '16  '
    - item_type: preproc_def
      name: RSVP_OBJ_LABEL_REQ
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '19  '
    - item_type: preproc_def
      name: RSVP_OBJ_ERO
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '20  '
    - item_type: preproc_def
      name: RSVP_OBJ_RRO
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '21  '
    - item_type: preproc_def
      name: RSVP_OBJ_HELLO
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '22  '
    - item_type: preproc_def
      name: RSVP_OBJ_MESSAGE_ID
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '23  '
    - item_type: preproc_def
      name: RSVP_OBJ_MESSAGE_ID_ACK
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '24  '
    - item_type: preproc_def
      name: RSVP_OBJ_MESSAGE_ID_LIST
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '25  '
    - item_type: preproc_def
      name: RSVP_OBJ_RECOVERY_LABEL
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '34  '
    - item_type: preproc_def
      name: RSVP_OBJ_UPSTREAM_LABEL
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '35  '
    - item_type: preproc_def
      name: RSVP_OBJ_LABEL_SET
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '36  '
    - item_type: preproc_def
      name: RSVP_OBJ_PROTECTION
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '37  '
    - item_type: preproc_def
      name: RSVP_OBJ_S2L
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '50  '
    - item_type: preproc_def
      name: RSVP_OBJ_DETOUR
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '63  '
    - item_type: preproc_def
      name: RSVP_OBJ_CLASSTYPE
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '66  '
    - item_type: preproc_def
      name: RSVP_OBJ_CLASSTYPE_OLD
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '125 '
    - item_type: preproc_def
      name: RSVP_OBJ_SUGGESTED_LABEL
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '129 '
    - item_type: preproc_def
      name: RSVP_OBJ_ACCEPT_LABEL_SET
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '130 '
    - item_type: preproc_def
      name: RSVP_OBJ_RESTART_CAPABILITY
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '131 '
    - item_type: preproc_def
      name: RSVP_OBJ_CAPABILITY
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '134 '
    - item_type: preproc_def
      name: RSVP_OBJ_NOTIFY_REQ
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '195 '
    - item_type: preproc_def
      name: RSVP_OBJ_ADMIN_STATUS
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '196 '
    - item_type: preproc_def
      name: RSVP_OBJ_PROPERTIES
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '204 '
    - item_type: preproc_def
      name: RSVP_OBJ_FASTREROUTE
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '205 '
    - item_type: preproc_def
      name: RSVP_OBJ_SESSION_ATTRIBUTE
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '207 '
    - item_type: preproc_def
      name: RSVP_OBJ_GENERALIZED_UNI
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '229 '
    - item_type: preproc_def
      name: RSVP_OBJ_CALL_ID
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '230 '
    - item_type: preproc_def
      name: RSVP_OBJ_CALL_OPS
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '236 '
    - item_type: preproc_def
      name: RSVP_CTYPE_IPV4
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RSVP_CTYPE_IPV6
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RSVP_CTYPE_TUNNEL_IPV4
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: RSVP_CTYPE_TUNNEL_IPV6
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: RSVP_CTYPE_UNI_IPV4
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '11 '
    - item_type: preproc_def
      name: RSVP_CTYPE_1
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RSVP_CTYPE_2
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RSVP_CTYPE_3
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RSVP_CTYPE_4
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: RSVP_CTYPE_12
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: RSVP_CTYPE_13
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: RSVP_CTYPE_14
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: RSVP_OBJ_CAPABILITY_FLAGS_MASK
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: 0x7U
    - item_type: preproc_def
      name: RSVP_OBJ_XRO_RES
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: RSVP_OBJ_XRO_IPV4
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RSVP_OBJ_XRO_IPV6
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RSVP_OBJ_XRO_LABEL
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RSVP_OBJ_XRO_ASN
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '32'
    - item_type: preproc_def
      name: RSVP_OBJ_XRO_MPLS
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '64'
    - item_type: preproc_def
      name: RSVP_OBJ_INTSERV_GUARANTEED_SERV
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RSVP_OBJ_INTSERV_CONTROLLED_LOAD
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: RSVP_OBJ_ERROR_SPEC_CODE_ROUTING
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '24'
    - item_type: preproc_def
      name: RSVP_OBJ_ERROR_SPEC_CODE_NOTIFY
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '25'
    - item_type: preproc_def
      name: RSVP_OBJ_ERROR_SPEC_CODE_DIFFSERV_TE
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '28'
    - item_type: preproc_def
      name: RSVP_OBJ_ERROR_SPEC_CODE_DIFFSERV_TE_OLD
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '125'
    - item_type: preproc_def
      name: LABEL_SET_INCLUSIVE_LIST
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LABEL_SET_EXCLUSIVE_LIST
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LABEL_SET_INCLUSIVE_RANGE
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LABEL_SET_EXCLUSIVE_RANGE
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RSVP_GEN_UNI_SUBOBJ_SOURCE_TNA_ADDRESS
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RSVP_GEN_UNI_SUBOBJ_DESTINATION_TNA_ADDRESS
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RSVP_GEN_UNI_SUBOBJ_DIVERSITY
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RSVP_GEN_UNI_SUBOBJ_EGRESS_LABEL
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: RSVP_GEN_UNI_SUBOBJ_SERVICE_LEVEL
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/tcpdump/print-rsvp.c
      type_or_value: '5'
    structs:
    - fields:
      - name: version_flags
        type: nd_uint8_t
      - name: msg_type
        type: nd_uint8_t
      - name: checksum
        type: nd_uint16_t
      - name: ttl
        type: nd_uint8_t
      - name: reserved[1]
        type: nd_byte
      - name: length
        type: nd_uint16_t
      item_type: struct
      name: rsvp_common_header
      pos:
        line_end: 54
        line_start: 47
        source_file: /src/tcpdump/print-rsvp.c
    - fields:
      - name: length
        type: nd_uint16_t
      - name: class_num
        type: nd_uint8_t
      - name: ctype
        type: nd_uint8_t
      item_type: struct
      name: rsvp_object_header
      pos:
        line_end: 74
        line_start: 70
        source_file: /src/tcpdump/print-rsvp.c
    - fields:
      - name: flags
        type: nd_uint8_t
      - name: res
        type: nd_uint8_t
      - name: key_id[6]
        type: nd_byte
      - name: sequence[8]
        type: nd_byte
      - name: digest[16]
        type: nd_byte
      item_type: struct
      name: rsvp_obj_integrity_t
      pos:
        line_end: 320
        line_start: 314
        source_file: /src/tcpdump/print-rsvp.c
    - fields:
      - name: setup_prio
        type: nd_uint8_t
      - name: hold_prio
        type: nd_uint8_t
      - name: hop_limit
        type: nd_uint8_t
      - name: flags
        type: nd_uint8_t
      - name: bandwidth
        type: nd_float
      - name: include_any
        type: nd_uint32_t
      - name: exclude_any
        type: nd_uint32_t
      - name: include_all
        type: nd_uint32_t
      item_type: struct
      name: rsvp_obj_frr_t
      pos:
        line_end: 336
        line_start: 327
        source_file: /src/tcpdump/print-rsvp.c
    typedefs: []
    union:
    - fields:
      - name: '*rsvp_obj_integrity'
        type: struct rsvp_obj_integrity_t
      - name: '*rsvp_obj_frr'
        type: struct rsvp_obj_frr_t
      item_type: union
      name: obj_ptr
      pos:
        line_end: 676
        line_start: 673
        source_file: /src/tcpdump/print-rsvp.c
- function_names:
  - DOP_ROUNDUP
  - DOP_NEXT
  - wb_id
  - wb_rreq
  - wb_preq
  - wb_prep
  - wb_dops
  - wb_rrep
  - wb_drawop
  - wb_print
  source_file: /src/tcpdump/print-wb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXFRAMESIZE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: DOP_ALIGN
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PT_DRAWOP
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-wb.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: PT_ID
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-wb.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PT_RREQ
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-wb.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: PT_RREP
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-wb.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: PT_KILL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-wb.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: PT_PREQ
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '5       '
    - item_type: preproc_def
      name: PT_PREP
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '7       '
    - item_type: preproc_def
      name: PF_USER
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-wb.c
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: PF_VIS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-wb.c
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: DT_RECT
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DT_LINE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DT_ML
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '4'
    - item_type: preproc_def
      name: DT_DEL
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '5'
    - item_type: preproc_def
      name: DT_XFORM
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '6'
    - item_type: preproc_def
      name: DT_ELL
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '7'
    - item_type: preproc_def
      name: DT_CHAR
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '8'
    - item_type: preproc_def
      name: DT_STR
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '9'
    - item_type: preproc_def
      name: DT_NOP
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '10'
    - item_type: preproc_def
      name: DT_PSCODE
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '11'
    - item_type: preproc_def
      name: DT_PSCOMP
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '12'
    - item_type: preproc_def
      name: DT_REF
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '13'
    - item_type: preproc_def
      name: DT_SKIP
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '14'
    - item_type: preproc_def
      name: DT_HOLE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-wb.c
      type_or_value: '15'
    structs:
    - fields:
      - name: ph_src
        type: nd_uint32_t
      - name: ph_ts
        type: nd_uint32_t
      - name: ph_version
        type: nd_uint16_t
      - name: ph_type
        type: nd_uint8_t
      - name: ph_flags
        type: nd_uint8_t
      item_type: struct
      name: pkt_hdr
      pos:
        line_end: 61
        line_start: 55
        source_file: /src/tcpdump/print-wb.c
    - fields:
      - name: p_sid
        type: nd_uint32_t
      - name: p_uid
        type: nd_uint32_t
      item_type: struct
      name: PageID
      pos:
        line_end: 81
        line_start: 78
        source_file: /src/tcpdump/print-wb.c
    - fields:
      - name: dh_ts
        type: nd_uint32_t
      - name: dh_len
        type: nd_uint16_t
      - name: dh_flags
        type: nd_uint8_t
      - name: dh_type
        type: nd_uint8_t
      item_type: struct
      name: dophdr
      pos:
        line_end: 89
        line_start: 83
        source_file: /src/tcpdump/print-wb.c
    - fields:
      - name: pd_page
        type: struct PageID
      - name: pd_sseq
        type: nd_uint32_t
      - name: pd_eseq
        type: nd_uint32_t
      item_type: struct
      name: pkt_dop
      pos:
        line_end: 133
        line_start: 128
        source_file: /src/tcpdump/print-wb.c
    - fields:
      - name: pr_id
        type: nd_uint32_t
      - name: pr_page
        type: struct PageID
      - name: pr_sseq
        type: nd_uint32_t
      - name: pr_eseq
        type: nd_uint32_t
      item_type: struct
      name: pkt_rreq
      pos:
        line_end: 143
        line_start: 138
        source_file: /src/tcpdump/print-wb.c
    - fields:
      - name: pr_id
        type: nd_uint32_t
      - name: pr_dop
        type: struct pkt_dop
      item_type: struct
      name: pkt_rrep
      pos:
        line_end: 152
        line_start: 148
        source_file: /src/tcpdump/print-wb.c
    - fields:
      - name: id
        type: nd_uint32_t
      - name: 'off'
        type: nd_uint32_t
      item_type: struct
      name: id_off
      pos:
        line_end: 157
        line_start: 154
        source_file: /src/tcpdump/print-wb.c
    - fields:
      - name: slot
        type: nd_uint32_t
      - name: page
        type: struct PageID
      - name: nid
        type: nd_uint16_t
      - name: rsvd
        type: nd_uint16_t
      item_type: struct
      name: pgstate
      pos:
        line_end: 165
        line_start: 159
        source_file: /src/tcpdump/print-wb.c
    - fields:
      - name: pi_mslot
        type: nd_uint32_t
      - name: pi_mpage
        type: struct PageID
      - name: pi_ps
        type: struct pgstate
      item_type: struct
      name: pkt_id
      pos:
        line_end: 176
        line_start: 170
        source_file: /src/tcpdump/print-wb.c
    - fields:
      - name: pp_page
        type: struct PageID
      - name: pp_low
        type: nd_uint32_t
      - name: pp_high
        type: nd_uint32_t
      item_type: struct
      name: pkt_preq
      pos:
        line_end: 182
        line_start: 178
        source_file: /src/tcpdump/print-wb.c
    - fields:
      - name: pp_n
        type: nd_uint32_t
      item_type: struct
      name: pkt_prep
      pos:
        line_end: 187
        line_start: 184
        source_file: /src/tcpdump/print-wb.c
    typedefs: []
    union: []
- function_names:
  - netdb_protoname
  source_file: /src/tcpdump/ipproto.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ah_print
  source_file: /src/tcpdump/print-ah.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/atm.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ATM_UNKNOWN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/tcpdump/atm.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ATM_LANE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/tcpdump/atm.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ATM_LLC
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/tcpdump/atm.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ATM_OAM_NOHEC
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/tcpdump/atm.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ATM_OAM_HEC
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/tcpdump/atm.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ATM_HDR_LEN_NOHEC
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/tcpdump/atm.h
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/udp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAMESERVER_PORT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/udp.h
      type_or_value: '53'
    - item_type: preproc_def
      name: BOOTPS_PORT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/udp.h
      type_or_value: "67\t"
    - item_type: preproc_def
      name: BOOTPC_PORT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/udp.h
      type_or_value: "68\t"
    - item_type: preproc_def
      name: TFTP_PORT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/udp.h
      type_or_value: "69\t"
    - item_type: preproc_def
      name: KERBEROS_PORT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/udp.h
      type_or_value: "88\t"
    - item_type: preproc_def
      name: SUNRPC_PORT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/udp.h
      type_or_value: "111\t"
    - item_type: preproc_def
      name: NTP_PORT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/udp.h
      type_or_value: "123\t"
    - item_type: preproc_def
      name: NETBIOS_NS_PORT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/udp.h
      type_or_value: "137\t"
    - item_type: preproc_def
      name: NETBIOS_DGRAM_PORT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/udp.h
      type_or_value: "138\t"
    - item_type: preproc_def
      name: SNMP_PORT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/udp.h
      type_or_value: "161\t"
    - item_type: preproc_def
      name: SNMPTRAP_PORT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/udp.h
      type_or_value: "162\t"
    - item_type: preproc_def
      name: PTP_EVENT_PORT
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/udp.h
      type_or_value: "319\t"
    - item_type: preproc_def
      name: PTP_GENERAL_PORT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/udp.h
      type_or_value: "320\t"
    - item_type: preproc_def
      name: HTTPS_PORT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/udp.h
      type_or_value: '443'
    - item_type: preproc_def
      name: CISCO_AUTORP_PORT
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/udp.h
      type_or_value: "496\t"
    - item_type: preproc_def
      name: ISAKMP_PORT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/udp.h
      type_or_value: "500\t"
    - item_type: preproc_def
      name: SYSLOG_PORT
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/udp.h
      type_or_value: "514\t"
    - item_type: preproc_def
      name: RIP_PORT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/udp.h
      type_or_value: "520\t"
    - item_type: preproc_def
      name: RIPNG_PORT
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/udp.h
      type_or_value: "521\t"
    - item_type: preproc_def
      name: TIMED_PORT
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/udp.h
      type_or_value: "525\t"
    - item_type: preproc_def
      name: DHCP6_SERV_PORT
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/udp.h
      type_or_value: "546\t"
    - item_type: preproc_def
      name: DHCP6_CLI_PORT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/udp.h
      type_or_value: "547\t"
    - item_type: preproc_def
      name: LDP_PORT
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/udp.h
      type_or_value: '646'
    - item_type: preproc_def
      name: AODV_PORT
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/udp.h
      type_or_value: "654\t"
    - item_type: preproc_def
      name: OLSR_PORT
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/udp.h
      type_or_value: "698\t"
    - item_type: preproc_def
      name: LMP_PORT
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/udp.h
      type_or_value: "701\t"
    - item_type: preproc_def
      name: KERBEROS_SEC_PORT
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/udp.h
      type_or_value: "750\t"
    - item_type: preproc_def
      name: LWRES_PORT
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/udp.h
      type_or_value: "921\t"
    - item_type: preproc_def
      name: VQP_PORT
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/udp.h
      type_or_value: "1589\t"
    - item_type: preproc_def
      name: RADIUS_PORT
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/udp.h
      type_or_value: "1645\t"
    - item_type: preproc_def
      name: RADIUS_ACCOUNTING_PORT
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/udp.h
      type_or_value: '1646'
    - item_type: preproc_def
      name: RADIUS_CISCO_COA_PORT
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/udp.h
      type_or_value: '1700'
    - item_type: preproc_def
      name: L2TP_PORT
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/udp.h
      type_or_value: "1701\t"
    - item_type: preproc_def
      name: RADIUS_NEW_PORT
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/udp.h
      type_or_value: "1812\t"
    - item_type: preproc_def
      name: RADIUS_NEW_ACCOUNTING_PORT
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/udp.h
      type_or_value: '1813'
    - item_type: preproc_def
      name: HSRP_PORT
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/udp.h
      type_or_value: "1985\t"
    - item_type: preproc_def
      name: ZEPHYR_SRV_PORT
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/udp.h
      type_or_value: "2103\t"
    - item_type: preproc_def
      name: ZEPHYR_CLT_PORT
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/udp.h
      type_or_value: "2104\t"
    - item_type: preproc_def
      name: VAT_PORT
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/udp.h
      type_or_value: "3456\t"
    - item_type: preproc_def
      name: MPLS_LSP_PING_PORT
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/udp.h
      type_or_value: "3503\t"
    - item_type: preproc_def
      name: BFD_CONTROL_PORT
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/udp.h
      type_or_value: "3784\t"
    - item_type: preproc_def
      name: BFD_ECHO_PORT
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/udp.h
      type_or_value: "3785\t"
    - item_type: preproc_def
      name: RADIUS_COA_PORT
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/udp.h
      type_or_value: "3799\t"
    - item_type: preproc_def
      name: LISP_CONTROL_PORT
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/tcpdump/udp.h
      type_or_value: "4342\t"
    - item_type: preproc_def
      name: ISAKMP_PORT_NATT
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/udp.h
      type_or_value: "4500\t"
    - item_type: preproc_def
      name: WB_PORT
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/tcpdump/udp.h
      type_or_value: '4567'
    - item_type: preproc_def
      name: BFD_MULTIHOP_PORT
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/tcpdump/udp.h
      type_or_value: "4784\t"
    - item_type: preproc_def
      name: VXLAN_PORT
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/tcpdump/udp.h
      type_or_value: "4789\t"
    - item_type: preproc_def
      name: VXLAN_GPE_PORT
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/tcpdump/udp.h
      type_or_value: "4790\t"
    - item_type: preproc_def
      name: SIP_PORT
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/tcpdump/udp.h
      type_or_value: '5060'
    - item_type: preproc_def
      name: MULTICASTDNS_PORT
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/tcpdump/udp.h
      type_or_value: "5353\t"
    - item_type: preproc_def
      name: AHCP_PORT
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/tcpdump/udp.h
      type_or_value: "5359\t"
    - item_type: preproc_def
      name: GENEVE_PORT
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/tcpdump/udp.h
      type_or_value: "6081\t"
    - item_type: preproc_def
      name: SFLOW_PORT
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/tcpdump/udp.h
      type_or_value: "6343\t"
    - item_type: preproc_def
      name: MPLS_PORT
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/tcpdump/udp.h
      type_or_value: "6635\t"
    - item_type: preproc_def
      name: BABEL_PORT
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/tcpdump/udp.h
      type_or_value: "6696\t"
    - item_type: preproc_def
      name: BABEL_PORT_OLD
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcpdump/udp.h
      type_or_value: "6697\t"
    - item_type: preproc_def
      name: BFD_LAG_PORT
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/tcpdump/udp.h
      type_or_value: "6784\t"
    - item_type: preproc_def
      name: SBFD_PORT
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/tcpdump/udp.h
      type_or_value: "7784\t"
    - item_type: preproc_def
      name: RX_PORT_LOW
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/tcpdump/udp.h
      type_or_value: "7000\t"
    - item_type: preproc_def
      name: RX_PORT_HIGH
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/tcpdump/udp.h
      type_or_value: "7009\t"
    - item_type: preproc_def
      name: ISAKMP_PORT_USER1
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/tcpdump/udp.h
      type_or_value: "7500\t"
    - item_type: preproc_def
      name: HNCP_PORT
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/tcpdump/udp.h
      type_or_value: "8231\t"
    - item_type: preproc_def
      name: VXLAN_LINUX_PORT
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/tcpdump/udp.h
      type_or_value: "8472\t"
    - item_type: preproc_def
      name: ISAKMP_PORT_USER2
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/tcpdump/udp.h
      type_or_value: "8500\t"
    - item_type: preproc_def
      name: LWAPP_DATA_PORT
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/tcpdump/udp.h
      type_or_value: "12222\t"
    - item_type: preproc_def
      name: LWAPP_CONTROL_PORT
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/tcpdump/udp.h
      type_or_value: "12223\t"
    - item_type: preproc_def
      name: ZEP_PORT
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/tcpdump/udp.h
      type_or_value: "17754\t"
    - item_type: preproc_def
      name: SOMEIP_PORT
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/tcpdump/udp.h
      type_or_value: "30490\t"
    - item_type: preproc_def
      name: BCM_LI_PORT
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/tcpdump/udp.h
      type_or_value: "49152\t"
    structs:
    - fields:
      - name: uh_sport
        type: nd_uint16_t
      - name: uh_dport
        type: nd_uint16_t
      - name: uh_ulen
        type: nd_uint16_t
      - name: uh_sum
        type: nd_uint16_t
      item_type: struct
      name: udphdr
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/tcpdump/udp.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/ah.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ah_nxt
        type: nd_uint8_t
      - name: ah_len
        type: nd_uint8_t
      - name: ah_reserved
        type: nd_uint16_t
      - name: ah_spi
        type: nd_uint32_t
      - name: ah_seq
        type: nd_uint32_t
      item_type: struct
      name: ah
      pos:
        line_end: 64
        line_start: 57
        source_file: /src/tcpdump/ah.h
    typedefs: []
    union: []
- function_names:
  - NOTIFY_CLASS
  - READ_CLASS
  - WRITE_CLASS
  - RESPONSE_CLASS
  - INTERNAL_CLASS
  - DECODE_ErrorStatus
  - DECODE_GenericTrap
  - defineCLASS
  - OID_FIRST_OCTET
  - OBJ_ABBREV_ENTRY
  - OBJ_PRINT
  - asn1_parse
  - UNIVERSAL
  - APPLICATION
  - CONTEXT
  - UNIVERSAL
  - asn1_decode
  - smi_decode_oid
  - smi_check_type
  - smi_check_a_range
  - smi_check_range
  - smi_print_variable
  - smi_print_value
  - varbind_print
  - snmppdu_print
  - trappdu_print
  - pdu_print
  - scopedpdu_print
  - community_print
  - usm_print
  - v3msg_print
  - snmp_print
  source_file: /src/tcpdump/print-snmp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BE_ANY
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '255'
    - item_type: preproc_def
      name: BE_NONE
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: BE_NULL
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BE_OCTET
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BE_OID
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: BE_INT
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BE_UNS
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BE_STR
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: BE_SEQ
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: BE_INETADDR
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: BE_PDU
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: BE_UNS64
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: BE_NOSUCHOBJECT
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '128'
    - item_type: preproc_def
      name: BE_NOSUCHINST
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '129'
    - item_type: preproc_def
      name: BE_ENDOFMIBVIEW
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '130'
    - item_type: preproc_def
      name: DEF_COMMUNITY
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '"public"'
    - item_type: preproc_def
      name: OIDMUX
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '40'
    - item_type: preproc_def
      name: ASNLEN_INETADDR
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ASN_SHIFT7
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: ASN_SHIFT8
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: ASN_BIT8
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: ASN_LONGLEN
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: ASN_ID_BITS
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '0x1f'
    - item_type: preproc_def
      name: ASN_FORM_BITS
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: ASN_FORM_SHIFT
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: ASN_CLASS_BITS
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '0xc0'
    - item_type: preproc_def
      name: ASN_CLASS_SHIFT
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: ASN_ID_EXT
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/tcpdump/print-snmp.c
      type_or_value: "0x1f\t\t"
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '**Id'
        type: char
      - name: numIDs
        type: int
      item_type: struct
      name: "Class[] = {\n\tdefineCLASS(Universal),\n#define\tUNIVERSAL\t0\n\tdefineCLASS(Application),\n#define\tAPPLICATION\t1\n\tdefineCLASS(Context),\n#define\tCONTEXT\t\t2\n\tdefineCLASS(Private),\n#define\tPRIVATE\t\t3\n\tdefineCLASS(Exceptions),\n#define
        EXCEPTIONS\t4\n}"
      pos:
        line_end: 231
        line_start: 227
        source_file: /src/tcpdump/print-snmp.c
    - fields:
      - name: '*desc'
        type: char
      - name: oid
        type: u_char
      - name: type
        type: u_char
      - name: '*child'
        type: struct obj
      item_type: struct
      name: obj
      pos:
        line_end: 263
        line_start: 258
        source_file: /src/tcpdump/print-snmp.c
    - fields:
      - name: '*prefix'
        type: char
      - name: '*node'
        type: struct obj
      - name: '*oid'
        type: uint8_t
      - name: oid_len
        type: size_t
      item_type: struct
      name: obj_abrev
      pos:
        line_end: 302
        line_start: 297
        source_file: /src/tcpdump/print-snmp.c
    - fields:
      - name: asnlen
        type: uint32_t
      - name: data
        type: "union {\n\t\tconst uint8_t *raw;\n\t\tint32_t integer;\n\t\tuint32_t
          uns;\n\t\tconst u_char *str;\n\t\tuint64_t uns64;\n\t}"
      - name: id
        type: u_short
      - name: form
        type: u_char
      - name: type
        type: u_char
      item_type: struct
      name: be
      pos:
        line_end: 372
        line_start: 345
        source_file: /src/tcpdump/print-snmp.c
    - fields:
      - name: basetype
        type: SmiBasetype
      - name: be
        type: int
      item_type: struct
      name: smi2be
      pos:
        line_end: 870
        line_start: 867
        source_file: /src/tcpdump/print-snmp.c
    typedefs: []
    union: []
- function_names:
  - vrrp_print
  source_file: /src/tcpdump/print-vrrp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VRRP_TYPE_ADVERTISEMENT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-vrrp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: VRRP_AUTH_NONE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-vrrp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: VRRP_AUTH_SIMPLE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-vrrp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: VRRP_AUTH_AH
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-vrrp.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - vat_print
  - rtp_print
  - rtcp_print
  - udp_cksum
  - udp6_cksum
  - udpipaddr_print
  - udpipaddr_noport_print
  - udp_print
  source_file: /src/tcpdump/print-udp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTCP_PT_SR
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-udp.c
      type_or_value: '200'
    - item_type: preproc_def
      name: RTCP_PT_RR
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-udp.c
      type_or_value: '201'
    - item_type: preproc_def
      name: RTCP_PT_SDES
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-udp.c
      type_or_value: '202'
    - item_type: preproc_def
      name: RTCP_SDES_CNAME
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-udp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RTCP_SDES_NAME
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-udp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RTCP_SDES_EMAIL
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-udp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RTCP_SDES_PHONE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-udp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: RTCP_SDES_LOC
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/print-udp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: RTCP_SDES_TOOL
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-udp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: RTCP_SDES_NOTE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-udp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: RTCP_SDES_PRIV
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-udp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: RTCP_PT_BYE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-udp.c
      type_or_value: '203'
    - item_type: preproc_def
      name: RTCP_PT_APP
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-udp.c
      type_or_value: '204'
    structs:
    - fields:
      - name: rh_flags
        type: nd_uint16_t
      - name: rh_len
        type: nd_uint16_t
      - name: rh_ssrc
        type: nd_uint32_t
      item_type: struct
      name: rtcphdr
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/tcpdump/print-udp.c
    - fields:
      - name: upper
        type: nd_uint32_t
      - name: lower
        type: nd_uint32_t
      item_type: struct
      name: ntp64
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/tcpdump/print-udp.c
    - fields:
      - name: sr_ntp
        type: ntp64
      - name: sr_ts
        type: nd_uint32_t
      - name: sr_np
        type: nd_uint32_t
      - name: sr_nb
        type: nd_uint32_t
      item_type: struct
      name: rtcp_sr
      pos:
        line_end: 62
        line_start: 57
        source_file: /src/tcpdump/print-udp.c
    - fields:
      - name: rr_srcid
        type: nd_uint32_t
      - name: rr_nl
        type: nd_uint32_t
      - name: rr_ls
        type: nd_uint32_t
      - name: rr_dv
        type: nd_uint32_t
      - name: rr_lsr
        type: nd_uint32_t
      - name: rr_dlsr
        type: nd_uint32_t
      item_type: struct
      name: rtcp_rr
      pos:
        line_end: 75
        line_start: 68
        source_file: /src/tcpdump/print-udp.c
    typedefs: []
    union: []
- function_names:
  - sunatm_if_print
  source_file: /src/tcpdump/print-sunatm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIR_POS
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-sunatm.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: VPI_POS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-sunatm.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: VCI_POS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-sunatm.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: PKT_BEGIN_POS
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-sunatm.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: PT_LANE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-sunatm.c
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: PT_LLC
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-sunatm.c
      type_or_value: "0x02\t"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/gmpls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIFFSERV_BC_MODEL_RDM
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcpdump/gmpls.c
      type_or_value: '0   '
    - item_type: preproc_def
      name: DIFFSERV_BC_MODEL_MAM
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcpdump/gmpls.c
      type_or_value: '1   '
    - item_type: preproc_def
      name: DIFFSERV_BC_MODEL_EXTD_MAM
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/tcpdump/gmpls.c
      type_or_value: '254 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - ahcp_time_print
  - ahcp_seconds_print
  - ahcp_ipv6_addresses_print
  - ahcp_ipv4_addresses_print
  - ahcp_ipv6_prefixes_print
  - ahcp_ipv4_prefixes_print
  - ahcp1_options_print
  - ahcp1_body_print
  - ahcp_print
  source_file: /src/tcpdump/print-ahcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AHCP_MAGIC_NUMBER
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '43'
    - item_type: preproc_def
      name: AHCP_VERSION_1
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AHCP1_HEADER_FIX_LEN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '24'
    - item_type: preproc_def
      name: AHCP1_BODY_MIN_LEN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: AHCP1_MSG_DISCOVER
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: AHCP1_MSG_OFFER
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AHCP1_MSG_REQUEST
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: AHCP1_MSG_ACK
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: AHCP1_MSG_NACK
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: AHCP1_MSG_RELEASE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: AHCP1_OPT_PAD
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: AHCP1_OPT_MANDATORY
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AHCP1_OPT_ORIGIN_TIME
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: AHCP1_OPT_EXPIRES
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: AHCP1_OPT_MY_IPV6_ADDRESS
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: AHCP1_OPT_MY_IPV4_ADDRESS
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: AHCP1_OPT_IPV6_PREFIX
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: AHCP1_OPT_IPV4_PREFIX
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: AHCP1_OPT_IPV6_ADDRESS
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: AHCP1_OPT_IPV4_ADDRESS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: AHCP1_OPT_IPV6_PREFIX_DELEGATION
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: AHCP1_OPT_IPV4_PREFIX_DELEGATION
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: AHCP1_OPT_NAME_SERVER
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: AHCP1_OPT_NTP_SERVER
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: AHCP1_OPT_MAX
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-ahcp.c
      type_or_value: '13'
    structs: []
    typedefs: []
    union: []
- function_names:
  - strtoaddr
  - strtoaddr6
  source_file: /src/tcpdump/strtoaddr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NS_INADDRSZ
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/tcpdump/strtoaddr.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: NS_IN6ADDRSZ
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/strtoaddr.c
      type_or_value: "16\t"
    - item_type: preproc_def
      name: NS_INT16SZ
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/strtoaddr.c
      type_or_value: "2\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - vsock_virtio_hdr_print
  - vsock_transport_hdr_size
  - vsock_transport_hdr_print
  - vsock_hdr_print
  - vsock_if_print
  source_file: /src/tcpdump/print-vsock.c
  types:
    enum:
    - enumerators:
      - name: AF_VSOCK_TRANSPORT_UNKNOWN
        value: '0'
      - name: AF_VSOCK_TRANSPORT_VIRTIO
        value: '2'
      - name: AF_VSOCK_TRANSPORT_NO_INFO
        value: '1'
      item_type: enum
      name: af_vsockmon_transport
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/tcpdump/print-vsock.c
    - enumerators:
      - name: AF_VSOCK_OP_UNKNOWN
        value: '0'
      - name: AF_VSOCK_OP_PAYLOAD
        value: '4'
      - name: AF_VSOCK_OP_CONTROL
        value: '3'
      - name: AF_VSOCK_OP_DISCONNECT
        value: '2'
      - name: AF_VSOCK_OP_CONNECT
        value: '1'
      item_type: enum
      name: af_vsockmon_op
      pos:
        line_end: 52
        line_start: 46
        source_file: /src/tcpdump/print-vsock.c
    - enumerators:
      - name: VIRTIO_VSOCK_TYPE_STREAM
        value: '1'
      item_type: enum
      name: virtio_vsock_type
      pos:
        line_end: 65
        line_start: 63
        source_file: /src/tcpdump/print-vsock.c
    - enumerators:
      - name: VIRTIO_VSOCK_OP_INVALID
        value: '0'
      - name: VIRTIO_VSOCK_OP_REQUEST
        value: '1'
      - name: VIRTIO_VSOCK_OP_RESPONSE
        value: '2'
      - name: VIRTIO_VSOCK_OP_SHUTDOWN
        value: '4'
      - name: VIRTIO_VSOCK_OP_RST
        value: '3'
      - name: VIRTIO_VSOCK_OP_RW
        value: '5'
      - name: VIRTIO_VSOCK_OP_CREDIT_UPDATE
        value: '6'
      - name: VIRTIO_VSOCK_OP_CREDIT_REQUEST
        value: '7'
      item_type: enum
      name: virtio_vsock_op
      pos:
        line_end: 81
        line_start: 72
        source_file: /src/tcpdump/print-vsock.c
    preproc_defs: []
    structs:
    - fields:
      - name: src_cid
        type: nd_uint64_t
      - name: dst_cid
        type: nd_uint64_t
      - name: src_port
        type: nd_uint32_t
      - name: dst_port
        type: nd_uint32_t
      - name: len
        type: nd_uint32_t
      - name: type
        type: nd_uint16_t
      - name: op
        type: nd_uint16_t
      - name: flags
        type: nd_uint32_t
      - name: buf_alloc
        type: nd_uint32_t
      - name: fwd_cnt
        type: nd_uint32_t
      item_type: struct
      name: virtio_vsock_hdr
      pos:
        line_end: 108
        line_start: 97
        source_file: /src/tcpdump/print-vsock.c
    - fields:
      - name: src_cid
        type: nd_uint64_t
      - name: dst_cid
        type: nd_uint64_t
      - name: src_port
        type: nd_uint32_t
      - name: dst_port
        type: nd_uint32_t
      - name: op
        type: nd_uint16_t
      - name: transport
        type: nd_uint16_t
      - name: len
        type: nd_uint16_t
      - name: reserved[2]
        type: nd_uint8_t
      item_type: struct
      name: af_vsockmon_hdr
      pos:
        line_end: 119
        line_start: 110
        source_file: /src/tcpdump/print-vsock.c
    typedefs: []
    union: []
- function_names:
  - vxlan_gpe_print
  source_file: /src/tcpdump/print-vxlan-gpe.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VXLAN_GPE_VER
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/print-vxlan-gpe.c
      type_or_value: '0x30 '
    - item_type: preproc_def
      name: VXLAN_GPE_SHIFT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/print-vxlan-gpe.c
      type_or_value: '4'
    - item_type: preproc_def
      name: VXLAN_GPE_VER_0
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-vxlan-gpe.c
      type_or_value: '0x0'
    - item_type: preproc_def
      name: VXLAN_GPE_I
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-vxlan-gpe.c
      type_or_value: '0x08 '
    - item_type: preproc_def
      name: VXLAN_GPE_P
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-vxlan-gpe.c
      type_or_value: '0x04 '
    - item_type: preproc_def
      name: VXLAN_GPE_B
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-vxlan-gpe.c
      type_or_value: '0x02 '
    - item_type: preproc_def
      name: VXLAN_GPE_O
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-vxlan-gpe.c
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: VXLAN_GPE_PROTO_RESERVED
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-vxlan-gpe.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: VXLAN_GPE_PROTO_IPV4
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-vxlan-gpe.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: VXLAN_GPE_PROTO_IPV6
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-vxlan-gpe.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: VXLAN_GPE_PROTO_ETHERNET
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-vxlan-gpe.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: VXLAN_GPE_PROTO_NSH
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-vxlan-gpe.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: VXLAN_GPE_HDR_LEN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-vxlan-gpe.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - BFD_EXTRACT_VERSION
  - BFD_EXTRACT_DIAG
  - auth_print
  - bfd_print
  source_file: /src/tcpdump/print-bfd.c
  types:
    enum:
    - enumerators:
      - name: AUTH_PASSWORD
        value: '1'
      - name: AUTH_SHA1
        value: '4'
      - name: AUTH_MET_MD5
        value: '3'
      - name: AUTH_MD5
        value: '2'
      - name: AUTH_MET_SHA1
        value: '5'
      item_type: enum
      name: auth_type
      pos:
        line_end: 107
        line_start: 101
        source_file: /src/tcpdump/print-bfd.c
    - enumerators:
      - name: AUTH_PASSWORD_FIELD_MIN_LEN
        value: '4'
      - name: AUTH_SHA1_FIELD_LEN
        value: '28'
      - name: AUTH_PASSWORD_FIELD_MAX_LEN
        value: '19'
      - name: AUTH_MD5_HASH_LEN
        value: '16'
      - name: AUTH_MD5_FIELD_LEN
        value: '24'
      - name: AUTH_SHA1_HASH_LEN
        value: '20'
      item_type: enum
      name: auth_length
      pos:
        line_end: 125
        line_start: 118
        source_file: /src/tcpdump/print-bfd.c
    preproc_defs:
    - item_type: preproc_def
      name: BFD_FLAG_AUTH
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-bfd.c
      type_or_value: '0x04'
    structs:
    - fields:
      - name: version_diag
        type: nd_uint8_t
      - name: flags
        type: nd_uint8_t
      - name: detect_time_multiplier
        type: nd_uint8_t
      - name: length
        type: nd_uint8_t
      - name: my_discriminator
        type: nd_uint32_t
      - name: your_discriminator
        type: nd_uint32_t
      - name: desired_min_tx_interval
        type: nd_uint32_t
      - name: required_min_rx_interval
        type: nd_uint32_t
      - name: required_min_echo_interval
        type: nd_uint32_t
      item_type: struct
      name: bfd_header_t
      pos:
        line_end: 82
        line_start: 72
        source_file: /src/tcpdump/print-bfd.c
    - fields:
      - name: auth_type
        type: nd_uint8_t
      - name: auth_len
        type: nd_uint8_t
      - name: auth_data
        type: nd_uint8_t
      - name: dummy
        type: nd_uint8_t
      item_type: struct
      name: bfd_auth_header_t
      pos:
        line_end: 99
        line_start: 94
        source_file: /src/tcpdump/print-bfd.c
    typedefs: []
    union: []
- function_names:
  - OLSR_EXTRACT_LINK_TYPE
  - OLSR_EXTRACT_NEIGHBOR_TYPE
  - deserialize_gw_speed
  - ME_TO_DOUBLE
  - olsr_print_lq_neighbor4
  - olsr_print_lq_neighbor6
  - olsr_print_neighbor
  - olsr_print
  source_file: /src/tcpdump/print-olsr.c
  types:
    enum:
    - enumerators:
      - name: GW_HNA_FLAG_LINKSPEED
        value: 1 << 0
      - name: GW_HNA_FLAG_IPV4_NAT
        value: 1 << 2
      - name: GW_HNA_FLAG_IPV4
        value: 1 << 1
      - name: GW_HNA_FLAG_IPV6PREFIX
        value: 1 << 4
      - name: GW_HNA_FLAG_IPV6
        value: 1 << 3
      item_type: enum
      name: gateway_hna_flags
      pos:
        line_end: 144
        line_start: 138
        source_file: /src/tcpdump/print-olsr.c
    - enumerators:
      - name: GW_HNA_PAD
        value: '0'
      - name: GW_HNA_FLAGS
        value: '1'
      - name: GW_HNA_UPLINK
        value: '2'
      - name: GW_HNA_DOWNLINK
        value: '3'
      - name: GW_HNA_V6PREFIXLEN
        value: '4'
      - name: GW_HNA_V6PREFIX
        value: '5'
      item_type: enum
      name: gateway_hna_fields
      pos:
        line_end: 154
        line_start: 147
        source_file: /src/tcpdump/print-olsr.c
    preproc_defs:
    - item_type: preproc_def
      name: OLSR_HELLO_MSG
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-olsr.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: OLSR_TC_MSG
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-olsr.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: OLSR_MID_MSG
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-olsr.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: OLSR_HNA_MSG
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-olsr.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: OLSR_POWERINFO_MSG
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-olsr.c
      type_or_value: '128'
    - item_type: preproc_def
      name: OLSR_NAMESERVICE_MSG
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-olsr.c
      type_or_value: '130'
    - item_type: preproc_def
      name: OLSR_HELLO_LQ_MSG
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-olsr.c
      type_or_value: '201 '
    - item_type: preproc_def
      name: OLSR_TC_LQ_MSG
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-olsr.c
      type_or_value: '202 '
    - item_type: preproc_def
      name: MAX_SMARTGW_SPEED
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/tcpdump/print-olsr.c
      type_or_value: '320000000'
    - item_type: preproc_def
      name: VTIME_SCALE_FACTOR
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/tcpdump/print-olsr.c
      type_or_value: '0.0625'
    structs:
    - fields:
      - name: packet_len
        type: nd_uint16_t
      - name: packet_seq
        type: nd_uint16_t
      item_type: struct
      name: olsr_common
      pos:
        line_end: 66
        line_start: 63
        source_file: /src/tcpdump/print-olsr.c
    - fields:
      - name: msg_type
        type: nd_uint8_t
      - name: vtime
        type: nd_uint8_t
      - name: msg_len
        type: nd_uint16_t
      - name: originator
        type: nd_ipv4
      - name: ttl
        type: nd_uint8_t
      - name: hopcount
        type: nd_uint8_t
      - name: msg_seq
        type: nd_uint16_t
      item_type: struct
      name: olsr_msg4
      pos:
        line_end: 97
        line_start: 89
        source_file: /src/tcpdump/print-olsr.c
    - fields:
      - name: msg_type
        type: nd_uint8_t
      - name: vtime
        type: nd_uint8_t
      - name: msg_len
        type: nd_uint16_t
      - name: originator
        type: nd_ipv6
      - name: ttl
        type: nd_uint8_t
      - name: hopcount
        type: nd_uint8_t
      - name: msg_seq
        type: nd_uint16_t
      item_type: struct
      name: olsr_msg6
      pos:
        line_end: 107
        line_start: 99
        source_file: /src/tcpdump/print-olsr.c
    - fields:
      - name: res[2]
        type: nd_byte
      - name: htime
        type: nd_uint8_t
      - name: will
        type: nd_uint8_t
      item_type: struct
      name: olsr_hello
      pos:
        line_end: 113
        line_start: 109
        source_file: /src/tcpdump/print-olsr.c
    - fields:
      - name: link_code
        type: nd_uint8_t
      - name: res
        type: nd_byte
      - name: len
        type: nd_uint16_t
      item_type: struct
      name: olsr_hello_link
      pos:
        line_end: 119
        line_start: 115
        source_file: /src/tcpdump/print-olsr.c
    - fields:
      - name: ans_seq
        type: nd_uint16_t
      - name: res[2]
        type: nd_byte
      item_type: struct
      name: olsr_tc
      pos:
        line_end: 124
        line_start: 121
        source_file: /src/tcpdump/print-olsr.c
    - fields:
      - name: network
        type: nd_ipv4
      - name: mask
        type: nd_ipv4
      item_type: struct
      name: olsr_hna4
      pos:
        line_end: 129
        line_start: 126
        source_file: /src/tcpdump/print-olsr.c
    - fields:
      - name: network
        type: nd_ipv6
      - name: mask
        type: nd_ipv6
      item_type: struct
      name: olsr_hna6
      pos:
        line_end: 134
        line_start: 131
        source_file: /src/tcpdump/print-olsr.c
    - fields:
      - name: neighbor
        type: nd_ipv4
      - name: link_quality
        type: nd_uint8_t
      - name: neighbor_link_quality
        type: nd_uint8_t
      - name: res[2]
        type: nd_byte
      item_type: struct
      name: olsr_lq_neighbor4
      pos:
        line_end: 180
        line_start: 175
        source_file: /src/tcpdump/print-olsr.c
    - fields:
      - name: neighbor
        type: nd_ipv6
      - name: link_quality
        type: nd_uint8_t
      - name: neighbor_link_quality
        type: nd_uint8_t
      - name: res[2]
        type: nd_byte
      item_type: struct
      name: olsr_lq_neighbor6
      pos:
        line_end: 187
        line_start: 182
        source_file: /src/tcpdump/print-olsr.c
    typedefs: []
    union:
    - fields:
      - name: '*common'
        type: struct olsr_common
      - name: '*msg4'
        type: struct olsr_msg4
      - name: '*msg6'
        type: struct olsr_msg6
      - name: '*hello'
        type: struct olsr_hello
      - name: '*hello_link'
        type: struct olsr_hello_link
      - name: '*tc'
        type: struct olsr_tc
      - name: '*hna'
        type: struct olsr_hna4
      item_type: union
      name: ptr
      pos:
        line_end: 311
        line_start: 303
        source_file: /src/tcpdump/print-olsr.c
    - fields:
      - name: '*v4'
        type: struct olsr_msg4
      - name: '*v6'
        type: struct olsr_msg6
      item_type: union
      name: msgptr
      pos:
        line_end: 348
        line_start: 344
        source_file: /src/tcpdump/print-olsr.c
- function_names:
  - DIAG_DO_PRAGMA
  source_file: /src/tcpdump/diag-control.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIAG_OFF_ASSIGN_ENUM
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/tcpdump/diag-control.h
      type_or_value: "DIAG_DO_PRAGMA(clang diagnostic push) \\\n    DIAG_DO_PRAGMA(clang
        diagnostic ignored \"-Wassign-enum\")"
    - item_type: preproc_def
      name: DIAG_ON_ASSIGN_ENUM
      pos:
        line_end: 62
        line_start: 60
        source_file: /src/tcpdump/diag-control.h
      type_or_value: DIAG_DO_PRAGMA(clang diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_ASSIGN_ENUM
      pos:
        line_end: 76
        line_start: 73
        source_file: /src/tcpdump/diag-control.h
      type_or_value: "DIAG_DO_PRAGMA(clang diagnostic push) \\\n    DIAG_DO_PRAGMA(clang
        diagnostic ignored \"-Wassign-enum\")"
    - item_type: preproc_def
      name: DIAG_ON_ASSIGN_ENUM
      pos:
        line_end: 78
        line_start: 76
        source_file: /src/tcpdump/diag-control.h
      type_or_value: DIAG_DO_PRAGMA(clang diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_CAST_QUAL
      pos:
        line_end: 95
        line_start: 92
        source_file: /src/tcpdump/diag-control.h
      type_or_value: "DIAG_DO_PRAGMA(clang diagnostic push) \\\n    DIAG_DO_PRAGMA(clang
        diagnostic ignored \"-Wcast-qual\")"
    - item_type: preproc_def
      name: DIAG_ON_CAST_QUAL
      pos:
        line_end: 97
        line_start: 95
        source_file: /src/tcpdump/diag-control.h
      type_or_value: DIAG_DO_PRAGMA(clang diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_DEPRECATION
      pos:
        line_end: 104
        line_start: 101
        source_file: /src/tcpdump/diag-control.h
      type_or_value: "DIAG_DO_PRAGMA(clang diagnostic push) \\\n    DIAG_DO_PRAGMA(clang
        diagnostic ignored \"-Wdeprecated-declarations\")"
    - item_type: preproc_def
      name: DIAG_ON_DEPRECATION
      pos:
        line_end: 106
        line_start: 104
        source_file: /src/tcpdump/diag-control.h
      type_or_value: DIAG_DO_PRAGMA(clang diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_C11_EXTENSIONS
      pos:
        line_end: 118
        line_start: 115
        source_file: /src/tcpdump/diag-control.h
      type_or_value: "DIAG_DO_PRAGMA(clang diagnostic push) \\\n      DIAG_DO_PRAGMA(clang
        diagnostic ignored \"-Wc11-extensions\")"
    - item_type: preproc_def
      name: DIAG_ON_C11_EXTENSIONS
      pos:
        line_end: 120
        line_start: 118
        source_file: /src/tcpdump/diag-control.h
      type_or_value: DIAG_DO_PRAGMA(clang diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_STRICT_PROTOTYPES
      pos:
        line_end: 131
        line_start: 128
        source_file: /src/tcpdump/diag-control.h
      type_or_value: "DIAG_DO_PRAGMA(clang diagnostic push) \\\n      DIAG_DO_PRAGMA(clang
        diagnostic ignored \"-Wstrict-prototypes\")"
    - item_type: preproc_def
      name: DIAG_ON_STRICT_PROTOTYPES
      pos:
        line_end: 133
        line_start: 131
        source_file: /src/tcpdump/diag-control.h
      type_or_value: DIAG_DO_PRAGMA(clang diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_CAST_QUAL
      pos:
        line_end: 144
        line_start: 141
        source_file: /src/tcpdump/diag-control.h
      type_or_value: "DIAG_DO_PRAGMA(GCC diagnostic push) \\\n    DIAG_DO_PRAGMA(GCC
        diagnostic ignored \"-Wcast-qual\")"
    - item_type: preproc_def
      name: DIAG_ON_CAST_QUAL
      pos:
        line_end: 146
        line_start: 144
        source_file: /src/tcpdump/diag-control.h
      type_or_value: DIAG_DO_PRAGMA(GCC diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_WARN_UNUSED_RESULT
      pos:
        line_end: 158
        line_start: 155
        source_file: /src/tcpdump/diag-control.h
      type_or_value: "DIAG_DO_PRAGMA(GCC diagnostic push) \\\n    DIAG_DO_PRAGMA(GCC
        diagnostic ignored \"-Wunused-result\")"
    - item_type: preproc_def
      name: DIAG_ON_WARN_UNUSED_RESULT
      pos:
        line_end: 160
        line_start: 158
        source_file: /src/tcpdump/diag-control.h
      type_or_value: DIAG_DO_PRAGMA(GCC diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_DEPRECATION
      pos:
        line_end: 167
        line_start: 164
        source_file: /src/tcpdump/diag-control.h
      type_or_value: "DIAG_DO_PRAGMA(GCC diagnostic push) \\\n    DIAG_DO_PRAGMA(GCC
        diagnostic ignored \"-Wdeprecated-declarations\")"
    - item_type: preproc_def
      name: DIAG_ON_DEPRECATION
      pos:
        line_end: 169
        line_start: 167
        source_file: /src/tcpdump/diag-control.h
      type_or_value: DIAG_DO_PRAGMA(GCC diagnostic pop)
    - item_type: preproc_def
      name: DIAG_OFF_DEPRECATION
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/tcpdump/diag-control.h
      type_or_value: DIAG_DO_PRAGMA(error_messages(off,E_DEPRECATED_ATT))
    - item_type: preproc_def
      name: DIAG_ON_DEPRECATION
      pos:
        line_end: 188
        line_start: 186
        source_file: /src/tcpdump/diag-control.h
      type_or_value: DIAG_DO_PRAGMA(error_messages(default,E_DEPRECATED_ATT))
    - item_type: preproc_def
      name: ND_NOT_REACHABLE
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/tcpdump/diag-control.h
      type_or_value: __builtin_unreachable();
    structs: []
    typedefs: []
    union: []
- function_names:
  - ltalk_if_print
  - llap_print
  - atalk_print
  - aarp_print
  - AT
  - ddp_print
  - atp_print
  - atp_bitmap_print
  - nbp_print
  - print_cstring
  - nbp_tuple_print
  - nbp_name_print
  - ataddr_string
  - ddpskt_string
  source_file: /src/tcpdump/print-atalk.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ddpSize
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '13'
    - item_type: preproc_def
      name: ddpSSize
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '5'
    - item_type: preproc_def
      name: atpReqCode
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: atpRspCode
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: atpRelCode
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '0xC0'
    - item_type: preproc_def
      name: atpXO
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: atpEOM
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: atpSTS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: nbpHeaderSize
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '2'
    - item_type: preproc_def
      name: nbpTupleSize
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '5'
    - item_type: preproc_def
      name: nbpBrRq
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: nbpLkUp
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: nbpLkUpReply
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '0x30'
    - item_type: preproc_def
      name: ddpRTMP
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ddpNBP
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ddpATP
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: ddpECHO
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: ddpRTMPrequest
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: ddpIP
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: "22\t"
    - item_type: preproc_def
      name: ddpARP
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: "23\t"
    - item_type: preproc_def
      name: ddpKLAP
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: "0x4b\t"
    - item_type: preproc_def
      name: ddpEIGRP
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '88      '
    - item_type: preproc_def
      name: HASHNAMESIZE
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: rtmpSkt
      pos:
        line_end: 685
        line_start: 684
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '1'
    - item_type: preproc_def
      name: nbpSkt
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '2'
    - item_type: preproc_def
      name: echoSkt
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '4'
    - item_type: preproc_def
      name: zipSkt
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/tcpdump/print-atalk.c
      type_or_value: '6'
    structs:
    - fields:
      - name: length
        type: nd_uint16_t
      - name: checksum
        type: nd_uint16_t
      - name: dstNet
        type: nd_uint16_t
      - name: srcNet
        type: nd_uint16_t
      - name: dstNode
        type: nd_uint8_t
      - name: srcNode
        type: nd_uint8_t
      - name: dstSkt
        type: nd_uint8_t
      - name: srcSkt
        type: nd_uint8_t
      - name: type
        type: nd_uint8_t
      item_type: struct
      name: atDDP
      pos:
        line_end: 49
        line_start: 39
        source_file: /src/tcpdump/print-atalk.c
    - fields:
      - name: length
        type: nd_uint16_t
      - name: dstSkt
        type: nd_uint8_t
      - name: srcSkt
        type: nd_uint8_t
      - name: type
        type: nd_uint8_t
      item_type: struct
      name: atShortDDP
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/tcpdump/print-atalk.c
    - fields:
      - name: control
        type: nd_uint8_t
      - name: bitmap
        type: nd_uint8_t
      - name: transID
        type: nd_uint16_t
      - name: userData
        type: nd_uint32_t
      item_type: struct
      name: atATP
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/tcpdump/print-atalk.c
    - fields:
      - name: control
        type: nd_uint8_t
      - name: id
        type: nd_uint8_t
      item_type: struct
      name: atNBP
      pos:
        line_end: 81
        line_start: 78
        source_file: /src/tcpdump/print-atalk.c
    - fields:
      - name: net
        type: nd_uint16_t
      - name: node
        type: nd_uint8_t
      - name: skt
        type: nd_uint8_t
      - name: enumerator
        type: nd_uint8_t
      item_type: struct
      name: atNBPtuple
      pos:
        line_end: 89
        line_start: 84
        source_file: /src/tcpdump/print-atalk.c
    - fields:
      - name: htype
        type: nd_uint16_t
      - name: halen
        type: nd_uint8_t
      - name: op
        type: nd_uint16_t
      - name: hsaddr
        type: nd_mac48
      - name: psaddr[4]
        type: nd_byte
      - name: hdaddr
        type: nd_mac48
      - name: pdaddr[4]
        type: nd_byte
      item_type: struct
      name: aarp
      pos:
        line_end: 129
        line_start: 121
        source_file: /src/tcpdump/print-atalk.c
    - fields:
      - name: addr
        type: u_int
      - name: '*name'
        type: char
      - name: '*nxt'
        type: struct hnamemem
      item_type: struct
      name: hnamemem
      pos:
        line_end: 585
        line_start: 581
        source_file: /src/tcpdump/print-atalk.c
    typedefs: []
    union: []
- function_names:
  - brcm_tag_print
  - brcm_tag_if_print
  - brcm_tag_prepend_if_print
  source_file: /src/tcpdump/print-brcmtag.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BRCM_TAG_LEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BRCM_OPCODE_SHIFT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BRCM_EGRESS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: 0 // 0b000xxxxx
    - item_type: preproc_def
      name: BRCM_INGRESS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: 1 // 0b001xxxxx
    - item_type: preproc_def
      name: BRCM_IG_TC_SHIFT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BRCM_IG_TC_MASK
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: '0x7'
    - item_type: preproc_def
      name: BRCM_IG_TE_MASK
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: '0x3'
    - item_type: preproc_def
      name: BRCM_IG_TS_SHIFT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: '7'
    - item_type: preproc_def
      name: BRCM_IG_DSTMAP_MASK
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: '0x1ff'
    - item_type: preproc_def
      name: BRCM_EG_RC_RSVD7
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: BRCM_EG_RC_RSVD6
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: BRCM_EG_RC_EXCEPTION
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: BRCM_EG_RC_PROT_SNOOP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: BRCM_EG_RC_PROT_TERM
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: BRCM_EG_RC_SWITCH
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: BRCM_EG_RC_MAC_LEARN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: BRCM_EG_RC_MIRROR
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: BRCM_EG_TC_SHIFT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BRCM_EG_TC_MASK
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: '0x7'
    - item_type: preproc_def
      name: BRCM_EG_PID_MASK
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-brcmtag.c
      type_or_value: '0x1f'
    structs: []
    typedefs: []
    union: []
- function_names:
  - LMP_EXTRACT_VERSION
  - lmp_print_data_link_subobjs
  - lmp_print
  source_file: /src/tcpdump/print-lmp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LMP_VERSION
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LMP_MSGTYPE_CONFIG
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LMP_MSGTYPE_CONFIG_ACK
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LMP_MSGTYPE_CONFIG_NACK
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LMP_MSGTYPE_HELLO
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LMP_MSGTYPE_VERIFY_BEGIN
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LMP_MSGTYPE_VERIFY_BEGIN_ACK
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LMP_MSGTYPE_VERIFY_BEGIN_NACK
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: LMP_MSGTYPE_VERIFY_END
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LMP_MSGTYPE_VERIFY_END_ACK
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: LMP_MSGTYPE_TEST
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LMP_MSGTYPE_TEST_STATUS_SUCCESS
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: LMP_MSGTYPE_TEST_STATUS_FAILURE
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: LMP_MSGTYPE_TEST_STATUS_ACK
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: LMP_MSGTYPE_LINK_SUMMARY
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: LMP_MSGTYPE_LINK_SUMMARY_ACK
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '15'
    - item_type: preproc_def
      name: LMP_MSGTYPE_LINK_SUMMARY_NACK
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '16'
    - item_type: preproc_def
      name: LMP_MSGTYPE_CHANNEL_STATUS
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '17'
    - item_type: preproc_def
      name: LMP_MSGTYPE_CHANNEL_STATUS_ACK
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '18'
    - item_type: preproc_def
      name: LMP_MSGTYPE_CHANNEL_STATUS_REQ
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '19'
    - item_type: preproc_def
      name: LMP_MSGTYPE_CHANNEL_STATUS_RESP
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '20'
    - item_type: preproc_def
      name: LMP_MSGTYPE_SERVICE_CONFIG
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '50'
    - item_type: preproc_def
      name: LMP_MSGTYPE_SERVICE_CONFIG_ACK
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '51'
    - item_type: preproc_def
      name: LMP_MSGTYPE_SERVICE_CONFIG_NACK
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '52'
    - item_type: preproc_def
      name: LMP_OBJ_CC_ID
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LMP_OBJ_NODE_ID
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LMP_OBJ_LINK_ID
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LMP_OBJ_INTERFACE_ID
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LMP_OBJ_MESSAGE_ID
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LMP_OBJ_CONFIG
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LMP_OBJ_HELLO
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: LMP_OBJ_VERIFY_BEGIN
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LMP_OBJ_VERIFY_BEGIN_ACK
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: LMP_OBJ_VERIFY_ID
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LMP_OBJ_TE_LINK
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: LMP_OBJ_DATA_LINK
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: LMP_OBJ_CHANNEL_STATUS
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: LMP_OBJ_CHANNEL_STATUS_REQ
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: LMP_OBJ_ERROR_CODE
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '20'
    - item_type: preproc_def
      name: LMP_OBJ_SERVICE_CONFIG
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '51 '
    - item_type: preproc_def
      name: INT_SWITCHING_TYPE_SUBOBJ
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: WAVELENGTH_SUBOBJ
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LMP_CTYPE_IPV4
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LMP_CTYPE_IPV6
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LMP_CTYPE_LOC
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LMP_CTYPE_RMT
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LMP_CTYPE_UNMD
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LMP_CTYPE_IPV4_LOC
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LMP_CTYPE_IPV4_RMT
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LMP_CTYPE_IPV6_LOC
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LMP_CTYPE_IPV6_RMT
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LMP_CTYPE_UNMD_LOC
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LMP_CTYPE_UNMD_RMT
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LMP_CTYPE_1
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LMP_CTYPE_2
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LMP_CTYPE_HELLO_CONFIG
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LMP_CTYPE_HELLO
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LMP_CTYPE_BEGIN_VERIFY_ERROR
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LMP_CTYPE_LINK_SUMMARY_ERROR
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LMP_CTYPE_SERVICE_CONFIG_SP
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LMP_CTYPE_SERVICE_CONFIG_CPSA
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LMP_CTYPE_SERVICE_CONFIG_TRANSPARENCY_TCM
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LMP_CTYPE_SERVICE_CONFIG_NETWORK_DIVERSITY
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LMP_SD_SERVICE_CONFIG_CPSA_LINK_TYPE_SDH
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '5 '
    - item_type: preproc_def
      name: LMP_SD_SERVICE_CONFIG_CPSA_LINK_TYPE_SONET
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/tcpdump/print-lmp.c
      type_or_value: '6 '
    structs:
    - fields:
      - name: version_res
        type: nd_uint16_t
      - name: flags
        type: nd_uint8_t
      - name: msg_type
        type: nd_uint8_t
      - name: length
        type: nd_uint16_t
      - name: reserved[2]
        type: nd_byte
      item_type: struct
      name: lmp_common_header
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/tcpdump/print-lmp.c
    - fields:
      - name: ctype
        type: nd_uint8_t
      - name: class_num
        type: nd_uint8_t
      - name: length
        type: nd_uint16_t
      item_type: struct
      name: lmp_object_header
      pos:
        line_end: 219
        line_start: 215
        source_file: /src/tcpdump/print-lmp.c
    typedefs: []
    union: []
- function_names:
  - eigrp_print
  source_file: /src/tcpdump/print-eigrp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EIGRP_VERSION
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: EIGRP_OPCODE_UPDATE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EIGRP_OPCODE_QUERY
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: EIGRP_OPCODE_REPLY
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: EIGRP_OPCODE_HELLO
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: EIGRP_OPCODE_IPXSAP
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: EIGRP_OPCODE_PROBE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: EIGRP_TLV_GENERAL_PARM
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: EIGRP_TLV_AUTH
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: EIGRP_TLV_SEQ
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '0x0003'
    - item_type: preproc_def
      name: EIGRP_TLV_SW_VERSION
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: EIGRP_TLV_MCAST_SEQ
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '0x0005'
    - item_type: preproc_def
      name: EIGRP_TLV_IP_INT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '0x0102'
    - item_type: preproc_def
      name: EIGRP_TLV_IP_EXT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '0x0103'
    - item_type: preproc_def
      name: EIGRP_TLV_AT_INT
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '0x0202'
    - item_type: preproc_def
      name: EIGRP_TLV_AT_EXT
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '0x0203'
    - item_type: preproc_def
      name: EIGRP_TLV_AT_CABLE_SETUP
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '0x0204'
    - item_type: preproc_def
      name: EIGRP_TLV_IPX_INT
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '0x0302'
    - item_type: preproc_def
      name: EIGRP_TLV_IPX_EXT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-eigrp.c
      type_or_value: '0x0303'
    structs:
    - fields:
      - name: version
        type: nd_uint8_t
      - name: opcode
        type: nd_uint8_t
      - name: checksum
        type: nd_uint16_t
      - name: flags
        type: nd_uint32_t
      - name: seq
        type: nd_uint32_t
      - name: ack
        type: nd_uint32_t
      - name: vrid
        type: nd_uint16_t
      - name: asn
        type: nd_uint16_t
      item_type: struct
      name: eigrp_common_header
      pos:
        line_end: 46
        line_start: 37
        source_file: /src/tcpdump/print-eigrp.c
    - fields:
      - name: type
        type: nd_uint16_t
      - name: length
        type: nd_uint16_t
      item_type: struct
      name: eigrp_tlv_header
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/tcpdump/print-eigrp.c
    - fields:
      - name: k1
        type: nd_uint8_t
      - name: k2
        type: nd_uint8_t
      - name: k3
        type: nd_uint8_t
      - name: k4
        type: nd_uint8_t
      - name: k5
        type: nd_uint8_t
      - name: res
        type: nd_uint8_t
      - name: holdtime
        type: nd_uint16_t
      item_type: struct
      name: eigrp_tlv_general_parm_t
      pos:
        line_end: 117
        line_start: 109
        source_file: /src/tcpdump/print-eigrp.c
    - fields:
      - name: ios_major
        type: nd_uint8_t
      - name: ios_minor
        type: nd_uint8_t
      - name: eigrp_major
        type: nd_uint8_t
      - name: eigrp_minor
        type: nd_uint8_t
      item_type: struct
      name: eigrp_tlv_sw_version_t
      pos:
        line_end: 124
        line_start: 119
        source_file: /src/tcpdump/print-eigrp.c
    - fields:
      - name: nexthop
        type: nd_ipv4
      - name: delay
        type: nd_uint32_t
      - name: bandwidth
        type: nd_uint32_t
      - name: mtu
        type: nd_uint24_t
      - name: hopcount
        type: nd_uint8_t
      - name: reliability
        type: nd_uint8_t
      - name: load
        type: nd_uint8_t
      - name: reserved[2]
        type: nd_byte
      - name: plen
        type: nd_uint8_t
      - name: destination
        type: nd_uint8_t
      item_type: struct
      name: eigrp_tlv_ip_int_t
      pos:
        line_end: 137
        line_start: 126
        source_file: /src/tcpdump/print-eigrp.c
    - fields:
      - name: nexthop
        type: nd_ipv4
      - name: origin_router
        type: nd_ipv4
      - name: origin_as
        type: nd_uint32_t
      - name: tag
        type: nd_uint32_t
      - name: metric
        type: nd_uint32_t
      - name: reserved[2]
        type: nd_byte
      - name: proto_id
        type: nd_uint8_t
      - name: flags
        type: nd_uint8_t
      - name: delay
        type: nd_uint32_t
      - name: bandwidth
        type: nd_uint32_t
      - name: mtu
        type: nd_uint24_t
      - name: hopcount
        type: nd_uint8_t
      - name: reliability
        type: nd_uint8_t
      - name: load
        type: nd_uint8_t
      - name: reserved2[2]
        type: nd_byte
      - name: plen
        type: nd_uint8_t
      - name: destination
        type: nd_uint8_t
      item_type: struct
      name: eigrp_tlv_ip_ext_t
      pos:
        line_end: 157
        line_start: 139
        source_file: /src/tcpdump/print-eigrp.c
    - fields:
      - name: cable_start
        type: nd_uint16_t
      - name: cable_end
        type: nd_uint16_t
      - name: router_id
        type: nd_uint32_t
      item_type: struct
      name: eigrp_tlv_at_cable_setup_t
      pos:
        line_end: 163
        line_start: 159
        source_file: /src/tcpdump/print-eigrp.c
    - fields:
      - name: nexthop[4]
        type: nd_byte
      - name: delay
        type: nd_uint32_t
      - name: bandwidth
        type: nd_uint32_t
      - name: mtu
        type: nd_uint24_t
      - name: hopcount
        type: nd_uint8_t
      - name: reliability
        type: nd_uint8_t
      - name: load
        type: nd_uint8_t
      - name: reserved[2]
        type: nd_byte
      - name: cable_start
        type: nd_uint16_t
      - name: cable_end
        type: nd_uint16_t
      item_type: struct
      name: eigrp_tlv_at_int_t
      pos:
        line_end: 176
        line_start: 165
        source_file: /src/tcpdump/print-eigrp.c
    - fields:
      - name: nexthop[4]
        type: nd_byte
      - name: origin_router
        type: nd_uint32_t
      - name: origin_as
        type: nd_uint32_t
      - name: tag
        type: nd_uint32_t
      - name: proto_id
        type: nd_uint8_t
      - name: flags
        type: nd_uint8_t
      - name: metric
        type: nd_uint16_t
      - name: delay
        type: nd_uint32_t
      - name: bandwidth
        type: nd_uint32_t
      - name: mtu
        type: nd_uint24_t
      - name: hopcount
        type: nd_uint8_t
      - name: reliability
        type: nd_uint8_t
      - name: load
        type: nd_uint8_t
      - name: reserved2[2]
        type: nd_byte
      - name: cable_start
        type: nd_uint16_t
      - name: cable_end
        type: nd_uint16_t
      item_type: struct
      name: eigrp_tlv_at_ext_t
      pos:
        line_end: 195
        line_start: 178
        source_file: /src/tcpdump/print-eigrp.c
    typedefs: []
    union:
    - fields:
      - name: '*eigrp_tlv_general_parm'
        type: struct eigrp_tlv_general_parm_t
      - name: '*eigrp_tlv_sw_version'
        type: struct eigrp_tlv_sw_version_t
      - name: '*eigrp_tlv_ip_int'
        type: struct eigrp_tlv_ip_int_t
      - name: '*eigrp_tlv_ip_ext'
        type: struct eigrp_tlv_ip_ext_t
      - name: '*eigrp_tlv_at_cable_setup'
        type: struct eigrp_tlv_at_cable_setup_t
      - name: '*eigrp_tlv_at_int'
        type: struct eigrp_tlv_at_int_t
      - name: '*eigrp_tlv_at_ext'
        type: struct eigrp_tlv_at_ext_t
      item_type: union
      name: tlv_ptr
      pos:
        line_end: 229
        line_start: 221
        source_file: /src/tcpdump/print-eigrp.c
- function_names: []
  source_file: /src/tcpdump/ipproto.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPPROTO_IP
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: IPPROTO_HOPOPTS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: IPPROTO_ICMP
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: IPPROTO_IGMP
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: IPPROTO_IPV4
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/ipproto.h
      type_or_value: '4'
    - item_type: preproc_def
      name: IPPROTO_TCP
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "6\t\t"
    - item_type: preproc_def
      name: IPPROTO_EGP
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "8\t\t"
    - item_type: preproc_def
      name: IPPROTO_PIGP
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/ipproto.h
      type_or_value: '9'
    - item_type: preproc_def
      name: IPPROTO_UDP
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "17\t\t"
    - item_type: preproc_def
      name: IPPROTO_DCCP
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "33\t\t"
    - item_type: preproc_def
      name: IPPROTO_IPV6
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/ipproto.h
      type_or_value: '41'
    - item_type: preproc_def
      name: IPPROTO_ROUTING
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "43\t\t"
    - item_type: preproc_def
      name: IPPROTO_FRAGMENT
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "44\t\t"
    - item_type: preproc_def
      name: IPPROTO_RSVP
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "46\t\t"
    - item_type: preproc_def
      name: IPPROTO_GRE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "47\t\t"
    - item_type: preproc_def
      name: IPPROTO_ESP
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "50\t\t"
    - item_type: preproc_def
      name: IPPROTO_AH
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "51\t\t"
    - item_type: preproc_def
      name: IPPROTO_NHRP
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "54\t\t"
    - item_type: preproc_def
      name: IPPROTO_MOBILE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/ipproto.h
      type_or_value: '55'
    - item_type: preproc_def
      name: IPPROTO_ICMPV6
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "58\t\t"
    - item_type: preproc_def
      name: IPPROTO_NONE
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "59\t\t"
    - item_type: preproc_def
      name: IPPROTO_DSTOPTS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "60\t\t"
    - item_type: preproc_def
      name: IPPROTO_MOBILITY_OLD
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/ipproto.h
      type_or_value: '62'
    - item_type: preproc_def
      name: IPPROTO_ND
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "77\t\t"
    - item_type: preproc_def
      name: IPPROTO_EIGRP
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/ipproto.h
      type_or_value: "88\t\t"
    - item_type: preproc_def
      name: IPPROTO_OSPF
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/ipproto.h
      type_or_value: '89'
    - item_type: preproc_def
      name: IPPROTO_PIM
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/ipproto.h
      type_or_value: '103'
    - item_type: preproc_def
      name: IPPROTO_IPCOMP
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/ipproto.h
      type_or_value: '108'
    - item_type: preproc_def
      name: IPPROTO_VRRP
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/ipproto.h
      type_or_value: '112 '
    - item_type: preproc_def
      name: IPPROTO_PGM
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/ipproto.h
      type_or_value: '113'
    - item_type: preproc_def
      name: IPPROTO_SCTP
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/ipproto.h
      type_or_value: '132'
    - item_type: preproc_def
      name: IPPROTO_MOBILITY
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/ipproto.h
      type_or_value: '135'
    - item_type: preproc_def
      name: IPPROTO_ETHERNET
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/ipproto.h
      type_or_value: '143 '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/ppp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PPP_HDRLEN
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/tcpdump/ppp.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: PPP_ADDRESS
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0xff\t"
    - item_type: preproc_def
      name: PPP_CONTROL
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x03\t"
    - item_type: preproc_def
      name: PPP_PPPD_IN
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/tcpdump/ppp.h
      type_or_value: '0x00 '
    - item_type: preproc_def
      name: PPP_PPPD_OUT
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/tcpdump/ppp.h
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: PPP_IP
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x0021\t"
    - item_type: preproc_def
      name: PPP_OSI
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x0023\t"
    - item_type: preproc_def
      name: PPP_NS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x0025\t"
    - item_type: preproc_def
      name: PPP_DECNET
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x0027\t"
    - item_type: preproc_def
      name: PPP_APPLE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x0029\t"
    - item_type: preproc_def
      name: PPP_IPX
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x002b\t"
    - item_type: preproc_def
      name: PPP_VJC
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x002d\t"
    - item_type: preproc_def
      name: PPP_VJNC
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x002f\t"
    - item_type: preproc_def
      name: PPP_BRPDU
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x0031\t"
    - item_type: preproc_def
      name: PPP_STII
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x0033\t"
    - item_type: preproc_def
      name: PPP_VINES
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x0035\t"
    - item_type: preproc_def
      name: PPP_ML
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/ppp.h
      type_or_value: '0x003d  '
    - item_type: preproc_def
      name: PPP_IPV6
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x0057\t"
    - item_type: preproc_def
      name: PPP_COMP
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x00fd\t"
    - item_type: preproc_def
      name: PPP_HELLO
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x0201\t"
    - item_type: preproc_def
      name: PPP_LUXCOM
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x0231\t"
    - item_type: preproc_def
      name: PPP_SNS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x0233\t"
    - item_type: preproc_def
      name: PPP_MPLS_UCAST
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/ppp.h
      type_or_value: '0x0281  '
    - item_type: preproc_def
      name: PPP_MPLS_MCAST
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/ppp.h
      type_or_value: '0x0283  '
    - item_type: preproc_def
      name: PPP_IPCP
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x8021\t"
    - item_type: preproc_def
      name: PPP_OSICP
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x8023\t"
    - item_type: preproc_def
      name: PPP_NSCP
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x8025\t"
    - item_type: preproc_def
      name: PPP_DECNETCP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x8027\t"
    - item_type: preproc_def
      name: PPP_APPLECP
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x8029\t"
    - item_type: preproc_def
      name: PPP_IPXCP
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x802b\t"
    - item_type: preproc_def
      name: PPP_STIICP
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x8033\t"
    - item_type: preproc_def
      name: PPP_VINESCP
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x8035\t"
    - item_type: preproc_def
      name: PPP_IPV6CP
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x8057\t"
    - item_type: preproc_def
      name: PPP_CCP
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0x80fd\t"
    - item_type: preproc_def
      name: PPP_MPLSCP
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/ppp.h
      type_or_value: '0x8281  '
    - item_type: preproc_def
      name: PPP_LCP
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0xc021\t"
    - item_type: preproc_def
      name: PPP_PAP
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0xc023\t"
    - item_type: preproc_def
      name: PPP_LQM
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0xc025\t"
    - item_type: preproc_def
      name: PPP_SPAP
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/ppp.h
      type_or_value: '0xc027'
    - item_type: preproc_def
      name: PPP_CHAP
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0xc223\t"
    - item_type: preproc_def
      name: PPP_BACP
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0xc02b\t"
    - item_type: preproc_def
      name: PPP_BAP
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0xc02d\t"
    - item_type: preproc_def
      name: PPP_MPCP
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/ppp.h
      type_or_value: "0xc03d\t"
    - item_type: preproc_def
      name: PPP_SPAP_OLD
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/ppp.h
      type_or_value: '0xc123'
    - item_type: preproc_def
      name: PPP_EAP
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/ppp.h
      type_or_value: '0xc227'
    structs: []
    typedefs: []
    union: []
- function_names:
  - smbfind
  - smbfindint
  - trans2_findfirst
  - trans2_qfsinfo
  - print_trans2
  - print_browse
  - print_ipc
  - print_trans
  - print_negprot
  - print_sesssetup
  - print_lockingandx
  - print_smb
  - nbt_tcp_print
  - nbt_udp137_print
  - smb_tcp_print
  - nbt_udp138_print
  - netbeui_print
  - ipx_netbios_print
  source_file: /src/tcpdump/print-smb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFDESCRIPT
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-smb.c
      type_or_value: '{ NULL, NULL, NULL, NULL, NULL }'
    - item_type: preproc_def
      name: FLG_CHAIN
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-smb.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: MAILSLOT_BROWSE_STR
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/tcpdump/print-smb.c
      type_or_value: '"\\MAILSLOT\\BROWSE"'
    - item_type: preproc_def
      name: PIPE_LANMAN_STR
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/tcpdump/print-smb.c
      type_or_value: '"\\PIPE\\LANMAN"'
    structs:
    - fields:
      - name: '*req_f1'
        type: char
      - name: '*req_f2'
        type: char
      - name: '*rep_f1'
        type: char
      - name: '*rep_f2'
        type: char
      - name: (*fn)(netdissect_options *, const u_char *, const u_char *, const u_char
          *, const u_char *)
        type: void
      item_type: struct
      name: smbdescript
      pos:
        line_end: 34
        line_start: 28
        source_file: /src/tcpdump/print-smb.c
    - fields:
      - name: '*req_f1'
        type: char
      - name: '*req_f2'
        type: char
      - name: '*rep_f1'
        type: char
      - name: '*rep_f2'
        type: char
      - name: (*fn)(netdissect_options *, const u_char *, const u_char *, u_int, u_int)
        type: void
      item_type: struct
      name: smbdescriptint
      pos:
        line_end: 42
        line_start: 36
        source_file: /src/tcpdump/print-smb.c
    - fields:
      - name: id
        type: int
      - name: '*name'
        type: char
      - name: flags
        type: int
      - name: descript
        type: struct smbdescript
      item_type: struct
      name: smbfns
      pos:
        line_end: 50
        line_start: 44
        source_file: /src/tcpdump/print-smb.c
    - fields:
      - name: id
        type: int
      - name: '*name'
        type: char
      - name: flags
        type: int
      - name: descript
        type: struct smbdescriptint
      item_type: struct
      name: smbfnsint
      pos:
        line_end: 58
        line_start: 52
        source_file: /src/tcpdump/print-smb.c
    - fields:
      - name: '*name'
        type: char
      - name: '*nonverbose'
        type: char
      - name: '*verbose'
        type: char
      item_type: struct
      name: nbf_strings
      pos:
        line_end: 1303
        line_start: 1299
        source_file: /src/tcpdump/print-smb.c
    typedefs: []
    union: []
- function_names:
  - netdissect_timevalclear
  - netdissect_timevalisset
  - netdissect_timevalcmp
  - netdissect_timevaladd
  - netdissect_timevalsub
  source_file: /src/tcpdump/timeval-operations.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ND_MICRO_PER_SEC
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/timeval-operations.h
      type_or_value: '1000000'
    - item_type: preproc_def
      name: ND_NANO_PER_SEC
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/timeval-operations.h
      type_or_value: '1000000000'
    - item_type: preproc_def
      name: ND_INVALID_MICRO_SEC_STR
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcpdump/timeval-operations.h
      type_or_value: '"(invalid us)"'
    - item_type: preproc_def
      name: ND_INVALID_NANO_SEC_STR
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/timeval-operations.h
      type_or_value: '"(invalid ns)"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISIS_MASK_LSP_OL_BIT
  - ISIS_MASK_LSP_ISTYPE_BITS
  - ISIS_MASK_LSP_PARTITION_BIT
  - ISIS_MASK_LSP_ATT_BITS
  - ISIS_MASK_LSP_ATT_ERROR_BIT
  - ISIS_MASK_LSP_ATT_EXPENSE_BIT
  - ISIS_MASK_LSP_ATT_DELAY_BIT
  - ISIS_MASK_LSP_ATT_DEFAULT_BIT
  - ISIS_MASK_MTID
  - ISIS_MASK_MTFLAGS
  - ISIS_MASK_TLV_EXTD_IP_UPDOWN
  - ISIS_MASK_TLV_EXTD_IP_SUBTLV
  - ISIS_MASK_TLV_EXTD_IP6_IE
  - ISIS_MASK_TLV_EXTD_IP6_SUBTLV
  - ISIS_LSP_TLV_METRIC_SUPPORTED
  - ISIS_LSP_TLV_METRIC_IE
  - ISIS_LSP_TLV_METRIC_UPDOWN
  - ISIS_LSP_TLV_METRIC_VALUE
  - ISIS_MASK_TLV_SHARED_RISK_GROUP
  - isoclns_print
  - clnp_print
  - esis_print
  - isis_print_mcid
  - isis_print_mt_port_cap_subtlv
  - isis_print_mt_capability_subtlv
  - isis_print_id
  - isis_print_metric_block
  - isis_print_tlv_ip_reach
  - isis_print_ip_reach_subtlv
  - isis_print_ext_is_reach
  - isis_print_mtid
  - isis_print_extd_ip_reach
  - isis_print_router_cap_subtlv
  - isis_clear_checksum_lifetime
  - INVALID_OR_DECREMENT
  - isis_print
  - osi_print_cksum
  source_file: /src/tcpdump/print-isoclns.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SYSTEM_ID_LEN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: MAC48_LEN
    - item_type: preproc_def
      name: NODE_ID_LEN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: (SYSTEM_ID_LEN+1)
    - item_type: preproc_def
      name: LSP_ID_LEN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: (SYSTEM_ID_LEN+2)
    - item_type: preproc_def
      name: ISIS_VERSION
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ESIS_VERSION
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CLNP_VERSION
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ISIS_PDU_TYPE_MASK
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x1F'
    - item_type: preproc_def
      name: ESIS_PDU_TYPE_MASK
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x1F'
    - item_type: preproc_def
      name: CLNP_PDU_TYPE_MASK
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x1F'
    - item_type: preproc_def
      name: CLNP_FLAG_MASK
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0xE0'
    - item_type: preproc_def
      name: ISIS_LAN_PRIORITY_MASK
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x7F'
    - item_type: preproc_def
      name: ISIS_PDU_L1_LAN_IIH
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '15'
    - item_type: preproc_def
      name: ISIS_PDU_L2_LAN_IIH
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '16'
    - item_type: preproc_def
      name: ISIS_PDU_PTP_IIH
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '17'
    - item_type: preproc_def
      name: ISIS_PDU_L1_LSP
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '18'
    - item_type: preproc_def
      name: ISIS_PDU_L2_LSP
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '20'
    - item_type: preproc_def
      name: ISIS_PDU_L1_CSNP
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '24'
    - item_type: preproc_def
      name: ISIS_PDU_L2_CSNP
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '25'
    - item_type: preproc_def
      name: ISIS_PDU_L1_PSNP
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '26'
    - item_type: preproc_def
      name: ISIS_PDU_L2_PSNP
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '27'
    - item_type: preproc_def
      name: ISIS_TLV_AREA_ADDR
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '1   '
    - item_type: preproc_def
      name: ISIS_TLV_IS_REACH
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '2   '
    - item_type: preproc_def
      name: ISIS_TLV_ESNEIGH
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '3   '
    - item_type: preproc_def
      name: ISIS_TLV_PART_DIS
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '4   '
    - item_type: preproc_def
      name: ISIS_TLV_PREFIX_NEIGH
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '5   '
    - item_type: preproc_def
      name: ISIS_TLV_ISNEIGH
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '6   '
    - item_type: preproc_def
      name: ISIS_TLV_INSTANCE_ID
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '7   '
    - item_type: preproc_def
      name: ISIS_TLV_PADDING
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '8   '
    - item_type: preproc_def
      name: ISIS_TLV_LSP
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '9   '
    - item_type: preproc_def
      name: ISIS_TLV_AUTH
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '10  '
    - item_type: preproc_def
      name: ISIS_TLV_CHECKSUM
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '12  '
    - item_type: preproc_def
      name: ISIS_TLV_CHECKSUM_MINLEN
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ISIS_TLV_POI
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '13  '
    - item_type: preproc_def
      name: ISIS_TLV_LSP_BUFFERSIZE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '14  '
    - item_type: preproc_def
      name: ISIS_TLV_EXT_IS_REACH
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '22  '
    - item_type: preproc_def
      name: ISIS_TLV_IS_ALIAS_ID
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '24  '
    - item_type: preproc_def
      name: ISIS_TLV_DECNET_PHASE4
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '42'
    - item_type: preproc_def
      name: ISIS_TLV_LUCENT_PRIVATE
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '66'
    - item_type: preproc_def
      name: ISIS_TLV_INT_IP_REACH
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '128 '
    - item_type: preproc_def
      name: ISIS_TLV_PROTOCOLS
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '129 '
    - item_type: preproc_def
      name: ISIS_TLV_EXT_IP_REACH
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '130 '
    - item_type: preproc_def
      name: ISIS_TLV_IDRP_INFO
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '131 '
    - item_type: preproc_def
      name: ISIS_TLV_IPADDR
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '132 '
    - item_type: preproc_def
      name: ISIS_TLV_IPAUTH
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '133 '
    - item_type: preproc_def
      name: ISIS_TLV_TE_ROUTER_ID
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '134 '
    - item_type: preproc_def
      name: ISIS_TLV_EXTD_IP_REACH
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '135 '
    - item_type: preproc_def
      name: ISIS_TLV_HOSTNAME
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '137 '
    - item_type: preproc_def
      name: ISIS_TLV_SHARED_RISK_GROUP
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '138 '
    - item_type: preproc_def
      name: ISIS_TLV_MT_PORT_CAP
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '143 '
    - item_type: preproc_def
      name: ISIS_TLV_MT_CAPABILITY
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '144 '
    - item_type: preproc_def
      name: ISIS_TLV_NORTEL_PRIVATE1
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '176'
    - item_type: preproc_def
      name: ISIS_TLV_NORTEL_PRIVATE2
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '177'
    - item_type: preproc_def
      name: ISIS_TLV_RESTART_SIGNALING
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '211 '
    - item_type: preproc_def
      name: ISIS_TLV_RESTART_SIGNALING_FLAGLEN
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ISIS_TLV_RESTART_SIGNALING_HOLDTIMELEN
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ISIS_TLV_MT_IS_REACH
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '222 '
    - item_type: preproc_def
      name: ISIS_TLV_MT_SUPPORTED
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '229 '
    - item_type: preproc_def
      name: ISIS_TLV_IP6ADDR
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '232 '
    - item_type: preproc_def
      name: ISIS_TLV_MT_IP_REACH
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '235 '
    - item_type: preproc_def
      name: ISIS_TLV_IP6_REACH
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '236 '
    - item_type: preproc_def
      name: ISIS_TLV_MT_IP6_REACH
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '237 '
    - item_type: preproc_def
      name: ISIS_TLV_PTP_ADJ
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '240 '
    - item_type: preproc_def
      name: ISIS_TLV_IIH_SEQNR
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '241 '
    - item_type: preproc_def
      name: ISIS_TLV_ROUTER_CAPABILITY
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '242 '
    - item_type: preproc_def
      name: ISIS_TLV_VENDOR_PRIVATE
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '250 '
    - item_type: preproc_def
      name: ISIS_TLV_VENDOR_PRIVATE_MINLEN
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '3'
    - item_type: preproc_def
      name: ESIS_OPTION_PROTOCOLS
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '129'
    - item_type: preproc_def
      name: ESIS_OPTION_QOS_MAINTENANCE
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '195 '
    - item_type: preproc_def
      name: ESIS_OPTION_SECURITY
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '197 '
    - item_type: preproc_def
      name: ESIS_OPTION_ES_CONF_TIME
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '198 '
    - item_type: preproc_def
      name: ESIS_OPTION_PRIORITY
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '205 '
    - item_type: preproc_def
      name: ESIS_OPTION_ADDRESS_MASK
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '225 '
    - item_type: preproc_def
      name: ESIS_OPTION_SNPA_MASK
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '226 '
    - item_type: preproc_def
      name: CLNP_OPTION_DISCARD_REASON
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '193'
    - item_type: preproc_def
      name: CLNP_OPTION_QOS_MAINTENANCE
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '195 '
    - item_type: preproc_def
      name: CLNP_OPTION_SECURITY
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '197 '
    - item_type: preproc_def
      name: CLNP_OPTION_SOURCE_ROUTING
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '200 '
    - item_type: preproc_def
      name: CLNP_OPTION_ROUTE_RECORDING
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '203 '
    - item_type: preproc_def
      name: CLNP_OPTION_PADDING
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '204 '
    - item_type: preproc_def
      name: CLNP_OPTION_PRIORITY
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '205 '
    - item_type: preproc_def
      name: CLNP_OPTION_OPTION_QOS_MASK
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x3f'
    - item_type: preproc_def
      name: CLNP_OPTION_SCOPE_MASK
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0xc0'
    - item_type: preproc_def
      name: CLNP_OPTION_SCOPE_SA_SPEC
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: CLNP_OPTION_SCOPE_DA_SPEC
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: CLNP_OPTION_SCOPE_GLOBAL
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0xc0'
    - item_type: preproc_def
      name: ISIS_SUBTLV_ROUTER_CAP_SR
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_ADMIN_GROUP
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_LINK_LOCAL_REMOTE_ID
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_LINK_REMOTE_ID
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '5 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_IPV4_INTF_ADDR
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '6 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_IPV4_NEIGHBOR_ADDR
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_MAX_LINK_BW
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '9 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_RESERVABLE_BW
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '10 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_UNRESERVED_BW
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '11 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_BW_CONSTRAINTS_OLD
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '12 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_TE_METRIC
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '18 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_LINK_ATTRIBUTE
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '19 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_LINK_PROTECTION_TYPE
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '20 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_INTF_SW_CAP_DESCR
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '21 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_BW_CONSTRAINTS
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '22 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXT_IS_REACH_LAN_ADJ_SEGMENT_ID
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '32 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_SPB_METRIC
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '29 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXTD_IP_REACH_ADMIN_TAG32
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXTD_IP_REACH_ADMIN_TAG64
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXTD_IP_REACH_PREFIX_SID
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_EXTD_IP_REACH_MGMT_PREFIX_COLOR
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '117 '
    - item_type: preproc_def
      name: ISIS_PREFIX_SID_FLAG_R
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x80 '
    - item_type: preproc_def
      name: ISIS_PREFIX_SID_FLAG_N
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x40 '
    - item_type: preproc_def
      name: ISIS_PREFIX_SID_FLAG_P
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: ISIS_PREFIX_SID_FLAG_E
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: ISIS_PREFIX_SID_FLAG_V
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x08 '
    - item_type: preproc_def
      name: ISIS_PREFIX_SID_FLAG_L
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x04 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_AUTH_SIMPLE
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ISIS_SUBTLV_AUTH_GENERIC
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: ISIS_SUBTLV_AUTH_MD5
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '54'
    - item_type: preproc_def
      name: ISIS_SUBTLV_AUTH_MD5_LEN
      pos:
        line_end: 465
        line_start: 464
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '16'
    - item_type: preproc_def
      name: ISIS_SUBTLV_AUTH_PRIVATE
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '255'
    - item_type: preproc_def
      name: ISIS_SUBTLV_IDRP_RES
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ISIS_SUBTLV_IDRP_LOCAL
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ISIS_SUBTLV_IDRP_ASN
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ISIS_SUBTLV_SPB_MCID
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ISIS_SUBTLV_SPB_DIGEST
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '5'
    - item_type: preproc_def
      name: ISIS_SUBTLV_SPB_BVID
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '6'
    - item_type: preproc_def
      name: ISIS_SUBTLV_SPB_INSTANCE
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ISIS_SUBTLV_SPBM_SI
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '3'
    - item_type: preproc_def
      name: ISIS_SPB_MCID_LEN
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '51'
    - item_type: preproc_def
      name: ISIS_SUBTLV_SPB_MCID_MIN_LEN
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '102'
    - item_type: preproc_def
      name: ISIS_SUBTLV_SPB_DIGEST_MIN_LEN
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '33'
    - item_type: preproc_def
      name: ISIS_SUBTLV_SPB_BVID_MIN_LEN
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '6'
    - item_type: preproc_def
      name: ISIS_SUBTLV_SPB_INSTANCE_MIN_LEN
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '19'
    - item_type: preproc_def
      name: ISIS_SUBTLV_SPB_INSTANCE_VLAN_TUPLE_LEN
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '8'
    - item_type: preproc_def
      name: CLNP_SEGMENT_PART
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: CLNP_MORE_SEGMENTS
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: CLNP_REQUEST_ER
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: ISIS_LSP_TYPE_UNUSED0
      pos:
        line_end: 592
        line_start: 591
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ISIS_LSP_TYPE_LEVEL_1
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ISIS_LSP_TYPE_UNUSED2
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ISIS_LSP_TYPE_LEVEL_2
      pos:
        line_end: 595
        line_start: 594
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '3'
    - item_type: preproc_def
      name: ISIS_PTP_ADJ_UP
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ISIS_PTP_ADJ_INIT
      pos:
        line_end: 611
        line_start: 610
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ISIS_PTP_ADJ_DOWN
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ISIS_COMMON_HEADER_SIZE
      pos:
        line_end: 726
        line_start: 725
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: (sizeof(struct isis_common_header))
    - item_type: preproc_def
      name: ISIS_IIH_LAN_HEADER_SIZE
      pos:
        line_end: 727
        line_start: 726
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: (sizeof(struct isis_iih_lan_header))
    - item_type: preproc_def
      name: ISIS_IIH_PTP_HEADER_SIZE
      pos:
        line_end: 728
        line_start: 727
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: (sizeof(struct isis_iih_ptp_header))
    - item_type: preproc_def
      name: ISIS_LSP_HEADER_SIZE
      pos:
        line_end: 729
        line_start: 728
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: (sizeof(struct isis_lsp_header))
    - item_type: preproc_def
      name: ISIS_CSNP_HEADER_SIZE
      pos:
        line_end: 730
        line_start: 729
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: (sizeof(struct isis_csnp_header))
    - item_type: preproc_def
      name: ISIS_PSNP_HEADER_SIZE
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: (sizeof(struct isis_psnp_header))
    - item_type: preproc_def
      name: CLNP_PDU_ER
      pos:
        line_end: 789
        line_start: 788
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CLNP_PDU_DT
      pos:
        line_end: 790
        line_start: 789
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '28'
    - item_type: preproc_def
      name: CLNP_PDU_MD
      pos:
        line_end: 791
        line_start: 790
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '29'
    - item_type: preproc_def
      name: CLNP_PDU_ERQ
      pos:
        line_end: 792
        line_start: 791
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '30'
    - item_type: preproc_def
      name: CLNP_PDU_ERP
      pos:
        line_end: 793
        line_start: 792
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '31'
    - item_type: preproc_def
      name: ESIS_PDU_REDIRECT
      pos:
        line_end: 1143
        line_start: 1142
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '6'
    - item_type: preproc_def
      name: ESIS_PDU_ESH
      pos:
        line_end: 1144
        line_start: 1143
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ESIS_PDU_ISH
      pos:
        line_end: 1145
        line_start: 1144
        source_file: /src/tcpdump/print-isoclns.c
      type_or_value: '4'
    structs:
    - fields:
      - name: format_id
        type: nd_uint8_t
      - name: name[32]
        type: nd_byte
      - name: revision_lvl
        type: nd_uint16_t
      - name: digest[16]
        type: nd_byte
      item_type: struct
      name: isis_spb_mcid
      pos:
        line_end: 518
        line_start: 513
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: mcid
        type: struct isis_spb_mcid
      - name: aux_mcid
        type: struct isis_spb_mcid
      item_type: struct
      name: isis_subtlv_spb_mcid
      pos:
        line_end: 523
        line_start: 520
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: cist_root_id[8]
        type: nd_byte
      - name: cist_external_root_path_cost
        type: nd_uint32_t
      - name: bridge_priority
        type: nd_uint16_t
      - name: spsourceid
        type: nd_uint32_t
      - name: no_of_trees
        type: nd_uint8_t
      item_type: struct
      name: isis_subtlv_spb_instance
      pos:
        line_end: 531
        line_start: 525
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: adjacency_state
        type: nd_uint8_t
      - name: extd_local_circuit_id
        type: nd_uint32_t
      - name: neighbor_sysid[SYSTEM_ID_LEN]
        type: nd_byte
      - name: neighbor_extd_local_circuit_id
        type: nd_uint32_t
      item_type: struct
      name: isis_tlv_ptp_adj
      pos:
        line_end: 625
        line_start: 620
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: metric_default
        type: nd_uint8_t
      - name: metric_delay
        type: nd_uint8_t
      - name: metric_expense
        type: nd_uint8_t
      - name: metric_error
        type: nd_uint8_t
      item_type: struct
      name: isis_metric_block
      pos:
        line_end: 638
        line_start: 633
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: isis_metric_block
        type: struct isis_metric_block
      - name: neighbor_nodeid[NODE_ID_LEN]
        type: nd_byte
      item_type: struct
      name: isis_tlv_is_reach
      pos:
        line_end: 643
        line_start: 640
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: isis_metric_block
        type: struct isis_metric_block
      - name: neighbor_sysid[SYSTEM_ID_LEN]
        type: nd_byte
      item_type: struct
      name: isis_tlv_es_reach
      pos:
        line_end: 648
        line_start: 645
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: isis_metric_block
        type: struct isis_metric_block
      - name: prefix
        type: nd_ipv4
      - name: mask
        type: nd_ipv4
      item_type: struct
      name: isis_tlv_ip_reach
      pos:
        line_end: 654
        line_start: 650
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: nlpid
        type: nd_uint8_t
      - name: fixed_len
        type: nd_uint8_t
      - name: version
        type: nd_uint8_t
      - name: id_length
        type: nd_uint8_t
      - name: pdu_type
        type: nd_uint8_t
      - name: pdu_version
        type: nd_uint8_t
      - name: reserved
        type: nd_byte
      - name: max_area
        type: nd_uint8_t
      item_type: struct
      name: isis_common_header
      pos:
        line_end: 678
        line_start: 669
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: circuit_type
        type: nd_uint8_t
      - name: source_id[SYSTEM_ID_LEN]
        type: nd_byte
      - name: holding_time
        type: nd_uint16_t
      - name: pdu_len
        type: nd_uint16_t
      - name: priority
        type: nd_uint8_t
      - name: lan_id[NODE_ID_LEN]
        type: nd_byte
      item_type: struct
      name: isis_iih_lan_header
      pos:
        line_end: 687
        line_start: 680
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: circuit_type
        type: nd_uint8_t
      - name: source_id[SYSTEM_ID_LEN]
        type: nd_byte
      - name: holding_time
        type: nd_uint16_t
      - name: pdu_len
        type: nd_uint16_t
      - name: circuit_id
        type: nd_uint8_t
      item_type: struct
      name: isis_iih_ptp_header
      pos:
        line_end: 695
        line_start: 689
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: pdu_len
        type: nd_uint16_t
      - name: remaining_lifetime
        type: nd_uint16_t
      - name: lsp_id[LSP_ID_LEN]
        type: nd_byte
      - name: sequence_number
        type: nd_uint32_t
      - name: checksum
        type: nd_uint16_t
      - name: typeblock
        type: nd_uint8_t
      item_type: struct
      name: isis_lsp_header
      pos:
        line_end: 704
        line_start: 697
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: pdu_len
        type: nd_uint16_t
      - name: source_id[NODE_ID_LEN]
        type: nd_byte
      - name: start_lsp_id[LSP_ID_LEN]
        type: nd_byte
      - name: end_lsp_id[LSP_ID_LEN]
        type: nd_byte
      item_type: struct
      name: isis_csnp_header
      pos:
        line_end: 711
        line_start: 706
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: pdu_len
        type: nd_uint16_t
      - name: source_id[NODE_ID_LEN]
        type: nd_byte
      item_type: struct
      name: isis_psnp_header
      pos:
        line_end: 716
        line_start: 713
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: remaining_lifetime
        type: nd_uint16_t
      - name: lsp_id[LSP_ID_LEN]
        type: nd_byte
      - name: sequence_number
        type: nd_uint32_t
      - name: checksum
        type: nd_uint16_t
      item_type: struct
      name: isis_tlv_lsp
      pos:
        line_end: 723
        line_start: 718
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: nlpid
        type: nd_uint8_t
      - name: length_indicator
        type: nd_uint8_t
      - name: version
        type: nd_uint8_t
      - name: lifetime
        type: nd_uint8_t
      - name: type
        type: nd_uint8_t
      - name: segment_length
        type: nd_uint16_t
      - name: cksum
        type: nd_uint16_t
      item_type: struct
      name: clnp_header_t
      pos:
        line_end: 811
        line_start: 803
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: data_unit_id
        type: nd_uint16_t
      - name: segment_offset
        type: nd_uint16_t
      - name: total_length
        type: nd_uint16_t
      item_type: struct
      name: clnp_segment_header_t
      pos:
        line_end: 817
        line_start: 813
        source_file: /src/tcpdump/print-isoclns.c
    - fields:
      - name: nlpid
        type: nd_uint8_t
      - name: length_indicator
        type: nd_uint8_t
      - name: version
        type: nd_uint8_t
      - name: reserved
        type: nd_byte
      - name: type
        type: nd_uint8_t
      - name: holdtime
        type: nd_uint16_t
      - name: cksum
        type: nd_uint16_t
      item_type: struct
      name: esis_header_t
      pos:
        line_end: 1161
        line_start: 1153
        source_file: /src/tcpdump/print-isoclns.c
    typedefs: []
    union: []
- function_names:
  - TOK
  - DSA_MODE
  - DSA_TAGGED
  - DSA_DEV
  - DSA_PORT
  - DSA_TRUNK
  - DSA_RX_SNIFF
  - DSA_CFI
  - DSA_PRI
  - DSA_VID
  - DSA_CODE
  - tag_common_print
  - dsa_tag_print
  - edsa_tag_print
  - dsa_if_print
  - edsa_if_print
  source_file: /src/tcpdump/print-dsa.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DSA_LEN
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-dsa.c
      type_or_value: '4'
    - item_type: preproc_def
      name: DSA_MODE_TO_CPU
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-dsa.c
      type_or_value: '0x0'
    - item_type: preproc_def
      name: DSA_MODE_FROM_CPU
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-dsa.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: DSA_MODE_TO_SNIFFER
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-dsa.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: DSA_MODE_FORWARD
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-dsa.c
      type_or_value: '0x3'
    - item_type: preproc_def
      name: EDSA_LEN
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-dsa.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_field
  - ptp_print_1
  - ptp_print_2
  - ptp_print
  - ptp_print_timestamp
  - ptp_print_timestamp_identity
  - ptp_print_announce_msg
  - ptp_print_port_id
  - ptp_print_mgmt_msg
  source_file: /src/tcpdump/print-ptp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: M_SYNC
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x0'
    - item_type: preproc_def
      name: M_DELAY_REQ
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: M_PDELAY_REQ
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: M_PDELAY_RESP
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x3'
    - item_type: preproc_def
      name: M_FOLLOW_UP
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x8'
    - item_type: preproc_def
      name: M_DELAY_RESP
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x9'
    - item_type: preproc_def
      name: M_PDELAY_RESP_FOLLOW_UP
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0xA'
    - item_type: preproc_def
      name: M_ANNOUNCE
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0xB'
    - item_type: preproc_def
      name: M_SIGNALING
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0xC'
    - item_type: preproc_def
      name: M_MANAGEMENT
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0xD'
    - item_type: preproc_def
      name: C_SYNC
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x0'
    - item_type: preproc_def
      name: C_DELAY_REQ
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: C_FOLLOW_UP
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: C_DELAY_RESP
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x3'
    - item_type: preproc_def
      name: C_MANAGEMENT
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: C_OTHER
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x5'
    - item_type: preproc_def
      name: PTP_TRUE
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PTP_FALSE
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '!PTP_TRUE'
    - item_type: preproc_def
      name: PTP_HDR_LEN
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x22'
    - item_type: preproc_def
      name: PTP_TIMESTAMP_LEN
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: 10U
    - item_type: preproc_def
      name: PTP_MAJOR_VERS_MASK
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x0F'
    - item_type: preproc_def
      name: PTP_MINOR_VERS_MASK
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0xF0'
    - item_type: preproc_def
      name: PTP_MAJOR_SDO_ID_MASK
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0xF0'
    - item_type: preproc_def
      name: PTP_MSG_TYPE_MASK
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x0F'
    - item_type: preproc_def
      name: PTP_DOMAIN_MASK
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0xFF00'
    - item_type: preproc_def
      name: PTP_RSVD1_MASK
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0xFF'
    - item_type: preproc_def
      name: PTP_CONTROL_MASK
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0xFF'
    - item_type: preproc_def
      name: PTP_LOGMSG_MASK
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0xFF'
    - item_type: preproc_def
      name: PTP_L161_MASK
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: PTP_L1_59_MASK
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: PTP_UTC_REASONABLE_MASK
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: PTP_TIMESCALE_MASK
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x8'
    - item_type: preproc_def
      name: PTP_TIME_TRACABLE_MASK
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: PTP_FREQUENCY_TRACABLE_MASK
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: PTP_ALTERNATE_MASTER_MASK
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x100'
    - item_type: preproc_def
      name: PTP_TWO_STEP_MASK
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x200'
    - item_type: preproc_def
      name: PTP_UNICAST_MASK
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x400'
    - item_type: preproc_def
      name: PTP_PROFILE_SPEC_1_MASK
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: PTP_PROFILE_SPEC_2_MASK
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: PTP_SECURITY_MASK
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x4000'
    - item_type: preproc_def
      name: PTP_FLAGS_UNKNOWN_MASK
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x18C0'
    - item_type: preproc_def
      name: PTP_VER_1
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: PTP_VER_2
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: PTP_UCHAR_LEN
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: sizeof(uint8_t)
    - item_type: preproc_def
      name: PTP_UINT16_LEN
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: sizeof(uint16_t)
    - item_type: preproc_def
      name: PTP_UINT32_LEN
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: sizeof(uint32_t)
    - item_type: preproc_def
      name: PTP_6BYTES_LEN
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: sizeof(uint32_t)+sizeof(uint16_t)
    - item_type: preproc_def
      name: PTP_UINT64_LEN
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/tcpdump/print-ptp.c
      type_or_value: sizeof(uint64_t)
    structs: []
    typedefs: []
    union: []
- function_names:
  - ssh_print_version
  - ssh_print
  source_file: /src/tcpdump/print-ssh.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cip_if_print
  source_file: /src/tcpdump/print-cip.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/varattrs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _U_
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/varattrs.h
      type_or_value: __attribute__((unused))
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/cpack.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*c_buf'
        type: uint8_t
      - name: '*c_next'
        type: uint8_t
      - name: c_len
        type: size_t
      item_type: struct
      name: cpack_state
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/tcpdump/cpack.h
    typedefs: []
    union: []
- function_names:
  - atm_llc_print
  - LLC_UI_HDR
  - atm_if_print
  - sig_print
  - atm_print
  - oam_print
  source_file: /src/tcpdump/print-atm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VCI_PPC
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x05\t"
    - item_type: preproc_def
      name: VCI_BCC
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: VCI_OAMF4SC
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x03\t"
    - item_type: preproc_def
      name: VCI_OAMF4EC
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x04\t"
    - item_type: preproc_def
      name: VCI_METAC
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: VCI_ILMIC
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x10\t"
    - item_type: preproc_def
      name: CALL_PROCEED
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: CONNECT
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x07\t"
    - item_type: preproc_def
      name: CONNECT_ACK
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x0f\t"
    - item_type: preproc_def
      name: SETUP
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x05\t"
    - item_type: preproc_def
      name: RELEASE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x4d\t"
    - item_type: preproc_def
      name: RELEASE_DONE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x5a\t"
    - item_type: preproc_def
      name: RESTART
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x46\t"
    - item_type: preproc_def
      name: RESTART_ACK
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x4e\t"
    - item_type: preproc_def
      name: STATUS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x7d\t"
    - item_type: preproc_def
      name: STATUS_ENQ
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x75\t"
    - item_type: preproc_def
      name: ADD_PARTY
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: ADD_PARTY_ACK
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x81\t"
    - item_type: preproc_def
      name: ADD_PARTY_REJ
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x82\t"
    - item_type: preproc_def
      name: DROP_PARTY
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x83\t"
    - item_type: preproc_def
      name: DROP_PARTY_ACK
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x84\t"
    - item_type: preproc_def
      name: CAUSE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x08\t"
    - item_type: preproc_def
      name: ENDPT_REF
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x54\t"
    - item_type: preproc_def
      name: AAL_PARA
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x58\t"
    - item_type: preproc_def
      name: TRAFF_DESCRIP
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x59\t"
    - item_type: preproc_def
      name: CONNECT_ID
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x5a\t"
    - item_type: preproc_def
      name: QOS_PARA
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x5c\t"
    - item_type: preproc_def
      name: B_HIGHER
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x5d\t"
    - item_type: preproc_def
      name: B_BEARER
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x5e\t"
    - item_type: preproc_def
      name: B_LOWER
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x5f\t"
    - item_type: preproc_def
      name: CALLING_PARTY
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x6c\t"
    - item_type: preproc_def
      name: CALLED_PARTY
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0x70\t"
    - item_type: preproc_def
      name: Q2931
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '0x09'
    - item_type: preproc_def
      name: PROTO_POS
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: CALL_REF_POS
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MSG_TYPE_POS
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: MSG_LEN_POS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: IE_BEGIN_POS
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-atm.c
      type_or_value: "9\t"
    - item_type: preproc_def
      name: TYPE_POS
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LEN_POS
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '2'
    - item_type: preproc_def
      name: FIELD_BEGIN_POS
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '4'
    - item_type: preproc_def
      name: OAM_CRC10_MASK
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '0x3ff'
    - item_type: preproc_def
      name: OAM_PAYLOAD_LEN
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '48'
    - item_type: preproc_def
      name: OAM_FUNCTION_SPECIFIC_LEN
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '45 '
    - item_type: preproc_def
      name: OAM_CELLTYPE_FUNCTYPE_LEN
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '1'
    - item_type: preproc_def
      name: OAM_CELLTYPE_FM
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: OAM_CELLTYPE_PM
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: OAM_CELLTYPE_AD
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '0x8'
    - item_type: preproc_def
      name: OAM_CELLTYPE_SM
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '0xf'
    - item_type: preproc_def
      name: OAM_FM_FUNCTYPE_AIS
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '0x0'
    - item_type: preproc_def
      name: OAM_FM_FUNCTYPE_RDI
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: OAM_FM_FUNCTYPE_CONTCHECK
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: OAM_FM_FUNCTYPE_LOOPBACK
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '0x8'
    - item_type: preproc_def
      name: OAM_FM_LOOPBACK_INDICATOR_MASK
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/tcpdump/print-atm.c
      type_or_value: '0x1'
    structs:
    - fields:
      - name: loopback_indicator
        type: nd_uint8_t
      - name: correlation_tag
        type: nd_uint32_t
      - name: loopback_id[12]
        type: nd_byte
      - name: source_id[12]
        type: nd_byte
      - name: unused[16]
        type: nd_byte
      item_type: struct
      name: oam_fm_loopback_t
      pos:
        line_end: 421
        line_start: 415
        source_file: /src/tcpdump/print-atm.c
    - fields:
      - name: failure_type
        type: nd_uint8_t
      - name: failure_location[16]
        type: nd_byte
      - name: unused[28]
        type: nd_byte
      item_type: struct
      name: oam_fm_ais_rdi_t
      pos:
        line_end: 427
        line_start: 423
        source_file: /src/tcpdump/print-atm.c
    typedefs: []
    union:
    - fields:
      - name: '*oam_fm_loopback'
        type: struct oam_fm_loopback_t
      - name: '*oam_fm_ais_rdi'
        type: struct oam_fm_ais_rdi_t
      item_type: union
      name: oam_ptr
      pos:
        line_end: 441
        line_start: 438
        source_file: /src/tcpdump/print-atm.c
- function_names:
  - resp_print_empty
  - resp_print_null
  - resp_print_length_too_large
  - resp_print_length_negative
  - resp_print_invalid
  - LCHECK2
  - LCHECK
  - FIND_CRLF
  - CONSUME_CRLF
  - FIND_CR_OR_LF
  - CONSUME_CR_OR_LF
  - SKIP_OPCODE
  - GET_LENGTH
  - TEST_RET_LEN
  - TEST_RET_LEN_NORETURN
  - RESP_PRINT_SEGMENT
  - resp_print
  - resp_parse
  - resp_print_simple_string
  - resp_print_integer
  - resp_print_error
  - resp_print_string_error_integer
  - resp_print_bulk_string
  - resp_print_bulk_array
  - resp_print_inline
  - resp_get_length
  source_file: /src/tcpdump/print-resp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RESP_SIMPLE_STRING
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-resp.c
      type_or_value: '''+'''
    - item_type: preproc_def
      name: RESP_ERROR
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-resp.c
      type_or_value: '''-'''
    - item_type: preproc_def
      name: RESP_INTEGER
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-resp.c
      type_or_value: ''':'''
    - item_type: preproc_def
      name: RESP_BULK_STRING
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-resp.c
      type_or_value: '''$'''
    - item_type: preproc_def
      name: RESP_ARRAY
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-resp.c
      type_or_value: '''*'''
    structs: []
    typedefs: []
    union: []
- function_names:
  - extract_ipfc_addrs
  - ipfc_hdr_print
  - ipfc_print
  - ipfc_if_print
  source_file: /src/tcpdump/print-ipfc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPFC_HDRLEN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-ipfc.c
      type_or_value: '16'
    structs:
    - fields:
      - name: ipfc_dhost[2+MAC48_LEN]
        type: nd_byte
      - name: ipfc_shost[2+MAC48_LEN]
        type: nd_byte
      item_type: struct
      name: ipfc_header
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/tcpdump/print-ipfc.c
    typedefs: []
    union: []
- function_names:
  - ip6_finddst
  - nextproto6_cksum
  - ip6_print
  source_file: /src/tcpdump/print-ip6.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ph_src
        type: nd_ipv6
      - name: ph_dst
        type: nd_ipv6
      - name: ph_len
        type: uint32_t
      - name: ph_zero[3]
        type: uint8_t
      - name: ph_nxt
        type: uint8_t
      item_type: struct
      name: ph
      pos:
        line_end: 180
        line_start: 174
        source_file: /src/tcpdump/print-ip6.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/strtoaddr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SWAPLONG
  - null_hdr_print
  - null_if_print
  source_file: /src/tcpdump/print-null.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NULL_HDRLEN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-null.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipnet_hdr_print
  - ipnet_print
  - ipnet_if_print
  source_file: /src/tcpdump/print-ipnet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPH_AF_INET
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/tcpdump/print-ipnet.c
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: IPH_AF_INET6
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/tcpdump/print-ipnet.c
      type_or_value: "26\t\t"
    structs:
    - fields:
      - name: iph_version
        type: nd_uint8_t
      - name: iph_family
        type: nd_uint8_t
      - name: iph_htype
        type: nd_uint16_t
      - name: iph_pktlen
        type: nd_uint32_t
      - name: iph_ifindex
        type: nd_uint32_t
      - name: iph_grifindex
        type: nd_uint32_t
      - name: iph_zsrc
        type: nd_uint32_t
      - name: iph_zdst
        type: nd_uint32_t
      item_type: struct
      name: ipnet_hdr
      pos:
        line_end: 20
        line_start: 11
        source_file: /src/tcpdump/print-ipnet.c
    typedefs: []
    union: []
- function_names:
  - ipx_print
  - ipxaddr_string
  - ipx_decode
  - ipx_sap_print
  - ipx_rip_print
  source_file: /src/tcpdump/print-ipx.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPX_SKT_NCP
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-ipx.c
      type_or_value: '0x0451'
    - item_type: preproc_def
      name: IPX_SKT_SAP
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-ipx.c
      type_or_value: '0x0452'
    - item_type: preproc_def
      name: IPX_SKT_RIP
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-ipx.c
      type_or_value: '0x0453'
    - item_type: preproc_def
      name: IPX_SKT_NETBIOS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-ipx.c
      type_or_value: '0x0455'
    - item_type: preproc_def
      name: IPX_SKT_DIAGNOSTICS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-ipx.c
      type_or_value: '0x0456'
    - item_type: preproc_def
      name: IPX_SKT_NWLINK_DGM
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-ipx.c
      type_or_value: "0x0553\t"
    - item_type: preproc_def
      name: IPX_SKT_EIGRP
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-ipx.c
      type_or_value: "0x85be\t"
    - item_type: preproc_def
      name: ipxSize
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-ipx.c
      type_or_value: '30'
    structs:
    - fields:
      - name: cksum
        type: nd_uint16_t
      - name: length
        type: nd_uint16_t
      - name: tCtl
        type: nd_uint8_t
      - name: pType
        type: nd_uint8_t
      - name: dstNet
        type: nd_uint32_t
      - name: dstNode
        type: nd_mac48
      - name: dstSkt
        type: nd_uint16_t
      - name: srcNet
        type: nd_uint32_t
      - name: srcNode
        type: nd_mac48
      - name: srcSkt
        type: nd_uint16_t
      item_type: struct
      name: ipxHdr
      pos:
        line_end: 57
        line_start: 46
        source_file: /src/tcpdump/print-ipx.c
    typedefs: []
    union: []
- function_names:
  - TAM_SIZE
  - PRINT_HEX
  - print_attr_string
  - print_vendor_attr
  - print_attr_num
  - print_attr_address
  - print_attr_address6
  - print_attr_netmask6
  - print_attr_mip6_home_link_prefix
  - print_attr_operator_name
  - print_attr_location_information
  - print_attr_location_data
  - print_basic_location_policy_rules
  - print_attr_time
  - print_attr_vector64
  - print_attr_strange
  - radius_attrs_print
  - radius_print
  source_file: /src/tcpdump/print-radius.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RADCMD_ACCESS_REQ
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: RADCMD_ACCESS_ACC
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: RADCMD_ACCESS_REJ
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: RADCMD_ACCOUNT_REQ
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: RADCMD_ACCOUNT_RES
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '5 '
    - item_type: preproc_def
      name: RADCMD_ACCESS_CHA
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '11 '
    - item_type: preproc_def
      name: RADCMD_STATUS_SER
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '12 '
    - item_type: preproc_def
      name: RADCMD_STATUS_CLI
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '13 '
    - item_type: preproc_def
      name: RADCMD_DISCON_REQ
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '40 '
    - item_type: preproc_def
      name: RADCMD_DISCON_ACK
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '41 '
    - item_type: preproc_def
      name: RADCMD_DISCON_NAK
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '42 '
    - item_type: preproc_def
      name: RADCMD_COA_REQ
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '43 '
    - item_type: preproc_def
      name: RADCMD_COA_ACK
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '44 '
    - item_type: preproc_def
      name: RADCMD_COA_NAK
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '45 '
    - item_type: preproc_def
      name: RADCMD_RESERVED
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '255 '
    - item_type: preproc_def
      name: SERV_TYPE
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '6'
    - item_type: preproc_def
      name: FRM_IPADDR
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LOG_IPHOST
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '14'
    - item_type: preproc_def
      name: LOG_SERVICE
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '15'
    - item_type: preproc_def
      name: FRM_IPX
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '23'
    - item_type: preproc_def
      name: SESSION_TIMEOUT
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '27'
    - item_type: preproc_def
      name: IDLE_TIMEOUT
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '28'
    - item_type: preproc_def
      name: FRM_ATALK_LINK
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '37'
    - item_type: preproc_def
      name: FRM_ATALK_NETWORK
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '38'
    - item_type: preproc_def
      name: ACCT_DELAY
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '41'
    - item_type: preproc_def
      name: ACCT_SESSION_TIME
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '46'
    - item_type: preproc_def
      name: EGRESS_VLAN_ID
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '56'
    - item_type: preproc_def
      name: EGRESS_VLAN_NAME
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '58'
    - item_type: preproc_def
      name: TUNNEL_TYPE
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '64'
    - item_type: preproc_def
      name: TUNNEL_MEDIUM
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '65'
    - item_type: preproc_def
      name: TUNNEL_CLIENT_END
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '66'
    - item_type: preproc_def
      name: TUNNEL_SERVER_END
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '67'
    - item_type: preproc_def
      name: TUNNEL_PASS
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '69'
    - item_type: preproc_def
      name: ARAP_PASS
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '70'
    - item_type: preproc_def
      name: ARAP_FEATURES
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '71'
    - item_type: preproc_def
      name: EAP_MESSAGE
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '79'
    - item_type: preproc_def
      name: TUNNEL_PRIV_GROUP
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '81'
    - item_type: preproc_def
      name: TUNNEL_ASSIGN_ID
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '82'
    - item_type: preproc_def
      name: TUNNEL_PREFERENCE
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '83'
    - item_type: preproc_def
      name: ARAP_CHALLENGE_RESP
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '84'
    - item_type: preproc_def
      name: ACCT_INT_INTERVAL
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '85'
    - item_type: preproc_def
      name: TUNNEL_CLIENT_AUTH
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '90'
    - item_type: preproc_def
      name: TUNNEL_SERVER_AUTH
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '91'
    - item_type: preproc_def
      name: ERROR_CAUSE
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '101'
    - item_type: preproc_def
      name: RFC4675_TAGGED
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x31'
    - item_type: preproc_def
      name: RFC4675_UNTAGGED
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x32'
    - item_type: preproc_def
      name: MIN_RADIUS_LEN
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '20'
    - item_type: preproc_def
      name: ERROR_CAUSE_RESIDUAL_CONTEXT_REMOVED
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '201'
    - item_type: preproc_def
      name: ERROR_CAUSE_INVALID_EAP_PACKET
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '202'
    - item_type: preproc_def
      name: ERROR_CAUSE_UNSUPPORTED_ATTRIBUTE
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '401'
    - item_type: preproc_def
      name: ERROR_CAUSE_MISSING_ATTRIBUTE
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '402'
    - item_type: preproc_def
      name: ERROR_CAUSE_NAS_IDENTIFICATION_MISMATCH
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '403'
    - item_type: preproc_def
      name: ERROR_CAUSE_INVALID_REQUEST
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '404'
    - item_type: preproc_def
      name: ERROR_CAUSE_UNSUPPORTED_SERVICE
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '405'
    - item_type: preproc_def
      name: ERROR_CAUSE_UNSUPPORTED_EXTENSION
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '406'
    - item_type: preproc_def
      name: ERROR_CAUSE_INVALID_ATTRIBUTE_VALUE
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '407'
    - item_type: preproc_def
      name: ERROR_CAUSE_ADMINISTRATIVELY_PROHIBITED
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '501'
    - item_type: preproc_def
      name: ERROR_CAUSE_PROXY_REQUEST_NOT_ROUTABLE
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '502'
    - item_type: preproc_def
      name: ERROR_CAUSE_SESSION_CONTEXT_NOT_FOUND
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '503'
    - item_type: preproc_def
      name: ERROR_CAUSE_SESSION_CONTEXT_NOT_REMOVABLE
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '504'
    - item_type: preproc_def
      name: ERROR_CAUSE_PROXY_PROCESSING_ERROR
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '505'
    - item_type: preproc_def
      name: ERROR_CAUSE_RESOURCES_UNAVAILABLE
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '506'
    - item_type: preproc_def
      name: ERROR_CAUSE_REQUEST_INITIATED
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '507'
    - item_type: preproc_def
      name: ERROR_CAUSE_MULTIPLE_SESSION_SELECTION_UNSUPPORTED
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '508'
    - item_type: preproc_def
      name: ERROR_CAUSE_LOCATION_INFO_REQUIRED
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '509'
    - item_type: preproc_def
      name: MIP6_INTEGRATED
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x0000000000000001'
    - item_type: preproc_def
      name: LOCAL_HOME_AGENT_ASSIGNMENT
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x0000000000000002'
    - item_type: preproc_def
      name: PMIP6_SUPPORTED
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x0000010000000000'
    - item_type: preproc_def
      name: IP4_HOA_SUPPORTED
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x0000020000000000'
    - item_type: preproc_def
      name: LOCAL_MAG_ROUTING_SUPPORTED
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x0000040000000000'
    - item_type: preproc_def
      name: ASSIGN_LOCAL_IP
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x0000080000000000'
    - item_type: preproc_def
      name: MIP4_SUPPORTED
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x0000100000000000'
    - item_type: preproc_def
      name: OPTIMIZED_IDLE_MODE_MOBILITY
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x0000200000000000'
    - item_type: preproc_def
      name: GTPv2_SUPPORTED
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x0000400000000000'
    - item_type: preproc_def
      name: IP4_TRANSPORT_SUPPORTED
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x0000800000000000'
    - item_type: preproc_def
      name: IP4_HOA_ONLY_SUPPORTED
      pos:
        line_end: 527
        line_start: 526
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x0001000000000000'
    - item_type: preproc_def
      name: INTER_MAG_ROUTING_SUPPORTED
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x0002000000000000'
    - item_type: preproc_def
      name: OPERATOR_NAME_TADIG
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x30'
    - item_type: preproc_def
      name: OPERATOR_NAME_REALM
      pos:
        line_end: 549
        line_start: 548
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x31'
    - item_type: preproc_def
      name: OPERATOR_NAME_E212
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x32'
    - item_type: preproc_def
      name: OPERATOR_NAME_ICC
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0x33'
    - item_type: preproc_def
      name: LOCATION_INFORMATION_CODE_CIVIC
      pos:
        line_end: 561
        line_start: 560
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LOCATION_INFORMATION_CODE_GEOSPATIAL
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LOCATION_INFORMATION_ENTITY_USER
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LOCATION_INFORMATION_ENTITY_RADIUS
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/tcpdump/print-radius.c
      type_or_value: '1'
    structs:
    - fields:
      - name: code
        type: nd_uint8_t
      - name: id
        type: nd_uint8_t
      - name: len
        type: nd_uint16_t
      - name: auth[16]
        type: nd_byte
      item_type: struct
      name: radius_hdr
      pos:
        line_end: 219
        line_start: 215
        source_file: /src/tcpdump/print-radius.c
    - fields:
      - name: type
        type: nd_uint8_t
      - name: len
        type: nd_uint8_t
      item_type: struct
      name: radius_attr
      pos:
        line_end: 225
        line_start: 223
        source_file: /src/tcpdump/print-radius.c
    - fields:
      - name: v
        type: uint64_t
      - name: '*s'
        type: char
      item_type: struct
      name: mip6_feature_vector
      pos:
        line_end: 531
        line_start: 528
        source_file: /src/tcpdump/print-radius.c
    - fields:
      - name: '*name'
        type: char
      - name: '**subtypes'
        type: char
      - name: siz_subtypes
        type: u_char
      - name: first_subtype
        type: u_char
      - name: (*print_func)(netdissect_options *, const u_char *, u_int, u_short)
        type: void
      item_type: struct
      name: attrtype
      pos:
        line_end: 605
        line_start: 599
        source_file: /src/tcpdump/print-radius.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/gre.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GRE_CP
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/tcpdump/gre.h
      type_or_value: "0x8000\t\t"
    - item_type: preproc_def
      name: GRE_RP
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcpdump/gre.h
      type_or_value: "0x4000\t\t"
    - item_type: preproc_def
      name: GRE_KP
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/gre.h
      type_or_value: "0x2000\t\t"
    - item_type: preproc_def
      name: GRE_SP
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/gre.h
      type_or_value: "0x1000\t\t"
    - item_type: preproc_def
      name: GRE_sP
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcpdump/gre.h
      type_or_value: "0x0800\t\t"
    - item_type: preproc_def
      name: GRE_AP
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/gre.h
      type_or_value: "0x0080\t\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - cnfp_v1_print
  - cnfp_v5_print
  - cnfp_v6_print
  - cnfp_print
  source_file: /src/tcpdump/print-cnfp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: version
        type: nd_uint16_t
      - name: count
        type: nd_uint16_t
      - name: msys_uptime
        type: nd_uint32_t
      - name: utc_sec
        type: nd_uint32_t
      - name: utc_nsec
        type: nd_uint32_t
      item_type: struct
      name: nfhdr_v1
      pos:
        line_end: 60
        line_start: 54
        source_file: /src/tcpdump/print-cnfp.c
    - fields:
      - name: src_ina
        type: nd_ipv4
      - name: dst_ina
        type: nd_ipv4
      - name: nhop_ina
        type: nd_ipv4
      - name: input
        type: nd_uint16_t
      - name: output
        type: nd_uint16_t
      - name: packets
        type: nd_uint32_t
      - name: octets
        type: nd_uint32_t
      - name: start_time
        type: nd_uint32_t
      - name: last_time
        type: nd_uint32_t
      - name: srcport
        type: nd_uint16_t
      - name: dstport
        type: nd_uint16_t
      - name: pad1[2]
        type: nd_byte
      - name: proto
        type: nd_uint8_t
      - name: tos
        type: nd_uint8_t
      - name: tcp_flags
        type: nd_uint8_t
      - name: pad[3]
        type: nd_byte
      - name: reserved
        type: nd_uint32_t
      item_type: struct
      name: nfrec_v1
      pos:
        line_end: 80
        line_start: 62
        source_file: /src/tcpdump/print-cnfp.c
    - fields:
      - name: version
        type: nd_uint16_t
      - name: count
        type: nd_uint16_t
      - name: msys_uptime
        type: nd_uint32_t
      - name: utc_sec
        type: nd_uint32_t
      - name: utc_nsec
        type: nd_uint32_t
      - name: sequence
        type: nd_uint32_t
      - name: engine_type
        type: nd_uint8_t
      - name: engine_id
        type: nd_uint8_t
      - name: sampling_interval
        type: nd_uint16_t
      item_type: struct
      name: nfhdr_v5
      pos:
        line_end: 92
        line_start: 82
        source_file: /src/tcpdump/print-cnfp.c
    - fields:
      - name: src_ina
        type: nd_ipv4
      - name: dst_ina
        type: nd_ipv4
      - name: nhop_ina
        type: nd_ipv4
      - name: input
        type: nd_uint16_t
      - name: output
        type: nd_uint16_t
      - name: packets
        type: nd_uint32_t
      - name: octets
        type: nd_uint32_t
      - name: start_time
        type: nd_uint32_t
      - name: last_time
        type: nd_uint32_t
      - name: srcport
        type: nd_uint16_t
      - name: dstport
        type: nd_uint16_t
      - name: pad1
        type: nd_byte
      - name: tcp_flags
        type: nd_uint8_t
      - name: proto
        type: nd_uint8_t
      - name: tos
        type: nd_uint8_t
      - name: src_as
        type: nd_uint16_t
      - name: dst_as
        type: nd_uint16_t
      - name: src_mask
        type: nd_uint8_t
      - name: dst_mask
        type: nd_uint8_t
      - name: pad2[2]
        type: nd_byte
      - name: peer_nexthop
        type: nd_ipv4
      item_type: struct
      name: nfrec_v5
      pos:
        line_end: 116
        line_start: 94
        source_file: /src/tcpdump/print-cnfp.c
    - fields:
      - name: version
        type: nd_uint16_t
      - name: count
        type: nd_uint16_t
      - name: msys_uptime
        type: nd_uint32_t
      - name: utc_sec
        type: nd_uint32_t
      - name: utc_nsec
        type: nd_uint32_t
      - name: sequence
        type: nd_uint32_t
      - name: reserved
        type: nd_uint32_t
      item_type: struct
      name: nfhdr_v6
      pos:
        line_end: 126
        line_start: 118
        source_file: /src/tcpdump/print-cnfp.c
    - fields:
      - name: src_ina
        type: nd_ipv4
      - name: dst_ina
        type: nd_ipv4
      - name: nhop_ina
        type: nd_ipv4
      - name: input
        type: nd_uint16_t
      - name: output
        type: nd_uint16_t
      - name: packets
        type: nd_uint32_t
      - name: octets
        type: nd_uint32_t
      - name: start_time
        type: nd_uint32_t
      - name: last_time
        type: nd_uint32_t
      - name: srcport
        type: nd_uint16_t
      - name: dstport
        type: nd_uint16_t
      - name: pad1
        type: nd_byte
      - name: tcp_flags
        type: nd_uint8_t
      - name: proto
        type: nd_uint8_t
      - name: tos
        type: nd_uint8_t
      - name: src_as
        type: nd_uint16_t
      - name: dst_as
        type: nd_uint16_t
      - name: src_mask
        type: nd_uint8_t
      - name: dst_mask
        type: nd_uint8_t
      - name: flags
        type: nd_uint16_t
      - name: peer_nexthop
        type: nd_ipv4
      item_type: struct
      name: nfrec_v6
      pos:
        line_end: 150
        line_start: 128
        source_file: /src/tcpdump/print-cnfp.c
    typedefs: []
    union: []
- function_names:
  - syslog_print
  source_file: /src/tcpdump/print-syslog.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SYSLOG_SEVERITY_MASK
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/print-syslog.c
      type_or_value: '0x0007  '
    - item_type: preproc_def
      name: SYSLOG_FACILITY_MASK
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/print-syslog.c
      type_or_value: '0x03f8  '
    - item_type: preproc_def
      name: SYSLOG_MAX_DIGITS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcpdump/print-syslog.c
      type_or_value: '3 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - frag6_print
  source_file: /src/tcpdump/print-frag6.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ip6_sopt_print
  - ip6_opt_process
  - hbhopt_process
  - dstopt_process
  source_file: /src/tcpdump/print-ip6opts.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/af.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AFNUM_IP
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/tcpdump/af.h
      type_or_value: '1'
    - item_type: preproc_def
      name: AFNUM_IP6
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/tcpdump/af.h
      type_or_value: '2'
    - item_type: preproc_def
      name: AFNUM_NSAP
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/tcpdump/af.h
      type_or_value: '3'
    - item_type: preproc_def
      name: AFNUM_HDLC
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/tcpdump/af.h
      type_or_value: '4'
    - item_type: preproc_def
      name: AFNUM_BBN1822
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/tcpdump/af.h
      type_or_value: '5'
    - item_type: preproc_def
      name: AFNUM_802
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/tcpdump/af.h
      type_or_value: '6'
    - item_type: preproc_def
      name: AFNUM_E163
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/tcpdump/af.h
      type_or_value: '7'
    - item_type: preproc_def
      name: AFNUM_E164
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/tcpdump/af.h
      type_or_value: '8'
    - item_type: preproc_def
      name: AFNUM_F69
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/tcpdump/af.h
      type_or_value: '9'
    - item_type: preproc_def
      name: AFNUM_X121
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/tcpdump/af.h
      type_or_value: '10'
    - item_type: preproc_def
      name: AFNUM_IPX
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcpdump/af.h
      type_or_value: '11'
    - item_type: preproc_def
      name: AFNUM_ATALK
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/af.h
      type_or_value: '12'
    - item_type: preproc_def
      name: AFNUM_DECNET
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/af.h
      type_or_value: '13'
    - item_type: preproc_def
      name: AFNUM_BANYAN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcpdump/af.h
      type_or_value: '14'
    - item_type: preproc_def
      name: AFNUM_E164NSAP
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/af.h
      type_or_value: '15'
    - item_type: preproc_def
      name: AFNUM_VPLS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/af.h
      type_or_value: '25'
    - item_type: preproc_def
      name: AFNUM_L2VPN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/af.h
      type_or_value: '196 '
    - item_type: preproc_def
      name: BSD_AF_INET
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/af.h
      type_or_value: '2'
    - item_type: preproc_def
      name: BSD_AF_NS
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/af.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: BSD_AF_ISO
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/af.h
      type_or_value: '7'
    - item_type: preproc_def
      name: BSD_AF_APPLETALK
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/af.h
      type_or_value: '16'
    - item_type: preproc_def
      name: BSD_AF_IPX
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/af.h
      type_or_value: '23'
    - item_type: preproc_def
      name: BSD_AF_INET6_BSD
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/af.h
      type_or_value: "24\t"
    - item_type: preproc_def
      name: BSD_AF_INET6_FREEBSD
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/af.h
      type_or_value: "28\t"
    - item_type: preproc_def
      name: BSD_AF_INET6_DARWIN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/af.h
      type_or_value: "30\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - ether_addresses_print
  - ether_type_print
  - ether_common_print
  - ether_switch_tag_print
  - ether_print
  - ether_if_print
  - netanalyzer_if_print
  - netanalyzer_transparent_if_print
  - ethertype_print
  source_file: /src/tcpdump/print-ether.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ETHER_HDRLEN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-ether.c
      type_or_value: '14'
    structs:
    - fields:
      - name: ether_dhost
        type: nd_mac48
      - name: ether_shost
        type: nd_mac48
      - name: ether_length_type
        type: nd_uint16_t
      item_type: struct
      name: ether_header
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/tcpdump/print-ether.c
    typedefs: []
    union: []
- function_names:
  - parse_field
  - z_triple
  - str_to_lower
  - ZEPHYR_PRINT
  - zephyr_print
  - PARSE_FIELD_INT
  - PARSE_FIELD_STR
  source_file: /src/tcpdump/print-zephyr.c
  types:
    enum:
    - enumerators:
      - name: Z_PACKET_UNSAFE
        value: '0'
      - name: Z_PACKET_UNACKED
      - name: Z_PACKET_HMACK
      - name: Z_PACKET_HMCTL
      - name: Z_PACKET_ACKED
      - name: Z_PACKET_SERVACK
      - name: Z_PACKET_SERVNAK
      - name: Z_PACKET_CLIENTACK
      - name: Z_PACKET_STAT
      item_type: enum
      name: z_packet_type
      pos:
        line_end: 68
        line_start: 58
        source_file: /src/tcpdump/print-zephyr.c
    preproc_defs:
    - item_type: preproc_def
      name: PARSE_STRING
      pos:
        line_end: 175
        line_start: 172
        source_file: /src/tcpdump/print-zephyr.c
      type_or_value: "s = parse_field(ndo, &parse, &parselen);\t\\\n\tif (!s) lose
        = 1;"
    structs:
    - fields:
      - name: '*version'
        type: char
      - name: numfields
        type: int
      - name: kind
        type: int
      - name: '*uid'
        type: char
      - name: port
        type: int
      - name: auth
        type: int
      - name: authlen
        type: int
      - name: '*authdata'
        type: char
      - name: '*class'
        type: char
      - name: '*inst'
        type: char
      - name: '*opcode'
        type: char
      - name: '*sender'
        type: char
      - name: '*recipient'
        type: char
      - name: '*format'
        type: char
      - name: cksum
        type: int
      - name: multi
        type: int
      - name: '*multi_uid'
        type: char
      item_type: struct
      name: z_packet
      pos:
        line_end: 56
        line_start: 37
        source_file: /src/tcpdump/print-zephyr.c
    typedefs: []
    union: []
- function_names:
  - MPLS_LABEL
  - MPLS_TC
  - MPLS_STACK
  - MPLS_TTL
  source_file: /src/tcpdump/mpls.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LABEL_MASK
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/tcpdump/mpls.h
      type_or_value: '0xfffff000'
    - item_type: preproc_def
      name: LABEL_SHIFT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/tcpdump/mpls.h
      type_or_value: '12'
    - item_type: preproc_def
      name: TC_MASK
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/tcpdump/mpls.h
      type_or_value: '0x00000e00'
    - item_type: preproc_def
      name: TC_SHIFT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcpdump/mpls.h
      type_or_value: '9'
    - item_type: preproc_def
      name: STACK_MASK
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/mpls.h
      type_or_value: '0x00000100'
    - item_type: preproc_def
      name: STACK_SHIFT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/mpls.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TTL_MASK
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcpdump/mpls.h
      type_or_value: '0x000000ff'
    - item_type: preproc_def
      name: TTL_SHIFT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/mpls.h
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - http_print
  source_file: /src/tcpdump/print-http.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/slcompress.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TYPE_IP
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/slcompress.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: TYPE_UNCOMPRESSED_TCP
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/slcompress.h
      type_or_value: '0x70'
    - item_type: preproc_def
      name: TYPE_COMPRESSED_TCP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/slcompress.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: TYPE_ERROR
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/slcompress.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: NEW_C
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/slcompress.h
      type_or_value: "0x40\t"
    - item_type: preproc_def
      name: NEW_I
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/slcompress.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: NEW_S
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/slcompress.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: NEW_A
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/slcompress.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: NEW_W
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/slcompress.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: NEW_U
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/slcompress.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SPECIAL_I
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/slcompress.h
      type_or_value: "(NEW_S|NEW_W|NEW_U)\t\t"
    - item_type: preproc_def
      name: SPECIAL_D
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/slcompress.h
      type_or_value: "(NEW_S|NEW_A|NEW_W|NEW_U)\t"
    - item_type: preproc_def
      name: SPECIALS_MASK
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/slcompress.h
      type_or_value: (NEW_S|NEW_A|NEW_W|NEW_U)
    - item_type: preproc_def
      name: TCP_PUSH_BIT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/slcompress.h
      type_or_value: '0x10'
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_fddi_fc
  - extract_fddi_addrs
  - fddi_hdr_print
  - fddi_smt_print
  - fddi_print
  - fddi_if_print
  source_file: /src/tcpdump/print-fddi.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FDDI_HDRLEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: '13'
    - item_type: preproc_def
      name: FDDIFC_C
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0x80\t\t"
    - item_type: preproc_def
      name: FDDIFC_L
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0x40\t\t"
    - item_type: preproc_def
      name: FDDIFC_F
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0x30\t\t"
    - item_type: preproc_def
      name: FDDIFC_Z
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0x0f\t\t"
    - item_type: preproc_def
      name: FDDIFC_VOID
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0x40\t\t"
    - item_type: preproc_def
      name: FDDIFC_NRT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0x80\t\t"
    - item_type: preproc_def
      name: FDDIFC_RT
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0xc0\t\t"
    - item_type: preproc_def
      name: FDDIFC_SMT_INFO
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0x41\t\t"
    - item_type: preproc_def
      name: FDDIFC_SMT_NSA
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0x4F\t\t"
    - item_type: preproc_def
      name: FDDIFC_MAC_BEACON
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0xc2\t\t"
    - item_type: preproc_def
      name: FDDIFC_MAC_CLAIM
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0xc3\t\t"
    - item_type: preproc_def
      name: FDDIFC_LLC_ASYNC
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0x50\t\t"
    - item_type: preproc_def
      name: FDDIFC_LLC_SYNC
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0xd0\t\t"
    - item_type: preproc_def
      name: FDDIFC_IMP_ASYNC
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0x60\t\t"
    - item_type: preproc_def
      name: FDDIFC_IMP_SYNC
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0xe0\t\t"
    - item_type: preproc_def
      name: FDDIFC_SMT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0x40\t\t"
    - item_type: preproc_def
      name: FDDIFC_MAC
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0xc0\t\t"
    - item_type: preproc_def
      name: FDDIFC_CLFF
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0xF0\t\t"
    - item_type: preproc_def
      name: FDDIFC_ZZZZ
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-fddi.c
      type_or_value: "0x0F\t\t"
    structs:
    - fields:
      - name: fddi_fc
        type: nd_uint8_t
      - name: fddi_dhost
        type: nd_mac48
      - name: fddi_shost
        type: nd_mac48
      item_type: struct
      name: fddi_header
      pos:
        line_end: 41
        line_start: 37
        source_file: /src/tcpdump/print-fddi.c
    typedefs: []
    union: []
- function_names:
  - EXTRACT_U_1
  - EXTRACT_S_1
  - EXTRACT_BE_U_2
  - EXTRACT_BE_S_2
  - EXTRACT_BE_U_4
  - EXTRACT_BE_S_4
  - EXTRACT_BE_U_8
  - EXTRACT_BE_S_8
  - EXTRACT_IPV4_TO_HOST_ORDER
  - EXTRACT_BE_U_2
  - EXTRACT_BE_S_2
  - EXTRACT_BE_U_4
  - EXTRACT_BE_S_4
  - EXTRACT_BE_U_8
  - EXTRACT_BE_S_8
  - EXTRACT_IPV4_TO_HOST_ORDER
  - EXTRACT_BE_U_2
  - EXTRACT_BE_S_2
  - EXTRACT_BE_U_4
  - EXTRACT_BE_S_4
  - EXTRACT_BE_U_8
  - EXTRACT_BE_S_8
  - EXTRACT_IPV4_TO_HOST_ORDER
  - EXTRACT_HE_U_2
  - EXTRACT_HE_S_2
  - EXTRACT_HE_U_4
  - EXTRACT_HE_S_4
  - EXTRACT_IPV4_TO_NETWORK_ORDER
  - EXTRACT_BE_U_3
  - EXTRACT_BE_S_3
  - EXTRACT_BE_U_5
  - EXTRACT_BE_S_5
  - EXTRACT_BE_U_6
  - EXTRACT_BE_S_6
  - EXTRACT_BE_U_7
  - EXTRACT_BE_S_7
  - EXTRACT_LE_U_2
  - EXTRACT_LE_S_2
  - EXTRACT_LE_U_4
  - EXTRACT_LE_S_4
  - EXTRACT_LE_U_8
  - EXTRACT_LE_S_8
  - EXTRACT_LE_U_3
  - EXTRACT_LE_S_3
  - EXTRACT_LE_U_5
  - EXTRACT_LE_U_6
  - EXTRACT_LE_U_7
  - ND_TTEST_1
  - ND_TCHECK_1
  - ND_TTEST_2
  - ND_TCHECK_2
  - ND_TTEST_3
  - ND_TCHECK_3
  - ND_TTEST_4
  - ND_TCHECK_4
  - ND_TTEST_5
  - ND_TCHECK_5
  - ND_TTEST_6
  - ND_TCHECK_6
  - ND_TTEST_7
  - ND_TCHECK_7
  - ND_TTEST_8
  - ND_TCHECK_8
  - ND_TTEST_16
  - ND_TCHECK_16
  - get_u_1
  - get_s_1
  - get_be_u_2
  - get_be_u_3
  - get_be_u_4
  - get_be_u_5
  - get_be_u_6
  - get_be_u_7
  - get_be_u_8
  - get_be_s_2
  - get_be_s_3
  - get_be_s_4
  - get_be_s_5
  - get_be_s_6
  - get_be_s_7
  - get_be_s_8
  - get_he_u_2
  - get_he_u_4
  - get_he_s_2
  - get_he_s_4
  - get_be_f_4
  - get_be_f_8
  - get_le_u_2
  - get_le_u_3
  - get_le_u_4
  - get_le_u_5
  - get_le_u_6
  - get_le_u_7
  - get_le_u_8
  - get_le_s_2
  - get_le_s_3
  - get_le_s_4
  - get_le_s_8
  - get_ipv4_to_host_order
  - get_ipv4_to_network_order
  - get_cpy_bytes
  - GET_U_1
  - GET_S_1
  - GET_BE_U_2
  - GET_BE_U_3
  - GET_BE_U_4
  - GET_BE_U_5
  - GET_BE_U_6
  - GET_BE_U_7
  - GET_BE_U_8
  - GET_BE_S_2
  - GET_BE_S_3
  - GET_BE_S_4
  - GET_BE_S_5
  - GET_BE_S_6
  - GET_BE_S_7
  - GET_BE_S_8
  - GET_BE_F_4
  - GET_BE_F_8
  - GET_HE_U_2
  - GET_HE_U_4
  - GET_HE_S_2
  - GET_HE_S_4
  - GET_LE_U_2
  - GET_LE_U_3
  - GET_LE_U_4
  - GET_LE_U_5
  - GET_LE_U_6
  - GET_LE_U_7
  - GET_LE_U_8
  - GET_LE_S_2
  - GET_LE_S_3
  - GET_LE_S_4
  - GET_LE_S_8
  - GET_IPV4_TO_HOST_ORDER
  - GET_IPV4_TO_NETWORK_ORDER
  - GET_CPY_BYTES
  source_file: /src/tcpdump/extract.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNALIGNED_OK
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/extract.h
      type_or_value: __attribute__((no_sanitize_undefined))
    - item_type: preproc_def
      name: UNALIGNED_OK
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/extract.h
      type_or_value: __attribute__((no_sanitize("undefined")))
    structs:
    - fields:
      - name: val
        type: uint16_t
      item_type: struct
      name: unaligned_uint16_t
      pos:
        line_end: 192
        line_start: 190
        source_file: /src/tcpdump/extract.h
    - fields:
      - name: val
        type: int16_t
      item_type: struct
      name: unaligned_int16_t
      pos:
        line_end: 196
        line_start: 194
        source_file: /src/tcpdump/extract.h
    - fields:
      - name: val
        type: uint32_t
      item_type: struct
      name: unaligned_uint32_t
      pos:
        line_end: 200
        line_start: 198
        source_file: /src/tcpdump/extract.h
    - fields:
      - name: val
        type: int32_t
      item_type: struct
      name: unaligned_int32_t
      pos:
        line_end: 204
        line_start: 202
        source_file: /src/tcpdump/extract.h
    typedefs: []
    union:
    - fields:
      - name: f
        type: float
      - name: i
        type: uint32_t
      item_type: union
      name: buf
      pos:
        line_end: 755
        line_start: 752
        source_file: /src/tcpdump/extract.h
    - fields:
      - name: f
        type: double
      - name: i
        type: uint64_t
      item_type: union
      name: buf
      pos:
        line_end: 769
        line_start: 766
        source_file: /src/tcpdump/extract.h
- function_names:
  - ipoib_hdr_print
  - ipoib_print
  - ipoib_if_print
  source_file: /src/tcpdump/print-ipoib.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPOIB_HDRLEN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-ipoib.c
      type_or_value: '44'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/nlpid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/ascii_strcasecmp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - IGRP_V
  - IGRP_OP
  - igrp_entry_print
  - igrp_print
  source_file: /src/tcpdump/print-igrp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IGRP_UPDATE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-igrp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IGRP_REQUEST
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-igrp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IGRP_RTE_SIZE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-igrp.c
      type_or_value: "14\t"
    structs:
    - fields:
      - name: ig_vop
        type: nd_uint8_t
      - name: ig_ed
        type: nd_uint8_t
      - name: ig_as
        type: nd_uint16_t
      - name: ig_ni
        type: nd_uint16_t
      - name: ig_ns
        type: nd_uint16_t
      - name: ig_nx
        type: nd_uint16_t
      - name: ig_sum
        type: nd_uint16_t
      item_type: struct
      name: igrphdr
      pos:
        line_end: 46
        line_start: 36
        source_file: /src/tcpdump/print-igrp.c
    - fields:
      - name: igr_net[3]
        type: nd_byte
      - name: igr_dly
        type: nd_uint24_t
      - name: igr_bw
        type: nd_uint24_t
      - name: igr_mtu
        type: nd_uint16_t
      - name: igr_rel
        type: nd_uint8_t
      - name: igr_ld
        type: nd_uint8_t
      - name: igr_hct
        type: nd_uint8_t
      item_type: struct
      name: igrprte
      pos:
        line_end: 61
        line_start: 53
        source_file: /src/tcpdump/print-igrp.c
    typedefs: []
    union: []
- function_names:
  - tom_valid
  - ForCES_node
  - ForCES_V
  - ForCES_BLN
  - ForCES_SID
  - ForCES_DID
  - ForCES_ACK
  - ForCES_PRI
  - ForCES_RS1
  - ForCES_EM
  - ForCES_AT
  - ForCES_TP
  - ForCES_RS2
  - ForCES_HLN_VALID
  - get_forces_optlv_h
  - indent_pr
  - op_valid
  - ttlv_valid
  - F_ALN_LEN
  - GET_TOP_TLV
  - TLV_SET_LEN
  - TLV_DATA
  - GO_NXT_TLV
  - ILV_SET_LEN
  - ILV_DATA
  - GO_NXT_ILV
  - tlv_valid
  - ilv_valid
  - get_forces_tom
  - pd_valid
  - chk_op_type
  - get_forces_pd
  - prestlv_print
  - fdatatlv_print
  - sdatailv_print
  - sdatatlv_print
  - pkeyitlv_print
  - pdatacnt_print
  - pdata_print
  - genoptlv_print
  - recpdoptlv_print
  - invoptlv_print
  - otlv_print
  - asttlv_print
  - asrtlv_print
  - gentltlv_print
  - print_metailv
  - print_metatlv
  - print_reddata
  - redirect_print
  - lfbselect_print
  - forces_type_print
  - forces_print
  source_file: /src/tcpdump/print-forces.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ForCES_VERS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ForCES_HDRL
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '24'
    - item_type: preproc_def
      name: ForCES_ALNL
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcpdump/print-forces.c
      type_or_value: 4U
    - item_type: preproc_def
      name: TLV_HDRL
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ILV_HDRL
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '8'
    - item_type: preproc_def
      name: TOM_RSVD
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0'
    - item_type: preproc_def
      name: TOM_ASSNSETUP
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: TOM_ASSNTEARD
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: TOM_CONFIG
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x3'
    - item_type: preproc_def
      name: TOM_QUERY
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: TOM_EVENTNOT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x5'
    - item_type: preproc_def
      name: TOM_PKTREDIR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x6'
    - item_type: preproc_def
      name: TOM_HEARTBT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0F'
    - item_type: preproc_def
      name: TOM_ASSNSETREP
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x11'
    - item_type: preproc_def
      name: TOM_CONFIGREP
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x13'
    - item_type: preproc_def
      name: TOM_QUERYREP
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x14'
    - item_type: preproc_def
      name: ZERO_TTLV
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: ZERO_MORE_TTLV
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: ONE_MORE_TTLV
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: ZERO_TLV
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: ONE_TLV
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: TWO_TLV
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: MAX_TLV
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0xF0'
    - item_type: preproc_def
      name: TTLV_T1
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-forces.c
      type_or_value: (ONE_MORE_TTLV|ONE_TLV)
    - item_type: preproc_def
      name: TTLV_T2
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-forces.c
      type_or_value: (ONE_MORE_TTLV|MAX_TLV)
    - item_type: preproc_def
      name: TOM_MAX_IND
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-forces.c
      type_or_value: (_TOM_RSV_MAX - 1)
    - item_type: preproc_def
      name: F_LFB_RSVD
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0'
    - item_type: preproc_def
      name: F_LFB_FEO
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: F_LFB_FEPO
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: F_OP_MAX
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/tcpdump/print-forces.c
      type_or_value: (_F_OP_MAX - 1)
    - item_type: preproc_def
      name: OP_MIN_SIZ
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '8'
    - item_type: preproc_def
      name: B_FULLD
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: B_SPARD
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: B_RESTV
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: B_KEYIN
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x8'
    - item_type: preproc_def
      name: B_APPND
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: B_TRNG
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: IND_SIZE
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '256'
    - item_type: preproc_def
      name: IND_CHR
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/tcpdump/print-forces.c
      type_or_value: ''' '''
    - item_type: preproc_def
      name: IND_PREF
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '''\n'''
    - item_type: preproc_def
      name: IND_SUF
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0'
    - item_type: preproc_def
      name: F_TLV_RSVD
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0000'
    - item_type: preproc_def
      name: F_TLV_REDR
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: F_TLV_ASRS
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: F_TLV_ASRT
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0011'
    - item_type: preproc_def
      name: F_TLV_LFBS
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: F_TLV_PDAT
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0110'
    - item_type: preproc_def
      name: F_TLV_KEYI
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0111'
    - item_type: preproc_def
      name: F_TLV_FULD
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0112'
    - item_type: preproc_def
      name: F_TLV_SPAD
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0113'
    - item_type: preproc_def
      name: F_TLV_REST
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0114'
    - item_type: preproc_def
      name: F_TLV_METD
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0115'
    - item_type: preproc_def
      name: F_TLV_REDD
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0116'
    - item_type: preproc_def
      name: F_TLV_TRNG
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x0117'
    - item_type: preproc_def
      name: F_TLV_VNST
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: TLV_HLN
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '4'
    - item_type: preproc_def
      name: INVALID_RLEN
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '1'
    - item_type: preproc_def
      name: INVALID_STLN
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '2'
    - item_type: preproc_def
      name: INVALID_LTLN
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '3'
    - item_type: preproc_def
      name: INVALID_ALEN
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ASSNS_OPS
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/tcpdump/print-forces.c
      type_or_value: (B_OP_REPORT)
    - item_type: preproc_def
      name: CFG_OPS
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/tcpdump/print-forces.c
      type_or_value: (B_OP_SET|B_OP_SETPROP|B_OP_DEL|B_OP_COMMIT|B_OP_RTRCOMP)
    - item_type: preproc_def
      name: CFG_ROPS
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/tcpdump/print-forces.c
      type_or_value: (B_OP_SETRESP|B_OP_SETPRESP|B_OP_DELRESP|B_OP_RCOMMIT)
    - item_type: preproc_def
      name: CFG_QY
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/tcpdump/print-forces.c
      type_or_value: (B_OP_GET|B_OP_GETPROP)
    - item_type: preproc_def
      name: CFG_QYR
      pos:
        line_end: 463
        line_start: 462
        source_file: /src/tcpdump/print-forces.c
      type_or_value: (B_OP_GETRESP|B_OP_GETPRESP)
    - item_type: preproc_def
      name: CFG_EVN
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/tcpdump/print-forces.c
      type_or_value: (B_OP_REPORT)
    - item_type: preproc_def
      name: PD_MAX_IND
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/tcpdump/print-forces.c
      type_or_value: (_TOM_RSV_MAX - 1)
    - item_type: preproc_def
      name: F_SELKEY
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '1'
    - item_type: preproc_def
      name: F_SELTABRANGE
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '2'
    - item_type: preproc_def
      name: F_TABAPPEND
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '4'
    - item_type: preproc_def
      name: RESLEN
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PTH_DESC_SIZE
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '12'
    - item_type: preproc_def
      name: ASTDLN
      pos:
        line_end: 1197
        line_start: 1196
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ASTMCD
      pos:
        line_end: 1198
        line_start: 1197
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '255'
    - item_type: preproc_def
      name: ASRDLN
      pos:
        line_end: 1233
        line_start: 1232
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ASRMCD
      pos:
        line_end: 1234
        line_start: 1233
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RD_MIN
      pos:
        line_end: 1302
        line_start: 1301
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '8'
    - item_type: preproc_def
      name: OP_OFF
      pos:
        line_end: 1454
        line_start: 1453
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '8'
    - item_type: preproc_def
      name: OP_MIN
      pos:
        line_end: 1455
        line_start: 1454
        source_file: /src/tcpdump/print-forces.c
      type_or_value: '12'
    structs:
    - fields:
      - name: v
        type: uint32_t
      - name: flags
        type: uint16_t
      - name: op_msk
        type: uint16_t
      - name: '*s'
        type: char
      - name: "(*print) (netdissect_options *ndo, const u_char * pptr, u_int len,\n\t\t
          \     uint16_t op_msk, int indent)"
        type: int
      item_type: struct
      name: tom_h
      pos:
        line_end: 68
        line_start: 61
        source_file: /src/tcpdump/print-forces.c
    - fields:
      - name: fm_vrsvd
        type: nd_uint8_t
      - name: fm_tom
        type: nd_uint8_t
      - name: fm_len
        type: nd_uint16_t
      - name: fm_sid
        type: nd_uint32_t
      - name: fm_did
        type: nd_uint32_t
      - name: fm_cor[8]
        type: nd_uint8_t
      - name: fm_flags
        type: nd_uint32_t
      item_type: struct
      name: forcesh
      pos:
        line_end: 173
        line_start: 154
        source_file: /src/tcpdump/print-forces.c
    - fields:
      - name: flags
        type: uint16_t
      - name: op_msk
        type: uint16_t
      - name: '*s'
        type: char
      - name: "(*print) (netdissect_options *ndo, const u_char * pptr, u_int len,\n\t\t
          \     uint16_t op_msk, int indent)"
        type: int
      item_type: struct
      name: optlv_h
      pos:
        line_end: 234
        line_start: 228
        source_file: /src/tcpdump/print-forces.c
    - fields:
      - name: pflags
        type: nd_uint16_t
      - name: pIDcnt
        type: nd_uint16_t
      item_type: struct
      name: pathdata_h
      pos:
        line_end: 247
        line_start: 244
        source_file: /src/tcpdump/print-forces.c
    - fields:
      - name: type
        type: nd_uint32_t
      - name: length
        type: nd_uint32_t
      item_type: struct
      name: forces_ilv
      pos:
        line_end: 382
        line_start: 379
        source_file: /src/tcpdump/print-forces.c
    - fields:
      - name: type
        type: nd_uint16_t
      - name: length
        type: nd_uint16_t
      item_type: struct
      name: forces_tlv
      pos:
        line_end: 387
        line_start: 384
        source_file: /src/tcpdump/print-forces.c
    - fields:
      - name: class
        type: nd_uint32_t
      - name: instance
        type: nd_uint32_t
      item_type: struct
      name: forces_lfbsh
      pos:
        line_end: 456
        line_start: 453
        source_file: /src/tcpdump/print-forces.c
    - fields:
      - name: v
        type: uint32_t
      - name: flags
        type: uint16_t
      - name: op_msk
        type: uint16_t
      - name: '*s'
        type: char
      - name: "(*print) (netdissect_options *, const u_char * pptr, u_int len,\n\t\t
          \     uint16_t op_msk, int indent)"
        type: int
      item_type: struct
      name: pdata_ops
      pos:
        line_end: 505
        line_start: 498
        source_file: /src/tcpdump/print-forces.c
    - fields:
      - name: result
        type: nd_uint8_t
      - name: resv1
        type: nd_uint8_t
      - name: resv2
        type: nd_uint16_t
      item_type: struct
      name: res_val
      pos:
        line_end: 553
        line_start: 549
        source_file: /src/tcpdump/print-forces.c
    typedefs: []
    union: []
- function_names:
  - EVP_CIPHER_CTX_new
  - EVP_CIPHER_CTX_free
  - set_cipher_parameters
  - set_cipher_parameters
  - do_decrypt
  - esp_decrypt_buffer_by_ikev2_print
  - esp_print_addsa
  - hexdigit
  - espprint_decode_hex
  - espprint_decode_encalgo
  - espprint_decode_authalgo
  - esp_print_decode_ikeline
  - esp_print_decode_onesecret
  - esp_decodesecret_print
  - esp_print
  source_file: /src/tcpdump/print-esp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USED_IF_LIBCRYPTO
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/tcpdump/print-esp.c
      type_or_value: _U_
    structs:
    - fields:
      - name: esp_spi
        type: nd_uint32_t
      - name: esp_seq
        type: nd_uint32_t
      item_type: struct
      name: newesp
      pos:
        line_end: 91
        line_start: 82
        source_file: /src/tcpdump/print-esp.c
    - fields:
      - name: '*next'
        type: struct sa_list
      - name: daddr_version
        type: u_int
      - name: daddr
        type: union inaddr_u
      - name: spi
        type: uint32_t
      - name: initiator
        type: int
      - name: spii[8]
        type: u_char
      - name: spir[8]
        type: u_char
      - name: '*evp'
        type: EVP_CIPHER
      - name: ivlen
        type: u_int
      - name: authlen
        type: int
      - name: authsecret[256]
        type: u_char
      - name: authsecret_len
        type: int
      - name: secret[256]
        type: u_char
      - name: secretlen
        type: int
      item_type: struct
      name: sa_list
      pos:
        line_end: 113
        line_start: 98
        source_file: /src/tcpdump/print-esp.c
    typedefs: []
    union:
    - fields:
      - name: in4
        type: nd_ipv4
      - name: in6
        type: nd_ipv6
      item_type: union
      name: inaddr_u
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/tcpdump/print-esp.c
- function_names: []
  source_file: /src/tcpdump/addrtostr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sl_if_print
  - sl_bsdos_if_print
  - sliplink_print
  - print_sl_change
  - print_sl_winchange
  - compressed_sl_print
  source_file: /src/tcpdump/print-sl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SLIP_HDRLEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-sl.c
      type_or_value: '16'
    - item_type: preproc_def
      name: SLX_DIR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-sl.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SLX_CHDR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-sl.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SLIPDIR_IN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-sl.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SLIPDIR_OUT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-sl.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - bpf_dump
  source_file: /src/tcpdump/bpf_dump.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dvmrp_print
  - print_report
  - print_probe
  - print_neighbors
  - print_neighbors2
  source_file: /src/tcpdump/print-dvmrp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DVMRP_PROBE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-dvmrp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DVMRP_REPORT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-dvmrp.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DVMRP_ASK_NEIGHBORS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-dvmrp.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: DVMRP_NEIGHBORS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-dvmrp.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DVMRP_ASK_NEIGHBORS2
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-dvmrp.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: DVMRP_NEIGHBORS2
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-dvmrp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: DVMRP_PRUNE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-dvmrp.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: DVMRP_GRAFT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-dvmrp.c
      type_or_value: "8\t"
    - item_type: preproc_def
      name: DVMRP_GRAFT_ACK
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-dvmrp.c
      type_or_value: "9\t"
    - item_type: preproc_def
      name: DVMRP_NF_TUNNEL
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-dvmrp.c
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: DVMRP_NF_SRCRT
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-dvmrp.c
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: DVMRP_NF_DOWN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-dvmrp.c
      type_or_value: "0x10\t"
    - item_type: preproc_def
      name: DVMRP_NF_DISABLED
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-dvmrp.c
      type_or_value: "0x20\t"
    - item_type: preproc_def
      name: DVMRP_NF_QUERIER
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-dvmrp.c
      type_or_value: "0x40\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - tag_value_print
  - m3ua_tags_print
  - m3ua_print
  source_file: /src/tcpdump/print-m3ua.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: M3UA_REL_1_0
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '1'
    - item_type: preproc_def
      name: M3UA_MSGC_MGMT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0'
    - item_type: preproc_def
      name: M3UA_MSGC_TRANSFER
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '1'
    - item_type: preproc_def
      name: M3UA_MSGC_SSNM
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '2'
    - item_type: preproc_def
      name: M3UA_MSGC_ASPSM
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '3'
    - item_type: preproc_def
      name: M3UA_MSGC_ASPTM
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '4'
    - item_type: preproc_def
      name: M3UA_MSGC_RKM
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '9'
    - item_type: preproc_def
      name: M3UA_MGMT_ERROR
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0'
    - item_type: preproc_def
      name: M3UA_MGMT_NOTIFY
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '1'
    - item_type: preproc_def
      name: M3UA_TRANSFER_DATA
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '1'
    - item_type: preproc_def
      name: M3UA_SSNM_DUNA
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '1'
    - item_type: preproc_def
      name: M3UA_SSNM_DAVA
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '2'
    - item_type: preproc_def
      name: M3UA_SSNM_DAUD
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '3'
    - item_type: preproc_def
      name: M3UA_SSNM_SCON
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '4'
    - item_type: preproc_def
      name: M3UA_SSNM_DUPU
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '5'
    - item_type: preproc_def
      name: M3UA_SSNM_DRST
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '6'
    - item_type: preproc_def
      name: M3UA_ASP_UP
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '1'
    - item_type: preproc_def
      name: M3UA_ASP_DN
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '2'
    - item_type: preproc_def
      name: M3UA_ASP_BEAT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '3'
    - item_type: preproc_def
      name: M3UA_ASP_UP_ACK
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '4'
    - item_type: preproc_def
      name: M3UA_ASP_DN_ACK
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '5'
    - item_type: preproc_def
      name: M3UA_ASP_BEAT_ACK
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '6'
    - item_type: preproc_def
      name: M3UA_ASP_AC
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '1'
    - item_type: preproc_def
      name: M3UA_ASP_IA
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '2'
    - item_type: preproc_def
      name: M3UA_ASP_AC_ACK
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '3'
    - item_type: preproc_def
      name: M3UA_ASP_IA_ACK
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '4'
    - item_type: preproc_def
      name: M3UA_RKM_REQ
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '1'
    - item_type: preproc_def
      name: M3UA_RKM_RSP
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '2'
    - item_type: preproc_def
      name: M3UA_RKM_DEREQ
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '3'
    - item_type: preproc_def
      name: M3UA_RKM_DERSP
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '4'
    - item_type: preproc_def
      name: M3UA_PARAM_INFO
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: M3UA_PARAM_ROUTING_CTX
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0006'
    - item_type: preproc_def
      name: M3UA_PARAM_DIAGNOSTIC
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0007'
    - item_type: preproc_def
      name: M3UA_PARAM_HB_DATA
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0009'
    - item_type: preproc_def
      name: M3UA_PARAM_TRAFFIC_MODE_TYPE
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x000b'
    - item_type: preproc_def
      name: M3UA_PARAM_ERROR_CODE
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x000c'
    - item_type: preproc_def
      name: M3UA_PARAM_STATUS
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x000d'
    - item_type: preproc_def
      name: M3UA_PARAM_ASP_ID
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0011'
    - item_type: preproc_def
      name: M3UA_PARAM_AFFECTED_POINT_CODE
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0012'
    - item_type: preproc_def
      name: M3UA_PARAM_CORR_ID
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0013'
    - item_type: preproc_def
      name: M3UA_PARAM_NETWORK_APPEARANCE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0200'
    - item_type: preproc_def
      name: M3UA_PARAM_USER
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0204'
    - item_type: preproc_def
      name: M3UA_PARAM_CONGESTION_INDICATION
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0205'
    - item_type: preproc_def
      name: M3UA_PARAM_CONCERNED_DST
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0206'
    - item_type: preproc_def
      name: M3UA_PARAM_ROUTING_KEY
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0207'
    - item_type: preproc_def
      name: M3UA_PARAM_REG_RESULT
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0208'
    - item_type: preproc_def
      name: M3UA_PARAM_DEREG_RESULT
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0209'
    - item_type: preproc_def
      name: M3UA_PARAM_LOCAL_ROUTING_KEY_ID
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x020a'
    - item_type: preproc_def
      name: M3UA_PARAM_DST_POINT_CODE
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x020b'
    - item_type: preproc_def
      name: M3UA_PARAM_SI
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x020c'
    - item_type: preproc_def
      name: M3UA_PARAM_ORIGIN_POINT_CODE_LIST
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x020e'
    - item_type: preproc_def
      name: M3UA_PARAM_PROTO_DATA
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0210'
    - item_type: preproc_def
      name: M3UA_PARAM_REG_STATUS
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0212'
    - item_type: preproc_def
      name: M3UA_PARAM_DEREG_STATUS
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/tcpdump/print-m3ua.c
      type_or_value: '0x0213'
    structs:
    - fields:
      - name: v
        type: nd_uint8_t
      - name: reserved
        type: nd_uint8_t
      - name: msg_class
        type: nd_uint8_t
      - name: msg_type
        type: nd_uint8_t
      - name: len
        type: nd_uint32_t
      item_type: struct
      name: m3ua_common_header
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/tcpdump/print-m3ua.c
    - fields:
      - name: tag
        type: nd_uint16_t
      - name: len
        type: nd_uint16_t
      item_type: struct
      name: m3ua_param_header
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/tcpdump/print-m3ua.c
    typedefs: []
    union: []
- function_names:
  - PRINT_RESERVED_IF_NOT_ZERO_1
  - PRINT_RESERVED_IF_NOT_ZERO_2
  - pptp_bearer_cap_print
  - pptp_bearer_type_print
  - pptp_call_id_print
  - pptp_call_ser_print
  - pptp_cause_code_print
  - pptp_conn_speed_print
  - pptp_err_code_print
  - pptp_firm_rev_print
  - pptp_framing_cap_print
  - pptp_framing_type_print
  - pptp_hostname_print
  - pptp_id_print
  - pptp_max_channel_print
  - pptp_peer_call_id_print
  - pptp_phy_chan_id_print
  - pptp_pkt_proc_delay_print
  - pptp_proto_ver_print
  - pptp_recv_winsiz_print
  - pptp_result_code_print
  - pptp_subaddr_print
  - pptp_vendor_print
  - pptp_sccrq_print
  - pptp_sccrp_print
  - pptp_stopccrq_print
  - pptp_stopccrp_print
  - pptp_echorq_print
  - pptp_echorp_print
  - pptp_ocrq_print
  - pptp_ocrp_print
  - pptp_icrq_print
  - pptp_icrp_print
  - pptp_iccn_print
  - pptp_ccrq_print
  - pptp_cdn_print
  - pptp_wen_print
  - pptp_sli_print
  - pptp_print
  source_file: /src/tcpdump/print-pptp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PPTP_MSG_TYPE_CTRL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PPTP_MSG_TYPE_MGMT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: PPTP_MAGIC_COOKIE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: "0x1a2b3c4d\t"
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_SCCRQ
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_SCCRP
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_StopCCRQ
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_StopCCRP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_ECHORQ
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_ECHORP
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_OCRQ
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_OCRP
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_ICRQ
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_ICRP
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_ICCN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_CCRQ
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_CDN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_WEN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: PPTP_CTRL_MSG_TYPE_SLI
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '15'
    - item_type: preproc_def
      name: PPTP_FRAMING_CAP_ASYNC_MASK
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '0x00000001      '
    - item_type: preproc_def
      name: PPTP_FRAMING_CAP_SYNC_MASK
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '0x00000002      '
    - item_type: preproc_def
      name: PPTP_BEARER_CAP_ANALOG_MASK
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '0x00000001      '
    - item_type: preproc_def
      name: PPTP_BEARER_CAP_DIGITAL_MASK
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-pptp.c
      type_or_value: '0x00000002      '
    structs:
    - fields:
      - name: length
        type: nd_uint16_t
      - name: msg_type
        type: nd_uint16_t
      - name: magic_cookie
        type: nd_uint32_t
      - name: ctrl_msg_type
        type: nd_uint16_t
      - name: reserved0
        type: nd_uint16_t
      item_type: struct
      name: pptp_hdr
      pos:
        line_end: 91
        line_start: 85
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: proto_ver
        type: nd_uint16_t
      - name: reserved1
        type: nd_uint16_t
      - name: framing_cap
        type: nd_uint32_t
      - name: bearer_cap
        type: nd_uint32_t
      - name: max_channel
        type: nd_uint16_t
      - name: firm_rev
        type: nd_uint16_t
      - name: hostname[64]
        type: nd_byte
      - name: vendor[64]
        type: nd_byte
      item_type: struct
      name: pptp_msg_sccrq
      pos:
        line_end: 102
        line_start: 93
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: proto_ver
        type: nd_uint16_t
      - name: result_code
        type: nd_uint8_t
      - name: err_code
        type: nd_uint8_t
      - name: framing_cap
        type: nd_uint32_t
      - name: bearer_cap
        type: nd_uint32_t
      - name: max_channel
        type: nd_uint16_t
      - name: firm_rev
        type: nd_uint16_t
      - name: hostname[64]
        type: nd_byte
      - name: vendor[64]
        type: nd_byte
      item_type: struct
      name: pptp_msg_sccrp
      pos:
        line_end: 114
        line_start: 104
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: reason
        type: nd_uint8_t
      - name: reserved1
        type: nd_uint8_t
      - name: reserved2
        type: nd_uint16_t
      item_type: struct
      name: pptp_msg_stopccrq
      pos:
        line_end: 120
        line_start: 116
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: result_code
        type: nd_uint8_t
      - name: err_code
        type: nd_uint8_t
      - name: reserved1
        type: nd_uint16_t
      item_type: struct
      name: pptp_msg_stopccrp
      pos:
        line_end: 126
        line_start: 122
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: id
        type: nd_uint32_t
      item_type: struct
      name: pptp_msg_echorq
      pos:
        line_end: 130
        line_start: 128
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: id
        type: nd_uint32_t
      - name: result_code
        type: nd_uint8_t
      - name: err_code
        type: nd_uint8_t
      - name: reserved1
        type: nd_uint16_t
      item_type: struct
      name: pptp_msg_echorp
      pos:
        line_end: 137
        line_start: 132
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: call_id
        type: nd_uint16_t
      - name: call_ser
        type: nd_uint16_t
      - name: min_bps
        type: nd_uint32_t
      - name: max_bps
        type: nd_uint32_t
      - name: bearer_type
        type: nd_uint32_t
      - name: framing_type
        type: nd_uint32_t
      - name: recv_winsiz
        type: nd_uint16_t
      - name: pkt_proc_delay
        type: nd_uint16_t
      - name: phone_no_len
        type: nd_uint16_t
      - name: reserved1
        type: nd_uint16_t
      - name: phone_no[64]
        type: nd_byte
      - name: subaddr[64]
        type: nd_byte
      item_type: struct
      name: pptp_msg_ocrq
      pos:
        line_end: 152
        line_start: 139
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: call_id
        type: nd_uint16_t
      - name: peer_call_id
        type: nd_uint16_t
      - name: result_code
        type: nd_uint8_t
      - name: err_code
        type: nd_uint8_t
      - name: cause_code
        type: nd_uint16_t
      - name: conn_speed
        type: nd_uint32_t
      - name: recv_winsiz
        type: nd_uint16_t
      - name: pkt_proc_delay
        type: nd_uint16_t
      - name: phy_chan_id
        type: nd_uint32_t
      item_type: struct
      name: pptp_msg_ocrp
      pos:
        line_end: 164
        line_start: 154
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: call_id
        type: nd_uint16_t
      - name: call_ser
        type: nd_uint16_t
      - name: bearer_type
        type: nd_uint32_t
      - name: phy_chan_id
        type: nd_uint32_t
      - name: dialed_no_len
        type: nd_uint16_t
      - name: dialing_no_len
        type: nd_uint16_t
      - name: dialed_no[64]
        type: nd_byte
      - name: dialing_no[64]
        type: nd_byte
      - name: subaddr[64]
        type: nd_byte
      item_type: struct
      name: pptp_msg_icrq
      pos:
        line_end: 176
        line_start: 166
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: call_id
        type: nd_uint16_t
      - name: peer_call_id
        type: nd_uint16_t
      - name: result_code
        type: nd_uint8_t
      - name: err_code
        type: nd_uint8_t
      - name: recv_winsiz
        type: nd_uint16_t
      - name: pkt_proc_delay
        type: nd_uint16_t
      - name: reserved1
        type: nd_uint16_t
      item_type: struct
      name: pptp_msg_icrp
      pos:
        line_end: 186
        line_start: 178
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: peer_call_id
        type: nd_uint16_t
      - name: reserved1
        type: nd_uint16_t
      - name: conn_speed
        type: nd_uint32_t
      - name: recv_winsiz
        type: nd_uint16_t
      - name: pkt_proc_delay
        type: nd_uint16_t
      - name: framing_type
        type: nd_uint32_t
      item_type: struct
      name: pptp_msg_iccn
      pos:
        line_end: 195
        line_start: 188
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: call_id
        type: nd_uint16_t
      - name: reserved1
        type: nd_uint16_t
      item_type: struct
      name: pptp_msg_ccrq
      pos:
        line_end: 200
        line_start: 197
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: call_id
        type: nd_uint16_t
      - name: result_code
        type: nd_uint8_t
      - name: err_code
        type: nd_uint8_t
      - name: cause_code
        type: nd_uint16_t
      - name: reserved1
        type: nd_uint16_t
      - name: call_stats[128]
        type: nd_byte
      item_type: struct
      name: pptp_msg_cdn
      pos:
        line_end: 209
        line_start: 202
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: peer_call_id
        type: nd_uint16_t
      - name: reserved1
        type: nd_uint16_t
      - name: crc_err
        type: nd_uint32_t
      - name: framing_err
        type: nd_uint32_t
      - name: hardware_overrun
        type: nd_uint32_t
      - name: buffer_overrun
        type: nd_uint32_t
      - name: timeout_err
        type: nd_uint32_t
      - name: align_err
        type: nd_uint32_t
      item_type: struct
      name: pptp_msg_wen
      pos:
        line_end: 220
        line_start: 211
        source_file: /src/tcpdump/print-pptp.c
    - fields:
      - name: peer_call_id
        type: nd_uint16_t
      - name: reserved1
        type: nd_uint16_t
      - name: send_accm
        type: nd_uint32_t
      - name: recv_accm
        type: nd_uint32_t
      item_type: struct
      name: pptp_msg_sli
      pos:
        line_end: 227
        line_start: 222
        source_file: /src/tcpdump/print-pptp.c
    typedefs: []
    union: []
- function_names:
  - ascii_print
  - hex_and_ascii_print_with_offset
  - hex_and_ascii_print
  - hex_print_with_offset
  - hex_print
  source_file: /src/tcpdump/print-ascii.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ASCII_LINELENGTH
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-ascii.c
      type_or_value: '300'
    - item_type: preproc_def
      name: HEXDUMP_BYTES_PER_LINE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-ascii.c
      type_or_value: '16'
    - item_type: preproc_def
      name: HEXDUMP_SHORTS_PER_LINE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-ascii.c
      type_or_value: (HEXDUMP_BYTES_PER_LINE / 2)
    - item_type: preproc_def
      name: HEXDUMP_HEXSTUFF_PER_SHORT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-ascii.c
      type_or_value: '5 '
    - item_type: preproc_def
      name: HEXDUMP_HEXSTUFF_PER_LINE
      pos:
        line_end: 57
        line_start: 55
        source_file: /src/tcpdump/print-ascii.c
      type_or_value: (HEXDUMP_HEXSTUFF_PER_SHORT * HEXDUMP_SHORTS_PER_LINE)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/status-exit-codes.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smb_reset
  - int_unix_date
  - make_unix_date
  - make_unix_date2
  - interpret_filetime
  - name_interpret
  - name_ptr
  - name_extract
  - name_len
  - name_type_str
  - smb_data_print
  - write_bits
  - unistr
  - smb_fdata1
  - smb_fdata
  - smb_errstr
  - nt_errstr
  source_file: /src/tcpdump/smbutil.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FILETIME_TO_POSIX_DELTA
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/smbutil.c
      type_or_value: INT64_C(11644473600)
    - item_type: preproc_def
      name: MAX_UNISTR_SIZE
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/tcpdump/smbutil.c
      type_or_value: '1000'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: code
        type: int
      - name: '*message'
        type: char
      item_type: struct
      name: err_code_struct
      pos:
        line_end: 938
        line_start: 934
        source_file: /src/tcpdump/smbutil.c
    - fields:
      - name: code
        type: int
      - name: '*class'
        type: char
      - name: '*err_msgs'
        type: err_code_struct
      item_type: struct
      name: "err_classes[] = {\n    { 0, \"SUCCESS\", NULL },\n    { 0x01, \"ERRDOS\",
        dos_msgs },\n    { 0x02, \"ERRSRV\", server_msgs },\n    { 0x03, \"ERRHRD\",
        hard_msgs },\n    { 0x04, \"ERRXOS\", NULL },\n    { 0xE1, \"ERRRMX1\", NULL
        },\n    { 0xE2, \"ERRRMX2\", NULL },\n    { 0xE3, \"ERRRMX3\", NULL },\n    {
        0xFF, \"ERRCMD\", NULL },\n    { -1, NULL, NULL }\n}"
      pos:
        line_end: 1035
        line_start: 1031
        source_file: /src/tcpdump/smbutil.c
    - fields:
      - name: code
        type: uint32_t
      - name: '*name'
        type: char
      item_type: struct
      name: nt_err_code_struct
      pos:
        line_end: 1082
        line_start: 1079
        source_file: /src/tcpdump/smbutil.c
    typedefs: []
    union: []
- function_names:
  - symantec_hdr_print
  - symantec_if_print
  source_file: /src/tcpdump/print-symantec.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: stuff1[6]
        type: nd_byte
      - name: ether_type
        type: nd_uint16_t
      - name: stuff2[36]
        type: nd_byte
      item_type: struct
      name: symantec_header
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/tcpdump/print-symantec.c
    typedefs: []
    union: []
- function_names:
  - PIMV2_DF_ELECTION_PASS_BACKOFF_STR
  - PIM_VER
  - PIM_TYPE
  - PIM_SUBTYPE
  - pimv1_join_prune_print
  - pimv1_print
  - cisco_autorp_print
  - pim_print
  - pimv2_addr_print
  - pimv2_check_checksum
  - pimv2_print
  source_file: /src/tcpdump/print-pim.c
  types:
    enum:
    - enumerators:
      - name: pimv2_unicast
      - name: pimv2_source
      - name: pimv2_group
      item_type: enum
      name: pimv2_addrtype
      pos:
        line_end: 527
        line_start: 525
        source_file: /src/tcpdump/print-pim.c
    - enumerators:
      - name: CORRECT
      - name: INCORRECT
      - name: UNVERIFIED
      item_type: enum
      name: checksum_status
      pos:
        line_end: 648
        line_start: 644
        source_file: /src/tcpdump/print-pim.c
    preproc_defs:
    - item_type: preproc_def
      name: PIMV1_TYPE_QUERY
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PIMV1_TYPE_REGISTER
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PIMV1_TYPE_REGISTER_STOP
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PIMV1_TYPE_JOIN_PRUNE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '3'
    - item_type: preproc_def
      name: PIMV1_TYPE_RP_REACHABILITY
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PIMV1_TYPE_ASSERT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '5'
    - item_type: preproc_def
      name: PIMV1_TYPE_GRAFT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '6'
    - item_type: preproc_def
      name: PIMV1_TYPE_GRAFT_ACK
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '7'
    - item_type: preproc_def
      name: PIMV2_TYPE_HELLO
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PIMV2_TYPE_REGISTER
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PIMV2_TYPE_REGISTER_STOP
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PIMV2_TYPE_JOIN_PRUNE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '3'
    - item_type: preproc_def
      name: PIMV2_TYPE_BOOTSTRAP
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PIMV2_TYPE_ASSERT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '5'
    - item_type: preproc_def
      name: PIMV2_TYPE_GRAFT
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '6'
    - item_type: preproc_def
      name: PIMV2_TYPE_GRAFT_ACK
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '7'
    - item_type: preproc_def
      name: PIMV2_TYPE_CANDIDATE_RP
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '8'
    - item_type: preproc_def
      name: PIMV2_TYPE_PRUNE_REFRESH
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '9'
    - item_type: preproc_def
      name: PIMV2_TYPE_DF_ELECTION
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '10'
    - item_type: preproc_def
      name: PIMV2_TYPE_ECMP_REDIRECT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '11'
    - item_type: preproc_def
      name: PIMV2_HELLO_OPTION_HOLDTIME
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PIMV2_HELLO_OPTION_LANPRUNEDELAY
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PIMV2_HELLO_OPTION_DR_PRIORITY_OLD
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '18'
    - item_type: preproc_def
      name: PIMV2_HELLO_OPTION_DR_PRIORITY
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '19'
    - item_type: preproc_def
      name: PIMV2_HELLO_OPTION_GENID
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '20'
    - item_type: preproc_def
      name: PIMV2_HELLO_OPTION_REFRESH_CAP
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '21'
    - item_type: preproc_def
      name: PIMV2_HELLO_OPTION_BIDIR_CAP
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '22'
    - item_type: preproc_def
      name: PIMV2_HELLO_OPTION_ADDRESS_LIST
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '24'
    - item_type: preproc_def
      name: PIMV2_HELLO_OPTION_ADDRESS_LIST_OLD
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '65001'
    - item_type: preproc_def
      name: PIMV2_REGISTER_FLAG_LEN
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PIMV2_REGISTER_FLAG_BORDER
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '0x80000000'
    - item_type: preproc_def
      name: PIMV2_REGISTER_FLAG_NULL
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '0x40000000'
    - item_type: preproc_def
      name: PIMV2_DF_ELECTION_OFFER
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PIMV2_DF_ELECTION_WINNER
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PIMV2_DF_ELECTION_BACKOFF
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '3'
    - item_type: preproc_def
      name: PIMV2_DF_ELECTION_PASS
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-pim.c
      type_or_value: '4'
    structs:
    - fields:
      - name: pim_typever
        type: nd_uint8_t
      - name: pim_rsv
        type: nd_uint8_t
      - name: pim_cksum
        type: nd_uint16_t
      item_type: struct
      name: pim
      pos:
        line_end: 154
        line_start: 141
        source_file: /src/tcpdump/print-pim.c
    typedefs: []
    union: []
- function_names:
  - isForCES_port
  - sctp_print
  source_file: /src/tcpdump/print-sctp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SCTP_DATA
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: SCTP_INITIATION
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SCTP_INITIATION_ACK
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SCTP_SELECTIVE_ACK
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: SCTP_HEARTBEAT_REQUEST
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: SCTP_HEARTBEAT_ACK
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: SCTP_ABORT_ASSOCIATION
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x06'
    - item_type: preproc_def
      name: SCTP_SHUTDOWN
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: SCTP_SHUTDOWN_ACK
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: SCTP_OPERATION_ERR
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x09'
    - item_type: preproc_def
      name: SCTP_COOKIE_ECHO
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x0a'
    - item_type: preproc_def
      name: SCTP_COOKIE_ACK
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x0b'
    - item_type: preproc_def
      name: SCTP_ECN_ECHO
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x0c'
    - item_type: preproc_def
      name: SCTP_ECN_CWR
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x0d'
    - item_type: preproc_def
      name: SCTP_SHUTDOWN_COMPLETE
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x0e'
    - item_type: preproc_def
      name: SCTP_FORWARD_CUM_TSN
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0xc0'
    - item_type: preproc_def
      name: SCTP_RELIABLE_CNTL
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0xc1'
    - item_type: preproc_def
      name: SCTP_RELIABLE_CNTL_ACK
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0xc2'
    - item_type: preproc_def
      name: SCTP_DATA_FRAG_MASK
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: SCTP_DATA_MIDDLE_FRAG
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: SCTP_DATA_LAST_FRAG
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SCTP_DATA_FIRST_FRAG
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SCTP_DATA_NOT_FRAG
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: SCTP_DATA_UNORDERED
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: SCTP_ADDRMAX
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '60'
    - item_type: preproc_def
      name: CHAN_HP
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '6704'
    - item_type: preproc_def
      name: CHAN_MP
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '6705'
    - item_type: preproc_def
      name: CHAN_LP
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '6706'
    - item_type: preproc_def
      name: SCTP_PPID_IUA
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SCTP_PPID_M2UA
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SCTP_PPID_M3UA
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SCTP_PPID_SUA
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SCTP_PPID_M2PA
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: SCTP_PPID_V5UA
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: SCTP_PPID_H248
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: SCTP_PPID_BICC
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: SCTP_PPID_TALI
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: SCTP_PPID_DUA
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: SCTP_PPID_ASAP
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: SCTP_PPID_ENRP
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: SCTP_PPID_H323
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: SCTP_PPID_QIPC
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: SCTP_PPID_SIMCO
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '15'
    - item_type: preproc_def
      name: SCTP_PPID_DDPSC
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '16'
    - item_type: preproc_def
      name: SCTP_PPID_DDPSSC
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '17'
    - item_type: preproc_def
      name: SCTP_PPID_S1AP
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '18'
    - item_type: preproc_def
      name: SCTP_PPID_RUA
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '19'
    - item_type: preproc_def
      name: SCTP_PPID_HNBAP
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '20'
    - item_type: preproc_def
      name: SCTP_PPID_FORCES_HP
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '21'
    - item_type: preproc_def
      name: SCTP_PPID_FORCES_MP
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '22'
    - item_type: preproc_def
      name: SCTP_PPID_FORCES_LP
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '23'
    - item_type: preproc_def
      name: SCTP_PPID_SBC_AP
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '24'
    - item_type: preproc_def
      name: SCTP_PPID_NBAP
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '25'
    - item_type: preproc_def
      name: SCTP_PPID_X2AP
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/tcpdump/print-sctp.c
      type_or_value: '27'
    structs:
    - fields:
      - name: source
        type: nd_uint16_t
      - name: destination
        type: nd_uint16_t
      - name: verificationTag
        type: nd_uint32_t
      - name: adler32
        type: nd_uint32_t
      item_type: struct
      name: sctpHeader
      pos:
        line_end: 158
        line_start: 153
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: chunkID
        type: nd_uint8_t
      - name: chunkFlg
        type: nd_uint8_t
      - name: chunkLength
        type: nd_uint16_t
      item_type: struct
      name: sctpChunkDesc
      pos:
        line_end: 166
        line_start: 162
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: paramType
        type: nd_uint16_t
      - name: paramLength
        type: nd_uint16_t
      item_type: struct
      name: sctpParamDesc
      pos:
        line_end: 171
        line_start: 168
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: chk
        type: struct sctpChunkDesc
      - name: serialNumber
        type: nd_uint32_t
      item_type: struct
      name: sctpRelChunkDesc
      pos:
        line_end: 177
        line_start: 174
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: p
        type: struct sctpParamDesc
      - name: vendorId
        type: nd_uint32_t
      - name: vendorSpecificType
        type: nd_uint16_t
      - name: vendorSpecificLen
        type: nd_uint16_t
      item_type: struct
      name: sctpVendorSpecificParam
      pos:
        line_end: 184
        line_start: 179
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: initTag
        type: nd_uint32_t
      - name: rcvWindowCredit
        type: nd_uint32_t
      - name: NumPreopenStreams
        type: nd_uint16_t
      - name: MaxInboundStreams
        type: nd_uint16_t
      - name: initialTSN
        type: nd_uint32_t
      item_type: struct
      name: sctpInitiation
      pos:
        line_end: 201
        line_start: 194
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: p
        type: struct sctpParamDesc
      - name: ipAddress
        type: nd_ipv4
      item_type: struct
      name: sctpV4IpAddress
      pos:
        line_end: 206
        line_start: 203
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: p
        type: struct sctpParamDesc
      - name: ipAddress
        type: nd_ipv6
      item_type: struct
      name: sctpV6IpAddress
      pos:
        line_end: 212
        line_start: 209
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: param
        type: struct sctpParamDesc
      - name: name[1]
        type: nd_byte
      item_type: struct
      name: sctpDNSName
      pos:
        line_end: 217
        line_start: 214
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: p
        type: struct sctpParamDesc
      - name: extraTime
        type: nd_uint32_t
      item_type: struct
      name: sctpCookiePreserve
      pos:
        line_end: 223
        line_start: 220
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: ts_sec
        type: nd_uint32_t
      - name: ts_usec
        type: nd_uint32_t
      item_type: struct
      name: sctpTimeStamp
      pos:
        line_end: 229
        line_start: 226
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: uh
        type: struct sctpChunkDesc
      - name: initm
        type: struct sctpInitiation
      item_type: struct
      name: sctpUnifiedInit
      pos:
        line_end: 240
        line_start: 237
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: mh
        type: struct sctpHeader
      - name: msg
        type: struct sctpUnifiedInit
      item_type: struct
      name: sctpSendableInit
      pos:
        line_end: 245
        line_start: 242
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: highestConseqTSN
        type: nd_uint32_t
      - name: updatedRwnd
        type: nd_uint32_t
      - name: numberOfdesc
        type: nd_uint16_t
      - name: numDupTsns
        type: nd_uint16_t
      item_type: struct
      name: sctpSelectiveAck
      pos:
        line_end: 260
        line_start: 255
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: fragmentStart
        type: nd_uint16_t
      - name: fragmentEnd
        type: nd_uint16_t
      item_type: struct
      name: sctpSelectiveFrag
      pos:
        line_end: 265
        line_start: 262
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: uh
        type: struct sctpChunkDesc
      - name: sack
        type: struct sctpSelectiveAck
      item_type: struct
      name: sctpUnifiedSack
      pos:
        line_end: 271
        line_start: 268
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: uh
        type: struct sctpChunkDesc
      item_type: struct
      name: sctpUnifiedAbort
      pos:
        line_end: 279
        line_start: 277
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: mh
        type: struct sctpHeader
      - name: uh
        type: struct sctpChunkDesc
      item_type: struct
      name: sctpUnifiedAbortLight
      pos:
        line_end: 284
        line_start: 281
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: mh
        type: struct sctpHeader
      - name: uh
        type: struct sctpChunkDesc
      - name: causeCode
        type: nd_uint16_t
      - name: causeLen
        type: nd_uint16_t
      item_type: struct
      name: sctpUnifiedAbortHeavy
      pos:
        line_end: 291
        line_start: 286
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: TSN_Seen
        type: nd_uint32_t
      item_type: struct
      name: sctpShutdown
      pos:
        line_end: 298
        line_start: 296
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: uh
        type: struct sctpChunkDesc
      - name: shut
        type: struct sctpShutdown
      item_type: struct
      name: sctpUnifiedShutdown
      pos:
        line_end: 303
        line_start: 300
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: cause
        type: nd_uint16_t
      - name: causeLen
        type: nd_uint16_t
      item_type: struct
      name: sctpOpErrorCause
      pos:
        line_end: 312
        line_start: 309
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: uh
        type: struct sctpChunkDesc
      - name: c
        type: struct sctpOpErrorCause
      item_type: struct
      name: sctpUnifiedOpError
      pos:
        line_end: 317
        line_start: 314
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: mh
        type: struct sctpHeader
      - name: uh
        type: struct sctpChunkDesc
      - name: c
        type: struct sctpOpErrorCause
      - name: strmNum
        type: nd_uint16_t
      - name: reserved
        type: nd_uint16_t
      item_type: struct
      name: sctpUnifiedStreamError
      pos:
        line_end: 325
        line_start: 319
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: mh
        type: struct sctpHeader
      - name: uh
        type: struct sctpChunkDesc
      - name: c
        type: struct sctpOpErrorCause
      - name: moretime
        type: nd_uint32_t
      item_type: struct
      name: staleCookieMsg
      pos:
        line_end: 332
        line_start: 327
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: mh
        type: struct sctpHeader
      - name: uh
        type: struct sctpChunkDesc
      item_type: struct
      name: sctpUnifiedSingleMsg
      pos:
        line_end: 341
        line_start: 338
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: TSN
        type: nd_uint32_t
      - name: streamId
        type: nd_uint16_t
      - name: sequence
        type: nd_uint16_t
      - name: payloadtype
        type: nd_uint32_t
      item_type: struct
      name: sctpDataPart
      pos:
        line_end: 348
        line_start: 343
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: uh
        type: struct sctpChunkDesc
      - name: dp
        type: struct sctpDataPart
      item_type: struct
      name: sctpUnifiedDatagram
      pos:
        line_end: 353
        line_start: 350
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: uh
        type: struct sctpChunkDesc
      - name: Lowest_TSN
        type: nd_uint32_t
      item_type: struct
      name: sctpECN_echo
      pos:
        line_end: 358
        line_start: 355
        source_file: /src/tcpdump/print-sctp.c
    - fields:
      - name: uh
        type: struct sctpChunkDesc
      - name: TSN_reduced_at
        type: nd_uint32_t
      item_type: struct
      name: sctpCWR
      pos:
        line_end: 364
        line_start: 361
        source_file: /src/tcpdump/print-sctp.c
    typedefs: []
    union: []
- function_names:
  - lane_hdr_print
  - lane_print
  source_file: /src/tcpdump/print-lane.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: le_header
        type: nd_uint16_t
      - name: h_dest
        type: nd_mac48
      - name: h_source
        type: nd_mac48
      - name: h_type
        type: nd_uint16_t
      item_type: struct
      name: lecdatahdr_8023
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/tcpdump/print-lane.c
    - fields:
      - name: lec_header
        type: nd_uint16_t
      - name: lec_proto
        type: nd_uint8_t
      - name: lec_vers
        type: nd_uint8_t
      - name: lec_opcode
        type: nd_uint16_t
      item_type: struct
      name: lane_controlhdr
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/tcpdump/print-lane.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/ntp.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: int_part
        type: nd_uint32_t
      - name: fraction
        type: nd_uint32_t
      item_type: struct
      name: l_fixedpt
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/tcpdump/ntp.h
    - fields:
      - name: int_part
        type: nd_uint16_t
      - name: fraction
        type: nd_uint16_t
      item_type: struct
      name: s_fixedpt
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/tcpdump/ntp.h
    typedefs: []
    union: []
- function_names:
  - TIPC_ZONE
  - TIPC_CLUSTER
  - TIPC_NODE
  - TIPC_VER
  - TIPC_USER
  - TIPC_HSIZE
  - TIPC_MSIZE
  - TIPC_MTYPE
  - TIPC_BROADCAST_ACK
  - TIPC_LINK_ACK
  - TIPC_LINK_SEQ
  - TIPC_SEQ_GAP
  - TIPC_BC_GAP_AFTER
  - TIPC_BC_GAP_TO
  - TIPC_LAST_SENT_FRAG
  - TIPC_NEXT_SENT_FRAG
  - TIPC_SESS_NO
  - TIPC_MSG_CNT
  - TIPC_LINK_TOL
  - TIPC_NODE_SIG
  - TIPC_MEDIA_ID
  - print_payload
  - print_internal
  - print_link_conf
  - tipc_print
  source_file: /src/tcpdump/print-tipc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIPC_USER_LOW_IMPORTANCE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TIPC_USER_MEDIUM_IMPORTANCE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TIPC_USER_HIGH_IMPORTANCE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TIPC_USER_CRITICAL_IMPORTANCE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TIPC_USER_BCAST_PROTOCOL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '5'
    - item_type: preproc_def
      name: TIPC_USER_MSG_BUNDLER
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '6'
    - item_type: preproc_def
      name: TIPC_USER_LINK_PROTOCOL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '7'
    - item_type: preproc_def
      name: TIPC_USER_CONN_MANAGER
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '8'
    - item_type: preproc_def
      name: TIPC_USER_CHANGEOVER_PROTOCOL
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '10'
    - item_type: preproc_def
      name: TIPC_USER_NAME_DISTRIBUTOR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '11'
    - item_type: preproc_def
      name: TIPC_USER_MSG_FRAGMENTER
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '12'
    - item_type: preproc_def
      name: TIPC_USER_LINK_CONFIG
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '13'
    - item_type: preproc_def
      name: TIPC_CONN_MSG
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TIPC_DIRECT_MSG
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TIPC_NAMED_MSG
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TIPC_MCAST_MSG
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-tipc.c
      type_or_value: '3'
    structs:
    - fields:
      - name: w0
        type: nd_uint32_t
      - name: w1
        type: nd_uint32_t
      item_type: struct
      name: tipc_pkthdr
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/tcpdump/print-tipc.c
    - fields:
      - name: w0
        type: nd_uint32_t
      - name: w1
        type: nd_uint32_t
      - name: w2
        type: nd_uint32_t
      - name: prev_node
        type: nd_uint32_t
      - name: orig_port
        type: nd_uint32_t
      - name: dest_port
        type: nd_uint32_t
      - name: orig_node
        type: nd_uint32_t
      - name: dest_node
        type: nd_uint32_t
      - name: name_type
        type: nd_uint32_t
      - name: w9
        type: nd_uint32_t
      - name: wA
        type: nd_uint32_t
      item_type: struct
      name: payload_tipc_pkthdr
      pos:
        line_end: 115
        line_start: 103
        source_file: /src/tcpdump/print-tipc.c
    - fields:
      - name: w0
        type: nd_uint32_t
      - name: w1
        type: nd_uint32_t
      - name: w2
        type: nd_uint32_t
      - name: prev_node
        type: nd_uint32_t
      - name: w4
        type: nd_uint32_t
      - name: w5
        type: nd_uint32_t
      - name: orig_node
        type: nd_uint32_t
      - name: dest_node
        type: nd_uint32_t
      - name: trans_seq
        type: nd_uint32_t
      - name: w9
        type: nd_uint32_t
      item_type: struct
      name: internal_tipc_pkthdr
      pos:
        line_end: 128
        line_start: 117
        source_file: /src/tcpdump/print-tipc.c
    - fields:
      - name: w0
        type: nd_uint32_t
      - name: w1
        type: nd_uint32_t
      - name: dest_domain
        type: nd_uint32_t
      - name: prev_node
        type: nd_uint32_t
      - name: ntwrk_id
        type: nd_uint32_t
      - name: w5
        type: nd_uint32_t
      - name: media_address[16]
        type: nd_byte
      item_type: struct
      name: link_conf_tipc_pkthdr
      pos:
        line_end: 147
        line_start: 139
        source_file: /src/tcpdump/print-tipc.c
    typedefs: []
    union: []
- function_names:
  - tftp_print
  source_file: /src/tcpdump/print-tftp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRQ
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-tftp.c
      type_or_value: "01\t\t\t"
    - item_type: preproc_def
      name: WRQ
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-tftp.c
      type_or_value: "02\t\t\t"
    - item_type: preproc_def
      name: DATA
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-tftp.c
      type_or_value: "03\t\t\t"
    - item_type: preproc_def
      name: ACK
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-tftp.c
      type_or_value: "04\t\t\t"
    - item_type: preproc_def
      name: TFTP_ERROR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-tftp.c
      type_or_value: "05\t\t\t"
    - item_type: preproc_def
      name: OACK
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-tftp.c
      type_or_value: "06\t\t\t"
    - item_type: preproc_def
      name: EUNDEF
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-tftp.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: ENOTFOUND
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-tftp.c
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: EACCESS
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-tftp.c
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: ENOSPACE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-tftp.c
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: EBADOP
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-tftp.c
      type_or_value: "4\t\t"
    - item_type: preproc_def
      name: EBADID
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-tftp.c
      type_or_value: "5\t\t"
    - item_type: preproc_def
      name: EEXISTS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-tftp.c
      type_or_value: "6\t\t"
    - item_type: preproc_def
      name: ENOUSER
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-tftp.c
      type_or_value: "7\t\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - mpcp_print
  source_file: /src/tcpdump/print-mpcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MPCP_OPCODE_PAUSE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcpdump/print-mpcp.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: MPCP_OPCODE_GATE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/print-mpcp.c
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: MPCP_OPCODE_REPORT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/print-mpcp.c
      type_or_value: '0x0003'
    - item_type: preproc_def
      name: MPCP_OPCODE_REG_REQ
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcpdump/print-mpcp.c
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: MPCP_OPCODE_REG
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/print-mpcp.c
      type_or_value: '0x0005'
    - item_type: preproc_def
      name: MPCP_OPCODE_REG_ACK
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/print-mpcp.c
      type_or_value: '0x0006'
    - item_type: preproc_def
      name: MPCP_GRANT_NUMBER_LEN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-mpcp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MPCP_GRANT_NUMBER_MASK
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-mpcp.c
      type_or_value: '0x7'
    - item_type: preproc_def
      name: MPCP_REPORT_QUEUESETS_LEN
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-mpcp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MPCP_REPORT_REPORTBITMAP_LEN
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-mpcp.c
      type_or_value: '1'
    structs:
    - fields:
      - name: opcode
        type: nd_uint16_t
      - name: timestamp
        type: nd_uint32_t
      item_type: struct
      name: mpcp_common_header_t
      pos:
        line_end: 29
        line_start: 26
        source_file: /src/tcpdump/print-mpcp.c
    - fields:
      - name: starttime
        type: nd_uint32_t
      - name: duration
        type: nd_uint16_t
      item_type: struct
      name: mpcp_grant_t
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/tcpdump/print-mpcp.c
    - fields:
      - name: flags
        type: nd_uint8_t
      - name: pending_grants
        type: nd_uint8_t
      item_type: struct
      name: mpcp_reg_req_t
      pos:
        line_end: 67
        line_start: 64
        source_file: /src/tcpdump/print-mpcp.c
    - fields:
      - name: assigned_port
        type: nd_uint16_t
      - name: flags
        type: nd_uint8_t
      - name: sync_time
        type: nd_uint16_t
      - name: echoed_pending_grants
        type: nd_uint8_t
      item_type: struct
      name: mpcp_reg_t
      pos:
        line_end: 81
        line_start: 76
        source_file: /src/tcpdump/print-mpcp.c
    - fields:
      - name: flags
        type: nd_uint8_t
      - name: echoed_assigned_port
        type: nd_uint16_t
      - name: echoed_sync_time
        type: nd_uint16_t
      item_type: struct
      name: mpcp_reg_ack_t
      pos:
        line_end: 109
        line_start: 105
        source_file: /src/tcpdump/print-mpcp.c
    typedefs: []
    union: []
- function_names:
  - hncp_print
  - is_ipv4_mapped_address
  - format_nid
  - format_256
  - format_interval
  - format_ip6addr
  - print_prefix
  - print_dns_label
  - dhcpv4_print
  - dhcpv6_print
  - is_in_line
  - print_type_in_line
  - hncp_print_rec
  source_file: /src/tcpdump/print-hncp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNCP_REQUEST_NETWORK_STATE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DNCP_REQUEST_NODE_STATE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DNCP_NODE_ENDPOINT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DNCP_NETWORK_STATE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: DNCP_NODE_STATE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: DNCP_PEER
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: DNCP_KEEP_ALIVE_INTERVAL
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: DNCP_TRUST_VERDICT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: HNCP_HNCP_VERSION
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '32'
    - item_type: preproc_def
      name: HNCP_EXTERNAL_CONNECTION
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '33'
    - item_type: preproc_def
      name: HNCP_DELEGATED_PREFIX
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '34'
    - item_type: preproc_def
      name: HNCP_PREFIX_POLICY
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '43'
    - item_type: preproc_def
      name: HNCP_DHCPV4_DATA
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '37 '
    - item_type: preproc_def
      name: HNCP_DHCPV6_DATA
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '38 '
    - item_type: preproc_def
      name: HNCP_ASSIGNED_PREFIX
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '35'
    - item_type: preproc_def
      name: HNCP_NODE_ADDRESS
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '36'
    - item_type: preproc_def
      name: HNCP_DNS_DELEGATED_ZONE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '39'
    - item_type: preproc_def
      name: HNCP_DOMAIN_NAME
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '40'
    - item_type: preproc_def
      name: HNCP_NODE_NAME
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '41'
    - item_type: preproc_def
      name: HNCP_MANAGED_PSK
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '42'
    - item_type: preproc_def
      name: RANGE_DNCP_RESERVED
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '0x10000'
    - item_type: preproc_def
      name: RANGE_HNCP_UNASSIGNED
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '0x10001'
    - item_type: preproc_def
      name: RANGE_DNCP_PRIVATE_USE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '0x10002'
    - item_type: preproc_def
      name: RANGE_DNCP_FUTURE_USE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '0x10003'
    - item_type: preproc_def
      name: DH4OPT_DNS_SERVERS
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '6     '
    - item_type: preproc_def
      name: DH4OPT_NTP_SERVERS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '42    '
    - item_type: preproc_def
      name: DH4OPT_DOMAIN_SEARCH
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '119 '
    - item_type: preproc_def
      name: DH6OPT_DNS_SERVERS
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '23   '
    - item_type: preproc_def
      name: DH6OPT_DOMAIN_LIST
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '24   '
    - item_type: preproc_def
      name: DH6OPT_SNTP_SERVERS
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '31  '
    - item_type: preproc_def
      name: IPV4_MAPPED_HEADING_LEN
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-hncp.c
      type_or_value: '12'
    structs: []
    typedefs: []
    union: []
- function_names:
  - win32_gethostbyaddr
  - intoa
  - ipaddr_string
  - ip6addr_string
  - octet_to_hex
  - lookup_emem
  - lookup_bytestring
  - lookup_nsap
  - lookup_protoid
  - mac48_string
  - eui64_string
  - eui64le_string
  - linkaddr_string
  - isonsap_string
  - tcpport_string
  - udpport_string
  - ipxsap_string
  - init_servarray
  - init_eprotoarray
  - init_protoidarray
  - init_etherarray
  - init_ipxsaparray
  - init_addrtoname
  - dnaddr_string
  - newhnamemem
  - newh6namemem
  - ieee8021q_tci_string
  source_file: /src/tcpdump/addrtoname.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HASHNAMESIZE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/addrtoname.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: gethostbyaddr
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/addrtoname.c
      type_or_value: win32_gethostbyaddr
    - item_type: preproc_def
      name: ISONSAP_MAX_LENGTH
      pos:
        line_end: 709
        line_start: 708
        source_file: /src/tcpdump/addrtoname.c
      type_or_value: '20'
    structs:
    - fields:
      - name: ether_addr_octet[MAC48_LEN]
        type: unsigned char
      item_type: struct
      name: ether_addr
      pos:
        line_end: 72
        line_start: 69
        source_file: /src/tcpdump/addrtoname.c
    - fields:
      - name: addr
        type: uint32_t
      - name: '*name'
        type: char
      - name: '*nxt'
        type: struct hnamemem
      item_type: struct
      name: hnamemem
      pos:
        line_end: 119
        line_start: 115
        source_file: /src/tcpdump/addrtoname.c
    - fields:
      - name: addr
        type: nd_ipv6
      - name: '*name'
        type: char
      - name: '*nxt'
        type: struct h6namemem
      item_type: struct
      name: h6namemem
      pos:
        line_end: 175
        line_start: 171
        source_file: /src/tcpdump/addrtoname.c
    - fields:
      - name: e_addr0
        type: u_short
      - name: e_addr1
        type: u_short
      - name: e_addr2
        type: u_short
      - name: '*e_name'
        type: char
      - name: '*e_nsap'
        type: u_char
      - name: '*e_nxt'
        type: struct enamemem
      item_type: struct
      name: enamemem
      pos:
        line_end: 186
        line_start: 179
        source_file: /src/tcpdump/addrtoname.c
    - fields:
      - name: bs_addr0
        type: u_short
      - name: bs_addr1
        type: u_short
      - name: bs_addr2
        type: u_short
      - name: '*bs_name'
        type: char
      - name: '*bs_bytes'
        type: u_char
      - name: bs_nbytes
        type: unsigned int
      - name: '*bs_nxt'
        type: struct bsnamemem
      item_type: struct
      name: bsnamemem
      pos:
        line_end: 199
        line_start: 191
        source_file: /src/tcpdump/addrtoname.c
    - fields:
      - name: p_oui
        type: uint32_t
      - name: p_proto
        type: u_short
      - name: '*p_name'
        type: char
      - name: '*p_nxt'
        type: struct protoidmem
      item_type: struct
      name: protoidmem
      pos:
        line_end: 208
        line_start: 203
        source_file: /src/tcpdump/addrtoname.c
    - fields:
      - name: fill[14]
        type: char
      - name: d
        type: uint16_t
      item_type: struct
      name: for_hash_addr
      pos:
        line_end: 338
        line_start: 335
        source_file: /src/tcpdump/addrtoname.c
    - fields:
      - name: '*s'
        type: char
      - name: p
        type: u_short
      item_type: struct
      name: eproto
      pos:
        line_end: 851
        line_start: 848
        source_file: /src/tcpdump/addrtoname.c
    - fields:
      - name: protoid[5]
        type: u_char
      - name: '*name'
        type: char
      item_type: struct
      name: protoidlist
      pos:
        line_end: 887
        line_start: 884
        source_file: /src/tcpdump/addrtoname.c
    - fields:
      - name: addr
        type: nd_mac48
      - name: '*name'
        type: char
      item_type: struct
      name: etherlist
      pos:
        line_end: 935
        line_start: 932
        source_file: /src/tcpdump/addrtoname.c
    - fields:
      - name: v
        type: uint16_t
      - name: '*s'
        type: char
      item_type: struct
      name: ipxsap_ent
      pos:
        line_end: 1008
        line_start: 1005
        source_file: /src/tcpdump/addrtoname.c
    typedefs: []
    union:
    - fields:
      - name: addr
        type: nd_ipv6
      - name: addra
        type: "struct for_hash_addr {\n\t\t\tchar fill[14];\n\t\t\tuint16_t d;\n\t\t}"
      item_type: union
      name: addr
      pos:
        line_end: 339
        line_start: 333
        source_file: /src/tcpdump/addrtoname.c
- function_names:
  - nfsaddr_print
  - parse_sattr3
  - print_sattr3
  - nfsreply_print
  - nfsreply_noaddr_print
  - parsereq
  - parsefh
  - parsefn
  - parsefhn
  - nfsreq_noaddr_print
  - nfs_printfh
  - xid_map_enter
  - xid_map_find
  - parserep
  - parsestatus
  - parsefattr
  - parseattrstat
  - parsediropres
  - parselinkres
  - parsestatfs
  - parserddires
  - parse_wcc_attr
  - parse_pre_op_attr
  - parse_post_op_attr
  - parse_wcc_data
  - parsecreateopres
  - parsewccres
  - parsev3rddirres
  - parsefsinfo
  - parsepathconf
  - interp_reply
  source_file: /src/tcpdump/print-nfs.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XIDMAPSIZE
      pos:
        line_end: 943
        line_start: 942
        source_file: /src/tcpdump/print-nfs.c
      type_or_value: '64'
    structs:
    - fields:
      - name: sa_modeset
        type: uint32_t
      - name: sa_mode
        type: uint32_t
      - name: sa_uidset
        type: uint32_t
      - name: sa_uid
        type: uint32_t
      - name: sa_gidset
        type: uint32_t
      - name: sa_gid
        type: uint32_t
      - name: sa_sizeset
        type: uint32_t
      - name: sa_size
        type: uint32_t
      - name: sa_atimetype
        type: uint32_t
      - name: sa_atime
        type: "struct {\n\t\tuint32_t nfsv3_sec;\n\t\tuint32_t nfsv3_nsec;\n\t}"
      - name: sa_mtimetype
        type: uint32_t
      - name: sa_mtime
        type: "struct {\n\t\tuint32_t nfsv3_sec;\n\t\tuint32_t nfsv3_nsec;\n\t}"
      item_type: struct
      name: nfsv3_sattr
      pos:
        line_end: 254
        line_start: 235
        source_file: /src/tcpdump/print-nfs.c
    - fields:
      - name: xid
        type: uint32_t
      - name: ipver
        type: int
      - name: client
        type: nd_ipv6
      - name: server
        type: nd_ipv6
      - name: proc
        type: uint32_t
      - name: vers
        type: uint32_t
      item_type: struct
      name: xid_map_entry
      pos:
        line_end: 934
        line_start: 927
        source_file: /src/tcpdump/print-nfs.c
    typedefs: []
    union: []
- function_names:
  - vqp_print
  source_file: /src/tcpdump/print-vqp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VQP_VERSION
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/tcpdump/print-vqp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: VQP_OBJ_REQ_JOIN_PORT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-vqp.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: VQP_OBJ_RESP_VLAN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-vqp.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: VQP_OBJ_REQ_RECONFIRM
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-vqp.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: VQP_OBJ_RESP_RECONFIRM
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-vqp.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: VQP_OBJ_IP_ADDRESS
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-vqp.c
      type_or_value: '0x0c01'
    - item_type: preproc_def
      name: VQP_OBJ_PORT_NAME
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-vqp.c
      type_or_value: '0x0c02'
    - item_type: preproc_def
      name: VQP_OBJ_VLAN_NAME
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-vqp.c
      type_or_value: '0x0c03'
    - item_type: preproc_def
      name: VQP_OBJ_VTP_DOMAIN
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-vqp.c
      type_or_value: '0x0c04'
    - item_type: preproc_def
      name: VQP_OBJ_ETHERNET_PKT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-vqp.c
      type_or_value: '0x0c05'
    - item_type: preproc_def
      name: VQP_OBJ_MAC_NULL
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-vqp.c
      type_or_value: '0x0c06'
    - item_type: preproc_def
      name: VQP_OBJ_MAC_ADDRESS
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-vqp.c
      type_or_value: '0x0c08'
    structs:
    - fields:
      - name: version
        type: nd_uint8_t
      - name: msg_type
        type: nd_uint8_t
      - name: error_code
        type: nd_uint8_t
      - name: nitems
        type: nd_uint8_t
      - name: sequence
        type: nd_uint32_t
      item_type: struct
      name: vqp_common_header_t
      pos:
        line_end: 48
        line_start: 42
        source_file: /src/tcpdump/print-vqp.c
    - fields:
      - name: obj_type
        type: nd_uint32_t
      - name: obj_length
        type: nd_uint16_t
      item_type: struct
      name: vqp_obj_tlv_t
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/tcpdump/print-vqp.c
    typedefs: []
    union: []
- function_names:
  - ascii_strcasecmp
  - ascii_strncasecmp
  source_file: /src/tcpdump/ascii_strcasecmp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/gmpls.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GMPLS_PSC1
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/tcpdump/gmpls.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GMPLS_PSC2
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/tcpdump/gmpls.h
      type_or_value: '2'
    - item_type: preproc_def
      name: GMPLS_PSC3
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/tcpdump/gmpls.h
      type_or_value: '3'
    - item_type: preproc_def
      name: GMPLS_PSC4
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/tcpdump/gmpls.h
      type_or_value: '4'
    - item_type: preproc_def
      name: GMPLS_L2SC
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/tcpdump/gmpls.h
      type_or_value: '51'
    - item_type: preproc_def
      name: GMPLS_TSC
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/tcpdump/gmpls.h
      type_or_value: '100'
    - item_type: preproc_def
      name: GMPLS_LSC
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/tcpdump/gmpls.h
      type_or_value: '150'
    - item_type: preproc_def
      name: GMPLS_FSC
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/tcpdump/gmpls.h
      type_or_value: '200'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ar_sha
  - ar_spa
  - ar_tha
  - ar_tpa
  - HRD
  - HRD_LEN
  - PROTO_LEN
  - OP
  - PRO
  - SHA
  - SPA
  - THA
  - TPA
  - ATMHRD
  - ATMSHRD_LEN
  - ATMSSLN
  - ATMSPROTO_LEN
  - ATMOP
  - ATMPRO
  - ATMTHRD_LEN
  - ATMTSLN
  - ATMTPROTO_LEN
  - aar_sha
  - aar_ssa
  - aar_spa
  - aar_tha
  - aar_tsa
  - aar_tpa
  - ATMSHA
  - ATMSSA
  - ATMSPA
  - ATMTHA
  - ATMTSA
  - ATMTPA
  - isnonzero
  - tpaddr_print_ip
  - spaddr_print_ip
  - atmarp_addr_print
  - atmarp_tpaddr_print
  - atmarp_spaddr_print
  - atmarp_print
  - arp_print
  source_file: /src/tcpdump/print-arp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARPHRD_ETHER
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '1       '
    - item_type: preproc_def
      name: ARPHRD_IEEE802
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '6       '
    - item_type: preproc_def
      name: ARPHRD_ARCNET
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '7       '
    - item_type: preproc_def
      name: ARPHRD_FRELAY
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '15      '
    - item_type: preproc_def
      name: ARPHRD_ATM2225
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '19      '
    - item_type: preproc_def
      name: ARPHRD_STRIP
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '23      '
    - item_type: preproc_def
      name: ARPHRD_IEEE1394
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '24      '
    - item_type: preproc_def
      name: ARPHRD_INFINIBAND
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '32    '
    - item_type: preproc_def
      name: ARPOP_REQUEST
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '1       '
    - item_type: preproc_def
      name: ARPOP_REPLY
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '2       '
    - item_type: preproc_def
      name: ARPOP_REVREQUEST
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '3      '
    - item_type: preproc_def
      name: ARPOP_REVREPLY
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '4       '
    - item_type: preproc_def
      name: ARPOP_INVREQUEST
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '8      '
    - item_type: preproc_def
      name: ARPOP_INVREPLY
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '9       '
    - item_type: preproc_def
      name: ARPOP_NAK
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '10      '
    - item_type: preproc_def
      name: ARP_HDRLEN
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: ATMARP_IS_E164
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '0x40    '
    - item_type: preproc_def
      name: ATMARP_LEN_MASK
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-arp.c
      type_or_value: '0x3F    '
    structs:
    - fields:
      - name: ar_hrd
        type: nd_uint16_t
      - name: ar_pro
        type: nd_uint16_t
      - name: ar_hln
        type: nd_uint8_t
      - name: ar_pln
        type: nd_uint8_t
      - name: ar_op
        type: nd_uint16_t
      item_type: struct
      name: arp_pkthdr
      pos:
        line_end: 80
        line_start: 44
        source_file: /src/tcpdump/print-arp.c
    - fields:
      - name: aar_hrd
        type: nd_uint16_t
      - name: aar_pro
        type: nd_uint16_t
      - name: aar_shtl
        type: nd_uint8_t
      - name: aar_sstl
        type: nd_uint8_t
      - name: aar_op
        type: nd_uint16_t
      - name: aar_spln
        type: nd_uint8_t
      - name: aar_thtl
        type: nd_uint8_t
      - name: aar_tstl
        type: nd_uint8_t
      - name: aar_tpln
        type: nd_uint8_t
      item_type: struct
      name: atmarp_pkthdr
      pos:
        line_end: 167
        line_start: 127
        source_file: /src/tcpdump/print-arp.c
    typedefs: []
    union: []
- function_names:
  - calm_fast_print
  source_file: /src/tcpdump/print-calm-fast.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/af.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/ospf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OSPF_TYPE_HELLO
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/tcpdump/ospf.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: OSPF_TYPE_DD
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/tcpdump/ospf.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: OSPF_TYPE_LS_REQ
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/tcpdump/ospf.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: OSPF_TYPE_LS_UPDATE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/tcpdump/ospf.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: OSPF_TYPE_LS_ACK
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/tcpdump/ospf.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: OSPF_OPTION_MT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/ospf.h
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: OSPF_OPTION_E
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/ospf.h
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: OSPF_OPTION_MC
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/ospf.h
      type_or_value: "0x04\t"
    - item_type: preproc_def
      name: OSPF_OPTION_NP
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/ospf.h
      type_or_value: "0x08\t"
    - item_type: preproc_def
      name: OSPF_OPTION_L
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/ospf.h
      type_or_value: "0x10\t"
    - item_type: preproc_def
      name: OSPF_OPTION_DC
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/ospf.h
      type_or_value: "0x20\t"
    - item_type: preproc_def
      name: OSPF_OPTION_O
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/ospf.h
      type_or_value: "0x40\t"
    - item_type: preproc_def
      name: OSPF_OPTION_DN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/ospf.h
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: OSPF_AUTH_NONE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/ospf.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: OSPF_AUTH_SIMPLE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/ospf.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: OSPF_AUTH_SIMPLE_LEN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/ospf.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: OSPF_AUTH_MD5
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/ospf.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: OSPF_AUTH_MD5_LEN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/ospf.h
      type_or_value: "16\t"
    - item_type: preproc_def
      name: OSPF_DB_INIT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: OSPF_DB_MORE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: OSPF_DB_MASTER
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: OSPF_DB_RESYNC
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x08  '
    - item_type: preproc_def
      name: LS_TYPE_ROUTER
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/ospf.h
      type_or_value: '1   '
    - item_type: preproc_def
      name: LS_TYPE_NETWORK
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/ospf.h
      type_or_value: '2   '
    - item_type: preproc_def
      name: LS_TYPE_SUM_IP
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/ospf.h
      type_or_value: '3   '
    - item_type: preproc_def
      name: LS_TYPE_SUM_ABR
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/ospf.h
      type_or_value: '4   '
    - item_type: preproc_def
      name: LS_TYPE_ASE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/ospf.h
      type_or_value: '5   '
    - item_type: preproc_def
      name: LS_TYPE_GROUP
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/ospf.h
      type_or_value: '6   '
    - item_type: preproc_def
      name: LS_TYPE_NSSA
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/ospf.h
      type_or_value: '7   '
    - item_type: preproc_def
      name: LS_TYPE_OPAQUE_LL
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/ospf.h
      type_or_value: '9   '
    - item_type: preproc_def
      name: LS_TYPE_OPAQUE_AL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/ospf.h
      type_or_value: '10   '
    - item_type: preproc_def
      name: LS_TYPE_OPAQUE_DW
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/ospf.h
      type_or_value: '11   '
    - item_type: preproc_def
      name: LS_OPAQUE_TYPE_TE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/ospf.h
      type_or_value: '1   '
    - item_type: preproc_def
      name: LS_OPAQUE_TYPE_GRACE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/ospf.h
      type_or_value: '3   '
    - item_type: preproc_def
      name: LS_OPAQUE_TYPE_RI
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/ospf.h
      type_or_value: '4   '
    - item_type: preproc_def
      name: LS_OPAQUE_TYPE_EP
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/ospf.h
      type_or_value: '7   '
    - item_type: preproc_def
      name: LS_OPAQUE_TYPE_EL
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/ospf.h
      type_or_value: '8   '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_TLV_ROUTER
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/ospf.h
      type_or_value: '1   '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_TLV_LINK
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/ospf.h
      type_or_value: '2   '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_LINK_TYPE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/ospf.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_LINK_ID
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/ospf.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_LOCAL_IP
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/ospf.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_REMOTE_IP
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/ospf.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_TE_METRIC
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/ospf.h
      type_or_value: '5 '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_MAX_BW
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/ospf.h
      type_or_value: '6 '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_MAX_RES_BW
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/ospf.h
      type_or_value: '7 '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_UNRES_BW
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/ospf.h
      type_or_value: '8 '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_ADMIN_GROUP
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/ospf.h
      type_or_value: '9 '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_LINK_LOCAL_REMOTE_ID
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/ospf.h
      type_or_value: '11 '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_LINK_PROTECTION_TYPE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/ospf.h
      type_or_value: '14 '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_INTF_SW_CAP_DESCR
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/ospf.h
      type_or_value: '15 '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_SHARED_RISK_GROUP
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/ospf.h
      type_or_value: '16 '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_BW_CONSTRAINTS
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/ospf.h
      type_or_value: '17 '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_LINK_TYPE_PTP
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/ospf.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: LS_OPAQUE_TE_LINK_SUBTLV_LINK_TYPE_MA
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/ospf.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: LS_OPAQUE_RI_SUBTLV_SID_LABEL
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/ospf.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: LS_OPAQUE_EP_EXTD_PREFIX_TLV
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/ospf.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: LS_OPAQUE_EP_EXTD_PREFIX_RANGE_TLV
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/ospf.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: LS_OPAQUE_EP_SUBTLV_PREFIX_SID
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/ospf.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: LS_OPAQUE_GRACE_TLV_PERIOD
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/ospf.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: LS_OPAQUE_GRACE_TLV_REASON
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/ospf.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: LS_OPAQUE_GRACE_TLV_INT_ADDRESS
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/ospf.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: LS_OPAQUE_GRACE_TLV_REASON_UNKNOWN
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: LS_OPAQUE_GRACE_TLV_REASON_SW_RESTART
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/ospf.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: LS_OPAQUE_GRACE_TLV_REASON_SW_UPGRADE
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/ospf.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: LS_OPAQUE_GRACE_TLV_REASON_CP_SWITCH
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/ospf.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: LS_OPAQUE_RI_TLV_CAP
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/ospf.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: LS_OPAQUE_RI_TLV_HOSTNAME
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/ospf.h
      type_or_value: '7 '
    - item_type: preproc_def
      name: LS_OPAQUE_RI_TLV_SR_ALGO
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/ospf.h
      type_or_value: '8 '
    - item_type: preproc_def
      name: LS_OPAQUE_RI_TLV_SID_LABEL_RANGE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/ospf.h
      type_or_value: '9 '
    - item_type: preproc_def
      name: LS_OPAQUE_RI_TLV_SR_LOCAL_BLOCK
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/ospf.h
      type_or_value: '14 '
    - item_type: preproc_def
      name: LS_OPAQUE_RI_TLV_SRMS_PREFERENCE
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/ospf.h
      type_or_value: '15 '
    - item_type: preproc_def
      name: RLA_TYPE_ROUTER
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/ospf.h
      type_or_value: '1   '
    - item_type: preproc_def
      name: RLA_TYPE_TRANSIT
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/ospf.h
      type_or_value: '2   '
    - item_type: preproc_def
      name: RLA_TYPE_STUB
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/ospf.h
      type_or_value: '3   '
    - item_type: preproc_def
      name: RLA_TYPE_VIRTUAL
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/ospf.h
      type_or_value: '4   '
    - item_type: preproc_def
      name: RLA_FLAG_B
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: RLA_FLAG_E
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: RLA_FLAG_V
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: RLA_FLAG_W
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: RLA_FLAG_NT
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: RLA_FLAG_H
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: SLA_MASK_TOS
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x7f000000'
    - item_type: preproc_def
      name: SLA_MASK_METRIC
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x00ffffff'
    - item_type: preproc_def
      name: SLA_SHIFT_TOS
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/ospf.h
      type_or_value: '24'
    - item_type: preproc_def
      name: ASLA_FLAG_EXTERNAL
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x80000000'
    - item_type: preproc_def
      name: ASLA_MASK_TOS
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x7f000000'
    - item_type: preproc_def
      name: ASLA_SHIFT_TOS
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/ospf.h
      type_or_value: '24'
    - item_type: preproc_def
      name: ASLA_MASK_METRIC
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/ospf.h
      type_or_value: '0x00ffffff'
    - item_type: preproc_def
      name: MCLA_VERTEX_ROUTER
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/ospf.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MCLA_VERTEX_NETWORK
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/ospf.h
      type_or_value: '2'
    - item_type: preproc_def
      name: OSPF_LLS_HDRLEN
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/ospf.h
      type_or_value: '4U '
    - item_type: preproc_def
      name: OSPF_LLS_EO
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/ospf.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: OSPF_LLS_MD5
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/ospf.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: OSPF_LLS_EO_LR
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/ospf.h
      type_or_value: "0x00000001\t\t"
    - item_type: preproc_def
      name: OSPF_LLS_EO_RS
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/ospf.h
      type_or_value: "0x00000002\t\t"
    - item_type: preproc_def
      name: OSPF_AUTH_SIZE
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/tcpdump/ospf.h
      type_or_value: '8'
    - item_type: preproc_def
      name: OSPF_HDR_LEN
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/tcpdump/ospf.h
      type_or_value: '24 '
    - item_type: preproc_def
      name: ospf_hello
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/tcpdump/ospf.h
      type_or_value: ospf_un.un_hello
    - item_type: preproc_def
      name: ospf_db
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/tcpdump/ospf.h
      type_or_value: ospf_un.un_db
    - item_type: preproc_def
      name: ospf_lsr
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/tcpdump/ospf.h
      type_or_value: ospf_un.un_lsr
    - item_type: preproc_def
      name: ospf_lsu
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/tcpdump/ospf.h
      type_or_value: ospf_un.un_lsu
    - item_type: preproc_def
      name: ospf_lsa
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/tcpdump/ospf.h
      type_or_value: ospf_un.un_lsa
    structs:
    - fields:
      - name: tos_type
        type: nd_uint8_t
      - name: reserved
        type: nd_uint8_t
      - name: tos_metric
        type: nd_uint16_t
      item_type: struct
      name: tos_metric
      pos:
        line_end: 165
        line_start: 161
        source_file: /src/tcpdump/ospf.h
    - fields:
      - name: link_type
        type: nd_uint8_t
      - name: link_tos_count
        type: nd_uint8_t
      - name: tos_metric
        type: nd_uint16_t
      item_type: struct
      name: tos_link
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/tcpdump/ospf.h
    - fields:
      - name: ls_age
        type: nd_uint16_t
      - name: ls_options
        type: nd_uint8_t
      - name: ls_type
        type: nd_uint8_t
      - name: un_lsa_id
        type: "union {\n        nd_ipv4 lsa_id;\n        struct { /* opaque LSAs change
          the LSA-ID field */\n            nd_uint8_t  opaque_type;\n            nd_uint24_t
          opaque_id;\n\t} opaque_field;\n    }"
      - name: ls_router
        type: nd_ipv4
      - name: ls_seq
        type: nd_uint32_t
      - name: ls_chksum
        type: nd_uint16_t
      - name: ls_length
        type: nd_uint16_t
      item_type: struct
      name: lsa_hdr
      pos:
        line_end: 192
        line_start: 177
        source_file: /src/tcpdump/ospf.h
    - fields:
      - name: ls_hdr
        type: struct lsa_hdr
      - name: lsa_un
        type: "union {\n\t/* Router links advertisements */\n\tstruct {\n\t    nd_uint8_t
          \ rla_flags;\n\t    nd_byte     rla_zero;\n\t    nd_uint16_t rla_count;\n\t
          \   struct rlalink {\n\t\tnd_ipv4 link_id;\n\t\tnd_ipv4 link_data;\n                union
          un_tos un_tos;\n\t    } rla_link[1];\t\t/* may repeat\t*/\n\t} un_rla;\n\n\t/*
          Network links advertisements */\n\tstruct {\n\t    nd_ipv4 nla_mask;\n\t
          \   nd_ipv4 nla_router[1];\t/* may repeat\t*/\n\t} un_nla;\n\n\t/* Summary
          links advertisements */\n\tstruct {\n\t    nd_ipv4     sla_mask;\n\t    nd_uint32_t
          sla_tosmetric[1];\t/* may repeat\t*/\n\t} un_sla;\n\n\t/* AS external links
          advertisements */\n\tstruct {\n\t    nd_ipv4 asla_mask;\n\t    struct aslametric
          {\n\t\tnd_uint32_t asla_tosmetric;\n\t\tnd_ipv4     asla_forward;\n\t\tnd_ipv4
          \    asla_tag;\n\t    } asla_metric[1];\t\t/* may repeat\t*/\n\t} un_asla;\n\n\t/*
          Multicast group membership */\n\tstruct mcla {\n\t    nd_uint32_t mcla_vtype;\n\t
          \   nd_ipv4     mcla_vid;\n\t} un_mcla[1];\n\n        /* Opaque TE LSA */\n
          \       struct {\n\t    nd_uint16_t type;\n\t    nd_uint16_t length;\n\t
          \   nd_byte     data[1]; /* may repeat   */\n\t} un_te_lsa_tlv[1]; /* may
          repeat */\n\n        /* Opaque Grace LSA */\n        struct {\n\t    nd_uint16_t
          type;\n\t    nd_uint16_t length;\n\t    nd_byte     data[1]; /* may repeat
          \  */\n\t} un_grace_tlv[1]; /* may repeat */\n\n        /* Opaque Router
          information LSA */\n        struct {\n\t    nd_uint16_t type;\n\t    nd_uint16_t
          length;\n\t    nd_byte     data[1]; /* may repeat   */\n\t} un_ri_tlv[1];
          /* may repeat */\n\n        /* Extended Prefix LSA */\n        struct {\n\t
          \   nd_uint16_t type;\n\t    nd_uint16_t length;\n\t    nd_byte     data[1];
          /* may repeat   */\n\t} un_ep_tlv[1]; /* may repeat */\n\n        /* Unknown
          LSA */\n        struct unknown {\n\t    nd_byte data[1]; /* may repeat   */\n\t}
          un_unknown[1];\n\n    }"
      item_type: struct
      name: lsa
      pos:
        line_end: 274
        line_start: 195
        source_file: /src/tcpdump/ospf.h
    - fields:
      - name: link_id
        type: nd_ipv4
      - name: link_data
        type: nd_ipv4
      - name: un_tos
        type: union un_tos
      item_type: struct
      name: rlalink
      pos:
        line_end: 209
        line_start: 205
        source_file: /src/tcpdump/ospf.h
    - fields:
      - name: asla_tosmetric
        type: nd_uint32_t
      - name: asla_forward
        type: nd_ipv4
      - name: asla_tag
        type: nd_ipv4
      item_type: struct
      name: aslametric
      pos:
        line_end: 231
        line_start: 227
        source_file: /src/tcpdump/ospf.h
    - fields:
      - name: mcla_vtype
        type: nd_uint32_t
      - name: mcla_vid
        type: nd_ipv4
      item_type: struct
      name: mcla
      pos:
        line_end: 238
        line_start: 235
        source_file: /src/tcpdump/ospf.h
    - fields:
      - name: data[1]
        type: nd_byte
      item_type: struct
      name: unknown
      pos:
        line_end: 271
        line_start: 269
        source_file: /src/tcpdump/ospf.h
    - fields:
      - name: ospf_version
        type: nd_uint8_t
      - name: ospf_type
        type: nd_uint8_t
      - name: ospf_len
        type: nd_uint16_t
      - name: ospf_routerid
        type: nd_ipv4
      - name: ospf_areaid
        type: nd_ipv4
      - name: ospf_chksum
        type: nd_uint16_t
      - name: ospf_authtype
        type: nd_uint16_t
      - name: ospf_authdata[OSPF_AUTH_SIZE]
        type: nd_byte
      - name: ospf_un
        type: "union {\n\n\t/* Hello packet */\n\tstruct {\n\t    nd_ipv4     hello_mask;\n\t
          \   nd_uint16_t hello_helloint;\n\t    nd_uint8_t  hello_options;\n\t    nd_uint8_t
          \ hello_priority;\n\t    nd_uint32_t hello_deadint;\n\t    nd_ipv4     hello_dr;\n\t
          \   nd_ipv4     hello_bdr;\n\t    nd_ipv4     hello_neighbor[1]; /* may
          repeat\t*/\n\t} un_hello;\n\n\t/* Database Description packet */\n\tstruct
          {\n\t    nd_uint16_t db_ifmtu;\n\t    nd_uint8_t  db_options;\n\t    nd_uint8_t
          \ db_flags;\n\t    nd_uint32_t db_seq;\n\t    struct lsa_hdr db_lshdr[1];
          /* may repeat\t*/\n\t} un_db;\n\n\t/* Link State Request */\n\tstruct lsr
          {\n\t    nd_uint32_t ls_type;\n            union {\n                nd_ipv4
          ls_stateid;\n                struct { /* opaque LSAs change the LSA-ID field
          */\n                    nd_uint8_t  opaque_type;\n                    nd_uint24_t
          opaque_id;\n                } opaque_field;\n            } un_ls_stateid;\n\t
          \   nd_ipv4 ls_router;\n\t} un_lsr[1];\t\t/* may repeat\t*/\n\n\t/* Link
          State Update */\n\tstruct {\n\t    nd_uint32_t lsu_count;\n\t    struct
          lsa  lsu_lsa[1]; /* may repeat\t*/\n\t} un_lsu;\n\n\t/* Link State Acknowledgement
          */\n\tstruct {\n\t    struct lsa_hdr lsa_lshdr[1]; /* may repeat\t*/\n\t}
          un_lsa ;\n    }"
      item_type: struct
      name: ospfhdr
      pos:
        line_end: 338
        line_start: 282
        source_file: /src/tcpdump/ospf.h
    - fields:
      - name: ls_type
        type: nd_uint32_t
      - name: un_ls_stateid
        type: "union {\n                nd_ipv4 ls_stateid;\n                struct
          { /* opaque LSAs change the LSA-ID field */\n                    nd_uint8_t
          \ opaque_type;\n                    nd_uint24_t opaque_id;\n                }
          opaque_field;\n            }"
      - name: ls_router
        type: nd_ipv4
      item_type: struct
      name: lsr
      pos:
        line_end: 325
        line_start: 315
        source_file: /src/tcpdump/ospf.h
    typedefs: []
    union:
    - fields:
      - name: link
        type: struct tos_link
      - name: metrics
        type: struct tos_metric
      item_type: union
      name: un_tos
      pos:
        line_end: 174
        line_start: 171
        source_file: /src/tcpdump/ospf.h
- function_names:
  - cdp_print_string
  - cdp_print_power
  - cdp_print_capability
  - cdp_print_version
  - cdp_print_uint16
  - cdp_print_duplex
  - cdp_print_ata186
  - cdp_print_mtu
  - cdp_print_uint8x
  - cdp_print_phys_loc
  - cdp_print_power_avail
  - cdp_print
  - cdp_print_addr
  - cdp_print_prefixes
  source_file: /src/tcpdump/print-cdp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CDP_HEADER_LEN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-cdp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: CDP_HEADER_VERSION_OFFSET
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-cdp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CDP_HEADER_TTL_OFFSET
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-cdp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CDP_HEADER_CHECKSUM_OFFSET
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-cdp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CDP_TLV_HEADER_LEN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-cdp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: CDP_TLV_TYPE_OFFSET
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-cdp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CDP_TLV_LEN_OFFSET
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-cdp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: T_MAX
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/tcpdump/print-cdp.c
      type_or_value: (sizeof cdptlvs / sizeof cdptlvs[0])
    - item_type: preproc_def
      name: PT_NLPID
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/tcpdump/print-cdp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: PT_IEEE_802_2
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/tcpdump/print-cdp.c
      type_or_value: "2\t"
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*printer)(netdissect_options *ndo, const u_char *, u_int)
        type: void
      - name: when_to_print
        type: when_to_print_t
      - name: min_len
        type: int
      item_type: struct
      name: cdp_tlvinfo
      pos:
        line_end: 208
        line_start: 203
        source_file: /src/tcpdump/print-cdp.c
    typedefs: []
    union: []
- function_names:
  - srh_tlv_print
  - rt6_print
  source_file: /src/tcpdump/print-rt6.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_q922_header
  - q922_string
  - fr_hdr_print
  - fr_if_print
  - fr_print
  - mfr_if_print
  - mfr_print
  - frf15_print
  - IE_IS_SINGLE_OCTET
  - IE_IS_SHIFT
  - IE_SHIFT_IS_NON_LOCKING
  - IE_SHIFT_IS_LOCKING
  - IE_SHIFT_CODESET
  - q933_print
  - fr_q933_print_ie_codeset_0_5
  source_file: /src/tcpdump/print-fr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FR_EA_BIT
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: FR_CR_BIT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x02000000'
    - item_type: preproc_def
      name: FR_DE_BIT
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x00020000'
    - item_type: preproc_def
      name: FR_BECN_BIT
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x00040000'
    - item_type: preproc_def
      name: FR_FECN_BIT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x00080000'
    - item_type: preproc_def
      name: FR_SDLC_BIT
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: MFR_B_BIT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: MFR_E_BIT
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: MFR_C_BIT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: MFR_BEC_MASK
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-fr.c
      type_or_value: (MFR_B_BIT | MFR_E_BIT | MFR_C_BIT)
    - item_type: preproc_def
      name: MFR_CTRL_FRAME
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-fr.c
      type_or_value: (MFR_B_BIT | MFR_E_BIT | MFR_C_BIT)
    - item_type: preproc_def
      name: MFR_FRAG_FRAME
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-fr.c
      type_or_value: (MFR_B_BIT | MFR_E_BIT )
    - item_type: preproc_def
      name: MFR_CTRL_MSG_ADD_LINK
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MFR_CTRL_MSG_ADD_LINK_ACK
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MFR_CTRL_MSG_ADD_LINK_REJ
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MFR_CTRL_MSG_HELLO
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MFR_CTRL_MSG_HELLO_ACK
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MFR_CTRL_MSG_REMOVE_LINK
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '6'
    - item_type: preproc_def
      name: MFR_CTRL_MSG_REMOVE_LINK_ACK
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '7'
    - item_type: preproc_def
      name: MFR_CTRL_IE_BUNDLE_ID
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MFR_CTRL_IE_LINK_ID
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MFR_CTRL_IE_MAGIC_NUM
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MFR_CTRL_IE_TIMESTAMP
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MFR_CTRL_IE_VENDOR_EXT
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '6'
    - item_type: preproc_def
      name: MFR_CTRL_IE_CAUSE
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '7'
    - item_type: preproc_def
      name: MFR_ID_STRING_MAXLEN
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '50'
    - item_type: preproc_def
      name: FR_FRF15_FRAGTYPE
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: MSG_TYPE_ESC_TO_NATIONAL
      pos:
        line_end: 678
        line_start: 677
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: MSG_TYPE_ALERT
      pos:
        line_end: 679
        line_start: 678
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: MSG_TYPE_CALL_PROCEEDING
      pos:
        line_end: 680
        line_start: 679
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: MSG_TYPE_CONNECT
      pos:
        line_end: 681
        line_start: 680
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: MSG_TYPE_CONNECT_ACK
      pos:
        line_end: 682
        line_start: 681
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x0F'
    - item_type: preproc_def
      name: MSG_TYPE_PROGRESS
      pos:
        line_end: 683
        line_start: 682
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: MSG_TYPE_SETUP
      pos:
        line_end: 684
        line_start: 683
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: MSG_TYPE_DISCONNECT
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x45'
    - item_type: preproc_def
      name: MSG_TYPE_RELEASE
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x4D'
    - item_type: preproc_def
      name: MSG_TYPE_RELEASE_COMPLETE
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x5A'
    - item_type: preproc_def
      name: MSG_TYPE_RESTART
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x46'
    - item_type: preproc_def
      name: MSG_TYPE_RESTART_ACK
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x4E'
    - item_type: preproc_def
      name: MSG_TYPE_STATUS
      pos:
        line_end: 692
        line_start: 691
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x7D'
    - item_type: preproc_def
      name: MSG_TYPE_STATUS_ENQ
      pos:
        line_end: 693
        line_start: 692
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x75'
    - item_type: preproc_def
      name: FR_LMI_ANSI_REPORT_TYPE_IE
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: FR_LMI_ANSI_LINK_VERIFY_IE_91
      pos:
        line_end: 720
        line_start: 719
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x19 '
    - item_type: preproc_def
      name: FR_LMI_ANSI_LINK_VERIFY_IE
      pos:
        line_end: 721
        line_start: 720
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: FR_LMI_ANSI_PVC_STATUS_IE
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: FR_LMI_CCITT_REPORT_TYPE_IE
      pos:
        line_end: 724
        line_start: 723
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x51'
    - item_type: preproc_def
      name: FR_LMI_CCITT_LINK_VERIFY_IE
      pos:
        line_end: 725
        line_start: 724
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x53'
    - item_type: preproc_def
      name: FR_LMI_CCITT_PVC_STATUS_IE
      pos:
        line_end: 726
        line_start: 725
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0x57'
    - item_type: preproc_def
      name: FR_LMI_REPORT_TYPE_IE_FULL_STATUS
      pos:
        line_end: 739
        line_start: 738
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '0'
    - item_type: preproc_def
      name: FR_LMI_REPORT_TYPE_IE_LINK_VERIFY
      pos:
        line_end: 740
        line_start: 739
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FR_LMI_REPORT_TYPE_IE_ASYNC_PVC
      pos:
        line_end: 741
        line_start: 740
        source_file: /src/tcpdump/print-fr.c
      type_or_value: '2'
    structs:
    - fields:
      - name: ie_type
        type: uint8_t
      - name: ie_len
        type: uint8_t
      item_type: struct
      name: ie_tlv_header_t
      pos:
        line_end: 437
        line_start: 434
        source_file: /src/tcpdump/print-fr.c
    typedefs:
    - item_type: typedef
      name: "(*codeset_pr_func_t)(netdissect_options *, u_int iecode,\n    u_int ielength,
        const u_char *p)"
      pos:
        line_end: 773
        line_start: 772
        source_file: /src/tcpdump/print-fr.c
      type: int
    union: []
- function_names:
  - dtp_print
  source_file: /src/tcpdump/print-dtp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DTP_HEADER_LEN
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/tcpdump/print-dtp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DTP_DOMAIN_TLV
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/tcpdump/print-dtp.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: DTP_STATUS_TLV
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcpdump/print-dtp.c
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: DTP_DTP_TYPE_TLV
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/print-dtp.c
      type_or_value: '0x0003'
    - item_type: preproc_def
      name: DTP_NEIGHBOR_TLV
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/print-dtp.c
      type_or_value: '0x0004'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/rpc_auth.h
  types:
    enum:
    - enumerators:
      - name: SUNRPC_AUTH_OK
        value: '0'
      - name: SUNRPC_AUTH_REJECTEDCRED
        value: '2'
      - name: SUNRPC_AUTH_BADVERF
        value: '3'
      - name: SUNRPC_AUTH_REJECTEDVERF
        value: '4'
      - name: SUNRPC_AUTH_BADCRED
        value: '1'
      - name: SUNRPC_AUTH_TOOWEAK
        value: '5'
      - name: SUNRPC_AUTH_INVALIDRESP
        value: '6'
      - name: SUNRPC_AUTH_FAILED
        value: '7'
      item_type: enum
      name: sunrpc_auth_stat
      pos:
        line_end: 60
        line_start: 45
        source_file: /src/tcpdump/rpc_auth.h
    preproc_defs: []
    structs:
    - fields:
      - name: oa_flavor
        type: nd_uint32_t
      - name: oa_len
        type: nd_uint32_t
      item_type: struct
      name: sunrpc_opaque_auth
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/tcpdump/rpc_auth.h
    typedefs: []
    union: []
- function_names:
  - raw_if_print
  - ipv4_if_print
  - ipv6_if_print
  source_file: /src/tcpdump/print-raw.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vtp_print
  source_file: /src/tcpdump/print-vtp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VTP_HEADER_LEN
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '36'
    - item_type: preproc_def
      name: VTP_DOMAIN_NAME_LEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '32'
    - item_type: preproc_def
      name: VTP_MD5_DIGEST_LEN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '16'
    - item_type: preproc_def
      name: VTP_UPDATE_TIMESTAMP_LEN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: VTP_VLAN_INFO_FIXED_PART_LEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: "12\t"
    - item_type: preproc_def
      name: VTP_SUMMARY_ADV
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: VTP_SUBSET_ADV
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: VTP_ADV_REQUEST
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: VTP_JOIN_MESSAGE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: VTP_VLAN_SOURCE_ROUTING_RING_NUMBER
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: VTP_VLAN_SOURCE_ROUTING_BRIDGE_NUMBER
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: VTP_VLAN_STP_TYPE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: VTP_VLAN_PARENT_VLAN
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: VTP_VLAN_TRANS_BRIDGED_VLAN
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: VTP_VLAN_PRUNING
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '0x06'
    - item_type: preproc_def
      name: VTP_VLAN_BRIDGE_TYPE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: VTP_VLAN_ARP_HOP_COUNT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: VTP_VLAN_STE_HOP_COUNT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '0x09'
    - item_type: preproc_def
      name: VTP_VLAN_BACKUP_CRF_MODE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-vtp.c
      type_or_value: '0x0A'
    structs:
    - fields:
      - name: len
        type: nd_uint8_t
      - name: status
        type: nd_uint8_t
      - name: type
        type: nd_uint8_t
      - name: name_len
        type: nd_uint8_t
      - name: vlanid
        type: nd_uint16_t
      - name: mtu
        type: nd_uint16_t
      - name: index
        type: nd_uint32_t
      item_type: struct
      name: vtp_vlan_
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/tcpdump/print-vtp.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/interface.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_direction
  - usb_header_print
  - usb_linux_48_byte_if_print
  - usb_linux_64_byte_if_print
  source_file: /src/tcpdump/print-usb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: URB_TRANSFER_IN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/print-usb.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: URB_ISOCHRONOUS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/print-usb.c
      type_or_value: '0x0'
    - item_type: preproc_def
      name: URB_INTERRUPT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-usb.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: URB_CONTROL
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-usb.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: URB_BULK
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-usb.c
      type_or_value: '0x3'
    - item_type: preproc_def
      name: URB_SUBMIT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-usb.c
      type_or_value: '''S'''
    - item_type: preproc_def
      name: URB_COMPLETE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-usb.c
      type_or_value: '''C'''
    - item_type: preproc_def
      name: URB_ERROR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-usb.c
      type_or_value: '''E'''
    structs:
    - fields:
      - name: bmRequestType
        type: nd_uint8_t
      - name: bRequest
        type: nd_uint8_t
      - name: wValue
        type: nd_uint16_t
      - name: wIndex
        type: nd_uint16_t
      - name: wLength
        type: nd_uint16_t
      item_type: struct
      name: _usb_setup
      pos:
        line_end: 58
        line_start: 52
        source_file: /src/tcpdump/print-usb.c
    - fields:
      - name: error_count
        type: nd_int32_t
      - name: numdesc
        type: nd_int32_t
      item_type: struct
      name: _iso_rec
      pos:
        line_end: 66
        line_start: 63
        source_file: /src/tcpdump/print-usb.c
    - fields:
      - name: id
        type: nd_uint64_t
      - name: event_type
        type: nd_uint8_t
      - name: transfer_type
        type: nd_uint8_t
      - name: endpoint_number
        type: nd_uint8_t
      - name: device_address
        type: nd_uint8_t
      - name: bus_id
        type: nd_uint16_t
      - name: setup_flag
        type: nd_uint8_t
      - name: data_flag
        type: nd_uint8_t
      - name: ts_sec
        type: nd_int64_t
      - name: ts_usec
        type: nd_int32_t
      - name: status
        type: nd_int32_t
      - name: urb_len
        type: nd_uint32_t
      - name: data_len
        type: nd_uint32_t
      - name: setup
        type: pcap_usb_setup
      item_type: struct
      name: _usb_header
      pos:
        line_end: 87
        line_start: 72
        source_file: /src/tcpdump/print-usb.c
    - fields:
      - name: id
        type: nd_uint64_t
      - name: event_type
        type: nd_uint8_t
      - name: transfer_type
        type: nd_uint8_t
      - name: endpoint_number
        type: nd_uint8_t
      - name: device_address
        type: nd_uint8_t
      - name: bus_id
        type: nd_uint16_t
      - name: setup_flag
        type: nd_uint8_t
      - name: data_flag
        type: nd_uint8_t
      - name: ts_sec
        type: nd_int64_t
      - name: ts_usec
        type: nd_int32_t
      - name: status
        type: nd_int32_t
      - name: urb_len
        type: nd_uint32_t
      - name: data_len
        type: nd_uint32_t
      - name: s
        type: "union {\n\t\tpcap_usb_setup setup;\n\t\tiso_rec iso;\n\t}"
      - name: interval
        type: nd_int32_t
      - name: start_frame
        type: nd_int32_t
      - name: xfer_flags
        type: nd_uint32_t
      - name: ndesc
        type: nd_uint32_t
      item_type: struct
      name: _usb_header_mmapped
      pos:
        line_end: 119
        line_start: 97
        source_file: /src/tcpdump/print-usb.c
    - fields:
      - name: status
        type: nd_int32_t
      - name: offset
        type: nd_uint32_t
      - name: len
        type: nd_uint32_t
      - name: pad[4]
        type: nd_byte
      item_type: struct
      name: _usb_isodesc
      pos:
        line_end: 134
        line_start: 129
        source_file: /src/tcpdump/print-usb.c
    typedefs: []
    union: []
- function_names:
  - DCCPH_CCVAL
  - DCCPH_CSCOV
  - DCCPH_X
  - DCCPH_TYPE
  - dccp_csum_coverage
  - dccp_cksum
  - dccp6_cksum
  - dccp_seqno
  - dccp_basic_hdr_len
  - dccp_print_ack_no
  - dccp_print
  - dccp_print_option
  source_file: /src/tcpdump/print-dccp.c
  types:
    enum:
    - enumerators:
      - name: DCCP_PKT_REQUEST
        value: '0'
      - name: DCCP_PKT_DATA
      - name: DCCP_PKT_ACK
      - name: DCCP_PKT_DATAACK
      - name: DCCP_PKT_RESPONSE
      - name: DCCP_PKT_CLOSEREQ
      - name: DCCP_PKT_CLOSE
      - name: DCCP_PKT_RESET
      - name: DCCP_PKT_SYNC
      - name: DCCP_PKT_SYNCACK
      item_type: enum
      name: dccp_pkt_type
      pos:
        line_end: 127
        line_start: 116
        source_file: /src/tcpdump/print-dccp.c
    - enumerators:
      - name: DCCP_RESET_CODE_UNSPECIFIED
        value: '0'
      - name: DCCP_RESET_CODE_NO_CONNECTION
      - name: DCCP_RESET_CODE_CLOSED
      - name: DCCP_RESET_CODE_ABORTED
      - name: DCCP_RESET_CODE_PACKET_ERROR
      - name: DCCP_RESET_CODE_OPTION_ERROR
      - name: DCCP_RESET_CODE_MANDATORY_ERROR
      - name: DCCP_RESET_CODE_CONNECTION_REFUSED
      - name: DCCP_RESET_CODE_BAD_SERVICE_CODE
      - name: DCCP_RESET_CODE_TOO_BUSY
      - name: DCCP_RESET_CODE_BAD_INIT_COOKIE
      - name: DCCP_RESET_CODE_AGGRESSION_PENALTY
      item_type: enum
      name: dccp_reset_codes
      pos:
        line_end: 156
        line_start: 143
        source_file: /src/tcpdump/print-dccp.c
    - enumerators:
      - name: DCCP_OPTION_PADDING
        value: '0'
      - name: DCCP_OPTION_CONFIRM_L
        value: '33'
      - name: DCCP_OPTION_CHANGE_L
        value: '32'
      - name: DCCP_OPTION_MANDATORY
        value: '1'
      - name: DCCP_OPTION_SLOW_RECEIVER
        value: '2'
      - name: DCCP_OPTION_CHANGE_R
        value: '34'
      - name: DCCP_OPTION_CONFIRM_R
        value: '35'
      - name: DCCP_OPTION_INIT_COOKIE
        value: '36'
      - name: DCCP_OPTION_NDP_COUNT
        value: '37'
      - name: DCCP_OPTION_ACK_VECTOR_NONCE_0
        value: '38'
      - name: DCCP_OPTION_TIMESTAMP_ECHO
        value: '42'
      - name: DCCP_OPTION_DATA_DROPPED
        value: '40'
      - name: DCCP_OPTION_DATA_CHECKSUM
        value: '44'
      - name: DCCP_OPTION_ELAPSED_TIME
        value: '43'
      - name: DCCP_OPTION_TIMESTAMP
        value: '41'
      - name: DCCP_OPTION_ACK_VECTOR_NONCE_1
        value: '39'
      item_type: enum
      name: dccp_option_type
      pos:
        line_end: 444
        line_start: 427
        source_file: /src/tcpdump/print-dccp.c
    preproc_defs: []
    structs:
    - fields:
      - name: dccph_sport
        type: nd_uint16_t
      - name: dccph_doff
        type: nd_uint8_t
      - name: dccph_ccval_cscov
        type: nd_uint8_t
      - name: dccph_checksum
        type: nd_uint16_t
      - name: dccph_xtr
        type: nd_uint8_t
      - name: dccph_seq
        type: nd_uint24_t
      item_type: struct
      name: dccp_hdr
      pos:
        line_end: 49
        line_start: 41
        source_file: /src/tcpdump/print-dccp.c
    - fields:
      - name: dccph_sport
        type: nd_uint16_t
      - name: dccph_doff
        type: nd_uint8_t
      - name: dccph_ccval_cscov
        type: nd_uint8_t
      - name: dccph_checksum
        type: nd_uint16_t
      - name: dccph_xtr
        type: nd_uint8_t
      - name: reserved
        type: nd_uint8_t
      - name: dccph_seq
        type: nd_uint48_t
      item_type: struct
      name: dccp_hdr_ext
      pos:
        line_end: 74
        line_start: 65
        source_file: /src/tcpdump/print-dccp.c
    - fields:
      - name: dccph_req_service
        type: nd_uint32_t
      item_type: struct
      name: dccp_hdr_request
      pos:
        line_end: 89
        line_start: 87
        source_file: /src/tcpdump/print-dccp.c
    - fields:
      - name: dccph_resp_ack
        type: nd_uint64_t
      - name: dccph_resp_service
        type: nd_uint32_t
      item_type: struct
      name: dccp_hdr_response
      pos:
        line_end: 100
        line_start: 97
        source_file: /src/tcpdump/print-dccp.c
    - fields:
      - name: dccph_reset_ack
        type: nd_uint64_t
      - name: dccph_reset_code
        type: nd_uint8_t
      - name: dccph_reset_data1
        type: nd_uint8_t
      - name: dccph_reset_data2
        type: nd_uint8_t
      - name: dccph_reset_data3
        type: nd_uint8_t
      item_type: struct
      name: dccp_hdr_reset
      pos:
        line_end: 114
        line_start: 108
        source_file: /src/tcpdump/print-dccp.c
    typedefs: []
    union: []
- function_names:
  - mpls_print
  source_file: /src/tcpdump/print-mpls.c
  types:
    enum:
    - enumerators:
      - name: PT_UNKNOWN
      - name: PT_IPV4
      - name: PT_OSI
      - name: PT_IPV6
      item_type: enum
      name: mpls_packet_type
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/tcpdump/print-mpls.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lspping_print
  source_file: /src/tcpdump/print-lspping.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LSPPING_VERSION
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGET_FEC_STACK
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LSPPING_TLV_DOWNSTREAM_MAPPING
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LSPPING_TLV_PAD
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LSPPING_TLV_VENDOR_ENTERPRISE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LSPPING_TLV_VENDOR_ENTERPRISE_LEN
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LSPPING_TLV_INTERFACE_LABEL_STACK
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '7'
    - item_type: preproc_def
      name: LSPPING_TLV_ERROR_CODE
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '9'
    - item_type: preproc_def
      name: LSPPING_TLV_REPLY_TOS_BYTE
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LSPPING_TLV_BFD_DISCRIMINATOR
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '15 '
    - item_type: preproc_def
      name: LSPPING_TLV_BFD_DISCRIMINATOR_LEN
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LSPPING_TLV_VENDOR_PRIVATE
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '0xfc00'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_LDP_IPV4
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_LDP_IPV6
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_RSVP_IPV4
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_RSVP_IPV6
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_L3VPN_IPV4
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_L3VPN_IPV6
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '7'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_L2VPN_ENDPT
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_FEC_128_PW_OLD
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '9'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_FEC_128_PW
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_FEC_129_PW
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '11'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_BGP_IPV4
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '12'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_BGP_IPV6
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '13'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_GENERIC_IPV4
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '14'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_GENERIC_IPV6
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '15'
    - item_type: preproc_def
      name: LSPPING_TLV_TARGETFEC_SUBTLV_NIL_FEC
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '16'
    - item_type: preproc_def
      name: LSPPING_AFI_IPV4
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LSPPING_AFI_IPV4_UNMB
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LSPPING_AFI_IPV6
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LSPPING_AFI_IPV6_UNMB
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/tcpdump/print-lspping.c
      type_or_value: '4'
    structs:
    - fields:
      - name: version
        type: nd_uint16_t
      - name: global_flags
        type: nd_uint16_t
      - name: msg_type
        type: nd_uint8_t
      - name: reply_mode
        type: nd_uint8_t
      - name: return_code
        type: nd_uint8_t
      - name: return_subcode
        type: nd_uint8_t
      - name: sender_handle
        type: nd_uint32_t
      - name: seq_number
        type: nd_uint32_t
      - name: ts_sent
        type: struct l_fixedpt
      - name: ts_rcvd
        type: struct l_fixedpt
      item_type: struct
      name: lspping_common_header
      pos:
        line_end: 72
        line_start: 61
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: type
        type: nd_uint16_t
      - name: length
        type: nd_uint16_t
      item_type: struct
      name: lspping_tlv_header
      pos:
        line_end: 127
        line_start: 124
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: prefix
        type: nd_ipv4
      - name: prefix_len
        type: nd_uint8_t
      item_type: struct
      name: lspping_tlv_targetfec_subtlv_ldp_ipv4_t
      pos:
        line_end: 202
        line_start: 199
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: prefix
        type: nd_ipv6
      - name: prefix_len
        type: nd_uint8_t
      item_type: struct
      name: lspping_tlv_targetfec_subtlv_ldp_ipv6_t
      pos:
        line_end: 219
        line_start: 216
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: tunnel_endpoint
        type: nd_ipv4
      - name: res[2]
        type: nd_byte
      - name: tunnel_id
        type: nd_uint16_t
      - name: extended_tunnel_id
        type: nd_ipv4
      - name: tunnel_sender
        type: nd_ipv4
      - name: res2[2]
        type: nd_byte
      - name: lsp_id
        type: nd_uint16_t
      item_type: struct
      name: lspping_tlv_targetfec_subtlv_rsvp_ipv4_t
      pos:
        line_end: 244
        line_start: 236
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: tunnel_endpoint
        type: nd_ipv6
      - name: res[2]
        type: nd_byte
      - name: tunnel_id
        type: nd_uint16_t
      - name: extended_tunnel_id
        type: nd_ipv6
      - name: tunnel_sender
        type: nd_ipv6
      - name: res2[2]
        type: nd_byte
      - name: lsp_id
        type: nd_uint16_t
      item_type: struct
      name: lspping_tlv_targetfec_subtlv_rsvp_ipv6_t
      pos:
        line_end: 278
        line_start: 270
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: rd[8]
        type: nd_byte
      - name: prefix
        type: nd_ipv4
      - name: prefix_len
        type: nd_uint8_t
      item_type: struct
      name: lspping_tlv_targetfec_subtlv_l3vpn_ipv4_t
      pos:
        line_end: 296
        line_start: 292
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: rd[8]
        type: nd_byte
      - name: prefix
        type: nd_ipv6
      - name: prefix_len
        type: nd_uint8_t
      item_type: struct
      name: lspping_tlv_targetfec_subtlv_l3vpn_ipv6_t
      pos:
        line_end: 317
        line_start: 313
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: rd[8]
        type: nd_byte
      - name: sender_ve_id
        type: nd_uint16_t
      - name: receiver_ve_id
        type: nd_uint16_t
      - name: encapsulation
        type: nd_uint16_t
      item_type: struct
      name: lspping_tlv_targetfec_subtlv_l2vpn_endpt_t
      pos:
        line_end: 337
        line_start: 332
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: remote_pe_address
        type: nd_ipv4
      - name: pw_id
        type: nd_uint32_t
      - name: pw_type
        type: nd_uint16_t
      item_type: struct
      name: lspping_tlv_targetfec_subtlv_fec_128_pw_old
      pos:
        line_end: 353
        line_start: 349
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: sender_pe_address
        type: nd_ipv4
      - name: remote_pe_address
        type: nd_ipv4
      - name: pw_id
        type: nd_uint32_t
      - name: pw_type
        type: nd_uint16_t
      item_type: struct
      name: lspping_tlv_targetfec_subtlv_fec_128_pw
      pos:
        line_end: 372
        line_start: 367
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: prefix
        type: nd_ipv4
      - name: prefix_len
        type: nd_uint8_t
      item_type: struct
      name: lspping_tlv_targetfec_subtlv_bgp_ipv4_t
      pos:
        line_end: 385
        line_start: 382
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: prefix
        type: nd_ipv6
      - name: prefix_len
        type: nd_uint8_t
      item_type: struct
      name: lspping_tlv_targetfec_subtlv_bgp_ipv6_t
      pos:
        line_end: 401
        line_start: 398
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: mtu
        type: nd_uint16_t
      - name: address_type
        type: nd_uint8_t
      - name: ds_flags
        type: nd_uint8_t
      item_type: struct
      name: lspping_tlv_downstream_map_t
      pos:
        line_end: 433
        line_start: 429
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: mtu
        type: nd_uint16_t
      - name: address_type
        type: nd_uint8_t
      - name: ds_flags
        type: nd_uint8_t
      - name: downstream_ip
        type: nd_ipv4
      - name: downstream_interface
        type: nd_ipv4
      item_type: struct
      name: lspping_tlv_downstream_map_ipv4_t
      pos:
        line_end: 441
        line_start: 435
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: mtu
        type: nd_uint16_t
      - name: address_type
        type: nd_uint8_t
      - name: ds_flags
        type: nd_uint8_t
      - name: downstream_ip
        type: nd_ipv4
      - name: downstream_interface
        type: nd_uint32_t
      item_type: struct
      name: lspping_tlv_downstream_map_ipv4_unmb_t
      pos:
        line_end: 449
        line_start: 443
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: mtu
        type: nd_uint16_t
      - name: address_type
        type: nd_uint8_t
      - name: ds_flags
        type: nd_uint8_t
      - name: downstream_ip
        type: nd_ipv6
      - name: downstream_interface
        type: nd_ipv6
      item_type: struct
      name: lspping_tlv_downstream_map_ipv6_t
      pos:
        line_end: 457
        line_start: 451
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: mtu
        type: nd_uint16_t
      - name: address_type
        type: nd_uint8_t
      - name: ds_flags
        type: nd_uint8_t
      - name: downstream_ip
        type: nd_ipv6
      - name: downstream_interface
        type: nd_uint32_t
      item_type: struct
      name: lspping_tlv_downstream_map_ipv6_unmb_t
      pos:
        line_end: 465
        line_start: 459
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: multipath_type
        type: nd_uint8_t
      - name: depth_limit
        type: nd_uint8_t
      - name: multipath_length
        type: nd_uint16_t
      item_type: struct
      name: lspping_tlv_downstream_map_info_t
      pos:
        line_end: 471
        line_start: 467
        source_file: /src/tcpdump/print-lspping.c
    typedefs: []
    union:
    - fields:
      - name: '*lspping_tlv_downstream_map'
        type: struct lspping_tlv_downstream_map_t
      - name: '*lspping_tlv_downstream_map_ipv4'
        type: struct lspping_tlv_downstream_map_ipv4_t
      - name: '*lspping_tlv_downstream_map_ipv4_unmb'
        type: struct lspping_tlv_downstream_map_ipv4_unmb_t
      - name: '*lspping_tlv_downstream_map_ipv6'
        type: struct lspping_tlv_downstream_map_ipv6_t
      - name: '*lspping_tlv_downstream_map_ipv6_unmb'
        type: struct lspping_tlv_downstream_map_ipv6_unmb_t
      - name: '*lspping_tlv_downstream_map_info'
        type: struct lspping_tlv_downstream_map_info_t
      item_type: union
      name: tlv_ptr
      pos:
        line_end: 508
        line_start: 501
        source_file: /src/tcpdump/print-lspping.c
    - fields:
      - name: '*lspping_tlv_targetfec_subtlv_ldp_ipv4'
        type: struct lspping_tlv_targetfec_subtlv_ldp_ipv4_t
      - name: '*lspping_tlv_targetfec_subtlv_ldp_ipv6'
        type: struct lspping_tlv_targetfec_subtlv_ldp_ipv6_t
      - name: '*lspping_tlv_targetfec_subtlv_rsvp_ipv4'
        type: struct lspping_tlv_targetfec_subtlv_rsvp_ipv4_t
      - name: '*lspping_tlv_targetfec_subtlv_rsvp_ipv6'
        type: struct lspping_tlv_targetfec_subtlv_rsvp_ipv6_t
      - name: '*lspping_tlv_targetfec_subtlv_l3vpn_ipv4'
        type: struct lspping_tlv_targetfec_subtlv_l3vpn_ipv4_t
      - name: '*lspping_tlv_targetfec_subtlv_l3vpn_ipv6'
        type: struct lspping_tlv_targetfec_subtlv_l3vpn_ipv6_t
      - name: '*lspping_tlv_targetfec_subtlv_l2vpn_endpt'
        type: struct lspping_tlv_targetfec_subtlv_l2vpn_endpt_t
      - name: '*lspping_tlv_targetfec_subtlv_l2vpn_vcid_old'
        type: struct lspping_tlv_targetfec_subtlv_fec_128_pw_old
      - name: '*lspping_tlv_targetfec_subtlv_l2vpn_vcid'
        type: struct lspping_tlv_targetfec_subtlv_fec_128_pw
      - name: '*lspping_tlv_targetfec_subtlv_bgp_ipv4'
        type: struct lspping_tlv_targetfec_subtlv_bgp_ipv4_t
      - name: '*lspping_tlv_targetfec_subtlv_bgp_ipv6'
        type: struct lspping_tlv_targetfec_subtlv_bgp_ipv6_t
      item_type: union
      name: subtlv_ptr
      pos:
        line_end: 522
        line_start: 510
        source_file: /src/tcpdump/print-lspping.c
- function_names:
  - RI_COST
  - RI_HOPS
  - decnet_print
  - print_decnet_ctlmsg
  - print_t_info
  - print_l1_routes
  - print_l2_routes
  - print_i_info
  - print_elist
  - print_nsp
  - print_reason
  - dnnum_string
  source_file: /src/tcpdump/print-decnet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: byte
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: Byte
    - item_type: preproc_def
      name: HIORD
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0x000400aa\t\t"
    - item_type: preproc_def
      name: AREAMASK
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0176000\t\t"
    - item_type: preproc_def
      name: AREASHIFT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "10\t\t"
    - item_type: preproc_def
      name: NODEMASK
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "01777\t\t"
    - item_type: preproc_def
      name: RMF_MASK
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "7\t\t"
    - item_type: preproc_def
      name: RMF_SHORT
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: RMF_LONG
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "6\t\t"
    - item_type: preproc_def
      name: RMF_RQR
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "010\t\t"
    - item_type: preproc_def
      name: RMF_RTS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "020\t\t"
    - item_type: preproc_def
      name: RMF_IE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "040\t\t"
    - item_type: preproc_def
      name: RMF_FVER
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0100\t\t"
    - item_type: preproc_def
      name: RMF_PAD
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0200\t\t"
    - item_type: preproc_def
      name: RMF_PADMASK
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0177\t\t"
    - item_type: preproc_def
      name: VIS_MASK
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "077\t\t"
    - item_type: preproc_def
      name: RMF_CTLMASK
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "017\t\t"
    - item_type: preproc_def
      name: RMF_CTLMSG
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "01\t\t"
    - item_type: preproc_def
      name: RMF_INIT
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "01\t\t"
    - item_type: preproc_def
      name: RMF_VER
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "03\t\t"
    - item_type: preproc_def
      name: RMF_TEST
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "05\t\t"
    - item_type: preproc_def
      name: RMF_L1ROUT
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "07\t\t"
    - item_type: preproc_def
      name: RMF_L2ROUT
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "011\t\t"
    - item_type: preproc_def
      name: RMF_RHELLO
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "013\t\t"
    - item_type: preproc_def
      name: RMF_EHELLO
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "015\t\t"
    - item_type: preproc_def
      name: TI_L2ROUT
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "01\t\t"
    - item_type: preproc_def
      name: TI_L1ROUT
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "02\t\t"
    - item_type: preproc_def
      name: TI_ENDNODE
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "03\t\t"
    - item_type: preproc_def
      name: TI_VERIF
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "04\t\t"
    - item_type: preproc_def
      name: TI_BLOCK
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "010\t\t"
    - item_type: preproc_def
      name: VE_VERS
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: VE_ECO
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: VE_UECO
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: P3_VERS
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: P3_ECO
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: P3_UECO
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: II_L2ROUT
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "01\t\t"
    - item_type: preproc_def
      name: II_L1ROUT
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "02\t\t"
    - item_type: preproc_def
      name: II_ENDNODE
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "03\t\t"
    - item_type: preproc_def
      name: II_VERIF
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "04\t\t"
    - item_type: preproc_def
      name: II_NOMCAST
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "040\t\t"
    - item_type: preproc_def
      name: II_BLOCK
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0100\t\t"
    - item_type: preproc_def
      name: II_TYPEMASK
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "03\t\t"
    - item_type: preproc_def
      name: TESTDATA
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0252\t\t"
    - item_type: preproc_def
      name: TESTLEN
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: NSP_TYPEMASK
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "014\t\t"
    - item_type: preproc_def
      name: NSP_SUBMASK
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0160\t\t"
    - item_type: preproc_def
      name: NSP_SUBSHFT
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "4\t\t\t"
    - item_type: preproc_def
      name: MFT_DATA
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0\t\t\t"
    - item_type: preproc_def
      name: MFT_ACK
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "04\t\t\t"
    - item_type: preproc_def
      name: MFT_CTL
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "010\t\t\t"
    - item_type: preproc_def
      name: MFS_ILS
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "020\t\t\t"
    - item_type: preproc_def
      name: MFS_BOM
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "040\t\t\t"
    - item_type: preproc_def
      name: MFS_MOM
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0\t\t\t"
    - item_type: preproc_def
      name: MFS_EOM
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0100\t\t\t"
    - item_type: preproc_def
      name: MFS_INT
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "040\t\t\t"
    - item_type: preproc_def
      name: MFS_DACK
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0\t\t\t"
    - item_type: preproc_def
      name: MFS_IACK
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "020\t\t\t"
    - item_type: preproc_def
      name: MFS_CACK
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "040\t\t\t"
    - item_type: preproc_def
      name: MFS_NOP
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0\t\t\t"
    - item_type: preproc_def
      name: MFS_CI
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "020\t\t\t"
    - item_type: preproc_def
      name: MFS_CC
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "040\t\t\t"
    - item_type: preproc_def
      name: MFS_DI
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "060\t\t\t"
    - item_type: preproc_def
      name: MFS_DC
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0100\t\t\t"
    - item_type: preproc_def
      name: MFS_RCI
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0140\t\t\t"
    - item_type: preproc_def
      name: SGQ_ACK
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0100000\t\t"
    - item_type: preproc_def
      name: SGQ_NAK
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0110000\t\t"
    - item_type: preproc_def
      name: SGQ_OACK
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0120000\t\t"
    - item_type: preproc_def
      name: SGQ_ONAK
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0130000\t\t"
    - item_type: preproc_def
      name: SGQ_MASK
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "07777\t\t\t"
    - item_type: preproc_def
      name: SGQ_OTHER
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "020000\t\t"
    - item_type: preproc_def
      name: SGQ_DELAY
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "010000\t\t"
    - item_type: preproc_def
      name: SGQ_EOM
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0100000\t\t"
    - item_type: preproc_def
      name: LSM_MASK
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "03\t\t\t"
    - item_type: preproc_def
      name: LSM_NOCHANGE
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0\t\t\t"
    - item_type: preproc_def
      name: LSM_DONOTSEND
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "1\t\t\t"
    - item_type: preproc_def
      name: LSM_SEND
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "2\t\t\t"
    - item_type: preproc_def
      name: LSI_MASK
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "014\t\t\t"
    - item_type: preproc_def
      name: LSI_DATA
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0\t\t\t"
    - item_type: preproc_def
      name: LSI_INTR
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "4\t\t\t"
    - item_type: preproc_def
      name: LSI_INTM
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0377\t\t\t"
    - item_type: preproc_def
      name: COS_MASK
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "014\t\t\t"
    - item_type: preproc_def
      name: COS_NONE
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0\t\t\t"
    - item_type: preproc_def
      name: COS_SEGMENT
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "04\t\t\t"
    - item_type: preproc_def
      name: COS_MESSAGE
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "010\t\t\t"
    - item_type: preproc_def
      name: COS_DEFAULT
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "1\t\t\t"
    - item_type: preproc_def
      name: COI_MASK
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "3\t\t\t"
    - item_type: preproc_def
      name: COI_32
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0\t\t\t"
    - item_type: preproc_def
      name: COI_31
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "1\t\t\t"
    - item_type: preproc_def
      name: COI_40
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "2\t\t\t"
    - item_type: preproc_def
      name: COI_41
      pos:
        line_end: 313
        line_start: 312
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "3\t\t\t"
    - item_type: preproc_def
      name: MNU_MASK
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "140\t\t\t"
    - item_type: preproc_def
      name: MNU_10
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "000\t\t\t\t"
    - item_type: preproc_def
      name: MNU_20
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "040\t\t\t\t"
    - item_type: preproc_def
      name: MNU_ACCESS
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "1\t\t\t"
    - item_type: preproc_def
      name: MNU_USRDATA
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "2\t\t\t"
    - item_type: preproc_def
      name: MNU_INVKPROXY
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "4\t\t\t"
    - item_type: preproc_def
      name: MNU_UICPROXY
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "8\t\t\t"
    - item_type: preproc_def
      name: DC_NORESOURCES
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: DC_NOLINK
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "41\t\t\t"
    - item_type: preproc_def
      name: DC_COMPLETE
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "42\t\t\t"
    - item_type: preproc_def
      name: DI_NOERROR
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0\t\t\t"
    - item_type: preproc_def
      name: DI_SHUT
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "3\t\t\t"
    - item_type: preproc_def
      name: DI_NOUSER
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "4\t\t\t"
    - item_type: preproc_def
      name: DI_INVDEST
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "5\t\t\t"
    - item_type: preproc_def
      name: DI_REMRESRC
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "6\t\t\t"
    - item_type: preproc_def
      name: DI_TPA
      pos:
        line_end: 332
        line_start: 331
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "8\t\t\t"
    - item_type: preproc_def
      name: DI_PROTOCOL
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "7\t\t\t"
    - item_type: preproc_def
      name: DI_ABORT
      pos:
        line_end: 334
        line_start: 333
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "9\t\t\t"
    - item_type: preproc_def
      name: DI_LOCALRESRC
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "32\t\t"
    - item_type: preproc_def
      name: DI_REMUSERRESRC
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "33\t\t"
    - item_type: preproc_def
      name: DI_BADACCESS
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "34\t\t\t"
    - item_type: preproc_def
      name: DI_BADACCNT
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "36\t\t\t"
    - item_type: preproc_def
      name: DI_CONNECTABORT
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "38\t\t"
    - item_type: preproc_def
      name: DI_TIMEDOUT
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "38\t\t\t"
    - item_type: preproc_def
      name: DI_UNREACHABLE
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "39\t\t"
    - item_type: preproc_def
      name: DI_BADIMAGE
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "43\t\t\t"
    - item_type: preproc_def
      name: DI_SERVMISMATCH
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "54\t\t"
    - item_type: preproc_def
      name: UC_OBJREJECT
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0\t\t\t"
    - item_type: preproc_def
      name: UC_USERDISCONNECT
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: UC_RESOURCES
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "1\t\t\t"
    - item_type: preproc_def
      name: UC_NOSUCHNODE
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "2\t\t\t"
    - item_type: preproc_def
      name: UC_REMOTESHUT
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "3\t\t\t"
    - item_type: preproc_def
      name: UC_NOSUCHOBJ
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "4\t\t\t"
    - item_type: preproc_def
      name: UC_INVOBJFORMAT
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "5\t\t"
    - item_type: preproc_def
      name: UC_OBJTOOBUSY
      pos:
        line_end: 352
        line_start: 351
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "6\t\t\t"
    - item_type: preproc_def
      name: UC_NETWORKABORT
      pos:
        line_end: 353
        line_start: 352
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "8\t\t"
    - item_type: preproc_def
      name: UC_USERABORT
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "9\t\t\t"
    - item_type: preproc_def
      name: UC_INVNODEFORMAT
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "10\t\t"
    - item_type: preproc_def
      name: UC_LOCALSHUT
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "11\t\t\t"
    - item_type: preproc_def
      name: UC_ACCESSREJECT
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "34\t\t"
    - item_type: preproc_def
      name: UC_NORESPONSE
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "38\t\t"
    - item_type: preproc_def
      name: UC_UNREACHABLE
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/tcpdump/print-decnet.c
      type_or_value: "39\t\t"
    structs:
    - fields:
      - name: sh_flags
        type: byte
      - name: sh_dst
        type: word
      - name: sh_src
        type: word
      - name: sh_visits
        type: byte
      item_type: struct
      name: shorthdr
      pos:
        line_end: 82
        line_start: 76
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: lg_flags
        type: byte
      - name: lg_darea
        type: byte
      - name: lg_dsarea
        type: byte
      - name: lg_dst
        type: etheraddr
      - name: lg_sarea
        type: byte
      - name: lg_ssarea
        type: byte
      - name: lg_src
        type: etheraddr
      - name: lg_nextl2
        type: byte
      - name: lg_visits
        type: byte
      - name: lg_service
        type: byte
      - name: lg_pt
        type: byte
      item_type: struct
      name: longhdr
      pos:
        line_end: 97
        line_start: 84
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: in_flags
        type: byte
      - name: in_src
        type: word
      - name: in_info
        type: byte
      - name: in_blksize
        type: word
      - name: in_vers
        type: byte
      - name: in_eco
        type: byte
      - name: in_ueco
        type: byte
      - name: in_hello
        type: word
      - name: in_rsvd
        type: byte
      item_type: struct
      name: initmsg
      pos:
        line_end: 176
        line_start: 165
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: ve_flags
        type: byte
      - name: ve_src
        type: word
      - name: ve_fcnval
        type: byte
      item_type: struct
      name: verifmsg
      pos:
        line_end: 183
        line_start: 178
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: te_flags
        type: byte
      - name: te_src
        type: word
      - name: te_data
        type: byte
      item_type: struct
      name: testmsg
      pos:
        line_end: 190
        line_start: 185
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: r1_flags
        type: byte
      - name: r1_src
        type: word
      - name: r1_rsvd
        type: byte
      item_type: struct
      name: l1rout
      pos:
        line_end: 197
        line_start: 192
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: r2_flags
        type: byte
      - name: r2_src
        type: word
      - name: r2_rsvd
        type: byte
      item_type: struct
      name: l2rout
      pos:
        line_end: 204
        line_start: 199
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: rh_flags
        type: byte
      - name: rh_vers
        type: byte
      - name: rh_eco
        type: byte
      - name: rh_ueco
        type: byte
      - name: rh_src
        type: etheraddr
      - name: rh_info
        type: byte
      - name: rh_blksize
        type: word
      - name: rh_priority
        type: byte
      - name: rh_area
        type: byte
      - name: rh_hello
        type: word
      - name: rh_mpd
        type: byte
      item_type: struct
      name: rhellomsg
      pos:
        line_end: 219
        line_start: 206
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: eh_flags
        type: byte
      - name: eh_vers
        type: byte
      - name: eh_eco
        type: byte
      - name: eh_ueco
        type: byte
      - name: eh_src
        type: etheraddr
      - name: eh_info
        type: byte
      - name: eh_blksize
        type: word
      - name: eh_area
        type: byte
      - name: eh_seed[8]
        type: byte
      - name: eh_router
        type: etheraddr
      - name: eh_hello
        type: word
      - name: eh_mpd
        type: byte
      - name: eh_data
        type: byte
      item_type: struct
      name: ehellomsg
      pos:
        line_end: 236
        line_start: 221
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: nh_flags
        type: byte
      - name: nh_dst
        type: word
      - name: nh_src
        type: word
      item_type: struct
      name: nsphdr
      pos:
        line_end: 368
        line_start: 363
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: sh_flags
        type: byte
      - name: sh_dst
        type: word
      - name: sh_src
        type: word
      - name: sh_seq[3]
        type: word
      item_type: struct
      name: seghdr
      pos:
        line_end: 376
        line_start: 370
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: ms_flags
        type: byte
      - name: ms_dst
        type: word
      - name: ms_src
        type: word
      - name: ms_seq
        type: word
      item_type: struct
      name: minseghdr
      pos:
        line_end: 384
        line_start: 378
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: ls_lsflags
        type: byte
      - name: ls_fcval
        type: byte
      item_type: struct
      name: lsmsg
      pos:
        line_end: 390
        line_start: 386
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: ak_flags
        type: byte
      - name: ak_dst
        type: word
      - name: ak_src
        type: word
      - name: ak_acknum[2]
        type: word
      item_type: struct
      name: ackmsg
      pos:
        line_end: 398
        line_start: 392
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: mk_flags
        type: byte
      - name: mk_dst
        type: word
      - name: mk_src
        type: word
      - name: mk_acknum
        type: word
      item_type: struct
      name: minackmsg
      pos:
        line_end: 406
        line_start: 400
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: ck_flags
        type: byte
      - name: ck_dst
        type: word
      item_type: struct
      name: ciackmsg
      pos:
        line_end: 412
        line_start: 408
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: ci_flags
        type: byte
      - name: ci_dst
        type: word
      - name: ci_src
        type: word
      - name: ci_services
        type: byte
      - name: ci_info
        type: byte
      - name: ci_segsize
        type: word
      item_type: struct
      name: cimsg
      pos:
        line_end: 422
        line_start: 414
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: cc_flags
        type: byte
      - name: cc_dst
        type: word
      - name: cc_src
        type: word
      - name: cc_services
        type: byte
      - name: cc_info
        type: byte
      - name: cc_segsize
        type: word
      - name: cc_optlen
        type: byte
      item_type: struct
      name: ccmsg
      pos:
        line_end: 433
        line_start: 424
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: cn_flags
        type: byte
      - name: cn_dst
        type: word
      - name: cn_src
        type: word
      - name: cn_services
        type: byte
      - name: cn_info
        type: byte
      - name: cn_segsize
        type: word
      item_type: struct
      name: cnmsg
      pos:
        line_end: 443
        line_start: 435
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: di_flags
        type: byte
      - name: di_dst
        type: word
      - name: di_src
        type: word
      - name: di_reason
        type: word
      - name: di_optlen
        type: byte
      item_type: struct
      name: dimsg
      pos:
        line_end: 452
        line_start: 445
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: dc_flags
        type: byte
      - name: dc_dst
        type: word
      - name: dc_src
        type: word
      - name: dc_reason
        type: word
      item_type: struct
      name: dcmsg
      pos:
        line_end: 460
        line_start: 454
        source_file: /src/tcpdump/print-decnet.c
    typedefs:
    - item_type: typedef
      name: byte
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/tcpdump/print-decnet.c
      type: nd_uint8_t
    - item_type: typedef
      name: Byte
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/tcpdump/print-decnet.c
      type: nd_uint8_t
    - item_type: typedef
      name: word
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/tcpdump/print-decnet.c
      type: nd_uint16_t
    - item_type: typedef
      name: longword
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/tcpdump/print-decnet.c
      type: nd_uint32_t
    union:
    - fields:
      - name: dne_addr
        type: nd_mac48
      - name: dne_remote
        type: "struct {\n\t\tnd_byte dne_hiord[4];\t/* DECnet HIORD prefix */\n\t\tnd_byte
          dne_nodeaddr[2]; /* DECnet node address */\n\t}"
      item_type: union
      name: etheraddr
      pos:
        line_end: 65
        line_start: 59
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: rh_short
        type: struct shorthdr
      - name: rh_long
        type: struct longhdr
      item_type: union
      name: routehdr
      pos:
        line_end: 103
        line_start: 99
        source_file: /src/tcpdump/print-decnet.c
    - fields:
      - name: cm_init
        type: struct initmsg
      - name: cm_ver
        type: struct verifmsg
      - name: cm_test
        type: struct testmsg
      - name: cm_l1rou
        type: struct l1rout
      - name: cm_l2rout
        type: struct l2rout
      - name: cm_rhello
        type: struct rhellomsg
      - name: cm_ehello
        type: struct ehellomsg
      item_type: union
      name: controlmsg
      pos:
        line_end: 247
        line_start: 238
        source_file: /src/tcpdump/print-decnet.c
- function_names:
  - IP_V
  - IP_HL
  - IPOPT_COPIED
  - IPOPT_CLASS
  - IPOPT_NUMBER
  - IPTS_OFLW
  - IPTS_FLG
  source_file: /src/tcpdump/ip.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPVERSION
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/ip.h
      type_or_value: '4'
    - item_type: preproc_def
      name: IP_DF
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/ip.h
      type_or_value: "0x4000\t\t\t"
    - item_type: preproc_def
      name: IP_MF
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/ip.h
      type_or_value: "0x2000\t\t\t"
    - item_type: preproc_def
      name: IP_OFFMASK
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/ip.h
      type_or_value: "0x1fff\t\t"
    - item_type: preproc_def
      name: IP_MAXPACKET
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/ip.h
      type_or_value: "65535\t\t"
    - item_type: preproc_def
      name: IPTOS_LOWDELAY
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: IPTOS_THROUGHPUT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: IPTOS_RELIABILITY
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: IPTOS_PREC_NETCONTROL
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/ip.h
      type_or_value: '0xe0'
    - item_type: preproc_def
      name: IPTOS_PREC_INTERNETCONTROL
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/ip.h
      type_or_value: '0xc0'
    - item_type: preproc_def
      name: IPTOS_PREC_CRITIC_ECP
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/ip.h
      type_or_value: '0xa0'
    - item_type: preproc_def
      name: IPTOS_PREC_FLASHOVERRIDE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: IPTOS_PREC_FLASH
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x60'
    - item_type: preproc_def
      name: IPTOS_PREC_IMMEDIATE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: IPTOS_PREC_PRIORITY
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: IPTOS_PREC_ROUTINE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: IPOPT_CONTROL
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: IPOPT_RESERVED1
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: IPOPT_DEBMEAS
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: IPOPT_RESERVED2
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x60'
    - item_type: preproc_def
      name: IPOPT_EOL
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/ip.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: IPOPT_NOP
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/ip.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: IPOPT_RR
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/ip.h
      type_or_value: "7\t\t"
    - item_type: preproc_def
      name: IPOPT_TS
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/ip.h
      type_or_value: "68\t\t"
    - item_type: preproc_def
      name: IPOPT_RFC1393
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/ip.h
      type_or_value: '82              '
    - item_type: preproc_def
      name: IPOPT_SECURITY
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/ip.h
      type_or_value: "130\t\t"
    - item_type: preproc_def
      name: IPOPT_LSRR
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/ip.h
      type_or_value: "131\t\t"
    - item_type: preproc_def
      name: IPOPT_SSRR
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/ip.h
      type_or_value: "137\t\t"
    - item_type: preproc_def
      name: IPOPT_RA
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/ip.h
      type_or_value: '148             '
    - item_type: preproc_def
      name: IPOPT_OPTVAL
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/ip.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: IPOPT_OLEN
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/ip.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: IPOPT_OFFSET
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/ip.h
      type_or_value: "2\t\t"
    - item_type: preproc_def
      name: IPOPT_MINOFF
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/ip.h
      type_or_value: "4\t\t"
    - item_type: preproc_def
      name: IPOPT_TS_TSONLY
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/ip.h
      type_or_value: "0\t\t"
    - item_type: preproc_def
      name: IPOPT_TS_TSANDADDR
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/ip.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: IPOPT_TS_PRESPEC
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/ip.h
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: IPOPT_SECUR_UNCLASS
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x0000'
    - item_type: preproc_def
      name: IPOPT_SECUR_CONFID
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/ip.h
      type_or_value: '0xf135'
    - item_type: preproc_def
      name: IPOPT_SECUR_EFTO
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x789a'
    - item_type: preproc_def
      name: IPOPT_SECUR_MMMM
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/ip.h
      type_or_value: '0xbc4d'
    - item_type: preproc_def
      name: IPOPT_SECUR_RESTR
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/ip.h
      type_or_value: '0xaf13'
    - item_type: preproc_def
      name: IPOPT_SECUR_SECRET
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/ip.h
      type_or_value: '0xd788'
    - item_type: preproc_def
      name: IPOPT_SECUR_TOPSECRET
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/ip.h
      type_or_value: '0x6bc5'
    - item_type: preproc_def
      name: MAXTTL
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/ip.h
      type_or_value: "255\t\t"
    - item_type: preproc_def
      name: IPDEFTTL
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/ip.h
      type_or_value: "64\t\t"
    - item_type: preproc_def
      name: IPFRAGTTL
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/ip.h
      type_or_value: "60\t\t"
    - item_type: preproc_def
      name: IPTTLDEC
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/ip.h
      type_or_value: "1\t\t"
    - item_type: preproc_def
      name: IP_MSS
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/ip.h
      type_or_value: "576\t\t"
    structs:
    - fields:
      - name: ip_vhl
        type: nd_uint8_t
      - name: ip_tos
        type: nd_uint8_t
      - name: ip_len
        type: nd_uint16_t
      - name: ip_id
        type: nd_uint16_t
      - name: ip_off
        type: nd_uint16_t
      - name: ip_ttl
        type: nd_uint8_t
      - name: ip_p
        type: nd_uint8_t
      - name: ip_sum
        type: nd_uint16_t
      - name: ip_src
        type: nd_ipv4
      item_type: struct
      name: ip
      pos:
        line_end: 66
        line_start: 51
        source_file: /src/tcpdump/ip.h
    - fields:
      - name: ipt_code
        type: nd_uint8_t
      - name: ipt_len
        type: nd_uint8_t
      - name: ipt_ptr
        type: nd_uint8_t
      - name: ipt_oflwflg
        type: nd_uint8_t
      - name: ipt_timestamp
        type: "union ipt_timestamp {\n\t\tnd_uint32_t ipt_time[1];\n\t\tstruct\tipt_ta
          {\n\t\t\tnd_ipv4 ipt_addr;\n\t\t\tnd_uint32_t ipt_time;\n\t\t} ipt_ta[1];\n\t}"
      item_type: struct
      name: ip_timestamp
      pos:
        line_end: 137
        line_start: 123
        source_file: /src/tcpdump/ip.h
    - fields:
      - name: ipt_addr
        type: nd_ipv4
      - name: ipt_time
        type: nd_uint32_t
      item_type: struct
      name: ipt_ta
      pos:
        line_end: 135
        line_start: 132
        source_file: /src/tcpdump/ip.h
    typedefs: []
    union:
    - fields:
      - name: ipt_time[1]
        type: nd_uint32_t
      - name: ipt_ta[1]
        type: "struct\tipt_ta {\n\t\t\tnd_ipv4 ipt_addr;\n\t\t\tnd_uint32_t ipt_time;\n\t\t}"
      item_type: union
      name: ipt_timestamp
      pos:
        line_end: 136
        line_start: 130
        source_file: /src/tcpdump/ip.h
- function_names:
  - CFM_EXTRACT_VERSION
  - CFM_EXTRACT_MD_LEVEL
  - CFM_EXTRACT_CCM_INTERVAL
  - cfm_network_addr_print
  - cfm_print
  source_file: /src/tcpdump/print-cfm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CFM_VERSION
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CFM_OPCODE_CCM
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CFM_OPCODE_LBR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CFM_OPCODE_LBM
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CFM_OPCODE_LTR
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '4'
    - item_type: preproc_def
      name: CFM_OPCODE_LTM
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '5'
    - item_type: preproc_def
      name: CCM_INTERVAL_MIN_MULTIPLIER
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '3.25'
    - item_type: preproc_def
      name: CCM_INTERVAL_MAX_MULTIPLIER
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '3.5'
    - item_type: preproc_def
      name: CFM_CCM_RDI_FLAG
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: CFM_CCM_MD_FORMAT_8021
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CFM_CCM_MD_FORMAT_NONE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CFM_CCM_MD_FORMAT_DNS
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CFM_CCM_MD_FORMAT_MAC
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CFM_CCM_MD_FORMAT_CHAR
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '4'
    - item_type: preproc_def
      name: CFM_CCM_MA_FORMAT_8021
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CFM_CCM_MA_FORMAT_VID
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CFM_CCM_MA_FORMAT_CHAR
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CFM_CCM_MA_FORMAT_INT
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CFM_CCM_MA_FORMAT_VPN
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '4'
    - item_type: preproc_def
      name: CFM_TLV_END
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '0'
    - item_type: preproc_def
      name: CFM_TLV_SENDER_ID
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CFM_TLV_PORT_STATUS
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CFM_TLV_INTERFACE_STATUS
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CFM_TLV_DATA
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '4'
    - item_type: preproc_def
      name: CFM_TLV_REPLY_INGRESS
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '5'
    - item_type: preproc_def
      name: CFM_TLV_REPLY_EGRESS
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '6'
    - item_type: preproc_def
      name: CFM_TLV_PRIVATE
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '31'
    - item_type: preproc_def
      name: CFM_CHASSIS_ID_CHASSIS_COMPONENT
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CFM_CHASSIS_ID_INTERFACE_ALIAS
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CFM_CHASSIS_ID_PORT_COMPONENT
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CFM_CHASSIS_ID_MAC_ADDRESS
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '4'
    - item_type: preproc_def
      name: CFM_CHASSIS_ID_NETWORK_ADDRESS
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '5'
    - item_type: preproc_def
      name: CFM_CHASSIS_ID_INTERFACE_NAME
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '6'
    - item_type: preproc_def
      name: CFM_CHASSIS_ID_LOCAL
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/tcpdump/print-cfm.c
      type_or_value: '7'
    structs:
    - fields:
      - name: mdlevel_version
        type: nd_uint8_t
      - name: opcode
        type: nd_uint8_t
      - name: flags
        type: nd_uint8_t
      - name: first_tlv_offset
        type: nd_uint8_t
      item_type: struct
      name: cfm_common_header_t
      pos:
        line_end: 35
        line_start: 30
        source_file: /src/tcpdump/print-cfm.c
    - fields:
      - name: sequence
        type: nd_uint32_t
      - name: ma_epi
        type: nd_uint16_t
      - name: names[48]
        type: nd_byte
      - name: itu_t_y_1731[16]
        type: nd_byte
      item_type: struct
      name: cfm_ccm_t
      pos:
        line_end: 64
        line_start: 59
        source_file: /src/tcpdump/print-cfm.c
    - fields:
      - name: transaction_id
        type: nd_uint32_t
      item_type: struct
      name: cfm_lbm_t
      pos:
        line_end: 109
        line_start: 107
        source_file: /src/tcpdump/print-cfm.c
    - fields:
      - name: transaction_id
        type: nd_uint32_t
      - name: ttl
        type: nd_uint8_t
      - name: original_mac
        type: nd_mac48
      - name: target_mac
        type: nd_mac48
      item_type: struct
      name: cfm_ltm_t
      pos:
        line_end: 116
        line_start: 111
        source_file: /src/tcpdump/print-cfm.c
    - fields:
      - name: transaction_id
        type: nd_uint32_t
      - name: ttl
        type: nd_uint8_t
      - name: replay_action
        type: nd_uint8_t
      item_type: struct
      name: cfm_ltr_t
      pos:
        line_end: 127
        line_start: 123
        source_file: /src/tcpdump/print-cfm.c
    - fields:
      - name: type
        type: nd_uint8_t
      - name: length
        type: nd_uint16_t
      item_type: struct
      name: cfm_tlv_header_t
      pos:
        line_end: 172
        line_start: 169
        source_file: /src/tcpdump/print-cfm.c
    typedefs: []
    union:
    - fields:
      - name: '*cfm_ccm'
        type: struct cfm_ccm_t
      - name: '*cfm_lbm'
        type: struct cfm_lbm_t
      - name: '*cfm_ltm'
        type: struct cfm_ltm_t
      - name: '*cfm_ltr'
        type: struct cfm_ltr_t
      item_type: union
      name: msg_ptr
      pos:
        line_end: 287
        line_start: 282
        source_file: /src/tcpdump/print-cfm.c
- function_names:
  - p_ntp_time_fmt
  - p_ntp_time
  source_file: /src/tcpdump/ntp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIFF_1970_1900
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/tcpdump/ntp.c
      type_or_value: 'INT64_C(2208988800) '
    - item_type: preproc_def
      name: DIFF_2036_1970
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/ntp.c
      type_or_value: 'INT64_C(2085978496) '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/smb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMBmkdir
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x00   '
    - item_type: preproc_def
      name: SMBrmdir
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x01   '
    - item_type: preproc_def
      name: SMBopen
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x02   '
    - item_type: preproc_def
      name: SMBcreate
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x03   '
    - item_type: preproc_def
      name: SMBclose
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x04   '
    - item_type: preproc_def
      name: SMBflush
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x05   '
    - item_type: preproc_def
      name: SMBunlink
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x06   '
    - item_type: preproc_def
      name: SMBmv
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x07   '
    - item_type: preproc_def
      name: SMBgetatr
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x08   '
    - item_type: preproc_def
      name: SMBsetatr
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x09   '
    - item_type: preproc_def
      name: SMBread
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x0A   '
    - item_type: preproc_def
      name: SMBwrite
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x0B   '
    - item_type: preproc_def
      name: SMBlock
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x0C   '
    - item_type: preproc_def
      name: SMBunlock
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x0D   '
    - item_type: preproc_def
      name: SMBctemp
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x0E   '
    - item_type: preproc_def
      name: SMBmknew
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x0F   '
    - item_type: preproc_def
      name: SMBchkpth
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x10   '
    - item_type: preproc_def
      name: SMBexit
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x11   '
    - item_type: preproc_def
      name: SMBlseek
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x12   '
    - item_type: preproc_def
      name: SMBtcon
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x70   '
    - item_type: preproc_def
      name: SMBtconX
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x75   '
    - item_type: preproc_def
      name: SMBtdis
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x71   '
    - item_type: preproc_def
      name: SMBnegprot
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x72   '
    - item_type: preproc_def
      name: SMBdskattr
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x80   '
    - item_type: preproc_def
      name: SMBsearch
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x81   '
    - item_type: preproc_def
      name: SMBsplopen
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xC0   '
    - item_type: preproc_def
      name: SMBsplwr
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xC1   '
    - item_type: preproc_def
      name: SMBsplclose
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xC2   '
    - item_type: preproc_def
      name: SMBsplretq
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xC3   '
    - item_type: preproc_def
      name: SMBsends
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xD0   '
    - item_type: preproc_def
      name: SMBsendb
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xD1   '
    - item_type: preproc_def
      name: SMBfwdname
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xD2   '
    - item_type: preproc_def
      name: SMBcancelf
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xD3   '
    - item_type: preproc_def
      name: SMBgetmac
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xD4   '
    - item_type: preproc_def
      name: SMBsendstrt
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xD5   '
    - item_type: preproc_def
      name: SMBsendend
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xD6   '
    - item_type: preproc_def
      name: SMBsendtxt
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xD7   '
    - item_type: preproc_def
      name: SMBlockread
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x13   '
    - item_type: preproc_def
      name: SMBwriteunlock
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x14 '
    - item_type: preproc_def
      name: SMBreadbraw
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x1a  '
    - item_type: preproc_def
      name: SMBwritebraw
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x1d  '
    - item_type: preproc_def
      name: SMBwritec
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x20  '
    - item_type: preproc_def
      name: SMBwriteclose
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x2c  '
    - item_type: preproc_def
      name: SMBreadBraw
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x1A   '
    - item_type: preproc_def
      name: SMBreadBmpx
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x1B   '
    - item_type: preproc_def
      name: SMBreadBs
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x1C   '
    - item_type: preproc_def
      name: SMBwriteBraw
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x1D   '
    - item_type: preproc_def
      name: SMBwriteBmpx
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x1E   '
    - item_type: preproc_def
      name: SMBwriteBs
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x1F   '
    - item_type: preproc_def
      name: SMBwriteC
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x20   '
    - item_type: preproc_def
      name: SMBsetattrE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x22   '
    - item_type: preproc_def
      name: SMBgetattrE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x23   '
    - item_type: preproc_def
      name: SMBlockingX
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x24   '
    - item_type: preproc_def
      name: SMBtrans
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x25   '
    - item_type: preproc_def
      name: SMBtranss
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x26   '
    - item_type: preproc_def
      name: SMBioctl
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x27   '
    - item_type: preproc_def
      name: SMBioctls
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x28   '
    - item_type: preproc_def
      name: SMBcopy
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x29   '
    - item_type: preproc_def
      name: SMBmove
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x2A   '
    - item_type: preproc_def
      name: SMBecho
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x2B   '
    - item_type: preproc_def
      name: SMBopenX
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x2D   '
    - item_type: preproc_def
      name: SMBreadX
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x2E   '
    - item_type: preproc_def
      name: SMBwriteX
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x2F   '
    - item_type: preproc_def
      name: SMBsesssetupX
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x73   '
    - item_type: preproc_def
      name: SMBffirst
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x82   '
    - item_type: preproc_def
      name: SMBfunique
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x83   '
    - item_type: preproc_def
      name: SMBfclose
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x84   '
    - item_type: preproc_def
      name: SMBinvalid
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xFE   '
    - item_type: preproc_def
      name: SMBtrans2
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x32   '
    - item_type: preproc_def
      name: SMBtranss2
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x33   '
    - item_type: preproc_def
      name: SMBfindclose
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x34   '
    - item_type: preproc_def
      name: SMBfindnclose
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x35   '
    - item_type: preproc_def
      name: SMBulogoffX
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/smb.h
      type_or_value: '0x74   '
    - item_type: preproc_def
      name: SMBnttrans
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xA0   '
    - item_type: preproc_def
      name: SMBnttranss
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xA1   '
    - item_type: preproc_def
      name: SMBntcreateX
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xA2   '
    - item_type: preproc_def
      name: SMBntcancel
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/smb.h
      type_or_value: '0xA4   '
    - item_type: preproc_def
      name: pSETDIR
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/smb.h
      type_or_value: '''\377'''
    - item_type: preproc_def
      name: TRANSACT2_OPEN
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/smb.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TRANSACT2_FINDFIRST
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/smb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TRANSACT2_FINDNEXT
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/smb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TRANSACT2_QFSINFO
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/smb.h
      type_or_value: '3'
    - item_type: preproc_def
      name: TRANSACT2_SETFSINFO
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/smb.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TRANSACT2_QPATHINFO
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/smb.h
      type_or_value: '5'
    - item_type: preproc_def
      name: TRANSACT2_SETPATHINFO
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/smb.h
      type_or_value: '6'
    - item_type: preproc_def
      name: TRANSACT2_QFILEINFO
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/smb.h
      type_or_value: '7'
    - item_type: preproc_def
      name: TRANSACT2_SETFILEINFO
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/smb.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TRANSACT2_FSCTL
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/smb.h
      type_or_value: '9'
    - item_type: preproc_def
      name: TRANSACT2_IOCTL
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/smb.h
      type_or_value: '10'
    - item_type: preproc_def
      name: TRANSACT2_FINDNOTIFYFIRST
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/smb.h
      type_or_value: '11'
    - item_type: preproc_def
      name: TRANSACT2_FINDNOTIFYNEXT
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/smb.h
      type_or_value: '12'
    - item_type: preproc_def
      name: TRANSACT2_MKDIR
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/smb.h
      type_or_value: '13'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ftp_print
  source_file: /src/tcpdump/print-ftp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bgp_attr_lenlen
  - bgp_attr_len
  - as_printf
  - ITEMCHECK
  - decode_prefix4
  - print_labeled_prefix4
  - bgp_vpn_ip_print
  - bgp_vpn_sg_print
  - bgp_vpn_rd_print
  - bgp_extended_community_print
  - bgp_rt_prefix_print
  - print_rt_routing_info
  - print_labeled_vpn_prefix4
  - print_mdt_vpn_nlri
  - print_multicast_vpn
  - print_labeled_vpn_l2
  - decode_prefix6
  - print_labeled_prefix6
  - print_labeled_vpn_prefix6
  - print_clnp_prefix
  - print_labeled_vpn_clnp_prefix
  - bgp_attr_get_as_size
  - check_add_path
  - bgp_mp_af_print
  - bgp_nlri_print
  - bgp_attr_print
  - bgp_capabilities_print
  - bgp_open_print
  - bgp_update_print
  - bgp_notification_print_code
  - bgp_notification_print
  - bgp_route_refresh_print
  - bgp_pdu_print
  - bgp_print
  source_file: /src/tcpdump/print-bgp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BGP_SIZE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '19    '
    - item_type: preproc_def
      name: BGP_OPEN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BGP_UPDATE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BGP_NOTIFICATION
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: BGP_KEEPALIVE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BGP_ROUTE_REFRESH
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BGP_OPEN_SIZE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '29    '
    - item_type: preproc_def
      name: BGP_OPT_SIZE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2    '
    - item_type: preproc_def
      name: BGP_CAP_HEADER_SIZE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2    '
    - item_type: preproc_def
      name: BGP_NOTIFICATION_SIZE
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '21    '
    - item_type: preproc_def
      name: BGP_ROUTE_REFRESH_SIZE
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '23'
    - item_type: preproc_def
      name: BGP_ROUTE_REFRESH_SIZE_ORF
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: BGP_ROUTE_REFRESH_SIZE + 5
    - item_type: preproc_def
      name: BGP_ROUTE_REFRESH_SUBTYPE_NORMAL
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: BGP_ROUTE_REFRESH_SUBTYPE_BORR
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BGP_ROUTE_REFRESH_SUBTYPE_EORR
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BGP_ROUTE_REFRESH_SUBTYPE_RESERVED
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '255'
    - item_type: preproc_def
      name: BGPTYPE_ORIGIN
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BGPTYPE_AS_PATH
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BGPTYPE_NEXT_HOP
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: BGPTYPE_MULTI_EXIT_DISC
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BGPTYPE_LOCAL_PREF
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BGPTYPE_ATOMIC_AGGREGATE
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: BGPTYPE_AGGREGATOR
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: BGPTYPE_COMMUNITIES
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '8    '
    - item_type: preproc_def
      name: BGPTYPE_ORIGINATOR_ID
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '9    '
    - item_type: preproc_def
      name: BGPTYPE_CLUSTER_LIST
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '10    '
    - item_type: preproc_def
      name: BGPTYPE_MP_REACH_NLRI
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '14    '
    - item_type: preproc_def
      name: BGPTYPE_MP_UNREACH_NLRI
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '15    '
    - item_type: preproc_def
      name: BGPTYPE_EXTD_COMMUNITIES
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '16    '
    - item_type: preproc_def
      name: BGPTYPE_AS4_PATH
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '17    '
    - item_type: preproc_def
      name: BGPTYPE_AGGREGATOR4
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '18    '
    - item_type: preproc_def
      name: BGPTYPE_PMSI_TUNNEL
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '22    '
    - item_type: preproc_def
      name: BGPTYPE_TUNNEL_ENCAP
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '23    '
    - item_type: preproc_def
      name: BGPTYPE_TRAFFIC_ENG
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '24    '
    - item_type: preproc_def
      name: BGPTYPE_IPV6_EXTD_COMMUNITIES
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '25    '
    - item_type: preproc_def
      name: BGPTYPE_AIGP
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '26    '
    - item_type: preproc_def
      name: BGPTYPE_PE_DISTINGUISHER_LABEL
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '27    '
    - item_type: preproc_def
      name: BGPTYPE_ENTROPY_LABEL
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '28    '
    - item_type: preproc_def
      name: BGPTYPE_LARGE_COMMUNITY
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '32    '
    - item_type: preproc_def
      name: BGPTYPE_BGPSEC_PATH
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '33    '
    - item_type: preproc_def
      name: BGPTYPE_OTC
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '35    '
    - item_type: preproc_def
      name: BGPTYPE_ATTR_SET
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '128    '
    - item_type: preproc_def
      name: BGP_MP_NLRI_MINSIZE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '3    '
    - item_type: preproc_def
      name: BGP_AS_SET
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BGP_AS_SEQUENCE
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BGP_CONFED_AS_SEQUENCE
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: BGP_CONFED_AS_SET
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: BGP_AS_SEG_TYPE_MIN
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: BGP_AS_SET
    - item_type: preproc_def
      name: BGP_AS_SEG_TYPE_MAX
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: BGP_CONFED_AS_SET
    - item_type: preproc_def
      name: BGP_OPT_AUTH
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BGP_OPT_CAP
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BGP_CAPCODE_MP
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: BGP_CAPCODE_RR
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: BGP_CAPCODE_ORF
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: BGP_CAPCODE_MR
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: BGP_CAPCODE_EXT_NH
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '5 '
    - item_type: preproc_def
      name: BGP_CAPCODE_EXT_MSG
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '6 '
    - item_type: preproc_def
      name: BGP_CAPCODE_BGPSEC
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '7 '
    - item_type: preproc_def
      name: BGP_CAPCODE_ML
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: BGP_CAPCODE_ROLE
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '9 '
    - item_type: preproc_def
      name: BGP_CAPCODE_RESTART
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '64 '
    - item_type: preproc_def
      name: BGP_CAPCODE_AS_NEW
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '65 '
    - item_type: preproc_def
      name: BGP_CAPCODE_DYN_CAP
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '67 '
    - item_type: preproc_def
      name: BGP_CAPCODE_MULTISESS
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '68 '
    - item_type: preproc_def
      name: BGP_CAPCODE_ADD_PATH
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '69 '
    - item_type: preproc_def
      name: BGP_CAPCODE_ENH_RR
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '70 '
    - item_type: preproc_def
      name: BGP_CAPCODE_LLGR
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '71 '
    - item_type: preproc_def
      name: BGP_CAPCODE_RR_CISCO
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '128'
    - item_type: preproc_def
      name: BGP_NOTIFY_MAJOR_MSG
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BGP_NOTIFY_MAJOR_OPEN
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BGP_NOTIFY_MAJOR_UPDATE
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: BGP_NOTIFY_MAJOR_HOLDTIME
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BGP_NOTIFY_MAJOR_FSM
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BGP_NOTIFY_MAJOR_CEASE
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: BGP_NOTIFY_MAJOR_ROUTEREFRESH
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: BGP_NOTIFY_MAJOR_SENDHOLDTIME
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: BGP_NOTIFY_MINOR_CEASE_MAXPRFX
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BGP_NOTIFY_MINOR_CEASE_SHUT
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BGP_NOTIFY_MINOR_CEASE_RESET
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BGP_NOTIFY_MINOR_CEASE_HARDRESET
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: BGP_PMSI_TUNNEL_RSVP_P2MP
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BGP_PMSI_TUNNEL_LDP_P2MP
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BGP_PMSI_TUNNEL_PIM_SSM
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: BGP_PMSI_TUNNEL_PIM_SM
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BGP_PMSI_TUNNEL_PIM_BIDIR
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BGP_PMSI_TUNNEL_INGRESS
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: BGP_PMSI_TUNNEL_LDP_MP2MP
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: BGP_AIGP_TLV
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BGP_ROLE_PROVIDER
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: BGP_ROLE_RS
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BGP_ROLE_RS_CLIENT
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BGP_ROLE_CUSTOMER
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: BGP_ROLE_PEER
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SAFNUM_RES
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SAFNUM_UNICAST
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SAFNUM_MULTICAST
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SAFNUM_UNIMULTICAST
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '3       '
    - item_type: preproc_def
      name: SAFNUM_LABUNICAST
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SAFNUM_MULTICAST_VPN
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: SAFNUM_TUNNEL
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '64'
    - item_type: preproc_def
      name: SAFNUM_VPLS
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '65'
    - item_type: preproc_def
      name: SAFNUM_MDT
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '66'
    - item_type: preproc_def
      name: SAFNUM_EVPN
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '70'
    - item_type: preproc_def
      name: SAFNUM_VPNUNICAST
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '128'
    - item_type: preproc_def
      name: SAFNUM_VPNMULTICAST
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '129'
    - item_type: preproc_def
      name: SAFNUM_VPNUNIMULTICAST
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '130     '
    - item_type: preproc_def
      name: SAFNUM_RT_ROUTING_INFO
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '132'
    - item_type: preproc_def
      name: BGP_VPN_RD_LEN
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: BGP_COMMUNITY_NO_EXPORT
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0xffffff01'
    - item_type: preproc_def
      name: BGP_COMMUNITY_NO_ADVERT
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0xffffff02'
    - item_type: preproc_def
      name: BGP_COMMUNITY_NO_EXPORT_SUBCONFED
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0xffffff03'
    - item_type: preproc_def
      name: BGP_EXT_COM_RT_0
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x0002  '
    - item_type: preproc_def
      name: BGP_EXT_COM_RT_1
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x0102  '
    - item_type: preproc_def
      name: BGP_EXT_COM_RT_2
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x0202  '
    - item_type: preproc_def
      name: BGP_EXT_COM_RO_0
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x0003  '
    - item_type: preproc_def
      name: BGP_EXT_COM_RO_1
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x0103  '
    - item_type: preproc_def
      name: BGP_EXT_COM_RO_2
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x0203  '
    - item_type: preproc_def
      name: BGP_EXT_COM_LINKBAND
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x4004  '
    - item_type: preproc_def
      name: BGP_EXT_COM_OVS
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x4300  '
    - item_type: preproc_def
      name: BGP_EXT_COM_VPN_ORIGIN
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x0005  '
    - item_type: preproc_def
      name: BGP_EXT_COM_VPN_ORIGIN2
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x0105  '
    - item_type: preproc_def
      name: BGP_EXT_COM_VPN_ORIGIN3
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x0205  '
    - item_type: preproc_def
      name: BGP_EXT_COM_VPN_ORIGIN4
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x8005  '
    - item_type: preproc_def
      name: BGP_EXT_COM_OSPF_RTYPE
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x0306  '
    - item_type: preproc_def
      name: BGP_EXT_COM_OSPF_RTYPE2
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x8000  '
    - item_type: preproc_def
      name: BGP_EXT_COM_ENCAP
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x030c  '
    - item_type: preproc_def
      name: BGP_EXT_COM_OSPF_RID
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x0107  '
    - item_type: preproc_def
      name: BGP_EXT_COM_OSPF_RID2
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x8001  '
    - item_type: preproc_def
      name: BGP_EXT_COM_L2INFO
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x800a  '
    - item_type: preproc_def
      name: BGP_EXT_COM_SOURCE_AS
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x0009  '
    - item_type: preproc_def
      name: BGP_EXT_COM_VRF_RT_IMP
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x010b  '
    - item_type: preproc_def
      name: BGP_EXT_COM_L2VPN_RT_0
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x000a  '
    - item_type: preproc_def
      name: BGP_EXT_COM_L2VPN_RT_1
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0xF10a  '
    - item_type: preproc_def
      name: BGP_EXT_COM_EIGRP_GEN
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x8800'
    - item_type: preproc_def
      name: BGP_EXT_COM_EIGRP_METRIC_AS_DELAY
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x8801'
    - item_type: preproc_def
      name: BGP_EXT_COM_EIGRP_METRIC_REL_NH_BW
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x8802'
    - item_type: preproc_def
      name: BGP_EXT_COM_EIGRP_METRIC_LOAD_MTU
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x8803'
    - item_type: preproc_def
      name: BGP_EXT_COM_EIGRP_EXT_REMAS_REMID
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x8804'
    - item_type: preproc_def
      name: BGP_EXT_COM_EIGRP_EXT_REMPROTO_REMMETRIC
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x8805'
    - item_type: preproc_def
      name: BGP_OPEN_NON_EXT_OPT_TYPE_EXTENDED_LENGTH
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '255 '
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_L2TPV3_IP
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_GRE
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_TRANSMIT
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_IPSEC
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_IP_IPSEC
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_MPLS_IP
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_IP_IP
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_VXLAN
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_NVGRE
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_MPLS
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_MPLS_GRE
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_VXLAN_GPE
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_MPLS_UDP
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_IPV6
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_SR_TE
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '15'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_BARE
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '16'
    - item_type: preproc_def
      name: BGP_ENCAP_TUNNEL_SR
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '17'
    - item_type: preproc_def
      name: BGP_OSPF_RTYPE_RTR
      pos:
        line_end: 607
        line_start: 606
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: BGP_OSPF_RTYPE_NET
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: BGP_OSPF_RTYPE_SUM
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: BGP_OSPF_RTYPE_EXT
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '5 '
    - item_type: preproc_def
      name: BGP_OSPF_RTYPE_NSSA
      pos:
        line_end: 611
        line_start: 610
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '7 '
    - item_type: preproc_def
      name: BGP_OSPF_RTYPE_SHAM
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '129 '
    - item_type: preproc_def
      name: BGP_OSPF_RTYPE_METRIC_TYPE
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: AS_STR_SIZE
      pos:
        line_end: 645
        line_start: 644
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: sizeof("xxxxx.xxxxx")
    - item_type: preproc_def
      name: MDT_VPN_NLRI_LEN
      pos:
        line_end: 1189
        line_start: 1188
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '16'
    - item_type: preproc_def
      name: BGP_MULTICAST_VPN_ROUTE_TYPE_INTRA_AS_I_PMSI
      pos:
        line_end: 1225
        line_start: 1224
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BGP_MULTICAST_VPN_ROUTE_TYPE_INTER_AS_I_PMSI
      pos:
        line_end: 1226
        line_start: 1225
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BGP_MULTICAST_VPN_ROUTE_TYPE_S_PMSI
      pos:
        line_end: 1227
        line_start: 1226
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: BGP_MULTICAST_VPN_ROUTE_TYPE_INTRA_AS_SEG_LEAF
      pos:
        line_end: 1228
        line_start: 1227
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BGP_MULTICAST_VPN_ROUTE_TYPE_SOURCE_ACTIVE
      pos:
        line_end: 1229
        line_start: 1228
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BGP_MULTICAST_VPN_ROUTE_TYPE_SHARED_TREE_JOIN
      pos:
        line_end: 1230
        line_start: 1229
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: BGP_MULTICAST_VPN_ROUTE_TYPE_SOURCE_TREE_JOIN
      pos:
        line_end: 1231
        line_start: 1230
        source_file: /src/tcpdump/print-bgp.c
      type_or_value: '7'
    structs:
    - fields:
      - name: bgp_marker[16]
        type: nd_byte
      - name: bgp_len
        type: nd_uint16_t
      - name: bgp_type
        type: nd_uint8_t
      item_type: struct
      name: bgp
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/tcpdump/print-bgp.c
    - fields:
      - name: bgpo_marker[16]
        type: nd_byte
      - name: bgpo_len
        type: nd_uint16_t
      - name: bgpo_type
        type: nd_uint8_t
      - name: bgpo_version
        type: nd_uint8_t
      - name: bgpo_myas
        type: nd_uint16_t
      - name: bgpo_holdtime
        type: nd_uint16_t
      - name: bgpo_id
        type: nd_uint32_t
      - name: bgpo_optlen
        type: nd_uint8_t
      - name: bgpo_opttype
        type: nd_uint8_t
      - name: bgpo_optlen_extended
        type: nd_uint16_t
      item_type: struct
      name: bgp_open
      pos:
        line_end: 83
        line_start: 71
        source_file: /src/tcpdump/print-bgp.c
    - fields:
      - name: bgpopt_type
        type: nd_uint8_t
      - name: bgpopt_len
        type: nd_uint16_t
      item_type: struct
      name: bgp_opt
      pos:
        line_end: 90
        line_start: 86
        source_file: /src/tcpdump/print-bgp.c
    - fields:
      - name: bgpn_marker[16]
        type: nd_byte
      - name: bgpn_len
        type: nd_uint16_t
      - name: bgpn_type
        type: nd_uint8_t
      - name: bgpn_major
        type: nd_uint8_t
      - name: bgpn_minor
        type: nd_uint8_t
      item_type: struct
      name: bgp_notification
      pos:
        line_end: 100
        line_start: 94
        source_file: /src/tcpdump/print-bgp.c
    - fields:
      - name: refresh
        type: nd_uint8_t
      - name: type
        type: nd_uint8_t
      - name: len
        type: nd_uint16_t
      item_type: struct
      name: bgp_route_refresh_orf
      pos:
        line_end: 107
        line_start: 103
        source_file: /src/tcpdump/print-bgp.c
    - fields:
      - name: bgp_marker[16]
        type: nd_byte
      - name: len
        type: nd_uint16_t
      - name: type
        type: nd_uint8_t
      - name: afi
        type: nd_uint16_t
      - name: subtype
        type: nd_uint8_t
      - name: safi
        type: nd_uint8_t
      item_type: struct
      name: bgp_route_refresh
      pos:
        line_end: 116
        line_start: 109
        source_file: /src/tcpdump/print-bgp.c
    typedefs: []
    union: []
- function_names:
  - aoev1_issue_print
  - aoev1_query_print
  - aoev1_mac_print
  - aoev1_reserve_print
  - aoev1_print
  - aoe_print
  source_file: /src/tcpdump/print-aoe.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AOE_V1
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ATA_SECTOR_SIZE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '512'
    - item_type: preproc_def
      name: AOEV1_CMD_ISSUE_ATA_COMMAND
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '0'
    - item_type: preproc_def
      name: AOEV1_CMD_QUERY_CONFIG_INFORMATION
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AOEV1_CMD_MAC_MASK_LIST
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '2'
    - item_type: preproc_def
      name: AOEV1_CMD_RESERVE_RELEASE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '3'
    - item_type: preproc_def
      name: AOEV1_COMMON_HDR_LEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '10U '
    - item_type: preproc_def
      name: AOEV1_ISSUE_ARG_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '12U '
    - item_type: preproc_def
      name: AOEV1_QUERY_ARG_LEN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '8U '
    - item_type: preproc_def
      name: AOEV1_MAC_ARG_LEN
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '4U '
    - item_type: preproc_def
      name: AOEV1_RESERVE_ARG_LEN
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '2U '
    - item_type: preproc_def
      name: AOEV1_MAX_CONFSTR_LEN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: 1024U
    - item_type: preproc_def
      name: AOEV1_FLAG_R
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: AOEV1_FLAG_E
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: AOEV1_AFLAG_E
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: AOEV1_AFLAG_D
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: AOEV1_AFLAG_A
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: AOEV1_AFLAG_W
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-aoe.c
      type_or_value: '0x01'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ENC_PRINT_TYPE
  - SWAPLONG
  - enc_if_print
  source_file: /src/tcpdump/print-enc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENC_HDRLEN
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-enc.c
      type_or_value: '12'
    - item_type: preproc_def
      name: M_CONF
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-enc.c
      type_or_value: '0x0400  '
    - item_type: preproc_def
      name: M_AUTH
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-enc.c
      type_or_value: '0x0800  '
    structs:
    - fields:
      - name: af
        type: nd_uint32_t
      - name: spi
        type: nd_uint32_t
      - name: flags
        type: nd_uint32_t
      item_type: struct
      name: enchdr
      pos:
        line_end: 79
        line_start: 75
        source_file: /src/tcpdump/print-enc.c
    typedefs: []
    union: []
- function_names:
  - loopback_message_print
  - loopback_print
  source_file: /src/tcpdump/print-loopback.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOOPBACK_REPLY
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-loopback.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LOOPBACK_FWDDATA
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-loopback.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - bt_if_print
  source_file: /src/tcpdump/print-bt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BT_HDRLEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-bt.c
      type_or_value: sizeof(bluetooth_h4_header)
    structs:
    - fields:
      - name: direction
        type: nd_uint32_t
      item_type: struct
      name: _bluetooth_h4_header
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/tcpdump/print-bt.c
    typedefs: []
    union: []
- function_names:
  - rrcp_print
  - rtl_print
  source_file: /src/tcpdump/print-realtek.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RTL_PROTOCOL_OFFSET
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: RTL_PROTOCOL_RRCP
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: RTL_PROTOCOL_REP
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: RTL_PROTOCOL_RLDP
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "0x03\t"
    - item_type: preproc_def
      name: RTL_PROTOCOL_RLDP2
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "0x23\t"
    - item_type: preproc_def
      name: RTL_PROTOCOL_XXX_DSA
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "0x04\t"
    - item_type: preproc_def
      name: RTL_PROTOCOL_8306_DSA
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "0x90\t"
    - item_type: preproc_def
      name: RTL_PROTOCOL_8366RB_DSA
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "0xA0\t"
    - item_type: preproc_def
      name: RRCP_OPCODE_ISREPLY_OFFSET
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: RRCP_OPCODE_MASK
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "0x7F\t"
    - item_type: preproc_def
      name: RRCP_ISREPLY
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: RRCP_OPCODE_HELLO
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: RRCP_OPCODE_GET_CONFIGURATION
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: RRCP_OPCODE_SET_CONFIGURATION
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: RRCP_AUTHKEY_OFFSET
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: RRCP_REG_ADDR_OFFSET
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: RRCP_REG_DATA_OFFSET
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: RRCP_COOKIE1_OFFSET
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "10\t"
    - item_type: preproc_def
      name: RRCP_COOKIE2_OFFSET
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "14\t"
    - item_type: preproc_def
      name: RRCP_DOWNLINK_PORT_OFFSET
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: RRCP_UPLINK_PORT_OFFSET
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: RRCP_UPLINK_MAC_OFFSET
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: RRCP_CHIP_ID_OFFSET
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "12\t"
    - item_type: preproc_def
      name: RRCP_VENDOR_ID_OFFSET
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-realtek.c
      type_or_value: "14\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcap_set_parser_debug
  - exit_tcpdump
  - error
  - warning
  - show_tstamp_types_and_exit
  - show_dlts_and_exit
  - show_devices_and_exit
  - show_remote_devices_and_exit
  - droproot
  - getWflagChars
  - MakeFilename
  - get_next_file
  - capdns_setup
  - tstamp_precision_from_string
  - tstamp_precision_to_string
  - set_dumper_capsicum_rights
  - copy_argv
  - read_infile
  - parse_interface_number
  - find_interface_by_number
  - open_interface
  - parse_int
  - parse_u_int
  - parse_int64
  - (*setsignal (int sig, void (*func)(int)))(int)
  - cleanup
  - child_cleanup
  - info
  - fork_subprocess
  - fork_subprocess
  - compress_savefile
  - close_old_dump_file
  - open_new_dump_file
  - dump_packet_and_trunc
  - dump_packet
  - print_packet
  - requestinfo
  - flushpcap
  - print_packets_captured
  - verbose_stats_dump
  - verbose_stats_dump
  - print_version
  - print_usage
  source_file: /src/tcpdump/tcpdump.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATH_SEPARATOR
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: PATH_SEPARATOR
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '''/'''
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: SIGNAL_REQ_INFO
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: SIGINFO
    - item_type: preproc_def
      name: SIGNAL_REQ_INFO
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: SIGUSR1
    - item_type: preproc_def
      name: SIGNAL_FLUSH_PCAP
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: SIGUSR2
    - item_type: preproc_def
      name: j_FLAG
      pos:
        line_end: 627
        line_start: 626
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '"j:"'
    - item_type: preproc_def
      name: j_FLAG_USAGE
      pos:
        line_end: 628
        line_start: 627
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '" [ -j tstamptype ]"'
    - item_type: preproc_def
      name: J_FLAG
      pos:
        line_end: 629
        line_start: 628
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '"J"'
    - item_type: preproc_def
      name: m_FLAG
      pos:
        line_end: 637
        line_start: 636
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '"m:"'
    - item_type: preproc_def
      name: m_FLAG_USAGE
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '"[ -m module ] ..."'
    - item_type: preproc_def
      name: z_FLAG
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '"z:"'
    - item_type: preproc_def
      name: z_FLAG_USAGE
      pos:
        line_end: 645
        line_start: 644
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '"[ -z postrotate-command ] "'
    - item_type: preproc_def
      name: E_FLAG
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '"E:"'
    - item_type: preproc_def
      name: E_FLAG_USAGE
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '"[ -E algo:secret ] "'
    - item_type: preproc_def
      name: M_FLAG
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '"M:"'
    - item_type: preproc_def
      name: M_FLAG_USAGE
      pos:
        line_end: 655
        line_start: 654
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '"[ -M secret ] "'
    - item_type: preproc_def
      name: SHORTOPTS
      pos:
        line_end: 663
        line_start: 662
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '"aAbB:c:C:dDe" E_FLAG "fF:gG:hHi:I" j_FLAG J_FLAG "KlL" m_FLAG
        M_FLAG "nNOpqQ:r:s:StT:uUvV:w:W:xXy:Y" z_FLAG "Z:#"'
    - item_type: preproc_def
      name: OPTION_VERSION
      pos:
        line_end: 685
        line_start: 684
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '128'
    - item_type: preproc_def
      name: OPTION_TSTAMP_PRECISION
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '129'
    - item_type: preproc_def
      name: OPTION_IMMEDIATE_MODE
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '130'
    - item_type: preproc_def
      name: OPTION_PRINT
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '131'
    - item_type: preproc_def
      name: OPTION_LIST_REMOTE_INTERFACES
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '132'
    - item_type: preproc_def
      name: OPTION_TSTAMP_MICRO
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '133'
    - item_type: preproc_def
      name: OPTION_TSTAMP_NANO
      pos:
        line_end: 691
        line_start: 690
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '134'
    - item_type: preproc_def
      name: OPTION_FP_TYPE
      pos:
        line_end: 692
        line_start: 691
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '135'
    - item_type: preproc_def
      name: OPTION_COUNT
      pos:
        line_end: 693
        line_start: 692
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '136'
    - item_type: preproc_def
      name: OPTION_PRINT_SAMPLING
      pos:
        line_end: 694
        line_start: 693
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '137'
    - item_type: preproc_def
      name: OPTION_LENGTHS
      pos:
        line_end: 695
        line_start: 694
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '138'
    - item_type: preproc_def
      name: OPTION_TIME_T_SIZE
      pos:
        line_end: 696
        line_start: 695
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '139'
    - item_type: preproc_def
      name: OPTION_SKIP
      pos:
        line_end: 697
        line_start: 696
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '140'
    - item_type: preproc_def
      name: LIST_REMOTE_INTERFACES_USAGE
      pos:
        line_end: 747
        line_start: 746
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '" [ --list-remote-interfaces remote-source ]"'
    - item_type: preproc_def
      name: IMMEDIATE_MODE_USAGE
      pos:
        line_end: 753
        line_start: 752
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '" [ --immediate-mode ]"'
    - item_type: preproc_def
      name: IMMEDIATE_MODE_USAGE
      pos:
        line_end: 755
        line_start: 754
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '""'
    - item_type: preproc_def
      name: O_BINARY
      pos:
        line_end: 1068
        line_start: 1067
        source_file: /src/tcpdump/tcpdump.c
      type_or_value: '0'
    structs:
    - fields:
      - name: '*WFileName'
        type: char
      - name: '*CurrentFileName'
        type: char
      - name: '*pd'
        type: pcap_t
      - name: '*pdd'
        type: pcap_dumper_t
      - name: '*ndo'
        type: netdissect_options
      item_type: struct
      name: dump_info
      pos:
        line_end: 312
        line_start: 303
        source_file: /src/tcpdump/tcpdump.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/netdissect-alloc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*prev_mem_p'
        type: void
      item_type: struct
      name: nd_mem_chunk
      pos:
        line_end: 26
        line_start: 23
        source_file: /src/tcpdump/netdissect-alloc.h
    typedefs: []
    union: []
- function_names:
  - l_strnstart
  - beep_print
  source_file: /src/tcpdump/print-beep.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ntohl
  - ntohs
  - htonl
  - htons
  - __ntohl
  - __ntohs
  source_file: /src/tcpdump/netdissect-stdinc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: strtoint64_t
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: strtoll
    - item_type: preproc_def
      name: strtoint64_t
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: strtoll
    - item_type: preproc_def
      name: isatty
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: _isatty
    - item_type: preproc_def
      name: stat
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: _stat
    - item_type: preproc_def
      name: open
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: _open
    - item_type: preproc_def
      name: read
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: _read
    - item_type: preproc_def
      name: close
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: _close
    - item_type: preproc_def
      name: O_RDONLY
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: _O_RDONLY
    - item_type: preproc_def
      name: tzset
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: _tzset
    - item_type: preproc_def
      name: our_fstat
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: _fstati64
    - item_type: preproc_def
      name: our_statb
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: struct _stati64
    - item_type: preproc_def
      name: strdup
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: _strdup
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: __inline
    - item_type: preproc_def
      name: INET6_ADDRSTRLEN
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: '46'
    - item_type: preproc_def
      name: EAFNOSUPPORT
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: WSAEAFNOSUPPORT
    - item_type: preproc_def
      name: MAXHOSTNAMELEN
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: '64'
    - item_type: preproc_def
      name: our_fstat
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: fstat
    - item_type: preproc_def
      name: our_statb
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: struct stat
    - item_type: preproc_def
      name: strtoint64_t
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: strtoll
    - item_type: preproc_def
      name: FOPEN_READ_TXT
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: '"rt"'
    - item_type: preproc_def
      name: FOPEN_READ_BIN
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: '"rb"'
    - item_type: preproc_def
      name: FOPEN_WRITE_TXT
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: '"wt"'
    - item_type: preproc_def
      name: FOPEN_WRITE_BIN
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: '"wb"'
    - item_type: preproc_def
      name: FOPEN_READ_TXT
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: '"r"'
    - item_type: preproc_def
      name: FOPEN_READ_BIN
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: FOPEN_READ_TXT
    - item_type: preproc_def
      name: FOPEN_WRITE_TXT
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: '"w"'
    - item_type: preproc_def
      name: FOPEN_WRITE_BIN
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: FOPEN_WRITE_TXT
    - item_type: preproc_def
      name: NI_MAXHOST
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: '1025'
    - item_type: preproc_def
      name: INET_ADDRSTRLEN
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: '16'
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ND_FALL_THROUGH
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/tcpdump/netdissect-stdinc.h
      type_or_value: __attribute__ ((fallthrough))
    structs: []
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/tcpdump/netdissect-stdinc.h
      type: int
    - item_type: typedef
      name: '*caddr_t'
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/tcpdump/netdissect-stdinc.h
      type: char
    union: []
- function_names:
  - unsupported_if_print
  source_file: /src/tcpdump/print-unsupported.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/print.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RSTP_EXTRACT_PORT_ROLE
  - stp_print_bridge_id
  - stp_print_config_bpdu
  - stp_print_mstp_bpdu
  - stp_print_spb_bpdu
  - stp_print
  source_file: /src/tcpdump/print-stp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STP_TIME_BASE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '256'
    - item_type: preproc_def
      name: STP_BPDU_MSTP_MIN_LEN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '102'
    - item_type: preproc_def
      name: STP_PROTO_REGULAR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: STP_PROTO_RAPID
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: STP_PROTO_MSTP
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: STP_PROTO_SPB
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: STP_BPDU_TYPE_CONFIG
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: STP_BPDU_TYPE_RSTP
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: STP_BPDU_TYPE_TOPO_CHANGE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: MST_BPDU_MSTI_LENGTH
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MST_BPDU_CONFIG_INFO_LENGTH
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '64'
    - item_type: preproc_def
      name: MST_BPDU_VER3_LEN_OFFSET
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '36'
    - item_type: preproc_def
      name: MST_BPDU_CONFIG_NAME_OFFSET
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '39'
    - item_type: preproc_def
      name: MST_BPDU_CONFIG_DIGEST_OFFSET
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '73'
    - item_type: preproc_def
      name: MST_BPDU_CIST_INT_PATH_COST_OFFSET
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '89'
    - item_type: preproc_def
      name: MST_BPDU_CIST_BRIDGE_ID_OFFSET
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '93'
    - item_type: preproc_def
      name: MST_BPDU_CIST_REMAIN_HOPS_OFFSET
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '101'
    - item_type: preproc_def
      name: MST_BPDU_MSTI_OFFSET
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '102'
    - item_type: preproc_def
      name: MST_BPDU_MSTI_ROOT_PRIO_OFFSET
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MST_BPDU_MSTI_ROOT_PATH_COST_OFFSET
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: MST_BPDU_MSTI_BRIDGE_PRIO_OFFSET
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: MST_BPDU_MSTI_PORT_PRIO_OFFSET
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: MST_BPDU_MSTI_REMAIN_HOPS_OFFSET
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '15'
    - item_type: preproc_def
      name: SPB_BPDU_MIN_LEN
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '87'
    - item_type: preproc_def
      name: SPB_BPDU_CONFIG_NAME_OFFSET
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/tcpdump/print-stp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SPB_BPDU_CONFIG_REV_OFFSET
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/tcpdump/print-stp.c
      type_or_value: SPB_BPDU_CONFIG_NAME_OFFSET + 32
    - item_type: preproc_def
      name: SPB_BPDU_CONFIG_DIGEST_OFFSET
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/tcpdump/print-stp.c
      type_or_value: SPB_BPDU_CONFIG_REV_OFFSET + 2
    - item_type: preproc_def
      name: SPB_BPDU_AGREEMENT_OFFSET
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/tcpdump/print-stp.c
      type_or_value: SPB_BPDU_CONFIG_DIGEST_OFFSET + 16
    - item_type: preproc_def
      name: SPB_BPDU_AGREEMENT_UNUSED_OFFSET
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/tcpdump/print-stp.c
      type_or_value: SPB_BPDU_AGREEMENT_OFFSET + 1
    - item_type: preproc_def
      name: SPB_BPDU_AGREEMENT_FORMAT_OFFSET
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/tcpdump/print-stp.c
      type_or_value: SPB_BPDU_AGREEMENT_UNUSED_OFFSET + 1
    - item_type: preproc_def
      name: SPB_BPDU_AGREEMENT_CON_OFFSET
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/tcpdump/print-stp.c
      type_or_value: SPB_BPDU_AGREEMENT_FORMAT_OFFSET + 1
    - item_type: preproc_def
      name: SPB_BPDU_AGREEMENT_EDGE_OFFSET
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/tcpdump/print-stp.c
      type_or_value: SPB_BPDU_AGREEMENT_CON_OFFSET + 1
    - item_type: preproc_def
      name: SPB_BPDU_AGREEMENT_RES1_OFFSET
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/tcpdump/print-stp.c
      type_or_value: SPB_BPDU_AGREEMENT_EDGE_OFFSET + 2
    - item_type: preproc_def
      name: SPB_BPDU_AGREEMENT_RES2_OFFSET
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/tcpdump/print-stp.c
      type_or_value: SPB_BPDU_AGREEMENT_RES1_OFFSET + 4
    - item_type: preproc_def
      name: SPB_BPDU_AGREEMENT_DIGEST_OFFSET
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/tcpdump/print-stp.c
      type_or_value: SPB_BPDU_AGREEMENT_RES2_OFFSET + 4
    structs:
    - fields:
      - name: protocol_id
        type: nd_uint16_t
      - name: protocol_version
        type: nd_uint8_t
      - name: bpdu_type
        type: nd_uint8_t
      - name: flags
        type: nd_uint8_t
      - name: root_id[8]
        type: nd_byte
      - name: root_path_cost
        type: nd_uint32_t
      - name: bridge_id[8]
        type: nd_byte
      - name: port_id
        type: nd_uint16_t
      - name: message_age
        type: nd_uint16_t
      - name: max_age
        type: nd_uint16_t
      - name: hello_time
        type: nd_uint16_t
      - name: forward_delay
        type: nd_uint16_t
      - name: v1_length
        type: nd_uint8_t
      item_type: struct
      name: stp_bpdu_
      pos:
        line_end: 40
        line_start: 26
        source_file: /src/tcpdump/print-stp.c
    typedefs: []
    union: []
- function_names:
  - IS_SOURCE_ROUTED
  - FRAME_TYPE
  - BROADCAST
  - RIF_LENGTH
  - DIRECTION
  - LARGEST_FRAME
  - RING_NUMBER
  - BRIDGE_NUMBER
  - SEGMENT_COUNT
  - extract_token_addrs
  - token_hdr_print
  - token_print
  - token_if_print
  source_file: /src/tcpdump/print-token.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOKEN_HDRLEN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-token.c
      type_or_value: '14'
    - item_type: preproc_def
      name: ROUTING_SEGMENT_MAX
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-token.c
      type_or_value: '16'
    - item_type: preproc_def
      name: TOKEN_FC_LLC
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-token.c
      type_or_value: '1'
    structs:
    - fields:
      - name: token_ac
        type: nd_uint8_t
      - name: token_fc
        type: nd_uint8_t
      - name: token_dhost
        type: nd_mac48
      - name: token_shost
        type: nd_mac48
      - name: token_rcf
        type: nd_uint16_t
      - name: token_rseg[ROUTING_SEGMENT_MAX]
        type: nd_uint16_t
      item_type: struct
      name: token_header
      pos:
        line_end: 87
        line_start: 80
        source_file: /src/tcpdump/print-token.c
    typedefs: []
    union: []
- function_names:
  - TELCMD_OK
  - TELCMD
  - TELOPT_OK
  - TELOPT
  - SLC_NAME_OK
  - SLC_NAME
  - AUTHTYPE_NAME_OK
  - AUTHTYPE_NAME
  - ENCRYPT_NAME_OK
  - ENCRYPT_NAME
  - ENCTYPE_NAME_OK
  - ENCTYPE_NAME
  - STR_OR_ID
  - numstr
  - telnet_parse
  - FETCH
  - telnet_print
  source_file: /src/tcpdump/print-telnet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IAC
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "255\t\t"
    - item_type: preproc_def
      name: DONT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "254\t\t"
    - item_type: preproc_def
      name: DO
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "253\t\t"
    - item_type: preproc_def
      name: WONT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "252\t\t"
    - item_type: preproc_def
      name: WILL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "251\t\t"
    - item_type: preproc_def
      name: SB
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "250\t\t"
    - item_type: preproc_def
      name: GA
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "249\t\t"
    - item_type: preproc_def
      name: EL
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "248\t\t"
    - item_type: preproc_def
      name: EC
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "247\t\t"
    - item_type: preproc_def
      name: AYT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "246\t\t"
    - item_type: preproc_def
      name: AO
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "245\t\t"
    - item_type: preproc_def
      name: IP
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "244\t\t"
    - item_type: preproc_def
      name: BREAK
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "243\t\t"
    - item_type: preproc_def
      name: DM
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "242\t\t"
    - item_type: preproc_def
      name: NOP
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "241\t\t"
    - item_type: preproc_def
      name: SE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "240\t\t"
    - item_type: preproc_def
      name: EOR
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '239             '
    - item_type: preproc_def
      name: ABORT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "238\t\t"
    - item_type: preproc_def
      name: SUSP
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "237\t\t"
    - item_type: preproc_def
      name: xEOF
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "236\t\t"
    - item_type: preproc_def
      name: SYNCH
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "242\t\t"
    - item_type: preproc_def
      name: TELCMD_FIRST
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: xEOF
    - item_type: preproc_def
      name: TELCMD_LAST
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: IAC
    - item_type: preproc_def
      name: TELOPT_BINARY
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: TELOPT_ECHO
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: TELOPT_RCP
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: TELOPT_SGA
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: TELOPT_NAMS
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: TELOPT_STATUS
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: TELOPT_TM
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: TELOPT_RCTE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: TELOPT_NAOL
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "8\t"
    - item_type: preproc_def
      name: TELOPT_NAOP
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "9\t"
    - item_type: preproc_def
      name: TELOPT_NAOCRD
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "10\t"
    - item_type: preproc_def
      name: TELOPT_NAOHTS
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "11\t"
    - item_type: preproc_def
      name: TELOPT_NAOHTD
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "12\t"
    - item_type: preproc_def
      name: TELOPT_NAOFFD
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "13\t"
    - item_type: preproc_def
      name: TELOPT_NAOVTS
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "14\t"
    - item_type: preproc_def
      name: TELOPT_NAOVTD
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "15\t"
    - item_type: preproc_def
      name: TELOPT_NAOLFD
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "16\t"
    - item_type: preproc_def
      name: TELOPT_XASCII
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "17\t"
    - item_type: preproc_def
      name: TELOPT_LOGOUT
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "18\t"
    - item_type: preproc_def
      name: TELOPT_BM
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "19\t"
    - item_type: preproc_def
      name: TELOPT_DET
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "20\t"
    - item_type: preproc_def
      name: TELOPT_SUPDUP
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "21\t"
    - item_type: preproc_def
      name: TELOPT_SUPDUPOUTPUT
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "22\t"
    - item_type: preproc_def
      name: TELOPT_SNDLOC
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "23\t"
    - item_type: preproc_def
      name: TELOPT_TTYPE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "24\t"
    - item_type: preproc_def
      name: TELOPT_EOR
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "25\t"
    - item_type: preproc_def
      name: TELOPT_TUID
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "26\t"
    - item_type: preproc_def
      name: TELOPT_OUTMRK
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "27\t"
    - item_type: preproc_def
      name: TELOPT_TTYLOC
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "28\t"
    - item_type: preproc_def
      name: TELOPT_3270REGIME
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "29\t"
    - item_type: preproc_def
      name: TELOPT_X3PAD
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "30\t"
    - item_type: preproc_def
      name: TELOPT_NAWS
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "31\t"
    - item_type: preproc_def
      name: TELOPT_TSPEED
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "32\t"
    - item_type: preproc_def
      name: TELOPT_LFLOW
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "33\t"
    - item_type: preproc_def
      name: TELOPT_LINEMODE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "34\t"
    - item_type: preproc_def
      name: TELOPT_XDISPLOC
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "35\t"
    - item_type: preproc_def
      name: TELOPT_OLD_ENVIRON
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "36\t"
    - item_type: preproc_def
      name: TELOPT_AUTHENTICATION
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '37'
    - item_type: preproc_def
      name: TELOPT_ENCRYPT
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "38\t"
    - item_type: preproc_def
      name: TELOPT_NEW_ENVIRON
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "39\t"
    - item_type: preproc_def
      name: TELOPT_EXOPL
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "255\t"
    - item_type: preproc_def
      name: NTELOPTS
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: (1+TELOPT_NEW_ENVIRON)
    - item_type: preproc_def
      name: TELOPT_FIRST
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: TELOPT_BINARY
    - item_type: preproc_def
      name: TELOPT_LAST
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: TELOPT_NEW_ENVIRON
    - item_type: preproc_def
      name: TELQUAL_IS
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: TELQUAL_SEND
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: TELQUAL_INFO
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: TELQUAL_REPLY
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: TELQUAL_NAME
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: LFLOW_OFF
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: LFLOW_ON
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: LFLOW_RESTART_ANY
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: LFLOW_RESTART_XON
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: LM_MODE
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LM_FORWARDMASK
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LM_SLC
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MODE_EDIT
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: MODE_TRAPSIG
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: MODE_ACK
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: MODE_SOFT_TAB
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: MODE_LIT_ECHO
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: MODE_MASK
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0x1f'
    - item_type: preproc_def
      name: SLC_SYNCH
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SLC_BRK
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SLC_IP
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SLC_AO
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SLC_AYT
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '5'
    - item_type: preproc_def
      name: SLC_EOR
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '6'
    - item_type: preproc_def
      name: SLC_ABORT
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '7'
    - item_type: preproc_def
      name: SLC_EOF
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '8'
    - item_type: preproc_def
      name: SLC_SUSP
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '9'
    - item_type: preproc_def
      name: SLC_EC
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '10'
    - item_type: preproc_def
      name: SLC_EL
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '11'
    - item_type: preproc_def
      name: SLC_EW
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '12'
    - item_type: preproc_def
      name: SLC_RP
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '13'
    - item_type: preproc_def
      name: SLC_LNEXT
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '14'
    - item_type: preproc_def
      name: SLC_XON
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '15'
    - item_type: preproc_def
      name: SLC_XOFF
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '16'
    - item_type: preproc_def
      name: SLC_FORW1
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '17'
    - item_type: preproc_def
      name: SLC_FORW2
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '18'
    - item_type: preproc_def
      name: SLC_MCL
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '19'
    - item_type: preproc_def
      name: SLC_MCR
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '20'
    - item_type: preproc_def
      name: SLC_MCWL
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '21'
    - item_type: preproc_def
      name: SLC_MCWR
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '22'
    - item_type: preproc_def
      name: SLC_MCBOL
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '23'
    - item_type: preproc_def
      name: SLC_MCEOL
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '24'
    - item_type: preproc_def
      name: SLC_INSRT
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '25'
    - item_type: preproc_def
      name: SLC_OVER
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '26'
    - item_type: preproc_def
      name: SLC_ECR
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '27'
    - item_type: preproc_def
      name: SLC_EWR
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '28'
    - item_type: preproc_def
      name: SLC_EBOL
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '29'
    - item_type: preproc_def
      name: SLC_EEOL
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '30'
    - item_type: preproc_def
      name: NSLC
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '30'
    - item_type: preproc_def
      name: SLC_NAMELIST
      pos:
        line_end: 234
        line_start: 227
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "\"0\", \"SYNCH\", \"BRK\", \"IP\", \"AO\", \"AYT\", \"EOR\",\t\\\n\t\t\t\"ABORT\",
        \"EOF\", \"SUSP\", \"EC\", \"EL\", \"EW\", \"RP\",\t\\\n\t\t\t\"LNEXT\", \"XON\",
        \"XOFF\", \"FORW1\", \"FORW2\",\t\\\n\t\t\t\"MCL\", \"MCR\", \"MCWL\", \"MCWR\",
        \"MCBOL\",\t\t\\\n\t\t\t\"MCEOL\", \"INSRT\", \"OVER\", \"ECR\", \"EWR\",\t\t\\\n\t\t\t\"EBOL\",
        \"EEOL\",\t\t\t\t\t\\\n\t\t\t0,"
    - item_type: preproc_def
      name: SLC_NAMES
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: SLC_NAMELIST
    - item_type: preproc_def
      name: SLC_NOSUPPORT
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SLC_CANTCHANGE
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SLC_VARIABLE
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SLC_DEFAULT
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SLC_LEVELBITS
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: SLC_FUNC
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SLC_FLAGS
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SLC_VALUE
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SLC_ACK
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: SLC_FLUSHIN
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: SLC_FLUSHOUT
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: OLD_ENV_VAR
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '1'
    - item_type: preproc_def
      name: OLD_ENV_VALUE
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NEW_ENV_VAR
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NEW_ENV_VALUE
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ENV_ESC
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ENV_USERVAR
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '3'
    - item_type: preproc_def
      name: AUTH_WHO_CLIENT
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: AUTH_WHO_SERVER
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: AUTH_WHO_MASK
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AUTHTYPE_NULL
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0'
    - item_type: preproc_def
      name: AUTHTYPE_KERBEROS_V4
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AUTHTYPE_KERBEROS_V5
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '2'
    - item_type: preproc_def
      name: AUTHTYPE_SPX
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '3'
    - item_type: preproc_def
      name: AUTHTYPE_MINK
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '4'
    - item_type: preproc_def
      name: AUTHTYPE_CNT
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '5'
    - item_type: preproc_def
      name: AUTHTYPE_TEST
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '99'
    - item_type: preproc_def
      name: ENCRYPT_IS
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: ENCRYPT_SUPPORT
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: ENCRYPT_REPLY
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: ENCRYPT_START
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: ENCRYPT_END
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: ENCRYPT_REQSTART
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: ENCRYPT_REQEND
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: ENCRYPT_ENC_KEYID
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '7'
    - item_type: preproc_def
      name: ENCRYPT_DEC_KEYID
      pos:
        line_end: 311
        line_start: 310
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '8'
    - item_type: preproc_def
      name: ENCRYPT_CNT
      pos:
        line_end: 312
        line_start: 311
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '9'
    - item_type: preproc_def
      name: ENCTYPE_ANY
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ENCTYPE_DES_CFB64
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ENCTYPE_DES_OFB64
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ENCTYPE_CNT
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/tcpdump/print-telnet.c
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - slow_print
  - slow_marker_lacp_print
  - slow_oam_print
  - slow_ossp_print
  source_file: /src/tcpdump/print-slow.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SLOW_PROTO_LACP
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SLOW_PROTO_MARKER
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SLOW_PROTO_OAM
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '3'
    - item_type: preproc_def
      name: SLOW_PROTO_OSSP
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LACP_VERSION
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MARKER_VERSION
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SLOW_OAM_CODE_INFO
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: SLOW_OAM_CODE_EVENT_NOTIF
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SLOW_OAM_CODE_VAR_REQUEST
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SLOW_OAM_CODE_VAR_RESPONSE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: SLOW_OAM_CODE_LOOPBACK_CTRL
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: SLOW_OAM_CODE_PRIVATE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0xfe'
    - item_type: preproc_def
      name: SLOW_OAM_INFO_TYPE_END_OF_TLV
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: SLOW_OAM_INFO_TYPE_LOCAL
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SLOW_OAM_INFO_TYPE_REMOTE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SLOW_OAM_INFO_TYPE_ORG_SPECIFIC
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0xfe'
    - item_type: preproc_def
      name: OAM_INFO_TYPE_PARSER_MASK
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x3'
    - item_type: preproc_def
      name: OAM_INFO_TYPE_MUX_MASK
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: OAM_INFO_TYPE_PDU_SIZE_MASK
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x7ff'
    - item_type: preproc_def
      name: SLOW_OAM_LINK_EVENT_END_OF_TLV
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: SLOW_OAM_LINK_EVENT_ERR_SYM_PER
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SLOW_OAM_LINK_EVENT_ERR_FRM
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: SLOW_OAM_LINK_EVENT_ERR_FRM_PER
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: SLOW_OAM_LINK_EVENT_ERR_FRM_SUMM
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: SLOW_OAM_LINK_EVENT_ORG_SPECIFIC
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0xfe'
    - item_type: preproc_def
      name: LACP_MARKER_TLV_TERMINATOR
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x00  '
    - item_type: preproc_def
      name: LACP_TLV_ACTOR_INFO
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: LACP_TLV_PARTNER_INFO
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: LACP_TLV_COLLECTOR_INFO
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: MARKER_TLV_MARKER_INFO
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/tcpdump/print-slow.c
      type_or_value: '0x01'
    structs:
    - fields:
      - name: info_type
        type: nd_uint8_t
      - name: info_length
        type: nd_uint8_t
      - name: oam_version
        type: nd_uint8_t
      - name: revision
        type: nd_uint16_t
      - name: state
        type: nd_uint8_t
      - name: oam_config
        type: nd_uint8_t
      - name: oam_pdu_config
        type: nd_uint16_t
      - name: oui
        type: nd_uint24_t
      - name: vendor_private
        type: nd_uint32_t
      item_type: struct
      name: slow_oam_info_t
      pos:
        line_end: 87
        line_start: 77
        source_file: /src/tcpdump/print-slow.c
    - fields:
      - name: event_type
        type: nd_uint8_t
      - name: event_length
        type: nd_uint8_t
      - name: time_stamp
        type: nd_uint16_t
      - name: window
        type: nd_uint64_t
      - name: threshold
        type: nd_uint64_t
      - name: errors
        type: nd_uint64_t
      - name: errors_running_total
        type: nd_uint64_t
      - name: event_running_total
        type: nd_uint32_t
      item_type: struct
      name: slow_oam_link_event_t
      pos:
        line_end: 156
        line_start: 147
        source_file: /src/tcpdump/print-slow.c
    - fields:
      - name: branch
        type: nd_uint8_t
      - name: leaf
        type: nd_uint16_t
      item_type: struct
      name: slow_oam_variablerequest_t
      pos:
        line_end: 161
        line_start: 158
        source_file: /src/tcpdump/print-slow.c
    - fields:
      - name: branch
        type: nd_uint8_t
      - name: leaf
        type: nd_uint16_t
      - name: length
        type: nd_uint8_t
      item_type: struct
      name: slow_oam_variableresponse_t
      pos:
        line_end: 167
        line_start: 163
        source_file: /src/tcpdump/print-slow.c
    - fields:
      - name: command
        type: nd_uint8_t
      item_type: struct
      name: slow_oam_loopbackctrl_t
      pos:
        line_end: 171
        line_start: 169
        source_file: /src/tcpdump/print-slow.c
    - fields:
      - name: type
        type: nd_uint8_t
      - name: length
        type: nd_uint8_t
      item_type: struct
      name: tlv_header_t
      pos:
        line_end: 182
        line_start: 179
        source_file: /src/tcpdump/print-slow.c
    - fields:
      - name: sys_pri
        type: nd_uint16_t
      - name: sys
        type: nd_mac48
      - name: key
        type: nd_uint16_t
      - name: port_pri
        type: nd_uint16_t
      - name: port
        type: nd_uint16_t
      - name: state
        type: nd_uint8_t
      - name: pad[3]
        type: nd_byte
      item_type: struct
      name: lacp_tlv_actor_partner_info_t
      pos:
        line_end: 211
        line_start: 203
        source_file: /src/tcpdump/print-slow.c
    - fields:
      - name: max_delay
        type: nd_uint16_t
      - name: pad[12]
        type: nd_byte
      item_type: struct
      name: lacp_tlv_collector_info_t
      pos:
        line_end: 228
        line_start: 225
        source_file: /src/tcpdump/print-slow.c
    - fields:
      - name: req_port
        type: nd_uint16_t
      - name: req_sys
        type: nd_mac48
      - name: req_trans_id
        type: nd_uint32_t
      - name: pad[2]
        type: nd_byte
      item_type: struct
      name: marker_tlv_marker_info_t
      pos:
        line_end: 235
        line_start: 230
        source_file: /src/tcpdump/print-slow.c
    - fields:
      - name: pad[50]
        type: nd_byte
      item_type: struct
      name: lacp_marker_tlv_terminator_t
      pos:
        line_end: 239
        line_start: 237
        source_file: /src/tcpdump/print-slow.c
    - fields:
      - name: flags
        type: nd_uint16_t
      - name: code
        type: nd_uint8_t
      item_type: struct
      name: slow_oam_common_header_t
      pos:
        line_end: 500
        line_start: 497
        source_file: /src/tcpdump/print-slow.c
    - fields:
      - name: type
        type: nd_uint8_t
      - name: length
        type: nd_uint8_t
      item_type: struct
      name: slow_oam_tlv_header_t
      pos:
        line_end: 505
        line_start: 502
        source_file: /src/tcpdump/print-slow.c
    typedefs: []
    union:
    - fields:
      - name: '*lacp_marker_tlv_terminator'
        type: struct lacp_marker_tlv_terminator_t
      - name: '*lacp_tlv_actor_partner_info'
        type: struct lacp_tlv_actor_partner_info_t
      - name: '*lacp_tlv_collector_info'
        type: struct lacp_tlv_collector_info_t
      - name: '*marker_tlv_marker_info'
        type: struct marker_tlv_marker_info_t
      item_type: union
      name: tlv_ptr
      pos:
        line_end: 364
        line_start: 359
        source_file: /src/tcpdump/print-slow.c
    - fields:
      - name: '*slow_oam_common_header'
        type: struct slow_oam_common_header_t
      - name: '*slow_oam_tlv_header'
        type: struct slow_oam_tlv_header_t
      item_type: union
      name: ptr
      pos:
        line_end: 510
        line_start: 507
        source_file: /src/tcpdump/print-slow.c
    - fields:
      - name: '*slow_oam_info'
        type: struct slow_oam_info_t
      - name: '*slow_oam_link_event'
        type: struct slow_oam_link_event_t
      - name: '*slow_oam_variablerequest'
        type: struct slow_oam_variablerequest_t
      - name: '*slow_oam_variableresponse'
        type: struct slow_oam_variableresponse_t
      - name: '*slow_oam_loopbackctrl'
        type: struct slow_oam_loopbackctrl_t
      item_type: union
      name: tlv
      pos:
        line_end: 518
        line_start: 512
        source_file: /src/tcpdump/print-slow.c
- function_names:
  - verify_crc10_cksum
  - create_osi_cksum
  source_file: /src/tcpdump/checksum.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - __has_attribute
  - ND_IS_AT_LEAST_GNUC_VERSION
  - ND_IS_AT_LEAST_GNUC_VERSION
  - ND_IS_AT_LEAST_CLANG_VERSION
  - ND_IS_AT_LEAST_CLANG_VERSION
  - ND_IS_AT_LEAST_SUNC_VERSION
  - ND_SUNPRO_VERSION_TO_BCD
  - ND_IS_AT_LEAST_SUNC_VERSION
  - ND_IS_AT_LEAST_XL_C_VERSION
  - ND_IS_AT_LEAST_XL_C_MODFIX
  - ND_IS_AT_LEAST_XL_C_VERSION
  - ND_IS_AT_LEAST_XL_C_MODFIX
  - ND_IS_AT_LEAST_XL_C_VERSION
  - ND_IS_AT_LEAST_XL_C_MODFIX
  - ND_IS_AT_LEAST_HP_C_VERSION
  - ND_IS_AT_LEAST_HP_C_VERSION
  source_file: /src/tcpdump/compiler-tests.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vlan_str
  - pcp_str
  - of10_bsn_message_print
  - of10_bsn_actions_print
  - of10_vendor_action_print
  - of10_vendor_message_print
  - of10_vendor_data_print
  - of10_packet_data_print
  - of10_phy_port_print
  - of10_queue_props_print
  - of10_queues_print
  - of10_match_print
  - of10_actions_print
  - of10_features_reply_print
  - of10_switch_config_msg_print
  - of10_flow_mod_print
  - of10_port_mod_print
  - of10_queue_get_config_request_print
  - of10_queue_get_config_reply_print
  - of10_stats_request_print
  - of10_desc_stats_reply_print
  - of10_flow_stats_reply_print
  - of10_aggregate_stats_reply_print
  - of10_table_stats_reply_print
  - of10_port_stats_reply_print
  - of10_queue_stats_reply_print
  - of10_stats_reply_print
  - of10_packet_out_print
  - of10_packet_in_print
  - of10_flow_removed_print
  - of10_port_status_print
  - of10_error_print
  - of10_identify_msgtype
  source_file: /src/tcpdump/print-openflow-1.0.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OFPT_HELLO
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: OFPT_ERROR
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: OFPT_ECHO_REQUEST
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: OFPT_ECHO_REPLY
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: OFPT_VENDOR
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: OFPT_FEATURES_REQUEST
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: OFPT_FEATURES_REPLY
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x06'
    - item_type: preproc_def
      name: OFPT_GET_CONFIG_REQUEST
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: OFPT_GET_CONFIG_REPLY
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: OFPT_SET_CONFIG
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x09'
    - item_type: preproc_def
      name: OFPT_PACKET_IN
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x0a'
    - item_type: preproc_def
      name: OFPT_FLOW_REMOVED
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x0b'
    - item_type: preproc_def
      name: OFPT_PORT_STATUS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x0c'
    - item_type: preproc_def
      name: OFPT_PACKET_OUT
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x0d'
    - item_type: preproc_def
      name: OFPT_FLOW_MOD
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x0e'
    - item_type: preproc_def
      name: OFPT_PORT_MOD
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: OFPT_STATS_REQUEST
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: OFPT_STATS_REPLY
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x11'
    - item_type: preproc_def
      name: OFPT_BARRIER_REQUEST
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x12'
    - item_type: preproc_def
      name: OFPT_BARRIER_REPLY
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x13'
    - item_type: preproc_def
      name: OFPT_QUEUE_GET_CONFIG_REQUEST
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x14'
    - item_type: preproc_def
      name: OFPT_QUEUE_GET_CONFIG_REPLY
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x15'
    - item_type: preproc_def
      name: OFPT_MAX
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: OFPT_QUEUE_GET_CONFIG_REPLY
    - item_type: preproc_def
      name: OFPPC_PORT_DOWN
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<0)
    - item_type: preproc_def
      name: OFPPC_NO_STP
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<1)
    - item_type: preproc_def
      name: OFPPC_NO_RECV
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<2)
    - item_type: preproc_def
      name: OFPPC_NO_RECV_STP
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<3)
    - item_type: preproc_def
      name: OFPPC_NO_FLOOD
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<4)
    - item_type: preproc_def
      name: OFPPC_NO_FWD
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<5)
    - item_type: preproc_def
      name: OFPPC_NO_PACKET_IN
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<6)
    - item_type: preproc_def
      name: OFPPC_U
      pos:
        line_end: 119
        line_start: 116
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: "(~(OFPPC_PORT_DOWN | OFPPC_NO_STP | OFPPC_NO_RECV | \\\n                   OFPPC_NO_RECV_STP
        | OFPPC_NO_FLOOD | OFPPC_NO_FWD | \\\n                   OFPPC_NO_PACKET_IN))"
    - item_type: preproc_def
      name: OFPPS_LINK_DOWN
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '(1U << 0) '
    - item_type: preproc_def
      name: OFPPS_STP_LISTEN
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '(0U << 8) '
    - item_type: preproc_def
      name: OFPPS_STP_LEARN
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '(1U << 8) '
    - item_type: preproc_def
      name: OFPPS_STP_FORWARD
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '(2U << 8) '
    - item_type: preproc_def
      name: OFPPS_STP_BLOCK
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '(3U << 8) '
    - item_type: preproc_def
      name: OFPPS_STP_MASK
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '(3U << 8) '
    - item_type: preproc_def
      name: OFPPS_U
      pos:
        line_end: 140
        line_start: 138
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: "(~(OFPPS_LINK_DOWN | OFPPS_STP_LISTEN | OFPPS_STP_LEARN | \\\n
        \                  OFPPS_STP_FORWARD | OFPPS_STP_BLOCK))"
    - item_type: preproc_def
      name: OFPP_MAX
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0xff00U
    - item_type: preproc_def
      name: OFPP_IN_PORT
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0xfff8U
    - item_type: preproc_def
      name: OFPP_TABLE
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0xfff9U
    - item_type: preproc_def
      name: OFPP_NORMAL
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0xfffaU
    - item_type: preproc_def
      name: OFPP_FLOOD
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0xfffbU
    - item_type: preproc_def
      name: OFPP_ALL
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0xfffcU
    - item_type: preproc_def
      name: OFPP_CONTROLLER
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0xfffdU
    - item_type: preproc_def
      name: OFPP_LOCAL
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0xfffeU
    - item_type: preproc_def
      name: OFPP_NONE
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0xffffU
    - item_type: preproc_def
      name: OFPPF_10MB_HD
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U << 0)
    - item_type: preproc_def
      name: OFPPF_10MB_FD
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U << 1)
    - item_type: preproc_def
      name: OFPPF_100MB_HD
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U << 2)
    - item_type: preproc_def
      name: OFPPF_100MB_FD
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U << 3)
    - item_type: preproc_def
      name: OFPPF_1GB_HD
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U << 4)
    - item_type: preproc_def
      name: OFPPF_1GB_FD
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U << 5)
    - item_type: preproc_def
      name: OFPPF_10GB_FD
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U << 6)
    - item_type: preproc_def
      name: OFPPF_COPPER
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U << 7)
    - item_type: preproc_def
      name: OFPPF_FIBER
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U << 8)
    - item_type: preproc_def
      name: OFPPF_AUTONEG
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U << 9)
    - item_type: preproc_def
      name: OFPPF_PAUSE
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<10)
    - item_type: preproc_def
      name: OFPPF_PAUSE_ASYM
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<11)
    - item_type: preproc_def
      name: OFPPF_U
      pos:
        line_end: 194
        line_start: 190
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: "(~(OFPPF_10MB_HD | OFPPF_10MB_FD | OFPPF_100MB_HD | \\\n                   OFPPF_100MB_FD
        | OFPPF_1GB_HD | OFPPF_1GB_FD | \\\n                   OFPPF_10GB_FD | OFPPF_COPPER
        | OFPPF_FIBER | \\\n                   OFPPF_AUTONEG | OFPPF_PAUSE | OFPPF_PAUSE_ASYM))"
    - item_type: preproc_def
      name: OFPQT_NONE
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x0000'
    - item_type: preproc_def
      name: OFPQT_MIN_RATE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: OFPFW_IN_PORT
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<0)
    - item_type: preproc_def
      name: OFPFW_DL_VLAN
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<1)
    - item_type: preproc_def
      name: OFPFW_DL_SRC
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<2)
    - item_type: preproc_def
      name: OFPFW_DL_DST
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<3)
    - item_type: preproc_def
      name: OFPFW_DL_TYPE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<4)
    - item_type: preproc_def
      name: OFPFW_NW_PROTO
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<5)
    - item_type: preproc_def
      name: OFPFW_TP_SRC
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<6)
    - item_type: preproc_def
      name: OFPFW_TP_DST
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<7)
    - item_type: preproc_def
      name: OFPFW_NW_SRC_SHIFT
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '8'
    - item_type: preproc_def
      name: OFPFW_NW_SRC_BITS
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '6'
    - item_type: preproc_def
      name: OFPFW_NW_SRC_MASK
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (((1U <<OFPFW_NW_SRC_BITS) - 1) << OFPFW_NW_SRC_SHIFT)
    - item_type: preproc_def
      name: OFPFW_NW_DST_SHIFT
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '14'
    - item_type: preproc_def
      name: OFPFW_NW_DST_BITS
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '6'
    - item_type: preproc_def
      name: OFPFW_NW_DST_MASK
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (((1U <<OFPFW_NW_DST_BITS) - 1) << OFPFW_NW_DST_SHIFT)
    - item_type: preproc_def
      name: OFPFW_DL_VLAN_PCP
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<20)
    - item_type: preproc_def
      name: OFPFW_NW_TOS
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<21)
    - item_type: preproc_def
      name: OFPFW_ALL
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: ((1U <<22) - 1)
    - item_type: preproc_def
      name: OFPFW_U
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (~(OFPFW_ALL))
    - item_type: preproc_def
      name: OFPAT_OUTPUT
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0000U
    - item_type: preproc_def
      name: OFPAT_SET_VLAN_VID
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0001U
    - item_type: preproc_def
      name: OFPAT_SET_VLAN_PCP
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0002U
    - item_type: preproc_def
      name: OFPAT_STRIP_VLAN
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0003U
    - item_type: preproc_def
      name: OFPAT_SET_DL_SRC
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0004U
    - item_type: preproc_def
      name: OFPAT_SET_DL_DST
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0005U
    - item_type: preproc_def
      name: OFPAT_SET_NW_SRC
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0006U
    - item_type: preproc_def
      name: OFPAT_SET_NW_DST
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0007U
    - item_type: preproc_def
      name: OFPAT_SET_NW_TOS
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0008U
    - item_type: preproc_def
      name: OFPAT_SET_TP_SRC
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0009U
    - item_type: preproc_def
      name: OFPAT_SET_TP_DST
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x000aU
    - item_type: preproc_def
      name: OFPAT_ENQUEUE
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x000bU
    - item_type: preproc_def
      name: OFPAT_VENDOR
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0xffffU
    - item_type: preproc_def
      name: OFPAT_U
      pos:
        line_end: 291
        line_start: 285
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: "(~(1U <<OFPAT_OUTPUT | 1U <<OFPAT_SET_VLAN_VID | \\\n                   1U
        <<OFPAT_SET_VLAN_PCP | 1U <<OFPAT_STRIP_VLAN | \\\n                   1U <<OFPAT_SET_DL_SRC
        | 1U <<OFPAT_SET_DL_DST | \\\n                   1U <<OFPAT_SET_NW_SRC | 1U
        <<OFPAT_SET_NW_DST | \\\n                   1U <<OFPAT_SET_NW_TOS | 1U <<OFPAT_SET_TP_SRC
        | \\\n                   1U <<OFPAT_SET_TP_DST | 1U <<OFPAT_ENQUEUE))"
    - item_type: preproc_def
      name: OFPC_FLOW_STATS
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<0)
    - item_type: preproc_def
      name: OFPC_TABLE_STATS
      pos:
        line_end: 294
        line_start: 293
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<1)
    - item_type: preproc_def
      name: OFPC_PORT_STATS
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<2)
    - item_type: preproc_def
      name: OFPC_STP
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<3)
    - item_type: preproc_def
      name: OFPC_RESERVED
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<4)
    - item_type: preproc_def
      name: OFPC_IP_REASM
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<5)
    - item_type: preproc_def
      name: OFPC_QUEUE_STATS
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<6)
    - item_type: preproc_def
      name: OFPC_ARP_MATCH_IP
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<7)
    - item_type: preproc_def
      name: OFPCAP_U
      pos:
        line_end: 314
        line_start: 311
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: "(~(OFPC_FLOW_STATS | OFPC_TABLE_STATS | OFPC_PORT_STATS | \\\n
        \                   OFPC_STP | OFPC_IP_REASM | OFPC_QUEUE_STATS | \\\n                    OFPC_ARP_MATCH_IP))"
    - item_type: preproc_def
      name: OFPC_FRAG_NORMAL
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0000U
    - item_type: preproc_def
      name: OFPC_FRAG_DROP
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0001U
    - item_type: preproc_def
      name: OFPC_FRAG_REASM
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0002U
    - item_type: preproc_def
      name: OFPFC_ADD
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0000U
    - item_type: preproc_def
      name: OFPFC_MODIFY
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0001U
    - item_type: preproc_def
      name: OFPFC_MODIFY_STRICT
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0002U
    - item_type: preproc_def
      name: OFPFC_DELETE
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0003U
    - item_type: preproc_def
      name: OFPFC_DELETE_STRICT
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0004U
    - item_type: preproc_def
      name: OFPFF_SEND_FLOW_REM
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<0)
    - item_type: preproc_def
      name: OFPFF_CHECK_OVERLAP
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<1)
    - item_type: preproc_def
      name: OFPFF_EMERG
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (1U <<2)
    - item_type: preproc_def
      name: OFPFF_U
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (~(OFPFF_SEND_FLOW_REM | OFPFF_CHECK_OVERLAP | OFPFF_EMERG))
    - item_type: preproc_def
      name: OFPST_DESC
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0000U
    - item_type: preproc_def
      name: OFPST_FLOW
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0001U
    - item_type: preproc_def
      name: OFPST_AGGREGATE
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0002U
    - item_type: preproc_def
      name: OFPST_TABLE
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0003U
    - item_type: preproc_def
      name: OFPST_PORT
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0004U
    - item_type: preproc_def
      name: OFPST_QUEUE
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0005U
    - item_type: preproc_def
      name: OFPST_VENDOR
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0xffffU
    - item_type: preproc_def
      name: OFPQ_ALL
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0xffffffffU
    - item_type: preproc_def
      name: OFPSF_REPLY_MORE
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0001U
    - item_type: preproc_def
      name: OFPSF_REPLY_U
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (~(OFPSF_REPLY_MORE))
    - item_type: preproc_def
      name: OFPR_NO_MATCH
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x00U
    - item_type: preproc_def
      name: OFPR_ACTION
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x01U
    - item_type: preproc_def
      name: OFPRR_IDLE_TIMEOUT
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x00U
    - item_type: preproc_def
      name: OFPRR_HARD_TIMEOUT
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x01U
    - item_type: preproc_def
      name: OFPRR_DELETE
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x02U
    - item_type: preproc_def
      name: OFPPR_ADD
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x00U
    - item_type: preproc_def
      name: OFPPR_DELETE
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x01U
    - item_type: preproc_def
      name: OFPPR_MODIFY
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x02U
    - item_type: preproc_def
      name: OFPET_HELLO_FAILED
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0000U
    - item_type: preproc_def
      name: OFPET_BAD_REQUEST
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0001U
    - item_type: preproc_def
      name: OFPET_BAD_ACTION
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0002U
    - item_type: preproc_def
      name: OFPET_FLOW_MOD_FAILED
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0003U
    - item_type: preproc_def
      name: OFPET_PORT_MOD_FAILED
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0004U
    - item_type: preproc_def
      name: OFPET_QUEUE_OP_FAILED
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0005U
    - item_type: preproc_def
      name: OFPHFC_INCOMPATIBLE
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0000U
    - item_type: preproc_def
      name: OFPHFC_EPERM
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0001U
    - item_type: preproc_def
      name: OFPBRC_BAD_VERSION
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0000U
    - item_type: preproc_def
      name: OFPBRC_BAD_TYPE
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0001U
    - item_type: preproc_def
      name: OFPBRC_BAD_STAT
      pos:
        line_end: 447
        line_start: 446
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0002U
    - item_type: preproc_def
      name: OFPBRC_BAD_VENDOR
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0003U
    - item_type: preproc_def
      name: OFPBRC_BAD_SUBTYPE
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0004U
    - item_type: preproc_def
      name: OFPBRC_EPERM
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0005U
    - item_type: preproc_def
      name: OFPBRC_BAD_LEN
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0006U
    - item_type: preproc_def
      name: OFPBRC_BUFFER_EMPTY
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0007U
    - item_type: preproc_def
      name: OFPBRC_BUFFER_UNKNOWN
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0008U
    - item_type: preproc_def
      name: OFPBAC_BAD_TYPE
      pos:
        line_end: 467
        line_start: 466
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0000U
    - item_type: preproc_def
      name: OFPBAC_BAD_LEN
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0001U
    - item_type: preproc_def
      name: OFPBAC_BAD_VENDOR
      pos:
        line_end: 469
        line_start: 468
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0002U
    - item_type: preproc_def
      name: OFPBAC_BAD_VENDOR_TYPE
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0003U
    - item_type: preproc_def
      name: OFPBAC_BAD_OUT_PORT
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0004U
    - item_type: preproc_def
      name: OFPBAC_BAD_ARGUMENT
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0005U
    - item_type: preproc_def
      name: OFPBAC_EPERM
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0006U
    - item_type: preproc_def
      name: OFPBAC_TOO_MANY
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0007U
    - item_type: preproc_def
      name: OFPBAC_BAD_QUEUE
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0008U
    - item_type: preproc_def
      name: OFPFMFC_ALL_TABLES_FULL
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0000U
    - item_type: preproc_def
      name: OFPFMFC_OVERLAP
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0001U
    - item_type: preproc_def
      name: OFPFMFC_EPERM
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0002U
    - item_type: preproc_def
      name: OFPFMFC_BAD_EMERG_TIMEOUT
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0003U
    - item_type: preproc_def
      name: OFPFMFC_BAD_COMMAND
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0004U
    - item_type: preproc_def
      name: OFPFMFC_UNSUPPORTED
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0005U
    - item_type: preproc_def
      name: OFPPMFC_BAD_PORT
      pos:
        line_end: 505
        line_start: 504
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0000U
    - item_type: preproc_def
      name: OFPPMFC_BAD_HW_ADDR
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0001U
    - item_type: preproc_def
      name: OFPQOFC_BAD_PORT
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0000U
    - item_type: preproc_def
      name: OFPQOFC_BAD_QUEUE
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0001U
    - item_type: preproc_def
      name: OFPQOFC_EPERM
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0x0002U
    - item_type: preproc_def
      name: OF_SWITCH_CONFIG_FIXLEN
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (12U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_FEATURES_REPLY_MINLEN
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (32U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_PORT_STATUS_FIXLEN
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (64U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_PORT_MOD_FIXLEN
      pos:
        line_end: 537
        line_start: 536
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (32U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_PACKET_IN_MINLEN
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '(20U - OF_HEADER_FIXLEN) '
    - item_type: preproc_def
      name: OF_PACKET_OUT_MINLEN
      pos:
        line_end: 539
        line_start: 538
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (16U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_FLOW_MOD_MINLEN
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (72U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_FLOW_REMOVED_FIXLEN
      pos:
        line_end: 541
        line_start: 540
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (88U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_ERROR_MSG_MINLEN
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (12U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_STATS_REQUEST_MINLEN
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (12U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_STATS_REPLY_MINLEN
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (12U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_VENDOR_MINLEN
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (12U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_QUEUE_GET_CONFIG_REQUEST_FIXLEN
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (12U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_QUEUE_GET_CONFIG_REPLY_MINLEN
      pos:
        line_end: 547
        line_start: 546
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: (16U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_PHY_PORT_FIXLEN
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '48'
    - item_type: preproc_def
      name: OF_ACTION_MINLEN
      pos:
        line_end: 551
        line_start: 550
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '8'
    - item_type: preproc_def
      name: OF_MATCH_FIXLEN
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '40'
    - item_type: preproc_def
      name: OF_DESC_STATS_REPLY_FIXLEN
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '1056'
    - item_type: preproc_def
      name: OF_FLOW_STATS_REQUEST_FIXLEN
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '44'
    - item_type: preproc_def
      name: OF_FLOW_STATS_REPLY_MINLEN
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '88'
    - item_type: preproc_def
      name: OF_AGGREGATE_STATS_REPLY_FIXLEN
      pos:
        line_end: 556
        line_start: 555
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '24'
    - item_type: preproc_def
      name: OF_TABLE_STATS_REPLY_FIXLEN
      pos:
        line_end: 557
        line_start: 556
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '64'
    - item_type: preproc_def
      name: OF_PORT_STATS_REQUEST_FIXLEN
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '8'
    - item_type: preproc_def
      name: OF_PORT_STATS_REPLY_FIXLEN
      pos:
        line_end: 559
        line_start: 558
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '104'
    - item_type: preproc_def
      name: OF_QUEUE_PROP_MINLEN
      pos:
        line_end: 560
        line_start: 559
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '8'
    - item_type: preproc_def
      name: OF_QUEUE_PROP_MIN_RATE_FIXLEN
      pos:
        line_end: 561
        line_start: 560
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '16'
    - item_type: preproc_def
      name: OF_PACKET_QUEUE_MINLEN
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '8'
    - item_type: preproc_def
      name: OF_QUEUE_STATS_REQUEST_FIXLEN
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '8'
    - item_type: preproc_def
      name: OF_QUEUE_STATS_REPLY_FIXLEN
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '32'
    - item_type: preproc_def
      name: OFP_MAX_TABLE_NAME_LEN
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '32'
    - item_type: preproc_def
      name: OFP_MAX_PORT_NAME_LEN
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '16'
    - item_type: preproc_def
      name: DESC_STR_LEN
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '256'
    - item_type: preproc_def
      name: SERIAL_NUM_LEN
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '32'
    - item_type: preproc_def
      name: OFP_VLAN_NONE
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: 0xffffU
    - item_type: preproc_def
      name: BSN_SET_IP_MASK
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '0'
    - item_type: preproc_def
      name: BSN_GET_IP_MASK_REQUEST
      pos:
        line_end: 575
        line_start: 574
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BSN_GET_IP_MASK_REPLY
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BSN_SET_MIRRORING
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '3'
    - item_type: preproc_def
      name: BSN_GET_MIRRORING_REQUEST
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BSN_GET_MIRRORING_REPLY
      pos:
        line_end: 579
        line_start: 578
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BSN_SHELL_COMMAND
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '6'
    - item_type: preproc_def
      name: BSN_SHELL_OUTPUT
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '7'
    - item_type: preproc_def
      name: BSN_SHELL_STATUS
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '8'
    - item_type: preproc_def
      name: BSN_GET_INTERFACES_REQUEST
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '9'
    - item_type: preproc_def
      name: BSN_GET_INTERFACES_REPLY
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '10'
    - item_type: preproc_def
      name: BSN_SET_PKTIN_SUPPRESSION_REQUEST
      pos:
        line_end: 585
        line_start: 584
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '11'
    - item_type: preproc_def
      name: BSN_SET_L2_TABLE_REQUEST
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '12'
    - item_type: preproc_def
      name: BSN_GET_L2_TABLE_REQUEST
      pos:
        line_end: 587
        line_start: 586
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '13'
    - item_type: preproc_def
      name: BSN_GET_L2_TABLE_REPLY
      pos:
        line_end: 588
        line_start: 587
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '14'
    - item_type: preproc_def
      name: BSN_VIRTUAL_PORT_CREATE_REQUEST
      pos:
        line_end: 589
        line_start: 588
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '15'
    - item_type: preproc_def
      name: BSN_VIRTUAL_PORT_CREATE_REPLY
      pos:
        line_end: 590
        line_start: 589
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '16'
    - item_type: preproc_def
      name: BSN_VIRTUAL_PORT_REMOVE_REQUEST
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '17'
    - item_type: preproc_def
      name: BSN_BW_ENABLE_SET_REQUEST
      pos:
        line_end: 592
        line_start: 591
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '18'
    - item_type: preproc_def
      name: BSN_BW_ENABLE_GET_REQUEST
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '19'
    - item_type: preproc_def
      name: BSN_BW_ENABLE_GET_REPLY
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '20'
    - item_type: preproc_def
      name: BSN_BW_CLEAR_DATA_REQUEST
      pos:
        line_end: 595
        line_start: 594
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '21'
    - item_type: preproc_def
      name: BSN_BW_CLEAR_DATA_REPLY
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '22'
    - item_type: preproc_def
      name: BSN_BW_ENABLE_SET_REPLY
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '23'
    - item_type: preproc_def
      name: BSN_SET_L2_TABLE_REPLY
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '24'
    - item_type: preproc_def
      name: BSN_SET_PKTIN_SUPPRESSION_REPLY
      pos:
        line_end: 599
        line_start: 598
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '25'
    - item_type: preproc_def
      name: BSN_VIRTUAL_PORT_REMOVE_REPLY
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '26'
    - item_type: preproc_def
      name: BSN_HYBRID_GET_REQUEST
      pos:
        line_end: 601
        line_start: 600
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '27'
    - item_type: preproc_def
      name: BSN_HYBRID_GET_REPLY
      pos:
        line_end: 602
        line_start: 601
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '28'
    - item_type: preproc_def
      name: BSN_PDU_TX_REQUEST
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '31'
    - item_type: preproc_def
      name: BSN_PDU_TX_REPLY
      pos:
        line_end: 606
        line_start: 605
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '32'
    - item_type: preproc_def
      name: BSN_PDU_RX_REQUEST
      pos:
        line_end: 607
        line_start: 606
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '33'
    - item_type: preproc_def
      name: BSN_PDU_RX_REPLY
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '34'
    - item_type: preproc_def
      name: BSN_PDU_RX_TIMEOUT
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '35'
    - item_type: preproc_def
      name: BSN_ACTION_MIRROR
      pos:
        line_end: 649
        line_start: 648
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BSN_ACTION_SET_TUNNEL_DST
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BSN_ACTION_CHECKSUM
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/tcpdump/print-openflow-1.0.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mobility_opt_print
  - mobility_print
  source_file: /src/tcpdump/print-mobility.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ip6m_data16
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: ip6m_dataun.ip6m_un_data16
    - item_type: preproc_def
      name: ip6m_data8
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: ip6m_dataun.ip6m_un_data8
    - item_type: preproc_def
      name: IP6M_MINLEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: '8'
    - item_type: preproc_def
      name: IP6M_BINDING_REQUEST
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: IP6M_HOME_TEST_INIT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: IP6M_CAREOF_TEST_INIT
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: IP6M_HOME_TEST
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: IP6M_CAREOF_TEST
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: IP6M_BINDING_UPDATE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: IP6M_BINDING_ACK
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: IP6M_BINDING_ERROR
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: IP6M_MAX
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: '7'
    - item_type: preproc_def
      name: IP6MOPT_MINLEN
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IP6MOPT_PAD1
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: "0x0\t"
    - item_type: preproc_def
      name: IP6MOPT_PADN
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: "0x1\t"
    - item_type: preproc_def
      name: IP6MOPT_REFRESH
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: "0x2\t"
    - item_type: preproc_def
      name: IP6MOPT_REFRESH_MINLEN
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: '4'
    - item_type: preproc_def
      name: IP6MOPT_ALTCOA
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: "0x3\t"
    - item_type: preproc_def
      name: IP6MOPT_ALTCOA_MINLEN
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: '18'
    - item_type: preproc_def
      name: IP6MOPT_NONCEID
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: "0x4\t"
    - item_type: preproc_def
      name: IP6MOPT_NONCEID_MINLEN
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: '6'
    - item_type: preproc_def
      name: IP6MOPT_AUTH
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: "0x5\t"
    - item_type: preproc_def
      name: IP6MOPT_AUTH_MINLEN
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-mobility.c
      type_or_value: '12'
    structs:
    - fields:
      - name: ip6m_pproto
        type: nd_uint8_t
      - name: ip6m_len
        type: nd_uint8_t
      - name: ip6m_type
        type: nd_uint8_t
      - name: reserved
        type: nd_uint8_t
      - name: ip6m_cksum
        type: nd_uint16_t
      - name: ip6m_dataun
        type: "union {\n\t\tnd_uint16_t\tip6m_un_data16[1]; /* type-specific field
          */\n\t\tnd_uint8_t\tip6m_un_data8[2];  /* type-specific field */\n\t}"
      item_type: struct
      name: ip6_mobility
      pos:
        line_end: 54
        line_start: 44
        source_file: /src/tcpdump/print-mobility.c
    typedefs: []
    union: []
- function_names:
  - pppoe_if_print
  - pppoe_print
  source_file: /src/tcpdump/print-pppoe.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PPPOE_HDRLEN
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-pppoe.c
      type_or_value: '6'
    - item_type: preproc_def
      name: MAXTAGPRINT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/print-pppoe.c
      type_or_value: '80'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rx_print
  - rx_cache_insert
  - rx_cache_find
  - FIDOUT
  - STROUT
  - INTOUT
  - UINTOUT
  - UINT64OUT
  - DATEOUT
  - STOREATTROUT
  - UBIK_VERSIONOUT
  - AFSUUIDOUT
  - VECOUT
  - DESTSERVEROUT
  - fs_print
  - fs_reply_print
  - XSTRINGIFY
  - NUMSTRINGIFY
  - acl_print
  - ACLOUT
  - cb_print
  - cb_reply_print
  - prot_print
  - prot_reply_print
  - vldb_print
  - vldb_reply_print
  - kauth_print
  - kauth_reply_print
  - vol_print
  - vol_reply_print
  - bos_print
  - bos_reply_print
  - is_ubik
  - ubik_print
  - ubik_reply_print
  - rx_ack_print
  - TRUNCRET
  source_file: /src/tcpdump/print-rx.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FS_RX_PORT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '7000'
    - item_type: preproc_def
      name: CB_RX_PORT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '7001'
    - item_type: preproc_def
      name: PROT_RX_PORT
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '7002'
    - item_type: preproc_def
      name: VLDB_RX_PORT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '7003'
    - item_type: preproc_def
      name: KAUTH_RX_PORT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '7004'
    - item_type: preproc_def
      name: VOL_RX_PORT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '7005'
    - item_type: preproc_def
      name: ERROR_RX_PORT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-rx.c
      type_or_value: "7006\t\t"
    - item_type: preproc_def
      name: BOS_RX_PORT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '7007'
    - item_type: preproc_def
      name: AFSOPAQUEMAX
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: AFSNAMEMAX
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-rx.c
      type_or_value: "256\t\t\t"
    - item_type: preproc_def
      name: PRNAMEMAX
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '64'
    - item_type: preproc_def
      name: VLNAMEMAX
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '65'
    - item_type: preproc_def
      name: KANAMEMAX
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '64'
    - item_type: preproc_def
      name: BOSNAMEMAX
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '256'
    - item_type: preproc_def
      name: USERNAMEMAX
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-rx.c
      type_or_value: "1024\t\t"
    - item_type: preproc_def
      name: PRSFS_READ
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: PRSFS_WRITE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: PRSFS_INSERT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: PRSFS_LOOKUP
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: PRSFS_DELETE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '16 '
    - item_type: preproc_def
      name: PRSFS_LOCK
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '32 '
    - item_type: preproc_def
      name: PRSFS_ADMINISTER
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '64 '
    - item_type: preproc_def
      name: RX_PACKET_TYPE_DATA
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RX_PACKET_TYPE_ACK
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RX_PACKET_TYPE_BUSY
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '3'
    - item_type: preproc_def
      name: RX_PACKET_TYPE_ABORT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '4'
    - item_type: preproc_def
      name: RX_PACKET_TYPE_ACKALL
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '5'
    - item_type: preproc_def
      name: RX_PACKET_TYPE_CHALLENGE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '6'
    - item_type: preproc_def
      name: RX_PACKET_TYPE_RESPONSE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '7'
    - item_type: preproc_def
      name: RX_PACKET_TYPE_DEBUG
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '8'
    - item_type: preproc_def
      name: RX_PACKET_TYPE_PARAMS
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '9'
    - item_type: preproc_def
      name: RX_PACKET_TYPE_VERSION
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '13'
    - item_type: preproc_def
      name: RX_CLIENT_INITIATED
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RX_REQUEST_ACK
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RX_LAST_PACKET
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '4'
    - item_type: preproc_def
      name: RX_MORE_PACKETS
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '8'
    - item_type: preproc_def
      name: RX_FREE_PACKET
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '16'
    - item_type: preproc_def
      name: RX_SLOW_START_OK
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '32'
    - item_type: preproc_def
      name: RX_JUMBO_PACKET
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '32'
    - item_type: preproc_def
      name: NUM_RX_FLAGS
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '7'
    - item_type: preproc_def
      name: RX_MAXACKS
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '255'
    - item_type: preproc_def
      name: RX_ACK_TYPE_NACK
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-rx.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: RX_ACK_TYPE_ACK
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-rx.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: VOTE_LOW
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: VOTE_HIGH
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '10007'
    - item_type: preproc_def
      name: DISK_LOW
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '20000'
    - item_type: preproc_def
      name: DISK_HIGH
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '20013'
    - item_type: preproc_def
      name: RX_CACHE_SIZE
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/tcpdump/print-rx.c
      type_or_value: '64'
    structs:
    - fields:
      - name: epoch
        type: nd_uint32_t
      - name: cid
        type: nd_uint32_t
      - name: callNumber
        type: nd_uint32_t
      - name: seq
        type: nd_uint32_t
      - name: serial
        type: nd_uint32_t
      - name: type
        type: nd_uint8_t
      - name: flags
        type: nd_uint8_t
      - name: userStatus
        type: nd_uint8_t
      - name: securityIndex
        type: nd_uint8_t
      - name: spare
        type: nd_uint16_t
      - name: serviceId
        type: nd_uint16_t
      item_type: struct
      name: rx_header
      pos:
        line_end: 103
        line_start: 74
        source_file: /src/tcpdump/print-rx.c
    - fields:
      - name: bufferSpace
        type: nd_uint16_t
      - name: maxSkew
        type: nd_uint16_t
      - name: firstPacket
        type: nd_uint32_t
      - name: previousPacket
        type: nd_uint32_t
      - name: serial
        type: nd_uint32_t
      - name: reason
        type: nd_uint8_t
      - name: nAcks
        type: nd_uint8_t
      item_type: struct
      name: rx_ackPacket
      pos:
        line_end: 124
        line_start: 111
        source_file: /src/tcpdump/print-rx.c
    - fields:
      - name: flag
        type: uint32_t
      - name: packetType
        type: uint32_t
      - name: '*s'
        type: char
      item_type: struct
      name: double_tok
      pos:
        line_end: 151
        line_start: 147
        source_file: /src/tcpdump/print-rx.c
    - fields:
      - name: callnum
        type: uint32_t
      - name: client
        type: uint32_t
      - name: server
        type: uint32_t
      - name: dport
        type: uint16_t
      - name: serviceId
        type: uint16_t
      - name: opcode
        type: uint32_t
      item_type: struct
      name: rx_cache_entry
      pos:
        line_end: 485
        line_start: 478
        source_file: /src/tcpdump/print-rx.c
    typedefs: []
    union: []
- function_names:
  - print_btp_body
  - print_btp
  - print_long_pos_vector
  - geonet_print
  source_file: /src/tcpdump/print-geonet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GEONET_ADDR_LEN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-geonet.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - IN_CLASSD
  - print_mtrace
  - print_igmpv3_report
  - print_igmpv3_query
  - igmp_print
  source_file: /src/tcpdump/print-igmp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TR_QUERY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TR_RESP
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TR_NO_ERR
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TR_WRONG_IF
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TR_PRUNED
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TR_OPRUNED
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TR_SCOPED
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TR_NO_RTE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: TR_NO_FWD
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: TR_NO_SPACE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '0x81'
    - item_type: preproc_def
      name: TR_OLD_ROUTER
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '0x82'
    - item_type: preproc_def
      name: TR_PROTO_DVMRP
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TR_PROTO_MOSPF
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TR_PROTO_PIM
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TR_PROTO_CBT
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-igmp.c
      type_or_value: '4'
    structs:
    - fields:
      - name: tr_src
        type: nd_uint32_t
      - name: tr_dst
        type: nd_uint32_t
      - name: tr_raddr
        type: nd_uint32_t
      - name: tr_rttl
        type: nd_uint8_t
      - name: tr_qid
        type: nd_uint24_t
      item_type: struct
      name: tr_query
      pos:
        line_end: 55
        line_start: 49
        source_file: /src/tcpdump/print-igmp.c
    - fields:
      - name: tr_qarr
        type: nd_uint32_t
      - name: tr_inaddr
        type: nd_uint32_t
      - name: tr_outaddr
        type: nd_uint32_t
      - name: tr_rmtaddr
        type: nd_uint32_t
      - name: tr_vifin
        type: nd_uint32_t
      - name: tr_vifout
        type: nd_uint32_t
      - name: tr_pktcnt
        type: nd_uint32_t
      - name: tr_rproto
        type: nd_uint8_t
      - name: tr_fttl
        type: nd_uint8_t
      - name: tr_smask
        type: nd_uint8_t
      - name: tr_rflags
        type: nd_uint8_t
      item_type: struct
      name: tr_resp
      pos:
        line_end: 73
        line_start: 61
        source_file: /src/tcpdump/print-igmp.c
    typedefs: []
    union: []
- function_names:
  - babel_print
  - format_id
  - format_prefix
  - format_address
  - format_interval
  - format_interval_update
  - format_timestamp
  - network_prefix
  - network_address
  - subtlvs_print
  - ICHECK
  - babel_print_v2_tlvs
  - babel_print_v2
  source_file: /src/tcpdump/print-babel.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MESSAGE_PAD1
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MESSAGE_PADN
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MESSAGE_ACK_REQ
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MESSAGE_ACK
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MESSAGE_HELLO
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MESSAGE_IHU
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MESSAGE_ROUTER_ID
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '6'
    - item_type: preproc_def
      name: MESSAGE_NH
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '7'
    - item_type: preproc_def
      name: MESSAGE_UPDATE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '8'
    - item_type: preproc_def
      name: MESSAGE_ROUTE_REQUEST
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '9'
    - item_type: preproc_def
      name: MESSAGE_SEQNO_REQUEST
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MESSAGE_TSPC
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '11'
    - item_type: preproc_def
      name: MESSAGE_HMAC
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '12'
    - item_type: preproc_def
      name: MESSAGE_UPDATE_SRC_SPECIFIC
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '13 '
    - item_type: preproc_def
      name: MESSAGE_REQUEST_SRC_SPECIFIC
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '14 '
    - item_type: preproc_def
      name: MESSAGE_MH_REQUEST_SRC_SPECIFIC
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '15 '
    - item_type: preproc_def
      name: MESSAGE_MAC
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MESSAGE_PC
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '17'
    - item_type: preproc_def
      name: MESSAGE_CHALLENGE_REQUEST
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '18'
    - item_type: preproc_def
      name: MESSAGE_CHALLENGE_REPLY
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '19'
    - item_type: preproc_def
      name: MESSAGE_SUB_PAD1
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MESSAGE_SUB_PADN
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MESSAGE_SUB_DIVERSITY
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MESSAGE_SUB_TIMESTAMP
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MANDATORY_MASK
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: UNICAST_MASK
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-babel.c
      type_or_value: '0x8000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sip_print
  source_file: /src/tcpdump/print-sip.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/signature.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIGNATURE_VALID
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/tcpdump/signature.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SIGNATURE_INVALID
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/tcpdump/signature.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CANT_ALLOCATE_COPY
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/tcpdump/signature.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CANT_CHECK_SIGNATURE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/tcpdump/signature.h
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - whois_print
  source_file: /src/tcpdump/print-whois.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - msnlb_print
  source_file: /src/tcpdump/print-msnlb.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: unknown1[4]
        type: nd_byte
      - name: unknown2[4]
        type: nd_byte
      - name: host_prio
        type: nd_uint32_t
      - name: virtual_ip
        type: nd_ipv4
      - name: host_ip
        type: nd_ipv4
      item_type: struct
      name: msnlb_heartbeat_pkt
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/tcpdump/print-msnlb.c
    typedefs: []
    union: []
- function_names:
  - ip_demux_print
  source_file: /src/tcpdump/print-ip-demux.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DATA_FRAME_IS_CF_ACK
  - DATA_FRAME_IS_CF_POLL
  - DATA_FRAME_IS_NULL
  - DATA_FRAME_IS_QOS
  - FC_VERSION
  - FC_TYPE
  - FC_SUBTYPE
  - FC_TO_DS
  - FC_FROM_DS
  - FC_MORE_FLAG
  - FC_RETRY
  - FC_POWER_MGMT
  - FC_MORE_DATA
  - FC_PROTECTED
  - FC_ORDER
  - CAPABILITY_ESS
  - CAPABILITY_IBSS
  - CAPABILITY_CFP
  - CAPABILITY_CFP_REQ
  - CAPABILITY_PRIVACY
  - IV_IV
  - IV_PAD
  - IV_KEYID
  - PRINT_SSID
  - PRINT_RATE
  - PRINT_RATES
  - PRINT_DS_CHANNEL
  - PRINT_MESHID
  - wep_print
  - parse_elements
  - handle_beacon
  - handle_assoc_request
  - handle_assoc_response
  - handle_reassoc_request
  - handle_reassoc_response
  - handle_probe_request
  - handle_probe_response
  - handle_atim
  - handle_disassoc
  - handle_auth
  - handle_deauth
  - handle_action
  - mgmt_body_print
  - ctrl_body_print
  - get_data_src_dst_mac
  - get_mgmt_src_dst_mac
  - data_header_print
  - mgmt_header_print
  - ctrl_header_print
  - extract_header_length
  - extract_mesh_header_length
  - ieee_802_11_hdr_print
  - ieee802_11_print
  - ieee802_11_if_print
  - IS_CHAN_FHSS
  - IS_CHAN_A
  - IS_CHAN_B
  - IS_CHAN_PUREG
  - IS_CHAN_G
  - IS_CHAN_ANYG
  - print_chaninfo
  - print_radiotap_field
  - print_in_radiotap_namespace
  - BITNO_32
  - BITNO_16
  - BITNO_8
  - BITNO_4
  - BITNO_2
  - ieee802_11_radio_print
  - BIT
  - IS_EXTENDED
  - ieee802_11_radio_avs_print
  - prism_if_print
  - ieee802_11_radio_if_print
  - ieee802_11_radio_avs_if_print
  source_file: /src/tcpdump/print-802_11.c
  types:
    enum:
    - enumerators:
      - name: IEEE80211_RADIOTAP_FLAGS
        value: '1'
      - name: IEEE80211_RADIOTAP_DBM_ANTSIGNAL
        value: '5'
      - name: IEEE80211_RADIOTAP_DB_TX_ATTENUATION
        value: '9'
      - name: IEEE80211_RADIOTAP_DB_ANTNOISE
        value: '13'
      - name: IEEE80211_RADIOTAP_VHT
        value: '21'
      - name: IEEE80211_RADIOTAP_FHSS
        value: '4'
      - name: IEEE80211_RADIOTAP_TX_ATTENUATION
        value: '8'
      - name: IEEE80211_RADIOTAP_AMPDU_STATUS
        value: '20'
      - name: IEEE80211_RADIOTAP_DB_ANTSIGNAL
        value: '12'
      - name: IEEE80211_RADIOTAP_TSFT
        value: '0'
      - name: IEEE80211_RADIOTAP_CHANNEL
        value: '3'
      - name: IEEE80211_RADIOTAP_LOCK_QUALITY
        value: '7'
      - name: IEEE80211_RADIOTAP_MCS
        value: '19'
      - name: IEEE80211_RADIOTAP_XCHANNEL
        value: '18'
      - name: IEEE80211_RADIOTAP_ANTENNA
        value: '11'
      - name: IEEE80211_RADIOTAP_VENDOR_NAMESPACE
        value: '30'
      - name: IEEE80211_RADIOTAP_EXT
        value: '31'
      - name: IEEE80211_RADIOTAP_RATE
        value: '2'
      - name: IEEE80211_RADIOTAP_DBM_ANTNOISE
        value: '6'
      - name: IEEE80211_RADIOTAP_DBM_TX_POWER
        value: '10'
      - name: IEEE80211_RADIOTAP_RX_FLAGS
        value: '14'
      - name: IEEE80211_RADIOTAP_NAMESPACE
        value: '29'
      item_type: enum
      name: ieee80211_radiotap_type
      pos:
        line_end: 2571
        line_start: 2547
        source_file: /src/tcpdump/print-802_11.c
    preproc_defs:
    - item_type: preproc_def
      name: IEEE802_11_FC_LEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE802_11_DUR_LEN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE802_11_DA_LEN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '6'
    - item_type: preproc_def
      name: IEEE802_11_SA_LEN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '6'
    - item_type: preproc_def
      name: IEEE802_11_BSSID_LEN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '6'
    - item_type: preproc_def
      name: IEEE802_11_RA_LEN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '6'
    - item_type: preproc_def
      name: IEEE802_11_TA_LEN
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '6'
    - item_type: preproc_def
      name: IEEE802_11_ADDR1_LEN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '6'
    - item_type: preproc_def
      name: IEEE802_11_SEQ_LEN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE802_11_CTL_LEN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE802_11_CARRIED_FC_LEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE802_11_HT_CONTROL_LEN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '4'
    - item_type: preproc_def
      name: IEEE802_11_IV_LEN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '3'
    - item_type: preproc_def
      name: IEEE802_11_KID_LEN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IEEE802_11_FCS_LEN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '4'
    - item_type: preproc_def
      name: IEEE802_11_TSTAMP_LEN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '8'
    - item_type: preproc_def
      name: IEEE802_11_BCNINT_LEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE802_11_CAPINFO_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE802_11_LISTENINT_LEN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE802_11_AID_LEN
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE802_11_STATUS_LEN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE802_11_REASON_LEN
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE802_11_AP_LEN
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '6'
    - item_type: preproc_def
      name: T_MGMT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0  '
    - item_type: preproc_def
      name: T_CTRL
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x1  '
    - item_type: preproc_def
      name: T_DATA
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x2 '
    - item_type: preproc_def
      name: T_RESV
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x3  '
    - item_type: preproc_def
      name: ST_ASSOC_REQUEST
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0'
    - item_type: preproc_def
      name: ST_ASSOC_RESPONSE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: ST_REASSOC_REQUEST
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: ST_REASSOC_RESPONSE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x3'
    - item_type: preproc_def
      name: ST_PROBE_REQUEST
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: ST_PROBE_RESPONSE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x5'
    - item_type: preproc_def
      name: ST_BEACON
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x8'
    - item_type: preproc_def
      name: ST_ATIM
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x9'
    - item_type: preproc_def
      name: ST_DISASSOC
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xA'
    - item_type: preproc_def
      name: ST_AUTH
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xB'
    - item_type: preproc_def
      name: ST_DEAUTH
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xC'
    - item_type: preproc_def
      name: ST_ACTION
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xD'
    - item_type: preproc_def
      name: CTRL_CONTROL_WRAPPER
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x7'
    - item_type: preproc_def
      name: CTRL_BAR
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x8'
    - item_type: preproc_def
      name: CTRL_BA
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x9'
    - item_type: preproc_def
      name: CTRL_PS_POLL
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xA'
    - item_type: preproc_def
      name: CTRL_RTS
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xB'
    - item_type: preproc_def
      name: CTRL_CTS
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xC'
    - item_type: preproc_def
      name: CTRL_ACK
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xD'
    - item_type: preproc_def
      name: CTRL_CF_END
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xE'
    - item_type: preproc_def
      name: CTRL_END_ACK
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xF'
    - item_type: preproc_def
      name: DATA_DATA
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0'
    - item_type: preproc_def
      name: DATA_DATA_CF_ACK
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: DATA_DATA_CF_POLL
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x2'
    - item_type: preproc_def
      name: DATA_DATA_CF_ACK_POLL
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x3'
    - item_type: preproc_def
      name: DATA_NODATA
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x4'
    - item_type: preproc_def
      name: DATA_NODATA_CF_ACK
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x5'
    - item_type: preproc_def
      name: DATA_NODATA_CF_POLL
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x6'
    - item_type: preproc_def
      name: DATA_NODATA_CF_ACK_POLL
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x7'
    - item_type: preproc_def
      name: DATA_QOS_DATA
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x8'
    - item_type: preproc_def
      name: DATA_QOS_DATA_CF_ACK
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x9'
    - item_type: preproc_def
      name: DATA_QOS_DATA_CF_POLL
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xA'
    - item_type: preproc_def
      name: DATA_QOS_DATA_CF_ACK_POLL
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xB'
    - item_type: preproc_def
      name: DATA_QOS_NODATA
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xC'
    - item_type: preproc_def
      name: DATA_QOS_CF_POLL_NODATA
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xE'
    - item_type: preproc_def
      name: DATA_QOS_CF_ACK_POLL_NODATA
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xF'
    - item_type: preproc_def
      name: MGMT_HDRLEN
      pos:
        line_end: 185
        line_start: 182
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "(IEEE802_11_FC_LEN+IEEE802_11_DUR_LEN+\\\n\t\t\t IEEE802_11_DA_LEN+IEEE802_11_SA_LEN+\\\n\t\t\t
        IEEE802_11_BSSID_LEN+IEEE802_11_SEQ_LEN)"
    - item_type: preproc_def
      name: E_SSID
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0'
    - item_type: preproc_def
      name: E_RATES
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '1'
    - item_type: preproc_def
      name: E_FH
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '2'
    - item_type: preproc_def
      name: E_DS
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '3'
    - item_type: preproc_def
      name: E_CF
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '4'
    - item_type: preproc_def
      name: E_TIM
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '5'
    - item_type: preproc_def
      name: E_IBSS
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '6'
    - item_type: preproc_def
      name: E_CHALLENGE
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '16'
    - item_type: preproc_def
      name: E_MESHID
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '114'
    - item_type: preproc_def
      name: CTRL_CONTROL_WRAPPER_HDRLEN
      pos:
        line_end: 309
        line_start: 305
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "(IEEE802_11_FC_LEN+IEEE802_11_DUR_LEN+\\\n\t\t\t\t\t IEEE802_11_ADDR1_LEN+\\\n\t\t\t\t\t
        IEEE802_11_CARRIED_FC_LEN+\\\n\t\t\t\t\t IEEE802_11_HT_CONTROL_LEN)"
    - item_type: preproc_def
      name: CTRL_RTS_HDRLEN
      pos:
        line_end: 319
        line_start: 317
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "(IEEE802_11_FC_LEN+IEEE802_11_DUR_LEN+\\\n\t\t\t IEEE802_11_RA_LEN+IEEE802_11_TA_LEN)"
    - item_type: preproc_def
      name: CTRL_CTS_HDRLEN
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (IEEE802_11_FC_LEN+IEEE802_11_DUR_LEN+IEEE802_11_RA_LEN)
    - item_type: preproc_def
      name: CTRL_ACK_HDRLEN
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (IEEE802_11_FC_LEN+IEEE802_11_DUR_LEN+IEEE802_11_RA_LEN)
    - item_type: preproc_def
      name: CTRL_PS_POLL_HDRLEN
      pos:
        line_end: 345
        line_start: 343
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "(IEEE802_11_FC_LEN+IEEE802_11_AID_LEN+\\\n\t\t\t\t IEEE802_11_BSSID_LEN+IEEE802_11_TA_LEN)"
    - item_type: preproc_def
      name: CTRL_END_HDRLEN
      pos:
        line_end: 355
        line_start: 353
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "(IEEE802_11_FC_LEN+IEEE802_11_DUR_LEN+\\\n\t\t\t IEEE802_11_RA_LEN+IEEE802_11_BSSID_LEN)"
    - item_type: preproc_def
      name: CTRL_END_ACK_HDRLEN
      pos:
        line_end: 365
        line_start: 363
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "(IEEE802_11_FC_LEN+IEEE802_11_DUR_LEN+\\\n\t\t\t\t IEEE802_11_RA_LEN+IEEE802_11_BSSID_LEN)"
    - item_type: preproc_def
      name: CTRL_BA_HDRLEN
      pos:
        line_end: 375
        line_start: 373
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "(IEEE802_11_FC_LEN+IEEE802_11_DUR_LEN+\\\n\t\t\t IEEE802_11_RA_LEN+IEEE802_11_TA_LEN)"
    - item_type: preproc_def
      name: CTRL_BAR_HDRLEN
      pos:
        line_end: 388
        line_start: 385
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "(IEEE802_11_FC_LEN+IEEE802_11_DUR_LEN+\\\n\t\t\t\t IEEE802_11_RA_LEN+IEEE802_11_TA_LEN+\\\n\t\t\t\t
        IEEE802_11_CTL_LEN+IEEE802_11_SEQ_LEN)"
    - item_type: preproc_def
      name: MAX_MCS_INDEX
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '76'
    - item_type: preproc_def
      name: NUM_AUTH_ALGS
      pos:
        line_end: 837
        line_start: 836
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (sizeof(auth_alg_text) / sizeof(auth_alg_text[0]))
    - item_type: preproc_def
      name: NUM_STATUSES
      pos:
        line_end: 1013
        line_start: 1012
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (sizeof(status_text) / sizeof(status_text[0]))
    - item_type: preproc_def
      name: NUM_REASONS
      pos:
        line_end: 1125
        line_start: 1124
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (sizeof(reason_text) / sizeof(reason_text[0]))
    - item_type: preproc_def
      name: ADDR1
      pos:
        line_end: 1944
        line_start: 1943
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (p + 4)
    - item_type: preproc_def
      name: ADDR2
      pos:
        line_end: 1945
        line_start: 1944
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (p + 10)
    - item_type: preproc_def
      name: ADDR3
      pos:
        line_end: 1946
        line_start: 1945
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (p + 16)
    - item_type: preproc_def
      name: ADDR4
      pos:
        line_end: 1947
        line_start: 1946
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (p + 24)
    - item_type: preproc_def
      name: ADDR1
      pos:
        line_end: 2014
        line_start: 2013
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (p + 4)
    - item_type: preproc_def
      name: ADDR2
      pos:
        line_end: 2015
        line_start: 2014
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (p + 10)
    - item_type: preproc_def
      name: ADDR3
      pos:
        line_end: 2016
        line_start: 2015
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (p + 16)
    - item_type: preproc_def
      name: ADDR4
      pos:
        line_end: 2017
        line_start: 2016
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (p + 24)
    - item_type: preproc_def
      name: IEEE80211_CHAN_TURBO
      pos:
        line_end: 2575
        line_start: 2574
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x00010\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_CCK
      pos:
        line_end: 2576
        line_start: 2575
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x00020\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_OFDM
      pos:
        line_end: 2577
        line_start: 2576
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x00040\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_2GHZ
      pos:
        line_end: 2578
        line_start: 2577
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x00080\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_5GHZ
      pos:
        line_end: 2579
        line_start: 2578
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x00100\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_PASSIVE
      pos:
        line_end: 2580
        line_start: 2579
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x00200\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_DYN
      pos:
        line_end: 2581
        line_start: 2580
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x00400\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_GFSK
      pos:
        line_end: 2582
        line_start: 2581
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x00800\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_GSM
      pos:
        line_end: 2583
        line_start: 2582
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x01000\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_STURBO
      pos:
        line_end: 2584
        line_start: 2583
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x02000\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_HALF
      pos:
        line_end: 2585
        line_start: 2584
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x04000\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_QUARTER
      pos:
        line_end: 2586
        line_start: 2585
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x08000\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_HT20
      pos:
        line_end: 2587
        line_start: 2586
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x10000\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_HT40U
      pos:
        line_end: 2588
        line_start: 2587
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x20000\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_HT40D
      pos:
        line_end: 2589
        line_start: 2588
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x40000\t"
    - item_type: preproc_def
      name: IEEE80211_CHAN_A
      pos:
        line_end: 2593
        line_start: 2591
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM)
    - item_type: preproc_def
      name: IEEE80211_CHAN_B
      pos:
        line_end: 2595
        line_start: 2593
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK)
    - item_type: preproc_def
      name: IEEE80211_CHAN_G
      pos:
        line_end: 2597
        line_start: 2595
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_DYN)
    - item_type: preproc_def
      name: IEEE80211_CHAN_TA
      pos:
        line_end: 2599
        line_start: 2597
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_TURBO)
    - item_type: preproc_def
      name: IEEE80211_CHAN_TG
      pos:
        line_end: 2601
        line_start: 2599
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_DYN  | IEEE80211_CHAN_TURBO)
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_F_CFP
      pos:
        line_end: 2607
        line_start: 2604
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_F_SHORTPRE
      pos:
        line_end: 2611
        line_start: 2607
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_F_WEP
      pos:
        line_end: 2614
        line_start: 2611
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x04\t"
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_F_FRAG
      pos:
        line_end: 2617
        line_start: 2614
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x08\t"
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_F_FCS
      pos:
        line_end: 2618
        line_start: 2617
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x10\t"
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_F_DATAPAD
      pos:
        line_end: 2622
        line_start: 2618
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x20\t"
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_F_BADFCS
      pos:
        line_end: 2623
        line_start: 2622
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x40\t"
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_F_RX_BADFCS
      pos:
        line_end: 2626
        line_start: 2625
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x0001\t"
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_F_RX_PLCP_CRC
      pos:
        line_end: 2627
        line_start: 2626
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x0002\t"
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_BANDWIDTH_KNOWN
      pos:
        line_end: 2630
        line_start: 2629
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_MCS_INDEX_KNOWN
      pos:
        line_end: 2631
        line_start: 2630
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_GUARD_INTERVAL_KNOWN
      pos:
        line_end: 2632
        line_start: 2631
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_HT_FORMAT_KNOWN
      pos:
        line_end: 2633
        line_start: 2632
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_FEC_TYPE_KNOWN
      pos:
        line_end: 2634
        line_start: 2633
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_STBC_KNOWN
      pos:
        line_end: 2635
        line_start: 2634
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_NESS_KNOWN
      pos:
        line_end: 2636
        line_start: 2635
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x40'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_NESS_BIT_1
      pos:
        line_end: 2637
        line_start: 2636
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_BANDWIDTH_MASK
      pos:
        line_end: 2640
        line_start: 2639
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_BANDWIDTH_20
      pos:
        line_end: 2641
        line_start: 2640
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_BANDWIDTH_40
      pos:
        line_end: 2642
        line_start: 2641
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_BANDWIDTH_20L
      pos:
        line_end: 2643
        line_start: 2642
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_BANDWIDTH_20U
      pos:
        line_end: 2644
        line_start: 2643
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '3'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_SHORT_GI
      pos:
        line_end: 2645
        line_start: 2644
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x04 '
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_HT_GREENFIELD
      pos:
        line_end: 2646
        line_start: 2645
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_FEC_LDPC
      pos:
        line_end: 2647
        line_start: 2646
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_STBC_MASK
      pos:
        line_end: 2648
        line_start: 2647
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x60'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_STBC_1
      pos:
        line_end: 2649
        line_start: 2648
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_STBC_2
      pos:
        line_end: 2650
        line_start: 2649
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '2'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_STBC_3
      pos:
        line_end: 2651
        line_start: 2650
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '3'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_STBC_SHIFT
      pos:
        line_end: 2652
        line_start: 2651
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '5'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_MCS_NESS_BIT_0
      pos:
        line_end: 2653
        line_start: 2652
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_AMPDU_REPORT_ZEROLEN
      pos:
        line_end: 2656
        line_start: 2655
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_AMPDU_IS_ZEROLEN
      pos:
        line_end: 2657
        line_start: 2656
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_AMPDU_LAST_KNOWN
      pos:
        line_end: 2658
        line_start: 2657
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_AMPDU_IS_LAST
      pos:
        line_end: 2659
        line_start: 2658
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_AMPDU_DELIM_CRC_ERR
      pos:
        line_end: 2660
        line_start: 2659
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_AMPDU_DELIM_CRC_KNOWN
      pos:
        line_end: 2661
        line_start: 2660
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_STBC_KNOWN
      pos:
        line_end: 2664
        line_start: 2663
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_TXOP_PS_NA_KNOWN
      pos:
        line_end: 2665
        line_start: 2664
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_GUARD_INTERVAL_KNOWN
      pos:
        line_end: 2666
        line_start: 2665
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_SGI_NSYM_DIS_KNOWN
      pos:
        line_end: 2667
        line_start: 2666
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_LDPC_EXTRA_OFDM_SYM_KNOWN
      pos:
        line_end: 2668
        line_start: 2667
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_BEAMFORMED_KNOWN
      pos:
        line_end: 2669
        line_start: 2668
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_BANDWIDTH_KNOWN
      pos:
        line_end: 2670
        line_start: 2669
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_GROUP_ID_KNOWN
      pos:
        line_end: 2671
        line_start: 2670
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0080'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_PARTIAL_AID_KNOWN
      pos:
        line_end: 2672
        line_start: 2671
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_STBC
      pos:
        line_end: 2675
        line_start: 2674
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_TXOP_PS_NA
      pos:
        line_end: 2676
        line_start: 2675
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_SHORT_GI
      pos:
        line_end: 2677
        line_start: 2676
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_SGI_NSYM_M10_9
      pos:
        line_end: 2678
        line_start: 2677
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_LDPC_EXTRA_OFDM_SYM
      pos:
        line_end: 2679
        line_start: 2678
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_BEAMFORMED
      pos:
        line_end: 2680
        line_start: 2679
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_BANDWIDTH_MASK
      pos:
        line_end: 2682
        line_start: 2681
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x1f'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_NSS_MASK
      pos:
        line_end: 2684
        line_start: 2683
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_MCS_MASK
      pos:
        line_end: 2685
        line_start: 2684
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0xf0'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_VHT_MCS_SHIFT
      pos:
        line_end: 2686
        line_start: 2685
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '4'
    - item_type: preproc_def
      name: IEEE80211_RADIOTAP_CODING_LDPC_USERn
      pos:
        line_end: 2688
        line_start: 2687
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: IEEE80211_CHAN_FHSS
      pos:
        line_end: 2691
        line_start: 2689
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_GFSK)
    - item_type: preproc_def
      name: IEEE80211_CHAN_A
      pos:
        line_end: 2693
        line_start: 2691
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM)
    - item_type: preproc_def
      name: IEEE80211_CHAN_B
      pos:
        line_end: 2695
        line_start: 2693
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK)
    - item_type: preproc_def
      name: IEEE80211_CHAN_PUREG
      pos:
        line_end: 2697
        line_start: 2695
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_OFDM)
    - item_type: preproc_def
      name: IEEE80211_CHAN_G
      pos:
        line_end: 2699
        line_start: 2697
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: (IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_DYN)
    - item_type: preproc_def
      name: PRISM_HDR_LEN
      pos:
        line_end: 3513
        line_start: 3512
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '144'
    - item_type: preproc_def
      name: WLANCAP_MAGIC_COOKIE_BASE
      pos:
        line_end: 3515
        line_start: 3514
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x80211000'
    - item_type: preproc_def
      name: WLANCAP_MAGIC_COOKIE_V1
      pos:
        line_end: 3516
        line_start: 3515
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x80211001'
    - item_type: preproc_def
      name: WLANCAP_MAGIC_COOKIE_V2
      pos:
        line_end: 3517
        line_start: 3516
        source_file: /src/tcpdump/print-802_11.c
      type_or_value: '0x80211002'
    structs:
    - fields:
      - name: fc
        type: nd_uint16_t
      - name: duration
        type: nd_uint16_t
      - name: da
        type: nd_mac48
      - name: sa
        type: nd_mac48
      - name: bssid
        type: nd_mac48
      - name: seq_ctrl
        type: nd_uint16_t
      item_type: struct
      name: mgmt_header_t
      pos:
        line_end: 180
        line_start: 173
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: length
        type: u_int
      - name: ssid[33]
        type: u_char
      item_type: struct
      name: ssid_t
      pos:
        line_end: 195
        line_start: 192
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: length
        type: u_int
      - name: rate[16]
        type: uint8_t
      item_type: struct
      name: rates_t
      pos:
        line_end: 200
        line_start: 197
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: length
        type: u_int
      - name: text[254]
        type: uint8_t
      item_type: struct
      name: challenge_t
      pos:
        line_end: 205
        line_start: 202
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: length
        type: u_int
      - name: dwell_time
        type: uint16_t
      - name: hop_set
        type: uint8_t
      - name: hop_pattern
        type: uint8_t
      - name: hop_index
        type: uint8_t
      item_type: struct
      name: fh_t
      pos:
        line_end: 213
        line_start: 207
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: length
        type: u_int
      - name: channel
        type: uint8_t
      item_type: struct
      name: ds_t
      pos:
        line_end: 218
        line_start: 215
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: length
        type: u_int
      - name: count
        type: uint8_t
      - name: period
        type: uint8_t
      - name: max_duration
        type: uint16_t
      - name: dur_remaining
        type: uint16_t
      item_type: struct
      name: cf_t
      pos:
        line_end: 226
        line_start: 220
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: length
        type: u_int
      - name: count
        type: uint8_t
      - name: period
        type: uint8_t
      - name: bitmap_control
        type: uint8_t
      - name: bitmap[251]
        type: uint8_t
      item_type: struct
      name: tim_t
      pos:
        line_end: 234
        line_start: 228
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: length
        type: u_int
      - name: meshid[33]
        type: u_char
      item_type: struct
      name: meshid_t
      pos:
        line_end: 239
        line_start: 236
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: timestamp[IEEE802_11_TSTAMP_LEN]
        type: uint8_t
      - name: beacon_interval
        type: uint16_t
      - name: listen_interval
        type: uint16_t
      - name: status_code
        type: uint16_t
      - name: aid
        type: uint16_t
      - name: ap[IEEE802_11_AP_LEN]
        type: u_char
      - name: reason_code
        type: uint16_t
      - name: auth_alg
        type: uint16_t
      - name: auth_trans_seq_num
        type: uint16_t
      - name: challenge_present
        type: int
      - name: challenge
        type: struct challenge_t
      - name: capability_info
        type: uint16_t
      - name: ssid_present
        type: int
      - name: ssid
        type: struct ssid_t
      - name: rates_present
        type: int
      - name: rates
        type: struct rates_t
      - name: ds_present
        type: int
      - name: ds
        type: struct ds_t
      - name: cf_present
        type: int
      - name: cf
        type: struct cf_t
      - name: fh_present
        type: int
      - name: fh
        type: struct fh_t
      - name: tim_present
        type: int
      - name: tim
        type: struct tim_t
      - name: meshid_present
        type: int
      - name: meshid
        type: struct meshid_t
      item_type: struct
      name: mgmt_body_t
      pos:
        line_end: 295
        line_start: 268
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: fc
        type: nd_uint16_t
      - name: duration
        type: nd_uint16_t
      - name: addr1
        type: nd_mac48
      - name: carried_fc[IEEE802_11_CARRIED_FC_LEN]
        type: nd_uint16_t
      - name: ht_control[IEEE802_11_HT_CONTROL_LEN]
        type: nd_uint16_t
      item_type: struct
      name: ctrl_control_wrapper_hdr_t
      pos:
        line_end: 303
        line_start: 297
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: fc
        type: nd_uint16_t
      - name: duration
        type: nd_uint16_t
      - name: ra
        type: nd_mac48
      - name: ta
        type: nd_mac48
      item_type: struct
      name: ctrl_rts_hdr_t
      pos:
        line_end: 315
        line_start: 310
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: fc
        type: nd_uint16_t
      - name: duration
        type: nd_uint16_t
      - name: ra
        type: nd_mac48
      item_type: struct
      name: ctrl_cts_hdr_t
      pos:
        line_end: 324
        line_start: 320
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: fc
        type: nd_uint16_t
      - name: duration
        type: nd_uint16_t
      - name: ra
        type: nd_mac48
      item_type: struct
      name: ctrl_ack_hdr_t
      pos:
        line_end: 332
        line_start: 328
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: fc
        type: nd_uint16_t
      - name: aid
        type: nd_uint16_t
      - name: bssid
        type: nd_mac48
      - name: ta
        type: nd_mac48
      item_type: struct
      name: ctrl_ps_poll_hdr_t
      pos:
        line_end: 341
        line_start: 336
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: fc
        type: nd_uint16_t
      - name: duration
        type: nd_uint16_t
      - name: ra
        type: nd_mac48
      - name: bssid
        type: nd_mac48
      item_type: struct
      name: ctrl_end_hdr_t
      pos:
        line_end: 351
        line_start: 346
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: fc
        type: nd_uint16_t
      - name: duration
        type: nd_uint16_t
      - name: ra
        type: nd_mac48
      - name: bssid
        type: nd_mac48
      item_type: struct
      name: ctrl_end_ack_hdr_t
      pos:
        line_end: 361
        line_start: 356
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: fc
        type: nd_uint16_t
      - name: duration
        type: nd_uint16_t
      - name: ra
        type: nd_mac48
      - name: ta
        type: nd_mac48
      item_type: struct
      name: ctrl_ba_hdr_t
      pos:
        line_end: 371
        line_start: 366
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: fc
        type: nd_uint16_t
      - name: dur
        type: nd_uint16_t
      - name: ra
        type: nd_mac48
      - name: ta
        type: nd_mac48
      - name: ctl
        type: nd_uint16_t
      - name: seq
        type: nd_uint16_t
      item_type: struct
      name: ctrl_bar_hdr_t
      pos:
        line_end: 383
        line_start: 376
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: flags
        type: nd_uint8_t
      - name: ttl
        type: nd_uint8_t
      - name: seq
        type: nd_uint32_t
      - name: addr4
        type: nd_mac48
      - name: addr5
        type: nd_mac48
      - name: addr6
        type: nd_mac48
      item_type: struct
      name: meshcntl_t
      pos:
        line_end: 396
        line_start: 389
        source_file: /src/tcpdump/print-802_11.c
    - fields:
      - name: it_version
        type: nd_uint8_t
      - name: it_pad
        type: nd_uint8_t
      - name: it_len
        type: nd_uint16_t
      - name: it_present
        type: nd_uint32_t
      item_type: struct
      name: ieee80211_radiotap_header
      pos:
        line_end: 2418
        line_start: 2399
        source_file: /src/tcpdump/print-802_11.c
    typedefs: []
    union: []
- function_names:
  - OF_FWD
  - OF_CHK_FWD
  source_file: /src/tcpdump/openflow.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OF_VER_1_0
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/openflow.h
      type_or_value: 0x01U
    - item_type: preproc_def
      name: OF_VER_1_1
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/openflow.h
      type_or_value: 0x02U
    - item_type: preproc_def
      name: OF_VER_1_2
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/openflow.h
      type_or_value: 0x03U
    - item_type: preproc_def
      name: OF_VER_1_3
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/openflow.h
      type_or_value: 0x04U
    - item_type: preproc_def
      name: OF_VER_1_4
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/openflow.h
      type_or_value: 0x05U
    - item_type: preproc_def
      name: OF_VER_1_5
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/openflow.h
      type_or_value: 0x06U
    - item_type: preproc_def
      name: OF_HEADER_FIXLEN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/openflow.h
      type_or_value: 8U
    - item_type: preproc_def
      name: ONF_EXP_ONF
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/openflow.h
      type_or_value: '0x4f4e4600'
    - item_type: preproc_def
      name: ONF_EXP_BUTE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/openflow.h
      type_or_value: '0xff000001'
    - item_type: preproc_def
      name: ONF_EXP_NOVIFLOW
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/openflow.h
      type_or_value: '0xff000002'
    - item_type: preproc_def
      name: ONF_EXP_L3
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/openflow.h
      type_or_value: '0xff000003'
    - item_type: preproc_def
      name: ONF_EXP_L4L7
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/openflow.h
      type_or_value: '0xff000004'
    - item_type: preproc_def
      name: ONF_EXP_WMOB
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/openflow.h
      type_or_value: '0xff000005'
    - item_type: preproc_def
      name: ONF_EXP_FABS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/openflow.h
      type_or_value: '0xff000006'
    - item_type: preproc_def
      name: ONF_EXP_OTRANS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/openflow.h
      type_or_value: '0xff000007'
    - item_type: preproc_def
      name: ONF_EXP_NBLNCTU
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/openflow.h
      type_or_value: '0xff000008'
    - item_type: preproc_def
      name: ONF_EXP_MPCE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/openflow.h
      type_or_value: '0xff000009'
    - item_type: preproc_def
      name: ONF_EXP_MPLSTPSPTN
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/openflow.h
      type_or_value: '0xff00000a'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*decoder)(netdissect_options *ndo, const u_char *, const u_int)
        type: void
      - name: req_what
        type: "enum {\n\t\tREQ_NONE,   /* Message body length may be anything. */\n\t\tREQ_FIXLEN,
          /* Message body length must be == req_value. */\n\t\tREQ_MINLEN, /* Message
          body length must be >= req_value. */\n\t}"
      - name: req_value
        type: uint16_t
      item_type: struct
      name: of_msgtypeinfo
      pos:
        line_end: 86
        line_start: 75
        source_file: /src/tcpdump/openflow.h
    typedefs: []
    union: []
- function_names:
  - egpnr_print
  - egp_print
  source_file: /src/tcpdump/print-egp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EGP_VERSION
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: EGPT_ACQUIRE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: EGPT_REACH
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: EGPT_POLL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: EGPT_UPDATE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EGPT_ERROR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: EGPC_REQUEST
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EGPC_CONFIRM
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EGPC_REFUSE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: EGPC_CEASE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: EGPC_CEASEACK
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: EGPC_HELLO
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EGPC_HEARDU
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EGPS_UNSPEC
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EGPS_ACTIVE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EGPS_PASSIVE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: EGPS_NORES
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: EGPS_ADMIN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: EGPS_GODOWN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: EGPS_PARAM
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: EGPS_PROTO
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: EGPS_INDET
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EGPS_UP
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EGPS_DOWN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: EGPS_UNSOL
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: EGPR_UNSPEC
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EGPR_BADHEAD
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EGPR_BADDATA
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: EGPR_NOREACH
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: EGPR_XSPOLL
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: EGPR_NORESP
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: EGPR_UVERSION
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-egp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: egp_hello
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-egp.c
      type_or_value: egp_handg.egpu_hello
    - item_type: preproc_def
      name: egp_intgw
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-egp.c
      type_or_value: egp_handg.egpu_gws[0]
    - item_type: preproc_def
      name: egp_extgw
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-egp.c
      type_or_value: egp_handg.egpu_gws[1]
    - item_type: preproc_def
      name: egp_reason
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-egp.c
      type_or_value: egp_handg.egpu_reason
    - item_type: preproc_def
      name: egp_poll
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-egp.c
      type_or_value: egp_pands.egpu_poll
    - item_type: preproc_def
      name: egp_sourcenet
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-egp.c
      type_or_value: egp_pands.egpu_sourcenet
    structs:
    - fields:
      - name: egp_version
        type: nd_uint8_t
      - name: egp_type
        type: nd_uint8_t
      - name: egp_code
        type: nd_uint8_t
      - name: egp_status
        type: nd_uint8_t
      - name: egp_checksum
        type: nd_uint16_t
      - name: egp_as
        type: nd_uint16_t
      - name: egp_sequence
        type: nd_uint16_t
      - name: egp_handg
        type: "union {\n\t\tnd_uint16_t egpu_hello;\n\t\tnd_uint8_t  egpu_gws[2];\n\t\tnd_uint16_t
          egpu_reason;\n#define  EGPR_UNSPEC\t0\n#define  EGPR_BADHEAD\t1\n#define
          \ EGPR_BADDATA\t2\n#define  EGPR_NOREACH\t3\n#define  EGPR_XSPOLL\t4\n#define
          \ EGPR_NORESP\t5\n#define  EGPR_UVERSION\t6\n\t}"
      - name: egp_pands
        type: "union {\n\t\tnd_uint16_t egpu_poll;\n\t\tnd_ipv4 egpu_sourcenet;\n\t}"
      item_type: struct
      name: egp_packet
      pos:
        line_end: 88
        line_start: 33
        source_file: /src/tcpdump/print-egp.c
    typedefs: []
    union: []
- function_names:
  - pktap_header_print
  - pktap_if_print
  source_file: /src/tcpdump/print-pktap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PKT_REC_NONE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-pktap.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: PKT_REC_PACKET
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-pktap.c
      type_or_value: "1\t"
    structs:
    - fields:
      - name: pkt_len
        type: nd_uint32_t
      - name: pkt_rectype
        type: nd_uint32_t
      - name: pkt_dlt
        type: nd_uint32_t
      - name: pkt_ifname[24]
        type: char
      - name: pkt_flags
        type: nd_uint32_t
      - name: pkt_pfamily
        type: nd_uint32_t
      - name: pkt_llhdrlen
        type: nd_uint32_t
      - name: pkt_lltrlrlen
        type: nd_uint32_t
      - name: pkt_pid
        type: nd_uint32_t
      - name: pkt_cmdname[20]
        type: char
      - name: pkt_svc_class
        type: nd_uint32_t
      - name: pkt_iftype
        type: nd_uint16_t
      - name: pkt_ifunit
        type: nd_uint16_t
      - name: pkt_epid
        type: nd_uint32_t
      - name: pkt_ecmdname[20]
        type: char
      item_type: struct
      name: pktap_header
      pos:
        line_end: 60
        line_start: 44
        source_file: /src/tcpdump/print-pktap.c
    typedefs: []
    union: []
- function_names:
  - aodv_extension
  - aodv_rreq
  - aodv_rrep
  - aodv_rerr
  - aodv_v6_rreq
  - aodv_v6_rrep
  - aodv_v6_rerr
  - aodv_print
  source_file: /src/tcpdump/print-aodv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RREQ_JOIN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "0x80\t\t"
    - item_type: preproc_def
      name: RREQ_REPAIR
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "0x40\t\t"
    - item_type: preproc_def
      name: RREQ_GRAT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "0x20\t\t"
    - item_type: preproc_def
      name: RREQ_DEST
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "0x10\t\t"
    - item_type: preproc_def
      name: RREQ_UNKNOWN
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "0x08\t\t"
    - item_type: preproc_def
      name: RREQ_FLAGS_MASK
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "0xF8\t\t"
    - item_type: preproc_def
      name: RREP_REPAIR
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: RREP_ACK
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "0x40\t"
    - item_type: preproc_def
      name: RREP_FLAGS_MASK
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "0xC0\t"
    - item_type: preproc_def
      name: RREP_PREFIX_MASK
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "0x1F\t"
    - item_type: preproc_def
      name: RERR_NODELETE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: RERR_FLAGS_MASK
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: AODV_RREQ
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: AODV_RREP
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: AODV_RERR
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: AODV_RREP_ACK
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: AODV_EXT_HELLO
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/print-aodv.c
      type_or_value: '1'
    structs:
    - fields:
      - name: rreq_type
        type: nd_uint8_t
      - name: rreq_flags
        type: nd_uint8_t
      - name: rreq_zero0
        type: nd_uint8_t
      - name: rreq_hops
        type: nd_uint8_t
      - name: rreq_id
        type: nd_uint32_t
      - name: rreq_da
        type: nd_ipv4
      - name: rreq_ds
        type: nd_uint32_t
      - name: rreq_oa
        type: nd_ipv4
      - name: rreq_os
        type: nd_uint32_t
      item_type: struct
      name: aodv_rreq
      pos:
        line_end: 53
        line_start: 43
        source_file: /src/tcpdump/print-aodv.c
    - fields:
      - name: rreq_type
        type: nd_uint8_t
      - name: rreq_flags
        type: nd_uint8_t
      - name: rreq_zero0
        type: nd_uint8_t
      - name: rreq_hops
        type: nd_uint8_t
      - name: rreq_id
        type: nd_uint32_t
      - name: rreq_da
        type: nd_ipv6
      - name: rreq_ds
        type: nd_uint32_t
      - name: rreq_oa
        type: nd_ipv6
      - name: rreq_os
        type: nd_uint32_t
      item_type: struct
      name: aodv_rreq6
      pos:
        line_end: 64
        line_start: 54
        source_file: /src/tcpdump/print-aodv.c
    - fields:
      - name: rrep_type
        type: nd_uint8_t
      - name: rrep_flags
        type: nd_uint8_t
      - name: rrep_ps
        type: nd_uint8_t
      - name: rrep_hops
        type: nd_uint8_t
      - name: rrep_da
        type: nd_ipv4
      - name: rrep_ds
        type: nd_uint32_t
      - name: rrep_oa
        type: nd_ipv4
      - name: rrep_life
        type: nd_uint32_t
      item_type: struct
      name: aodv_rrep
      pos:
        line_end: 82
        line_start: 73
        source_file: /src/tcpdump/print-aodv.c
    - fields:
      - name: rrep_type
        type: nd_uint8_t
      - name: rrep_flags
        type: nd_uint8_t
      - name: rrep_ps
        type: nd_uint8_t
      - name: rrep_hops
        type: nd_uint8_t
      - name: rrep_da
        type: nd_ipv6
      - name: rrep_ds
        type: nd_uint32_t
      - name: rrep_oa
        type: nd_ipv6
      - name: rrep_life
        type: nd_uint32_t
      item_type: struct
      name: aodv_rrep6
      pos:
        line_end: 92
        line_start: 83
        source_file: /src/tcpdump/print-aodv.c
    - fields:
      - name: u_da
        type: nd_ipv4
      - name: u_ds
        type: nd_uint32_t
      item_type: struct
      name: rerr_unreach
      pos:
        line_end: 102
        line_start: 99
        source_file: /src/tcpdump/print-aodv.c
    - fields:
      - name: u_da
        type: nd_ipv6
      - name: u_ds
        type: nd_uint32_t
      item_type: struct
      name: rerr_unreach6
      pos:
        line_end: 106
        line_start: 103
        source_file: /src/tcpdump/print-aodv.c
    - fields:
      - name: rerr_type
        type: nd_uint8_t
      - name: rerr_flags
        type: nd_uint8_t
      - name: rerr_zero0
        type: nd_uint8_t
      - name: rerr_dc
        type: nd_uint8_t
      item_type: struct
      name: aodv_rerr
      pos:
        line_end: 113
        line_start: 108
        source_file: /src/tcpdump/print-aodv.c
    - fields:
      - name: ra_type
        type: nd_uint8_t
      - name: ra_zero0
        type: nd_uint8_t
      item_type: struct
      name: aodv_rrep_ack
      pos:
        line_end: 121
        line_start: 118
        source_file: /src/tcpdump/print-aodv.c
    - fields:
      - name: type
        type: nd_uint8_t
      - name: length
        type: nd_uint8_t
      item_type: struct
      name: aodv_ext
      pos:
        line_end: 138
        line_start: 135
        source_file: /src/tcpdump/print-aodv.c
    - fields:
      - name: eh
        type: "struct\taodv_ext"
      - name: interval
        type: nd_uint32_t
      item_type: struct
      name: aodv_hello
      pos:
        line_end: 145
        line_start: 140
        source_file: /src/tcpdump/print-aodv.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/oui.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OUI_ENCAP_ETHER
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x000000  '
    - item_type: preproc_def
      name: OUI_CISCO
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x00000c  '
    - item_type: preproc_def
      name: OUI_IANA
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x00005E  '
    - item_type: preproc_def
      name: OUI_NORTEL
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x000081  '
    - item_type: preproc_def
      name: OUI_CISCO_90
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x0000f8  '
    - item_type: preproc_def
      name: OUI_ITU_T
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x0019a7  '
    - item_type: preproc_def
      name: OUI_RFC2684
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x0080c2  '
    - item_type: preproc_def
      name: OUI_ATM_FORUM
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x00A03E  '
    - item_type: preproc_def
      name: OUI_CABLE_BPDU
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x00E02F  '
    - item_type: preproc_def
      name: OUI_APPLETALK
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x080007  '
    - item_type: preproc_def
      name: OUI_JUNIPER
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x009069  '
    - item_type: preproc_def
      name: OUI_HP
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x080009  '
    - item_type: preproc_def
      name: OUI_IEEE_8021_PRIVATE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x0080c2  '
    - item_type: preproc_def
      name: OUI_IEEE_8023_PRIVATE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x00120f  '
    - item_type: preproc_def
      name: OUI_TIA
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x0012bb  '
    - item_type: preproc_def
      name: OUI_DCBX
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x001B21  '
    - item_type: preproc_def
      name: OUI_NICIRA
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x002320  '
    - item_type: preproc_def
      name: OUI_BSN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x5c16c7  '
    - item_type: preproc_def
      name: OUI_VELLO
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/oui.h
      type_or_value: '0xb0d2f5  '
    - item_type: preproc_def
      name: OUI_HP2
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x002481  '
    - item_type: preproc_def
      name: OUI_HPLABS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x0004ea  '
    - item_type: preproc_def
      name: OUI_INFOBLOX
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x748771  '
    - item_type: preproc_def
      name: OUI_ONLAB
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/oui.h
      type_or_value: '0xa42305  '
    - item_type: preproc_def
      name: OUI_FREESCALE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x00049f  '
    - item_type: preproc_def
      name: OUI_NETRONOME
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x0015ad  '
    - item_type: preproc_def
      name: OUI_BROADCOM
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x001018  '
    - item_type: preproc_def
      name: OUI_PMC_SIERRA
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/oui.h
      type_or_value: '0x00e004  '
    - item_type: preproc_def
      name: OUI_ERICSSON
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/oui.h
      type_or_value: '0xd0f0db  '
    - item_type: preproc_def
      name: SMI_IETF
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/oui.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: SMI_ACC
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/oui.h
      type_or_value: '5'
    - item_type: preproc_def
      name: SMI_CISCO
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/oui.h
      type_or_value: '9'
    - item_type: preproc_def
      name: SMI_HEWLETT_PACKARD
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/oui.h
      type_or_value: '11'
    - item_type: preproc_def
      name: SMI_SUN_MICROSYSTEMS
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/oui.h
      type_or_value: '42'
    - item_type: preproc_def
      name: SMI_MERIT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/oui.h
      type_or_value: '61'
    - item_type: preproc_def
      name: SMI_AT_AND_T
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/oui.h
      type_or_value: '74'
    - item_type: preproc_def
      name: SMI_MOTOROLA
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/oui.h
      type_or_value: '161'
    - item_type: preproc_def
      name: SMI_SHIVA
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/oui.h
      type_or_value: '166'
    - item_type: preproc_def
      name: SMI_ERICSSON
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/oui.h
      type_or_value: '193'
    - item_type: preproc_def
      name: SMI_CISCO_VPN5000
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/oui.h
      type_or_value: '255'
    - item_type: preproc_def
      name: SMI_LIVINGSTON
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/oui.h
      type_or_value: '307'
    - item_type: preproc_def
      name: SMI_MICROSOFT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/oui.h
      type_or_value: '311'
    - item_type: preproc_def
      name: SMI_3COM
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/oui.h
      type_or_value: '429'
    - item_type: preproc_def
      name: SMI_ASCEND
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/oui.h
      type_or_value: '529'
    - item_type: preproc_def
      name: SMI_BAY
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/oui.h
      type_or_value: '1584'
    - item_type: preproc_def
      name: SMI_FOUNDRY
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/oui.h
      type_or_value: '1991'
    - item_type: preproc_def
      name: SMI_VERSANET
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/oui.h
      type_or_value: '2180'
    - item_type: preproc_def
      name: SMI_REDBACK
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/oui.h
      type_or_value: '2352'
    - item_type: preproc_def
      name: SMI_JUNIPER
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/oui.h
      type_or_value: '2636'
    - item_type: preproc_def
      name: SMI_APTIS
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/oui.h
      type_or_value: '2637'
    - item_type: preproc_def
      name: SMI_DT_AG
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/oui.h
      type_or_value: '2937'
    - item_type: preproc_def
      name: SMI_IXIA
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/oui.h
      type_or_value: '3054'
    - item_type: preproc_def
      name: SMI_CISCO_VPN3000
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/oui.h
      type_or_value: '3076'
    - item_type: preproc_def
      name: SMI_COSINE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/oui.h
      type_or_value: '3085'
    - item_type: preproc_def
      name: SMI_SHASTA
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/oui.h
      type_or_value: '3199'
    - item_type: preproc_def
      name: SMI_NETSCREEN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/oui.h
      type_or_value: '3224'
    - item_type: preproc_def
      name: SMI_NOMADIX
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/oui.h
      type_or_value: '3309'
    - item_type: preproc_def
      name: SMI_T_MOBILE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/tcpdump/oui.h
      type_or_value: '3414'
    - item_type: preproc_def
      name: SMI_BROADBAND_FORUM
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/oui.h
      type_or_value: '3561'
    - item_type: preproc_def
      name: SMI_ZTE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/oui.h
      type_or_value: '3902'
    - item_type: preproc_def
      name: SMI_SIEMENS
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/oui.h
      type_or_value: '4329'
    - item_type: preproc_def
      name: SMI_CABLELABS
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/oui.h
      type_or_value: '4491'
    - item_type: preproc_def
      name: SMI_UNISPHERE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/oui.h
      type_or_value: '4874'
    - item_type: preproc_def
      name: SMI_CISCO_BBSM
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/oui.h
      type_or_value: '5263'
    - item_type: preproc_def
      name: SMI_THE3GPP2
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/oui.h
      type_or_value: '5535'
    - item_type: preproc_def
      name: SMI_SKT_TELECOM
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/oui.h
      type_or_value: '5806'
    - item_type: preproc_def
      name: SMI_IP_UNPLUGGED
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/oui.h
      type_or_value: '5925'
    - item_type: preproc_def
      name: SMI_ISSANNI
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/oui.h
      type_or_value: '5948'
    - item_type: preproc_def
      name: SMI_NETSCALER
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/oui.h
      type_or_value: '5951'
    - item_type: preproc_def
      name: SMI_DE_TE_MOBIL
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/oui.h
      type_or_value: '6490'
    - item_type: preproc_def
      name: SMI_QUINTUM
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/oui.h
      type_or_value: '6618'
    - item_type: preproc_def
      name: SMI_INTERLINK
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/oui.h
      type_or_value: '6728'
    - item_type: preproc_def
      name: SMI_CNCTC
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/oui.h
      type_or_value: '7951'
    - item_type: preproc_def
      name: SMI_STARENT_NETWORKS
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/oui.h
      type_or_value: '8164'
    - item_type: preproc_def
      name: SMI_COLUBRIS
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/oui.h
      type_or_value: '8744'
    - item_type: preproc_def
      name: SMI_THE3GPP
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/oui.h
      type_or_value: '10415'
    - item_type: preproc_def
      name: SMI_GEMTEK_SYSTEMS
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/oui.h
      type_or_value: '10529'
    - item_type: preproc_def
      name: SMI_BARRACUDA
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/oui.h
      type_or_value: '10704'
    - item_type: preproc_def
      name: SMI_ERICSSON_PKT_CORE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/oui.h
      type_or_value: '10923'
    - item_type: preproc_def
      name: SMI_DACOM
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/oui.h
      type_or_value: '11665'
    - item_type: preproc_def
      name: SMI_COLUMBIA_UNIVERSITY
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/oui.h
      type_or_value: '11862'
    - item_type: preproc_def
      name: SMI_FORTINET
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/oui.h
      type_or_value: '12356'
    - item_type: preproc_def
      name: SMI_VERIZON
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/oui.h
      type_or_value: '12951'
    - item_type: preproc_def
      name: SMI_PLIXER
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/oui.h
      type_or_value: '13745'
    - item_type: preproc_def
      name: SMI_WIFI_ALLIANCE
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/oui.h
      type_or_value: '14122'
    - item_type: preproc_def
      name: SMI_T_SYSTEMS_NOVA
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/oui.h
      type_or_value: '16787'
    - item_type: preproc_def
      name: SMI_CHINATELECOM_GUANZHOU
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/oui.h
      type_or_value: '20942'
    - item_type: preproc_def
      name: SMI_GIGAMON
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/oui.h
      type_or_value: '26866'
    - item_type: preproc_def
      name: SMI_CACE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/oui.h
      type_or_value: '32622'
    - item_type: preproc_def
      name: SMI_NTOP
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/oui.h
      type_or_value: 35632u
    - item_type: preproc_def
      name: SMI_ERICSSON_CANADA_INC
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/oui.h
      type_or_value: 46098u
    structs: []
    typedefs: []
    union: []
- function_names:
  - sll_print
  - sll_if_print
  - sll2_print
  - sll2_if_print
  source_file: /src/tcpdump/print-sll.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SLL_HDR_LEN
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-sll.c
      type_or_value: "16\t\t"
    - item_type: preproc_def
      name: SLL_ADDRLEN
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-sll.c
      type_or_value: "8\t\t"
    - item_type: preproc_def
      name: SLL2_HDR_LEN
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-sll.c
      type_or_value: "20\t\t"
    - item_type: preproc_def
      name: LINUX_SLL_HOST
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-sll.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LINUX_SLL_BROADCAST
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-sll.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LINUX_SLL_MULTICAST
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-sll.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LINUX_SLL_OTHERHOST
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-sll.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LINUX_SLL_OUTGOING
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/print-sll.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LINUX_SLL_P_802_3
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-sll.c
      type_or_value: "0x0001\t"
    - item_type: preproc_def
      name: LINUX_SLL_P_802_2
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-sll.c
      type_or_value: "0x0004\t"
    structs:
    - fields:
      - name: sll_pkttype
        type: nd_uint16_t
      - name: sll_hatype
        type: nd_uint16_t
      - name: sll_halen
        type: nd_uint16_t
      - name: sll_addr[SLL_ADDRLEN]
        type: nd_byte
      - name: sll_protocol
        type: nd_uint16_t
      item_type: struct
      name: sll_header
      pos:
        line_end: 87
        line_start: 81
        source_file: /src/tcpdump/print-sll.c
    - fields:
      - name: sll2_protocol
        type: nd_uint16_t
      - name: sll2_reserved_mbz
        type: nd_uint16_t
      - name: sll2_if_index
        type: nd_uint32_t
      - name: sll2_hatype
        type: nd_uint16_t
      - name: sll2_pkttype
        type: nd_uint8_t
      - name: sll2_halen
        type: nd_uint8_t
      - name: sll2_addr[SLL_ADDRLEN]
        type: nd_byte
      item_type: struct
      name: sll2_header
      pos:
        line_end: 102
        line_start: 94
        source_file: /src/tcpdump/print-sll.c
    typedefs: []
    union: []
- function_names:
  - nd_cpack_next_boundary
  - nd_cpack_align_and_reserve
  - nd_cpack_advance
  - nd_cpack_init
  - nd_cpack_uint64
  - nd_cpack_int64
  - nd_cpack_uint32
  - nd_cpack_int32
  - nd_cpack_uint16
  - nd_cpack_int16
  - nd_cpack_uint8
  - nd_cpack_int8
  source_file: /src/tcpdump/cpack.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - format_opt_class
  - geneve_opts_print
  - geneve_print
  source_file: /src/tcpdump/print-geneve.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VER_SHIFT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-geneve.c
      type_or_value: '6'
    - item_type: preproc_def
      name: HDR_OPTS_LEN_MASK
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-geneve.c
      type_or_value: '0x3F'
    - item_type: preproc_def
      name: FLAG_OAM
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-geneve.c
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: FLAG_CRITICAL
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-geneve.c
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: FLAG_R1
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-geneve.c
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: FLAG_R2
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-geneve.c
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: FLAG_R3
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-geneve.c
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: FLAG_R4
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-geneve.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: FLAG_R5
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-geneve.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: FLAG_R6
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-geneve.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: OPT_TYPE_CRITICAL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-geneve.c
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: OPT_LEN_MASK
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-geneve.c
      type_or_value: '0x1F'
    structs: []
    typedefs: []
    union: []
- function_names:
  - c_print
  - krb4_print_hdr
  - krb4_print
  - IS_LENDIAN
  - KTOHSP
  - krb_print
  source_file: /src/tcpdump/print-krb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AUTH_MSG_KDC_REQUEST
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-krb.c
      type_or_value: 1<<1
    - item_type: preproc_def
      name: AUTH_MSG_KDC_REPLY
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-krb.c
      type_or_value: 2<<1
    - item_type: preproc_def
      name: AUTH_MSG_APPL_REQUEST
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-krb.c
      type_or_value: 3<<1
    - item_type: preproc_def
      name: AUTH_MSG_APPL_REQUEST_MUTUAL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-krb.c
      type_or_value: 4<<1
    - item_type: preproc_def
      name: AUTH_MSG_ERR_REPLY
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-krb.c
      type_or_value: 5<<1
    - item_type: preproc_def
      name: AUTH_MSG_PRIVATE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-krb.c
      type_or_value: 6<<1
    - item_type: preproc_def
      name: AUTH_MSG_SAFE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-krb.c
      type_or_value: 7<<1
    - item_type: preproc_def
      name: AUTH_MSG_APPL_ERR
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-krb.c
      type_or_value: 8<<1
    - item_type: preproc_def
      name: AUTH_MSG_DIE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-krb.c
      type_or_value: 63<<1
    - item_type: preproc_def
      name: KERB_ERR_OK
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-krb.c
      type_or_value: '0'
    - item_type: preproc_def
      name: KERB_ERR_NAME_EXP
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-krb.c
      type_or_value: '1'
    - item_type: preproc_def
      name: KERB_ERR_SERVICE_EXP
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-krb.c
      type_or_value: '2'
    - item_type: preproc_def
      name: KERB_ERR_AUTH_EXP
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-krb.c
      type_or_value: '3'
    - item_type: preproc_def
      name: KERB_ERR_PKT_VER
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-krb.c
      type_or_value: '4'
    - item_type: preproc_def
      name: KERB_ERR_NAME_MAST_KEY_VER
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-krb.c
      type_or_value: '5'
    - item_type: preproc_def
      name: KERB_ERR_SERV_MAST_KEY_VER
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-krb.c
      type_or_value: '6'
    - item_type: preproc_def
      name: KERB_ERR_BYTE_ORDER
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-krb.c
      type_or_value: '7'
    - item_type: preproc_def
      name: KERB_ERR_PRINCIPAL_UNKNOWN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-krb.c
      type_or_value: '8'
    - item_type: preproc_def
      name: KERB_ERR_PRINCIPAL_NOT_UNIQUE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-krb.c
      type_or_value: '9'
    - item_type: preproc_def
      name: KERB_ERR_NULL_KEY
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-krb.c
      type_or_value: '10'
    - item_type: preproc_def
      name: PRINT
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-krb.c
      type_or_value: if ((cp = c_print(ndo, cp, ndo->ndo_snapend)) == NULL) goto trunc
    - item_type: preproc_def
      name: PRINT
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/print-krb.c
      type_or_value: if ((cp = c_print(ndo, cp, ndo->ndo_snapend)) == NULL) goto trunc
    structs:
    - fields:
      - name: pvno
        type: nd_uint8_t
      - name: type
        type: nd_uint8_t
      item_type: struct
      name: krb
      pos:
        line_end: 79
        line_start: 76
        source_file: /src/tcpdump/print-krb.c
    typedefs: []
    union: []
- function_names:
  - zep_print
  source_file: /src/tcpdump/print-zep.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - of_vendor_name
  - of_bitmap_print
  - of_data_print
  - of_message_print
  - openflow_print
  source_file: /src/tcpdump/print-openflow.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - NSH_VER
  - NSH_FLAGS
  - NSH_TTL
  - NSH_LENGTH
  - NSH_MD_TYPE
  - NSH_NEXT_PROT
  - nsh_print
  source_file: /src/tcpdump/print-nsh.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NSH_BASE_HDR_LEN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-nsh.c
      type_or_value: '4'
    - item_type: preproc_def
      name: NSH_SERVICE_PATH_HDR_LEN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-nsh.c
      type_or_value: '4'
    - item_type: preproc_def
      name: NSH_HDR_WORD_SIZE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-nsh.c
      type_or_value: 4U
    - item_type: preproc_def
      name: MD_RSV
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-nsh.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: MD_TYPE1
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-nsh.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: MD_TYPE2
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-nsh.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: MD_EXP
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-nsh.c
      type_or_value: '0x0F'
    - item_type: preproc_def
      name: NP_IPV4
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-nsh.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: NP_IPV6
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-nsh.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: NP_ETH
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-nsh.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: NP_NSH
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-nsh.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: NP_MPLS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-nsh.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: NP_EXP1
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-nsh.c
      type_or_value: '0xFE'
    - item_type: preproc_def
      name: NP_EXP2
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-nsh.c
      type_or_value: '0xFF'
    structs: []
    typedefs: []
    union: []
- function_names:
  - UDLD_EXTRACT_VERSION
  - UDLD_EXTRACT_OPCODE
  - udld_print
  source_file: /src/tcpdump/print-udld.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UDLD_HEADER_LEN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/tcpdump/print-udld.c
      type_or_value: '4'
    - item_type: preproc_def
      name: UDLD_TLV_HEADER_LEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcpdump/print-udld.c
      type_or_value: '4'
    - item_type: preproc_def
      name: UDLD_DEVICE_ID_TLV
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/print-udld.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: UDLD_PORT_ID_TLV
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/print-udld.c
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: UDLD_ECHO_TLV
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcpdump/print-udld.c
      type_or_value: '0x0003'
    - item_type: preproc_def
      name: UDLD_MESSAGE_INTERVAL_TLV
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/print-udld.c
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: UDLD_TIMEOUT_INTERVAL_TLV
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/print-udld.c
      type_or_value: '0x0005'
    - item_type: preproc_def
      name: UDLD_DEVICE_NAME_TLV
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-udld.c
      type_or_value: '0x0006'
    - item_type: preproc_def
      name: UDLD_SEQ_NUMBER_TLV
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-udld.c
      type_or_value: '0x0007'
    structs: []
    typedefs: []
    union: []
- function_names:
  - timed_print
  source_file: /src/tcpdump/print-timed.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: tsp_time
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-timed.c
      type_or_value: tsp_u.tspu_time
    - item_type: preproc_def
      name: tsp_hopcnt
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-timed.c
      type_or_value: tsp_u.tspu_hopcnt
    - item_type: preproc_def
      name: TSP_ANY
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: TSP_ADJTIME
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: TSP_ACK
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: TSP_MASTERREQ
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: TSP_MASTERACK
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: TSP_SETTIME
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: TSP_MASTERUP
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: TSP_SLAVEUP
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: TSP_ELECTION
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "8\t"
    - item_type: preproc_def
      name: TSP_ACCEPT
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "9\t"
    - item_type: preproc_def
      name: TSP_REFUSE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "10\t"
    - item_type: preproc_def
      name: TSP_CONFLICT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "11\t"
    - item_type: preproc_def
      name: TSP_RESOLVE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "12\t"
    - item_type: preproc_def
      name: TSP_QUIT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "13\t"
    - item_type: preproc_def
      name: TSP_DATE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "14\t"
    - item_type: preproc_def
      name: TSP_DATEREQ
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "15\t"
    - item_type: preproc_def
      name: TSP_DATEACK
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "16\t"
    - item_type: preproc_def
      name: TSP_TRACEON
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "17\t"
    - item_type: preproc_def
      name: TSP_TRACEOFF
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "18\t"
    - item_type: preproc_def
      name: TSP_MSITE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "19\t"
    - item_type: preproc_def
      name: TSP_MSITEREQ
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "20\t"
    - item_type: preproc_def
      name: TSP_TEST
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "21\t"
    - item_type: preproc_def
      name: TSP_SETDATE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "22\t"
    - item_type: preproc_def
      name: TSP_SETDATEREQ
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "23\t"
    - item_type: preproc_def
      name: TSP_LOOP
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-timed.c
      type_or_value: "24\t"
    structs:
    - fields:
      - name: tv_sec
        type: nd_int32_t
      - name: tv_usec
        type: nd_int32_t
      item_type: struct
      name: tsp_timeval
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/tcpdump/print-timed.c
    - fields:
      - name: tsp_type
        type: nd_uint8_t
      - name: tsp_vers
        type: nd_uint8_t
      - name: tsp_seq
        type: nd_uint16_t
      - name: tsp_u
        type: "union {\n\t\tstruct tsp_timeval tspu_time;\n\t\tnd_int8_t tspu_hopcnt;\n\t}"
      - name: tsp_name[256]
        type: nd_byte
      item_type: struct
      name: tsp
      pos:
        line_end: 46
        line_start: 37
        source_file: /src/tcpdump/print-timed.c
    typedefs: []
    union: []
- function_names:
  - ip_printroute
  - ip_finddst
  - nextproto4_cksum
  - ip_printts
  - ip_optprint
  - ip_print
  source_file: /src/tcpdump/print-ip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IP_RES
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/tcpdump/print-ip.c
      type_or_value: '0x8000'
    structs:
    - fields:
      - name: src
        type: uint32_t
      - name: dst
        type: uint32_t
      - name: mbz
        type: uint8_t
      - name: proto
        type: uint8_t
      - name: len
        type: uint16_t
      item_type: struct
      name: phdr
      pos:
        line_end: 144
        line_start: 138
        source_file: /src/tcpdump/print-ip.c
    typedefs: []
    union: []
- function_names:
  - arcnet_print
  - arcnet_if_print
  - arcnet_linux_if_print
  - arcnet_encap_print
  source_file: /src/tcpdump/print-arcnet.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARC_HDRLEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: '3'
    - item_type: preproc_def
      name: ARC_HDRNEWLEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: '6'
    - item_type: preproc_def
      name: ARC_HDRNEWLEN_EXC
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: '10'
    - item_type: preproc_def
      name: ARCTYPE_IP_OLD
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: "240\t"
    - item_type: preproc_def
      name: ARCTYPE_ARP_OLD
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: "241\t"
    - item_type: preproc_def
      name: ARCTYPE_IP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: "212\t"
    - item_type: preproc_def
      name: ARCTYPE_ARP
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: "213\t"
    - item_type: preproc_def
      name: ARCTYPE_REVARP
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: "214\t"
    - item_type: preproc_def
      name: ARCTYPE_ATALK
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: "221\t"
    - item_type: preproc_def
      name: ARCTYPE_BANIAN
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: "247\t"
    - item_type: preproc_def
      name: ARCTYPE_IPX
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: "250\t"
    - item_type: preproc_def
      name: ARCTYPE_INET6
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: "0xc4\t"
    - item_type: preproc_def
      name: ARCTYPE_DIAGNOSE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: "0x80\t"
    - item_type: preproc_def
      name: ARC_LINUX_HDRLEN
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: '5'
    - item_type: preproc_def
      name: ARC_LINUX_HDRNEWLEN
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-arcnet.c
      type_or_value: '8'
    structs:
    - fields:
      - name: arc_shost
        type: nd_uint8_t
      - name: arc_dhost
        type: nd_uint8_t
      - name: arc_type
        type: nd_uint8_t
      - name: arc_flag
        type: nd_uint8_t
      - name: arc_seqid
        type: nd_uint16_t
      - name: arc_type2
        type: nd_uint8_t
      - name: arc_flag2
        type: nd_uint8_t
      - name: arc_seqid2
        type: nd_uint16_t
      item_type: struct
      name: arc_header
      pos:
        line_end: 57
        line_start: 40
        source_file: /src/tcpdump/print-arcnet.c
    - fields:
      - name: arc_shost
        type: nd_uint8_t
      - name: arc_dhost
        type: nd_uint8_t
      - name: arc_offset
        type: nd_uint16_t
      - name: arc_type
        type: nd_uint8_t
      - name: arc_flag
        type: nd_uint8_t
      - name: arc_seqid
        type: nd_uint16_t
      item_type: struct
      name: arc_linux_header
      pos:
        line_end: 96
        line_start: 84
        source_file: /src/tcpdump/print-arcnet.c
    typedefs: []
    union: []
- function_names:
  - PRINTFLIKE
  - PRINTFLIKE_FUNCPTR
  - FORMAT_STRING
  - FORMAT_STRING
  source_file: /src/tcpdump/funcattrs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NORETURN
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/funcattrs.h
      type_or_value: __attribute((noreturn))
    - item_type: preproc_def
      name: NORETURN_FUNCPTR
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/funcattrs.h
      type_or_value: __attribute((noreturn))
    - item_type: preproc_def
      name: NORETURN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/funcattrs.h
      type_or_value: __declspec(noreturn)
    - item_type: preproc_def
      name: WARN_UNUSED_RESULT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/funcattrs.h
      type_or_value: __attribute((warn_unused_result))
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtsp_print
  source_file: /src/tcpdump/print-rtsp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - atalk_port
  source_file: /src/tcpdump/appletalk.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: lapShortDDP
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/tcpdump/appletalk.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: lapDDP
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/tcpdump/appletalk.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: lapKLAP
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/tcpdump/appletalk.h
      type_or_value: "'K'\t"
    structs:
    - fields:
      - name: dst
        type: nd_uint8_t
      - name: src
        type: nd_uint8_t
      - name: type
        type: nd_uint8_t
      item_type: struct
      name: LAP
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/tcpdump/appletalk.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/oui.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dhcp6stcode
  - dhcp6opt_print
  - dhcp6_print
  source_file: /src/tcpdump/print-dhcp6.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DHCP6_DURATION_INFINITE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: DH6ERR_FAILURE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '16'
    - item_type: preproc_def
      name: DH6ERR_AUTHFAIL
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '17'
    - item_type: preproc_def
      name: DH6ERR_POORLYFORMED
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '18'
    - item_type: preproc_def
      name: DH6ERR_UNAVAIL
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '19'
    - item_type: preproc_def
      name: DH6ERR_OPTUNAVAIL
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '20'
    - item_type: preproc_def
      name: DH6_SOLICIT
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DH6_ADVERTISE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DH6_REQUEST
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DH6_CONFIRM
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '4'
    - item_type: preproc_def
      name: DH6_RENEW
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '5'
    - item_type: preproc_def
      name: DH6_REBIND
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '6'
    - item_type: preproc_def
      name: DH6_REPLY
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '7'
    - item_type: preproc_def
      name: DH6_RELEASE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '8'
    - item_type: preproc_def
      name: DH6_DECLINE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '9'
    - item_type: preproc_def
      name: DH6_RECONFIGURE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '10'
    - item_type: preproc_def
      name: DH6_INFORM_REQ
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '11'
    - item_type: preproc_def
      name: DH6_RELAY_FORW
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '12'
    - item_type: preproc_def
      name: DH6_RELAY_REPLY
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '13'
    - item_type: preproc_def
      name: DH6_LEASEQUERY
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '14'
    - item_type: preproc_def
      name: DH6_LQ_REPLY
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '15'
    - item_type: preproc_def
      name: DH6_XIDMASK
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '0x00ffffff'
    - item_type: preproc_def
      name: DH6OPT_CLIENTID
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DH6OPT_SERVERID
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DUID_LLT
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '1 '
    - item_type: preproc_def
      name: DUID_EN
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '2 '
    - item_type: preproc_def
      name: DUID_LL
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '3 '
    - item_type: preproc_def
      name: DUID_UUID
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '4 '
    - item_type: preproc_def
      name: DH6OPT_IA_NA
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DH6OPT_IA_TA
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '4'
    - item_type: preproc_def
      name: DH6OPT_IA_ADDR
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '5'
    - item_type: preproc_def
      name: DH6OPT_ORO
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '6'
    - item_type: preproc_def
      name: DH6OPT_PREFERENCE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '7'
    - item_type: preproc_def
      name: DH6OPT_PREF_MAX
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '255'
    - item_type: preproc_def
      name: DH6OPT_ELAPSED_TIME
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '8'
    - item_type: preproc_def
      name: DH6OPT_RELAY_MSG
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '9'
    - item_type: preproc_def
      name: DH6OPT_AUTH
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '11'
    - item_type: preproc_def
      name: DH6OPT_AUTHPROTO_DELAYED
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DH6OPT_AUTHPROTO_RECONFIG
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DH6OPT_AUTHALG_HMACMD5
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DH6OPT_AUTHRDM_MONOCOUNTER
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DH6OPT_AUTHRECONFIG_KEY
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DH6OPT_AUTHRECONFIG_HMACMD5
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DH6OPT_UNICAST
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '12'
    - item_type: preproc_def
      name: DH6OPT_STATUS_CODE
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '13'
    - item_type: preproc_def
      name: DH6OPT_STCODE_SUCCESS
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DH6OPT_STCODE_UNSPECFAIL
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DH6OPT_STCODE_NOADDRAVAIL
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DH6OPT_STCODE_NOBINDING
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DH6OPT_STCODE_NOTONLINK
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '4'
    - item_type: preproc_def
      name: DH6OPT_STCODE_USEMULTICAST
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '5'
    - item_type: preproc_def
      name: DH6OPT_STCODE_NOPREFIXAVAIL
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '6'
    - item_type: preproc_def
      name: DH6OPT_STCODE_UNKNOWNQUERYTYPE
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '7'
    - item_type: preproc_def
      name: DH6OPT_STCODE_MALFORMEDQUERY
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '8'
    - item_type: preproc_def
      name: DH6OPT_STCODE_NOTCONFIGURED
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '9'
    - item_type: preproc_def
      name: DH6OPT_STCODE_NOTALLOWED
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '10'
    - item_type: preproc_def
      name: DH6OPT_RAPID_COMMIT
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '14'
    - item_type: preproc_def
      name: DH6OPT_USER_CLASS
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '15'
    - item_type: preproc_def
      name: DH6OPT_VENDOR_CLASS
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '16'
    - item_type: preproc_def
      name: DH6OPT_VENDOR_OPTS
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '17'
    - item_type: preproc_def
      name: DH6OPT_INTERFACE_ID
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '18'
    - item_type: preproc_def
      name: DH6OPT_RECONF_MSG
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '19'
    - item_type: preproc_def
      name: DH6OPT_RECONF_ACCEPT
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '20'
    - item_type: preproc_def
      name: DH6OPT_SIP_SERVER_D
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '21'
    - item_type: preproc_def
      name: DH6OPT_SIP_SERVER_A
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '22'
    - item_type: preproc_def
      name: DH6OPT_DNS_SERVERS
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '23'
    - item_type: preproc_def
      name: DH6OPT_DOMAIN_LIST
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '24'
    - item_type: preproc_def
      name: DH6OPT_IA_PD
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '25'
    - item_type: preproc_def
      name: DH6OPT_IA_PD_PREFIX
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '26'
    - item_type: preproc_def
      name: DH6OPT_NIS_SERVERS
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '27'
    - item_type: preproc_def
      name: DH6OPT_NISP_SERVERS
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '28'
    - item_type: preproc_def
      name: DH6OPT_NIS_NAME
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '29'
    - item_type: preproc_def
      name: DH6OPT_NISP_NAME
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '30'
    - item_type: preproc_def
      name: DH6OPT_SNTP_SERVERS
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '31'
    - item_type: preproc_def
      name: DH6OPT_LIFETIME
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '32'
    - item_type: preproc_def
      name: DH6OPT_BCMCS_SERVER_D
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '33'
    - item_type: preproc_def
      name: DH6OPT_BCMCS_SERVER_A
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '34'
    - item_type: preproc_def
      name: DH6OPT_GEOCONF_CIVIC
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '36'
    - item_type: preproc_def
      name: DH6OPT_REMOTE_ID
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '37'
    - item_type: preproc_def
      name: DH6OPT_SUBSCRIBER_ID
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '38'
    - item_type: preproc_def
      name: DH6OPT_CLIENT_FQDN
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '39'
    - item_type: preproc_def
      name: DH6OPT_PANA_AGENT
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '40'
    - item_type: preproc_def
      name: DH6OPT_NEW_POSIX_TIMEZONE
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '41'
    - item_type: preproc_def
      name: DH6OPT_NEW_TZDB_TIMEZONE
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '42'
    - item_type: preproc_def
      name: DH6OPT_ERO
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '43'
    - item_type: preproc_def
      name: DH6OPT_LQ_QUERY
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '44'
    - item_type: preproc_def
      name: DH6OPT_CLIENT_DATA
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '45'
    - item_type: preproc_def
      name: DH6OPT_CLT_TIME
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '46'
    - item_type: preproc_def
      name: DH6OPT_LQ_RELAY_DATA
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '47'
    - item_type: preproc_def
      name: DH6OPT_LQ_CLIENT_LINK
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '48'
    - item_type: preproc_def
      name: DH6OPT_NTP_SERVER
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '56'
    - item_type: preproc_def
      name: DH6OPT_NTP_SUBOPTION_SRV_ADDR
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DH6OPT_NTP_SUBOPTION_MC_ADDR
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DH6OPT_NTP_SUBOPTION_SRV_FQDN
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DH6OPT_BOOTFILE_URL
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '59    '
    - item_type: preproc_def
      name: DH6OPT_AFTR_NAME
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '64'
    - item_type: preproc_def
      name: DH6OPT_MUDURL
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '112'
    - item_type: preproc_def
      name: DH6OPT_SZTP_REDIRECT
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/tcpdump/print-dhcp6.c
      type_or_value: '136  '
    structs:
    - fields:
      - name: dh6_msgtypexid
        type: "union {\n\t\tnd_uint8_t msgtype;\n\t\tnd_uint32_t xid;\n\t}"
      item_type: struct
      name: dhcp6
      pos:
        line_end: 106
        line_start: 100
        source_file: /src/tcpdump/print-dhcp6.c
    - fields:
      - name: dh6relay_msgtype
        type: nd_uint8_t
      - name: dh6relay_hcnt
        type: nd_uint8_t
      - name: dh6relay_linkaddr
        type: nd_ipv6
      - name: dh6relay_peeraddr
        type: nd_ipv6
      item_type: struct
      name: dhcp6_relay
      pos:
        line_end: 116
        line_start: 110
        source_file: /src/tcpdump/print-dhcp6.c
    - fields:
      - name: dh6opt_type
        type: nd_uint16_t
      - name: dh6opt_len
        type: nd_uint16_t
      item_type: struct
      name: dhcp6opt
      pos:
        line_end: 271
        line_start: 267
        source_file: /src/tcpdump/print-dhcp6.c
    typedefs: []
    union: []
- function_names:
  - LLDP_EXTRACT_TYPE
  - LLDP_EXTRACT_LEN
  - LLDP_EXTRACT_NETWORK_POLICY_VLAN
  - LLDP_EXTRACT_NETWORK_POLICY_L2_PRIORITY
  - LLDP_EXTRACT_NETWORK_POLICY_DSCP
  - print_ets_priority_assignment_table
  - print_tc_bandwidth_table
  - print_tsa_assignment_table
  - lldp_private_8021_print
  - lldp_private_8023_print
  - lldp_extract_latlon
  - lldp_private_iana_print
  - lldp_private_tia_print
  - lldp_private_dcbx_print
  - lldp_network_addr_print
  - lldp_mgmt_addr_tlv_print
  - lldp_print
  source_file: /src/tcpdump/print-lldp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LLDP_END_TLV
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LLDP_CHASSIS_ID_TLV
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_PORT_ID_TLV
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_TTL_TLV
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_PORT_DESCR_TLV
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LLDP_SYSTEM_NAME_TLV
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LLDP_SYSTEM_DESCR_TLV
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LLDP_SYSTEM_CAP_TLV
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: LLDP_MGMT_ADDR_TLV
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TLV
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '127'
    - item_type: preproc_def
      name: LLDP_CHASSIS_CHASSIS_COMP_SUBTYPE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_CHASSIS_INTF_ALIAS_SUBTYPE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_CHASSIS_PORT_COMP_SUBTYPE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_CHASSIS_MAC_ADDR_SUBTYPE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LLDP_CHASSIS_NETWORK_ADDR_SUBTYPE
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LLDP_CHASSIS_INTF_NAME_SUBTYPE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LLDP_CHASSIS_LOCAL_SUBTYPE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: LLDP_PORT_INTF_ALIAS_SUBTYPE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_PORT_PORT_COMP_SUBTYPE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_PORT_MAC_ADDR_SUBTYPE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_PORT_NETWORK_ADDR_SUBTYPE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LLDP_PORT_INTF_NAME_SUBTYPE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LLDP_PORT_AGENT_CIRC_ID_SUBTYPE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LLDP_PORT_LOCAL_SUBTYPE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: LLDP_CAP_OTHER
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  0)
    - item_type: preproc_def
      name: LLDP_CAP_REPEATER
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  1)
    - item_type: preproc_def
      name: LLDP_CAP_BRIDGE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  2)
    - item_type: preproc_def
      name: LLDP_CAP_WLAN_AP
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  3)
    - item_type: preproc_def
      name: LLDP_CAP_ROUTER
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  4)
    - item_type: preproc_def
      name: LLDP_CAP_PHONE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  5)
    - item_type: preproc_def
      name: LLDP_CAP_DOCSIS
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  6)
    - item_type: preproc_def
      name: LLDP_CAP_STATION_ONLY
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  7)
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_PORT_VLAN_ID
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_PROTOCOL_VLAN_ID
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_VLAN_NAME
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_PROTOCOL_IDENTITY
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_LINKAGGR
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_CONGESTION_NOTIFICATION
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_ETS_CONFIGURATION
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_ETS_RECOMMENDATION
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_PFC_CONFIGURATION
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_APPLICATION_PRIORITY
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_EVB
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_CDCP
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: LLDP_8021_PORT_PROTOCOL_VLAN_SUPPORT
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  1)
    - item_type: preproc_def
      name: LLDP_8021_PORT_PROTOCOL_VLAN_STATUS
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  2)
    - item_type: preproc_def
      name: LLDP_PRIVATE_8023_SUBTYPE_MACPHY
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8023_SUBTYPE_MDIPOWER
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8023_SUBTYPE_LINKAGGR
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8023_SUBTYPE_MTU
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_SUBTYPE_CAPABILITIES
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_SUBTYPE_NETWORK_POLICY
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_SUBTYPE_LOCAL_ID
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_SUBTYPE_EXTENDED_POWER_MDI
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_SUBTYPE_INVENTORY_HARDWARE_REV
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_SUBTYPE_INVENTORY_FIRMWARE_REV
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_SUBTYPE_INVENTORY_SOFTWARE_REV
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_SUBTYPE_INVENTORY_SERIAL_NUMBER
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_SUBTYPE_INVENTORY_MANUFACTURER_NAME
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_SUBTYPE_INVENTORY_MODEL_NAME
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_SUBTYPE_INVENTORY_ASSET_ID
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_LOCATION_ALTITUDE_METERS
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_LOCATION_ALTITUDE_FLOORS
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_LOCATION_LCI_CATYPE_A1
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_LOCATION_LCI_CATYPE_A2
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_LOCATION_LCI_CATYPE_A3
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_LOCATION_LCI_CATYPE_A4
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_LOCATION_LCI_CATYPE_A5
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LLDP_PRIVATE_TIA_LOCATION_LCI_CATYPE_A6
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_UNKNOWN
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_AUI
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10BASE_5
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_FOIRL
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10BASE_2
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10BASE_T
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10BASE_FP
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10BASE_FB
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10BASE_FL
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10BROAD36
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10BASE_T_HD
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10BASE_T_FD
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10BASE_FL_HD
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10BASE_FL_FD
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_100BASE_T4
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_100BASE_TX_HD
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '15'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_100BASE_TX_FD
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '16'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_100BASE_FX_HD
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '17'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_100BASE_FX_FD
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '18'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_100BASE_T2_HD
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '19'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_100BASE_T2_FD
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '20'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_1000BASE_X_HD
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '21'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_1000BASE_X_FD
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '22'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_1000BASE_LX_HD
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '23'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_1000BASE_LX_FD
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '24'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_1000BASE_SX_HD
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '25'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_1000BASE_SX_FD
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '26'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_1000BASE_CX_HD
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '27'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_1000BASE_CX_FD
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '28'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_1000BASE_T_HD
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '29'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_1000BASE_T_FD
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '30'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10GBASE_X
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '31'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10GBASE_LX4
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '32'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10GBASE_R
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '33'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10GBASE_ER
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '34'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10GBASE_LR
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '35'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10GBASE_SR
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '36'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10GBASE_W
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '37'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10GBASE_EW
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '38'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10GBASE_LW
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '39'
    - item_type: preproc_def
      name: LLDP_MAU_TYPE_10GBASE_SW
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '40'
    - item_type: preproc_def
      name: LLDP_8023_AUTONEGOTIATION_SUPPORT
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  0)
    - item_type: preproc_def
      name: LLDP_8023_AUTONEGOTIATION_STATUS
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  1)
    - item_type: preproc_def
      name: LLDP_TIA_CAPABILITY_MED
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  0)
    - item_type: preproc_def
      name: LLDP_TIA_CAPABILITY_NETWORK_POLICY
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  1)
    - item_type: preproc_def
      name: LLDP_TIA_CAPABILITY_LOCATION_IDENTIFICATION
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  2)
    - item_type: preproc_def
      name: LLDP_TIA_CAPABILITY_EXTENDED_POWER_MDI_PSE
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  3)
    - item_type: preproc_def
      name: LLDP_TIA_CAPABILITY_EXTENDED_POWER_MDI_PD
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  4)
    - item_type: preproc_def
      name: LLDP_TIA_CAPABILITY_INVENTORY
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  5)
    - item_type: preproc_def
      name: LLDP_TIA_DEVICE_TYPE_ENDPOINT_CLASS_1
      pos:
        line_end: 361
        line_start: 360
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_TIA_DEVICE_TYPE_ENDPOINT_CLASS_2
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_TIA_DEVICE_TYPE_ENDPOINT_CLASS_3
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_TIA_DEVICE_TYPE_NETWORK_CONNECTIVITY
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LLDP_TIA_APPLICATION_TYPE_VOICE
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_TIA_APPLICATION_TYPE_VOICE_SIGNALING
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_TIA_APPLICATION_TYPE_GUEST_VOICE
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_TIA_APPLICATION_TYPE_GUEST_VOICE_SIGNALING
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LLDP_TIA_APPLICATION_TYPE_SOFTPHONE_VOICE
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LLDP_TIA_APPLICATION_TYPE_VIDEO_CONFERENCING
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LLDP_TIA_APPLICATION_TYPE_STREAMING_VIDEO
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: LLDP_TIA_APPLICATION_TYPE_VIDEO_SIGNALING
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LLDP_TIA_NETWORK_POLICY_X_BIT
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: LLDP_TIA_NETWORK_POLICY_T_BIT
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: LLDP_TIA_NETWORK_POLICY_U_BIT
      pos:
        line_end: 397
        line_start: 396
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: LLDP_TIA_LOCATION_DATA_FORMAT_COORDINATE_BASED
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_TIA_LOCATION_DATA_FORMAT_CIVIC_ADDRESS
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_TIA_LOCATION_DATA_FORMAT_ECS_ELIN
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_TIA_LOCATION_DATUM_WGS_84
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_TIA_LOCATION_DATUM_NAD_83_NAVD_88
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_TIA_LOCATION_DATUM_NAD_83_MLLW
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_TIA_POWER_SOURCE_PSE
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_TIA_POWER_SOURCE_LOCAL
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_TIA_POWER_SOURCE_PSE_AND_LOCAL
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_TIA_POWER_PRIORITY_CRITICAL
      pos:
        line_end: 443
        line_start: 442
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_TIA_POWER_PRIORITY_HIGH
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_TIA_POWER_PRIORITY_LOW
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_TIA_POWER_VAL_MAX
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: LLDP_MAU_PMD_OTHER
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  15)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_10BASE_T
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  14)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_10BASE_T_FD
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  13)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_100BASE_T4
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  12)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_100BASE_TX
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  11)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_100BASE_TX_FD
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  10)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_100BASE_T2
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  9)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_100BASE_T2_FD
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  8)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_FDXPAUSE
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  7)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_FDXAPAUSE
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  6)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_FDXSPAUSE
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  5)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_FDXBPAUSE
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  4)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_1000BASE_X
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  3)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_1000BASE_X_FD
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  2)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_1000BASE_T
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  1)
    - item_type: preproc_def
      name: LLDP_MAU_PMD_1000BASE_T_FD
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  0)
    - item_type: preproc_def
      name: LLDP_MDI_PORT_CLASS
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  0)
    - item_type: preproc_def
      name: LLDP_MDI_POWER_SUPPORT
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  1)
    - item_type: preproc_def
      name: LLDP_MDI_POWER_STATE
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  2)
    - item_type: preproc_def
      name: LLDP_MDI_PAIR_CONTROL_ABILITY
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  3)
    - item_type: preproc_def
      name: LLDP_MDI_PSE_PORT_POWER_PAIRS_SIGNAL
      pos:
        line_end: 519
        line_start: 518
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_MDI_PSE_PORT_POWER_PAIRS_SPARE
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_MDI_POWER_CLASS0
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_MDI_POWER_CLASS1
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_MDI_POWER_CLASS2
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_MDI_POWER_CLASS3
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LLDP_MDI_POWER_CLASS4
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LLDP_AGGREGATION_CAPABILITY
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  0)
    - item_type: preproc_def
      name: LLDP_AGGREGATION_STATUS
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: (1 <<  1)
    - item_type: preproc_def
      name: LLDP_DCBX_SUBTYPE_1
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_DCBX_SUBTYPE_2
      pos:
        line_end: 556
        line_start: 555
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_DCBX_CONTROL_TLV
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_DCBX_PRIORITY_GROUPS_TLV
      pos:
        line_end: 565
        line_start: 564
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_DCBX_PRIORITY_FLOW_CONTROL_TLV
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_DCBX_APPLICATION_TLV
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LLDP_INTF_NUMB_IFX_SUBTYPE
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_INTF_NUMB_SYSPORT_SUBTYPE
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LLDP_INTF_NUM_LEN
      pos:
        line_end: 581
        line_start: 580
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LLDP_EVB_MODE_NOT_SUPPORTED
      pos:
        line_end: 583
        line_start: 582
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LLDP_EVB_MODE_EVB_BRIDGE
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LLDP_EVB_MODE_EVB_STATION
      pos:
        line_end: 585
        line_start: 584
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LLDP_EVB_MODE_RESERVED
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: NO_OF_BITS
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_CONGESTION_NOTIFICATION_LENGTH
      pos:
        line_end: 597
        line_start: 596
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_ETS_CONFIGURATION_LENGTH
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '25'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_ETS_RECOMMENDATION_LENGTH
      pos:
        line_end: 599
        line_start: 598
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '25'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_PFC_CONFIGURATION_LENGTH
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_APPLICATION_PRIORITY_MIN_LENGTH
      pos:
        line_end: 601
        line_start: 600
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_EVB_LENGTH
      pos:
        line_end: 602
        line_start: 601
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: LLDP_PRIVATE_8021_SUBTYPE_CDCP_MIN_LENGTH
      pos:
        line_end: 603
        line_start: 602
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LLDP_IANA_SUBTYPE_MUDURL
      pos:
        line_end: 605
        line_start: 604
        source_file: /src/tcpdump/print-lldp.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ospf_grace_lsa_print
  - ospf_te_tlv_link_print
  - ospf_te_lsa_print
  - ospf_print_lshdr
  - ospf_print_tos_metrics
  - ospf_print_ri_lsa_sid_label_range_tlv
  - ospf_print_ep_lsa_extd_prefix_tlv
  - ospf_ep_lsa_print
  - ospf_print_lsa
  - ospf_decode_lls
  - ospf_decode_v2
  - ospf_print
  source_file: /src/tcpdump/print-ospf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Parse_fh
  - is_UCX
  source_file: /src/tcpdump/parsenfsfh.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FHT_UNKNOWN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/parsenfsfh.c
      type_or_value: '0'
    - item_type: preproc_def
      name: FHT_AUSPEX
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/parsenfsfh.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FHT_DECOSF
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/parsenfsfh.c
      type_or_value: '2'
    - item_type: preproc_def
      name: FHT_IRIX4
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/parsenfsfh.c
      type_or_value: '3'
    - item_type: preproc_def
      name: FHT_IRIX5
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/parsenfsfh.c
      type_or_value: '4'
    - item_type: preproc_def
      name: FHT_SUNOS3
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/parsenfsfh.c
      type_or_value: '5'
    - item_type: preproc_def
      name: FHT_SUNOS4
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/parsenfsfh.c
      type_or_value: '6'
    - item_type: preproc_def
      name: FHT_ULTRIX
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/parsenfsfh.c
      type_or_value: '7'
    - item_type: preproc_def
      name: FHT_VMSUCX
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/parsenfsfh.c
      type_or_value: '8'
    - item_type: preproc_def
      name: FHT_SUNOS5
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/parsenfsfh.c
      type_or_value: '9'
    - item_type: preproc_def
      name: FHT_AIX32
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/parsenfsfh.c
      type_or_value: '10'
    - item_type: preproc_def
      name: FHT_HPUX9
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/parsenfsfh.c
      type_or_value: '11'
    - item_type: preproc_def
      name: FHT_BSD44
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/parsenfsfh.c
      type_or_value: '12'
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_print
  - lookup_printer
  - has_printer
  - get_if_printer
  - pretty_print_packet
  - ndo_default_print
  - ndo_error
  - ndo_warning
  - ndo_printf
  - ndo_set_function_pointers
  source_file: /src/tcpdump/print.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: f
        type: if_printer
      - name: type
        type: int
      item_type: struct
      name: printer
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/tcpdump/print.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/icmp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - __cyg_profile_func_enter
  - __cyg_profile_func_exit
  - print_debug
  source_file: /src/tcpdump/instrument-functions.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PACKAGE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/instrument-functions.c
      type_or_value: '"binutils-bfd.h-guard-workaround"'
    - item_type: preproc_def
      name: ND_NO_INSTRUMENT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/instrument-functions.c
      type_or_value: __attribute__((no_instrument_function))
    structs: []
    typedefs: []
    union: []
- function_names:
  - nhrp_ipv4_addr_string
  - NHRP_IPv4_ADDR_STRING
  - nhrp_ipv6_addr_string
  - NHRP_IPv6_ADDR_STRING
  - nhrp_mac_addr_string
  - NHRP_MAC_ADDR_STRING
  - nhrp_print
  - nhrp_print_cie
  source_file: /src/tcpdump/print-nhrp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NHRP_VER_RFC2332
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/print-nhrp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NHRP_PKT_RESOLUTION_REQUEST
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-nhrp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: NHRP_PKT_RESOLUTION_REPLY
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-nhrp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: NHRP_PKT_REGISTRATION_REQUEST
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-nhrp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: NHRP_PKT_REGISTRATION_REPLY
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-nhrp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: NHRP_PKT_PURGE_REQUEST
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/print-nhrp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: NHRP_PKT_PURGE_REPLY
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/tcpdump/print-nhrp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: NHRP_PKT_ERROR_INDICATION
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-nhrp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: NHRP_PKT_TRAFFIC_INDICATION
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-nhrp.c
      type_or_value: '8 '
    - item_type: preproc_def
      name: NHRP_FIXED_HEADER_LEN
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-nhrp.c
      type_or_value: '20'
    structs:
    - fields:
      - name: afn
        type: nd_uint16_t
      - name: pro_type
        type: nd_uint16_t
      - name: pro_snap[5]
        type: nd_uint8_t
      - name: hopcnt
        type: nd_uint8_t
      - name: pktsz
        type: nd_uint16_t
      - name: chksum
        type: nd_uint16_t
      - name: extoff
        type: nd_uint16_t
      - name: op_version
        type: nd_uint8_t
      - name: op_type
        type: nd_uint8_t
      - name: shtl
        type: nd_uint8_t
      - name: sstl
        type: nd_uint8_t
      item_type: struct
      name: nhrp_fixed_header
      pos:
        line_end: 76
        line_start: 62
        source_file: /src/tcpdump/print-nhrp.c
    - fields:
      - name: spl
        type: nd_uint8_t
      - name: dpl
        type: nd_uint8_t
      - name: flags
        type: nd_uint16_t
      - name: u
        type: "union {\n\t\tnd_uint32_t\tid;\t/* request id */\n\t\tstruct {\t\t/*
          error code */\n\t\t\tnd_uint16_t\tcode;\n\t\t\tnd_uint16_t\toffset;\n\t\t}
          err;\n\t\tstruct {\t\t/* error code */\n\t\t\tnd_uint16_t\ttraffic_code;\n\t\t\tnd_uint16_t\tunused;\n\t\t}
          tind;\n\t}"
      item_type: struct
      name: nhrp_mand_header
      pos:
        line_end: 103
        line_start: 88
        source_file: /src/tcpdump/print-nhrp.c
    - fields:
      - name: code
        type: nd_uint8_t
      - name: plen
        type: nd_uint8_t
      - name: unused
        type: nd_uint16_t
      - name: mtu
        type: nd_uint16_t
      - name: htime
        type: nd_uint16_t
      - name: cli_addr_tl
        type: nd_uint8_t
      - name: cli_saddr_tl
        type: nd_uint8_t
      - name: cli_proto_tl
        type: nd_uint8_t
      - name: pref
        type: nd_uint8_t
      item_type: struct
      name: nhrp_cie
      pos:
        line_end: 136
        line_start: 125
        source_file: /src/tcpdump/print-nhrp.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/ftmacros.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLC_U_CMD
  - LLC_S_CMD
  - LLC_IS_NR
  - LLC_I_NS
  source_file: /src/tcpdump/llc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LLC_U_FMT
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/tcpdump/llc.h
      type_or_value: '3'
    - item_type: preproc_def
      name: LLC_GSAP
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/tcpdump/llc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LLC_IG
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/tcpdump/llc.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: LLC_S_FMT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/tcpdump/llc.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LLC_U_POLL
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: LLC_IS_POLL
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: LLC_XID_FI
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x81'
    - item_type: preproc_def
      name: LLC_UI
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: LLC_UA
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x63'
    - item_type: preproc_def
      name: LLC_DISC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x43'
    - item_type: preproc_def
      name: LLC_DM
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: LLC_SABME
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x6f'
    - item_type: preproc_def
      name: LLC_TEST
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/llc.h
      type_or_value: '0xe3'
    - item_type: preproc_def
      name: LLC_XID
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/llc.h
      type_or_value: '0xaf'
    - item_type: preproc_def
      name: LLC_FRMR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x87'
    - item_type: preproc_def
      name: LLC_RR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: LLC_RNR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x0005'
    - item_type: preproc_def
      name: LLC_REJ
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x0009'
    - item_type: preproc_def
      name: LLCSAP_NULL
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: LLCSAP_GLOBAL
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/llc.h
      type_or_value: '0xff'
    - item_type: preproc_def
      name: LLCSAP_8021B_I
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: LLCSAP_8021B_G
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: LLCSAP_SNA
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: LLCSAP_IP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x06'
    - item_type: preproc_def
      name: LLCSAP_PROWAYNM
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x0e'
    - item_type: preproc_def
      name: LLCSAP_8021D
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x42'
    - item_type: preproc_def
      name: LLCSAP_RS511
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x4e'
    - item_type: preproc_def
      name: LLCSAP_ISO8208
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x7e'
    - item_type: preproc_def
      name: LLCSAP_PROWAY
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/llc.h
      type_or_value: '0x8e'
    - item_type: preproc_def
      name: LLCSAP_SNAP
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/llc.h
      type_or_value: '0xaa'
    - item_type: preproc_def
      name: LLCSAP_IPX
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/llc.h
      type_or_value: '0xe0'
    - item_type: preproc_def
      name: LLCSAP_NETBEUI
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/llc.h
      type_or_value: '0xf0'
    - item_type: preproc_def
      name: LLCSAP_ISONS
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/llc.h
      type_or_value: '0xfe'
    - item_type: preproc_def
      name: PID_CISCO_CDP
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x2000\t"
    - item_type: preproc_def
      name: PID_CISCO_VTP
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x2003\t"
    - item_type: preproc_def
      name: PID_CISCO_DTP
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x2004\t"
    - item_type: preproc_def
      name: PID_CISCO_UDLD
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x0111\t"
    - item_type: preproc_def
      name: PID_CISCO_PVST
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x010b\t"
    - item_type: preproc_def
      name: PID_CISCO_VLANBRIDGE
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x010c\t"
    - item_type: preproc_def
      name: PID_RFC2684_ETH_FCS
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x0001\t"
    - item_type: preproc_def
      name: PID_RFC2684_ETH_NOFCS
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x0007\t"
    - item_type: preproc_def
      name: PID_RFC2684_802_4_FCS
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x0002\t"
    - item_type: preproc_def
      name: PID_RFC2684_802_4_NOFCS
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x0008\t"
    - item_type: preproc_def
      name: PID_RFC2684_802_5_FCS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x0003\t"
    - item_type: preproc_def
      name: PID_RFC2684_802_5_NOFCS
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x0009\t"
    - item_type: preproc_def
      name: PID_RFC2684_FDDI_FCS
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x0004\t"
    - item_type: preproc_def
      name: PID_RFC2684_FDDI_NOFCS
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x000a\t"
    - item_type: preproc_def
      name: PID_RFC2684_802_6_FCS
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x0005\t"
    - item_type: preproc_def
      name: PID_RFC2684_802_6_NOFCS
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x000b\t"
    - item_type: preproc_def
      name: PID_RFC2684_BPDU
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/llc.h
      type_or_value: "0x000e\t"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/ethertype.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_ETHERNET_LENGTH_VAL
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '1500'
    - item_type: preproc_def
      name: ETHERTYPE_LEN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ETHERTYPE_GRE_ISO
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x00FE  '
    - item_type: preproc_def
      name: ETHERTYPE_PUP
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/ethertype.h
      type_or_value: "0x0200\t"
    - item_type: preproc_def
      name: ETHERTYPE_IP
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/ethertype.h
      type_or_value: "0x0800\t"
    - item_type: preproc_def
      name: ETHERTYPE_ARP
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/ethertype.h
      type_or_value: "0x0806\t"
    - item_type: preproc_def
      name: ETHERTYPE_REVARP
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/ethertype.h
      type_or_value: "0x8035\t"
    - item_type: preproc_def
      name: ETHERTYPE_NS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x0600'
    - item_type: preproc_def
      name: ETHERTYPE_SPRITE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x0500'
    - item_type: preproc_def
      name: ETHERTYPE_TRAIL
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: ETHERTYPE_MOPDL
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x6001'
    - item_type: preproc_def
      name: ETHERTYPE_MOPRC
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x6002'
    - item_type: preproc_def
      name: ETHERTYPE_DN
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x6003'
    - item_type: preproc_def
      name: ETHERTYPE_LAT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x6004'
    - item_type: preproc_def
      name: ETHERTYPE_SCA
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x6007'
    - item_type: preproc_def
      name: ETHERTYPE_TEB
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x6558'
    - item_type: preproc_def
      name: ETHERTYPE_LANBRIDGE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x8038'
    - item_type: preproc_def
      name: ETHERTYPE_DECDNS
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x803c'
    - item_type: preproc_def
      name: ETHERTYPE_DECDTS
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x803e'
    - item_type: preproc_def
      name: ETHERTYPE_VEXP
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x805b'
    - item_type: preproc_def
      name: ETHERTYPE_VPROD
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x805c'
    - item_type: preproc_def
      name: ETHERTYPE_ATALK
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x809b'
    - item_type: preproc_def
      name: ETHERTYPE_AARP
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x80f3'
    - item_type: preproc_def
      name: ETHERTYPE_TIPC
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x88ca'
    - item_type: preproc_def
      name: ETHERTYPE_8021Q
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x8100'
    - item_type: preproc_def
      name: ETHERTYPE_8021Q9100
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x9100'
    - item_type: preproc_def
      name: ETHERTYPE_8021Q9200
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x9200'
    - item_type: preproc_def
      name: ETHERTYPE_8021QinQ
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x88a8'
    - item_type: preproc_def
      name: ETHERTYPE_MACSEC
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x88e5'
    - item_type: preproc_def
      name: ETHERTYPE_IPX
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x8137'
    - item_type: preproc_def
      name: ETHERTYPE_IPV6
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x86dd'
    - item_type: preproc_def
      name: ETHERTYPE_PPP
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x880b'
    - item_type: preproc_def
      name: ETHERTYPE_MPCP
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x8808'
    - item_type: preproc_def
      name: ETHERTYPE_SLOW
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x8809'
    - item_type: preproc_def
      name: ETHERTYPE_MPLS
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x8847'
    - item_type: preproc_def
      name: ETHERTYPE_MPLS_MULTI
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x8848'
    - item_type: preproc_def
      name: ETHERTYPE_PPPOED
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x8863'
    - item_type: preproc_def
      name: ETHERTYPE_PPPOES
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x8864'
    - item_type: preproc_def
      name: ETHERTYPE_NSH
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x894F'
    - item_type: preproc_def
      name: ETHERTYPE_PPPOED2
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x3c12'
    - item_type: preproc_def
      name: ETHERTYPE_PPPOES2
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x3c13'
    - item_type: preproc_def
      name: ETHERTYPE_MS_NLB_HB
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x886f '
    - item_type: preproc_def
      name: ETHERTYPE_JUMBO
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x8870'
    - item_type: preproc_def
      name: ETHERTYPE_LLDP
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x88cc'
    - item_type: preproc_def
      name: ETHERTYPE_EAPOL
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x888e'
    - item_type: preproc_def
      name: ETHERTYPE_REALTEK
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/ethertype.h
      type_or_value: "0x8899\t"
    - item_type: preproc_def
      name: ETHERTYPE_AOE
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x88a2'
    - item_type: preproc_def
      name: ETHERTYPE_PTP
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x88f7'
    - item_type: preproc_def
      name: ETHERTYPE_LOOPBACK
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x9000'
    - item_type: preproc_def
      name: ETHERTYPE_VMAN
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x9100 '
    - item_type: preproc_def
      name: ETHERTYPE_CFM_OLD
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0xabcd '
    - item_type: preproc_def
      name: ETHERTYPE_CFM
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x8902 '
    - item_type: preproc_def
      name: ETHERTYPE_IEEE1905_1
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x893a '
    - item_type: preproc_def
      name: ETHERTYPE_ISO
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0xfefe  '
    - item_type: preproc_def
      name: ETHERTYPE_CALM_FAST
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x1111  '
    - item_type: preproc_def
      name: ETHERTYPE_GEONET_OLD
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x0707  '
    - item_type: preproc_def
      name: ETHERTYPE_GEONET
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0x8947  '
    - item_type: preproc_def
      name: ETHERTYPE_ARISTA
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcpdump/ethertype.h
      type_or_value: '0xd28b '
    structs: []
    typedefs: []
    union: []
- function_names:
  - erspan_i_ii_print
  - erspan_iii_print
  source_file: /src/tcpdump/print-erspan.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ERSPAN2_VER_SHIFT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '28'
    - item_type: preproc_def
      name: ERSPAN2_VER_MASK
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0xfU << ERSPAN2_VER_SHIFT)
    - item_type: preproc_def
      name: ERSPAN2_VER
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x1U << ERSPAN2_VER_SHIFT)
    - item_type: preproc_def
      name: ERSPAN2_VLAN_SHIFT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '16'
    - item_type: preproc_def
      name: ERSPAN2_VLAN_MASK
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0xfffU << ERSPAN2_VLAN_SHIFT)
    - item_type: preproc_def
      name: ERSPAN2_COS_SHIFT
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '13'
    - item_type: preproc_def
      name: ERSPAN2_COS_MASK
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x7U << ERSPAN2_COS_SHIFT)
    - item_type: preproc_def
      name: ERSPAN2_EN_SHIFT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '11'
    - item_type: preproc_def
      name: ERSPAN2_EN_MASK
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x3U << ERSPAN2_EN_SHIFT)
    - item_type: preproc_def
      name: ERSPAN2_EN_NONE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x0U << ERSPAN2_EN_SHIFT)
    - item_type: preproc_def
      name: ERSPAN2_EN_ISL
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x1U << ERSPAN2_EN_SHIFT)
    - item_type: preproc_def
      name: ERSPAN2_EN_DOT1Q
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x2U << ERSPAN2_EN_SHIFT)
    - item_type: preproc_def
      name: ERSPAN2_EN_VLAN
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x3U << ERSPAN2_EN_SHIFT)
    - item_type: preproc_def
      name: ERSPAN2_T_SHIFT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '10'
    - item_type: preproc_def
      name: ERSPAN2_T_MASK
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x1U << ERSPAN2_T_SHIFT)
    - item_type: preproc_def
      name: ERSPAN2_SID_SHIFT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ERSPAN2_SID_MASK
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x3ffU << ERSPAN2_SID_SHIFT)
    - item_type: preproc_def
      name: ERSPAN2_INDEX_SHIFT
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ERSPAN2_INDEX_MASK
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0xfffffU << ERSPAN2_INDEX_SHIFT)
    - item_type: preproc_def
      name: ERSPAN3_VER_SHIFT
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '28'
    - item_type: preproc_def
      name: ERSPAN3_VER_MASK
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0xfU << ERSPAN3_VER_SHIFT)
    - item_type: preproc_def
      name: ERSPAN3_VER
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x2U << ERSPAN3_VER_SHIFT)
    - item_type: preproc_def
      name: ERSPAN3_VLAN_SHIFT
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '16'
    - item_type: preproc_def
      name: ERSPAN3_VLAN_MASK
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0xfffU << ERSPAN3_VLAN_SHIFT)
    - item_type: preproc_def
      name: ERSPAN3_COS_SHIFT
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '13'
    - item_type: preproc_def
      name: ERSPAN3_COS_MASK
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x7U << ERSPAN3_COS_SHIFT)
    - item_type: preproc_def
      name: ERSPAN3_BSO_SHIFT
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '11'
    - item_type: preproc_def
      name: ERSPAN3_BSO_MASK
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x3U << ERSPAN3_BSO_SHIFT)
    - item_type: preproc_def
      name: ERSPAN3_BSO_GOOD_UNKNOWN
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: 0x0U
    - item_type: preproc_def
      name: ERSPAN3_BSO_BAD
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: 0x3U
    - item_type: preproc_def
      name: ERSPAN3_BSO_SHORT
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: 0x1U
    - item_type: preproc_def
      name: ERSPAN3_BSO_OVERSIZED
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: 0x2U
    - item_type: preproc_def
      name: ERSPAN3_T_SHIFT
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '10'
    - item_type: preproc_def
      name: ERSPAN3_T_MASK
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x1U << ERSPAN3_T_SHIFT)
    - item_type: preproc_def
      name: ERSPAN3_SID_SHIFT
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ERSPAN3_SID_MASK
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x3ffU << ERSPAN3_SID_SHIFT)
    - item_type: preproc_def
      name: ERSPAN3_P_SHIFT
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '15'
    - item_type: preproc_def
      name: ERSPAN3_P_MASK
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x1U << ERSPAN3_P_SHIFT)
    - item_type: preproc_def
      name: ERSPAN3_FT_SHIFT
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '10'
    - item_type: preproc_def
      name: ERSPAN3_FT_MASK
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x1fU << ERSPAN3_FT_SHIFT)
    - item_type: preproc_def
      name: ERSPAN3_FT_ETHERNET
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ERSPAN3_FT_IP
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ERSPAN3_HW_ID_SHIFT
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ERSPAN3_HW_ID_MASK
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x3fU << ERSPAN3_HW_ID_SHIFT)
    - item_type: preproc_def
      name: ERSPAN3_D_SHIFT
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '3'
    - item_type: preproc_def
      name: ERSPAN3_D_MASK
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x1U << ERSPAN3_D_SHIFT)
    - item_type: preproc_def
      name: ERSPAN3_GRA_SHIFT
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ERSPAN3_GRA_MASK
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x3U << ERSPAN3_GRA_SHIFT)
    - item_type: preproc_def
      name: ERSPAN3_O_SHIFT
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ERSPAN3_O_MASK
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/tcpdump/print-erspan.c
      type_or_value: (0x1U << ERSPAN3_O_SHIFT)
    structs: []
    typedefs: []
    union: []
- function_names:
  - someip_print
  source_file: /src/tcpdump/print-someip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SOMEIP_HDR_LEN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-someip.c
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - LWAPP_EXTRACT_VER
  - LWAPP_EXTRACT_RID
  - LWAPP_EXTRACT_CFL
  - permitted_msg_elem
  - lwapp_control_print
  - lwapp_print
  source_file: /src/tcpdump/print-lwapp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LWAPP_VERSION
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LWAPP_L_BIT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: LWAPP_F_BIT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: LWAPP_C_BIT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_DISCOVERY_REQ
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_DISCOVERY_RESP
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_JOIN_REQ
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_JOIN_RESP
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_JOIN_ACK
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_JOIN_CONFIRM
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_CONFIGURE_REQ
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_CONFIGURE_RESP
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_CONF_UPDATE_REQ
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_CONF_UPDATE_RESP
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_WTP_EVENT_REQ
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_WTP_EVENT_RESP
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '15'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_CHANGE_STATE_EVENT_REQ
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '16'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_CHANGE_STATE_EVENT_RESP
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '17'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_ECHO_REQ
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '22'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_ECHO_RESP
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '23'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_IMAGE_DATA_REQ
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '24'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_IMAGE_DATA_RESP
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '25'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_RESET_REQ
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '26'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_RESET_RESP
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '27'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_KEY_UPDATE_REQ
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '30'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_KEY_UPDATE_RESP
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '31'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_PRIMARY_DISCOVERY_REQ
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '32'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_PRIMARY_DISCOVERY_RESP
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '33'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_DATA_TRANSFER_REQ
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '34'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_DATA_TRANSFER_RESP
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '35'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_CLEAR_CONFIG_INDICATION
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '36'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_WLAN_CONFIG_REQ
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '37'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_WLAN_CONFIG_RESP
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '38'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_MOBILE_CONFIG_REQ
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '39'
    - item_type: preproc_def
      name: LWAPP_MSGTYPE_MOBILE_CONFIG_RESP
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '40'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_AC_ADDRESS
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_WTP_DESCRIPTOR
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_WTP_RADIO_INFO
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_WTP_NAME
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_AC_DESCRIPTOR
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_ADD_WLAN
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_WTP_WLAN_RADIO_CONFIG
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_MULTI_DOMAIN_CAP
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_MAC_OPERATION
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_TX_POWER
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_TX_POWER_LEVEL
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_DIRECT_SEQ_CONTROL
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_OFDM_CONTROL
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '15'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_RATE_SET
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '16'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_TEST
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '18'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_CHANGE_STATE_EVENT
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '26'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_ADMIN_STATE
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '27'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_DELETE_WLAN
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '28'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_ADD_MOBILE
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '29'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_DELETE_MOBILE
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '30'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_AC_NAME
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '31'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_IMAGE_DATA
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '33'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_UPDATE_WLAN
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '34'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_LOCATION_DATA
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '35'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_STATISTICS_TIMER
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '37'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_DECRYPTION_ERROR_REPORT_PERIOD
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '38'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_DECRYPTION_ERROR_REPORT
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '39'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_ANTENNA
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '41'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_CERTIFICATE
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '44'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_SESSION_ID
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '45'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_CFP_STATUS
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '48'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_WTP_BOARD_DATA
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '50'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_BROADCAST_PROBE_MODE
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '51'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_DATA_TRANSFER_MODE
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '52'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_DATA_TRANSFER_DATA
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '53'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_WTP_MODE_AND_TYPE
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '54'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_WTP_QOS
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '57'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_DISCOVERY_TYPE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '58'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_AC_IPV4_LIST
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '59'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_STATUS
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '60'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_MIC_COUNTERMEASURES
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '61'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_ADD_BLACKLIST_ENTRY
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '65'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_DELETE_BLACKLIST_ENTRY
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '66'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_WTP_REBOOT_STATISTICS
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '67'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_LWAPP_TIMERS
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '68'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_ADD_STATIC_BLACKLIST_ENTRY
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '70'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_DELETE_STATIC_BLACKLIST_ENTRY
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '71'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_DUPLICATE_IPV4_ADDR
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '77'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_MIC_ERROR_REPORT_FROM_MOBILE
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '79'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_WTP_STATIC_IP_ADDR_INFO
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '82'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_AC_NAME_WITH_INDEX
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '90'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_WTP_FALLBACK
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '91'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_WTP_RADIO_FAIL_ALARM_IND
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '95'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_IDLE_TIMEOUT
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '97'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_WTP_MGR_CTRL_IPV4
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '99'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_VENDOR_SPECIFIC
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '104'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_MOBILE_SESSION_KEY
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '105'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_UPDATE_MOBILE_QOS
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '106'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_WNONCE
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '107'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_ANONCE
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '108'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_PSK_MIC
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '109'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_XNONCE
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '111'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_WTP_MGR_CTRL_IPV6
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '137'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_WTP_MGR_DATA_IPV4
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '138'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_WTP_MGR_DATA_IPV6
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '139'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_80211_STATION_QOS_PROFILE
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '140'
    - item_type: preproc_def
      name: LWAPP_MSGELEM_AC_IPV6_LIST
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/tcpdump/print-lwapp.c
      type_or_value: '141'
    structs:
    - fields:
      - name: ver_rid_cfl
        type: nd_uint8_t
      - name: frag_id
        type: nd_uint8_t
      - name: length
        type: nd_uint16_t
      - name: status
        type: nd_uint16_t
      item_type: struct
      name: lwapp_transport_header
      pos:
        line_end: 48
        line_start: 43
        source_file: /src/tcpdump/print-lwapp.c
    - fields:
      - name: msg_type
        type: nd_uint8_t
      - name: seq_num
        type: nd_uint8_t
      - name: len
        type: nd_uint16_t
      - name: session_id
        type: nd_uint32_t
      item_type: struct
      name: lwapp_control_header
      pos:
        line_end: 84
        line_start: 79
        source_file: /src/tcpdump/print-lwapp.c
    - fields:
      - name: type
        type: nd_uint8_t
      - name: length
        type: nd_uint16_t
      item_type: struct
      name: lwapp_msgelem_header
      pos:
        line_end: 168
        line_start: 165
        source_file: /src/tcpdump/print-lwapp.c
    typedefs: []
    union: []
- function_names:
  - lisp_print
  - extract_lisp_type
  - is_xtr_data_present
  - lisp_hdr_flag
  - action_flag
  - loc_hdr_flag
  source_file: /src/tcpdump/print-lisp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IPv4_AFI
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-lisp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: IPv6_AFI
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-lisp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TYPE_INDEX
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-lisp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LISP_MAP_NOTIFY_IBIT_MASK
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-lisp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LISP_MAP_REGISTER_IBIT_MASK
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-lisp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MAP_REGISTER_HDR_LEN
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/tcpdump/print-lisp.c
      type_or_value: sizeof(lisp_map_register_hdr)
    - item_type: preproc_def
      name: MAP_REGISTER_EID_LEN
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/tcpdump/print-lisp.c
      type_or_value: sizeof(lisp_map_register_eid)
    - item_type: preproc_def
      name: MAP_REGISTER_LOC_LEN
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/tcpdump/print-lisp.c
      type_or_value: sizeof(lisp_map_register_loc)
    structs:
    - fields:
      - name: type_and_flag
        type: nd_uint8_t
      - name: reserved
        type: nd_uint8_t
      - name: reserved_and_flag2
        type: nd_uint8_t
      - name: record_count
        type: nd_uint8_t
      - name: nonce
        type: nd_uint64_t
      - name: key_id
        type: nd_uint16_t
      - name: auth_data_len
        type: nd_uint16_t
      item_type: struct
      name: map_register_hdr
      pos:
        line_end: 193
        line_start: 185
        source_file: /src/tcpdump/print-lisp.c
    - fields:
      - name: ttl
        type: nd_uint32_t
      - name: locator_count
        type: nd_uint8_t
      - name: eid_prefix_mask_length
        type: nd_uint8_t
      - name: act_auth_inc_res
        type: nd_uint8_t
      - name: reserved
        type: nd_uint8_t
      - name: reserved_and_version
        type: nd_uint16_t
      - name: eid_prefix_afi
        type: nd_uint16_t
      item_type: struct
      name: map_register_eid
      pos:
        line_end: 205
        line_start: 197
        source_file: /src/tcpdump/print-lisp.c
    - fields:
      - name: priority
        type: nd_uint8_t
      - name: weight
        type: nd_uint8_t
      - name: m_priority
        type: nd_uint8_t
      - name: m_weight
        type: nd_uint8_t
      - name: unused_and_flag
        type: nd_uint16_t
      - name: locator_afi
        type: nd_uint16_t
      item_type: struct
      name: map_register_loc
      pos:
        line_end: 216
        line_start: 209
        source_file: /src/tcpdump/print-lisp.c
    typedefs: []
    union: []
- function_names:
  - handle_ctrl_proto
  - print_lcp_config_options
  - handle_mlppp
  - handle_chap
  - handle_pap
  - print_ipcp_config_options
  - print_ip6cp_config_options
  - print_ccp_config_options
  - print_bacp_config_options
  - ppp_hdlc
  - handle_ppp
  - ppp_print
  - ppp_if_print
  - ppp_hdlc_if_print
  source_file: /src/tcpdump/print-ppp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CPCODES_VEXT
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: CPCODES_CONF_REQ
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: CPCODES_CONF_ACK
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: CPCODES_CONF_NAK
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: CPCODES_CONF_REJ
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: CPCODES_TERM_REQ
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: CPCODES_TERM_ACK
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: CPCODES_CODE_REJ
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: CPCODES_PROT_REJ
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "8\t"
    - item_type: preproc_def
      name: CPCODES_ECHO_REQ
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "9\t"
    - item_type: preproc_def
      name: CPCODES_ECHO_RPL
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "10\t"
    - item_type: preproc_def
      name: CPCODES_DISC_REQ
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "11\t"
    - item_type: preproc_def
      name: CPCODES_ID
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "12\t"
    - item_type: preproc_def
      name: CPCODES_TIME_REM
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "13\t"
    - item_type: preproc_def
      name: CPCODES_RESET_REQ
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "14\t"
    - item_type: preproc_def
      name: CPCODES_RESET_REP
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "15\t"
    - item_type: preproc_def
      name: LCPOPT_VEXT
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LCPOPT_MRU
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LCPOPT_ACCM
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LCPOPT_AP
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LCPOPT_QP
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: LCPOPT_MN
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: LCPOPT_DEP6
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: LCPOPT_PFC
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: LCPOPT_ACFC
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LCPOPT_FCSALT
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '9'
    - item_type: preproc_def
      name: LCPOPT_SDP
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '10'
    - item_type: preproc_def
      name: LCPOPT_NUMMODE
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '11'
    - item_type: preproc_def
      name: LCPOPT_DEP12
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '12'
    - item_type: preproc_def
      name: LCPOPT_CBACK
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '13'
    - item_type: preproc_def
      name: LCPOPT_DEP14
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: LCPOPT_DEP15
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '15'
    - item_type: preproc_def
      name: LCPOPT_DEP16
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '16'
    - item_type: preproc_def
      name: LCPOPT_MLMRRU
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '17'
    - item_type: preproc_def
      name: LCPOPT_MLSSNHF
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '18'
    - item_type: preproc_def
      name: LCPOPT_MLED
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '19'
    - item_type: preproc_def
      name: LCPOPT_PROP
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '20'
    - item_type: preproc_def
      name: LCPOPT_DCEID
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '21'
    - item_type: preproc_def
      name: LCPOPT_MPP
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '22'
    - item_type: preproc_def
      name: LCPOPT_LD
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '23'
    - item_type: preproc_def
      name: LCPOPT_LCPAOPT
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '24'
    - item_type: preproc_def
      name: LCPOPT_COBS
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '25'
    - item_type: preproc_def
      name: LCPOPT_PE
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '26'
    - item_type: preproc_def
      name: LCPOPT_MLHF
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '27'
    - item_type: preproc_def
      name: LCPOPT_I18N
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '28'
    - item_type: preproc_def
      name: LCPOPT_SDLOS
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '29'
    - item_type: preproc_def
      name: LCPOPT_PPPMUX
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '30'
    - item_type: preproc_def
      name: NUM_LCPOPTS
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: (sizeof(lcpconfopts) / sizeof(lcpconfopts[0]))
    - item_type: preproc_def
      name: CCPOPT_OUI
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: CCPOPT_PRED1
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: CCPOPT_PRED2
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: CCPOPT_PJUMP
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: CCPOPT_HPPPC
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "16\t"
    - item_type: preproc_def
      name: CCPOPT_STACLZS
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "17\t"
    - item_type: preproc_def
      name: CCPOPT_MPPC
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "18\t"
    - item_type: preproc_def
      name: CCPOPT_GFZA
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "19\t"
    - item_type: preproc_def
      name: CCPOPT_V42BIS
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "20\t"
    - item_type: preproc_def
      name: CCPOPT_BSDCOMP
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "21\t"
    - item_type: preproc_def
      name: CCPOPT_LZSDCP
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "23\t"
    - item_type: preproc_def
      name: CCPOPT_MVRCA
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "24\t"
    - item_type: preproc_def
      name: CCPOPT_DEC
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "25\t"
    - item_type: preproc_def
      name: CCPOPT_DEFLATE
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "26\t"
    - item_type: preproc_def
      name: CCPOPT_RESV
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "255\t"
    - item_type: preproc_def
      name: BACPOPT_FPEER
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: IPCPOPT_2ADDR
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: IPCPOPT_IPCOMP
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: IPCPOPT_ADDR
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: IPCPOPT_MOBILE4
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: IPCPOPT_PRIDNS
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "129\t"
    - item_type: preproc_def
      name: IPCPOPT_PRINBNS
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "130\t"
    - item_type: preproc_def
      name: IPCPOPT_SECDNS
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "131\t"
    - item_type: preproc_def
      name: IPCPOPT_SECNBNS
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "132\t"
    - item_type: preproc_def
      name: IPCPOPT_IPCOMP_HDRCOMP
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '0x61  '
    - item_type: preproc_def
      name: IPCPOPT_IPCOMP_MINLEN
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '14'
    - item_type: preproc_def
      name: IP6CP_IFID
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: AUTHALG_CHAPMD5
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: AUTHALG_MSCHAP1
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "128\t"
    - item_type: preproc_def
      name: AUTHALG_MSCHAP2
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "129\t"
    - item_type: preproc_def
      name: MEDCLASS_NULL
      pos:
        line_end: 335
        line_start: 334
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: MEDCLASS_LOCAL
      pos:
        line_end: 336
        line_start: 335
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: MEDCLASS_IPV4
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: MEDCLASS_MAC
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: MEDCLASS_MNB
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: MEDCLASS_PSNDN
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: CALLBACK_AUTH
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "0\t"
    - item_type: preproc_def
      name: CALLBACK_DSTR
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: CALLBACK_LID
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: CALLBACK_E164
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: CALLBACK_X500
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: CALLBACK_CBCP
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: CHAP_CHAL
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CHAP_RESP
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: CHAP_SUCC
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CHAP_FAIL
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: PAP_AREQ
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PAP_AACK
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: PAP_ANAK
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: BAP_CALLREQ
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BAP_CALLRES
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '2'
    - item_type: preproc_def
      name: BAP_CBREQ
      pos:
        line_end: 391
        line_start: 390
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: BAP_CBRES
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '4'
    - item_type: preproc_def
      name: BAP_LDQREQ
      pos:
        line_end: 393
        line_start: 392
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '5'
    - item_type: preproc_def
      name: BAP_LDQRES
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '6'
    - item_type: preproc_def
      name: BAP_CSIND
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '7'
    - item_type: preproc_def
      name: BAP_CSRES
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/tcpdump/print-ppp.c
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/rpc_msg.h
  types:
    enum:
    - enumerators:
      - name: SUNRPC_CALL
        value: '0'
      - name: SUNRPC_REPLY
        value: '1'
      item_type: enum
      name: sunrpc_msg_type
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/tcpdump/rpc_msg.h
    - enumerators:
      - name: SUNRPC_MSG_ACCEPTED
        value: '0'
      - name: SUNRPC_MSG_DENIED
        value: '1'
      item_type: enum
      name: sunrpc_reply_stat
      pos:
        line_end: 55
        line_start: 52
        source_file: /src/tcpdump/rpc_msg.h
    - enumerators:
      - name: SUNRPC_SUCCESS
        value: '0'
      - name: SUNRPC_PROC_UNAVAIL
        value: '3'
      - name: SUNRPC_PROG_MISMATCH
        value: '2'
      - name: SUNRPC_PROG_UNAVAIL
        value: '1'
      - name: SUNRPC_GARBAGE_ARGS
        value: '4'
      - name: SUNRPC_SYSTEM_ERR
        value: '5'
      item_type: enum
      name: sunrpc_accept_stat
      pos:
        line_end: 64
        line_start: 57
        source_file: /src/tcpdump/rpc_msg.h
    - enumerators:
      - name: SUNRPC_RPC_MISMATCH
        value: '0'
      - name: SUNRPC_AUTH_ERROR
        value: '1'
      item_type: enum
      name: sunrpc_reject_stat
      pos:
        line_end: 69
        line_start: 66
        source_file: /src/tcpdump/rpc_msg.h
    preproc_defs:
    - item_type: preproc_def
      name: SUNRPC_MSG_VERSION
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/rpc_msg.h
      type_or_value: ((uint32_t) 2)
    - item_type: preproc_def
      name: rj_vers
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/rpc_msg.h
      type_or_value: ru.RJ_versions
    - item_type: preproc_def
      name: rj_why
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/rpc_msg.h
      type_or_value: ru.RJ_why
    - item_type: preproc_def
      name: rm_call
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/rpc_msg.h
      type_or_value: ru.RM_cmb
    - item_type: preproc_def
      name: rm_reply
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/rpc_msg.h
      type_or_value: ru.RM_rmb
    - item_type: preproc_def
      name: acpted_rply
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/rpc_msg.h
      type_or_value: ru.RM_rmb.ru.RP_ar
    - item_type: preproc_def
      name: rjcted_rply
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/rpc_msg.h
      type_or_value: ru.RM_rmb.ru.RP_dr
    structs:
    - fields:
      - name: rj_stat
        type: nd_uint32_t
      - name: ru
        type: "union {\n\t\tstruct {\n\t\t\tnd_uint32_t low;\n\t\t\tnd_uint32_t high;\n\t\t}
          RJ_versions;\n\t\tnd_uint32_t RJ_why;  /* enum auth_stat - why authentication
          did not work */\n\t}"
      item_type: struct
      name: sunrpc_rejected_reply
      pos:
        line_end: 89
        line_start: 78
        source_file: /src/tcpdump/rpc_msg.h
    - fields:
      - name: rp_stat
        type: nd_uint32_t
      - name: rp_reject
        type: struct sunrpc_rejected_reply
      item_type: struct
      name: sunrpc_reply_body
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/tcpdump/rpc_msg.h
    - fields:
      - name: cb_rpcvers
        type: nd_uint32_t
      - name: cb_prog
        type: nd_uint32_t
      - name: cb_vers
        type: nd_uint32_t
      - name: cb_proc
        type: nd_uint32_t
      - name: cb_cred
        type: struct sunrpc_opaque_auth
      item_type: struct
      name: sunrpc_call_body
      pos:
        line_end: 109
        line_start: 102
        source_file: /src/tcpdump/rpc_msg.h
    - fields:
      - name: rm_xid
        type: nd_uint32_t
      - name: rm_direction
        type: nd_uint32_t
      - name: ru
        type: "union {\n\t\tstruct sunrpc_call_body RM_cmb;\n\t\tstruct sunrpc_reply_body
          RM_rmb;\n\t}"
      item_type: struct
      name: sunrpc_msg
      pos:
        line_end: 123
        line_start: 114
        source_file: /src/tcpdump/rpc_msg.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/l2vpn.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - float_type_check
  source_file: /src/tcpdump/fptype.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: f
        type: float
      - name: i
        type: uint32_t
      item_type: union
      name: f
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/tcpdump/fptype.c
- function_names:
  - EAP_TLS_EXTRACT_BIT_L
  - EAP_TTLS_VERSION
  - eap_print
  - eapol_print
  source_file: /src/tcpdump/print-eap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EAP_FRAME_TYPE_PACKET
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EAP_FRAME_TYPE_START
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_FRAME_TYPE_LOGOFF
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_FRAME_TYPE_KEY
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_FRAME_TYPE_ENCAP_ASF_ALERT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_REQUEST
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_RESPONSE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_SUCCESS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_FAILURE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_TYPE_NO_PROPOSED
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '0'
    - item_type: preproc_def
      name: EAP_TYPE_IDENTITY
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_TYPE_NOTIFICATION
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_TYPE_NAK
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '3'
    - item_type: preproc_def
      name: EAP_TYPE_MD5_CHALLENGE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_TYPE_OTP
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '5'
    - item_type: preproc_def
      name: EAP_TYPE_GTC
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '6'
    - item_type: preproc_def
      name: EAP_TYPE_TLS
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-eap.c
      type_or_value: "13\t\t"
    - item_type: preproc_def
      name: EAP_TYPE_SIM
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-eap.c
      type_or_value: "18\t\t"
    - item_type: preproc_def
      name: EAP_TYPE_TTLS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-eap.c
      type_or_value: "21\t\t"
    - item_type: preproc_def
      name: EAP_TYPE_AKA
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-eap.c
      type_or_value: "23\t\t"
    - item_type: preproc_def
      name: EAP_TYPE_FAST
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-eap.c
      type_or_value: "43\t\t"
    - item_type: preproc_def
      name: EAP_TYPE_EXPANDED_TYPES
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '254'
    - item_type: preproc_def
      name: EAP_TYPE_EXPERIMENTAL
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '255'
    - item_type: preproc_def
      name: EAP_TLS_FLAGS_LEN_INCLUDED
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-eap.c
      type_or_value: (1 << 7)
    - item_type: preproc_def
      name: EAP_TLS_FLAGS_MORE_FRAGMENTS
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-eap.c
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: EAP_TLS_FLAGS_START
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-eap.c
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: EAP_AKA_CHALLENGE
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '1'
    - item_type: preproc_def
      name: EAP_AKA_AUTH_REJECT
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '2'
    - item_type: preproc_def
      name: EAP_AKA_SYNC_FAILURE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '4'
    - item_type: preproc_def
      name: EAP_AKA_IDENTITY
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '5'
    - item_type: preproc_def
      name: EAP_SIM_START
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '10'
    - item_type: preproc_def
      name: EAP_SIM_CHALLENGE
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '11'
    - item_type: preproc_def
      name: EAP_AKA_NOTIFICATION
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '12'
    - item_type: preproc_def
      name: EAP_AKA_REAUTH
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '13'
    - item_type: preproc_def
      name: EAP_AKA_CLIENT_ERROR
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/tcpdump/print-eap.c
      type_or_value: '14'
    structs:
    - fields:
      - name: version
        type: nd_uint8_t
      - name: type
        type: nd_uint8_t
      - name: length
        type: nd_uint16_t
      item_type: struct
      name: eap_frame_t
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/tcpdump/print-eap.c
    - fields:
      - name: code
        type: nd_uint8_t
      - name: id
        type: nd_uint8_t
      - name: length
        type: nd_uint16_t
      item_type: struct
      name: eap_packet_t
      pos:
        line_end: 56
        line_start: 52
        source_file: /src/tcpdump/print-eap.c
    typedefs: []
    union: []
- function_names:
  - ospf6_print_ls_type
  - ospf6_print_lshdr
  - ospf6_print_lsaprefix
  - ospf6_print_lsa
  - ospf6_decode_v3
  - ospf6_print_lls
  - ospf6_decode_at
  - ospf6_decode_v3_trailer
  - ospf6_print
  source_file: /src/tcpdump/print-ospf6.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OSPF_TYPE_HELLO
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: OSPF_TYPE_DD
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: OSPF_TYPE_LS_REQ
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: OSPF_TYPE_LS_UPDATE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: OSPF_TYPE_LS_ACK
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: OSPF6_OPTION_V6
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: OSPF6_OPTION_E
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: OSPF6_OPTION_MC
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "0x04\t"
    - item_type: preproc_def
      name: OSPF6_OPTION_N
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "0x08\t"
    - item_type: preproc_def
      name: OSPF6_OPTION_R
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "0x10\t"
    - item_type: preproc_def
      name: OSPF6_OPTION_DC
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "0x20\t"
    - item_type: preproc_def
      name: OSPF6_OPTION_AF
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "0x0100\t"
    - item_type: preproc_def
      name: OSPF6_OPTION_L
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "0x0200\t"
    - item_type: preproc_def
      name: OSPF6_OPTION_AT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "0x0400\t"
    - item_type: preproc_def
      name: OSPF6_DB_INIT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: "0x04\t    "
    - item_type: preproc_def
      name: OSPF6_DB_MORE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: OSPF6_DB_MASTER
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: OSPF6_DB_M6
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x10  '
    - item_type: preproc_def
      name: LS_TYPE_ROUTER
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '1   '
    - item_type: preproc_def
      name: LS_TYPE_NETWORK
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '2   '
    - item_type: preproc_def
      name: LS_TYPE_INTER_AP
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '3   '
    - item_type: preproc_def
      name: LS_TYPE_INTER_AR
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '4   '
    - item_type: preproc_def
      name: LS_TYPE_ASE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '5   '
    - item_type: preproc_def
      name: LS_TYPE_GROUP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '6   '
    - item_type: preproc_def
      name: LS_TYPE_NSSA
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '7   '
    - item_type: preproc_def
      name: LS_TYPE_LINK
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '8   '
    - item_type: preproc_def
      name: LS_TYPE_INTRA_AP
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '9   '
    - item_type: preproc_def
      name: LS_TYPE_INTRA_ATE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '10  '
    - item_type: preproc_def
      name: LS_TYPE_GRACE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '11  '
    - item_type: preproc_def
      name: LS_TYPE_RI
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '12  '
    - item_type: preproc_def
      name: LS_TYPE_INTER_ASTE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '13  '
    - item_type: preproc_def
      name: LS_TYPE_L1VPN
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '14  '
    - item_type: preproc_def
      name: LS_TYPE_MASK
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x1fff'
    - item_type: preproc_def
      name: LS_SCOPE_LINKLOCAL
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x0000'
    - item_type: preproc_def
      name: LS_SCOPE_AREA
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: LS_SCOPE_AS
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x4000'
    - item_type: preproc_def
      name: LS_SCOPE_MASK
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x6000'
    - item_type: preproc_def
      name: LS_SCOPE_U
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: RLA_TYPE_ROUTER
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '1   '
    - item_type: preproc_def
      name: RLA_TYPE_TRANSIT
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '2   '
    - item_type: preproc_def
      name: RLA_TYPE_VIRTUAL
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '4   '
    - item_type: preproc_def
      name: RLA_FLAG_B
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: RLA_FLAG_E
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: RLA_FLAG_V
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: RLA_FLAG_W
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: RLA_FLAG_Nt
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: LSA_PREFIX_OPT_NU
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: LSA_PREFIX_OPT_LA
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: LSA_PREFIX_OPT_MC
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: LSA_PREFIX_OPT_P
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: LSA_PREFIX_OPT_DN
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: LSA_PREFIX_OPT_N
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: SLA_MASK_TOS
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x7f000000'
    - item_type: preproc_def
      name: SLA_MASK_METRIC
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x00ffffff'
    - item_type: preproc_def
      name: SLA_SHIFT_TOS
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '24'
    - item_type: preproc_def
      name: ASLA_FLAG_FWDADDR
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x02000000'
    - item_type: preproc_def
      name: ASLA_FLAG_ROUTETAG
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x01000000'
    - item_type: preproc_def
      name: ASLA_MASK_METRIC
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x00ffffff'
    - item_type: preproc_def
      name: OSPF6_AT_HDRLEN
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: 16U
    - item_type: preproc_def
      name: OSPF6_AUTH_TYPE_HMAC
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: IPV6_ADDR_LEN_BYTES
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: (128/8)
    - item_type: preproc_def
      name: rla_flags
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: rla_flgandopt.flg
    - item_type: preproc_def
      name: rla_options
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: rla_flgandopt.opt
    - item_type: preproc_def
      name: llsa_priority
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: llsa_priandopt.pri
    - item_type: preproc_def
      name: llsa_options
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: llsa_priandopt.opt
    - item_type: preproc_def
      name: OSPF6HDR_LEN
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: '16'
    - item_type: preproc_def
      name: hello_priority
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: hello_priandopt.pri
    - item_type: preproc_def
      name: hello_options
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/tcpdump/print-ospf6.c
      type_or_value: hello_priandopt.opt
    structs:
    - fields:
      - name: ls_age
        type: nd_uint16_t
      - name: ls_type
        type: nd_uint16_t
      - name: ls_stateid
        type: rtrid_t
      - name: ls_router
        type: rtrid_t
      - name: ls_seq
        type: nd_uint32_t
      - name: ls_chksum
        type: nd_uint16_t
      - name: ls_length
        type: nd_uint16_t
      item_type: struct
      name: lsa6_hdr
      pos:
        line_end: 130
        line_start: 122
        source_file: /src/tcpdump/print-ospf6.c
    - fields:
      - name: lsa_p_len
        type: nd_uint8_t
      - name: lsa_p_opt
        type: nd_uint8_t
      - name: lsa_p_metric
        type: nd_uint16_t
      - name: lsa_p_prefix[IPV6_ADDR_LEN_BYTES]
        type: nd_byte
      item_type: struct
      name: lsa6_prefix
      pos:
        line_end: 140
        line_start: 135
        source_file: /src/tcpdump/print-ospf6.c
    - fields:
      - name: ls_hdr
        type: struct lsa6_hdr
      - name: lsa_un
        type: "union {\n\t/* Router links advertisements */\n\tstruct {\n\t    union
          {\n\t\tnd_uint8_t flg;\n\t\tnd_uint32_t opt;\n\t    } rla_flgandopt;\n#define
          rla_flags\trla_flgandopt.flg\n#define rla_options\trla_flgandopt.opt\n\t
          \   struct rlalink6 {\n\t\tnd_uint8_t link_type;\n\t\tnd_byte link_zero;\n\t\tnd_uint16_t
          link_metric;\n\t\tnd_uint32_t link_ifid;\n\t\tnd_uint32_t link_nifid;\n\t\trtrid_t
          link_nrtid;\n\t    } rla_link[1];\t\t/* may repeat\t*/\n\t} un_rla;\n\n\t/*
          Network links advertisements */\n\tstruct {\n\t    nd_uint32_t nla_options;\n\t
          \   rtrid_t nla_router[1];\t/* may repeat\t*/\n\t} un_nla;\n\n\t/* Inter
          Area Prefix LSA */\n\tstruct {\n\t    nd_uint32_t inter_ap_metric;\n\t    struct
          lsa6_prefix inter_ap_prefix[1];\n\t} un_inter_ap;\n\n\t/* AS external links
          advertisements */\n\tstruct {\n\t    nd_uint32_t asla_metric;\n\t    struct
          lsa6_prefix asla_prefix[1];\n\t    /* some optional fields follow */\n\t}
          un_asla;\n\n#if 0\n\t/* Summary links advertisements */\n\tstruct {\n\t
          \   nd_ipv4     sla_mask;\n\t    nd_uint32_t sla_tosmetric[1];\t/* may repeat\t*/\n\t}
          un_sla;\n\n\t/* Multicast group membership */\n\tstruct mcla {\n\t    nd_uint32_t
          mcla_vtype;\n\t    nd_ipv4     mcla_vid;\n\t} un_mcla[1];\n#endif\n\n\t/*
          Type 7 LSA */\n\n\t/* Link LSA */\n\tstruct llsa {\n\t    union {\n\t\tnd_uint8_t
          pri;\n\t\tnd_uint32_t opt;\n\t    } llsa_priandopt;\n#define llsa_priority\tllsa_priandopt.pri\n#define
          llsa_options\tllsa_priandopt.opt\n\t    nd_ipv6\tllsa_lladdr;\n\t    nd_uint32_t
          llsa_nprefix;\n\t    struct lsa6_prefix llsa_prefix[1];\n\t} un_llsa;\n\n\t/*
          Intra-Area-Prefix */\n\tstruct {\n\t    nd_uint16_t intra_ap_nprefix;\n\t
          \   nd_uint16_t intra_ap_lstype;\n\t    rtrid_t intra_ap_lsid;\n\t    rtrid_t
          intra_ap_rtid;\n\t    struct lsa6_prefix intra_ap_prefix[1];\n\t} un_intra_ap;\n
          \   }"
      item_type: struct
      name: lsa6
      pos:
        line_end: 223
        line_start: 143
        source_file: /src/tcpdump/print-ospf6.c
    - fields:
      - name: link_type
        type: nd_uint8_t
      - name: link_zero
        type: nd_byte
      - name: link_metric
        type: nd_uint16_t
      - name: link_ifid
        type: nd_uint32_t
      - name: link_nifid
        type: nd_uint32_t
      - name: link_nrtid
        type: rtrid_t
      item_type: struct
      name: rlalink6
      pos:
        line_end: 163
        line_start: 156
        source_file: /src/tcpdump/print-ospf6.c
    - fields:
      - name: mcla_vtype
        type: nd_uint32_t
      - name: mcla_vid
        type: nd_ipv4
      item_type: struct
      name: mcla
      pos:
        line_end: 196
        line_start: 193
        source_file: /src/tcpdump/print-ospf6.c
    - fields:
      - name: llsa_priandopt
        type: "union {\n\t\tnd_uint8_t pri;\n\t\tnd_uint32_t opt;\n\t    }"
      - name: llsa_lladdr
        type: nd_ipv6
      - name: llsa_nprefix
        type: nd_uint32_t
      - name: llsa_prefix[1]
        type: struct lsa6_prefix
      item_type: struct
      name: llsa
      pos:
        line_end: 212
        line_start: 202
        source_file: /src/tcpdump/print-ospf6.c
    - fields:
      - name: ospf6_version
        type: nd_uint8_t
      - name: ospf6_type
        type: nd_uint8_t
      - name: ospf6_len
        type: nd_uint16_t
      - name: ospf6_routerid
        type: rtrid_t
      - name: ospf6_areaid
        type: rtrid_t
      - name: ospf6_chksum
        type: nd_uint16_t
      - name: ospf6_instanceid
        type: nd_uint8_t
      - name: ospf6_rsvd
        type: nd_uint8_t
      item_type: struct
      name: ospf6hdr
      pos:
        line_end: 237
        line_start: 228
        source_file: /src/tcpdump/print-ospf6.c
    - fields:
      - name: hello_ifid
        type: nd_uint32_t
      - name: hello_priandopt
        type: "union {\n\tnd_uint8_t pri;\n\tnd_uint32_t opt;\n    }"
      - name: hello_helloint
        type: nd_uint16_t
      - name: hello_deadint
        type: nd_uint16_t
      - name: hello_dr
        type: rtrid_t
      - name: hello_bdr
        type: rtrid_t
      - name: hello_neighbor[1]
        type: rtrid_t
      item_type: struct
      name: hello6
      pos:
        line_end: 259
        line_start: 246
        source_file: /src/tcpdump/print-ospf6.c
    - fields:
      - name: db_options
        type: nd_uint32_t
      - name: db_mtu
        type: nd_uint16_t
      - name: db_mbz
        type: nd_uint8_t
      - name: db_flags
        type: nd_uint8_t
      - name: db_seq
        type: nd_uint32_t
      - name: db_lshdr[1]
        type: struct lsa6_hdr
      item_type: struct
      name: dd6
      pos:
        line_end: 269
        line_start: 262
        source_file: /src/tcpdump/print-ospf6.c
    - fields:
      - name: ls_mbz
        type: nd_uint16_t
      - name: ls_type
        type: nd_uint16_t
      - name: ls_stateid
        type: rtrid_t
      - name: ls_router
        type: rtrid_t
      item_type: struct
      name: lsr6
      pos:
        line_end: 277
        line_start: 272
        source_file: /src/tcpdump/print-ospf6.c
    - fields:
      - name: lsu_count
        type: nd_uint32_t
      - name: lsu_lsa[1]
        type: struct lsa6
      item_type: struct
      name: lsu6
      pos:
        line_end: 283
        line_start: 280
        source_file: /src/tcpdump/print-ospf6.c
    typedefs:
    - item_type: typedef
      name: rtrid_t
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/tcpdump/print-ospf6.c
      type: nd_uint32_t
    union: []
- function_names:
  - of13_port_print
  - of13_features_reply_print
  - of13_switch_config_msg_print
  - of13_table_mod_print
  - of13_role_msg_print
  - of13_async_msg_print
  - of13_port_mod_print
  - of13_port_status_print
  - of13_hello_elements_print
  - of13_experimenter_message_print
  - of13_queue_get_config_request_print
  - of13_error_print
  - of13_identify_msgtype
  source_file: /src/tcpdump/print-openflow-1.3.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OFPT_HELLO
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPT_ERROR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPT_ECHO_REQUEST
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPT_ECHO_REPLY
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 3U
    - item_type: preproc_def
      name: OFPT_EXPERIMENTER
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 4U
    - item_type: preproc_def
      name: OFPT_FEATURES_REQUEST
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 5U
    - item_type: preproc_def
      name: OFPT_FEATURES_REPLY
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 6U
    - item_type: preproc_def
      name: OFPT_GET_CONFIG_REQUEST
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 7U
    - item_type: preproc_def
      name: OFPT_GET_CONFIG_REPLY
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 8U
    - item_type: preproc_def
      name: OFPT_SET_CONFIG
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 9U
    - item_type: preproc_def
      name: OFPT_PACKET_IN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 10U
    - item_type: preproc_def
      name: OFPT_FLOW_REMOVED
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 11U
    - item_type: preproc_def
      name: OFPT_PORT_STATUS
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 12U
    - item_type: preproc_def
      name: OFPT_PACKET_OUT
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 13U
    - item_type: preproc_def
      name: OFPT_FLOW_MOD
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 14U
    - item_type: preproc_def
      name: OFPT_GROUP_MOD
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 15U
    - item_type: preproc_def
      name: OFPT_PORT_MOD
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 16U
    - item_type: preproc_def
      name: OFPT_TABLE_MOD
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 17U
    - item_type: preproc_def
      name: OFPT_MULTIPART_REQUEST
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 18U
    - item_type: preproc_def
      name: OFPT_MULTIPART_REPLY
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 19U
    - item_type: preproc_def
      name: OFPT_BARRIER_REQUEST
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 20U
    - item_type: preproc_def
      name: OFPT_BARRIER_REPLY
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 21U
    - item_type: preproc_def
      name: OFPT_QUEUE_GET_CONFIG_REQUEST
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 22U
    - item_type: preproc_def
      name: OFPT_QUEUE_GET_CONFIG_REPLY
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 23U
    - item_type: preproc_def
      name: OFPT_ROLE_REQUEST
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 24U
    - item_type: preproc_def
      name: OFPT_ROLE_REPLY
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 25U
    - item_type: preproc_def
      name: OFPT_GET_ASYNC_REQUEST
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 26U
    - item_type: preproc_def
      name: OFPT_GET_ASYNC_REPLY
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 27U
    - item_type: preproc_def
      name: OFPT_SET_ASYNC
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 28U
    - item_type: preproc_def
      name: OFPT_METER_MOD
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 29U
    - item_type: preproc_def
      name: OFPT_MAX
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: OFPT_METER_MOD
    - item_type: preproc_def
      name: OFPC_FLOW_STATS
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<0)
    - item_type: preproc_def
      name: OFPC_TABLE_STATS
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<1)
    - item_type: preproc_def
      name: OFPC_PORT_STATS
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<2)
    - item_type: preproc_def
      name: OFPC_GROUP_STATS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<3)
    - item_type: preproc_def
      name: OFPC_IP_REASM
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<5)
    - item_type: preproc_def
      name: OFPC_QUEUE_STATS
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<6)
    - item_type: preproc_def
      name: OFPC_PORT_BLOCKED
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<8)
    - item_type: preproc_def
      name: OFPCAP_U
      pos:
        line_end: 97
        line_start: 94
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: "(~(OFPC_FLOW_STATS | OFPC_TABLE_STATS | OFPC_PORT_STATS | \\\n
        \                   OFPC_GROUP_STATS | OFPC_IP_REASM | OFPC_QUEUE_STATS |
        \\\n                    OFPC_PORT_BLOCKED))"
    - item_type: preproc_def
      name: OFPC_FRAG_NORMAL
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPC_FRAG_DROP
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPC_FRAG_REASM
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPTT_MAX
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0xfeU
    - item_type: preproc_def
      name: OFPTT_ALL
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0xffU
    - item_type: preproc_def
      name: OFPCML_MAX
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0xffe5U
    - item_type: preproc_def
      name: OFPCML_NO_BUFFER
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0xffffU
    - item_type: preproc_def
      name: OFPPC_PORT_DOWN
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<0)
    - item_type: preproc_def
      name: OFPPC_NO_RECV
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<2)
    - item_type: preproc_def
      name: OFPPC_NO_FWD
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<5)
    - item_type: preproc_def
      name: OFPPC_NO_PACKET_IN
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<6)
    - item_type: preproc_def
      name: OFPPC_U
      pos:
        line_end: 137
        line_start: 135
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: "(~(OFPPC_PORT_DOWN | OFPPC_NO_RECV | OFPPC_NO_FWD | \\\n                   OFPPC_NO_PACKET_IN))"
    - item_type: preproc_def
      name: OFPPS_LINK_DOWN
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << 0)
    - item_type: preproc_def
      name: OFPPS_BLOCKED
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << 1)
    - item_type: preproc_def
      name: OFPPS_LIVE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << 2)
    - item_type: preproc_def
      name: OFPPS_U
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (~(OFPPS_LINK_DOWN | OFPPS_BLOCKED | OFPPS_LIVE))
    - item_type: preproc_def
      name: OFPPF_10MB_HD
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<  0)
    - item_type: preproc_def
      name: OFPPF_10MB_FD
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<  1)
    - item_type: preproc_def
      name: OFPPF_100MB_HD
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<  2)
    - item_type: preproc_def
      name: OFPPF_100MB_FD
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<  3)
    - item_type: preproc_def
      name: OFPPF_1GB_HD
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<  4)
    - item_type: preproc_def
      name: OFPPF_1GB_FD
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<  5)
    - item_type: preproc_def
      name: OFPPF_10GB_FD
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<  6)
    - item_type: preproc_def
      name: OFPPF_40GB_FD
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<  7)
    - item_type: preproc_def
      name: OFPPF_100GB_FD
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<  8)
    - item_type: preproc_def
      name: OFPPF_1TB_FD
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U <<  9)
    - item_type: preproc_def
      name: OFPPF_OTHER
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << 10)
    - item_type: preproc_def
      name: OFPPF_COPPER
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << 11)
    - item_type: preproc_def
      name: OFPPF_FIBER
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << 12)
    - item_type: preproc_def
      name: OFPPF_AUTONEG
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << 13)
    - item_type: preproc_def
      name: OFPPF_PAUSE
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << 14)
    - item_type: preproc_def
      name: OFPPF_PAUSE_ASYM
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << 15)
    - item_type: preproc_def
      name: OFPPF_U
      pos:
        line_end: 189
        line_start: 184
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: "(~(OFPPF_10MB_HD | OFPPF_10MB_FD | OFPPF_100MB_HD | \\\n                   OFPPF_100MB_FD
        | OFPPF_1GB_HD | OFPPF_1GB_FD | \\\n                   OFPPF_10GB_FD | OFPPF_40GB_FD
        | OFPPF_100GB_FD | \\\n                   OFPPF_1TB_FD | OFPPF_OTHER | OFPPF_COPPER
        | OFPPF_FIBER | \\\n                   OFPPF_AUTONEG | OFPPF_PAUSE | OFPPF_PAUSE_ASYM))"
    - item_type: preproc_def
      name: OFPHET_VERSIONBITMAP
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPP_MAX
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0xffffff00U
    - item_type: preproc_def
      name: OFPP_IN_PORT
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0xfffffff8U
    - item_type: preproc_def
      name: OFPP_TABLE
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0xfffffff9U
    - item_type: preproc_def
      name: OFPP_NORMAL
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0xfffffffaU
    - item_type: preproc_def
      name: OFPP_FLOOD
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0xfffffffbU
    - item_type: preproc_def
      name: OFPP_ALL
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0xfffffffcU
    - item_type: preproc_def
      name: OFPP_CONTROLLER
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0xfffffffdU
    - item_type: preproc_def
      name: OFPP_LOCAL
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0xfffffffeU
    - item_type: preproc_def
      name: OFPP_ANY
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0xffffffffU
    - item_type: preproc_def
      name: OFPCR_ROLE_NOCHANGE
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPCR_ROLE_EQUAL
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPCR_ROLE_MASTER
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPCR_ROLE_SLAVE
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 3U
    - item_type: preproc_def
      name: OF_BIT_VER_1_0
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << (OF_VER_1_0 - 1))
    - item_type: preproc_def
      name: OF_BIT_VER_1_1
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << (OF_VER_1_1 - 1))
    - item_type: preproc_def
      name: OF_BIT_VER_1_2
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << (OF_VER_1_2 - 1))
    - item_type: preproc_def
      name: OF_BIT_VER_1_3
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << (OF_VER_1_3 - 1))
    - item_type: preproc_def
      name: OF_BIT_VER_1_4
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << (OF_VER_1_4 - 1))
    - item_type: preproc_def
      name: OF_BIT_VER_1_5
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << (OF_VER_1_5 - 1))
    - item_type: preproc_def
      name: OF_BIT_VER_U
      pos:
        line_end: 247
        line_start: 245
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: "(~(OF_BIT_VER_1_0 | OF_BIT_VER_1_1 | OF_BIT_VER_1_2 | \\\n                        OF_BIT_VER_1_3
        | OF_BIT_VER_1_4 | OF_BIT_VER_1_5))"
    - item_type: preproc_def
      name: OFPR_NO_MATCH
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPR_ACTION
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPR_INVALID_TTL
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: ASYNC_OFPR_NO_MATCH
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << OFPR_NO_MATCH   )
    - item_type: preproc_def
      name: ASYNC_OFPR_ACTION
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << OFPR_ACTION     )
    - item_type: preproc_def
      name: ASYNC_OFPR_INVALID_TTL
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << OFPR_INVALID_TTL)
    - item_type: preproc_def
      name: ASYNC_OFPR_U
      pos:
        line_end: 271
        line_start: 269
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: "(~(ASYNC_OFPR_NO_MATCH | ASYNC_OFPR_ACTION | \\\n                        ASYNC_OFPR_INVALID_TTL))"
    - item_type: preproc_def
      name: OFPPR_ADD
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPPR_DELETE
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPPR_MODIFY
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: ASYNC_OFPPR_ADD
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << OFPPR_ADD   )
    - item_type: preproc_def
      name: ASYNC_OFPPR_DELETE
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << OFPPR_DELETE)
    - item_type: preproc_def
      name: ASYNC_OFPPR_MODIFY
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (1U << OFPPR_MODIFY)
    - item_type: preproc_def
      name: ASYNC_OFPPR_U
      pos:
        line_end: 293
        line_start: 291
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: "(~(ASYNC_OFPPR_ADD | ASYNC_OFPPR_DELETE | \\\n                         ASYNC_OFPPR_MODIFY))"
    - item_type: preproc_def
      name: OFPET_HELLO_FAILED
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPET_BAD_REQUEST
      pos:
        line_end: 296
        line_start: 295
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPET_BAD_ACTION
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPET_BAD_INSTRUCTION
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 3U
    - item_type: preproc_def
      name: OFPET_BAD_MATCH
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 4U
    - item_type: preproc_def
      name: OFPET_FLOW_MOD_FAILED
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 5U
    - item_type: preproc_def
      name: OFPET_GROUP_MOD_FAILED
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 6U
    - item_type: preproc_def
      name: OFPET_PORT_MOD_FAILED
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 7U
    - item_type: preproc_def
      name: OFPET_TABLE_MOD_FAILED
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 8U
    - item_type: preproc_def
      name: OFPET_QUEUE_OP_FAILED
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 9U
    - item_type: preproc_def
      name: OFPET_SWITCH_CONFIG_FAILED
      pos:
        line_end: 305
        line_start: 304
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 10U
    - item_type: preproc_def
      name: OFPET_ROLE_REQUEST_FAILED
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 11U
    - item_type: preproc_def
      name: OFPET_METER_MOD_FAILED
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 12U
    - item_type: preproc_def
      name: OFPET_TABLE_FEATURES_FAILED
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 13U
    - item_type: preproc_def
      name: OFPET_EXPERIMENTER
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: '0xffffU '
    - item_type: preproc_def
      name: OFPHFC_INCOMPATIBLE
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPHFC_EPERM
      pos:
        line_end: 330
        line_start: 329
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPBRC_BAD_VERSION
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPBRC_BAD_TYPE
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPBRC_BAD_MULTIPART
      pos:
        line_end: 339
        line_start: 338
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPBRC_BAD_EXPERIMENTER
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 3U
    - item_type: preproc_def
      name: OFPBRC_BAD_EXP_TYPE
      pos:
        line_end: 341
        line_start: 340
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 4U
    - item_type: preproc_def
      name: OFPBRC_EPERM
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 5U
    - item_type: preproc_def
      name: OFPBRC_BAD_LEN
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 6U
    - item_type: preproc_def
      name: OFPBRC_BUFFER_EMPTY
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 7U
    - item_type: preproc_def
      name: OFPBRC_BUFFER_UNKNOWN
      pos:
        line_end: 345
        line_start: 344
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 8U
    - item_type: preproc_def
      name: OFPBRC_BAD_TABLE_ID
      pos:
        line_end: 346
        line_start: 345
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 9U
    - item_type: preproc_def
      name: OFPBRC_IS_SLAVE
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 10U
    - item_type: preproc_def
      name: OFPBRC_BAD_PORT
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 11U
    - item_type: preproc_def
      name: OFPBRC_BAD_PACKET
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 12U
    - item_type: preproc_def
      name: OFPBRC_MULTIPART_BUFFER_OVERFLOW
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 13U
    - item_type: preproc_def
      name: OFPBAC_BAD_TYPE
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPBAC_BAD_LEN
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPBAC_BAD_EXPERIMENTER
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPBAC_BAD_EXP_TYPE
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 3U
    - item_type: preproc_def
      name: OFPBAC_BAD_OUT_PORT
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 4U
    - item_type: preproc_def
      name: OFPBAC_BAD_ARGUMENT
      pos:
        line_end: 374
        line_start: 373
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 5U
    - item_type: preproc_def
      name: OFPBAC_EPERM
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 6U
    - item_type: preproc_def
      name: OFPBAC_TOO_MANY
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 7U
    - item_type: preproc_def
      name: OFPBAC_BAD_QUEUE
      pos:
        line_end: 377
        line_start: 376
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 8U
    - item_type: preproc_def
      name: OFPBAC_BAD_OUT_GROUP
      pos:
        line_end: 378
        line_start: 377
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 9U
    - item_type: preproc_def
      name: OFPBAC_MATCH_INCONSISTENT
      pos:
        line_end: 379
        line_start: 378
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 10U
    - item_type: preproc_def
      name: OFPBAC_UNSUPPORTED_ORDER
      pos:
        line_end: 380
        line_start: 379
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 11U
    - item_type: preproc_def
      name: OFPBAC_BAD_TAG
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 12U
    - item_type: preproc_def
      name: OFPBAC_BAD_SET_TYPE
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 13U
    - item_type: preproc_def
      name: OFPBAC_BAD_SET_LEN
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 14U
    - item_type: preproc_def
      name: OFPBAC_BAD_SET_ARGUMENT
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 15U
    - item_type: preproc_def
      name: OFPBIC_UNKNOWN_INST
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPBIC_UNSUP_INST
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPBIC_BAD_TABLE_ID
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPBIC_UNSUP_METADATA
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 3U
    - item_type: preproc_def
      name: OFPBIC_UNSUP_METADATA_MASK
      pos:
        line_end: 409
        line_start: 408
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 4U
    - item_type: preproc_def
      name: OFPBIC_BAD_EXPERIMENTER
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 5U
    - item_type: preproc_def
      name: OFPBIC_BAD_EXP_TYPE
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 6U
    - item_type: preproc_def
      name: OFPBIC_BAD_LEN
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 7U
    - item_type: preproc_def
      name: OFPBIC_EPERM
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 8U
    - item_type: preproc_def
      name: OFPBMC_BAD_TYPE
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPBMC_BAD_LEN
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPBMC_BAD_TAG
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPBMC_BAD_DL_ADDR_MASK
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 3U
    - item_type: preproc_def
      name: OFPBMC_BAD_NW_ADDR_MASK
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 4U
    - item_type: preproc_def
      name: OFPBMC_BAD_WILDCARDS
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 5U
    - item_type: preproc_def
      name: OFPBMC_BAD_FIELD
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 6U
    - item_type: preproc_def
      name: OFPBMC_BAD_VALUE
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 7U
    - item_type: preproc_def
      name: OFPBMC_BAD_MASK
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 8U
    - item_type: preproc_def
      name: OFPBMC_BAD_PREREQ
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 9U
    - item_type: preproc_def
      name: OFPBMC_DUP_FIELD
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 10U
    - item_type: preproc_def
      name: OFPBMC_EPERM
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 11U
    - item_type: preproc_def
      name: OFPFMFC_UNKNOWN
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPFMFC_TABLE_FULL
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPFMFC_BAD_TABLE_ID
      pos:
        line_end: 457
        line_start: 456
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPFMFC_OVERLAP
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 3U
    - item_type: preproc_def
      name: OFPFMFC_EPERM
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 4U
    - item_type: preproc_def
      name: OFPFMFC_BAD_TIMEOUT
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 5U
    - item_type: preproc_def
      name: OFPFMFC_BAD_COMMAND
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 6U
    - item_type: preproc_def
      name: OFPFMFC_BAD_FLAGS
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 7U
    - item_type: preproc_def
      name: OFPGMFC_GROUP_EXISTS
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPGMFC_INVALID_GROUP
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPGMFC_WEIGHT_UNSUPPORTED
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPGMFC_OUT_OF_GROUPS
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 3U
    - item_type: preproc_def
      name: OFPGMFC_OUT_OF_BUCKETS
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 4U
    - item_type: preproc_def
      name: OFPGMFC_CHAINING_UNSUPPORTED
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 5U
    - item_type: preproc_def
      name: OFPGMFC_WATCH_UNSUPPORTED
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 6U
    - item_type: preproc_def
      name: OFPGMFC_LOOP
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 7U
    - item_type: preproc_def
      name: OFPGMFC_UNKNOWN_GROUP
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 8U
    - item_type: preproc_def
      name: OFPGMFC_CHAINED_GROUP
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 9U
    - item_type: preproc_def
      name: OFPGMFC_BAD_TYPE
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 10U
    - item_type: preproc_def
      name: OFPGMFC_BAD_COMMAND
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 11U
    - item_type: preproc_def
      name: OFPGMFC_BAD_BUCKET
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 12U
    - item_type: preproc_def
      name: OFPGMFC_BAD_MATCH
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 13U
    - item_type: preproc_def
      name: OFPGMFC_EPERM
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 14U
    - item_type: preproc_def
      name: OFPPMFC_BAD_PORT
      pos:
        line_end: 509
        line_start: 508
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPPMFC_BAD_HW_ADDR
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPPMFC_BAD_CONFIG
      pos:
        line_end: 511
        line_start: 510
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPPMFC_BAD_ADVERTISE
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 3U
    - item_type: preproc_def
      name: OFPPMFC_EPERM
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 4U
    - item_type: preproc_def
      name: OFPTMFC_BAD_TABLE
      pos:
        line_end: 523
        line_start: 522
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPTMFC_BAD_CONFIG
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPTMFC_EPERM
      pos:
        line_end: 525
        line_start: 524
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPQOFC_BAD_PORT
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPQOFC_BAD_QUEUE
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPQOFC_EPERM
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPSCFC_BAD_FLAGS
      pos:
        line_end: 543
        line_start: 542
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPSCFC_BAD_LEN
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPSCFC_EPERM
      pos:
        line_end: 545
        line_start: 544
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPRRFC_STALE
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPRRFC_UNSUP
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPRRFC_BAD_ROLE
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPMMFC_UNKNOWN
      pos:
        line_end: 563
        line_start: 562
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPMMFC_METER_EXISTS
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPMMFC_INVALID_METER
      pos:
        line_end: 565
        line_start: 564
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPMMFC_UNKNOWN_METER
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 3U
    - item_type: preproc_def
      name: OFPMMFC_BAD_COMMAND
      pos:
        line_end: 567
        line_start: 566
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 4U
    - item_type: preproc_def
      name: OFPMMFC_BAD_FLAGS
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 5U
    - item_type: preproc_def
      name: OFPMMFC_BAD_RATE
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 6U
    - item_type: preproc_def
      name: OFPMMFC_BAD_BURST
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 7U
    - item_type: preproc_def
      name: OFPMMFC_BAD_BAND
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 8U
    - item_type: preproc_def
      name: OFPMMFC_BAD_BAND_VALUE
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 9U
    - item_type: preproc_def
      name: OFPMMFC_OUT_OF_METERS
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 10U
    - item_type: preproc_def
      name: OFPMMFC_OUT_OF_BANDS
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 11U
    - item_type: preproc_def
      name: OFPTFFC_BAD_TABLE
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 0U
    - item_type: preproc_def
      name: OFPTFFC_BAD_METADATA
      pos:
        line_end: 592
        line_start: 591
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 1U
    - item_type: preproc_def
      name: OFPTFFC_BAD_TYPE
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 2U
    - item_type: preproc_def
      name: OFPTFFC_BAD_LEN
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 3U
    - item_type: preproc_def
      name: OFPTFFC_BAD_ARGUMENT
      pos:
        line_end: 595
        line_start: 594
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 4U
    - item_type: preproc_def
      name: OFPTFFC_EPERM
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 5U
    - item_type: preproc_def
      name: OF_ERROR_MSG_MINLEN
      pos:
        line_end: 627
        line_start: 626
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (12U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_FEATURES_REPLY_FIXLEN
      pos:
        line_end: 628
        line_start: 627
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (32U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_PORT_MOD_FIXLEN
      pos:
        line_end: 629
        line_start: 628
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (40U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_SWITCH_CONFIG_MSG_FIXLEN
      pos:
        line_end: 630
        line_start: 629
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (12U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_TABLE_MOD_FIXLEN
      pos:
        line_end: 631
        line_start: 630
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (16U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_QUEUE_GET_CONFIG_REQUEST_FIXLEN
      pos:
        line_end: 632
        line_start: 631
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (16U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_ROLE_MSG_FIXLEN
      pos:
        line_end: 633
        line_start: 632
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (24U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_ASYNC_MSG_FIXLEN
      pos:
        line_end: 634
        line_start: 633
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (32U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_PORT_STATUS_FIXLEN
      pos:
        line_end: 635
        line_start: 634
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (80U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_EXPERIMENTER_MSG_MINLEN
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: (16U - OF_HEADER_FIXLEN)
    - item_type: preproc_def
      name: OF_HELLO_ELEM_MINSIZE
      pos:
        line_end: 639
        line_start: 638
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 4U
    - item_type: preproc_def
      name: OFP_MAX_PORT_NAME_LEN
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/tcpdump/print-openflow-1.3.c
      type_or_value: 16U
    structs: []
    typedefs: []
    union: []
- function_names:
  - nflog_hdr_print
  - nflog_if_print
  source_file: /src/tcpdump/print-nflog.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NFLOG_HDR_LEN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: sizeof(nflog_hdr_t)
    - item_type: preproc_def
      name: NFLOG_TLV_LEN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: sizeof(nflog_tlv_t)
    - item_type: preproc_def
      name: NFULA_PACKET_HDR
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "1\t"
    - item_type: preproc_def
      name: NFULA_MARK
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "2\t"
    - item_type: preproc_def
      name: NFULA_TIMESTAMP
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "3\t"
    - item_type: preproc_def
      name: NFULA_IFINDEX_INDEV
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "4\t"
    - item_type: preproc_def
      name: NFULA_IFINDEX_OUTDEV
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "5\t"
    - item_type: preproc_def
      name: NFULA_IFINDEX_PHYSINDEV
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "6\t"
    - item_type: preproc_def
      name: NFULA_IFINDEX_PHYSOUTDEV
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "7\t"
    - item_type: preproc_def
      name: NFULA_HWADDR
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "8\t"
    - item_type: preproc_def
      name: NFULA_PAYLOAD
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "9\t"
    - item_type: preproc_def
      name: NFULA_PREFIX
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "10\t"
    - item_type: preproc_def
      name: NFULA_UID
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "11\t"
    - item_type: preproc_def
      name: NFULA_SEQ
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "12\t"
    - item_type: preproc_def
      name: NFULA_SEQ_GLOBAL
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "13\t"
    - item_type: preproc_def
      name: NFULA_GID
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "14\t"
    - item_type: preproc_def
      name: NFULA_HWTYPE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "15\t"
    - item_type: preproc_def
      name: NFULA_HWHEADER
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "16\t"
    - item_type: preproc_def
      name: NFULA_HWLEN
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: "17\t"
    - item_type: preproc_def
      name: NFLOG_AF_INET
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: '2'
    - item_type: preproc_def
      name: NFLOG_AF_INET6
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/tcpdump/print-nflog.c
      type_or_value: '10'
    structs:
    - fields:
      - name: nflog_family
        type: nd_uint8_t
      - name: nflog_version
        type: nd_uint8_t
      - name: nflog_rid
        type: nd_uint16_t
      item_type: struct
      name: nflog_hdr
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/tcpdump/print-nflog.c
    - fields:
      - name: tlv_length
        type: nd_uint16_t
      - name: tlv_type
        type: nd_uint16_t
      item_type: struct
      name: nflog_tlv
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/tcpdump/print-nflog.c
    - fields:
      - name: hw_protocol
        type: nd_uint16_t
      - name: hook
        type: nd_uint8_t
      - name: pad[1]
        type: nd_byte
      item_type: struct
      name: nflog_packet_hdr
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/tcpdump/print-nflog.c
    - fields:
      - name: hw_addrlen
        type: nd_uint16_t
      - name: pad[2]
        type: nd_byte
      - name: hw_addr[8]
        type: nd_byte
      item_type: struct
      name: nflog_hwaddr
      pos:
        line_end: 76
        line_start: 72
        source_file: /src/tcpdump/print-nflog.c
    - fields:
      - name: sec
        type: nd_uint64_t
      - name: usec
        type: nd_uint64_t
      item_type: struct
      name: nflog_timestamp
      pos:
        line_end: 81
        line_start: 78
        source_file: /src/tcpdump/print-nflog.c
    typedefs: []
    union: []
- function_names:
  - addrtostr
  - addrtostr6
  - APPEND_CHAR
  source_file: /src/tcpdump/addrtostr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IN6ADDRSZ
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/tcpdump/addrtostr.c
      type_or_value: '16   '
    - item_type: preproc_def
      name: INT16SZ
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/tcpdump/addrtostr.c
      type_or_value: '2    '
    structs:
    - fields:
      - name: base
        type: int
      - name: len
        type: int
      item_type: struct
      name: best
      pos:
        line_end: 112
        line_start: 109
        source_file: /src/tcpdump/addrtostr.c
    typedefs: []
    union: []
- function_names:
  - sunrpc_print
  - progstr
  source_file: /src/tcpdump/print-sunrpc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SUNRPC_PMAPPORT
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-sunrpc.c
      type_or_value: ((uint16_t)111)
    - item_type: preproc_def
      name: SUNRPC_PMAPPROC_NULL
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/tcpdump/print-sunrpc.c
      type_or_value: ((uint32_t)0)
    - item_type: preproc_def
      name: SUNRPC_PMAPPROC_SET
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/tcpdump/print-sunrpc.c
      type_or_value: ((uint32_t)1)
    - item_type: preproc_def
      name: SUNRPC_PMAPPROC_UNSET
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/tcpdump/print-sunrpc.c
      type_or_value: ((uint32_t)2)
    - item_type: preproc_def
      name: SUNRPC_PMAPPROC_GETPORT
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/tcpdump/print-sunrpc.c
      type_or_value: ((uint32_t)3)
    - item_type: preproc_def
      name: SUNRPC_PMAPPROC_DUMP
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/tcpdump/print-sunrpc.c
      type_or_value: ((uint32_t)4)
    - item_type: preproc_def
      name: SUNRPC_PMAPPROC_CALLIT
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/tcpdump/print-sunrpc.c
      type_or_value: ((uint32_t)5)
    structs: []
    typedefs: []
    union: []
- function_names:
  - nd_add_alloc_list
  - nd_malloc
  - nd_free_all
  source_file: /src/tcpdump/netdissect-alloc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - chdlc_if_print
  - chdlc_print
  - chdlc_slarp_print
  source_file: /src/tcpdump/print-chdlc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SLARP_REQUEST
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/tcpdump/print-chdlc.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SLARP_REPLY
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/tcpdump/print-chdlc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SLARP_KEEPALIVE
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/tcpdump/print-chdlc.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SLARP_MIN_LEN
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/tcpdump/print-chdlc.c
      type_or_value: '14'
    - item_type: preproc_def
      name: SLARP_MAX_LEN
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/tcpdump/print-chdlc.c
      type_or_value: '18'
    structs:
    - fields:
      - name: code
        type: nd_uint32_t
      - name: un
        type: "union {\n\t\tstruct {\n\t\t\tuint8_t addr[4];\n\t\t\tuint8_t mask[4];\n\t\t}
          addr;\n\t\tstruct {\n\t\t\tnd_uint32_t myseq;\n\t\t\tnd_uint32_t yourseq;\n\t\t\tnd_uint16_t
          rel;\n\t\t} keep;\n\t}"
      item_type: struct
      name: cisco_slarp
      pos:
        line_end: 128
        line_start: 112
        source_file: /src/tcpdump/print-chdlc.c
    typedefs: []
    union: []
- function_names:
  - macsec_print_header
  - macsec_print
  source_file: /src/tcpdump/print-macsec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MACSEC_DEFAULT_ICV_LEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/tcpdump/print-macsec.c
      type_or_value: '16'
    - item_type: preproc_def
      name: MACSEC_TCI_VERSION
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/tcpdump/print-macsec.c
      type_or_value: '0x80'
    - item_type: preproc_def
      name: MACSEC_TCI_ES
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/print-macsec.c
      type_or_value: '0x40 '
    - item_type: preproc_def
      name: MACSEC_TCI_SC
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/tcpdump/print-macsec.c
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: MACSEC_TCI_SCB
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/print-macsec.c
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: MACSEC_TCI_E
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/print-macsec.c
      type_or_value: '0x08 '
    - item_type: preproc_def
      name: MACSEC_TCI_C
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/print-macsec.c
      type_or_value: '0x04 '
    - item_type: preproc_def
      name: MACSEC_AN_MASK
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/tcpdump/print-macsec.c
      type_or_value: '0x03 '
    - item_type: preproc_def
      name: MACSEC_TCI_FLAGS
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/tcpdump/print-macsec.c
      type_or_value: (MACSEC_TCI_ES | MACSEC_TCI_SC | MACSEC_TCI_SCB | MACSEC_TCI_E
        | MACSEC_TCI_C)
    - item_type: preproc_def
      name: MACSEC_TCI_CONFID
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/print-macsec.c
      type_or_value: (MACSEC_TCI_E | MACSEC_TCI_C)
    - item_type: preproc_def
      name: MACSEC_SL_MASK
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/print-macsec.c
      type_or_value: '0x3F '
    - item_type: preproc_def
      name: MACSEC_SECTAG_LEN_NOSCI
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/tcpdump/print-macsec.c
      type_or_value: '6  '
    - item_type: preproc_def
      name: MACSEC_SECTAG_LEN_SCI
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/print-macsec.c
      type_or_value: '14 '
    - item_type: preproc_def
      name: SCI_FMT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/tcpdump/print-macsec.c
      type_or_value: '"%016" PRIx64'
    structs:
    - fields:
      - name: tci_an
        type: nd_uint8_t
      - name: short_length
        type: nd_uint8_t
      - name: packet_number
        type: nd_uint32_t
      - name: secure_channel_id[8]
        type: nd_uint8_t
      item_type: struct
      name: macsec_sectag
      pos:
        line_end: 58
        line_start: 53
        source_file: /src/tcpdump/print-macsec.c
    typedefs: []
    union: []
- function_names:
  - fn_print_char
  - fn_print_str
  - nd_printztn
  - nd_printn
  - nd_printjn
  - nd_printjnp
  - ts_frac_print
  - ts_date_hmsfrac_print
  - ts_unix_print
  - ts_print
  - unsigned_relts_print
  - signed_relts_print
  - nd_format_time
  - nd_print_trunc
  - nd_print_protocol
  - nd_print_protocol_caps
  - nd_print_invalid
  - nd_print_bytes_hex
  - print_unknown_data
  - tok2strbuf
  - tok2str
  - bittok2str_internal
  - bittok2str_nosep
  - bittok2str
  - tok2strary_internal
  - uint2tokary_internal
  - mask2plen
  - mask62plen
  - fetch_token
  - print_txt_line
  - txtproto_print
  - unaligned_memcpy
  - unaligned_memcmp
  source_file: /src/tcpdump/util-print.c
  types:
    enum:
    - enumerators:
      - name: WITHOUT_DATE
        value: '0'
      - name: WITH_DATE
        value: '1'
      item_type: enum
      name: date_flag
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/tcpdump/util-print.c
    - enumerators:
      - name: UTC_TIME
        value: '0'
      - name: LOCAL_TIME
        value: '1'
      item_type: enum
      name: time_flag
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/tcpdump/util-print.c
    preproc_defs:
    - item_type: preproc_def
      name: TOKBUFSIZE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/tcpdump/util-print.c
      type_or_value: '128'
    - item_type: preproc_def
      name: MAX_TOKEN
      pos:
        line_end: 715
        line_start: 714
        source_file: /src/tcpdump/util-print.c
      type_or_value: '128'
    structs: []
    typedefs: []
    union: []
- function_names:
  - llc_print
  - oui_to_struct_tok
  - snap_print
  source_file: /src/tcpdump/print-llc.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: oui
        type: uint32_t
      - name: '*tok'
        type: struct tok
      item_type: struct
      name: oui_tok
      pos:
        line_end: 127
        line_start: 124
        source_file: /src/tcpdump/print-llc.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/mib.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dev_eq
  - fsid_eq
  source_file: /src/tcpdump/nfsfh.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: Minor
        type: uint32_t
      - name: Major
        type: uint32_t
      item_type: struct
      name: my_devt
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/tcpdump/nfsfh.h
    - fields:
      - name: Fsid_dev
        type: my_devt
      - name: Opaque_Handle[2 * 32 + 1]
        type: char
      - name: fsid_code
        type: uint32_t
      item_type: struct
      name: my_fsid
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/tcpdump/nfsfh.h
    typedefs: []
    union: []
- function_names:
  - CHECK_BIT
  - FC_FRAME_TYPE
  - FC_FRAME_VERSION
  - ieee802_15_4_crc16
  - ieee802_15_4_reverse32
  - ieee802_15_4_crc32
  - ieee802_15_4_addr_len
  - ieee802_15_4_print_addr
  - ieee802_15_4_print_superframe_specification
  - ieee802_15_4_print_gts_info
  - ieee802_15_4_print_pending_addresses
  - ieee802_15_4_print_header_ie
  - ieee802_15_4_print_header_ie_list
  - ieee802_15_4_print_mlme_ie
  - ieee802_15_4_print_mlme_ie_list
  - ieee802_15_4_print_mpx_ie
  - ieee802_15_4_print_payload_ie_list
  - ieee802_15_4_print_aux_sec_header
  - ieee802_15_4_print_command_data
  - ieee802_15_4_std_frames
  - ieee802_15_4_mp_frame
  - ieee802_15_4_print
  - ieee802_15_4_if_print
  - ieee802_15_4_tap_if_print
  source_file: /src/tcpdump/print-802_15_4.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BROKEN_6TISCH_PAN_ID_COMPRESSION
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/tcpdump/print-802_15_4.c
      type_or_value: '0'
    - item_type: preproc_def
      name: FC_ADDRESSING_MODE_NONE
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/tcpdump/print-802_15_4.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: FC_ADDRESSING_MODE_RESERVED
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/tcpdump/print-802_15_4.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: FC_ADDRESSING_MODE_SHORT
      pos:
        line_end: 415
        line_start: 414
        source_file: /src/tcpdump/print-802_15_4.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: FC_ADDRESSING_MODE_LONG
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/tcpdump/print-802_15_4.c
      type_or_value: '0x03'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mobile_print
  source_file: /src/tcpdump/print-mobile.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MOBILE_SIZE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/tcpdump/print-mobile.c
      type_or_value: (8)
    - item_type: preproc_def
      name: OSRC_PRES
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/tcpdump/print-mobile.c
      type_or_value: "0x0080\t"
    structs:
    - fields:
      - name: proto
        type: nd_uint16_t
      - name: hcheck
        type: nd_uint16_t
      - name: odst
        type: nd_uint32_t
      - name: osrc
        type: nd_uint32_t
      item_type: struct
      name: mobile_ip
      pos:
        line_end: 56
        line_start: 51
        source_file: /src/tcpdump/print-mobile.c
    typedefs: []
    union: []
- function_names:
  - strlcpy
  source_file: /src/tcpdump/missing/strlcpy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - etc_path
  - setservent
  - endservent
  - getservent
  source_file: /src/tcpdump/missing/getservent.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strsep
  source_file: /src/tcpdump/missing/strsep.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/tcpdump/missing/getopt_long.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: no_argument
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/tcpdump/missing/getopt_long.h
      type_or_value: '0'
    - item_type: preproc_def
      name: required_argument
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/tcpdump/missing/getopt_long.h
      type_or_value: '1'
    - item_type: preproc_def
      name: optional_argument
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/tcpdump/missing/getopt_long.h
      type_or_value: '2'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: has_arg
        type: int
      - name: '*flag'
        type: int
      - name: val
        type: int
      item_type: struct
      name: option
      pos:
        line_end: 55
        line_start: 43
        source_file: /src/tcpdump/missing/getopt_long.h
    typedefs: []
    union: []
- function_names:
  - strlcat
  source_file: /src/tcpdump/missing/strlcat.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - gcd
  - permute_args
  - warnx
  - parse_long_options
  - getopt
  - getopt_long
  - getopt_long_only
  source_file: /src/tcpdump/missing/getopt_long.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRINT_ERROR
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/tcpdump/missing/getopt_long.c
      type_or_value: ((opterr) && (*options != ':'))
    - item_type: preproc_def
      name: FLAG_PERMUTE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/tcpdump/missing/getopt_long.c
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: FLAG_ALLARGS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/tcpdump/missing/getopt_long.c
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: FLAG_LONGONLY
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/tcpdump/missing/getopt_long.c
      type_or_value: "0x04\t"
    - item_type: preproc_def
      name: BADCH
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/tcpdump/missing/getopt_long.c
      type_or_value: (int)'?'
    - item_type: preproc_def
      name: BADARG
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/tcpdump/missing/getopt_long.c
      type_or_value: '((*options == '':'') ? (int)'':'' : (int)''?'')'
    - item_type: preproc_def
      name: INORDER
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/tcpdump/missing/getopt_long.c
      type_or_value: (int)1
    - item_type: preproc_def
      name: EMSG
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/tcpdump/missing/getopt_long.c
      type_or_value: '""'
    - item_type: preproc_def
      name: NO_PREFIX
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/tcpdump/missing/getopt_long.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: D_PREFIX
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/tcpdump/missing/getopt_long.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DD_PREFIX
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/tcpdump/missing/getopt_long.c
      type_or_value: '1'
    - item_type: preproc_def
      name: W_PREFIX
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/tcpdump/missing/getopt_long.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::internal::RSAPrivateKeyDataView::getVersion
  - pcpp::internal::RSAPrivateKeyDataView::getModulus
  - pcpp::internal::RSAPrivateKeyDataView::getPublicExponent
  - pcpp::internal::RSAPrivateKeyDataView::getPrivateExponent
  - pcpp::internal::RSAPrivateKeyDataView::getPrime1
  - pcpp::internal::RSAPrivateKeyDataView::getPrime2
  - pcpp::internal::RSAPrivateKeyDataView::getExponent1
  - pcpp::internal::RSAPrivateKeyDataView::getExponent2
  - pcpp::internal::RSAPrivateKeyDataView::getCoefficient
  - pcpp::internal::ECPrivateKeyDataView::ECPrivateKeyDataView
  - pcpp::internal::ECPrivateKeyDataView::getVersion
  - pcpp::internal::ECPrivateKeyDataView::getPrivateKey
  - pcpp::internal::ECPrivateKeyDataView::getParameters
  - pcpp::internal::ECPrivateKeyDataView::getPublicKey
  - pcpp::internal::RSAPrivateKeyDataView::getVersion
  - pcpp::internal::RSAPrivateKeyDataView::getModulus
  - pcpp::internal::RSAPrivateKeyDataView::getPublicExponent
  - pcpp::internal::RSAPrivateKeyDataView::getPrivateExponent
  - pcpp::internal::RSAPrivateKeyDataView::getPrime1
  - pcpp::internal::RSAPrivateKeyDataView::getPrime2
  - pcpp::internal::RSAPrivateKeyDataView::getExponent1
  - pcpp::internal::RSAPrivateKeyDataView::getExponent2
  - pcpp::internal::RSAPrivateKeyDataView::getCoefficient
  - pcpp::internal::ECPrivateKeyDataView::ECPrivateKeyDataView
  - pcpp::internal::ECPrivateKeyDataView::getVersion
  - pcpp::internal::ECPrivateKeyDataView::getPrivateKey
  - pcpp::internal::ECPrivateKeyDataView::getParameters
  - pcpp::internal::ECPrivateKeyDataView::getPublicKey
  - pcpp::RSAPublicKey::getModulus
  - pcpp::RSAPublicKey::getPublicExponent
  - pcpp::CryptographicKeyAlgorithm::toString
  - pcpp::CryptographicKeyAlgorithm::getOidValue
  - pcpp::CryptographicKeyAlgorithm::fromOidValue
  - pcpp::PKCS8PrivateKey::getVersion
  - pcpp::PKCS8PrivateKey::getPrivateKeyAlgorithm
  - pcpp::PKCS8PrivateKey::getPrivateKey
  - PKCS8PrivateKey::PrivateKeyData::PrivateKeyData(const std::string& rawData)
  - PKCS8PrivateKey::RSAPrivateKeyData::RSAPrivateKeyData(const std::string& rawData)
  - PKCS8PrivateKey::ECPrivateKeyData::ECPrivateKeyData(const std::string& rawData)
  - PKCS8PrivateKey::Ed25519PrivateKeyData::Ed25519PrivateKeyData(const std::string&
    rawData)
  - PKCS8PrivateKey::Ed25519PrivateKeyData::getPrivateKey() const
  - pcpp::SubjectPublicKeyInfo::getAlgorithm
  - pcpp::SubjectPublicKeyInfo::getSubjectPublicKey
  - pcpp::internal::RSAPrivateKeyDataView::getVersion
  - pcpp::internal::RSAPrivateKeyDataView::getModulus
  - pcpp::internal::RSAPrivateKeyDataView::getPublicExponent
  - pcpp::internal::RSAPrivateKeyDataView::getPrivateExponent
  - pcpp::internal::RSAPrivateKeyDataView::getPrime1
  - pcpp::internal::RSAPrivateKeyDataView::getPrime2
  - pcpp::internal::RSAPrivateKeyDataView::getExponent1
  - pcpp::internal::RSAPrivateKeyDataView::getExponent2
  - pcpp::internal::RSAPrivateKeyDataView::getCoefficient
  - pcpp::internal::ECPrivateKeyDataView::ECPrivateKeyDataView
  - pcpp::internal::ECPrivateKeyDataView::getVersion
  - pcpp::internal::ECPrivateKeyDataView::getPrivateKey
  - pcpp::internal::ECPrivateKeyDataView::getParameters
  - pcpp::internal::ECPrivateKeyDataView::getPublicKey
  - pcpp::internal::RSAPrivateKeyDataView::getVersion
  - pcpp::internal::RSAPrivateKeyDataView::getModulus
  - pcpp::internal::RSAPrivateKeyDataView::getPublicExponent
  - pcpp::internal::RSAPrivateKeyDataView::getPrivateExponent
  - pcpp::internal::RSAPrivateKeyDataView::getPrime1
  - pcpp::internal::RSAPrivateKeyDataView::getPrime2
  - pcpp::internal::RSAPrivateKeyDataView::getExponent1
  - pcpp::internal::RSAPrivateKeyDataView::getExponent2
  - pcpp::internal::RSAPrivateKeyDataView::getCoefficient
  - pcpp::internal::ECPrivateKeyDataView::ECPrivateKeyDataView
  - pcpp::internal::ECPrivateKeyDataView::getVersion
  - pcpp::internal::ECPrivateKeyDataView::getPrivateKey
  - pcpp::internal::ECPrivateKeyDataView::getParameters
  - pcpp::internal::ECPrivateKeyDataView::getPublicKey
  - pcpp::RSAPublicKey::getModulus
  - pcpp::RSAPublicKey::getPublicExponent
  - pcpp::CryptographicKeyAlgorithm::toString
  - pcpp::CryptographicKeyAlgorithm::getOidValue
  - pcpp::CryptographicKeyAlgorithm::fromOidValue
  - pcpp::PKCS8PrivateKey::getVersion
  - pcpp::PKCS8PrivateKey::getPrivateKeyAlgorithm
  - pcpp::PKCS8PrivateKey::getPrivateKey
  - PKCS8PrivateKey::PrivateKeyData::PrivateKeyData(const std::string& rawData)
  - PKCS8PrivateKey::RSAPrivateKeyData::RSAPrivateKeyData(const std::string& rawData)
  - PKCS8PrivateKey::ECPrivateKeyData::ECPrivateKeyData(const std::string& rawData)
  - PKCS8PrivateKey::Ed25519PrivateKeyData::Ed25519PrivateKeyData(const std::string&
    rawData)
  - PKCS8PrivateKey::Ed25519PrivateKeyData::getPrivateKey() const
  - pcpp::SubjectPublicKeyInfo::getAlgorithm
  - pcpp::SubjectPublicKeyInfo::getSubjectPublicKey
  source_file: /src/PcapPlusPlus/Packet++/src/CryptoKeyDecoder.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::UdpLayer::UdpLayer
  - pcpp::UdpLayer::getSrcPort
  - pcpp::UdpLayer::getDstPort
  - pcpp::UdpLayer::calculateChecksum
  - pcpp::UdpLayer::parseNextLayer
  - pcpp::UdpLayer::computeCalculateFields
  - pcpp::UdpLayer::toString
  - pcpp::UdpLayer::UdpLayer
  - pcpp::UdpLayer::getSrcPort
  - pcpp::UdpLayer::getDstPort
  - pcpp::UdpLayer::calculateChecksum
  - pcpp::UdpLayer::parseNextLayer
  - pcpp::UdpLayer::computeCalculateFields
  - pcpp::UdpLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/UdpLayer.cpp
      type_or_value: PacketLogModuleUdpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - SEQ_LT
  - SEQ_LEQ
  - SEQ_GT
  - SEQ_GEQ
  - pcpp::timePointToTimeval
  - pcpp::timespecToTimePoint
  - pcpp::ConnectionData::setStartTime
  - pcpp::ConnectionData::setEndTime
  - pcpp::TcpStreamData::getTimeStamp
  - pcpp::TcpReassembly::TcpReassembly
  - pcpp::TcpReassembly::reassemblePacket
  - pcpp::TcpReassembly::reassemblePacket
  - pcpp::prepareMissingDataMessage
  - pcpp::TcpReassembly::handleFinOrRst
  - pcpp::TcpReassembly::checkOutOfOrderFragments
  - pcpp::TcpReassembly::closeConnection
  - pcpp::TcpReassembly::closeConnectionInternal
  - pcpp::TcpReassembly::closeAllConnections
  - pcpp::TcpReassembly::isConnectionOpen
  - pcpp::TcpReassembly::scheduleCleanup
  - pcpp::TcpReassembly::purgeClosedConnections
  - pcpp::timePointToTimeval
  - pcpp::timespecToTimePoint
  - pcpp::ConnectionData::setStartTime
  - pcpp::ConnectionData::setEndTime
  - pcpp::TcpStreamData::getTimeStamp
  - pcpp::TcpReassembly::TcpReassembly
  - pcpp::TcpReassembly::reassemblePacket
  - pcpp::TcpReassembly::reassemblePacket
  - pcpp::prepareMissingDataMessage
  - pcpp::TcpReassembly::handleFinOrRst
  - pcpp::TcpReassembly::checkOutOfOrderFragments
  - pcpp::TcpReassembly::closeConnection
  - pcpp::TcpReassembly::closeConnectionInternal
  - pcpp::TcpReassembly::closeAllConnections
  - pcpp::TcpReassembly::isConnectionOpen
  - pcpp::TcpReassembly::scheduleCleanup
  - pcpp::TcpReassembly::purgeClosedConnections
  source_file: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/TcpReassembly.cpp
      type_or_value: PacketLogModuleTcpReassembly
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::IPReassemblyHashPacket
  - pcpp::IPReassemblyHashBy3Tuple
  - ~IPFragmentWrapper()
  - pcpp::IPFragmentWrapper::IPFragmentWrapper
  - pcpp::IPv4FragmentWrapper::IPv4FragmentWrapper
  - pcpp::IPv4FragmentWrapper::isFragment
  - pcpp::IPv4FragmentWrapper::isFirstFragment
  - pcpp::IPv4FragmentWrapper::isLastFragment
  - pcpp::IPv4FragmentWrapper::getFragmentOffset
  - pcpp::IPv4FragmentWrapper::getFragmentId
  - pcpp::IPv4FragmentWrapper::hashPacket
  - pcpp::IPv4FragmentWrapper::createPacketKey
  - pcpp::IPv4FragmentWrapper::getIPLayerPayload
  - pcpp::IPv4FragmentWrapper::getIPLayerPayloadSize
  - pcpp::IPv4FragmentWrapper::getIPLayerDataLen
  - pcpp::IPv6FragmentWrapper::IPv6FragmentWrapper
  - pcpp::IPv6FragmentWrapper::isFragment
  - pcpp::IPv6FragmentWrapper::isFirstFragment
  - pcpp::IPv6FragmentWrapper::isLastFragment
  - pcpp::IPv6FragmentWrapper::getFragmentOffset
  - pcpp::IPv6FragmentWrapper::getFragmentId
  - pcpp::IPv6FragmentWrapper::hashPacket
  - pcpp::IPv6FragmentWrapper::createPacketKey
  - pcpp::IPv6FragmentWrapper::getIPLayerPayload
  - pcpp::IPv6FragmentWrapper::getIPLayerPayloadSize
  - pcpp::IPv6FragmentWrapper::getIPLayerDataLen
  - IPReassembly::IPv4PacketKey::getHashValue() const
  - IPReassembly::IPv6PacketKey::getHashValue() const
  - IPReassembly::~IPReassembly()
  - pcpp::IPReassembly::processPacket
  - pcpp::IPReassembly::processPacket
  - pcpp::IPReassembly::getCurrentPacket
  - pcpp::IPReassembly::removePacket
  - pcpp::IPReassembly::addNewFragment
  - pcpp::IPReassembly::matchOutOfOrderFragments
  - pcpp::IPReassemblyHashPacket
  - pcpp::IPReassemblyHashBy3Tuple
  - ~IPFragmentWrapper()
  - pcpp::IPFragmentWrapper::IPFragmentWrapper
  - pcpp::IPv4FragmentWrapper::IPv4FragmentWrapper
  - pcpp::IPv4FragmentWrapper::isFragment
  - pcpp::IPv4FragmentWrapper::isFirstFragment
  - pcpp::IPv4FragmentWrapper::isLastFragment
  - pcpp::IPv4FragmentWrapper::getFragmentOffset
  - pcpp::IPv4FragmentWrapper::getFragmentId
  - pcpp::IPv4FragmentWrapper::hashPacket
  - pcpp::IPv4FragmentWrapper::createPacketKey
  - pcpp::IPv4FragmentWrapper::getIPLayerPayload
  - pcpp::IPv4FragmentWrapper::getIPLayerPayloadSize
  - pcpp::IPv4FragmentWrapper::getIPLayerDataLen
  - pcpp::IPv6FragmentWrapper::IPv6FragmentWrapper
  - pcpp::IPv6FragmentWrapper::isFragment
  - pcpp::IPv6FragmentWrapper::isFirstFragment
  - pcpp::IPv6FragmentWrapper::isLastFragment
  - pcpp::IPv6FragmentWrapper::getFragmentOffset
  - pcpp::IPv6FragmentWrapper::getFragmentId
  - pcpp::IPv6FragmentWrapper::hashPacket
  - pcpp::IPv6FragmentWrapper::createPacketKey
  - pcpp::IPv6FragmentWrapper::getIPLayerPayload
  - pcpp::IPv6FragmentWrapper::getIPLayerPayloadSize
  - pcpp::IPv6FragmentWrapper::getIPLayerDataLen
  - IPReassembly::IPv4PacketKey::getHashValue() const
  - IPReassembly::IPv6PacketKey::getHashValue() const
  - IPReassembly::~IPReassembly()
  - pcpp::IPReassembly::processPacket
  - pcpp::IPReassembly::processPacket
  - pcpp::IPReassembly::getCurrentPacket
  - pcpp::IPReassembly::removePacket
  - pcpp::IPReassembly::addNewFragment
  - pcpp::IPReassembly::matchOutOfOrderFragments
  source_file: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/IPReassembly.cpp
      type_or_value: PacketLogModuleIPReassembly
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::tbp_my_own_strnlen
  - pcpp::TextBasedProtocolMessage::TextBasedProtocolMessage
  - pcpp::TextBasedProtocolMessage::TextBasedProtocolMessage
  - '& TextBasedProtocolMessage::operator=(const TextBasedProtocolMessage& other)'
  - pcpp::TextBasedProtocolMessage::copyDataFrom
  - pcpp::TextBasedProtocolMessage::parseFields
  - TextBasedProtocolMessage::~TextBasedProtocolMessage()
  - pcpp::TextBasedProtocolMessage::addField
  - pcpp::TextBasedProtocolMessage::addField
  - pcpp::TextBasedProtocolMessage::addEndOfHeader
  - pcpp::TextBasedProtocolMessage::insertField
  - pcpp::TextBasedProtocolMessage::insertField
  - pcpp::TextBasedProtocolMessage::insertField
  - pcpp::TextBasedProtocolMessage::removeField
  - pcpp::TextBasedProtocolMessage::removeField
  - pcpp::TextBasedProtocolMessage::isHeaderComplete
  - pcpp::TextBasedProtocolMessage::setFieldsOffset
  - pcpp::TextBasedProtocolMessage::shiftFieldsOffset
  - pcpp::TextBasedProtocolMessage::shiftFieldsOffset
  - pcpp::TextBasedProtocolMessage::validateFieldsOffset
  - pcpp::TextBasedProtocolMessage::getFieldByName
  - pcpp::TextBasedProtocolMessage::getFieldCount
  - pcpp::TextBasedProtocolMessage::parseNextLayer
  - pcpp::TextBasedProtocolMessage::getHeaderLen
  - pcpp::TextBasedProtocolMessage::computeCalculateFields
  - pcpp::HeaderField::HeaderField
  - pcpp::HeaderField::HeaderField
  - pcpp::HeaderField::initNewField
  - HeaderField::~HeaderField()
  - pcpp::HeaderField::HeaderField
  - '& HeaderField::operator=(const HeaderField& other)'
  - pcpp::HeaderField::getData
  - pcpp::HeaderField::setNextField
  - pcpp::HeaderField::getNextField
  - pcpp::HeaderField::getFieldName
  - pcpp::HeaderField::getFieldValue
  - pcpp::HeaderField::setFieldValue
  - pcpp::HeaderField::attachToTextBasedProtocolMessage
  - pcpp::tbp_my_own_strnlen
  - pcpp::TextBasedProtocolMessage::TextBasedProtocolMessage
  - pcpp::TextBasedProtocolMessage::TextBasedProtocolMessage
  - '& TextBasedProtocolMessage::operator=(const TextBasedProtocolMessage& other)'
  - pcpp::TextBasedProtocolMessage::copyDataFrom
  - pcpp::TextBasedProtocolMessage::parseFields
  - TextBasedProtocolMessage::~TextBasedProtocolMessage()
  - pcpp::TextBasedProtocolMessage::addField
  - pcpp::TextBasedProtocolMessage::addField
  - pcpp::TextBasedProtocolMessage::addEndOfHeader
  - pcpp::TextBasedProtocolMessage::insertField
  - pcpp::TextBasedProtocolMessage::insertField
  - pcpp::TextBasedProtocolMessage::insertField
  - pcpp::TextBasedProtocolMessage::removeField
  - pcpp::TextBasedProtocolMessage::removeField
  - pcpp::TextBasedProtocolMessage::isHeaderComplete
  - pcpp::TextBasedProtocolMessage::setFieldsOffset
  - pcpp::TextBasedProtocolMessage::shiftFieldsOffset
  - pcpp::TextBasedProtocolMessage::shiftFieldsOffset
  - pcpp::TextBasedProtocolMessage::validateFieldsOffset
  - pcpp::TextBasedProtocolMessage::getFieldByName
  - pcpp::TextBasedProtocolMessage::getFieldCount
  - pcpp::TextBasedProtocolMessage::parseNextLayer
  - pcpp::TextBasedProtocolMessage::getHeaderLen
  - pcpp::TextBasedProtocolMessage::computeCalculateFields
  - pcpp::HeaderField::HeaderField
  - pcpp::HeaderField::HeaderField
  - pcpp::HeaderField::initNewField
  - HeaderField::~HeaderField()
  - pcpp::HeaderField::HeaderField
  - '& HeaderField::operator=(const HeaderField& other)'
  - pcpp::HeaderField::getData
  - pcpp::HeaderField::setNextField
  - pcpp::HeaderField::getNextField
  - pcpp::HeaderField::getFieldName
  - pcpp::HeaderField::getFieldValue
  - pcpp::HeaderField::setFieldValue
  - pcpp::HeaderField::attachToTextBasedProtocolMessage
  source_file: /src/PcapPlusPlus/Packet++/src/TextBasedProtocol.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::WireGuardLayer::parseWireGuardLayer
  - pcpp::WireGuardLayer::getMessageTypeAsString
  - pcpp::WireGuardLayer::toString
  - pcpp::WireGuardLayer::getHeaderLen
  - pcpp::WireGuardLayer::getMessageType
  - pcpp::WireGuardLayer::getReserved
  - pcpp::WireGuardLayer::setReserved
  - pcpp::WireGuardLayer::isDataValid
  - pcpp::WireGuardHandshakeInitiationLayer::WireGuardHandshakeInitiationLayer
  - pcpp::WireGuardHandshakeInitiationLayer::getSenderIndex
  - pcpp::WireGuardHandshakeInitiationLayer::getInitiatorEphemeral
  - pcpp::WireGuardHandshakeInitiationLayer::getEncryptedInitiatorStatic
  - pcpp::WireGuardHandshakeInitiationLayer::getEncryptedTimestamp
  - pcpp::WireGuardHandshakeInitiationLayer::getMac1
  - pcpp::WireGuardHandshakeInitiationLayer::getMac2
  - pcpp::WireGuardHandshakeInitiationLayer::setSenderIndex
  - pcpp::WireGuardHandshakeInitiationLayer::setInitiatorEphemeral
  - pcpp::WireGuardHandshakeInitiationLayer::setEncryptedInitiatorStatic
  - pcpp::WireGuardHandshakeInitiationLayer::setEncryptedTimestamp
  - pcpp::WireGuardHandshakeInitiationLayer::setMac1
  - pcpp::WireGuardHandshakeInitiationLayer::setMac2
  - pcpp::WireGuardHandshakeResponseLayer::WireGuardHandshakeResponseLayer
  - pcpp::WireGuardHandshakeResponseLayer::getSenderIndex
  - pcpp::WireGuardHandshakeResponseLayer::getReceiverIndex
  - pcpp::WireGuardHandshakeResponseLayer::getResponderEphemeral
  - pcpp::WireGuardHandshakeResponseLayer::getEncryptedEmpty
  - pcpp::WireGuardHandshakeResponseLayer::getMac1
  - pcpp::WireGuardHandshakeResponseLayer::getMac2
  - pcpp::WireGuardHandshakeResponseLayer::setSenderIndex
  - pcpp::WireGuardHandshakeResponseLayer::setReceiverIndex
  - pcpp::WireGuardHandshakeResponseLayer::setResponderEphemeral
  - pcpp::WireGuardHandshakeResponseLayer::setEncryptedEmpty
  - pcpp::WireGuardHandshakeResponseLayer::setMac1
  - pcpp::WireGuardHandshakeResponseLayer::setMac2
  - pcpp::WireGuardCookieReplyLayer::WireGuardCookieReplyLayer
  - pcpp::WireGuardCookieReplyLayer::getReceiverIndex
  - pcpp::WireGuardCookieReplyLayer::getNonce
  - pcpp::WireGuardCookieReplyLayer::getEncryptedCookie
  - pcpp::WireGuardCookieReplyLayer::setReceiverIndex
  - pcpp::WireGuardCookieReplyLayer::setNonce
  - pcpp::WireGuardCookieReplyLayer::setEncryptedCookie
  - pcpp::WireGuardTransportDataLayer::WireGuardTransportDataLayer
  - pcpp::WireGuardTransportDataLayer::getReceiverIndex
  - pcpp::WireGuardTransportDataLayer::getCounter
  - pcpp::WireGuardTransportDataLayer::getEncryptedData
  - pcpp::WireGuardTransportDataLayer::setReceiverIndex
  - pcpp::WireGuardTransportDataLayer::setCounter
  - pcpp::WireGuardTransportDataLayer::setEncryptedData
  - pcpp::WireGuardLayer::parseWireGuardLayer
  - pcpp::WireGuardLayer::getMessageTypeAsString
  - pcpp::WireGuardLayer::toString
  - pcpp::WireGuardLayer::getHeaderLen
  - pcpp::WireGuardLayer::getMessageType
  - pcpp::WireGuardLayer::getReserved
  - pcpp::WireGuardLayer::setReserved
  - pcpp::WireGuardLayer::isDataValid
  - pcpp::WireGuardHandshakeInitiationLayer::WireGuardHandshakeInitiationLayer
  - pcpp::WireGuardHandshakeInitiationLayer::getSenderIndex
  - pcpp::WireGuardHandshakeInitiationLayer::getInitiatorEphemeral
  - pcpp::WireGuardHandshakeInitiationLayer::getEncryptedInitiatorStatic
  - pcpp::WireGuardHandshakeInitiationLayer::getEncryptedTimestamp
  - pcpp::WireGuardHandshakeInitiationLayer::getMac1
  - pcpp::WireGuardHandshakeInitiationLayer::getMac2
  - pcpp::WireGuardHandshakeInitiationLayer::setSenderIndex
  - pcpp::WireGuardHandshakeInitiationLayer::setInitiatorEphemeral
  - pcpp::WireGuardHandshakeInitiationLayer::setEncryptedInitiatorStatic
  - pcpp::WireGuardHandshakeInitiationLayer::setEncryptedTimestamp
  - pcpp::WireGuardHandshakeInitiationLayer::setMac1
  - pcpp::WireGuardHandshakeInitiationLayer::setMac2
  - pcpp::WireGuardHandshakeResponseLayer::WireGuardHandshakeResponseLayer
  - pcpp::WireGuardHandshakeResponseLayer::getSenderIndex
  - pcpp::WireGuardHandshakeResponseLayer::getReceiverIndex
  - pcpp::WireGuardHandshakeResponseLayer::getResponderEphemeral
  - pcpp::WireGuardHandshakeResponseLayer::getEncryptedEmpty
  - pcpp::WireGuardHandshakeResponseLayer::getMac1
  - pcpp::WireGuardHandshakeResponseLayer::getMac2
  - pcpp::WireGuardHandshakeResponseLayer::setSenderIndex
  - pcpp::WireGuardHandshakeResponseLayer::setReceiverIndex
  - pcpp::WireGuardHandshakeResponseLayer::setResponderEphemeral
  - pcpp::WireGuardHandshakeResponseLayer::setEncryptedEmpty
  - pcpp::WireGuardHandshakeResponseLayer::setMac1
  - pcpp::WireGuardHandshakeResponseLayer::setMac2
  - pcpp::WireGuardCookieReplyLayer::WireGuardCookieReplyLayer
  - pcpp::WireGuardCookieReplyLayer::getReceiverIndex
  - pcpp::WireGuardCookieReplyLayer::getNonce
  - pcpp::WireGuardCookieReplyLayer::getEncryptedCookie
  - pcpp::WireGuardCookieReplyLayer::setReceiverIndex
  - pcpp::WireGuardCookieReplyLayer::setNonce
  - pcpp::WireGuardCookieReplyLayer::setEncryptedCookie
  - pcpp::WireGuardTransportDataLayer::WireGuardTransportDataLayer
  - pcpp::WireGuardTransportDataLayer::getReceiverIndex
  - pcpp::WireGuardTransportDataLayer::getCounter
  - pcpp::WireGuardTransportDataLayer::getEncryptedData
  - pcpp::WireGuardTransportDataLayer::setReceiverIndex
  - pcpp::WireGuardTransportDataLayer::setCounter
  - pcpp::WireGuardTransportDataLayer::setEncryptedData
  source_file: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/WireGuardLayer.cpp
      type_or_value: PacketLogModuleWireGuardLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::DhcpV6Option::getType
  - pcpp::DhcpV6Option::getValueAsHexString
  - pcpp::DhcpV6Option::getTotalSize
  - pcpp::DhcpV6Option::getDataSize
  - pcpp::DhcpV6OptionBuilder::build
  - pcpp::DhcpV6Layer::DhcpV6Layer
  - pcpp::DhcpV6Layer::DhcpV6Layer
  - pcpp::DhcpV6Layer::getMessageType
  - pcpp::DhcpV6Layer::getMessageTypeAsString
  - pcpp::DhcpV6Layer::setMessageType
  - pcpp::DhcpV6Layer::getTransactionID
  - pcpp::DhcpV6Layer::setTransactionID
  - pcpp::DhcpV6Layer::getFirstOptionData
  - pcpp::DhcpV6Layer::getNextOptionData
  - pcpp::DhcpV6Layer::getOptionData
  - pcpp::DhcpV6Layer::getOptionCount
  - pcpp::DhcpV6Layer::addOptionAt
  - pcpp::DhcpV6Layer::addOption
  - pcpp::DhcpV6Layer::addOptionAfter
  - pcpp::DhcpV6Layer::addOptionBefore
  - pcpp::DhcpV6Layer::removeOption
  - pcpp::DhcpV6Layer::removeAllOptions
  - pcpp::DhcpV6Layer::toString
  - pcpp::DhcpV6Option::getType
  - pcpp::DhcpV6Option::getValueAsHexString
  - pcpp::DhcpV6Option::getTotalSize
  - pcpp::DhcpV6Option::getDataSize
  - pcpp::DhcpV6OptionBuilder::build
  - pcpp::DhcpV6Layer::DhcpV6Layer
  - pcpp::DhcpV6Layer::DhcpV6Layer
  - pcpp::DhcpV6Layer::getMessageType
  - pcpp::DhcpV6Layer::getMessageTypeAsString
  - pcpp::DhcpV6Layer::setMessageType
  - pcpp::DhcpV6Layer::getTransactionID
  - pcpp::DhcpV6Layer::setTransactionID
  - pcpp::DhcpV6Layer::getFirstOptionData
  - pcpp::DhcpV6Layer::getNextOptionData
  - pcpp::DhcpV6Layer::getOptionData
  - pcpp::DhcpV6Layer::getOptionCount
  - pcpp::DhcpV6Layer::addOptionAt
  - pcpp::DhcpV6Layer::addOption
  - pcpp::DhcpV6Layer::addOptionAfter
  - pcpp::DhcpV6Layer::addOptionBefore
  - pcpp::DhcpV6Layer::removeOption
  - pcpp::DhcpV6Layer::removeAllOptions
  - pcpp::DhcpV6Layer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/DhcpV6Layer.cpp
      type_or_value: PacketLogModuleDhcpV6Layer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::PayloadLayer::PayloadLayer
  - pcpp::PayloadLayer::PayloadLayer
  - pcpp::PayloadLayer::setPayload
  - pcpp::PayloadLayer::toString
  - pcpp::PayloadLayer::PayloadLayer
  - pcpp::PayloadLayer::PayloadLayer
  - pcpp::PayloadLayer::setPayload
  - pcpp::PayloadLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/PayloadLayer.cpp
      type_or_value: PacketLogModulePayloadLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& IPv6Extension::operator=(const IPv6Extension& other)'
  - pcpp::IPv6Extension::getDataPtr
  - pcpp::IPv6Extension::initShadowPtr
  - IPv6Extension::~IPv6Extension()
  - pcpp::IPv6FragmentationHeader::IPv6FragmentationHeader
  - pcpp::IPv6FragmentationHeader::isFirstFragment
  - pcpp::IPv6FragmentationHeader::isLastFragment
  - pcpp::IPv6FragmentationHeader::isMoreFragments
  - pcpp::IPv6FragmentationHeader::getFragmentOffset
  - IPv6TLVOptionHeader::IPv6TLVOptionBuilder::build() const
  - pcpp::IPv6TLVOptionHeader::getOption
  - pcpp::IPv6TLVOptionHeader::getFirstOption
  - pcpp::IPv6TLVOptionHeader::getNextOption
  - pcpp::IPv6TLVOptionHeader::getOptionCount
  - pcpp::IPv6TLVOptionHeader::IPv6TLVOptionHeader
  - pcpp::IPv6TLVOptionHeader::IPv6TLVOptionHeader
  - pcpp::IPv6RoutingHeader::IPv6RoutingHeader
  - pcpp::IPv6RoutingHeader::getRoutingAdditionalData
  - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataLength
  - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
  - pcpp::IPv6AuthenticationHeader::IPv6AuthenticationHeader
  - pcpp::IPv6AuthenticationHeader::getIntegrityCheckValue
  - pcpp::IPv6AuthenticationHeader::getIntegrityCheckValueLength
  - '& IPv6Extension::operator=(const IPv6Extension& other)'
  - pcpp::IPv6Extension::getDataPtr
  - pcpp::IPv6Extension::initShadowPtr
  - IPv6Extension::~IPv6Extension()
  - pcpp::IPv6FragmentationHeader::IPv6FragmentationHeader
  - pcpp::IPv6FragmentationHeader::isFirstFragment
  - pcpp::IPv6FragmentationHeader::isLastFragment
  - pcpp::IPv6FragmentationHeader::isMoreFragments
  - pcpp::IPv6FragmentationHeader::getFragmentOffset
  - IPv6TLVOptionHeader::IPv6TLVOptionBuilder::build() const
  - pcpp::IPv6TLVOptionHeader::getOption
  - pcpp::IPv6TLVOptionHeader::getFirstOption
  - pcpp::IPv6TLVOptionHeader::getNextOption
  - pcpp::IPv6TLVOptionHeader::getOptionCount
  - pcpp::IPv6TLVOptionHeader::IPv6TLVOptionHeader
  - pcpp::IPv6TLVOptionHeader::IPv6TLVOptionHeader
  - pcpp::IPv6RoutingHeader::IPv6RoutingHeader
  - pcpp::IPv6RoutingHeader::getRoutingAdditionalData
  - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataLength
  - pcpp::IPv6RoutingHeader::getRoutingAdditionalDataAsIPv6Address
  - pcpp::IPv6AuthenticationHeader::IPv6AuthenticationHeader
  - pcpp::IPv6AuthenticationHeader::getIntegrityCheckValue
  - pcpp::IPv6AuthenticationHeader::getIntegrityCheckValueLength
  source_file: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/IPv6Extensions.cpp
      type_or_value: PacketLogModuleIPv6ExtensionLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::PemCodec::encode
  - pcpp::PemCodec::decode
  - pcpp::PemCodec::encode
  - pcpp::PemCodec::decode
  source_file: /src/PcapPlusPlus/Packet++/src/PemCodec.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::LLCLayer::LLCLayer
  - pcpp::LLCLayer::parseNextLayer
  - pcpp::LLCLayer::toString
  - pcpp::LLCLayer::isDataValid
  - pcpp::LLCLayer::LLCLayer
  - pcpp::LLCLayer::parseNextLayer
  - pcpp::LLCLayer::toString
  - pcpp::LLCLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/LLCLayer.cpp
      type_or_value: PacketLogModuleLLCLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::WakeOnLanLayer::init
  - pcpp::WakeOnLanLayer::WakeOnLanLayer
  - pcpp::WakeOnLanLayer::WakeOnLanLayer
  - pcpp::WakeOnLanLayer::WakeOnLanLayer
  - pcpp::WakeOnLanLayer::WakeOnLanLayer
  - pcpp::WakeOnLanLayer::getTargetAddr
  - pcpp::WakeOnLanLayer::setTargetAddr
  - pcpp::WakeOnLanLayer::getPassword
  - pcpp::WakeOnLanLayer::setPassword
  - pcpp::WakeOnLanLayer::setPassword
  - pcpp::WakeOnLanLayer::setPassword
  - pcpp::WakeOnLanLayer::setPassword
  - pcpp::WakeOnLanLayer::isDataValid
  - pcpp::WakeOnLanLayer::toString
  - pcpp::WakeOnLanLayer::init
  - pcpp::WakeOnLanLayer::WakeOnLanLayer
  - pcpp::WakeOnLanLayer::WakeOnLanLayer
  - pcpp::WakeOnLanLayer::WakeOnLanLayer
  - pcpp::WakeOnLanLayer::WakeOnLanLayer
  - pcpp::WakeOnLanLayer::getTargetAddr
  - pcpp::WakeOnLanLayer::setTargetAddr
  - pcpp::WakeOnLanLayer::getPassword
  - pcpp::WakeOnLanLayer::setPassword
  - pcpp::WakeOnLanLayer::setPassword
  - pcpp::WakeOnLanLayer::setPassword
  - pcpp::WakeOnLanLayer::setPassword
  - pcpp::WakeOnLanLayer::isDataValid
  - pcpp::WakeOnLanLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/WakeOnLanLayer.cpp
      type_or_value: PacketLogModuleWakeOnLanLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::NtpLayer::NtpLayer
  - pcpp::NtpLayer::getLeapIndicator
  - pcpp::NtpLayer::setLeapIndicator
  - pcpp::NtpLayer::getVersion
  - pcpp::NtpLayer::setVersion
  - pcpp::NtpLayer::getMode
  - pcpp::NtpLayer::getModeString
  - pcpp::NtpLayer::setMode
  - pcpp::NtpLayer::getStratum
  - pcpp::NtpLayer::setStratum
  - pcpp::NtpLayer::getPollInterval
  - pcpp::NtpLayer::setPollInterval
  - pcpp::NtpLayer::getPollIntervalInSecs
  - pcpp::NtpLayer::getPrecision
  - pcpp::NtpLayer::setPrecision
  - pcpp::NtpLayer::getPrecisionInSecs
  - pcpp::NtpLayer::getRootDelay
  - pcpp::NtpLayer::setRootDelay
  - pcpp::NtpLayer::getRootDelayInSecs
  - pcpp::NtpLayer::setRootDelayInSecs
  - pcpp::NtpLayer::getRootDispersion
  - pcpp::NtpLayer::setRootDispersion
  - pcpp::NtpLayer::getRootDispersionInSecs
  - pcpp::NtpLayer::setRootDispersionInSecs
  - pcpp::NtpLayer::getReferenceIdentifier
  - pcpp::NtpLayer::setReferenceIdentifier
  - pcpp::NtpLayer::setReferenceIdentifier
  - pcpp::NtpLayer::setReferenceIdentifier
  - pcpp::NtpLayer::getReferenceIdentifierString
  - pcpp::NtpLayer::getReferenceTimestamp
  - pcpp::NtpLayer::setReferenceTimestamp
  - pcpp::NtpLayer::getReferenceTimestampInSecs
  - pcpp::NtpLayer::setReferenceTimestampInSecs
  - pcpp::NtpLayer::getReferenceTimestampAsString
  - pcpp::NtpLayer::getOriginTimestamp
  - pcpp::NtpLayer::setOriginTimestamp
  - pcpp::NtpLayer::getOriginTimestampInSecs
  - pcpp::NtpLayer::setOriginTimestampInSecs
  - pcpp::NtpLayer::getOriginTimestampAsString
  - pcpp::NtpLayer::getReceiveTimestamp
  - pcpp::NtpLayer::setReceiveTimestamp
  - pcpp::NtpLayer::getReceiveTimestampInSecs
  - pcpp::NtpLayer::setReceiveTimestampInSecs
  - pcpp::NtpLayer::getReceiveTimestampAsString
  - pcpp::NtpLayer::getTransmitTimestamp
  - pcpp::NtpLayer::setTransmitTimestamp
  - pcpp::NtpLayer::getTransmitTimestampInSecs
  - pcpp::NtpLayer::setTransmitTimestampInSecs
  - pcpp::NtpLayer::getTransmitTimestampAsString
  - pcpp::NtpLayer::getKeyID
  - pcpp::NtpLayer::getDigest
  - pcpp::NtpLayer::convertFromShortFormat
  - pcpp::NtpLayer::convertFromTimestampFormat
  - pcpp::NtpLayer::convertToShortFormat
  - pcpp::NtpLayer::convertToTimestampFormat
  - pcpp::NtpLayer::convertToIsoFormat
  - pcpp::NtpLayer::convertToIsoFormat
  - pcpp::NtpLayer::isDataValid
  - pcpp::NtpLayer::toString
  - pcpp::NtpLayer::NtpLayer
  - pcpp::NtpLayer::getLeapIndicator
  - pcpp::NtpLayer::setLeapIndicator
  - pcpp::NtpLayer::getVersion
  - pcpp::NtpLayer::setVersion
  - pcpp::NtpLayer::getMode
  - pcpp::NtpLayer::getModeString
  - pcpp::NtpLayer::setMode
  - pcpp::NtpLayer::getStratum
  - pcpp::NtpLayer::setStratum
  - pcpp::NtpLayer::getPollInterval
  - pcpp::NtpLayer::setPollInterval
  - pcpp::NtpLayer::getPollIntervalInSecs
  - pcpp::NtpLayer::getPrecision
  - pcpp::NtpLayer::setPrecision
  - pcpp::NtpLayer::getPrecisionInSecs
  - pcpp::NtpLayer::getRootDelay
  - pcpp::NtpLayer::setRootDelay
  - pcpp::NtpLayer::getRootDelayInSecs
  - pcpp::NtpLayer::setRootDelayInSecs
  - pcpp::NtpLayer::getRootDispersion
  - pcpp::NtpLayer::setRootDispersion
  - pcpp::NtpLayer::getRootDispersionInSecs
  - pcpp::NtpLayer::setRootDispersionInSecs
  - pcpp::NtpLayer::getReferenceIdentifier
  - pcpp::NtpLayer::setReferenceIdentifier
  - pcpp::NtpLayer::setReferenceIdentifier
  - pcpp::NtpLayer::setReferenceIdentifier
  - pcpp::NtpLayer::getReferenceIdentifierString
  - pcpp::NtpLayer::getReferenceTimestamp
  - pcpp::NtpLayer::setReferenceTimestamp
  - pcpp::NtpLayer::getReferenceTimestampInSecs
  - pcpp::NtpLayer::setReferenceTimestampInSecs
  - pcpp::NtpLayer::getReferenceTimestampAsString
  - pcpp::NtpLayer::getOriginTimestamp
  - pcpp::NtpLayer::setOriginTimestamp
  - pcpp::NtpLayer::getOriginTimestampInSecs
  - pcpp::NtpLayer::setOriginTimestampInSecs
  - pcpp::NtpLayer::getOriginTimestampAsString
  - pcpp::NtpLayer::getReceiveTimestamp
  - pcpp::NtpLayer::setReceiveTimestamp
  - pcpp::NtpLayer::getReceiveTimestampInSecs
  - pcpp::NtpLayer::setReceiveTimestampInSecs
  - pcpp::NtpLayer::getReceiveTimestampAsString
  - pcpp::NtpLayer::getTransmitTimestamp
  - pcpp::NtpLayer::setTransmitTimestamp
  - pcpp::NtpLayer::getTransmitTimestampInSecs
  - pcpp::NtpLayer::setTransmitTimestampInSecs
  - pcpp::NtpLayer::getTransmitTimestampAsString
  - pcpp::NtpLayer::getKeyID
  - pcpp::NtpLayer::getDigest
  - pcpp::NtpLayer::convertFromShortFormat
  - pcpp::NtpLayer::convertFromTimestampFormat
  - pcpp::NtpLayer::convertToShortFormat
  - pcpp::NtpLayer::convertToTimestampFormat
  - pcpp::NtpLayer::convertToIsoFormat
  - pcpp::NtpLayer::convertToIsoFormat
  - pcpp::NtpLayer::isDataValid
  - pcpp::NtpLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/NtpLayer.cpp
      type_or_value: PacketLogModuleNtpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::ModbusLayer::ModbusLayer
  - pcpp::ModbusLayer::getModbusHeader
  - pcpp::ModbusLayer::getTransactionId
  - pcpp::ModbusLayer::getProtocolId
  - pcpp::ModbusLayer::getLength
  - pcpp::ModbusLayer::getUnitId
  - pcpp::ModbusLayer::getFunctionCode
  - pcpp::ModbusLayer::setTransactionId
  - pcpp::ModbusLayer::setUnitId
  - pcpp::ModbusLayer::setFunctionCode
  - pcpp::ModbusLayer::toString
  - pcpp::ModbusLayer::ModbusLayer
  - pcpp::ModbusLayer::getModbusHeader
  - pcpp::ModbusLayer::getTransactionId
  - pcpp::ModbusLayer::getProtocolId
  - pcpp::ModbusLayer::getLength
  - pcpp::ModbusLayer::getUnitId
  - pcpp::ModbusLayer::getFunctionCode
  - pcpp::ModbusLayer::setTransactionId
  - pcpp::ModbusLayer::setUnitId
  - pcpp::ModbusLayer::setFunctionCode
  - pcpp::ModbusLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/ModbusLayer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::icmp_router_advertisement::getRouterAddress
  - pcpp::icmp_router_address_structure::setRouterAddress
  - pcpp::IcmpLayer::IcmpLayer
  - pcpp::IcmpLayer::getMessageType
  - pcpp::IcmpLayer::cleanIcmpLayer
  - pcpp::IcmpLayer::setEchoData
  - pcpp::IcmpLayer::setIpAndL4Layers
  - pcpp::IcmpLayer::getEchoRequestData
  - pcpp::IcmpLayer::setEchoRequestData
  - pcpp::IcmpLayer::getEchoReplyData
  - pcpp::IcmpLayer::setEchoReplyData
  - pcpp::IcmpLayer::getTimestampRequestData
  - pcpp::IcmpLayer::setTimestampRequestData
  - pcpp::IcmpLayer::getTimestampReplyData
  - pcpp::IcmpLayer::setTimestampReplyData
  - pcpp::IcmpLayer::getDestUnreachableData
  - pcpp::IcmpLayer::setDestUnreachableData
  - pcpp::IcmpLayer::getSourceQuenchdata
  - pcpp::IcmpLayer::setSourceQuenchdata
  - pcpp::IcmpLayer::getRedirectData
  - pcpp::IcmpLayer::setRedirectData
  - pcpp::IcmpLayer::getRouterAdvertisementData
  - pcpp::IcmpLayer::setRouterAdvertisementData
  - pcpp::IcmpLayer::getRouterSolicitationData
  - pcpp::IcmpLayer::setRouterSolicitationData
  - pcpp::IcmpLayer::getTimeExceededData
  - pcpp::IcmpLayer::setTimeExceededData
  - pcpp::IcmpLayer::getParamProblemData
  - pcpp::IcmpLayer::setParamProblemData
  - pcpp::IcmpLayer::getAddressMaskRequestData
  - pcpp::IcmpLayer::setAddressMaskRequestData
  - pcpp::IcmpLayer::getAddressMaskReplyData
  - pcpp::IcmpLayer::setAddressMaskReplyData
  - pcpp::IcmpLayer::getInfoRequestData
  - pcpp::IcmpLayer::setInfoRequestData
  - pcpp::IcmpLayer::getInfoReplyData
  - pcpp::IcmpLayer::setInfoReplyData
  - pcpp::IcmpLayer::parseNextLayer
  - pcpp::IcmpLayer::getHeaderLen
  - pcpp::IcmpLayer::computeCalculateFields
  - pcpp::IcmpLayer::toString
  - pcpp::icmp_router_advertisement::getRouterAddress
  - pcpp::icmp_router_address_structure::setRouterAddress
  - pcpp::IcmpLayer::IcmpLayer
  - pcpp::IcmpLayer::getMessageType
  - pcpp::IcmpLayer::cleanIcmpLayer
  - pcpp::IcmpLayer::setEchoData
  - pcpp::IcmpLayer::setIpAndL4Layers
  - pcpp::IcmpLayer::getEchoRequestData
  - pcpp::IcmpLayer::setEchoRequestData
  - pcpp::IcmpLayer::getEchoReplyData
  - pcpp::IcmpLayer::setEchoReplyData
  - pcpp::IcmpLayer::getTimestampRequestData
  - pcpp::IcmpLayer::setTimestampRequestData
  - pcpp::IcmpLayer::getTimestampReplyData
  - pcpp::IcmpLayer::setTimestampReplyData
  - pcpp::IcmpLayer::getDestUnreachableData
  - pcpp::IcmpLayer::setDestUnreachableData
  - pcpp::IcmpLayer::getSourceQuenchdata
  - pcpp::IcmpLayer::setSourceQuenchdata
  - pcpp::IcmpLayer::getRedirectData
  - pcpp::IcmpLayer::setRedirectData
  - pcpp::IcmpLayer::getRouterAdvertisementData
  - pcpp::IcmpLayer::setRouterAdvertisementData
  - pcpp::IcmpLayer::getRouterSolicitationData
  - pcpp::IcmpLayer::setRouterSolicitationData
  - pcpp::IcmpLayer::getTimeExceededData
  - pcpp::IcmpLayer::setTimeExceededData
  - pcpp::IcmpLayer::getParamProblemData
  - pcpp::IcmpLayer::setParamProblemData
  - pcpp::IcmpLayer::getAddressMaskRequestData
  - pcpp::IcmpLayer::setAddressMaskRequestData
  - pcpp::IcmpLayer::getAddressMaskReplyData
  - pcpp::IcmpLayer::setAddressMaskReplyData
  - pcpp::IcmpLayer::getInfoRequestData
  - pcpp::IcmpLayer::setInfoRequestData
  - pcpp::IcmpLayer::getInfoReplyData
  - pcpp::IcmpLayer::setInfoReplyData
  - pcpp::IcmpLayer::parseNextLayer
  - pcpp::IcmpLayer::getHeaderLen
  - pcpp::IcmpLayer::computeCalculateFields
  - pcpp::IcmpLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/IcmpLayer.cpp
      type_or_value: PacketLogModuleIcmpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::S7CommLayer::S7CommLayer
  - pcpp::S7CommLayer::toString
  - pcpp::S7CommLayer::isDataValid
  - pcpp::S7CommLayer::getProtocolId
  - pcpp::S7CommLayer::getMsgType
  - pcpp::S7CommLayer::getParamLength
  - pcpp::S7CommLayer::getPduRef
  - pcpp::S7CommLayer::getDataLength
  - pcpp::S7CommLayer::setMsgType
  - pcpp::S7CommLayer::getErrorCode
  - pcpp::S7CommLayer::getErrorClass
  - pcpp::S7CommLayer::setPduRef
  - pcpp::S7CommLayer::setErrorCode
  - pcpp::S7CommLayer::setErrorClass
  - pcpp::S7CommLayer::getParameter
  - pcpp::S7CommLayer::getS7commHeaderLength
  - pcpp::S7CommLayer::S7CommLayer
  - pcpp::S7CommLayer::toString
  - pcpp::S7CommLayer::isDataValid
  - pcpp::S7CommLayer::getProtocolId
  - pcpp::S7CommLayer::getMsgType
  - pcpp::S7CommLayer::getParamLength
  - pcpp::S7CommLayer::getPduRef
  - pcpp::S7CommLayer::getDataLength
  - pcpp::S7CommLayer::setMsgType
  - pcpp::S7CommLayer::getErrorCode
  - pcpp::S7CommLayer::getErrorClass
  - pcpp::S7CommLayer::setPduRef
  - pcpp::S7CommLayer::setErrorCode
  - pcpp::S7CommLayer::setErrorClass
  - pcpp::S7CommLayer::getParameter
  - pcpp::S7CommLayer::getS7commHeaderLength
  source_file: /src/PcapPlusPlus/Packet++/src/S7CommLayer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::createCipherSuiteIdToObjectMap
  - pcpp::hashString
  - pcpp::createCipherSuiteStringToObjectMap
  - pcpp::createGreaseSet
  - pcpp::SSLCipherSuite::getCipherSuiteByID
  - pcpp::SSLCipherSuite::getCipherSuiteByName
  - pcpp::SSLExtension::SSLExtension
  - pcpp::SSLExtension::SSLExtension
  - pcpp::SSLExtension::getType
  - pcpp::SSLExtension::getTypeAsInt
  - pcpp::SSLExtension::getLength
  - pcpp::SSLExtension::getTotalLength
  - pcpp::SSLExtension::getData
  - SSLExtension::SSLExtensionStruct::getDataLength() const
  - pcpp::SSLServerNameIndicationExtension::getHostName
  - pcpp::SSLSupportedVersionsExtension::getSupportedVersions
  - pcpp::TLSSupportedGroupsExtension::getSupportedGroups
  - pcpp::TLSECPointFormatExtension::getECPointFormatList
  - pcpp::SSLx509Certificate::getRootAsn1Record
  - pcpp::SSLx509Certificate::getX509Certificate
  - pcpp::SSLHandshakeMessage::SSLHandshakeMessage
  - pcpp::SSLHandshakeMessage::createHandshakeMessage
  - pcpp::SSLHandshakeMessage::getHandshakeType
  - pcpp::SSLHandshakeMessage::getMessageLength
  - pcpp::SSLHandshakeMessage::isMessageComplete
  - pcpp::SSLClientHelloMessage::SSLClientHelloMessage
  - pcpp::SSLClientHelloMessage::getHandshakeVersion
  - pcpp::SSLClientHelloMessage::getSessionIDLength
  - pcpp::SSLClientHelloMessage::getSessionID
  - pcpp::SSLClientHelloMessage::getCipherSuiteCount
  - pcpp::SSLClientHelloMessage::getCipherSuite
  - pcpp::SSLClientHelloMessage::getCipherSuiteID
  - pcpp::SSLClientHelloMessage::getCompressionMethodsValue
  - pcpp::SSLClientHelloMessage::getExtensionCount
  - pcpp::SSLClientHelloMessage::getExtensionsLength
  - pcpp::SSLClientHelloMessage::getExtension
  - pcpp::SSLClientHelloMessage::getExtensionOfType
  - pcpp::SSLClientHelloMessage::getExtensionOfType
  - pcpp::SSLClientHelloMessage::generateTLSFingerprint
  - pcpp::SSLClientHelloMessage::toString
  - SSLClientHelloMessage::ClientHelloTLSFingerprint::toString()
  - SSLClientHelloMessage::ClientHelloTLSFingerprint::toMD5()
  - SSLClientHelloMessage::ClientHelloTLSFingerprint::toStringAndMD5()
  - pcpp::SSLServerHelloMessage::SSLServerHelloMessage
  - pcpp::SSLServerHelloMessage::getHandshakeVersion
  - pcpp::SSLServerHelloMessage::getSessionIDLength
  - pcpp::SSLServerHelloMessage::getSessionID
  - pcpp::SSLServerHelloMessage::getCipherSuite
  - pcpp::SSLServerHelloMessage::getCipherSuiteID
  - pcpp::SSLServerHelloMessage::getCompressionMethodsValue
  - pcpp::SSLServerHelloMessage::getExtensionCount
  - pcpp::SSLServerHelloMessage::getExtensionsLength
  - pcpp::SSLServerHelloMessage::getExtension
  - pcpp::SSLServerHelloMessage::getExtensionOfType
  - pcpp::SSLServerHelloMessage::getExtensionOfType
  - pcpp::SSLServerHelloMessage::generateTLSFingerprint
  - pcpp::SSLServerHelloMessage::toString
  - SSLServerHelloMessage::ServerHelloTLSFingerprint::toString()
  - SSLServerHelloMessage::ServerHelloTLSFingerprint::toMD5()
  - SSLServerHelloMessage::ServerHelloTLSFingerprint::toStringAndMD5()
  - pcpp::SSLCertificateMessage::SSLCertificateMessage
  - pcpp::SSLCertificateMessage::toString
  - pcpp::SSLCertificateMessage::getNumOfCertificates
  - pcpp::SSLCertificateMessage::getCertificate
  - pcpp::SSLHelloRequestMessage::toString
  - pcpp::SSLServerHelloDoneMessage::toString
  - pcpp::SSLServerKeyExchangeMessage::getServerKeyExchangeParams
  - pcpp::SSLServerKeyExchangeMessage::getServerKeyExchangeParamsLength
  - pcpp::SSLServerKeyExchangeMessage::toString
  - pcpp::SSLClientKeyExchangeMessage::getClientKeyExchangeParams
  - pcpp::SSLClientKeyExchangeMessage::getClientKeyExchangeParamsLength
  - pcpp::SSLClientKeyExchangeMessage::toString
  - pcpp::SSLCertificateRequestMessage::SSLCertificateRequestMessage
  - '& SSLCertificateRequestMessage::getCertificateTypes()'
  - pcpp::SSLCertificateRequestMessage::getCertificateAuthorityData
  - pcpp::SSLCertificateRequestMessage::getCertificateAuthorityLength
  - pcpp::SSLCertificateRequestMessage::toString
  - pcpp::SSLCertificateVerifyMessage::getSignedHash
  - pcpp::SSLCertificateVerifyMessage::getSignedHashLength
  - pcpp::SSLCertificateVerifyMessage::toString
  - pcpp::SSLFinishedMessage::getSignedHash
  - pcpp::SSLFinishedMessage::getSignedHashLength
  - pcpp::SSLFinishedMessage::toString
  - pcpp::SSLNewSessionTicketMessage::getSessionTicketData
  - pcpp::SSLNewSessionTicketMessage::getSessionTicketDataLength
  - pcpp::SSLNewSessionTicketMessage::toString
  - pcpp::SSLUnknownMessage::getHandshakeType
  - pcpp::SSLUnknownMessage::getMessageLength
  - pcpp::SSLUnknownMessage::toString
  - pcpp::createCipherSuiteIdToObjectMap
  - pcpp::hashString
  - pcpp::createCipherSuiteStringToObjectMap
  - pcpp::createGreaseSet
  - pcpp::SSLCipherSuite::getCipherSuiteByID
  - pcpp::SSLCipherSuite::getCipherSuiteByName
  - pcpp::SSLExtension::SSLExtension
  - pcpp::SSLExtension::SSLExtension
  - pcpp::SSLExtension::getType
  - pcpp::SSLExtension::getTypeAsInt
  - pcpp::SSLExtension::getLength
  - pcpp::SSLExtension::getTotalLength
  - pcpp::SSLExtension::getData
  - SSLExtension::SSLExtensionStruct::getDataLength() const
  - pcpp::SSLServerNameIndicationExtension::getHostName
  - pcpp::SSLSupportedVersionsExtension::getSupportedVersions
  - pcpp::TLSSupportedGroupsExtension::getSupportedGroups
  - pcpp::TLSECPointFormatExtension::getECPointFormatList
  - pcpp::SSLx509Certificate::getRootAsn1Record
  - pcpp::SSLx509Certificate::getX509Certificate
  - pcpp::SSLHandshakeMessage::SSLHandshakeMessage
  - pcpp::SSLHandshakeMessage::createHandshakeMessage
  - pcpp::SSLHandshakeMessage::getHandshakeType
  - pcpp::SSLHandshakeMessage::getMessageLength
  - pcpp::SSLHandshakeMessage::isMessageComplete
  - pcpp::SSLClientHelloMessage::SSLClientHelloMessage
  - pcpp::SSLClientHelloMessage::getHandshakeVersion
  - pcpp::SSLClientHelloMessage::getSessionIDLength
  - pcpp::SSLClientHelloMessage::getSessionID
  - pcpp::SSLClientHelloMessage::getCipherSuiteCount
  - pcpp::SSLClientHelloMessage::getCipherSuite
  - pcpp::SSLClientHelloMessage::getCipherSuiteID
  - pcpp::SSLClientHelloMessage::getCompressionMethodsValue
  - pcpp::SSLClientHelloMessage::getExtensionCount
  - pcpp::SSLClientHelloMessage::getExtensionsLength
  - pcpp::SSLClientHelloMessage::getExtension
  - pcpp::SSLClientHelloMessage::getExtensionOfType
  - pcpp::SSLClientHelloMessage::getExtensionOfType
  - pcpp::SSLClientHelloMessage::generateTLSFingerprint
  - pcpp::SSLClientHelloMessage::toString
  - SSLClientHelloMessage::ClientHelloTLSFingerprint::toString()
  - SSLClientHelloMessage::ClientHelloTLSFingerprint::toMD5()
  - SSLClientHelloMessage::ClientHelloTLSFingerprint::toStringAndMD5()
  - pcpp::SSLServerHelloMessage::SSLServerHelloMessage
  - pcpp::SSLServerHelloMessage::getHandshakeVersion
  - pcpp::SSLServerHelloMessage::getSessionIDLength
  - pcpp::SSLServerHelloMessage::getSessionID
  - pcpp::SSLServerHelloMessage::getCipherSuite
  - pcpp::SSLServerHelloMessage::getCipherSuiteID
  - pcpp::SSLServerHelloMessage::getCompressionMethodsValue
  - pcpp::SSLServerHelloMessage::getExtensionCount
  - pcpp::SSLServerHelloMessage::getExtensionsLength
  - pcpp::SSLServerHelloMessage::getExtension
  - pcpp::SSLServerHelloMessage::getExtensionOfType
  - pcpp::SSLServerHelloMessage::getExtensionOfType
  - pcpp::SSLServerHelloMessage::generateTLSFingerprint
  - pcpp::SSLServerHelloMessage::toString
  - SSLServerHelloMessage::ServerHelloTLSFingerprint::toString()
  - SSLServerHelloMessage::ServerHelloTLSFingerprint::toMD5()
  - SSLServerHelloMessage::ServerHelloTLSFingerprint::toStringAndMD5()
  - pcpp::SSLCertificateMessage::SSLCertificateMessage
  - pcpp::SSLCertificateMessage::toString
  - pcpp::SSLCertificateMessage::getNumOfCertificates
  - pcpp::SSLCertificateMessage::getCertificate
  - pcpp::SSLHelloRequestMessage::toString
  - pcpp::SSLServerHelloDoneMessage::toString
  - pcpp::SSLServerKeyExchangeMessage::getServerKeyExchangeParams
  - pcpp::SSLServerKeyExchangeMessage::getServerKeyExchangeParamsLength
  - pcpp::SSLServerKeyExchangeMessage::toString
  - pcpp::SSLClientKeyExchangeMessage::getClientKeyExchangeParams
  - pcpp::SSLClientKeyExchangeMessage::getClientKeyExchangeParamsLength
  - pcpp::SSLClientKeyExchangeMessage::toString
  - pcpp::SSLCertificateRequestMessage::SSLCertificateRequestMessage
  - '& SSLCertificateRequestMessage::getCertificateTypes()'
  - pcpp::SSLCertificateRequestMessage::getCertificateAuthorityData
  - pcpp::SSLCertificateRequestMessage::getCertificateAuthorityLength
  - pcpp::SSLCertificateRequestMessage::toString
  - pcpp::SSLCertificateVerifyMessage::getSignedHash
  - pcpp::SSLCertificateVerifyMessage::getSignedHashLength
  - pcpp::SSLCertificateVerifyMessage::toString
  - pcpp::SSLFinishedMessage::getSignedHash
  - pcpp::SSLFinishedMessage::getSignedHashLength
  - pcpp::SSLFinishedMessage::toString
  - pcpp::SSLNewSessionTicketMessage::getSessionTicketData
  - pcpp::SSLNewSessionTicketMessage::getSessionTicketDataLength
  - pcpp::SSLNewSessionTicketMessage::toString
  - pcpp::SSLUnknownMessage::getHandshakeType
  - pcpp::SSLUnknownMessage::getMessageLength
  - pcpp::SSLUnknownMessage::toString
  source_file: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/SSLHandshake.cpp
      type_or_value: PacketLogModuleSSLLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::RadiusAttributeBuilder::build
  - pcpp::RadiusLayer::RadiusLayer
  - pcpp::RadiusLayer::RadiusLayer
  - pcpp::RadiusLayer::addAttrAt
  - pcpp::RadiusLayer::getAuthenticatorValue
  - pcpp::RadiusLayer::setAuthenticatorValue
  - pcpp::RadiusLayer::getRadiusMessageString
  - pcpp::RadiusLayer::getHeaderLen
  - pcpp::RadiusLayer::computeCalculateFields
  - pcpp::RadiusLayer::toString
  - pcpp::RadiusLayer::getFirstAttribute
  - pcpp::RadiusLayer::getNextAttribute
  - pcpp::RadiusLayer::getAttribute
  - pcpp::RadiusLayer::getAttributeCount
  - pcpp::RadiusLayer::addAttribute
  - pcpp::RadiusLayer::addAttributeAfter
  - pcpp::RadiusLayer::removeAttribute
  - pcpp::RadiusLayer::removeAllAttributes
  - pcpp::RadiusLayer::isDataValid
  - pcpp::RadiusAttributeBuilder::build
  - pcpp::RadiusLayer::RadiusLayer
  - pcpp::RadiusLayer::RadiusLayer
  - pcpp::RadiusLayer::addAttrAt
  - pcpp::RadiusLayer::getAuthenticatorValue
  - pcpp::RadiusLayer::setAuthenticatorValue
  - pcpp::RadiusLayer::getRadiusMessageString
  - pcpp::RadiusLayer::getHeaderLen
  - pcpp::RadiusLayer::computeCalculateFields
  - pcpp::RadiusLayer::toString
  - pcpp::RadiusLayer::getFirstAttribute
  - pcpp::RadiusLayer::getNextAttribute
  - pcpp::RadiusLayer::getAttribute
  - pcpp::RadiusLayer::getAttributeCount
  - pcpp::RadiusLayer::addAttribute
  - pcpp::RadiusLayer::addAttributeAfter
  - pcpp::RadiusLayer::removeAttribute
  - pcpp::RadiusLayer::removeAllAttributes
  - pcpp::RadiusLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/RadiusLayer.cpp
      type_or_value: PacketLogModuleRadiusLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::TcpOptionBuilder::TcpOptionBuilder
  - pcpp::TcpOptionBuilder::TcpOptionBuilder
  - pcpp::TcpOptionBuilder::build
  - pcpp::TcpLayer::getSrcPort
  - pcpp::TcpLayer::getDstPort
  - pcpp::TcpLayer::getTcpOption
  - pcpp::TcpLayer::getFirstTcpOption
  - pcpp::TcpLayer::getNextTcpOption
  - pcpp::TcpLayer::getTcpOptionCount
  - pcpp::TcpLayer::addTcpOption
  - pcpp::TcpLayer::insertTcpOptionAfter
  - pcpp::TcpLayer::removeTcpOption
  - pcpp::TcpLayer::removeAllTcpOptions
  - pcpp::TcpLayer::addTcpOptionAt
  - pcpp::TcpLayer::adjustTcpOptionTrailer
  - pcpp::TcpLayer::calculateChecksum
  - pcpp::TcpLayer::initLayer
  - pcpp::TcpLayer::TcpLayer
  - pcpp::TcpLayer::TcpLayer
  - pcpp::TcpLayer::TcpLayer
  - pcpp::TcpLayer::copyLayerData
  - pcpp::TcpLayer::TcpLayer
  - '& TcpLayer::operator=(const TcpLayer& other)'
  - pcpp::TcpLayer::parseNextLayer
  - pcpp::TcpLayer::computeCalculateFields
  - pcpp::TcpLayer::toString
  - pcpp::DISABLE_WARNING_DEPRECATED::addTcpOptionAfter
  - pcpp::TcpLayer::getTcpOption
  - pcpp::TcpLayer::removeTcpOption
  - pcpp::TcpOptionBuilder::TcpOptionBuilder
  - pcpp::TcpOptionBuilder::TcpOptionBuilder
  - pcpp::TcpOptionBuilder::build
  - pcpp::TcpLayer::getSrcPort
  - pcpp::TcpLayer::getDstPort
  - pcpp::TcpLayer::getTcpOption
  - pcpp::TcpLayer::getFirstTcpOption
  - pcpp::TcpLayer::getNextTcpOption
  - pcpp::TcpLayer::getTcpOptionCount
  - pcpp::TcpLayer::addTcpOption
  - pcpp::TcpLayer::insertTcpOptionAfter
  - pcpp::TcpLayer::removeTcpOption
  - pcpp::TcpLayer::removeAllTcpOptions
  - pcpp::TcpLayer::addTcpOptionAt
  - pcpp::TcpLayer::adjustTcpOptionTrailer
  - pcpp::TcpLayer::calculateChecksum
  - pcpp::TcpLayer::initLayer
  - pcpp::TcpLayer::TcpLayer
  - pcpp::TcpLayer::TcpLayer
  - pcpp::TcpLayer::TcpLayer
  - pcpp::TcpLayer::copyLayerData
  - pcpp::TcpLayer::TcpLayer
  - '& TcpLayer::operator=(const TcpLayer& other)'
  - pcpp::TcpLayer::parseNextLayer
  - pcpp::TcpLayer::computeCalculateFields
  - pcpp::TcpLayer::toString
  - pcpp::DISABLE_WARNING_DEPRECATED::addTcpOptionAfter
  - pcpp::TcpLayer::getTcpOption
  - pcpp::TcpLayer::removeTcpOption
  source_file: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/TcpLayer.cpp
      type_or_value: PacketLogModuleTcpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::toString
  - pcpp::toString
  - pcpp::Asn1Record::decode
  - pcpp::Asn1Record::encodeTag
  - pcpp::Asn1Record::encodeLength
  - pcpp::Asn1Record::encode
  - pcpp::Asn1Record::getUniversalTagType
  - pcpp::Asn1Record::decodeTagAndCreateRecord
  - pcpp::Asn1Record::decodeLength
  - pcpp::Asn1Record::decodeValueIfNeeded
  - pcpp::Asn1Record::toString
  - pcpp::Asn1Record::toStringList
  - pcpp::Asn1Record::setEncodedValue
  - pcpp::Asn1GenericRecord::Asn1GenericRecord
  - pcpp::Asn1GenericRecord::Asn1GenericRecord
  - pcpp::Asn1GenericRecord::decodeValue
  - pcpp::Asn1GenericRecord::encodeValue
  - pcpp::Asn1GenericRecord::init
  - pcpp::Asn1ConstructedRecord::Asn1ConstructedRecord
  - pcpp::Asn1ConstructedRecord::Asn1ConstructedRecord
  - pcpp::Asn1ConstructedRecord::decodeValue
  - pcpp::Asn1ConstructedRecord::encodeValue
  - pcpp::Asn1ConstructedRecord::toStringList
  - pcpp::Asn1SequenceRecord::Asn1SequenceRecord
  - pcpp::Asn1SequenceRecord::Asn1SequenceRecord
  - pcpp::Asn1SetRecord::Asn1SetRecord
  - pcpp::Asn1SetRecord::Asn1SetRecord
  - pcpp::Asn1PrimitiveRecord::Asn1PrimitiveRecord
  - Asn1IntegerRecord::BigInt::BigInt(const std::string& value)
  - Asn1IntegerRecord::BigInt::BigInt(const BigInt& other)
  - Asn1IntegerRecord::BigInt::initFromString(const std::string& value)
  - '& Asn1IntegerRecord::BigInt::operator=(const std::string& value)'
  - Asn1IntegerRecord::BigInt::size() const
  - Asn1IntegerRecord::BigInt::toString(bool removeLeadingZeros) const
  - Asn1IntegerRecord::BigInt::toBytes() const
  - pcpp::Asn1IntegerRecord::Asn1IntegerRecord
  - pcpp::Asn1IntegerRecord::Asn1IntegerRecord
  - pcpp::Asn1IntegerRecord::decodeValue
  - pcpp::Asn1IntegerRecord::encodeValue
  - pcpp::Asn1IntegerRecord::toStringList
  - pcpp::Asn1EnumeratedRecord::Asn1EnumeratedRecord
  - pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
  - pcpp::Asn1OctetStringRecord::decodeValue
  - pcpp::Asn1OctetStringRecord::encodeValue
  - pcpp::Asn1BooleanRecord::Asn1BooleanRecord
  - pcpp::Asn1BooleanRecord::decodeValue
  - pcpp::Asn1BooleanRecord::encodeValue
  - pcpp::Asn1BooleanRecord::toStringList
  - pcpp::Asn1NullRecord::Asn1NullRecord
  - pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
  - pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
  - pcpp::Asn1ObjectIdentifier::toString
  - pcpp::Asn1ObjectIdentifier::toBytes
  - pcpp::Asn1ObjectIdentifierRecord::Asn1ObjectIdentifierRecord
  - pcpp::Asn1ObjectIdentifierRecord::decodeValue
  - pcpp::Asn1ObjectIdentifierRecord::encodeValue
  - pcpp::Asn1ObjectIdentifierRecord::toStringList
  - pcpp::Asn1TimeRecord::Asn1TimeRecord
  - pcpp::Asn1TimeRecord::getValueAsString
  - pcpp::Asn1TimeRecord::toStringList
  - pcpp::Asn1TimeRecord::validateTimezone
  - pcpp::Asn1TimeRecord::adjustTimezones
  - pcpp::Asn1UtcTimeRecord::Asn1UtcTimeRecord
  - pcpp::Asn1UtcTimeRecord::decodeValue
  - pcpp::Asn1UtcTimeRecord::encodeValue
  - pcpp::Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord
  - pcpp::Asn1GeneralizedTimeRecord::decodeValue
  - pcpp::Asn1GeneralizedTimeRecord::encodeValue
  - Asn1BitStringRecord::BitSet::initFromString(const std::string& value)
  - Asn1BitStringRecord::BitSet::BitSet(const std::string& value)
  - Asn1BitStringRecord::BitSet::BitSet(const uint8_t* data, size_t numBits)
  - '& Asn1BitStringRecord::BitSet::operator=(const std::string& value)'
  - Asn1BitStringRecord::BitSet::toString() const
  - Asn1BitStringRecord::BitSet::toBytes() const
  - Asn1BitStringRecord::BitSet::sizeInBytes() const
  - pcpp::Asn1BitStringRecord::Asn1BitStringRecord
  - pcpp::Asn1BitStringRecord::decodeValue
  - pcpp::Asn1BitStringRecord::encodeValue
  - pcpp::Asn1BitStringRecord::toStringList
  - pcpp::toString
  - pcpp::toString
  - pcpp::Asn1Record::decode
  - pcpp::Asn1Record::encodeTag
  - pcpp::Asn1Record::encodeLength
  - pcpp::Asn1Record::encode
  - pcpp::Asn1Record::getUniversalTagType
  - pcpp::Asn1Record::decodeTagAndCreateRecord
  - pcpp::Asn1Record::decodeLength
  - pcpp::Asn1Record::decodeValueIfNeeded
  - pcpp::Asn1Record::toString
  - pcpp::Asn1Record::toStringList
  - pcpp::Asn1Record::setEncodedValue
  - pcpp::Asn1GenericRecord::Asn1GenericRecord
  - pcpp::Asn1GenericRecord::Asn1GenericRecord
  - pcpp::Asn1GenericRecord::decodeValue
  - pcpp::Asn1GenericRecord::encodeValue
  - pcpp::Asn1GenericRecord::init
  - pcpp::Asn1ConstructedRecord::Asn1ConstructedRecord
  - pcpp::Asn1ConstructedRecord::Asn1ConstructedRecord
  - pcpp::Asn1ConstructedRecord::decodeValue
  - pcpp::Asn1ConstructedRecord::encodeValue
  - pcpp::Asn1ConstructedRecord::toStringList
  - pcpp::Asn1SequenceRecord::Asn1SequenceRecord
  - pcpp::Asn1SequenceRecord::Asn1SequenceRecord
  - pcpp::Asn1SetRecord::Asn1SetRecord
  - pcpp::Asn1SetRecord::Asn1SetRecord
  - pcpp::Asn1PrimitiveRecord::Asn1PrimitiveRecord
  - Asn1IntegerRecord::BigInt::BigInt(const std::string& value)
  - Asn1IntegerRecord::BigInt::BigInt(const BigInt& other)
  - Asn1IntegerRecord::BigInt::initFromString(const std::string& value)
  - '& Asn1IntegerRecord::BigInt::operator=(const std::string& value)'
  - Asn1IntegerRecord::BigInt::size() const
  - Asn1IntegerRecord::BigInt::toString(bool removeLeadingZeros) const
  - Asn1IntegerRecord::BigInt::toBytes() const
  - pcpp::Asn1IntegerRecord::Asn1IntegerRecord
  - pcpp::Asn1IntegerRecord::Asn1IntegerRecord
  - pcpp::Asn1IntegerRecord::decodeValue
  - pcpp::Asn1IntegerRecord::encodeValue
  - pcpp::Asn1IntegerRecord::toStringList
  - pcpp::Asn1EnumeratedRecord::Asn1EnumeratedRecord
  - pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
  - pcpp::Asn1OctetStringRecord::decodeValue
  - pcpp::Asn1OctetStringRecord::encodeValue
  - pcpp::Asn1BooleanRecord::Asn1BooleanRecord
  - pcpp::Asn1BooleanRecord::decodeValue
  - pcpp::Asn1BooleanRecord::encodeValue
  - pcpp::Asn1BooleanRecord::toStringList
  - pcpp::Asn1NullRecord::Asn1NullRecord
  - pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
  - pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
  - pcpp::Asn1ObjectIdentifier::toString
  - pcpp::Asn1ObjectIdentifier::toBytes
  - pcpp::Asn1ObjectIdentifierRecord::Asn1ObjectIdentifierRecord
  - pcpp::Asn1ObjectIdentifierRecord::decodeValue
  - pcpp::Asn1ObjectIdentifierRecord::encodeValue
  - pcpp::Asn1ObjectIdentifierRecord::toStringList
  - pcpp::Asn1TimeRecord::Asn1TimeRecord
  - pcpp::Asn1TimeRecord::getValueAsString
  - pcpp::Asn1TimeRecord::toStringList
  - pcpp::Asn1TimeRecord::validateTimezone
  - pcpp::Asn1TimeRecord::adjustTimezones
  - pcpp::Asn1UtcTimeRecord::Asn1UtcTimeRecord
  - pcpp::Asn1UtcTimeRecord::decodeValue
  - pcpp::Asn1UtcTimeRecord::encodeValue
  - pcpp::Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord
  - pcpp::Asn1GeneralizedTimeRecord::decodeValue
  - pcpp::Asn1GeneralizedTimeRecord::encodeValue
  - Asn1BitStringRecord::BitSet::initFromString(const std::string& value)
  - Asn1BitStringRecord::BitSet::BitSet(const std::string& value)
  - Asn1BitStringRecord::BitSet::BitSet(const uint8_t* data, size_t numBits)
  - '& Asn1BitStringRecord::BitSet::operator=(const std::string& value)'
  - Asn1BitStringRecord::BitSet::toString() const
  - Asn1BitStringRecord::BitSet::toBytes() const
  - Asn1BitStringRecord::BitSet::sizeInBytes() const
  - pcpp::Asn1BitStringRecord::Asn1BitStringRecord
  - pcpp::Asn1BitStringRecord::decodeValue
  - pcpp::Asn1BitStringRecord::encodeValue
  - pcpp::Asn1BitStringRecord::toStringList
  source_file: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/Asn1Codec.cpp
      type_or_value: PacketLogModuleAsn1Codec
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::SSLVersion::asEnum
  - pcpp::SSLVersion::toString
  - pcpp::SSLVersion::asEnum
  - pcpp::SSLVersion::toString
  source_file: /src/PcapPlusPlus/Packet++/src/SSLCommon.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/SSLCommon.cpp
      type_or_value: PacketLogModuleSSLLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::EthDot3Layer::EthDot3Layer
  - pcpp::EthDot3Layer::parseNextLayer
  - pcpp::EthDot3Layer::toString
  - pcpp::EthDot3Layer::isDataValid
  - pcpp::EthDot3Layer::EthDot3Layer
  - pcpp::EthDot3Layer::parseNextLayer
  - pcpp::EthDot3Layer::toString
  - pcpp::EthDot3Layer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/src/EthDot3Layer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - pcpp::TLVRecordBuilder::copyData
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - '& TLVRecordBuilder::operator=(const TLVRecordBuilder& other)'
  - TLVRecordBuilder::~TLVRecordBuilder()
  - pcpp::TLVRecordBuilder::init
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - pcpp::TLVRecordBuilder::copyData
  - pcpp::TLVRecordBuilder::TLVRecordBuilder
  - '& TLVRecordBuilder::operator=(const TLVRecordBuilder& other)'
  - TLVRecordBuilder::~TLVRecordBuilder()
  - pcpp::TLVRecordBuilder::init
  source_file: /src/PcapPlusPlus/Packet++/src/TLVData.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::IcmpV6Layer::parseIcmpV6Layer
  - pcpp::IcmpV6Layer::IcmpV6Layer
  - pcpp::IcmpV6Layer::getMessageType
  - pcpp::IcmpV6Layer::getCode
  - pcpp::IcmpV6Layer::getChecksum
  - pcpp::IcmpV6Layer::computeCalculateFields
  - pcpp::IcmpV6Layer::calculateChecksum
  - pcpp::IcmpV6Layer::toString
  - pcpp::ICMPv6EchoLayer::ICMPv6EchoLayer
  - pcpp::ICMPv6EchoLayer::getIdentifier
  - pcpp::ICMPv6EchoLayer::getSequenceNr
  - pcpp::ICMPv6EchoLayer::toString
  - pcpp::IcmpV6Layer::parseIcmpV6Layer
  - pcpp::IcmpV6Layer::IcmpV6Layer
  - pcpp::IcmpV6Layer::getMessageType
  - pcpp::IcmpV6Layer::getCode
  - pcpp::IcmpV6Layer::getChecksum
  - pcpp::IcmpV6Layer::computeCalculateFields
  - pcpp::IcmpV6Layer::calculateChecksum
  - pcpp::IcmpV6Layer::toString
  - pcpp::ICMPv6EchoLayer::ICMPv6EchoLayer
  - pcpp::ICMPv6EchoLayer::getIdentifier
  - pcpp::ICMPv6EchoLayer::getSequenceNr
  - pcpp::ICMPv6EchoLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/IcmpV6Layer.cpp
      type_or_value: PacketLogModuleIcmpV6Layer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::FtpRequestLayer::setCommand
  - pcpp::FtpRequestLayer::getCommand
  - pcpp::FtpRequestLayer::getCommandString
  - pcpp::FtpRequestLayer::setCommandOption
  - pcpp::FtpRequestLayer::getCommandOption
  - pcpp::FtpRequestLayer::getCommandInfo
  - pcpp::FtpRequestLayer::getCommandAsString
  - pcpp::FtpRequestLayer::toString
  - pcpp::FtpResponseLayer::setStatusCode
  - pcpp::FtpResponseLayer::getStatusCode
  - pcpp::FtpResponseLayer::getStatusCodeString
  - pcpp::FtpResponseLayer::setStatusOption
  - pcpp::FtpResponseLayer::getStatusOption
  - pcpp::FtpResponseLayer::getStatusCodeAsString
  - pcpp::FtpResponseLayer::toString
  - pcpp::FtpDataLayer::toString
  - pcpp::FtpRequestLayer::setCommand
  - pcpp::FtpRequestLayer::getCommand
  - pcpp::FtpRequestLayer::getCommandString
  - pcpp::FtpRequestLayer::setCommandOption
  - pcpp::FtpRequestLayer::getCommandOption
  - pcpp::FtpRequestLayer::getCommandInfo
  - pcpp::FtpRequestLayer::getCommandAsString
  - pcpp::FtpRequestLayer::toString
  - pcpp::FtpResponseLayer::setStatusCode
  - pcpp::FtpResponseLayer::getStatusCode
  - pcpp::FtpResponseLayer::getStatusCodeString
  - pcpp::FtpResponseLayer::setStatusOption
  - pcpp::FtpResponseLayer::getStatusOption
  - pcpp::FtpResponseLayer::getStatusCodeAsString
  - pcpp::FtpResponseLayer::toString
  - pcpp::FtpDataLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/FtpLayer.cpp
      type_or_value: PacketLogModuleFtpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::computeChecksum
  - pcpp::computePseudoHdrChecksum
  - pcpp::fnvHash
  - pcpp::fnvHash
  - pcpp::hash5Tuple
  - pcpp::hash2Tuple
  - pcpp::computeChecksum
  - pcpp::computePseudoHdrChecksum
  - pcpp::fnvHash
  - pcpp::fnvHash
  - pcpp::hash5Tuple
  - pcpp::hash2Tuple
  source_file: /src/PcapPlusPlus/Packet++/src/PacketUtils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GtpV1Layer::GtpExtension::GtpExtension()
  - GtpV1Layer::GtpExtension::GtpExtension(uint8_t* data, size_t dataLen, uint8_t
    type)
  - GtpV1Layer::GtpExtension::GtpExtension(const GtpExtension& other)
  - '& GtpV1Layer::GtpExtension::operator=(const GtpV1Layer::GtpExtension& other)'
  - GtpV1Layer::GtpExtension::isNull() const
  - GtpV1Layer::GtpExtension::getExtensionType() const
  - GtpV1Layer::GtpExtension::getTotalLength() const
  - GtpV1Layer::GtpExtension::getContentLength() const
  - '* GtpV1Layer::GtpExtension::getContent() const'
  - GtpV1Layer::GtpExtension::getNextExtensionHeaderType() const
  - GtpV1Layer::GtpExtension::getNextExtension() const
  - GtpV1Layer::GtpExtension::setNextHeaderType(uint8_t nextHeaderType)
  - "GtpV1Layer::GtpExtension::createGtpExtension(uint8_t* data, size_t dataLen,\n\t
    \                                                                     uint8_t
    extType, uint16_t content)"
  - pcpp::GtpV1Layer::GtpV1Layer
  - pcpp::GtpV1Layer::GtpV1Layer
  - pcpp::GtpV1Layer::init
  - pcpp::GtpV1Layer::isGTPv1
  - pcpp::GtpV1Layer::getHeaderExtra
  - pcpp::GtpV1Layer::getSequenceNumber
  - pcpp::GtpV1Layer::setSequenceNumber
  - pcpp::GtpV1Layer::getNpduNumber
  - pcpp::GtpV1Layer::setNpduNumber
  - pcpp::GtpV1Layer::getNextExtensionHeaderType
  - pcpp::GtpV1Layer::getNextExtension
  - pcpp::GtpV1Layer::addExtension
  - pcpp::GtpV1Layer::getMessageType
  - pcpp::createGtpV1MessageTypeToStringMap
  - pcpp::GtpV1Layer::getMessageTypeAsString
  - pcpp::GtpV1Layer::isGTPUMessage
  - pcpp::GtpV1Layer::isGTPCMessage
  - pcpp::GtpV1Layer::parseNextLayer
  - pcpp::GtpV1Layer::getHeaderLen
  - pcpp::GtpV1Layer::toString
  - pcpp::GtpV1Layer::computeCalculateFields
  - operator()(const GtpV2MessageType& messageType) const
  - pcpp::GtpV2MessageType::toString
  - pcpp::GtpV2MessageType::fromUintValue
  - pcpp::GtpV2InformationElement::getIEType
  - pcpp::GtpV2InformationElement::getCRFlag
  - pcpp::GtpV2InformationElement::getInstance
  - pcpp::GtpV2InformationElement::getTotalSize
  - pcpp::GtpV2InformationElement::getDataSize
  - pcpp::GtpV2InformationElementBuilder::GtpV2InformationElementBuilder
  - pcpp::GtpV2InformationElementBuilder::build
  - pcpp::GtpV2Layer::GtpV2Layer
  - pcpp::GtpV2Layer::isDataValid
  - pcpp::GtpV2Layer::getMessageType
  - pcpp::GtpV2Layer::setMessageType
  - pcpp::GtpV2Layer::getMessageLength
  - pcpp::GtpV2Layer::isPiggybacking
  - pcpp::GtpV2Layer::getTeid
  - pcpp::GtpV2Layer::setTeid
  - pcpp::GtpV2Layer::unsetTeid
  - pcpp::GtpV2Layer::getSequenceNumber
  - pcpp::GtpV2Layer::setSequenceNumber
  - pcpp::GtpV2Layer::getMessagePriority
  - pcpp::GtpV2Layer::setMessagePriority
  - pcpp::GtpV2Layer::unsetMessagePriority
  - pcpp::GtpV2Layer::getFirstInformationElement
  - pcpp::GtpV2Layer::getNextInformationElement
  - pcpp::GtpV2Layer::getInformationElement
  - pcpp::GtpV2Layer::getInformationElementCount
  - pcpp::GtpV2Layer::addInformationElement
  - pcpp::GtpV2Layer::addInformationElementAfter
  - pcpp::GtpV2Layer::removeInformationElement
  - pcpp::GtpV2Layer::removeAllInformationElements
  - pcpp::GtpV2Layer::addInformationElementAt
  - pcpp::GtpV2Layer::parseNextLayer
  - pcpp::GtpV2Layer::getHeaderLen
  - pcpp::GtpV2Layer::computeCalculateFields
  - pcpp::GtpV2Layer::toString
  - pcpp::GtpV2Layer::getIEBasePtr
  - GtpV1Layer::GtpExtension::GtpExtension()
  - GtpV1Layer::GtpExtension::GtpExtension(uint8_t* data, size_t dataLen, uint8_t
    type)
  - GtpV1Layer::GtpExtension::GtpExtension(const GtpExtension& other)
  - '& GtpV1Layer::GtpExtension::operator=(const GtpV1Layer::GtpExtension& other)'
  - GtpV1Layer::GtpExtension::isNull() const
  - GtpV1Layer::GtpExtension::getExtensionType() const
  - GtpV1Layer::GtpExtension::getTotalLength() const
  - GtpV1Layer::GtpExtension::getContentLength() const
  - '* GtpV1Layer::GtpExtension::getContent() const'
  - GtpV1Layer::GtpExtension::getNextExtensionHeaderType() const
  - GtpV1Layer::GtpExtension::getNextExtension() const
  - GtpV1Layer::GtpExtension::setNextHeaderType(uint8_t nextHeaderType)
  - "GtpV1Layer::GtpExtension::createGtpExtension(uint8_t* data, size_t dataLen,\n\t
    \                                                                     uint8_t
    extType, uint16_t content)"
  - pcpp::GtpV1Layer::GtpV1Layer
  - pcpp::GtpV1Layer::GtpV1Layer
  - pcpp::GtpV1Layer::init
  - pcpp::GtpV1Layer::isGTPv1
  - pcpp::GtpV1Layer::getHeaderExtra
  - pcpp::GtpV1Layer::getSequenceNumber
  - pcpp::GtpV1Layer::setSequenceNumber
  - pcpp::GtpV1Layer::getNpduNumber
  - pcpp::GtpV1Layer::setNpduNumber
  - pcpp::GtpV1Layer::getNextExtensionHeaderType
  - pcpp::GtpV1Layer::getNextExtension
  - pcpp::GtpV1Layer::addExtension
  - pcpp::GtpV1Layer::getMessageType
  - pcpp::createGtpV1MessageTypeToStringMap
  - pcpp::GtpV1Layer::getMessageTypeAsString
  - pcpp::GtpV1Layer::isGTPUMessage
  - pcpp::GtpV1Layer::isGTPCMessage
  - pcpp::GtpV1Layer::parseNextLayer
  - pcpp::GtpV1Layer::getHeaderLen
  - pcpp::GtpV1Layer::toString
  - pcpp::GtpV1Layer::computeCalculateFields
  - operator()(const GtpV2MessageType& messageType) const
  - pcpp::GtpV2MessageType::toString
  - pcpp::GtpV2MessageType::fromUintValue
  - pcpp::GtpV2InformationElement::getIEType
  - pcpp::GtpV2InformationElement::getCRFlag
  - pcpp::GtpV2InformationElement::getInstance
  - pcpp::GtpV2InformationElement::getTotalSize
  - pcpp::GtpV2InformationElement::getDataSize
  - pcpp::GtpV2InformationElementBuilder::GtpV2InformationElementBuilder
  - pcpp::GtpV2InformationElementBuilder::build
  - pcpp::GtpV2Layer::GtpV2Layer
  - pcpp::GtpV2Layer::isDataValid
  - pcpp::GtpV2Layer::getMessageType
  - pcpp::GtpV2Layer::setMessageType
  - pcpp::GtpV2Layer::getMessageLength
  - pcpp::GtpV2Layer::isPiggybacking
  - pcpp::GtpV2Layer::getTeid
  - pcpp::GtpV2Layer::setTeid
  - pcpp::GtpV2Layer::unsetTeid
  - pcpp::GtpV2Layer::getSequenceNumber
  - pcpp::GtpV2Layer::setSequenceNumber
  - pcpp::GtpV2Layer::getMessagePriority
  - pcpp::GtpV2Layer::setMessagePriority
  - pcpp::GtpV2Layer::unsetMessagePriority
  - pcpp::GtpV2Layer::getFirstInformationElement
  - pcpp::GtpV2Layer::getNextInformationElement
  - pcpp::GtpV2Layer::getInformationElement
  - pcpp::GtpV2Layer::getInformationElementCount
  - pcpp::GtpV2Layer::addInformationElement
  - pcpp::GtpV2Layer::addInformationElementAfter
  - pcpp::GtpV2Layer::removeInformationElement
  - pcpp::GtpV2Layer::removeAllInformationElements
  - pcpp::GtpV2Layer::addInformationElementAt
  - pcpp::GtpV2Layer::parseNextLayer
  - pcpp::GtpV2Layer::getHeaderLen
  - pcpp::GtpV2Layer::computeCalculateFields
  - pcpp::GtpV2Layer::toString
  - pcpp::GtpV2Layer::getIEBasePtr
  source_file: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
      type_or_value: PacketLogModuleGtpLayer
    structs:
    - fields: []
      item_type: struct
      name: GtpV2MessageTypeHash
      pos:
        line_end: 682
        line_start: 676
        source_file: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    - fields: []
      item_type: struct
      name: GtpV2MessageTypeHash
      pos:
        line_end: 682
        line_start: 676
        source_file: /src/PcapPlusPlus/Packet++/src/GtpLayer.cpp
    typedefs: []
    union: []
- function_names:
  - pcpp::IPv4OptionBuilder::IPv4OptionBuilder
  - pcpp::IPv4OptionBuilder::IPv4OptionBuilder
  - pcpp::IPv4OptionBuilder::build
  - pcpp::IPv4Layer::initLayer
  - pcpp::IPv4Layer::initLayerInPacket
  - pcpp::IPv4Layer::copyLayerData
  - pcpp::IPv4Layer::IPv4Layer
  - pcpp::IPv4Layer::IPv4Layer
  - pcpp::IPv4Layer::IPv4Layer
  - pcpp::IPv4Layer::IPv4Layer
  - pcpp::IPv4Layer::IPv4Layer
  - '& IPv4Layer::operator=(const IPv4Layer& other)'
  - pcpp::IPv4Layer::parseNextLayer
  - pcpp::IPv4Layer::computeCalculateFields
  - pcpp::IPv4Layer::isFragment
  - pcpp::IPv4Layer::isFirstFragment
  - pcpp::IPv4Layer::isLastFragment
  - pcpp::IPv4Layer::getFragmentFlags
  - pcpp::IPv4Layer::getFragmentOffset
  - pcpp::IPv4Layer::toString
  - pcpp::IPv4Layer::getOption
  - pcpp::IPv4Layer::getFirstOption
  - pcpp::IPv4Layer::getNextOption
  - pcpp::IPv4Layer::getOptionCount
  - pcpp::IPv4Layer::adjustOptionsTrailer
  - pcpp::IPv4Layer::addOptionAt
  - pcpp::IPv4Layer::addOption
  - pcpp::IPv4Layer::addOptionAfter
  - pcpp::IPv4Layer::removeOption
  - pcpp::IPv4Layer::removeAllOptions
  - pcpp::IPv4OptionBuilder::IPv4OptionBuilder
  - pcpp::IPv4OptionBuilder::IPv4OptionBuilder
  - pcpp::IPv4OptionBuilder::build
  - pcpp::IPv4Layer::initLayer
  - pcpp::IPv4Layer::initLayerInPacket
  - pcpp::IPv4Layer::copyLayerData
  - pcpp::IPv4Layer::IPv4Layer
  - pcpp::IPv4Layer::IPv4Layer
  - pcpp::IPv4Layer::IPv4Layer
  - pcpp::IPv4Layer::IPv4Layer
  - pcpp::IPv4Layer::IPv4Layer
  - '& IPv4Layer::operator=(const IPv4Layer& other)'
  - pcpp::IPv4Layer::parseNextLayer
  - pcpp::IPv4Layer::computeCalculateFields
  - pcpp::IPv4Layer::isFragment
  - pcpp::IPv4Layer::isFirstFragment
  - pcpp::IPv4Layer::isLastFragment
  - pcpp::IPv4Layer::getFragmentFlags
  - pcpp::IPv4Layer::getFragmentOffset
  - pcpp::IPv4Layer::toString
  - pcpp::IPv4Layer::getOption
  - pcpp::IPv4Layer::getFirstOption
  - pcpp::IPv4Layer::getNextOption
  - pcpp::IPv4Layer::getOptionCount
  - pcpp::IPv4Layer::adjustOptionsTrailer
  - pcpp::IPv4Layer::addOptionAt
  - pcpp::IPv4Layer::addOption
  - pcpp::IPv4Layer::addOptionAfter
  - pcpp::IPv4Layer::removeOption
  - pcpp::IPv4Layer::removeAllOptions
  source_file: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/IPv4Layer.cpp
      type_or_value: PacketLogModuleIPv4Layer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::LdapOperationType::toString
  - pcpp::LdapOperationType::fromUintValue
  - pcpp::LdapResultCode::toString
  - pcpp::LdapResultCode::fromUintValue
  - pcpp::LdapLayer::LdapLayer
  - pcpp::LdapLayer::LdapLayer
  - pcpp::LdapLayer::init
  - pcpp::LdapLayer::toString
  - pcpp::LdapLayer::parseLdapMessage
  - pcpp::LdapLayer::getRootAsn1Record
  - pcpp::LdapLayer::getLdapOperationAsn1Record
  - pcpp::LdapLayer::getMessageID
  - pcpp::LdapLayer::getControls
  - pcpp::LdapLayer::getLdapOperationType
  - pcpp::LdapLayer::parseNextLayer
  - pcpp::LdapResponseLayer::LdapResponseLayer
  - pcpp::LdapResponseLayer::init
  - pcpp::LdapResponseLayer::getResultCode
  - pcpp::LdapResponseLayer::getMatchedDN
  - pcpp::LdapResponseLayer::getDiagnosticMessage
  - pcpp::LdapResponseLayer::getReferral
  - pcpp::LdapResponseLayer::getExtendedInfoString
  - pcpp::LdapBindRequestLayer::LdapBindRequestLayer
  - pcpp::LdapBindRequestLayer::LdapBindRequestLayer
  - pcpp::LdapBindRequestLayer::getVersion
  - pcpp::LdapBindRequestLayer::getName
  - pcpp::LdapBindRequestLayer::getAuthenticationType
  - pcpp::LdapBindRequestLayer::getSimpleAuthentication
  - pcpp::LdapBindRequestLayer::getSaslAuthentication
  - pcpp::LdapBindRequestLayer::getExtendedInfoString
  - pcpp::LdapBindResponseLayer::LdapBindResponseLayer
  - pcpp::LdapBindResponseLayer::getServerSaslCredentials
  - pcpp::LdapUnbindRequestLayer::LdapUnbindRequestLayer
  - LdapSearchRequestLayer::SearchRequestScope::toString() const
  - LdapSearchRequestLayer::SearchRequestScope::fromUintValue(uint8_t value)
  - LdapSearchRequestLayer::DerefAliases::toString() const
  - LdapSearchRequestLayer::DerefAliases::fromUintValue(uint8_t value)
  - pcpp::LdapSearchRequestLayer::LdapSearchRequestLayer
  - pcpp::LdapSearchRequestLayer::getBaseObject
  - pcpp::LdapSearchRequestLayer::getScope
  - pcpp::LdapSearchRequestLayer::getDerefAlias
  - pcpp::LdapSearchRequestLayer::getSizeLimit
  - pcpp::LdapSearchRequestLayer::getTimeLimit
  - pcpp::LdapSearchRequestLayer::getTypesOnly
  - pcpp::LdapSearchRequestLayer::getFilter
  - pcpp::LdapSearchRequestLayer::getAttributes
  - pcpp::LdapSearchRequestLayer::getExtendedInfoString
  - pcpp::LdapSearchResultEntryLayer::LdapSearchResultEntryLayer
  - pcpp::LdapSearchResultEntryLayer::getObjectName
  - pcpp::LdapSearchResultEntryLayer::getAttributes
  - pcpp::LdapOperationType::toString
  - pcpp::LdapOperationType::fromUintValue
  - pcpp::LdapResultCode::toString
  - pcpp::LdapResultCode::fromUintValue
  - pcpp::LdapLayer::LdapLayer
  - pcpp::LdapLayer::LdapLayer
  - pcpp::LdapLayer::init
  - pcpp::LdapLayer::toString
  - pcpp::LdapLayer::parseLdapMessage
  - pcpp::LdapLayer::getRootAsn1Record
  - pcpp::LdapLayer::getLdapOperationAsn1Record
  - pcpp::LdapLayer::getMessageID
  - pcpp::LdapLayer::getControls
  - pcpp::LdapLayer::getLdapOperationType
  - pcpp::LdapLayer::parseNextLayer
  - pcpp::LdapResponseLayer::LdapResponseLayer
  - pcpp::LdapResponseLayer::init
  - pcpp::LdapResponseLayer::getResultCode
  - pcpp::LdapResponseLayer::getMatchedDN
  - pcpp::LdapResponseLayer::getDiagnosticMessage
  - pcpp::LdapResponseLayer::getReferral
  - pcpp::LdapResponseLayer::getExtendedInfoString
  - pcpp::LdapBindRequestLayer::LdapBindRequestLayer
  - pcpp::LdapBindRequestLayer::LdapBindRequestLayer
  - pcpp::LdapBindRequestLayer::getVersion
  - pcpp::LdapBindRequestLayer::getName
  - pcpp::LdapBindRequestLayer::getAuthenticationType
  - pcpp::LdapBindRequestLayer::getSimpleAuthentication
  - pcpp::LdapBindRequestLayer::getSaslAuthentication
  - pcpp::LdapBindRequestLayer::getExtendedInfoString
  - pcpp::LdapBindResponseLayer::LdapBindResponseLayer
  - pcpp::LdapBindResponseLayer::getServerSaslCredentials
  - pcpp::LdapUnbindRequestLayer::LdapUnbindRequestLayer
  - LdapSearchRequestLayer::SearchRequestScope::toString() const
  - LdapSearchRequestLayer::SearchRequestScope::fromUintValue(uint8_t value)
  - LdapSearchRequestLayer::DerefAliases::toString() const
  - LdapSearchRequestLayer::DerefAliases::fromUintValue(uint8_t value)
  - pcpp::LdapSearchRequestLayer::LdapSearchRequestLayer
  - pcpp::LdapSearchRequestLayer::getBaseObject
  - pcpp::LdapSearchRequestLayer::getScope
  - pcpp::LdapSearchRequestLayer::getDerefAlias
  - pcpp::LdapSearchRequestLayer::getSizeLimit
  - pcpp::LdapSearchRequestLayer::getTimeLimit
  - pcpp::LdapSearchRequestLayer::getTypesOnly
  - pcpp::LdapSearchRequestLayer::getFilter
  - pcpp::LdapSearchRequestLayer::getAttributes
  - pcpp::LdapSearchRequestLayer::getExtendedInfoString
  - pcpp::LdapSearchResultEntryLayer::LdapSearchResultEntryLayer
  - pcpp::LdapSearchResultEntryLayer::getObjectName
  - pcpp::LdapSearchResultEntryLayer::getAttributes
  source_file: /src/PcapPlusPlus/Packet++/src/LdapLayer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::ArpLayer::ArpLayer
  - pcpp::ArpLayer::ArpLayer
  - pcpp::ArpLayer::ArpLayer
  - pcpp::ArpLayer::ArpLayer
  - pcpp::ArpLayer::ArpLayer
  - pcpp::ArpLayer::ArpLayer
  - pcpp::ArpLayer::getOpcode
  - pcpp::ArpLayer::computeCalculateFields
  - pcpp::ArpLayer::getMessageType
  - pcpp::ArpLayer::isRequest
  - pcpp::ArpLayer::isReply
  - pcpp::ArpLayer::toString
  - pcpp::ArpLayer::ArpLayer
  - pcpp::ArpLayer::ArpLayer
  - pcpp::ArpLayer::ArpLayer
  - pcpp::ArpLayer::ArpLayer
  - pcpp::ArpLayer::ArpLayer
  - pcpp::ArpLayer::ArpLayer
  - pcpp::ArpLayer::getOpcode
  - pcpp::ArpLayer::computeCalculateFields
  - pcpp::ArpLayer::getMessageType
  - pcpp::ArpLayer::isRequest
  - pcpp::ArpLayer::isReply
  - pcpp::ArpLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/ArpLayer.cpp
      type_or_value: PacketLogModuleArpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::SSHLayer::createSSHMessage
  - pcpp::SSHLayer::parseNextLayer
  - pcpp::SSHIdentificationMessage::tryParse
  - pcpp::SSHIdentificationMessage::getIdentificationMessage
  - pcpp::SSHIdentificationMessage::toString
  - pcpp::SSHHandshakeMessage::getMessageType
  - pcpp::SSHHandshakeMessage::getMessageTypeStr
  - pcpp::SSHHandshakeMessage::getSSHHandshakeMessage
  - pcpp::SSHHandshakeMessage::getSSHHandshakeMessageLength
  - pcpp::SSHHandshakeMessage::getPaddingLength
  - pcpp::SSHHandshakeMessage::getHeaderLen
  - pcpp::SSHHandshakeMessage::toString
  - pcpp::SSHHandshakeMessage::tryParse
  - pcpp::SSHKeyExchangeInitMessage::SSHKeyExchangeInitMessage
  - pcpp::SSHKeyExchangeInitMessage::parseMessageAndInitOffsets
  - pcpp::SSHKeyExchangeInitMessage::getFieldValue
  - pcpp::SSHKeyExchangeInitMessage::getCookie
  - pcpp::SSHKeyExchangeInitMessage::getCookieAsHexStream
  - pcpp::SSHKeyExchangeInitMessage::isFirstKexPacketFollows
  - pcpp::SSHEncryptedMessage::toString
  - pcpp::SSHLayer::createSSHMessage
  - pcpp::SSHLayer::parseNextLayer
  - pcpp::SSHIdentificationMessage::tryParse
  - pcpp::SSHIdentificationMessage::getIdentificationMessage
  - pcpp::SSHIdentificationMessage::toString
  - pcpp::SSHHandshakeMessage::getMessageType
  - pcpp::SSHHandshakeMessage::getMessageTypeStr
  - pcpp::SSHHandshakeMessage::getSSHHandshakeMessage
  - pcpp::SSHHandshakeMessage::getSSHHandshakeMessageLength
  - pcpp::SSHHandshakeMessage::getPaddingLength
  - pcpp::SSHHandshakeMessage::getHeaderLen
  - pcpp::SSHHandshakeMessage::toString
  - pcpp::SSHHandshakeMessage::tryParse
  - pcpp::SSHKeyExchangeInitMessage::SSHKeyExchangeInitMessage
  - pcpp::SSHKeyExchangeInitMessage::parseMessageAndInitOffsets
  - pcpp::SSHKeyExchangeInitMessage::getFieldValue
  - pcpp::SSHKeyExchangeInitMessage::getCookie
  - pcpp::SSHKeyExchangeInitMessage::getCookieAsHexStream
  - pcpp::SSHKeyExchangeInitMessage::isFirstKexPacketFollows
  - pcpp::SSHEncryptedMessage::toString
  source_file: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/SSHLayer.cpp
      type_or_value: PacketLogModuleSSHLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::StpLayer::IDtoMacAddress
  - pcpp::StpLayer::macAddressToID
  - pcpp::StpLayer::isDataValid
  - pcpp::StpLayer::parseStpLayer
  - pcpp::StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
  - pcpp::StpTopologyChangeBPDULayer::parseNextLayer
  - pcpp::StpConfigurationBPDULayer::StpConfigurationBPDULayer
  - pcpp::StpConfigurationBPDULayer::getRootId
  - pcpp::StpConfigurationBPDULayer::setRootId
  - pcpp::StpConfigurationBPDULayer::getRootPriority
  - pcpp::StpConfigurationBPDULayer::setRootPriority
  - pcpp::StpConfigurationBPDULayer::getRootSystemIDExtension
  - pcpp::StpConfigurationBPDULayer::setRootSystemIDExtension
  - pcpp::StpConfigurationBPDULayer::setRootSystemID
  - pcpp::StpConfigurationBPDULayer::getPathCost
  - pcpp::StpConfigurationBPDULayer::setPathCost
  - pcpp::StpConfigurationBPDULayer::getBridgeId
  - pcpp::StpConfigurationBPDULayer::setBridgeId
  - pcpp::StpConfigurationBPDULayer::getBridgePriority
  - pcpp::StpConfigurationBPDULayer::setBridgePriority
  - pcpp::StpConfigurationBPDULayer::getBridgeSystemIDExtension
  - pcpp::StpConfigurationBPDULayer::setBridgeSystemIDExtension
  - pcpp::StpConfigurationBPDULayer::setBridgeSystemID
  - pcpp::StpConfigurationBPDULayer::getPortId
  - pcpp::StpConfigurationBPDULayer::setPortId
  - pcpp::StpConfigurationBPDULayer::getMessageAge
  - pcpp::StpConfigurationBPDULayer::setMessageAge
  - pcpp::StpConfigurationBPDULayer::getMaximumAge
  - pcpp::StpConfigurationBPDULayer::setMaximumAge
  - pcpp::StpConfigurationBPDULayer::getTransmissionInterval
  - pcpp::StpConfigurationBPDULayer::setTransmissionInterval
  - pcpp::StpConfigurationBPDULayer::getForwardDelay
  - pcpp::StpConfigurationBPDULayer::setForwardDelay
  - pcpp::StpConfigurationBPDULayer::parseNextLayer
  - pcpp::RapidStpLayer::RapidStpLayer
  - pcpp::RapidStpLayer::parseNextLayer
  - pcpp::MultipleStpLayer::MultipleStpLayer
  - pcpp::MultipleStpLayer::getVersion3Len
  - pcpp::MultipleStpLayer::setVersion3Len
  - pcpp::MultipleStpLayer::getCISTIrpc
  - pcpp::MultipleStpLayer::setCISTIrpc
  - pcpp::MultipleStpLayer::getCISTBridgeId
  - pcpp::MultipleStpLayer::setCISTBridgeId
  - pcpp::MultipleStpLayer::getCISTBridgePriority
  - pcpp::MultipleStpLayer::setCISTBridgePriority
  - pcpp::MultipleStpLayer::getCISTBridgeSystemIDExtension
  - pcpp::MultipleStpLayer::setCISTBridgeSystemIDExtension
  - pcpp::MultipleStpLayer::setCISTBridgeSystemID
  - pcpp::MultipleStpLayer::getMstConfigurationName
  - pcpp::MultipleStpLayer::getMstConfigRevision
  - pcpp::MultipleStpLayer::setMstConfigRevision
  - pcpp::MultipleStpLayer::setMstConfigDigest
  - pcpp::MultipleStpLayer::setMstConfigurationName
  - pcpp::MultipleStpLayer::getMstiConfMessages
  - pcpp::StpLayer::IDtoMacAddress
  - pcpp::StpLayer::macAddressToID
  - pcpp::StpLayer::isDataValid
  - pcpp::StpLayer::parseStpLayer
  - pcpp::StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
  - pcpp::StpTopologyChangeBPDULayer::parseNextLayer
  - pcpp::StpConfigurationBPDULayer::StpConfigurationBPDULayer
  - pcpp::StpConfigurationBPDULayer::getRootId
  - pcpp::StpConfigurationBPDULayer::setRootId
  - pcpp::StpConfigurationBPDULayer::getRootPriority
  - pcpp::StpConfigurationBPDULayer::setRootPriority
  - pcpp::StpConfigurationBPDULayer::getRootSystemIDExtension
  - pcpp::StpConfigurationBPDULayer::setRootSystemIDExtension
  - pcpp::StpConfigurationBPDULayer::setRootSystemID
  - pcpp::StpConfigurationBPDULayer::getPathCost
  - pcpp::StpConfigurationBPDULayer::setPathCost
  - pcpp::StpConfigurationBPDULayer::getBridgeId
  - pcpp::StpConfigurationBPDULayer::setBridgeId
  - pcpp::StpConfigurationBPDULayer::getBridgePriority
  - pcpp::StpConfigurationBPDULayer::setBridgePriority
  - pcpp::StpConfigurationBPDULayer::getBridgeSystemIDExtension
  - pcpp::StpConfigurationBPDULayer::setBridgeSystemIDExtension
  - pcpp::StpConfigurationBPDULayer::setBridgeSystemID
  - pcpp::StpConfigurationBPDULayer::getPortId
  - pcpp::StpConfigurationBPDULayer::setPortId
  - pcpp::StpConfigurationBPDULayer::getMessageAge
  - pcpp::StpConfigurationBPDULayer::setMessageAge
  - pcpp::StpConfigurationBPDULayer::getMaximumAge
  - pcpp::StpConfigurationBPDULayer::setMaximumAge
  - pcpp::StpConfigurationBPDULayer::getTransmissionInterval
  - pcpp::StpConfigurationBPDULayer::setTransmissionInterval
  - pcpp::StpConfigurationBPDULayer::getForwardDelay
  - pcpp::StpConfigurationBPDULayer::setForwardDelay
  - pcpp::StpConfigurationBPDULayer::parseNextLayer
  - pcpp::RapidStpLayer::RapidStpLayer
  - pcpp::RapidStpLayer::parseNextLayer
  - pcpp::MultipleStpLayer::MultipleStpLayer
  - pcpp::MultipleStpLayer::getVersion3Len
  - pcpp::MultipleStpLayer::setVersion3Len
  - pcpp::MultipleStpLayer::getCISTIrpc
  - pcpp::MultipleStpLayer::setCISTIrpc
  - pcpp::MultipleStpLayer::getCISTBridgeId
  - pcpp::MultipleStpLayer::setCISTBridgeId
  - pcpp::MultipleStpLayer::getCISTBridgePriority
  - pcpp::MultipleStpLayer::setCISTBridgePriority
  - pcpp::MultipleStpLayer::getCISTBridgeSystemIDExtension
  - pcpp::MultipleStpLayer::setCISTBridgeSystemIDExtension
  - pcpp::MultipleStpLayer::setCISTBridgeSystemID
  - pcpp::MultipleStpLayer::getMstConfigurationName
  - pcpp::MultipleStpLayer::getMstConfigRevision
  - pcpp::MultipleStpLayer::setMstConfigRevision
  - pcpp::MultipleStpLayer::setMstConfigDigest
  - pcpp::MultipleStpLayer::setMstConfigurationName
  - pcpp::MultipleStpLayer::getMstiConfMessages
  source_file: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/StpLayer.cpp
      type_or_value: PacketLogModuleStpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::EthLayer::EthLayer
  - pcpp::EthLayer::parseNextLayer
  - pcpp::EthLayer::computeCalculateFields
  - pcpp::EthLayer::toString
  - pcpp::EthLayer::isDataValid
  - pcpp::EthLayer::EthLayer
  - pcpp::EthLayer::parseNextLayer
  - pcpp::EthLayer::computeCalculateFields
  - pcpp::EthLayer::toString
  - pcpp::EthLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/EthLayer.cpp
      type_or_value: PacketLogModuleEthLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - Layer::~Layer()
  - pcpp::Layer::Layer
  - '& Layer::operator=(const Layer& other)'
  - pcpp::Layer::isMemberOfProtocolFamily
  - pcpp::Layer::copyData
  - pcpp::Layer::copyData
  - pcpp::Layer::allocData
  - pcpp::Layer::extendLayer
  - pcpp::Layer::shortenLayer
  - Layer::~Layer()
  - pcpp::Layer::Layer
  - '& Layer::operator=(const Layer& other)'
  - pcpp::Layer::isMemberOfProtocolFamily
  - pcpp::Layer::copyData
  - pcpp::Layer::copyData
  - pcpp::Layer::allocData
  - pcpp::Layer::extendLayer
  - pcpp::Layer::shortenLayer
  source_file: /src/PcapPlusPlus/Packet++/src/Layer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/Layer.cpp
      type_or_value: PacketLogModuleLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::splitByWhiteSpaces
  - pcpp::SdpLayer::SdpLayer
  - pcpp::SdpLayer::SdpLayer
  - pcpp::SdpLayer::SdpLayer
  - pcpp::SdpLayer::toString
  - pcpp::SdpLayer::getOwnerIPv4Address
  - pcpp::SdpLayer::getMediaPort
  - pcpp::SdpLayer::addMediaDescription
  - pcpp::splitByWhiteSpaces
  - pcpp::SdpLayer::SdpLayer
  - pcpp::SdpLayer::SdpLayer
  - pcpp::SdpLayer::SdpLayer
  - pcpp::SdpLayer::toString
  - pcpp::SdpLayer::getOwnerIPv4Address
  - pcpp::SdpLayer::getMediaPort
  - pcpp::SdpLayer::addMediaDescription
  source_file: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/SdpLayer.cpp
      type_or_value: PacketLogModuleSdpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::TpktLayer::TpktLayer
  - pcpp::TpktLayer::getReserved
  - pcpp::TpktLayer::getVersion
  - pcpp::TpktLayer::getLength
  - pcpp::TpktLayer::setLength
  - pcpp::TpktLayer::setVersion
  - pcpp::TpktLayer::toString
  - pcpp::TpktLayer::parseNextLayer
  - pcpp::TpktLayer::TpktLayer
  - pcpp::TpktLayer::getReserved
  - pcpp::TpktLayer::getVersion
  - pcpp::TpktLayer::getLength
  - pcpp::TpktLayer::setLength
  - pcpp::TpktLayer::setVersion
  - pcpp::TpktLayer::toString
  - pcpp::TpktLayer::parseNextLayer
  source_file: /src/PcapPlusPlus/Packet++/src/TpktLayer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::getTelnetSequenceType
  - pcpp::isTelnetCommand
  - pcpp::findNextIAC
  - pcpp::getTelnetSequenceType
  - pcpp::isTelnetCommand
  - pcpp::findNextIAC
  - pcpp::TelnetLayer::distanceToNextIAC
  - pcpp::TelnetLayer::getFieldLen
  - pcpp::TelnetLayer::getNextDataField
  - pcpp::TelnetLayer::getNextCommandField
  - pcpp::TelnetLayer::getSubCommand
  - pcpp::TelnetLayer::getCommandData
  - pcpp::TelnetLayer::getDataAsString
  - pcpp::TelnetLayer::getTotalNumberOfCommands
  - pcpp::TelnetLayer::getNumberOfCommands
  - pcpp::TelnetLayer::getFirstCommand
  - pcpp::TelnetLayer::getNextCommand
  - pcpp::TelnetLayer::getOption
  - pcpp::TelnetLayer::getOption
  - pcpp::TelnetLayer::getOptionData
  - pcpp::TelnetLayer::getOptionData
  - pcpp::TelnetLayer::getTelnetCommandAsString
  - pcpp::TelnetLayer::getTelnetOptionAsString
  - pcpp::TelnetLayer::toString
  - pcpp::getTelnetSequenceType
  - pcpp::isTelnetCommand
  - pcpp::findNextIAC
  - pcpp::getTelnetSequenceType
  - pcpp::isTelnetCommand
  - pcpp::findNextIAC
  - pcpp::TelnetLayer::distanceToNextIAC
  - pcpp::TelnetLayer::getFieldLen
  - pcpp::TelnetLayer::getNextDataField
  - pcpp::TelnetLayer::getNextCommandField
  - pcpp::TelnetLayer::getSubCommand
  - pcpp::TelnetLayer::getCommandData
  - pcpp::TelnetLayer::getDataAsString
  - pcpp::TelnetLayer::getTotalNumberOfCommands
  - pcpp::TelnetLayer::getNumberOfCommands
  - pcpp::TelnetLayer::getFirstCommand
  - pcpp::TelnetLayer::getNextCommand
  - pcpp::TelnetLayer::getOption
  - pcpp::TelnetLayer::getOption
  - pcpp::TelnetLayer::getOptionData
  - pcpp::TelnetLayer::getOptionData
  - pcpp::TelnetLayer::getTelnetCommandAsString
  - pcpp::TelnetLayer::getTelnetOptionAsString
  - pcpp::TelnetLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
  types:
    enum:
    - enumerators:
      - name: Unknown
      - name: UserData
      - name: Command
      item_type: enum
      name: TelnetSequenceType
      pos:
        line_end: 24
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    - enumerators:
      - name: Unknown
      - name: UserData
      - name: Command
      item_type: enum
      name: TelnetSequenceType
      pos:
        line_end: 24
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    - enumerators:
      - name: Unknown
      - name: UserData
      - name: Command
      item_type: enum
      name: TelnetSequenceType
      pos:
        line_end: 24
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    - enumerators:
      - name: Unknown
      - name: UserData
      - name: Command
      item_type: enum
      name: TelnetSequenceType
      pos:
        line_end: 24
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/TelnetLayer.cpp
      type_or_value: PacketLogModuleTelnetLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::DoIpLayer::DoIpLayer
  - pcpp::DoIpLayer::DoIpLayer
  - pcpp::DoIpLayer::isDataValid
  - pcpp::DoIpLayer::parseDoIpLayer
  - pcpp::DoIpLayer::getProtocolVersion
  - pcpp::DoIpLayer::getProtocolVersionAsStr
  - pcpp::DoIpLayer::setProtocolVersion
  - pcpp::DoIpLayer::setProtocolVersion
  - pcpp::DoIpLayer::getInvertProtocolVersion
  - pcpp::DoIpLayer::setInvertProtocolVersion
  - pcpp::DoIpLayer::setPayloadType
  - pcpp::DoIpLayer::getPayloadTypeAsStr
  - pcpp::DoIpLayer::getPayloadLength
  - pcpp::DoIpLayer::setPayloadLength
  - pcpp::DoIpLayer::toString
  - pcpp::DoIpLayer::setHeaderFields
  - pcpp::DoIpLayer::parseNextLayer
  - pcpp::DoIpGenericHeaderNack::DoIpGenericHeaderNack
  - pcpp::DoIpGenericHeaderNack::DoIpGenericHeaderNack
  - pcpp::DoIpGenericHeaderNack::getNackCode
  - pcpp::DoIpGenericHeaderNack::setNackCode
  - pcpp::DoIpGenericHeaderNack::getSummary
  - pcpp::DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest
  - pcpp::DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID
  - pcpp::DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID
  - pcpp::DoIpVehicleIdentificationRequestWithEID::getEID
  - pcpp::DoIpVehicleIdentificationRequestWithEID::setEID
  - pcpp::DoIpVehicleIdentificationRequestWithEID::getSummary
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::getVIN
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::setVIN
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::getSummary
  - pcpp::DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage
  - pcpp::DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage
  - pcpp::DoIpVehicleAnnouncementMessage::getVIN
  - pcpp::DoIpVehicleAnnouncementMessage::setVIN
  - pcpp::DoIpVehicleAnnouncementMessage::getLogicalAddress
  - pcpp::DoIpVehicleAnnouncementMessage::setLogicalAddress
  - pcpp::DoIpVehicleAnnouncementMessage::getEID
  - pcpp::DoIpVehicleAnnouncementMessage::setEID
  - pcpp::DoIpVehicleAnnouncementMessage::getGID
  - pcpp::DoIpVehicleAnnouncementMessage::setGID
  - pcpp::DoIpVehicleAnnouncementMessage::getFurtherActionRequired
  - pcpp::DoIpVehicleAnnouncementMessage::setFurtherActionRequired
  - pcpp::DoIpVehicleAnnouncementMessage::getSyncStatus
  - pcpp::DoIpVehicleAnnouncementMessage::setSyncStatus
  - pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
  - pcpp::DoIpVehicleAnnouncementMessage::clearSyncStatus
  - pcpp::DoIpVehicleAnnouncementMessage::getSummary
  - pcpp::DoIpRoutingActivationRequest::DoIpRoutingActivationRequest
  - pcpp::DoIpRoutingActivationRequest::DoIpRoutingActivationRequest
  - pcpp::DoIpRoutingActivationRequest::getSourceAddress
  - pcpp::DoIpRoutingActivationRequest::setSourceAddress
  - pcpp::DoIpRoutingActivationRequest::getActivationType
  - pcpp::DoIpRoutingActivationRequest::setActivationType
  - pcpp::DoIpRoutingActivationRequest::getReservedIso
  - pcpp::DoIpRoutingActivationRequest::setReservedIso
  - pcpp::DoIpRoutingActivationRequest::getReservedOem
  - pcpp::DoIpRoutingActivationRequest::setReservedOem
  - pcpp::DoIpRoutingActivationRequest::hasReservedOem
  - pcpp::DoIpRoutingActivationRequest::clearReservedOem
  - pcpp::DoIpRoutingActivationRequest::getSummary
  - pcpp::DoIpRoutingActivationResponse::DoIpRoutingActivationResponse
  - pcpp::DoIpRoutingActivationResponse::DoIpRoutingActivationResponse
  - pcpp::DoIpRoutingActivationResponse::getLogicalAddressExternalTester
  - pcpp::DoIpRoutingActivationResponse::setLogicalAddressExternalTester
  - pcpp::DoIpRoutingActivationResponse::getSourceAddress
  - pcpp::DoIpRoutingActivationResponse::setSourceAddress
  - pcpp::DoIpRoutingActivationResponse::getResponseCode
  - pcpp::DoIpRoutingActivationResponse::setResponseCode
  - pcpp::DoIpRoutingActivationResponse::getReservedIso
  - pcpp::DoIpRoutingActivationResponse::setReservedIso
  - pcpp::DoIpRoutingActivationResponse::getReservedOem
  - pcpp::DoIpRoutingActivationResponse::setReservedOem
  - pcpp::DoIpRoutingActivationResponse::hasReservedOem
  - pcpp::DoIpRoutingActivationResponse::clearReservedOem
  - pcpp::DoIpRoutingActivationResponse::getSummary
  - pcpp::DoIpAliveCheckRequest::DoIpAliveCheckRequest
  - pcpp::DoIpAliveCheckResponse::DoIpAliveCheckResponse
  - pcpp::DoIpAliveCheckResponse::DoIpAliveCheckResponse
  - pcpp::DoIpAliveCheckResponse::getSourceAddress
  - pcpp::DoIpAliveCheckResponse::setSourceAddress
  - pcpp::DoIpAliveCheckResponse::getSummary
  - pcpp::DoIpEntityStatusRequest::DoIpEntityStatusRequest
  - pcpp::DoIpEntityStatusResponse::DoIpEntityStatusResponse
  - pcpp::DoIpEntityStatusResponse::DoIpEntityStatusResponse
  - pcpp::DoIpEntityStatusResponse::getNodeType
  - pcpp::DoIpEntityStatusResponse::getMaxConcurrentSockets
  - pcpp::DoIpEntityStatusResponse::getCurrentlyOpenSockets
  - pcpp::DoIpEntityStatusResponse::getMaxDataSize
  - pcpp::DoIpEntityStatusResponse::setNodeType
  - pcpp::DoIpEntityStatusResponse::hasMaxDataSize
  - pcpp::DoIpEntityStatusResponse::clearMaxDataSize
  - pcpp::DoIpEntityStatusResponse::setMaxConcurrentSockets
  - pcpp::DoIpEntityStatusResponse::setCurrentlyOpenSockets
  - pcpp::DoIpEntityStatusResponse::setMaxDataSize
  - pcpp::DoIpEntityStatusResponse::getSummary
  - pcpp::DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest
  - pcpp::DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse
  - pcpp::DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse
  - pcpp::DoIpDiagnosticPowerModeResponse::getPowerModeCode
  - pcpp::DoIpDiagnosticPowerModeResponse::setPowerModeCode
  - pcpp::DoIpDiagnosticPowerModeResponse::getSummary
  - pcpp::DoIpDiagnosticBase::DoIpDiagnosticBase
  - pcpp::DoIpDiagnosticBase::getSourceAddress
  - pcpp::DoIpDiagnosticBase::setSourceAddress
  - pcpp::DoIpDiagnosticBase::getTargetAddress
  - pcpp::DoIpDiagnosticBase::setTargetAddress
  - pcpp::DoIpDiagnosticMessage::DoIpDiagnosticMessage
  - pcpp::DoIpDiagnosticMessage::DoIpDiagnosticMessage
  - pcpp::DoIpDiagnosticMessage::getDiagnosticData
  - pcpp::DoIpDiagnosticMessage::setDiagnosticData
  - pcpp::DoIpDiagnosticMessage::getSummary
  - pcpp::DoIpDiagnosticResponseMessageBase::DoIpDiagnosticResponseMessageBase
  - pcpp::DoIpDiagnosticResponseMessageBase::DoIpDiagnosticResponseMessageBase
  - pcpp::DoIpDiagnosticResponseMessageBase::setResponseCode
  - pcpp::DoIpDiagnosticResponseMessageBase::getResponseCode
  - pcpp::DoIpDiagnosticResponseMessageBase::getPreviousMessage
  - pcpp::DoIpDiagnosticResponseMessageBase::hasPreviousMessage
  - pcpp::DoIpDiagnosticResponseMessageBase::setPreviousMessage
  - pcpp::DoIpDiagnosticResponseMessageBase::clearPreviousMessage
  - pcpp::DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck
  - pcpp::DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck
  - pcpp::DoIpDiagnosticMessageAck::getAckCode
  - pcpp::DoIpDiagnosticMessageAck::setAckCode
  - pcpp::DoIpDiagnosticMessageAck::getSummary
  - pcpp::DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack
  - pcpp::DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack
  - pcpp::DoIpDiagnosticMessageNack::getNackCode
  - pcpp::DoIpDiagnosticMessageNack::setNackCode
  - pcpp::DoIpDiagnosticMessageNack::getSummary
  - pcpp::DoIpLayer::DoIpLayer
  - pcpp::DoIpLayer::DoIpLayer
  - pcpp::DoIpLayer::isDataValid
  - pcpp::DoIpLayer::parseDoIpLayer
  - pcpp::DoIpLayer::getProtocolVersion
  - pcpp::DoIpLayer::getProtocolVersionAsStr
  - pcpp::DoIpLayer::setProtocolVersion
  - pcpp::DoIpLayer::setProtocolVersion
  - pcpp::DoIpLayer::getInvertProtocolVersion
  - pcpp::DoIpLayer::setInvertProtocolVersion
  - pcpp::DoIpLayer::setPayloadType
  - pcpp::DoIpLayer::getPayloadTypeAsStr
  - pcpp::DoIpLayer::getPayloadLength
  - pcpp::DoIpLayer::setPayloadLength
  - pcpp::DoIpLayer::toString
  - pcpp::DoIpLayer::setHeaderFields
  - pcpp::DoIpLayer::parseNextLayer
  - pcpp::DoIpGenericHeaderNack::DoIpGenericHeaderNack
  - pcpp::DoIpGenericHeaderNack::DoIpGenericHeaderNack
  - pcpp::DoIpGenericHeaderNack::getNackCode
  - pcpp::DoIpGenericHeaderNack::setNackCode
  - pcpp::DoIpGenericHeaderNack::getSummary
  - pcpp::DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest
  - pcpp::DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID
  - pcpp::DoIpVehicleIdentificationRequestWithEID::DoIpVehicleIdentificationRequestWithEID
  - pcpp::DoIpVehicleIdentificationRequestWithEID::getEID
  - pcpp::DoIpVehicleIdentificationRequestWithEID::setEID
  - pcpp::DoIpVehicleIdentificationRequestWithEID::getSummary
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::DoIpVehicleIdentificationRequestWithVIN
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::getVIN
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::setVIN
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::getSummary
  - pcpp::DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage
  - pcpp::DoIpVehicleAnnouncementMessage::DoIpVehicleAnnouncementMessage
  - pcpp::DoIpVehicleAnnouncementMessage::getVIN
  - pcpp::DoIpVehicleAnnouncementMessage::setVIN
  - pcpp::DoIpVehicleAnnouncementMessage::getLogicalAddress
  - pcpp::DoIpVehicleAnnouncementMessage::setLogicalAddress
  - pcpp::DoIpVehicleAnnouncementMessage::getEID
  - pcpp::DoIpVehicleAnnouncementMessage::setEID
  - pcpp::DoIpVehicleAnnouncementMessage::getGID
  - pcpp::DoIpVehicleAnnouncementMessage::setGID
  - pcpp::DoIpVehicleAnnouncementMessage::getFurtherActionRequired
  - pcpp::DoIpVehicleAnnouncementMessage::setFurtherActionRequired
  - pcpp::DoIpVehicleAnnouncementMessage::getSyncStatus
  - pcpp::DoIpVehicleAnnouncementMessage::setSyncStatus
  - pcpp::DoIpVehicleAnnouncementMessage::hasSyncStatus
  - pcpp::DoIpVehicleAnnouncementMessage::clearSyncStatus
  - pcpp::DoIpVehicleAnnouncementMessage::getSummary
  - pcpp::DoIpRoutingActivationRequest::DoIpRoutingActivationRequest
  - pcpp::DoIpRoutingActivationRequest::DoIpRoutingActivationRequest
  - pcpp::DoIpRoutingActivationRequest::getSourceAddress
  - pcpp::DoIpRoutingActivationRequest::setSourceAddress
  - pcpp::DoIpRoutingActivationRequest::getActivationType
  - pcpp::DoIpRoutingActivationRequest::setActivationType
  - pcpp::DoIpRoutingActivationRequest::getReservedIso
  - pcpp::DoIpRoutingActivationRequest::setReservedIso
  - pcpp::DoIpRoutingActivationRequest::getReservedOem
  - pcpp::DoIpRoutingActivationRequest::setReservedOem
  - pcpp::DoIpRoutingActivationRequest::hasReservedOem
  - pcpp::DoIpRoutingActivationRequest::clearReservedOem
  - pcpp::DoIpRoutingActivationRequest::getSummary
  - pcpp::DoIpRoutingActivationResponse::DoIpRoutingActivationResponse
  - pcpp::DoIpRoutingActivationResponse::DoIpRoutingActivationResponse
  - pcpp::DoIpRoutingActivationResponse::getLogicalAddressExternalTester
  - pcpp::DoIpRoutingActivationResponse::setLogicalAddressExternalTester
  - pcpp::DoIpRoutingActivationResponse::getSourceAddress
  - pcpp::DoIpRoutingActivationResponse::setSourceAddress
  - pcpp::DoIpRoutingActivationResponse::getResponseCode
  - pcpp::DoIpRoutingActivationResponse::setResponseCode
  - pcpp::DoIpRoutingActivationResponse::getReservedIso
  - pcpp::DoIpRoutingActivationResponse::setReservedIso
  - pcpp::DoIpRoutingActivationResponse::getReservedOem
  - pcpp::DoIpRoutingActivationResponse::setReservedOem
  - pcpp::DoIpRoutingActivationResponse::hasReservedOem
  - pcpp::DoIpRoutingActivationResponse::clearReservedOem
  - pcpp::DoIpRoutingActivationResponse::getSummary
  - pcpp::DoIpAliveCheckRequest::DoIpAliveCheckRequest
  - pcpp::DoIpAliveCheckResponse::DoIpAliveCheckResponse
  - pcpp::DoIpAliveCheckResponse::DoIpAliveCheckResponse
  - pcpp::DoIpAliveCheckResponse::getSourceAddress
  - pcpp::DoIpAliveCheckResponse::setSourceAddress
  - pcpp::DoIpAliveCheckResponse::getSummary
  - pcpp::DoIpEntityStatusRequest::DoIpEntityStatusRequest
  - pcpp::DoIpEntityStatusResponse::DoIpEntityStatusResponse
  - pcpp::DoIpEntityStatusResponse::DoIpEntityStatusResponse
  - pcpp::DoIpEntityStatusResponse::getNodeType
  - pcpp::DoIpEntityStatusResponse::getMaxConcurrentSockets
  - pcpp::DoIpEntityStatusResponse::getCurrentlyOpenSockets
  - pcpp::DoIpEntityStatusResponse::getMaxDataSize
  - pcpp::DoIpEntityStatusResponse::setNodeType
  - pcpp::DoIpEntityStatusResponse::hasMaxDataSize
  - pcpp::DoIpEntityStatusResponse::clearMaxDataSize
  - pcpp::DoIpEntityStatusResponse::setMaxConcurrentSockets
  - pcpp::DoIpEntityStatusResponse::setCurrentlyOpenSockets
  - pcpp::DoIpEntityStatusResponse::setMaxDataSize
  - pcpp::DoIpEntityStatusResponse::getSummary
  - pcpp::DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest
  - pcpp::DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse
  - pcpp::DoIpDiagnosticPowerModeResponse::DoIpDiagnosticPowerModeResponse
  - pcpp::DoIpDiagnosticPowerModeResponse::getPowerModeCode
  - pcpp::DoIpDiagnosticPowerModeResponse::setPowerModeCode
  - pcpp::DoIpDiagnosticPowerModeResponse::getSummary
  - pcpp::DoIpDiagnosticBase::DoIpDiagnosticBase
  - pcpp::DoIpDiagnosticBase::getSourceAddress
  - pcpp::DoIpDiagnosticBase::setSourceAddress
  - pcpp::DoIpDiagnosticBase::getTargetAddress
  - pcpp::DoIpDiagnosticBase::setTargetAddress
  - pcpp::DoIpDiagnosticMessage::DoIpDiagnosticMessage
  - pcpp::DoIpDiagnosticMessage::DoIpDiagnosticMessage
  - pcpp::DoIpDiagnosticMessage::getDiagnosticData
  - pcpp::DoIpDiagnosticMessage::setDiagnosticData
  - pcpp::DoIpDiagnosticMessage::getSummary
  - pcpp::DoIpDiagnosticResponseMessageBase::DoIpDiagnosticResponseMessageBase
  - pcpp::DoIpDiagnosticResponseMessageBase::DoIpDiagnosticResponseMessageBase
  - pcpp::DoIpDiagnosticResponseMessageBase::setResponseCode
  - pcpp::DoIpDiagnosticResponseMessageBase::getResponseCode
  - pcpp::DoIpDiagnosticResponseMessageBase::getPreviousMessage
  - pcpp::DoIpDiagnosticResponseMessageBase::hasPreviousMessage
  - pcpp::DoIpDiagnosticResponseMessageBase::setPreviousMessage
  - pcpp::DoIpDiagnosticResponseMessageBase::clearPreviousMessage
  - pcpp::DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck
  - pcpp::DoIpDiagnosticMessageAck::DoIpDiagnosticMessageAck
  - pcpp::DoIpDiagnosticMessageAck::getAckCode
  - pcpp::DoIpDiagnosticMessageAck::setAckCode
  - pcpp::DoIpDiagnosticMessageAck::getSummary
  - pcpp::DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack
  - pcpp::DoIpDiagnosticMessageNack::DoIpDiagnosticMessageNack
  - pcpp::DoIpDiagnosticMessageNack::getNackCode
  - pcpp::DoIpDiagnosticMessageNack::setNackCode
  - pcpp::DoIpDiagnosticMessageNack::getSummary
  source_file: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/DoIpLayer.cpp
      type_or_value: PacketLogModuleDoIpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::PacketTrailerLayer::getTrailerDataAsHexString
  - pcpp::PacketTrailerLayer::toString
  - pcpp::PacketTrailerLayer::getTrailerDataAsHexString
  - pcpp::PacketTrailerLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/PacketTrailerLayer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::SmtpRequestLayer::setCommand
  - pcpp::SmtpRequestLayer::getCommand
  - pcpp::SmtpRequestLayer::getCommandString
  - pcpp::SmtpRequestLayer::setCommandOption
  - pcpp::SmtpRequestLayer::getCommandOption
  - pcpp::SmtpRequestLayer::getCommandInfo
  - pcpp::SmtpRequestLayer::getCommandAsString
  - pcpp::SmtpRequestLayer::toString
  - pcpp::SmtpResponseLayer::setStatusCode
  - pcpp::SmtpResponseLayer::getStatusCode
  - pcpp::SmtpResponseLayer::getStatusCodeString
  - pcpp::SmtpResponseLayer::setStatusOption
  - pcpp::SmtpResponseLayer::getStatusOption
  - pcpp::SmtpResponseLayer::getStatusCodeAsString
  - pcpp::SmtpResponseLayer::toString
  - pcpp::SmtpRequestLayer::setCommand
  - pcpp::SmtpRequestLayer::getCommand
  - pcpp::SmtpRequestLayer::getCommandString
  - pcpp::SmtpRequestLayer::setCommandOption
  - pcpp::SmtpRequestLayer::getCommandOption
  - pcpp::SmtpRequestLayer::getCommandInfo
  - pcpp::SmtpRequestLayer::getCommandAsString
  - pcpp::SmtpRequestLayer::toString
  - pcpp::SmtpResponseLayer::setStatusCode
  - pcpp::SmtpResponseLayer::getStatusCode
  - pcpp::SmtpResponseLayer::getStatusCodeString
  - pcpp::SmtpResponseLayer::setStatusOption
  - pcpp::SmtpResponseLayer::getStatusOption
  - pcpp::SmtpResponseLayer::getStatusCodeAsString
  - pcpp::SmtpResponseLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/SmtpLayer.cpp
      type_or_value: PacketLogModuleSmtpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::NflogLayer::getFamily
  - pcpp::NflogLayer::getVersion
  - pcpp::NflogLayer::getResourceId
  - pcpp::NflogLayer::getTlvByType
  - pcpp::NflogLayer::parseNextLayer
  - pcpp::NflogLayer::getHeaderLen
  - pcpp::NflogLayer::toString
  - pcpp::NflogLayer::isDataValid
  - pcpp::NflogLayer::getFamily
  - pcpp::NflogLayer::getVersion
  - pcpp::NflogLayer::getResourceId
  - pcpp::NflogLayer::getTlvByType
  - pcpp::NflogLayer::parseNextLayer
  - pcpp::NflogLayer::getHeaderLen
  - pcpp::NflogLayer::toString
  - pcpp::NflogLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/NflogLayer.cpp
      type_or_value: PacketLogModuleNflogLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - BSWAP16
  - BSWAP32
  - pcpp::NullLoopbackLayer::NullLoopbackLayer
  - pcpp::NullLoopbackLayer::getFamily
  - pcpp::NullLoopbackLayer::setFamily
  - pcpp::NullLoopbackLayer::parseNextLayer
  - pcpp::NullLoopbackLayer::toString
  - BSWAP16
  - BSWAP32
  - pcpp::NullLoopbackLayer::NullLoopbackLayer
  - pcpp::NullLoopbackLayer::getFamily
  - pcpp::NullLoopbackLayer::setFamily
  - pcpp::NullLoopbackLayer::parseNextLayer
  - pcpp::NullLoopbackLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/NullLoopbackLayer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::IPv6Layer::initLayer
  - pcpp::IPv6Layer::IPv6Layer
  - pcpp::IPv6Layer::IPv6Layer
  - pcpp::IPv6Layer::IPv6Layer
  - pcpp::IPv6Layer::IPv6Layer
  - IPv6Layer::~IPv6Layer()
  - '& IPv6Layer::operator=(const IPv6Layer& other)'
  - pcpp::IPv6Layer::parseExtensions
  - pcpp::IPv6Layer::deleteExtensions
  - pcpp::IPv6Layer::getExtensionCount
  - pcpp::IPv6Layer::removeAllExtensions
  - pcpp::IPv6Layer::isFragment
  - pcpp::IPv6Layer::parseNextLayer
  - pcpp::IPv6Layer::computeCalculateFields
  - pcpp::IPv6Layer::toString
  - pcpp::IPv6Layer::initLayer
  - pcpp::IPv6Layer::IPv6Layer
  - pcpp::IPv6Layer::IPv6Layer
  - pcpp::IPv6Layer::IPv6Layer
  - pcpp::IPv6Layer::IPv6Layer
  - IPv6Layer::~IPv6Layer()
  - '& IPv6Layer::operator=(const IPv6Layer& other)'
  - pcpp::IPv6Layer::parseExtensions
  - pcpp::IPv6Layer::deleteExtensions
  - pcpp::IPv6Layer::getExtensionCount
  - pcpp::IPv6Layer::removeAllExtensions
  - pcpp::IPv6Layer::isFragment
  - pcpp::IPv6Layer::parseNextLayer
  - pcpp::IPv6Layer::computeCalculateFields
  - pcpp::IPv6Layer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/IPv6Layer.cpp
      type_or_value: PacketLogModuleIPv6Layer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::Packet::Packet
  - pcpp::Packet::Packet
  - pcpp::Packet::setRawPacket
  - pcpp::Packet::parsePacket
  - pcpp::Packet::Packet
  - pcpp::Packet::Packet
  - pcpp::Packet::Packet
  - pcpp::Packet::Packet
  - pcpp::Packet::Packet
  - pcpp::Packet::destructPacketData
  - pcpp::Packet::destroyAllLayers
  - '& Packet::operator=(const Packet& other)'
  - pcpp::Packet::copyDataFrom
  - pcpp::Packet::reallocateRawData
  - pcpp::Packet::insertLayer
  - pcpp::Packet::removeLayer
  - pcpp::Packet::removeFirstLayer
  - pcpp::Packet::removeLastLayer
  - pcpp::Packet::removeAllLayersAfter
  - pcpp::Packet::detachLayer
  - pcpp::Packet::removeLayer
  - pcpp::Packet::getLayerOfType
  - pcpp::Packet::isPacketOfType
  - pcpp::Packet::isPacketOfType
  - pcpp::Packet::extendLayer
  - pcpp::Packet::shortenLayer
  - pcpp::Packet::computeCalculateFields
  - pcpp::Packet::printPacketInfo
  - pcpp::Packet::createFirstLayer
  - pcpp::Packet::toString
  - pcpp::Packet::toStringList
  - pcpp::Packet::Packet
  - pcpp::Packet::Packet
  - pcpp::Packet::setRawPacket
  - pcpp::Packet::parsePacket
  - pcpp::Packet::Packet
  - pcpp::Packet::Packet
  - pcpp::Packet::Packet
  - pcpp::Packet::Packet
  - pcpp::Packet::Packet
  - pcpp::Packet::destructPacketData
  - pcpp::Packet::destroyAllLayers
  - '& Packet::operator=(const Packet& other)'
  - pcpp::Packet::copyDataFrom
  - pcpp::Packet::reallocateRawData
  - pcpp::Packet::insertLayer
  - pcpp::Packet::removeLayer
  - pcpp::Packet::removeFirstLayer
  - pcpp::Packet::removeLastLayer
  - pcpp::Packet::removeAllLayersAfter
  - pcpp::Packet::detachLayer
  - pcpp::Packet::removeLayer
  - pcpp::Packet::getLayerOfType
  - pcpp::Packet::isPacketOfType
  - pcpp::Packet::isPacketOfType
  - pcpp::Packet::extendLayer
  - pcpp::Packet::shortenLayer
  - pcpp::Packet::computeCalculateFields
  - pcpp::Packet::printPacketInfo
  - pcpp::Packet::createFirstLayer
  - pcpp::Packet::toString
  - pcpp::Packet::toStringList
  source_file: /src/PcapPlusPlus/Packet++/src/Packet.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/Packet.cpp
      type_or_value: PacketLogModulePacket
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::GreLayer::getGREVersion
  - pcpp::GreLayer::getFieldValue
  - pcpp::GreLayer::computeCalculateFieldsInner
  - pcpp::GreLayer::getSequenceNumber
  - pcpp::GreLayer::setSequenceNumber
  - pcpp::GreLayer::unsetSequenceNumber
  - pcpp::GreLayer::parseNextLayer
  - pcpp::GreLayer::getHeaderLen
  - pcpp::GREv0Layer::GREv0Layer
  - pcpp::GREv0Layer::getChecksum
  - pcpp::GREv0Layer::setChecksum
  - pcpp::GREv0Layer::unsetChecksum
  - pcpp::GREv0Layer::getOffset
  - pcpp::GREv0Layer::getKey
  - pcpp::GREv0Layer::setKey
  - pcpp::GREv0Layer::unsetKey
  - pcpp::GREv0Layer::computeCalculateFields
  - pcpp::GREv0Layer::toString
  - pcpp::GREv1Layer::GREv1Layer
  - pcpp::GREv1Layer::getAcknowledgmentNum
  - pcpp::GREv1Layer::setAcknowledgmentNum
  - pcpp::GREv1Layer::unsetAcknowledgmentNum
  - pcpp::GREv1Layer::computeCalculateFields
  - pcpp::GREv1Layer::toString
  - pcpp::PPP_PPTPLayer::PPP_PPTPLayer
  - pcpp::PPP_PPTPLayer::parseNextLayer
  - pcpp::PPP_PPTPLayer::computeCalculateFields
  - pcpp::GreLayer::getGREVersion
  - pcpp::GreLayer::getFieldValue
  - pcpp::GreLayer::computeCalculateFieldsInner
  - pcpp::GreLayer::getSequenceNumber
  - pcpp::GreLayer::setSequenceNumber
  - pcpp::GreLayer::unsetSequenceNumber
  - pcpp::GreLayer::parseNextLayer
  - pcpp::GreLayer::getHeaderLen
  - pcpp::GREv0Layer::GREv0Layer
  - pcpp::GREv0Layer::getChecksum
  - pcpp::GREv0Layer::setChecksum
  - pcpp::GREv0Layer::unsetChecksum
  - pcpp::GREv0Layer::getOffset
  - pcpp::GREv0Layer::getKey
  - pcpp::GREv0Layer::setKey
  - pcpp::GREv0Layer::unsetKey
  - pcpp::GREv0Layer::computeCalculateFields
  - pcpp::GREv0Layer::toString
  - pcpp::GREv1Layer::GREv1Layer
  - pcpp::GREv1Layer::getAcknowledgmentNum
  - pcpp::GREv1Layer::setAcknowledgmentNum
  - pcpp::GREv1Layer::unsetAcknowledgmentNum
  - pcpp::GREv1Layer::computeCalculateFields
  - pcpp::GREv1Layer::toString
  - pcpp::PPP_PPTPLayer::PPP_PPTPLayer
  - pcpp::PPP_PPTPLayer::parseNextLayer
  - pcpp::PPP_PPTPLayer::computeCalculateFields
  source_file: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/GreLayer.cpp
      type_or_value: PacketLogModuleGreLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::NdpOptionBuilder::build
  - pcpp::NDPLayerBase::getNdpOptionCount
  - pcpp::NDPLayerBase::getFirstNdpOption
  - pcpp::NDPLayerBase::getNextNdpOption
  - pcpp::NDPLayerBase::getNdpOption
  - pcpp::NDPLayerBase::addNdpOption
  - pcpp::NDPLayerBase::addNdpOptionAt
  - pcpp::NDPLayerBase::removeAllNdpOptions
  - pcpp::NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
  - pcpp::NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
  - pcpp::NDPNeighborSolicitationLayer::initLayer
  - pcpp::NDPNeighborSolicitationLayer::hasLinkLayerAddress
  - pcpp::NDPNeighborSolicitationLayer::getLinkLayerAddress
  - pcpp::NDPNeighborSolicitationLayer::toString
  - pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
  - pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
  - pcpp::NDPNeighborAdvertisementLayer::initLayer
  - pcpp::NDPNeighborAdvertisementLayer::hasTargetMacInfo
  - pcpp::NDPNeighborAdvertisementLayer::getTargetMac
  - pcpp::NDPNeighborAdvertisementLayer::toString
  - pcpp::NdpOptionBuilder::build
  - pcpp::NDPLayerBase::getNdpOptionCount
  - pcpp::NDPLayerBase::getFirstNdpOption
  - pcpp::NDPLayerBase::getNextNdpOption
  - pcpp::NDPLayerBase::getNdpOption
  - pcpp::NDPLayerBase::addNdpOption
  - pcpp::NDPLayerBase::addNdpOptionAt
  - pcpp::NDPLayerBase::removeAllNdpOptions
  - pcpp::NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
  - pcpp::NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
  - pcpp::NDPNeighborSolicitationLayer::initLayer
  - pcpp::NDPNeighborSolicitationLayer::hasLinkLayerAddress
  - pcpp::NDPNeighborSolicitationLayer::getLinkLayerAddress
  - pcpp::NDPNeighborSolicitationLayer::toString
  - pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
  - pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
  - pcpp::NDPNeighborAdvertisementLayer::initLayer
  - pcpp::NDPNeighborAdvertisementLayer::hasTargetMacInfo
  - pcpp::NDPNeighborAdvertisementLayer::getTargetMac
  - pcpp::NDPNeighborAdvertisementLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/NdpLayer.cpp
      type_or_value: PacketLogModuleNdpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::PPPoELayer::PPPoELayer
  - pcpp::PPPoELayer::computeCalculateFields
  - pcpp::PPPoESessionLayer::parseNextLayer
  - pcpp::PPPoESessionLayer::getPPPNextProtocol
  - pcpp::PPPoESessionLayer::setPPPNextProtocol
  - pcpp::createPPPNextProtoToStringMap
  - pcpp::PPPoESessionLayer::toString
  - PPPoEDiscoveryLayer::PPPoETag::getType() const
  - PPPoEDiscoveryLayer::PPPoETag::getTotalSize() const
  - PPPoEDiscoveryLayer::PPPoETag::getDataSize() const
  - PPPoEDiscoveryLayer::PPPoETagBuilder::build() const
  - pcpp::PPPoEDiscoveryLayer::getTag
  - pcpp::PPPoEDiscoveryLayer::getFirstTag
  - pcpp::PPPoEDiscoveryLayer::getNextTag
  - pcpp::PPPoEDiscoveryLayer::getTagCount
  - pcpp::PPPoEDiscoveryLayer::addTagAt
  - pcpp::PPPoEDiscoveryLayer::addTagAfter
  - pcpp::PPPoEDiscoveryLayer::addTag
  - pcpp::PPPoEDiscoveryLayer::getHeaderLen
  - pcpp::PPPoEDiscoveryLayer::removeTag
  - pcpp::PPPoEDiscoveryLayer::removeAllTags
  - pcpp::PPPoEDiscoveryLayer::codeToString
  - pcpp::PPPoELayer::PPPoELayer
  - pcpp::PPPoELayer::computeCalculateFields
  - pcpp::PPPoESessionLayer::parseNextLayer
  - pcpp::PPPoESessionLayer::getPPPNextProtocol
  - pcpp::PPPoESessionLayer::setPPPNextProtocol
  - pcpp::createPPPNextProtoToStringMap
  - pcpp::PPPoESessionLayer::toString
  - PPPoEDiscoveryLayer::PPPoETag::getType() const
  - PPPoEDiscoveryLayer::PPPoETag::getTotalSize() const
  - PPPoEDiscoveryLayer::PPPoETag::getDataSize() const
  - PPPoEDiscoveryLayer::PPPoETagBuilder::build() const
  - pcpp::PPPoEDiscoveryLayer::getTag
  - pcpp::PPPoEDiscoveryLayer::getFirstTag
  - pcpp::PPPoEDiscoveryLayer::getNextTag
  - pcpp::PPPoEDiscoveryLayer::getTagCount
  - pcpp::PPPoEDiscoveryLayer::addTagAt
  - pcpp::PPPoEDiscoveryLayer::addTagAfter
  - pcpp::PPPoEDiscoveryLayer::addTag
  - pcpp::PPPoEDiscoveryLayer::getHeaderLen
  - pcpp::PPPoEDiscoveryLayer::removeTag
  - pcpp::PPPoEDiscoveryLayer::removeAllTags
  - pcpp::PPPoEDiscoveryLayer::codeToString
  source_file: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/PPPoELayer.cpp
      type_or_value: PacketLogModulePPPoELayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::MySqlMessageType::toString
  - pcpp::MySqlMessageType::getOrigin
  - pcpp::MySqlMessage::getMessageLength
  - pcpp::MySqlMessage::getPacketNumber
  - pcpp::MySqlMessage::parseMySqlMessage
  - pcpp::MySqlMessage::getRawPayload
  - pcpp::MySqlCommandMessage::getMessageLength
  - pcpp::MySqlCommandMessage::getRawPayload
  - pcpp::MySqlQueryMessage::getQuery
  - pcpp::MySqlErrorMessage::getErrorCode
  - pcpp::MySqlErrorMessage::getSqlState
  - pcpp::MySqlErrorMessage::getErrorMessage
  - pcpp::MySqlLayer::parseMySqlClientMessage
  - pcpp::MySqlLayer::parseMySqlServerMessage
  - '& MySqlLayer::getMySqlMessages() const'
  - pcpp::MySqlLayer::getMySqlMessage
  - pcpp::MySqlLayer::toString
  - pcpp::MySqlMessageType::toString
  - pcpp::MySqlMessageType::getOrigin
  - pcpp::MySqlMessage::getMessageLength
  - pcpp::MySqlMessage::getPacketNumber
  - pcpp::MySqlMessage::parseMySqlMessage
  - pcpp::MySqlMessage::getRawPayload
  - pcpp::MySqlCommandMessage::getMessageLength
  - pcpp::MySqlCommandMessage::getRawPayload
  - pcpp::MySqlQueryMessage::getQuery
  - pcpp::MySqlErrorMessage::getErrorCode
  - pcpp::MySqlErrorMessage::getSqlState
  - pcpp::MySqlErrorMessage::getErrorMessage
  - pcpp::MySqlLayer::parseMySqlClientMessage
  - pcpp::MySqlLayer::parseMySqlServerMessage
  - '& MySqlLayer::getMySqlMessages() const'
  - pcpp::MySqlLayer::getMySqlMessage
  - pcpp::MySqlLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/MySqlLayer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::BgpLayer::getHeaderLen
  - pcpp::BgpLayer::parseBgpLayer
  - pcpp::BgpLayer::getMessageTypeAsString
  - pcpp::BgpLayer::parseNextLayer
  - pcpp::BgpLayer::toString
  - pcpp::BgpLayer::computeCalculateFields
  - pcpp::BgpLayer::setBgpFields
  - pcpp::BgpLayer::extendLayer
  - pcpp::BgpLayer::shortenLayer
  - BgpOpenMessageLayer::optional_parameter::optional_parameter(uint8_t typeVal, const
    std::string& valueAsHexString)
  - pcpp::BgpOpenMessageLayer::isDataValid
  - pcpp::BgpOpenMessageLayer::BgpOpenMessageLayer
  - pcpp::BgpOpenMessageLayer::optionalParamsToByteArray
  - pcpp::BgpOpenMessageLayer::setBgpId
  - pcpp::BgpOpenMessageLayer::getOptionalParameters
  - pcpp::BgpOpenMessageLayer::getOptionalParametersLength
  - pcpp::BgpOpenMessageLayer::setOptionalParameters
  - pcpp::BgpOpenMessageLayer::clearOptionalParameters
  - "BgpUpdateMessageLayer::path_attribute::path_attribute(uint8_t flagsVal, uint8_t
    typeVal,\n\t                                                      const std::string&
    dataAsHexString)"
  - pcpp::BgpUpdateMessageLayer::BgpUpdateMessageLayer
  - pcpp::BgpUpdateMessageLayer::parsePrefixAndIPData
  - pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
  - pcpp::BgpUpdateMessageLayer::pathAttributesToByteArray
  - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
  - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutes
  - pcpp::BgpUpdateMessageLayer::getPathAttributesLength
  - pcpp::BgpUpdateMessageLayer::setWithdrawnRoutes
  - pcpp::BgpUpdateMessageLayer::clearWithdrawnRoutes
  - pcpp::BgpUpdateMessageLayer::getPathAttributes
  - pcpp::BgpUpdateMessageLayer::setPathAttributes
  - pcpp::BgpUpdateMessageLayer::clearPathAttributes
  - pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfoLength
  - pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfo
  - pcpp::BgpUpdateMessageLayer::isDataValid
  - pcpp::BgpUpdateMessageLayer::setNetworkLayerReachabilityInfo
  - pcpp::BgpUpdateMessageLayer::clearNetworkLayerReachabilityInfo
  - pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
  - pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
  - pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
  - pcpp::BgpNotificationMessageLayer::initMessageData
  - pcpp::BgpNotificationMessageLayer::getNotificationDataLen
  - pcpp::BgpNotificationMessageLayer::getNotificationData
  - pcpp::BgpNotificationMessageLayer::getNotificationDataAsHexString
  - pcpp::BgpNotificationMessageLayer::setNotificationData
  - pcpp::BgpNotificationMessageLayer::setNotificationData
  - pcpp::BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer
  - pcpp::BgpRouteRefreshMessageLayer::BgpRouteRefreshMessageLayer
  - pcpp::BgpLayer::getHeaderLen
  - pcpp::BgpLayer::parseBgpLayer
  - pcpp::BgpLayer::getMessageTypeAsString
  - pcpp::BgpLayer::parseNextLayer
  - pcpp::BgpLayer::toString
  - pcpp::BgpLayer::computeCalculateFields
  - pcpp::BgpLayer::setBgpFields
  - pcpp::BgpLayer::extendLayer
  - pcpp::BgpLayer::shortenLayer
  - BgpOpenMessageLayer::optional_parameter::optional_parameter(uint8_t typeVal, const
    std::string& valueAsHexString)
  - pcpp::BgpOpenMessageLayer::isDataValid
  - pcpp::BgpOpenMessageLayer::BgpOpenMessageLayer
  - pcpp::BgpOpenMessageLayer::optionalParamsToByteArray
  - pcpp::BgpOpenMessageLayer::setBgpId
  - pcpp::BgpOpenMessageLayer::getOptionalParameters
  - pcpp::BgpOpenMessageLayer::getOptionalParametersLength
  - pcpp::BgpOpenMessageLayer::setOptionalParameters
  - pcpp::BgpOpenMessageLayer::clearOptionalParameters
  - "BgpUpdateMessageLayer::path_attribute::path_attribute(uint8_t flagsVal, uint8_t
    typeVal,\n\t                                                      const std::string&
    dataAsHexString)"
  - pcpp::BgpUpdateMessageLayer::BgpUpdateMessageLayer
  - pcpp::BgpUpdateMessageLayer::parsePrefixAndIPData
  - pcpp::BgpUpdateMessageLayer::prefixAndIPDataToByteArray
  - pcpp::BgpUpdateMessageLayer::pathAttributesToByteArray
  - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutesLength
  - pcpp::BgpUpdateMessageLayer::getWithdrawnRoutes
  - pcpp::BgpUpdateMessageLayer::getPathAttributesLength
  - pcpp::BgpUpdateMessageLayer::setWithdrawnRoutes
  - pcpp::BgpUpdateMessageLayer::clearWithdrawnRoutes
  - pcpp::BgpUpdateMessageLayer::getPathAttributes
  - pcpp::BgpUpdateMessageLayer::setPathAttributes
  - pcpp::BgpUpdateMessageLayer::clearPathAttributes
  - pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfoLength
  - pcpp::BgpUpdateMessageLayer::getNetworkLayerReachabilityInfo
  - pcpp::BgpUpdateMessageLayer::isDataValid
  - pcpp::BgpUpdateMessageLayer::setNetworkLayerReachabilityInfo
  - pcpp::BgpUpdateMessageLayer::clearNetworkLayerReachabilityInfo
  - pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
  - pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
  - pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
  - pcpp::BgpNotificationMessageLayer::initMessageData
  - pcpp::BgpNotificationMessageLayer::getNotificationDataLen
  - pcpp::BgpNotificationMessageLayer::getNotificationData
  - pcpp::BgpNotificationMessageLayer::getNotificationDataAsHexString
  - pcpp::BgpNotificationMessageLayer::setNotificationData
  - pcpp::BgpNotificationMessageLayer::setNotificationData
  - pcpp::BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer
  - pcpp::BgpRouteRefreshMessageLayer::BgpRouteRefreshMessageLayer
  source_file: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/BgpLayer.cpp
      type_or_value: PacketLogModuleBgpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::DhcpOptionBuilder::build
  - pcpp::DhcpLayer::DhcpLayer
  - pcpp::DhcpLayer::initDhcpLayer
  - pcpp::DhcpLayer::DhcpLayer
  - pcpp::DhcpLayer::DhcpLayer
  - pcpp::DhcpLayer::getClientHardwareAddress
  - pcpp::DhcpLayer::setClientHardwareAddress
  - pcpp::DhcpLayer::computeCalculateFields
  - pcpp::DhcpLayer::toString
  - pcpp::DhcpLayer::getMessageType
  - pcpp::DhcpLayer::setMessageType
  - pcpp::DhcpLayer::getOptionData
  - pcpp::DhcpLayer::getFirstOptionData
  - pcpp::DhcpLayer::getNextOptionData
  - pcpp::DhcpLayer::getOptionsCount
  - pcpp::DhcpLayer::addOptionAt
  - pcpp::DhcpLayer::addOption
  - pcpp::DhcpLayer::addOptionAfter
  - pcpp::DhcpLayer::removeOption
  - pcpp::DhcpLayer::removeAllOptions
  - pcpp::DhcpOptionBuilder::build
  - pcpp::DhcpLayer::DhcpLayer
  - pcpp::DhcpLayer::initDhcpLayer
  - pcpp::DhcpLayer::DhcpLayer
  - pcpp::DhcpLayer::DhcpLayer
  - pcpp::DhcpLayer::getClientHardwareAddress
  - pcpp::DhcpLayer::setClientHardwareAddress
  - pcpp::DhcpLayer::computeCalculateFields
  - pcpp::DhcpLayer::toString
  - pcpp::DhcpLayer::getMessageType
  - pcpp::DhcpLayer::setMessageType
  - pcpp::DhcpLayer::getOptionData
  - pcpp::DhcpLayer::getFirstOptionData
  - pcpp::DhcpLayer::getNextOptionData
  - pcpp::DhcpLayer::getOptionsCount
  - pcpp::DhcpLayer::addOptionAt
  - pcpp::DhcpLayer::addOption
  - pcpp::DhcpLayer::addOptionAfter
  - pcpp::DhcpLayer::removeOption
  - pcpp::DhcpLayer::removeAllOptions
  source_file: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/DhcpLayer.cpp
      type_or_value: PacketLogModuleDhcpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::DnsLayer::DnsLayer
  - pcpp::DnsLayer::DnsLayer
  - pcpp::DnsLayer::DnsLayer
  - pcpp::DnsLayer::DnsLayer
  - pcpp::DnsLayer::DnsLayer
  - '& DnsLayer::operator=(const DnsLayer& other)'
  - DnsLayer::~DnsLayer()
  - pcpp::DnsLayer::init
  - pcpp::DnsLayer::initNewLayer
  - pcpp::DnsLayer::getBasicHeaderSize
  - pcpp::DnsLayer::getDnsHeader
  - pcpp::DnsLayer::extendLayer
  - pcpp::DnsLayer::shortenLayer
  - pcpp::DnsLayer::parseResources
  - pcpp::DnsLayer::getResourceByName
  - pcpp::DnsLayer::getQuery
  - pcpp::DnsLayer::getFirstQuery
  - pcpp::DnsLayer::getNextQuery
  - pcpp::DnsLayer::getQueryCount
  - pcpp::DnsLayer::getAnswer
  - pcpp::DnsLayer::getFirstAnswer
  - pcpp::DnsLayer::getNextAnswer
  - pcpp::DnsLayer::getAnswerCount
  - pcpp::DnsLayer::getAuthority
  - pcpp::DnsLayer::getFirstAuthority
  - pcpp::DnsLayer::getNextAuthority
  - pcpp::DnsLayer::getAuthorityCount
  - pcpp::DnsLayer::getAdditionalRecord
  - pcpp::DnsLayer::getFirstAdditionalRecord
  - pcpp::DnsLayer::getNextAdditionalRecord
  - pcpp::DnsLayer::getAdditionalRecordCount
  - pcpp::DnsLayer::toString
  - pcpp::DnsLayer::getFirstResource
  - pcpp::DnsLayer::setFirstResource
  - pcpp::DnsLayer::addResource
  - pcpp::DnsLayer::addQuery
  - pcpp::DnsLayer::addQuery
  - pcpp::DnsLayer::removeQuery
  - pcpp::DnsLayer::removeQuery
  - pcpp::DnsLayer::addAnswer
  - pcpp::DnsLayer::addAnswer
  - pcpp::DnsLayer::removeAnswer
  - pcpp::DnsLayer::removeAnswer
  - pcpp::DnsLayer::addAuthority
  - pcpp::DnsLayer::addAuthority
  - pcpp::DnsLayer::removeAuthority
  - pcpp::DnsLayer::removeAuthority
  - pcpp::DnsLayer::addAdditionalRecord
  - pcpp::DnsLayer::addAdditionalRecord
  - pcpp::DnsLayer::addAdditionalRecord
  - pcpp::DnsLayer::removeAdditionalRecord
  - pcpp::DnsLayer::removeAdditionalRecord
  - pcpp::DnsLayer::removeResource
  - pcpp::DnsOverTcpLayer::getTcpMessageLength
  - pcpp::DnsOverTcpLayer::setTcpMessageLength
  - pcpp::DnsOverTcpLayer::computeCalculateFields
  - pcpp::DnsLayer::DnsLayer
  - pcpp::DnsLayer::DnsLayer
  - pcpp::DnsLayer::DnsLayer
  - pcpp::DnsLayer::DnsLayer
  - pcpp::DnsLayer::DnsLayer
  - '& DnsLayer::operator=(const DnsLayer& other)'
  - DnsLayer::~DnsLayer()
  - pcpp::DnsLayer::init
  - pcpp::DnsLayer::initNewLayer
  - pcpp::DnsLayer::getBasicHeaderSize
  - pcpp::DnsLayer::getDnsHeader
  - pcpp::DnsLayer::extendLayer
  - pcpp::DnsLayer::shortenLayer
  - pcpp::DnsLayer::parseResources
  - pcpp::DnsLayer::getResourceByName
  - pcpp::DnsLayer::getQuery
  - pcpp::DnsLayer::getFirstQuery
  - pcpp::DnsLayer::getNextQuery
  - pcpp::DnsLayer::getQueryCount
  - pcpp::DnsLayer::getAnswer
  - pcpp::DnsLayer::getFirstAnswer
  - pcpp::DnsLayer::getNextAnswer
  - pcpp::DnsLayer::getAnswerCount
  - pcpp::DnsLayer::getAuthority
  - pcpp::DnsLayer::getFirstAuthority
  - pcpp::DnsLayer::getNextAuthority
  - pcpp::DnsLayer::getAuthorityCount
  - pcpp::DnsLayer::getAdditionalRecord
  - pcpp::DnsLayer::getFirstAdditionalRecord
  - pcpp::DnsLayer::getNextAdditionalRecord
  - pcpp::DnsLayer::getAdditionalRecordCount
  - pcpp::DnsLayer::toString
  - pcpp::DnsLayer::getFirstResource
  - pcpp::DnsLayer::setFirstResource
  - pcpp::DnsLayer::addResource
  - pcpp::DnsLayer::addQuery
  - pcpp::DnsLayer::addQuery
  - pcpp::DnsLayer::removeQuery
  - pcpp::DnsLayer::removeQuery
  - pcpp::DnsLayer::addAnswer
  - pcpp::DnsLayer::addAnswer
  - pcpp::DnsLayer::removeAnswer
  - pcpp::DnsLayer::removeAnswer
  - pcpp::DnsLayer::addAuthority
  - pcpp::DnsLayer::addAuthority
  - pcpp::DnsLayer::removeAuthority
  - pcpp::DnsLayer::removeAuthority
  - pcpp::DnsLayer::addAdditionalRecord
  - pcpp::DnsLayer::addAdditionalRecord
  - pcpp::DnsLayer::addAdditionalRecord
  - pcpp::DnsLayer::removeAdditionalRecord
  - pcpp::DnsLayer::removeAdditionalRecord
  - pcpp::DnsLayer::removeResource
  - pcpp::DnsOverTcpLayer::getTcpMessageLength
  - pcpp::DnsOverTcpLayer::setTcpMessageLength
  - pcpp::DnsOverTcpLayer::computeCalculateFields
  source_file: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/DnsLayer.cpp
      type_or_value: PacketLogModuleDnsLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::SSLLayer::IsSSLMessage
  - pcpp::SSLLayer::createSSLMessage
  - pcpp::SSLLayer::getRecordVersion
  - pcpp::SSLLayer::getRecordType
  - pcpp::SSLLayer::getHeaderLen
  - pcpp::SSLLayer::parseNextLayer
  - pcpp::SSLHandshakeLayer::toString
  - pcpp::SSLHandshakeLayer::SSLHandshakeLayer
  - pcpp::SSLHandshakeLayer::getHandshakeMessageAt
  - pcpp::SSLChangeCipherSpecLayer::toString
  - pcpp::SSLAlertLayer::getAlertLevel
  - pcpp::SSLAlertLayer::getAlertDescription
  - pcpp::SSLAlertLayer::toString
  - pcpp::SSLApplicationDataLayer::getEncryptedData
  - pcpp::SSLApplicationDataLayer::getEncryptedDataLen
  - pcpp::SSLApplicationDataLayer::toString
  - pcpp::SSLLayer::IsSSLMessage
  - pcpp::SSLLayer::createSSLMessage
  - pcpp::SSLLayer::getRecordVersion
  - pcpp::SSLLayer::getRecordType
  - pcpp::SSLLayer::getHeaderLen
  - pcpp::SSLLayer::parseNextLayer
  - pcpp::SSLHandshakeLayer::toString
  - pcpp::SSLHandshakeLayer::SSLHandshakeLayer
  - pcpp::SSLHandshakeLayer::getHandshakeMessageAt
  - pcpp::SSLChangeCipherSpecLayer::toString
  - pcpp::SSLAlertLayer::getAlertLevel
  - pcpp::SSLAlertLayer::getAlertDescription
  - pcpp::SSLAlertLayer::toString
  - pcpp::SSLApplicationDataLayer::getEncryptedData
  - pcpp::SSLApplicationDataLayer::getEncryptedDataLen
  - pcpp::SSLApplicationDataLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/SSLLayer.cpp
      type_or_value: PacketLogModuleSSLLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::AuthenticationHeaderLayer::getSPI
  - pcpp::AuthenticationHeaderLayer::getSequenceNumber
  - pcpp::AuthenticationHeaderLayer::getICVLength
  - pcpp::AuthenticationHeaderLayer::getICVBytes
  - pcpp::AuthenticationHeaderLayer::getICVHexStream
  - pcpp::AuthenticationHeaderLayer::parseNextLayer
  - pcpp::AuthenticationHeaderLayer::toString
  - pcpp::ESPLayer::getSPI
  - pcpp::ESPLayer::getSequenceNumber
  - pcpp::ESPLayer::parseNextLayer
  - pcpp::ESPLayer::toString
  - pcpp::AuthenticationHeaderLayer::getSPI
  - pcpp::AuthenticationHeaderLayer::getSequenceNumber
  - pcpp::AuthenticationHeaderLayer::getICVLength
  - pcpp::AuthenticationHeaderLayer::getICVBytes
  - pcpp::AuthenticationHeaderLayer::getICVHexStream
  - pcpp::AuthenticationHeaderLayer::parseNextLayer
  - pcpp::AuthenticationHeaderLayer::toString
  - pcpp::ESPLayer::getSPI
  - pcpp::ESPLayer::getSequenceNumber
  - pcpp::ESPLayer::parseNextLayer
  - pcpp::ESPLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/IPSecLayer.cpp
      type_or_value: PacketLogModuleIPSecLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::IgmpLayer::IgmpLayer
  - pcpp::IgmpLayer::setGroupAddress
  - pcpp::IgmpLayer::getType
  - pcpp::IgmpLayer::setType
  - pcpp::IgmpLayer::getIGMPVerFromData
  - pcpp::IgmpLayer::calculateChecksum
  - pcpp::IgmpLayer::getHeaderSizeByVerAndType
  - pcpp::IgmpLayer::toString
  - pcpp::IgmpV1Layer::computeCalculateFields
  - pcpp::IgmpV2Layer::computeCalculateFields
  - pcpp::IgmpV3QueryLayer::IgmpV3QueryLayer
  - pcpp::IgmpV3QueryLayer::IgmpV3QueryLayer
  - pcpp::IgmpV3QueryLayer::getSourceAddressCount
  - pcpp::IgmpV3QueryLayer::getSourceAddressAtIndex
  - pcpp::IgmpV3QueryLayer::getHeaderLen
  - pcpp::IgmpV3QueryLayer::computeCalculateFields
  - pcpp::IgmpV3QueryLayer::addSourceAddress
  - pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
  - pcpp::IgmpV3QueryLayer::removeSourceAddressAtIndex
  - pcpp::IgmpV3QueryLayer::removeAllSourceAddresses
  - pcpp::IgmpV3ReportLayer::getGroupRecordCount
  - pcpp::IgmpV3ReportLayer::getFirstGroupRecord
  - pcpp::IgmpV3ReportLayer::getNextGroupRecord
  - pcpp::IgmpV3ReportLayer::computeCalculateFields
  - pcpp::IgmpV3ReportLayer::addGroupRecordAt
  - pcpp::IgmpV3ReportLayer::addGroupRecord
  - pcpp::IgmpV3ReportLayer::addGroupRecordAtIndex
  - pcpp::IgmpV3ReportLayer::removeGroupRecordAtIndex
  - pcpp::IgmpV3ReportLayer::removeAllGroupRecords
  - pcpp::igmpv3_group_record::getSourceAddressCount
  - pcpp::igmpv3_group_record::getSourceAddressAtIndex
  - pcpp::igmpv3_group_record::getRecordLen
  - pcpp::IgmpLayer::IgmpLayer
  - pcpp::IgmpLayer::setGroupAddress
  - pcpp::IgmpLayer::getType
  - pcpp::IgmpLayer::setType
  - pcpp::IgmpLayer::getIGMPVerFromData
  - pcpp::IgmpLayer::calculateChecksum
  - pcpp::IgmpLayer::getHeaderSizeByVerAndType
  - pcpp::IgmpLayer::toString
  - pcpp::IgmpV1Layer::computeCalculateFields
  - pcpp::IgmpV2Layer::computeCalculateFields
  - pcpp::IgmpV3QueryLayer::IgmpV3QueryLayer
  - pcpp::IgmpV3QueryLayer::IgmpV3QueryLayer
  - pcpp::IgmpV3QueryLayer::getSourceAddressCount
  - pcpp::IgmpV3QueryLayer::getSourceAddressAtIndex
  - pcpp::IgmpV3QueryLayer::getHeaderLen
  - pcpp::IgmpV3QueryLayer::computeCalculateFields
  - pcpp::IgmpV3QueryLayer::addSourceAddress
  - pcpp::IgmpV3QueryLayer::addSourceAddressAtIndex
  - pcpp::IgmpV3QueryLayer::removeSourceAddressAtIndex
  - pcpp::IgmpV3QueryLayer::removeAllSourceAddresses
  - pcpp::IgmpV3ReportLayer::getGroupRecordCount
  - pcpp::IgmpV3ReportLayer::getFirstGroupRecord
  - pcpp::IgmpV3ReportLayer::getNextGroupRecord
  - pcpp::IgmpV3ReportLayer::computeCalculateFields
  - pcpp::IgmpV3ReportLayer::addGroupRecordAt
  - pcpp::IgmpV3ReportLayer::addGroupRecord
  - pcpp::IgmpV3ReportLayer::addGroupRecordAtIndex
  - pcpp::IgmpV3ReportLayer::removeGroupRecordAtIndex
  - pcpp::IgmpV3ReportLayer::removeAllGroupRecords
  - pcpp::igmpv3_group_record::getSourceAddressCount
  - pcpp::igmpv3_group_record::getSourceAddressAtIndex
  - pcpp::igmpv3_group_record::getRecordLen
  source_file: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/IgmpLayer.cpp
      type_or_value: PacketLogModuleIgmpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::MplsLayer::MplsLayer
  - pcpp::MplsLayer::isBottomOfStack
  - pcpp::MplsLayer::setBottomOfStack
  - pcpp::MplsLayer::getExperimentalUseValue
  - pcpp::MplsLayer::setExperimentalUseValue
  - pcpp::MplsLayer::getMplsLabel
  - pcpp::MplsLayer::setMplsLabel
  - pcpp::MplsLayer::parseNextLayer
  - pcpp::MplsLayer::computeCalculateFields
  - pcpp::MplsLayer::toString
  - pcpp::MplsLayer::MplsLayer
  - pcpp::MplsLayer::isBottomOfStack
  - pcpp::MplsLayer::setBottomOfStack
  - pcpp::MplsLayer::getExperimentalUseValue
  - pcpp::MplsLayer::setExperimentalUseValue
  - pcpp::MplsLayer::getMplsLabel
  - pcpp::MplsLayer::setMplsLabel
  - pcpp::MplsLayer::parseNextLayer
  - pcpp::MplsLayer::computeCalculateFields
  - pcpp::MplsLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/MplsLayer.cpp
      type_or_value: PacketLogModuleMplsLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::pack4
  - operator""_packed4(const char* str, size_t len)
  - pcpp::pack4
  - operator""_packed4(const char* str, size_t len)
  - pcpp::SipLayer::getContentLength
  - pcpp::SipLayer::setContentLength
  - pcpp::SipLayer::parseNextLayer
  - pcpp::SipLayer::computeCalculateFields
  - pcpp::SipLayer::detectSipMessageType
  - pcpp::SipLayer::parseSipLayer
  - pcpp::SipLayer::parseSipLayer
  - pcpp::SipRequestFirstLine::SipRequestFirstLine
  - pcpp::SipRequestFirstLine::SipRequestFirstLine
  - pcpp::SipRequestFirstLine::parseMethod
  - pcpp::SipRequestFirstLine::parseFirstLine
  - pcpp::SipRequestFirstLine::parseVersion
  - pcpp::SipRequestFirstLine::setMethod
  - pcpp::SipRequestFirstLine::getUri
  - pcpp::SipRequestFirstLine::setUri
  - pcpp::SipRequestLayer::SipRequestLayer
  - pcpp::SipRequestLayer::SipRequestLayer
  - pcpp::SipRequestLayer::SipRequestLayer
  - '& SipRequestLayer::operator=(const SipRequestLayer& other)'
  - SipRequestLayer::~SipRequestLayer()
  - pcpp::SipRequestLayer::toString
  - pcpp::parseStatusCodePure
  - pcpp::parseStatusCodePure
  - pcpp::SipResponseLayer::SipResponseLayer
  - pcpp::SipResponseLayer::SipResponseLayer
  - SipResponseLayer::~SipResponseLayer()
  - pcpp::SipResponseLayer::SipResponseLayer
  - '& SipResponseLayer::operator=(const SipResponseLayer& other)'
  - pcpp::SipResponseLayer::toString
  - pcpp::SipResponseFirstLine::getStatusCodeAsInt
  - pcpp::SipResponseFirstLine::getStatusCodeString
  - pcpp::SipResponseFirstLine::setStatusCode
  - pcpp::SipResponseFirstLine::setVersion
  - pcpp::SipResponseFirstLine::parseStatusCode
  - pcpp::SipResponseFirstLine::SipResponseFirstLine
  - pcpp::SipResponseFirstLine::SipResponseFirstLine
  - pcpp::SipResponseFirstLine::parseVersion
  - pcpp::SipResponseFirstLine::parseFirstLine
  - pcpp::pack4
  - operator""_packed4(const char* str, size_t len)
  - pcpp::pack4
  - operator""_packed4(const char* str, size_t len)
  - pcpp::SipLayer::getContentLength
  - pcpp::SipLayer::setContentLength
  - pcpp::SipLayer::parseNextLayer
  - pcpp::SipLayer::computeCalculateFields
  - pcpp::SipLayer::detectSipMessageType
  - pcpp::SipLayer::parseSipLayer
  - pcpp::SipLayer::parseSipLayer
  - pcpp::SipRequestFirstLine::SipRequestFirstLine
  - pcpp::SipRequestFirstLine::SipRequestFirstLine
  - pcpp::SipRequestFirstLine::parseMethod
  - pcpp::SipRequestFirstLine::parseFirstLine
  - pcpp::SipRequestFirstLine::parseVersion
  - pcpp::SipRequestFirstLine::setMethod
  - pcpp::SipRequestFirstLine::getUri
  - pcpp::SipRequestFirstLine::setUri
  - pcpp::SipRequestLayer::SipRequestLayer
  - pcpp::SipRequestLayer::SipRequestLayer
  - pcpp::SipRequestLayer::SipRequestLayer
  - '& SipRequestLayer::operator=(const SipRequestLayer& other)'
  - SipRequestLayer::~SipRequestLayer()
  - pcpp::SipRequestLayer::toString
  - pcpp::parseStatusCodePure
  - pcpp::parseStatusCodePure
  - pcpp::SipResponseLayer::SipResponseLayer
  - pcpp::SipResponseLayer::SipResponseLayer
  - SipResponseLayer::~SipResponseLayer()
  - pcpp::SipResponseLayer::SipResponseLayer
  - '& SipResponseLayer::operator=(const SipResponseLayer& other)'
  - pcpp::SipResponseLayer::toString
  - pcpp::SipResponseFirstLine::getStatusCodeAsInt
  - pcpp::SipResponseFirstLine::getStatusCodeString
  - pcpp::SipResponseFirstLine::setStatusCode
  - pcpp::SipResponseFirstLine::setVersion
  - pcpp::SipResponseFirstLine::parseStatusCode
  - pcpp::SipResponseFirstLine::SipResponseFirstLine
  - pcpp::SipResponseFirstLine::SipResponseFirstLine
  - pcpp::SipResponseFirstLine::parseVersion
  - pcpp::SipResponseFirstLine::parseFirstLine
  source_file: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/SipLayer.cpp
      type_or_value: PacketLogModuleSipLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::PostgresMessageType::toChar
  - pcpp::PostgresMessageType::toString
  - pcpp::PostgresMessageType::getOrigin
  - pcpp::PostgresMessage::parsePostgresBackendMessage
  - pcpp::PostgresMessage::parsePostgresFrontendMessage
  - pcpp::PostgresMessage::getMessageLength
  - pcpp::PostgresMessage::getRawPayload
  - pcpp::PostgresParameterStatus::getParameterName
  - pcpp::PostgresParameterStatus::getParameterValue
  - pcpp::PostgresQueryMessage::getQuery
  - pcpp::PostgresRowDescriptionMessage::getColumnInfos
  - pcpp::PostgresDataRowMessage::getDataRow
  - PostgresDataRowMessage::ColumnData::toHexString() const
  - PostgresDataRowMessage::ColumnData::toString() const
  - '& PostgresErrorResponseMessage::getFields() const'
  - pcpp::PostgresStartupMessage::getProtocolVersion
  - pcpp::PostgresStartupMessage::getProtocolMajorVersion
  - pcpp::PostgresStartupMessage::getProtocolMinorVersion
  - pcpp::PostgresStartupMessage::readString
  - '& PostgresStartupMessage::getParameters() const'
  - pcpp::PostgresStartupMessage::getParameter
  - pcpp::PostgresLayer::parsePostgresBackendMessages
  - pcpp::PostgresLayer::parsePostgresFrontendMessages
  - '& PostgresLayer::getPostgresMessages() const'
  - pcpp::PostgresLayer::getPostgresMessage
  - pcpp::PostgresLayer::toString
  - pcpp::PostgresMessageType::toChar
  - pcpp::PostgresMessageType::toString
  - pcpp::PostgresMessageType::getOrigin
  - pcpp::PostgresMessage::parsePostgresBackendMessage
  - pcpp::PostgresMessage::parsePostgresFrontendMessage
  - pcpp::PostgresMessage::getMessageLength
  - pcpp::PostgresMessage::getRawPayload
  - pcpp::PostgresParameterStatus::getParameterName
  - pcpp::PostgresParameterStatus::getParameterValue
  - pcpp::PostgresQueryMessage::getQuery
  - pcpp::PostgresRowDescriptionMessage::getColumnInfos
  - pcpp::PostgresDataRowMessage::getDataRow
  - PostgresDataRowMessage::ColumnData::toHexString() const
  - PostgresDataRowMessage::ColumnData::toString() const
  - '& PostgresErrorResponseMessage::getFields() const'
  - pcpp::PostgresStartupMessage::getProtocolVersion
  - pcpp::PostgresStartupMessage::getProtocolMajorVersion
  - pcpp::PostgresStartupMessage::getProtocolMinorVersion
  - pcpp::PostgresStartupMessage::readString
  - '& PostgresStartupMessage::getParameters() const'
  - pcpp::PostgresStartupMessage::getParameter
  - pcpp::PostgresLayer::parsePostgresBackendMessages
  - pcpp::PostgresLayer::parsePostgresFrontendMessages
  - '& PostgresLayer::getPostgresMessages() const'
  - pcpp::PostgresLayer::getPostgresMessage
  - pcpp::PostgresLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: tableOID
        type: uint32_t
      - name: columnIndex
        type: uint16_t
      - name: typeOID
        type: uint32_t
      - name: typeSize
        type: int16_t
      - name: typeModifier
        type: int32_t
      - name: formatCode
        type: uint16_t
      item_type: struct
      name: PostgresColumnFixedData
      pos:
        line_end: 18
        line_start: 10
        source_file: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    - fields:
      - name: tableOID
        type: uint32_t
      - name: columnIndex
        type: uint16_t
      - name: typeOID
        type: uint32_t
      - name: typeSize
        type: int16_t
      - name: typeModifier
        type: int32_t
      - name: formatCode
        type: uint16_t
      item_type: struct
      name: PostgresColumnFixedData
      pos:
        line_end: 18
        line_start: 10
        source_file: /src/PcapPlusPlus/Packet++/src/PostgresLayer.cpp
    typedefs: []
    union: []
- function_names:
  - pcpp::CiscoHdlcLayer::CiscoHdlcLayer
  - pcpp::CiscoHdlcLayer::computeCalculateFields
  - pcpp::CiscoHdlcLayer::parseNextLayer
  - pcpp::CiscoHdlcLayer::toString
  - pcpp::CiscoHdlcLayer::getAddress
  - pcpp::CiscoHdlcLayer::getAddressValue
  - pcpp::CiscoHdlcLayer::setAddress
  - pcpp::CiscoHdlcLayer::setAddressValue
  - pcpp::CiscoHdlcLayer::getNextProtocol
  - pcpp::CiscoHdlcLayer::setNextProtocol
  - pcpp::CiscoHdlcLayer::CiscoHdlcLayer
  - pcpp::CiscoHdlcLayer::computeCalculateFields
  - pcpp::CiscoHdlcLayer::parseNextLayer
  - pcpp::CiscoHdlcLayer::toString
  - pcpp::CiscoHdlcLayer::getAddress
  - pcpp::CiscoHdlcLayer::getAddressValue
  - pcpp::CiscoHdlcLayer::setAddress
  - pcpp::CiscoHdlcLayer::setAddressValue
  - pcpp::CiscoHdlcLayer::getNextProtocol
  - pcpp::CiscoHdlcLayer::setNextProtocol
  source_file: /src/PcapPlusPlus/Packet++/src/CiscoHdlcLayer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SomeIpSdOption::~SomeIpSdOption()
  - pcpp::SomeIpSdOption::getType
  - pcpp::SomeIpSdOption::getDataPtr
  - pcpp::SomeIpSdOption::getSomeIpSdOptionHeader
  - pcpp::SomeIpSdOption::initStdFields
  - pcpp::SomeIpSdIPv4Option::SomeIpSdIPv4Option
  - pcpp::SomeIpSdIPv4Option::SomeIpSdIPv4Option
  - pcpp::SomeIpSdIPv4Option::getIpAddress
  - pcpp::SomeIpSdIPv4Option::getPort
  - pcpp::SomeIpSdIPv4Option::getProtocol
  - pcpp::SomeIpSdIPv6Option::SomeIpSdIPv6Option
  - pcpp::SomeIpSdIPv6Option::SomeIpSdIPv6Option
  - pcpp::SomeIpSdIPv6Option::getIpAddress
  - pcpp::SomeIpSdIPv6Option::getPort
  - pcpp::SomeIpSdIPv6Option::getProtocol
  - pcpp::SomeIpSdConfigurationOption::SomeIpSdConfigurationOption
  - pcpp::SomeIpSdConfigurationOption::SomeIpSdConfigurationOption
  - pcpp::SomeIpSdConfigurationOption::getConfigurationString
  - pcpp::SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption
  - pcpp::SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption
  - pcpp::SomeIpSdLoadBalancingOption::getPriority
  - pcpp::SomeIpSdLoadBalancingOption::getWeight
  - pcpp::SomeIpSdEntry::SomeIpSdEntry
  - pcpp::SomeIpSdEntry::SomeIpSdEntry
  - pcpp::SomeIpSdEntry::SomeIpSdEntry
  - SomeIpSdEntry::~SomeIpSdEntry()
  - pcpp::SomeIpSdEntry::getDataPtr
  - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
  - pcpp::SomeIpSdEntry::getNumOptions
  - pcpp::SomeIpSdEntry::getServiceId
  - pcpp::SomeIpSdEntry::setServiceId
  - pcpp::SomeIpSdEntry::getInstanceId
  - pcpp::SomeIpSdEntry::setInstanceId
  - pcpp::SomeIpSdEntry::getMajorVersion
  - pcpp::SomeIpSdEntry::setMajorVersion
  - pcpp::SomeIpSdEntry::getTtl
  - pcpp::SomeIpSdEntry::setTtl
  - pcpp::SomeIpSdEntry::getMinorVersion
  - pcpp::SomeIpSdEntry::setMinorVersion
  - pcpp::SomeIpSdEntry::getCounter
  - pcpp::SomeIpSdEntry::setCounter
  - pcpp::SomeIpSdEntry::getEventgroupId
  - pcpp::SomeIpSdEntry::setEventgroupId
  - pcpp::SomeIpSdEntry::initStdFields
  - pcpp::SomeIpSdLayer::SomeIpSdLayer
  - pcpp::SomeIpSdLayer::SomeIpSdLayer
  - pcpp::SomeIpSdLayer::getFlags
  - pcpp::SomeIpSdLayer::setFlags
  - pcpp::SomeIpSdLayer::getNumEntries
  - pcpp::SomeIpSdLayer::getNumOptions
  - pcpp::SomeIpSdLayer::getEntries
  - pcpp::SomeIpSdLayer::getOptions
  - pcpp::SomeIpSdLayer::getOptionsFromEntry
  - pcpp::SomeIpSdLayer::addOptionTo
  - pcpp::SomeIpSdLayer::toString
  - pcpp::SomeIpSdLayer::addEntry
  - pcpp::SomeIpSdLayer::isDataValid
  - pcpp::SomeIpSdLayer::countOptions
  - pcpp::SomeIpSdLayer::findOption
  - pcpp::SomeIpSdLayer::addOption
  - pcpp::SomeIpSdLayer::addOptionIndex
  - pcpp::SomeIpSdLayer::parseOption
  - pcpp::SomeIpSdLayer::getLenEntries
  - pcpp::SomeIpSdLayer::getLenEntries
  - pcpp::SomeIpSdLayer::getLenOptions
  - pcpp::SomeIpSdLayer::getLenOptions
  - pcpp::SomeIpSdLayer::setLenEntries
  - pcpp::SomeIpSdLayer::setLenOptions
  - SomeIpSdOption::~SomeIpSdOption()
  - pcpp::SomeIpSdOption::getType
  - pcpp::SomeIpSdOption::getDataPtr
  - pcpp::SomeIpSdOption::getSomeIpSdOptionHeader
  - pcpp::SomeIpSdOption::initStdFields
  - pcpp::SomeIpSdIPv4Option::SomeIpSdIPv4Option
  - pcpp::SomeIpSdIPv4Option::SomeIpSdIPv4Option
  - pcpp::SomeIpSdIPv4Option::getIpAddress
  - pcpp::SomeIpSdIPv4Option::getPort
  - pcpp::SomeIpSdIPv4Option::getProtocol
  - pcpp::SomeIpSdIPv6Option::SomeIpSdIPv6Option
  - pcpp::SomeIpSdIPv6Option::SomeIpSdIPv6Option
  - pcpp::SomeIpSdIPv6Option::getIpAddress
  - pcpp::SomeIpSdIPv6Option::getPort
  - pcpp::SomeIpSdIPv6Option::getProtocol
  - pcpp::SomeIpSdConfigurationOption::SomeIpSdConfigurationOption
  - pcpp::SomeIpSdConfigurationOption::SomeIpSdConfigurationOption
  - pcpp::SomeIpSdConfigurationOption::getConfigurationString
  - pcpp::SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption
  - pcpp::SomeIpSdLoadBalancingOption::SomeIpSdLoadBalancingOption
  - pcpp::SomeIpSdLoadBalancingOption::getPriority
  - pcpp::SomeIpSdLoadBalancingOption::getWeight
  - pcpp::SomeIpSdEntry::SomeIpSdEntry
  - pcpp::SomeIpSdEntry::SomeIpSdEntry
  - pcpp::SomeIpSdEntry::SomeIpSdEntry
  - SomeIpSdEntry::~SomeIpSdEntry()
  - pcpp::SomeIpSdEntry::getDataPtr
  - pcpp::SomeIpSdEntry::getSomeIpSdEntryHeader
  - pcpp::SomeIpSdEntry::getNumOptions
  - pcpp::SomeIpSdEntry::getServiceId
  - pcpp::SomeIpSdEntry::setServiceId
  - pcpp::SomeIpSdEntry::getInstanceId
  - pcpp::SomeIpSdEntry::setInstanceId
  - pcpp::SomeIpSdEntry::getMajorVersion
  - pcpp::SomeIpSdEntry::setMajorVersion
  - pcpp::SomeIpSdEntry::getTtl
  - pcpp::SomeIpSdEntry::setTtl
  - pcpp::SomeIpSdEntry::getMinorVersion
  - pcpp::SomeIpSdEntry::setMinorVersion
  - pcpp::SomeIpSdEntry::getCounter
  - pcpp::SomeIpSdEntry::setCounter
  - pcpp::SomeIpSdEntry::getEventgroupId
  - pcpp::SomeIpSdEntry::setEventgroupId
  - pcpp::SomeIpSdEntry::initStdFields
  - pcpp::SomeIpSdLayer::SomeIpSdLayer
  - pcpp::SomeIpSdLayer::SomeIpSdLayer
  - pcpp::SomeIpSdLayer::getFlags
  - pcpp::SomeIpSdLayer::setFlags
  - pcpp::SomeIpSdLayer::getNumEntries
  - pcpp::SomeIpSdLayer::getNumOptions
  - pcpp::SomeIpSdLayer::getEntries
  - pcpp::SomeIpSdLayer::getOptions
  - pcpp::SomeIpSdLayer::getOptionsFromEntry
  - pcpp::SomeIpSdLayer::addOptionTo
  - pcpp::SomeIpSdLayer::toString
  - pcpp::SomeIpSdLayer::addEntry
  - pcpp::SomeIpSdLayer::isDataValid
  - pcpp::SomeIpSdLayer::countOptions
  - pcpp::SomeIpSdLayer::findOption
  - pcpp::SomeIpSdLayer::addOption
  - pcpp::SomeIpSdLayer::addOptionIndex
  - pcpp::SomeIpSdLayer::parseOption
  - pcpp::SomeIpSdLayer::getLenEntries
  - pcpp::SomeIpSdLayer::getLenEntries
  - pcpp::SomeIpSdLayer::getLenOptions
  - pcpp::SomeIpSdLayer::getLenOptions
  - pcpp::SomeIpSdLayer::setLenEntries
  - pcpp::SomeIpSdLayer::setLenOptions
  source_file: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/SomeIpSdLayer.cpp
      type_or_value: PacketLogModuleSomeIpSdLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::HttpMessage::addField
  - pcpp::HttpMessage::addField
  - pcpp::HttpMessage::insertField
  - pcpp::HttpMessage::insertField
  - pcpp::HttpRequestLayer::HttpRequestLayer
  - pcpp::HttpRequestLayer::HttpRequestLayer
  - pcpp::HttpRequestLayer::HttpRequestLayer
  - '& HttpRequestLayer::operator=(const HttpRequestLayer& other)'
  - pcpp::HttpRequestLayer::getUrl
  - HttpRequestLayer::~HttpRequestLayer()
  - pcpp::HttpRequestLayer::toString
  - pcpp::HttpRequestFirstLine::HttpRequestFirstLine
  - pcpp::HttpRequestFirstLine::HttpRequestFirstLine
  - pcpp::HttpRequestFirstLine::parseMethod
  - pcpp::HttpRequestFirstLine::parseVersion
  - pcpp::HttpRequestFirstLine::setMethod
  - pcpp::HttpRequestFirstLine::getUri
  - pcpp::HttpRequestFirstLine::setUri
  - pcpp::HttpRequestFirstLine::setVersion
  - pcpp::HttpResponseStatusCode::HttpResponseStatusCode
  - operator()(const HttpResponseStatusCode& status) const
  - pcpp::HttpResponseStatusCode::HttpResponseStatusCode
  - pcpp::HttpResponseStatusCode::getMessage
  - pcpp::HttpResponseLayer::HttpResponseLayer
  - pcpp::HttpResponseLayer::HttpResponseLayer
  - pcpp::HttpResponseLayer::HttpResponseLayer
  - HttpResponseLayer::~HttpResponseLayer()
  - pcpp::HttpResponseLayer::HttpResponseLayer
  - '& HttpResponseLayer::operator=(const HttpResponseLayer& other)'
  - pcpp::HttpResponseLayer::setContentLength
  - pcpp::HttpResponseLayer::getContentLength
  - pcpp::HttpResponseLayer::toString
  - pcpp::HttpResponseFirstLine::getStatusCodeAsInt
  - pcpp::HttpResponseFirstLine::getStatusCodeString
  - pcpp::HttpResponseFirstLine::setStatusCode
  - pcpp::HttpResponseFirstLine::setStatusCode
  - pcpp::HttpResponseFirstLine::setVersion
  - pcpp::HttpResponseFirstLine::parseStatusCode
  - pcpp::HttpResponseFirstLine::HttpResponseFirstLine
  - pcpp::HttpResponseFirstLine::HttpResponseFirstLine
  - pcpp::HttpResponseFirstLine::parseVersion
  - pcpp::HttpMessage::addField
  - pcpp::HttpMessage::addField
  - pcpp::HttpMessage::insertField
  - pcpp::HttpMessage::insertField
  - pcpp::HttpRequestLayer::HttpRequestLayer
  - pcpp::HttpRequestLayer::HttpRequestLayer
  - pcpp::HttpRequestLayer::HttpRequestLayer
  - '& HttpRequestLayer::operator=(const HttpRequestLayer& other)'
  - pcpp::HttpRequestLayer::getUrl
  - HttpRequestLayer::~HttpRequestLayer()
  - pcpp::HttpRequestLayer::toString
  - pcpp::HttpRequestFirstLine::HttpRequestFirstLine
  - pcpp::HttpRequestFirstLine::HttpRequestFirstLine
  - pcpp::HttpRequestFirstLine::parseMethod
  - pcpp::HttpRequestFirstLine::parseVersion
  - pcpp::HttpRequestFirstLine::setMethod
  - pcpp::HttpRequestFirstLine::getUri
  - pcpp::HttpRequestFirstLine::setUri
  - pcpp::HttpRequestFirstLine::setVersion
  - pcpp::HttpResponseStatusCode::HttpResponseStatusCode
  - operator()(const HttpResponseStatusCode& status) const
  - pcpp::HttpResponseStatusCode::HttpResponseStatusCode
  - pcpp::HttpResponseStatusCode::getMessage
  - pcpp::HttpResponseLayer::HttpResponseLayer
  - pcpp::HttpResponseLayer::HttpResponseLayer
  - pcpp::HttpResponseLayer::HttpResponseLayer
  - HttpResponseLayer::~HttpResponseLayer()
  - pcpp::HttpResponseLayer::HttpResponseLayer
  - '& HttpResponseLayer::operator=(const HttpResponseLayer& other)'
  - pcpp::HttpResponseLayer::setContentLength
  - pcpp::HttpResponseLayer::getContentLength
  - pcpp::HttpResponseLayer::toString
  - pcpp::HttpResponseFirstLine::getStatusCodeAsInt
  - pcpp::HttpResponseFirstLine::getStatusCodeString
  - pcpp::HttpResponseFirstLine::setStatusCode
  - pcpp::HttpResponseFirstLine::setStatusCode
  - pcpp::HttpResponseFirstLine::setVersion
  - pcpp::HttpResponseFirstLine::parseStatusCode
  - pcpp::HttpResponseFirstLine::HttpResponseFirstLine
  - pcpp::HttpResponseFirstLine::HttpResponseFirstLine
  - pcpp::HttpResponseFirstLine::parseVersion
  source_file: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
      type_or_value: PacketLogModuleHttpLayer
    structs:
    - fields: []
      item_type: struct
      name: HttpResponseStatusCodeHash
      pos:
        line_end: 552
        line_start: 546
        source_file: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    - fields: []
      item_type: struct
      name: HttpResponseStatusCodeHash
      pos:
        line_end: 552
        line_start: 546
        source_file: /src/PcapPlusPlus/Packet++/src/HttpLayer.cpp
    typedefs: []
    union: []
- function_names:
  - pcpp::VrrpLayer::VrrpLayer
  - pcpp::VrrpLayer::getVersionFromData
  - pcpp::VrrpLayer::computeCalculateFields
  - pcpp::VrrpLayer::getIPAddressLen
  - pcpp::VrrpLayer::isChecksumCorrect
  - pcpp::VrrpLayer::getPriorityAsEnum
  - pcpp::VrrpLayer::toString
  - pcpp::VrrpLayer::getVersion
  - pcpp::VrrpLayer::getType
  - pcpp::VrrpLayer::getVirtualRouterID
  - pcpp::VrrpLayer::setVirtualRouterID
  - pcpp::VrrpLayer::getPriority
  - pcpp::VrrpLayer::setPriority
  - pcpp::VrrpLayer::getChecksum
  - pcpp::VrrpLayer::calculateAndSetChecksum
  - pcpp::VrrpLayer::getIPAddressesCount
  - pcpp::VrrpLayer::getIPAddresses
  - pcpp::VrrpLayer::getFirstIPAddressPtr
  - pcpp::VrrpLayer::getNextIPAddressPtr
  - pcpp::VrrpLayer::addIPAddressesAt
  - pcpp::VrrpLayer::addIPAddresses
  - pcpp::VrrpLayer::addIPAddress
  - pcpp::VrrpLayer::removeIPAddressAtIndex
  - pcpp::VrrpLayer::removeAllIPAddresses
  - pcpp::VrrpLayer::copyIPAddressToData
  - pcpp::VrrpLayer::getIPAddressFromData
  - pcpp::VrrpLayer::isIPAddressValid
  - pcpp::VrrpLayer::getAddressType
  - pcpp::VrrpLayer::setAddressType
  - pcpp::VrrpV2Layer::VrrpV2Layer
  - pcpp::VrrpV2Layer::getAuthTypeAsEnum
  - pcpp::VrrpV2Layer::getAdvInt
  - pcpp::VrrpV2Layer::setAdvInt
  - pcpp::VrrpV2Layer::getAuthType
  - pcpp::VrrpV2Layer::setAuthType
  - pcpp::VrrpV2Layer::calculateChecksum
  - pcpp::VrrpV3Layer::VrrpV3Layer
  - pcpp::VrrpV3Layer::getMaxAdvInt
  - pcpp::VrrpV3Layer::setMaxAdvInt
  - pcpp::VrrpV3Layer::calculateChecksum
  - pcpp::VrrpLayer::VrrpLayer
  - pcpp::VrrpLayer::getVersionFromData
  - pcpp::VrrpLayer::computeCalculateFields
  - pcpp::VrrpLayer::getIPAddressLen
  - pcpp::VrrpLayer::isChecksumCorrect
  - pcpp::VrrpLayer::getPriorityAsEnum
  - pcpp::VrrpLayer::toString
  - pcpp::VrrpLayer::getVersion
  - pcpp::VrrpLayer::getType
  - pcpp::VrrpLayer::getVirtualRouterID
  - pcpp::VrrpLayer::setVirtualRouterID
  - pcpp::VrrpLayer::getPriority
  - pcpp::VrrpLayer::setPriority
  - pcpp::VrrpLayer::getChecksum
  - pcpp::VrrpLayer::calculateAndSetChecksum
  - pcpp::VrrpLayer::getIPAddressesCount
  - pcpp::VrrpLayer::getIPAddresses
  - pcpp::VrrpLayer::getFirstIPAddressPtr
  - pcpp::VrrpLayer::getNextIPAddressPtr
  - pcpp::VrrpLayer::addIPAddressesAt
  - pcpp::VrrpLayer::addIPAddresses
  - pcpp::VrrpLayer::addIPAddress
  - pcpp::VrrpLayer::removeIPAddressAtIndex
  - pcpp::VrrpLayer::removeAllIPAddresses
  - pcpp::VrrpLayer::copyIPAddressToData
  - pcpp::VrrpLayer::getIPAddressFromData
  - pcpp::VrrpLayer::isIPAddressValid
  - pcpp::VrrpLayer::getAddressType
  - pcpp::VrrpLayer::setAddressType
  - pcpp::VrrpV2Layer::VrrpV2Layer
  - pcpp::VrrpV2Layer::getAuthTypeAsEnum
  - pcpp::VrrpV2Layer::getAdvInt
  - pcpp::VrrpV2Layer::setAdvInt
  - pcpp::VrrpV2Layer::getAuthType
  - pcpp::VrrpV2Layer::setAuthType
  - pcpp::VrrpV2Layer::calculateChecksum
  - pcpp::VrrpV3Layer::VrrpV3Layer
  - pcpp::VrrpV3Layer::getMaxAdvInt
  - pcpp::VrrpV3Layer::setMaxAdvInt
  - pcpp::VrrpV3Layer::calculateChecksum
  source_file: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/VrrpLayer.cpp
      type_or_value: PacketLogModuleVrrpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::IDnsResource::IDnsResource
  - pcpp::IDnsResource::IDnsResource
  - pcpp::IDnsResource::getRawData
  - pcpp::cleanup
  - pcpp::IDnsResource::decodeName
  - pcpp::IDnsResource::encodeName
  - pcpp::IDnsResource::getDnsType
  - pcpp::IDnsResource::setDnsType
  - pcpp::IDnsResource::getDnsClass
  - pcpp::IDnsResource::setDnsClass
  - pcpp::IDnsResource::setName
  - pcpp::IDnsResource::setDnsLayer
  - pcpp::DnsResource::getTTL
  - pcpp::DnsResource::setTTL
  - pcpp::DnsResource::getDataLength
  - pcpp::DnsResource::getData
  - pcpp::DnsResource::getDataOffset
  - pcpp::DnsResource::setData
  - pcpp::DnsResource::getCustomDnsClass
  - pcpp::DnsResource::setCustomDnsClass
  - pcpp::IDnsResource::IDnsResource
  - pcpp::IDnsResource::IDnsResource
  - pcpp::IDnsResource::getRawData
  - pcpp::cleanup
  - pcpp::IDnsResource::decodeName
  - pcpp::IDnsResource::encodeName
  - pcpp::IDnsResource::getDnsType
  - pcpp::IDnsResource::setDnsType
  - pcpp::IDnsResource::getDnsClass
  - pcpp::IDnsResource::setDnsClass
  - pcpp::IDnsResource::setName
  - pcpp::IDnsResource::setDnsLayer
  - pcpp::DnsResource::getTTL
  - pcpp::DnsResource::setTTL
  - pcpp::DnsResource::getDataLength
  - pcpp::DnsResource::getData
  - pcpp::DnsResource::getDataOffset
  - pcpp::DnsResource::setData
  - pcpp::DnsResource::getCustomDnsClass
  - pcpp::DnsResource::setCustomDnsClass
  source_file: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/DnsResource.cpp
      type_or_value: PacketLogModuleDnsLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::Sll2Layer::Sll2Layer
  - pcpp::Sll2Layer::setLinkLayerAddr
  - pcpp::Sll2Layer::getLinkLayerAsMacAddress
  - pcpp::Sll2Layer::setMacAddressAsLinkLayer
  - pcpp::Sll2Layer::parseNextLayer
  - pcpp::Sll2Layer::computeCalculateFields
  - pcpp::Sll2Layer::isDataValid
  - pcpp::Sll2Layer::toString
  - pcpp::Sll2Layer::getProtocolType
  - pcpp::Sll2Layer::setProtocolType
  - pcpp::Sll2Layer::getInterfaceIndex
  - pcpp::Sll2Layer::setInterfaceIndex
  - pcpp::Sll2Layer::getArphrdType
  - pcpp::Sll2Layer::setArphrdType
  - pcpp::Sll2Layer::getPacketType
  - pcpp::Sll2Layer::setPacketType
  - pcpp::Sll2Layer::getLinkLayerAddrLen
  - pcpp::Sll2Layer::getLinkLayerAddr
  - pcpp::Sll2Layer::Sll2Layer
  - pcpp::Sll2Layer::setLinkLayerAddr
  - pcpp::Sll2Layer::getLinkLayerAsMacAddress
  - pcpp::Sll2Layer::setMacAddressAsLinkLayer
  - pcpp::Sll2Layer::parseNextLayer
  - pcpp::Sll2Layer::computeCalculateFields
  - pcpp::Sll2Layer::isDataValid
  - pcpp::Sll2Layer::toString
  - pcpp::Sll2Layer::getProtocolType
  - pcpp::Sll2Layer::setProtocolType
  - pcpp::Sll2Layer::getInterfaceIndex
  - pcpp::Sll2Layer::setInterfaceIndex
  - pcpp::Sll2Layer::getArphrdType
  - pcpp::Sll2Layer::setArphrdType
  - pcpp::Sll2Layer::getPacketType
  - pcpp::Sll2Layer::setPacketType
  - pcpp::Sll2Layer::getLinkLayerAddrLen
  - pcpp::Sll2Layer::getLinkLayerAddr
  source_file: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/Sll2Layer.cpp
      type_or_value: PacketLogModuleSll2Layer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::RawPacket::RawPacket
  - pcpp::RawPacket::RawPacket
  - RawPacket::~RawPacket()
  - pcpp::RawPacket::RawPacket
  - '& RawPacket::operator=(const RawPacket& other)'
  - pcpp::RawPacket::clone
  - pcpp::RawPacket::copyDataFrom
  - pcpp::RawPacket::setRawData
  - pcpp::RawPacket::setRawData
  - pcpp::RawPacket::setRawData
  - pcpp::RawPacket::setRawData
  - pcpp::RawPacket::doSetRawData
  - pcpp::RawPacket::initWithRawData
  - pcpp::RawPacket::clear
  - pcpp::RawPacket::appendData
  - pcpp::RawPacket::insertData
  - pcpp::RawPacket::reallocateData
  - pcpp::RawPacket::removeData
  - pcpp::RawPacket::setPacketTimeStamp
  - pcpp::RawPacket::setPacketTimeStamp
  - pcpp::RawPacket::isLinkTypeValid
  - pcpp::RawPacket::RawPacket
  - pcpp::RawPacket::RawPacket
  - RawPacket::~RawPacket()
  - pcpp::RawPacket::RawPacket
  - '& RawPacket::operator=(const RawPacket& other)'
  - pcpp::RawPacket::clone
  - pcpp::RawPacket::copyDataFrom
  - pcpp::RawPacket::setRawData
  - pcpp::RawPacket::setRawData
  - pcpp::RawPacket::setRawData
  - pcpp::RawPacket::setRawData
  - pcpp::RawPacket::doSetRawData
  - pcpp::RawPacket::initWithRawData
  - pcpp::RawPacket::clear
  - pcpp::RawPacket::appendData
  - pcpp::RawPacket::insertData
  - pcpp::RawPacket::reallocateData
  - pcpp::RawPacket::removeData
  - pcpp::RawPacket::setPacketTimeStamp
  - pcpp::RawPacket::setPacketTimeStamp
  - pcpp::RawPacket::isLinkTypeValid
  source_file: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/RawPacket.cpp
      type_or_value: PacketLogModuleRawPacket
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::splitUint32Id
  - pcpp::SomeIpLayer::SomeIpLayer
  - pcpp::SomeIpLayer::parseSomeIpLayer
  - pcpp::SomeIpLayer::isSomeIpPort
  - pcpp::SomeIpLayer::addSomeIpPort
  - pcpp::SomeIpLayer::removeSomeIpPort
  - pcpp::SomeIpLayer::removeAllSomeIpPorts
  - pcpp::SomeIpLayer::getMessageID
  - pcpp::SomeIpLayer::setMessageID
  - pcpp::SomeIpLayer::getServiceID
  - pcpp::SomeIpLayer::setServiceID
  - pcpp::SomeIpLayer::getMethodID
  - pcpp::SomeIpLayer::setMethodID
  - pcpp::SomeIpLayer::getLengthField
  - pcpp::SomeIpLayer::getRequestID
  - pcpp::SomeIpLayer::setRequestID
  - pcpp::SomeIpLayer::getClientID
  - pcpp::SomeIpLayer::setClientID
  - pcpp::SomeIpLayer::getSessionID
  - pcpp::SomeIpLayer::setSessionID
  - pcpp::SomeIpLayer::getProtocolVersion
  - pcpp::SomeIpLayer::setProtocolVersion
  - pcpp::SomeIpLayer::getInterfaceVersion
  - pcpp::SomeIpLayer::setInterfaceVersion
  - pcpp::SomeIpLayer::getMessageType
  - pcpp::SomeIpLayer::getMessageTypeAsInt
  - pcpp::SomeIpLayer::setMessageType
  - pcpp::SomeIpLayer::setMessageType
  - pcpp::SomeIpLayer::getReturnCode
  - pcpp::SomeIpLayer::setReturnCode
  - pcpp::SomeIpLayer::setPayloadLength
  - pcpp::SomeIpLayer::parseNextLayer
  - pcpp::SomeIpLayer::toString
  - pcpp::SomeIpTpLayer::SomeIpTpLayer
  - pcpp::SomeIpTpLayer::getOffset
  - pcpp::SomeIpTpLayer::setOffset
  - pcpp::SomeIpTpLayer::getMoreSegmentsFlag
  - pcpp::SomeIpTpLayer::setMoreSegmentsFlag
  - pcpp::SomeIpTpLayer::computeCalculateFields
  - pcpp::SomeIpTpLayer::toString
  - pcpp::SomeIpTpLayer::setTpFlag
  - pcpp::splitUint32Id
  - pcpp::SomeIpLayer::SomeIpLayer
  - pcpp::SomeIpLayer::parseSomeIpLayer
  - pcpp::SomeIpLayer::isSomeIpPort
  - pcpp::SomeIpLayer::addSomeIpPort
  - pcpp::SomeIpLayer::removeSomeIpPort
  - pcpp::SomeIpLayer::removeAllSomeIpPorts
  - pcpp::SomeIpLayer::getMessageID
  - pcpp::SomeIpLayer::setMessageID
  - pcpp::SomeIpLayer::getServiceID
  - pcpp::SomeIpLayer::setServiceID
  - pcpp::SomeIpLayer::getMethodID
  - pcpp::SomeIpLayer::setMethodID
  - pcpp::SomeIpLayer::getLengthField
  - pcpp::SomeIpLayer::getRequestID
  - pcpp::SomeIpLayer::setRequestID
  - pcpp::SomeIpLayer::getClientID
  - pcpp::SomeIpLayer::setClientID
  - pcpp::SomeIpLayer::getSessionID
  - pcpp::SomeIpLayer::setSessionID
  - pcpp::SomeIpLayer::getProtocolVersion
  - pcpp::SomeIpLayer::setProtocolVersion
  - pcpp::SomeIpLayer::getInterfaceVersion
  - pcpp::SomeIpLayer::setInterfaceVersion
  - pcpp::SomeIpLayer::getMessageType
  - pcpp::SomeIpLayer::getMessageTypeAsInt
  - pcpp::SomeIpLayer::setMessageType
  - pcpp::SomeIpLayer::setMessageType
  - pcpp::SomeIpLayer::getReturnCode
  - pcpp::SomeIpLayer::setReturnCode
  - pcpp::SomeIpLayer::setPayloadLength
  - pcpp::SomeIpLayer::parseNextLayer
  - pcpp::SomeIpLayer::toString
  - pcpp::SomeIpTpLayer::SomeIpTpLayer
  - pcpp::SomeIpTpLayer::getOffset
  - pcpp::SomeIpTpLayer::setOffset
  - pcpp::SomeIpTpLayer::getMoreSegmentsFlag
  - pcpp::SomeIpTpLayer::setMoreSegmentsFlag
  - pcpp::SomeIpTpLayer::computeCalculateFields
  - pcpp::SomeIpTpLayer::toString
  - pcpp::SomeIpTpLayer::setTpFlag
  source_file: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/SomeIpLayer.cpp
      type_or_value: PacketLogModuleSomeIpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::CotpLayer::CotpLayer(uint8_t tpduNumber)
  - pcpp::CotpLayer::toString
  - pcpp::CotpLayer::getLength
  - pcpp::CotpLayer::getPduType
  - pcpp::CotpLayer::getTpduNumber
  - pcpp::CotpLayer::setLength
  - pcpp::CotpLayer::setPduType
  - pcpp::CotpLayer::setTpduNumber
  - pcpp::CotpLayer::isDataValid
  - pcpp::CotpLayer::parseNextLayer
  - pcpp::CotpLayer::CotpLayer(uint8_t tpduNumber)
  - pcpp::CotpLayer::toString
  - pcpp::CotpLayer::getLength
  - pcpp::CotpLayer::getPduType
  - pcpp::CotpLayer::getTpduNumber
  - pcpp::CotpLayer::setLength
  - pcpp::CotpLayer::setPduType
  - pcpp::CotpLayer::setTpduNumber
  - pcpp::CotpLayer::isDataValid
  - pcpp::CotpLayer::parseNextLayer
  source_file: /src/PcapPlusPlus/Packet++/src/CotpLayer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::VlanLayer::VlanLayer
  - pcpp::VlanLayer::getVlanID
  - pcpp::VlanLayer::getCFI
  - pcpp::VlanLayer::getPriority
  - pcpp::VlanLayer::setVlanID
  - pcpp::VlanLayer::setCFI
  - pcpp::VlanLayer::setPriority
  - pcpp::VlanLayer::parseNextLayer
  - pcpp::VlanLayer::computeCalculateFields
  - pcpp::VlanLayer::toString
  - pcpp::VlanLayer::VlanLayer
  - pcpp::VlanLayer::getVlanID
  - pcpp::VlanLayer::getCFI
  - pcpp::VlanLayer::getPriority
  - pcpp::VlanLayer::setVlanID
  - pcpp::VlanLayer::setCFI
  - pcpp::VlanLayer::setPriority
  - pcpp::VlanLayer::parseNextLayer
  - pcpp::VlanLayer::computeCalculateFields
  - pcpp::VlanLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/VlanLayer.cpp
      type_or_value: PacketLogModuleVlanLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::VxlanLayer::VxlanLayer
  - pcpp::VxlanLayer::getVNI
  - pcpp::VxlanLayer::setVNI
  - pcpp::VxlanLayer::toString
  - pcpp::VxlanLayer::parseNextLayer
  - pcpp::VxlanLayer::VxlanLayer
  - pcpp::VxlanLayer::getVNI
  - pcpp::VxlanLayer::setVNI
  - pcpp::VxlanLayer::toString
  - pcpp::VxlanLayer::parseNextLayer
  source_file: /src/PcapPlusPlus/Packet++/src/VxlanLayer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::IDnsResourceData::decodeName
  - pcpp::IDnsResourceData::encodeName
  - pcpp::StringDnsResourceData::StringDnsResourceData
  - pcpp::StringDnsResourceData::toByteArr
  - pcpp::IPv4DnsResourceData::IPv4DnsResourceData
  - pcpp::IPv4DnsResourceData::toByteArr
  - pcpp::IPv6DnsResourceData::IPv6DnsResourceData
  - pcpp::IPv6DnsResourceData::toByteArr
  - pcpp::MxDnsResourceData::MxDnsResourceData
  - pcpp::MxDnsResourceData::MxDnsResourceData
  - MxDnsResourceData::operator==(const MxDnsResourceData& other) const
  - pcpp::MxDnsResourceData::setMxData
  - pcpp::MxDnsResourceData::toString
  - pcpp::MxDnsResourceData::toByteArr
  - pcpp::GenericDnsResourceData::GenericDnsResourceData
  - pcpp::GenericDnsResourceData::GenericDnsResourceData
  - pcpp::GenericDnsResourceData::GenericDnsResourceData
  - '& GenericDnsResourceData::operator=(const GenericDnsResourceData& other)'
  - GenericDnsResourceData::operator==(const GenericDnsResourceData& other) const
  - pcpp::GenericDnsResourceData::toString
  - pcpp::GenericDnsResourceData::toByteArr
  - pcpp::IDnsResourceData::decodeName
  - pcpp::IDnsResourceData::encodeName
  - pcpp::StringDnsResourceData::StringDnsResourceData
  - pcpp::StringDnsResourceData::toByteArr
  - pcpp::IPv4DnsResourceData::IPv4DnsResourceData
  - pcpp::IPv4DnsResourceData::toByteArr
  - pcpp::IPv6DnsResourceData::IPv6DnsResourceData
  - pcpp::IPv6DnsResourceData::toByteArr
  - pcpp::MxDnsResourceData::MxDnsResourceData
  - pcpp::MxDnsResourceData::MxDnsResourceData
  - MxDnsResourceData::operator==(const MxDnsResourceData& other) const
  - pcpp::MxDnsResourceData::setMxData
  - pcpp::MxDnsResourceData::toString
  - pcpp::MxDnsResourceData::toByteArr
  - pcpp::GenericDnsResourceData::GenericDnsResourceData
  - pcpp::GenericDnsResourceData::GenericDnsResourceData
  - pcpp::GenericDnsResourceData::GenericDnsResourceData
  - '& GenericDnsResourceData::operator=(const GenericDnsResourceData& other)'
  - GenericDnsResourceData::operator==(const GenericDnsResourceData& other) const
  - pcpp::GenericDnsResourceData::toString
  - pcpp::GenericDnsResourceData::toByteArr
  source_file: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/DnsResourceData.cpp
      type_or_value: PacketLogModuleDnsLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::X509Algorithm::toString
  - pcpp::X509Algorithm::getOidValue
  - pcpp::X509Algorithm::fromOidValue
  - pcpp::X520DistinguishedName::toString
  - pcpp::X520DistinguishedName::getShortName
  - pcpp::X520DistinguishedName::getOidValue
  - pcpp::X520DistinguishedName::fromOidValue
  - pcpp::X509ExtensionType::toString
  - pcpp::X509ExtensionType::getOidValue
  - pcpp::X509ExtensionType::fromOidValue
  - pcpp::castRecordAs
  - pcpp::getSubRecordAndCast
  - pcpp::X509SerialNumber::toString
  - pcpp::X509Timestamp::toString
  - pcpp::X509Timestamp::getTimestamp
  - pcpp::X509Key::toString
  - '& X509Key::getBytes() const'
  - pcpp::X509Internal::X509VersionRecord::getVersion
  - pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
  - pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
  - pcpp::X509Internal::X509RelativeDistinguishedName::getType
  - pcpp::X509Internal::X509RelativeDistinguishedName::getValue
  - pcpp::X509Internal::X509Name::getRDNs
  - pcpp::X509Internal::X509AlgorithmIdentifier::getAlgorithm
  - pcpp::X509Internal::X509Validity::getNotBefore
  - pcpp::X509Internal::X509Validity::getNotAfter
  - pcpp::X509Internal::X509SubjectPublicKeyInfo::getAlgorithm
  - pcpp::X509Internal::X509SubjectPublicKeyInfo::getSubjectPublicKey
  - pcpp::X509Internal::X509Extension::X509Extension
  - pcpp::X509Internal::X509Extension::getType
  - pcpp::X509Internal::X509Extension::isCritical
  - pcpp::X509Internal::X509Extension::getValue
  - pcpp::X509Internal::X509Extensions::getExtensions
  - pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
  - pcpp::X509Internal::X509TBSCertificate::getSerialNumber
  - pcpp::X509Internal::X509TBSCertificate::getSignature
  - pcpp::X509Internal::X509TBSCertificate::X509TBSCertificate
  - pcpp::X509Internal::X509TBSCertificate::getVersion
  - pcpp::X509Internal::X509TBSCertificate::getIssuer
  - pcpp::X509Internal::X509TBSCertificate::getValidity
  - pcpp::X509Internal::X509TBSCertificate::getSubject
  - pcpp::X509Internal::X509TBSCertificate::getSubjectPublicKeyInfo
  - pcpp::X509Internal::X509TBSCertificate::getExtensions
  - pcpp::X509Internal::X509Certificate::decode
  - pcpp::X509Internal::X509Certificate::getAsn1Root
  - pcpp::X509Internal::X509Certificate::getTbsCertificate
  - pcpp::X509Internal::X509Certificate::getSignatureAlgorithm
  - pcpp::X509Internal::X509Certificate::getSignature
  - pcpp::X509Internal::X509Certificate::encode
  - pcpp::X509Internal::X509VersionRecord::getVersion
  - pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
  - pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
  - pcpp::X509Internal::X509RelativeDistinguishedName::getType
  - pcpp::X509Internal::X509RelativeDistinguishedName::getValue
  - pcpp::X509Internal::X509Name::getRDNs
  - pcpp::X509Internal::X509AlgorithmIdentifier::getAlgorithm
  - pcpp::X509Internal::X509Validity::getNotBefore
  - pcpp::X509Internal::X509Validity::getNotAfter
  - pcpp::X509Internal::X509SubjectPublicKeyInfo::getAlgorithm
  - pcpp::X509Internal::X509SubjectPublicKeyInfo::getSubjectPublicKey
  - pcpp::X509Internal::X509Extension::X509Extension
  - pcpp::X509Internal::X509Extension::getType
  - pcpp::X509Internal::X509Extension::isCritical
  - pcpp::X509Internal::X509Extension::getValue
  - pcpp::X509Internal::X509Extensions::getExtensions
  - pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
  - pcpp::X509Internal::X509TBSCertificate::getSerialNumber
  - pcpp::X509Internal::X509TBSCertificate::getSignature
  - pcpp::X509Internal::X509TBSCertificate::X509TBSCertificate
  - pcpp::X509Internal::X509TBSCertificate::getVersion
  - pcpp::X509Internal::X509TBSCertificate::getIssuer
  - pcpp::X509Internal::X509TBSCertificate::getValidity
  - pcpp::X509Internal::X509TBSCertificate::getSubject
  - pcpp::X509Internal::X509TBSCertificate::getSubjectPublicKeyInfo
  - pcpp::X509Internal::X509TBSCertificate::getExtensions
  - pcpp::X509Internal::X509Certificate::decode
  - pcpp::X509Internal::X509Certificate::getAsn1Root
  - pcpp::X509Internal::X509Certificate::getTbsCertificate
  - pcpp::X509Internal::X509Certificate::getSignatureAlgorithm
  - pcpp::X509Internal::X509Certificate::getSignature
  - pcpp::X509Internal::X509Certificate::encode
  - pcpp::X509Name::X509Name
  - pcpp::X509Name::toString
  - pcpp::X509Extension::X509Extension
  - pcpp::X509Extension::getData
  - pcpp::X509Certificate::X509Certificate
  - pcpp::X509Certificate::X509Certificate
  - pcpp::X509Certificate::getVersion
  - '& X509Certificate::getExtensions() const'
  - pcpp::X509Certificate::hasExtension
  - pcpp::X509Certificate::getExtension
  - pcpp::X509Certificate::getSubject
  - pcpp::X509Certificate::getIssuer
  - pcpp::X509Certificate::getSerialNumber
  - pcpp::X509Certificate::getNotBefore
  - pcpp::X509Certificate::getNotAfter
  - pcpp::X509Certificate::getPublicKeyAlgorithm
  - pcpp::X509Certificate::getPublicKey
  - pcpp::X509Certificate::getSignatureAlgorithm
  - pcpp::X509Certificate::getSignature
  - pcpp::X509Certificate::getRawCertificate
  - pcpp::X509Certificate::toDER
  - pcpp::X509Certificate::toPEM
  - pcpp::X509Certificate::toJson
  - pcpp::X509Algorithm::toString
  - pcpp::X509Algorithm::getOidValue
  - pcpp::X509Algorithm::fromOidValue
  - pcpp::X520DistinguishedName::toString
  - pcpp::X520DistinguishedName::getShortName
  - pcpp::X520DistinguishedName::getOidValue
  - pcpp::X520DistinguishedName::fromOidValue
  - pcpp::X509ExtensionType::toString
  - pcpp::X509ExtensionType::getOidValue
  - pcpp::X509ExtensionType::fromOidValue
  - pcpp::castRecordAs
  - pcpp::getSubRecordAndCast
  - pcpp::X509SerialNumber::toString
  - pcpp::X509Timestamp::toString
  - pcpp::X509Timestamp::getTimestamp
  - pcpp::X509Key::toString
  - '& X509Key::getBytes() const'
  - pcpp::X509Internal::X509VersionRecord::getVersion
  - pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
  - pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
  - pcpp::X509Internal::X509RelativeDistinguishedName::getType
  - pcpp::X509Internal::X509RelativeDistinguishedName::getValue
  - pcpp::X509Internal::X509Name::getRDNs
  - pcpp::X509Internal::X509AlgorithmIdentifier::getAlgorithm
  - pcpp::X509Internal::X509Validity::getNotBefore
  - pcpp::X509Internal::X509Validity::getNotAfter
  - pcpp::X509Internal::X509SubjectPublicKeyInfo::getAlgorithm
  - pcpp::X509Internal::X509SubjectPublicKeyInfo::getSubjectPublicKey
  - pcpp::X509Internal::X509Extension::X509Extension
  - pcpp::X509Internal::X509Extension::getType
  - pcpp::X509Internal::X509Extension::isCritical
  - pcpp::X509Internal::X509Extension::getValue
  - pcpp::X509Internal::X509Extensions::getExtensions
  - pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
  - pcpp::X509Internal::X509TBSCertificate::getSerialNumber
  - pcpp::X509Internal::X509TBSCertificate::getSignature
  - pcpp::X509Internal::X509TBSCertificate::X509TBSCertificate
  - pcpp::X509Internal::X509TBSCertificate::getVersion
  - pcpp::X509Internal::X509TBSCertificate::getIssuer
  - pcpp::X509Internal::X509TBSCertificate::getValidity
  - pcpp::X509Internal::X509TBSCertificate::getSubject
  - pcpp::X509Internal::X509TBSCertificate::getSubjectPublicKeyInfo
  - pcpp::X509Internal::X509TBSCertificate::getExtensions
  - pcpp::X509Internal::X509Certificate::decode
  - pcpp::X509Internal::X509Certificate::getAsn1Root
  - pcpp::X509Internal::X509Certificate::getTbsCertificate
  - pcpp::X509Internal::X509Certificate::getSignatureAlgorithm
  - pcpp::X509Internal::X509Certificate::getSignature
  - pcpp::X509Internal::X509Certificate::encode
  - pcpp::X509Internal::X509VersionRecord::getVersion
  - pcpp::X509Internal::X509VersionRecord::isValidVersionRecord
  - pcpp::X509Internal::X509RelativeDistinguishedName::getRecord
  - pcpp::X509Internal::X509RelativeDistinguishedName::getType
  - pcpp::X509Internal::X509RelativeDistinguishedName::getValue
  - pcpp::X509Internal::X509Name::getRDNs
  - pcpp::X509Internal::X509AlgorithmIdentifier::getAlgorithm
  - pcpp::X509Internal::X509Validity::getNotBefore
  - pcpp::X509Internal::X509Validity::getNotAfter
  - pcpp::X509Internal::X509SubjectPublicKeyInfo::getAlgorithm
  - pcpp::X509Internal::X509SubjectPublicKeyInfo::getSubjectPublicKey
  - pcpp::X509Internal::X509Extension::X509Extension
  - pcpp::X509Internal::X509Extension::getType
  - pcpp::X509Internal::X509Extension::isCritical
  - pcpp::X509Internal::X509Extension::getValue
  - pcpp::X509Internal::X509Extensions::getExtensions
  - pcpp::X509Internal::X509Extensions::isValidExtensionsRecord
  - pcpp::X509Internal::X509TBSCertificate::getSerialNumber
  - pcpp::X509Internal::X509TBSCertificate::getSignature
  - pcpp::X509Internal::X509TBSCertificate::X509TBSCertificate
  - pcpp::X509Internal::X509TBSCertificate::getVersion
  - pcpp::X509Internal::X509TBSCertificate::getIssuer
  - pcpp::X509Internal::X509TBSCertificate::getValidity
  - pcpp::X509Internal::X509TBSCertificate::getSubject
  - pcpp::X509Internal::X509TBSCertificate::getSubjectPublicKeyInfo
  - pcpp::X509Internal::X509TBSCertificate::getExtensions
  - pcpp::X509Internal::X509Certificate::decode
  - pcpp::X509Internal::X509Certificate::getAsn1Root
  - pcpp::X509Internal::X509Certificate::getTbsCertificate
  - pcpp::X509Internal::X509Certificate::getSignatureAlgorithm
  - pcpp::X509Internal::X509Certificate::getSignature
  - pcpp::X509Internal::X509Certificate::encode
  - pcpp::X509Name::X509Name
  - pcpp::X509Name::toString
  - pcpp::X509Extension::X509Extension
  - pcpp::X509Extension::getData
  - pcpp::X509Certificate::X509Certificate
  - pcpp::X509Certificate::X509Certificate
  - pcpp::X509Certificate::getVersion
  - '& X509Certificate::getExtensions() const'
  - pcpp::X509Certificate::hasExtension
  - pcpp::X509Certificate::getExtension
  - pcpp::X509Certificate::getSubject
  - pcpp::X509Certificate::getIssuer
  - pcpp::X509Certificate::getSerialNumber
  - pcpp::X509Certificate::getNotBefore
  - pcpp::X509Certificate::getNotAfter
  - pcpp::X509Certificate::getPublicKeyAlgorithm
  - pcpp::X509Certificate::getPublicKey
  - pcpp::X509Certificate::getSignatureAlgorithm
  - pcpp::X509Certificate::getSignature
  - pcpp::X509Certificate::getRawCertificate
  - pcpp::X509Certificate::toDER
  - pcpp::X509Certificate::toPEM
  - pcpp::X509Certificate::toJson
  source_file: /src/PcapPlusPlus/Packet++/src/X509Decoder.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::SllLayer::SllLayer
  - pcpp::SllLayer::setLinkLayerAddr
  - pcpp::SllLayer::setMacAddressAsLinkLayer
  - pcpp::SllLayer::parseNextLayer
  - pcpp::SllLayer::computeCalculateFields
  - pcpp::SllLayer::toString
  - pcpp::SllLayer::SllLayer
  - pcpp::SllLayer::setLinkLayerAddr
  - pcpp::SllLayer::setMacAddressAsLinkLayer
  - pcpp::SllLayer::parseNextLayer
  - pcpp::SllLayer::computeCalculateFields
  - pcpp::SllLayer::toString
  source_file: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Packet++/src/SllLayer.cpp
      type_or_value: PacketLogModuleSllLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::X509ExtendedKeyUsagePurpose::toString
  - pcpp::X509ExtendedKeyUsagePurpose::getOidValue
  - pcpp::X509ExtendedKeyUsagePurpose::fromOidValue
  - pcpp::castRecordAs
  - pcpp::getSubRecordAndCast
  - pcpp::X509Internal::X509ExtensionDataDecoder::decodeAsn1Data
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::create
  - pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::create
  - pcpp::X509Internal::X509KeyUsageDataDecoder::create
  - pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::create
  - pcpp::X509Internal::X509ExtensionDataDecoder::decodeAsn1Data
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::create
  - pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::create
  - pcpp::X509Internal::X509KeyUsageDataDecoder::create
  - pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::create
  - pcpp::X509BasicConstraintsExtension::X509BasicConstraintsExtension
  - pcpp::X509SubjectKeyIdentifierExtension::X509SubjectKeyIdentifierExtension
  - pcpp::X509KeyUsageExtension::X509KeyUsageExtension
  - pcpp::X509KeyUsageExtension::isBitSet
  - pcpp::X509KeyUsageExtension::isDigitalSignature
  - pcpp::X509KeyUsageExtension::isNonRepudiation
  - pcpp::X509KeyUsageExtension::isKeyEncipherment
  - pcpp::X509KeyUsageExtension::isDataEncipherment
  - pcpp::X509KeyUsageExtension::isKeyAgreement
  - pcpp::X509KeyUsageExtension::isKeyCertSign
  - pcpp::X509KeyUsageExtension::isCRLSign
  - pcpp::X509KeyUsageExtension::isEncipherOnly
  - pcpp::X509KeyUsageExtension::isDecipherOnly
  - pcpp::X509ExtendedKeyUsageExtension::X509ExtendedKeyUsageExtension
  - pcpp::X509ExtendedKeyUsagePurpose::toString
  - pcpp::X509ExtendedKeyUsagePurpose::getOidValue
  - pcpp::X509ExtendedKeyUsagePurpose::fromOidValue
  - pcpp::castRecordAs
  - pcpp::getSubRecordAndCast
  - pcpp::X509Internal::X509ExtensionDataDecoder::decodeAsn1Data
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::create
  - pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::create
  - pcpp::X509Internal::X509KeyUsageDataDecoder::create
  - pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::create
  - pcpp::X509Internal::X509ExtensionDataDecoder::decodeAsn1Data
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::create
  - pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::create
  - pcpp::X509Internal::X509KeyUsageDataDecoder::create
  - pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::create
  - pcpp::X509BasicConstraintsExtension::X509BasicConstraintsExtension
  - pcpp::X509SubjectKeyIdentifierExtension::X509SubjectKeyIdentifierExtension
  - pcpp::X509KeyUsageExtension::X509KeyUsageExtension
  - pcpp::X509KeyUsageExtension::isBitSet
  - pcpp::X509KeyUsageExtension::isDigitalSignature
  - pcpp::X509KeyUsageExtension::isNonRepudiation
  - pcpp::X509KeyUsageExtension::isKeyEncipherment
  - pcpp::X509KeyUsageExtension::isDataEncipherment
  - pcpp::X509KeyUsageExtension::isKeyAgreement
  - pcpp::X509KeyUsageExtension::isKeyCertSign
  - pcpp::X509KeyUsageExtension::isCRLSign
  - pcpp::X509KeyUsageExtension::isEncipherOnly
  - pcpp::X509KeyUsageExtension::isDecipherOnly
  - pcpp::X509ExtendedKeyUsageExtension::X509ExtendedKeyUsageExtension
  source_file: /src/PcapPlusPlus/Packet++/src/X509ExtensionDataDecoder.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::IPLayer::getIPVersion
  - pcpp::IPLayer::getIPVersion
  source_file: /src/PcapPlusPlus/Packet++/src/IPLayer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
  - pcpp::SingleCommandTextProtocol::setDelimiter
  - pcpp::SingleCommandTextProtocol::hyphenRequired
  - pcpp::SingleCommandTextProtocol::SingleCommandTextProtocol
  - pcpp::SingleCommandTextProtocol::setCommandInternal
  - pcpp::SingleCommandTextProtocol::setCommandOptionInternal
  - pcpp::SingleCommandTextProtocol::getCommandInternal
  - pcpp::SingleCommandTextProtocol::getCommandOptionInternal
  - pcpp::SingleCommandTextProtocol::isMultiLine
  - pcpp::SingleCommandTextProtocol::isDataValid
  - pcpp::SingleCommandTextProtocol::getArgumentFieldOffset
  - pcpp::SingleCommandTextProtocol::setDelimiter
  - pcpp::SingleCommandTextProtocol::hyphenRequired
  - pcpp::SingleCommandTextProtocol::SingleCommandTextProtocol
  - pcpp::SingleCommandTextProtocol::setCommandInternal
  - pcpp::SingleCommandTextProtocol::setCommandOptionInternal
  - pcpp::SingleCommandTextProtocol::getCommandInternal
  - pcpp::SingleCommandTextProtocol::getCommandOptionInternal
  - pcpp::SingleCommandTextProtocol::isMultiLine
  - pcpp::SingleCommandTextProtocol::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/src/SingleCommandTextProtocol.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::X509ExtendedKeyUsagePurpose::X509ExtendedKeyUsagePurpose
  - pcpp::X509ExtendedKeyUsagePurpose::X509ExtendedKeyUsagePurpose
  - operator Value() const
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::isCA
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::getPathLenConstraint
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
  - '& getKeyIdentifier() const'
  - pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
  - '& getKeyUsage() const'
  - pcpp::X509Internal::X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
  - '& getExtendedKeyUsagePurposes() const'
  - pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::isCA
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::getPathLenConstraint
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
  - '& getKeyIdentifier() const'
  - pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
  - '& getKeyUsage() const'
  - pcpp::X509Internal::X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
  - '& getExtendedKeyUsagePurposes() const'
  - pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
  - ~X509ExtensionData()
  - pcpp::X509ExtensionData::castAs
  - pcpp::X509BasicConstraintsExtension::isCA
  - pcpp::X509BasicConstraintsExtension::getPathLenConstraint
  - pcpp::X509SubjectKeyIdentifierExtension::getKeyIdentifier
  - '& getPurposes() const'
  - pcpp::X509ExtendedKeyUsagePurpose::X509ExtendedKeyUsagePurpose
  - pcpp::X509ExtendedKeyUsagePurpose::X509ExtendedKeyUsagePurpose
  - operator Value() const
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::isCA
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::getPathLenConstraint
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
  - '& getKeyIdentifier() const'
  - pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
  - '& getKeyUsage() const'
  - pcpp::X509Internal::X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
  - '& getExtendedKeyUsagePurposes() const'
  - pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::isCA
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::getPathLenConstraint
  - pcpp::X509Internal::X509BasicConstraintsDataDecoder::X509BasicConstraintsDataDecoder
  - '& getKeyIdentifier() const'
  - pcpp::X509Internal::X509SubjectKeyIdentifierDataDecoder::X509SubjectKeyIdentifierDataDecoder
  - '& getKeyUsage() const'
  - pcpp::X509Internal::X509KeyUsageDataDecoder::X509KeyUsageDataDecoder
  - '& getExtendedKeyUsagePurposes() const'
  - pcpp::X509Internal::X509ExtendedKeyUsageDataDecoder::X509ExtendedKeyUsageDataDecoder
  - ~X509ExtensionData()
  - pcpp::X509ExtensionData::castAs
  - pcpp::X509BasicConstraintsExtension::isCA
  - pcpp::X509BasicConstraintsExtension::getPathLenConstraint
  - pcpp::X509SubjectKeyIdentifierExtension::getKeyIdentifier
  - '& getPurposes() const'
  source_file: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
  types:
    enum:
    - enumerators:
      - name: ServerAuth
      - name: CodeSigning
      - name: EmailProtection
      - name: ClientAuth
      - name: TimeStamping
      - name: OCSPSigning
      - name: IPSecEndSystem
      - name: IPSecTunnel
      - name: IPSecUser
      - name: AnyExtendedKeyUsage
      - name: DocumentSigning
      - name: SmartCardLogon
      - name: EncryptedFileSystem
      - name: Unknown
      item_type: enum
      name: Value
      pos:
        line_end: 43
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    - enumerators:
      - name: ServerAuth
      - name: CodeSigning
      - name: EmailProtection
      - name: ClientAuth
      - name: TimeStamping
      - name: OCSPSigning
      - name: IPSecEndSystem
      - name: IPSecTunnel
      - name: IPSecUser
      - name: AnyExtendedKeyUsage
      - name: DocumentSigning
      - name: SmartCardLogon
      - name: EncryptedFileSystem
      - name: Unknown
      item_type: enum
      name: Value
      pos:
        line_end: 43
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/X509ExtensionDataDecoder.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::WakeOnLanLayer::WakeOnLanLayer
  - pcpp::WakeOnLanLayer::getWakeOnLanHeader
  - pcpp::WakeOnLanLayer::isWakeOnLanPort
  - pcpp::WakeOnLanLayer::parseNextLayer
  - pcpp::WakeOnLanLayer::getHeaderLen
  - pcpp::WakeOnLanLayer::computeCalculateFields
  - pcpp::WakeOnLanLayer::getOsiModelLayer
  - pcpp::WakeOnLanLayer::WakeOnLanLayer
  - pcpp::WakeOnLanLayer::getWakeOnLanHeader
  - pcpp::WakeOnLanLayer::isWakeOnLanPort
  - pcpp::WakeOnLanLayer::parseNextLayer
  - pcpp::WakeOnLanLayer::getHeaderLen
  - pcpp::WakeOnLanLayer::computeCalculateFields
  - pcpp::WakeOnLanLayer::getOsiModelLayer
  source_file: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: sync[6]
        type: uint8_t
      - name: addrBody[6 * 16]
        type: uint8_t
      item_type: struct
      name: wol_header
      pos:
        line_end: 28
        line_start: 22
        source_file: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    - fields:
      - name: sync[6]
        type: uint8_t
      - name: addrBody[6 * 16]
        type: uint8_t
      item_type: struct
      name: wol_header
      pos:
        line_end: 28
        line_start: 22
        source_file: /src/PcapPlusPlus/Packet++/header/WakeOnLanLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::AuthenticationHeaderLayer::AuthenticationHeaderLayer
  - pcpp::AuthenticationHeaderLayer::getAHHeader
  - pcpp::AuthenticationHeaderLayer::getHeaderLen
  - pcpp::AuthenticationHeaderLayer::computeCalculateFields
  - pcpp::AuthenticationHeaderLayer::getOsiModelLayer
  - pcpp::AuthenticationHeaderLayer::AuthenticationHeaderLayer
  - pcpp::ESPLayer::ESPLayer
  - pcpp::ESPLayer::getESPHeader
  - pcpp::ESPLayer::getHeaderLen
  - pcpp::ESPLayer::computeCalculateFields
  - pcpp::ESPLayer::getOsiModelLayer
  - pcpp::ESPLayer::ESPLayer
  - pcpp::AuthenticationHeaderLayer::isDataValid
  - pcpp::ESPLayer::isDataValid
  - pcpp::AuthenticationHeaderLayer::AuthenticationHeaderLayer
  - pcpp::AuthenticationHeaderLayer::getAHHeader
  - pcpp::AuthenticationHeaderLayer::getHeaderLen
  - pcpp::AuthenticationHeaderLayer::computeCalculateFields
  - pcpp::AuthenticationHeaderLayer::getOsiModelLayer
  - pcpp::AuthenticationHeaderLayer::AuthenticationHeaderLayer
  - pcpp::ESPLayer::ESPLayer
  - pcpp::ESPLayer::getESPHeader
  - pcpp::ESPLayer::getHeaderLen
  - pcpp::ESPLayer::computeCalculateFields
  - pcpp::ESPLayer::getOsiModelLayer
  - pcpp::ESPLayer::ESPLayer
  - pcpp::AuthenticationHeaderLayer::isDataValid
  - pcpp::ESPLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: nextHeader
        type: uint8_t
      - name: payloadLen
        type: uint8_t
      - name: reserved
        type: uint16_t
      - name: spi
        type: uint32_t
      - name: sequenceNumber
        type: uint32_t
      item_type: struct
      name: ipsec_authentication_header
      pos:
        line_end: 25
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    - fields:
      - name: spi
        type: uint32_t
      - name: sequenceNumber
        type: uint32_t
      item_type: struct
      name: ipsec_esp
      pos:
        line_end: 38
        line_start: 32
        source_file: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    - fields:
      - name: nextHeader
        type: uint8_t
      - name: payloadLen
        type: uint8_t
      - name: reserved
        type: uint16_t
      - name: spi
        type: uint32_t
      - name: sequenceNumber
        type: uint32_t
      item_type: struct
      name: ipsec_authentication_header
      pos:
        line_end: 25
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    - fields:
      - name: spi
        type: uint32_t
      - name: sequenceNumber
        type: uint32_t
      item_type: struct
      name: ipsec_esp
      pos:
        line_end: 38
        line_start: 32
        source_file: /src/PcapPlusPlus/Packet++/header/IPSecLayer.h
    typedefs: []
    union: []
- function_names:
  - ~HttpMessage() override
  - pcpp::HttpMessage::isHttpPort
  - pcpp::HttpMessage::getOsiModelLayer
  - pcpp::HttpMessage::HttpMessage
  - pcpp::HttpMessage::HttpMessage
  - pcpp::HttpMessage::HttpMessage
  - '& operator=(const HttpMessage& other)'
  - pcpp::HttpMessage::getHeaderFieldNameValueSeparator
  - pcpp::HttpMessage::spacesAllowedBetweenHeaderFieldNameAndValue
  - pcpp::HttpRequestLayer::getFirstLine
  - pcpp::HttpResponseStatusCode::HttpResponseStatusCode
  - pcpp::HttpResponseStatusCode::HttpResponseStatusCode
  - operator Value() const
  - pcpp::HttpResponseStatusCode::toString
  - pcpp::HttpResponseStatusCode::toInt
  - pcpp::HttpResponseStatusCode::isUnsupportedCode
  - pcpp::HttpResponseLayer::getFirstLine
  - pcpp::HttpRequestFirstLine::getMethod
  - pcpp::HttpRequestFirstLine::getVersion
  - pcpp::HttpRequestFirstLine::getSize
  - pcpp::HttpRequestFirstLine::isComplete
  - ~HttpRequestFirstLineException() noexcept
  - pcpp::HttpRequestFirstLine::HttpRequestFirstLineException::setMessage
  - pcpp::HttpRequestFirstLine::HttpRequestFirstLineException::what
  - pcpp::getStatusCode
  - pcpp::getVersion
  - pcpp::getSize
  - pcpp::isComplete
  - ~HttpResponseFirstLineException() noexcept
  - pcpp::HttpResponseFirstLineException::setMessage
  - pcpp::HttpResponseFirstLineException::what
  - ~HttpMessage() override
  - pcpp::HttpMessage::isHttpPort
  - pcpp::HttpMessage::getOsiModelLayer
  - pcpp::HttpMessage::HttpMessage
  - pcpp::HttpMessage::HttpMessage
  - pcpp::HttpMessage::HttpMessage
  - '& operator=(const HttpMessage& other)'
  - pcpp::HttpMessage::getHeaderFieldNameValueSeparator
  - pcpp::HttpMessage::spacesAllowedBetweenHeaderFieldNameAndValue
  - pcpp::HttpRequestLayer::getFirstLine
  - pcpp::HttpResponseStatusCode::HttpResponseStatusCode
  - pcpp::HttpResponseStatusCode::HttpResponseStatusCode
  - operator Value() const
  - pcpp::HttpResponseStatusCode::toString
  - pcpp::HttpResponseStatusCode::toInt
  - pcpp::HttpResponseStatusCode::isUnsupportedCode
  - pcpp::HttpResponseLayer::getFirstLine
  - pcpp::HttpRequestFirstLine::getMethod
  - pcpp::HttpRequestFirstLine::getVersion
  - pcpp::HttpRequestFirstLine::getSize
  - pcpp::HttpRequestFirstLine::isComplete
  - ~HttpRequestFirstLineException() noexcept
  - pcpp::HttpRequestFirstLine::HttpRequestFirstLineException::setMessage
  - pcpp::HttpRequestFirstLine::HttpRequestFirstLineException::what
  - pcpp::getStatusCode
  - pcpp::getVersion
  - pcpp::getSize
  - pcpp::isComplete
  - ~HttpResponseFirstLineException() noexcept
  - pcpp::HttpResponseFirstLineException::setMessage
  - pcpp::HttpResponseFirstLineException::what
  source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
  types:
    enum:
    - enumerators:
      - name: ZeroDotNine
      - name: HttpVersionUnknown
      - name: OneDotOne
      - name: OneDotZero
      item_type: enum
      name: HttpVersion
      pos:
        line_end: 24
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    - enumerators:
      - name: HttpGET
      - name: HttpPOST
      - name: HttpHEAD
      - name: HttpDELETE
      - name: HttpPUT
      - name: HttpTRACE
      - name: HttpOPTIONS
      - name: HttpCONNECT
      - name: HttpPATCH
      - name: HttpMethodUnknown
      item_type: enum
      name: HttpMethod
      pos:
        line_end: 157
        line_start: 135
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    - enumerators:
      - name: Http205ResetContent
        value: '205'
      - name: Http303SeeOther
        value: '303'
      - name: Http451
        value: '451'
      - name: Http501NotImplemented
        value: '501'
      - name: Http418ImATeapot
        value: '418'
      - name: Http402PaymentRequired
        value: '402'
      - name: Http410Gone
        value: '410'
      - name: Http426UpgradeRequired
        value: '426'
      - name: Http509BandwidthLimitExceeded
        value: '509'
      - name: Http598NetworkReadTimeoutError
        value: '598'
      - name: Http405MethodNotAllowed
        value: '405'
      - name: Http504GatewayTimeout
        value: '504'
      - name: Http520OriginError
        value: '520'
      - name: Http431RequestHeaderFieldsTooLarge
        value: '431'
      - name: Http200OK
        value: '200'
      - name: Http208AlreadyReported
        value: '208'
      - name: Http306SwitchProxy
        value: '306'
      - name: Http413RequestEntityTooLarge
        value: '413'
      - name: Http421MisdirectedRequest
        value: '421'
      - name: Http496NoCert
        value: '496'
      - name: HttpStatusCodeUnknown
        value: '999999'
      - name: Http103EarlyHints
        value: '103'
      - name: Http207MultiStatus
        value: '207'
      - name: Http495CertError
        value: '495'
      - name: Http412PreconditionFailed
        value: '412'
      - name: Http420
        value: '420'
      - name: Http305UseProxy
        value: '305'
      - name: Http404NotFound
        value: '404'
      - name: Http503ServiceUnavailable
        value: '503'
      - name: Http511NetworkAuthenticationRequired
        value: '511'
      - name: Http429TooManyRequests
        value: '429'
      - name: HttpStatus1xxCodeUnknown
        value: '900001'
      - name: Http506VariantAlsoNegotiates
        value: '506'
      - name: Http423Locked
        value: '423'
      - name: Http444NoResponse
        value: '444'
      - name: Http407ProxyAuthenticationRequired
        value: '407'
      - name: Http101SwitchingProtocols
        value: '101'
      - name: Http202Accepted
        value: '202'
      - name: Http300MultipleChoices
        value: '300'
      - name: Http415UnsupportedMediaType
        value: '415'
      - name: Http308PermanentRedirect
        value: '308'
      - name: Http498TokenExpiredInvalid
        value: '498'
      - name: Http100Continue
        value: '100'
      - name: Http201Created
        value: '201'
      - name: Http226IMUsed
        value: '226'
      - name: Http497HTTPtoHTTPS
        value: '497'
      - name: Http414RequestURITooLong
        value: '414'
      - name: Http422UnprocessableEntity
        value: '422'
      - name: Http307TemporaryRedirect
        value: '307'
      - name: Http406NotAcceptable
        value: '406'
      - name: Http505HTTPVersionNotSupported
        value: '505'
      - name: Http440LoginTimeout
        value: '440'
      - name: HttpStatus3xxCodeUnknown
        value: '900003'
      - name: Http508LoopDetected
        value: '508'
      - name: Http425TooEarly
        value: '425'
      - name: Http450BlockedByWindowsParentalControls
        value: '450'
      - name: Http409Conflict
        value: '409'
      - name: Http204NoContent
        value: '204'
      - name: Http302
        value: '302'
      - name: Http417ExpectationFailed
        value: '417'
      - name: Http401Unauthorized
        value: '401'
      - name: Http500InternalServerError
        value: '500'
      - name: Http524aTimeoutOccurred
        value: '524'
      - name: Http521WebServerIsDown
        value: '521'
      - name: HttpStatus2xxCodeUnknown
        value: '900002'
      - name: Http102Processing
        value: '102'
      - name: Http203NonAuthoritativeInformation
        value: '203'
      - name: Http301MovedPermanently
        value: '301'
      - name: Http416RequestedRangeNotSatisfiable
        value: '416'
      - name: Http400BadRequest
        value: '400'
      - name: Http499
        value: '499'
      - name: Http507InsufficientStorage
        value: '507'
      - name: Http424FailedDependency
        value: '424'
      - name: Http449RetryWith
        value: '449'
      - name: Http408RequestTimeout
        value: '408'
      - name: Http523ProxyDeclinedRequest
        value: '523'
      - name: HttpStatus5xxCodeUnknown
        value: '900005'
      - name: Http428PreconditionRequired
        value: '428'
      - name: Http403Forbidden
        value: '403'
      - name: Http411LengthRequired
        value: '411'
      - name: Http510NotExtended
        value: '510'
      - name: Http304NotModified
        value: '304'
      - name: Http206PartialContent
        value: '206'
      - name: Http494RequestHeaderTooLarge
        value: '494'
      - name: Http502BadGateway
        value: '502'
      - name: Http419AuthenticationTimeout
        value: '419'
      - name: Http599NetworkConnectTimeoutError
        value: '599'
      - name: Http522ConnectionTimedOut
        value: '522'
      - name: HttpStatus4xxCodeUnknown
        value: '900004'
      item_type: enum
      name: Value
      pos:
        line_end: 408
        line_start: 214
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    - enumerators:
      - name: ZeroDotNine
      - name: HttpVersionUnknown
      - name: OneDotOne
      - name: OneDotZero
      item_type: enum
      name: HttpVersion
      pos:
        line_end: 24
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    - enumerators:
      - name: HttpGET
      - name: HttpPOST
      - name: HttpHEAD
      - name: HttpDELETE
      - name: HttpPUT
      - name: HttpTRACE
      - name: HttpOPTIONS
      - name: HttpCONNECT
      - name: HttpPATCH
      - name: HttpMethodUnknown
      item_type: enum
      name: HttpMethod
      pos:
        line_end: 157
        line_start: 135
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    - enumerators:
      - name: Http205ResetContent
        value: '205'
      - name: Http303SeeOther
        value: '303'
      - name: Http451
        value: '451'
      - name: Http501NotImplemented
        value: '501'
      - name: Http418ImATeapot
        value: '418'
      - name: Http402PaymentRequired
        value: '402'
      - name: Http410Gone
        value: '410'
      - name: Http426UpgradeRequired
        value: '426'
      - name: Http509BandwidthLimitExceeded
        value: '509'
      - name: Http598NetworkReadTimeoutError
        value: '598'
      - name: Http405MethodNotAllowed
        value: '405'
      - name: Http504GatewayTimeout
        value: '504'
      - name: Http520OriginError
        value: '520'
      - name: Http431RequestHeaderFieldsTooLarge
        value: '431'
      - name: Http200OK
        value: '200'
      - name: Http208AlreadyReported
        value: '208'
      - name: Http306SwitchProxy
        value: '306'
      - name: Http413RequestEntityTooLarge
        value: '413'
      - name: Http421MisdirectedRequest
        value: '421'
      - name: Http496NoCert
        value: '496'
      - name: HttpStatusCodeUnknown
        value: '999999'
      - name: Http103EarlyHints
        value: '103'
      - name: Http207MultiStatus
        value: '207'
      - name: Http495CertError
        value: '495'
      - name: Http412PreconditionFailed
        value: '412'
      - name: Http420
        value: '420'
      - name: Http305UseProxy
        value: '305'
      - name: Http404NotFound
        value: '404'
      - name: Http503ServiceUnavailable
        value: '503'
      - name: Http511NetworkAuthenticationRequired
        value: '511'
      - name: Http429TooManyRequests
        value: '429'
      - name: HttpStatus1xxCodeUnknown
        value: '900001'
      - name: Http506VariantAlsoNegotiates
        value: '506'
      - name: Http423Locked
        value: '423'
      - name: Http444NoResponse
        value: '444'
      - name: Http407ProxyAuthenticationRequired
        value: '407'
      - name: Http101SwitchingProtocols
        value: '101'
      - name: Http202Accepted
        value: '202'
      - name: Http300MultipleChoices
        value: '300'
      - name: Http415UnsupportedMediaType
        value: '415'
      - name: Http308PermanentRedirect
        value: '308'
      - name: Http498TokenExpiredInvalid
        value: '498'
      - name: Http100Continue
        value: '100'
      - name: Http201Created
        value: '201'
      - name: Http226IMUsed
        value: '226'
      - name: Http497HTTPtoHTTPS
        value: '497'
      - name: Http414RequestURITooLong
        value: '414'
      - name: Http422UnprocessableEntity
        value: '422'
      - name: Http307TemporaryRedirect
        value: '307'
      - name: Http406NotAcceptable
        value: '406'
      - name: Http505HTTPVersionNotSupported
        value: '505'
      - name: Http440LoginTimeout
        value: '440'
      - name: HttpStatus3xxCodeUnknown
        value: '900003'
      - name: Http508LoopDetected
        value: '508'
      - name: Http425TooEarly
        value: '425'
      - name: Http450BlockedByWindowsParentalControls
        value: '450'
      - name: Http409Conflict
        value: '409'
      - name: Http204NoContent
        value: '204'
      - name: Http302
        value: '302'
      - name: Http417ExpectationFailed
        value: '417'
      - name: Http401Unauthorized
        value: '401'
      - name: Http500InternalServerError
        value: '500'
      - name: Http524aTimeoutOccurred
        value: '524'
      - name: Http521WebServerIsDown
        value: '521'
      - name: HttpStatus2xxCodeUnknown
        value: '900002'
      - name: Http102Processing
        value: '102'
      - name: Http203NonAuthoritativeInformation
        value: '203'
      - name: Http301MovedPermanently
        value: '301'
      - name: Http416RequestedRangeNotSatisfiable
        value: '416'
      - name: Http400BadRequest
        value: '400'
      - name: Http499
        value: '499'
      - name: Http507InsufficientStorage
        value: '507'
      - name: Http424FailedDependency
        value: '424'
      - name: Http449RetryWith
        value: '449'
      - name: Http408RequestTimeout
        value: '408'
      - name: Http523ProxyDeclinedRequest
        value: '523'
      - name: HttpStatus5xxCodeUnknown
        value: '900005'
      - name: Http428PreconditionRequired
        value: '428'
      - name: Http403Forbidden
        value: '403'
      - name: Http411LengthRequired
        value: '411'
      - name: Http510NotExtended
        value: '510'
      - name: Http304NotModified
        value: '304'
      - name: Http206PartialContent
        value: '206'
      - name: Http494RequestHeaderTooLarge
        value: '494'
      - name: Http502BadGateway
        value: '502'
      - name: Http419AuthenticationTimeout
        value: '419'
      - name: Http599NetworkConnectTimeoutError
        value: '599'
      - name: Http522ConnectionTimedOut
        value: '522'
      - name: HttpStatus4xxCodeUnknown
        value: '900004'
      item_type: enum
      name: Value
      pos:
        line_end: 408
        line_start: 214
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
    preproc_defs:
    - item_type: preproc_def
      name: PCPP_HTTP_HOST_FIELD
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Host"'
    - item_type: preproc_def
      name: PCPP_HTTP_CONNECTION_FIELD
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Connection"'
    - item_type: preproc_def
      name: PCPP_HTTP_USER_AGENT_FIELD
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"User-Agent"'
    - item_type: preproc_def
      name: PCPP_HTTP_REFERER_FIELD
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Referer"'
    - item_type: preproc_def
      name: PCPP_HTTP_ACCEPT_FIELD
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Accept"'
    - item_type: preproc_def
      name: PCPP_HTTP_ACCEPT_ENCODING_FIELD
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Accept-Encoding"'
    - item_type: preproc_def
      name: PCPP_HTTP_ACCEPT_LANGUAGE_FIELD
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Accept-Language"'
    - item_type: preproc_def
      name: PCPP_HTTP_COOKIE_FIELD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Cookie"'
    - item_type: preproc_def
      name: PCPP_HTTP_CONTENT_LENGTH_FIELD
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Content-Length"'
    - item_type: preproc_def
      name: PCPP_HTTP_CONTENT_ENCODING_FIELD
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Content-Encoding"'
    - item_type: preproc_def
      name: PCPP_HTTP_CONTENT_TYPE_FIELD
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Content-Type"'
    - item_type: preproc_def
      name: PCPP_HTTP_TRANSFER_ENCODING_FIELD
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Transfer-Encoding"'
    - item_type: preproc_def
      name: PCPP_HTTP_SERVER_FIELD
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Server"'
    - item_type: preproc_def
      name: PCPP_HTTP_HOST_FIELD
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Host"'
    - item_type: preproc_def
      name: PCPP_HTTP_CONNECTION_FIELD
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Connection"'
    - item_type: preproc_def
      name: PCPP_HTTP_USER_AGENT_FIELD
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"User-Agent"'
    - item_type: preproc_def
      name: PCPP_HTTP_REFERER_FIELD
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Referer"'
    - item_type: preproc_def
      name: PCPP_HTTP_ACCEPT_FIELD
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Accept"'
    - item_type: preproc_def
      name: PCPP_HTTP_ACCEPT_ENCODING_FIELD
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Accept-Encoding"'
    - item_type: preproc_def
      name: PCPP_HTTP_ACCEPT_LANGUAGE_FIELD
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Accept-Language"'
    - item_type: preproc_def
      name: PCPP_HTTP_COOKIE_FIELD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Cookie"'
    - item_type: preproc_def
      name: PCPP_HTTP_CONTENT_LENGTH_FIELD
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Content-Length"'
    - item_type: preproc_def
      name: PCPP_HTTP_CONTENT_ENCODING_FIELD
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Content-Encoding"'
    - item_type: preproc_def
      name: PCPP_HTTP_CONTENT_TYPE_FIELD
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Content-Type"'
    - item_type: preproc_def
      name: PCPP_HTTP_TRANSFER_ENCODING_FIELD
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Transfer-Encoding"'
    - item_type: preproc_def
      name: PCPP_HTTP_SERVER_FIELD
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PcapPlusPlus/Packet++/header/HttpLayer.h
      type_or_value: '"Server"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::CotpLayer::CotpLayer
  - ~CotpLayer() override
  - pcpp::CotpLayer::getHeaderLen
  - pcpp::CotpLayer::computeCalculateFields
  - pcpp::CotpLayer::getOsiModelLayer
  - pcpp::CotpLayer::getCotpHeader
  - pcpp::CotpLayer::CotpLayer
  - ~CotpLayer() override
  - pcpp::CotpLayer::getHeaderLen
  - pcpp::CotpLayer::computeCalculateFields
  - pcpp::CotpLayer::getOsiModelLayer
  - pcpp::CotpLayer::getCotpHeader
  source_file: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: length
        type: uint8_t
      - name: pduType
        type: uint8_t
      - name: tpduNumber
        type: uint8_t
      item_type: struct
      name: cotphdr
      pos:
        line_end: 22
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
    - fields:
      - name: length
        type: uint8_t
      - name: pduType
        type: uint8_t
      - name: tpduNumber
        type: uint8_t
      item_type: struct
      name: cotphdr
      pos:
        line_end: 22
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/CotpLayer.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/Packet++/header/PemCodec.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::SSLLayer::getRecordLayer
  - pcpp::SSLLayer::getOsiModelLayer
  - pcpp::SSLLayer::SSLLayer
  - pcpp::SSLHandshakeLayer::getHandshakeMessagesCount
  - pcpp::SSLHandshakeLayer::computeCalculateFields
  - pcpp::SSLChangeCipherSpecLayer::SSLChangeCipherSpecLayer
  - ~SSLChangeCipherSpecLayer() override
  - pcpp::SSLChangeCipherSpecLayer::computeCalculateFields
  - pcpp::SSLAlertLayer::SSLAlertLayer
  - ~SSLAlertLayer() override
  - pcpp::SSLAlertLayer::computeCalculateFields
  - pcpp::SSLApplicationDataLayer::SSLApplicationDataLayer
  - ~SSLApplicationDataLayer() override
  - pcpp::SSLApplicationDataLayer::computeCalculateFields
  - pcpp::SSLHandshakeLayer::getHandshakeMessageOfType
  - pcpp::SSLHandshakeLayer::getNextHandshakeMessageOfType
  - pcpp::SSLLayer::isSSLPort
  - pcpp::SSLLayer::getRecordLayer
  - pcpp::SSLLayer::getOsiModelLayer
  - pcpp::SSLLayer::SSLLayer
  - pcpp::SSLHandshakeLayer::getHandshakeMessagesCount
  - pcpp::SSLHandshakeLayer::computeCalculateFields
  - pcpp::SSLChangeCipherSpecLayer::SSLChangeCipherSpecLayer
  - ~SSLChangeCipherSpecLayer() override
  - pcpp::SSLChangeCipherSpecLayer::computeCalculateFields
  - pcpp::SSLAlertLayer::SSLAlertLayer
  - ~SSLAlertLayer() override
  - pcpp::SSLAlertLayer::computeCalculateFields
  - pcpp::SSLApplicationDataLayer::SSLApplicationDataLayer
  - ~SSLApplicationDataLayer() override
  - pcpp::SSLApplicationDataLayer::computeCalculateFields
  - pcpp::SSLHandshakeLayer::getHandshakeMessageOfType
  - pcpp::SSLHandshakeLayer::getNextHandshakeMessageOfType
  - pcpp::SSLLayer::isSSLPort
  source_file: /src/PcapPlusPlus/Packet++/header/SSLLayer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~GtpV1Layer() override
  - pcpp::GtpV1Layer::GtpV1Layer
  - pcpp::GtpV1Layer::getHeader
  - pcpp::GtpV1Layer::isGTPv1Port
  - pcpp::GtpV1Layer::getOsiModelLayer
  - pcpp::GtpV2MessageType::GtpV2MessageType
  - pcpp::GtpV2MessageType::GtpV2MessageType
  - operator Value() const
  - pcpp::GtpV2InformationElement::GtpV2InformationElement
  - ~GtpV2InformationElement() override
  - pcpp::GtpV2InformationElement::getValueOffset
  - ~GtpV2Layer() override
  - pcpp::GtpV2Layer::GtpV2Layer
  - pcpp::GtpV2Layer::isGTPv2Port
  - pcpp::GtpV2Layer::getOsiModelLayer
  - pcpp::GtpV2Layer::getHeader
  - ~GtpV1Layer() override
  - pcpp::GtpV1Layer::GtpV1Layer
  - pcpp::GtpV1Layer::getHeader
  - pcpp::GtpV1Layer::isGTPv1Port
  - pcpp::GtpV1Layer::getOsiModelLayer
  - pcpp::GtpV2MessageType::GtpV2MessageType
  - pcpp::GtpV2MessageType::GtpV2MessageType
  - operator Value() const
  - pcpp::GtpV2InformationElement::GtpV2InformationElement
  - ~GtpV2InformationElement() override
  - pcpp::GtpV2InformationElement::getValueOffset
  - ~GtpV2Layer() override
  - pcpp::GtpV2Layer::GtpV2Layer
  - pcpp::GtpV2Layer::isGTPv2Port
  - pcpp::GtpV2Layer::getOsiModelLayer
  - pcpp::GtpV2Layer::getHeader
  source_file: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
  types:
    enum:
    - enumerators:
      - name: GtpV1_MessageTypeUnknown
        value: '0'
      - name: GtpV1_EchoResponse
        value: '2'
      - name: GtpV1_NodeAliveRequest
        value: '4'
      - name: GtpV1_RedirectionRequest
        value: '6'
      - name: GtpV1_CreatePDPContextResponse
        value: '16'
      - name: GtpV1_PDUNotificationRejectRequest
        value: '29'
      - name: GtpV1_DeletePDPContextResponse
        value: '20'
      - name: GtpV1_InitiatePDPContextActivationResponse
        value: '23'
      - name: GtpV1_PDUNotificationRequest
        value: '27'
      - name: GtpV1_UpdatePDPContextResponse
        value: '18'
      - name: GtpV1_SGSNContextResponse
        value: '51'
      - name: GtpV1_UERegistrationRequest
        value: '61'
      - name: GtpV1_DeleteMBMSNotificationRequest
        value: '104'
      - name: GtpV1_IdentificationResponse
        value: '39'
      - name: GtpV1_UpdateMBMSNotificationRequest
        value: '102'
      - name: GtpV1_ForwardRelocationCompleteAcknowledge
        value: '59'
      - name: GtpV1_MBMSSessionStopResponse
        value: '119'
      - name: GtpV1_MBMSSessionStartResponse
        value: '117'
      - name: GtpV1_NoteMSPresentResponse
        value: '37'
      - name: GtpV1_CreateMBMSNotificationRequest
        value: '100'
      - name: GtpV1_RelocationCancelResponse
        value: '57'
      - name: GtpV1_DataRecordTransferResponse
        value: '241'
      - name: GtpV1_ForwardRelocationComplete
        value: '55'
      - name: GtpV1_MBMSDeRegistrationRequest
        value: '114'
      - name: GtpV1_FailureReportRequest
        value: '34'
      - name: GtpV1_MBMSNotificationResponse
        value: '97'
      - name: GtpV1_MSInfoChangeResponse
        value: '129'
      - name: GtpV1_ForwardRelocationRequest
        value: '53'
      - name: GtpV1_MBMSRegistrationRequest
        value: '112'
      - name: GtpV1_SendRoutingforGPRSRequest
        value: '32'
      - name: GtpV1_RANInformationRelay
        value: '70'
      - name: GtpV1_MBMSSessionUpdateResponse
        value: '121'
      - name: GtpV1_VersionNotSupported
        value: '3'
      - name: GtpV1_EchoRequest
        value: '1'
      - name: GtpV1_NodeAliveResponse
        value: '5'
      - name: GtpV1_CreatePDPContextRequest
        value: '7'
      - name: GtpV1_UpdatePDPContextRequest
        value: '17'
      - name: GtpV1_InitiatePDPContextActivationRequest
        value: '22'
      - name: GtpV1_PDUNotificationResponse
        value: '28'
      - name: GtpV1_DeletePDPContextRequest
        value: '19'
      - name: GtpV1_ErrorIndication
        value: '26'
      - name: GtpV1_PDUNotificationRejectResponse
        value: '30'
      - name: GtpV1_SGSNContextRequest
        value: '50'
      - name: GtpV1_ForwardSRNSContextAcknowledge
        value: '60'
      - name: GtpV1_UpdateMBMSNotificationResponse
        value: '103'
      - name: GtpV1_MBMSSessionUpdateRequest
        value: '120'
      - name: GtpV1_GPDU
        value: '255'
      - name: GtpV1_MBMSSessionStopRequest
        value: '118'
      - name: GtpV1_IdentificationRequest
        value: '38'
      - name: GtpV1_CreateMBMSNotificationResponse
        value: '101'
      - name: GtpV1_ForwardSRNSContext
        value: '58'
      - name: GtpV1_MBMSSessionStartRequest
        value: '116'
      - name: GtpV1_NoteMSPresentRequest
        value: '36'
      - name: GtpV1_MBMSNotificationRejectResponse
        value: '99'
      - name: GtpV1_MSInfoChangeRequest
        value: '128'
      - name: GtpV1_EndMarker
        value: '254'
      - name: GtpV1_RelocationCancelRequest
        value: '56'
      - name: GtpV1_MBMSDeRegistrationResponse
        value: '115'
      - name: GtpV1_FailureReportResponse
        value: '35'
      - name: GtpV1_MBMSNotificationRejectRequest
        value: '98'
      - name: GtpV1_DeleteMBMSNotificationResponse
        value: '105'
      - name: GtpV1_DataRecordTransferRequest
        value: '240'
      - name: GtpV1_ForwardRelocationResponse
        value: '54'
      - name: GtpV1_MBMSRegistrationResponse
        value: '113'
      - name: GtpV1_SendRoutingforGPRSResponse
        value: '33'
      - name: GtpV1_MBMSNotificationRequest
        value: '96'
      - name: GtpV1_UERegistrationResponse
        value: '62'
      - name: GtpV1_SGSNContextAcknowledge
        value: '52'
      - name: GtpV1_SupportedExtensionsHeaderNotification
        value: '31'
      item_type: enum
      name: GtpV1MessageType
      pos:
        line_end: 203
        line_start: 63
        source_file: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    - enumerators:
      - name: CreateSessionRequest
        value: '32'
      - name: RemoteUEReportNotifications
        value: '40'
      - name: ForwardAccessAcknowledge
        value: '138'
      - name: AlertMMENotification
        value: '153'
      - name: SuspendAcknowledge
        value: '163'
      - name: ContextRequest
        value: '130'
      - name: ModifyAccessBearersResponse
        value: '212'
      - name: DownlinkDataNotificationFailure
        value: '70'
      - name: DeleteBearerRequest
        value: '99'
      - name: ReleaseAccessBearersResponse
        value: '171'
      - name: MMBSSessionUpdateResponse
        value: '234'
      - name: ForwardRelocationNotification
        value: '135'
      - name: DetachAcknowledge
        value: '150'
      - name: CreateBearerResponse
        value: '96'
      - name: EchoRequest
        value: '1'
      - name: DeleteSessionResponse
        value: '37'
      - name: DeleteBearerFailure
        value: '67'
      - name: PGWDownlinkAcknowledge
        value: '104'
      - name: DeleteIndirectDataTunnelRequest
        value: '168'
      - name: UpdatePDNConnectionRequest
        value: '200'
      - name: CreateForwardingRequest
        value: '160'
      - name: MMBSSessionStopRequest
        value: '235'
      - name: ModifyBearerRequest
        value: '34'
      - name: ModifyBearerCommand
        value: '64'
      - name: UEActivityNotification
        value: '155'
      - name: DeletePDNRequest
        value: '101'
      - name: ContextAcknowledge
        value: '132'
      - name: TraceSessionDeactivation
        value: '72'
      - name: ResumeAcknowledge
        value: '165'
      - name: DownlinkDataAcknowledge
        value: '177'
      - name: RelocationCancelResponse
        value: '140'
      - name: MMBSSessionStartResponse
        value: '232'
      - name: ForwardAccessNotification
        value: '137'
      - name: ModifyAccessBearersRequest
        value: '211'
      - name: UpdateBearerResponse
        value: '98'
      - name: ReleaseAccessBearersRequest
        value: '170'
      - name: VersionNotSupported
        value: '3'
      - name: ChangeNotificationResponse
        value: '39'
      - name: BearerResourceFailure
        value: '69'
      - name: RANInformationRelay
        value: '152'
      - name: SuspendNotification
        value: '162'
      - name: IdentificationResponse
        value: '129'
      - name: Unknown
        value: '0'
      - name: DeleteSessionRequest
        value: '36'
      - name: DeleteBearerCommand
        value: '66'
      - name: PGWDownlinkNotification
        value: '103'
      - name: PGWRestartAcknowledge
        value: '180'
      - name: ISRStatus
        value: '157'
      - name: CreateIndirectDataTunnelResponse
        value: '167'
      - name: ForwardRelocationResponse
        value: '134'
      - name: DetachNotification
        value: '149'
      - name: CreateBearerRequest
        value: '95'
      - name: TraceSessionActivation
        value: '71'
      - name: ResumeNotification
        value: '164'
      - name: DownlinkDataNotification
        value: '176'
      - name: RelocationCancelRequest
        value: '139'
      - name: CreateSessionResponse
        value: '33'
      - name: RemoteUEReportAcknowledge
        value: '41'
      - name: AlertMMEAcknowledge
        value: '154'
      - name: DeleteBearerResponse
        value: '100'
      - name: ContextResponse
        value: '131'
      - name: MMBSSessionStartRequest
        value: '231'
      - name: MMBSSessionStopResponse
        value: '236'
      - name: EchoResponse
        value: '2'
      - name: ChangeNotificationRequest
        value: '38'
      - name: BearerResourceCommand
        value: '68'
      - name: UpdatePDNConnectionResponse
        value: '201'
      - name: CSPaging
        value: '151'
      - name: CreateForwardingResponse
        value: '161'
      - name: IdentificationRequest
        value: '128'
      - name: ForwardRelocationAcknowledge
        value: '136'
      - name: UpdateBearerRequest
        value: '97'
      - name: DeleteIndirectDataTunnelResponse
        value: '169'
      - name: CreateIndirectDataTunnelRequest
        value: '166'
      - name: ForwardRelocationRequest
        value: '133'
      - name: ConfigurationTransferTunnel
        value: '141'
      - name: StopPagingIndication
        value: '73'
      - name: ModifyBearerResponse
        value: '35'
      - name: ModifyBearerFailure
        value: '65'
      - name: DeletePDNResponse
        value: '102'
      - name: PGWRestartNotification
        value: '179'
      - name: UEActivityAcknowledge
        value: '156'
      - name: MMBSSessionUpdateRequest
        value: '233'
      item_type: enum
      name: Value
      pos:
        line_end: 587
        line_start: 419
        source_file: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    - enumerators:
      - name: Ambr
        value: '72'
      - name: BearerQos
        value: '80'
      - name: TraceInformation
        value: '96'
      - name: CsgInformationReportingAction
        value: '146'
      - name: SourceIdentification
        value: '129'
      - name: MbmsSessionDuration
        value: '138'
      - name: Tmsi
        value: '88'
      - name: PTmsiSignature
        value: '112'
      - name: PlmnId
        value: '120'
      - name: Throttling
        value: '154'
      - name: HenbInformationReporting
        value: '165'
      - name: ExtendedPco
        value: '197'
      - name: MonitoringEventExtensionInformation
        value: '206'
      - name: Twmi
        value: '174'
      - name: SequenceNumber
        value: '183'
      - name: RemoteUeContext
        value: '191'
      - name: Arp
        value: '155'
      - name: PdnConnection
        value: '109'
      - name: MbmsDistributionAcknowledge
        value: '143'
      - name: NodeType
        value: '135'
      - name: Recovery
        value: '3'
      - name: Indication
        value: '77'
      - name: Tad
        value: '85'
      - name: BearerContext
        value: '93'
      - name: Guti
        value: '117'
      - name: MmContext2
        value: '104'
      - name: PortNumber
        value: '126'
      - name: NodeNumber
        value: '175'
      - name: AdditionalRrmPolicyIndex
        value: '207'
      - name: ApnAndRelativeCapacity
        value: '184'
      - name: RemoteUserId
        value: '192'
      - name: EpcTimer
        value: '156'
      - name: ServingPlmnRateControl
        value: '198'
      - name: Ipv4ConfigurationParameters
        value: '166'
      - name: Unknown
        value: '0'
      - name: IpAddress
        value: '74'
      - name: RatType
        value: '82'
      - name: MbmsSessionIdentifier
        value: '140'
      - name: PdnType
        value: '99'
      - name: PacketFlowId
        value: '123'
      - name: FqCsid
        value: '132'
      - name: MmContext4
        value: '106'
      - name: S103PdnDataForwardingInfo
        value: '90'
      - name: UeTimeZone
        value: '114'
      - name: NodeIdentifier
        value: '176'
      - name: WlanOffloadabilityIndication
        value: '185'
      - name: ServiceIndicator
        value: '149'
      - name: Cmi
        value: '148'
      - name: SignallingPriorityIndication
        value: '157'
      - name: Counter
        value: '199'
      - name: ChangeToReportFlags
        value: '167'
      - name: SelectionMode
        value: '128'
      - name: Ti
        value: '137'
      - name: FTeid
        value: '87'
      - name: PTmsi
        value: '111'
      - name: Apn
        value: '71'
      - name: Paa
        value: '79'
      - name: ChargingCharacteristics
        value: '95'
      - name: FCause
        value: '119'
      - name: Uci
        value: '145'
      - name: MbmsTimeToDataTransfer
        value: '153'
      - name: PagingAndServiceInformation
        value: '186'
      - name: DetachType
        value: '150'
      - name: Tmgi
        value: '158'
      - name: MappedUeUsageType
        value: '200'
      - name: ActionIndication
        value: '168'
      - name: Pc5QosParameters
        value: '209'
      - name: PresenceReportingAreaAction
        value: '177'
      - name: Cause
        value: '2'
      - name: BearerTft
        value: '84'
      - name: Msisdn
        value: '76'
      - name: MbmsIpMulticastDistribution
        value: '142'
      - name: DelayValue
        value: '92'
      - name: CompleteRequestMessage
        value: '116'
      - name: MmContext1
        value: '103'
      - name: SourceRncPdcpContextInfo
        value: '125'
      - name: MmContext6
        value: '108'
      - name: EmlppPriority
        value: '134'
      - name: IntegerNumber
        value: '187'
      - name: Ldn
        value: '151'
      - name: RemoteUeIpInformation
        value: '193'
      - name: AdditionalFlagsForSrvcc
        value: '160'
      - name: AdditionalMmContextForSrvcc
        value: '159'
      - name: SecondaryRatUsageDataReport
        value: '201'
      - name: TwanIdentifier
        value: '169'
      - name: ServicesAuthorized
        value: '210'
      - name: PresenceReportingAreaInformation
        value: '178'
      - name: ChangeReportingAction
        value: '131'
      - name: MmContext3
        value: '105'
      - name: GlobalCnId
        value: '89'
      - name: HopCounter
        value: '113'
      - name: Ebi
        value: '73'
      - name: FlowQos
        value: '81'
      - name: MbmsServiceArea
        value: '139'
      - name: TargetIdentification
        value: '121'
      - name: CsgId
        value: '147'
      - name: BearerFlags
        value: '97'
      - name: CiotOptimizationsSupportIndication
        value: '194'
      - name: MdtConfiguration
        value: '162'
      - name: MaximumPacketLossRate
        value: '203'
      - name: UpFunctionSelectionIndicationFlags
        value: '202'
      - name: UliTimestamp
        value: '170'
      - name: BitRate
        value: '211'
      - name: TwanIdentifierTimestamp
        value: '179'
      - name: MillisecondTimeStamp
        value: '188'
      - name: StnSr
        value: '51'
      - name: Pco
        value: '78'
      - name: ChargingId
        value: '94'
      - name: FContainer
        value: '118'
      - name: RfspIndex
        value: '144'
      - name: ApnRestriction
        value: '127'
      - name: PduNumbers
        value: '110'
      - name: Fqdn
        value: '136'
      - name: Uli
        value: '86'
      - name: NodeFeatures
        value: '152'
      - name: ScefPdnConnection
        value: '195'
      - name: Apco
        value: '163'
      - name: ApnRateControlStatus
        value: '204'
      - name: RanNasCause
        value: '172'
      - name: MbmsFlags
        value: '171'
      - name: Pc5QosFlow
        value: '212'
      - name: OverloadControlInformation
        value: '180'
      - name: SgiPtpTunnelAddress
        value: '213'
      - name: MonitoringEventInformation
        value: '189'
      - name: MmContext5
        value: '107'
      - name: ChannelNeeded
        value: '133'
      - name: Imsi
        value: '1'
      - name: Mei
        value: '75'
      - name: ServingNetwork
        value: '83'
      - name: MbmsFlowIdentifier
        value: '141'
      - name: S1UDataForwardingInfo
        value: '91'
      - name: TraceReference
        value: '115'
      - name: Pti
        value: '100'
      - name: RabContext
        value: '124'
      - name: HeaderCompressionConfiguration
        value: '196'
      - name: AbsoluteTimeOfMbmsDataTransfer
        value: '164'
      - name: ExtendedTraceInformation
        value: '205'
      - name: CnOperatorSelectionEntity
        value: '173'
      - name: V2xContext
        value: '208'
      - name: Metric
        value: '182'
      - name: LoadControlInformation
        value: '181'
      - name: EcgiList
        value: '190'
      item_type: enum
      name: Type
      pos:
        line_end: 912
        line_start: 626
        source_file: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    - enumerators:
      - name: GtpV1_MessageTypeUnknown
        value: '0'
      - name: GtpV1_EchoResponse
        value: '2'
      - name: GtpV1_NodeAliveRequest
        value: '4'
      - name: GtpV1_RedirectionRequest
        value: '6'
      - name: GtpV1_CreatePDPContextResponse
        value: '16'
      - name: GtpV1_PDUNotificationRejectRequest
        value: '29'
      - name: GtpV1_DeletePDPContextResponse
        value: '20'
      - name: GtpV1_InitiatePDPContextActivationResponse
        value: '23'
      - name: GtpV1_PDUNotificationRequest
        value: '27'
      - name: GtpV1_UpdatePDPContextResponse
        value: '18'
      - name: GtpV1_SGSNContextResponse
        value: '51'
      - name: GtpV1_UERegistrationRequest
        value: '61'
      - name: GtpV1_DeleteMBMSNotificationRequest
        value: '104'
      - name: GtpV1_IdentificationResponse
        value: '39'
      - name: GtpV1_UpdateMBMSNotificationRequest
        value: '102'
      - name: GtpV1_ForwardRelocationCompleteAcknowledge
        value: '59'
      - name: GtpV1_MBMSSessionStopResponse
        value: '119'
      - name: GtpV1_MBMSSessionStartResponse
        value: '117'
      - name: GtpV1_NoteMSPresentResponse
        value: '37'
      - name: GtpV1_CreateMBMSNotificationRequest
        value: '100'
      - name: GtpV1_RelocationCancelResponse
        value: '57'
      - name: GtpV1_DataRecordTransferResponse
        value: '241'
      - name: GtpV1_ForwardRelocationComplete
        value: '55'
      - name: GtpV1_MBMSDeRegistrationRequest
        value: '114'
      - name: GtpV1_FailureReportRequest
        value: '34'
      - name: GtpV1_MBMSNotificationResponse
        value: '97'
      - name: GtpV1_MSInfoChangeResponse
        value: '129'
      - name: GtpV1_ForwardRelocationRequest
        value: '53'
      - name: GtpV1_MBMSRegistrationRequest
        value: '112'
      - name: GtpV1_SendRoutingforGPRSRequest
        value: '32'
      - name: GtpV1_RANInformationRelay
        value: '70'
      - name: GtpV1_MBMSSessionUpdateResponse
        value: '121'
      - name: GtpV1_VersionNotSupported
        value: '3'
      - name: GtpV1_EchoRequest
        value: '1'
      - name: GtpV1_NodeAliveResponse
        value: '5'
      - name: GtpV1_CreatePDPContextRequest
        value: '7'
      - name: GtpV1_UpdatePDPContextRequest
        value: '17'
      - name: GtpV1_InitiatePDPContextActivationRequest
        value: '22'
      - name: GtpV1_PDUNotificationResponse
        value: '28'
      - name: GtpV1_DeletePDPContextRequest
        value: '19'
      - name: GtpV1_ErrorIndication
        value: '26'
      - name: GtpV1_PDUNotificationRejectResponse
        value: '30'
      - name: GtpV1_SGSNContextRequest
        value: '50'
      - name: GtpV1_ForwardSRNSContextAcknowledge
        value: '60'
      - name: GtpV1_UpdateMBMSNotificationResponse
        value: '103'
      - name: GtpV1_MBMSSessionUpdateRequest
        value: '120'
      - name: GtpV1_GPDU
        value: '255'
      - name: GtpV1_MBMSSessionStopRequest
        value: '118'
      - name: GtpV1_IdentificationRequest
        value: '38'
      - name: GtpV1_CreateMBMSNotificationResponse
        value: '101'
      - name: GtpV1_ForwardSRNSContext
        value: '58'
      - name: GtpV1_MBMSSessionStartRequest
        value: '116'
      - name: GtpV1_NoteMSPresentRequest
        value: '36'
      - name: GtpV1_MBMSNotificationRejectResponse
        value: '99'
      - name: GtpV1_MSInfoChangeRequest
        value: '128'
      - name: GtpV1_EndMarker
        value: '254'
      - name: GtpV1_RelocationCancelRequest
        value: '56'
      - name: GtpV1_MBMSDeRegistrationResponse
        value: '115'
      - name: GtpV1_FailureReportResponse
        value: '35'
      - name: GtpV1_MBMSNotificationRejectRequest
        value: '98'
      - name: GtpV1_DeleteMBMSNotificationResponse
        value: '105'
      - name: GtpV1_DataRecordTransferRequest
        value: '240'
      - name: GtpV1_ForwardRelocationResponse
        value: '54'
      - name: GtpV1_MBMSRegistrationResponse
        value: '113'
      - name: GtpV1_SendRoutingforGPRSResponse
        value: '33'
      - name: GtpV1_MBMSNotificationRequest
        value: '96'
      - name: GtpV1_UERegistrationResponse
        value: '62'
      - name: GtpV1_SGSNContextAcknowledge
        value: '52'
      - name: GtpV1_SupportedExtensionsHeaderNotification
        value: '31'
      item_type: enum
      name: GtpV1MessageType
      pos:
        line_end: 203
        line_start: 63
        source_file: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    - enumerators:
      - name: CreateSessionRequest
        value: '32'
      - name: RemoteUEReportNotifications
        value: '40'
      - name: ForwardAccessAcknowledge
        value: '138'
      - name: AlertMMENotification
        value: '153'
      - name: SuspendAcknowledge
        value: '163'
      - name: ContextRequest
        value: '130'
      - name: ModifyAccessBearersResponse
        value: '212'
      - name: DownlinkDataNotificationFailure
        value: '70'
      - name: DeleteBearerRequest
        value: '99'
      - name: ReleaseAccessBearersResponse
        value: '171'
      - name: MMBSSessionUpdateResponse
        value: '234'
      - name: ForwardRelocationNotification
        value: '135'
      - name: DetachAcknowledge
        value: '150'
      - name: CreateBearerResponse
        value: '96'
      - name: EchoRequest
        value: '1'
      - name: DeleteSessionResponse
        value: '37'
      - name: DeleteBearerFailure
        value: '67'
      - name: PGWDownlinkAcknowledge
        value: '104'
      - name: DeleteIndirectDataTunnelRequest
        value: '168'
      - name: UpdatePDNConnectionRequest
        value: '200'
      - name: CreateForwardingRequest
        value: '160'
      - name: MMBSSessionStopRequest
        value: '235'
      - name: ModifyBearerRequest
        value: '34'
      - name: ModifyBearerCommand
        value: '64'
      - name: UEActivityNotification
        value: '155'
      - name: DeletePDNRequest
        value: '101'
      - name: ContextAcknowledge
        value: '132'
      - name: TraceSessionDeactivation
        value: '72'
      - name: ResumeAcknowledge
        value: '165'
      - name: DownlinkDataAcknowledge
        value: '177'
      - name: RelocationCancelResponse
        value: '140'
      - name: MMBSSessionStartResponse
        value: '232'
      - name: ForwardAccessNotification
        value: '137'
      - name: ModifyAccessBearersRequest
        value: '211'
      - name: UpdateBearerResponse
        value: '98'
      - name: ReleaseAccessBearersRequest
        value: '170'
      - name: VersionNotSupported
        value: '3'
      - name: ChangeNotificationResponse
        value: '39'
      - name: BearerResourceFailure
        value: '69'
      - name: RANInformationRelay
        value: '152'
      - name: SuspendNotification
        value: '162'
      - name: IdentificationResponse
        value: '129'
      - name: Unknown
        value: '0'
      - name: DeleteSessionRequest
        value: '36'
      - name: DeleteBearerCommand
        value: '66'
      - name: PGWDownlinkNotification
        value: '103'
      - name: PGWRestartAcknowledge
        value: '180'
      - name: ISRStatus
        value: '157'
      - name: CreateIndirectDataTunnelResponse
        value: '167'
      - name: ForwardRelocationResponse
        value: '134'
      - name: DetachNotification
        value: '149'
      - name: CreateBearerRequest
        value: '95'
      - name: TraceSessionActivation
        value: '71'
      - name: ResumeNotification
        value: '164'
      - name: DownlinkDataNotification
        value: '176'
      - name: RelocationCancelRequest
        value: '139'
      - name: CreateSessionResponse
        value: '33'
      - name: RemoteUEReportAcknowledge
        value: '41'
      - name: AlertMMEAcknowledge
        value: '154'
      - name: DeleteBearerResponse
        value: '100'
      - name: ContextResponse
        value: '131'
      - name: MMBSSessionStartRequest
        value: '231'
      - name: MMBSSessionStopResponse
        value: '236'
      - name: EchoResponse
        value: '2'
      - name: ChangeNotificationRequest
        value: '38'
      - name: BearerResourceCommand
        value: '68'
      - name: UpdatePDNConnectionResponse
        value: '201'
      - name: CSPaging
        value: '151'
      - name: CreateForwardingResponse
        value: '161'
      - name: IdentificationRequest
        value: '128'
      - name: ForwardRelocationAcknowledge
        value: '136'
      - name: UpdateBearerRequest
        value: '97'
      - name: DeleteIndirectDataTunnelResponse
        value: '169'
      - name: CreateIndirectDataTunnelRequest
        value: '166'
      - name: ForwardRelocationRequest
        value: '133'
      - name: ConfigurationTransferTunnel
        value: '141'
      - name: StopPagingIndication
        value: '73'
      - name: ModifyBearerResponse
        value: '35'
      - name: ModifyBearerFailure
        value: '65'
      - name: DeletePDNResponse
        value: '102'
      - name: PGWRestartNotification
        value: '179'
      - name: UEActivityAcknowledge
        value: '156'
      - name: MMBSSessionUpdateRequest
        value: '233'
      item_type: enum
      name: Value
      pos:
        line_end: 587
        line_start: 419
        source_file: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    - enumerators:
      - name: Ambr
        value: '72'
      - name: BearerQos
        value: '80'
      - name: TraceInformation
        value: '96'
      - name: CsgInformationReportingAction
        value: '146'
      - name: SourceIdentification
        value: '129'
      - name: MbmsSessionDuration
        value: '138'
      - name: Tmsi
        value: '88'
      - name: PTmsiSignature
        value: '112'
      - name: PlmnId
        value: '120'
      - name: Throttling
        value: '154'
      - name: HenbInformationReporting
        value: '165'
      - name: ExtendedPco
        value: '197'
      - name: MonitoringEventExtensionInformation
        value: '206'
      - name: Twmi
        value: '174'
      - name: SequenceNumber
        value: '183'
      - name: RemoteUeContext
        value: '191'
      - name: Arp
        value: '155'
      - name: PdnConnection
        value: '109'
      - name: MbmsDistributionAcknowledge
        value: '143'
      - name: NodeType
        value: '135'
      - name: Recovery
        value: '3'
      - name: Indication
        value: '77'
      - name: Tad
        value: '85'
      - name: BearerContext
        value: '93'
      - name: Guti
        value: '117'
      - name: MmContext2
        value: '104'
      - name: PortNumber
        value: '126'
      - name: NodeNumber
        value: '175'
      - name: AdditionalRrmPolicyIndex
        value: '207'
      - name: ApnAndRelativeCapacity
        value: '184'
      - name: RemoteUserId
        value: '192'
      - name: EpcTimer
        value: '156'
      - name: ServingPlmnRateControl
        value: '198'
      - name: Ipv4ConfigurationParameters
        value: '166'
      - name: Unknown
        value: '0'
      - name: IpAddress
        value: '74'
      - name: RatType
        value: '82'
      - name: MbmsSessionIdentifier
        value: '140'
      - name: PdnType
        value: '99'
      - name: PacketFlowId
        value: '123'
      - name: FqCsid
        value: '132'
      - name: MmContext4
        value: '106'
      - name: S103PdnDataForwardingInfo
        value: '90'
      - name: UeTimeZone
        value: '114'
      - name: NodeIdentifier
        value: '176'
      - name: WlanOffloadabilityIndication
        value: '185'
      - name: ServiceIndicator
        value: '149'
      - name: Cmi
        value: '148'
      - name: SignallingPriorityIndication
        value: '157'
      - name: Counter
        value: '199'
      - name: ChangeToReportFlags
        value: '167'
      - name: SelectionMode
        value: '128'
      - name: Ti
        value: '137'
      - name: FTeid
        value: '87'
      - name: PTmsi
        value: '111'
      - name: Apn
        value: '71'
      - name: Paa
        value: '79'
      - name: ChargingCharacteristics
        value: '95'
      - name: FCause
        value: '119'
      - name: Uci
        value: '145'
      - name: MbmsTimeToDataTransfer
        value: '153'
      - name: PagingAndServiceInformation
        value: '186'
      - name: DetachType
        value: '150'
      - name: Tmgi
        value: '158'
      - name: MappedUeUsageType
        value: '200'
      - name: ActionIndication
        value: '168'
      - name: Pc5QosParameters
        value: '209'
      - name: PresenceReportingAreaAction
        value: '177'
      - name: Cause
        value: '2'
      - name: BearerTft
        value: '84'
      - name: Msisdn
        value: '76'
      - name: MbmsIpMulticastDistribution
        value: '142'
      - name: DelayValue
        value: '92'
      - name: CompleteRequestMessage
        value: '116'
      - name: MmContext1
        value: '103'
      - name: SourceRncPdcpContextInfo
        value: '125'
      - name: MmContext6
        value: '108'
      - name: EmlppPriority
        value: '134'
      - name: IntegerNumber
        value: '187'
      - name: Ldn
        value: '151'
      - name: RemoteUeIpInformation
        value: '193'
      - name: AdditionalFlagsForSrvcc
        value: '160'
      - name: AdditionalMmContextForSrvcc
        value: '159'
      - name: SecondaryRatUsageDataReport
        value: '201'
      - name: TwanIdentifier
        value: '169'
      - name: ServicesAuthorized
        value: '210'
      - name: PresenceReportingAreaInformation
        value: '178'
      - name: ChangeReportingAction
        value: '131'
      - name: MmContext3
        value: '105'
      - name: GlobalCnId
        value: '89'
      - name: HopCounter
        value: '113'
      - name: Ebi
        value: '73'
      - name: FlowQos
        value: '81'
      - name: MbmsServiceArea
        value: '139'
      - name: TargetIdentification
        value: '121'
      - name: CsgId
        value: '147'
      - name: BearerFlags
        value: '97'
      - name: CiotOptimizationsSupportIndication
        value: '194'
      - name: MdtConfiguration
        value: '162'
      - name: MaximumPacketLossRate
        value: '203'
      - name: UpFunctionSelectionIndicationFlags
        value: '202'
      - name: UliTimestamp
        value: '170'
      - name: BitRate
        value: '211'
      - name: TwanIdentifierTimestamp
        value: '179'
      - name: MillisecondTimeStamp
        value: '188'
      - name: StnSr
        value: '51'
      - name: Pco
        value: '78'
      - name: ChargingId
        value: '94'
      - name: FContainer
        value: '118'
      - name: RfspIndex
        value: '144'
      - name: ApnRestriction
        value: '127'
      - name: PduNumbers
        value: '110'
      - name: Fqdn
        value: '136'
      - name: Uli
        value: '86'
      - name: NodeFeatures
        value: '152'
      - name: ScefPdnConnection
        value: '195'
      - name: Apco
        value: '163'
      - name: ApnRateControlStatus
        value: '204'
      - name: RanNasCause
        value: '172'
      - name: MbmsFlags
        value: '171'
      - name: Pc5QosFlow
        value: '212'
      - name: OverloadControlInformation
        value: '180'
      - name: SgiPtpTunnelAddress
        value: '213'
      - name: MonitoringEventInformation
        value: '189'
      - name: MmContext5
        value: '107'
      - name: ChannelNeeded
        value: '133'
      - name: Imsi
        value: '1'
      - name: Mei
        value: '75'
      - name: ServingNetwork
        value: '83'
      - name: MbmsFlowIdentifier
        value: '141'
      - name: S1UDataForwardingInfo
        value: '91'
      - name: TraceReference
        value: '115'
      - name: Pti
        value: '100'
      - name: RabContext
        value: '124'
      - name: HeaderCompressionConfiguration
        value: '196'
      - name: AbsoluteTimeOfMbmsDataTransfer
        value: '164'
      - name: ExtendedTraceInformation
        value: '205'
      - name: CnOperatorSelectionEntity
        value: '173'
      - name: V2xContext
        value: '208'
      - name: Metric
        value: '182'
      - name: LoadControlInformation
        value: '181'
      - name: EcgiList
        value: '190'
      item_type: enum
      name: Type
      pos:
        line_end: 912
        line_start: 626
        source_file: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: messageType
        type: uint8_t
      - name: messageLength
        type: uint16_t
      - name: teid
        type: uint32_t
      item_type: struct
      name: gtpv1_header
      pos:
        line_end: 56
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    - fields:
      - name: sequenceNumber
        type: uint16_t
      - name: npduNumber
        type: uint8_t
      - name: nextExtensionHeader
        type: uint8_t
      item_type: struct
      name: gtpv1_header_extra
      pos:
        line_end: 215
        line_start: 210
        source_file: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    - fields:
      - name: messageType
        type: uint8_t
      - name: messageLength
        type: uint16_t
      item_type: struct
      name: gtpv2_basic_header
      pos:
        line_end: 1127
        line_start: 1118
        source_file: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    - fields:
      - name: messageType
        type: uint8_t
      - name: messageLength
        type: uint16_t
      - name: teid
        type: uint32_t
      item_type: struct
      name: gtpv1_header
      pos:
        line_end: 56
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    - fields:
      - name: sequenceNumber
        type: uint16_t
      - name: npduNumber
        type: uint8_t
      - name: nextExtensionHeader
        type: uint8_t
      item_type: struct
      name: gtpv1_header_extra
      pos:
        line_end: 215
        line_start: 210
        source_file: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    - fields:
      - name: messageType
        type: uint8_t
      - name: messageLength
        type: uint16_t
      item_type: struct
      name: gtpv2_basic_header
      pos:
        line_end: 1127
        line_start: 1118
        source_file: /src/PcapPlusPlus/Packet++/header/GtpLayer.h
    typedefs: []
    union: []
- function_names:
  - ~IDataContainer()
  - pcpp::internal::attachPacket
  - pcpp::internal::detach
  - pcpp::internal::attachPacket
  - pcpp::internal::detach
  - pcpp::Layer::getNextLayer
  - pcpp::Layer::getPrevLayer
  - pcpp::Layer::getProtocol
  - pcpp::Layer::getData
  - pcpp::Layer::getDataLen
  - pcpp::Layer::getLayerPayload
  - pcpp::Layer::getLayerPayloadSize
  - pcpp::Layer::isAllocatedToPacket
  - pcpp::Layer::getDataPtr
  - pcpp::Layer::Layer
  - pcpp::Layer::Layer
  - pcpp::Layer::getAttachedPacket
  - pcpp::Layer::getAttachedPacket
  - pcpp::Layer::setNextLayer
  - pcpp::Layer::setPrevLayer
  - pcpp::Layer::hasNextLayer
  - pcpp::Layer::constructNextLayer
  - pcpp::Layer::constructNextLayer
  - pcpp::Layer::constructNextLayerFromFactory
  - pcpp::Layer::constructNextLayerFromFactory
  - pcpp::Layer::tryConstructNextLayer
  - pcpp::Layer::tryConstructNextLayer
  - pcpp::Layer::tryConstructNextLayerWithFallback
  - pcpp::Layer::tryConstructNextLayerWithFallback
  - pcpp::Layer::tryConstructNextLayerFromFactoryWithFallback
  - pcpp::Layer::tryConstructNextLayerFromFactoryWithFallback
  - pcpp::Layer::canReinterpretAs
  - '& operator<<(std::ostream& os, const pcpp::Layer& layer)'
  - ~IDataContainer()
  - pcpp::internal::attachPacket
  - pcpp::internal::detach
  - pcpp::internal::attachPacket
  - pcpp::internal::detach
  - pcpp::Layer::getNextLayer
  - pcpp::Layer::getPrevLayer
  - pcpp::Layer::getProtocol
  - pcpp::Layer::getData
  - pcpp::Layer::getDataLen
  - pcpp::Layer::getLayerPayload
  - pcpp::Layer::getLayerPayloadSize
  - pcpp::Layer::isAllocatedToPacket
  - pcpp::Layer::getDataPtr
  - pcpp::Layer::Layer
  - pcpp::Layer::Layer
  - pcpp::Layer::getAttachedPacket
  - pcpp::Layer::getAttachedPacket
  - pcpp::Layer::setNextLayer
  - pcpp::Layer::setPrevLayer
  - pcpp::Layer::hasNextLayer
  - pcpp::Layer::constructNextLayer
  - pcpp::Layer::constructNextLayer
  - pcpp::Layer::constructNextLayerFromFactory
  - pcpp::Layer::constructNextLayerFromFactory
  - pcpp::Layer::tryConstructNextLayer
  - pcpp::Layer::tryConstructNextLayer
  - pcpp::Layer::tryConstructNextLayerWithFallback
  - pcpp::Layer::tryConstructNextLayerWithFallback
  - pcpp::Layer::tryConstructNextLayerFromFactoryWithFallback
  - pcpp::Layer::tryConstructNextLayerFromFactoryWithFallback
  - pcpp::Layer::canReinterpretAs
  - '& operator<<(std::ostream& os, const pcpp::Layer& layer)'
  source_file: /src/PcapPlusPlus/Packet++/header/Layer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* attachedPacket'
        type: Packet
      - name: ownedByPacket
        type: bool
      item_type: struct
      name: LayerAllocationInfo
      pos:
        line_end: 83
        line_start: 36
        source_file: /src/PcapPlusPlus/Packet++/header/Layer.h
    - fields:
      - name: '* attachedPacket'
        type: Packet
      - name: ownedByPacket
        type: bool
      item_type: struct
      name: LayerAllocationInfo
      pos:
        line_end: 83
        line_start: 36
        source_file: /src/PcapPlusPlus/Packet++/header/Layer.h
    - fields:
      - name: '* attachedPacket'
        type: Packet
      - name: ownedByPacket
        type: bool
      item_type: struct
      name: LayerAllocationInfo
      pos:
        line_end: 83
        line_start: 36
        source_file: /src/PcapPlusPlus/Packet++/header/Layer.h
    - fields:
      - name: '* attachedPacket'
        type: Packet
      - name: ownedByPacket
        type: bool
      item_type: struct
      name: LayerAllocationInfo
      pos:
        line_end: 83
        line_start: 36
        source_file: /src/PcapPlusPlus/Packet++/header/Layer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::IDnsResource::getNextResource
  - pcpp::IDnsResource::setNextResource
  - ~IDnsResource()
  - '& getName() const'
  - pcpp::IDnsResource::getNameOffset
  - pcpp::DnsQuery::DnsQuery
  - pcpp::DnsQuery::DnsQuery
  - ~DnsQuery() override
  - pcpp::DnsQuery::getSize
  - pcpp::DnsQuery::getType
  - pcpp::DnsResource::DnsResource
  - pcpp::DnsResource::DnsResource
  - ~DnsResource() override
  - pcpp::DnsResource::getSize
  - pcpp::DnsResource::getType
  - pcpp::IDnsResource::getNextResource
  - pcpp::IDnsResource::setNextResource
  - ~IDnsResource()
  - '& getName() const'
  - pcpp::IDnsResource::getNameOffset
  - pcpp::DnsQuery::DnsQuery
  - pcpp::DnsQuery::DnsQuery
  - ~DnsQuery() override
  - pcpp::DnsQuery::getSize
  - pcpp::DnsQuery::getType
  - pcpp::DnsResource::DnsResource
  - pcpp::DnsResource::DnsResource
  - ~DnsResource() override
  - pcpp::DnsResource::getSize
  - pcpp::DnsResource::getType
  source_file: /src/PcapPlusPlus/Packet++/header/DnsResource.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~PPPoELayer() override
  - pcpp::PPPoELayer::getPPPoEHeader
  - pcpp::PPPoELayer::getOsiModelLayer
  - pcpp::PPPoELayer::PPPoELayer
  - pcpp::PPPoESessionLayer::PPPoESessionLayer
  - pcpp::PPPoESessionLayer::PPPoESessionLayer
  - ~PPPoESessionLayer() override
  - pcpp::PPPoESessionLayer::getHeaderLen
  - pcpp::PPPoEDiscoveryLayer::PPPoETag::PPPoETag
  - ~PPPoETag() override
  - pcpp::PPPoEDiscoveryLayer::PPPoETag::getValueAsString
  - pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
  - pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
  - pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
  - pcpp::PPPoEDiscoveryLayer::PPPoEDiscoveryLayer
  - pcpp::PPPoEDiscoveryLayer::PPPoEDiscoveryLayer
  - pcpp::PPPoEDiscoveryLayer::parseNextLayer
  - pcpp::PPPoEDiscoveryLayer::toString
  - pcpp::PPPoEDiscoveryLayer::getTagBasePtr
  - pcpp::PPPoESessionLayer::isDataValid
  - pcpp::PPPoEDiscoveryLayer::isDataValid
  - ~PPPoELayer() override
  - pcpp::PPPoELayer::getPPPoEHeader
  - pcpp::PPPoELayer::getOsiModelLayer
  - pcpp::PPPoELayer::PPPoELayer
  - pcpp::PPPoESessionLayer::PPPoESessionLayer
  - pcpp::PPPoESessionLayer::PPPoESessionLayer
  - ~PPPoESessionLayer() override
  - pcpp::PPPoESessionLayer::getHeaderLen
  - pcpp::PPPoEDiscoveryLayer::PPPoETag::PPPoETag
  - ~PPPoETag() override
  - pcpp::PPPoEDiscoveryLayer::PPPoETag::getValueAsString
  - pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
  - pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
  - pcpp::PPPoEDiscoveryLayer::PPPoETagBuilder::PPPoETagBuilder
  - pcpp::PPPoEDiscoveryLayer::PPPoEDiscoveryLayer
  - pcpp::PPPoEDiscoveryLayer::PPPoEDiscoveryLayer
  - pcpp::PPPoEDiscoveryLayer::parseNextLayer
  - pcpp::PPPoEDiscoveryLayer::toString
  - pcpp::PPPoEDiscoveryLayer::getTagBasePtr
  - pcpp::PPPoESessionLayer::isDataValid
  - pcpp::PPPoEDiscoveryLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
  types:
    enum:
    - enumerators:
      - name: PPPOE_CODE_SESSION
        value: '0x00'
      - name: PPPOE_CODE_PADG
        value: '0x0a'
      - name: PPPOE_CODE_PADI
        value: '0x09'
      - name: PPPOE_CODE_PADO
        value: '0x07'
      - name: PPPOE_CODE_PADC
        value: '0x0b'
      - name: PPPOE_CODE_PADQ
        value: '0x0c'
      - name: PPPOE_CODE_PADR
        value: '0x19'
      - name: PPPOE_CODE_PADS
        value: '0x65'
      - name: PPPOE_CODE_PADT
        value: '0xa7'
      - name: PPPOE_CODE_PADM
        value: '0xd3'
      - name: PPPOE_CODE_PADN
        value: '0xd4'
      item_type: enum
      name: PPPoECode
      pos:
        line_end: 72
        line_start: 48
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    - enumerators:
      - name: PPPOE_TAG_EOL
        value: '0x0000'
      - name: PPPOE_TAG_AC_NAME
        value: '0x0102'
      - name: PPPOE_TAG_SVC_NAME
        value: '0x0101'
      - name: PPPOE_TAG_AC_COOKIE
        value: '0x0104'
      - name: PPPOE_TAG_HOST_UNIQ
        value: '0x0103'
      - name: PPPOE_TAG_VENDOR
        value: '0x0105'
      - name: PPPOE_TAG_CREDITS
        value: '0x0106'
      - name: PPPOE_TAG_METRICS
        value: '0x0107'
      - name: PPPOE_TAG_SEQ_NUM
        value: '0x0108'
      - name: PPPOE_TAG_CRED_SCALE
        value: '0x0109'
      - name: PPPOE_TAG_IP_RT_ADD
        value: '0x0121'
      - name: PPPOE_TAG_MAX_PAYLD
        value: '0x0120'
      - name: PPPOE_TAG_SVC_ERR
        value: '0x0201'
      - name: PPPOE_TAG_GENERIC_ERR
        value: '0x0203'
      - name: PPPOE_TAG_MOTM
        value: '0x0112'
      - name: PPPOE_TAG_RELAY_ID
        value: '0x0110'
      - name: PPPOE_TAG_AC_ERR
        value: '0x0202'
      - name: PPPOE_TAG_HURL
        value: '0x0111'
      item_type: enum
      name: PPPoETagTypes
      pos:
        line_end: 206
        line_start: 168
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    - enumerators:
      - name: PPPOE_CODE_SESSION
        value: '0x00'
      - name: PPPOE_CODE_PADG
        value: '0x0a'
      - name: PPPOE_CODE_PADI
        value: '0x09'
      - name: PPPOE_CODE_PADO
        value: '0x07'
      - name: PPPOE_CODE_PADC
        value: '0x0b'
      - name: PPPOE_CODE_PADQ
        value: '0x0c'
      - name: PPPOE_CODE_PADR
        value: '0x19'
      - name: PPPOE_CODE_PADS
        value: '0x65'
      - name: PPPOE_CODE_PADT
        value: '0xa7'
      - name: PPPOE_CODE_PADM
        value: '0xd3'
      - name: PPPOE_CODE_PADN
        value: '0xd4'
      item_type: enum
      name: PPPoECode
      pos:
        line_end: 72
        line_start: 48
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    - enumerators:
      - name: PPPOE_TAG_EOL
        value: '0x0000'
      - name: PPPOE_TAG_AC_NAME
        value: '0x0102'
      - name: PPPOE_TAG_SVC_NAME
        value: '0x0101'
      - name: PPPOE_TAG_AC_COOKIE
        value: '0x0104'
      - name: PPPOE_TAG_HOST_UNIQ
        value: '0x0103'
      - name: PPPOE_TAG_VENDOR
        value: '0x0105'
      - name: PPPOE_TAG_CREDITS
        value: '0x0106'
      - name: PPPOE_TAG_METRICS
        value: '0x0107'
      - name: PPPOE_TAG_SEQ_NUM
        value: '0x0108'
      - name: PPPOE_TAG_CRED_SCALE
        value: '0x0109'
      - name: PPPOE_TAG_IP_RT_ADD
        value: '0x0121'
      - name: PPPOE_TAG_MAX_PAYLD
        value: '0x0120'
      - name: PPPOE_TAG_SVC_ERR
        value: '0x0201'
      - name: PPPOE_TAG_GENERIC_ERR
        value: '0x0203'
      - name: PPPOE_TAG_MOTM
        value: '0x0112'
      - name: PPPOE_TAG_RELAY_ID
        value: '0x0110'
      - name: PPPOE_TAG_AC_ERR
        value: '0x0202'
      - name: PPPOE_TAG_HURL
        value: '0x0111'
      item_type: enum
      name: PPPoETagTypes
      pos:
        line_end: 206
        line_start: 168
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    preproc_defs:
    - item_type: preproc_def
      name: PCPP_PPP_PADDING
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: PCPP_PPP_ROHC_SCID
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x3'
    - item_type: preproc_def
      name: PCPP_PPP_ROHC_LCID
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x5'
    - item_type: preproc_def
      name: PCPP_PPP_IP
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x21'
    - item_type: preproc_def
      name: PCPP_PPP_OSI
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x23'
    - item_type: preproc_def
      name: PCPP_PPP_XNSIDP
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x25'
    - item_type: preproc_def
      name: PCPP_PPP_DEC4
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x27'
    - item_type: preproc_def
      name: PCPP_PPP_AT
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x29'
    - item_type: preproc_def
      name: PCPP_PPP_IPX
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x2b'
    - item_type: preproc_def
      name: PCPP_PPP_VJC_COMP
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x2d'
    - item_type: preproc_def
      name: PCPP_PPP_VJC_UNCOMP
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x2f'
    - item_type: preproc_def
      name: PCPP_PPP_BCP
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x31'
    - item_type: preproc_def
      name: PCPP_PPP_ST
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x33'
    - item_type: preproc_def
      name: PCPP_PPP_VINES
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x35'
    - item_type: preproc_def
      name: PCPP_PPP_AT_EDDP
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x39'
    - item_type: preproc_def
      name: PCPP_PPP_AT_SB
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x3b'
    - item_type: preproc_def
      name: PCPP_PPP_MP
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x3d'
    - item_type: preproc_def
      name: PCPP_PPP_NB
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x3f'
    - item_type: preproc_def
      name: PCPP_PPP_CISCO
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x41'
    - item_type: preproc_def
      name: PCPP_PPP_ASCOM
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x43'
    - item_type: preproc_def
      name: PCPP_PPP_LBLB
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x45'
    - item_type: preproc_def
      name: PCPP_PPP_RL
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x47'
    - item_type: preproc_def
      name: PCPP_PPP_SDTP
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x49'
    - item_type: preproc_def
      name: PCPP_PPP_LLC
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4b'
    - item_type: preproc_def
      name: PCPP_PPP_SNA
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4d'
    - item_type: preproc_def
      name: PCPP_PPP_IPV6HC
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4f'
    - item_type: preproc_def
      name: PCPP_PPP_KNX
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x51'
    - item_type: preproc_def
      name: PCPP_PPP_ENCRYPT
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x53'
    - item_type: preproc_def
      name: PCPP_PPP_ILE
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x55'
    - item_type: preproc_def
      name: PCPP_PPP_IPV6
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x57'
    - item_type: preproc_def
      name: PCPP_PPP_MUX
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x59'
    - item_type: preproc_def
      name: PCPP_PPP_VSNP
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x5b'
    - item_type: preproc_def
      name: PCPP_PPP_TNP
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x5d'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_FH
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x61'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CTCP
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x63'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CNTCP
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x65'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CUDP8
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x67'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CRTP8
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x69'
    - item_type: preproc_def
      name: PCPP_PPP_STAMPEDE
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x6f'
    - item_type: preproc_def
      name: PCPP_PPP_MPPLUS
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x73'
    - item_type: preproc_def
      name: PCPP_PPP_NTCITS_IPI
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc1'
    - item_type: preproc_def
      name: PCPP_PPP_ML_SLCOMP
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xfb'
    - item_type: preproc_def
      name: PCPP_PPP_COMP
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xfd'
    - item_type: preproc_def
      name: PCPP_PPP_STP_HELLO
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0201'
    - item_type: preproc_def
      name: PCPP_PPP_IBM_SR
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0203'
    - item_type: preproc_def
      name: PCPP_PPP_DEC_LB
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0205'
    - item_type: preproc_def
      name: PCPP_PPP_CDP
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0207'
    - item_type: preproc_def
      name: PCPP_PPP_NETCS
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0209'
    - item_type: preproc_def
      name: PCPP_PPP_STP
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x020b'
    - item_type: preproc_def
      name: PCPP_PPP_EDP
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x020d'
    - item_type: preproc_def
      name: PCPP_PPP_OSCP
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0211'
    - item_type: preproc_def
      name: PCPP_PPP_OSCP2
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0213'
    - item_type: preproc_def
      name: PCPP_PPP_LUXCOM
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0231'
    - item_type: preproc_def
      name: PCPP_PPP_SIGMA
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0233'
    - item_type: preproc_def
      name: PCPP_PPP_ACSP
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0235'
    - item_type: preproc_def
      name: PCPP_PPP_MPLS_UNI
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0281'
    - item_type: preproc_def
      name: PCPP_PPP_MPLS_MULTI
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0283'
    - item_type: preproc_def
      name: PCPP_PPP_P12844
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0285'
    - item_type: preproc_def
      name: PCPP_PPP_TETRA
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0287'
    - item_type: preproc_def
      name: PCPP_PPP_MFTP
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0289'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CTCPND
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x2063'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CS
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x2065'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CUDP16
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x2067'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CRDP16
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x2069'
    - item_type: preproc_def
      name: PCPP_PPP_CCCP
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4001'
    - item_type: preproc_def
      name: PCPP_PPP_CDPD_MNRP
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4003'
    - item_type: preproc_def
      name: PCPP_PPP_EXPANDAP
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4005'
    - item_type: preproc_def
      name: PCPP_PPP_ODSICP
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4007'
    - item_type: preproc_def
      name: PCPP_PPP_DOCSIS
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4009'
    - item_type: preproc_def
      name: PCPP_PPP_CETACEANNDP
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x400b'
    - item_type: preproc_def
      name: PCPP_PPP_LZS
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4021'
    - item_type: preproc_def
      name: PCPP_PPP_REFTEK
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4023'
    - item_type: preproc_def
      name: PCPP_PPP_FC
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4025'
    - item_type: preproc_def
      name: PCPP_PPP_EMIT
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4027'
    - item_type: preproc_def
      name: PCPP_PPP_VSP
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x405b'
    - item_type: preproc_def
      name: PCPP_PPP_TLSP
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x405d'
    - item_type: preproc_def
      name: PCPP_PPP_IPCP
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8021'
    - item_type: preproc_def
      name: PCPP_PPP_OSINLCP
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8023'
    - item_type: preproc_def
      name: PCPP_PPP_XNSIDPCP
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8025'
    - item_type: preproc_def
      name: PCPP_PPP_DECNETCP
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8027'
    - item_type: preproc_def
      name: PCPP_PPP_ATCP
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8029'
    - item_type: preproc_def
      name: PCPP_PPP_IPXCP
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x802b'
    - item_type: preproc_def
      name: PCPP_PPP_BRIDGENCP
      pos:
        line_end: 556
        line_start: 555
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8031'
    - item_type: preproc_def
      name: PCPP_PPP_SPCP
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8033'
    - item_type: preproc_def
      name: PCPP_PPP_BVCP
      pos:
        line_end: 560
        line_start: 559
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8035'
    - item_type: preproc_def
      name: PCPP_PPP_MLCP
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x803d'
    - item_type: preproc_def
      name: PCPP_PPP_NBCP
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x803f'
    - item_type: preproc_def
      name: PCPP_PPP_CISCOCP
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8041'
    - item_type: preproc_def
      name: PCPP_PPP_ASCOMCP
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8043'
    - item_type: preproc_def
      name: PCPP_PPP_LBLBCP
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8045'
    - item_type: preproc_def
      name: PCPP_PPP_RLNCP
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8047'
    - item_type: preproc_def
      name: PCPP_PPP_SDCP
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8049'
    - item_type: preproc_def
      name: PCPP_PPP_LLCCP
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x804b'
    - item_type: preproc_def
      name: PCPP_PPP_SNACP
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x804d'
    - item_type: preproc_def
      name: PCPP_PPP_IP6HCCP
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x804f'
    - item_type: preproc_def
      name: PCPP_PPP_KNXCP
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8051'
    - item_type: preproc_def
      name: PCPP_PPP_ECP
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8053'
    - item_type: preproc_def
      name: PCPP_PPP_ILECP
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8055'
    - item_type: preproc_def
      name: PCPP_PPP_IPV6CP
      pos:
        line_end: 588
        line_start: 587
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8057'
    - item_type: preproc_def
      name: PCPP_PPP_MUXCP
      pos:
        line_end: 590
        line_start: 589
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8059'
    - item_type: preproc_def
      name: PCPP_PPP_VSNCP
      pos:
        line_end: 592
        line_start: 591
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x805b'
    - item_type: preproc_def
      name: PCPP_PPP_TNCP
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x805d'
    - item_type: preproc_def
      name: PCPP_PPP_STAMPEDECP
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x806f'
    - item_type: preproc_def
      name: PCPP_PPP_MPPCP
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8073'
    - item_type: preproc_def
      name: PCPP_PPP_IPICP
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x80c1'
    - item_type: preproc_def
      name: PCPP_PPP_SLCC
      pos:
        line_end: 602
        line_start: 601
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x80fb'
    - item_type: preproc_def
      name: PCPP_PPP_CCP
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x80fd'
    - item_type: preproc_def
      name: PCPP_PPP_CDPCP
      pos:
        line_end: 606
        line_start: 605
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8207'
    - item_type: preproc_def
      name: PCPP_PPP_NETCSCP
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8209'
    - item_type: preproc_def
      name: PCPP_PPP_STPCP
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x820b'
    - item_type: preproc_def
      name: PCPP_PPP_EDPCP
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x820d'
    - item_type: preproc_def
      name: PCPP_PPP_ACSPC
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8235'
    - item_type: preproc_def
      name: PCPP_PPP_MPLSCP
      pos:
        line_end: 616
        line_start: 615
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8281'
    - item_type: preproc_def
      name: PCPP_PPP_P12844CP
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8285'
    - item_type: preproc_def
      name: PCPP_PPP_TETRACP
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8287'
    - item_type: preproc_def
      name: PCPP_PPP_MFTPCP
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8289'
    - item_type: preproc_def
      name: PCPP_PPP_LCP
      pos:
        line_end: 624
        line_start: 623
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc021'
    - item_type: preproc_def
      name: PCPP_PPP_PAP
      pos:
        line_end: 626
        line_start: 625
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc023'
    - item_type: preproc_def
      name: PCPP_PPP_LQR
      pos:
        line_end: 628
        line_start: 627
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc025'
    - item_type: preproc_def
      name: PCPP_PPP_SPAP
      pos:
        line_end: 630
        line_start: 629
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc027'
    - item_type: preproc_def
      name: PCPP_PPP_CBCP
      pos:
        line_end: 632
        line_start: 631
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc029'
    - item_type: preproc_def
      name: PCPP_PPP_BACP
      pos:
        line_end: 634
        line_start: 633
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc02b'
    - item_type: preproc_def
      name: PCPP_PPP_BAP
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc02d'
    - item_type: preproc_def
      name: PCPP_PPP_VSAP
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc05b'
    - item_type: preproc_def
      name: PCPP_PPP_CONTCP
      pos:
        line_end: 640
        line_start: 639
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc081'
    - item_type: preproc_def
      name: PCPP_PPP_CHAP
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc223'
    - item_type: preproc_def
      name: PCPP_PPP_RSAAP
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc225'
    - item_type: preproc_def
      name: PCPP_PPP_EAP
      pos:
        line_end: 646
        line_start: 645
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc227'
    - item_type: preproc_def
      name: PCPP_PPP_SIEP
      pos:
        line_end: 648
        line_start: 647
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc229'
    - item_type: preproc_def
      name: PCPP_PPP_SBAP
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc26f'
    - item_type: preproc_def
      name: PCPP_PPP_PRPAP
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc281'
    - item_type: preproc_def
      name: PCPP_PPP_PRPAP2
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc283'
    - item_type: preproc_def
      name: PCPP_PPP_PRPNIAP
      pos:
        line_end: 656
        line_start: 655
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc481'
    - item_type: preproc_def
      name: PCPP_PPP_PADDING
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: PCPP_PPP_ROHC_SCID
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x3'
    - item_type: preproc_def
      name: PCPP_PPP_ROHC_LCID
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x5'
    - item_type: preproc_def
      name: PCPP_PPP_IP
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x21'
    - item_type: preproc_def
      name: PCPP_PPP_OSI
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x23'
    - item_type: preproc_def
      name: PCPP_PPP_XNSIDP
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x25'
    - item_type: preproc_def
      name: PCPP_PPP_DEC4
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x27'
    - item_type: preproc_def
      name: PCPP_PPP_AT
      pos:
        line_end: 406
        line_start: 405
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x29'
    - item_type: preproc_def
      name: PCPP_PPP_IPX
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x2b'
    - item_type: preproc_def
      name: PCPP_PPP_VJC_COMP
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x2d'
    - item_type: preproc_def
      name: PCPP_PPP_VJC_UNCOMP
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x2f'
    - item_type: preproc_def
      name: PCPP_PPP_BCP
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x31'
    - item_type: preproc_def
      name: PCPP_PPP_ST
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x33'
    - item_type: preproc_def
      name: PCPP_PPP_VINES
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x35'
    - item_type: preproc_def
      name: PCPP_PPP_AT_EDDP
      pos:
        line_end: 420
        line_start: 419
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x39'
    - item_type: preproc_def
      name: PCPP_PPP_AT_SB
      pos:
        line_end: 422
        line_start: 421
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x3b'
    - item_type: preproc_def
      name: PCPP_PPP_MP
      pos:
        line_end: 424
        line_start: 423
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x3d'
    - item_type: preproc_def
      name: PCPP_PPP_NB
      pos:
        line_end: 426
        line_start: 425
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x3f'
    - item_type: preproc_def
      name: PCPP_PPP_CISCO
      pos:
        line_end: 428
        line_start: 427
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x41'
    - item_type: preproc_def
      name: PCPP_PPP_ASCOM
      pos:
        line_end: 430
        line_start: 429
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x43'
    - item_type: preproc_def
      name: PCPP_PPP_LBLB
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x45'
    - item_type: preproc_def
      name: PCPP_PPP_RL
      pos:
        line_end: 434
        line_start: 433
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x47'
    - item_type: preproc_def
      name: PCPP_PPP_SDTP
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x49'
    - item_type: preproc_def
      name: PCPP_PPP_LLC
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4b'
    - item_type: preproc_def
      name: PCPP_PPP_SNA
      pos:
        line_end: 440
        line_start: 439
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4d'
    - item_type: preproc_def
      name: PCPP_PPP_IPV6HC
      pos:
        line_end: 442
        line_start: 441
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4f'
    - item_type: preproc_def
      name: PCPP_PPP_KNX
      pos:
        line_end: 444
        line_start: 443
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x51'
    - item_type: preproc_def
      name: PCPP_PPP_ENCRYPT
      pos:
        line_end: 446
        line_start: 445
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x53'
    - item_type: preproc_def
      name: PCPP_PPP_ILE
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x55'
    - item_type: preproc_def
      name: PCPP_PPP_IPV6
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x57'
    - item_type: preproc_def
      name: PCPP_PPP_MUX
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x59'
    - item_type: preproc_def
      name: PCPP_PPP_VSNP
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x5b'
    - item_type: preproc_def
      name: PCPP_PPP_TNP
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x5d'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_FH
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x61'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CTCP
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x63'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CNTCP
      pos:
        line_end: 462
        line_start: 461
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x65'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CUDP8
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x67'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CRTP8
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x69'
    - item_type: preproc_def
      name: PCPP_PPP_STAMPEDE
      pos:
        line_end: 468
        line_start: 467
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x6f'
    - item_type: preproc_def
      name: PCPP_PPP_MPPLUS
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x73'
    - item_type: preproc_def
      name: PCPP_PPP_NTCITS_IPI
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc1'
    - item_type: preproc_def
      name: PCPP_PPP_ML_SLCOMP
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xfb'
    - item_type: preproc_def
      name: PCPP_PPP_COMP
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xfd'
    - item_type: preproc_def
      name: PCPP_PPP_STP_HELLO
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0201'
    - item_type: preproc_def
      name: PCPP_PPP_IBM_SR
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0203'
    - item_type: preproc_def
      name: PCPP_PPP_DEC_LB
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0205'
    - item_type: preproc_def
      name: PCPP_PPP_CDP
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0207'
    - item_type: preproc_def
      name: PCPP_PPP_NETCS
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0209'
    - item_type: preproc_def
      name: PCPP_PPP_STP
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x020b'
    - item_type: preproc_def
      name: PCPP_PPP_EDP
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x020d'
    - item_type: preproc_def
      name: PCPP_PPP_OSCP
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0211'
    - item_type: preproc_def
      name: PCPP_PPP_OSCP2
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0213'
    - item_type: preproc_def
      name: PCPP_PPP_LUXCOM
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0231'
    - item_type: preproc_def
      name: PCPP_PPP_SIGMA
      pos:
        line_end: 498
        line_start: 497
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0233'
    - item_type: preproc_def
      name: PCPP_PPP_ACSP
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0235'
    - item_type: preproc_def
      name: PCPP_PPP_MPLS_UNI
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0281'
    - item_type: preproc_def
      name: PCPP_PPP_MPLS_MULTI
      pos:
        line_end: 504
        line_start: 503
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0283'
    - item_type: preproc_def
      name: PCPP_PPP_P12844
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0285'
    - item_type: preproc_def
      name: PCPP_PPP_TETRA
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0287'
    - item_type: preproc_def
      name: PCPP_PPP_MFTP
      pos:
        line_end: 510
        line_start: 509
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x0289'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CTCPND
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x2063'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CS
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x2065'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CUDP16
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x2067'
    - item_type: preproc_def
      name: PCPP_PPP_RTP_CRDP16
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x2069'
    - item_type: preproc_def
      name: PCPP_PPP_CCCP
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4001'
    - item_type: preproc_def
      name: PCPP_PPP_CDPD_MNRP
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4003'
    - item_type: preproc_def
      name: PCPP_PPP_EXPANDAP
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4005'
    - item_type: preproc_def
      name: PCPP_PPP_ODSICP
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4007'
    - item_type: preproc_def
      name: PCPP_PPP_DOCSIS
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4009'
    - item_type: preproc_def
      name: PCPP_PPP_CETACEANNDP
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x400b'
    - item_type: preproc_def
      name: PCPP_PPP_LZS
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4021'
    - item_type: preproc_def
      name: PCPP_PPP_REFTEK
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4023'
    - item_type: preproc_def
      name: PCPP_PPP_FC
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4025'
    - item_type: preproc_def
      name: PCPP_PPP_EMIT
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x4027'
    - item_type: preproc_def
      name: PCPP_PPP_VSP
      pos:
        line_end: 540
        line_start: 539
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x405b'
    - item_type: preproc_def
      name: PCPP_PPP_TLSP
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x405d'
    - item_type: preproc_def
      name: PCPP_PPP_IPCP
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8021'
    - item_type: preproc_def
      name: PCPP_PPP_OSINLCP
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8023'
    - item_type: preproc_def
      name: PCPP_PPP_XNSIDPCP
      pos:
        line_end: 548
        line_start: 547
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8025'
    - item_type: preproc_def
      name: PCPP_PPP_DECNETCP
      pos:
        line_end: 550
        line_start: 549
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8027'
    - item_type: preproc_def
      name: PCPP_PPP_ATCP
      pos:
        line_end: 552
        line_start: 551
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8029'
    - item_type: preproc_def
      name: PCPP_PPP_IPXCP
      pos:
        line_end: 554
        line_start: 553
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x802b'
    - item_type: preproc_def
      name: PCPP_PPP_BRIDGENCP
      pos:
        line_end: 556
        line_start: 555
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8031'
    - item_type: preproc_def
      name: PCPP_PPP_SPCP
      pos:
        line_end: 558
        line_start: 557
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8033'
    - item_type: preproc_def
      name: PCPP_PPP_BVCP
      pos:
        line_end: 560
        line_start: 559
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8035'
    - item_type: preproc_def
      name: PCPP_PPP_MLCP
      pos:
        line_end: 562
        line_start: 561
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x803d'
    - item_type: preproc_def
      name: PCPP_PPP_NBCP
      pos:
        line_end: 564
        line_start: 563
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x803f'
    - item_type: preproc_def
      name: PCPP_PPP_CISCOCP
      pos:
        line_end: 566
        line_start: 565
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8041'
    - item_type: preproc_def
      name: PCPP_PPP_ASCOMCP
      pos:
        line_end: 568
        line_start: 567
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8043'
    - item_type: preproc_def
      name: PCPP_PPP_LBLBCP
      pos:
        line_end: 570
        line_start: 569
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8045'
    - item_type: preproc_def
      name: PCPP_PPP_RLNCP
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8047'
    - item_type: preproc_def
      name: PCPP_PPP_SDCP
      pos:
        line_end: 574
        line_start: 573
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8049'
    - item_type: preproc_def
      name: PCPP_PPP_LLCCP
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x804b'
    - item_type: preproc_def
      name: PCPP_PPP_SNACP
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x804d'
    - item_type: preproc_def
      name: PCPP_PPP_IP6HCCP
      pos:
        line_end: 580
        line_start: 579
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x804f'
    - item_type: preproc_def
      name: PCPP_PPP_KNXCP
      pos:
        line_end: 582
        line_start: 581
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8051'
    - item_type: preproc_def
      name: PCPP_PPP_ECP
      pos:
        line_end: 584
        line_start: 583
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8053'
    - item_type: preproc_def
      name: PCPP_PPP_ILECP
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8055'
    - item_type: preproc_def
      name: PCPP_PPP_IPV6CP
      pos:
        line_end: 588
        line_start: 587
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8057'
    - item_type: preproc_def
      name: PCPP_PPP_MUXCP
      pos:
        line_end: 590
        line_start: 589
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8059'
    - item_type: preproc_def
      name: PCPP_PPP_VSNCP
      pos:
        line_end: 592
        line_start: 591
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x805b'
    - item_type: preproc_def
      name: PCPP_PPP_TNCP
      pos:
        line_end: 594
        line_start: 593
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x805d'
    - item_type: preproc_def
      name: PCPP_PPP_STAMPEDECP
      pos:
        line_end: 596
        line_start: 595
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x806f'
    - item_type: preproc_def
      name: PCPP_PPP_MPPCP
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8073'
    - item_type: preproc_def
      name: PCPP_PPP_IPICP
      pos:
        line_end: 600
        line_start: 599
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x80c1'
    - item_type: preproc_def
      name: PCPP_PPP_SLCC
      pos:
        line_end: 602
        line_start: 601
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x80fb'
    - item_type: preproc_def
      name: PCPP_PPP_CCP
      pos:
        line_end: 604
        line_start: 603
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x80fd'
    - item_type: preproc_def
      name: PCPP_PPP_CDPCP
      pos:
        line_end: 606
        line_start: 605
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8207'
    - item_type: preproc_def
      name: PCPP_PPP_NETCSCP
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8209'
    - item_type: preproc_def
      name: PCPP_PPP_STPCP
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x820b'
    - item_type: preproc_def
      name: PCPP_PPP_EDPCP
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x820d'
    - item_type: preproc_def
      name: PCPP_PPP_ACSPC
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8235'
    - item_type: preproc_def
      name: PCPP_PPP_MPLSCP
      pos:
        line_end: 616
        line_start: 615
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8281'
    - item_type: preproc_def
      name: PCPP_PPP_P12844CP
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8285'
    - item_type: preproc_def
      name: PCPP_PPP_TETRACP
      pos:
        line_end: 620
        line_start: 619
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8287'
    - item_type: preproc_def
      name: PCPP_PPP_MFTPCP
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0x8289'
    - item_type: preproc_def
      name: PCPP_PPP_LCP
      pos:
        line_end: 624
        line_start: 623
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc021'
    - item_type: preproc_def
      name: PCPP_PPP_PAP
      pos:
        line_end: 626
        line_start: 625
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc023'
    - item_type: preproc_def
      name: PCPP_PPP_LQR
      pos:
        line_end: 628
        line_start: 627
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc025'
    - item_type: preproc_def
      name: PCPP_PPP_SPAP
      pos:
        line_end: 630
        line_start: 629
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc027'
    - item_type: preproc_def
      name: PCPP_PPP_CBCP
      pos:
        line_end: 632
        line_start: 631
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc029'
    - item_type: preproc_def
      name: PCPP_PPP_BACP
      pos:
        line_end: 634
        line_start: 633
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc02b'
    - item_type: preproc_def
      name: PCPP_PPP_BAP
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc02d'
    - item_type: preproc_def
      name: PCPP_PPP_VSAP
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc05b'
    - item_type: preproc_def
      name: PCPP_PPP_CONTCP
      pos:
        line_end: 640
        line_start: 639
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc081'
    - item_type: preproc_def
      name: PCPP_PPP_CHAP
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc223'
    - item_type: preproc_def
      name: PCPP_PPP_RSAAP
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc225'
    - item_type: preproc_def
      name: PCPP_PPP_EAP
      pos:
        line_end: 646
        line_start: 645
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc227'
    - item_type: preproc_def
      name: PCPP_PPP_SIEP
      pos:
        line_end: 648
        line_start: 647
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc229'
    - item_type: preproc_def
      name: PCPP_PPP_SBAP
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc26f'
    - item_type: preproc_def
      name: PCPP_PPP_PRPAP
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc281'
    - item_type: preproc_def
      name: PCPP_PPP_PRPAP2
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc283'
    - item_type: preproc_def
      name: PCPP_PPP_PRPNIAP
      pos:
        line_end: 656
        line_start: 655
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
      type_or_value: '0xc481'
    structs:
    - fields:
      - name: sessionId
        type: uint16_t
      - name: payloadLength
        type: uint16_t
      item_type: struct
      name: pppoe_header
      pos:
        line_end: 37
        line_start: 16
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    - fields:
      - name: sessionId
        type: uint16_t
      - name: payloadLength
        type: uint16_t
      item_type: struct
      name: pppoe_header
      pos:
        line_end: 37
        line_start: 16
        source_file: /src/PcapPlusPlus/Packet++/header/PPPoELayer.h
    typedefs: []
    union: []
- function_names:
  - ~PacketKey()
  - pcpp::IPReassembly::PacketKey::PacketKey
  - pcpp::IPReassembly::PacketKey::PacketKey
  - pcpp::IPReassembly::IPv4PacketKey::IPv4PacketKey
  - pcpp::IPReassembly::IPv4PacketKey::IPv4PacketKey
  - pcpp::IPReassembly::IPv4PacketKey::IPv4PacketKey
  - '& operator=(const IPv4PacketKey& other)'
  - pcpp::IPReassembly::IPv4PacketKey::getIpID
  - pcpp::IPReassembly::IPv4PacketKey::getSrcIP
  - pcpp::IPReassembly::IPv4PacketKey::getDstIP
  - pcpp::IPReassembly::IPv4PacketKey::setIpID
  - pcpp::IPReassembly::IPv4PacketKey::setSrcIP
  - pcpp::IPReassembly::IPv4PacketKey::setDstIP
  - pcpp::IPReassembly::IPv4PacketKey::getProtocolType
  - pcpp::IPReassembly::IPv4PacketKey::clone
  - pcpp::IPReassembly::IPv6PacketKey::IPv6PacketKey
  - pcpp::IPReassembly::IPv6PacketKey::IPv6PacketKey
  - pcpp::IPReassembly::IPv6PacketKey::IPv6PacketKey
  - '& operator=(const IPv6PacketKey& other)'
  - pcpp::IPReassembly::IPv6PacketKey::getFragmentID
  - pcpp::IPReassembly::IPv6PacketKey::getSrcIP
  - pcpp::IPReassembly::IPv6PacketKey::getDstIP
  - pcpp::IPReassembly::IPv6PacketKey::setFragmentID
  - pcpp::IPReassembly::IPv6PacketKey::setSrcIP
  - pcpp::IPReassembly::IPv6PacketKey::setDstIP
  - pcpp::IPReassembly::IPv6PacketKey::getProtocolType
  - pcpp::IPReassembly::IPv6PacketKey::clone
  - pcpp::IPReassembly::IPReassembly
  - pcpp::IPReassembly::getMaxCapacity
  - pcpp::IPReassembly::getCurrentCapacity
  - pcpp::IPReassembly::IPFragment
  - ~IPFragment()
  - pcpp::IPReassembly::IPFragmentData
  - ~IPFragmentData()
  - ~PacketKey()
  - pcpp::IPReassembly::PacketKey::PacketKey
  - pcpp::IPReassembly::PacketKey::PacketKey
  - pcpp::IPReassembly::IPv4PacketKey::IPv4PacketKey
  - pcpp::IPReassembly::IPv4PacketKey::IPv4PacketKey
  - pcpp::IPReassembly::IPv4PacketKey::IPv4PacketKey
  - '& operator=(const IPv4PacketKey& other)'
  - pcpp::IPReassembly::IPv4PacketKey::getIpID
  - pcpp::IPReassembly::IPv4PacketKey::getSrcIP
  - pcpp::IPReassembly::IPv4PacketKey::getDstIP
  - pcpp::IPReassembly::IPv4PacketKey::setIpID
  - pcpp::IPReassembly::IPv4PacketKey::setSrcIP
  - pcpp::IPReassembly::IPv4PacketKey::setDstIP
  - pcpp::IPReassembly::IPv4PacketKey::getProtocolType
  - pcpp::IPReassembly::IPv4PacketKey::clone
  - pcpp::IPReassembly::IPv6PacketKey::IPv6PacketKey
  - pcpp::IPReassembly::IPv6PacketKey::IPv6PacketKey
  - pcpp::IPReassembly::IPv6PacketKey::IPv6PacketKey
  - '& operator=(const IPv6PacketKey& other)'
  - pcpp::IPReassembly::IPv6PacketKey::getFragmentID
  - pcpp::IPReassembly::IPv6PacketKey::getSrcIP
  - pcpp::IPReassembly::IPv6PacketKey::getDstIP
  - pcpp::IPReassembly::IPv6PacketKey::setFragmentID
  - pcpp::IPReassembly::IPv6PacketKey::setSrcIP
  - pcpp::IPReassembly::IPv6PacketKey::setDstIP
  - pcpp::IPReassembly::IPv6PacketKey::getProtocolType
  - pcpp::IPReassembly::IPv6PacketKey::clone
  - pcpp::IPReassembly::IPReassembly
  - pcpp::IPReassembly::getMaxCapacity
  - pcpp::IPReassembly::getCurrentCapacity
  - pcpp::IPReassembly::IPFragment
  - ~IPFragment()
  - pcpp::IPReassembly::IPFragmentData
  - ~IPFragmentData()
  source_file: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
  types:
    enum:
    - enumerators:
      - name: NON_IP_PACKET
        value: '0x00'
      - name: OUT_OF_ORDER_FRAGMENT
        value: '0x08'
      - name: NON_FRAGMENT
        value: '0x01'
      - name: FIRST_FRAGMENT
        value: '0x02'
      - name: FRAGMENT
        value: '0x04'
      - name: MALFORMED_FRAGMENT
        value: '0x10'
      - name: REASSEMBLED
        value: '0x20'
      item_type: enum
      name: ReassemblyStatus
      pos:
        line_end: 306
        line_start: 289
        source_file: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    - enumerators:
      - name: NON_IP_PACKET
        value: '0x00'
      - name: OUT_OF_ORDER_FRAGMENT
        value: '0x08'
      - name: NON_FRAGMENT
        value: '0x01'
      - name: FIRST_FRAGMENT
        value: '0x02'
      - name: FRAGMENT
        value: '0x04'
      - name: MALFORMED_FRAGMENT
        value: '0x10'
      - name: REASSEMBLED
        value: '0x20'
      item_type: enum
      name: ReassemblyStatus
      pos:
        line_end: 306
        line_start: 289
        source_file: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    preproc_defs:
    - item_type: preproc_def
      name: PCPP_IP_REASSEMBLY_DEFAULT_MAX_PACKETS_TO_STORE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
      type_or_value: '500000'
    - item_type: preproc_def
      name: PCPP_IP_REASSEMBLY_DEFAULT_MAX_PACKETS_TO_STORE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
      type_or_value: '500000'
    structs:
    - fields:
      - name: fragmentOffset
        type: uint16_t
      - name: lastFragment
        type: bool
      - name: '* fragmentData'
        type: uint8_t
      - name: fragmentDataLen
        type: size_t
      item_type: struct
      name: IPFragment
      pos:
        line_end: 449
        line_start: 432
        source_file: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    - fields:
      - name: currentOffset
        type: uint16_t
      - name: '* data'
        type: RawPacket
      - name: deleteData
        type: bool
      - name: fragmentID
        type: uint32_t
      - name: '* packetKey'
        type: PacketKey
      - name: outOfOrderFragments
        type: PointerVector<IPFragment>
      item_type: struct
      name: IPFragmentData
      pos:
        line_end: 475
        line_start: 451
        source_file: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    - fields:
      - name: fragmentOffset
        type: uint16_t
      - name: lastFragment
        type: bool
      - name: '* fragmentData'
        type: uint8_t
      - name: fragmentDataLen
        type: size_t
      item_type: struct
      name: IPFragment
      pos:
        line_end: 449
        line_start: 432
        source_file: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    - fields:
      - name: currentOffset
        type: uint16_t
      - name: '* data'
        type: RawPacket
      - name: deleteData
        type: bool
      - name: fragmentID
        type: uint32_t
      - name: '* packetKey'
        type: PacketKey
      - name: outOfOrderFragments
        type: PointerVector<IPFragment>
      item_type: struct
      name: IPFragmentData
      pos:
        line_end: 475
        line_start: 451
        source_file: /src/PcapPlusPlus/Packet++/header/IPReassembly.h
    typedefs: []
    union: []
- function_names:
  - pcpp::RawPacket
  - pcpp::getObjectType
  - pcpp::getRawData
  - pcpp::getLinkLayerType
  - pcpp::getRawDataLen
  - pcpp::getFrameLength
  - pcpp::getPacketTimeStamp
  - pcpp::isPacketSet
  - pcpp::RawPacket
  - pcpp::getObjectType
  - pcpp::getRawData
  - pcpp::getLinkLayerType
  - pcpp::getRawDataLen
  - pcpp::getFrameLength
  - pcpp::getPacketTimeStamp
  - pcpp::isPacketSet
  - internal::getRawPacketImplementationType
  - internal::getRawPacketImplementationType
  source_file: /src/PcapPlusPlus/Packet++/header/RawPacket.h
  types:
    enum:
    - enumerators:
      - name: LINKTYPE_IEEE802_5
        value: '6'
      - name: LINKTYPE_PPP_ETHER
        value: '51'
      - name: LINKTYPE_LTALK
        value: '114'
      - name: LINKTYPE_USER10
        value: '157'
      - name: LINKTYPE_PPP_PPPD
        value: '166'
      - name: LINKTYPE_USER2
        value: '149'
      - name: LINKTYPE_IEEE802_15_4
        value: '195'
      - name: LINKTYPE_FC_2_WITH_FRAME_DELIMS
        value: '225'
      - name: LINKTYPE_MTP2_WITH_PHDR
        value: '139'
      - name: LINKTYPE_MUX27010
        value: '236'
      - name: LINKTYPE_NETANALYZER_TRANSPARENT
        value: '241'
      - name: LINKTYPE_ETHERNET
        value: '1'
      - name: LINKTYPE_INVALID
        value: '0xFFFF'
      - name: LINKTYPE_ZWAVE_R1_R2
        value: '261'
      - name: LINKTYPE_INFINIBAND
        value: '247'
      - name: LINKTYPE_LINUX_IRDA
        value: '144'
      - name: LINKTYPE_IEEE802_11_RADIOTAP
        value: '127'
      - name: LINKTYPE_USER15
        value: '162'
      - name: LINKTYPE_IEEE802_15_4_NONASK_PHY
        value: '215'
      - name: LINKTYPE_DLT_RAW1
        value: '12'
      - name: LINKTYPE_FRELAY
        value: '107'
      - name: LINKTYPE_USER7
        value: '154'
      - name: LINKTYPE_LAPD
        value: '203'
      - name: LINKTYPE_BLUETOOTH_HCI_H4
        value: '187'
      - name: LINKTYPE_IEEE802_15_4_NOFCS
        value: '230'
      - name: LINKTYPE_NETLINK
        value: '253'
      - name: LINKTYPE_ZWAVE_R3
        value: '262'
      - name: LINKTYPE_IPOIB
        value: '242'
      - name: LINKTYPE_NULL
        value: '0'
      - name: LINKTYPE_DLT_RAW2
        value: '14'
      - name: LINKTYPE_LOOP
        value: '108'
      - name: LINKTYPE_USER8
        value: '155'
      - name: LINKTYPE_USB_LINUX
        value: '189'
      - name: LINKTYPE_USER0
        value: '147'
      - name: LINKTYPE_ARCNET_LINUX
        value: '129'
      - name: LINKTYPE_IEEE802_11_AVS
        value: '163'
      - name: LINKTYPE_USB_LINUX_MMAPPED
        value: '220'
      - name: LINKTYPE_DBUS
        value: '231'
      - name: LINKTYPE_MPEG_2_TS
        value: '243'
      - name: LINKTYPE_NFLOG
        value: '239'
      - name: LINKTYPE_BLUETOOTH_LINUX_MONITOR
        value: '254'
      - name: LINKTYPE_NG40
        value: '244'
      - name: LINKTYPE_EPON
        value: '259'
      - name: LINKTYPE_SCCP
        value: '142'
      - name: LINKTYPE_GPF_F
        value: '171'
      - name: LINKTYPE_IPV4
        value: '228'
      - name: LINKTYPE_USER13
        value: '160'
      - name: LINKTYPE_FRELAY_WITH_DIR
        value: '206'
      - name: LINKTYPE_PPP
        value: '9'
      - name: LINKTYPE_C_HDLC
        value: '104'
      - name: LINKTYPE_BLUETOOTH_HCI_H4_WITH_PHDR
        value: '201'
      - name: LINKTYPE_IP_OVER_FC
        value: '122'
      - name: LINKTYPE_USER5
        value: '152'
      - name: LINKTYPE_NETANALYZER
        value: '240'
      - name: LINKTYPE_RTAC_SERIAL
        value: '250'
      - name: LINKTYPE_IPMI_HPM_2
        value: '260'
      - name: LINKTYPE_FDDI
        value: '10'
      - name: LINKTYPE_IEEE802_11
        value: '105'
      - name: LINKTYPE_USER6
        value: '153'
      - name: LINKTYPE_IPMB_LINUX
        value: '209'
      - name: LINKTYPE_AX25_KISS
        value: '202'
      - name: LINKTYPE_LINUX_LAPD
        value: '177'
      - name: LINKTYPE_IPV6
        value: '229'
      - name: LINKTYPE_DOCSIS
        value: '143'
      - name: LINKTYPE_SUNATM
        value: '123'
      - name: LINKTYPE_USER14
        value: '161'
      - name: LINKTYPE_BLUETOOTH_LE_LL
        value: '251'
      - name: LINKTYPE_LINUX_SLL2
        value: '276'
      - name: LINKTYPE_PROFIBUS_DL
        value: '257'
      - name: LINKTYPE_MTP2
        value: '140'
      - name: LINKTYPE_GPRS_LLC
        value: '169'
      - name: LINKTYPE_IPNET
        value: '226'
      - name: LINKTYPE_USER11
        value: '158'
      - name: LINKTYPE_PPP_WITH_DIR
        value: '204'
      - name: LINKTYPE_ARCNET_BSD
        value: '7'
      - name: LINKTYPE_ATM_RFC1483
        value: '100'
      - name: LINKTYPE_PFLOG
        value: '117'
      - name: LINKTYPE_SITA
        value: '196'
      - name: LINKTYPE_USER3
        value: '150'
      - name: LINKTYPE_STANAG_5066_D_PDU
        value: '237'
      - name: LINKTYPE_PKTAP
        value: '258'
      - name: LINKTYPE_SCTP
        value: '248'
      - name: LINKTYPE_SLIP
        value: '8'
      - name: LINKTYPE_RAW
        value: '101'
      - name: LINKTYPE_IEEE802_11_PRISM
        value: '119'
      - name: LINKTYPE_ERF
        value: '197'
      - name: LINKTYPE_USER4
        value: '151'
      - name: LINKTYPE_MTP3
        value: '141'
      - name: LINKTYPE_GPF_T
        value: '170'
      - name: LINKTYPE_CAN_SOCKETCAN
        value: '227'
      - name: LINKTYPE_USER12
        value: '159'
      - name: LINKTYPE_C_HDLC_WITH_DIR
        value: '205'
      - name: LINKTYPE_WATTSTOPPER_DLM
        value: '263'
      - name: LINKTYPE_USBPCAP
        value: '249'
      - name: LINKTYPE_BACNET_MS_TP
        value: '165'
      - name: LINKTYPE_FC_2
        value: '224'
      - name: LINKTYPE_APPLE_IP_OVER_IEEE1394
        value: '138'
      - name: LINKTYPE_AX25
        value: '3'
      - name: LINKTYPE_LINUX_SLL
        value: '113'
      - name: LINKTYPE_PPP_HDLC
        value: '50'
      - name: LINKTYPE_USER9
        value: '156'
      - name: LINKTYPE_USER1
        value: '148'
      - name: LINKTYPE_PPI
        value: '192'
      - name: LINKTYPE_DVB_CI
        value: '235'
      - name: LINKTYPE_BLUETOOTH_BREDR_BB
        value: '255'
      - name: LINKTYPE_ISO_14443
        value: '264'
      - name: LINKTYPE_NFC_LLCP
        value: '245'
      - name: LINKTYPE_BLUETOOTH_LE_LL_WITH_PHDR
        value: '256'
      item_type: enum
      name: LinkLayerType
      pos:
        line_end: 250
        line_start: 20
        source_file: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    - enumerators:
      - name: Unknown
        value: '0'
      - name: WinDivert
        value: '3'
      - name: Standard
        value: '1'
      - name: DpdkMBuf
        value: '2'
      item_type: enum
      name: RawPacketImplType
      pos:
        line_end: 275
        line_start: 265
        source_file: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    - enumerators:
      - name: Unknown
        value: '0'
      - name: WinDivert
        value: '3'
      - name: Standard
        value: '1'
      - name: DpdkMBuf
        value: '2'
      item_type: enum
      name: RawPacketImplType
      pos:
        line_end: 275
        line_start: 265
        source_file: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    - enumerators:
      - name: LINKTYPE_IEEE802_5
        value: '6'
      - name: LINKTYPE_PPP_ETHER
        value: '51'
      - name: LINKTYPE_LTALK
        value: '114'
      - name: LINKTYPE_USER10
        value: '157'
      - name: LINKTYPE_PPP_PPPD
        value: '166'
      - name: LINKTYPE_USER2
        value: '149'
      - name: LINKTYPE_IEEE802_15_4
        value: '195'
      - name: LINKTYPE_FC_2_WITH_FRAME_DELIMS
        value: '225'
      - name: LINKTYPE_MTP2_WITH_PHDR
        value: '139'
      - name: LINKTYPE_MUX27010
        value: '236'
      - name: LINKTYPE_NETANALYZER_TRANSPARENT
        value: '241'
      - name: LINKTYPE_ETHERNET
        value: '1'
      - name: LINKTYPE_INVALID
        value: '0xFFFF'
      - name: LINKTYPE_ZWAVE_R1_R2
        value: '261'
      - name: LINKTYPE_INFINIBAND
        value: '247'
      - name: LINKTYPE_LINUX_IRDA
        value: '144'
      - name: LINKTYPE_IEEE802_11_RADIOTAP
        value: '127'
      - name: LINKTYPE_USER15
        value: '162'
      - name: LINKTYPE_IEEE802_15_4_NONASK_PHY
        value: '215'
      - name: LINKTYPE_DLT_RAW1
        value: '12'
      - name: LINKTYPE_FRELAY
        value: '107'
      - name: LINKTYPE_USER7
        value: '154'
      - name: LINKTYPE_LAPD
        value: '203'
      - name: LINKTYPE_BLUETOOTH_HCI_H4
        value: '187'
      - name: LINKTYPE_IEEE802_15_4_NOFCS
        value: '230'
      - name: LINKTYPE_NETLINK
        value: '253'
      - name: LINKTYPE_ZWAVE_R3
        value: '262'
      - name: LINKTYPE_IPOIB
        value: '242'
      - name: LINKTYPE_NULL
        value: '0'
      - name: LINKTYPE_DLT_RAW2
        value: '14'
      - name: LINKTYPE_LOOP
        value: '108'
      - name: LINKTYPE_USER8
        value: '155'
      - name: LINKTYPE_USB_LINUX
        value: '189'
      - name: LINKTYPE_USER0
        value: '147'
      - name: LINKTYPE_ARCNET_LINUX
        value: '129'
      - name: LINKTYPE_IEEE802_11_AVS
        value: '163'
      - name: LINKTYPE_USB_LINUX_MMAPPED
        value: '220'
      - name: LINKTYPE_DBUS
        value: '231'
      - name: LINKTYPE_MPEG_2_TS
        value: '243'
      - name: LINKTYPE_NFLOG
        value: '239'
      - name: LINKTYPE_BLUETOOTH_LINUX_MONITOR
        value: '254'
      - name: LINKTYPE_NG40
        value: '244'
      - name: LINKTYPE_EPON
        value: '259'
      - name: LINKTYPE_SCCP
        value: '142'
      - name: LINKTYPE_GPF_F
        value: '171'
      - name: LINKTYPE_IPV4
        value: '228'
      - name: LINKTYPE_USER13
        value: '160'
      - name: LINKTYPE_FRELAY_WITH_DIR
        value: '206'
      - name: LINKTYPE_PPP
        value: '9'
      - name: LINKTYPE_C_HDLC
        value: '104'
      - name: LINKTYPE_BLUETOOTH_HCI_H4_WITH_PHDR
        value: '201'
      - name: LINKTYPE_IP_OVER_FC
        value: '122'
      - name: LINKTYPE_USER5
        value: '152'
      - name: LINKTYPE_NETANALYZER
        value: '240'
      - name: LINKTYPE_RTAC_SERIAL
        value: '250'
      - name: LINKTYPE_IPMI_HPM_2
        value: '260'
      - name: LINKTYPE_FDDI
        value: '10'
      - name: LINKTYPE_IEEE802_11
        value: '105'
      - name: LINKTYPE_USER6
        value: '153'
      - name: LINKTYPE_IPMB_LINUX
        value: '209'
      - name: LINKTYPE_AX25_KISS
        value: '202'
      - name: LINKTYPE_LINUX_LAPD
        value: '177'
      - name: LINKTYPE_IPV6
        value: '229'
      - name: LINKTYPE_DOCSIS
        value: '143'
      - name: LINKTYPE_SUNATM
        value: '123'
      - name: LINKTYPE_USER14
        value: '161'
      - name: LINKTYPE_BLUETOOTH_LE_LL
        value: '251'
      - name: LINKTYPE_LINUX_SLL2
        value: '276'
      - name: LINKTYPE_PROFIBUS_DL
        value: '257'
      - name: LINKTYPE_MTP2
        value: '140'
      - name: LINKTYPE_GPRS_LLC
        value: '169'
      - name: LINKTYPE_IPNET
        value: '226'
      - name: LINKTYPE_USER11
        value: '158'
      - name: LINKTYPE_PPP_WITH_DIR
        value: '204'
      - name: LINKTYPE_ARCNET_BSD
        value: '7'
      - name: LINKTYPE_ATM_RFC1483
        value: '100'
      - name: LINKTYPE_PFLOG
        value: '117'
      - name: LINKTYPE_SITA
        value: '196'
      - name: LINKTYPE_USER3
        value: '150'
      - name: LINKTYPE_STANAG_5066_D_PDU
        value: '237'
      - name: LINKTYPE_PKTAP
        value: '258'
      - name: LINKTYPE_SCTP
        value: '248'
      - name: LINKTYPE_SLIP
        value: '8'
      - name: LINKTYPE_RAW
        value: '101'
      - name: LINKTYPE_IEEE802_11_PRISM
        value: '119'
      - name: LINKTYPE_ERF
        value: '197'
      - name: LINKTYPE_USER4
        value: '151'
      - name: LINKTYPE_MTP3
        value: '141'
      - name: LINKTYPE_GPF_T
        value: '170'
      - name: LINKTYPE_CAN_SOCKETCAN
        value: '227'
      - name: LINKTYPE_USER12
        value: '159'
      - name: LINKTYPE_C_HDLC_WITH_DIR
        value: '205'
      - name: LINKTYPE_WATTSTOPPER_DLM
        value: '263'
      - name: LINKTYPE_USBPCAP
        value: '249'
      - name: LINKTYPE_BACNET_MS_TP
        value: '165'
      - name: LINKTYPE_FC_2
        value: '224'
      - name: LINKTYPE_APPLE_IP_OVER_IEEE1394
        value: '138'
      - name: LINKTYPE_AX25
        value: '3'
      - name: LINKTYPE_LINUX_SLL
        value: '113'
      - name: LINKTYPE_PPP_HDLC
        value: '50'
      - name: LINKTYPE_USER9
        value: '156'
      - name: LINKTYPE_USER1
        value: '148'
      - name: LINKTYPE_PPI
        value: '192'
      - name: LINKTYPE_DVB_CI
        value: '235'
      - name: LINKTYPE_BLUETOOTH_BREDR_BB
        value: '255'
      - name: LINKTYPE_ISO_14443
        value: '264'
      - name: LINKTYPE_NFC_LLCP
        value: '245'
      - name: LINKTYPE_BLUETOOTH_LE_LL_WITH_PHDR
        value: '256'
      item_type: enum
      name: LinkLayerType
      pos:
        line_end: 250
        line_start: 20
        source_file: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    - enumerators:
      - name: Unknown
        value: '0'
      - name: WinDivert
        value: '3'
      - name: Standard
        value: '1'
      - name: DpdkMBuf
        value: '2'
      item_type: enum
      name: RawPacketImplType
      pos:
        line_end: 275
        line_start: 265
        source_file: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    - enumerators:
      - name: Unknown
        value: '0'
      - name: WinDivert
        value: '3'
      - name: Standard
        value: '1'
      - name: DpdkMBuf
        value: '2'
      item_type: enum
      name: RawPacketImplType
      pos:
        line_end: 275
        line_start: 265
        source_file: /src/PcapPlusPlus/Packet++/header/RawPacket.h
    preproc_defs:
    - item_type: preproc_def
      name: PCPP_MAX_PACKET_SIZE
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/PcapPlusPlus/Packet++/header/RawPacket.h
      type_or_value: '65536'
    - item_type: preproc_def
      name: PCPP_MAX_PACKET_SIZE
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/PcapPlusPlus/Packet++/header/RawPacket.h
      type_or_value: '65536'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::SSHLayer::isSSHPort
  - pcpp::SSHLayer::computeCalculateFields
  - pcpp::SSHLayer::getOsiModelLayer
  - pcpp::SSHLayer::SSHLayer
  - pcpp::SSHIdentificationMessage::getHeaderLen
  - pcpp::SSHIdentificationMessage::SSHIdentificationMessage
  - pcpp::SSHHandshakeMessage::SSHHandshakeMessage
  - pcpp::SSHHandshakeMessage::getMsgBaseHeader
  - pcpp::SSHKeyExchangeInitMessage::getKeyExchangeAlgorithms
  - pcpp::SSHKeyExchangeInitMessage::getServerHostKeyAlgorithms
  - pcpp::SSHKeyExchangeInitMessage::getEncryptionAlgorithmsClientToServer
  - pcpp::SSHKeyExchangeInitMessage::getEncryptionAlgorithmsServerToClient
  - pcpp::SSHKeyExchangeInitMessage::getMacAlgorithmsClientToServer
  - pcpp::SSHKeyExchangeInitMessage::getMacAlgorithmsServerToClient
  - pcpp::SSHKeyExchangeInitMessage::getCompressionAlgorithmsClientToServer
  - pcpp::SSHKeyExchangeInitMessage::getCompressionAlgorithmsServerToClient
  - pcpp::SSHKeyExchangeInitMessage::getLanguagesClientToServer
  - pcpp::SSHKeyExchangeInitMessage::getLanguagesServerToClient
  - pcpp::SSHEncryptedMessage::SSHEncryptedMessage
  - pcpp::SSHEncryptedMessage::getHeaderLen
  - pcpp::SSHLayer::isSSHPort
  - pcpp::SSHLayer::computeCalculateFields
  - pcpp::SSHLayer::getOsiModelLayer
  - pcpp::SSHLayer::SSHLayer
  - pcpp::SSHIdentificationMessage::getHeaderLen
  - pcpp::SSHIdentificationMessage::SSHIdentificationMessage
  - pcpp::SSHHandshakeMessage::SSHHandshakeMessage
  - pcpp::SSHHandshakeMessage::getMsgBaseHeader
  - pcpp::SSHKeyExchangeInitMessage::getKeyExchangeAlgorithms
  - pcpp::SSHKeyExchangeInitMessage::getServerHostKeyAlgorithms
  - pcpp::SSHKeyExchangeInitMessage::getEncryptionAlgorithmsClientToServer
  - pcpp::SSHKeyExchangeInitMessage::getEncryptionAlgorithmsServerToClient
  - pcpp::SSHKeyExchangeInitMessage::getMacAlgorithmsClientToServer
  - pcpp::SSHKeyExchangeInitMessage::getMacAlgorithmsServerToClient
  - pcpp::SSHKeyExchangeInitMessage::getCompressionAlgorithmsClientToServer
  - pcpp::SSHKeyExchangeInitMessage::getCompressionAlgorithmsServerToClient
  - pcpp::SSHKeyExchangeInitMessage::getLanguagesClientToServer
  - pcpp::SSHKeyExchangeInitMessage::getLanguagesServerToClient
  - pcpp::SSHEncryptedMessage::SSHEncryptedMessage
  - pcpp::SSHEncryptedMessage::getHeaderLen
  source_file: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
  types:
    enum:
    - enumerators:
      - name: SSH_MSG_KEX_INIT
        value: '20'
      - name: SSH_MSG_NEW_KEYS
        value: '21'
      - name: SSH_MSG_KEX_DH_GEX_INIT
        value: '32'
      - name: SSH_MSG_KEX_DH_REPLY
        value: '31'
      - name: SSH_MSG_KEX_DH_INIT
        value: '30'
      - name: SSH_MSG_KEX_DH_GEX_REPLY
        value: '33'
      - name: SSH_MSG_KEX_DH_GEX_REQUEST
        value: '34'
      - name: SSH_MSG_UNKNOWN
        value: '999'
      item_type: enum
      name: SSHHandshakeMessageType
      pos:
        line_end: 206
        line_start: 188
        source_file: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    - enumerators:
      - name: SSH_MSG_KEX_INIT
        value: '20'
      - name: SSH_MSG_NEW_KEYS
        value: '21'
      - name: SSH_MSG_KEX_DH_GEX_INIT
        value: '32'
      - name: SSH_MSG_KEX_DH_REPLY
        value: '31'
      - name: SSH_MSG_KEX_DH_INIT
        value: '30'
      - name: SSH_MSG_KEX_DH_GEX_REPLY
        value: '33'
      - name: SSH_MSG_KEX_DH_GEX_REQUEST
        value: '34'
      - name: SSH_MSG_UNKNOWN
        value: '999'
      item_type: enum
      name: SSHHandshakeMessageType
      pos:
        line_end: 206
        line_start: 188
        source_file: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: packetLength
        type: uint32_t
      - name: paddingLength
        type: uint8_t
      - name: messageCode
        type: uint8_t
      item_type: struct
      name: ssh_message_base
      pos:
        line_end: 251
        line_start: 246
        source_file: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    - fields:
      - name: packetLength
        type: uint32_t
      - name: paddingLength
        type: uint8_t
      - name: messageCode
        type: uint8_t
      item_type: struct
      name: ssh_message_base
      pos:
        line_end: 251
        line_start: 246
        source_file: /src/PcapPlusPlus/Packet++/header/SSHLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::RadiusAttribute::RadiusAttribute
  - ~RadiusAttribute() override
  - pcpp::RadiusAttribute::getTotalSize
  - pcpp::RadiusAttribute::getDataSize
  - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
  - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
  - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
  - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
  - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
  - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
  - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
  - '& operator=(const RadiusAttributeBuilder& other)'
  - pcpp::RadiusLayer::getAttributesBasePtr
  - pcpp::RadiusLayer::RadiusLayer
  - ~RadiusLayer() override
  - pcpp::RadiusLayer::getRadiusHeader
  - pcpp::RadiusLayer::parseNextLayer
  - pcpp::RadiusLayer::getOsiModelLayer
  - pcpp::RadiusLayer::isRadiusPort
  - pcpp::RadiusAttribute::RadiusAttribute
  - ~RadiusAttribute() override
  - pcpp::RadiusAttribute::getTotalSize
  - pcpp::RadiusAttribute::getDataSize
  - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
  - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
  - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
  - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
  - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
  - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
  - pcpp::RadiusAttributeBuilder::RadiusAttributeBuilder
  - '& operator=(const RadiusAttributeBuilder& other)'
  - pcpp::RadiusLayer::getAttributesBasePtr
  - pcpp::RadiusLayer::RadiusLayer
  - ~RadiusLayer() override
  - pcpp::RadiusLayer::getRadiusHeader
  - pcpp::RadiusLayer::parseNextLayer
  - pcpp::RadiusLayer::getOsiModelLayer
  - pcpp::RadiusLayer::isRadiusPort
  source_file: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: code
        type: uint8_t
      - name: id
        type: uint8_t
      - name: length
        type: uint16_t
      - name: authenticator[16]
        type: uint8_t
      item_type: struct
      name: radius_header
      pos:
        line_end: 24
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    - fields:
      - name: code
        type: uint8_t
      - name: id
        type: uint8_t
      - name: length
        type: uint16_t
      - name: authenticator[16]
        type: uint8_t
      item_type: struct
      name: radius_header
      pos:
        line_end: 24
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/RadiusLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::TcpOption::TcpOption
  - ~TcpOption() override
  - "(\"Use getTcpOptionEnumType instead\")\n\t\tTcpOptionType getTcpOptionType()
    const"
  - pcpp::TcpOption::getTcpOptionEnumType
  - pcpp::TcpOption::canAssign
  - pcpp::TcpOption::getTotalSize
  - pcpp::TcpOption::getDataSize
  - pcpp::TcpOption::getTcpOptionType
  - pcpp::TcpOption::getTcpOptionEnumType
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOption::TcpOption
  - ~TcpOption() override
  - "(\"Use getTcpOptionEnumType instead\")\n\t\tTcpOptionType getTcpOptionType()
    const"
  - pcpp::TcpOption::getTcpOptionEnumType
  - pcpp::TcpOption::canAssign
  - pcpp::TcpOption::getTotalSize
  - pcpp::TcpOption::getDataSize
  - pcpp::TcpOption::getTcpOptionType
  - pcpp::TcpOption::getTcpOptionEnumType
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOptionBuilder
  - pcpp::TcpOptionBuilder
  - ~TcpLayer() override
  - TcpLayer::getTcpHeader
  - TcpLayer::getHeaderLen
  - TcpLayer::getOsiModelLayer
  - TcpLayer::getOptionsBasePtr
  - TcpLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
  types:
    enum:
    - enumerators:
      - name: TCPOPT_RVBD_PROBE
        value: '76'
      - name: TCPOPT_Unknown
        value: '255'
      - name: PCPP_TCPOPT_WINDOW
        value: '3'
      - name: PCPP_TCPOPT_EOL
        value: '0'
      - name: PCPP_TCPOPT_SACK
        value: '5'
      - name: TCPOPT_ECHOREPLY
        value: '7'
      - name: TCPOPT_CC
        value: '11'
      - name: TCPOPT_SNACK
        value: '21'
      - name: TCPOPT_MPTCP
        value: '0x1e'
      - name: TCPOPT_CCECHO
        value: '13'
      - name: TCPOPT_CORREXP
        value: '23'
      - name: TCPOPT_USER_TO
        value: '28'
      - name: TCPOPT_EXP_FE
        value: '0xfe'
      - name: TCPOPT_RVBD_TRPY
        value: '78'
      - name: PCPP_TCPOPT_NOP
        value: '1'
      - name: TCPOPT_MSS
        value: '2'
      - name: TCPOPT_SACK_PERM
        value: '4'
      - name: TCPOPT_ECHO
        value: '6'
      - name: PCPP_TCPOPT_TIMESTAMP
        value: '8'
      - name: TCPOPT_CCNEW
        value: '12'
      - name: TCPOPT_SCPS
        value: '20'
      - name: TCPOPT_MD5
        value: '19'
      - name: TCPOPT_QS
        value: '27'
      - name: TCPOPT_RECBOUND
        value: '22'
      - name: TCPOPT_EXP_FD
        value: '0xfd'
      item_type: enum
      name: TcpOptionType
      pos:
        line_end: 142
        line_start: 90
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    - enumerators:
      - name: SackPerm
        value: '4'
      - name: Eol
        value: '0'
      - name: Echo
        value: '6'
      - name: Timestamp
        value: '8'
      - name: CcNew
        value: '12'
      - name: Scps
        value: '20'
      - name: Md5
        value: '19'
      - name: Qs
        value: '27'
      - name: RecBound
        value: '22'
      - name: ExpFd
        value: '0xfd'
      - name: Unknown
        value: '255'
      - name: RvbdProbe
        value: '76'
      - name: Nop
        value: '1'
      - name: Window
        value: '3'
      - name: Mss
        value: '2'
      - name: Sack
        value: '5'
      - name: EchoReply
        value: '7'
      - name: Cc
        value: '11'
      - name: MpTcp
        value: '0x1e'
      - name: Snack
        value: '21'
      - name: CorrExp
        value: '23'
      - name: CcEcho
        value: '13'
      - name: UserTo
        value: '28'
      - name: RvbdTrpy
        value: '78'
      - name: ExpFe
        value: '0xfe'
      item_type: enum
      name: TcpOptionEnumType
      pos:
        line_end: 197
        line_start: 145
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    - enumerators:
      - name: NOP
      - name: EOL
      item_type: enum
      name: NopEolOptionTypes
      pos:
        line_end: 354
        line_start: 348
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    - enumerators:
      - name: Nop
      - name: Eol
      item_type: enum
      name: NopEolOptionEnumType
      pos:
        line_end: 363
        line_start: 357
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    - enumerators:
      - name: TCPOPT_RVBD_PROBE
        value: '76'
      - name: TCPOPT_Unknown
        value: '255'
      - name: PCPP_TCPOPT_WINDOW
        value: '3'
      - name: PCPP_TCPOPT_EOL
        value: '0'
      - name: PCPP_TCPOPT_SACK
        value: '5'
      - name: TCPOPT_ECHOREPLY
        value: '7'
      - name: TCPOPT_CC
        value: '11'
      - name: TCPOPT_SNACK
        value: '21'
      - name: TCPOPT_MPTCP
        value: '0x1e'
      - name: TCPOPT_CCECHO
        value: '13'
      - name: TCPOPT_CORREXP
        value: '23'
      - name: TCPOPT_USER_TO
        value: '28'
      - name: TCPOPT_EXP_FE
        value: '0xfe'
      - name: TCPOPT_RVBD_TRPY
        value: '78'
      - name: PCPP_TCPOPT_NOP
        value: '1'
      - name: TCPOPT_MSS
        value: '2'
      - name: TCPOPT_SACK_PERM
        value: '4'
      - name: TCPOPT_ECHO
        value: '6'
      - name: PCPP_TCPOPT_TIMESTAMP
        value: '8'
      - name: TCPOPT_CCNEW
        value: '12'
      - name: TCPOPT_SCPS
        value: '20'
      - name: TCPOPT_MD5
        value: '19'
      - name: TCPOPT_QS
        value: '27'
      - name: TCPOPT_RECBOUND
        value: '22'
      - name: TCPOPT_EXP_FD
        value: '0xfd'
      item_type: enum
      name: TcpOptionType
      pos:
        line_end: 142
        line_start: 90
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    - enumerators:
      - name: SackPerm
        value: '4'
      - name: Eol
        value: '0'
      - name: Echo
        value: '6'
      - name: Timestamp
        value: '8'
      - name: CcNew
        value: '12'
      - name: Scps
        value: '20'
      - name: Md5
        value: '19'
      - name: Qs
        value: '27'
      - name: RecBound
        value: '22'
      - name: ExpFd
        value: '0xfd'
      - name: Unknown
        value: '255'
      - name: RvbdProbe
        value: '76'
      - name: Nop
        value: '1'
      - name: Window
        value: '3'
      - name: Mss
        value: '2'
      - name: Sack
        value: '5'
      - name: EchoReply
        value: '7'
      - name: Cc
        value: '11'
      - name: MpTcp
        value: '0x1e'
      - name: Snack
        value: '21'
      - name: CorrExp
        value: '23'
      - name: CcEcho
        value: '13'
      - name: UserTo
        value: '28'
      - name: RvbdTrpy
        value: '78'
      - name: ExpFe
        value: '0xfe'
      item_type: enum
      name: TcpOptionEnumType
      pos:
        line_end: 197
        line_start: 145
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    - enumerators:
      - name: NOP
      - name: EOL
      item_type: enum
      name: NopEolOptionTypes
      pos:
        line_end: 354
        line_start: 348
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    - enumerators:
      - name: Nop
      - name: Eol
      item_type: enum
      name: NopEolOptionEnumType
      pos:
        line_end: 363
        line_start: 357
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    preproc_defs:
    - item_type: preproc_def
      name: PCPP_INTERNAL_DEPRECATE_TCP_OPTION_TYPE_MSG
      pos:
        line_end: 9
        line_start: 7
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '"enum TcpOptionType is deprecated; Use enum class TcpOptionEnumType
        instead"'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_NOP
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_EOL
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_MSS
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_WINDOW
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_SACK_PERM
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_SACK_MIN
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_ECHO
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_ECHOREPLY
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_TIMESTAMP
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '10'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_CC
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_CCNEW
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_CCECHO
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_MD5
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '18'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_MPTCP_MIN
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_SCPS
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_SNACK
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_RECBOUND
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_CORREXP
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_QS
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_USER_TO
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_RVBD_PROBE_MIN
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_RVBD_TRPY_MIN
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_EXP_MIN
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_NOP
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_EOL
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_MSS
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_WINDOW
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_SACK_PERM
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_SACK_MIN
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_ECHO
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_ECHOREPLY
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_TIMESTAMP
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '10'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_CC
      pos:
        line_end: 221
        line_start: 220
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_CCNEW
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_CCECHO
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_MD5
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '18'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_MPTCP_MIN
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_SCPS
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_SNACK
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_RECBOUND
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_CORREXP
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_QS
      pos:
        line_end: 239
        line_start: 238
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '8'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_USER_TO
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_RVBD_PROBE_MIN
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_RVBD_TRPY_MIN
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PCPP_TCPOLEN_EXP_MIN
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
      type_or_value: '2'
    structs:
    - fields:
      - name: portSrc
        type: uint16_t
      - name: portDst
        type: uint16_t
      - name: sequenceNumber
        type: uint32_t
      - name: ackNumber
        type: uint32_t
      - name: windowSize
        type: uint16_t
      - name: headerChecksum
        type: uint16_t
      - name: urgentPointer
        type: uint16_t
      item_type: struct
      name: tcphdr
      pos:
        line_end: 85
        line_start: 19
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    - fields:
      - name: portSrc
        type: uint16_t
      - name: portDst
        type: uint16_t
      - name: sequenceNumber
        type: uint32_t
      - name: ackNumber
        type: uint32_t
      - name: windowSize
        type: uint16_t
      - name: headerChecksum
        type: uint16_t
      - name: urgentPointer
        type: uint16_t
      item_type: struct
      name: tcphdr
      pos:
        line_end: 85
        line_start: 19
        source_file: /src/PcapPlusPlus/Packet++/header/TcpLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::WireGuardLayer::getBasicHeader
  - pcpp::WireGuardLayer::WireGuardLayer
  - pcpp::WireGuardLayer::WireGuardLayer
  - pcpp::WireGuardLayer::isWireGuardPorts
  - pcpp::WireGuardLayer::parseNextLayer
  - pcpp::WireGuardLayer::computeCalculateFields
  - pcpp::WireGuardLayer::getOsiModelLayer
  - pcpp::WireGuardLayer::getWireGuardMessageType
  - pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
  - pcpp::WireGuardHandshakeInitiationLayer::WireGuardHandshakeInitiationLayer
  - pcpp::WireGuardHandshakeInitiationLayer::getWireGuardMessageType
  - pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
  - pcpp::WireGuardHandshakeResponseLayer::WireGuardHandshakeResponseLayer
  - pcpp::WireGuardHandshakeResponseLayer::getWireGuardMessageType
  - pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
  - pcpp::WireGuardCookieReplyLayer::WireGuardCookieReplyLayer
  - pcpp::WireGuardCookieReplyLayer::getWireGuardMessageType
  - pcpp::WireGuardTransportDataLayer::getTransportHeader
  - pcpp::WireGuardTransportDataLayer::WireGuardTransportDataLayer
  - pcpp::WireGuardTransportDataLayer::getWireGuardMessageType
  - pcpp::WireGuardLayer::getBasicHeader
  - pcpp::WireGuardLayer::WireGuardLayer
  - pcpp::WireGuardLayer::WireGuardLayer
  - pcpp::WireGuardLayer::isWireGuardPorts
  - pcpp::WireGuardLayer::parseNextLayer
  - pcpp::WireGuardLayer::computeCalculateFields
  - pcpp::WireGuardLayer::getOsiModelLayer
  - pcpp::WireGuardLayer::getWireGuardMessageType
  - pcpp::WireGuardHandshakeInitiationLayer::getHandshakeInitiationHeader
  - pcpp::WireGuardHandshakeInitiationLayer::WireGuardHandshakeInitiationLayer
  - pcpp::WireGuardHandshakeInitiationLayer::getWireGuardMessageType
  - pcpp::WireGuardHandshakeResponseLayer::getHandshakeResponseHeader
  - pcpp::WireGuardHandshakeResponseLayer::WireGuardHandshakeResponseLayer
  - pcpp::WireGuardHandshakeResponseLayer::getWireGuardMessageType
  - pcpp::WireGuardCookieReplyLayer::getCookieReplyHeader
  - pcpp::WireGuardCookieReplyLayer::WireGuardCookieReplyLayer
  - pcpp::WireGuardCookieReplyLayer::getWireGuardMessageType
  - pcpp::WireGuardTransportDataLayer::getTransportHeader
  - pcpp::WireGuardTransportDataLayer::WireGuardTransportDataLayer
  - pcpp::WireGuardTransportDataLayer::getWireGuardMessageType
  source_file: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
  types:
    enum:
    - enumerators:
      - name: Unknown
        value: '0'
      - name: CookieReply
        value: '3'
      - name: TransportData
        value: '4'
      - name: HandshakeResponse
        value: '2'
      - name: HandshakeInitiation
        value: '1'
      item_type: enum
      name: WireGuardMessageType
      pos:
        line_end: 51
        line_start: 39
        source_file: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    - enumerators:
      - name: Unknown
        value: '0'
      - name: CookieReply
        value: '3'
      - name: TransportData
        value: '4'
      - name: HandshakeResponse
        value: '2'
      - name: HandshakeInitiation
        value: '1'
      item_type: enum
      name: WireGuardMessageType
      pos:
        line_end: 51
        line_start: 39
        source_file: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: messageType
        type: uint8_t
      - name: reserved[3]
        type: uint8_t
      item_type: struct
      name: wg_common_header
      pos:
        line_end: 26
        line_start: 20
        source_file: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    - fields:
      - name: senderIndex
        type: uint32_t
      - name: initiatorEphemeral[32]
        type: uint8_t
      - name: encryptedInitiatorStatic[48]
        type: uint8_t
      - name: encryptedTimestamp[28]
        type: uint8_t
      - name: mac1[16]
        type: uint8_t
      - name: mac2[16]
        type: uint8_t
      item_type: struct
      name: wg_handshake_initiation
      pos:
        line_end: 147
        line_start: 133
        source_file: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    - fields:
      - name: senderIndex
        type: uint32_t
      - name: receiverIndex
        type: uint32_t
      - name: responderEphemeral[32]
        type: uint8_t
      - name: encryptedEmpty[16]
        type: uint8_t
      - name: mac1[16]
        type: uint8_t
      - name: mac2[16]
        type: uint8_t
      item_type: struct
      name: wg_handshake_response
      pos:
        line_end: 243
        line_start: 229
        source_file: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    - fields:
      - name: receiverIndex
        type: uint32_t
      - name: nonce[24]
        type: uint8_t
      - name: encryptedCookie[32]
        type: uint8_t
      item_type: struct
      name: wg_cookie_reply
      pos:
        line_end: 333
        line_start: 325
        source_file: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    - fields:
      - name: receiverIndex
        type: uint32_t
      - name: counter
        type: uint64_t
      - name: encryptedData[0]
        type: uint8_t
      item_type: struct
      name: wg_transport_data
      pos:
        line_end: 400
        line_start: 392
        source_file: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    - fields:
      - name: messageType
        type: uint8_t
      - name: reserved[3]
        type: uint8_t
      item_type: struct
      name: wg_common_header
      pos:
        line_end: 26
        line_start: 20
        source_file: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    - fields:
      - name: senderIndex
        type: uint32_t
      - name: initiatorEphemeral[32]
        type: uint8_t
      - name: encryptedInitiatorStatic[48]
        type: uint8_t
      - name: encryptedTimestamp[28]
        type: uint8_t
      - name: mac1[16]
        type: uint8_t
      - name: mac2[16]
        type: uint8_t
      item_type: struct
      name: wg_handshake_initiation
      pos:
        line_end: 147
        line_start: 133
        source_file: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    - fields:
      - name: senderIndex
        type: uint32_t
      - name: receiverIndex
        type: uint32_t
      - name: responderEphemeral[32]
        type: uint8_t
      - name: encryptedEmpty[16]
        type: uint8_t
      - name: mac1[16]
        type: uint8_t
      - name: mac2[16]
        type: uint8_t
      item_type: struct
      name: wg_handshake_response
      pos:
        line_end: 243
        line_start: 229
        source_file: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    - fields:
      - name: receiverIndex
        type: uint32_t
      - name: nonce[24]
        type: uint8_t
      - name: encryptedCookie[32]
        type: uint8_t
      item_type: struct
      name: wg_cookie_reply
      pos:
        line_end: 333
        line_start: 325
        source_file: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    - fields:
      - name: receiverIndex
        type: uint32_t
      - name: counter
        type: uint64_t
      - name: encryptedData[0]
        type: uint8_t
      item_type: struct
      name: wg_transport_data
      pos:
        line_end: 400
        line_start: 392
        source_file: /src/PcapPlusPlus/Packet++/header/WireGuardLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::internal::PrivateKeyDataView::PrivateKeyDataView
  - ~PrivateKeyDataView()
  - pcpp::internal::PrivateKeyDataView::castSubRecordAs
  - pcpp::internal::RSAPrivateKeyDataView::RSAPrivateKeyDataView
  - ~RSAPrivateKeyDataView()
  - ~ECPrivateKeyDataView()
  - pcpp::internal::CryptographicKey::toDER
  - pcpp::internal::CryptographicKey::toPEM
  - pcpp::internal::CryptographicKey::CryptographicKey
  - pcpp::internal::CryptographicKey::CryptographicKey
  - ~CryptographicKey()
  - pcpp::internal::CryptographicKey::getRoot
  - pcpp::internal::CryptographicKey::castSubRecordAs
  - pcpp::internal::PrivateKeyDataView::PrivateKeyDataView
  - ~PrivateKeyDataView()
  - pcpp::internal::PrivateKeyDataView::castSubRecordAs
  - pcpp::internal::RSAPrivateKeyDataView::RSAPrivateKeyDataView
  - ~RSAPrivateKeyDataView()
  - ~ECPrivateKeyDataView()
  - pcpp::internal::CryptographicKey::toDER
  - pcpp::internal::CryptographicKey::toPEM
  - pcpp::internal::CryptographicKey::CryptographicKey
  - pcpp::internal::CryptographicKey::CryptographicKey
  - ~CryptographicKey()
  - pcpp::internal::CryptographicKey::getRoot
  - pcpp::internal::CryptographicKey::castSubRecordAs
  - pcpp::CryptographicKeyAlgorithm::CryptographicKeyAlgorithm
  - pcpp::CryptographicKeyAlgorithm::CryptographicKeyAlgorithm
  - operator Value() const
  - pcpp::RSAPrivateKey::RSAPrivateKey
  - pcpp::RSAPrivateKey::RSAPrivateKey
  - pcpp::ECPrivateKey::ECPrivateKey
  - pcpp::ECPrivateKey::ECPrivateKey
  - ~PrivateKeyData()
  - pcpp::PKCS8PrivateKey::PrivateKeyData::castAs
  - pcpp::PKCS8PrivateKey::PrivateKeyData::getRoot
  - pcpp::PKCS8PrivateKey::getPrivateKeyAs
  - pcpp::internal::PrivateKeyDataView::PrivateKeyDataView
  - ~PrivateKeyDataView()
  - pcpp::internal::PrivateKeyDataView::castSubRecordAs
  - pcpp::internal::RSAPrivateKeyDataView::RSAPrivateKeyDataView
  - ~RSAPrivateKeyDataView()
  - ~ECPrivateKeyDataView()
  - pcpp::internal::CryptographicKey::toDER
  - pcpp::internal::CryptographicKey::toPEM
  - pcpp::internal::CryptographicKey::CryptographicKey
  - pcpp::internal::CryptographicKey::CryptographicKey
  - ~CryptographicKey()
  - pcpp::internal::CryptographicKey::getRoot
  - pcpp::internal::CryptographicKey::castSubRecordAs
  - pcpp::internal::PrivateKeyDataView::PrivateKeyDataView
  - ~PrivateKeyDataView()
  - pcpp::internal::PrivateKeyDataView::castSubRecordAs
  - pcpp::internal::RSAPrivateKeyDataView::RSAPrivateKeyDataView
  - ~RSAPrivateKeyDataView()
  - ~ECPrivateKeyDataView()
  - pcpp::internal::CryptographicKey::toDER
  - pcpp::internal::CryptographicKey::toPEM
  - pcpp::internal::CryptographicKey::CryptographicKey
  - pcpp::internal::CryptographicKey::CryptographicKey
  - ~CryptographicKey()
  - pcpp::internal::CryptographicKey::getRoot
  - pcpp::internal::CryptographicKey::castSubRecordAs
  - pcpp::CryptographicKeyAlgorithm::CryptographicKeyAlgorithm
  - pcpp::CryptographicKeyAlgorithm::CryptographicKeyAlgorithm
  - operator Value() const
  - pcpp::RSAPrivateKey::RSAPrivateKey
  - pcpp::RSAPrivateKey::RSAPrivateKey
  - pcpp::ECPrivateKey::ECPrivateKey
  - pcpp::ECPrivateKey::ECPrivateKey
  - ~PrivateKeyData()
  - pcpp::PKCS8PrivateKey::PrivateKeyData::castAs
  - pcpp::PKCS8PrivateKey::PrivateKeyData::getRoot
  - pcpp::PKCS8PrivateKey::getPrivateKeyAs
  source_file: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
  types:
    enum:
    - enumerators:
      - name: RSA
      - name: ED448
      - name: DSA
      - name: ED25519
      - name: ECDSA
      - name: DiffieHellman
      - name: X448
      - name: Unknown
      item_type: enum
      name: Value
      pos:
        line_end: 218
        line_start: 200
        source_file: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    - enumerators:
      - name: RSA
      - name: ED448
      - name: DSA
      - name: ED25519
      - name: ECDSA
      - name: DiffieHellman
      - name: X448
      - name: Unknown
      item_type: enum
      name: Value
      pos:
        line_end: 218
        line_start: 200
        source_file: /src/PcapPlusPlus/Packet++/header/CryptoKeyDecoder.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::DhcpOption::DhcpOption
  - ~DhcpOption() override
  - pcpp::DhcpOption::getValueAsIpAddr
  - pcpp::DhcpOption::setValueIpAddr
  - pcpp::DhcpOption::getValueAsString
  - pcpp::DhcpOption::setValueString
  - pcpp::DhcpOption::canAssign
  - pcpp::DhcpOption::getTotalSize
  - pcpp::DhcpOption::getDataSize
  - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
  - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
  - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
  - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
  - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
  - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
  - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
  - '& operator=(const DhcpOptionBuilder& other)'
  - ~DhcpLayer() override
  - pcpp::DhcpLayer::isDataValid
  - pcpp::DhcpLayer::getDhcpHeader
  - pcpp::DhcpLayer::getOpCode
  - pcpp::DhcpLayer::getClientIpAddress
  - pcpp::DhcpLayer::setClientIpAddress
  - pcpp::DhcpLayer::getServerIpAddress
  - pcpp::DhcpLayer::setServerIpAddress
  - pcpp::DhcpLayer::getYourIpAddress
  - pcpp::DhcpLayer::setYourIpAddress
  - pcpp::DhcpLayer::getGatewayIpAddress
  - pcpp::DhcpLayer::setGatewayIpAddress
  - pcpp::DhcpLayer::parseNextLayer
  - pcpp::DhcpLayer::getHeaderLen
  - pcpp::DhcpLayer::getOsiModelLayer
  - pcpp::DhcpLayer::getOptionsBasePtr
  - pcpp::DhcpLayer::isDhcpPorts
  - pcpp::DhcpOption::DhcpOption
  - ~DhcpOption() override
  - pcpp::DhcpOption::getValueAsIpAddr
  - pcpp::DhcpOption::setValueIpAddr
  - pcpp::DhcpOption::getValueAsString
  - pcpp::DhcpOption::setValueString
  - pcpp::DhcpOption::canAssign
  - pcpp::DhcpOption::getTotalSize
  - pcpp::DhcpOption::getDataSize
  - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
  - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
  - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
  - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
  - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
  - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
  - pcpp::DhcpOptionBuilder::DhcpOptionBuilder
  - '& operator=(const DhcpOptionBuilder& other)'
  - ~DhcpLayer() override
  - pcpp::DhcpLayer::isDataValid
  - pcpp::DhcpLayer::getDhcpHeader
  - pcpp::DhcpLayer::getOpCode
  - pcpp::DhcpLayer::getClientIpAddress
  - pcpp::DhcpLayer::setClientIpAddress
  - pcpp::DhcpLayer::getServerIpAddress
  - pcpp::DhcpLayer::setServerIpAddress
  - pcpp::DhcpLayer::getYourIpAddress
  - pcpp::DhcpLayer::setYourIpAddress
  - pcpp::DhcpLayer::getGatewayIpAddress
  - pcpp::DhcpLayer::setGatewayIpAddress
  - pcpp::DhcpLayer::parseNextLayer
  - pcpp::DhcpLayer::getHeaderLen
  - pcpp::DhcpLayer::getOsiModelLayer
  - pcpp::DhcpLayer::getOptionsBasePtr
  - pcpp::DhcpLayer::isDhcpPorts
  source_file: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
  types:
    enum:
    - enumerators:
      - name: DHCP_BOOTREQUEST
        value: '1'
      - name: DHCP_BOOTREPLY
        value: '2'
      item_type: enum
      name: BootpOpCodes
      pos:
        line_end: 60
        line_start: 54
        source_file: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    - enumerators:
      - name: DHCP_UNKNOWN_MSG_TYPE
        value: '0'
      - name: DHCP_DISCOVER
        value: '1'
      - name: DHCP_OFFER
        value: '2'
      - name: DHCP_REQUEST
        value: '3'
      - name: DHCP_DECLINE
        value: '4'
      - name: DHCP_ACK
        value: '5'
      - name: DHCP_NAK
        value: '6'
      - name: DHCP_RELEASE
        value: '7'
      - name: DHCP_INFORM
        value: '8'
      item_type: enum
      name: DhcpMessageType
      pos:
        line_end: 83
        line_start: 63
        source_file: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    - enumerators:
      - name: DHCPOPT_RDNSS_SELECTION
        value: '146'
      - name: DHCPOPT_DIRECTORY_AGENT
        value: '78'
      - name: DHCPOPT_SIP_SERVERS
        value: '120'
      - name: DHCPOPT_DATA_SOURCE
        value: '157'
      - name: DHCPOPT_NDS_TREE_NAME
        value: '86'
      - name: DHCPOPT_NETBIOS_NODE_TYPE
        value: '46'
      - name: DHCPOPT_MAX_DGRAM_REASSEMBLY
        value: '22'
      - name: DHCPOPT_DOMAIN_NAME_SERVERS
        value: '6'
      - name: DHCPOPT_MERIT_DUMP
        value: '14'
      - name: DHCPOPT_TCP_KEEPALIVE_INTERVAL
        value: '38'
      - name: DHCPOPT_NWIP_DOMAIN_NAME
        value: '62'
      - name: DHCPOPT_DHCP_SERVER_IDENTIFIER
        value: '54'
      - name: DHCPOPT_STREETTALK_SERVER
        value: '75'
      - name: DHCPOPT_MASK_SUPPLIER
        value: '30'
      - name: DHCPOPT_POP3_SERVER
        value: '70'
      - name: DHCPOPT_ISNS
        value: '83'
      - name: DHCPOPT_LDAP
        value: '95'
      - name: DHCPOPT_SUBNET_SELECTION
        value: '118'
      - name: DHCPOPT_OPTION_IPV4_ADDRESS_ANDSF
        value: '142'
      - name: DHCPOPT_CLASSLESS_STATIC_ROUTE
        value: '121'
      - name: DHCPOPT_OPTION_V4_ACCESS_DOMAIN
        value: '213'
      - name: DHCPOPT_OPTION_V4_PCP_SERVER
        value: '158'
      - name: DHCPOPT_GEOCONF_CIVIC
        value: '99'
      - name: DHCPOPT_NDS_CONTEXT
        value: '87'
      - name: DHCPOPT_ARP_CACHE_TIMEOUT
        value: '35'
      - name: DHCPOPT_DHCP_LEASE_TIME
        value: '51'
      - name: DHCPOPT_ALL_SUBNETS_LOCAL
        value: '27'
      - name: DHCPOPT_BOOTFILE_NAME
        value: '67'
      - name: DHCPOPT_VENDOR_ENCAPSULATED_OPTIONS
        value: '43'
      - name: DHCPOPT_ROUTERS
        value: '3'
      - name: DHCPOPT_RESOURCE_LOCATION_SERVERS
        value: '11'
      - name: DHCPOPT_IP_FORWARDING
        value: '19'
      - name: DHCPOPT_DHCP_REBINDING_TIME
        value: '59'
      - name: DHCPOPT_RAPID_COMMIT
        value: '80'
      - name: DHCPOPT_IP_TELEPHONE
        value: '176'
      - name: DHCPOPT_DOMAIN_SEARCH
        value: '119'
      - name: DHCPOPT_ASSOCIATED_IP
        value: '92'
      - name: DHCPOPT_OPTION_PANA_AGENT
        value: '136'
      - name: DHCPOPT_PATH_PREFIX
        value: '210'
      - name: DHCPOPT_GEOLOC
        value: '144'
      - name: DHCPOPT_END
        value: '255'
      - name: DHCPOPT_SUBNET_ALLOCATION
        value: '220'
      - name: DHCPOPT_STDA_SERVER
        value: '76'
      - name: DHCPOPT_PCODE
        value: '100'
      - name: DHCPOPT_QUERY_END_TIME
        value: '155'
      - name: DHCPOPT_HOME_AGENT_ADDRESS
        value: '68'
      - name: DHCPOPT_NETBIOS_NAME_SERVERS
        value: '44'
      - name: DHCPOPT_TIME_SERVERS
        value: '4'
      - name: DHCPOPT_HOST_NAME
        value: '12'
      - name: DHCPOPT_NON_LOCAL_SOURCE_ROUTING
        value: '20'
      - name: DHCPOPT_VENDOR_CLASS_IDENTIFIER
        value: '60'
      - name: DHCPOPT_IEEE802_3_ENCAPSULATION
        value: '36'
      - name: DHCPOPT_DHCP_OPTION_OVERLOAD
        value: '52'
      - name: DHCPOPT_BROADCAST_ADDRESS
        value: '28'
      - name: DHCPOPT_FQDN
        value: '81'
      - name: DHCPOPT_AUTO_CONFIG
        value: '116'
      - name: DHCPOPT_PXELINUX_MAGIC
        value: '208'
      - name: DHCPOPT_CLIENT_SYSTEM
        value: '93'
      - name: DHCPOPT_START_TIME_OF_STATE
        value: '153'
      - name: DHCPOPT_OPTION_V4_LOST
        value: '137'
      - name: DHCPOPT_REBOOT_TIME
        value: '211'
      - name: DHCPOPT_DHCP_STATE
        value: '156'
      - name: DHCPOPT_UUID_GUID
        value: '97'
      - name: DHCPOPT_NDS_SERVERS
        value: '85'
      - name: DHCPOPT_OPTION_IPV4_FQDN_MOS
        value: '140'
      - name: DHCPOPT_DHCP_MAX_MESSAGE_SIZE
        value: '57'
      - name: DHCPOPT_STATIC_ROUTES
        value: '33'
      - name: DHCPOPT_FINGER_SERVER
        value: '73'
      - name: DHCPOPT_X_DISPLAY_MANAGER
        value: '49'
      - name: PATH_MTU_PLATEAU_TABLE
        value: '25'
      - name: DHCPOPT_NIS_SERVER_ADDRESS
        value: '65'
      - name: DHCPOPT_SUBNET_MASK
        value: '1'
      - name: DHCPOPT_LPR_SERVERS
        value: '9'
      - name: DHCPOPT_ROOT_PATH
        value: '17'
      - name: DHCPOPT_NIS_SERVERS
        value: '41'
      - name: DHCPOPT_NAME_SERVICE_SEARCH
        value: '117'
      - name: DHCPOPT_QUERY_START_TIME
        value: '154'
      - name: DHCPOPT_DHCP_AGENT_OPTIONS
        value: '82'
      - name: DHCPOPT_V_I_VENDOR_CLASS
        value: '124'
      - name: DHCPOPT_OPTION_MUD_URL_V4
        value: '161'
      - name: DHCPOPT_AUTHENTICATION
        value: '90'
      - name: DHCPOPT_OPTION_6RD
        value: '212'
      - name: DHCPOPT_USER_AUTH
        value: '98'
      - name: DHCPOPT_SIP_UA_CONFIG
        value: '141'
      - name: DHCPOPT_TFTP_SERVER_NAME
        value: '66'
      - name: DHCPOPT_NTP_SERVERS
        value: '42'
      - name: DHCPOPT_TIME_OFFSET
        value: '2'
      - name: DHCPOPT_IMPRESS_SERVERS
        value: '10'
      - name: DHCPOPT_EXTENSIONS_PATH
        value: '18'
      - name: DHCPOPT_DHCP_RENEWAL_TIME
        value: '58'
      - name: DHCPOPT_TRAILER_ENCAPSULATION
        value: '34'
      - name: DHCPOPT_DHCP_REQUESTED_ADDRESS
        value: '50'
      - name: DHCPOPT_INTERFACE_MTU
        value: '26'
      - name: DHCPOPT_SERVICE_SCOPE
        value: '79'
      - name: DHCPOPT_STATUS_CODE
        value: '151'
      - name: DHCPOPT_V_I_VENDOR_OPTS
        value: '125'
      - name: DHCPOPT_ETHERBOOT
        value: '175'
      - name: DHCPOPT_NETINFO_TAG
        value: '113'
      - name: DHCPOPT_CLIENT_LAST_TXN_TIME
        value: '91'
      - name: DHCPOPT_DHCP_PARAMETER_REQUEST_LIST
        value: '55'
      - name: DHCPOPT_ROUTER_DISCOVERY
        value: '31'
      - name: DHCPOPT_NNTP_SERVER
        value: '71'
      - name: DHCPOPT_NETBIOS_SCOPE
        value: '47'
      - name: DEFAULT_IP_TTL
        value: '23'
      - name: DHCPOPT_NWIP_SUBOPTIONS
        value: '63'
      - name: DHCPOPT_UNKNOWN
        value: '-1'
      - name: DHCPOPT_LOG_SERVERS
        value: '7'
      - name: DHCPOPT_DOMAIN_NAME
        value: '15'
      - name: DHCPOPT_TCP_KEEPALIVE_GARBAGE
        value: '39'
      - name: DHCPOPT_BASE_TIME
        value: '152'
      - name: DHCPOPT_URL
        value: '114'
      - name: DHCPOPT_OPTION_V4_PORTPARAMS
        value: '159'
      - name: DHCPOPT_BCMCS_CONTROLLER_DOMAIN_NAME_LIST
        value: '88'
      - name: DHCPOPT_CCC
        value: '122'
      - name: DHCPOPT_OPTION_IPV4_ADDRESS_MOS
        value: '139'
      - name: DHCPOPT_PATH_MTU_AGING_TIMEOUT
        value: '24'
      - name: DHCPOPT_NIS_DOMAIN_NAME
        value: '64'
      - name: DHCPOPT_PAD
        value: '0'
      - name: DHCPOPT_QUOTES_SERVERS
        value: '8'
      - name: DHCPOPT_SWAP_SERVER
        value: '16'
      - name: DHCPOPT_NIS_DOMAIN
        value: '40'
      - name: DHCPOPT_DHCP_MESSAGE
        value: '56'
      - name: DHCPOPT_ROUTER_SOLICITATION_ADDRESS
        value: '32'
      - name: DHCPOPT_WWW_SERVER
        value: '72'
      - name: DHCPOPT_FONT_SERVERS
        value: '48'
      - name: DHCPOPT_VIRTUAL_SUBNET_SELECTION
        value: '221'
      - name: DHCPOPT_CAPTIVE_PORTAL
        value: '160'
      - name: DHCPOPT_TCODE
        value: '101'
      - name: DHCPOPT_BCMCS_CONTROLLER_IPV4_ADDRESS
        value: '89'
      - name: DHCPOPT_FORCERENEW_NONCE_CAPABLE
        value: '145'
      - name: DHCPOPT_GEOCONF
        value: '123'
      - name: DHCPOPT_USER_CLASS
        value: '77'
      - name: DHCPOPT_DEFAULT_TCP_TTL
        value: '37'
      - name: DHCPOPT_POLICY_FILTER
        value: '21'
      - name: DHCPOPT_IRC_SERVER
        value: '74'
      - name: DHCPOPT_PERFORM_MASK_DISCOVERY
        value: '29'
      - name: DHCPOPT_SMTP_SERVER
        value: '69'
      - name: DHCPOPT_DHCP_MESSAGE_TYPE
        value: '53'
      - name: DHCPOPT_NETBIOS_DD_SERVER
        value: '45'
      - name: DHCPOPT_NAME_SERVERS
        value: '5'
      - name: DHCPOPT_BOOT_SIZE
        value: '13'
      - name: DHCPOPT_DHCP_CLIENT_IDENTIFIER
        value: '61'
      - name: DHCPOPT_OPTION_CAPWAP_AC_V4
        value: '138'
      - name: DHCPOPT_CONFIGURATION_FILE
        value: '209'
      - name: DHCPOPT_CLIENT_NDI
        value: '94'
      - name: DHCPOPT_NETINFO_ADDRESS
        value: '112'
      item_type: enum
      name: DhcpOptionTypes
      pos:
        line_end: 380
        line_start: 86
        source_file: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    - enumerators:
      - name: DHCP_BOOTREQUEST
        value: '1'
      - name: DHCP_BOOTREPLY
        value: '2'
      item_type: enum
      name: BootpOpCodes
      pos:
        line_end: 60
        line_start: 54
        source_file: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    - enumerators:
      - name: DHCP_UNKNOWN_MSG_TYPE
        value: '0'
      - name: DHCP_DISCOVER
        value: '1'
      - name: DHCP_OFFER
        value: '2'
      - name: DHCP_REQUEST
        value: '3'
      - name: DHCP_DECLINE
        value: '4'
      - name: DHCP_ACK
        value: '5'
      - name: DHCP_NAK
        value: '6'
      - name: DHCP_RELEASE
        value: '7'
      - name: DHCP_INFORM
        value: '8'
      item_type: enum
      name: DhcpMessageType
      pos:
        line_end: 83
        line_start: 63
        source_file: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    - enumerators:
      - name: DHCPOPT_RDNSS_SELECTION
        value: '146'
      - name: DHCPOPT_DIRECTORY_AGENT
        value: '78'
      - name: DHCPOPT_SIP_SERVERS
        value: '120'
      - name: DHCPOPT_DATA_SOURCE
        value: '157'
      - name: DHCPOPT_NDS_TREE_NAME
        value: '86'
      - name: DHCPOPT_NETBIOS_NODE_TYPE
        value: '46'
      - name: DHCPOPT_MAX_DGRAM_REASSEMBLY
        value: '22'
      - name: DHCPOPT_DOMAIN_NAME_SERVERS
        value: '6'
      - name: DHCPOPT_MERIT_DUMP
        value: '14'
      - name: DHCPOPT_TCP_KEEPALIVE_INTERVAL
        value: '38'
      - name: DHCPOPT_NWIP_DOMAIN_NAME
        value: '62'
      - name: DHCPOPT_DHCP_SERVER_IDENTIFIER
        value: '54'
      - name: DHCPOPT_STREETTALK_SERVER
        value: '75'
      - name: DHCPOPT_MASK_SUPPLIER
        value: '30'
      - name: DHCPOPT_POP3_SERVER
        value: '70'
      - name: DHCPOPT_ISNS
        value: '83'
      - name: DHCPOPT_LDAP
        value: '95'
      - name: DHCPOPT_SUBNET_SELECTION
        value: '118'
      - name: DHCPOPT_OPTION_IPV4_ADDRESS_ANDSF
        value: '142'
      - name: DHCPOPT_CLASSLESS_STATIC_ROUTE
        value: '121'
      - name: DHCPOPT_OPTION_V4_ACCESS_DOMAIN
        value: '213'
      - name: DHCPOPT_OPTION_V4_PCP_SERVER
        value: '158'
      - name: DHCPOPT_GEOCONF_CIVIC
        value: '99'
      - name: DHCPOPT_NDS_CONTEXT
        value: '87'
      - name: DHCPOPT_ARP_CACHE_TIMEOUT
        value: '35'
      - name: DHCPOPT_DHCP_LEASE_TIME
        value: '51'
      - name: DHCPOPT_ALL_SUBNETS_LOCAL
        value: '27'
      - name: DHCPOPT_BOOTFILE_NAME
        value: '67'
      - name: DHCPOPT_VENDOR_ENCAPSULATED_OPTIONS
        value: '43'
      - name: DHCPOPT_ROUTERS
        value: '3'
      - name: DHCPOPT_RESOURCE_LOCATION_SERVERS
        value: '11'
      - name: DHCPOPT_IP_FORWARDING
        value: '19'
      - name: DHCPOPT_DHCP_REBINDING_TIME
        value: '59'
      - name: DHCPOPT_RAPID_COMMIT
        value: '80'
      - name: DHCPOPT_IP_TELEPHONE
        value: '176'
      - name: DHCPOPT_DOMAIN_SEARCH
        value: '119'
      - name: DHCPOPT_ASSOCIATED_IP
        value: '92'
      - name: DHCPOPT_OPTION_PANA_AGENT
        value: '136'
      - name: DHCPOPT_PATH_PREFIX
        value: '210'
      - name: DHCPOPT_GEOLOC
        value: '144'
      - name: DHCPOPT_END
        value: '255'
      - name: DHCPOPT_SUBNET_ALLOCATION
        value: '220'
      - name: DHCPOPT_STDA_SERVER
        value: '76'
      - name: DHCPOPT_PCODE
        value: '100'
      - name: DHCPOPT_QUERY_END_TIME
        value: '155'
      - name: DHCPOPT_HOME_AGENT_ADDRESS
        value: '68'
      - name: DHCPOPT_NETBIOS_NAME_SERVERS
        value: '44'
      - name: DHCPOPT_TIME_SERVERS
        value: '4'
      - name: DHCPOPT_HOST_NAME
        value: '12'
      - name: DHCPOPT_NON_LOCAL_SOURCE_ROUTING
        value: '20'
      - name: DHCPOPT_VENDOR_CLASS_IDENTIFIER
        value: '60'
      - name: DHCPOPT_IEEE802_3_ENCAPSULATION
        value: '36'
      - name: DHCPOPT_DHCP_OPTION_OVERLOAD
        value: '52'
      - name: DHCPOPT_BROADCAST_ADDRESS
        value: '28'
      - name: DHCPOPT_FQDN
        value: '81'
      - name: DHCPOPT_AUTO_CONFIG
        value: '116'
      - name: DHCPOPT_PXELINUX_MAGIC
        value: '208'
      - name: DHCPOPT_CLIENT_SYSTEM
        value: '93'
      - name: DHCPOPT_START_TIME_OF_STATE
        value: '153'
      - name: DHCPOPT_OPTION_V4_LOST
        value: '137'
      - name: DHCPOPT_REBOOT_TIME
        value: '211'
      - name: DHCPOPT_DHCP_STATE
        value: '156'
      - name: DHCPOPT_UUID_GUID
        value: '97'
      - name: DHCPOPT_NDS_SERVERS
        value: '85'
      - name: DHCPOPT_OPTION_IPV4_FQDN_MOS
        value: '140'
      - name: DHCPOPT_DHCP_MAX_MESSAGE_SIZE
        value: '57'
      - name: DHCPOPT_STATIC_ROUTES
        value: '33'
      - name: DHCPOPT_FINGER_SERVER
        value: '73'
      - name: DHCPOPT_X_DISPLAY_MANAGER
        value: '49'
      - name: PATH_MTU_PLATEAU_TABLE
        value: '25'
      - name: DHCPOPT_NIS_SERVER_ADDRESS
        value: '65'
      - name: DHCPOPT_SUBNET_MASK
        value: '1'
      - name: DHCPOPT_LPR_SERVERS
        value: '9'
      - name: DHCPOPT_ROOT_PATH
        value: '17'
      - name: DHCPOPT_NIS_SERVERS
        value: '41'
      - name: DHCPOPT_NAME_SERVICE_SEARCH
        value: '117'
      - name: DHCPOPT_QUERY_START_TIME
        value: '154'
      - name: DHCPOPT_DHCP_AGENT_OPTIONS
        value: '82'
      - name: DHCPOPT_V_I_VENDOR_CLASS
        value: '124'
      - name: DHCPOPT_OPTION_MUD_URL_V4
        value: '161'
      - name: DHCPOPT_AUTHENTICATION
        value: '90'
      - name: DHCPOPT_OPTION_6RD
        value: '212'
      - name: DHCPOPT_USER_AUTH
        value: '98'
      - name: DHCPOPT_SIP_UA_CONFIG
        value: '141'
      - name: DHCPOPT_TFTP_SERVER_NAME
        value: '66'
      - name: DHCPOPT_NTP_SERVERS
        value: '42'
      - name: DHCPOPT_TIME_OFFSET
        value: '2'
      - name: DHCPOPT_IMPRESS_SERVERS
        value: '10'
      - name: DHCPOPT_EXTENSIONS_PATH
        value: '18'
      - name: DHCPOPT_DHCP_RENEWAL_TIME
        value: '58'
      - name: DHCPOPT_TRAILER_ENCAPSULATION
        value: '34'
      - name: DHCPOPT_DHCP_REQUESTED_ADDRESS
        value: '50'
      - name: DHCPOPT_INTERFACE_MTU
        value: '26'
      - name: DHCPOPT_SERVICE_SCOPE
        value: '79'
      - name: DHCPOPT_STATUS_CODE
        value: '151'
      - name: DHCPOPT_V_I_VENDOR_OPTS
        value: '125'
      - name: DHCPOPT_ETHERBOOT
        value: '175'
      - name: DHCPOPT_NETINFO_TAG
        value: '113'
      - name: DHCPOPT_CLIENT_LAST_TXN_TIME
        value: '91'
      - name: DHCPOPT_DHCP_PARAMETER_REQUEST_LIST
        value: '55'
      - name: DHCPOPT_ROUTER_DISCOVERY
        value: '31'
      - name: DHCPOPT_NNTP_SERVER
        value: '71'
      - name: DHCPOPT_NETBIOS_SCOPE
        value: '47'
      - name: DEFAULT_IP_TTL
        value: '23'
      - name: DHCPOPT_NWIP_SUBOPTIONS
        value: '63'
      - name: DHCPOPT_UNKNOWN
        value: '-1'
      - name: DHCPOPT_LOG_SERVERS
        value: '7'
      - name: DHCPOPT_DOMAIN_NAME
        value: '15'
      - name: DHCPOPT_TCP_KEEPALIVE_GARBAGE
        value: '39'
      - name: DHCPOPT_BASE_TIME
        value: '152'
      - name: DHCPOPT_URL
        value: '114'
      - name: DHCPOPT_OPTION_V4_PORTPARAMS
        value: '159'
      - name: DHCPOPT_BCMCS_CONTROLLER_DOMAIN_NAME_LIST
        value: '88'
      - name: DHCPOPT_CCC
        value: '122'
      - name: DHCPOPT_OPTION_IPV4_ADDRESS_MOS
        value: '139'
      - name: DHCPOPT_PATH_MTU_AGING_TIMEOUT
        value: '24'
      - name: DHCPOPT_NIS_DOMAIN_NAME
        value: '64'
      - name: DHCPOPT_PAD
        value: '0'
      - name: DHCPOPT_QUOTES_SERVERS
        value: '8'
      - name: DHCPOPT_SWAP_SERVER
        value: '16'
      - name: DHCPOPT_NIS_DOMAIN
        value: '40'
      - name: DHCPOPT_DHCP_MESSAGE
        value: '56'
      - name: DHCPOPT_ROUTER_SOLICITATION_ADDRESS
        value: '32'
      - name: DHCPOPT_WWW_SERVER
        value: '72'
      - name: DHCPOPT_FONT_SERVERS
        value: '48'
      - name: DHCPOPT_VIRTUAL_SUBNET_SELECTION
        value: '221'
      - name: DHCPOPT_CAPTIVE_PORTAL
        value: '160'
      - name: DHCPOPT_TCODE
        value: '101'
      - name: DHCPOPT_BCMCS_CONTROLLER_IPV4_ADDRESS
        value: '89'
      - name: DHCPOPT_FORCERENEW_NONCE_CAPABLE
        value: '145'
      - name: DHCPOPT_GEOCONF
        value: '123'
      - name: DHCPOPT_USER_CLASS
        value: '77'
      - name: DHCPOPT_DEFAULT_TCP_TTL
        value: '37'
      - name: DHCPOPT_POLICY_FILTER
        value: '21'
      - name: DHCPOPT_IRC_SERVER
        value: '74'
      - name: DHCPOPT_PERFORM_MASK_DISCOVERY
        value: '29'
      - name: DHCPOPT_SMTP_SERVER
        value: '69'
      - name: DHCPOPT_DHCP_MESSAGE_TYPE
        value: '53'
      - name: DHCPOPT_NETBIOS_DD_SERVER
        value: '45'
      - name: DHCPOPT_NAME_SERVERS
        value: '5'
      - name: DHCPOPT_BOOT_SIZE
        value: '13'
      - name: DHCPOPT_DHCP_CLIENT_IDENTIFIER
        value: '61'
      - name: DHCPOPT_OPTION_CAPWAP_AC_V4
        value: '138'
      - name: DHCPOPT_CONFIGURATION_FILE
        value: '209'
      - name: DHCPOPT_CLIENT_NDI
        value: '94'
      - name: DHCPOPT_NETINFO_ADDRESS
        value: '112'
      item_type: enum
      name: DhcpOptionTypes
      pos:
        line_end: 380
        line_start: 86
        source_file: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: opCode
        type: uint8_t
      - name: hardwareType
        type: uint8_t
      - name: hardwareAddressLength
        type: uint8_t
      - name: hops
        type: uint8_t
      - name: transactionID
        type: uint32_t
      - name: secondsElapsed
        type: uint16_t
      - name: flags
        type: uint16_t
      - name: clientIpAddress
        type: uint32_t
      - name: yourIpAddress
        type: uint32_t
      - name: serverIpAddress
        type: uint32_t
      - name: gatewayIpAddress
        type: uint32_t
      - name: clientHardwareAddress[16]
        type: uint8_t
      - name: serverName[64]
        type: uint8_t
      - name: bootFilename[128]
        type: uint8_t
      - name: magicNumber
        type: uint32_t
      item_type: struct
      name: dhcp_header
      pos:
        line_end: 49
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    - fields:
      - name: opCode
        type: uint8_t
      - name: hardwareType
        type: uint8_t
      - name: hardwareAddressLength
        type: uint8_t
      - name: hops
        type: uint8_t
      - name: transactionID
        type: uint32_t
      - name: secondsElapsed
        type: uint16_t
      - name: flags
        type: uint16_t
      - name: clientIpAddress
        type: uint32_t
      - name: yourIpAddress
        type: uint32_t
      - name: serverIpAddress
        type: uint32_t
      - name: gatewayIpAddress
        type: uint32_t
      - name: clientHardwareAddress[16]
        type: uint8_t
      - name: serverName[64]
        type: uint8_t
      - name: bootFilename[128]
        type: uint8_t
      - name: magicNumber
        type: uint32_t
      item_type: struct
      name: dhcp_header
      pos:
        line_end: 49
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/DhcpLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::FtpLayer::FtpLayer
  - pcpp::FtpLayer::FtpLayer
  - pcpp::FtpLayer::isFtpPort
  - pcpp::FtpLayer::isFtpDataPort
  - pcpp::FtpLayer::parseNextLayer
  - pcpp::FtpLayer::getHeaderLen
  - pcpp::FtpLayer::computeCalculateFields
  - pcpp::FtpLayer::getOsiModelLayer
  - pcpp::FtpRequestLayer::FtpRequestLayer
  - pcpp::FtpRequestLayer::FtpRequestLayer
  - pcpp::FtpResponseLayer::FtpResponseLayer
  - pcpp::FtpResponseLayer::FtpResponseLayer
  - pcpp::FtpDataLayer::FtpDataLayer
  - pcpp::FtpLayer::FtpLayer
  - pcpp::FtpLayer::FtpLayer
  - pcpp::FtpLayer::isFtpPort
  - pcpp::FtpLayer::isFtpDataPort
  - pcpp::FtpLayer::parseNextLayer
  - pcpp::FtpLayer::getHeaderLen
  - pcpp::FtpLayer::computeCalculateFields
  - pcpp::FtpLayer::getOsiModelLayer
  - pcpp::FtpRequestLayer::FtpRequestLayer
  - pcpp::FtpRequestLayer::FtpRequestLayer
  - pcpp::FtpResponseLayer::FtpResponseLayer
  - pcpp::FtpResponseLayer::FtpResponseLayer
  - pcpp::FtpDataLayer::FtpDataLayer
  source_file: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
  types:
    enum:
    - enumerators:
      - name: CCC
        value: ('C') | ('C' << 8) | ('C' << 16)
      - name: CSID
        value: ('C') | ('S' << 8) | ('I' << 16) | ('D' << 24)
      - name: FEAT
        value: ('F') | ('E' << 8) | ('A' << 16) | ('T' << 24)
      - name: EPRT
        value: ('E') | ('P' << 8) | ('R' << 16) | ('T' << 24)
      - name: CONF
        value: ('C') | ('O' << 8) | ('N' << 16) | ('F' << 24)
      - name: HOST
        value: ('H') | ('O' << 8) | ('S' << 16) | ('T' << 24)
      - name: LANG
        value: ('L') | ('A' << 8) | ('N' << 16) | ('G' << 24)
      - name: LPRT
        value: ('L') | ('P' << 8) | ('R' << 16) | ('T' << 24)
      - name: MDTM
        value: ('M') | ('D' << 8) | ('T' << 16) | ('M' << 24)
      - name: QUIT
        value: ('Q') | ('U' << 8) | ('I' << 16) | ('T' << 24)
      - name: SYST
        value: ('S') | ('Y' << 8) | ('S' << 16) | ('T' << 24)
      - name: XRCP
        value: ('X') | ('R' << 8) | ('C' << 16) | ('P' << 24)
      - name: TYPE
        value: ('T') | ('Y' << 8) | ('P' << 16) | ('E' << 24)
      - name: XMKD
        value: ('X') | ('M' << 8) | ('K' << 16) | ('D' << 24)
      - name: XSEN
        value: ('X') | ('S' << 8) | ('E' << 16) | ('N' << 24)
      - name: STRU
        value: ('S') | ('T' << 8) | ('R' << 16) | ('U' << 24)
      - name: ABOR
        value: ('A') | ('B' << 8) | ('O' << 16) | ('R' << 24)
      - name: ALLO
        value: ('A') | ('L' << 8) | ('L' << 16) | ('O' << 24)
      - name: ACCT
        value: ('A') | ('C' << 8) | ('C' << 16) | ('T' << 24)
      - name: AUTH
        value: ('A') | ('U' << 8) | ('T' << 16) | ('H' << 24)
      - name: DSIZ
        value: ('D') | ('S' << 8) | ('I' << 16) | ('Z' << 24)
      - name: CWD
        value: ('C') | ('W' << 8) | ('D' << 16)
      - name: MFMT
        value: ('M') | ('F' << 8) | ('M' << 16) | ('T' << 24)
      - name: MLSD
        value: ('M') | ('L' << 8) | ('S' << 16) | ('D' << 24)
      - name: MLST
        value: ('M') | ('L' << 8) | ('S' << 16) | ('T' << 24)
      - name: NLST
        value: ('N') | ('L' << 8) | ('S' << 16) | ('T' << 24)
      - name: XSEM
        value: ('X') | ('S' << 8) | ('E' << 16) | ('M' << 24)
      - name: XRMD
        value: ('X') | ('R' << 8) | ('M' << 16) | ('D' << 24)
      - name: SIZE
        value: ('S') | ('I' << 8) | ('Z' << 16) | ('E' << 24)
      - name: XRSQ
        value: ('X') | ('R' << 8) | ('S' << 16) | ('Q' << 24)
      - name: CDUP
        value: ('C') | ('D' << 8) | ('U' << 16) | ('P' << 24)
      - name: ENC
        value: ('E') | ('N' << 8) | ('C' << 16)
      - name: EPSV
        value: ('E') | ('P' << 8) | ('S' << 16) | ('V' << 24)
      - name: HELP
        value: ('H') | ('E' << 8) | ('L' << 16) | ('P' << 24)
      - name: LIST
        value: ('L') | ('I' << 8) | ('S' << 16) | ('T' << 24)
      - name: LPSV
        value: ('L') | ('P' << 8) | ('S' << 16) | ('V' << 24)
      - name: MFCT
        value: ('M') | ('F' << 8) | ('C' << 16) | ('T' << 24)
      - name: MIC
        value: ('M') | ('I' << 8) | ('C' << 16)
      - name: OPTS
        value: ('O') | ('P' << 8) | ('T' << 16) | ('S' << 24)
      - name: PWD
        value: ('P') | ('W' << 8) | ('D' << 16)
      - name: REIN
        value: ('R') | ('E' << 8) | ('I' << 16) | ('N' << 24)
      - name: REST
        value: ('R') | ('E' << 8) | ('S' << 16) | ('T' << 24)
      - name: SMNT
        value: ('S') | ('M' << 8) | ('N' << 16) | ('T' << 24)
      - name: THMB
        value: ('T') | ('H' << 8) | ('M' << 16) | ('B' << 24)
      - name: RMD
        value: ('R') | ('M' << 8) | ('D' << 16)
      - name: PROT
        value: ('P') | ('R' << 8) | ('O' << 16) | ('T' << 24)
      - name: SITE
        value: ('S') | ('I' << 8) | ('T' << 16) | ('E' << 24)
      - name: XPWD
        value: ('X') | ('P' << 8) | ('W' << 16) | ('D' << 24)
      - name: UNK
      - name: ADAT
        value: ('A') | ('D' << 8) | ('A' << 16) | ('T' << 24)
      - name: APPE
        value: ('A') | ('P' << 8) | ('P' << 16) | ('E' << 24)
      - name: AVBL
        value: ('A') | ('V' << 8) | ('B' << 16) | ('L' << 24)
      - name: DELE
        value: ('D') | ('E' << 8) | ('L' << 16) | ('E' << 24)
      - name: MFF
        value: ('M') | ('F' << 8) | ('F' << 16)
      - name: MKD
        value: ('M') | ('K' << 8) | ('D' << 16)
      - name: MODE
        value: ('M') | ('O' << 8) | ('D' << 16) | ('E' << 24)
      - name: NOOP
        value: ('N') | ('O' << 8) | ('O' << 16) | ('P' << 24)
      - name: PASS
        value: ('P') | ('A' << 8) | ('S' << 16) | ('S' << 24)
      - name: PBSZ
        value: ('P') | ('B' << 8) | ('S' << 16) | ('Z' << 24)
      - name: PORT
        value: ('P') | ('O' << 8) | ('R' << 16) | ('T' << 24)
      - name: RNFR
        value: ('R') | ('N' << 8) | ('F' << 16) | ('R' << 24)
      - name: RNTO
        value: ('R') | ('N' << 8) | ('T' << 16) | ('O' << 24)
      - name: STOR
        value: ('S') | ('T' << 8) | ('O' << 16) | ('R' << 24)
      - name: STOU
        value: ('S') | ('T' << 8) | ('O' << 16) | ('U' << 24)
      - name: XCUP
        value: ('X') | ('C' << 8) | ('U' << 16) | ('P' << 24)
      - name: SPSV
        value: ('S') | ('P' << 8) | ('S' << 16) | ('V' << 24)
      - name: PASV
        value: ('P') | ('A' << 8) | ('S' << 16) | ('V' << 24)
      - name: RETR
        value: ('R') | ('E' << 8) | ('T' << 16) | ('R' << 24)
      - name: RMDA
        value: ('R') | ('M' << 8) | ('D' << 16) | ('A' << 24)
      - name: STAT
        value: ('S') | ('T' << 8) | ('A' << 16) | ('T' << 24)
      - name: USER
        value: ('U') | ('S' << 8) | ('E' << 16) | ('R' << 24)
      item_type: enum
      name: FtpCommand
      pos:
        line_end: 211
        line_start: 63
        source_file: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    - enumerators:
      - name: COMMAND_NOT_IMPLEMENTED
        value: '502'
      - name: FILE_UNAVAILABLE
        value: '550'
      - name: USER_OK_NEED_PASS_CHALLENGE
        value: '336'
      - name: SERVICE_NOT_AVAILABLE
        value: '421'
      - name: SEC_DATA_EXCHANGE_COMPLETE_SUCCESS
        value: '235'
      - name: CONNECTION_CLOSED
        value: '426'
      - name: COMMAND_NOT_IMPLEMENTED_FOR_PARAMETER
        value: '504'
      - name: EXCEED_STORAGE_ALLOCATION
        value: '552'
      - name: CONFIDENTIALITY_PROTECTED
        value: '633'
      - name: RESTART_MARKER
        value: '110'
      - name: DATA_ALREADY_OPEN_START_TRANSFER
        value: '125'
      - name: COMMAND_OK
        value: '200'
      - name: SYSTEM_STATUS
        value: '211'
      - name: FILE_STATUS
        value: '213'
      - name: SERVICE_CLOSING_CONTROL
        value: '221'
      - name: ENTERING_EXTENDED_PASSIVE
        value: '229'
      - name: NAME_SYSTEM_TYPE
        value: '215'
      - name: CLOSING_DATA
        value: '226'
      - name: USER_LOG_IN_AUTHORIZED
        value: '232'
      - name: USER_OK_NEED_PASSWORD
        value: '331'
      - name: NEED_UNAVAILABLE_RESOURCE_TO_SEC
        value: '431'
      - name: NEED_ACCOUNT_FOR_STORE_FILE
        value: '532'
      - name: CONFIDENTIALITY_AND_INTEGRITY_PROTECTED
        value: '632'
      - name: REQ_FILE_OK_COMPLETE
        value: '250'
      - name: SYNTAX_ERROR_COMMAND_UNRECOGNIZED
        value: '500'
      - name: REQ_PROT_LEVEL_NOT_SUPPORTED
        value: '536'
      - name: REQ_SEC_MECHANISM_OK
        value: '334'
      - name: REQ_ACTION_ABORTED
        value: '451'
      - name: REQUEST_DENIED
        value: '534'
      - name: FILE_PENDING_ACTION
        value: '350'
      - name: BAD_SEQUENCE_COMMANDS
        value: '503'
      - name: COMMAND_PROTECTION_LEVEL_NOT_SUPPORTED
        value: '537'
      - name: SEC_IS_ACCEPTABLE
        value: '335'
      - name: SYNTAX_ERROR_PARAMETER_OR_ARGUMENT
        value: '501'
      - name: FILENAME_NOT_ALLOWED
        value: '553'
      - name: CANT_OPEN_DATA_CONNECTION
        value: '425'
      - name: NETWORK_PROTOCOL_NOT_SUPPORTED
        value: '522'
      - name: COMMAND_PROTECTION_DENIED
        value: '533'
      - name: SEC_DATA_EXCHANGE_COMPLETE
        value: '234'
      - name: PAGE_TYPE_UNKNOWN
        value: '551'
      - name: UNKNOWN
      - name: FILE_OK
        value: '150'
      - name: SERVICE_READY_IN_MIN
        value: '120'
      - name: COMMAND_NOT_IMPLEMENTED_SUPERFLUOUS
        value: '202'
      - name: DIR_STATUS
        value: '212'
      - name: SERVICE_READY_FOR_USER
        value: '220'
      - name: USER_LOG_IN_PROCEED
        value: '230'
      - name: ENTERING_PASSIVE
        value: '227'
      - name: HELP_MESSAGE
        value: '214'
      - name: DATA_OPEN_NO_TRANSFER
        value: '225'
      - name: PATHNAME_CREATED
        value: '257'
      - name: REQ_FILE_ACTION_NOT_TAKEN
        value: '450'
      - name: NOT_LOGGED_IN
        value: '530'
      - name: INTEGRITY_PROTECTED
        value: '631'
      - name: FAILED_SEC_CHECK
        value: '535'
      - name: NEED_ACCOUNT
        value: '332'
      - name: REQ_ACTION_NOT_TAKEN
        value: '452'
      item_type: enum
      name: FtpStatusCode
      pos:
        line_end: 387
        line_start: 271
        source_file: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    - enumerators:
      - name: CCC
        value: ('C') | ('C' << 8) | ('C' << 16)
      - name: CSID
        value: ('C') | ('S' << 8) | ('I' << 16) | ('D' << 24)
      - name: FEAT
        value: ('F') | ('E' << 8) | ('A' << 16) | ('T' << 24)
      - name: EPRT
        value: ('E') | ('P' << 8) | ('R' << 16) | ('T' << 24)
      - name: CONF
        value: ('C') | ('O' << 8) | ('N' << 16) | ('F' << 24)
      - name: HOST
        value: ('H') | ('O' << 8) | ('S' << 16) | ('T' << 24)
      - name: LANG
        value: ('L') | ('A' << 8) | ('N' << 16) | ('G' << 24)
      - name: LPRT
        value: ('L') | ('P' << 8) | ('R' << 16) | ('T' << 24)
      - name: MDTM
        value: ('M') | ('D' << 8) | ('T' << 16) | ('M' << 24)
      - name: QUIT
        value: ('Q') | ('U' << 8) | ('I' << 16) | ('T' << 24)
      - name: SYST
        value: ('S') | ('Y' << 8) | ('S' << 16) | ('T' << 24)
      - name: XRCP
        value: ('X') | ('R' << 8) | ('C' << 16) | ('P' << 24)
      - name: TYPE
        value: ('T') | ('Y' << 8) | ('P' << 16) | ('E' << 24)
      - name: XMKD
        value: ('X') | ('M' << 8) | ('K' << 16) | ('D' << 24)
      - name: XSEN
        value: ('X') | ('S' << 8) | ('E' << 16) | ('N' << 24)
      - name: STRU
        value: ('S') | ('T' << 8) | ('R' << 16) | ('U' << 24)
      - name: ABOR
        value: ('A') | ('B' << 8) | ('O' << 16) | ('R' << 24)
      - name: ALLO
        value: ('A') | ('L' << 8) | ('L' << 16) | ('O' << 24)
      - name: ACCT
        value: ('A') | ('C' << 8) | ('C' << 16) | ('T' << 24)
      - name: AUTH
        value: ('A') | ('U' << 8) | ('T' << 16) | ('H' << 24)
      - name: DSIZ
        value: ('D') | ('S' << 8) | ('I' << 16) | ('Z' << 24)
      - name: CWD
        value: ('C') | ('W' << 8) | ('D' << 16)
      - name: MFMT
        value: ('M') | ('F' << 8) | ('M' << 16) | ('T' << 24)
      - name: MLSD
        value: ('M') | ('L' << 8) | ('S' << 16) | ('D' << 24)
      - name: MLST
        value: ('M') | ('L' << 8) | ('S' << 16) | ('T' << 24)
      - name: NLST
        value: ('N') | ('L' << 8) | ('S' << 16) | ('T' << 24)
      - name: XSEM
        value: ('X') | ('S' << 8) | ('E' << 16) | ('M' << 24)
      - name: XRMD
        value: ('X') | ('R' << 8) | ('M' << 16) | ('D' << 24)
      - name: SIZE
        value: ('S') | ('I' << 8) | ('Z' << 16) | ('E' << 24)
      - name: XRSQ
        value: ('X') | ('R' << 8) | ('S' << 16) | ('Q' << 24)
      - name: CDUP
        value: ('C') | ('D' << 8) | ('U' << 16) | ('P' << 24)
      - name: ENC
        value: ('E') | ('N' << 8) | ('C' << 16)
      - name: EPSV
        value: ('E') | ('P' << 8) | ('S' << 16) | ('V' << 24)
      - name: HELP
        value: ('H') | ('E' << 8) | ('L' << 16) | ('P' << 24)
      - name: LIST
        value: ('L') | ('I' << 8) | ('S' << 16) | ('T' << 24)
      - name: LPSV
        value: ('L') | ('P' << 8) | ('S' << 16) | ('V' << 24)
      - name: MFCT
        value: ('M') | ('F' << 8) | ('C' << 16) | ('T' << 24)
      - name: MIC
        value: ('M') | ('I' << 8) | ('C' << 16)
      - name: OPTS
        value: ('O') | ('P' << 8) | ('T' << 16) | ('S' << 24)
      - name: PWD
        value: ('P') | ('W' << 8) | ('D' << 16)
      - name: REIN
        value: ('R') | ('E' << 8) | ('I' << 16) | ('N' << 24)
      - name: REST
        value: ('R') | ('E' << 8) | ('S' << 16) | ('T' << 24)
      - name: SMNT
        value: ('S') | ('M' << 8) | ('N' << 16) | ('T' << 24)
      - name: THMB
        value: ('T') | ('H' << 8) | ('M' << 16) | ('B' << 24)
      - name: RMD
        value: ('R') | ('M' << 8) | ('D' << 16)
      - name: PROT
        value: ('P') | ('R' << 8) | ('O' << 16) | ('T' << 24)
      - name: SITE
        value: ('S') | ('I' << 8) | ('T' << 16) | ('E' << 24)
      - name: XPWD
        value: ('X') | ('P' << 8) | ('W' << 16) | ('D' << 24)
      - name: UNK
      - name: ADAT
        value: ('A') | ('D' << 8) | ('A' << 16) | ('T' << 24)
      - name: APPE
        value: ('A') | ('P' << 8) | ('P' << 16) | ('E' << 24)
      - name: AVBL
        value: ('A') | ('V' << 8) | ('B' << 16) | ('L' << 24)
      - name: DELE
        value: ('D') | ('E' << 8) | ('L' << 16) | ('E' << 24)
      - name: MFF
        value: ('M') | ('F' << 8) | ('F' << 16)
      - name: MKD
        value: ('M') | ('K' << 8) | ('D' << 16)
      - name: MODE
        value: ('M') | ('O' << 8) | ('D' << 16) | ('E' << 24)
      - name: NOOP
        value: ('N') | ('O' << 8) | ('O' << 16) | ('P' << 24)
      - name: PASS
        value: ('P') | ('A' << 8) | ('S' << 16) | ('S' << 24)
      - name: PBSZ
        value: ('P') | ('B' << 8) | ('S' << 16) | ('Z' << 24)
      - name: PORT
        value: ('P') | ('O' << 8) | ('R' << 16) | ('T' << 24)
      - name: RNFR
        value: ('R') | ('N' << 8) | ('F' << 16) | ('R' << 24)
      - name: RNTO
        value: ('R') | ('N' << 8) | ('T' << 16) | ('O' << 24)
      - name: STOR
        value: ('S') | ('T' << 8) | ('O' << 16) | ('R' << 24)
      - name: STOU
        value: ('S') | ('T' << 8) | ('O' << 16) | ('U' << 24)
      - name: XCUP
        value: ('X') | ('C' << 8) | ('U' << 16) | ('P' << 24)
      - name: SPSV
        value: ('S') | ('P' << 8) | ('S' << 16) | ('V' << 24)
      - name: PASV
        value: ('P') | ('A' << 8) | ('S' << 16) | ('V' << 24)
      - name: RETR
        value: ('R') | ('E' << 8) | ('T' << 16) | ('R' << 24)
      - name: RMDA
        value: ('R') | ('M' << 8) | ('D' << 16) | ('A' << 24)
      - name: STAT
        value: ('S') | ('T' << 8) | ('A' << 16) | ('T' << 24)
      - name: USER
        value: ('U') | ('S' << 8) | ('E' << 16) | ('R' << 24)
      item_type: enum
      name: FtpCommand
      pos:
        line_end: 211
        line_start: 63
        source_file: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    - enumerators:
      - name: COMMAND_NOT_IMPLEMENTED
        value: '502'
      - name: FILE_UNAVAILABLE
        value: '550'
      - name: USER_OK_NEED_PASS_CHALLENGE
        value: '336'
      - name: SERVICE_NOT_AVAILABLE
        value: '421'
      - name: SEC_DATA_EXCHANGE_COMPLETE_SUCCESS
        value: '235'
      - name: CONNECTION_CLOSED
        value: '426'
      - name: COMMAND_NOT_IMPLEMENTED_FOR_PARAMETER
        value: '504'
      - name: EXCEED_STORAGE_ALLOCATION
        value: '552'
      - name: CONFIDENTIALITY_PROTECTED
        value: '633'
      - name: RESTART_MARKER
        value: '110'
      - name: DATA_ALREADY_OPEN_START_TRANSFER
        value: '125'
      - name: COMMAND_OK
        value: '200'
      - name: SYSTEM_STATUS
        value: '211'
      - name: FILE_STATUS
        value: '213'
      - name: SERVICE_CLOSING_CONTROL
        value: '221'
      - name: ENTERING_EXTENDED_PASSIVE
        value: '229'
      - name: NAME_SYSTEM_TYPE
        value: '215'
      - name: CLOSING_DATA
        value: '226'
      - name: USER_LOG_IN_AUTHORIZED
        value: '232'
      - name: USER_OK_NEED_PASSWORD
        value: '331'
      - name: NEED_UNAVAILABLE_RESOURCE_TO_SEC
        value: '431'
      - name: NEED_ACCOUNT_FOR_STORE_FILE
        value: '532'
      - name: CONFIDENTIALITY_AND_INTEGRITY_PROTECTED
        value: '632'
      - name: REQ_FILE_OK_COMPLETE
        value: '250'
      - name: SYNTAX_ERROR_COMMAND_UNRECOGNIZED
        value: '500'
      - name: REQ_PROT_LEVEL_NOT_SUPPORTED
        value: '536'
      - name: REQ_SEC_MECHANISM_OK
        value: '334'
      - name: REQ_ACTION_ABORTED
        value: '451'
      - name: REQUEST_DENIED
        value: '534'
      - name: FILE_PENDING_ACTION
        value: '350'
      - name: BAD_SEQUENCE_COMMANDS
        value: '503'
      - name: COMMAND_PROTECTION_LEVEL_NOT_SUPPORTED
        value: '537'
      - name: SEC_IS_ACCEPTABLE
        value: '335'
      - name: SYNTAX_ERROR_PARAMETER_OR_ARGUMENT
        value: '501'
      - name: FILENAME_NOT_ALLOWED
        value: '553'
      - name: CANT_OPEN_DATA_CONNECTION
        value: '425'
      - name: NETWORK_PROTOCOL_NOT_SUPPORTED
        value: '522'
      - name: COMMAND_PROTECTION_DENIED
        value: '533'
      - name: SEC_DATA_EXCHANGE_COMPLETE
        value: '234'
      - name: PAGE_TYPE_UNKNOWN
        value: '551'
      - name: UNKNOWN
      - name: FILE_OK
        value: '150'
      - name: SERVICE_READY_IN_MIN
        value: '120'
      - name: COMMAND_NOT_IMPLEMENTED_SUPERFLUOUS
        value: '202'
      - name: DIR_STATUS
        value: '212'
      - name: SERVICE_READY_FOR_USER
        value: '220'
      - name: USER_LOG_IN_PROCEED
        value: '230'
      - name: ENTERING_PASSIVE
        value: '227'
      - name: HELP_MESSAGE
        value: '214'
      - name: DATA_OPEN_NO_TRANSFER
        value: '225'
      - name: PATHNAME_CREATED
        value: '257'
      - name: REQ_FILE_ACTION_NOT_TAKEN
        value: '450'
      - name: NOT_LOGGED_IN
        value: '530'
      - name: INTEGRITY_PROTECTED
        value: '631'
      - name: FAILED_SEC_CHECK
        value: '535'
      - name: NEED_ACCOUNT
        value: '332'
      - name: REQ_ACTION_NOT_TAKEN
        value: '452'
      item_type: enum
      name: FtpStatusCode
      pos:
        line_end: 387
        line_start: 271
        source_file: /src/PcapPlusPlus/Packet++/header/FtpLayer.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::TelnetLayer::TelnetLayer
  - pcpp::TelnetLayer::isTelnetPort
  - pcpp::TelnetLayer::isDataValid
  - pcpp::TelnetLayer::parseNextLayer
  - pcpp::TelnetLayer::getHeaderLen
  - pcpp::TelnetLayer::computeCalculateFields
  - pcpp::TelnetLayer::getOsiModelLayer
  - pcpp::TelnetLayer::TelnetLayer
  - pcpp::TelnetLayer::isTelnetPort
  - pcpp::TelnetLayer::isDataValid
  - pcpp::TelnetLayer::parseNextLayer
  - pcpp::TelnetLayer::getHeaderLen
  - pcpp::TelnetLayer::computeCalculateFields
  - pcpp::TelnetLayer::getOsiModelLayer
  source_file: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
  types:
    enum:
    - enumerators:
      - name: TelnetCommandEndOfPacket
        value: '-1'
      - name: Suspend
      - name: EndOfRecordCommand
      - name: NoOperation
      - name: Break
      - name: AbortOutput
      - name: GoAhead
      - name: WillPerform
      - name: DoPerform
      - name: EraseCharacter
      - name: InterpretAsCommand
      - name: EndOfFile
        value: '236'
      - name: Abort
      - name: SubnegotiationEnd
      - name: DataMark
      - name: InterruptProcess
      - name: AreYouThere
      - name: Subnegotiation
      - name: EraseLine
      - name: WontPerform
      - name: DontPerform
      item_type: enum
      name: TelnetCommand
      pos:
        line_end: 88
        line_start: 32
        source_file: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    - enumerators:
      - name: Reconnection
      - name: TransmitBinary
        value: '0'
      - name: ApproxMsgSizeNegotiation
      - name: TimingMark
      - name: OutputLineWidth
      - name: OutputHorizontalTabDisposition
      - name: OutputCarriageReturnDisposition
      - name: OutputLinefeedDisposition
      - name: OutputVerticalTabStops
      - name: Logout
      - name: ByteMacro
      - name: TerminalLocationNumber
      - name: NewEnvironmentOption
      - name: TACACSUserIdentification
      - name: AuthenticationOption
      - name: SendURL
      - name: TelnetStartTLS
      - name: Linemode
      - name: TelnetSuppressLocalEcho
      - name: SendLocation
      - name: SUPDUP
      - name: TerminalSpeed
      - name: TelnetRemoteSerialPort
      - name: X3Pad
      - name: XAuth
      - name: TelOptPragmaHeartbeat
      - name: TelnetOptionNoOption
        value: '-1'
      - name: Echo
      - name: SuppressGoAhead
      - name: Status
      - name: RemoteControlledTransAndEcho
      - name: OutputFormfeedDisposition
      - name: ExtendedASCII
      - name: OutputHorizontalTabStops
      - name: OutputPageSize
      - name: OutputVerticalTabDisposition
      - name: Telnet3270Regime
      - name: EncryptionOption
      - name: TN3270E
      - name: ForwardX
      - name: TelOptSSPILogon
      - name: OutputMarking
      - name: TelOptPragmaLogon
        value: '138'
      - name: EndOfRecordOption
      - name: EnvironmentOption
      - name: Kermit
      - name: TerminalType
      - name: XDisplayLocation
      - name: SUPDUPOutput
      - name: RemoteFlowControl
      - name: ExtendedOptions
        value: '255'
      - name: ComPortControlOption
      - name: Charset
      - name: DataEntryTerminal
      - name: NegotiateAboutWindowSize
      item_type: enum
      name: TelnetOption
      pos:
        line_end: 206
        line_start: 91
        source_file: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    - enumerators:
      - name: TelnetCommandEndOfPacket
        value: '-1'
      - name: Suspend
      - name: EndOfRecordCommand
      - name: NoOperation
      - name: Break
      - name: AbortOutput
      - name: GoAhead
      - name: WillPerform
      - name: DoPerform
      - name: EraseCharacter
      - name: InterpretAsCommand
      - name: EndOfFile
        value: '236'
      - name: Abort
      - name: SubnegotiationEnd
      - name: DataMark
      - name: InterruptProcess
      - name: AreYouThere
      - name: Subnegotiation
      - name: EraseLine
      - name: WontPerform
      - name: DontPerform
      item_type: enum
      name: TelnetCommand
      pos:
        line_end: 88
        line_start: 32
        source_file: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    - enumerators:
      - name: Reconnection
      - name: TransmitBinary
        value: '0'
      - name: ApproxMsgSizeNegotiation
      - name: TimingMark
      - name: OutputLineWidth
      - name: OutputHorizontalTabDisposition
      - name: OutputCarriageReturnDisposition
      - name: OutputLinefeedDisposition
      - name: OutputVerticalTabStops
      - name: Logout
      - name: ByteMacro
      - name: TerminalLocationNumber
      - name: NewEnvironmentOption
      - name: TACACSUserIdentification
      - name: AuthenticationOption
      - name: SendURL
      - name: TelnetStartTLS
      - name: Linemode
      - name: TelnetSuppressLocalEcho
      - name: SendLocation
      - name: SUPDUP
      - name: TerminalSpeed
      - name: TelnetRemoteSerialPort
      - name: X3Pad
      - name: XAuth
      - name: TelOptPragmaHeartbeat
      - name: TelnetOptionNoOption
        value: '-1'
      - name: Echo
      - name: SuppressGoAhead
      - name: Status
      - name: RemoteControlledTransAndEcho
      - name: OutputFormfeedDisposition
      - name: ExtendedASCII
      - name: OutputHorizontalTabStops
      - name: OutputPageSize
      - name: OutputVerticalTabDisposition
      - name: Telnet3270Regime
      - name: EncryptionOption
      - name: TN3270E
      - name: ForwardX
      - name: TelOptSSPILogon
      - name: OutputMarking
      - name: TelOptPragmaLogon
        value: '138'
      - name: EndOfRecordOption
      - name: EnvironmentOption
      - name: Kermit
      - name: TerminalType
      - name: XDisplayLocation
      - name: SUPDUPOutput
      - name: RemoteFlowControl
      - name: ExtendedOptions
        value: '255'
      - name: ComPortControlOption
      - name: Charset
      - name: DataEntryTerminal
      - name: NegotiateAboutWindowSize
      item_type: enum
      name: TelnetOption
      pos:
        line_end: 206
        line_start: 91
        source_file: /src/PcapPlusPlus/Packet++/header/TelnetLayer.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~SdpLayer() override
  - pcpp::SdpLayer::SdpLayer
  - '& operator=(const SdpLayer& other)'
  - pcpp::SdpLayer::getOsiModelLayer
  - pcpp::SdpLayer::getHeaderFieldNameValueSeparator
  - pcpp::SdpLayer::spacesAllowedBetweenHeaderFieldNameAndValue
  - ~SdpLayer() override
  - pcpp::SdpLayer::SdpLayer
  - '& operator=(const SdpLayer& other)'
  - pcpp::SdpLayer::getOsiModelLayer
  - pcpp::SdpLayer::getHeaderFieldNameValueSeparator
  - pcpp::SdpLayer::spacesAllowedBetweenHeaderFieldNameAndValue
  source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCPP_SDP_PROTOCOL_VERSION_FIELD
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"v"'
    - item_type: preproc_def
      name: PCPP_SDP_ORIGINATOR_FIELD
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"o"'
    - item_type: preproc_def
      name: PCPP_SDP_SESSION_NAME_FIELD
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"s"'
    - item_type: preproc_def
      name: PCPP_SDP_INFO_FIELD
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"i"'
    - item_type: preproc_def
      name: PCPP_SDP_URI_FIELD
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"u"'
    - item_type: preproc_def
      name: PCPP_SDP_EMAIL_FIELD
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"e"'
    - item_type: preproc_def
      name: PCPP_SDP_PHONE_FIELD
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"p"'
    - item_type: preproc_def
      name: PCPP_SDP_CONNECTION_INFO_FIELD
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"c"'
    - item_type: preproc_def
      name: PCPP_SDP_BANDWIDTH_FIELD
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: PCPP_SDP_TIME_FIELD
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"t"'
    - item_type: preproc_def
      name: PCPP_SDP_REPEAT_TIMES_FIELD
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"r"'
    - item_type: preproc_def
      name: PCPP_SDP_TIME_ZONE_FIELD
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"z"'
    - item_type: preproc_def
      name: PCPP_SDP_ENCRYPTION_KEY_FIELD
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"k"'
    - item_type: preproc_def
      name: PCPP_SDP_MEDIA_ATTRIBUTE_FIELD
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"a"'
    - item_type: preproc_def
      name: PCPP_SDP_MEDIA_NAME_FIELD
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"m"'
    - item_type: preproc_def
      name: PCPP_SDP_PROTOCOL_VERSION_FIELD
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"v"'
    - item_type: preproc_def
      name: PCPP_SDP_ORIGINATOR_FIELD
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"o"'
    - item_type: preproc_def
      name: PCPP_SDP_SESSION_NAME_FIELD
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"s"'
    - item_type: preproc_def
      name: PCPP_SDP_INFO_FIELD
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"i"'
    - item_type: preproc_def
      name: PCPP_SDP_URI_FIELD
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"u"'
    - item_type: preproc_def
      name: PCPP_SDP_EMAIL_FIELD
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"e"'
    - item_type: preproc_def
      name: PCPP_SDP_PHONE_FIELD
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"p"'
    - item_type: preproc_def
      name: PCPP_SDP_CONNECTION_INFO_FIELD
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"c"'
    - item_type: preproc_def
      name: PCPP_SDP_BANDWIDTH_FIELD
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"b"'
    - item_type: preproc_def
      name: PCPP_SDP_TIME_FIELD
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"t"'
    - item_type: preproc_def
      name: PCPP_SDP_REPEAT_TIMES_FIELD
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"r"'
    - item_type: preproc_def
      name: PCPP_SDP_TIME_ZONE_FIELD
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"z"'
    - item_type: preproc_def
      name: PCPP_SDP_ENCRYPTION_KEY_FIELD
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"k"'
    - item_type: preproc_def
      name: PCPP_SDP_MEDIA_ATTRIBUTE_FIELD
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"a"'
    - item_type: preproc_def
      name: PCPP_SDP_MEDIA_NAME_FIELD
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PcapPlusPlus/Packet++/header/SdpLayer.h
      type_or_value: '"m"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::MplsLayer::getMplsHeader
  - pcpp::MplsLayer::MplsLayer
  - ~MplsLayer() override
  - pcpp::MplsLayer::getTTL
  - pcpp::MplsLayer::setTTL
  - pcpp::MplsLayer::getHeaderLen
  - pcpp::MplsLayer::getOsiModelLayer
  - pcpp::MplsLayer::isDataValid
  - pcpp::MplsLayer::getMplsHeader
  - pcpp::MplsLayer::MplsLayer
  - ~MplsLayer() override
  - pcpp::MplsLayer::getTTL
  - pcpp::MplsLayer::setTTL
  - pcpp::MplsLayer::getHeaderLen
  - pcpp::MplsLayer::getOsiModelLayer
  - pcpp::MplsLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: hiLabel
        type: uint16_t
      - name: misc
        type: uint8_t
      - name: ttl
        type: uint8_t
      item_type: struct
      name: mpls_header
      pos:
        line_end: 21
        line_start: 16
        source_file: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    - fields:
      - name: hiLabel
        type: uint16_t
      - name: misc
        type: uint8_t
      - name: ttl
        type: uint8_t
      item_type: struct
      name: mpls_header
      pos:
        line_end: 21
        line_start: 16
        source_file: /src/PcapPlusPlus/Packet++/header/MplsLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::SomeIpLayer::SomeIpLayer
  - ~SomeIpLayer() override
  - pcpp::SomeIpLayer::getSomeIpHeader
  - pcpp::SomeIpLayer::getPduPayload
  - pcpp::SomeIpLayer::getPduPayloadSize
  - pcpp::SomeIpLayer::getHeaderLen
  - pcpp::SomeIpLayer::computeCalculateFields
  - pcpp::SomeIpLayer::getOsiModelLayer
  - pcpp::SomeIpLayer::SomeIpLayer
  - pcpp::SomeIpLayer::getSomeIpHeaderLen
  - pcpp::SomeIpTpLayer::SomeIpTpLayer
  - ~SomeIpTpLayer() override
  - pcpp::SomeIpTpLayer::getSomeIpTpHeader
  - pcpp::SomeIpTpLayer::getSomeIpHeaderLen
  - pcpp::SomeIpLayer::SomeIpLayer
  - ~SomeIpLayer() override
  - pcpp::SomeIpLayer::getSomeIpHeader
  - pcpp::SomeIpLayer::getPduPayload
  - pcpp::SomeIpLayer::getPduPayloadSize
  - pcpp::SomeIpLayer::getHeaderLen
  - pcpp::SomeIpLayer::computeCalculateFields
  - pcpp::SomeIpLayer::getOsiModelLayer
  - pcpp::SomeIpLayer::SomeIpLayer
  - pcpp::SomeIpLayer::getSomeIpHeaderLen
  - pcpp::SomeIpTpLayer::SomeIpTpLayer
  - ~SomeIpTpLayer() override
  - pcpp::SomeIpTpLayer::getSomeIpTpHeader
  - pcpp::SomeIpTpLayer::getSomeIpHeaderLen
  source_file: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
  types:
    enum:
    - enumerators:
      - name: REQUEST
        value: '0x00'
      - name: NOTIFICATION
        value: '0x02'
      - name: REQUEST_NO_RETURN_ACK
        value: '0x41'
      - name: REQUEST_NO_RETURN
        value: '0x01'
      - name: REQUEST_ACK
        value: '0x40'
      - name: NOTIFICATION_ACK
        value: '0x42'
      - name: RESPONSE
        value: '0x80'
      - name: RESPONSE_ACK
        value: '0xC0'
      - name: ERRORS
        value: '0x81'
      - name: ERROR_ACK
        value: '0xC1'
      - name: TP_REQUEST_NO_RETURN
        value: '0x21'
      - name: TP_NOTIFICATION
        value: '0x22'
      - name: TP_RESPONSE
        value: '0xa0'
      - name: TP_ERROR
        value: '0xa1'
      - name: TP_REQUEST
        value: '0x20'
      item_type: enum
      name: MsgType
      pos:
        line_end: 49
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    - enumerators:
      - name: REQUEST
        value: '0x00'
      - name: NOTIFICATION
        value: '0x02'
      - name: REQUEST_NO_RETURN_ACK
        value: '0x41'
      - name: REQUEST_NO_RETURN
        value: '0x01'
      - name: REQUEST_ACK
        value: '0x40'
      - name: NOTIFICATION_ACK
        value: '0x42'
      - name: RESPONSE
        value: '0x80'
      - name: RESPONSE_ACK
        value: '0xC0'
      - name: ERRORS
        value: '0x81'
      - name: ERROR_ACK
        value: '0xC1'
      - name: TP_REQUEST_NO_RETURN
        value: '0x21'
      - name: TP_NOTIFICATION
        value: '0x22'
      - name: TP_RESPONSE
        value: '0xa0'
      - name: TP_ERROR
        value: '0xa1'
      - name: TP_REQUEST
        value: '0x20'
      item_type: enum
      name: MsgType
      pos:
        line_end: 49
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: serviceID
        type: uint16_t
      - name: methodID
        type: uint16_t
      - name: length
        type: uint32_t
      - name: clientID
        type: uint16_t
      - name: sessionID
        type: uint16_t
      - name: protocolVersion
        type: uint8_t
      - name: interfaceVersion
        type: uint8_t
      - name: msgType
        type: uint8_t
      - name: returnCode
        type: uint8_t
      item_type: struct
      name: someiphdr
      pos:
        line_end: 74
        line_start: 54
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    - fields:
      - name: offsetAndFlag
        type: uint32_t
      item_type: struct
      name: someiptphdr
      pos:
        line_end: 299
        line_start: 294
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    - fields:
      - name: serviceID
        type: uint16_t
      - name: methodID
        type: uint16_t
      - name: length
        type: uint32_t
      - name: clientID
        type: uint16_t
      - name: sessionID
        type: uint16_t
      - name: protocolVersion
        type: uint8_t
      - name: interfaceVersion
        type: uint8_t
      - name: msgType
        type: uint8_t
      - name: returnCode
        type: uint8_t
      item_type: struct
      name: someiphdr
      pos:
        line_end: 74
        line_start: 54
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    - fields:
      - name: offsetAndFlag
        type: uint32_t
      item_type: struct
      name: someiptphdr
      pos:
        line_end: 299
        line_start: 294
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::SipLayer::getOsiModelLayer
  - pcpp::SipLayer::isSipPort
  - pcpp::SipLayer::SipLayer
  - pcpp::SipLayer::SipLayer
  - pcpp::SipLayer::SipLayer
  - '& operator=(const SipLayer& other)'
  - pcpp::SipLayer::getHeaderFieldNameValueSeparator
  - pcpp::SipLayer::spacesAllowedBetweenHeaderFieldNameAndValue
  - pcpp::SipRequestLayer::getFirstLine
  - pcpp::SipResponseLayer::getFirstLine
  - pcpp::SipRequestFirstLine::getMethod
  - pcpp::SipRequestFirstLine::getVersion
  - pcpp::SipRequestFirstLine::getSize
  - pcpp::SipRequestFirstLine::isComplete
  - ~SipRequestFirstLineException() noexcept
  - pcpp::SipRequestFirstLine::SipRequestFirstLineException::setMessage
  - pcpp::SipRequestFirstLine::SipRequestFirstLineException::what
  - pcpp::SipResponseFirstLine::getStatusCode
  - pcpp::SipResponseFirstLine::getVersion
  - pcpp::SipResponseFirstLine::getSize
  - pcpp::SipResponseFirstLine::isComplete
  - ~SipResponseFirstLineException() noexcept
  - pcpp::SipResponseFirstLine::SipResponseFirstLineException::setMessage
  - pcpp::SipResponseFirstLine::SipResponseFirstLineException::what
  - pcpp::SipLayer::getOsiModelLayer
  - pcpp::SipLayer::isSipPort
  - pcpp::SipLayer::SipLayer
  - pcpp::SipLayer::SipLayer
  - pcpp::SipLayer::SipLayer
  - '& operator=(const SipLayer& other)'
  - pcpp::SipLayer::getHeaderFieldNameValueSeparator
  - pcpp::SipLayer::spacesAllowedBetweenHeaderFieldNameAndValue
  - pcpp::SipRequestLayer::getFirstLine
  - pcpp::SipResponseLayer::getFirstLine
  - pcpp::SipRequestFirstLine::getMethod
  - pcpp::SipRequestFirstLine::getVersion
  - pcpp::SipRequestFirstLine::getSize
  - pcpp::SipRequestFirstLine::isComplete
  - ~SipRequestFirstLineException() noexcept
  - pcpp::SipRequestFirstLine::SipRequestFirstLineException::setMessage
  - pcpp::SipRequestFirstLine::SipRequestFirstLineException::what
  - pcpp::SipResponseFirstLine::getStatusCode
  - pcpp::SipResponseFirstLine::getVersion
  - pcpp::SipResponseFirstLine::getSize
  - pcpp::SipResponseFirstLine::isComplete
  - ~SipResponseFirstLineException() noexcept
  - pcpp::SipResponseFirstLine::SipResponseFirstLineException::setMessage
  - pcpp::SipResponseFirstLine::SipResponseFirstLineException::what
  source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
  types:
    enum:
    - enumerators:
      - name: Unknown
        value: '0'
      - name: Response
        value: '2'
      - name: Request
        value: '1'
      item_type: enum
      name: SipParseResult
      pos:
        line_end: 168
        line_start: 163
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    - enumerators:
      - name: SipINVITE
      - name: SipREGISTER
      - name: SipACK
      - name: SipBYE
      - name: SipCANCEL
      - name: SipPRACK
      - name: SipOPTIONS
      - name: SipSUBSCRIBE
      - name: SipNOTIFY
      - name: SipPUBLISH
      - name: SipINFO
      - name: SipMESSAGE
      - name: SipREFER
      - name: SipMethodUnknown
      - name: SipUPDATE
      item_type: enum
      name: SipMethod
      pos:
        line_end: 220
        line_start: 188
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    - enumerators:
      - name: Sip200OK
      - name: Sip400BadRequest
      - name: Sip428UseIdentityHeader
      - name: Sip491RequestPending
      - name: Sip416UnsupportedURIScheme
      - name: Sip482LoopDetected
      - name: Sip607Unwanted
      - name: Sip505VersionNotSupported
      - name: Sip408RequestTimeout
      - name: Sip437UnsupportedCertificate
      - name: Sip413RequestEntityTooLarge
      - name: Sip470ConsentNeeded
      - name: Sip430FlowFailed
      - name: Sip502BadGateway
      - name: Sip182Queued
      - name: Sip302MovedTemporarily
      - name: Sip405MethodNotAllowed
      - name: Sip423IntervalTooBrief
      - name: Sip487RequestTerminated
      - name: Sip603Decline
      - name: Sip100Trying
      - name: Sip204NoNotification
      - name: Sip402PaymentRequired
      - name: Sip420BadExtension
      - name: Sip484AddressIncomplete
      - name: Sip410Gone
      - name: Sip439FirstHopLacksOutboundSupport
      - name: Sip555PushNotificationServiceNotSupported
      - name: Sip494SecurityAgreementRequired
      - name: Sip504ServerTimeout
      - name: Sip407ProxyAuthenticationRequired
      - name: Sip436BadIdentityInfo
      - name: Sip199EarlyDialogTerminated
      - name: Sip380AlternativeService
      - name: Sip425BadAlertMessage
      - name: Sip489BadEvent
      - name: Sip415UnsupportedMediaType
      - name: Sip481Call_TransactionDoesNotExist
      - name: Sip606NotAcceptable
      - name: Sip181CallisBeingForwarded
      - name: Sip301MovedPermanently
      - name: Sip404NotFound
      - name: Sip422SessionIntervalTooSmall
      - name: Sip486BusyHere
      - name: Sip412ConditionalRequestFailed
      - name: Sip469BadInfoPackage
      - name: Sip600BusyEverywhere
      - name: Sip501NotImplemented
      - name: Sip513MessageTooLarge
      - name: Sip409Conflict
      - name: Sip438InvalidIdentityHeader
      - name: Sip202Accepted
      - name: Sip401Unauthorized
      - name: Sip429ProvideReferrerIdentity
      - name: Sip493Undecipherable
      - name: Sip417UnknownResourcePriority
      - name: Sip483TooManyHops
      - name: Sip608Rejected
      - name: Sip183SessioninProgress
      - name: Sip305UseProxy
      - name: Sip424BadLocationInformation
      - name: Sip488NotAcceptableHere
      - name: Sip604DoesNotExistAnywhere
      - name: Sip414RequestURITooLong
      - name: Sip480TemporarilyUnavailable
      - name: Sip406NotAcceptable
      - name: Sip433AnonymityDisallowed
      - name: Sip503ServiceUnavailable
      - name: Sip485Ambiguous
      - name: Sip411LengthRequired
      - name: Sip440MaxBreadthExceeded
      - name: Sip580PreconditionFailure
      - name: Sip500ServerInternalError
      - name: Sip180Ringing
      - name: Sip300MultipleChoices
      - name: Sip403Forbidden
      - name: Sip421ExtensionRequired
      - name: SipStatusCodeUnknown
      item_type: enum
      name: SipResponseStatusCode
      pos:
        line_end: 472
        line_start: 278
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    - enumerators:
      - name: Unknown
        value: '0'
      - name: Response
        value: '2'
      - name: Request
        value: '1'
      item_type: enum
      name: SipParseResult
      pos:
        line_end: 168
        line_start: 163
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    - enumerators:
      - name: SipINVITE
      - name: SipREGISTER
      - name: SipACK
      - name: SipBYE
      - name: SipCANCEL
      - name: SipPRACK
      - name: SipOPTIONS
      - name: SipSUBSCRIBE
      - name: SipNOTIFY
      - name: SipPUBLISH
      - name: SipINFO
      - name: SipMESSAGE
      - name: SipREFER
      - name: SipMethodUnknown
      - name: SipUPDATE
      item_type: enum
      name: SipMethod
      pos:
        line_end: 220
        line_start: 188
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    - enumerators:
      - name: Sip200OK
      - name: Sip400BadRequest
      - name: Sip428UseIdentityHeader
      - name: Sip491RequestPending
      - name: Sip416UnsupportedURIScheme
      - name: Sip482LoopDetected
      - name: Sip607Unwanted
      - name: Sip505VersionNotSupported
      - name: Sip408RequestTimeout
      - name: Sip437UnsupportedCertificate
      - name: Sip413RequestEntityTooLarge
      - name: Sip470ConsentNeeded
      - name: Sip430FlowFailed
      - name: Sip502BadGateway
      - name: Sip182Queued
      - name: Sip302MovedTemporarily
      - name: Sip405MethodNotAllowed
      - name: Sip423IntervalTooBrief
      - name: Sip487RequestTerminated
      - name: Sip603Decline
      - name: Sip100Trying
      - name: Sip204NoNotification
      - name: Sip402PaymentRequired
      - name: Sip420BadExtension
      - name: Sip484AddressIncomplete
      - name: Sip410Gone
      - name: Sip439FirstHopLacksOutboundSupport
      - name: Sip555PushNotificationServiceNotSupported
      - name: Sip494SecurityAgreementRequired
      - name: Sip504ServerTimeout
      - name: Sip407ProxyAuthenticationRequired
      - name: Sip436BadIdentityInfo
      - name: Sip199EarlyDialogTerminated
      - name: Sip380AlternativeService
      - name: Sip425BadAlertMessage
      - name: Sip489BadEvent
      - name: Sip415UnsupportedMediaType
      - name: Sip481Call_TransactionDoesNotExist
      - name: Sip606NotAcceptable
      - name: Sip181CallisBeingForwarded
      - name: Sip301MovedPermanently
      - name: Sip404NotFound
      - name: Sip422SessionIntervalTooSmall
      - name: Sip486BusyHere
      - name: Sip412ConditionalRequestFailed
      - name: Sip469BadInfoPackage
      - name: Sip600BusyEverywhere
      - name: Sip501NotImplemented
      - name: Sip513MessageTooLarge
      - name: Sip409Conflict
      - name: Sip438InvalidIdentityHeader
      - name: Sip202Accepted
      - name: Sip401Unauthorized
      - name: Sip429ProvideReferrerIdentity
      - name: Sip493Undecipherable
      - name: Sip417UnknownResourcePriority
      - name: Sip483TooManyHops
      - name: Sip608Rejected
      - name: Sip183SessioninProgress
      - name: Sip305UseProxy
      - name: Sip424BadLocationInformation
      - name: Sip488NotAcceptableHere
      - name: Sip604DoesNotExistAnywhere
      - name: Sip414RequestURITooLong
      - name: Sip480TemporarilyUnavailable
      - name: Sip406NotAcceptable
      - name: Sip433AnonymityDisallowed
      - name: Sip503ServiceUnavailable
      - name: Sip485Ambiguous
      - name: Sip411LengthRequired
      - name: Sip440MaxBreadthExceeded
      - name: Sip580PreconditionFailure
      - name: Sip500ServerInternalError
      - name: Sip180Ringing
      - name: Sip300MultipleChoices
      - name: Sip403Forbidden
      - name: Sip421ExtensionRequired
      - name: SipStatusCodeUnknown
      item_type: enum
      name: SipResponseStatusCode
      pos:
        line_end: 472
        line_start: 278
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    preproc_defs:
    - item_type: preproc_def
      name: PCPP_SIP_FROM_FIELD
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"From"'
    - item_type: preproc_def
      name: PCPP_SIP_TO_FIELD
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"To"'
    - item_type: preproc_def
      name: PCPP_SIP_VIA_FIELD
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Via"'
    - item_type: preproc_def
      name: PCPP_SIP_CALL_ID_FIELD
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Call-ID"'
    - item_type: preproc_def
      name: PCPP_SIP_CONTENT_TYPE_FIELD
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Content-Type"'
    - item_type: preproc_def
      name: PCPP_SIP_CONTENT_LENGTH_FIELD
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Content-Length"'
    - item_type: preproc_def
      name: PCPP_SIP_CONTENT_DISPOSITION_FIELD
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Content-Disposition"'
    - item_type: preproc_def
      name: PCPP_SIP_CONTENT_ENCODING_FIELD
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Content-Encoding"'
    - item_type: preproc_def
      name: PCPP_SIP_CONTENT_LANGUAGE_FIELD
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Content-Language"'
    - item_type: preproc_def
      name: PCPP_SIP_CSEQ_FIELD
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"CSeq"'
    - item_type: preproc_def
      name: PCPP_SIP_CONTACT_FIELD
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Contact"'
    - item_type: preproc_def
      name: PCPP_SIP_MAX_FORWARDS_FIELD
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Max-Forwards"'
    - item_type: preproc_def
      name: PCPP_SIP_USER_AGENT_FIELD
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"User-Agent"'
    - item_type: preproc_def
      name: PCPP_SIP_ACCEPT_FIELD
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Accept"'
    - item_type: preproc_def
      name: PCPP_SIP_ACCEPT_ENCODING_FIELD
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Accept-Encoding"'
    - item_type: preproc_def
      name: PCPP_SIP_ACCEPT_LANGUAGE_FIELD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Accept-Language"'
    - item_type: preproc_def
      name: PCPP_SIP_ALLOW_FIELD
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Allow"'
    - item_type: preproc_def
      name: PCPP_SIP_AUTHORIZATION_FIELD
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Authorization"'
    - item_type: preproc_def
      name: PCPP_SIP_DATE_FIELD
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Date"'
    - item_type: preproc_def
      name: PCPP_SIP_MIME_VERSION_FIELD
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"MIME-Version"'
    - item_type: preproc_def
      name: PCPP_SIP_REASON_FIELD
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Reason"'
    - item_type: preproc_def
      name: PCPP_SIP_SUPPORTED_FIELD
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Supported"'
    - item_type: preproc_def
      name: PCPP_SIP_SERVER_FIELD
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Server"'
    - item_type: preproc_def
      name: PCPP_SIP_WWW_AUTHENTICATE_FIELD
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"WWW-Authenticate"'
    - item_type: preproc_def
      name: PCPP_SIP_RETRY_AFTER_FIELD
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Retry-After"'
    - item_type: preproc_def
      name: PCPP_SIP_RECORD_ROUTE_FIELD
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Record-Route"'
    - item_type: preproc_def
      name: PCPP_SIP_FROM_FIELD
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"From"'
    - item_type: preproc_def
      name: PCPP_SIP_TO_FIELD
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"To"'
    - item_type: preproc_def
      name: PCPP_SIP_VIA_FIELD
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Via"'
    - item_type: preproc_def
      name: PCPP_SIP_CALL_ID_FIELD
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Call-ID"'
    - item_type: preproc_def
      name: PCPP_SIP_CONTENT_TYPE_FIELD
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Content-Type"'
    - item_type: preproc_def
      name: PCPP_SIP_CONTENT_LENGTH_FIELD
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Content-Length"'
    - item_type: preproc_def
      name: PCPP_SIP_CONTENT_DISPOSITION_FIELD
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Content-Disposition"'
    - item_type: preproc_def
      name: PCPP_SIP_CONTENT_ENCODING_FIELD
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Content-Encoding"'
    - item_type: preproc_def
      name: PCPP_SIP_CONTENT_LANGUAGE_FIELD
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Content-Language"'
    - item_type: preproc_def
      name: PCPP_SIP_CSEQ_FIELD
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"CSeq"'
    - item_type: preproc_def
      name: PCPP_SIP_CONTACT_FIELD
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Contact"'
    - item_type: preproc_def
      name: PCPP_SIP_MAX_FORWARDS_FIELD
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Max-Forwards"'
    - item_type: preproc_def
      name: PCPP_SIP_USER_AGENT_FIELD
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"User-Agent"'
    - item_type: preproc_def
      name: PCPP_SIP_ACCEPT_FIELD
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Accept"'
    - item_type: preproc_def
      name: PCPP_SIP_ACCEPT_ENCODING_FIELD
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Accept-Encoding"'
    - item_type: preproc_def
      name: PCPP_SIP_ACCEPT_LANGUAGE_FIELD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Accept-Language"'
    - item_type: preproc_def
      name: PCPP_SIP_ALLOW_FIELD
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Allow"'
    - item_type: preproc_def
      name: PCPP_SIP_AUTHORIZATION_FIELD
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Authorization"'
    - item_type: preproc_def
      name: PCPP_SIP_DATE_FIELD
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Date"'
    - item_type: preproc_def
      name: PCPP_SIP_MIME_VERSION_FIELD
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"MIME-Version"'
    - item_type: preproc_def
      name: PCPP_SIP_REASON_FIELD
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Reason"'
    - item_type: preproc_def
      name: PCPP_SIP_SUPPORTED_FIELD
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Supported"'
    - item_type: preproc_def
      name: PCPP_SIP_SERVER_FIELD
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Server"'
    - item_type: preproc_def
      name: PCPP_SIP_WWW_AUTHENTICATE_FIELD
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"WWW-Authenticate"'
    - item_type: preproc_def
      name: PCPP_SIP_RETRY_AFTER_FIELD
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Retry-After"'
    - item_type: preproc_def
      name: PCPP_SIP_RECORD_ROUTE_FIELD
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
      type_or_value: '"Record-Route"'
    structs:
    - fields:
      - name: method
        type: std::string
      - name: uri
        type: std::string
      - name: version
        type: std::string
      item_type: struct
      name: SipFirstLineData
      pos:
        line_end: 539
        line_start: 534
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    - fields:
      - name: version
        type: std::string
      - name: statusCode
        type: SipResponseLayer::SipResponseStatusCode
      item_type: struct
      name: FirstLineData
      pos:
        line_end: 656
        line_start: 650
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    - fields:
      - name: method
        type: std::string
      - name: uri
        type: std::string
      - name: version
        type: std::string
      item_type: struct
      name: SipFirstLineData
      pos:
        line_end: 539
        line_start: 534
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    - fields:
      - name: version
        type: std::string
      - name: statusCode
        type: SipResponseLayer::SipResponseStatusCode
      item_type: struct
      name: FirstLineData
      pos:
        line_end: 656
        line_start: 650
        source_file: /src/PcapPlusPlus/Packet++/header/SipLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::IPLayer::IPLayer
  - ~IPLayer()
  - pcpp::IPLayer::IPLayer
  - ~IPLayer()
  source_file: /src/PcapPlusPlus/Packet++/header/IPLayer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::PostgresMessageType::PostgresMessageType
  - pcpp::PostgresMessageType::PostgresMessageType
  - '& operator<<(std::ostream& os, const PostgresMessageType& messageType)'
  - operator std::string() const
  - operator Value() const
  - ~PostgresMessage()
  - pcpp::PostgresMessage::getMessageType
  - pcpp::PostgresMessage::getMessageOrigin
  - pcpp::PostgresMessage::getTotalMessageLength
  - pcpp::PostgresMessage::PostgresMessage
  - pcpp::PostgresStartupMessage::PostgresStartupMessage
  - pcpp::PostgresParameterStatus::PostgresParameterStatus
  - pcpp::PostgresQueryMessage::PostgresQueryMessage
  - pcpp::PostgresRowDescriptionMessage::PostgresRowDescriptionMessage
  - pcpp::PostgresDataRowMessage::ColumnData::ColumnData
  - pcpp::PostgresDataRowMessage::ColumnData::getData
  - pcpp::PostgresDataRowMessage::ColumnData::isNull
  - pcpp::PostgresDataRowMessage::PostgresDataRowMessage
  - pcpp::PostgresErrorResponseMessage::PostgresErrorResponseMessage
  - ~PostgresLayer() override
  - pcpp::PostgresLayer::isPostgresPort
  - pcpp::PostgresLayer::getPostgresOrigin
  - pcpp::PostgresLayer::getPostgresMessage
  - pcpp::PostgresLayer::getHeaderLen
  - pcpp::PostgresLayer::parseNextLayer
  - pcpp::PostgresLayer::computeCalculateFields
  - pcpp::PostgresLayer::getOsiModelLayer
  - pcpp::PostgresLayer::PostgresLayer
  - pcpp::PostgresMessageType::PostgresMessageType
  - pcpp::PostgresMessageType::PostgresMessageType
  - '& operator<<(std::ostream& os, const PostgresMessageType& messageType)'
  - operator std::string() const
  - operator Value() const
  - ~PostgresMessage()
  - pcpp::PostgresMessage::getMessageType
  - pcpp::PostgresMessage::getMessageOrigin
  - pcpp::PostgresMessage::getTotalMessageLength
  - pcpp::PostgresMessage::PostgresMessage
  - pcpp::PostgresStartupMessage::PostgresStartupMessage
  - pcpp::PostgresParameterStatus::PostgresParameterStatus
  - pcpp::PostgresQueryMessage::PostgresQueryMessage
  - pcpp::PostgresRowDescriptionMessage::PostgresRowDescriptionMessage
  - pcpp::PostgresDataRowMessage::ColumnData::ColumnData
  - pcpp::PostgresDataRowMessage::ColumnData::getData
  - pcpp::PostgresDataRowMessage::ColumnData::isNull
  - pcpp::PostgresDataRowMessage::PostgresDataRowMessage
  - pcpp::PostgresErrorResponseMessage::PostgresErrorResponseMessage
  - ~PostgresLayer() override
  - pcpp::PostgresLayer::isPostgresPort
  - pcpp::PostgresLayer::getPostgresOrigin
  - pcpp::PostgresLayer::getPostgresMessage
  - pcpp::PostgresLayer::getHeaderLen
  - pcpp::PostgresLayer::parseNextLayer
  - pcpp::PostgresLayer::computeCalculateFields
  - pcpp::PostgresLayer::getOsiModelLayer
  - pcpp::PostgresLayer::PostgresLayer
  source_file: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
  types:
    enum:
    - enumerators:
      - name: Frontend
      - name: Backend
      item_type: enum
      name: PostgresMessageOrigin
      pos:
        line_end: 21
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    - enumerators:
      - name: Frontend_GSSENCRequest
      - name: Frontend_SSLRequest
      - name: Frontend_Parse
      - name: Frontend_Execute
      - name: Frontend_Describe
      - name: Frontend_CopyData
      - name: Frontend_CopyFail
      - name: Frontend_Flush
      - name: Frontend_Unknown
      - name: Backend_AuthenticationKerberosV4
      - name: Backend_NotificationResponse
      - name: Backend_ParameterStatus
      - name: Backend_AuthenticationSSPI
      - name: Backend_CopyOutResponse
      - name: Backend_AuthenticationSASLContinue
      - name: Backend_DataRow
      - name: Backend_PortalSuspended
      - name: Backend_RowDescription
      - name: Backend_BackendKeyData
      - name: Backend_ErrorResponse
      - name: Backend_CloseComplete
      - name: Backend_NegotiateProtocolVersion
      - name: Backend_AuthenticationKerberosV5
      - name: Backend_AuthenticationMD5Password
      - name: Backend_CopyInResponse
      - name: Backend_CopyData
      - name: Backend_NoticeResponse
      - name: Frontend_StartupMessage
      - name: Frontend_CancelRequest
      - name: Frontend_Query
      - name: Frontend_Bind
      - name: Frontend_Close
      - name: Frontend_FunctionCall
      - name: Frontend_CopyDone
      - name: Frontend_Terminate
      - name: Backend_AuthenticationOk
      - name: Frontend_Sync
      - name: Backend_AuthenticationGSSContinue
      - name: Backend_AuthenticationSASL
      - name: Backend_ParameterDescription
      - name: Backend_CopyBothResponse
      - name: Backend_ParseComplete
      - name: Backend_EmptyQueryResponse
      - name: Backend_ReadyForQuery
      - name: Backend_AuthenticationSASLFinal
      - name: Backend_BindComplete
      - name: Backend_FunctionCallResponse
      - name: Backend_Unknown
      - name: Backend_NoData
      - name: Backend_AuthenticationCleartextPassword
      - name: Backend_CommandComplete
      - name: Backend_AuthenticationGSS
      - name: Backend_CopyDone
      item_type: enum
      name: Value
      pos:
        line_end: 142
        line_start: 29
        source_file: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    - enumerators:
      - name: Text
        value: '0'
      - name: Binary
        value: '1'
      - name: Unknown
        value: '2'
      item_type: enum
      name: PostgresColumnFormat
      pos:
        line_end: 342
        line_start: 334
        source_file: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    - enumerators:
      - name: Message
        value: '''M'''
      - name: SeverityNonLocalized
        value: '''V'''
      - name: Hint
        value: '''H'''
      - name: InternalPosition
        value: '''p'''
      - name: Where
        value: '''W'''
      - name: DataType
        value: '''d'''
      - name: File
        value: '''F'''
      - name: Table
        value: '''t'''
      - name: Routine
        value: '''R'''
      - name: Severity
        value: '''S'''
      - name: SQLState
        value: '''C'''
      - name: Detail
        value: '''D'''
      - name: Position
        value: '''P'''
      - name: InternalQuery
        value: '''q'''
      - name: Schema
        value: '''s'''
      - name: Constraint
        value: '''n'''
      - name: Line
        value: '''L'''
      - name: Column
        value: '''c'''
      - name: Terminator
        value: '''\0'''
      item_type: enum
      name: ErrorField
      pos:
        line_end: 477
        line_start: 436
        source_file: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    - enumerators:
      - name: Frontend
      - name: Backend
      item_type: enum
      name: PostgresMessageOrigin
      pos:
        line_end: 21
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    - enumerators:
      - name: Frontend_GSSENCRequest
      - name: Frontend_SSLRequest
      - name: Frontend_Parse
      - name: Frontend_Execute
      - name: Frontend_Describe
      - name: Frontend_CopyData
      - name: Frontend_CopyFail
      - name: Frontend_Flush
      - name: Frontend_Unknown
      - name: Backend_AuthenticationKerberosV4
      - name: Backend_NotificationResponse
      - name: Backend_ParameterStatus
      - name: Backend_AuthenticationSSPI
      - name: Backend_CopyOutResponse
      - name: Backend_AuthenticationSASLContinue
      - name: Backend_DataRow
      - name: Backend_PortalSuspended
      - name: Backend_RowDescription
      - name: Backend_BackendKeyData
      - name: Backend_ErrorResponse
      - name: Backend_CloseComplete
      - name: Backend_NegotiateProtocolVersion
      - name: Backend_AuthenticationKerberosV5
      - name: Backend_AuthenticationMD5Password
      - name: Backend_CopyInResponse
      - name: Backend_CopyData
      - name: Backend_NoticeResponse
      - name: Frontend_StartupMessage
      - name: Frontend_CancelRequest
      - name: Frontend_Query
      - name: Frontend_Bind
      - name: Frontend_Close
      - name: Frontend_FunctionCall
      - name: Frontend_CopyDone
      - name: Frontend_Terminate
      - name: Backend_AuthenticationOk
      - name: Frontend_Sync
      - name: Backend_AuthenticationGSSContinue
      - name: Backend_AuthenticationSASL
      - name: Backend_ParameterDescription
      - name: Backend_CopyBothResponse
      - name: Backend_ParseComplete
      - name: Backend_EmptyQueryResponse
      - name: Backend_ReadyForQuery
      - name: Backend_AuthenticationSASLFinal
      - name: Backend_BindComplete
      - name: Backend_FunctionCallResponse
      - name: Backend_Unknown
      - name: Backend_NoData
      - name: Backend_AuthenticationCleartextPassword
      - name: Backend_CommandComplete
      - name: Backend_AuthenticationGSS
      - name: Backend_CopyDone
      item_type: enum
      name: Value
      pos:
        line_end: 142
        line_start: 29
        source_file: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    - enumerators:
      - name: Text
        value: '0'
      - name: Binary
        value: '1'
      - name: Unknown
        value: '2'
      item_type: enum
      name: PostgresColumnFormat
      pos:
        line_end: 342
        line_start: 334
        source_file: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    - enumerators:
      - name: Message
        value: '''M'''
      - name: SeverityNonLocalized
        value: '''V'''
      - name: Hint
        value: '''H'''
      - name: InternalPosition
        value: '''p'''
      - name: Where
        value: '''W'''
      - name: DataType
        value: '''d'''
      - name: File
        value: '''F'''
      - name: Table
        value: '''t'''
      - name: Routine
        value: '''R'''
      - name: Severity
        value: '''S'''
      - name: SQLState
        value: '''C'''
      - name: Detail
        value: '''D'''
      - name: Position
        value: '''P'''
      - name: InternalQuery
        value: '''q'''
      - name: Schema
        value: '''s'''
      - name: Constraint
        value: '''n'''
      - name: Line
        value: '''L'''
      - name: Column
        value: '''c'''
      - name: Terminator
        value: '''\0'''
      item_type: enum
      name: ErrorField
      pos:
        line_end: 477
        line_start: 436
        source_file: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: name
        type: std::string
      - name: tableOID
        type: uint32_t
      - name: columnIndex
        type: uint16_t
      - name: typeOID
        type: uint32_t
      - name: typeSize
        type: int16_t
      - name: typeModifier
        type: int32_t
      - name: format
        type: PostgresColumnFormat
      item_type: struct
      name: PostgresColumnInfo
      pos:
        line_end: 362
        line_start: 346
        source_file: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    - fields:
      - name: name
        type: std::string
      - name: tableOID
        type: uint32_t
      - name: columnIndex
        type: uint16_t
      - name: typeOID
        type: uint32_t
      - name: typeSize
        type: int16_t
      - name: typeModifier
        type: int32_t
      - name: format
        type: PostgresColumnFormat
      item_type: struct
      name: PostgresColumnInfo
      pos:
        line_end: 362
        line_start: 346
        source_file: /src/PcapPlusPlus/Packet++/header/PostgresLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::LLCLayer::LLCLayer
  - pcpp::LLCLayer::getLlcHeader
  - pcpp::LLCLayer::computeCalculateFields
  - pcpp::LLCLayer::getHeaderLen
  - pcpp::LLCLayer::getOsiModelLayer
  - pcpp::LLCLayer::LLCLayer
  - pcpp::LLCLayer::getLlcHeader
  - pcpp::LLCLayer::computeCalculateFields
  - pcpp::LLCLayer::getHeaderLen
  - pcpp::LLCLayer::getOsiModelLayer
  source_file: /src/PcapPlusPlus/Packet++/header/LLCLayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dsap
        type: uint8_t
      item_type: struct
      name: llc_header
      pos:
        line_end: 21
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/LLCLayer.h
    - fields:
      - name: dsap
        type: uint8_t
      item_type: struct
      name: llc_header
      pos:
        line_end: 21
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/LLCLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::getAddress
  - pcpp::IcmpLayer::IcmpLayer
  - ~IcmpLayer() override
  - pcpp::IcmpLayer::getIcmpHeader
  - pcpp::IcmpLayer::isMessageOfType
  - pcpp::IcmpLayer::getOsiModelLayer
  - pcpp::IcmpLayer::isDataValid
  - pcpp::getAddress
  - pcpp::IcmpLayer::IcmpLayer
  - ~IcmpLayer() override
  - pcpp::IcmpLayer::getIcmpHeader
  - pcpp::IcmpLayer::isMessageOfType
  - pcpp::IcmpLayer::getOsiModelLayer
  - pcpp::IcmpLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
  types:
    enum:
    - enumerators:
      - name: ICMP_ECHO_REPLY
        value: '0'
      - name: ICMP_ECHO_REQUEST
        value: '8'
      - name: ICMP_REDIRECT
        value: '5'
      - name: ICMP_SOURCE_QUENCH
        value: '4'
      - name: ICMP_DEST_UNREACHABLE
        value: '3'
      - name: ICMP_ROUTER_ADV
        value: '9'
      - name: ICMP_ROUTER_SOL
        value: '10'
      - name: ICMP_TIME_EXCEEDED
        value: '11'
      - name: ICMP_PARAM_PROBLEM
        value: '12'
      - name: ICMP_TIMESTAMP_REQUEST
        value: '13'
      - name: ICMP_TIMESTAMP_REPLY
        value: '14'
      - name: ICMP_INFO_REQUEST
        value: '15'
      - name: ICMP_UNSUPPORTED
        value: '255'
      - name: ICMP_INFO_REPLY
        value: '16'
      - name: ICMP_ADDRESS_MASK_REQUEST
        value: '17'
      - name: ICMP_ADDRESS_MASK_REPLY
        value: '18'
      item_type: enum
      name: IcmpMessageType
      pos:
        line_end: 68
        line_start: 34
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - enumerators:
      - name: IcmpNetworkUnreachable
        value: '0'
      - name: IcmpPortUnreachable
        value: '3'
      - name: IcmpDatagramTooBig
        value: '4'
      - name: IcmpProtocolUnreachable
        value: '2'
      - name: IcmpHostUnreachable
        value: '1'
      - name: IcmpSourceRouteFailed
        value: '5'
      - name: IcmpDestinationNetworkUnknown
        value: '6'
      - name: IcmpDestinationHostUnknown
        value: '7'
      - name: IcmpSourceHostIsolated
        value: '8'
      - name: IcmpDestinationNetworkProhibited
        value: '9'
      - name: IcmpHostPrecedenceViolation
        value: '14'
      - name: IcmpPrecedenceCutoff
        value: '15'
      - name: IcmpDestinationHostProhibited
        value: '10'
      - name: IcmpNetworkUnreachableForTypeOfService
        value: '11'
      - name: IcmpHostUnreachableForTypeOfService
        value: '12'
      - name: IcmpCommunicationProhibited
        value: '13'
      item_type: enum
      name: IcmpDestUnreachableCodes
      pos:
        line_end: 109
        line_start: 72
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - enumerators:
      - name: ICMP_ECHO_REPLY
        value: '0'
      - name: ICMP_ECHO_REQUEST
        value: '8'
      - name: ICMP_REDIRECT
        value: '5'
      - name: ICMP_SOURCE_QUENCH
        value: '4'
      - name: ICMP_DEST_UNREACHABLE
        value: '3'
      - name: ICMP_ROUTER_ADV
        value: '9'
      - name: ICMP_ROUTER_SOL
        value: '10'
      - name: ICMP_TIME_EXCEEDED
        value: '11'
      - name: ICMP_PARAM_PROBLEM
        value: '12'
      - name: ICMP_TIMESTAMP_REQUEST
        value: '13'
      - name: ICMP_TIMESTAMP_REPLY
        value: '14'
      - name: ICMP_INFO_REQUEST
        value: '15'
      - name: ICMP_UNSUPPORTED
        value: '255'
      - name: ICMP_INFO_REPLY
        value: '16'
      - name: ICMP_ADDRESS_MASK_REQUEST
        value: '17'
      - name: ICMP_ADDRESS_MASK_REPLY
        value: '18'
      item_type: enum
      name: IcmpMessageType
      pos:
        line_end: 68
        line_start: 34
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - enumerators:
      - name: IcmpNetworkUnreachable
        value: '0'
      - name: IcmpPortUnreachable
        value: '3'
      - name: IcmpDatagramTooBig
        value: '4'
      - name: IcmpProtocolUnreachable
        value: '2'
      - name: IcmpHostUnreachable
        value: '1'
      - name: IcmpSourceRouteFailed
        value: '5'
      - name: IcmpDestinationNetworkUnknown
        value: '6'
      - name: IcmpDestinationHostUnknown
        value: '7'
      - name: IcmpSourceHostIsolated
        value: '8'
      - name: IcmpDestinationNetworkProhibited
        value: '9'
      - name: IcmpHostPrecedenceViolation
        value: '14'
      - name: IcmpPrecedenceCutoff
        value: '15'
      - name: IcmpDestinationHostProhibited
        value: '10'
      - name: IcmpNetworkUnreachableForTypeOfService
        value: '11'
      - name: IcmpHostUnreachableForTypeOfService
        value: '12'
      - name: IcmpCommunicationProhibited
        value: '13'
      item_type: enum
      name: IcmpDestUnreachableCodes
      pos:
        line_end: 109
        line_start: 72
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: uint8_t
      - name: code
        type: uint8_t
      - name: checksum
        type: uint16_t
      item_type: struct
      name: icmphdr
      pos:
        line_end: 29
        line_start: 21
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: id
        type: uint16_t
      - name: sequence
        type: uint16_t
      - name: timestamp
        type: uint64_t
      item_type: struct
      name: icmp_echo_hdr
      pos:
        line_end: 122
        line_start: 114
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: '* header'
        type: icmp_echo_hdr
      - name: dataLength
        type: size_t
      - name: '* data'
        type: uint8_t
      item_type: struct
      name: icmp_echo_request
      pos:
        line_end: 136
        line_start: 128
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: id
        type: uint16_t
      - name: sequence
        type: uint16_t
      - name: originateTimestamp
        type: uint32_t
      - name: receiveTimestamp
        type: uint32_t
      - name: transmitTimestamp
        type: uint32_t
      item_type: struct
      name: icmp_timestamp_request
      pos:
        line_end: 157
        line_start: 145
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: unused
        type: uint16_t
      - name: nextHopMTU
        type: uint16_t
      item_type: struct
      name: icmp_destination_unreachable
      pos:
        line_end: 175
        line_start: 169
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: unused
        type: uint32_t
      item_type: struct
      name: icmp_time_exceeded
      pos:
        line_end: 186
        line_start: 182
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: pointer
        type: uint8_t
      - name: unused1
        type: uint8_t
      - name: unused2
        type: uint16_t
      item_type: struct
      name: icmp_param_problem
      pos:
        line_end: 207
        line_start: 198
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: gatewayAddress
        type: uint32_t
      item_type: struct
      name: icmp_redirect
      pos:
        line_end: 223
        line_start: 219
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: routerAddress
        type: uint32_t
      - name: preferenceLevel
        type: uint32_t
      - name: setRouterAddress(IPv4Address addr, uint32_t preference)
        type: void
      item_type: struct
      name: icmp_router_address_structure
      pos:
        line_end: 249
        line_start: 230
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: advertisementCount
        type: uint8_t
      - name: addressEntrySize
        type: uint8_t
      - name: lifetime
        type: uint16_t
      item_type: struct
      name: icmp_router_advertisement_hdr
      pos:
        line_end: 266
        line_start: 256
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: '* header'
        type: icmp_router_advertisement_hdr
      - name: '* getRouterAddress(int index) const'
        type: icmp_router_address_structure
      item_type: struct
      name: icmp_router_advertisement
      pos:
        line_end: 283
        line_start: 272
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: id
        type: uint16_t
      - name: sequence
        type: uint16_t
      - name: addressMask
        type: uint32_t
      item_type: struct
      name: icmp_address_mask_request
      pos:
        line_end: 296
        line_start: 288
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: id
        type: uint16_t
      - name: sequence
        type: uint16_t
      item_type: struct
      name: icmp_info_request
      pos:
        line_end: 313
        line_start: 307
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: type
        type: uint8_t
      - name: code
        type: uint8_t
      - name: checksum
        type: uint16_t
      item_type: struct
      name: icmphdr
      pos:
        line_end: 29
        line_start: 21
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: id
        type: uint16_t
      - name: sequence
        type: uint16_t
      - name: timestamp
        type: uint64_t
      item_type: struct
      name: icmp_echo_hdr
      pos:
        line_end: 122
        line_start: 114
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: '* header'
        type: icmp_echo_hdr
      - name: dataLength
        type: size_t
      - name: '* data'
        type: uint8_t
      item_type: struct
      name: icmp_echo_request
      pos:
        line_end: 136
        line_start: 128
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: id
        type: uint16_t
      - name: sequence
        type: uint16_t
      - name: originateTimestamp
        type: uint32_t
      - name: receiveTimestamp
        type: uint32_t
      - name: transmitTimestamp
        type: uint32_t
      item_type: struct
      name: icmp_timestamp_request
      pos:
        line_end: 157
        line_start: 145
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: unused
        type: uint16_t
      - name: nextHopMTU
        type: uint16_t
      item_type: struct
      name: icmp_destination_unreachable
      pos:
        line_end: 175
        line_start: 169
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: unused
        type: uint32_t
      item_type: struct
      name: icmp_time_exceeded
      pos:
        line_end: 186
        line_start: 182
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: pointer
        type: uint8_t
      - name: unused1
        type: uint8_t
      - name: unused2
        type: uint16_t
      item_type: struct
      name: icmp_param_problem
      pos:
        line_end: 207
        line_start: 198
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: gatewayAddress
        type: uint32_t
      item_type: struct
      name: icmp_redirect
      pos:
        line_end: 223
        line_start: 219
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: routerAddress
        type: uint32_t
      - name: preferenceLevel
        type: uint32_t
      - name: setRouterAddress(IPv4Address addr, uint32_t preference)
        type: void
      item_type: struct
      name: icmp_router_address_structure
      pos:
        line_end: 249
        line_start: 230
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: advertisementCount
        type: uint8_t
      - name: addressEntrySize
        type: uint8_t
      - name: lifetime
        type: uint16_t
      item_type: struct
      name: icmp_router_advertisement_hdr
      pos:
        line_end: 266
        line_start: 256
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: '* header'
        type: icmp_router_advertisement_hdr
      - name: '* getRouterAddress(int index) const'
        type: icmp_router_address_structure
      item_type: struct
      name: icmp_router_advertisement
      pos:
        line_end: 283
        line_start: 272
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: id
        type: uint16_t
      - name: sequence
        type: uint16_t
      - name: addressMask
        type: uint32_t
      item_type: struct
      name: icmp_address_mask_request
      pos:
        line_end: 296
        line_start: 288
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    - fields:
      - name: id
        type: uint16_t
      - name: sequence
        type: uint16_t
      item_type: struct
      name: icmp_info_request
      pos:
        line_end: 313
        line_start: 307
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
    typedefs:
    - item_type: typedef
      name: icmp_echo_reply
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
      type: icmp_echo_request
    - item_type: typedef
      name: icmp_timestamp_reply
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
      type: icmp_timestamp_request
    - item_type: typedef
      name: icmp_source_quench
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
      type: icmp_time_exceeded
    - item_type: typedef
      name: icmp_router_solicitation
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
      type: icmphdr
    - item_type: typedef
      name: icmp_address_mask_reply
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
      type: icmp_address_mask_request
    - item_type: typedef
      name: icmp_info_reply
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
      type: icmp_info_request
    - item_type: typedef
      name: icmp_echo_reply
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
      type: icmp_echo_request
    - item_type: typedef
      name: icmp_timestamp_reply
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
      type: icmp_timestamp_request
    - item_type: typedef
      name: icmp_source_quench
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
      type: icmp_time_exceeded
    - item_type: typedef
      name: icmp_router_solicitation
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
      type: icmphdr
    - item_type: typedef
      name: icmp_address_mask_reply
      pos:
        line_end: 302
        line_start: 302
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
      type: icmp_address_mask_request
    - item_type: typedef
      name: icmp_info_reply
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpLayer.h
      type: icmp_info_request
    union: []
- function_names:
  - ~GreLayer() override
  - pcpp::GreLayer::getOsiModelLayer
  - pcpp::GreLayer::GreLayer
  - pcpp::GreLayer::GreLayer
  - pcpp::GREv0Layer::GREv0Layer
  - ~GREv0Layer() override
  - pcpp::GREv0Layer::getGreHeader
  - pcpp::GREv0Layer::isDataValid
  - pcpp::GREv1Layer::GREv1Layer
  - ~GREv1Layer() override
  - pcpp::GREv1Layer::getGreHeader
  - pcpp::GREv1Layer::isDataValid
  - pcpp::PPP_PPTPLayer::PPP_PPTPLayer
  - ~PPP_PPTPLayer() override
  - pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
  - pcpp::PPP_PPTPLayer::getHeaderLen
  - pcpp::PPP_PPTPLayer::toString
  - pcpp::PPP_PPTPLayer::getOsiModelLayer
  - pcpp::PPP_PPTPLayer::isDataValid
  - ~GreLayer() override
  - pcpp::GreLayer::getOsiModelLayer
  - pcpp::GreLayer::GreLayer
  - pcpp::GreLayer::GreLayer
  - pcpp::GREv0Layer::GREv0Layer
  - ~GREv0Layer() override
  - pcpp::GREv0Layer::getGreHeader
  - pcpp::GREv0Layer::isDataValid
  - pcpp::GREv1Layer::GREv1Layer
  - ~GREv1Layer() override
  - pcpp::GREv1Layer::getGreHeader
  - pcpp::GREv1Layer::isDataValid
  - pcpp::PPP_PPTPLayer::PPP_PPTPLayer
  - ~PPP_PPTPLayer() override
  - pcpp::PPP_PPTPLayer::getPPP_PPTPHeader
  - pcpp::PPP_PPTPLayer::getHeaderLen
  - pcpp::PPP_PPTPLayer::toString
  - pcpp::PPP_PPTPLayer::getOsiModelLayer
  - pcpp::PPP_PPTPLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/GreLayer.h
  types:
    enum:
    - enumerators:
      - name: GreChecksumOrRouting
        value: '0'
      - name: GreAck
        value: '3'
      - name: GreKey
        value: '1'
      - name: GreSeq
        value: '2'
      item_type: enum
      name: GreField
      pos:
        line_end: 154
        line_start: 148
        source_file: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    - enumerators:
      - name: GreChecksumOrRouting
        value: '0'
      - name: GreAck
        value: '3'
      - name: GreKey
        value: '1'
      - name: GreSeq
        value: '2'
      item_type: enum
      name: GreField
      pos:
        line_end: 154
        line_start: 148
        source_file: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: protocol
        type: uint16_t
      item_type: struct
      name: gre_basic_header
      pos:
        line_end: 60
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    - fields:
      - name: payloadLength
        type: uint16_t
      - name: callID
        type: uint16_t
      item_type: struct
      name: gre1_header
      pos:
        line_end: 73
        line_start: 67
        source_file: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    - fields:
      - name: address
        type: uint8_t
      - name: control
        type: uint8_t
      - name: protocol
        type: uint16_t
      item_type: struct
      name: ppp_pptp_header
      pos:
        line_end: 88
        line_start: 80
        source_file: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    - fields:
      - name: protocol
        type: uint16_t
      item_type: struct
      name: gre_basic_header
      pos:
        line_end: 60
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    - fields:
      - name: payloadLength
        type: uint16_t
      - name: callID
        type: uint16_t
      item_type: struct
      name: gre1_header
      pos:
        line_end: 73
        line_start: 67
        source_file: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    - fields:
      - name: address
        type: uint8_t
      - name: control
        type: uint8_t
      - name: protocol
        type: uint16_t
      item_type: struct
      name: ppp_pptp_header
      pos:
        line_end: 88
        line_start: 80
        source_file: /src/PcapPlusPlus/Packet++/header/GreLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::VxlanLayer::VxlanLayer
  - ~VxlanLayer() override
  - pcpp::VxlanLayer::isDataValid
  - pcpp::VxlanLayer::getVxlanHeader
  - pcpp::VxlanLayer::isVxlanPort
  - pcpp::VxlanLayer::getHeaderLen
  - pcpp::VxlanLayer::computeCalculateFields
  - pcpp::VxlanLayer::getOsiModelLayer
  - pcpp::VxlanLayer::VxlanLayer
  - ~VxlanLayer() override
  - pcpp::VxlanLayer::isDataValid
  - pcpp::VxlanLayer::getVxlanHeader
  - pcpp::VxlanLayer::isVxlanPort
  - pcpp::VxlanLayer::getHeaderLen
  - pcpp::VxlanLayer::computeCalculateFields
  - pcpp::VxlanLayer::getOsiModelLayer
  source_file: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: groupPolicyID
        type: uint16_t
      - name: vni
        type: uint32_t
      - name: pad
        type: uint32_t
      item_type: struct
      name: vxlan_header
      pos:
        line_end: 62
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    - fields:
      - name: groupPolicyID
        type: uint16_t
      - name: vni
        type: uint32_t
      - name: pad
        type: uint32_t
      item_type: struct
      name: vxlan_header
      pos:
        line_end: 62
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/VxlanLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::internal::protoFamilyContainsProtocol
  - pcpp::internal::protoFamilyContainsProtocol
  - pcpp::internal::protoFamilyContainsProtocol
  - pcpp::internal::protoFamilyContainsProtocol
  source_file: /src/PcapPlusPlus/Packet++/header/ProtocolType.h
  types:
    enum:
    - enumerators:
      - name: OsiModelPhysicalLayer
        value: '1'
      - name: OsiModelTransportLayer
        value: '4'
      - name: OsiModelNetworkLayer
        value: '3'
      - name: OsiModelSesionLayer
        value: '5'
      - name: OsiModelDataLinkLayer
        value: '2'
      - name: OsiModelPresentationLayer
        value: '6'
      - name: OsiModelApplicationLayer
        value: '7'
      - name: OsiModelLayerUnknown
        value: '8'
      item_type: enum
      name: OsiModelLayer
      pos:
        line_end: 283
        line_start: 265
        source_file: /src/PcapPlusPlus/Packet++/header/ProtocolType.h
    - enumerators:
      - name: OsiModelPhysicalLayer
        value: '1'
      - name: OsiModelTransportLayer
        value: '4'
      - name: OsiModelNetworkLayer
        value: '3'
      - name: OsiModelSesionLayer
        value: '5'
      - name: OsiModelDataLinkLayer
        value: '2'
      - name: OsiModelPresentationLayer
        value: '6'
      - name: OsiModelApplicationLayer
        value: '7'
      - name: OsiModelLayerUnknown
        value: '8'
      item_type: enum
      name: OsiModelLayer
      pos:
        line_end: 283
        line_start: 265
        source_file: /src/PcapPlusPlus/Packet++/header/ProtocolType.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::DnsLayer::parseNextLayer
  - pcpp::DnsLayer::getHeaderLen
  - pcpp::DnsLayer::computeCalculateFields
  - pcpp::DnsLayer::getOsiModelLayer
  - pcpp::DnsOverTcpLayer::DnsOverTcpLayer
  - pcpp::DnsOverTcpLayer::DnsOverTcpLayer
  - pcpp::DnsOverTcpLayer::DnsOverTcpLayer
  - pcpp::DnsLayer::isDnsPort
  - pcpp::DnsLayer::isDataValid
  - pcpp::DnsLayer::parseNextLayer
  - pcpp::DnsLayer::getHeaderLen
  - pcpp::DnsLayer::computeCalculateFields
  - pcpp::DnsLayer::getOsiModelLayer
  - pcpp::DnsOverTcpLayer::DnsOverTcpLayer
  - pcpp::DnsOverTcpLayer::DnsOverTcpLayer
  - pcpp::DnsOverTcpLayer::DnsOverTcpLayer
  - pcpp::DnsLayer::isDnsPort
  - pcpp::DnsLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: transactionID
        type: uint16_t
      - name: numberOfQuestions
        type: uint16_t
      - name: numberOfAnswers
        type: uint16_t
      - name: numberOfAuthority
        type: uint16_t
      - name: numberOfAdditional
        type: uint16_t
      item_type: struct
      name: dnshdr
      pos:
        line_end: 74
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    - fields:
      - name: transactionID
        type: uint16_t
      - name: numberOfQuestions
        type: uint16_t
      - name: numberOfAnswers
        type: uint16_t
      - name: numberOfAuthority
        type: uint16_t
      - name: numberOfAdditional
        type: uint16_t
      item_type: struct
      name: dnshdr
      pos:
        line_end: 74
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/DnsLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::StpLayer::StpLayer
  - pcpp::StpLayer::StpLayer
  - pcpp::StpLayer::getStpHeader
  - pcpp::StpLayer::getProtoId
  - pcpp::StpLayer::setProtoId
  - pcpp::StpLayer::getVersion
  - pcpp::StpLayer::setVersion
  - pcpp::StpLayer::getType
  - pcpp::StpLayer::setType
  - pcpp::StpLayer::getHeaderLen
  - pcpp::StpLayer::computeCalculateFields
  - pcpp::StpLayer::getOsiModelLayer
  - pcpp::StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
  - pcpp::StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
  - pcpp::StpTopologyChangeBPDULayer::getStpTcnHeader
  - pcpp::StpTopologyChangeBPDULayer::getHeaderLen
  - pcpp::StpTopologyChangeBPDULayer::toString
  - pcpp::StpTopologyChangeBPDULayer::isDataValid
  - pcpp::StpConfigurationBPDULayer::StpConfigurationBPDULayer
  - pcpp::StpConfigurationBPDULayer::StpConfigurationBPDULayer
  - pcpp::StpConfigurationBPDULayer::getStpConfHeader
  - pcpp::StpConfigurationBPDULayer::getFlag
  - pcpp::StpConfigurationBPDULayer::setFlag
  - pcpp::StpConfigurationBPDULayer::getRootSystemID
  - pcpp::StpConfigurationBPDULayer::getBridgeSystemID
  - pcpp::StpConfigurationBPDULayer::getHeaderLen
  - pcpp::StpConfigurationBPDULayer::toString
  - pcpp::StpConfigurationBPDULayer::isDataValid
  - pcpp::RapidStpLayer::RapidStpLayer
  - pcpp::RapidStpLayer::RapidStpLayer
  - pcpp::RapidStpLayer::getRstpConfHeader
  - pcpp::RapidStpLayer::getVersion1Len
  - pcpp::RapidStpLayer::setVersion1Len
  - pcpp::RapidStpLayer::getHeaderLen
  - pcpp::RapidStpLayer::toString
  - pcpp::RapidStpLayer::isDataValid
  - pcpp::MultipleStpLayer::MultipleStpLayer
  - pcpp::MultipleStpLayer::getMstpHeader
  - pcpp::MultipleStpLayer::getMstConfigurationFormatSelector
  - pcpp::MultipleStpLayer::setMstConfigurationFormatSelector
  - pcpp::MultipleStpLayer::getMstConfigDigest
  - pcpp::MultipleStpLayer::getCISTBridgeSystemID
  - pcpp::MultipleStpLayer::getRemainingHopCount
  - pcpp::MultipleStpLayer::setRemainingHopCount
  - pcpp::MultipleStpLayer::getNumberOfMSTIConfMessages
  - pcpp::MultipleStpLayer::parseNextLayer
  - pcpp::MultipleStpLayer::toString
  - pcpp::MultipleStpLayer::isDataValid
  - pcpp::StpLayer::StpLayer
  - pcpp::StpLayer::StpLayer
  - pcpp::StpLayer::getStpHeader
  - pcpp::StpLayer::getProtoId
  - pcpp::StpLayer::setProtoId
  - pcpp::StpLayer::getVersion
  - pcpp::StpLayer::setVersion
  - pcpp::StpLayer::getType
  - pcpp::StpLayer::setType
  - pcpp::StpLayer::getHeaderLen
  - pcpp::StpLayer::computeCalculateFields
  - pcpp::StpLayer::getOsiModelLayer
  - pcpp::StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
  - pcpp::StpTopologyChangeBPDULayer::StpTopologyChangeBPDULayer
  - pcpp::StpTopologyChangeBPDULayer::getStpTcnHeader
  - pcpp::StpTopologyChangeBPDULayer::getHeaderLen
  - pcpp::StpTopologyChangeBPDULayer::toString
  - pcpp::StpTopologyChangeBPDULayer::isDataValid
  - pcpp::StpConfigurationBPDULayer::StpConfigurationBPDULayer
  - pcpp::StpConfigurationBPDULayer::StpConfigurationBPDULayer
  - pcpp::StpConfigurationBPDULayer::getStpConfHeader
  - pcpp::StpConfigurationBPDULayer::getFlag
  - pcpp::StpConfigurationBPDULayer::setFlag
  - pcpp::StpConfigurationBPDULayer::getRootSystemID
  - pcpp::StpConfigurationBPDULayer::getBridgeSystemID
  - pcpp::StpConfigurationBPDULayer::getHeaderLen
  - pcpp::StpConfigurationBPDULayer::toString
  - pcpp::StpConfigurationBPDULayer::isDataValid
  - pcpp::RapidStpLayer::RapidStpLayer
  - pcpp::RapidStpLayer::RapidStpLayer
  - pcpp::RapidStpLayer::getRstpConfHeader
  - pcpp::RapidStpLayer::getVersion1Len
  - pcpp::RapidStpLayer::setVersion1Len
  - pcpp::RapidStpLayer::getHeaderLen
  - pcpp::RapidStpLayer::toString
  - pcpp::RapidStpLayer::isDataValid
  - pcpp::MultipleStpLayer::MultipleStpLayer
  - pcpp::MultipleStpLayer::getMstpHeader
  - pcpp::MultipleStpLayer::getMstConfigurationFormatSelector
  - pcpp::MultipleStpLayer::setMstConfigurationFormatSelector
  - pcpp::MultipleStpLayer::getMstConfigDigest
  - pcpp::MultipleStpLayer::getCISTBridgeSystemID
  - pcpp::MultipleStpLayer::getRemainingHopCount
  - pcpp::MultipleStpLayer::setRemainingHopCount
  - pcpp::MultipleStpLayer::getNumberOfMSTIConfMessages
  - pcpp::MultipleStpLayer::parseNextLayer
  - pcpp::MultipleStpLayer::toString
  - pcpp::MultipleStpLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/StpLayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: protoId
        type: uint16_t
      - name: version
        type: uint8_t
      - name: type
        type: uint8_t
      item_type: struct
      name: stp_tcn_bpdu
      pos:
        line_end: 23
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    - fields:
      - name: flag
        type: uint8_t
      - name: rootId
        type: uint64_t
      - name: pathCost
        type: uint32_t
      - name: bridgeId
        type: uint64_t
      - name: portId
        type: uint16_t
      - name: msgAge
        type: uint16_t
      - name: maxAge
        type: uint16_t
      - name: helloTime
        type: uint16_t
      - name: forwardDelay
        type: uint16_t
      item_type: struct
      name: stp_conf_bpdu
      pos:
        line_end: 54
        line_start: 34
        source_file: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    - fields:
      - name: version1Len
        type: uint8_t
      item_type: struct
      name: rstp_conf_bpdu
      pos:
        line_end: 65
        line_start: 61
        source_file: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    - fields:
      - name: version3Len
        type: uint16_t
      - name: mstConfigFormatSelector
        type: uint8_t
      - name: mstConfigName[32]
        type: uint8_t
      - name: mstConfigRevision
        type: uint16_t
      - name: mstConfigDigest[16]
        type: uint8_t
      - name: irpc
        type: uint32_t
      - name: cistBridgeId
        type: uint64_t
      - name: remainId
        type: uint8_t
      item_type: struct
      name: mstp_conf_bpdu
      pos:
        line_end: 90
        line_start: 72
        source_file: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    - fields:
      - name: flags
        type: uint8_t
      - name: regionalRootId
        type: uint64_t
      - name: pathCost
        type: uint32_t
      - name: bridgePriority
        type: uint8_t
      - name: portPriority
        type: uint8_t
      - name: remainingHops
        type: uint8_t
      item_type: struct
      name: msti_conf_msg
      pos:
        line_end: 112
        line_start: 98
        source_file: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    - fields:
      - name: protoId
        type: uint16_t
      - name: version
        type: uint8_t
      - name: type
        type: uint8_t
      item_type: struct
      name: stp_tcn_bpdu
      pos:
        line_end: 23
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    - fields:
      - name: flag
        type: uint8_t
      - name: rootId
        type: uint64_t
      - name: pathCost
        type: uint32_t
      - name: bridgeId
        type: uint64_t
      - name: portId
        type: uint16_t
      - name: msgAge
        type: uint16_t
      - name: maxAge
        type: uint16_t
      - name: helloTime
        type: uint16_t
      - name: forwardDelay
        type: uint16_t
      item_type: struct
      name: stp_conf_bpdu
      pos:
        line_end: 54
        line_start: 34
        source_file: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    - fields:
      - name: version1Len
        type: uint8_t
      item_type: struct
      name: rstp_conf_bpdu
      pos:
        line_end: 65
        line_start: 61
        source_file: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    - fields:
      - name: version3Len
        type: uint16_t
      - name: mstConfigFormatSelector
        type: uint8_t
      - name: mstConfigName[32]
        type: uint8_t
      - name: mstConfigRevision
        type: uint16_t
      - name: mstConfigDigest[16]
        type: uint8_t
      - name: irpc
        type: uint32_t
      - name: cistBridgeId
        type: uint64_t
      - name: remainId
        type: uint8_t
      item_type: struct
      name: mstp_conf_bpdu
      pos:
        line_end: 90
        line_start: 72
        source_file: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    - fields:
      - name: flags
        type: uint8_t
      - name: regionalRootId
        type: uint64_t
      - name: pathCost
        type: uint32_t
      - name: bridgePriority
        type: uint8_t
      - name: portPriority
        type: uint8_t
      - name: remainingHops
        type: uint8_t
      item_type: struct
      name: msti_conf_msg
      pos:
        line_end: 112
        line_start: 98
        source_file: /src/PcapPlusPlus/Packet++/header/StpLayer.h
    typedefs:
    - item_type: typedef
      name: stp_header
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/PcapPlusPlus/Packet++/header/StpLayer.h
      type: stp_tcn_bpdu
    - item_type: typedef
      name: stp_header
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/PcapPlusPlus/Packet++/header/StpLayer.h
      type: stp_tcn_bpdu
    union: []
- function_names:
  - pcpp::EthLayer::EthLayer
  - pcpp::EthLayer::EthLayer
  - ~EthLayer() override
  - pcpp::EthLayer::getEthHeader
  - pcpp::EthLayer::getSourceMac
  - pcpp::EthLayer::setSourceMac
  - pcpp::EthLayer::getDestMac
  - pcpp::EthLayer::setDestMac
  - pcpp::EthLayer::getHeaderLen
  - pcpp::EthLayer::getOsiModelLayer
  - pcpp::EthLayer::EthLayer
  - pcpp::EthLayer::EthLayer
  - ~EthLayer() override
  - pcpp::EthLayer::getEthHeader
  - pcpp::EthLayer::getSourceMac
  - pcpp::EthLayer::setSourceMac
  - pcpp::EthLayer::getDestMac
  - pcpp::EthLayer::setDestMac
  - pcpp::EthLayer::getHeaderLen
  - pcpp::EthLayer::getOsiModelLayer
  source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_IP
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x0800'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_ARP
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x0806'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_ETHBRIDGE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x6558'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_REVARP
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x8035'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_AT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x809B'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_AARP
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x80F3'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_VLAN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x8100'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_IPX
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x8137'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_IPV6
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x86dd'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_LOOPBACK
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x9000'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_PPPOED
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x8863'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_PPPOES
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x8864'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_MPLS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x8847'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_PPP
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x880B'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_ROCEV1
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x8915'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_IEEE_802_1AD
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x88A8'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_WAKE_ON_LAN
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x0842'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_IP
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x0800'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_ARP
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x0806'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_ETHBRIDGE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x6558'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_REVARP
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x8035'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_AT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x809B'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_AARP
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x80F3'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_VLAN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x8100'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_IPX
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x8137'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_IPV6
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x86dd'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_LOOPBACK
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x9000'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_PPPOED
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x8863'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_PPPOES
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x8864'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_MPLS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x8847'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_PPP
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x880B'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_ROCEV1
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x8915'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_IEEE_802_1AD
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x88A8'
    - item_type: preproc_def
      name: PCPP_ETHERTYPE_WAKE_ON_LAN
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
      type_or_value: '0x0842'
    structs:
    - fields:
      - name: dstMac[6]
        type: uint8_t
      - name: srcMac[6]
        type: uint8_t
      - name: etherType
        type: uint16_t
      item_type: struct
      name: ether_header
      pos:
        line_end: 23
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    - fields:
      - name: dstMac[6]
        type: uint8_t
      - name: srcMac[6]
        type: uint8_t
      - name: etherType
        type: uint16_t
      item_type: struct
      name: ether_header
      pos:
        line_end: 23
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/header/EthLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::MySqlMessageType::MySqlMessageType
  - pcpp::MySqlMessageType::MySqlMessageType
  - '& operator<<(std::ostream& os, const MySqlMessageType& messageType)'
  - operator std::string() const
  - operator Value() const
  - ~MySqlMessage()
  - pcpp::MySqlMessage::getMessageType
  - pcpp::MySqlMessage::getMessageOrigin
  - pcpp::MySqlMessage::getTotalMessageLength
  - pcpp::MySqlMessage::MySqlMessage
  - pcpp::MySqlCommandMessage::MySqlCommandMessage
  - pcpp::MySqlQueryMessage::MySqlQueryMessage
  - pcpp::MySqlErrorMessage::MySqlErrorMessage
  - ~MySqlLayer() override
  - pcpp::MySqlLayer::isMySqlPort
  - pcpp::MySqlLayer::getMySqlOrigin
  - pcpp::MySqlLayer::getMySqlMessage
  - pcpp::MySqlLayer::getHeaderLen
  - pcpp::MySqlLayer::parseNextLayer
  - pcpp::MySqlLayer::computeCalculateFields
  - pcpp::MySqlLayer::getOsiModelLayer
  - pcpp::MySqlLayer::MySqlLayer
  - pcpp::MySqlMessageType::MySqlMessageType
  - pcpp::MySqlMessageType::MySqlMessageType
  - '& operator<<(std::ostream& os, const MySqlMessageType& messageType)'
  - operator std::string() const
  - operator Value() const
  - ~MySqlMessage()
  - pcpp::MySqlMessage::getMessageType
  - pcpp::MySqlMessage::getMessageOrigin
  - pcpp::MySqlMessage::getTotalMessageLength
  - pcpp::MySqlMessage::MySqlMessage
  - pcpp::MySqlCommandMessage::MySqlCommandMessage
  - pcpp::MySqlQueryMessage::MySqlQueryMessage
  - pcpp::MySqlErrorMessage::MySqlErrorMessage
  - ~MySqlLayer() override
  - pcpp::MySqlLayer::isMySqlPort
  - pcpp::MySqlLayer::getMySqlOrigin
  - pcpp::MySqlLayer::getMySqlMessage
  - pcpp::MySqlLayer::getHeaderLen
  - pcpp::MySqlLayer::parseNextLayer
  - pcpp::MySqlLayer::computeCalculateFields
  - pcpp::MySqlLayer::getOsiModelLayer
  - pcpp::MySqlLayer::MySqlLayer
  source_file: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
  types:
    enum:
    - enumerators:
      - name: Client
      - name: Server
      item_type: enum
      name: MySqlMessageOrigin
      pos:
        line_end: 23
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    - enumerators:
      - name: Client_StmtSendLongData
      - name: Server_Data
      - name: Unknown
      - name: Client_TableDump
      - name: Client_BinlogDumpGtid
      - name: Client_RegisterSlave
      - name: Client_Clone
      - name: Client_Sleep
      - name: Client_InitDb
      - name: Client_FieldList
      - name: Client_DropDb
      - name: Client_Shutdown
      - name: Client_ProcessKill
      - name: Client_Ping
      - name: Client_DelayedInsert
      - name: Client_ProcessInfo
      - name: Client_BinlogDump
      - name: Client_StmtExecute
      - name: Server_Handshake
      - name: Server_AuthSwitchRequest
      - name: Client_StmtClose
      - name: Server_Error
      - name: Client_SetOption
      - name: Client_Daemon
      - name: Client_ConnectOut
      - name: Client_ResetConnection
      - name: Client_HandshakeResponse
      - name: Client_Query
      - name: Client_Quit
      - name: Client_CreateDb
      - name: Client_Refresh
      - name: Client_ChangeUser
      - name: Client_Debug
      - name: Client_Time
      - name: Client_Statistics
      - name: Client_Connect
      - name: Client_StmtPrepare
      - name: Client_StmtFetch
      - name: Server_Ok
      - name: Server_EOF
      - name: Client_StmtReset
      item_type: enum
      name: Value
      pos:
        line_end: 117
        line_start: 31
        source_file: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    - enumerators:
      - name: Client
      - name: Server
      item_type: enum
      name: MySqlMessageOrigin
      pos:
        line_end: 23
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    - enumerators:
      - name: Client_StmtSendLongData
      - name: Server_Data
      - name: Unknown
      - name: Client_TableDump
      - name: Client_BinlogDumpGtid
      - name: Client_RegisterSlave
      - name: Client_Clone
      - name: Client_Sleep
      - name: Client_InitDb
      - name: Client_FieldList
      - name: Client_DropDb
      - name: Client_Shutdown
      - name: Client_ProcessKill
      - name: Client_Ping
      - name: Client_DelayedInsert
      - name: Client_ProcessInfo
      - name: Client_BinlogDump
      - name: Client_StmtExecute
      - name: Server_Handshake
      - name: Server_AuthSwitchRequest
      - name: Client_StmtClose
      - name: Server_Error
      - name: Client_SetOption
      - name: Client_Daemon
      - name: Client_ConnectOut
      - name: Client_ResetConnection
      - name: Client_HandshakeResponse
      - name: Client_Query
      - name: Client_Quit
      - name: Client_CreateDb
      - name: Client_Refresh
      - name: Client_ChangeUser
      - name: Client_Debug
      - name: Client_Time
      - name: Client_Statistics
      - name: Client_Connect
      - name: Client_StmtPrepare
      - name: Client_StmtFetch
      - name: Server_Ok
      - name: Server_EOF
      - name: Client_StmtReset
      item_type: enum
      name: Value
      pos:
        line_end: 117
        line_start: 31
        source_file: /src/PcapPlusPlus/Packet++/header/MySqlLayer.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::X509Algorithm::X509Algorithm
  - pcpp::X509Algorithm::X509Algorithm
  - operator Value() const
  - pcpp::X520DistinguishedName::X520DistinguishedName
  - pcpp::X520DistinguishedName::X520DistinguishedName
  - operator Value() const
  - pcpp::X509ExtensionType::X509ExtensionType
  - pcpp::X509ExtensionType::X509ExtensionType
  - operator Value() const
  - pcpp::X509SerialNumber::X509SerialNumber
  - pcpp::X509Timestamp::X509Timestamp
  - pcpp::X509Key::X509Key
  - pcpp::X509Internal::X509Base::X509Base
  - pcpp::X509Internal::X509Certificate::X509Certificate
  - pcpp::X509Internal::X509Base::X509Base
  - pcpp::X509Internal::X509Certificate::X509Certificate
  - operator==(const RDN& other) const
  - operator!=(const RDN& other) const
  - '& operator<<(std::ostream& os, const RDN& rdn)'
  - '& getRDNs() const'
  - pcpp::X509Extension::getType
  - pcpp::X509Extension::isCritical
  - pcpp::X509Extension::getRawDataAsHexString
  - pcpp::X509Certificate::X509Certificate
  - '& operator=(const X509Certificate&)'
  - pcpp::X509Algorithm::X509Algorithm
  - pcpp::X509Algorithm::X509Algorithm
  - operator Value() const
  - pcpp::X520DistinguishedName::X520DistinguishedName
  - pcpp::X520DistinguishedName::X520DistinguishedName
  - operator Value() const
  - pcpp::X509ExtensionType::X509ExtensionType
  - pcpp::X509ExtensionType::X509ExtensionType
  - operator Value() const
  - pcpp::X509SerialNumber::X509SerialNumber
  - pcpp::X509Timestamp::X509Timestamp
  - pcpp::X509Key::X509Key
  - pcpp::X509Internal::X509Base::X509Base
  - pcpp::X509Internal::X509Certificate::X509Certificate
  - pcpp::X509Internal::X509Base::X509Base
  - pcpp::X509Internal::X509Certificate::X509Certificate
  - operator==(const RDN& other) const
  - operator!=(const RDN& other) const
  - '& operator<<(std::ostream& os, const RDN& rdn)'
  - '& getRDNs() const'
  - pcpp::X509Extension::getType
  - pcpp::X509Extension::isCritical
  - pcpp::X509Extension::getRawDataAsHexString
  - pcpp::X509Certificate::X509Certificate
  - '& operator=(const X509Certificate&)'
  source_file: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
  types:
    enum:
    - enumerators:
      - name: V1
        value: '0'
      - name: V2
        value: '1'
      - name: V3
        value: '2'
      item_type: enum
      name: X509Version
      pos:
        line_end: 20
        line_start: 12
        source_file: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    - enumerators:
      - name: Unknown
      - name: SHA1
      - name: MD5
      - name: SHA384
      - name: RSAWithSHA1
      - name: RSAWithSHA384
      - name: ECDSAWithSHA1
      - name: DSA
      - name: RSAPSS
      - name: ECDSAWithSHA384
      - name: DSAWithSHA256
      - name: DiffieHellman
      - name: SHA256
      - name: SHA512
      - name: RSA
      - name: RSAWithSHA256
      - name: RSAWithSHA512
      - name: ECDSAWithSHA256
      - name: ECDSA
      - name: DSAWithSHA1
      - name: ECDSAWithSHA512
      - name: ED25519
      - name: ED448
      item_type: enum
      name: Value
      pos:
        line_end: 83
        line_start: 30
        source_file: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    - enumerators:
      - name: CommonName
      - name: SerialNumber
      - name: Locality
      - name: Organization
      - name: Title
      - name: GenerationQualifier
      - name: PostalCode
      - name: Initials
      - name: DomainComponent
      - name: BusinessCategory
      - name: Surname
      - name: Country
      - name: StateOrProvince
      - name: OrganizationalUnit
      - name: GivenName
      - name: DnQualifier
      - name: StreetAddress
      - name: Pseudonym
      - name: EmailAddress
      - name: Unknown
      item_type: enum
      name: Value
      pos:
        line_end: 166
        line_start: 124
        source_file: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    - enumerators:
      - name: AuthorityKeyIdentifier
      - name: ExtendedKeyUsage
      - name: IssuerAltName
      - name: AuthorityInfoAccess
      - name: PolicyMappings
      - name: FreshestCRL
      - name: CTPrecertificateSCTs
      - name: OcspNoCheck
      - name: NameConstraints
      - name: BasicConstraints
      - name: Unknown
      - name: SubjectKeyIdentifier
      - name: KeyUsage
      - name: SubjectAltName
      - name: CrlDistributionPoints
      - name: CertificatePolicies
      - name: PolicyConstraints
      - name: SubjectInfoAccess
      - name: InhibitAnyPolicy
      - name: TLSFeature
      - name: SubjectDirectoryAttributes
      item_type: enum
      name: Value
      pos:
        line_end: 254
        line_start: 206
        source_file: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    - enumerators:
      - name: V1
        value: '0'
      - name: V2
        value: '1'
      - name: V3
        value: '2'
      item_type: enum
      name: X509Version
      pos:
        line_end: 20
        line_start: 12
        source_file: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    - enumerators:
      - name: Unknown
      - name: SHA1
      - name: MD5
      - name: SHA384
      - name: RSAWithSHA1
      - name: RSAWithSHA384
      - name: ECDSAWithSHA1
      - name: DSA
      - name: RSAPSS
      - name: ECDSAWithSHA384
      - name: DSAWithSHA256
      - name: DiffieHellman
      - name: SHA256
      - name: SHA512
      - name: RSA
      - name: RSAWithSHA256
      - name: RSAWithSHA512
      - name: ECDSAWithSHA256
      - name: ECDSA
      - name: DSAWithSHA1
      - name: ECDSAWithSHA512
      - name: ED25519
      - name: ED448
      item_type: enum
      name: Value
      pos:
        line_end: 83
        line_start: 30
        source_file: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    - enumerators:
      - name: CommonName
      - name: SerialNumber
      - name: Locality
      - name: Organization
      - name: Title
      - name: GenerationQualifier
      - name: PostalCode
      - name: Initials
      - name: DomainComponent
      - name: BusinessCategory
      - name: Surname
      - name: Country
      - name: StateOrProvince
      - name: OrganizationalUnit
      - name: GivenName
      - name: DnQualifier
      - name: StreetAddress
      - name: Pseudonym
      - name: EmailAddress
      - name: Unknown
      item_type: enum
      name: Value
      pos:
        line_end: 166
        line_start: 124
        source_file: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    - enumerators:
      - name: AuthorityKeyIdentifier
      - name: ExtendedKeyUsage
      - name: IssuerAltName
      - name: AuthorityInfoAccess
      - name: PolicyMappings
      - name: FreshestCRL
      - name: CTPrecertificateSCTs
      - name: OcspNoCheck
      - name: NameConstraints
      - name: BasicConstraints
      - name: Unknown
      - name: SubjectKeyIdentifier
      - name: KeyUsage
      - name: SubjectAltName
      - name: CrlDistributionPoints
      - name: CertificatePolicies
      - name: PolicyConstraints
      - name: SubjectInfoAccess
      - name: InhibitAnyPolicy
      - name: TLSFeature
      - name: SubjectDirectoryAttributes
      item_type: enum
      name: Value
      pos:
        line_end: 254
        line_start: 206
        source_file: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: X520DistinguishedName
      - name: value
        type: std::string
      item_type: struct
      name: RDN
      pos:
        line_end: 679
        line_start: 656
        source_file: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    - fields:
      - name: type
        type: X520DistinguishedName
      - name: value
        type: std::string
      item_type: struct
      name: RDN
      pos:
        line_end: 679
        line_start: 656
        source_file: /src/PcapPlusPlus/Packet++/header/X509Decoder.h
    typedefs: []
    union: []
- function_names:
  - pcpp::IPv4TimestampOptionValue
  - pcpp::clear
  - pcpp::IPv4Option::IPv4Option
  - ~IPv4Option() override
  - pcpp::IPv4Option::getValueAsIpList
  - pcpp::IPv4Option::getTimestampOptionValue
  - pcpp::IPv4Option::getIPv4OptionType
  - pcpp::IPv4Option::canAssign
  - pcpp::IPv4Option::getTotalSize
  - pcpp::IPv4Option::getDataSize
  - pcpp::IPv4Option::getIPv4OptionType
  - pcpp::IPv4OptionBuilder::IPv4OptionBuilder
  - pcpp::IPv4OptionBuilder::IPv4OptionBuilder
  - pcpp::IPv4Layer::getIPv4Header
  - pcpp::IPv4Layer::getSrcIPAddress
  - pcpp::IPv4Layer::getSrcIPv4Address
  - pcpp::IPv4Layer::setSrcIPv4Address
  - pcpp::IPv4Layer::getDstIPAddress
  - pcpp::IPv4Layer::getDstIPv4Address
  - pcpp::IPv4Layer::setDstIPv4Address
  - pcpp::IPv4Layer::getHeaderLen
  - pcpp::IPv4Layer::getOsiModelLayer
  - pcpp::IPv4Layer::getOptionsBasePtr
  - pcpp::IPv4Layer::isDataValid
  - pcpp::IPv4TimestampOptionValue
  - pcpp::clear
  - pcpp::IPv4Option::IPv4Option
  - ~IPv4Option() override
  - pcpp::IPv4Option::getValueAsIpList
  - pcpp::IPv4Option::getTimestampOptionValue
  - pcpp::IPv4Option::getIPv4OptionType
  - pcpp::IPv4Option::canAssign
  - pcpp::IPv4Option::getTotalSize
  - pcpp::IPv4Option::getDataSize
  - pcpp::IPv4Option::getIPv4OptionType
  - pcpp::IPv4OptionBuilder::IPv4OptionBuilder
  - pcpp::IPv4OptionBuilder::IPv4OptionBuilder
  - pcpp::IPv4Layer::getIPv4Header
  - pcpp::IPv4Layer::getSrcIPAddress
  - pcpp::IPv4Layer::getSrcIPv4Address
  - pcpp::IPv4Layer::setSrcIPv4Address
  - pcpp::IPv4Layer::getDstIPAddress
  - pcpp::IPv4Layer::getDstIPv4Address
  - pcpp::IPv4Layer::setDstIPv4Address
  - pcpp::IPv4Layer::getHeaderLen
  - pcpp::IPv4Layer::getOsiModelLayer
  - pcpp::IPv4Layer::getOptionsBasePtr
  - pcpp::IPv4Layer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
  types:
    enum:
    - enumerators:
      - name: PACKETPP_IPPROTO_RAW
        value: '255'
      - name: PACKETPP_IPPROTO_IP
        value: '0'
      - name: PACKETPP_IPPROTO_ICMP
        value: '1'
      - name: PACKETPP_IPPROTO_IPIP
        value: '4'
      - name: PACKETPP_IPPROTO_EGP
        value: '8'
      - name: PACKETPP_IPPROTO_UDP
        value: '17'
      - name: PACKETPP_IPPROTO_FRAGMENT
        value: '44'
      - name: PACKETPP_IPPROTO_DSTOPTS
        value: '60'
      - name: PACKETPP_IPPROTO_ESP
        value: '50'
      - name: PACKETPP_IPPROTO_IPV6
        value: '41'
      - name: PACKETPP_IPPROTO_ICMPV6
        value: '58'
      - name: PACKETPP_IPPROTO_MAX
      - name: PACKETPP_IPPROTO_IGMP
        value: '2'
      - name: PACKETPP_IPPROTO_HOPOPTS
        value: '0'
      - name: PACKETPP_IPPROTO_TCP
        value: '6'
      - name: PACKETPP_IPPROTO_PUP
        value: '12'
      - name: PACKETPP_IPPROTO_IDP
        value: '22'
      - name: PACKETPP_IPPROTO_ROUTING
        value: '43'
      - name: PACKETPP_IPPROTO_GRE
        value: '47'
      - name: PACKETPP_IPPROTO_NONE
        value: '59'
      - name: PACKETPP_IPPROTO_AH
        value: '51'
      - name: PACKETPP_IPPROTO_VRRP
        value: '112'
      item_type: enum
      name: IPProtocolTypes
      pos:
        line_end: 103
        line_start: 57
        source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    - enumerators:
      - name: IPV4OPT_MTUProbe
        value: '11'
      - name: IPV4OPT_NOP
        value: '1'
      - name: IPV4OPT_QuickStart
        value: '25'
      - name: IPV4OPT_Traceroute
        value: '82'
      - name: IPV4OPT_LooseSourceRoute
        value: '131'
      - name: IPV4OPT_CommercialSecurity
        value: '134'
      - name: IPV4OPT_RouterAlert
        value: '148'
      - name: IPV4OPT_StreamID
        value: '136'
      - name: IPV4OPT_DynamicPacketState
        value: '151'
      - name: IPV4OPT_ExtendedInternetProtocol
        value: '145'
      - name: IPV4OPT_Unknown
      - name: IPV4OPT_EndOfOptionsList
        value: '0'
      - name: IPV4OPT_MTUReply
        value: '12'
      - name: IPV4OPT_RecordRoute
        value: '7'
      - name: IPV4OPT_Timestamp
        value: '68'
      - name: IPV4OPT_Security
        value: '130'
      - name: IPV4OPT_ExtendedSecurity
        value: '133'
      - name: IPV4OPT_AddressExtension
        value: '147'
      - name: IPV4OPT_SelectiveDirectedBroadcast
        value: '149'
      - name: IPV4OPT_StrictSourceRoute
        value: '137'
      - name: IPV4OPT_UpstreamMulticastPkt
        value: '152'
      item_type: enum
      name: IPv4OptionTypes
      pos:
        line_end: 150
        line_start: 106
        source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    - enumerators:
      - name: TimestampOnly
        value: '0'
      - name: TimestampsForPrespecifiedIPs
        value: '2'
      - name: TimestampAndIP
        value: '1'
      - name: Unknown
        value: '3'
      item_type: enum
      name: TimestampType
      pos:
        line_end: 171
        line_start: 161
        source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    - enumerators:
      - name: PACKETPP_IPPROTO_RAW
        value: '255'
      - name: PACKETPP_IPPROTO_IP
        value: '0'
      - name: PACKETPP_IPPROTO_ICMP
        value: '1'
      - name: PACKETPP_IPPROTO_IPIP
        value: '4'
      - name: PACKETPP_IPPROTO_EGP
        value: '8'
      - name: PACKETPP_IPPROTO_UDP
        value: '17'
      - name: PACKETPP_IPPROTO_FRAGMENT
        value: '44'
      - name: PACKETPP_IPPROTO_DSTOPTS
        value: '60'
      - name: PACKETPP_IPPROTO_ESP
        value: '50'
      - name: PACKETPP_IPPROTO_IPV6
        value: '41'
      - name: PACKETPP_IPPROTO_ICMPV6
        value: '58'
      - name: PACKETPP_IPPROTO_MAX
      - name: PACKETPP_IPPROTO_IGMP
        value: '2'
      - name: PACKETPP_IPPROTO_HOPOPTS
        value: '0'
      - name: PACKETPP_IPPROTO_TCP
        value: '6'
      - name: PACKETPP_IPPROTO_PUP
        value: '12'
      - name: PACKETPP_IPPROTO_IDP
        value: '22'
      - name: PACKETPP_IPPROTO_ROUTING
        value: '43'
      - name: PACKETPP_IPPROTO_GRE
        value: '47'
      - name: PACKETPP_IPPROTO_NONE
        value: '59'
      - name: PACKETPP_IPPROTO_AH
        value: '51'
      - name: PACKETPP_IPPROTO_VRRP
        value: '112'
      item_type: enum
      name: IPProtocolTypes
      pos:
        line_end: 103
        line_start: 57
        source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    - enumerators:
      - name: IPV4OPT_MTUProbe
        value: '11'
      - name: IPV4OPT_NOP
        value: '1'
      - name: IPV4OPT_QuickStart
        value: '25'
      - name: IPV4OPT_Traceroute
        value: '82'
      - name: IPV4OPT_LooseSourceRoute
        value: '131'
      - name: IPV4OPT_CommercialSecurity
        value: '134'
      - name: IPV4OPT_RouterAlert
        value: '148'
      - name: IPV4OPT_StreamID
        value: '136'
      - name: IPV4OPT_DynamicPacketState
        value: '151'
      - name: IPV4OPT_ExtendedInternetProtocol
        value: '145'
      - name: IPV4OPT_Unknown
      - name: IPV4OPT_EndOfOptionsList
        value: '0'
      - name: IPV4OPT_MTUReply
        value: '12'
      - name: IPV4OPT_RecordRoute
        value: '7'
      - name: IPV4OPT_Timestamp
        value: '68'
      - name: IPV4OPT_Security
        value: '130'
      - name: IPV4OPT_ExtendedSecurity
        value: '133'
      - name: IPV4OPT_AddressExtension
        value: '147'
      - name: IPV4OPT_SelectiveDirectedBroadcast
        value: '149'
      - name: IPV4OPT_StrictSourceRoute
        value: '137'
      - name: IPV4OPT_UpstreamMulticastPkt
        value: '152'
      item_type: enum
      name: IPv4OptionTypes
      pos:
        line_end: 150
        line_start: 106
        source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    - enumerators:
      - name: TimestampOnly
        value: '0'
      - name: TimestampsForPrespecifiedIPs
        value: '2'
      - name: TimestampAndIP
        value: '1'
      - name: Unknown
        value: '3'
      item_type: enum
      name: TimestampType
      pos:
        line_end: 171
        line_start: 161
        source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    preproc_defs:
    - item_type: preproc_def
      name: PCPP_IP_DONT_FRAGMENT
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: PCPP_IP_MORE_FRAGMENTS
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: PCPP_IP_DONT_FRAGMENT
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: PCPP_IP_MORE_FRAGMENTS
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
      type_or_value: '0x20'
    structs:
    - fields:
      - name: typeOfService
        type: uint8_t
      - name: totalLength
        type: uint16_t
      - name: ipId
        type: uint16_t
      - name: fragmentOffset
        type: uint16_t
      - name: timeToLive
        type: uint8_t
      - name: protocol
        type: uint8_t
      - name: headerChecksum
        type: uint16_t
      - name: ipSrc
        type: uint32_t
      - name: ipDst
        type: uint32_t
      item_type: struct
      name: iphdr
      pos:
        line_end: 52
        line_start: 18
        source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    - fields:
      - name: type
        type: TimestampType
      - name: timestamps
        type: std::vector<uint32_t>
      - name: ipAddresses
        type: std::vector<IPv4Address>
      item_type: struct
      name: IPv4TimestampOptionValue
      pos:
        line_end: 194
        line_start: 158
        source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    - fields:
      - name: typeOfService
        type: uint8_t
      - name: totalLength
        type: uint16_t
      - name: ipId
        type: uint16_t
      - name: fragmentOffset
        type: uint16_t
      - name: timeToLive
        type: uint8_t
      - name: protocol
        type: uint8_t
      - name: headerChecksum
        type: uint16_t
      - name: ipSrc
        type: uint32_t
      - name: ipDst
        type: uint32_t
      item_type: struct
      name: iphdr
      pos:
        line_end: 52
        line_start: 18
        source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    - fields:
      - name: type
        type: TimestampType
      - name: timestamps
        type: std::vector<uint32_t>
      - name: ipAddresses
        type: std::vector<IPv4Address>
      item_type: struct
      name: IPv4TimestampOptionValue
      pos:
        line_end: 194
        line_start: 158
        source_file: /src/PcapPlusPlus/Packet++/header/IPv4Layer.h
    typedefs: []
    union: []
- function_names:
  - ~Packet()
  - pcpp::Packet::Packet
  - pcpp::Packet::getRawPacket
  - pcpp::Packet::getRawPacketReadOnly
  - pcpp::Packet::getFirstLayer
  - pcpp::Packet::getLastLayer
  - pcpp::Packet::addLayer
  - pcpp::Packet::detachLayer
  - pcpp::Packet::getLayerOfType
  - pcpp::Packet::getNextLayerOfType
  - pcpp::Packet::getPrevLayerOfType
  - pcpp::Packet::searchLayerStackForType
  - '& operator<<(std::ostream& os, const pcpp::Packet& packet)'
  - ~Packet()
  - pcpp::Packet::Packet
  - pcpp::Packet::getRawPacket
  - pcpp::Packet::getRawPacketReadOnly
  - pcpp::Packet::getFirstLayer
  - pcpp::Packet::getLastLayer
  - pcpp::Packet::addLayer
  - pcpp::Packet::detachLayer
  - pcpp::Packet::getLayerOfType
  - pcpp::Packet::getNextLayerOfType
  - pcpp::Packet::getPrevLayerOfType
  - pcpp::Packet::searchLayerStackForType
  - '& operator<<(std::ostream& os, const pcpp::Packet& packet)'
  source_file: /src/PcapPlusPlus/Packet++/header/Packet.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: parseUntilProtocol
        type: ProtocolTypeFamily
      - name: parseUntilLayer
        type: OsiModelLayer
      item_type: struct
      name: PacketParseOptions
      pos:
        line_end: 36
        line_start: 16
        source_file: /src/PcapPlusPlus/Packet++/header/Packet.h
    - fields:
      - name: parseUntilProtocol
        type: ProtocolTypeFamily
      - name: parseUntilLayer
        type: OsiModelLayer
      item_type: struct
      name: PacketParseOptions
      pos:
        line_end: 36
        line_start: 16
        source_file: /src/PcapPlusPlus/Packet++/header/Packet.h
    typedefs: []
    union: []
- function_names:
  - pcpp::Sll2Layer::Sll2Layer
  - ~Sll2Layer() override
  - pcpp::Sll2Layer::getSll2Header
  - pcpp::Sll2Layer::getHeaderLen
  - pcpp::Sll2Layer::getOsiModelLayer
  - pcpp::Sll2Layer::Sll2Layer
  - ~Sll2Layer() override
  - pcpp::Sll2Layer::getSll2Header
  - pcpp::Sll2Layer::getHeaderLen
  - pcpp::Sll2Layer::getOsiModelLayer
  source_file: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: protocol_type
        type: uint16_t
      - name: reserved
        type: uint16_t
      - name: interface_index
        type: uint32_t
      - name: ARPHRD_type
        type: uint16_t
      - name: packet_type
        type: uint8_t
      - name: link_layer_addr_len
        type: uint8_t
      - name: link_layer_addr[8]
        type: uint8_t
      item_type: struct
      name: sll2_header
      pos:
        line_end: 34
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h
    - fields:
      - name: protocol_type
        type: uint16_t
      - name: reserved
        type: uint16_t
      - name: interface_index
        type: uint32_t
      - name: ARPHRD_type
        type: uint16_t
      - name: packet_type
        type: uint8_t
      - name: link_layer_addr_len
        type: uint8_t
      - name: link_layer_addr[8]
        type: uint8_t
      item_type: struct
      name: sll2_header
      pos:
        line_end: 34
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/Sll2Layer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::PacketTrailerLayer::PacketTrailerLayer
  - ~PacketTrailerLayer() override
  - pcpp::PacketTrailerLayer::getTrailerData
  - pcpp::PacketTrailerLayer::getTrailerLen
  - pcpp::PacketTrailerLayer::parseNextLayer
  - pcpp::PacketTrailerLayer::getHeaderLen
  - pcpp::PacketTrailerLayer::computeCalculateFields
  - pcpp::PacketTrailerLayer::getOsiModelLayer
  - pcpp::PacketTrailerLayer::PacketTrailerLayer
  - ~PacketTrailerLayer() override
  - pcpp::PacketTrailerLayer::getTrailerData
  - pcpp::PacketTrailerLayer::getTrailerLen
  - pcpp::PacketTrailerLayer::parseNextLayer
  - pcpp::PacketTrailerLayer::getHeaderLen
  - pcpp::PacketTrailerLayer::computeCalculateFields
  - pcpp::PacketTrailerLayer::getOsiModelLayer
  source_file: /src/PcapPlusPlus/Packet++/header/PacketTrailerLayer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::SSLVersion::SSLVersion
  - pcpp::SSLVersion::asUInt
  - pcpp::SSLVersion::SSLVersion
  - pcpp::SSLVersion::asUInt
  source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
  types:
    enum:
    - enumerators:
      - name: SSL_CHANGE_CIPHER_SPEC
        value: '20'
      - name: SSL_APPLICATION_DATA
        value: '23'
      - name: SSL_HANDSHAKE
        value: '22'
      - name: SSL_ALERT
        value: '21'
      item_type: enum
      name: SSLRecordType
      pos:
        line_end: 90
        line_start: 80
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: TLS1_3_FBD26
        value: '0xfb1a'
      - name: TLS1_2
        value: '0x0303'
      - name: TLS1_0
        value: '0x0301'
      - name: TLS1_3_D14
        value: '0x7f0e'
      - name: TLS1_3_D16
        value: '0x7f10'
      - name: TLS1_3_D18
        value: '0x7f12'
      - name: TLS1_3_D20
        value: '0x7f14'
      - name: TLS1_3_D22
        value: '0x7f16'
      - name: TLS1_3_D26
        value: '0x7f1a'
      - name: TLS1_3_D24
        value: '0x7f18'
      - name: TLS1_3_D28
        value: '0x7f1c'
      - name: Unknown
        value: '0'
      - name: SSL3
        value: '0x0300'
      - name: TLS1_3
        value: '0x0304'
      - name: TLS1_1
        value: '0x0302'
      - name: TLS1_3_D15
        value: '0x7f0f'
      - name: TLS1_3_D17
        value: '0x7f11'
      - name: TLS1_3_D27
        value: '0x7f1b'
      - name: TLS1_3_D21
        value: '0x7f15'
      - name: TLS1_3_D19
        value: '0x7f13'
      - name: TLS1_3_D25
        value: '0x7f19'
      - name: TLS1_3_D23
        value: '0x7f17'
      - name: TLS1_3_FBD23
        value: '0xfb17'
      item_type: enum
      name: SSLVersionEnum
      pos:
        line_end: 148
        line_start: 100
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_HELLO_REQUEST
        value: '0'
      - name: SSL_END_OF_EARLY_DATE
        value: '5'
      - name: SSL_NEW_SESSION_TICKET
        value: '4'
      - name: SSL_SERVER_HELLO
        value: '2'
      - name: SSL_CLIENT_HELLO
        value: '1'
      - name: SSL_ENCRYPTED_EXTENSIONS
        value: '8'
      - name: SSL_CERTIFICATE
        value: '11'
      - name: SSL_SERVER_KEY_EXCHANGE
        value: '12'
      - name: SSL_CERTIFICATE_REQUEST
        value: '13'
      - name: SSL_SERVER_DONE
        value: '14'
      - name: SSL_CLIENT_KEY_EXCHANGE
        value: '16'
      - name: SSL_HANDSHAKE_UNKNOWN
        value: '255'
      - name: SSL_CERTIFICATE_VERIFY
        value: '15'
      - name: SSL_FINISHED
        value: '20'
      - name: SSL_KEY_UPDATE
        value: '24'
      item_type: enum
      name: SSLHandshakeType
      pos:
        line_end: 218
        line_start: 186
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_ALERT_LEVEL_WARNING
        value: '1'
      - name: SSL_ALERT_LEVEL_ENCRYPTED
        value: '255'
      - name: SSL_ALERT_LEVEL_FATAL
        value: '2'
      item_type: enum
      name: SSLAlertLevel
      pos:
        line_end: 229
        line_start: 221
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_ALERT_CLOSE_NOTIFY
        value: '0'
      - name: SSL_ALERT_RECORD_OVERFLOW
        value: '22'
      - name: SSL_ALERT_BAD_RECORD_MAC
        value: '20'
      - name: SSL_ALERT_HANDSHAKE_FAILURE
        value: '40'
      - name: SSL_ALERT_BAD_CERTIFICATE
        value: '42'
      - name: SSL_ALERT_CERTIFICATE_UNKNOWN
        value: '46'
      - name: SSL_ALERT_DECODE_ERROR
        value: '50'
      - name: SSL_ALERT_EXPORT_RESTRICTION
        value: '60'
      - name: SSL_ALERT_CERTIFICATE_REVOKED
        value: '44'
      - name: SSL_ALERT_UNKNOWN_CA
        value: '48'
      - name: SSL_ALERT_USER_CANCELLED
        value: '90'
      - name: SSL_ALERT_UNSUPPORTED_EXTENSION
        value: '110'
      - name: SSL_ALERT_INSUFFICIENT_SECURITY
        value: '71'
      - name: SSL_ALERT_ENCRYPTED
        value: '255'
      - name: SSL_ALERT_DECRYPTION_FAILED
        value: '21'
      - name: SSL_ALERT_UNEXPECTED_MESSAGE
        value: '10'
      - name: SSL_ALERT_DECOMPRESSION_FAILURE
        value: '30'
      - name: SSL_ALERT_NO_CERTIFICATE
        value: '41'
      - name: SSL_ALERT_UNSUPPORTED_CERTIFICATE
        value: '43'
      - name: SSL_ALERT_CERTIFICATE_EXPIRED
        value: '45'
      - name: SSL_ALERT_ILLEGAL_PARAMETER
        value: '47'
      - name: SSL_ALERT_DECRYPT_ERROR
        value: '51'
      - name: SSL_ALERT_ACCESS_DENIED
        value: '49'
      - name: SSL_ALERT_PROTOCOL_VERSION
        value: '70'
      - name: SSL_ALERT_NO_RENEGOTIATION
        value: '100'
      - name: SSL_ALERT_INTERNAL_ERROR
        value: '80'
      item_type: enum
      name: SSLAlertDescription
      pos:
        line_end: 286
        line_start: 232
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_KEYX_NULL
      - name: SSL_KEYX_RSA
      - name: SSL_KEYX_ECDH
      - name: SSL_KEYX_DHE
      - name: SSL_KEYX_DH
      - name: SSL_KEYX_ECDHE
      - name: SSL_KEYX_FORTEZZA
      - name: SSL_KEYX_KRB5
      - name: SSL_KEYX_PSK
      - name: SSL_KEYX_GOST
      - name: SSL_KEYX_Unknown
      - name: SSL_KEYX_PCT
      - name: SSL_KEYX_SRP
      item_type: enum
      name: SSLKeyExchangeAlgorithm
      pos:
        line_end: 317
        line_start: 289
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_AUTH_NULL
      - name: SSL_AUTH_anon
      - name: SSL_AUTH_DSS
      - name: SSL_AUTH_RSA
      - name: SSL_AUTH_KEA
      - name: SSL_AUTH_KRB5
      - name: SSL_AUTH_PSK
      - name: SSL_AUTH_ECDSA
      - name: SSL_AUTH_GOST
      - name: SSL_AUTH_SHA
      - name: SSL_AUTH_DHE
      - name: SSL_AUTH_Unknown
      - name: SSL_AUTH_PCT
      item_type: enum
      name: SSLAuthenticationAlgorithm
      pos:
        line_end: 348
        line_start: 320
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_SYM_RC4_40
      - name: SSL_SYM_IDEA_CBC
      - name: SSL_SYM_RC2_CBC_40
      - name: SSL_SYM_DES_CBC
      - name: SSL_SYM_FORTEZZA_CBC
      - name: SSL_SYM_AES_128_CBC
      - name: SSL_SYM_CAMELLIA_256_GCM
      - name: SSL_SYM_RC2_CBC_56
      - name: SSL_SYM_CAMELLIA_256_CBC
      - name: SSL_SYM_CAMELLIA_128_CBC
      - name: SSL_SYM_AES_256
      - name: SSL_SYM_ARIA_128_CBC
      - name: SSL_SYM_ARIA_128_GCM
      - name: SSL_SYM_CHACHA20_POLY1305
      - name: SSL_SYM_AES_256_GCM
      - name: SSL_SYM_IDEA_128_CBC
      - name: SSL_SYM_DES_192_EDE3_CBC
      - name: SSL_SYM_NULL
      - name: SSL_SYM_RC4_128
      - name: SSL_SYM_DES40_CBC
      - name: SSL_SYM_3DES_EDE_CBC
      - name: SSL_SYM_DES_CBC_40
      - name: SSL_SYM_AES_256_CBC
      - name: SSL_SYM_RC4_56
      - name: SSL_SYM_CAMELLIA_128_GCM
      - name: SSL_SYM_GOST28147
      - name: SSL_SYM_SEED_CBC
      - name: SSL_SYM_AES_128
      - name: SSL_SYM_ARIA_256_CBC
      - name: SSL_SYM_RC4_128_EXPORT40
      - name: SSL_SYM_AES_128_CCM
      - name: SSL_SYM_AES_128_GCM
      - name: SSL_SYM_ARIA_256_GCM
      - name: SSL_SYM_Unknown
      - name: SSL_SYM_DES_64_CBC
      - name: SSL_SYM_RC2_CBC_128_CBC
      - name: SSL_SYM_AES_128_CCM_8
      - name: SSL_SYM_RC4_64
      item_type: enum
      name: SSLSymetricEncryptionAlgorithm
      pos:
        line_end: 429
        line_start: 351
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_HASH_NULL
      - name: SSL_HASH_SHA256
      - name: SSL_HASH_SHA
      - name: SSL_HASH_MD5
      - name: SSL_HASH_GOST28147
      - name: SSL_HASH_GOSTR3411
      - name: SSL_HASH_SHA384
      - name: SSL_HASH_CCM
      - name: SSL_HASH_CCM_8
      - name: SSL_HASH_Unknown
      item_type: enum
      name: SSLHashingAlgorithm
      pos:
        line_end: 454
        line_start: 432
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_EXT_SERVER_NAME
        value: '0'
      - name: SSL_EXT_TRUNCATED_HMAC
        value: '4'
      - name: SSL_EXT_CLIENT_CERTIFICATE_URL
        value: '2'
      - name: SSL_EXT_USER_MAPPING
        value: '6'
      - name: SSL_EXT_SERVER_AUTHZ
        value: '8'
      - name: SSL_EXT_SRP
        value: '12'
      - name: SSL_EXT_USE_SRTP
        value: '14'
      - name: SSL_EXT_SIGNED_CERTIFICATE_TIMESTAMP
        value: '18'
      - name: SSL_EXT_APPLICATION_LAYER_PROTOCOL_NEGOTIATION
        value: '16'
      - name: SSL_EXT_SUPPORTED_GROUPS
        value: '10'
      - name: SSL_EXT_TOKEN_BINDING
        value: '24'
      - name: SSL_EXT_KEY_SHARE
        value: '51'
      - name: SSL_EXT_PRE_SHARED_KEY
        value: '41'
      - name: SSL_EXT_COOKIE
        value: '44'
      - name: SSL_EXT_ENCRYPT_THEN_MAC
        value: '22'
      - name: SSL_EXT_POST_HANDSHAKE_AUTH
        value: '49'
      - name: SSL_EXT_SERVER_CERTIFICATE_TYPE
        value: '20'
      - name: SSL_EXT_CERTIFICATE_AUTHORITIES
        value: '47'
      - name: SSL_EXT_TRUSTED_CA_KEYS
        value: '3'
      - name: SSL_EXT_MAX_FRAGMENT_LENGTH
        value: '1'
      - name: SSL_EXT_STATUS_REQUEST
        value: '5'
      - name: SSL_EXT_CLIENT_AUTHZ
        value: '7'
      - name: SSL_EXT_CERT_TYPE
        value: '9'
      - name: SSL_EXT_SIGNATURE_ALGORITHMS
        value: '13'
      - name: SSL_EXT_EC_POINT_FORMATS
        value: '11'
      - name: SSL_EXT_STATUS_REQUEST_V2
        value: '17'
      - name: SSL_EXT_HEARTBEAT
        value: '15'
      - name: SSL_EXT_CLIENT_CERTIFICATE_TYPE
        value: '19'
      - name: SSL_EXT_SESSIONTICKET_TLS
        value: '35'
      - name: SSL_EXT_EXTENDED_MASTER_SECRET
        value: '23'
      - name: SSL_EXT_SIGNATURE_ALGORITHM_CERT
        value: '50'
      - name: SSL_EXT_EARLY_DATA
        value: '42'
      - name: SSL_EXT_RENEGOTIATION_INFO
        value: '65281'
      - name: SSL_EXT_Unknown
      - name: SSL_EXT_PSK_KEY_EXCHANGE_MODES
        value: '45'
      - name: SSL_EXT_SUPPORTED_VERSIONS
        value: '43'
      - name: SSL_EXT_OLD_FILTERS
        value: '48'
      - name: SSL_EXT_PADDING
        value: '21'
      item_type: enum
      name: SSLExtensionType
      pos:
        line_end: 535
        line_start: 457
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_CCT_RSA_SIGN
        value: '1'
      - name: SSL_CCT_RSA_FIXED_DH
        value: '3'
      - name: SSL_CCT_DSS_SIGN
        value: '2'
      - name: SSL_CCT_RSA_EPHEMERAL_DH_RESERVED
        value: '5'
      - name: SSL_CCT_DSS_FIXED_DH
        value: '4'
      - name: SSL_CCT_DSS_EPHEMERAL_DH_RESERVED
        value: '6'
      - name: SSL_CCT_FORTEZZA_DMS_RESERVED
        value: '20'
      - name: SSL_CCT_ECDSA_SIGN
        value: '64'
      - name: SSL_CCT_RSA_FIXED_ECDH
        value: '65'
      - name: SSL_CCT_ECDSA_FIXED_ECDH
        value: '66'
      - name: SSL_CCT_UNKNOWN
      item_type: enum
      name: SSLClientCertificateType
      pos:
        line_end: 562
        line_start: 538
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_CHANGE_CIPHER_SPEC
        value: '20'
      - name: SSL_APPLICATION_DATA
        value: '23'
      - name: SSL_HANDSHAKE
        value: '22'
      - name: SSL_ALERT
        value: '21'
      item_type: enum
      name: SSLRecordType
      pos:
        line_end: 90
        line_start: 80
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: TLS1_3_FBD26
        value: '0xfb1a'
      - name: TLS1_2
        value: '0x0303'
      - name: TLS1_0
        value: '0x0301'
      - name: TLS1_3_D14
        value: '0x7f0e'
      - name: TLS1_3_D16
        value: '0x7f10'
      - name: TLS1_3_D18
        value: '0x7f12'
      - name: TLS1_3_D20
        value: '0x7f14'
      - name: TLS1_3_D22
        value: '0x7f16'
      - name: TLS1_3_D26
        value: '0x7f1a'
      - name: TLS1_3_D24
        value: '0x7f18'
      - name: TLS1_3_D28
        value: '0x7f1c'
      - name: Unknown
        value: '0'
      - name: SSL3
        value: '0x0300'
      - name: TLS1_3
        value: '0x0304'
      - name: TLS1_1
        value: '0x0302'
      - name: TLS1_3_D15
        value: '0x7f0f'
      - name: TLS1_3_D17
        value: '0x7f11'
      - name: TLS1_3_D27
        value: '0x7f1b'
      - name: TLS1_3_D21
        value: '0x7f15'
      - name: TLS1_3_D19
        value: '0x7f13'
      - name: TLS1_3_D25
        value: '0x7f19'
      - name: TLS1_3_D23
        value: '0x7f17'
      - name: TLS1_3_FBD23
        value: '0xfb17'
      item_type: enum
      name: SSLVersionEnum
      pos:
        line_end: 148
        line_start: 100
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_HELLO_REQUEST
        value: '0'
      - name: SSL_END_OF_EARLY_DATE
        value: '5'
      - name: SSL_NEW_SESSION_TICKET
        value: '4'
      - name: SSL_SERVER_HELLO
        value: '2'
      - name: SSL_CLIENT_HELLO
        value: '1'
      - name: SSL_ENCRYPTED_EXTENSIONS
        value: '8'
      - name: SSL_CERTIFICATE
        value: '11'
      - name: SSL_SERVER_KEY_EXCHANGE
        value: '12'
      - name: SSL_CERTIFICATE_REQUEST
        value: '13'
      - name: SSL_SERVER_DONE
        value: '14'
      - name: SSL_CLIENT_KEY_EXCHANGE
        value: '16'
      - name: SSL_HANDSHAKE_UNKNOWN
        value: '255'
      - name: SSL_CERTIFICATE_VERIFY
        value: '15'
      - name: SSL_FINISHED
        value: '20'
      - name: SSL_KEY_UPDATE
        value: '24'
      item_type: enum
      name: SSLHandshakeType
      pos:
        line_end: 218
        line_start: 186
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_ALERT_LEVEL_WARNING
        value: '1'
      - name: SSL_ALERT_LEVEL_ENCRYPTED
        value: '255'
      - name: SSL_ALERT_LEVEL_FATAL
        value: '2'
      item_type: enum
      name: SSLAlertLevel
      pos:
        line_end: 229
        line_start: 221
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_ALERT_CLOSE_NOTIFY
        value: '0'
      - name: SSL_ALERT_RECORD_OVERFLOW
        value: '22'
      - name: SSL_ALERT_BAD_RECORD_MAC
        value: '20'
      - name: SSL_ALERT_HANDSHAKE_FAILURE
        value: '40'
      - name: SSL_ALERT_BAD_CERTIFICATE
        value: '42'
      - name: SSL_ALERT_CERTIFICATE_UNKNOWN
        value: '46'
      - name: SSL_ALERT_DECODE_ERROR
        value: '50'
      - name: SSL_ALERT_EXPORT_RESTRICTION
        value: '60'
      - name: SSL_ALERT_CERTIFICATE_REVOKED
        value: '44'
      - name: SSL_ALERT_UNKNOWN_CA
        value: '48'
      - name: SSL_ALERT_USER_CANCELLED
        value: '90'
      - name: SSL_ALERT_UNSUPPORTED_EXTENSION
        value: '110'
      - name: SSL_ALERT_INSUFFICIENT_SECURITY
        value: '71'
      - name: SSL_ALERT_ENCRYPTED
        value: '255'
      - name: SSL_ALERT_DECRYPTION_FAILED
        value: '21'
      - name: SSL_ALERT_UNEXPECTED_MESSAGE
        value: '10'
      - name: SSL_ALERT_DECOMPRESSION_FAILURE
        value: '30'
      - name: SSL_ALERT_NO_CERTIFICATE
        value: '41'
      - name: SSL_ALERT_UNSUPPORTED_CERTIFICATE
        value: '43'
      - name: SSL_ALERT_CERTIFICATE_EXPIRED
        value: '45'
      - name: SSL_ALERT_ILLEGAL_PARAMETER
        value: '47'
      - name: SSL_ALERT_DECRYPT_ERROR
        value: '51'
      - name: SSL_ALERT_ACCESS_DENIED
        value: '49'
      - name: SSL_ALERT_PROTOCOL_VERSION
        value: '70'
      - name: SSL_ALERT_NO_RENEGOTIATION
        value: '100'
      - name: SSL_ALERT_INTERNAL_ERROR
        value: '80'
      item_type: enum
      name: SSLAlertDescription
      pos:
        line_end: 286
        line_start: 232
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_KEYX_NULL
      - name: SSL_KEYX_RSA
      - name: SSL_KEYX_ECDH
      - name: SSL_KEYX_DHE
      - name: SSL_KEYX_DH
      - name: SSL_KEYX_ECDHE
      - name: SSL_KEYX_FORTEZZA
      - name: SSL_KEYX_KRB5
      - name: SSL_KEYX_PSK
      - name: SSL_KEYX_GOST
      - name: SSL_KEYX_Unknown
      - name: SSL_KEYX_PCT
      - name: SSL_KEYX_SRP
      item_type: enum
      name: SSLKeyExchangeAlgorithm
      pos:
        line_end: 317
        line_start: 289
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_AUTH_NULL
      - name: SSL_AUTH_anon
      - name: SSL_AUTH_DSS
      - name: SSL_AUTH_RSA
      - name: SSL_AUTH_KEA
      - name: SSL_AUTH_KRB5
      - name: SSL_AUTH_PSK
      - name: SSL_AUTH_ECDSA
      - name: SSL_AUTH_GOST
      - name: SSL_AUTH_SHA
      - name: SSL_AUTH_DHE
      - name: SSL_AUTH_Unknown
      - name: SSL_AUTH_PCT
      item_type: enum
      name: SSLAuthenticationAlgorithm
      pos:
        line_end: 348
        line_start: 320
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_SYM_RC4_40
      - name: SSL_SYM_IDEA_CBC
      - name: SSL_SYM_RC2_CBC_40
      - name: SSL_SYM_DES_CBC
      - name: SSL_SYM_FORTEZZA_CBC
      - name: SSL_SYM_AES_128_CBC
      - name: SSL_SYM_CAMELLIA_256_GCM
      - name: SSL_SYM_RC2_CBC_56
      - name: SSL_SYM_CAMELLIA_256_CBC
      - name: SSL_SYM_CAMELLIA_128_CBC
      - name: SSL_SYM_AES_256
      - name: SSL_SYM_ARIA_128_CBC
      - name: SSL_SYM_ARIA_128_GCM
      - name: SSL_SYM_CHACHA20_POLY1305
      - name: SSL_SYM_AES_256_GCM
      - name: SSL_SYM_IDEA_128_CBC
      - name: SSL_SYM_DES_192_EDE3_CBC
      - name: SSL_SYM_NULL
      - name: SSL_SYM_RC4_128
      - name: SSL_SYM_DES40_CBC
      - name: SSL_SYM_3DES_EDE_CBC
      - name: SSL_SYM_DES_CBC_40
      - name: SSL_SYM_AES_256_CBC
      - name: SSL_SYM_RC4_56
      - name: SSL_SYM_CAMELLIA_128_GCM
      - name: SSL_SYM_GOST28147
      - name: SSL_SYM_SEED_CBC
      - name: SSL_SYM_AES_128
      - name: SSL_SYM_ARIA_256_CBC
      - name: SSL_SYM_RC4_128_EXPORT40
      - name: SSL_SYM_AES_128_CCM
      - name: SSL_SYM_AES_128_GCM
      - name: SSL_SYM_ARIA_256_GCM
      - name: SSL_SYM_Unknown
      - name: SSL_SYM_DES_64_CBC
      - name: SSL_SYM_RC2_CBC_128_CBC
      - name: SSL_SYM_AES_128_CCM_8
      - name: SSL_SYM_RC4_64
      item_type: enum
      name: SSLSymetricEncryptionAlgorithm
      pos:
        line_end: 429
        line_start: 351
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_HASH_NULL
      - name: SSL_HASH_SHA256
      - name: SSL_HASH_SHA
      - name: SSL_HASH_MD5
      - name: SSL_HASH_GOST28147
      - name: SSL_HASH_GOSTR3411
      - name: SSL_HASH_SHA384
      - name: SSL_HASH_CCM
      - name: SSL_HASH_CCM_8
      - name: SSL_HASH_Unknown
      item_type: enum
      name: SSLHashingAlgorithm
      pos:
        line_end: 454
        line_start: 432
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_EXT_SERVER_NAME
        value: '0'
      - name: SSL_EXT_TRUNCATED_HMAC
        value: '4'
      - name: SSL_EXT_CLIENT_CERTIFICATE_URL
        value: '2'
      - name: SSL_EXT_USER_MAPPING
        value: '6'
      - name: SSL_EXT_SERVER_AUTHZ
        value: '8'
      - name: SSL_EXT_SRP
        value: '12'
      - name: SSL_EXT_USE_SRTP
        value: '14'
      - name: SSL_EXT_SIGNED_CERTIFICATE_TIMESTAMP
        value: '18'
      - name: SSL_EXT_APPLICATION_LAYER_PROTOCOL_NEGOTIATION
        value: '16'
      - name: SSL_EXT_SUPPORTED_GROUPS
        value: '10'
      - name: SSL_EXT_TOKEN_BINDING
        value: '24'
      - name: SSL_EXT_KEY_SHARE
        value: '51'
      - name: SSL_EXT_PRE_SHARED_KEY
        value: '41'
      - name: SSL_EXT_COOKIE
        value: '44'
      - name: SSL_EXT_ENCRYPT_THEN_MAC
        value: '22'
      - name: SSL_EXT_POST_HANDSHAKE_AUTH
        value: '49'
      - name: SSL_EXT_SERVER_CERTIFICATE_TYPE
        value: '20'
      - name: SSL_EXT_CERTIFICATE_AUTHORITIES
        value: '47'
      - name: SSL_EXT_TRUSTED_CA_KEYS
        value: '3'
      - name: SSL_EXT_MAX_FRAGMENT_LENGTH
        value: '1'
      - name: SSL_EXT_STATUS_REQUEST
        value: '5'
      - name: SSL_EXT_CLIENT_AUTHZ
        value: '7'
      - name: SSL_EXT_CERT_TYPE
        value: '9'
      - name: SSL_EXT_SIGNATURE_ALGORITHMS
        value: '13'
      - name: SSL_EXT_EC_POINT_FORMATS
        value: '11'
      - name: SSL_EXT_STATUS_REQUEST_V2
        value: '17'
      - name: SSL_EXT_HEARTBEAT
        value: '15'
      - name: SSL_EXT_CLIENT_CERTIFICATE_TYPE
        value: '19'
      - name: SSL_EXT_SESSIONTICKET_TLS
        value: '35'
      - name: SSL_EXT_EXTENDED_MASTER_SECRET
        value: '23'
      - name: SSL_EXT_SIGNATURE_ALGORITHM_CERT
        value: '50'
      - name: SSL_EXT_EARLY_DATA
        value: '42'
      - name: SSL_EXT_RENEGOTIATION_INFO
        value: '65281'
      - name: SSL_EXT_Unknown
      - name: SSL_EXT_PSK_KEY_EXCHANGE_MODES
        value: '45'
      - name: SSL_EXT_SUPPORTED_VERSIONS
        value: '43'
      - name: SSL_EXT_OLD_FILTERS
        value: '48'
      - name: SSL_EXT_PADDING
        value: '21'
      item_type: enum
      name: SSLExtensionType
      pos:
        line_end: 535
        line_start: 457
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - enumerators:
      - name: SSL_CCT_RSA_SIGN
        value: '1'
      - name: SSL_CCT_RSA_FIXED_DH
        value: '3'
      - name: SSL_CCT_DSS_SIGN
        value: '2'
      - name: SSL_CCT_RSA_EPHEMERAL_DH_RESERVED
        value: '5'
      - name: SSL_CCT_DSS_FIXED_DH
        value: '4'
      - name: SSL_CCT_DSS_EPHEMERAL_DH_RESERVED
        value: '6'
      - name: SSL_CCT_FORTEZZA_DMS_RESERVED
        value: '20'
      - name: SSL_CCT_ECDSA_SIGN
        value: '64'
      - name: SSL_CCT_RSA_FIXED_ECDH
        value: '65'
      - name: SSL_CCT_ECDSA_FIXED_ECDH
        value: '66'
      - name: SSL_CCT_UNKNOWN
      item_type: enum
      name: SSLClientCertificateType
      pos:
        line_end: 562
        line_start: 538
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    preproc_defs: []
    structs:
    - fields:
      - name: recordType
        type: uint8_t
      - name: recordVersion
        type: uint16_t
      - name: length
        type: uint16_t
      item_type: struct
      name: ssl_tls_record_layer
      pos:
        line_end: 23
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - fields:
      - name: handshakeType
        type: uint8_t
      - name: length1
        type: uint8_t
      - name: length2
        type: uint16_t
      item_type: struct
      name: ssl_tls_handshake_layer
      pos:
        line_end: 38
        line_start: 30
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - fields:
      - name: handshakeVersion
        type: uint16_t
      - name: random[32]
        type: uint8_t
      item_type: struct
      name: ssl_tls_client_server_hello
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - fields:
      - name: changeCipherSpec
        type: uint8_t
      item_type: struct
      name: ssl_tls_change_cipher_spec
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - fields:
      - name: alertLevel
        type: uint8_t
      - name: alertDescription
        type: uint8_t
      item_type: struct
      name: ssl_tls_alert
      pos:
        line_end: 75
        line_start: 69
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - fields:
      - name: recordType
        type: uint8_t
      - name: recordVersion
        type: uint16_t
      - name: length
        type: uint16_t
      item_type: struct
      name: ssl_tls_record_layer
      pos:
        line_end: 23
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - fields:
      - name: handshakeType
        type: uint8_t
      - name: length1
        type: uint8_t
      - name: length2
        type: uint16_t
      item_type: struct
      name: ssl_tls_handshake_layer
      pos:
        line_end: 38
        line_start: 30
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - fields:
      - name: handshakeVersion
        type: uint16_t
      - name: random[32]
        type: uint8_t
      item_type: struct
      name: ssl_tls_client_server_hello
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - fields:
      - name: changeCipherSpec
        type: uint8_t
      item_type: struct
      name: ssl_tls_change_cipher_spec
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    - fields:
      - name: alertLevel
        type: uint8_t
      - name: alertDescription
        type: uint8_t
      item_type: struct
      name: ssl_tls_alert
      pos:
        line_end: 75
        line_start: 69
        source_file: /src/PcapPlusPlus/Packet++/header/SSLCommon.h
    typedefs: []
    union: []
- function_names:
  - pcpp::NtpLayer::getNtpHeader
  - pcpp::NtpLayer::NtpLayer
  - pcpp::NtpLayer::isNTPPort
  - pcpp::NtpLayer::parseNextLayer
  - pcpp::NtpLayer::getHeaderLen
  - pcpp::NtpLayer::computeCalculateFields
  - pcpp::NtpLayer::getOsiModelLayer
  - pcpp::NtpLayer::getNtpHeader
  - pcpp::NtpLayer::NtpLayer
  - pcpp::NtpLayer::isNTPPort
  - pcpp::NtpLayer::parseNextLayer
  - pcpp::NtpLayer::getHeaderLen
  - pcpp::NtpLayer::computeCalculateFields
  - pcpp::NtpLayer::getOsiModelLayer
  source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
  types:
    enum:
    - enumerators:
      - name: NoWarning
        value: '0'
      - name: Unknown
      - name: Last61Secs
      - name: Last59Secs
      item_type: enum
      name: LeapIndicator
      pos:
        line_end: 165
        line_start: 155
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    - enumerators:
      - name: Reserved
        value: '0'
      - name: SymActive
      - name: Server
      - name: SymPassive
      - name: Client
      - name: Broadcast
      - name: Control
      - name: PrivateUse
      item_type: enum
      name: Mode
      pos:
        line_end: 186
        line_start: 168
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    - enumerators:
      - name: IRIG
        value: ('I') | ('R' << 8) | ('I' << 16) | ('G' << 24)
      - name: GPS
        value: ('G') | ('P' << 8) | ('S' << 16)
      - name: JJY
        value: ('J') | ('J' << 8) | ('Y' << 16)
      - name: PTB
        value: ('P') | ('T' << 8) | ('B' << 16)
      - name: CHU
        value: ('C') | ('H' << 8) | ('U' << 16)
      - name: LOCL
        value: ('L') | ('O' << 8) | ('C' << 16) | ('L' << 24)
      - name: DTS
        value: ('D') | ('T' << 8) | ('S' << 16)
      - name: GAL
        value: ('G') | ('A' << 8) | ('L' << 16)
      - name: DCF
        value: ('D') | ('C' << 8) | ('F' << 16)
      - name: WWV
        value: ('W') | ('W' << 8) | ('V' << 16)
      - name: NIST
        value: ('N') | ('I' << 8) | ('S' << 16) | ('T' << 24)
      - name: MRS
        value: ('M') | ('R' << 8) | ('S' << 16)
      - name: STEP
        value: ('S') | ('T' << 8) | ('E' << 16) | ('P' << 24)
      - name: DCFa
        value: ('D') | ('C' << 8) | ('F' << 16) | ('a' << 24)
      - name: GPSs
        value: ('G') | ('P' << 8) | ('S' << 16) | ('s' << 24)
      - name: GLNi
        value: ('G') | ('L' << 8) | ('N' << 16) | ('i' << 24)
      - name: DCN
        value: ('D') | ('C' << 8) | ('N' << 16)
      - name: VLF
        value: ('V') | ('L' << 8) | ('F' << 16)
      - name: PPS
        value: ('P') | ('P' << 8) | ('S' << 16)
      - name: WWVB
        value: ('W') | ('W' << 8) | ('V' << 16) | ('B' << 24)
      - name: HBG
        value: ('H') | ('B' << 8) | ('G' << 16)
      - name: LORC
        value: ('L') | ('O' << 8) | ('R' << 16) | ('C' << 24)
      - name: LCL
        value: ('L') | ('C' << 8) | ('L' << 16)
      - name: TSP
        value: ('T') | ('S' << 8) | ('P' << 16)
      - name: GOES
        value: ('G') | ('O' << 8) | ('E' << 16) | ('S' << 24)
      - name: MSF
        value: ('M') | ('S' << 8) | ('F' << 16)
      - name: ACTS
        value: ('A') | ('C' << 8) | ('T' << 16) | ('S' << 24)
      - name: TDF
        value: ('T') | ('D' << 8) | ('F' << 16)
      - name: WWVH
        value: ('W') | ('W' << 8) | ('V' << 16) | ('H' << 24)
      - name: USNO
        value: ('U') | ('S' << 8) | ('N' << 16) | ('O' << 24)
      - name: XFAC
        value: ('X') | ('F' << 8) | ('A' << 16) | ('C' << 24)
      - name: GOOG
        value: ('G') | ('O' << 8) | ('O' << 16) | ('G' << 24)
      - name: DCFp
        value: ('D') | ('C' << 8) | ('F' << 16) | ('p' << 24)
      - name: GPSi
        value: ('G') | ('P' << 8) | ('S' << 16) | ('i' << 24)
      - name: ATOM
        value: ('A') | ('T' << 8) | ('O' << 16) | ('M' << 24)
      - name: GLNs
        value: ('G') | ('L' << 8) | ('N' << 16) | ('s' << 24)
      item_type: enum
      name: ClockSource
      pos:
        line_end: 275
        line_start: 190
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    - enumerators:
      - name: ACST
        value: ('A') | ('C' << 8) | ('S' << 16) | ('T' << 24)
      - name: BCST
        value: ('B') | ('C' << 8) | ('S' << 16) | ('T' << 24)
      - name: AUTH
        value: ('A') | ('U' << 8) | ('T' << 16) | ('H' << 24)
      - name: AUTO
        value: ('A') | ('U' << 8) | ('T' << 16) | ('O' << 24)
      - name: CRYP
        value: ('C') | ('R' << 8) | ('Y' << 16) | ('P' << 24)
      - name: DENY
        value: ('D') | ('E' << 8) | ('N' << 16) | ('Y' << 24)
      - name: DROP
        value: ('D') | ('R' << 8) | ('O' << 16) | ('P' << 24)
      - name: RSTR
        value: ('R') | ('S' << 8) | ('T' << 16) | ('R' << 24)
      - name: INIT
        value: ('I') | ('N' << 8) | ('I' << 16) | ('T' << 24)
      - name: MCST
        value: ('M') | ('C' << 8) | ('S' << 16) | ('T' << 24)
      - name: RMOT
        value: ('R') | ('M' << 8) | ('O' << 16) | ('T' << 24)
      - name: NKEY
        value: ('N') | ('K' << 8) | ('E' << 16) | ('Y' << 24)
      - name: STEP
        value: ('S') | ('T' << 8) | ('E' << 16) | ('P' << 24)
      - name: RATE
        value: ('R') | ('A' << 8) | ('T' << 16) | ('E' << 24)
      item_type: enum
      name: KissODeath
      pos:
        line_end: 309
        line_start: 278
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    - enumerators:
      - name: NoWarning
        value: '0'
      - name: Unknown
      - name: Last61Secs
      - name: Last59Secs
      item_type: enum
      name: LeapIndicator
      pos:
        line_end: 165
        line_start: 155
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    - enumerators:
      - name: Reserved
        value: '0'
      - name: SymActive
      - name: Server
      - name: SymPassive
      - name: Client
      - name: Broadcast
      - name: Control
      - name: PrivateUse
      item_type: enum
      name: Mode
      pos:
        line_end: 186
        line_start: 168
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    - enumerators:
      - name: IRIG
        value: ('I') | ('R' << 8) | ('I' << 16) | ('G' << 24)
      - name: GPS
        value: ('G') | ('P' << 8) | ('S' << 16)
      - name: JJY
        value: ('J') | ('J' << 8) | ('Y' << 16)
      - name: PTB
        value: ('P') | ('T' << 8) | ('B' << 16)
      - name: CHU
        value: ('C') | ('H' << 8) | ('U' << 16)
      - name: LOCL
        value: ('L') | ('O' << 8) | ('C' << 16) | ('L' << 24)
      - name: DTS
        value: ('D') | ('T' << 8) | ('S' << 16)
      - name: GAL
        value: ('G') | ('A' << 8) | ('L' << 16)
      - name: DCF
        value: ('D') | ('C' << 8) | ('F' << 16)
      - name: WWV
        value: ('W') | ('W' << 8) | ('V' << 16)
      - name: NIST
        value: ('N') | ('I' << 8) | ('S' << 16) | ('T' << 24)
      - name: MRS
        value: ('M') | ('R' << 8) | ('S' << 16)
      - name: STEP
        value: ('S') | ('T' << 8) | ('E' << 16) | ('P' << 24)
      - name: DCFa
        value: ('D') | ('C' << 8) | ('F' << 16) | ('a' << 24)
      - name: GPSs
        value: ('G') | ('P' << 8) | ('S' << 16) | ('s' << 24)
      - name: GLNi
        value: ('G') | ('L' << 8) | ('N' << 16) | ('i' << 24)
      - name: DCN
        value: ('D') | ('C' << 8) | ('N' << 16)
      - name: VLF
        value: ('V') | ('L' << 8) | ('F' << 16)
      - name: PPS
        value: ('P') | ('P' << 8) | ('S' << 16)
      - name: WWVB
        value: ('W') | ('W' << 8) | ('V' << 16) | ('B' << 24)
      - name: HBG
        value: ('H') | ('B' << 8) | ('G' << 16)
      - name: LORC
        value: ('L') | ('O' << 8) | ('R' << 16) | ('C' << 24)
      - name: LCL
        value: ('L') | ('C' << 8) | ('L' << 16)
      - name: TSP
        value: ('T') | ('S' << 8) | ('P' << 16)
      - name: GOES
        value: ('G') | ('O' << 8) | ('E' << 16) | ('S' << 24)
      - name: MSF
        value: ('M') | ('S' << 8) | ('F' << 16)
      - name: ACTS
        value: ('A') | ('C' << 8) | ('T' << 16) | ('S' << 24)
      - name: TDF
        value: ('T') | ('D' << 8) | ('F' << 16)
      - name: WWVH
        value: ('W') | ('W' << 8) | ('V' << 16) | ('H' << 24)
      - name: USNO
        value: ('U') | ('S' << 8) | ('N' << 16) | ('O' << 24)
      - name: XFAC
        value: ('X') | ('F' << 8) | ('A' << 16) | ('C' << 24)
      - name: GOOG
        value: ('G') | ('O' << 8) | ('O' << 16) | ('G' << 24)
      - name: DCFp
        value: ('D') | ('C' << 8) | ('F' << 16) | ('p' << 24)
      - name: GPSi
        value: ('G') | ('P' << 8) | ('S' << 16) | ('i' << 24)
      - name: ATOM
        value: ('A') | ('T' << 8) | ('O' << 16) | ('M' << 24)
      - name: GLNs
        value: ('G') | ('L' << 8) | ('N' << 16) | ('s' << 24)
      item_type: enum
      name: ClockSource
      pos:
        line_end: 275
        line_start: 190
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    - enumerators:
      - name: ACST
        value: ('A') | ('C' << 8) | ('S' << 16) | ('T' << 24)
      - name: BCST
        value: ('B') | ('C' << 8) | ('S' << 16) | ('T' << 24)
      - name: AUTH
        value: ('A') | ('U' << 8) | ('T' << 16) | ('H' << 24)
      - name: AUTO
        value: ('A') | ('U' << 8) | ('T' << 16) | ('O' << 24)
      - name: CRYP
        value: ('C') | ('R' << 8) | ('Y' << 16) | ('P' << 24)
      - name: DENY
        value: ('D') | ('E' << 8) | ('N' << 16) | ('Y' << 24)
      - name: DROP
        value: ('D') | ('R' << 8) | ('O' << 16) | ('P' << 24)
      - name: RSTR
        value: ('R') | ('S' << 8) | ('T' << 16) | ('R' << 24)
      - name: INIT
        value: ('I') | ('N' << 8) | ('I' << 16) | ('T' << 24)
      - name: MCST
        value: ('M') | ('C' << 8) | ('S' << 16) | ('T' << 24)
      - name: RMOT
        value: ('R') | ('M' << 8) | ('O' << 16) | ('T' << 24)
      - name: NKEY
        value: ('N') | ('K' << 8) | ('E' << 16) | ('Y' << 24)
      - name: STEP
        value: ('S') | ('T' << 8) | ('E' << 16) | ('P' << 24)
      - name: RATE
        value: ('R') | ('A' << 8) | ('T' << 16) | ('E' << 24)
      item_type: enum
      name: KissODeath
      pos:
        line_end: 309
        line_start: 278
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: stratum
        type: uint8_t
      - name: pollInterval
        type: int8_t
      - name: rootDelay
        type: uint32_t
      - name: referenceTimestamp
        type: uint64_t
      item_type: struct
      name: ntp_header
      pos:
        line_end: 111
        line_start: 71
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    - fields:
      - name: keyID
        type: uint32_t
      - name: dgst[8]
        type: uint8_t
      item_type: struct
      name: ntp_v3_auth
      pos:
        line_end: 122
        line_start: 116
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    - fields:
      - name: keyID
        type: uint32_t
      - name: dgst[16]
        type: uint8_t
      item_type: struct
      name: ntp_v4_auth_md5
      pos:
        line_end: 133
        line_start: 127
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    - fields:
      - name: keyID
        type: uint32_t
      - name: dgst[20]
        type: uint8_t
      item_type: struct
      name: ntp_v4_auth_sha1
      pos:
        line_end: 144
        line_start: 138
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    - fields:
      - name: stratum
        type: uint8_t
      - name: pollInterval
        type: int8_t
      - name: rootDelay
        type: uint32_t
      - name: referenceTimestamp
        type: uint64_t
      item_type: struct
      name: ntp_header
      pos:
        line_end: 111
        line_start: 71
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    - fields:
      - name: keyID
        type: uint32_t
      - name: dgst[8]
        type: uint8_t
      item_type: struct
      name: ntp_v3_auth
      pos:
        line_end: 122
        line_start: 116
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    - fields:
      - name: keyID
        type: uint32_t
      - name: dgst[16]
        type: uint8_t
      item_type: struct
      name: ntp_v4_auth_md5
      pos:
        line_end: 133
        line_start: 127
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    - fields:
      - name: keyID
        type: uint32_t
      - name: dgst[20]
        type: uint8_t
      item_type: struct
      name: ntp_v4_auth_sha1
      pos:
        line_end: 144
        line_start: 138
        source_file: /src/PcapPlusPlus/Packet++/header/NtpLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::ModbusLayer::ModbusLayer
  - pcpp::ModbusLayer::isModbusPort
  - pcpp::ModbusLayer::isDataValid
  - pcpp::ModbusLayer::parseNextLayer
  - pcpp::ModbusLayer::getHeaderLen
  - pcpp::ModbusLayer::computeCalculateFields
  - pcpp::ModbusLayer::getOsiModelLayer
  - pcpp::ModbusLayer::ModbusLayer
  - pcpp::ModbusLayer::isModbusPort
  - pcpp::ModbusLayer::isDataValid
  - pcpp::ModbusLayer::parseNextLayer
  - pcpp::ModbusLayer::getHeaderLen
  - pcpp::ModbusLayer::computeCalculateFields
  - pcpp::ModbusLayer::getOsiModelLayer
  source_file: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
  types:
    enum:
    - enumerators:
      - name: ReadCoils
        value: '1'
      - name: ReadDiscreteInputs
        value: '2'
      - name: WriteSingleCoil
        value: '5'
      - name: ReadInputRegisters
        value: '4'
      - name: ReadHoldingRegisters
        value: '3'
      - name: WriteSingleHoldingRegister
        value: '6'
      - name: WriteMultipleCoils
        value: '15'
      - name: WriteMultipleHoldingRegisters
        value: '16'
      - name: ReadSlaveId
        value: '17'
      - name: UnknownFunction
        value: '0xFF'
      item_type: enum
      name: ModbusFunctionCode
      pos:
        line_end: 70
        line_start: 39
        source_file: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    - enumerators:
      - name: ReadCoils
        value: '1'
      - name: ReadDiscreteInputs
        value: '2'
      - name: WriteSingleCoil
        value: '5'
      - name: ReadInputRegisters
        value: '4'
      - name: ReadHoldingRegisters
        value: '3'
      - name: WriteSingleHoldingRegister
        value: '6'
      - name: WriteMultipleCoils
        value: '15'
      - name: WriteMultipleHoldingRegisters
        value: '16'
      - name: ReadSlaveId
        value: '17'
      - name: UnknownFunction
        value: '0xFF'
      item_type: enum
      name: ModbusFunctionCode
      pos:
        line_end: 70
        line_start: 39
        source_file: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: transactionId
        type: uint16_t
      - name: protocolId
        type: uint16_t
      - name: length
        type: uint16_t
      - name: unitId
        type: uint8_t
      - name: functionCode
        type: uint8_t
      item_type: struct
      name: modbus_header
      pos:
        line_end: 27
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    - fields:
      - name: startingAddress
        type: uint16_t
      - name: quantity
        type: uint16_t
      item_type: struct
      name: ModbusReadInputRegisters
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    - fields:
      - name: transactionId
        type: uint16_t
      - name: protocolId
        type: uint16_t
      - name: length
        type: uint16_t
      - name: unitId
        type: uint8_t
      - name: functionCode
        type: uint8_t
      item_type: struct
      name: modbus_header
      pos:
        line_end: 27
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    - fields:
      - name: startingAddress
        type: uint16_t
      - name: quantity
        type: uint16_t
      item_type: struct
      name: ModbusReadInputRegisters
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/PcapPlusPlus/Packet++/header/ModbusLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::DoIpLayer::getHeaderLen
  - pcpp::DoIpLayer::computeCalculateFields
  - pcpp::DoIpLayer::getOsiModelLayer
  - pcpp::DoIpLayer::getDoIpHeader
  - pcpp::DoIpLayer::isDoIpPort
  - pcpp::DoIpLayer::isProtocolVersionValid
  - pcpp::DoIpLayer::isPayloadTypeValid
  - pcpp::DoIpLayer::isPayloadLengthValid
  - pcpp::DoIpGenericHeaderNack::getPayloadType
  - pcpp::DoIpGenericHeaderNack::isDataLenValid
  - pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
  - pcpp::DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest
  - pcpp::DoIpVehicleIdentificationRequest::getPayloadType
  - pcpp::DoIpVehicleIdentificationRequest::isDataLenValid
  - pcpp::DoIpVehicleIdentificationRequestWithEID::getPayloadType
  - pcpp::DoIpVehicleIdentificationRequestWithEID::isDataLenValid
  - pcpp::DoIpVehicleIdentificationRequestWithEID::getVehicleIdentificationRequestWEID
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::getPayloadType
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::isDataLenValid
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::getVehicleIdentificationRequestWVIN
  - pcpp::DoIpVehicleAnnouncementMessage::getPayloadType
  - pcpp::DoIpVehicleAnnouncementMessage::isDataLenValid
  - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
  - pcpp::DoIpRoutingActivationRequest::getPayloadType
  - pcpp::DoIpRoutingActivationRequest::isDataLenValid
  - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
  - pcpp::DoIpRoutingActivationResponse::getPayloadType
  - pcpp::DoIpRoutingActivationResponse::isDataLenValid
  - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
  - pcpp::DoIpAliveCheckRequest::DoIpAliveCheckRequest
  - pcpp::DoIpAliveCheckRequest::getPayloadType
  - pcpp::DoIpAliveCheckRequest::isDataLenValid
  - pcpp::DoIpAliveCheckResponse::getPayloadType
  - pcpp::DoIpAliveCheckResponse::isDataLenValid
  - pcpp::DoIpAliveCheckResponse::getAliveCheckResponse
  - pcpp::DoIpEntityStatusRequest::DoIpEntityStatusRequest
  - pcpp::DoIpEntityStatusRequest::getPayloadType
  - pcpp::DoIpEntityStatusRequest::isDataLenValid
  - pcpp::DoIpEntityStatusResponse::getPayloadType
  - pcpp::DoIpEntityStatusResponse::isDataLenValid
  - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
  - pcpp::DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest
  - pcpp::DoIpDiagnosticPowerModeRequest::getPayloadType
  - pcpp::DoIpDiagnosticPowerModeRequest::isDataLenValid
  - pcpp::DoIpDiagnosticPowerModeResponse::getPayloadType
  - pcpp::DoIpDiagnosticPowerModeResponse::isDataLenValid
  - pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
  - pcpp::DoIpDiagnosticBase::DoIpDiagnosticBase
  - pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
  - pcpp::DoIpDiagnosticMessage::getPayloadType
  - pcpp::DoIpDiagnosticMessage::getHeaderLen
  - pcpp::DoIpDiagnosticMessage::isDataLenValid
  - pcpp::DoIpDiagnosticResponseMessageBase::isDataLenValid
  - pcpp::DoIpDiagnosticResponseMessageBase::getDiagnosticResponseMessageBase
  - pcpp::DoIpDiagnosticMessageAck::getPayloadType
  - pcpp::DoIpDiagnosticMessageNack::getPayloadType
  - pcpp::DoIpLayer::getHeaderLen
  - pcpp::DoIpLayer::computeCalculateFields
  - pcpp::DoIpLayer::getOsiModelLayer
  - pcpp::DoIpLayer::getDoIpHeader
  - pcpp::DoIpLayer::isDoIpPort
  - pcpp::DoIpLayer::isProtocolVersionValid
  - pcpp::DoIpLayer::isPayloadTypeValid
  - pcpp::DoIpLayer::isPayloadLengthValid
  - pcpp::DoIpGenericHeaderNack::getPayloadType
  - pcpp::DoIpGenericHeaderNack::isDataLenValid
  - pcpp::DoIpGenericHeaderNack::getGenericHeaderNack
  - pcpp::DoIpVehicleIdentificationRequest::DoIpVehicleIdentificationRequest
  - pcpp::DoIpVehicleIdentificationRequest::getPayloadType
  - pcpp::DoIpVehicleIdentificationRequest::isDataLenValid
  - pcpp::DoIpVehicleIdentificationRequestWithEID::getPayloadType
  - pcpp::DoIpVehicleIdentificationRequestWithEID::isDataLenValid
  - pcpp::DoIpVehicleIdentificationRequestWithEID::getVehicleIdentificationRequestWEID
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::getPayloadType
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::isDataLenValid
  - pcpp::DoIpVehicleIdentificationRequestWithVIN::getVehicleIdentificationRequestWVIN
  - pcpp::DoIpVehicleAnnouncementMessage::getPayloadType
  - pcpp::DoIpVehicleAnnouncementMessage::isDataLenValid
  - pcpp::DoIpVehicleAnnouncementMessage::getVehicleAnnouncementMessage
  - pcpp::DoIpRoutingActivationRequest::getPayloadType
  - pcpp::DoIpRoutingActivationRequest::isDataLenValid
  - pcpp::DoIpRoutingActivationRequest::getRoutingActivationRequest
  - pcpp::DoIpRoutingActivationResponse::getPayloadType
  - pcpp::DoIpRoutingActivationResponse::isDataLenValid
  - pcpp::DoIpRoutingActivationResponse::getRoutingActivationResponse
  - pcpp::DoIpAliveCheckRequest::DoIpAliveCheckRequest
  - pcpp::DoIpAliveCheckRequest::getPayloadType
  - pcpp::DoIpAliveCheckRequest::isDataLenValid
  - pcpp::DoIpAliveCheckResponse::getPayloadType
  - pcpp::DoIpAliveCheckResponse::isDataLenValid
  - pcpp::DoIpAliveCheckResponse::getAliveCheckResponse
  - pcpp::DoIpEntityStatusRequest::DoIpEntityStatusRequest
  - pcpp::DoIpEntityStatusRequest::getPayloadType
  - pcpp::DoIpEntityStatusRequest::isDataLenValid
  - pcpp::DoIpEntityStatusResponse::getPayloadType
  - pcpp::DoIpEntityStatusResponse::isDataLenValid
  - pcpp::DoIpEntityStatusResponse::getEntityStatusResponse
  - pcpp::DoIpDiagnosticPowerModeRequest::DoIpDiagnosticPowerModeRequest
  - pcpp::DoIpDiagnosticPowerModeRequest::getPayloadType
  - pcpp::DoIpDiagnosticPowerModeRequest::isDataLenValid
  - pcpp::DoIpDiagnosticPowerModeResponse::getPayloadType
  - pcpp::DoIpDiagnosticPowerModeResponse::isDataLenValid
  - pcpp::DoIpDiagnosticPowerModeResponse::getDiagnosticPowerModeResponse
  - pcpp::DoIpDiagnosticBase::DoIpDiagnosticBase
  - pcpp::DoIpDiagnosticBase::getCommonDiagnosticHeader
  - pcpp::DoIpDiagnosticMessage::getPayloadType
  - pcpp::DoIpDiagnosticMessage::getHeaderLen
  - pcpp::DoIpDiagnosticMessage::isDataLenValid
  - pcpp::DoIpDiagnosticResponseMessageBase::isDataLenValid
  - pcpp::DoIpDiagnosticResponseMessageBase::getDiagnosticResponseMessageBase
  - pcpp::DoIpDiagnosticMessageAck::getPayloadType
  - pcpp::DoIpDiagnosticMessageNack::getPayloadType
  source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
  types:
    enum:
    - enumerators:
      - name: DEFAULT
        value: 0x00U
      - name: WWH_OBD
        value: 0x01U
      - name: CENTRAL_SECURITY
        value: 0xE0U
      - name: UNKNOWN
      item_type: enum
      name: DoIpActivationTypes
      pos:
        line_end: 76
        line_start: 59
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: INCORRECT_PATTERN
        value: 0x00U
      - name: UNKNOWN_PAYLOAD_TYPE
        value: 0x01U
      - name: INVALID_PAYLOAD_LENGTH
        value: 0x04U
      - name: OUT_OF_MEMORY
        value: 0x03U
      - name: MESSAGE_TOO_LARGE
        value: 0x02U
      - name: UNKNOWN
      item_type: enum
      name: DoIpGenericHeaderNackCodes
      pos:
        line_end: 105
        line_start: 80
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: NO_FURTHER_ACTION_REQUIRED
        value: 0x00U
      - name: RESERVED_ISO_0x03
        value: 0x03U
      - name: RESERVED_ISO_0x02
        value: 0x02U
      - name: RESERVED_ISO_0x04
        value: 0x04U
      - name: RESERVED_ISO_0x01
        value: 0x01U
      - name: RESERVED_ISO_0x05
        value: 0x05U
      - name: RESERVED_ISO_0x06
        value: 0x06U
      - name: RESERVED_ISO_0x07
        value: 0x07U
      - name: RESERVED_ISO_0x08
        value: 0x08U
      - name: RESERVED_ISO_0x09
        value: 0x09U
      - name: RESERVED_ISO_0x0A
        value: 0x0AU
      - name: RESERVED_ISO_0x0B
        value: 0x0BU
      - name: RESERVED_ISO_0x0F
        value: 0x0FU
      - name: RESERVED_ISO_0x0E
        value: 0x0EU
      - name: UNKNOWN
      - name: RESERVED_ISO_0x0D
        value: 0x0DU
      - name: RESERVED_ISO_0x0C
        value: 0x0CU
      - name: ROUTING_ACTIVATION_REQUIRED
        value: 0x10U
      item_type: enum
      name: DoIpActionCodes
      pos:
        line_end: 183
        line_start: 110
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: SOURCE_ADDRESS_ALREADY_REGISTERED
        value: 0x03U
      - name: NO_FREE_SOCKET
        value: 0x01U
      - name: REJECTED_CONFIRMATION
        value: 0x05U
      - name: ENCRYPTED_CONNECTION_TLS
        value: 0x07U
      - name: RESERVED_ISO_0x09
        value: 0x09U
      - name: RESERVED_ISO_0x0B
        value: 0x0BU
      - name: CONFIRMATION_REQUIRED
        value: 0x11U
      - name: RESERVED_ISO_0x0F
        value: 0x0FU
      - name: RESERVED_ISO_0x0D
        value: 0x0DU
      - name: UNKNOWN
      - name: UNKNOWN_SOURCE_ADDRESS
        value: 0x00U
      - name: WRONG_SOURCE_ADDRESS
        value: 0x02U
      - name: MISSING_AUTHENTICATION
        value: 0x04U
      - name: UNSUPPORTED_ACTIVATION_TYPE
        value: 0x06U
      - name: RESERVED_ISO_0x08
        value: 0x08U
      - name: RESERVED_ISO_0x0C
        value: 0x0CU
      - name: ROUTING_SUCCESSFULLY_ACTIVATED
        value: 0x10U
      - name: RESERVED_ISO_0x0A
        value: 0x0AU
      - name: RESERVED_ISO_0x0E
        value: 0x0EU
      item_type: enum
      name: DoIpRoutingResponseCodes
      pos:
        line_end: 266
        line_start: 188
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: RESERVED_ISO_0x00
        value: 0x00U
      - name: INVALID_TARGET_ADDRESS
        value: 0x03U
      - name: INVALID_SOURCE_ADDRESS
        value: 0x02U
      - name: RESERVED_ISO_0x01
        value: 0x01U
      - name: MESSAGE_TOO_LARGE
        value: 0x04U
      - name: OUT_OF_MEMORY
        value: 0x05U
      - name: TARGET_UNREACHABLE
        value: 0x06U
      - name: UNKNOWN_NETWORK
        value: 0x07U
      - name: TRANSPORT_PROTOCOL_ERROR
        value: 0x08U
      - name: UNKNOWN
      item_type: enum
      name: DoIpDiagnosticMessageNackCodes
      pos:
        line_end: 312
        line_start: 271
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: NOT_READY
        value: 0x00U
      - name: NOT_SUPPORTED
        value: 0x02U
      - name: READY
        value: 0x01U
      - name: UNKNOWN
      item_type: enum
      name: DoIpDiagnosticPowerModeCodes
      pos:
        line_end: 334
        line_start: 317
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: ACK
        value: 0x00U
      - name: UNKNOWN
      item_type: enum
      name: DoIpDiagnosticAckCodes
      pos:
        line_end: 348
        line_start: 339
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: GATEWAY
        value: 0x00U
      - name: NODE
        value: 0x01U
      - name: UNKNOWN
      item_type: enum
      name: DoIpEntityStatusResponseCode
      pos:
        line_end: 366
        line_start: 352
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: VIN_AND_OR_GID_ARE_SINCHRONIZED
        value: '0x00'
      - name: RESERVED_ISO_0x04
        value: 0x04U
      - name: RESERVED_ISO_0x03
        value: 0x03U
      - name: RESERVED_ISO_0x02
        value: 0x02U
      - name: RESERVED_ISO_0x01
        value: 0x01U
      - name: RESERVED_ISO_0x05
        value: 0x05U
      - name: RESERVED_ISO_0x06
        value: 0x06U
      - name: RESERVED_ISO_0x07
        value: 0x07U
      - name: RESERVED_ISO_0x08
        value: 0x08U
      - name: RESERVED_ISO_0x09
        value: 0x09U
      - name: RESERVED_ISO_0x0A
        value: 0x0AU
      - name: RESERVED_ISO_0x0F
        value: 0x0FU
      - name: RESERVED_ISO_0x0E
        value: 0x0EU
      - name: UNKNOWN
      - name: RESERVED_ISO_0x0D
        value: 0x0DU
      - name: RESERVED_ISO_0x0C
        value: 0x0CU
      - name: RESERVED_ISO_0x0B
        value: 0x0BU
      - name: VIN_AND_OR_GID_ARE_NOT_SINCHRONIZED
        value: 0x10U
      item_type: enum
      name: DoIpSyncStatus
      pos:
        line_end: 441
        line_start: 370
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: RESERVED_VER
        value: 0x00U
      - name: ISO13400_2012
        value: 0x02U
      - name: ISO13400_2010
        value: 0x01U
      - name: ISO13400_2019_AMD1
        value: 0x04U
      - name: ISO13400_2019
        value: 0x03U
      - name: DEFAULT_VALUE
        value: 0xFFU
      - name: UNKNOWN
        value: '0xEF'
      item_type: enum
      name: DoIpProtocolVersion
      pos:
        line_end: 469
        line_start: 444
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: GENERIC_HEADER_NACK
        value: 0x0000U
      - name: VEHICLE_IDENTIFICATION_REQUEST_WITH_VIN
        value: 0x0003U
      - name: VEHICLE_ANNOUNCEMENT_MESSAGE
        value: 0x0004U
      - name: VEHICLE_IDENTIFICATION_REQUEST
        value: 0x0001U
      - name: VEHICLE_IDENTIFICATION_REQUEST_WITH_EID
        value: 0x0002U
      - name: ROUTING_ACTIVATION_REQUEST
        value: 0x0005U
      - name: ROUTING_ACTIVATION_RESPONSE
        value: 0x0006U
      - name: ALIVE_CHECK_REQUEST
        value: 0x0007U
      - name: ALIVE_CHECK_RESPONSE
        value: 0x0008U
      - name: ENTITY_STATUS_REQUEST
        value: 0x4001U
      - name: DIAGNOSTIC_POWER_MODE_RESPONSE
        value: 0x4004U
      - name: DIAGNOSTIC_MESSAGE
        value: 0x8001U
      - name: DIAGNOSTIC_MESSAGE_NACK
        value: 0x8003U
      - name: DIAGNOSTIC_POWER_MODE_REQUEST
        value: 0x4003U
      - name: ENTITY_STATUS_RESPONSE
        value: 0x4002U
      - name: DIAGNOSTIC_MESSAGE_ACK
        value: 0x8002U
      item_type: enum
      name: DoIpPayloadTypes
      pos:
        line_end: 539
        line_start: 474
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: TCP_UDP_PORT
        value: 13400U
      - name: TLS_PORT
        value: 3496U
      item_type: enum
      name: DoIpPorts
      pos:
        line_end: 552
        line_start: 543
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: DEFAULT
        value: 0x00U
      - name: WWH_OBD
        value: 0x01U
      - name: CENTRAL_SECURITY
        value: 0xE0U
      - name: UNKNOWN
      item_type: enum
      name: DoIpActivationTypes
      pos:
        line_end: 76
        line_start: 59
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: INCORRECT_PATTERN
        value: 0x00U
      - name: UNKNOWN_PAYLOAD_TYPE
        value: 0x01U
      - name: INVALID_PAYLOAD_LENGTH
        value: 0x04U
      - name: OUT_OF_MEMORY
        value: 0x03U
      - name: MESSAGE_TOO_LARGE
        value: 0x02U
      - name: UNKNOWN
      item_type: enum
      name: DoIpGenericHeaderNackCodes
      pos:
        line_end: 105
        line_start: 80
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: NO_FURTHER_ACTION_REQUIRED
        value: 0x00U
      - name: RESERVED_ISO_0x03
        value: 0x03U
      - name: RESERVED_ISO_0x02
        value: 0x02U
      - name: RESERVED_ISO_0x04
        value: 0x04U
      - name: RESERVED_ISO_0x01
        value: 0x01U
      - name: RESERVED_ISO_0x05
        value: 0x05U
      - name: RESERVED_ISO_0x06
        value: 0x06U
      - name: RESERVED_ISO_0x07
        value: 0x07U
      - name: RESERVED_ISO_0x08
        value: 0x08U
      - name: RESERVED_ISO_0x09
        value: 0x09U
      - name: RESERVED_ISO_0x0A
        value: 0x0AU
      - name: RESERVED_ISO_0x0B
        value: 0x0BU
      - name: RESERVED_ISO_0x0F
        value: 0x0FU
      - name: RESERVED_ISO_0x0E
        value: 0x0EU
      - name: UNKNOWN
      - name: RESERVED_ISO_0x0D
        value: 0x0DU
      - name: RESERVED_ISO_0x0C
        value: 0x0CU
      - name: ROUTING_ACTIVATION_REQUIRED
        value: 0x10U
      item_type: enum
      name: DoIpActionCodes
      pos:
        line_end: 183
        line_start: 110
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: SOURCE_ADDRESS_ALREADY_REGISTERED
        value: 0x03U
      - name: NO_FREE_SOCKET
        value: 0x01U
      - name: REJECTED_CONFIRMATION
        value: 0x05U
      - name: ENCRYPTED_CONNECTION_TLS
        value: 0x07U
      - name: RESERVED_ISO_0x09
        value: 0x09U
      - name: RESERVED_ISO_0x0B
        value: 0x0BU
      - name: CONFIRMATION_REQUIRED
        value: 0x11U
      - name: RESERVED_ISO_0x0F
        value: 0x0FU
      - name: RESERVED_ISO_0x0D
        value: 0x0DU
      - name: UNKNOWN
      - name: UNKNOWN_SOURCE_ADDRESS
        value: 0x00U
      - name: WRONG_SOURCE_ADDRESS
        value: 0x02U
      - name: MISSING_AUTHENTICATION
        value: 0x04U
      - name: UNSUPPORTED_ACTIVATION_TYPE
        value: 0x06U
      - name: RESERVED_ISO_0x08
        value: 0x08U
      - name: RESERVED_ISO_0x0C
        value: 0x0CU
      - name: ROUTING_SUCCESSFULLY_ACTIVATED
        value: 0x10U
      - name: RESERVED_ISO_0x0A
        value: 0x0AU
      - name: RESERVED_ISO_0x0E
        value: 0x0EU
      item_type: enum
      name: DoIpRoutingResponseCodes
      pos:
        line_end: 266
        line_start: 188
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: RESERVED_ISO_0x00
        value: 0x00U
      - name: INVALID_TARGET_ADDRESS
        value: 0x03U
      - name: INVALID_SOURCE_ADDRESS
        value: 0x02U
      - name: RESERVED_ISO_0x01
        value: 0x01U
      - name: MESSAGE_TOO_LARGE
        value: 0x04U
      - name: OUT_OF_MEMORY
        value: 0x05U
      - name: TARGET_UNREACHABLE
        value: 0x06U
      - name: UNKNOWN_NETWORK
        value: 0x07U
      - name: TRANSPORT_PROTOCOL_ERROR
        value: 0x08U
      - name: UNKNOWN
      item_type: enum
      name: DoIpDiagnosticMessageNackCodes
      pos:
        line_end: 312
        line_start: 271
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: NOT_READY
        value: 0x00U
      - name: NOT_SUPPORTED
        value: 0x02U
      - name: READY
        value: 0x01U
      - name: UNKNOWN
      item_type: enum
      name: DoIpDiagnosticPowerModeCodes
      pos:
        line_end: 334
        line_start: 317
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: ACK
        value: 0x00U
      - name: UNKNOWN
      item_type: enum
      name: DoIpDiagnosticAckCodes
      pos:
        line_end: 348
        line_start: 339
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: GATEWAY
        value: 0x00U
      - name: NODE
        value: 0x01U
      - name: UNKNOWN
      item_type: enum
      name: DoIpEntityStatusResponseCode
      pos:
        line_end: 366
        line_start: 352
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: VIN_AND_OR_GID_ARE_SINCHRONIZED
        value: '0x00'
      - name: RESERVED_ISO_0x04
        value: 0x04U
      - name: RESERVED_ISO_0x03
        value: 0x03U
      - name: RESERVED_ISO_0x02
        value: 0x02U
      - name: RESERVED_ISO_0x01
        value: 0x01U
      - name: RESERVED_ISO_0x05
        value: 0x05U
      - name: RESERVED_ISO_0x06
        value: 0x06U
      - name: RESERVED_ISO_0x07
        value: 0x07U
      - name: RESERVED_ISO_0x08
        value: 0x08U
      - name: RESERVED_ISO_0x09
        value: 0x09U
      - name: RESERVED_ISO_0x0A
        value: 0x0AU
      - name: RESERVED_ISO_0x0F
        value: 0x0FU
      - name: RESERVED_ISO_0x0E
        value: 0x0EU
      - name: UNKNOWN
      - name: RESERVED_ISO_0x0D
        value: 0x0DU
      - name: RESERVED_ISO_0x0C
        value: 0x0CU
      - name: RESERVED_ISO_0x0B
        value: 0x0BU
      - name: VIN_AND_OR_GID_ARE_NOT_SINCHRONIZED
        value: 0x10U
      item_type: enum
      name: DoIpSyncStatus
      pos:
        line_end: 441
        line_start: 370
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: RESERVED_VER
        value: 0x00U
      - name: ISO13400_2012
        value: 0x02U
      - name: ISO13400_2010
        value: 0x01U
      - name: ISO13400_2019_AMD1
        value: 0x04U
      - name: ISO13400_2019
        value: 0x03U
      - name: DEFAULT_VALUE
        value: 0xFFU
      - name: UNKNOWN
        value: '0xEF'
      item_type: enum
      name: DoIpProtocolVersion
      pos:
        line_end: 469
        line_start: 444
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: GENERIC_HEADER_NACK
        value: 0x0000U
      - name: VEHICLE_IDENTIFICATION_REQUEST_WITH_VIN
        value: 0x0003U
      - name: VEHICLE_ANNOUNCEMENT_MESSAGE
        value: 0x0004U
      - name: VEHICLE_IDENTIFICATION_REQUEST
        value: 0x0001U
      - name: VEHICLE_IDENTIFICATION_REQUEST_WITH_EID
        value: 0x0002U
      - name: ROUTING_ACTIVATION_REQUEST
        value: 0x0005U
      - name: ROUTING_ACTIVATION_RESPONSE
        value: 0x0006U
      - name: ALIVE_CHECK_REQUEST
        value: 0x0007U
      - name: ALIVE_CHECK_RESPONSE
        value: 0x0008U
      - name: ENTITY_STATUS_REQUEST
        value: 0x4001U
      - name: DIAGNOSTIC_POWER_MODE_RESPONSE
        value: 0x4004U
      - name: DIAGNOSTIC_MESSAGE
        value: 0x8001U
      - name: DIAGNOSTIC_MESSAGE_NACK
        value: 0x8003U
      - name: DIAGNOSTIC_POWER_MODE_REQUEST
        value: 0x4003U
      - name: ENTITY_STATUS_RESPONSE
        value: 0x4002U
      - name: DIAGNOSTIC_MESSAGE_ACK
        value: 0x8002U
      item_type: enum
      name: DoIpPayloadTypes
      pos:
        line_end: 539
        line_start: 474
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - enumerators:
      - name: TCP_UDP_PORT
        value: 13400U
      - name: TLS_PORT
        value: 3496U
      item_type: enum
      name: DoIpPorts
      pos:
        line_end: 552
        line_start: 543
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: protocolVersion
        type: uint8_t
      - name: invertProtocolVersion
        type: uint8_t
      - name: payloadType
        type: uint16_t
      - name: payloadLength
        type: uint32_t
      item_type: struct
      name: doiphdr
      pos:
        line_end: 26
        line_start: 16
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: nackCode
        type: uint8_t
      item_type: struct
      name: generic_header_nack
      pos:
        line_end: 808
        line_start: 805
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: eid
        type: std::array<uint8_t, DOIP_EID_LEN>
      item_type: struct
      name: vehicle_identification_request_with_eid
      pos:
        line_end: 908
        line_start: 905
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: vin
        type: std::array<uint8_t, DOIP_VIN_LEN>
      item_type: struct
      name: vehicle_identification_request_with_vin
      pos:
        line_end: 969
        line_start: 966
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: vin
        type: std::array<uint8_t, DOIP_VIN_LEN>
      - name: logicalAddress
        type: uint16_t
      - name: eid
        type: std::array<uint8_t, DOIP_EID_LEN>
      - name: gid
        type: std::array<uint8_t, DOIP_GID_LEN>
      - name: actionCode
        type: uint8_t
      item_type: struct
      name: vehicle_announcement_message
      pos:
        line_end: 1094
        line_start: 1083
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: sourceAddress
        type: uint16_t
      - name: activationType
        type: uint8_t
      - name: reservedIso
        type: std::array<uint8_t, DOIP_RESERVED_ISO_LEN>
      item_type: struct
      name: routing_activation_request
      pos:
        line_end: 1198
        line_start: 1191
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: logicalAddressExternalTester
        type: uint16_t
      - name: sourceAddress
        type: uint16_t
      - name: responseCode
        type: uint8_t
      - name: reservedIso
        type: std::array<uint8_t, DOIP_RESERVED_ISO_LEN>
      item_type: struct
      name: routing_activation_response
      pos:
        line_end: 1313
        line_start: 1304
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: sourceAddress
        type: uint16_t
      item_type: struct
      name: alive_check_response
      pos:
        line_end: 1416
        line_start: 1413
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: nodeType
        type: uint8_t
      - name: maxConcurrentSockets
        type: uint8_t
      - name: currentlyOpenSockets
        type: uint8_t
      item_type: struct
      name: entity_status_response
      pos:
        line_end: 1560
        line_start: 1553
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: powerModeCode
        type: uint8_t
      item_type: struct
      name: diagnostic_power_mode_response
      pos:
        line_end: 1666
        line_start: 1663
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: sourceAddress
        type: uint16_t
      - name: targetAddress
        type: uint16_t
      item_type: struct
      name: common_diagnostic_header
      pos:
        line_end: 1717
        line_start: 1712
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: diagnosticCode
        type: uint8_t
      item_type: struct
      name: diagnostic_response_message_base
      pos:
        line_end: 1835
        line_start: 1832
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: protocolVersion
        type: uint8_t
      - name: invertProtocolVersion
        type: uint8_t
      - name: payloadType
        type: uint16_t
      - name: payloadLength
        type: uint32_t
      item_type: struct
      name: doiphdr
      pos:
        line_end: 26
        line_start: 16
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: nackCode
        type: uint8_t
      item_type: struct
      name: generic_header_nack
      pos:
        line_end: 808
        line_start: 805
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: eid
        type: std::array<uint8_t, DOIP_EID_LEN>
      item_type: struct
      name: vehicle_identification_request_with_eid
      pos:
        line_end: 908
        line_start: 905
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: vin
        type: std::array<uint8_t, DOIP_VIN_LEN>
      item_type: struct
      name: vehicle_identification_request_with_vin
      pos:
        line_end: 969
        line_start: 966
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: vin
        type: std::array<uint8_t, DOIP_VIN_LEN>
      - name: logicalAddress
        type: uint16_t
      - name: eid
        type: std::array<uint8_t, DOIP_EID_LEN>
      - name: gid
        type: std::array<uint8_t, DOIP_GID_LEN>
      - name: actionCode
        type: uint8_t
      item_type: struct
      name: vehicle_announcement_message
      pos:
        line_end: 1094
        line_start: 1083
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: sourceAddress
        type: uint16_t
      - name: activationType
        type: uint8_t
      - name: reservedIso
        type: std::array<uint8_t, DOIP_RESERVED_ISO_LEN>
      item_type: struct
      name: routing_activation_request
      pos:
        line_end: 1198
        line_start: 1191
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: logicalAddressExternalTester
        type: uint16_t
      - name: sourceAddress
        type: uint16_t
      - name: responseCode
        type: uint8_t
      - name: reservedIso
        type: std::array<uint8_t, DOIP_RESERVED_ISO_LEN>
      item_type: struct
      name: routing_activation_response
      pos:
        line_end: 1313
        line_start: 1304
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: sourceAddress
        type: uint16_t
      item_type: struct
      name: alive_check_response
      pos:
        line_end: 1416
        line_start: 1413
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: nodeType
        type: uint8_t
      - name: maxConcurrentSockets
        type: uint8_t
      - name: currentlyOpenSockets
        type: uint8_t
      item_type: struct
      name: entity_status_response
      pos:
        line_end: 1560
        line_start: 1553
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: powerModeCode
        type: uint8_t
      item_type: struct
      name: diagnostic_power_mode_response
      pos:
        line_end: 1666
        line_start: 1663
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: sourceAddress
        type: uint16_t
      - name: targetAddress
        type: uint16_t
      item_type: struct
      name: common_diagnostic_header
      pos:
        line_end: 1717
        line_start: 1712
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    - fields:
      - name: diagnosticCode
        type: uint8_t
      item_type: struct
      name: diagnostic_response_message_base
      pos:
        line_end: 1835
        line_start: 1832
        source_file: /src/PcapPlusPlus/Packet++/header/DoIpLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::VlanLayer::VlanLayer
  - ~VlanLayer() override
  - pcpp::VlanLayer::getVlanHeader
  - pcpp::VlanLayer::getHeaderLen
  - pcpp::VlanLayer::getOsiModelLayer
  - pcpp::VlanLayer::isDataValid
  - pcpp::VlanLayer::VlanLayer
  - ~VlanLayer() override
  - pcpp::VlanLayer::getVlanHeader
  - pcpp::VlanLayer::getHeaderLen
  - pcpp::VlanLayer::getOsiModelLayer
  - pcpp::VlanLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: vlan
        type: uint16_t
      - name: etherType
        type: uint16_t
      item_type: struct
      name: vlan_header
      pos:
        line_end: 26
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
    - fields:
      - name: vlan
        type: uint16_t
      - name: etherType
        type: uint16_t
      item_type: struct
      name: vlan_header
      pos:
        line_end: 26
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/VlanLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::CiscoHdlcLayer::CiscoHdlcLayer
  - ~CiscoHdlcLayer() override
  - pcpp::CiscoHdlcLayer::isDataValid
  - pcpp::CiscoHdlcLayer::getHeaderLen
  - pcpp::CiscoHdlcLayer::getOsiModelLayer
  - pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
  - pcpp::CiscoHdlcLayer::CiscoHdlcLayer
  - ~CiscoHdlcLayer() override
  - pcpp::CiscoHdlcLayer::isDataValid
  - pcpp::CiscoHdlcLayer::getHeaderLen
  - pcpp::CiscoHdlcLayer::getOsiModelLayer
  - pcpp::CiscoHdlcLayer::getCiscoHdlcHeader
  source_file: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
  types:
    enum:
    - enumerators:
      - name: Unicast
        value: '0x0f'
      - name: Unknown
      - name: Multicast
        value: '0x8f'
      item_type: enum
      name: AddressType
      pos:
        line_end: 21
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    - enumerators:
      - name: Unicast
        value: '0x0f'
      - name: Unknown
      - name: Multicast
        value: '0x8f'
      item_type: enum
      name: AddressType
      pos:
        line_end: 21
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: address
        type: uint8_t
      - name: control
        type: uint8_t
      - name: protocol
        type: uint16_t
      item_type: struct
      name: cisco_hdlc_header
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    - fields:
      - name: address
        type: uint8_t
      - name: control
        type: uint8_t
      - name: protocol
        type: uint16_t
      item_type: struct
      name: cisco_hdlc_header
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/PcapPlusPlus/Packet++/header/CiscoHdlcLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::TLVRecord::TLVRecord
  - pcpp::TLVRecord::TLVRecord
  - ~TLVRecord()
  - pcpp::TLVRecord::assign
  - pcpp::TLVRecord::canAssign
  - '& operator=(const TLVRecord& other)'
  - operator==(const TLVRecord& rhs) const
  - operator!=(const TLVRecord& rhs) const
  - pcpp::TLVRecord::getType
  - pcpp::TLVRecord::getValue
  - pcpp::TLVRecord::isNull
  - pcpp::TLVRecord::isNotNull
  - pcpp::TLVRecord::getRecordBasePtr
  - pcpp::TLVRecord::purgeRecordData
  - pcpp::TLVRecord::getValueAs
  - pcpp::TLVRecord::setValue
  - pcpp::TLVRecord::getValueOffset
  - pcpp::TLVRecordReader::TLVRecordReader
  - pcpp::TLVRecordReader::TLVRecordReader
  - ~TLVRecordReader()
  - '& operator=(const TLVRecordReader& other)'
  - pcpp::TLVRecordReader::getFirstTLVRecord
  - pcpp::TLVRecordReader::getNextTLVRecord
  - pcpp::TLVRecordReader::getTLVRecord
  - pcpp::TLVRecordReader::getTLVRecordCount
  - pcpp::TLVRecordReader::changeTLVRecordCount
  - pcpp::TLVRecord::TLVRecord
  - pcpp::TLVRecord::TLVRecord
  - ~TLVRecord()
  - pcpp::TLVRecord::assign
  - pcpp::TLVRecord::canAssign
  - '& operator=(const TLVRecord& other)'
  - operator==(const TLVRecord& rhs) const
  - operator!=(const TLVRecord& rhs) const
  - pcpp::TLVRecord::getType
  - pcpp::TLVRecord::getValue
  - pcpp::TLVRecord::isNull
  - pcpp::TLVRecord::isNotNull
  - pcpp::TLVRecord::getRecordBasePtr
  - pcpp::TLVRecord::purgeRecordData
  - pcpp::TLVRecord::getValueAs
  - pcpp::TLVRecord::setValue
  - pcpp::TLVRecord::getValueOffset
  - pcpp::TLVRecordReader::TLVRecordReader
  - pcpp::TLVRecordReader::TLVRecordReader
  - ~TLVRecordReader()
  - '& operator=(const TLVRecordReader& other)'
  - pcpp::TLVRecordReader::getFirstTLVRecord
  - pcpp::TLVRecordReader::getNextTLVRecord
  - pcpp::TLVRecordReader::getTLVRecord
  - pcpp::TLVRecordReader::getTLVRecordCount
  - pcpp::TLVRecordReader::changeTLVRecordCount
  source_file: /src/PcapPlusPlus/Packet++/header/TLVData.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: recordType
        type: TRecType
      - name: recordLen
        type: TRecLen
      - name: recordValue[]
        type: uint8_t
      item_type: struct
      name: TLVRawData
      pos:
        line_end: 30
        line_start: 22
        source_file: /src/PcapPlusPlus/Packet++/header/TLVData.h
    - fields:
      - name: recordType
        type: TRecType
      - name: recordLen
        type: TRecLen
      - name: recordValue[]
        type: uint8_t
      item_type: struct
      name: TLVRawData
      pos:
        line_end: 30
        line_start: 22
        source_file: /src/PcapPlusPlus/Packet++/header/TLVData.h
    typedefs: []
    union: []
- function_names:
  - pcpp::VrrpLayer::VrrpLayer
  - pcpp::VrrpLayer::getVrrpHeader
  - ~VrrpLayer() override
  - pcpp::VrrpLayer::parseNextLayer
  - pcpp::VrrpLayer::getHeaderLen
  - pcpp::VrrpLayer::getOsiModelLayer
  - pcpp::VrrpV2Layer::VrrpV2Layer
  - ~VrrpV2Layer() override
  - pcpp::VrrpV2Layer::isDataValid
  - pcpp::VrrpV3Layer::VrrpV3Layer
  - ~VrrpV3Layer() override
  - pcpp::VrrpV3Layer::isDataValid
  - pcpp::VrrpLayer::VrrpLayer
  - pcpp::VrrpLayer::getVrrpHeader
  - ~VrrpLayer() override
  - pcpp::VrrpLayer::parseNextLayer
  - pcpp::VrrpLayer::getHeaderLen
  - pcpp::VrrpLayer::getOsiModelLayer
  - pcpp::VrrpV2Layer::VrrpV2Layer
  - ~VrrpV2Layer() override
  - pcpp::VrrpV2Layer::isDataValid
  - pcpp::VrrpV3Layer::VrrpV3Layer
  - ~VrrpV3Layer() override
  - pcpp::VrrpV3Layer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
  types:
    enum:
    - enumerators:
      - name: VrrpType_Unknown
        value: '0'
      - name: VrrpType_Advertisement
        value: '1'
      item_type: enum
      name: VrrpType
      pos:
        line_end: 149
        line_start: 142
        source_file: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    - enumerators:
      - name: Default
      - name: Other
      - name: Owner
      - name: Stop
      item_type: enum
      name: VrrpPriority
      pos:
        line_end: 162
        line_start: 152
        source_file: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    - enumerators:
      - name: NoAuthentication
        value: '0'
      - name: MD5
        value: '3'
      - name: IPAuthenticationHeader
        value: '2'
      - name: Other
        value: '4'
      - name: SimpleTextPassword
        value: '1'
      item_type: enum
      name: VrrpAuthType
      pos:
        line_end: 293
        line_start: 281
        source_file: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    - enumerators:
      - name: VrrpType_Unknown
        value: '0'
      - name: VrrpType_Advertisement
        value: '1'
      item_type: enum
      name: VrrpType
      pos:
        line_end: 149
        line_start: 142
        source_file: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    - enumerators:
      - name: Default
      - name: Other
      - name: Owner
      - name: Stop
      item_type: enum
      name: VrrpPriority
      pos:
        line_end: 162
        line_start: 152
        source_file: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    - enumerators:
      - name: NoAuthentication
        value: '0'
      - name: MD5
        value: '3'
      - name: IPAuthenticationHeader
        value: '2'
      - name: Other
        value: '4'
      - name: SimpleTextPassword
        value: '1'
      item_type: enum
      name: VrrpAuthType
      pos:
        line_end: 293
        line_start: 281
        source_file: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: vrId
        type: uint8_t
      - name: priority
        type: uint8_t
      - name: ipAddrCount
        type: uint8_t
      - name: authTypeAdvInt
        type: uint16_t
      - name: checksum
        type: uint16_t
      - name: '* ipAddresses[]'
        type: uint8_t
      item_type: struct
      name: vrrp_header
      pos:
        line_end: 99
        line_start: 64
        source_file: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    - fields:
      - name: authType
        type: uint8_t
      - name: advInt
        type: uint8_t
      item_type: struct
      name: vrrpv2_auth_adv
      pos:
        line_end: 277
        line_start: 273
        source_file: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    - fields:
      - name: maxAdvInt
        type: uint16_t
      item_type: struct
      name: vrrpv3_rsvd_adv
      pos:
        line_end: 356
        line_start: 353
        source_file: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    - fields:
      - name: vrId
        type: uint8_t
      - name: priority
        type: uint8_t
      - name: ipAddrCount
        type: uint8_t
      - name: authTypeAdvInt
        type: uint16_t
      - name: checksum
        type: uint16_t
      - name: '* ipAddresses[]'
        type: uint8_t
      item_type: struct
      name: vrrp_header
      pos:
        line_end: 99
        line_start: 64
        source_file: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    - fields:
      - name: authType
        type: uint8_t
      - name: advInt
        type: uint8_t
      item_type: struct
      name: vrrpv2_auth_adv
      pos:
        line_end: 277
        line_start: 273
        source_file: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    - fields:
      - name: maxAdvInt
        type: uint16_t
      item_type: struct
      name: vrrpv3_rsvd_adv
      pos:
        line_end: 356
        line_start: 353
        source_file: /src/PcapPlusPlus/Packet++/header/VrrpLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::SllLayer::SllLayer
  - ~SllLayer() override
  - pcpp::SllLayer::getSllHeader
  - pcpp::SllLayer::getHeaderLen
  - pcpp::SllLayer::getOsiModelLayer
  - pcpp::SllLayer::SllLayer
  - ~SllLayer() override
  - pcpp::SllLayer::getSllHeader
  - pcpp::SllLayer::getHeaderLen
  - pcpp::SllLayer::getOsiModelLayer
  source_file: /src/PcapPlusPlus/Packet++/header/SllLayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: packet_type
        type: uint16_t
      - name: ARPHRD_type
        type: uint16_t
      - name: link_layer_addr_len
        type: uint16_t
      - name: link_layer_addr[8]
        type: uint8_t
      - name: protocol_type
        type: uint16_t
      item_type: struct
      name: sll_header
      pos:
        line_end: 29
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/SllLayer.h
    - fields:
      - name: packet_type
        type: uint16_t
      - name: ARPHRD_type
        type: uint16_t
      - name: link_layer_addr_len
        type: uint16_t
      - name: link_layer_addr[8]
        type: uint8_t
      - name: protocol_type
        type: uint16_t
      item_type: struct
      name: sll_header
      pos:
        line_end: 29
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/SllLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::PayloadLayer::PayloadLayer
  - ~PayloadLayer() override
  - pcpp::PayloadLayer::getPayload
  - pcpp::PayloadLayer::getPayloadLen
  - pcpp::PayloadLayer::parseNextLayer
  - pcpp::PayloadLayer::getHeaderLen
  - pcpp::PayloadLayer::computeCalculateFields
  - pcpp::PayloadLayer::getOsiModelLayer
  - pcpp::PayloadLayer::isDataValid
  - pcpp::PayloadLayer::PayloadLayer
  - ~PayloadLayer() override
  - pcpp::PayloadLayer::getPayload
  - pcpp::PayloadLayer::getPayloadLen
  - pcpp::PayloadLayer::parseNextLayer
  - pcpp::PayloadLayer::getHeaderLen
  - pcpp::PayloadLayer::computeCalculateFields
  - pcpp::PayloadLayer::getOsiModelLayer
  - pcpp::PayloadLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/PayloadLayer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::NflogTlv::NflogTlv
  - pcpp::NflogTlv::getTotalSize
  - pcpp::NflogTlv::assign
  - pcpp::NflogTlv::canAssign
  - pcpp::NflogTlv::isNull
  - pcpp::NflogTlv::getType
  - pcpp::NflogTlv::getRecordBasePtr
  - pcpp::NflogTlv::getValue
  - pcpp::NflogLayer::NflogLayer
  - ~NflogLayer() override
  - pcpp::NflogLayer::getNflogHeader
  - pcpp::NflogLayer::getOsiModelLayer
  - pcpp::NflogLayer::getTlvsBasePtr
  - pcpp::NflogTlv::NflogTlv
  - pcpp::NflogTlv::getTotalSize
  - pcpp::NflogTlv::assign
  - pcpp::NflogTlv::canAssign
  - pcpp::NflogTlv::isNull
  - pcpp::NflogTlv::getType
  - pcpp::NflogTlv::getRecordBasePtr
  - pcpp::NflogTlv::getValue
  - pcpp::NflogLayer::NflogLayer
  - ~NflogLayer() override
  - pcpp::NflogLayer::getNflogHeader
  - pcpp::NflogLayer::getOsiModelLayer
  - pcpp::NflogLayer::getTlvsBasePtr
  source_file: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
  types:
    enum:
    - enumerators:
      - name: NFULA_PACKET_HDR
        value: '1'
      - name: NFULA_MARK
        value: '2'
      - name: NFULA_IFINDEX_OUTDEV
        value: '5'
      - name: NFULA_TIMESTAMP
        value: '3'
      - name: NFULA_IFINDEX_INDEV
        value: '4'
      - name: NFULA_IFINDEX_PHYSINDEV
        value: '6'
      - name: NFULA_IFINDEX_PHYSOUTDEV
        value: '7'
      - name: NFULA_HWADDR
        value: '8'
      - name: NFULA_PAYLOAD
        value: '9'
      - name: NFULA_PREFIX
        value: '10'
      - name: NFULA_UID
        value: '11'
      - name: NFULA_HWHEADER
        value: '16'
      - name: NFULA_SEQ_GLOBAL
        value: '13'
      - name: NFULA_HWLEN
        value: '17'
      - name: NFULA_SEQ
        value: '12'
      - name: NFULA_HWTYPE
        value: '15'
      - name: NFULA_GID
        value: '14'
      item_type: enum
      name: NflogTlvType
      pos:
        line_end: 65
        line_start: 29
        source_file: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    - enumerators:
      - name: NFULA_PACKET_HDR
        value: '1'
      - name: NFULA_MARK
        value: '2'
      - name: NFULA_IFINDEX_OUTDEV
        value: '5'
      - name: NFULA_TIMESTAMP
        value: '3'
      - name: NFULA_IFINDEX_INDEV
        value: '4'
      - name: NFULA_IFINDEX_PHYSINDEV
        value: '6'
      - name: NFULA_IFINDEX_PHYSOUTDEV
        value: '7'
      - name: NFULA_HWADDR
        value: '8'
      - name: NFULA_PAYLOAD
        value: '9'
      - name: NFULA_PREFIX
        value: '10'
      - name: NFULA_UID
        value: '11'
      - name: NFULA_HWHEADER
        value: '16'
      - name: NFULA_SEQ_GLOBAL
        value: '13'
      - name: NFULA_HWLEN
        value: '17'
      - name: NFULA_SEQ
        value: '12'
      - name: NFULA_HWTYPE
        value: '15'
      - name: NFULA_GID
        value: '14'
      item_type: enum
      name: NflogTlvType
      pos:
        line_end: 65
        line_start: 29
        source_file: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: addressFamily
        type: uint8_t
      - name: version
        type: uint8_t
      - name: resourceId
        type: uint16_t
      item_type: struct
      name: nflog_header
      pos:
        line_end: 23
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    - fields:
      - name: recordLen
        type: uint16_t
      - name: recordType
        type: uint16_t
      - name: recordValue[]
        type: uint8_t
      item_type: struct
      name: NflogTLVRawData
      pos:
        line_end: 81
        line_start: 73
        source_file: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    - fields:
      - name: addressFamily
        type: uint8_t
      - name: version
        type: uint8_t
      - name: resourceId
        type: uint16_t
      item_type: struct
      name: nflog_header
      pos:
        line_end: 23
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    - fields:
      - name: recordLen
        type: uint16_t
      - name: recordType
        type: uint16_t
      - name: recordValue[]
        type: uint8_t
      item_type: struct
      name: NflogTLVRawData
      pos:
        line_end: 81
        line_start: 73
        source_file: /src/PcapPlusPlus/Packet++/header/NflogLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::TpktLayer::TpktLayer
  - ~TpktLayer() override
  - pcpp::TpktLayer::getHeaderLen
  - pcpp::TpktLayer::computeCalculateFields
  - pcpp::TpktLayer::isTpktPort
  - pcpp::TpktLayer::isDataValid
  - pcpp::TpktLayer::getOsiModelLayer
  - pcpp::TpktLayer::getTpktHeader
  - pcpp::TpktLayer::TpktLayer
  - ~TpktLayer() override
  - pcpp::TpktLayer::getHeaderLen
  - pcpp::TpktLayer::computeCalculateFields
  - pcpp::TpktLayer::isTpktPort
  - pcpp::TpktLayer::isDataValid
  - pcpp::TpktLayer::getOsiModelLayer
  - pcpp::TpktLayer::getTpktHeader
  source_file: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: version
        type: uint8_t
      - name: reserved
        type: uint8_t
      - name: length
        type: uint16_t
      item_type: struct
      name: tpkthdr
      pos:
        line_end: 22
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    - fields:
      - name: version
        type: uint8_t
      - name: reserved
        type: uint8_t
      - name: length
        type: uint16_t
      item_type: struct
      name: tpkthdr
      pos:
        line_end: 22
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/TpktLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::NullLoopbackLayer::NullLoopbackLayer
  - ~NullLoopbackLayer() override
  - pcpp::NullLoopbackLayer::getHeaderLen
  - pcpp::NullLoopbackLayer::computeCalculateFields
  - pcpp::NullLoopbackLayer::getOsiModelLayer
  - pcpp::NullLoopbackLayer::isDataValid
  - pcpp::NullLoopbackLayer::NullLoopbackLayer
  - ~NullLoopbackLayer() override
  - pcpp::NullLoopbackLayer::getHeaderLen
  - pcpp::NullLoopbackLayer::computeCalculateFields
  - pcpp::NullLoopbackLayer::getOsiModelLayer
  - pcpp::NullLoopbackLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCPP_BSD_AF_INET
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCPP_BSD_AF_NS
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCPP_BSD_AF_ISO
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PCPP_BSD_AF_APPLETALK
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PCPP_BSD_AF_IPX
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '23'
    - item_type: preproc_def
      name: PCPP_BSD_AF_INET6_BSD
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '24'
    - item_type: preproc_def
      name: PCPP_BSD_AF_INET6_FREEBSD
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '28'
    - item_type: preproc_def
      name: PCPP_BSD_AF_INET6_DARWIN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '30'
    - item_type: preproc_def
      name: PCPP_BSD_AF_INET
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCPP_BSD_AF_NS
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '6'
    - item_type: preproc_def
      name: PCPP_BSD_AF_ISO
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PCPP_BSD_AF_APPLETALK
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PCPP_BSD_AF_IPX
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '23'
    - item_type: preproc_def
      name: PCPP_BSD_AF_INET6_BSD
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '24'
    - item_type: preproc_def
      name: PCPP_BSD_AF_INET6_FREEBSD
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '28'
    - item_type: preproc_def
      name: PCPP_BSD_AF_INET6_DARWIN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PcapPlusPlus/Packet++/header/NullLoopbackLayer.h
      type_or_value: '30'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::IPv6Layer::getIPv6Header
  - pcpp::IPv6Layer::getSrcIPAddress
  - pcpp::IPv6Layer::getSrcIPv6Address
  - pcpp::IPv6Layer::setSrcIPv6Address
  - pcpp::IPv6Layer::setDstIPv6Address
  - pcpp::IPv6Layer::getDstIPAddress
  - pcpp::IPv6Layer::getDstIPv6Address
  - pcpp::IPv6Layer::getHeaderLen
  - pcpp::IPv6Layer::getOsiModelLayer
  - pcpp::IPv6Layer::getExtensionOfType
  - pcpp::IPv6Layer::addExtension
  - pcpp::IPv6Layer::isDataValid
  - pcpp::IPv6Layer::getIPv6Header
  - pcpp::IPv6Layer::getSrcIPAddress
  - pcpp::IPv6Layer::getSrcIPv6Address
  - pcpp::IPv6Layer::setSrcIPv6Address
  - pcpp::IPv6Layer::setDstIPv6Address
  - pcpp::IPv6Layer::getDstIPAddress
  - pcpp::IPv6Layer::getDstIPv6Address
  - pcpp::IPv6Layer::getHeaderLen
  - pcpp::IPv6Layer::getOsiModelLayer
  - pcpp::IPv6Layer::getExtensionOfType
  - pcpp::IPv6Layer::addExtension
  - pcpp::IPv6Layer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: flowLabel[3]
        type: uint8_t
      - name: payloadLength
        type: uint16_t
      - name: nextHeader
        type: uint8_t
      - name: hopLimit
        type: uint8_t
      - name: ipSrc[16]
        type: uint8_t
      - name: ipDst[16]
        type: uint8_t
      item_type: struct
      name: ip6_hdr
      pos:
        line_end: 42
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    - fields:
      - name: flowLabel[3]
        type: uint8_t
      - name: payloadLength
        type: uint16_t
      - name: nextHeader
        type: uint8_t
      - name: hopLimit
        type: uint8_t
      - name: ipSrc[16]
        type: uint8_t
      - name: ipDst[16]
        type: uint8_t
      item_type: struct
      name: ip6_hdr
      pos:
        line_end: 42
        line_start: 17
        source_file: /src/PcapPlusPlus/Packet++/header/IPv6Layer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::ArpRequest
  - pcpp::ArpReply
  - pcpp::GratuitousArpRequest
  - pcpp::GratuitousArpReply
  - pcpp::ArpLayer
  - ~ArpLayer() override
  - pcpp::getArpHeader
  - pcpp::getSenderMacAddress
  - pcpp::getTargetMacAddress
  - pcpp::getSenderIpAddr
  - pcpp::getTargetIpAddr
  - pcpp::parseNextLayer
  - pcpp::getHeaderLen
  - pcpp::getOsiModelLayer
  - pcpp::isDataValid
  - pcpp::ArpRequest
  - pcpp::ArpReply
  - pcpp::GratuitousArpRequest
  - pcpp::GratuitousArpReply
  - pcpp::ArpLayer
  - ~ArpLayer() override
  - pcpp::getArpHeader
  - pcpp::getSenderMacAddress
  - pcpp::getTargetMacAddress
  - pcpp::getSenderIpAddr
  - pcpp::getTargetIpAddr
  - pcpp::parseNextLayer
  - pcpp::getHeaderLen
  - pcpp::getOsiModelLayer
  - pcpp::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
  types:
    enum:
    - enumerators:
      - name: ARP_REQUEST
        value: '0x0001'
      - name: ARP_REPLY
        value: '0x0002'
      item_type: enum
      name: ArpOpcode
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    - enumerators:
      - name: Unknown
      - name: GratuitousRequest
      - name: GratuitousReply
      - name: Request
      - name: Reply
      item_type: enum
      name: ArpMessageType
      pos:
        line_end: 57
        line_start: 50
        source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    - enumerators:
      - name: ARP_REQUEST
        value: '0x0001'
      - name: ARP_REPLY
        value: '0x0002'
      item_type: enum
      name: ArpOpcode
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    - enumerators:
      - name: Unknown
      - name: GratuitousRequest
      - name: GratuitousReply
      - name: Request
      - name: Reply
      item_type: enum
      name: ArpMessageType
      pos:
        line_end: 57
        line_start: 50
        source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: hardwareType
        type: uint16_t
      - name: protocolType
        type: uint16_t
      - name: hardwareSize
        type: uint8_t
      - name: protocolSize
        type: uint8_t
      - name: opcode
        type: uint16_t
      - name: senderMacAddr[6]
        type: uint8_t
      - name: senderIpAddr
        type: uint32_t
      - name: targetMacAddr[6]
        type: uint8_t
      - name: targetIpAddr
        type: uint32_t
      item_type: struct
      name: arphdr
      pos:
        line_end: 38
        line_start: 16
        source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    - fields:
      - name: senderMacAddr
        type: MacAddress
      - name: senderIpAddr
        type: IPv4Address
      - name: targetIpAddr
        type: IPv4Address
      item_type: struct
      name: ArpRequest
      pos:
        line_end: 75
        line_start: 62
        source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    - fields:
      - name: senderMacAddr
        type: MacAddress
      - name: senderIpAddr
        type: IPv4Address
      - name: targetMacAddr
        type: MacAddress
      - name: targetIpAddr
        type: IPv4Address
      item_type: struct
      name: ArpReply
      pos:
        line_end: 98
        line_start: 81
        source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    - fields:
      - name: senderMacAddr
        type: MacAddress
      - name: senderIpAddr
        type: IPv4Address
      item_type: struct
      name: GratuitousArpRequest
      pos:
        line_end: 120
        line_start: 108
        source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    - fields:
      - name: senderMacAddr
        type: MacAddress
      - name: senderIpAddr
        type: IPv4Address
      item_type: struct
      name: GratuitousArpReply
      pos:
        line_end: 138
        line_start: 126
        source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    - fields:
      - name: hardwareType
        type: uint16_t
      - name: protocolType
        type: uint16_t
      - name: hardwareSize
        type: uint8_t
      - name: protocolSize
        type: uint8_t
      - name: opcode
        type: uint16_t
      - name: senderMacAddr[6]
        type: uint8_t
      - name: senderIpAddr
        type: uint32_t
      - name: targetMacAddr[6]
        type: uint8_t
      - name: targetIpAddr
        type: uint32_t
      item_type: struct
      name: arphdr
      pos:
        line_end: 38
        line_start: 16
        source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    - fields:
      - name: senderMacAddr
        type: MacAddress
      - name: senderIpAddr
        type: IPv4Address
      - name: targetIpAddr
        type: IPv4Address
      item_type: struct
      name: ArpRequest
      pos:
        line_end: 75
        line_start: 62
        source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    - fields:
      - name: senderMacAddr
        type: MacAddress
      - name: senderIpAddr
        type: IPv4Address
      - name: targetMacAddr
        type: MacAddress
      - name: targetIpAddr
        type: IPv4Address
      item_type: struct
      name: ArpReply
      pos:
        line_end: 98
        line_start: 81
        source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    - fields:
      - name: senderMacAddr
        type: MacAddress
      - name: senderIpAddr
        type: IPv4Address
      item_type: struct
      name: GratuitousArpRequest
      pos:
        line_end: 120
        line_start: 108
        source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    - fields:
      - name: senderMacAddr
        type: MacAddress
      - name: senderIpAddr
        type: IPv4Address
      item_type: struct
      name: GratuitousArpReply
      pos:
        line_end: 138
        line_start: 126
        source_file: /src/PcapPlusPlus/Packet++/header/ArpLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::NdpOption::NdpOption
  - ~NdpOption() override
  - pcpp::NdpOption::getNdpOptionType
  - pcpp::NdpOption::getTotalSize
  - pcpp::NdpOption::getDataSize
  - pcpp::NdpOptionBuilder::NdpOptionBuilder
  - ~NDPLayerBase() override
  - pcpp::NDPLayerBase::NDPLayerBase
  - pcpp::NDPLayerBase::NDPLayerBase
  - pcpp::NDPLayerBase::getNdpOptionsBasePtr
  - pcpp::NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
  - pcpp::NDPNeighborSolicitationLayer::isDataValid
  - ~NDPNeighborSolicitationLayer() override
  - pcpp::NDPNeighborSolicitationLayer::getTargetIP
  - pcpp::NDPNeighborSolicitationLayer::getNdpHeader
  - pcpp::NDPNeighborSolicitationLayer::getNdpHeaderLen
  - pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
  - pcpp::NDPNeighborAdvertisementLayer::isDataValid
  - ~NDPNeighborAdvertisementLayer() override
  - pcpp::NDPNeighborAdvertisementLayer::getTargetIP
  - pcpp::NDPNeighborAdvertisementLayer::getRouterFlag
  - pcpp::NDPNeighborAdvertisementLayer::getUnicastFlag
  - pcpp::NDPNeighborAdvertisementLayer::getOverrideFlag
  - pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
  - pcpp::NDPNeighborAdvertisementLayer::getNdpHeaderLen
  - pcpp::NdpOption::NdpOption
  - ~NdpOption() override
  - pcpp::NdpOption::getNdpOptionType
  - pcpp::NdpOption::getTotalSize
  - pcpp::NdpOption::getDataSize
  - pcpp::NdpOptionBuilder::NdpOptionBuilder
  - ~NDPLayerBase() override
  - pcpp::NDPLayerBase::NDPLayerBase
  - pcpp::NDPLayerBase::NDPLayerBase
  - pcpp::NDPLayerBase::getNdpOptionsBasePtr
  - pcpp::NDPNeighborSolicitationLayer::NDPNeighborSolicitationLayer
  - pcpp::NDPNeighborSolicitationLayer::isDataValid
  - ~NDPNeighborSolicitationLayer() override
  - pcpp::NDPNeighborSolicitationLayer::getTargetIP
  - pcpp::NDPNeighborSolicitationLayer::getNdpHeader
  - pcpp::NDPNeighborSolicitationLayer::getNdpHeaderLen
  - pcpp::NDPNeighborAdvertisementLayer::NDPNeighborAdvertisementLayer
  - pcpp::NDPNeighborAdvertisementLayer::isDataValid
  - ~NDPNeighborAdvertisementLayer() override
  - pcpp::NDPNeighborAdvertisementLayer::getTargetIP
  - pcpp::NDPNeighborAdvertisementLayer::getRouterFlag
  - pcpp::NDPNeighborAdvertisementLayer::getUnicastFlag
  - pcpp::NDPNeighborAdvertisementLayer::getOverrideFlag
  - pcpp::NDPNeighborAdvertisementLayer::getNdpHeader
  - pcpp::NDPNeighborAdvertisementLayer::getNdpHeaderLen
  source_file: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
  types:
    enum:
    - enumerators:
      - name: NDP_OPTION_SOURCE_LINK_LAYER
        value: '1'
      - name: NDP_OPTION_PREFIX_INFORMATION
        value: '3'
      - name: NDP_OPTION_TARGET_LINK_LAYER
        value: '2'
      - name: NDP_OPTION_MTU
        value: '5'
      - name: NDP_OPTION_REDIRECTED_HEADER
        value: '4'
      - name: NDP_OPTION_UNKNOWN
        value: '255'
      item_type: enum
      name: NDPNeighborOptionTypes
      pos:
        line_end: 26
        line_start: 18
        source_file: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    - enumerators:
      - name: NDP_OPTION_SOURCE_LINK_LAYER
        value: '1'
      - name: NDP_OPTION_PREFIX_INFORMATION
        value: '3'
      - name: NDP_OPTION_TARGET_LINK_LAYER
        value: '2'
      - name: NDP_OPTION_MTU
        value: '5'
      - name: NDP_OPTION_REDIRECTED_HEADER
        value: '4'
      - name: NDP_OPTION_UNKNOWN
        value: '255'
      item_type: enum
      name: NDPNeighborOptionTypes
      pos:
        line_end: 26
        line_start: 18
        source_file: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: reserved
        type: uint32_t
      - name: targetIP[16]
        type: uint8_t
      item_type: struct
      name: ndpneighborsolicitationhdr
      pos:
        line_end: 167
        line_start: 161
        source_file: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    - fields:
      - name: targetIP[16]
        type: uint8_t
      item_type: struct
      name: ndpneighboradvertisementhdr
      pos:
        line_end: 266
        line_start: 237
        source_file: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    - fields:
      - name: reserved
        type: uint32_t
      - name: targetIP[16]
        type: uint8_t
      item_type: struct
      name: ndpneighborsolicitationhdr
      pos:
        line_end: 167
        line_start: 161
        source_file: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    - fields:
      - name: targetIP[16]
        type: uint8_t
      item_type: struct
      name: ndpneighboradvertisementhdr
      pos:
        line_end: 266
        line_start: 237
        source_file: /src/PcapPlusPlus/Packet++/header/NdpLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::UdpLayer::UdpLayer
  - pcpp::UdpLayer::getUdpHeader
  - pcpp::UdpLayer::getHeaderLen
  - pcpp::UdpLayer::getOsiModelLayer
  - pcpp::UdpLayer::isDataValid
  - pcpp::UdpLayer::UdpLayer
  - pcpp::UdpLayer::getUdpHeader
  - pcpp::UdpLayer::getHeaderLen
  - pcpp::UdpLayer::getOsiModelLayer
  - pcpp::UdpLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/UdpLayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: portSrc
        type: uint16_t
      - name: portDst
        type: uint16_t
      - name: length
        type: uint16_t
      - name: headerChecksum
        type: uint16_t
      item_type: struct
      name: udphdr
      pos:
        line_end: 23
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/UdpLayer.h
    - fields:
      - name: portSrc
        type: uint16_t
      - name: portDst
        type: uint16_t
      - name: length
        type: uint16_t
      - name: headerChecksum
        type: uint16_t
      item_type: struct
      name: udphdr
      pos:
        line_end: 23
        line_start: 13
        source_file: /src/PcapPlusPlus/Packet++/header/UdpLayer.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/Packet++/header/PacketUtils.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* buffer'
        type: T
      - name: len
        type: size_t
      item_type: struct
      name: ScalarBuffer
      pos:
        line_end: 19
        line_start: 12
        source_file: /src/PcapPlusPlus/Packet++/header/PacketUtils.h
    - fields:
      - name: '* buffer'
        type: T
      - name: len
        type: size_t
      item_type: struct
      name: ScalarBuffer
      pos:
        line_end: 19
        line_start: 12
        source_file: /src/PcapPlusPlus/Packet++/header/PacketUtils.h
    typedefs: []
    union: []
- function_names:
  - pcpp::LdapOperationType::LdapOperationType
  - pcpp::LdapOperationType::LdapOperationType
  - operator Value() const
  - pcpp::LdapResultCode::LdapResultCode
  - pcpp::LdapResultCode::LdapResultCode
  - operator Value() const
  - operator==(const LdapControl& other) const
  - operator==(const LdapAttribute& other) const
  - ~LdapLayer() override
  - pcpp::LdapLayer::tryGet
  - pcpp::LdapLayer::isLdapPort
  - pcpp::LdapLayer::getHeaderLen
  - pcpp::LdapLayer::computeCalculateFields
  - pcpp::LdapLayer::getOsiModelLayer
  - pcpp::LdapLayer::LdapLayer
  - pcpp::LdapLayer::getExtendedInfoString
  - pcpp::LdapLayer::internalTryGet
  - pcpp::LdapResponseLayer::LdapResponseLayer
  - pcpp::LdapResponseLayer::LdapResponseLayer
  - operator==(const SaslAuthentication& other) const
  - operator!=(const SaslAuthentication& other) const
  - pcpp::LdapBindRequestLayer::tryGet
  - pcpp::LdapBindRequestLayer::LdapBindRequestLayer
  - pcpp::LdapBindResponseLayer::LdapBindResponseLayer
  - pcpp::LdapUnbindRequestLayer::getLdapOperationAsn1Record
  - pcpp::LdapUnbindRequestLayer::getLdapOperationType
  - pcpp::LdapUnbindRequestLayer::tryGet
  - pcpp::LdapUnbindRequestLayer::LdapUnbindRequestLayer
  - pcpp::LdapSearchRequestLayer::SearchRequestScope::SearchRequestScope
  - pcpp::LdapSearchRequestLayer::SearchRequestScope::SearchRequestScope
  - operator Value() const
  - pcpp::LdapSearchRequestLayer::DerefAliases::DerefAliases
  - pcpp::LdapSearchRequestLayer::DerefAliases::DerefAliases
  - operator Value() const
  - pcpp::LdapSearchRequestLayer::tryGet
  - pcpp::LdapSearchRequestLayer::LdapSearchRequestLayer
  - pcpp::LdapSearchResultEntryLayer::tryGet
  - pcpp::LdapSearchResultEntryLayer::LdapSearchResultEntryLayer
  - pcpp::LdapSearchResultDoneLayer::LdapSearchResultDoneLayer
  - pcpp::LdapSearchResultDoneLayer::LdapSearchResultDoneLayer
  - pcpp::LdapModifyResponseLayer::LdapModifyResponseLayer
  - pcpp::LdapModifyResponseLayer::LdapModifyResponseLayer
  - pcpp::LdapAddResponseLayer::LdapAddResponseLayer
  - pcpp::LdapAddResponseLayer::LdapAddResponseLayer
  - pcpp::LdapDeleteResponseLayer::LdapDeleteResponseLayer
  - pcpp::LdapDeleteResponseLayer::LdapDeleteResponseLayer
  - pcpp::LdapModifyDNResponseLayer::LdapModifyDNResponseLayer
  - pcpp::LdapModifyDNResponseLayer::LdapModifyDNResponseLayer
  - pcpp::LdapCompareResponseLayer::LdapCompareResponseLayer
  - pcpp::LdapCompareResponseLayer::LdapCompareResponseLayer
  - '& operator<<(std::ostream& os, const pcpp::LdapControl& control)'
  - '& operator<<(std::ostream& os, const pcpp::LdapAttribute& attr)'
  - "& operator<<(std::ostream& os,\n\t                                const pcpp::LdapBindRequestLayer::SaslAuthentication&
    saslAuthentication)"
  - pcpp::LdapOperationType::LdapOperationType
  - pcpp::LdapOperationType::LdapOperationType
  - operator Value() const
  - pcpp::LdapResultCode::LdapResultCode
  - pcpp::LdapResultCode::LdapResultCode
  - operator Value() const
  - operator==(const LdapControl& other) const
  - operator==(const LdapAttribute& other) const
  - ~LdapLayer() override
  - pcpp::LdapLayer::tryGet
  - pcpp::LdapLayer::isLdapPort
  - pcpp::LdapLayer::getHeaderLen
  - pcpp::LdapLayer::computeCalculateFields
  - pcpp::LdapLayer::getOsiModelLayer
  - pcpp::LdapLayer::LdapLayer
  - pcpp::LdapLayer::getExtendedInfoString
  - pcpp::LdapLayer::internalTryGet
  - pcpp::LdapResponseLayer::LdapResponseLayer
  - pcpp::LdapResponseLayer::LdapResponseLayer
  - operator==(const SaslAuthentication& other) const
  - operator!=(const SaslAuthentication& other) const
  - pcpp::LdapBindRequestLayer::tryGet
  - pcpp::LdapBindRequestLayer::LdapBindRequestLayer
  - pcpp::LdapBindResponseLayer::LdapBindResponseLayer
  - pcpp::LdapUnbindRequestLayer::getLdapOperationAsn1Record
  - pcpp::LdapUnbindRequestLayer::getLdapOperationType
  - pcpp::LdapUnbindRequestLayer::tryGet
  - pcpp::LdapUnbindRequestLayer::LdapUnbindRequestLayer
  - pcpp::LdapSearchRequestLayer::SearchRequestScope::SearchRequestScope
  - pcpp::LdapSearchRequestLayer::SearchRequestScope::SearchRequestScope
  - operator Value() const
  - pcpp::LdapSearchRequestLayer::DerefAliases::DerefAliases
  - pcpp::LdapSearchRequestLayer::DerefAliases::DerefAliases
  - operator Value() const
  - pcpp::LdapSearchRequestLayer::tryGet
  - pcpp::LdapSearchRequestLayer::LdapSearchRequestLayer
  - pcpp::LdapSearchResultEntryLayer::tryGet
  - pcpp::LdapSearchResultEntryLayer::LdapSearchResultEntryLayer
  - pcpp::LdapSearchResultDoneLayer::LdapSearchResultDoneLayer
  - pcpp::LdapSearchResultDoneLayer::LdapSearchResultDoneLayer
  - pcpp::LdapModifyResponseLayer::LdapModifyResponseLayer
  - pcpp::LdapModifyResponseLayer::LdapModifyResponseLayer
  - pcpp::LdapAddResponseLayer::LdapAddResponseLayer
  - pcpp::LdapAddResponseLayer::LdapAddResponseLayer
  - pcpp::LdapDeleteResponseLayer::LdapDeleteResponseLayer
  - pcpp::LdapDeleteResponseLayer::LdapDeleteResponseLayer
  - pcpp::LdapModifyDNResponseLayer::LdapModifyDNResponseLayer
  - pcpp::LdapModifyDNResponseLayer::LdapModifyDNResponseLayer
  - pcpp::LdapCompareResponseLayer::LdapCompareResponseLayer
  - pcpp::LdapCompareResponseLayer::LdapCompareResponseLayer
  - '& operator<<(std::ostream& os, const pcpp::LdapControl& control)'
  - '& operator<<(std::ostream& os, const pcpp::LdapAttribute& attr)'
  - "& operator<<(std::ostream& os,\n\t                                const pcpp::LdapBindRequestLayer::SaslAuthentication&
    saslAuthentication)"
  source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
  types:
    enum:
    - enumerators:
      - name: SearchRequest
        value: '3'
      - name: BindResponse
        value: '1'
      - name: SearchResultDone
        value: '5'
      - name: ModifyResponse
        value: '7'
      - name: AddResponse
        value: '9'
      - name: CompareRequest
        value: '14'
      - name: DeleteResponse
        value: '11'
      - name: AbandonRequest
        value: '16'
      - name: ExtendedRequest
        value: '23'
      - name: IntermediateResponse
        value: '25'
      - name: Unknown
        value: '255'
      - name: BindRequest
        value: '0'
      - name: SearchResultEntry
        value: '4'
      - name: UnbindRequest
        value: '2'
      - name: ModifyRequest
        value: '6'
      - name: AddRequest
        value: '8'
      - name: ModifyDNResponse
        value: '13'
      - name: DeleteRequest
        value: '10'
      - name: CompareResponse
        value: '15'
      - name: SearchResultReference
        value: '19'
      - name: ModifyDNRequest
        value: '12'
      - name: ExtendedResponse
        value: '24'
      item_type: enum
      name: Value
      pos:
        line_end: 66
        line_start: 20
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    - enumerators:
      - name: Success
        value: '0'
      - name: ProtocolError
        value: '2'
      - name: SizeLimitExceeded
        value: '4'
      - name: CompareTrue
        value: '6'
      - name: StrongerAuthRequired
        value: '8'
      - name: ConfidentialityRequired
        value: '13'
      - name: AttributeOrValueExists
        value: '20'
      - name: NoSuchAttribute
        value: '16'
      - name: AdminLimitExceeded
        value: '11'
      - name: InappropriateMatching
        value: '18'
      - name: Busy
        value: '51'
      - name: UnwillingToPerform
        value: '53'
      - name: NoSuchObject
        value: '32'
      - name: NamingViolation
        value: '64'
      - name: Unknown
        value: '255'
      - name: NotAllowedOnNonLeaf
        value: '66'
      - name: AliasDereferencingProblem
        value: '36'
      - name: EntryAlreadyExists
        value: '68'
      - name: InvalidCredentials
        value: '49'
      - name: AffectsMultipleDSAs
        value: '71'
      - name: TimeLimitExceeded
        value: '3'
      - name: OperationsError
        value: '1'
      - name: CompareFalse
        value: '5'
      - name: AuthMethodNotSupported
        value: '7'
      - name: Referral
        value: '10'
      - name: UnavailableCriticalExtension
        value: '12'
      - name: ConstraintViolation
        value: '19'
      - name: SaslBindInProgress
        value: '14'
      - name: UndefinedAttributeType
        value: '17'
      - name: InvalidAttributeSyntax
        value: '21'
      - name: Unavailable
        value: '52'
      - name: Other
        value: '80'
      - name: LoopDetect
        value: '54'
      - name: AliasProblem
        value: '33'
      - name: InvalidDNSyntax
        value: '34'
      - name: ObjectClassViolation
        value: '65'
      - name: InappropriateAuthentication
        value: '48'
      - name: NotAllowedOnRDN
        value: '67'
      - name: InsufficientAccessRights
        value: '50'
      - name: ObjectClassModsProhibited
        value: '69'
      item_type: enum
      name: Value
      pos:
        line_end: 216
        line_start: 104
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    - enumerators:
      - name: Simple
        value: '0'
      - name: Sasl
        value: '3'
      - name: NotApplicable
        value: '255'
      item_type: enum
      name: AuthenticationType
      pos:
        line_end: 477
        line_start: 469
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    - enumerators:
      - name: BaseObject
        value: '0'
      - name: subordinateSubtree
        value: '3'
      - name: Unknown
        value: '255'
      - name: WholeSubtree
        value: '2'
      - name: SingleLevel
        value: '1'
      item_type: enum
      name: Value
      pos:
        line_end: 666
        line_start: 650
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    - enumerators:
      - name: NeverDerefAliases
        value: '0'
      - name: Unknown
        value: '255'
      - name: DerefInSearching
        value: '1'
      - name: DerefFindingBaseObj
        value: '2'
      - name: DerefAlways
        value: '3'
      item_type: enum
      name: Value
      pos:
        line_end: 716
        line_start: 704
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    - enumerators:
      - name: SearchRequest
        value: '3'
      - name: BindResponse
        value: '1'
      - name: SearchResultDone
        value: '5'
      - name: ModifyResponse
        value: '7'
      - name: AddResponse
        value: '9'
      - name: CompareRequest
        value: '14'
      - name: DeleteResponse
        value: '11'
      - name: AbandonRequest
        value: '16'
      - name: ExtendedRequest
        value: '23'
      - name: IntermediateResponse
        value: '25'
      - name: Unknown
        value: '255'
      - name: BindRequest
        value: '0'
      - name: SearchResultEntry
        value: '4'
      - name: UnbindRequest
        value: '2'
      - name: ModifyRequest
        value: '6'
      - name: AddRequest
        value: '8'
      - name: ModifyDNResponse
        value: '13'
      - name: DeleteRequest
        value: '10'
      - name: CompareResponse
        value: '15'
      - name: SearchResultReference
        value: '19'
      - name: ModifyDNRequest
        value: '12'
      - name: ExtendedResponse
        value: '24'
      item_type: enum
      name: Value
      pos:
        line_end: 66
        line_start: 20
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    - enumerators:
      - name: Success
        value: '0'
      - name: ProtocolError
        value: '2'
      - name: SizeLimitExceeded
        value: '4'
      - name: CompareTrue
        value: '6'
      - name: StrongerAuthRequired
        value: '8'
      - name: ConfidentialityRequired
        value: '13'
      - name: AttributeOrValueExists
        value: '20'
      - name: NoSuchAttribute
        value: '16'
      - name: AdminLimitExceeded
        value: '11'
      - name: InappropriateMatching
        value: '18'
      - name: Busy
        value: '51'
      - name: UnwillingToPerform
        value: '53'
      - name: NoSuchObject
        value: '32'
      - name: NamingViolation
        value: '64'
      - name: Unknown
        value: '255'
      - name: NotAllowedOnNonLeaf
        value: '66'
      - name: AliasDereferencingProblem
        value: '36'
      - name: EntryAlreadyExists
        value: '68'
      - name: InvalidCredentials
        value: '49'
      - name: AffectsMultipleDSAs
        value: '71'
      - name: TimeLimitExceeded
        value: '3'
      - name: OperationsError
        value: '1'
      - name: CompareFalse
        value: '5'
      - name: AuthMethodNotSupported
        value: '7'
      - name: Referral
        value: '10'
      - name: UnavailableCriticalExtension
        value: '12'
      - name: ConstraintViolation
        value: '19'
      - name: SaslBindInProgress
        value: '14'
      - name: UndefinedAttributeType
        value: '17'
      - name: InvalidAttributeSyntax
        value: '21'
      - name: Unavailable
        value: '52'
      - name: Other
        value: '80'
      - name: LoopDetect
        value: '54'
      - name: AliasProblem
        value: '33'
      - name: InvalidDNSyntax
        value: '34'
      - name: ObjectClassViolation
        value: '65'
      - name: InappropriateAuthentication
        value: '48'
      - name: NotAllowedOnRDN
        value: '67'
      - name: InsufficientAccessRights
        value: '50'
      - name: ObjectClassModsProhibited
        value: '69'
      item_type: enum
      name: Value
      pos:
        line_end: 216
        line_start: 104
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    - enumerators:
      - name: Simple
        value: '0'
      - name: Sasl
        value: '3'
      - name: NotApplicable
        value: '255'
      item_type: enum
      name: AuthenticationType
      pos:
        line_end: 477
        line_start: 469
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    - enumerators:
      - name: BaseObject
        value: '0'
      - name: subordinateSubtree
        value: '3'
      - name: Unknown
        value: '255'
      - name: WholeSubtree
        value: '2'
      - name: SingleLevel
        value: '1'
      item_type: enum
      name: Value
      pos:
        line_end: 666
        line_start: 650
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    - enumerators:
      - name: NeverDerefAliases
        value: '0'
      - name: Unknown
        value: '255'
      - name: DerefInSearching
        value: '1'
      - name: DerefFindingBaseObj
        value: '2'
      - name: DerefAlways
        value: '3'
      item_type: enum
      name: Value
      pos:
        line_end: 716
        line_start: 704
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: controlType
        type: std::string
      - name: controlValue
        type: std::string
      item_type: struct
      name: LdapControl
      pos:
        line_end: 264
        line_start: 250
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    - fields:
      - name: type
        type: std::string
      - name: values
        type: std::vector<std::string>
      item_type: struct
      name: LdapAttribute
      pos:
        line_end: 282
        line_start: 268
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    - fields:
      - name: mechanism
        type: std::string
      - name: credentials
        type: std::vector<uint8_t>
      item_type: struct
      name: SaslAuthentication
      pos:
        line_end: 503
        line_start: 481
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    - fields:
      - name: controlType
        type: std::string
      - name: controlValue
        type: std::string
      item_type: struct
      name: LdapControl
      pos:
        line_end: 264
        line_start: 250
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    - fields:
      - name: type
        type: std::string
      - name: values
        type: std::vector<std::string>
      item_type: struct
      name: LdapAttribute
      pos:
        line_end: 282
        line_start: 268
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    - fields:
      - name: mechanism
        type: std::string
      - name: credentials
        type: std::vector<uint8_t>
      item_type: struct
      name: SaslAuthentication
      pos:
        line_end: 503
        line_start: 481
        source_file: /src/PcapPlusPlus/Packet++/header/LdapLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::BgpLayer::isBgpPort
  - pcpp::BgpLayer::getOsiModelLayer
  - pcpp::BgpLayer::BgpLayer
  - pcpp::BgpLayer::BgpLayer
  - pcpp::BgpLayer::getBasicHeader
  - pcpp::BgpOpenMessageLayer::optional_parameter
  - pcpp::BgpOpenMessageLayer::BgpOpenMessageLayer
  - pcpp::BgpOpenMessageLayer::getOpenMsgHeader
  - pcpp::BgpOpenMessageLayer::getBgpId
  - pcpp::BgpOpenMessageLayer::getBgpMessageType
  - pcpp::BgpUpdateMessageLayer::prefix_and_ip
  - pcpp::BgpUpdateMessageLayer::prefix_and_ip
  - pcpp::BgpUpdateMessageLayer::path_attribute
  - pcpp::BgpUpdateMessageLayer::BgpUpdateMessageLayer
  - pcpp::BgpUpdateMessageLayer::getBasicMsgHeader
  - pcpp::BgpUpdateMessageLayer::getBgpMessageType
  - pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
  - pcpp::BgpNotificationMessageLayer::getNotificationMsgHeader
  - pcpp::BgpNotificationMessageLayer::getBgpMessageType
  - pcpp::BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer
  - pcpp::BgpKeepaliveMessageLayer::getKeepaliveHeader
  - pcpp::BgpKeepaliveMessageLayer::getBgpMessageType
  - pcpp::BgpRouteRefreshMessageLayer::BgpRouteRefreshMessageLayer
  - pcpp::BgpRouteRefreshMessageLayer::getRouteRefreshHeader
  - pcpp::BgpRouteRefreshMessageLayer::getBgpMessageType
  - pcpp::BgpLayer::isBgpPort
  - pcpp::BgpLayer::getOsiModelLayer
  - pcpp::BgpLayer::BgpLayer
  - pcpp::BgpLayer::BgpLayer
  - pcpp::BgpLayer::getBasicHeader
  - pcpp::BgpOpenMessageLayer::optional_parameter
  - pcpp::BgpOpenMessageLayer::BgpOpenMessageLayer
  - pcpp::BgpOpenMessageLayer::getOpenMsgHeader
  - pcpp::BgpOpenMessageLayer::getBgpId
  - pcpp::BgpOpenMessageLayer::getBgpMessageType
  - pcpp::BgpUpdateMessageLayer::prefix_and_ip
  - pcpp::BgpUpdateMessageLayer::prefix_and_ip
  - pcpp::BgpUpdateMessageLayer::path_attribute
  - pcpp::BgpUpdateMessageLayer::BgpUpdateMessageLayer
  - pcpp::BgpUpdateMessageLayer::getBasicMsgHeader
  - pcpp::BgpUpdateMessageLayer::getBgpMessageType
  - pcpp::BgpNotificationMessageLayer::BgpNotificationMessageLayer
  - pcpp::BgpNotificationMessageLayer::getNotificationMsgHeader
  - pcpp::BgpNotificationMessageLayer::getBgpMessageType
  - pcpp::BgpKeepaliveMessageLayer::BgpKeepaliveMessageLayer
  - pcpp::BgpKeepaliveMessageLayer::getKeepaliveHeader
  - pcpp::BgpKeepaliveMessageLayer::getBgpMessageType
  - pcpp::BgpRouteRefreshMessageLayer::BgpRouteRefreshMessageLayer
  - pcpp::BgpRouteRefreshMessageLayer::getRouteRefreshHeader
  - pcpp::BgpRouteRefreshMessageLayer::getBgpMessageType
  source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
  types:
    enum:
    - enumerators:
      - name: Open
        value: '1'
      - name: RouteRefresh
        value: '5'
      - name: Notification
        value: '3'
      - name: Update
        value: '2'
      - name: Keepalive
        value: '4'
      item_type: enum
      name: BgpMessageType
      pos:
        line_end: 36
        line_start: 24
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    - enumerators:
      - name: Open
        value: '1'
      - name: RouteRefresh
        value: '5'
      - name: Notification
        value: '3'
      - name: Update
        value: '2'
      - name: Keepalive
        value: '4'
      item_type: enum
      name: BgpMessageType
      pos:
        line_end: 36
        line_start: 24
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: marker[16]
        type: uint8_t
      - name: length
        type: uint16_t
      - name: messageType
        type: uint8_t
      item_type: struct
      name: bgp_common_header
      pos:
        line_end: 49
        line_start: 41
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    - fields:
      - name: version
        type: uint8_t
      - name: myAutonomousSystem
        type: uint16_t
      - name: holdTime
        type: uint16_t
      - name: bgpId
        type: uint32_t
      - name: optionalParameterLength
        type: uint8_t
      item_type: struct
      name: bgp_open_message
      pos:
        line_end: 141
        line_start: 129
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    - fields:
      - name: type
        type: uint8_t
      - name: length
        type: uint8_t
      - name: value[32]
        type: uint8_t
      item_type: struct
      name: optional_parameter
      pos:
        line_end: 163
        line_start: 146
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    - fields:
      - name: prefix
        type: uint8_t
      - name: ipAddr
        type: IPv4Address
      item_type: struct
      name: prefix_and_ip
      pos:
        line_end: 266
        line_start: 250
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    - fields:
      - name: flags
        type: uint8_t
      - name: type
        type: uint8_t
      - name: length
        type: uint8_t
      - name: data[32]
        type: uint8_t
      item_type: struct
      name: path_attribute
      pos:
        line_end: 293
        line_start: 270
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    - fields:
      - name: errorCode
        type: uint8_t
      - name: errorSubCode
        type: uint8_t
      item_type: struct
      name: bgp_notification_message
      pos:
        line_end: 424
        line_start: 418
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    - fields:
      - name: afi
        type: uint16_t
      - name: reserved
        type: uint8_t
      - name: safi
        type: uint8_t
      item_type: struct
      name: bgp_route_refresh_message
      pos:
        line_end: 560
        line_start: 552
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    - fields:
      - name: marker[16]
        type: uint8_t
      - name: length
        type: uint16_t
      - name: messageType
        type: uint8_t
      item_type: struct
      name: bgp_common_header
      pos:
        line_end: 49
        line_start: 41
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    - fields:
      - name: version
        type: uint8_t
      - name: myAutonomousSystem
        type: uint16_t
      - name: holdTime
        type: uint16_t
      - name: bgpId
        type: uint32_t
      - name: optionalParameterLength
        type: uint8_t
      item_type: struct
      name: bgp_open_message
      pos:
        line_end: 141
        line_start: 129
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    - fields:
      - name: type
        type: uint8_t
      - name: length
        type: uint8_t
      - name: value[32]
        type: uint8_t
      item_type: struct
      name: optional_parameter
      pos:
        line_end: 163
        line_start: 146
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    - fields:
      - name: prefix
        type: uint8_t
      - name: ipAddr
        type: IPv4Address
      item_type: struct
      name: prefix_and_ip
      pos:
        line_end: 266
        line_start: 250
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    - fields:
      - name: flags
        type: uint8_t
      - name: type
        type: uint8_t
      - name: length
        type: uint8_t
      - name: data[32]
        type: uint8_t
      item_type: struct
      name: path_attribute
      pos:
        line_end: 293
        line_start: 270
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    - fields:
      - name: errorCode
        type: uint8_t
      - name: errorSubCode
        type: uint8_t
      item_type: struct
      name: bgp_notification_message
      pos:
        line_end: 424
        line_start: 418
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    - fields:
      - name: afi
        type: uint16_t
      - name: reserved
        type: uint8_t
      - name: safi
        type: uint8_t
      item_type: struct
      name: bgp_route_refresh_message
      pos:
        line_end: 560
        line_start: 552
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
    typedefs:
    - item_type: typedef
      name: bgp_keepalive_message
      pos:
        line_end: 514
        line_start: 514
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
      type: bgp_common_header
    - item_type: typedef
      name: bgp_keepalive_message
      pos:
        line_end: 514
        line_start: 514
        source_file: /src/PcapPlusPlus/Packet++/header/BgpLayer.h
      type: bgp_common_header
    union: []
- function_names:
  - pcpp::DhcpV6Option::DhcpV6Option
  - ~DhcpV6Option() override
  - pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
  - pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
  - pcpp::DhcpV6Layer::parseNextLayer
  - pcpp::DhcpV6Layer::getHeaderLen
  - pcpp::DhcpV6Layer::computeCalculateFields
  - pcpp::DhcpV6Layer::getOsiModelLayer
  - pcpp::DhcpV6Layer::getOptionsBasePtr
  - pcpp::DhcpV6Layer::getDhcpHeader
  - pcpp::DhcpV6Layer::isDhcpV6Port
  - pcpp::DhcpV6Layer::isDataValid
  - pcpp::DhcpV6Option::DhcpV6Option
  - ~DhcpV6Option() override
  - pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
  - pcpp::DhcpV6OptionBuilder::DhcpV6OptionBuilder
  - pcpp::DhcpV6Layer::parseNextLayer
  - pcpp::DhcpV6Layer::getHeaderLen
  - pcpp::DhcpV6Layer::computeCalculateFields
  - pcpp::DhcpV6Layer::getOsiModelLayer
  - pcpp::DhcpV6Layer::getOptionsBasePtr
  - pcpp::DhcpV6Layer::getDhcpHeader
  - pcpp::DhcpV6Layer::isDhcpV6Port
  - pcpp::DhcpV6Layer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
  types:
    enum:
    - enumerators:
      - name: DHCPV6_UNKNOWN_MSG_TYPE
        value: '0'
      - name: DHCPV6_CONFIRM
        value: '4'
      - name: DHCPV6_REQUEST
        value: '3'
      - name: DHCPV6_SOLICIT
        value: '1'
      - name: DHCPV6_ADVERTISE
        value: '2'
      - name: DHCPV6_RENEW
        value: '5'
      - name: DHCPV6_REBIND
        value: '6'
      - name: DHCPV6_REPLY
        value: '7'
      - name: DHCPV6_RELEASE
        value: '8'
      - name: DHCPV6_DECLINE
        value: '9'
      - name: DHCPV6_RELAY_FORWARD
        value: '12'
      - name: DHCPV6_RELAY_REPLY
        value: '13'
      - name: DHCPV6_INFORMATION_REQUEST
        value: '11'
      - name: DHCPV6_RECONFIGURE
        value: '10'
      item_type: enum
      name: DhcpV6MessageType
      pos:
        line_end: 42
        line_start: 12
        source_file: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    - enumerators:
      - name: DHCPV6_OPT_IAPREFIX
        value: '26'
      - name: DHCPV6_OPT_LQ_CLIENT_LINK
        value: '48'
      - name: DHCPV6_OPT_SUBSCRIBER_ID
        value: '38'
      - name: DHCPV6_OPT_CLIENT_ARCH_TYPE
        value: '61'
      - name: DHCPV6_OPT_NISP_SERVERS
        value: '28'
      - name: DHCPV6_OPT_MIP6_RELAY
        value: '50'
      - name: DHCPV6_OPT_CLIENTID
        value: '1'
      - name: DHCPV6_OPT_IA_NA
        value: '3'
      - name: DHCPV6_OPT_IAADDR
        value: '5'
      - name: DHCPV6_OPT_PREFERENCE
        value: '7'
      - name: DHCPV6_OPT_RELAY_MSG
        value: '9'
      - name: DHCPV6_OPT_RAPID_COMMIT
        value: '14'
      - name: DHCPV6_OPT_VENDOR_CLASS
        value: '16'
      - name: DHCPV6_OPT_INTERFACE_ID
        value: '18'
      - name: DHCPV6_OPT_UNICAST
        value: '12'
      - name: DHCPV6_OPT_RECONF_ACCEPT
        value: '20'
      - name: DHCPV6_OPT_SIP_SERVERS_D
        value: '21'
      - name: DHCPV6_OPT_NISP_DOMAIN_NAME
        value: '30'
      - name: DHCPV6_OPT_INFORMATION_REFRESH_TIME
        value: '32'
      - name: DHCPV6_OPT_ERO
        value: '43'
      - name: DHCPV6_OPT_CAPWAP_AC_V6
        value: '52'
      - name: DHCPV6_OPT_IPH6_ADDRESS_MOS
        value: '54'
      - name: DHCPV6_OPT_ERP_LOCAL_DOMAIN_NAME
        value: '65'
      - name: DHCPV6_OPT_VSS
        value: '68'
      - name: DHCPV6_OPT_BCMCS_SERVER_A
        value: '34'
      - name: DHCPV6_OPT_NTP_SERVER
        value: '56'
      - name: DHCPV6_OPT_MUD_URL
        value: '112'
      - name: DHCPV6_OPT_BOOTFILE_URL
        value: '59'
      - name: DHCPV6_OPT_DNS_SERVERS
        value: '23'
      - name: DHCPV6_OPT_CLIENT_DATA
        value: '45'
      - name: DHCPV6_OPT_NIS_SERVERS
        value: '27'
      - name: DHCPV6_OPT_MIP6_HNINF
        value: '49'
      - name: DHCPV6_OPT_IA_PD
        value: '25'
      - name: DHCPV6_OPT_LQ_RELAY_DATA
        value: '47'
      - name: DHCPV6_OPT_REMOTE_ID
        value: '37'
      - name: DHCPV6_OPT_BOOTFILE_PARAM
        value: '60'
      - name: DHCPV6_OPT_NIS_DOMAIN_NAME
        value: '29'
      - name: DHCPV6_OPT_V6_LOST
        value: '51'
      - name: DHCPV6_OPT_NEW_POSIX_TIMEZONE
        value: '41'
      - name: DHCPV6_OPT_RELAY_SUPPLIED_OPTIONS
        value: '66'
      - name: DHCPV6_OPT_CLIENT_FQDN
        value: '39'
      - name: DHCPV6_OPT_NII
        value: '62'
      - name: DHCPV6_OPT_UNKNOWN
        value: '0'
      - name: DHCPV6_OPT_SERVERID
        value: '2'
      - name: DHCPV6_OPT_IA_TA
        value: '4'
      - name: DHCPV6_OPT_ORO
        value: '6'
      - name: DHCPV6_OPT_ELAPSED_TIME
        value: '8'
      - name: DHCPV6_OPT_AUTH
        value: '11'
      - name: DHCPV6_OPT_USER_CLASS
        value: '15'
      - name: DHCPV6_OPT_STATUS_CODE
        value: '13'
      - name: DHCPV6_OPT_RECONF_MSG
        value: '19'
      - name: DHCPV6_OPT_VENDOR_OPTS
        value: '17'
      - name: DHCPV6_OPT_PANA_AGENT
        value: '40'
      - name: DHCPV6_OPT_CLIENT_LINKLAYER_ADDR
        value: '79'
      - name: DHCPV6_OPT_LQ_QUERY
        value: '44'
      - name: DHCPV6_OPT_NEW_TZDB_TIMEZONE
        value: '42'
      - name: DHCPV6_OPT_SNTP_SERVERS
        value: '31'
      - name: DHCPV6_OPT_RELAY_ID
        value: '53'
      - name: DHCPV6_OPT_IPV6_FQDN_MOS
        value: '55'
      - name: DHCPV6_OPT_DOMAIN_LIST
        value: '24'
      - name: DHCPV6_OPT_CLT_TIME
        value: '46'
      - name: DHCPV6_OPT_GEOCONF_CIVIC
        value: '36'
      - name: DHCPV6_OPT_SIP_SERVERS_A
        value: '22'
      - name: DHCPV6_OPT_BCMCS_SERVER_D
        value: '33'
      item_type: enum
      name: DhcpV6OptionType
      pos:
        line_end: 181
        line_start: 50
        source_file: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    - enumerators:
      - name: DHCPV6_UNKNOWN_MSG_TYPE
        value: '0'
      - name: DHCPV6_CONFIRM
        value: '4'
      - name: DHCPV6_REQUEST
        value: '3'
      - name: DHCPV6_SOLICIT
        value: '1'
      - name: DHCPV6_ADVERTISE
        value: '2'
      - name: DHCPV6_RENEW
        value: '5'
      - name: DHCPV6_REBIND
        value: '6'
      - name: DHCPV6_REPLY
        value: '7'
      - name: DHCPV6_RELEASE
        value: '8'
      - name: DHCPV6_DECLINE
        value: '9'
      - name: DHCPV6_RELAY_FORWARD
        value: '12'
      - name: DHCPV6_RELAY_REPLY
        value: '13'
      - name: DHCPV6_INFORMATION_REQUEST
        value: '11'
      - name: DHCPV6_RECONFIGURE
        value: '10'
      item_type: enum
      name: DhcpV6MessageType
      pos:
        line_end: 42
        line_start: 12
        source_file: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    - enumerators:
      - name: DHCPV6_OPT_IAPREFIX
        value: '26'
      - name: DHCPV6_OPT_LQ_CLIENT_LINK
        value: '48'
      - name: DHCPV6_OPT_SUBSCRIBER_ID
        value: '38'
      - name: DHCPV6_OPT_CLIENT_ARCH_TYPE
        value: '61'
      - name: DHCPV6_OPT_NISP_SERVERS
        value: '28'
      - name: DHCPV6_OPT_MIP6_RELAY
        value: '50'
      - name: DHCPV6_OPT_CLIENTID
        value: '1'
      - name: DHCPV6_OPT_IA_NA
        value: '3'
      - name: DHCPV6_OPT_IAADDR
        value: '5'
      - name: DHCPV6_OPT_PREFERENCE
        value: '7'
      - name: DHCPV6_OPT_RELAY_MSG
        value: '9'
      - name: DHCPV6_OPT_RAPID_COMMIT
        value: '14'
      - name: DHCPV6_OPT_VENDOR_CLASS
        value: '16'
      - name: DHCPV6_OPT_INTERFACE_ID
        value: '18'
      - name: DHCPV6_OPT_UNICAST
        value: '12'
      - name: DHCPV6_OPT_RECONF_ACCEPT
        value: '20'
      - name: DHCPV6_OPT_SIP_SERVERS_D
        value: '21'
      - name: DHCPV6_OPT_NISP_DOMAIN_NAME
        value: '30'
      - name: DHCPV6_OPT_INFORMATION_REFRESH_TIME
        value: '32'
      - name: DHCPV6_OPT_ERO
        value: '43'
      - name: DHCPV6_OPT_CAPWAP_AC_V6
        value: '52'
      - name: DHCPV6_OPT_IPH6_ADDRESS_MOS
        value: '54'
      - name: DHCPV6_OPT_ERP_LOCAL_DOMAIN_NAME
        value: '65'
      - name: DHCPV6_OPT_VSS
        value: '68'
      - name: DHCPV6_OPT_BCMCS_SERVER_A
        value: '34'
      - name: DHCPV6_OPT_NTP_SERVER
        value: '56'
      - name: DHCPV6_OPT_MUD_URL
        value: '112'
      - name: DHCPV6_OPT_BOOTFILE_URL
        value: '59'
      - name: DHCPV6_OPT_DNS_SERVERS
        value: '23'
      - name: DHCPV6_OPT_CLIENT_DATA
        value: '45'
      - name: DHCPV6_OPT_NIS_SERVERS
        value: '27'
      - name: DHCPV6_OPT_MIP6_HNINF
        value: '49'
      - name: DHCPV6_OPT_IA_PD
        value: '25'
      - name: DHCPV6_OPT_LQ_RELAY_DATA
        value: '47'
      - name: DHCPV6_OPT_REMOTE_ID
        value: '37'
      - name: DHCPV6_OPT_BOOTFILE_PARAM
        value: '60'
      - name: DHCPV6_OPT_NIS_DOMAIN_NAME
        value: '29'
      - name: DHCPV6_OPT_V6_LOST
        value: '51'
      - name: DHCPV6_OPT_NEW_POSIX_TIMEZONE
        value: '41'
      - name: DHCPV6_OPT_RELAY_SUPPLIED_OPTIONS
        value: '66'
      - name: DHCPV6_OPT_CLIENT_FQDN
        value: '39'
      - name: DHCPV6_OPT_NII
        value: '62'
      - name: DHCPV6_OPT_UNKNOWN
        value: '0'
      - name: DHCPV6_OPT_SERVERID
        value: '2'
      - name: DHCPV6_OPT_IA_TA
        value: '4'
      - name: DHCPV6_OPT_ORO
        value: '6'
      - name: DHCPV6_OPT_ELAPSED_TIME
        value: '8'
      - name: DHCPV6_OPT_AUTH
        value: '11'
      - name: DHCPV6_OPT_USER_CLASS
        value: '15'
      - name: DHCPV6_OPT_STATUS_CODE
        value: '13'
      - name: DHCPV6_OPT_RECONF_MSG
        value: '19'
      - name: DHCPV6_OPT_VENDOR_OPTS
        value: '17'
      - name: DHCPV6_OPT_PANA_AGENT
        value: '40'
      - name: DHCPV6_OPT_CLIENT_LINKLAYER_ADDR
        value: '79'
      - name: DHCPV6_OPT_LQ_QUERY
        value: '44'
      - name: DHCPV6_OPT_NEW_TZDB_TIMEZONE
        value: '42'
      - name: DHCPV6_OPT_SNTP_SERVERS
        value: '31'
      - name: DHCPV6_OPT_RELAY_ID
        value: '53'
      - name: DHCPV6_OPT_IPV6_FQDN_MOS
        value: '55'
      - name: DHCPV6_OPT_DOMAIN_LIST
        value: '24'
      - name: DHCPV6_OPT_CLT_TIME
        value: '46'
      - name: DHCPV6_OPT_GEOCONF_CIVIC
        value: '36'
      - name: DHCPV6_OPT_SIP_SERVERS_A
        value: '22'
      - name: DHCPV6_OPT_BCMCS_SERVER_D
        value: '33'
      item_type: enum
      name: DhcpV6OptionType
      pos:
        line_end: 181
        line_start: 50
        source_file: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    preproc_defs: []
    structs:
    - fields:
      - name: messageType
        type: uint8_t
      - name: transactionId1
        type: uint8_t
      - name: transactionId2
        type: uint8_t
      - name: transactionId3
        type: uint8_t
      item_type: struct
      name: dhcpv6_header
      pos:
        line_end: 250
        line_start: 240
        source_file: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    - fields:
      - name: messageType
        type: uint8_t
      - name: transactionId1
        type: uint8_t
      - name: transactionId2
        type: uint8_t
      - name: transactionId3
        type: uint8_t
      item_type: struct
      name: dhcpv6_header
      pos:
        line_end: 250
        line_start: 240
        source_file: /src/PcapPlusPlus/Packet++/header/DhcpV6Layer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::S7CommParameter::S7CommParameter
  - ~S7CommParameter()
  - pcpp::S7CommParameter::getData
  - pcpp::S7CommParameter::getDataLength
  - pcpp::S7CommParameter::S7CommParameter
  - pcpp::S7CommLayer::S7CommLayer
  - ~S7CommLayer() override
  - pcpp::S7CommLayer::getHeaderLen
  - pcpp::S7CommLayer::computeCalculateFields
  - pcpp::S7CommLayer::parseNextLayer
  - pcpp::S7CommLayer::getOsiModelLayer
  - pcpp::S7CommLayer::getS7commHeader
  - pcpp::S7CommLayer::getS7commAckDataHeader
  - pcpp::S7CommParameter::S7CommParameter
  - ~S7CommParameter()
  - pcpp::S7CommParameter::getData
  - pcpp::S7CommParameter::getDataLength
  - pcpp::S7CommParameter::S7CommParameter
  - pcpp::S7CommLayer::S7CommLayer
  - ~S7CommLayer() override
  - pcpp::S7CommLayer::getHeaderLen
  - pcpp::S7CommLayer::computeCalculateFields
  - pcpp::S7CommLayer::parseNextLayer
  - pcpp::S7CommLayer::getOsiModelLayer
  - pcpp::S7CommLayer::getS7commHeader
  - pcpp::S7CommLayer::getS7commAckDataHeader
  source_file: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: protocolId
        type: uint8_t
      - name: msgType
        type: uint8_t
      - name: reserved
        type: uint16_t
      - name: pduRef
        type: uint16_t
      - name: paramLength
        type: uint16_t
      - name: dataLength
        type: uint16_t
      item_type: struct
      name: s7commhdr
      pos:
        line_end: 26
        line_start: 12
        source_file: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    - fields:
      - name: errorClass
        type: uint8_t
      - name: errorCode
        type: uint8_t
      item_type: struct
      name: s7comm_ack_data_hdr
      pos:
        line_end: 39
        line_start: 33
        source_file: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    - fields:
      - name: protocolId
        type: uint8_t
      - name: msgType
        type: uint8_t
      - name: reserved
        type: uint16_t
      - name: pduRef
        type: uint16_t
      - name: paramLength
        type: uint16_t
      - name: dataLength
        type: uint16_t
      item_type: struct
      name: s7commhdr
      pos:
        line_end: 26
        line_start: 12
        source_file: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    - fields:
      - name: errorClass
        type: uint8_t
      - name: errorCode
        type: uint8_t
      item_type: struct
      name: s7comm_ack_data_hdr
      pos:
        line_end: 39
        line_start: 33
        source_file: /src/PcapPlusPlus/Packet++/header/S7CommLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::SomeIpSdOption::getLength
  - pcpp::SomeIpSdOption::SomeIpSdOption
  - pcpp::SomeIpSdOption::SomeIpSdOption
  - pcpp::SomeIpSdOption::SomeIpSdOption
  - '& operator=(const SomeIpSdOption&)'
  - pcpp::SomeIpSdEntry::getType
  - pcpp::SomeIpSdEntry::getLength
  - pcpp::SomeIpSdEntry::SomeIpSdEntry
  - '& operator=(const SomeIpSdEntry&)'
  - ~SomeIpSdLayer() override
  - pcpp::SomeIpSdLayer::isSomeIpSdPort
  - pcpp::SomeIpSdOption::getLength
  - pcpp::SomeIpSdOption::SomeIpSdOption
  - pcpp::SomeIpSdOption::SomeIpSdOption
  - pcpp::SomeIpSdOption::SomeIpSdOption
  - '& operator=(const SomeIpSdOption&)'
  - pcpp::SomeIpSdEntry::getType
  - pcpp::SomeIpSdEntry::getLength
  - pcpp::SomeIpSdEntry::SomeIpSdEntry
  - '& operator=(const SomeIpSdEntry&)'
  - ~SomeIpSdLayer() override
  - pcpp::SomeIpSdLayer::isSomeIpSdPort
  source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
  types:
    enum:
    - enumerators:
      - name: SD_TCP
        value: '0x06'
      - name: SD_UDP
        value: '0x11'
      item_type: enum
      name: SomeIpSdProtocolType
      pos:
        line_end: 25
        line_start: 19
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - enumerators:
      - name: Unknown
        value: '0x00'
      - name: IPv4Endpoint
        value: '0x04'
      - name: LoadBalancing
        value: '0x02'
      - name: ConfigurationString
        value: '0x01'
      - name: IPv6Endpoint
        value: '0x06'
      - name: IPv4Multicast
        value: '0x14'
      - name: IPv6Multicast
        value: '0x16'
      - name: IPv4SdEndpoint
        value: '0x24'
      - name: IPv6SdEndpoint
        value: '0x26'
      item_type: enum
      name: OptionType
      pos:
        line_end: 57
        line_start: 37
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - enumerators:
      - name: IPv4Endpoint
      - name: IPv4Multicast
      - name: IPv4SdEndpoint
      item_type: enum
      name: IPv4OptionType
      pos:
        line_end: 131
        line_start: 123
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - enumerators:
      - name: IPv6Endpoint
      - name: IPv6Multicast
      - name: IPv6SdEndpoint
      item_type: enum
      name: IPv6OptionType
      pos:
        line_end: 193
        line_start: 185
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - enumerators:
      - name: FindService
      - name: StopSubscribeEventgroup
      - name: SubscribeEventgroup
      - name: StopOfferService
      - name: OfferService
      - name: SubscribeEventgroupAck
      - name: SubscribeEventgroupNack
      - name: UnknownEntryType
      item_type: enum
      name: EntryType
      pos:
        line_end: 326
        line_start: 308
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - enumerators:
      - name: FindService_Internal
        value: '0x00'
      - name: SubscribeEventgroupAck_Internal
        value: '0x07'
      - name: SubscribeEventgroup_Internal
        value: '0x06'
      - name: OfferService_Internal
        value: '0x01'
      item_type: enum
      name: TypeInternal
      pos:
        line_end: 488
        line_start: 478
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - enumerators:
      - name: SD_TCP
        value: '0x06'
      - name: SD_UDP
        value: '0x11'
      item_type: enum
      name: SomeIpSdProtocolType
      pos:
        line_end: 25
        line_start: 19
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - enumerators:
      - name: Unknown
        value: '0x00'
      - name: IPv4Endpoint
        value: '0x04'
      - name: LoadBalancing
        value: '0x02'
      - name: ConfigurationString
        value: '0x01'
      - name: IPv6Endpoint
        value: '0x06'
      - name: IPv4Multicast
        value: '0x14'
      - name: IPv6Multicast
        value: '0x16'
      - name: IPv4SdEndpoint
        value: '0x24'
      - name: IPv6SdEndpoint
        value: '0x26'
      item_type: enum
      name: OptionType
      pos:
        line_end: 57
        line_start: 37
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - enumerators:
      - name: IPv4Endpoint
      - name: IPv4Multicast
      - name: IPv4SdEndpoint
      item_type: enum
      name: IPv4OptionType
      pos:
        line_end: 131
        line_start: 123
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - enumerators:
      - name: IPv6Endpoint
      - name: IPv6Multicast
      - name: IPv6SdEndpoint
      item_type: enum
      name: IPv6OptionType
      pos:
        line_end: 193
        line_start: 185
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - enumerators:
      - name: FindService
      - name: StopSubscribeEventgroup
      - name: SubscribeEventgroup
      - name: StopOfferService
      - name: OfferService
      - name: SubscribeEventgroupAck
      - name: SubscribeEventgroupNack
      - name: UnknownEntryType
      item_type: enum
      name: EntryType
      pos:
        line_end: 326
        line_start: 308
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - enumerators:
      - name: FindService_Internal
        value: '0x00'
      - name: SubscribeEventgroupAck_Internal
        value: '0x07'
      - name: SubscribeEventgroup_Internal
        value: '0x06'
      - name: OfferService_Internal
        value: '0x01'
      item_type: enum
      name: TypeInternal
      pos:
        line_end: 488
        line_start: 478
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: length
        type: uint16_t
      - name: type
        type: uint8_t
      - name: reserved
        type: uint8_t
      item_type: struct
      name: someipsdhdroptionsbase
      pos:
        line_end: 70
        line_start: 62
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - fields:
      - name: ipv4Address
        type: uint32_t
      - name: reserved
        type: uint8_t
      - name: l4Protocol
        type: SomeIpSdProtocolType
      - name: portNumber
        type: uint16_t
      item_type: struct
      name: someipsdhdroptionsipv4
      pos:
        line_end: 172
        line_start: 161
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - fields:
      - name: ipv6Address[16]
        type: uint8_t
      - name: reserved
        type: uint8_t
      - name: l4Protocol
        type: SomeIpSdProtocolType
      - name: portNumber
        type: uint16_t
      item_type: struct
      name: someipsdhdroptionsipv6
      pos:
        line_end: 234
        line_start: 223
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - fields:
      - name: priority
        type: uint16_t
      - name: weight
        type: uint16_t
      item_type: struct
      name: someipsdhdroptionsload
      pos:
        line_end: 295
        line_start: 289
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - fields:
      - name: type
        type: uint8_t
      - name: indexFirstOption
        type: uint8_t
      - name: indexSecondOption
        type: uint8_t
      - name: serviceID
        type: uint16_t
      - name: instanceID
        type: uint16_t
      - name: majorVersion_ttl
        type: uint32_t
      - name: data
        type: uint32_t
      item_type: struct
      name: someipsdhdrentry
      pos:
        line_end: 360
        line_start: 331
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - fields:
      - name: flags
        type: uint8_t
      - name: reserved1
        type: uint8_t
      - name: reserved2
        type: uint8_t
      - name: reserved3
        type: uint8_t
      item_type: struct
      name: someipsdhdr
      pos:
        line_end: 613
        line_start: 603
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - fields:
      - name: length
        type: uint16_t
      - name: type
        type: uint8_t
      - name: reserved
        type: uint8_t
      item_type: struct
      name: someipsdhdroptionsbase
      pos:
        line_end: 70
        line_start: 62
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - fields:
      - name: ipv4Address
        type: uint32_t
      - name: reserved
        type: uint8_t
      - name: l4Protocol
        type: SomeIpSdProtocolType
      - name: portNumber
        type: uint16_t
      item_type: struct
      name: someipsdhdroptionsipv4
      pos:
        line_end: 172
        line_start: 161
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - fields:
      - name: ipv6Address[16]
        type: uint8_t
      - name: reserved
        type: uint8_t
      - name: l4Protocol
        type: SomeIpSdProtocolType
      - name: portNumber
        type: uint16_t
      item_type: struct
      name: someipsdhdroptionsipv6
      pos:
        line_end: 234
        line_start: 223
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - fields:
      - name: priority
        type: uint16_t
      - name: weight
        type: uint16_t
      item_type: struct
      name: someipsdhdroptionsload
      pos:
        line_end: 295
        line_start: 289
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - fields:
      - name: type
        type: uint8_t
      - name: indexFirstOption
        type: uint8_t
      - name: indexSecondOption
        type: uint8_t
      - name: serviceID
        type: uint16_t
      - name: instanceID
        type: uint16_t
      - name: majorVersion_ttl
        type: uint32_t
      - name: data
        type: uint32_t
      item_type: struct
      name: someipsdhdrentry
      pos:
        line_end: 360
        line_start: 331
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    - fields:
      - name: flags
        type: uint8_t
      - name: reserved1
        type: uint8_t
      - name: reserved2
        type: uint8_t
      - name: reserved3
        type: uint8_t
      item_type: struct
      name: someipsdhdr
      pos:
        line_end: 613
        line_start: 603
        source_file: /src/PcapPlusPlus/Packet++/header/SomeIpSdLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::EthDot3Layer::EthDot3Layer
  - pcpp::EthDot3Layer::EthDot3Layer
  - ~EthDot3Layer() override
  - pcpp::EthDot3Layer::getEthHeader
  - pcpp::EthDot3Layer::getSourceMac
  - pcpp::EthDot3Layer::setSourceMac
  - pcpp::EthDot3Layer::getDestMac
  - pcpp::EthDot3Layer::setDestMac
  - pcpp::EthDot3Layer::getHeaderLen
  - pcpp::EthDot3Layer::computeCalculateFields
  - pcpp::EthDot3Layer::getOsiModelLayer
  - pcpp::EthDot3Layer::EthDot3Layer
  - pcpp::EthDot3Layer::EthDot3Layer
  - ~EthDot3Layer() override
  - pcpp::EthDot3Layer::getEthHeader
  - pcpp::EthDot3Layer::getSourceMac
  - pcpp::EthDot3Layer::setSourceMac
  - pcpp::EthDot3Layer::getDestMac
  - pcpp::EthDot3Layer::setDestMac
  - pcpp::EthDot3Layer::getHeaderLen
  - pcpp::EthDot3Layer::computeCalculateFields
  - pcpp::EthDot3Layer::getOsiModelLayer
  source_file: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dstMac[6]
        type: uint8_t
      - name: srcMac[6]
        type: uint8_t
      - name: length
        type: uint16_t
      item_type: struct
      name: ether_dot3_header
      pos:
        line_end: 23
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    - fields:
      - name: dstMac[6]
        type: uint8_t
      - name: srcMac[6]
        type: uint8_t
      - name: length
        type: uint16_t
      item_type: struct
      name: ether_dot3_header
      pos:
        line_end: 23
        line_start: 15
        source_file: /src/PcapPlusPlus/Packet++/header/EthDot3Layer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::internal::CryptoDataReader::fromDER
  - pcpp::internal::CryptoDataReader::fromDER
  - pcpp::internal::CryptoDataReader::fromDERFile
  - pcpp::internal::CryptoDataReader::fromPEM
  - pcpp::internal::CryptoDataReader::fromPEMFile
  - ~CryptoDataReader()
  - pcpp::internal::CryptoDataReader::fromDER
  - pcpp::internal::CryptoDataReader::fromDER
  - pcpp::internal::CryptoDataReader::fromDERFile
  - pcpp::internal::CryptoDataReader::fromPEM
  - pcpp::internal::CryptoDataReader::fromPEMFile
  - ~CryptoDataReader()
  - pcpp::internal::CryptoDataReader::fromDER
  - pcpp::internal::CryptoDataReader::fromDER
  - pcpp::internal::CryptoDataReader::fromDERFile
  - pcpp::internal::CryptoDataReader::fromPEM
  - pcpp::internal::CryptoDataReader::fromPEMFile
  - ~CryptoDataReader()
  - pcpp::internal::CryptoDataReader::fromDER
  - pcpp::internal::CryptoDataReader::fromDER
  - pcpp::internal::CryptoDataReader::fromDERFile
  - pcpp::internal::CryptoDataReader::fromPEM
  - pcpp::internal::CryptoDataReader::fromPEMFile
  - ~CryptoDataReader()
  source_file: /src/PcapPlusPlus/Packet++/header/CryptoDataReader.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::ConnectionData
  - pcpp::TcpStreamData::TcpStreamData
  - pcpp::TcpStreamData::getData
  - pcpp::TcpStreamData::getDataLength
  - pcpp::TcpStreamData::getMissingByteCount
  - pcpp::TcpStreamData::isBytesMissing
  - '& getConnectionData() const'
  - pcpp::TcpStreamData::getTimeStampPrecise
  - pcpp::TcpReassemblyConfiguration
  - '& getConnectionInformation() const'
  - ~TcpFragment()
  - pcpp::TcpReassembly::OutOfOrderProcessingGuard::OutOfOrderProcessingGuard
  - ~OutOfOrderProcessingGuard()
  - pcpp::TcpReassembly::OutOfOrderProcessingGuard::OutOfOrderProcessingGuard
  - '& operator=(const OutOfOrderProcessingGuard&)'
  - pcpp::ConnectionData
  - pcpp::TcpStreamData::TcpStreamData
  - pcpp::TcpStreamData::getData
  - pcpp::TcpStreamData::getDataLength
  - pcpp::TcpStreamData::getMissingByteCount
  - pcpp::TcpStreamData::isBytesMissing
  - '& getConnectionData() const'
  - pcpp::TcpStreamData::getTimeStampPrecise
  - pcpp::TcpReassemblyConfiguration
  - '& getConnectionInformation() const'
  - ~TcpFragment()
  - pcpp::TcpReassembly::OutOfOrderProcessingGuard::OutOfOrderProcessingGuard
  - ~OutOfOrderProcessingGuard()
  - pcpp::TcpReassembly::OutOfOrderProcessingGuard::OutOfOrderProcessingGuard
  - '& operator=(const OutOfOrderProcessingGuard&)'
  source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
  types:
    enum:
    - enumerators:
      - name: TcpReassemblyConnectionClosedByFIN_RST
      - name: TcpReassemblyConnectionClosedManually
      item_type: enum
      name: ConnectionEndReason
      pos:
        line_end: 257
        line_start: 251
        source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    - enumerators:
      - name: TcpMessageHandled
      - name: OutOfOrderTcpMessageBuffered
      - name: FIN_RSTWithNoData
      - name: Ignore_PacketOfClosedFlow
      - name: Ignore_PacketWithNoData
      - name: Ignore_Retransimission
      - name: NonIpPacket
      - name: NonTcpPacket
      - name: Error_PacketDoesNotMatchFlow
      item_type: enum
      name: ReassemblyStatus
      pos:
        line_end: 308
        line_start: 260
        source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    - enumerators:
      - name: TcpReassemblyConnectionClosedByFIN_RST
      - name: TcpReassemblyConnectionClosedManually
      item_type: enum
      name: ConnectionEndReason
      pos:
        line_end: 257
        line_start: 251
        source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    - enumerators:
      - name: TcpMessageHandled
      - name: OutOfOrderTcpMessageBuffered
      - name: FIN_RSTWithNoData
      - name: Ignore_PacketOfClosedFlow
      - name: Ignore_PacketWithNoData
      - name: Ignore_Retransimission
      - name: NonIpPacket
      - name: NonTcpPacket
      - name: Error_PacketDoesNotMatchFlow
      item_type: enum
      name: ReassemblyStatus
      pos:
        line_end: 308
        line_start: 260
        source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    preproc_defs: []
    structs:
    - fields:
      - name: srcIP
        type: IPAddress
      - name: dstIP
        type: IPAddress
      - name: srcPort
        type: uint16_t
      - name: dstPort
        type: uint16_t
      - name: flowKey
        type: uint32_t
      - name: startTime
        type: timeval
      - name: endTime
        type: timeval
      - name: startTimePrecise
        type: std::chrono::time_point<std::chrono::high_resolution_clock>
      - name: endTimePrecise
        type: std::chrono::time_point<std::chrono::high_resolution_clock>
      - name: setStartTime(const std::chrono::time_point<std::chrono::high_resolution_clock>&
          startTimeValue)
        type: void
      - name: setEndTime(const std::chrono::time_point<std::chrono::high_resolution_clock>&
          endTimeValue)
        type: void
      item_type: struct
      name: ConnectionData
      pos:
        line_end: 124
        line_start: 92
        source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    - fields:
      - name: removeConnInfo
        type: bool
      - name: closedConnectionDelay
        type: uint32_t
      - name: maxNumToClean
        type: uint32_t
      - name: maxOutOfOrderFragments
        type: uint32_t
      - name: enableBaseBufferClearCondition
        type: bool
      item_type: struct
      name: TcpReassemblyConfiguration
      pos:
        line_end: 242
        line_start: 201
        source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    - fields:
      - name: sequence
        type: uint32_t
      - name: dataLength
        type: size_t
      - name: '* data'
        type: uint8_t
      - name: timestamp
        type: std::chrono::time_point<std::chrono::high_resolution_clock>
      item_type: struct
      name: TcpFragment
      pos:
        line_end: 413
        line_start: 402
        source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    - fields:
      - name: tcpFragmentList
        type: PointerVector<TcpFragment>
      - name: sequence
        type: uint32_t
      - name: srcPort
        type: uint16_t
      - name: srcIP
        type: IPAddress
      - name: gotFinOrRst
        type: bool
      item_type: struct
      name: TcpOneSideData
      pos:
        line_end: 422
        line_start: 415
        source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    - fields:
      - name: closed
        type: bool
      - name: numOfSides
        type: int8_t
      - name: prevSide
        type: int8_t
      - name: twoSides
        type: std::array<TcpOneSideData, 2>
      - name: connData
        type: ConnectionData
      item_type: struct
      name: TcpReassemblyData
      pos:
        line_end: 431
        line_start: 424
        source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    - fields:
      - name: srcIP
        type: IPAddress
      - name: dstIP
        type: IPAddress
      - name: srcPort
        type: uint16_t
      - name: dstPort
        type: uint16_t
      - name: flowKey
        type: uint32_t
      - name: startTime
        type: timeval
      - name: endTime
        type: timeval
      - name: startTimePrecise
        type: std::chrono::time_point<std::chrono::high_resolution_clock>
      - name: endTimePrecise
        type: std::chrono::time_point<std::chrono::high_resolution_clock>
      - name: setStartTime(const std::chrono::time_point<std::chrono::high_resolution_clock>&
          startTimeValue)
        type: void
      - name: setEndTime(const std::chrono::time_point<std::chrono::high_resolution_clock>&
          endTimeValue)
        type: void
      item_type: struct
      name: ConnectionData
      pos:
        line_end: 124
        line_start: 92
        source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    - fields:
      - name: removeConnInfo
        type: bool
      - name: closedConnectionDelay
        type: uint32_t
      - name: maxNumToClean
        type: uint32_t
      - name: maxOutOfOrderFragments
        type: uint32_t
      - name: enableBaseBufferClearCondition
        type: bool
      item_type: struct
      name: TcpReassemblyConfiguration
      pos:
        line_end: 242
        line_start: 201
        source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    - fields:
      - name: sequence
        type: uint32_t
      - name: dataLength
        type: size_t
      - name: '* data'
        type: uint8_t
      - name: timestamp
        type: std::chrono::time_point<std::chrono::high_resolution_clock>
      item_type: struct
      name: TcpFragment
      pos:
        line_end: 413
        line_start: 402
        source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    - fields:
      - name: tcpFragmentList
        type: PointerVector<TcpFragment>
      - name: sequence
        type: uint32_t
      - name: srcPort
        type: uint16_t
      - name: srcIP
        type: IPAddress
      - name: gotFinOrRst
        type: bool
      item_type: struct
      name: TcpOneSideData
      pos:
        line_end: 422
        line_start: 415
        source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    - fields:
      - name: closed
        type: bool
      - name: numOfSides
        type: int8_t
      - name: prevSide
        type: int8_t
      - name: twoSides
        type: std::array<TcpOneSideData, 2>
      - name: connData
        type: ConnectionData
      item_type: struct
      name: TcpReassemblyData
      pos:
        line_end: 431
        line_start: 424
        source_file: /src/PcapPlusPlus/Packet++/header/TcpReassembly.h
    typedefs: []
    union: []
- function_names:
  - pcpp::getMulticastAddress
  - pcpp::IgmpLayer::IgmpLayer
  - ~IgmpLayer() override
  - pcpp::IgmpLayer::getIgmpHeader
  - pcpp::IgmpLayer::getGroupAddress
  - pcpp::IgmpLayer::parseNextLayer
  - pcpp::IgmpLayer::getHeaderLen
  - pcpp::IgmpLayer::getOsiModelLayer
  - pcpp::IgmpV1Layer::IgmpV1Layer
  - pcpp::IgmpV1Layer::IgmpV1Layer
  - ~IgmpV1Layer() override
  - pcpp::IgmpV1Layer::isDataValid
  - pcpp::IgmpV2Layer::IgmpV2Layer
  - pcpp::IgmpV2Layer::IgmpV2Layer
  - ~IgmpV2Layer() override
  - pcpp::IgmpV2Layer::isDataValid
  - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
  - pcpp::IgmpV3QueryLayer::isDataValid
  - pcpp::IgmpV3ReportLayer::IgmpV3ReportLayer
  - pcpp::IgmpV3ReportLayer::IgmpV3ReportLayer
  - pcpp::IgmpV3ReportLayer::getReportHeader
  - pcpp::IgmpV3ReportLayer::getHeaderLen
  - pcpp::IgmpV3ReportLayer::isDataValid
  - pcpp::getMulticastAddress
  - pcpp::IgmpLayer::IgmpLayer
  - ~IgmpLayer() override
  - pcpp::IgmpLayer::getIgmpHeader
  - pcpp::IgmpLayer::getGroupAddress
  - pcpp::IgmpLayer::parseNextLayer
  - pcpp::IgmpLayer::getHeaderLen
  - pcpp::IgmpLayer::getOsiModelLayer
  - pcpp::IgmpV1Layer::IgmpV1Layer
  - pcpp::IgmpV1Layer::IgmpV1Layer
  - ~IgmpV1Layer() override
  - pcpp::IgmpV1Layer::isDataValid
  - pcpp::IgmpV2Layer::IgmpV2Layer
  - pcpp::IgmpV2Layer::IgmpV2Layer
  - ~IgmpV2Layer() override
  - pcpp::IgmpV2Layer::isDataValid
  - pcpp::IgmpV3QueryLayer::getIgmpV3QueryHeader
  - pcpp::IgmpV3QueryLayer::isDataValid
  - pcpp::IgmpV3ReportLayer::IgmpV3ReportLayer
  - pcpp::IgmpV3ReportLayer::IgmpV3ReportLayer
  - pcpp::IgmpV3ReportLayer::getReportHeader
  - pcpp::IgmpV3ReportLayer::getHeaderLen
  - pcpp::IgmpV3ReportLayer::isDataValid
  source_file: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
  types:
    enum:
    - enumerators:
      - name: IgmpType_Unknown
        value: '0'
      - name: IgmpType_MembershipReportV1
        value: '0x12'
      - name: IgmpType_MembershipQuery
        value: '0x11'
      - name: IgmpType_P1Mv1
        value: '0x14'
      - name: IgmpType_DVMRP
        value: '0x13'
      - name: IgmpType_CiscoTrace
        value: '0x15'
      - name: IgmpType_MembershipReportV2
        value: '0x16'
      - name: IgmpType_LeaveGroup
        value: '0x17'
      - name: IgmpType_MulticastTracerouteResponse
        value: '0x1e'
      - name: IgmpType_MulticastTraceroute
        value: '0x1f'
      - name: IgmpType_MembershipReportV3
        value: '0x22'
      - name: IgmpType_MulticastRouterSolicitation
        value: '0x31'
      - name: IgmpType_MulticastRouterAdvertisement
        value: '0x30'
      - name: IgmpType_MulticastRouterTermination
        value: '0x32'
      item_type: enum
      name: IgmpType
      pos:
        line_end: 131
        line_start: 101
        source_file: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    - enumerators:
      - name: IgmpType_Unknown
        value: '0'
      - name: IgmpType_MembershipReportV1
        value: '0x12'
      - name: IgmpType_MembershipQuery
        value: '0x11'
      - name: IgmpType_P1Mv1
        value: '0x14'
      - name: IgmpType_DVMRP
        value: '0x13'
      - name: IgmpType_CiscoTrace
        value: '0x15'
      - name: IgmpType_MembershipReportV2
        value: '0x16'
      - name: IgmpType_LeaveGroup
        value: '0x17'
      - name: IgmpType_MulticastTracerouteResponse
        value: '0x1e'
      - name: IgmpType_MulticastTraceroute
        value: '0x1f'
      - name: IgmpType_MembershipReportV3
        value: '0x22'
      - name: IgmpType_MulticastRouterSolicitation
        value: '0x31'
      - name: IgmpType_MulticastRouterAdvertisement
        value: '0x30'
      - name: IgmpType_MulticastRouterTermination
        value: '0x32'
      item_type: enum
      name: IgmpType
      pos:
        line_end: 131
        line_start: 101
        source_file: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: uint8_t
      - name: maxResponseTime
        type: uint8_t
      - name: checksum
        type: uint16_t
      - name: groupAddress
        type: uint32_t
      item_type: struct
      name: igmp_header
      pos:
        line_end: 24
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    - fields:
      - name: type
        type: uint8_t
      - name: maxResponseTime
        type: uint8_t
      - name: checksum
        type: uint16_t
      - name: groupAddress
        type: uint32_t
      - name: s_qrv
        type: uint8_t
      - name: qqic
        type: uint8_t
      - name: numOfSources
        type: uint16_t
      item_type: struct
      name: igmpv3_query_header
      pos:
        line_end: 45
        line_start: 29
        source_file: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    - fields:
      - name: type
        type: uint8_t
      - name: reserved1
        type: uint8_t
      - name: checksum
        type: uint16_t
      - name: reserved2
        type: uint16_t
      - name: numOfGroupRecords
        type: uint16_t
      item_type: struct
      name: igmpv3_report_header
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    - fields:
      - name: recordType
        type: uint8_t
      - name: auxDataLen
        type: uint8_t
      - name: numOfSources
        type: uint16_t
      - name: multicastAddress
        type: uint32_t
      - name: sourceAddresses[]
        type: uint8_t
      - name: getSourceAddressCount() const
        type: uint16_t
      - name: getSourceAddressAtIndex(int index) const
        type: IPv4Address
      - name: getRecordLen() const
        type: size_t
      item_type: struct
      name: igmpv3_group_record
      pos:
        line_end: 98
        line_start: 68
        source_file: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    - fields:
      - name: type
        type: uint8_t
      - name: maxResponseTime
        type: uint8_t
      - name: checksum
        type: uint16_t
      - name: groupAddress
        type: uint32_t
      item_type: struct
      name: igmp_header
      pos:
        line_end: 24
        line_start: 14
        source_file: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    - fields:
      - name: type
        type: uint8_t
      - name: maxResponseTime
        type: uint8_t
      - name: checksum
        type: uint16_t
      - name: groupAddress
        type: uint32_t
      - name: s_qrv
        type: uint8_t
      - name: qqic
        type: uint8_t
      - name: numOfSources
        type: uint16_t
      item_type: struct
      name: igmpv3_query_header
      pos:
        line_end: 45
        line_start: 29
        source_file: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    - fields:
      - name: type
        type: uint8_t
      - name: reserved1
        type: uint8_t
      - name: checksum
        type: uint16_t
      - name: reserved2
        type: uint16_t
      - name: numOfGroupRecords
        type: uint16_t
      item_type: struct
      name: igmpv3_report_header
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    - fields:
      - name: recordType
        type: uint8_t
      - name: auxDataLen
        type: uint8_t
      - name: numOfSources
        type: uint16_t
      - name: multicastAddress
        type: uint32_t
      - name: sourceAddresses[]
        type: uint8_t
      - name: getSourceAddressCount() const
        type: uint16_t
      - name: getSourceAddressAtIndex(int index) const
        type: IPv4Address
      - name: getRecordLen() const
        type: size_t
      item_type: struct
      name: igmpv3_group_record
      pos:
        line_end: 98
        line_start: 68
        source_file: /src/PcapPlusPlus/Packet++/header/IgmpLayer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::HeaderField::getFieldSize
  - pcpp::HeaderField::isEndOfHeader
  - pcpp::TextBasedProtocolMessage::getFirstField
  - pcpp::TextBasedProtocolMessage::getNextField
  - pcpp::TextBasedProtocolMessage::TextBasedProtocolMessage
  - pcpp::HeaderField::getFieldSize
  - pcpp::HeaderField::isEndOfHeader
  - pcpp::TextBasedProtocolMessage::getFirstField
  - pcpp::TextBasedProtocolMessage::getNextField
  - pcpp::TextBasedProtocolMessage::TextBasedProtocolMessage
  source_file: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCPP_END_OF_TEXT_BASED_PROTOCOL_HEADER
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h
      type_or_value: '""'
    - item_type: preproc_def
      name: PCPP_END_OF_TEXT_BASED_PROTOCOL_HEADER
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PcapPlusPlus/Packet++/header/TextBasedProtocol.h
      type_or_value: '""'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::SmtpLayer::SmtpLayer
  - pcpp::SmtpLayer::SmtpLayer
  - pcpp::SmtpLayer::isSmtpPort
  - pcpp::SmtpLayer::parseNextLayer
  - pcpp::SmtpLayer::getHeaderLen
  - pcpp::SmtpLayer::computeCalculateFields
  - pcpp::SmtpLayer::getOsiModelLayer
  - pcpp::SmtpRequestLayer::SmtpRequestLayer
  - pcpp::SmtpRequestLayer::SmtpRequestLayer
  - pcpp::SmtpResponseLayer::SmtpResponseLayer
  - pcpp::SmtpResponseLayer::SmtpResponseLayer
  - pcpp::SmtpLayer::SmtpLayer
  - pcpp::SmtpLayer::SmtpLayer
  - pcpp::SmtpLayer::isSmtpPort
  - pcpp::SmtpLayer::parseNextLayer
  - pcpp::SmtpLayer::getHeaderLen
  - pcpp::SmtpLayer::computeCalculateFields
  - pcpp::SmtpLayer::getOsiModelLayer
  - pcpp::SmtpRequestLayer::SmtpRequestLayer
  - pcpp::SmtpRequestLayer::SmtpRequestLayer
  - pcpp::SmtpResponseLayer::SmtpResponseLayer
  - pcpp::SmtpResponseLayer::SmtpResponseLayer
  source_file: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
  types:
    enum:
    - enumerators:
      - name: EHLO
        value: ('E') | ('H' << 8) | ('L' << 16) | ('O' << 24)
      - name: HELO
        value: ('H') | ('E' << 8) | ('L' << 16) | ('O' << 24)
      - name: MAIL
        value: ('M') | ('A' << 8) | ('I' << 16) | ('L' << 24)
      - name: QUIT
        value: ('Q') | ('U' << 8) | ('I' << 16) | ('T' << 24)
      - name: RSET
        value: ('R') | ('S' << 8) | ('E' << 16) | ('T' << 24)
      - name: VRFY
        value: ('V') | ('R' << 8) | ('F' << 16) | ('Y' << 24)
      - name: XGEN
        value: ('X') | ('G' << 8) | ('E' << 16) | ('N' << 24)
      - name: SOML
        value: ('S') | ('O' << 8) | ('M' << 16) | ('L' << 24)
      - name: AUTH
        value: ('A') | ('U' << 8) | ('T' << 16) | ('H' << 24)
      - name: TURN
        value: ('T') | ('U' << 8) | ('R' << 16) | ('N' << 24)
      - name: ETRN
        value: ('E') | ('T' << 8) | ('R' << 16) | ('N' << 24)
      - name: XCIR
        value: ('X') | ('C' << 8) | ('I' << 16) | ('R' << 24)
      - name: UNK
      - name: EXPN
        value: ('E') | ('X' << 8) | ('P' << 16) | ('N' << 24)
      - name: DATA
        value: ('D') | ('A' << 8) | ('T' << 16) | ('A' << 24)
      - name: HELP
        value: ('H') | ('E' << 8) | ('L' << 16) | ('P' << 24)
      - name: NOOP
        value: ('N') | ('O' << 8) | ('O' << 16) | ('P' << 24)
      - name: RCPT
        value: ('R') | ('C' << 8) | ('P' << 16) | ('T' << 24)
      - name: STARTTLS
        value: "(('S') | ('T' << 8) | ('A' << 16) | ('R' << 24) |\n\t\t\t            static_cast<uint64_t>(('T')
          | ('T' << 8) | ('L' << 16) | ('S' << 24)) << 32)"
      - name: ATRN
        value: ('A') | ('T' << 8) | ('R' << 16) | ('N' << 24)
      - name: SEND
        value: ('S') | ('E' << 8) | ('N' << 16) | ('D' << 24)
      - name: SAML
        value: ('S') | ('A' << 8) | ('M' << 16) | ('L' << 24)
      - name: BDAT
        value: ('B') | ('D' << 8) | ('A' << 16) | ('T' << 24)
      - name: XADR
        value: ('X') | ('A' << 8) | ('D' << 16) | ('R' << 24)
      - name: XSTA
        value: ('X') | ('S' << 8) | ('T' << 16) | ('A' << 24)
      item_type: enum
      name: SmtpCommand
      pos:
        line_end: 112
        line_start: 59
        source_file: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    - enumerators:
      - name: DOMAIN_NOT_ACCEPT
        value: '556'
      - name: AUTH_TOO_WEAK
        value: '534'
      - name: ENCRYPT_REQUIRED
        value: '538'
      - name: ENCRYPT_NEED
        value: '523'
      - name: SYSTEM_STATUS
        value: '211'
      - name: SERVICE_READY
        value: '220'
      - name: AUTH_SUCCESS
        value: '235'
      - name: WILL_FORWARD
        value: '251'
      - name: AUTH_INPUT
        value: '334'
      - name: SERVICE_UNAVAILABLE
        value: '421'
      - name: PARAM_NOT_ACCOMMODATED
        value: '455'
      - name: SYNTAX_ERROR_PARAM
        value: '501'
      - name: MAILBOX_UNAVAILABLE_TEMP
        value: '450'
      - name: INSUFFICIENT_STORAGE
        value: '452'
      - name: CMD_BAD_SEQUENCE
        value: '503'
      - name: EXCEED_STORAGE
        value: '552'
      - name: TRANSACTION_FAIL
        value: '554'
      - name: MAILBOX_UNAVAILABLE
        value: '550'
      - name: AUTH_CRED_INVALID
        value: '535'
      - name: MAIL_NOT_ACCEPTED
        value: '521'
      - name: AUTH_REQUIRED
        value: '530'
      - name: HELP_MESSAGE
        value: '214'
      - name: SERVICE_CLOSE
        value: '221'
      - name: COMPLETED
        value: '250'
      - name: CANNOT_VERIFY
        value: '252'
      - name: MAIL_INPUT
        value: '354'
      - name: TEMP_AUTH_FAILED
        value: '454'
      - name: PASS_NEEDED
        value: '432'
      - name: ABORT_LOCAL_ERROR
        value: '451'
      - name: CMD_NOT_RECOGNIZED
        value: '500'
      - name: CMD_NOT_IMPLEMENTED
        value: '502'
      - name: NAME_NOT_ALLOWED
        value: '553'
      - name: PARAM_NOT_IMPLEMENTED
        value: '504'
      - name: USER_NOT_LOCAL
        value: '551'
      item_type: enum
      name: SmtpStatusCode
      pos:
        line_end: 242
        line_start: 172
        source_file: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    - enumerators:
      - name: EHLO
        value: ('E') | ('H' << 8) | ('L' << 16) | ('O' << 24)
      - name: HELO
        value: ('H') | ('E' << 8) | ('L' << 16) | ('O' << 24)
      - name: MAIL
        value: ('M') | ('A' << 8) | ('I' << 16) | ('L' << 24)
      - name: QUIT
        value: ('Q') | ('U' << 8) | ('I' << 16) | ('T' << 24)
      - name: RSET
        value: ('R') | ('S' << 8) | ('E' << 16) | ('T' << 24)
      - name: VRFY
        value: ('V') | ('R' << 8) | ('F' << 16) | ('Y' << 24)
      - name: XGEN
        value: ('X') | ('G' << 8) | ('E' << 16) | ('N' << 24)
      - name: SOML
        value: ('S') | ('O' << 8) | ('M' << 16) | ('L' << 24)
      - name: AUTH
        value: ('A') | ('U' << 8) | ('T' << 16) | ('H' << 24)
      - name: TURN
        value: ('T') | ('U' << 8) | ('R' << 16) | ('N' << 24)
      - name: ETRN
        value: ('E') | ('T' << 8) | ('R' << 16) | ('N' << 24)
      - name: XCIR
        value: ('X') | ('C' << 8) | ('I' << 16) | ('R' << 24)
      - name: UNK
      - name: EXPN
        value: ('E') | ('X' << 8) | ('P' << 16) | ('N' << 24)
      - name: DATA
        value: ('D') | ('A' << 8) | ('T' << 16) | ('A' << 24)
      - name: HELP
        value: ('H') | ('E' << 8) | ('L' << 16) | ('P' << 24)
      - name: NOOP
        value: ('N') | ('O' << 8) | ('O' << 16) | ('P' << 24)
      - name: RCPT
        value: ('R') | ('C' << 8) | ('P' << 16) | ('T' << 24)
      - name: STARTTLS
        value: "(('S') | ('T' << 8) | ('A' << 16) | ('R' << 24) |\n\t\t\t            static_cast<uint64_t>(('T')
          | ('T' << 8) | ('L' << 16) | ('S' << 24)) << 32)"
      - name: ATRN
        value: ('A') | ('T' << 8) | ('R' << 16) | ('N' << 24)
      - name: SEND
        value: ('S') | ('E' << 8) | ('N' << 16) | ('D' << 24)
      - name: SAML
        value: ('S') | ('A' << 8) | ('M' << 16) | ('L' << 24)
      - name: BDAT
        value: ('B') | ('D' << 8) | ('A' << 16) | ('T' << 24)
      - name: XADR
        value: ('X') | ('A' << 8) | ('D' << 16) | ('R' << 24)
      - name: XSTA
        value: ('X') | ('S' << 8) | ('T' << 16) | ('A' << 24)
      item_type: enum
      name: SmtpCommand
      pos:
        line_end: 112
        line_start: 59
        source_file: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    - enumerators:
      - name: DOMAIN_NOT_ACCEPT
        value: '556'
      - name: AUTH_TOO_WEAK
        value: '534'
      - name: ENCRYPT_REQUIRED
        value: '538'
      - name: ENCRYPT_NEED
        value: '523'
      - name: SYSTEM_STATUS
        value: '211'
      - name: SERVICE_READY
        value: '220'
      - name: AUTH_SUCCESS
        value: '235'
      - name: WILL_FORWARD
        value: '251'
      - name: AUTH_INPUT
        value: '334'
      - name: SERVICE_UNAVAILABLE
        value: '421'
      - name: PARAM_NOT_ACCOMMODATED
        value: '455'
      - name: SYNTAX_ERROR_PARAM
        value: '501'
      - name: MAILBOX_UNAVAILABLE_TEMP
        value: '450'
      - name: INSUFFICIENT_STORAGE
        value: '452'
      - name: CMD_BAD_SEQUENCE
        value: '503'
      - name: EXCEED_STORAGE
        value: '552'
      - name: TRANSACTION_FAIL
        value: '554'
      - name: MAILBOX_UNAVAILABLE
        value: '550'
      - name: AUTH_CRED_INVALID
        value: '535'
      - name: MAIL_NOT_ACCEPTED
        value: '521'
      - name: AUTH_REQUIRED
        value: '530'
      - name: HELP_MESSAGE
        value: '214'
      - name: SERVICE_CLOSE
        value: '221'
      - name: COMPLETED
        value: '250'
      - name: CANNOT_VERIFY
        value: '252'
      - name: MAIL_INPUT
        value: '354'
      - name: TEMP_AUTH_FAILED
        value: '454'
      - name: PASS_NEEDED
        value: '432'
      - name: ABORT_LOCAL_ERROR
        value: '451'
      - name: CMD_NOT_RECOGNIZED
        value: '500'
      - name: CMD_NOT_IMPLEMENTED
        value: '502'
      - name: NAME_NOT_ALLOWED
        value: '553'
      - name: PARAM_NOT_IMPLEMENTED
        value: '504'
      - name: USER_NOT_LOCAL
        value: '551'
      item_type: enum
      name: SmtpStatusCode
      pos:
        line_end: 242
        line_start: 172
        source_file: /src/PcapPlusPlus/Packet++/header/SmtpLayer.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::IcmpV6Layer::IcmpV6Layer
  - ~IcmpV6Layer() override
  - pcpp::IcmpV6Layer::isMessageOfType
  - pcpp::IcmpV6Layer::parseNextLayer
  - pcpp::IcmpV6Layer::getHeaderLen
  - pcpp::IcmpV6Layer::getOsiModelLayer
  - pcpp::IcmpV6Layer::IcmpV6Layer
  - pcpp::IcmpV6Layer::getIcmpv6Header
  - pcpp::ICMPv6EchoLayer::ICMPv6EchoLayer
  - ~ICMPv6EchoLayer() override
  - pcpp::ICMPv6EchoLayer::getEchoDataLen
  - pcpp::ICMPv6EchoLayer::getEchoDataPtr
  - pcpp::ICMPv6EchoLayer::getEchoHeader
  - pcpp::IcmpV6Layer::IcmpV6Layer
  - ~IcmpV6Layer() override
  - pcpp::IcmpV6Layer::isMessageOfType
  - pcpp::IcmpV6Layer::parseNextLayer
  - pcpp::IcmpV6Layer::getHeaderLen
  - pcpp::IcmpV6Layer::getOsiModelLayer
  - pcpp::IcmpV6Layer::IcmpV6Layer
  - pcpp::IcmpV6Layer::getIcmpv6Header
  - pcpp::ICMPv6EchoLayer::ICMPv6EchoLayer
  - ~ICMPv6EchoLayer() override
  - pcpp::ICMPv6EchoLayer::getEchoDataLen
  - pcpp::ICMPv6EchoLayer::getEchoDataPtr
  - pcpp::ICMPv6EchoLayer::getEchoHeader
  source_file: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
  types:
    enum:
    - enumerators:
      - name: ICMPv6_DESTINATION_UNREACHABLE
        value: '1'
      - name: ICMPv6_RESERVED_EXPANSION_INFORMATIONAL
        value: '255'
      - name: ICMPv6_PRIVATE_EXPERIMENTATION3
        value: '200'
      - name: ICMPv6_HOME_AGENT_ADDRESS_DISCOVERY_REQUEST_MESSAGE
        value: '144'
      - name: ICMPv6_MOBILE_PREFIX_SOLICITATION
        value: '146'
      - name: ICMPv6_MULTICAST_ROUTER_TERMINATION
        value: '153'
      - name: ICMPv6_INVERSE_NEIGHBOR_DISCOVERY_ADVERTISEMENT_MESSAGE
        value: '142'
      - name: ICMPv6_UNKNOWN_MESSAGE
        value: '0'
      - name: ICMPv6_PRIVATE_EXPERIMENTATION1
        value: '100'
      - name: ICMPv6_RESERVED_EXPANSION_ERROR
        value: '127'
      - name: ICMPv6_ECHO_REPLY
        value: '129'
      - name: ICMPv6_NEIGHBOR_SOLICITATION
        value: '135'
      - name: ICMPv6_REDIRECT_MESSAGE
        value: '137'
      - name: ICMPv6_MULTICAST_LISTENER_REPORT
        value: '131'
      - name: ICMPv6_ROUTER_SOLICITATION
        value: '133'
      - name: ICMPv6_ICMP_NODE_INFORMATION_QUERY
        value: '139'
      - name: ICMPv6_INVERSE_NEIGHBOR_DISCOVERY_SOLICITATION_MESSAGE
        value: '141'
      - name: ICMPv6_EXPERIMENTAL_MOBILITY
        value: '150'
      - name: ICMPv6_TIME_EXCEEDED
        value: '3'
      - name: ICMPv6_CERTIFICATION_PATH_SOLICITATION
        value: '148'
      - name: ICMPv6_HOME_AGENT_ADDRESS_DISCOVERY_REPLY_MESSAGE
        value: '145'
      - name: ICMPv6_PRIVATE_EXPERIMENTATION4
        value: '201'
      - name: ICMPv6_MULTICAST_ROUTER_SOLICITATION
        value: '152'
      - name: ICMPv6_RPL_CONTROL_MESSAGE
        value: '155'
      - name: ICMPv6_MULTICAST_LISTENER_DISCOVERY_REPORTS
        value: '143'
      - name: ICMPv6_PACKET_TOO_BIG
        value: '2'
      - name: ICMPv6_PARAMETER_PROBLEM
        value: '4'
      - name: ICMPv6_PRIVATE_EXPERIMENTATION2
        value: '101'
      - name: ICMPv6_ECHO_REQUEST
        value: '128'
      - name: ICMPv6_MULTICAST_LISTENER_DONE
        value: '132'
      - name: ICMPv6_ROUTER_ADVERTISEMENT
        value: '134'
      - name: ICMPv6_MULTICAST_LISTENER_QUERY
        value: '130'
      - name: ICMPv6_NEIGHBOR_ADVERTISEMENT
        value: '136'
      - name: ICMPv6_ROUTER_RENUMBERING
        value: '138'
      - name: ICMPv6_ICMP_NODE_INFORMATION_RESPONSE
        value: '140'
      - name: ICMPv6_MULTICAST_ROUTER_ADVERTISEMENT
        value: '151'
      - name: ICMPv6_MOBILE_PREFIX_ADVERTISEMENT
        value: '147'
      - name: ICMPv6_CERTIFICATION_PATH_ADVERTISEMENT
        value: '149'
      item_type: enum
      name: ICMPv6MessageType
      pos:
        line_end: 89
        line_start: 11
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    - enumerators:
      - name: REQUEST
      - name: REPLY
      item_type: enum
      name: ICMPv6EchoType
      pos:
        line_end: 210
        line_start: 204
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    - enumerators:
      - name: ICMPv6_DESTINATION_UNREACHABLE
        value: '1'
      - name: ICMPv6_RESERVED_EXPANSION_INFORMATIONAL
        value: '255'
      - name: ICMPv6_PRIVATE_EXPERIMENTATION3
        value: '200'
      - name: ICMPv6_HOME_AGENT_ADDRESS_DISCOVERY_REQUEST_MESSAGE
        value: '144'
      - name: ICMPv6_MOBILE_PREFIX_SOLICITATION
        value: '146'
      - name: ICMPv6_MULTICAST_ROUTER_TERMINATION
        value: '153'
      - name: ICMPv6_INVERSE_NEIGHBOR_DISCOVERY_ADVERTISEMENT_MESSAGE
        value: '142'
      - name: ICMPv6_UNKNOWN_MESSAGE
        value: '0'
      - name: ICMPv6_PRIVATE_EXPERIMENTATION1
        value: '100'
      - name: ICMPv6_RESERVED_EXPANSION_ERROR
        value: '127'
      - name: ICMPv6_ECHO_REPLY
        value: '129'
      - name: ICMPv6_NEIGHBOR_SOLICITATION
        value: '135'
      - name: ICMPv6_REDIRECT_MESSAGE
        value: '137'
      - name: ICMPv6_MULTICAST_LISTENER_REPORT
        value: '131'
      - name: ICMPv6_ROUTER_SOLICITATION
        value: '133'
      - name: ICMPv6_ICMP_NODE_INFORMATION_QUERY
        value: '139'
      - name: ICMPv6_INVERSE_NEIGHBOR_DISCOVERY_SOLICITATION_MESSAGE
        value: '141'
      - name: ICMPv6_EXPERIMENTAL_MOBILITY
        value: '150'
      - name: ICMPv6_TIME_EXCEEDED
        value: '3'
      - name: ICMPv6_CERTIFICATION_PATH_SOLICITATION
        value: '148'
      - name: ICMPv6_HOME_AGENT_ADDRESS_DISCOVERY_REPLY_MESSAGE
        value: '145'
      - name: ICMPv6_PRIVATE_EXPERIMENTATION4
        value: '201'
      - name: ICMPv6_MULTICAST_ROUTER_SOLICITATION
        value: '152'
      - name: ICMPv6_RPL_CONTROL_MESSAGE
        value: '155'
      - name: ICMPv6_MULTICAST_LISTENER_DISCOVERY_REPORTS
        value: '143'
      - name: ICMPv6_PACKET_TOO_BIG
        value: '2'
      - name: ICMPv6_PARAMETER_PROBLEM
        value: '4'
      - name: ICMPv6_PRIVATE_EXPERIMENTATION2
        value: '101'
      - name: ICMPv6_ECHO_REQUEST
        value: '128'
      - name: ICMPv6_MULTICAST_LISTENER_DONE
        value: '132'
      - name: ICMPv6_ROUTER_ADVERTISEMENT
        value: '134'
      - name: ICMPv6_MULTICAST_LISTENER_QUERY
        value: '130'
      - name: ICMPv6_NEIGHBOR_ADVERTISEMENT
        value: '136'
      - name: ICMPv6_ROUTER_RENUMBERING
        value: '138'
      - name: ICMPv6_ICMP_NODE_INFORMATION_RESPONSE
        value: '140'
      - name: ICMPv6_MULTICAST_ROUTER_ADVERTISEMENT
        value: '151'
      - name: ICMPv6_MOBILE_PREFIX_ADVERTISEMENT
        value: '147'
      - name: ICMPv6_CERTIFICATION_PATH_ADVERTISEMENT
        value: '149'
      item_type: enum
      name: ICMPv6MessageType
      pos:
        line_end: 89
        line_start: 11
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    - enumerators:
      - name: REQUEST
      - name: REPLY
      item_type: enum
      name: ICMPv6EchoType
      pos:
        line_end: 210
        line_start: 204
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: uint8_t
      - name: code
        type: uint8_t
      - name: checksum
        type: uint16_t
      item_type: struct
      name: icmpv6hdr
      pos:
        line_end: 103
        line_start: 94
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    - fields:
      - name: id
        type: uint16_t
      - name: sequence
        type: uint16_t
      item_type: struct
      name: icmpv6_echo_hdr
      pos:
        line_end: 116
        line_start: 110
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    - fields:
      - name: type
        type: uint8_t
      - name: code
        type: uint8_t
      - name: checksum
        type: uint16_t
      item_type: struct
      name: icmpv6hdr
      pos:
        line_end: 103
        line_start: 94
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    - fields:
      - name: id
        type: uint16_t
      - name: sequence
        type: uint16_t
      item_type: struct
      name: icmpv6_echo_hdr
      pos:
        line_end: 116
        line_start: 110
        source_file: /src/PcapPlusPlus/Packet++/header/IcmpV6Layer.h
    typedefs: []
    union: []
- function_names:
  - pcpp::Asn1Record::getTagClass
  - pcpp::Asn1Record::isConstructed
  - pcpp::Asn1Record::getTagType
  - pcpp::Asn1Record::getValueLength
  - pcpp::Asn1Record::getTotalLength
  - pcpp::Asn1Record::castAs
  - ~Asn1Record()
  - pcpp::Asn1Record::Asn1Record
  - pcpp::Asn1Record::encodeValueSafe
  - ~Asn1GenericRecord() override
  - pcpp::Asn1GenericRecord::getValue
  - pcpp::Asn1GenericRecord::Asn1GenericRecord
  - '& getSubRecords()'
  - pcpp::Asn1ConstructedRecord::Asn1ConstructedRecord
  - pcpp::Asn1ConstructedRecord::init
  - pcpp::Asn1SequenceRecord::Asn1SequenceRecord
  - pcpp::Asn1SetRecord::Asn1SetRecord
  - pcpp::Asn1PrimitiveRecord::Asn1PrimitiveRecord
  - pcpp::Asn1IntegerRecord::getIntValue
  - pcpp::Asn1IntegerRecord::getValue
  - pcpp::Asn1IntegerRecord::getValueAsString
  - pcpp::Asn1IntegerRecord::Asn1IntegerRecord
  - pcpp::Asn1IntegerRecord::BigInt::BigInt
  - pcpp::Asn1IntegerRecord::BigInt::BigInt
  - '& operator=(T value)'
  - pcpp::Asn1IntegerRecord::BigInt::getInt
  - pcpp::Asn1IntegerRecord::BigInt::canFit
  - pcpp::Asn1IntegerRecord::BigInt::initFromInt
  - pcpp::Asn1EnumeratedRecord::Asn1EnumeratedRecord
  - pcpp::Asn1StringRecord::getValue
  - pcpp::Asn1StringRecord::Asn1StringRecord
  - pcpp::Asn1StringRecord::Asn1StringRecord
  - pcpp::Asn1StringRecord::decodeValue
  - pcpp::Asn1StringRecord::encodeValue
  - pcpp::Asn1StringRecord::toStringList
  - pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
  - pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
  - pcpp::Asn1UTF8StringRecord::Asn1UTF8StringRecord
  - pcpp::Asn1UTF8StringRecord::Asn1UTF8StringRecord
  - pcpp::Asn1PrintableStringRecord::Asn1PrintableStringRecord
  - pcpp::Asn1PrintableStringRecord::Asn1PrintableStringRecord
  - pcpp::Asn1IA5StringRecord::Asn1IA5StringRecord
  - pcpp::Asn1IA5StringRecord::Asn1IA5StringRecord
  - pcpp::Asn1BooleanRecord::getValue
  - pcpp::Asn1BooleanRecord::Asn1BooleanRecord
  - pcpp::Asn1NullRecord::decodeValue
  - pcpp::Asn1NullRecord::encodeValue
  - '& getComponents() const'
  - operator==(const Asn1ObjectIdentifier& other) const
  - operator!=(const Asn1ObjectIdentifier& other) const
  - '& operator<<(std::ostream& os, const Asn1ObjectIdentifier& oid)'
  - pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
  - '& getValue() const'
  - pcpp::Asn1ObjectIdentifierRecord::Asn1ObjectIdentifierRecord
  - pcpp::Asn1TimeRecord::getValue
  - pcpp::Asn1TimeRecord::Asn1TimeRecord
  - pcpp::Asn1UtcTimeRecord::Asn1UtcTimeRecord
  - pcpp::Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord
  - pcpp::Asn1BitStringRecord::getValue
  - pcpp::Asn1BitStringRecord::getVecValue
  - pcpp::Asn1BitStringRecord::BitSet::BitSet
  - pcpp::Asn1BitStringRecord::BitSet::getNumBits
  - pcpp::Asn1BitStringRecord::Asn1BitStringRecord
  - pcpp::Asn1Record::getTagClass
  - pcpp::Asn1Record::isConstructed
  - pcpp::Asn1Record::getTagType
  - pcpp::Asn1Record::getValueLength
  - pcpp::Asn1Record::getTotalLength
  - pcpp::Asn1Record::castAs
  - ~Asn1Record()
  - pcpp::Asn1Record::Asn1Record
  - pcpp::Asn1Record::encodeValueSafe
  - ~Asn1GenericRecord() override
  - pcpp::Asn1GenericRecord::getValue
  - pcpp::Asn1GenericRecord::Asn1GenericRecord
  - '& getSubRecords()'
  - pcpp::Asn1ConstructedRecord::Asn1ConstructedRecord
  - pcpp::Asn1ConstructedRecord::init
  - pcpp::Asn1SequenceRecord::Asn1SequenceRecord
  - pcpp::Asn1SetRecord::Asn1SetRecord
  - pcpp::Asn1PrimitiveRecord::Asn1PrimitiveRecord
  - pcpp::Asn1IntegerRecord::getIntValue
  - pcpp::Asn1IntegerRecord::getValue
  - pcpp::Asn1IntegerRecord::getValueAsString
  - pcpp::Asn1IntegerRecord::Asn1IntegerRecord
  - pcpp::Asn1IntegerRecord::BigInt::BigInt
  - pcpp::Asn1IntegerRecord::BigInt::BigInt
  - '& operator=(T value)'
  - pcpp::Asn1IntegerRecord::BigInt::getInt
  - pcpp::Asn1IntegerRecord::BigInt::canFit
  - pcpp::Asn1IntegerRecord::BigInt::initFromInt
  - pcpp::Asn1EnumeratedRecord::Asn1EnumeratedRecord
  - pcpp::Asn1StringRecord::getValue
  - pcpp::Asn1StringRecord::Asn1StringRecord
  - pcpp::Asn1StringRecord::Asn1StringRecord
  - pcpp::Asn1StringRecord::decodeValue
  - pcpp::Asn1StringRecord::encodeValue
  - pcpp::Asn1StringRecord::toStringList
  - pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
  - pcpp::Asn1OctetStringRecord::Asn1OctetStringRecord
  - pcpp::Asn1UTF8StringRecord::Asn1UTF8StringRecord
  - pcpp::Asn1UTF8StringRecord::Asn1UTF8StringRecord
  - pcpp::Asn1PrintableStringRecord::Asn1PrintableStringRecord
  - pcpp::Asn1PrintableStringRecord::Asn1PrintableStringRecord
  - pcpp::Asn1IA5StringRecord::Asn1IA5StringRecord
  - pcpp::Asn1IA5StringRecord::Asn1IA5StringRecord
  - pcpp::Asn1BooleanRecord::getValue
  - pcpp::Asn1BooleanRecord::Asn1BooleanRecord
  - pcpp::Asn1NullRecord::decodeValue
  - pcpp::Asn1NullRecord::encodeValue
  - '& getComponents() const'
  - operator==(const Asn1ObjectIdentifier& other) const
  - operator!=(const Asn1ObjectIdentifier& other) const
  - '& operator<<(std::ostream& os, const Asn1ObjectIdentifier& oid)'
  - pcpp::Asn1ObjectIdentifier::Asn1ObjectIdentifier
  - '& getValue() const'
  - pcpp::Asn1ObjectIdentifierRecord::Asn1ObjectIdentifierRecord
  - pcpp::Asn1TimeRecord::getValue
  - pcpp::Asn1TimeRecord::Asn1TimeRecord
  - pcpp::Asn1UtcTimeRecord::Asn1UtcTimeRecord
  - pcpp::Asn1GeneralizedTimeRecord::Asn1GeneralizedTimeRecord
  - pcpp::Asn1BitStringRecord::getValue
  - pcpp::Asn1BitStringRecord::getVecValue
  - pcpp::Asn1BitStringRecord::BitSet::BitSet
  - pcpp::Asn1BitStringRecord::BitSet::getNumBits
  - pcpp::Asn1BitStringRecord::Asn1BitStringRecord
  source_file: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
  types:
    enum:
    - enumerators:
      - name: Universal
        value: '0'
      - name: Private
        value: '3'
      - name: ContextSpecific
        value: '2'
      - name: Application
        value: '1'
      item_type: enum
      name: Asn1TagClass
      pos:
        line_end: 28
        line_start: 18
        source_file: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    - enumerators:
      - name: EndOfContent
        value: '0'
      - name: Integer
        value: '2'
      - name: OctetString
        value: '4'
      - name: ObjectIdentifier
        value: '6'
      - name: External
        value: '8'
      - name: Enumerated
        value: '10'
      - name: Time
        value: '14'
      - name: Sequence
        value: '16'
      - name: NumericString
        value: '18'
      - name: UTF8String
        value: '12'
      - name: BMPString
        value: '30'
      - name: VideotexString
        value: '21'
      - name: UniversalString
        value: '28'
      - name: GeneralizedTime
        value: '24'
      - name: ObjectIdentifierIRI
        value: '35'
      - name: VisibleString
        value: '26'
      - name: IA5String
        value: '22'
      - name: DateTime
        value: '33'
      - name: Boolean
        value: '1'
      - name: BitString
        value: '3'
      - name: 'Null'
        value: '5'
      - name: ObjectDescriptor
        value: '7'
      - name: Real
        value: '9'
      - name: Reserved
        value: '15'
      - name: Set
        value: '17'
      - name: EmbeddedPDV
        value: '11'
      - name: RelativeObjectIdentifier
        value: '13'
      - name: PrintableString
        value: '19'
      - name: T61String
        value: '20'
      - name: Date
        value: '31'
      - name: GeneralString
        value: '27'
      - name: CharacterString
        value: '29'
      - name: GraphicString
        value: '25'
      - name: NotApplicable
        value: '255'
      - name: RelativeObjectIdentifierIRI
        value: '36'
      - name: TimeOfDay
        value: '32'
      - name: Duration
        value: '34'
      - name: UTCTime
        value: '23'
      item_type: enum
      name: Asn1UniversalTagType
      pos:
        line_end: 109
        line_start: 31
        source_file: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    - enumerators:
      - name: Lazy
      - name: Eager
      item_type: enum
      name: Asn1LoadPolicy
      pos:
        line_end: 122
        line_start: 116
        source_file: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    - enumerators:
      - name: Lazy
      - name: Eager
      item_type: enum
      name: Asn1LoadPolicy
      pos:
        line_end: 122
        line_start: 116
        source_file: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    - enumerators:
      - name: Universal
        value: '0'
      - name: Private
        value: '3'
      - name: ContextSpecific
        value: '2'
      - name: Application
        value: '1'
      item_type: enum
      name: Asn1TagClass
      pos:
        line_end: 28
        line_start: 18
        source_file: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    - enumerators:
      - name: EndOfContent
        value: '0'
      - name: Integer
        value: '2'
      - name: OctetString
        value: '4'
      - name: ObjectIdentifier
        value: '6'
      - name: External
        value: '8'
      - name: Enumerated
        value: '10'
      - name: Time
        value: '14'
      - name: Sequence
        value: '16'
      - name: NumericString
        value: '18'
      - name: UTF8String
        value: '12'
      - name: BMPString
        value: '30'
      - name: VideotexString
        value: '21'
      - name: UniversalString
        value: '28'
      - name: GeneralizedTime
        value: '24'
      - name: ObjectIdentifierIRI
        value: '35'
      - name: VisibleString
        value: '26'
      - name: IA5String
        value: '22'
      - name: DateTime
        value: '33'
      - name: Boolean
        value: '1'
      - name: BitString
        value: '3'
      - name: 'Null'
        value: '5'
      - name: ObjectDescriptor
        value: '7'
      - name: Real
        value: '9'
      - name: Reserved
        value: '15'
      - name: Set
        value: '17'
      - name: EmbeddedPDV
        value: '11'
      - name: RelativeObjectIdentifier
        value: '13'
      - name: PrintableString
        value: '19'
      - name: T61String
        value: '20'
      - name: Date
        value: '31'
      - name: GeneralString
        value: '27'
      - name: CharacterString
        value: '29'
      - name: GraphicString
        value: '25'
      - name: NotApplicable
        value: '255'
      - name: RelativeObjectIdentifierIRI
        value: '36'
      - name: TimeOfDay
        value: '32'
      - name: Duration
        value: '34'
      - name: UTCTime
        value: '23'
      item_type: enum
      name: Asn1UniversalTagType
      pos:
        line_end: 109
        line_start: 31
        source_file: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    - enumerators:
      - name: Lazy
      - name: Eager
      item_type: enum
      name: Asn1LoadPolicy
      pos:
        line_end: 122
        line_start: 116
        source_file: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    - enumerators:
      - name: Lazy
      - name: Eager
      item_type: enum
      name: Asn1LoadPolicy
      pos:
        line_end: 122
        line_start: 116
        source_file: /src/PcapPlusPlus/Packet++/header/Asn1Codec.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::IDnsResourceData::IDnsResourceData
  - ~IDnsResourceData()
  - pcpp::IDnsResourceData::isTypeOf
  - pcpp::IDnsResourceData::castAs
  - pcpp::DnsResourceDataPtr::DnsResourceDataPtr
  - pcpp::DnsResourceDataPtr::isTypeOf
  - pcpp::DnsResourceDataPtr::castAs
  - pcpp::StringDnsResourceData::StringDnsResourceData
  - ~StringDnsResourceData() override
  - operator==(const StringDnsResourceData& other) const
  - pcpp::StringDnsResourceData::toString
  - pcpp::IPv4DnsResourceData::IPv4DnsResourceData
  - pcpp::IPv4DnsResourceData::IPv4DnsResourceData
  - operator==(const IPv4DnsResourceData& other) const
  - pcpp::IPv4DnsResourceData::getIpAddress
  - pcpp::IPv4DnsResourceData::toString
  - pcpp::IPv6DnsResourceData::IPv6DnsResourceData
  - pcpp::IPv6DnsResourceData::IPv6DnsResourceData
  - operator==(const IPv6DnsResourceData& other) const
  - pcpp::IPv6DnsResourceData::getIpAddress
  - pcpp::IPv6DnsResourceData::toString
  - ~MxDnsResourceData() override
  - pcpp::MxDnsResourceData::getMxData
  - ~GenericDnsResourceData() override
  - pcpp::IDnsResourceData::IDnsResourceData
  - ~IDnsResourceData()
  - pcpp::IDnsResourceData::isTypeOf
  - pcpp::IDnsResourceData::castAs
  - pcpp::DnsResourceDataPtr::DnsResourceDataPtr
  - pcpp::DnsResourceDataPtr::isTypeOf
  - pcpp::DnsResourceDataPtr::castAs
  - pcpp::StringDnsResourceData::StringDnsResourceData
  - ~StringDnsResourceData() override
  - operator==(const StringDnsResourceData& other) const
  - pcpp::StringDnsResourceData::toString
  - pcpp::IPv4DnsResourceData::IPv4DnsResourceData
  - pcpp::IPv4DnsResourceData::IPv4DnsResourceData
  - operator==(const IPv4DnsResourceData& other) const
  - pcpp::IPv4DnsResourceData::getIpAddress
  - pcpp::IPv4DnsResourceData::toString
  - pcpp::IPv6DnsResourceData::IPv6DnsResourceData
  - pcpp::IPv6DnsResourceData::IPv6DnsResourceData
  - operator==(const IPv6DnsResourceData& other) const
  - pcpp::IPv6DnsResourceData::getIpAddress
  - pcpp::IPv6DnsResourceData::toString
  - ~MxDnsResourceData() override
  - pcpp::MxDnsResourceData::getMxData
  - ~GenericDnsResourceData() override
  source_file: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: preference
        type: uint16_t
      - name: mailExchange
        type: std::string
      item_type: struct
      name: MxData
      pos:
        line_end: 240
        line_start: 234
        source_file: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    - fields:
      - name: preference
        type: uint16_t
      - name: mailExchange
        type: std::string
      item_type: struct
      name: MxData
      pos:
        line_end: 240
        line_start: 234
        source_file: /src/PcapPlusPlus/Packet++/header/DnsResourceData.h
    typedefs: []
    union: []
- function_names:
  - pcpp::SingleCommandTextProtocol::SingleCommandTextProtocol
  - pcpp::SingleCommandTextProtocol::SingleCommandTextProtocol
  source_file: /src/PcapPlusPlus/Packet++/header/SingleCommandTextProtocol.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::IPv6Extension::getExtensionLen
  - pcpp::IPv6Extension::getExtensionType
  - pcpp::IPv6Extension::getNextHeader
  - pcpp::IPv6Extension::IPv6Extension
  - pcpp::IPv6Extension::IPv6Extension
  - pcpp::IPv6Extension::getBaseHeader
  - pcpp::IPv6Extension::setNextHeader
  - pcpp::IPv6FragmentationHeader::getFragHeader
  - pcpp::IPv6FragmentationHeader::IPv6FragmentationHeader
  - pcpp::IPv6TLVOptionHeader::IPv6Option::IPv6Option
  - ~IPv6Option()
  - pcpp::IPv6TLVOptionHeader::IPv6Option::canAssign
  - pcpp::IPv6TLVOptionHeader::IPv6Option::getTotalSize
  - pcpp::IPv6TLVOptionHeader::IPv6Option::getDataSize
  - pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
  - pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
  - pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
  - pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
  - '& operator=(const IPv6TLVOptionBuilder& other)'
  - pcpp::IPv6HopByHopHeader::IPv6HopByHopHeader
  - pcpp::IPv6HopByHopHeader::IPv6HopByHopHeader
  - pcpp::IPv6DestinationHeader::IPv6DestinationHeader
  - pcpp::IPv6DestinationHeader::IPv6DestinationHeader
  - pcpp::IPv6RoutingHeader::getRoutingHeader
  - pcpp::IPv6RoutingHeader::IPv6RoutingHeader
  - pcpp::IPv6AuthenticationHeader::getAuthHeader
  - pcpp::IPv6AuthenticationHeader::getExtensionLen
  - pcpp::IPv6AuthenticationHeader::IPv6AuthenticationHeader
  - pcpp::IPv6Extension::getExtensionLen
  - pcpp::IPv6Extension::getExtensionType
  - pcpp::IPv6Extension::getNextHeader
  - pcpp::IPv6Extension::IPv6Extension
  - pcpp::IPv6Extension::IPv6Extension
  - pcpp::IPv6Extension::getBaseHeader
  - pcpp::IPv6Extension::setNextHeader
  - pcpp::IPv6FragmentationHeader::getFragHeader
  - pcpp::IPv6FragmentationHeader::IPv6FragmentationHeader
  - pcpp::IPv6TLVOptionHeader::IPv6Option::IPv6Option
  - ~IPv6Option()
  - pcpp::IPv6TLVOptionHeader::IPv6Option::canAssign
  - pcpp::IPv6TLVOptionHeader::IPv6Option::getTotalSize
  - pcpp::IPv6TLVOptionHeader::IPv6Option::getDataSize
  - pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
  - pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
  - pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
  - pcpp::IPv6TLVOptionHeader::IPv6TLVOptionBuilder::IPv6TLVOptionBuilder
  - '& operator=(const IPv6TLVOptionBuilder& other)'
  - pcpp::IPv6HopByHopHeader::IPv6HopByHopHeader
  - pcpp::IPv6HopByHopHeader::IPv6HopByHopHeader
  - pcpp::IPv6DestinationHeader::IPv6DestinationHeader
  - pcpp::IPv6DestinationHeader::IPv6DestinationHeader
  - pcpp::IPv6RoutingHeader::getRoutingHeader
  - pcpp::IPv6RoutingHeader::IPv6RoutingHeader
  - pcpp::IPv6AuthenticationHeader::getAuthHeader
  - pcpp::IPv6AuthenticationHeader::getExtensionLen
  - pcpp::IPv6AuthenticationHeader::IPv6AuthenticationHeader
  source_file: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
  types:
    enum:
    - enumerators:
      - name: IPv6HopByHop
        value: '0'
      - name: IPv6AuthenticationHdr
        value: '51'
      - name: IPv6Fragmentation
        value: '44'
      - name: IPv6Routing
        value: '43'
      - name: IPv6Destination
        value: '60'
      - name: IPv6ExtensionUnknown
        value: '255'
      item_type: enum
      name: IPv6ExtensionType
      pos:
        line_end: 36
        line_start: 22
        source_file: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    - enumerators:
      - name: IPv6HopByHop
        value: '0'
      - name: IPv6AuthenticationHdr
        value: '51'
      - name: IPv6Fragmentation
        value: '44'
      - name: IPv6Routing
        value: '43'
      - name: IPv6Destination
        value: '60'
      - name: IPv6ExtensionUnknown
        value: '255'
      item_type: enum
      name: IPv6ExtensionType
      pos:
        line_end: 36
        line_start: 22
        source_file: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    preproc_defs: []
    structs:
    - fields:
      - name: nextHeader
        type: uint8_t
      - name: headerLen
        type: uint8_t
      item_type: struct
      name: ipv6_ext_base_header
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    - fields:
      - name: nextHeader
        type: uint8_t
      - name: headerLen
        type: uint8_t
      - name: fragOffsetAndFlags
        type: uint16_t
      - name: id
        type: uint32_t
      item_type: struct
      name: ipv6_frag_header
      pos:
        line_end: 124
        line_start: 113
        source_file: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    - fields:
      - name: nextHeader
        type: uint8_t
      - name: headerLen
        type: uint8_t
      - name: routingType
        type: uint8_t
      - name: segmentsLeft
        type: uint8_t
      item_type: struct
      name: ipv6_routing_header
      pos:
        line_end: 374
        line_start: 364
        source_file: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    - fields:
      - name: nextHeader
        type: uint8_t
      - name: headerLen
        type: uint8_t
      - name: reserved
        type: uint16_t
      - name: securityParametersIndex
        type: uint32_t
      - name: sequenceNumber
        type: uint32_t
      item_type: struct
      name: ipv6_authentication_header
      pos:
        line_end: 445
        line_start: 430
        source_file: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    - fields:
      - name: nextHeader
        type: uint8_t
      - name: headerLen
        type: uint8_t
      item_type: struct
      name: ipv6_ext_base_header
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    - fields:
      - name: nextHeader
        type: uint8_t
      - name: headerLen
        type: uint8_t
      - name: fragOffsetAndFlags
        type: uint16_t
      - name: id
        type: uint32_t
      item_type: struct
      name: ipv6_frag_header
      pos:
        line_end: 124
        line_start: 113
        source_file: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    - fields:
      - name: nextHeader
        type: uint8_t
      - name: headerLen
        type: uint8_t
      - name: routingType
        type: uint8_t
      - name: segmentsLeft
        type: uint8_t
      item_type: struct
      name: ipv6_routing_header
      pos:
        line_end: 374
        line_start: 364
        source_file: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    - fields:
      - name: nextHeader
        type: uint8_t
      - name: headerLen
        type: uint8_t
      - name: reserved
        type: uint16_t
      - name: securityParametersIndex
        type: uint32_t
      - name: sequenceNumber
        type: uint32_t
      item_type: struct
      name: ipv6_authentication_header
      pos:
        line_end: 445
        line_start: 430
        source_file: /src/PcapPlusPlus/Packet++/header/IPv6Extensions.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/Packet++/header/DnsLayerEnums.h
  types:
    enum:
    - enumerators:
      - name: DNS_TYPE_NS
      - name: DNS_TYPE_MD
      - name: DNS_TYPE_SOA
      - name: DNS_TYPE_MG
      - name: DNS_TYPE_NULL_R
      - name: DNS_TYPE_PTR
      - name: DNS_TYPE_TXT
      - name: DNS_TYPE_MINFO
      - name: DNS_TYPE_AFSDB
      - name: DNS_TYPE_ISDN
      - name: DNS_TYPE_NSAP_PTR
      - name: DNS_TYPE_DS
      - name: DNS_TYPE_NIMLOC
      - name: DNS_TYPE_NSEC
      - name: DNS_TYPE_KX
      - name: DNS_TYPE_KEY
      - name: DNS_TYPE_IPSECKEY
      - name: DNS_TYPE_ALL
        value: '255'
      - name: DNS_TYPE_NSEC3
      - name: DNS_TYPE_DNAM
      - name: DNS_TYPE_AAAA
      - name: DNS_TYPE_DNSKEY
      - name: DNS_TYPE_CERT
      - name: DNS_TYPE_OPT
      - name: DNS_TYPE_NXT
      - name: DNS_TYPE_ATMA
      - name: DNS_TYPE_MF
      - name: DNS_TYPE_CNAME
      - name: DNS_TYPE_MB
      - name: DNS_TYPE_MR
      - name: DNS_TYPE_WKS
      - name: DNS_TYPE_RP
      - name: DNS_TYPE_MX
      - name: DNS_TYPE_X25
      - name: DNS_TYPE_HINFO
      - name: DNS_TYPE_RT
      - name: DNS_TYPE_NSAP
      - name: DNS_TYPE_SRV
      - name: DNS_TYPE_SSHFP
      - name: DNS_TYPE_PX
      - name: DNS_TYPE_RRSIG
      - name: DNS_TYPE_NAPTR
      - name: DNS_TYPE_SIG
      - name: DNS_TYPE_A
        value: '1'
      - name: DNS_TYPE_DHCID
      - name: DNS_TYPE_A6
      - name: DNS_TYPE_GPOS
      - name: DNS_TYPE_APL
      - name: DNS_TYPE_EID
      - name: DNS_TYPE_NSEC3PARAM
      - name: DNS_TYPE_SINK
      - name: DNS_TYPE_LOC
      item_type: enum
      name: DnsType
      pos:
        line_end: 115
        line_start: 9
        source_file: /src/PcapPlusPlus/Packet++/header/DnsLayerEnums.h
    - enumerators:
      - name: DNS_CLASS_IN
        value: '1'
      - name: DNS_CLASS_IN_QU
        value: '32769'
      - name: DNS_CLASS_CH
        value: '3'
      - name: DNS_CLASS_ANY
        value: '255'
      - name: DNS_CLASS_HS
        value: '4'
      item_type: enum
      name: DnsClass
      pos:
        line_end: 130
        line_start: 118
        source_file: /src/PcapPlusPlus/Packet++/header/DnsLayerEnums.h
    - enumerators:
      - name: DnsQueryType
        value: '0'
      - name: DnsAuthorityType
        value: '2'
      - name: DnsAdditionalType
        value: '3'
      - name: DnsAnswerType
        value: '1'
      item_type: enum
      name: DnsResourceType
      pos:
        line_end: 143
        line_start: 133
        source_file: /src/PcapPlusPlus/Packet++/header/DnsLayerEnums.h
    - enumerators:
      - name: DNS_TYPE_NS
      - name: DNS_TYPE_MD
      - name: DNS_TYPE_SOA
      - name: DNS_TYPE_MG
      - name: DNS_TYPE_NULL_R
      - name: DNS_TYPE_PTR
      - name: DNS_TYPE_TXT
      - name: DNS_TYPE_MINFO
      - name: DNS_TYPE_AFSDB
      - name: DNS_TYPE_ISDN
      - name: DNS_TYPE_NSAP_PTR
      - name: DNS_TYPE_DS
      - name: DNS_TYPE_NIMLOC
      - name: DNS_TYPE_NSEC
      - name: DNS_TYPE_KX
      - name: DNS_TYPE_KEY
      - name: DNS_TYPE_IPSECKEY
      - name: DNS_TYPE_ALL
        value: '255'
      - name: DNS_TYPE_NSEC3
      - name: DNS_TYPE_DNAM
      - name: DNS_TYPE_AAAA
      - name: DNS_TYPE_DNSKEY
      - name: DNS_TYPE_CERT
      - name: DNS_TYPE_OPT
      - name: DNS_TYPE_NXT
      - name: DNS_TYPE_ATMA
      - name: DNS_TYPE_MF
      - name: DNS_TYPE_CNAME
      - name: DNS_TYPE_MB
      - name: DNS_TYPE_MR
      - name: DNS_TYPE_WKS
      - name: DNS_TYPE_RP
      - name: DNS_TYPE_MX
      - name: DNS_TYPE_X25
      - name: DNS_TYPE_HINFO
      - name: DNS_TYPE_RT
      - name: DNS_TYPE_NSAP
      - name: DNS_TYPE_SRV
      - name: DNS_TYPE_SSHFP
      - name: DNS_TYPE_PX
      - name: DNS_TYPE_RRSIG
      - name: DNS_TYPE_NAPTR
      - name: DNS_TYPE_SIG
      - name: DNS_TYPE_A
        value: '1'
      - name: DNS_TYPE_DHCID
      - name: DNS_TYPE_A6
      - name: DNS_TYPE_GPOS
      - name: DNS_TYPE_APL
      - name: DNS_TYPE_EID
      - name: DNS_TYPE_NSEC3PARAM
      - name: DNS_TYPE_SINK
      - name: DNS_TYPE_LOC
      item_type: enum
      name: DnsType
      pos:
        line_end: 115
        line_start: 9
        source_file: /src/PcapPlusPlus/Packet++/header/DnsLayerEnums.h
    - enumerators:
      - name: DNS_CLASS_IN
        value: '1'
      - name: DNS_CLASS_IN_QU
        value: '32769'
      - name: DNS_CLASS_CH
        value: '3'
      - name: DNS_CLASS_ANY
        value: '255'
      - name: DNS_CLASS_HS
        value: '4'
      item_type: enum
      name: DnsClass
      pos:
        line_end: 130
        line_start: 118
        source_file: /src/PcapPlusPlus/Packet++/header/DnsLayerEnums.h
    - enumerators:
      - name: DnsQueryType
        value: '0'
      - name: DnsAuthorityType
        value: '2'
      - name: DnsAdditionalType
        value: '3'
      - name: DnsAnswerType
        value: '1'
      item_type: enum
      name: DnsResourceType
      pos:
        line_end: 143
        line_start: 133
        source_file: /src/PcapPlusPlus/Packet++/header/DnsLayerEnums.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::SSLCipherSuite::SSLCipherSuite
  - pcpp::SSLCipherSuite::getID
  - pcpp::SSLCipherSuite::asString
  - pcpp::SSLCipherSuite::getKeyExchangeAlg
  - pcpp::SSLCipherSuite::getAuthAlg
  - pcpp::SSLCipherSuite::getSymKeyAlg
  - pcpp::SSLCipherSuite::getMACAlg
  - ~SSLExtension()
  - pcpp::tryCreateExtension
  - pcpp::getExtensionStruct
  - pcpp::SSLCipherSuite::SSLCipherSuite
  - pcpp::SSLCipherSuite::getID
  - pcpp::SSLCipherSuite::asString
  - pcpp::SSLCipherSuite::getKeyExchangeAlg
  - pcpp::SSLCipherSuite::getAuthAlg
  - pcpp::SSLCipherSuite::getSymKeyAlg
  - pcpp::SSLCipherSuite::getMACAlg
  - ~SSLExtension()
  - pcpp::tryCreateExtension
  - pcpp::getExtensionStruct
  - SSLx509Certificate::SSLx509Certificate
  - SSLx509Certificate::getData
  - SSLx509Certificate::getDataLength
  - SSLx509Certificate::allDataExists
  - ~SSLHandshakeMessage()
  - SSLHandshakeMessage::getContainingLayer
  - ~SSLClientHelloMessage() override
  - SSLClientHelloMessage::getClientHelloHeader
  - ~SSLServerHelloMessage() override
  - SSLServerHelloMessage::getServerHelloHeader
  - ~SSLCertificateMessage() override
  - SSLHelloRequestMessage::SSLHelloRequestMessage
  - ~SSLHelloRequestMessage() override
  - SSLServerKeyExchangeMessage::SSLServerKeyExchangeMessage
  - ~SSLServerKeyExchangeMessage() override
  - SSLClientKeyExchangeMessage::SSLClientKeyExchangeMessage
  - ~SSLClientKeyExchangeMessage() override
  - ~SSLCertificateRequestMessage() override
  - SSLServerHelloDoneMessage::SSLServerHelloDoneMessage
  - ~SSLServerHelloDoneMessage() override
  - SSLCertificateVerifyMessage::SSLCertificateVerifyMessage
  - ~SSLCertificateVerifyMessage() override
  - SSLFinishedMessage::SSLFinishedMessage
  - ~SSLFinishedMessage() override
  - SSLNewSessionTicketMessage::SSLNewSessionTicketMessage
  - ~SSLNewSessionTicketMessage() override
  - SSLUnknownMessage::SSLUnknownMessage
  - ~SSLUnknownMessage() override
  - SSLClientHelloMessage::getExtensionOfType
  - SSLServerHelloMessage::getExtensionOfType
  source_file: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: extensionType
        type: uint16_t
      - name: extensionDataLength
        type: uint16_t
      - name: extensionData[]
        type: uint8_t
      - name: getDataLength() const
        type: uint16_t
      item_type: struct
      name: SSLExtensionStruct
      pos:
        line_end: 180
        line_start: 169
        source_file: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    - fields:
      - name: extensionType
        type: uint16_t
      - name: extensionDataLength
        type: uint16_t
      - name: extensionData[]
        type: uint8_t
      - name: getDataLength() const
        type: uint16_t
      item_type: struct
      name: SSLExtensionStruct
      pos:
        line_end: 180
        line_start: 169
        source_file: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    - fields:
      - name: tlsVersion
        type: uint16_t
      - name: cipherSuites
        type: std::vector<uint16_t>
      - name: extensions
        type: std::vector<uint16_t>
      - name: supportedGroups
        type: std::vector<uint16_t>
      - name: ecPointFormats
        type: std::vector<uint8_t>
      - name: toString()
        type: std::string
      - name: toMD5()
        type: std::string
      - name: toStringAndMD5()
        type: std::pair<std::string, std::string>
      item_type: struct
      name: ClientHelloTLSFingerprint
      pos:
        line_end: 387
        line_start: 357
        source_file: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    - fields:
      - name: tlsVersion
        type: uint16_t
      - name: cipherSuite
        type: uint16_t
      - name: extensions
        type: std::vector<uint16_t>
      - name: toString()
        type: std::string
      - name: toMD5()
        type: std::string
      - name: toStringAndMD5()
        type: std::pair<std::string, std::string>
      item_type: struct
      name: ServerHelloTLSFingerprint
      pos:
        line_end: 523
        line_start: 501
        source_file: /src/PcapPlusPlus/Packet++/header/SSLHandshake.h
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PcapPlusPlus/Examples/ExampleApp/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - GlobalConfig::GlobalConfig
  - GlobalConfig::getFileName
  - GlobalConfig::openFileStream
  - GlobalConfig::closeFileSteam
  - GlobalConfig::getRecentConnsWithActivity
  - '& getInstance()'
  - ~GlobalConfig()
  - TcpReassemblyData
  - ~TcpReassemblyData()
  - clear
  - printUsage
  - printAppVersion
  - listInterfaces
  - tcpReassemblyMsgReadyCallback
  - tcpReassemblyConnectionStartCallback
  - tcpReassemblyConnectionEndCallback
  - onApplicationInterrupted
  - onPacketArrives
  - doTcpReassemblyOnPcapFile
  - doTcpReassemblyOnLiveTraffic
  - main
  source_file: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SEPARATOR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: SEPARATOR
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
      type_or_value: '''/'''
    structs:
    - fields:
      - name: '* fileStreams[2]'
        type: std::ostream
      - name: reopenFileStreams[2]
        type: bool
      - name: curSide
        type: int8_t
      - name: numOfDataPackets[2]
        type: int
      - name: numOfMessagesFromSide[2]
        type: int
      - name: bytesFromSide[2]
        type: int
      item_type: struct
      name: TcpReassemblyData
      pos:
        line_end: 276
        line_start: 207
        source_file: /src/PcapPlusPlus/Examples/TcpReassembly/main.cpp
    typedefs: []
    union: []
- function_names:
  - clear
  - clear
  - ~HttpMessageStats()
  - clear
  - clear
  - clear
  - HttpStatsCollector::HttpStatsCollector
  - HttpStatsCollector::collectStats
  - HttpStatsCollector::calcRates
  - HttpStatsCollector::clear
  - '& getGeneralStats()'
  - '& getRequestStats()'
  - '& getResponseStats()'
  - HttpStatsCollector::clear
  - HttpStatsCollector::collectHttpTrafficStats
  - HttpStatsCollector::collectHttpGeneralStats
  - HttpStatsCollector::collectRequestStats
  - HttpStatsCollector::collectResponseStats
  - HttpStatsCollector::getCurTime
  source_file: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: currentRate
        type: double
      - name: totalRate
        type: double
      item_type: struct
      name: Rate
      pos:
        line_end: 26
        line_start: 16
        source_file: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    - fields:
      - name: numOfHttpFlows
        type: int
      - name: httpFlowRate
        type: Rate
      - name: numOfHttpPipeliningFlows
        type: int
      - name: numOfHttpTransactions
        type: int
      - name: httpTransactionsRate
        type: Rate
      - name: averageNumOfHttpTransactionsPerFlow
        type: double
      - name: numOfHttpPackets
        type: int
      - name: httpPacketRate
        type: Rate
      - name: averageNumOfPacketsPerFlow
        type: double
      - name: amountOfHttpTraffic
        type: int
      - name: averageAmountOfDataPerFlow
        type: double
      - name: httpTrafficRate
        type: Rate
      - name: sampleTime
        type: double
      item_type: struct
      name: HttpGeneralStats
      pos:
        line_end: 76
        line_start: 31
        source_file: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    - fields:
      - name: numOfMessages
        type: int
      - name: messageRate
        type: Rate
      - name: totalMessageHeaderSize
        type: int
      - name: averageMessageHeaderSize
        type: double
      item_type: struct
      name: HttpMessageStats
      pos:
        line_end: 102
        line_start: 81
        source_file: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    - fields:
      - name: methodCount
        type: std::unordered_map<pcpp::HttpRequestLayer::HttpMethod, int, std::hash<int>>
      - name: hostnameCount
        type: std::unordered_map<std::string, int>
      item_type: struct
      name: HttpRequestStats
      pos:
        line_end: 120
        line_start: 107
        source_file: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    - fields:
      - name: statusCodeCount
        type: std::unordered_map<std::string, int>
      - name: contentTypeCount
        type: std::unordered_map<std::string, int>
      - name: numOfMessagesWithContentLength
        type: int
      - name: totalContentLengthSize
        type: int
      - name: averageContentLengthSize
        type: double
      item_type: struct
      name: HttpResponseStats
      pos:
        line_end: 147
        line_start: 125
        source_file: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    - fields:
      - name: numOfOpenTransactions
        type: int
      - name: lastSeenMessage
        type: pcpp::ProtocolType
      - name: httpPipeliningFlow
        type: bool
      - name: curSeqNumberRequests
        type: uint32_t
      - name: curSeqNumberResponses
        type: uint32_t
      item_type: struct
      name: HttpFlowData
      pos:
        line_end: 318
        line_start: 298
        source_file: /src/PcapPlusPlus/Examples/HttpAnalyzer/HttpStatsCollector.h
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - PRINT_STAT_LINE
  - printUsage
  - printAppVersion
  - listInterfaces
  - printStatsHeadline
  - httpPacketArrive
  - printMethods
  - hostnameComparer
  - printHostnames
  - printStatusCodes
  - printContentTypes
  - printStatsSummary
  - printCurrentRates
  - onApplicationInterrupted
  - analyzeHttpFromPcapFile
  - analyzeHttpFromLiveTraffic
  - main
  source_file: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_CALC_RATES_PERIOD_SEC
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
      type_or_value: '2'
    structs:
    - fields:
      - name: '* statsCollector'
        type: HttpStatsCollector
      - name: '* pcapWriter'
        type: pcpp::PcapFileWriterDevice
      item_type: struct
      name: HttpPacketArrivedData
      pos:
        line_end: 67
        line_start: 63
        source_file: /src/PcapPlusPlus/Examples/HttpAnalyzer/main.cpp
    typedefs: []
    union: []
- function_names:
  - clear
  - ~ClientHelloStats()
  - clear
  - ~ServerHelloStats()
  - clear
  - SSLStatsCollector::SSLStatsCollector
  - SSLStatsCollector::collectStats
  - SSLStatsCollector::calcRates
  - SSLStatsCollector::clear
  - '& getGeneralStats()'
  - '& getClientHelloStats()'
  - '& getServerHelloStats()'
  - SSLStatsCollector::clear
  - SSLStatsCollector::collectSSLTrafficStats
  - SSLStatsCollector::collectSSLStats
  - SSLStatsCollector::collecClientHelloStats
  - SSLStatsCollector::collecServerHelloStats
  - SSLStatsCollector::getCurTime
  source_file: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: currentRate
        type: double
      - name: totalRate
        type: double
      item_type: struct
      name: Rate
      pos:
        line_end: 20
        line_start: 14
        source_file: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    - fields:
      - name: numOfSSLFlows
        type: int
      - name: sslFlowRate
        type: Rate
      - name: numOfSSLPackets
        type: int
      - name: sslPacketRate
        type: Rate
      - name: averageNumOfPacketsPerFlow
        type: double
      - name: amountOfSSLTraffic
        type: int
      - name: averageAmountOfDataPerFlow
        type: double
      - name: sslTrafficRate
        type: Rate
      - name: sampleTime
        type: double
      - name: numOfHandshakeCompleteFlows
        type: int
      - name: numOfFlowsWithAlerts
        type: int
      - name: sslVersionCount
        type: std::unordered_map<uint16_t, int>
      - name: sslPortCount
        type: std::unordered_map<uint16_t, int>
      item_type: struct
      name: SSLGeneralStats
      pos:
        line_end: 73
        line_start: 25
        source_file: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    - fields:
      - name: numOfMessages
        type: int
      - name: messageRate
        type: Rate
      - name: serverNameCount
        type: std::unordered_map<std::string, int>
      item_type: struct
      name: ClientHelloStats
      pos:
        line_end: 97
        line_start: 78
        source_file: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    - fields:
      - name: numOfMessages
        type: int
      - name: messageRate
        type: Rate
      - name: cipherSuiteCount
        type: std::unordered_map<std::string, int>
      item_type: struct
      name: ServerHelloStats
      pos:
        line_end: 121
        line_start: 102
        source_file: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    - fields:
      - name: seenAppDataPacket
        type: bool
      - name: seenAlertPacket
        type: bool
      item_type: struct
      name: SSLFlowData
      pos:
        line_end: 264
        line_start: 252
        source_file: /src/PcapPlusPlus/Examples/SSLAnalyzer/SSLStatsCollector.h
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - PRINT_STAT_LINE
  - printUsage
  - printAppVersion
  - listInterfaces
  - printStatsHeadline
  - sslPacketArrive
  - stringCountComparer
  - uint16CountComparer
  - printServerNames
  - printVersions
  - printCipherSuites
  - printPorts
  - printStatsSummary
  - printCurrentRates
  - onApplicationInterrupted
  - analyzeSSLFromPcapFile
  - analyzeSSLFromLiveTraffic
  - main
  source_file: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_CALC_RATES_PERIOD_SEC
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
      type_or_value: '2'
    structs:
    - fields:
      - name: '* statsCollector'
        type: SSLStatsCollector
      - name: '* pcapWriter'
        type: pcpp::PcapFileWriterDevice
      item_type: struct
      name: SSLPacketArrivedData
      pos:
        line_end: 65
        line_start: 61
        source_file: /src/PcapPlusPlus/Examples/SSLAnalyzer/main.cpp
    typedefs: []
    union: []
- function_names:
  - TwoTupleSplitter::TwoTupleSplitter
  - TwoTupleSplitter::getFileNumber
  - FiveTupleSplitter::isTcpSyn
  - FiveTupleSplitter::FiveTupleSplitter
  - FiveTupleSplitter::getFileNumber
  - FiveTupleSplitter::updateStringStream
  - FiveTupleSplitter::getFileName
  source_file: /src/PcapPlusPlus/Examples/PcapSplitter/ConnectionSplitters.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PacketCountSplitter::PacketCountSplitter
  - PacketCountSplitter::getFileNumber
  - PacketCountSplitter::isSplitterParamLegal
  - FileSizeSplitter::FileSizeSplitter
  - FileSizeSplitter::getFileNumber
  - FileSizeSplitter::isSplitterParamLegal
  - BpfCriteriaSplitter::BpfCriteriaSplitter
  - BpfCriteriaSplitter::getFileNumber
  - BpfCriteriaSplitter::getFileName
  - BpfCriteriaSplitter::isSplitterParamLegal
  - RoundRobinSplitter::RoundRobinSplitter
  - RoundRobinSplitter::getFileNumber
  - RoundRobinSplitter::isSplitterParamLegal
  source_file: /src/PcapPlusPlus/Examples/PcapSplitter/SimpleSplitters.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - IPPortSplitter::IPPortSplitter
  - IPPortSplitter::getFileNumber
  - IPPortSplitter::getFileName
  - IPPortSplitter::getSrcIPValue
  - IPPortSplitter::getDstIPValue
  - IPPortSplitter::isSrcIPMulticast
  - IPPortSplitter::isDstIPMulticast
  - ClientIPSplitter::ClientIPSplitter
  - ClientIPSplitter::getValue
  - ClientIPSplitter::getValueString
  - ServerIPSplitter::ServerIPSplitter
  - ServerIPSplitter::getValue
  - ServerIPSplitter::getValueString
  - ServerPortSplitter::ServerPortSplitter
  - ServerPortSplitter::getValue
  - ServerPortSplitter::getValueString
  - ClientPortSplitter::ClientPortSplitter
  - ClientPortSplitter::getValue
  - ClientPortSplitter::getValueString
  source_file: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
  types:
    enum:
    - enumerators:
      - name: SYN
      - name: TCP_OTHER
      - name: SYN_ACK
      - name: UDP
      item_type: enum
      name: PacketType
      pos:
        line_end: 171
        line_start: 165
        source_file: /src/PcapPlusPlus/Examples/PcapSplitter/IPPortSplitters.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - printUsage
  - printAppVersion
  - getFileNameWithoutExtension
  - main
  source_file: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SPLIT_BY_FILE_SIZE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
      type_or_value: '"file-size"'
    - item_type: preproc_def
      name: SPLIT_BY_PACKET_COUNT
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
      type_or_value: '"packet-count"'
    - item_type: preproc_def
      name: SPLIT_BY_IP_CLIENT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
      type_or_value: '"client-ip"'
    - item_type: preproc_def
      name: SPLIT_BY_IP_SERVER
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
      type_or_value: '"server-ip"'
    - item_type: preproc_def
      name: SPLIT_BY_SERVER_PORT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
      type_or_value: '"server-port"'
    - item_type: preproc_def
      name: SPLIT_BY_CLIENT_PORT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
      type_or_value: '"client-port"'
    - item_type: preproc_def
      name: SPLIT_BY_2_TUPLE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
      type_or_value: '"ip-src-dst"'
    - item_type: preproc_def
      name: SPLIT_BY_5_TUPLE
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
      type_or_value: '"connection"'
    - item_type: preproc_def
      name: SPLIT_BY_BPF_FILTER
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
      type_or_value: '"bpf-filter"'
    - item_type: preproc_def
      name: SPLIT_BY_ROUND_ROBIN
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
      type_or_value: '"round-robin"'
    - item_type: preproc_def
      name: SEPARATOR
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: SEPARATOR
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PcapPlusPlus/Examples/PcapSplitter/main.cpp
      type_or_value: '''/'''
    structs: []
    typedefs: []
    union: []
- function_names:
  - Splitter::getFileName
  - ~Splitter()
  - SplitterWithMaxFiles::writingToFile
  - SplitterWithMaxFiles::getNextFileNumber
  - SplitterWithMaxFiles::SplitterWithMaxFiles
  - SplitterWithMaxFiles::isSplitterParamLegal
  - ValueBasedSplitter::ValueBasedSplitter
  - ValueBasedSplitter::getFileNumberForValue
  - getSrcIPString
  - getDstIPString
  - hyphenIP
  source_file: /src/PcapPlusPlus/Examples/PcapSplitter/Splitters.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - operator int() const
  - printAppVersion
  - printUsage
  - parseArgs
  - changeMtuNew
  - changeMtuOld
  - configNetworkIfNew
  - configNetworkIfOld
  - configMacAddress
  - configPromiscusity
  - setCallbacks
  - setKniIp
  - setupKniDevice
  - setupLinuxSocket
  - processArp
  - processUdp
  - processBurst
  - connectUDPSocket
  - fillbuf
  - drainbuf
  - pingPongProcess
  - operator int() const
  - printAppVersion
  - printUsage
  - parseArgs
  - changeMtuNew
  - changeMtuOld
  - configNetworkIfNew
  - configNetworkIfOld
  - configMacAddress
  - configPromiscusity
  - setCallbacks
  - setKniIp
  - setupKniDevice
  - setupLinuxSocket
  - processArp
  - processUdp
  - processBurst
  - connectUDPSocket
  - fillbuf
  - drainbuf
  - pingPongProcess
  - signal_handler
  - main
  source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IO_BUFF_SIZE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
      type_or_value: (1 << 14)
    - item_type: preproc_def
      name: WANT_POLLIN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
      type_or_value: (-2)
    - item_type: preproc_def
      name: WANT_POLLOUT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
      type_or_value: (-3)
    - item_type: preproc_def
      name: DEFAULT_KNI_NAME
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
      type_or_value: '"pcppkni0"'
    - item_type: preproc_def
      name: DEFAULT_PORT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
      type_or_value: '62604'
    structs:
    - fields:
      - name: kniIp
        type: std::string
      - name: outIp
        type: std::string
      - name: kniName
        type: std::string
      - name: kniPort
        type: uint16_t
      item_type: struct
      name: KniPongArgs
      pos:
        line_end: 55
        line_start: 49
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    - fields:
      - name: m_Socket
        type: linuxFd
      item_type: struct
      name: LinuxSocket
      pos:
        line_end: 66
        line_start: 59
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    - fields:
      - name: totalPackets
        type: unsigned long
      - name: udpPacketsIn
        type: unsigned long
      - name: udpPacketsOutFail
        type: unsigned long
      - name: arpPacketsIn
        type: unsigned long
      - name: arpPacketsOutFail
        type: unsigned long
      item_type: struct
      name: PacketStats
      pos:
        line_end: 75
        line_start: 68
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    - fields:
      - name: cbNew
        type: pcpp::KniDevice::KniIoctlCallbacks
      - name: cbOld
        type: pcpp::KniDevice::KniOldIoctlCallbacks
      item_type: struct
      name: KniDummyCallbacks
      pos:
        line_end: 246
        line_start: 207
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    - fields:
      - name: kniIp
        type: std::string
      - name: outIp
        type: std::string
      - name: kniName
        type: std::string
      - name: kniPort
        type: uint16_t
      item_type: struct
      name: KniPongArgs
      pos:
        line_end: 55
        line_start: 49
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    - fields:
      - name: m_Socket
        type: linuxFd
      item_type: struct
      name: LinuxSocket
      pos:
        line_end: 66
        line_start: 59
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    - fields:
      - name: totalPackets
        type: unsigned long
      - name: udpPacketsIn
        type: unsigned long
      - name: udpPacketsOutFail
        type: unsigned long
      - name: arpPacketsIn
        type: unsigned long
      - name: arpPacketsOutFail
        type: unsigned long
      item_type: struct
      name: PacketStats
      pos:
        line_end: 75
        line_start: 68
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    - fields:
      - name: cbNew
        type: pcpp::KniDevice::KniIoctlCallbacks
      - name: cbOld
        type: pcpp::KniDevice::KniOldIoctlCallbacks
      item_type: struct
      name: KniDummyCallbacks
      pos:
        line_end: 246
        line_start: 207
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
    typedefs:
    - item_type: typedef
      name: linuxFd
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
      type: int
    - item_type: typedef
      name: linuxFd
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/PcapPlusPlus/Examples/KniPong/main.cpp
      type: int
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - printUsage
  - printAppVersion
  - listInterfaces
  - onApplicationInterrupted
  - main
  source_file: /src/PcapPlusPlus/Examples/DNSResolver/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - AppWorkerThread::AppWorkerThread
  - ~AppWorkerThread()
  - AppWorkerThread::run
  - AppWorkerThread::stop
  - AppWorkerThread::getCoreId
  source_file: /src/PcapPlusPlus/Examples/DpdkBridge/AppWorkerThread.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_RECEIVE_BURST
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PcapPlusPlus/Examples/DpdkBridge/AppWorkerThread.h
      type_or_value: '64'
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - EXIT_WITH_ERROR_AND_PRINT_USAGE
  - AppWorkerConfig
  source_file: /src/PcapPlusPlus/Examples/DpdkBridge/Common.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: CoreId
        type: uint32_t
      - name: '* RxDevice'
        type: pcpp::DpdkDevice
      - name: RxQueues
        type: uint16_t
      - name: '* TxDevice'
        type: pcpp::DpdkDevice
      item_type: struct
      name: AppWorkerConfig
      pos:
        line_end: 47
        line_start: 38
        source_file: /src/PcapPlusPlus/Examples/DpdkBridge/Common.h
    typedefs: []
    union: []
- function_names:
  - printUsage
  - printAppVersion
  - listDpdkPorts
  - DpdkBridgeArgs
  - onApplicationInterrupted
  - printStats
  - main
  source_file: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COLLECT_STATS_EVERY_SEC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp
      type_or_value: '1'
    - item_type: preproc_def
      name: DEFAULT_MBUF_POOL_SIZE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp
      type_or_value: '4095'
    - item_type: preproc_def
      name: DEFAULT_QUEUE_QUANTITY
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp
      type_or_value: '1'
    structs:
    - fields:
      - name: shouldStop
        type: bool
      - name: '* workerThreadsVector'
        type: std::vector<pcpp::DpdkWorkerThread*>
      item_type: struct
      name: DpdkBridgeArgs
      pos:
        line_end: 135
        line_start: 128
        source_file: /src/PcapPlusPlus/Examples/DpdkBridge/main.cpp
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - printUsage
  - printAppVersion
  - getMacAddress
  - doArpSpoofing
  - main
  source_file: /src/PcapPlusPlus/Examples/ArpSpoofing/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - printUsage
  - printAppVersion
  - linkLayerToString
  - printFileSummary
  - printPcapPackets
  - printPcapNgPackets
  - main
  source_file: /src/PcapPlusPlus/Examples/PcapPrinter/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - EXIT_WITH_ERROR_AND_PRINT_USAGE
  - printUsage
  - printAppVersion
  - openCertFile
  - showCertInfo
  - convertCertFile
  - parseCertAsJson
  - checkCertExpiration
  - extractFromPcapFile
  - main
  source_file: /src/PcapPlusPlus/Examples/X509Toolkit/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getOsPathSeparator
  - PcapExtract::PcapExtract
  - PcapExtract::run
  - PcapExtract::SSLConnectionData
  - PcapExtract::onMessageReady
  - PcapExtract::onConnectionEnd
  - PcapExtract::handleSSLMessage
  - PcapExtract::handleSSLCertificateMessage
  - PcapExtract::handleX509Certificate
  - PcapExtract::handlePEM
  - PcapExtract::handleDER
  source_file: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: curSide
        type: int8_t
      - name: data
        type: std::vector<uint8_t>
      - name: canIgnoreFlow
        type: bool
      item_type: struct
      name: SSLConnectionData
      pos:
        line_end: 95
        line_start: 87
        source_file: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h
    - fields:
      - name: packets
        type: uint64_t
      - name: sslMessages
        type: uint64_t
      - name: sslHandshakeMessages
        type: uint64_t
      - name: sslFlows
        type: uint64_t
      - name: parsedCertificates
        type: uint64_t
      - name: failedIncompleteCertificates
        type: uint64_t
      - name: failedParsingCertificates
        type: uint64_t
      item_type: struct
      name: SSLPcapStats
      pos:
        line_end: 109
        line_start: 100
        source_file: /src/PcapPlusPlus/Examples/X509Toolkit/PcapExtract.h
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - EXIT_WITH_ERROR_AND_RUN_COMMAND
  source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ICMP_FT_WAITING_FT_START
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.h
      type_or_value: 0x345a56c8e7f3cd67ULL
    - item_type: preproc_def
      name: ICMP_FT_START
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.h
      type_or_value: 0xd45ae6c2e7a3cd67ULL
    - item_type: preproc_def
      name: ICMP_FT_WAITING_DATA
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.h
      type_or_value: 0x6d5f86c817fb5d7eULL
    - item_type: preproc_def
      name: ICMP_FT_DATA
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.h
      type_or_value: 0x3d5a76c827f35d77ULL
    - item_type: preproc_def
      name: ICMP_FT_ACK
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.h
      type_or_value: 0x395156c857fbcc6aULL
    - item_type: preproc_def
      name: ICMP_FT_END
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.h
      type_or_value: 0x144156cbeffa2687ULL
    - item_type: preproc_def
      name: ICMP_FT_ABORT
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.h
      type_or_value: 0x146158cbafff2b8aULL
    - item_type: preproc_def
      name: ONE_MBYTE
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.h
      type_or_value: '1048576'
    structs: []
    typedefs: []
    union: []
- function_names:
  - usleep
  - waitForFileTransferStart
  - getFileContent
  - receiveFile
  - waitForFileTransferStartAck
  - sendFile
  - main
  source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SEND_TIMEOUT_BEFORE_FT_START
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp
      type_or_value: '3'
    - item_type: preproc_def
      name: SLEEP_BETWEEN_ABORT_MESSAGES
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp
      type_or_value: 100000  // 100 msec
    - item_type: preproc_def
      name: NUM_OF_ABORT_MESSAGES_TO_SEND
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp
      type_or_value: '5'
    structs:
    - fields:
      - name: icmpMsgId
        type: uint16_t
      - name: pitcherIPAddr
        type: pcpp::IPv4Address
      - name: catcherIPAddr
        type: pcpp::IPv4Address
      item_type: struct
      name: IcmpFileTransferStartSend
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp
    - fields:
      - name: pitcherIPAddr
        type: pcpp::IPv4Address
      - name: catcherIPAddr
        type: pcpp::IPv4Address
      - name: gotFileTransferStartMsg
        type: bool
      - name: fileName
        type: std::string
      item_type: struct
      name: IcmpFileTransferStartRecv
      pos:
        line_end: 71
        line_start: 65
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp
    - fields:
      - name: pitcherIPAddr
        type: pcpp::IPv4Address
      - name: catcherIPAddr
        type: pcpp::IPv4Address
      - name: '* file'
        type: std::ofstream
      - name: expectedIcmpId
        type: uint16_t
      - name: fileSize
        type: uint32_t
      - name: MBReceived
        type: uint32_t
      - name: fileTransferCompleted
        type: bool
      - name: fileTransferError
        type: bool
      item_type: struct
      name: IcmpFileContentData
      pos:
        line_end: 86
        line_start: 76
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-pitcher.cpp
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR_PRINT_USAGE
  - printUsage
  - printAppVersion
  - listInterfaces
  - readCommandLineArguments
  - sendIcmpMessage
  - sendIcmpRequest
  - sendIcmpResponse
  - getFileNameFromPath
  source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SEPARATOR
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: SEPARATOR
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp
      type_or_value: '''/'''
    - item_type: preproc_def
      name: DEFAULT_BLOCK_SIZE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/Common.cpp
      type_or_value: '1400'
    structs: []
    typedefs: []
    union: []
- function_names:
  - waitForFileTransferStart
  - getFileContent
  - receiveFile
  - startFileTransfer
  - sendContent
  - sendFile
  - main
  source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pitcherIPAddr
        type: pcpp::IPv4Address
      - name: catcherIPAddr
        type: pcpp::IPv4Address
      - name: fileName
        type: std::string
      - name: icmpId
        type: uint16_t
      item_type: struct
      name: IcmpFileTransferStart
      pos:
        line_end: 28
        line_start: 22
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp
    - fields:
      - name: pitcherIPAddr
        type: pcpp::IPv4Address
      - name: catcherIPAddr
        type: pcpp::IPv4Address
      - name: '* file'
        type: std::ofstream
      - name: fileName
        type: std::string
      - name: expectedIcmpId
        type: uint16_t
      - name: fileSize
        type: uint32_t
      - name: MBReceived
        type: uint32_t
      item_type: struct
      name: IcmpFileContentDataRecv
      pos:
        line_end: 42
        line_start: 33
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp
    - fields:
      - name: pitcherIPAddr
        type: pcpp::IPv4Address
      - name: catcherIPAddr
        type: pcpp::IPv4Address
      - name: '* file'
        type: std::ifstream
      - name: readingFromFile
        type: bool
      - name: MBSent
        type: uint32_t
      - name: blockSize
        type: size_t
      - name: '* memblock'
        type: char
      item_type: struct
      name: IcmpFileContentDataSend
      pos:
        line_end: 56
        line_start: 47
        source_file: /src/PcapPlusPlus/Examples/IcmpFileTransfer/IcmpFileTransfer-catcher.cpp
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - printUsage
  - printAppVersion
  - getExtension
  - searchPcap
  - searchDirectories
  - main
  source_file: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIR_SEPARATOR
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp
      type_or_value: '"\\"'
    - item_type: preproc_def
      name: DIR_SEPARATOR
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/main.cpp
      type_or_value: '"/"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - IFTODT
  - DTTOIF
  - S_ISFIFO
  - S_ISDIR
  - S_ISREG
  - S_ISLNK
  - S_ISSOCK
  - S_ISCHR
  - S_ISBLK
  - _D_EXACT_NAMLEN
  - _D_ALLOC_NAMLEN
  - _wopendir
  - _wreaddir
  - _wclosedir
  - _wrewinddir
  - dirent_first
  - dirent_next
  - opendir
  - readdir
  - closedir
  - rewinddir
  - dirent_mbstowcs_s
  - dirent_wcstombs_s
  - dirent_set_errno
  source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FILE_ATTRIBUTE_DEVICE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: S_IFMT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _S_IFMT
    - item_type: preproc_def
      name: S_IFDIR
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _S_IFDIR
    - item_type: preproc_def
      name: S_IFCHR
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _S_IFCHR
    - item_type: preproc_def
      name: S_IFFIFO
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _S_IFFIFO
    - item_type: preproc_def
      name: S_IFREG
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _S_IFREG
    - item_type: preproc_def
      name: S_IREAD
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _S_IREAD
    - item_type: preproc_def
      name: S_IWRITE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _S_IWRITE
    - item_type: preproc_def
      name: S_IEXEC
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _S_IEXEC
    - item_type: preproc_def
      name: S_IFIFO
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _S_IFIFO
    - item_type: preproc_def
      name: S_IFBLK
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IFLNK
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IFSOCK
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IRUSR
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: S_IREAD
    - item_type: preproc_def
      name: S_IWUSR
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: S_IWRITE
    - item_type: preproc_def
      name: S_IXUSR
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IRGRP
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IWGRP
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IXGRP
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IROTH
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IWOTH
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: S_IXOTH
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: MAX_PATH
    - item_type: preproc_def
      name: FILENAME_MAX
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: MAX_PATH
    - item_type: preproc_def
      name: NAME_MAX
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: FILENAME_MAX
    - item_type: preproc_def
      name: DT_UNKNOWN
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DT_REG
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: S_IFREG
    - item_type: preproc_def
      name: DT_DIR
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: S_IFDIR
    - item_type: preproc_def
      name: DT_FIFO
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: S_IFIFO
    - item_type: preproc_def
      name: DT_SOCK
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: S_IFSOCK
    - item_type: preproc_def
      name: DT_CHR
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: S_IFCHR
    - item_type: preproc_def
      name: DT_BLK
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: S_IFBLK
    - item_type: preproc_def
      name: DT_LNK
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: S_IFLNK
    - item_type: preproc_def
      name: wdirent
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _wdirent
    - item_type: preproc_def
      name: WDIR
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _WDIR
    - item_type: preproc_def
      name: wopendir
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _wopendir
    - item_type: preproc_def
      name: wreaddir
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _wreaddir
    - item_type: preproc_def
      name: wclosedir
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _wclosedir
    - item_type: preproc_def
      name: wrewinddir
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type_or_value: _wrewinddir
    structs:
    - fields:
      - name: d_ino
        type: long
      - name: d_reclen
        type: unsigned short
      - name: d_namlen
        type: size_t
      - name: d_type
        type: int
      - name: d_name[PATH_MAX]
        type: wchar_t
      item_type: struct
      name: _wdirent
      pos:
        line_end: 227
        line_start: 211
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    - fields:
      - name: ent
        type: struct _wdirent
      - name: data
        type: WIN32_FIND_DATAW
      - name: cached
        type: int
      - name: handle
        type: HANDLE
      - name: '* patt'
        type: wchar_t
      item_type: struct
      name: _WDIR
      pos:
        line_end: 246
        line_start: 230
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    - fields:
      - name: d_ino
        type: long
      - name: d_reclen
        type: unsigned short
      - name: d_namlen
        type: size_t
      - name: d_type
        type: int
      - name: d_name[PATH_MAX]
        type: char
      item_type: struct
      name: dirent
      pos:
        line_end: 279
        line_start: 263
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    - fields:
      - name: ent
        type: struct dirent
      - name: '* wdirp'
        type: struct _WDIR
      item_type: struct
      name: DIR
      pos:
        line_end: 286
        line_start: 282
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
    typedefs:
    - item_type: typedef
      name: _wdirent
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type: _wdirent
    - item_type: typedef
      name: _WDIR
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type: _WDIR
    - item_type: typedef
      name: dirent
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type: dirent
    - item_type: typedef
      name: DIR
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/PcapPlusPlus/Examples/PcapSearch/dirent-for-Visual-Studio/include/dirent.h
      type: DIR
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - isNotAlphanumeric
  - stringCountComparer
  - printUsage
  - printAppVersion
  - listInterfaces
  - onApplicationInterrupted
  - getIPs
  - getTcpPorts
  - writeToOutputFile
  - writeHeaderToOutputFile
  - TLSFingerprintingStats
  - printCommonTLSFingerprints
  - printStats
  - handlePacket
  - doTlsFingerprintingOnPcapFile
  - onPacketArrives
  - doTlsFingerprintingOnLiveTraffic
  - main
  source_file: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLS_FP_CH_ONLY
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
      type_or_value: '"ch"'
    - item_type: preproc_def
      name: TLS_FP_SH_ONLY
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
      type_or_value: '"sh"'
    - item_type: preproc_def
      name: TLS_FP_CH_AND_SH
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
      type_or_value: '"ch_sh"'
    structs:
    - fields:
      - name: numOfPacketsTotal
        type: uint64_t
      - name: numOfCHPackets
        type: uint64_t
      - name: numOfSHPackets
        type: uint64_t
      - name: chFingerprints
        type: std::unordered_map<std::string, uint64_t>
      - name: shFingerprints
        type: std::unordered_map<std::string, uint64_t>
      item_type: struct
      name: TLSFingerprintingStats
      pos:
        line_end: 231
        line_start: 222
        source_file: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    - fields:
      - name: chFP
        type: bool
      - name: shFP
        type: bool
      - name: '* outputFile'
        type: std::ofstream
      - name: separator
        type: std::string
      - name: '* stats'
        type: TLSFingerprintingStats
      item_type: struct
      name: HandlePacketData
      pos:
        line_end: 240
        line_start: 233
        source_file: /src/PcapPlusPlus/Examples/TLSFingerprinting/main.cpp
    typedefs: []
    union: []
- function_names:
  - AppWorkerThread::AppWorkerThread
  - ~AppWorkerThread()
  - '& getStats()'
  - AppWorkerThread::run
  - AppWorkerThread::stop
  - AppWorkerThread::getCoreId
  source_file: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_RECEIVE_BURST
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/AppWorkerThread.h
      type_or_value: '64'
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - EXIT_WITH_ERROR_AND_PRINT_USAGE
  - AppWorkerConfig
  - PacketStats
  - collectStats
  - collectStats
  - clear
  source_file: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: coreId
        type: uint32_t
      - name: inDataCfg
        type: InputDataConfig
      - name: '* sendPacketsTo'
        type: pcpp::DpdkDevice
      - name: writeMatchedPacketsToFile
        type: bool
      - name: pathToWritePackets
        type: std::string
      item_type: struct
      name: AppWorkerConfig
      pos:
        line_end: 51
        line_start: 40
        source_file: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h
    - fields:
      - name: workerId
        type: uint8_t
      - name: packetCount
        type: int
      - name: ethCount
        type: int
      - name: arpCount
        type: int
      - name: ipv4Count
        type: int
      - name: ipv6Count
        type: int
      - name: tcpCount
        type: int
      - name: udpCount
        type: int
      - name: httpCount
        type: int
      - name: dnsCount
        type: int
      - name: tlsCount
        type: int
      - name: matchedTcpFlows
        type: int
      - name: matchedUdpFlows
        type: int
      - name: matchedPackets
        type: int
      item_type: struct
      name: PacketStats
      pos:
        line_end: 141
        line_start: 56
        source_file: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/Common.h
    typedefs: []
    union: []
- function_names:
  - PacketMatchingEngine::PacketMatchingEngine
  - PacketMatchingEngine::isMatched
  source_file: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/PacketMatchingEngine.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - printUsage
  - printAppVersion
  - listDpdkPorts
  - prepareCoreConfiguration
  - FilterTrafficArgs
  - printStats
  - onApplicationInterrupted
  - main
  source_file: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_MBUF_POOL_SIZE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp
      type_or_value: '4095'
    - item_type: preproc_def
      name: MAX_QUEUES
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp
      type_or_value: '64'
    structs:
    - fields:
      - name: shouldStop
        type: bool
      - name: '* workerThreadsVector'
        type: std::vector<pcpp::DpdkWorkerThread*>
      item_type: struct
      name: FilterTrafficArgs
      pos:
        line_end: 238
        line_start: 231
        source_file: /src/PcapPlusPlus/Examples/DpdkExample-FilterTraffic/main.cpp
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - EXIT_WITH_ERROR_AND_PRINT_USAGE
  - PacketStats
  - collectStats
  - collectStats
  - clear
  - getStatValuesAsString
  - getStatsColumns
  source_file: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ThreadId
        type: uint8_t
      - name: PacketCount
        type: int
      - name: EthCount
        type: int
      - name: ArpCount
        type: int
      - name: Ip4Count
        type: int
      - name: Ip6Count
        type: int
      - name: TcpCount
        type: int
      - name: UdpCount
        type: int
      - name: HttpCount
        type: int
      - name: MatchedTcpFlows
        type: int
      - name: MatchedUdpFlows
        type: int
      - name: MatchedPackets
        type: int
      item_type: struct
      name: PacketStats
      pos:
        line_end: 158
        line_start: 28
        source_file: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/Common.h
    typedefs: []
    union: []
- function_names:
  - PacketMatchingEngine::PacketMatchingEngine
  - PacketMatchingEngine::isMatched
  source_file: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/PacketMatchingEngine.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CaptureThreadArgs
  - printUsage
  - printAppVersion
  - listPfRingDevices
  - packetArrived
  - onApplicationInterrupted
  - main
  source_file: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* packetStatArr'
        type: PacketStats
      - name: '* matchingEngine'
        type: PacketMatchingEngine
      - name: '* flowTables'
        type: std::unordered_map<uint32_t, bool>
      - name: '* sendPacketsTo'
        type: pcpp::PfRingDevice
      - name: '** pcapWriters'
        type: pcpp::PcapFileWriterDevice
      item_type: struct
      name: CaptureThreadArgs
      pos:
        line_end: 79
        line_start: 67
        source_file: /src/PcapPlusPlus/Examples/PfRingExample-FilterTraffic/main.cpp
    typedefs: []
    union: []
- function_names:
  - PacketMatchingEngine::PacketMatchingEngine
  - PacketMatchingEngine::isMatched
  source_file: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/PacketMatchingEngine.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - EXIT_WITH_ERROR_AND_PRINT_USAGE
  - PacketStats
  - collectStats
  - PacketCaptureArgs
  - onPacketsArrive
  - printStats
  - collectStats
  - printUsage
  - printAppVersion
  - listInterfaces
  - main
  source_file: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: packetCount
        type: int
      - name: ethCount
        type: int
      - name: arpCount
        type: int
      - name: ip4Count
        type: int
      - name: ip6Count
        type: int
      - name: tcpCount
        type: int
      - name: udpCount
        type: int
      - name: httpCount
        type: int
      - name: dnsCount
        type: int
      - name: sslCount
        type: int
      - name: totalTcpFlows
        type: int
      - name: totalUdpFlows
        type: int
      - name: matchedTcpFlows
        type: int
      - name: matchedUdpFlows
        type: int
      - name: matchedPacketCount
        type: int
      item_type: struct
      name: PacketStats
      pos:
        line_end: 92
        line_start: 42
        source_file: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
    - fields:
      - name: '* packetStats'
        type: PacketStats
      - name: '* matchingEngine'
        type: PacketMatchingEngine
      - name: flowTable
        type: std::unordered_map<uint32_t, bool>
      - name: '* sendPacketsTo'
        type: pcpp::XdpDevice
      - name: '* pcapWriter'
        type: pcpp::PcapFileWriterDevice
      - name: stopCapture
        type: bool
      item_type: struct
      name: PacketCaptureArgs
      pos:
        line_end: 109
        line_start: 97
        source_file: /src/PcapPlusPlus/Examples/XdpExample-FilterTraffic/main.cpp
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - DnsSpoofStats
  - DnsSpoofingArgs
  - printUsage
  - printAppVersion
  - listInterfaces
  - handleDnsRequest
  - stringCountComparer
  - onApplicationInterrupted
  - doDnsSpoofing
  - main
  source_file: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: numOfSpoofedDnsRequests
        type: int
      - name: spoofedHosts
        type: std::unordered_map<std::string, int>
      item_type: struct
      name: DnsSpoofStats
      pos:
        line_end: 64
        line_start: 57
        source_file: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp
    - fields:
      - name: dnsServer
        type: pcpp::IPAddress
      - name: dnsHostsToSpoof
        type: std::vector<std::string>
      - name: stats
        type: DnsSpoofStats
      - name: shouldStop
        type: bool
      item_type: struct
      name: DnsSpoofingArgs
      pos:
        line_end: 78
        line_start: 69
        source_file: /src/PcapPlusPlus/Examples/DnsSpoofing/main.cpp
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - printUsage
  - printAppVersion
  - listInterfaces
  - onApplicationInterrupted
  - main
  source_file: /src/PcapPlusPlus/Examples/Arping/main.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_MAX_TRIES
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PcapPlusPlus/Examples/Arping/main.cpp
      type_or_value: '1000000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - clear
  - DefragStats
  - printUsage
  - printAppVersion
  - processPackets
  - printStats
  - main
  source_file: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: totalPacketsRead
        type: int
      - name: ipv4Packets
        type: int
      - name: ipv6Packets
        type: int
      - name: ipv4PacketsMatchIpIDs
        type: int
      - name: ipv6PacketsMatchFragIDs
        type: int
      - name: ipPacketsMatchBpfFilter
        type: int
      - name: ipv4FragmentsMatched
        type: int
      - name: ipv6FragmentsMatched
        type: int
      - name: ipv4PacketsDefragmented
        type: int
      - name: ipv6PacketsDefragmented
        type: int
      - name: totalPacketsWritten
        type: int
      item_type: struct
      name: DefragStats
      pos:
        line_end: 55
        line_start: 33
        source_file: /src/PcapPlusPlus/Examples/IPDefragUtil/main.cpp
    typedefs: []
    union: []
- function_names:
  - BM_FileRead
  - startsWith
  - endsWith
  - getFileName
  - BM_FileWrite
  - BM_PacketParsing
  - BM_PacketPureParsing
  - BM_PacketCrafting
  - printHelp
  - main
  source_file: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark-google.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_dns
  - handle_packet
  - main
  source_file: /src/PcapPlusPlus/Examples/PcapPlusPlus-benchmark/benchmark.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - clear
  - PacketStats
  - consumePacket
  - printToConsole
  - onPacketArrives
  - onPacketArrivesBlockingMode
  - main
  source_file: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ethPacketCount
        type: int
      - name: ipv4PacketCount
        type: int
      - name: ipv6PacketCount
        type: int
      - name: tcpPacketCount
        type: int
      - name: udpPacketCount
        type: int
      - name: dnsPacketCount
        type: int
      - name: httpPacketCount
        type: int
      - name: sslPacketCount
        type: int
      item_type: struct
      name: PacketStats
      pos:
        line_end: 68
        line_start: 8
        source_file: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-LiveTraffic/main.cpp
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketCraftAndEdit/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - getProtocolTypeAsString
  - printTcpFlags
  - printTcpOptionType
  - printHttpMethod
  - main
  source_file: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PacketParsing/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-HelloWorld/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - L2FwdWorkerThread::L2FwdWorkerThread
  - L2FwdWorkerThread::run
  - L2FwdWorkerThread::stop
  - L2FwdWorkerThread::getCoreId
  source_file: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/WorkerThread.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - onApplicationInterrupted
  - printStats
  - main
  source_file: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MBUF_POOL_SIZE
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp
      type_or_value: 16 * 1024 - 1
    - item_type: preproc_def
      name: DEVICE_ID_1
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp
      type_or_value: '0'
    - item_type: preproc_def
      name: DEVICE_ID_2
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp
      type_or_value: '1'
    - item_type: preproc_def
      name: COLLECT_STATS_EVERY_SEC
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/main.cpp
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~L2FwdWorkerThread()
  source_file: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-DpdkL2Fwd/WorkerThread.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PcapPlusPlus/Examples/Tutorials/Tutorial-PcapFiles/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXIT_WITH_ERROR
  - clear
  - FragStats
  - printUsage
  - printAppVersion
  - setIPv4FragmentParams
  - setIPv6FragmentParams
  - generateRandomNumber
  - splitIPPacketToFragmentsBySize
  - processPackets
  - printStats
  - main
  source_file: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: totalPacketsRead
        type: int
      - name: ipv4Packets
        type: int
      - name: ipv6Packets
        type: int
      - name: ipv4PacketsMatchIpIDs
        type: int
      - name: ipPacketsMatchBpfFilter
        type: int
      - name: ipPacketsUnderSize
        type: int
      - name: ipv4PacketsFragmented
        type: int
      - name: ipv6PacketsFragmented
        type: int
      - name: totalPacketsWritten
        type: int
      item_type: struct
      name: FragStats
      pos:
        line_end: 56
        line_start: 36
        source_file: /src/PcapPlusPlus/Examples/IPFragUtil/main.cpp
    typedefs: []
    union: []
- function_names:
  - pcpp::MacAddress::toString
  - pcpp::MacAddress::MacAddress
  - pcpp::MacAddress::MacAddress
  - pcpp::MacAddress::copyTo
  - pcpp::MacAddress::copyToNewBuffer
  - pcpp::MacAddress::toString
  - pcpp::MacAddress::MacAddress
  - pcpp::MacAddress::MacAddress
  - pcpp::MacAddress::copyTo
  - pcpp::MacAddress::copyToNewBuffer
  source_file: /src/PcapPlusPlus/Common++/src/MacAddress.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::byteArrayToHexString
  - pcpp::char2int
  - pcpp::hexStringToByteArray
  - pcpp::cross_platform_memmem
  - pcpp::Base64::encode
  - pcpp::Base64::encode
  - pcpp::Base64::encodeHexString
  - pcpp::Base64::encode
  - pcpp::Base64::decodeToByteVector
  - pcpp::Base64::decodeToHexString
  - pcpp::Base64::decodeToString
  - pcpp::Base64::decodeToByteArray
  - pcpp::Base64::getDecodedSize
  - pcpp::byteArrayToHexString
  - pcpp::char2int
  - pcpp::hexStringToByteArray
  - pcpp::cross_platform_memmem
  - pcpp::Base64::encode
  - pcpp::Base64::encode
  - pcpp::Base64::encodeHexString
  - pcpp::Base64::encode
  - pcpp::Base64::decodeToByteVector
  - pcpp::Base64::decodeToHexString
  - pcpp::Base64::decodeToString
  - pcpp::Base64::decodeToByteArray
  - pcpp::Base64::getDecodedSize
  source_file: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Common++/src/GeneralUtils.cpp
      type_or_value: CommonLogModuleGenericUtils
    structs: []
    typedefs: []
    union: []
- function_names:
  - gettimeofday
  - operator()(FILE* ptr) const noexcept
  - operator()(FILE* ptr) const noexcept
  - pcpp::getNumOfCores
  - pcpp::getCoreMaskForAllMachineCores
  - pcpp::createCoreMaskFromCoreVector
  - pcpp::createCoreMaskFromCoreIds
  - pcpp::createCoreVectorFromCoreMask
  - pcpp::executeShellCommand
  - pcpp::directoryExists
  - pcpp::clockGetTime
  - pcpp::mkUtcTime
  - pcpp::multiPlatformSleep
  - pcpp::multiPlatformMSleep
  - pcpp::hostToNet16
  - pcpp::netToHost16
  - pcpp::hostToNet32
  - pcpp::netToHost32
  - pcpp::ApplicationEventHandler::handlerRoutine
  - pcpp::ApplicationEventHandler::handlerRoutine
  - pcpp::ApplicationEventHandler::ApplicationEventHandler
  - pcpp::ApplicationEventHandler::onApplicationInterrupted
  - pcpp::getNumOfCores
  - pcpp::getCoreMaskForAllMachineCores
  - pcpp::createCoreMaskFromCoreVector
  - pcpp::createCoreMaskFromCoreIds
  - pcpp::createCoreVectorFromCoreMask
  - pcpp::executeShellCommand
  - pcpp::directoryExists
  - pcpp::clockGetTime
  - pcpp::mkUtcTime
  - pcpp::multiPlatformSleep
  - pcpp::multiPlatformMSleep
  - pcpp::hostToNet16
  - pcpp::netToHost16
  - pcpp::hostToNet32
  - pcpp::netToHost32
  - pcpp::ApplicationEventHandler::handlerRoutine
  - pcpp::ApplicationEventHandler::handlerRoutine
  - pcpp::ApplicationEventHandler::ApplicationEventHandler
  - pcpp::ApplicationEventHandler::onApplicationInterrupted
  source_file: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POPEN
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
      type_or_value: _popen
    - item_type: preproc_def
      name: PCLOSE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
      type_or_value: _pclose
    - item_type: preproc_def
      name: POPEN
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
      type_or_value: popen
    - item_type: preproc_def
      name: PCLOSE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
      type_or_value: pclose
    structs:
    - fields: []
      item_type: struct
      name: PcloseDeleter
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    - fields: []
      item_type: struct
      name: PcloseDeleter
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/PcapPlusPlus/Common++/src/SystemUtils.cpp
    typedefs: []
    union: []
- function_names:
  - pcpp::getGitCommit
  - pcpp::getGitBranch
  - pcpp::getGitInfo
  - pcpp::getGitCommit
  - pcpp::getGitBranch
  - pcpp::getGitInfo
  source_file: /src/PcapPlusPlus/Common++/src/PcapPlusPlusVersion.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::internal::sockaddr2in_addr
  - pcpp::internal::try_sockaddr2in_addr
  - pcpp::internal::sockaddr2in6_addr
  - pcpp::internal::try_sockaddr2in6_addr
  - pcpp::internal::sockaddr2string
  - pcpp::internal::in_addr2int
  - pcpp::internal::sockaddr2in_addr
  - pcpp::internal::try_sockaddr2in_addr
  - pcpp::internal::sockaddr2in6_addr
  - pcpp::internal::try_sockaddr2in6_addr
  - pcpp::internal::sockaddr2string
  - pcpp::internal::in_addr2int
  - pcpp::internal::sockaddr2in_addr
  - pcpp::internal::try_sockaddr2in_addr
  - pcpp::internal::sockaddr2in6_addr
  - pcpp::internal::try_sockaddr2in6_addr
  - pcpp::internal::sockaddr2string
  - pcpp::internal::in_addr2int
  - pcpp::internal::sockaddr2in_addr
  - pcpp::internal::try_sockaddr2in_addr
  - pcpp::internal::sockaddr2in6_addr
  - pcpp::internal::try_sockaddr2in6_addr
  - pcpp::internal::sockaddr2string
  - pcpp::internal::in_addr2int
  - inet_ntop4
  - inet_ntop6
  - inet_pton4
  - inet_pton6
  - inet_ntop
  - inet_pton
  source_file: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
      type_or_value: CommonLogModuleIpUtils
    - item_type: preproc_def
      name: NS_INADDRSZ
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
      type_or_value: '4'
    - item_type: preproc_def
      name: NS_IN6ADDRSZ
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
      type_or_value: '16'
    - item_type: preproc_def
      name: NS_INT16SZ
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
      type_or_value: '2'
    structs:
    - fields:
      - name: base
        type: int
      item_type: struct
      name: best
      pos:
        line_end: 180
        line_start: 177
        source_file: /src/PcapPlusPlus/Common++/src/IpUtils.cpp
    typedefs: []
    union: []
- function_names:
  - pcpp::printToCerr
  - pcpp::printToCerr
  - pcpp::checkError
  - pcpp::checkError
  - pcpp::getErrorString
  - pcpp::Logger::Logger
  - pcpp::Logger::logLevelAsString
  - pcpp::Logger::resetLogPrinter
  - pcpp::Logger::createLogContext
  - pcpp::Logger::createLogContext
  - pcpp::Logger::emit
  - pcpp::Logger::emit
  - pcpp::printToCerr
  - pcpp::printToCerr
  - pcpp::checkError
  - pcpp::checkError
  - pcpp::getErrorString
  - pcpp::Logger::Logger
  - pcpp::Logger::logLevelAsString
  - pcpp::Logger::resetLogPrinter
  - pcpp::Logger::createLogContext
  - pcpp::Logger::createLogContext
  - pcpp::Logger::emit
  - pcpp::Logger::emit
  source_file: /src/PcapPlusPlus/Common++/src/Logger.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::IPv4Address::toString
  - pcpp::IPv4Address::isMulticast
  - pcpp::IPv4Address::IPv4Address
  - pcpp::IPv4Address::IPv4Address
  - pcpp::IPv4Address::matchNetwork
  - pcpp::IPv4Address::matchNetwork
  - pcpp::IPv4Address::isValidIPv4Address
  - pcpp::IPv6Address::toString
  - pcpp::IPv6Address::isMulticast
  - pcpp::IPv6Address::IPv6Address
  - pcpp::IPv6Address::IPv6Address
  - pcpp::IPv6Address::copyTo
  - pcpp::IPv6Address::copyTo
  - pcpp::IPv6Address::copyToNewBuffer
  - pcpp::IPv6Address::matchNetwork
  - pcpp::IPv6Address::matchNetwork
  - pcpp::IPv6Address::isValidIPv6Address
  - pcpp::IPAddress::IPAddress
  - pcpp::IPv4Network::isValidNetmask
  - pcpp::IPv4Network::initFromAddressAndPrefixLength
  - pcpp::IPv4Network::initFromAddressAndNetmask
  - pcpp::IPv4Network::IPv4Network
  - pcpp::IPv4Network::IPv4Network
  - pcpp::IPv4Network::IPv4Network
  - pcpp::IPv4Network::getPrefixLen
  - pcpp::IPv4Network::getLowestAddress
  - pcpp::IPv4Network::getHighestAddress
  - pcpp::IPv4Network::getTotalAddressCount
  - pcpp::IPv4Network::includes
  - pcpp::IPv4Network::includes
  - pcpp::IPv4Network::toString
  - pcpp::IPv6Network::isValidNetmask
  - pcpp::IPv6Network::initFromAddressAndPrefixLength
  - pcpp::IPv6Network::initFromAddressAndNetmask
  - pcpp::IPv6Network::IPv6Network
  - pcpp::IPv6Network::IPv6Network
  - pcpp::IPv6Network::IPv6Network
  - pcpp::IPv6Network::getPrefixLen
  - pcpp::IPv6Network::getLowestAddress
  - pcpp::IPv6Network::getHighestAddress
  - pcpp::IPv6Network::getTotalAddressCount
  - pcpp::IPv6Network::includes
  - pcpp::IPv6Network::includes
  - pcpp::IPv6Network::toString
  - IPNetwork::NetworkVariant::swapTo(IPNetwork::NetworkVariant::Type newType) noexcept
  - IPNetwork::NetworkVariant::destroyActiveMem() noexcept
  - pcpp::IPv4Address::toString
  - pcpp::IPv4Address::isMulticast
  - pcpp::IPv4Address::IPv4Address
  - pcpp::IPv4Address::IPv4Address
  - pcpp::IPv4Address::matchNetwork
  - pcpp::IPv4Address::matchNetwork
  - pcpp::IPv4Address::isValidIPv4Address
  - pcpp::IPv6Address::toString
  - pcpp::IPv6Address::isMulticast
  - pcpp::IPv6Address::IPv6Address
  - pcpp::IPv6Address::IPv6Address
  - pcpp::IPv6Address::copyTo
  - pcpp::IPv6Address::copyTo
  - pcpp::IPv6Address::copyToNewBuffer
  - pcpp::IPv6Address::matchNetwork
  - pcpp::IPv6Address::matchNetwork
  - pcpp::IPv6Address::isValidIPv6Address
  - pcpp::IPAddress::IPAddress
  - pcpp::IPv4Network::isValidNetmask
  - pcpp::IPv4Network::initFromAddressAndPrefixLength
  - pcpp::IPv4Network::initFromAddressAndNetmask
  - pcpp::IPv4Network::IPv4Network
  - pcpp::IPv4Network::IPv4Network
  - pcpp::IPv4Network::IPv4Network
  - pcpp::IPv4Network::getPrefixLen
  - pcpp::IPv4Network::getLowestAddress
  - pcpp::IPv4Network::getHighestAddress
  - pcpp::IPv4Network::getTotalAddressCount
  - pcpp::IPv4Network::includes
  - pcpp::IPv4Network::includes
  - pcpp::IPv4Network::toString
  - pcpp::IPv6Network::isValidNetmask
  - pcpp::IPv6Network::initFromAddressAndPrefixLength
  - pcpp::IPv6Network::initFromAddressAndNetmask
  - pcpp::IPv6Network::IPv6Network
  - pcpp::IPv6Network::IPv6Network
  - pcpp::IPv6Network::IPv6Network
  - pcpp::IPv6Network::getPrefixLen
  - pcpp::IPv6Network::getLowestAddress
  - pcpp::IPv6Network::getHighestAddress
  - pcpp::IPv6Network::getTotalAddressCount
  - pcpp::IPv6Network::includes
  - pcpp::IPv6Network::includes
  - pcpp::IPv6Network::toString
  - IPNetwork::NetworkVariant::swapTo(IPNetwork::NetworkVariant::Type newType) noexcept
  - IPNetwork::NetworkVariant::destroyActiveMem() noexcept
  source_file: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
      type_or_value: CommonLogModuleIpUtils
    - item_type: preproc_def
      name: IPV6_ADDR_SIZE
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
      type_or_value: '16'
    - item_type: preproc_def
      name: IPV6_ADDR_SIZE
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/PcapPlusPlus/Common++/src/IpAddress.cpp
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator==(const IPv4Address& lhs, const in_addr& rhs)
  - operator==(const IPv6Address& lhs, const in6_addr& rhs)
  - operator==(const IPAddress& lhs, const in_addr& rhs)
  - operator==(const IPAddress& lhs, const in6_addr& rhs)
  - operator==(const IPv4Address& lhs, const in_addr& rhs)
  - operator==(const IPv6Address& lhs, const in6_addr& rhs)
  - operator==(const IPAddress& lhs, const in_addr& rhs)
  - operator==(const IPAddress& lhs, const in6_addr& rhs)
  source_file: /src/PcapPlusPlus/Common++/src/IpAddressUtils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::TablePrinter::TablePrinter
  - TablePrinter::~TablePrinter()
  - pcpp::TablePrinter::printRow
  - pcpp::TablePrinter::printRow
  - pcpp::TablePrinter::printSeparator
  - pcpp::TablePrinter::closeTable
  - pcpp::TablePrinter::printHeadline
  - pcpp::TablePrinter::TablePrinter
  - TablePrinter::~TablePrinter()
  - pcpp::TablePrinter::printRow
  - pcpp::TablePrinter::printRow
  - pcpp::TablePrinter::printSeparator
  - pcpp::TablePrinter::closeTable
  - pcpp::TablePrinter::printHeadline
  source_file: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Common++/src/TablePrinter.cpp
      type_or_value: CommonLogModuleTablePrinter
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::OUILookup::internalParser
  - pcpp::OUILookup::initOUIDatabaseFromJson
  - pcpp::OUILookup::getVendorName
  - pcpp::OUILookup::internalParser
  - pcpp::OUILookup::initOUIDatabaseFromJson
  - pcpp::OUILookup::getVendorName
  source_file: /src/PcapPlusPlus/Common++/src/OUILookup.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::LRUList::LRUList
  - pcpp::LRUList::put
  - '& getMRUElement() const'
  - '& getLRUElement() const'
  - pcpp::LRUList::eraseElement
  - pcpp::LRUList::getMaxSize
  - pcpp::LRUList::getSize
  - pcpp::LRUList::LRUList
  - pcpp::LRUList::put
  - '& getMRUElement() const'
  - '& getLRUElement() const'
  - pcpp::LRUList::eraseElement
  - pcpp::LRUList::getMaxSize
  - pcpp::LRUList::getSize
  source_file: /src/PcapPlusPlus/Common++/header/LRUList.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PCAPPLUSPLUS_MAKE_VERSION_FULL
  - PCAPPLUSPLUS_MAKE_VERSION
  - PCAPPLUSPLUS_VERSION_EQUALS
  - PCAPPLUSPLUS_VERSION_LOWER_THAN
  - PCAPPLUSPLUS_VERSION_LOWER_OR_EQUAL_THAN
  - PCAPPLUSPLUS_VERSION_HIGHER_THAN
  - PCAPPLUSPLUS_VERSION_HIGHER_OR_EQUAL_THAN
  - pcpp::getPcapPlusPlusVersion
  - pcpp::getPcapPlusPlusVersionFull
  - pcpp::getBuildDateTime
  - pcpp::getBuildDateTime
  - PCAPPLUSPLUS_MAKE_VERSION_FULL
  - PCAPPLUSPLUS_MAKE_VERSION
  - PCAPPLUSPLUS_VERSION_EQUALS
  - PCAPPLUSPLUS_VERSION_LOWER_THAN
  - PCAPPLUSPLUS_VERSION_LOWER_OR_EQUAL_THAN
  - PCAPPLUSPLUS_VERSION_HIGHER_THAN
  - PCAPPLUSPLUS_VERSION_HIGHER_OR_EQUAL_THAN
  - pcpp::getPcapPlusPlusVersion
  - pcpp::getPcapPlusPlusVersionFull
  - pcpp::getBuildDateTime
  - pcpp::getBuildDateTime
  source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_YEAR
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '26'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_MONTH
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_PATCH
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_DEV
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '"26.07-dev"'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_OFFICIAL
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '"development build"'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_OFFICIAL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '"official release"'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_NUM
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: "PCAPPLUSPLUS_MAKE_VERSION_FULL(PCAPPLUSPLUS_VERSION_YEAR, PCAPPLUSPLUS_VERSION_MONTH,
        PCAPPLUSPLUS_VERSION_PATCH,  \\\n\t                               PCAPPLUSPLUS_VERSION_DEV)"
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_FULL
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '"v" PCAPPLUSPLUS_VERSION " (" PCAPPLUSPLUS_VERSION_OFFICIAL
        ")"'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_YEAR
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '26'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_MONTH
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '7'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_PATCH
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_DEV
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '"26.07-dev"'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_OFFICIAL
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '"development build"'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_OFFICIAL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '"official release"'
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_NUM
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: "PCAPPLUSPLUS_MAKE_VERSION_FULL(PCAPPLUSPLUS_VERSION_YEAR, PCAPPLUSPLUS_VERSION_MONTH,
        PCAPPLUSPLUS_VERSION_PATCH,  \\\n\t                               PCAPPLUSPLUS_VERSION_DEV)"
    - item_type: preproc_def
      name: PCAPPLUSPLUS_VERSION_FULL
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/PcapPlusPlus/Common++/header/PcapPlusPlusVersion.h
      type_or_value: '"v" PCAPPLUSPLUS_VERSION " (" PCAPPLUSPLUS_VERSION_OFFICIAL
        ")"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator()(const T& obj) const
  - operator()(const T& obj) const
  - operator()(const T& obj) const
  - operator()(const T& obj) const
  - pcpp::PointerVector
  - pcpp::PointerVector
  - pcpp::PointerVector
  - ~PointerVector()
  - '& operator=(const PointerVector& other)'
  - '& operator=(PointerVector&& other) noexcept'
  - pcpp::clear
  - pcpp::pushBack
  - pcpp::pushBack
  - pcpp::pushBack
  - pcpp::begin
  - pcpp::begin
  - pcpp::end
  - pcpp::end
  - pcpp::size
  - pcpp::capacity
  - pcpp::reserve
  - pcpp::front
  - pcpp::back
  - pcpp::erase
  - pcpp::erase
  - pcpp::getAndRemoveFromVector
  - pcpp::getAndDetach
  - pcpp::getAndDetach
  - pcpp::getAndDetach
  - pcpp::at
  - pcpp::data
  - operator()(const T& obj) const
  - operator()(const T& obj) const
  - operator()(const T& obj) const
  - operator()(const T& obj) const
  - pcpp::PointerVector
  - pcpp::PointerVector
  - pcpp::PointerVector
  - ~PointerVector()
  - '& operator=(const PointerVector& other)'
  - '& operator=(PointerVector&& other) noexcept'
  - pcpp::clear
  - pcpp::pushBack
  - pcpp::pushBack
  - pcpp::pushBack
  - pcpp::begin
  - pcpp::begin
  - pcpp::end
  - pcpp::end
  - pcpp::size
  - pcpp::capacity
  - pcpp::reserve
  - pcpp::front
  - pcpp::back
  - pcpp::erase
  - pcpp::erase
  - pcpp::getAndRemoveFromVector
  - pcpp::getAndDetach
  - pcpp::getAndDetach
  - pcpp::getAndDetach
  - pcpp::at
  - pcpp::data
  - freeVectorUnsafe
  source_file: /src/PcapPlusPlus/Common++/header/PointerVector.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: Copier
      pos:
        line_end: 29
        line_start: 23
        source_file: /src/PcapPlusPlus/Common++/header/PointerVector.h
    - fields: []
      item_type: struct
      name: Copier<T, std::enable_if_t<std::is_polymorphic<T>::value>>
      pos:
        line_end: 40
        line_start: 33
        source_file: /src/PcapPlusPlus/Common++/header/PointerVector.h
    - fields: []
      item_type: struct
      name: Copier
      pos:
        line_end: 29
        line_start: 23
        source_file: /src/PcapPlusPlus/Common++/header/PointerVector.h
    - fields: []
      item_type: struct
      name: Copier<T, std::enable_if_t<std::is_polymorphic<T>::value>>
      pos:
        line_end: 40
        line_start: 33
        source_file: /src/PcapPlusPlus/Common++/header/PointerVector.h
    - fields: []
      item_type: struct
      name: Copier
      pos:
        line_end: 29
        line_start: 23
        source_file: /src/PcapPlusPlus/Common++/header/PointerVector.h
    - fields: []
      item_type: struct
      name: Copier<T, std::enable_if_t<std::is_polymorphic<T>::value>>
      pos:
        line_end: 40
        line_start: 33
        source_file: /src/PcapPlusPlus/Common++/header/PointerVector.h
    - fields: []
      item_type: struct
      name: Copier
      pos:
        line_end: 29
        line_start: 23
        source_file: /src/PcapPlusPlus/Common++/header/PointerVector.h
    - fields: []
      item_type: struct
      name: Copier<T, std::enable_if_t<std::is_polymorphic<T>::value>>
      pos:
        line_end: 40
        line_start: 33
        source_file: /src/PcapPlusPlus/Common++/header/PointerVector.h
    typedefs: []
    union: []
- function_names:
  - pcpp::LogSource
  - pcpp::LogSource
  - pcpp::LogSource
  - '& operator<<(std::ostream& ostr, LogLevel lvl)'
  - pcpp::internal::LogContext::LogContext
  - pcpp::internal::LogContext::LogContext
  - pcpp::internal::LogContext::init
  - '& operator<<(T const& value)'
  - pcpp::internal::LogContext::LogContext
  - pcpp::internal::LogContext::LogContext
  - pcpp::internal::LogContext::init
  - '& operator<<(T const& value)'
  - pcpp::Logger
  - '& operator=(const Logger&)'
  - pcpp::getLogLevel
  - pcpp::setLogLevel
  - pcpp::isDebugEnabled
  - pcpp::shouldLog
  - pcpp::setAllModulesToLogLevel
  - pcpp::setLogPrinter
  - pcpp::getLastError
  - pcpp::suppressLogs
  - pcpp::enableLogs
  - pcpp::logsEnabled
  - pcpp::useContextPooling
  - pcpp::getInstance
  - pcpp::LogSource
  - pcpp::LogSource
  - pcpp::LogSource
  - '& operator<<(std::ostream& ostr, LogLevel lvl)'
  - pcpp::internal::LogContext::LogContext
  - pcpp::internal::LogContext::LogContext
  - pcpp::internal::LogContext::init
  - '& operator<<(T const& value)'
  - pcpp::internal::LogContext::LogContext
  - pcpp::internal::LogContext::LogContext
  - pcpp::internal::LogContext::init
  - '& operator<<(T const& value)'
  - pcpp::Logger
  - '& operator=(const Logger&)'
  - pcpp::getLogLevel
  - pcpp::setLogLevel
  - pcpp::isDebugEnabled
  - pcpp::shouldLog
  - pcpp::setAllModulesToLogLevel
  - pcpp::setLogPrinter
  - pcpp::getLastError
  - pcpp::suppressLogs
  - pcpp::enableLogs
  - pcpp::logsEnabled
  - pcpp::useContextPooling
  - pcpp::getInstance
  - PCPP_LOG
  - PCPP_LOG_DEBUG
  - PCPP_LOG_DEBUG
  - PCPP_LOG_WARN
  - PCPP_LOG_WARN
  - PCPP_LOG_INFO
  - PCPP_LOG_INFO
  - PCPP_LOG_ERROR
  - PCPP_LOG_ERROR
  source_file: /src/PcapPlusPlus/Common++/header/Logger.h
  types:
    enum:
    - enumerators:
      - name: CommonLogModuleIpUtils
      - name: PacketLogModuleSll2Layer
      - name: PacketLogModuleRadiusLayer
      - name: PacketLogModuleSomeIpLayer
      - name: PcapLogModuleRemoteDevice
      - name: PacketLogModuleStpLayer
      - name: PacketLogModuleSSLLayer
      - name: PacketLogModuleNdpLayer
      - name: PacketLogModuleNtpLayer
      - name: PacketLogModuleSipLayer
      - name: PacketLogModuleDoIpLayer
      - name: PacketLogModuleRawPacket
      - name: CommonLogModuleTablePrinter
      - name: PacketLogModuleLayer
      - name: PacketLogModuleArpLayer
      - name: PacketLogModuleIPv4Layer
      - name: PacketLogModulePayloadLayer
      - name: PacketLogModuleDnsLayer
      - name: PacketLogModuleHttpLayer
      - name: PacketLogModuleUdpLayer
      - name: PacketLogModuleIcmpLayer
      - name: PacketLogModuleNflogLayer
      - name: PacketLogModuleDhcpV6Layer
      - name: PacketLogModuleTcpReassembly
      - name: PacketLogModuleSomeIpSdLayer
      - name: PacketLogModuleSmtpLayer
      - name: PcapLogModuleDpdkDevice
      - name: PcapLogModuleXdpDevice
      - name: PacketLogModuleSllLayer
      - name: PacketLogModuleFtpLayer
      - name: PacketLogModuleSSHLayer
      - name: PcapLogModulePfRingDevice
      - name: UndefinedLogModule
      - name: PacketLogModuleGreLayer
      - name: PacketLogModuleLLCLayer
      - name: PacketLogModuleGtpLayer
      - name: PcapLogModuleLiveDevice
      - name: PcapLogModuleNetworkUtils
      - name: PacketLogModuleIPSecLayer
      - name: PacketLogModuleIgmpLayer
      - name: PacketLogModuleWireGuardLayer
      - name: PacketLogModuleTelnetLayer
      - name: NumOfLogModules
      - name: PacketLogModuleSdpLayer
      - name: PcapLogModuleWinPcapLiveDevice
      - name: CommonLogModuleGenericUtils
      - name: PacketLogModulePacket
      - name: PacketLogModuleAsn1Codec
      - name: PacketLogModuleEthLayer
      - name: PacketLogModuleIPv6Layer
      - name: PacketLogModulePPPoELayer
      - name: PacketLogModuleTcpLayer
      - name: PacketLogModuleVlanLayer
      - name: PacketLogModuleMplsLayer
      - name: PacketLogModuleIcmpV6Layer
      - name: PacketLogModuleDhcpLayer
      - name: PacketLogModuleWakeOnLanLayer
      - name: PacketLogModuleIPReassembly
      - name: PcapLogModuleKniDevice
      - name: PacketLogModuleBgpLayer
      - name: PcapLogModuleFileDevice
      - name: PcapLogModuleMBufRawPacket
      - name: PacketLogModuleVrrpLayer
      item_type: enum
      name: LogModule
      pos:
        line_end: 115
        line_start: 50
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
    - enumerators:
      - name: 'Off'
        value: PCPP_LOG_LEVEL_OFF
      - name: Info
        value: PCPP_LOG_LEVEL_INFO
      - name: Warn
        value: PCPP_LOG_LEVEL_WARN
      - name: Error
        value: PCPP_LOG_LEVEL_ERROR
      - name: Debug
        value: PCPP_LOG_LEVEL_DEBUG
      item_type: enum
      name: LogLevel
      pos:
        line_end: 154
        line_start: 147
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
    - enumerators:
      - name: CommonLogModuleIpUtils
      - name: PacketLogModuleSll2Layer
      - name: PacketLogModuleRadiusLayer
      - name: PacketLogModuleSomeIpLayer
      - name: PcapLogModuleRemoteDevice
      - name: PacketLogModuleStpLayer
      - name: PacketLogModuleSSLLayer
      - name: PacketLogModuleNdpLayer
      - name: PacketLogModuleNtpLayer
      - name: PacketLogModuleSipLayer
      - name: PacketLogModuleDoIpLayer
      - name: PacketLogModuleRawPacket
      - name: CommonLogModuleTablePrinter
      - name: PacketLogModuleLayer
      - name: PacketLogModuleArpLayer
      - name: PacketLogModuleIPv4Layer
      - name: PacketLogModulePayloadLayer
      - name: PacketLogModuleDnsLayer
      - name: PacketLogModuleHttpLayer
      - name: PacketLogModuleUdpLayer
      - name: PacketLogModuleIcmpLayer
      - name: PacketLogModuleNflogLayer
      - name: PacketLogModuleDhcpV6Layer
      - name: PacketLogModuleTcpReassembly
      - name: PacketLogModuleSomeIpSdLayer
      - name: PacketLogModuleSmtpLayer
      - name: PcapLogModuleDpdkDevice
      - name: PcapLogModuleXdpDevice
      - name: PacketLogModuleSllLayer
      - name: PacketLogModuleFtpLayer
      - name: PacketLogModuleSSHLayer
      - name: PcapLogModulePfRingDevice
      - name: UndefinedLogModule
      - name: PacketLogModuleGreLayer
      - name: PacketLogModuleLLCLayer
      - name: PacketLogModuleGtpLayer
      - name: PcapLogModuleLiveDevice
      - name: PcapLogModuleNetworkUtils
      - name: PacketLogModuleIPSecLayer
      - name: PacketLogModuleIgmpLayer
      - name: PacketLogModuleWireGuardLayer
      - name: PacketLogModuleTelnetLayer
      - name: NumOfLogModules
      - name: PacketLogModuleSdpLayer
      - name: PcapLogModuleWinPcapLiveDevice
      - name: CommonLogModuleGenericUtils
      - name: PacketLogModulePacket
      - name: PacketLogModuleAsn1Codec
      - name: PacketLogModuleEthLayer
      - name: PacketLogModuleIPv6Layer
      - name: PacketLogModulePPPoELayer
      - name: PacketLogModuleTcpLayer
      - name: PacketLogModuleVlanLayer
      - name: PacketLogModuleMplsLayer
      - name: PacketLogModuleIcmpV6Layer
      - name: PacketLogModuleDhcpLayer
      - name: PacketLogModuleWakeOnLanLayer
      - name: PacketLogModuleIPReassembly
      - name: PcapLogModuleKniDevice
      - name: PacketLogModuleBgpLayer
      - name: PcapLogModuleFileDevice
      - name: PcapLogModuleMBufRawPacket
      - name: PacketLogModuleVrrpLayer
      item_type: enum
      name: LogModule
      pos:
        line_end: 115
        line_start: 50
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
    - enumerators:
      - name: 'Off'
        value: PCPP_LOG_LEVEL_OFF
      - name: Info
        value: PCPP_LOG_LEVEL_INFO
      - name: Warn
        value: PCPP_LOG_LEVEL_WARN
      - name: Error
        value: PCPP_LOG_LEVEL_ERROR
      - name: Debug
        value: PCPP_LOG_LEVEL_DEBUG
      item_type: enum
      name: LogLevel
      pos:
        line_end: 154
        line_start: 147
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
      type_or_value: UndefinedLogModule
    - item_type: preproc_def
      name: PCAPPP_FILENAME
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
      type_or_value: __FILE_NAME__
    - item_type: preproc_def
      name: PCAPPP_FILENAME
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
      type_or_value: __FILE__
    - item_type: preproc_def
      name: PCPP_LOG_LEVEL_OFF
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PCPP_LOG_LEVEL_ERROR
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PCPP_LOG_LEVEL_WARN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PCPP_LOG_LEVEL_INFO
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PCPP_LOG_LEVEL_DEBUG
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PCPP_ACTIVE_LOG_LEVEL
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
      type_or_value: PCPP_LOG_LEVEL_DEBUG
    structs:
    - fields:
      - name: '* file'
        type: char
      - name: '* function'
        type: char
      - name: line
        type: int
      - name: logModule
        type: LogModule
      item_type: struct
      name: LogSource
      pos:
        line_end: 143
        line_start: 120
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
    - fields:
      - name: '* file'
        type: char
      - name: '* function'
        type: char
      - name: line
        type: int
      - name: logModule
        type: LogModule
      item_type: struct
      name: LogSource
      pos:
        line_end: 143
        line_start: 120
        source_file: /src/PcapPlusPlus/Common++/header/Logger.h
    typedefs: []
    union: []
- function_names:
  - TIMEVAL_TO_TIMESPEC
  - TIMESPEC_TO_TIMEVAL
  - pcpp::internal::toTimespec
  - pcpp::internal::toTimeval
  - pcpp::internal::toTimespec
  - pcpp::internal::toTimeval
  - pcpp::internal::toTimespec
  - pcpp::internal::toTimeval
  - pcpp::internal::toTimespec
  - pcpp::internal::toTimeval
  source_file: /src/PcapPlusPlus/Common++/header/TimespecTimeval.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/Common++/header/IpUtils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator==(const SystemCore& other) const
  - pcpp::AppName::init
  - '& get()'
  - '& getInstance()'
  - operator==(const SystemCore& other) const
  - pcpp::AppName::init
  - '& get()'
  - '& getInstance()'
  source_file: /src/PcapPlusPlus/Common++/header/SystemUtils.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: Mask
        type: uint32_t
      - name: Id
        type: uint8_t
      item_type: struct
      name: SystemCore
      pos:
        line_end: 46
        line_start: 28
        source_file: /src/PcapPlusPlus/Common++/header/SystemUtils.h
    - fields:
      - name: Core0
        type: SystemCore
      - name: Core1
        type: SystemCore
      - name: Core2
        type: SystemCore
      - name: Core3
        type: SystemCore
      - name: Core4
        type: SystemCore
      - name: Core5
        type: SystemCore
      - name: Core6
        type: SystemCore
      - name: Core7
        type: SystemCore
      - name: Core8
        type: SystemCore
      - name: Core9
        type: SystemCore
      - name: Core10
        type: SystemCore
      - name: Core11
        type: SystemCore
      - name: Core12
        type: SystemCore
      - name: Core13
        type: SystemCore
      - name: Core14
        type: SystemCore
      - name: Core15
        type: SystemCore
      - name: Core16
        type: SystemCore
      - name: Core17
        type: SystemCore
      - name: Core18
        type: SystemCore
      - name: Core19
        type: SystemCore
      - name: Core20
        type: SystemCore
      - name: Core21
        type: SystemCore
      - name: Core22
        type: SystemCore
      - name: Core23
        type: SystemCore
      - name: Core24
        type: SystemCore
      - name: Core25
        type: SystemCore
      - name: Core26
        type: SystemCore
      - name: Core27
        type: SystemCore
      - name: Core28
        type: SystemCore
      - name: Core29
        type: SystemCore
      - name: Core30
        type: SystemCore
      - name: Core31
        type: SystemCore
      - name: IdToSystemCore[MAX_NUM_OF_CORES]
        type: SystemCore
      item_type: struct
      name: SystemCores
      pos:
        line_end: 119
        line_start: 51
        source_file: /src/PcapPlusPlus/Common++/header/SystemUtils.h
    - fields:
      - name: Mask
        type: uint32_t
      - name: Id
        type: uint8_t
      item_type: struct
      name: SystemCore
      pos:
        line_end: 46
        line_start: 28
        source_file: /src/PcapPlusPlus/Common++/header/SystemUtils.h
    - fields:
      - name: Core0
        type: SystemCore
      - name: Core1
        type: SystemCore
      - name: Core2
        type: SystemCore
      - name: Core3
        type: SystemCore
      - name: Core4
        type: SystemCore
      - name: Core5
        type: SystemCore
      - name: Core6
        type: SystemCore
      - name: Core7
        type: SystemCore
      - name: Core8
        type: SystemCore
      - name: Core9
        type: SystemCore
      - name: Core10
        type: SystemCore
      - name: Core11
        type: SystemCore
      - name: Core12
        type: SystemCore
      - name: Core13
        type: SystemCore
      - name: Core14
        type: SystemCore
      - name: Core15
        type: SystemCore
      - name: Core16
        type: SystemCore
      - name: Core17
        type: SystemCore
      - name: Core18
        type: SystemCore
      - name: Core19
        type: SystemCore
      - name: Core20
        type: SystemCore
      - name: Core21
        type: SystemCore
      - name: Core22
        type: SystemCore
      - name: Core23
        type: SystemCore
      - name: Core24
        type: SystemCore
      - name: Core25
        type: SystemCore
      - name: Core26
        type: SystemCore
      - name: Core27
        type: SystemCore
      - name: Core28
        type: SystemCore
      - name: Core29
        type: SystemCore
      - name: Core30
        type: SystemCore
      - name: Core31
        type: SystemCore
      - name: IdToSystemCore[MAX_NUM_OF_CORES]
        type: SystemCore
      item_type: struct
      name: SystemCores
      pos:
        line_end: 119
        line_start: 51
        source_file: /src/PcapPlusPlus/Common++/header/SystemUtils.h
    typedefs: []
    union: []
- function_names:
  - pcpp::internal::DynamicObjectPool::DynamicObjectPool
  - pcpp::internal::DynamicObjectPool::DynamicObjectPool
  - pcpp::internal::DynamicObjectPool::DynamicObjectPool
  - '& operator=(const DynamicObjectPool&)'
  - '& operator=(DynamicObjectPool&&)'
  - ~DynamicObjectPool()
  - pcpp::internal::DynamicObjectPool::acquireObject
  - pcpp::internal::DynamicObjectPool::acquireObjectRaw
  - pcpp::internal::DynamicObjectPool::releaseObject
  - pcpp::internal::DynamicObjectPool::releaseObjectRaw
  - pcpp::internal::DynamicObjectPool::size
  - pcpp::internal::DynamicObjectPool::maxSize
  - pcpp::internal::DynamicObjectPool::setMaxSize
  - pcpp::internal::DynamicObjectPool::preallocate
  - pcpp::internal::DynamicObjectPool::clear
  - pcpp::internal::DynamicObjectPool::DynamicObjectPool
  - pcpp::internal::DynamicObjectPool::DynamicObjectPool
  - pcpp::internal::DynamicObjectPool::DynamicObjectPool
  - '& operator=(const DynamicObjectPool&)'
  - '& operator=(DynamicObjectPool&&)'
  - ~DynamicObjectPool()
  - pcpp::internal::DynamicObjectPool::acquireObject
  - pcpp::internal::DynamicObjectPool::acquireObjectRaw
  - pcpp::internal::DynamicObjectPool::releaseObject
  - pcpp::internal::DynamicObjectPool::releaseObjectRaw
  - pcpp::internal::DynamicObjectPool::size
  - pcpp::internal::DynamicObjectPool::maxSize
  - pcpp::internal::DynamicObjectPool::setMaxSize
  - pcpp::internal::DynamicObjectPool::preallocate
  - pcpp::internal::DynamicObjectPool::clear
  - pcpp::internal::DynamicObjectPool::DynamicObjectPool
  - pcpp::internal::DynamicObjectPool::DynamicObjectPool
  - pcpp::internal::DynamicObjectPool::DynamicObjectPool
  - '& operator=(const DynamicObjectPool&)'
  - '& operator=(DynamicObjectPool&&)'
  - ~DynamicObjectPool()
  - pcpp::internal::DynamicObjectPool::acquireObject
  - pcpp::internal::DynamicObjectPool::acquireObjectRaw
  - pcpp::internal::DynamicObjectPool::releaseObject
  - pcpp::internal::DynamicObjectPool::releaseObjectRaw
  - pcpp::internal::DynamicObjectPool::size
  - pcpp::internal::DynamicObjectPool::maxSize
  - pcpp::internal::DynamicObjectPool::setMaxSize
  - pcpp::internal::DynamicObjectPool::preallocate
  - pcpp::internal::DynamicObjectPool::clear
  - pcpp::internal::DynamicObjectPool::DynamicObjectPool
  - pcpp::internal::DynamicObjectPool::DynamicObjectPool
  - pcpp::internal::DynamicObjectPool::DynamicObjectPool
  - '& operator=(const DynamicObjectPool&)'
  - '& operator=(DynamicObjectPool&&)'
  - ~DynamicObjectPool()
  - pcpp::internal::DynamicObjectPool::acquireObject
  - pcpp::internal::DynamicObjectPool::acquireObjectRaw
  - pcpp::internal::DynamicObjectPool::releaseObject
  - pcpp::internal::DynamicObjectPool::releaseObjectRaw
  - pcpp::internal::DynamicObjectPool::size
  - pcpp::internal::DynamicObjectPool::maxSize
  - pcpp::internal::DynamicObjectPool::setMaxSize
  - pcpp::internal::DynamicObjectPool::preallocate
  - pcpp::internal::DynamicObjectPool::clear
  source_file: /src/PcapPlusPlus/Common++/header/ObjectPool.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator!=(const IPv4Address& lhs, const in_addr& rhs)
  - operator==(const in_addr& lhs, const IPv4Address& rhs)
  - operator!=(const in_addr& lhs, const IPv4Address& rhs)
  - operator!=(const IPv6Address& lhs, const in6_addr& rhs)
  - operator==(const in6_addr& lhs, const IPv6Address& rhs)
  - operator!=(const in6_addr& lhs, const IPv6Address& rhs)
  - operator!=(const IPAddress& lhs, const in_addr& rhs)
  - operator==(const in_addr& lhs, const IPAddress& rhs)
  - operator!=(const in_addr& lhs, const IPAddress& rhs)
  - operator!=(const IPAddress& lhs, const in6_addr& rhs)
  - operator==(const in6_addr& lhs, const IPAddress& rhs)
  - operator!=(const in6_addr& lhs, const IPAddress& rhs)
  - operator!=(const IPv4Address& lhs, const in_addr& rhs)
  - operator==(const in_addr& lhs, const IPv4Address& rhs)
  - operator!=(const in_addr& lhs, const IPv4Address& rhs)
  - operator!=(const IPv6Address& lhs, const in6_addr& rhs)
  - operator==(const in6_addr& lhs, const IPv6Address& rhs)
  - operator!=(const in6_addr& lhs, const IPv6Address& rhs)
  - operator!=(const IPAddress& lhs, const in_addr& rhs)
  - operator==(const in_addr& lhs, const IPAddress& rhs)
  - operator!=(const in_addr& lhs, const IPAddress& rhs)
  - operator!=(const IPAddress& lhs, const in6_addr& rhs)
  - operator==(const in6_addr& lhs, const IPAddress& rhs)
  - operator!=(const in6_addr& lhs, const IPAddress& rhs)
  source_file: /src/PcapPlusPlus/Common++/header/IpAddressUtils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::OUILookup::MaskedFilter
  - pcpp::OUILookup::MaskedFilter
  source_file: /src/PcapPlusPlus/Common++/header/OUILookup.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: mask
        type: int
      - name: vendorMap
        type: std::unordered_map<uint64_t, std::string>
      item_type: struct
      name: MaskedFilter
      pos:
        line_end: 32
        line_start: 24
        source_file: /src/PcapPlusPlus/Common++/header/OUILookup.h
    - fields:
      - name: vendorName
        type: std::string
      - name: maskedFilter
        type: std::vector<MaskedFilter>
      item_type: struct
      name: VendorData
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/PcapPlusPlus/Common++/header/OUILookup.h
    - fields:
      - name: mask
        type: int
      - name: vendorMap
        type: std::unordered_map<uint64_t, std::string>
      item_type: struct
      name: MaskedFilter
      pos:
        line_end: 32
        line_start: 24
        source_file: /src/PcapPlusPlus/Common++/header/OUILookup.h
    - fields:
      - name: vendorName
        type: std::string
      - name: maskedFilter
        type: std::vector<MaskedFilter>
      item_type: struct
      name: VendorData
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/PcapPlusPlus/Common++/header/OUILookup.h
    typedefs: []
    union: []
- function_names:
  - pcpp::MacAddress::MacAddress
  - pcpp::MacAddress::MacAddress
  - pcpp::MacAddress::MacAddress
  - pcpp::MacAddress::MacAddress
  - pcpp::MacAddress::MacAddress
  - pcpp::MacAddress::MacAddress
  - operator==(const MacAddress& other) const
  - operator!=(const MacAddress& other) const
  - '& operator=(std::initializer_list<uint8_t> octets)'
  - pcpp::MacAddress::getRawData
  - pcpp::MacAddress::toByteArray
  - "(\"Use copyToNewBuffer instead.\")\n\t\tvoid copyTo(uint8_t** arr) const"
  - pcpp::MacAddress::copyTo
  - operator""_mac(const char* addrString, size_t size)
  - operator""_mac(const char* addrString, size_t size)
  - '& operator<<(std::ostream& oss, const pcpp::MacAddress& macAddress)'
  - pcpp::MacAddress::MacAddress
  - pcpp::MacAddress::MacAddress
  - pcpp::MacAddress::MacAddress
  - pcpp::MacAddress::MacAddress
  - pcpp::MacAddress::MacAddress
  - pcpp::MacAddress::MacAddress
  - operator==(const MacAddress& other) const
  - operator!=(const MacAddress& other) const
  - '& operator=(std::initializer_list<uint8_t> octets)'
  - pcpp::MacAddress::getRawData
  - pcpp::MacAddress::toByteArray
  - "(\"Use copyToNewBuffer instead.\")\n\t\tvoid copyTo(uint8_t** arr) const"
  - pcpp::MacAddress::copyTo
  - operator""_mac(const char* addrString, size_t size)
  - operator""_mac(const char* addrString, size_t size)
  - '& operator<<(std::ostream& oss, const pcpp::MacAddress& macAddress)'
  source_file: /src/PcapPlusPlus/Common++/header/MacAddress.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::align
  - operator()(EnumClass value) const
  - pcpp::align
  - operator()(EnumClass value) const
  source_file: /src/PcapPlusPlus/Common++/header/GeneralUtils.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: EnumClassHash
      pos:
        line_end: 125
        line_start: 119
        source_file: /src/PcapPlusPlus/Common++/header/GeneralUtils.h
    - fields: []
      item_type: struct
      name: EnumClassHash
      pos:
        line_end: 125
        line_start: 119
        source_file: /src/PcapPlusPlus/Common++/header/GeneralUtils.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/Common++/header/TablePrinter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PCPP_ASSERT
  - PCPP_ASSERT
  - PCPP_ASSERT
  source_file: /src/PcapPlusPlus/Common++/header/AssertionUtils.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCPP_ASSERT_USE_C_ASSERT
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/PcapPlusPlus/Common++/header/AssertionUtils.h
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - PCPP_DEPRECATED
  - DISABLE_WARNING
  - DO_PRAGMA
  - DISABLE_WARNING
  source_file: /src/PcapPlusPlus/Common++/header/DeprecationUtils.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DISABLE_WARNING_PUSH
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PcapPlusPlus/Common++/header/DeprecationUtils.h
      type_or_value: __pragma(warning(push))
    - item_type: preproc_def
      name: DISABLE_WARNING_POP
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PcapPlusPlus/Common++/header/DeprecationUtils.h
      type_or_value: __pragma(warning(pop))
    - item_type: preproc_def
      name: DISABLE_WARNING_DEPRECATED
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PcapPlusPlus/Common++/header/DeprecationUtils.h
      type_or_value: DISABLE_WARNING(4996)
    - item_type: preproc_def
      name: DISABLE_WARNING_PUSH
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PcapPlusPlus/Common++/header/DeprecationUtils.h
      type_or_value: DO_PRAGMA(GCC diagnostic push)
    - item_type: preproc_def
      name: DISABLE_WARNING_POP
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PcapPlusPlus/Common++/header/DeprecationUtils.h
      type_or_value: DO_PRAGMA(GCC diagnostic pop)
    - item_type: preproc_def
      name: DISABLE_WARNING_DEPRECATED
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PcapPlusPlus/Common++/header/DeprecationUtils.h
      type_or_value: DISABLE_WARNING(-Wdeprecated-declarations)
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::IPv4Address::IPv4Address
  - pcpp::IPv4Address::IPv4Address
  - pcpp::IPv4Address::IPv4Address
  - pcpp::IPv4Address::IPv4Address
  - pcpp::IPv4Address::toBytes
  - '& toByteArray() const'
  - operator==(const IPv4Address& rhs) const
  - operator<(const IPv4Address& rhs) const
  - operator!=(const IPv4Address& rhs) const
  - pcpp::IPv4Address::toInt
  - pcpp::IPv6Address::IPv6Address
  - pcpp::IPv6Address::IPv6Address
  - pcpp::IPv6Address::IPv6Address
  - pcpp::IPv6Address::toBytes
  - '& toByteArray() const'
  - operator==(const IPv6Address& rhs) const
  - operator<(const IPv6Address& rhs) const
  - operator!=(const IPv6Address& rhs) const
  - pcpp::IPv6Address::copyTo
  - pcpp::IPAddress::IPAddress
  - pcpp::IPAddress::IPAddress
  - pcpp::IPAddress::IPAddress
  - pcpp::IPAddress::getType
  - pcpp::IPAddress::toString
  - pcpp::IPAddress::isIPv4
  - pcpp::IPAddress::isIPv6
  - pcpp::IPAddress::isMulticast
  - '& getIPv4() const'
  - '& getIPv6() const'
  - pcpp::IPAddress::isZero
  - operator!=(const IPAddress& rhs) const
  - IPAddress::operator==(const IPAddress& rhs) const
  - IPAddress::operator<(const IPAddress& rhs) const
  - '& IPAddress::operator=(const IPv4Address& addr)'
  - '& IPAddress::operator=(const IPv6Address& addr)'
  - pcpp::IPv4Network::IPv4Network
  - pcpp::IPv4Network::getNetmask
  - pcpp::IPv4Network::getNetworkPrefix
  - pcpp::IPv6Network::IPv6Network
  - pcpp::IPv6Network::getNetmask
  - pcpp::IPv6Network::getNetworkPrefix
  - pcpp::IPNetwork::IPNetwork
  - pcpp::IPNetwork::IPNetwork
  - pcpp::IPNetwork::IPNetwork
  - pcpp::IPNetwork::IPNetwork
  - pcpp::IPNetwork::IPNetwork
  - '& operator=(const IPNetwork& other)'
  - '& operator=(const IPv4Network& other)'
  - '& operator=(const IPv6Network& other)'
  - pcpp::IPNetwork::getPrefixLen
  - pcpp::IPNetwork::getNetmask
  - pcpp::IPNetwork::getNetworkPrefix
  - pcpp::IPNetwork::getLowestAddress
  - pcpp::IPNetwork::getHighestAddress
  - pcpp::IPNetwork::getTotalAddressCount
  - pcpp::IPNetwork::isIPv4Network
  - pcpp::IPNetwork::isIPv6Network
  - pcpp::IPNetwork::includes
  - pcpp::IPNetwork::includes
  - pcpp::IPNetwork::toString
  - pcpp::IPNetwork::NetworkVariant::NetworkVariant
  - pcpp::IPNetwork::NetworkVariant::NetworkVariant
  - pcpp::IPNetwork::NetworkVariant::NetworkVariant
  - ~NetworkVariant()
  - '& operator=(IPv4Network const& other)'
  - '& operator=(IPv6Network const& other)'
  - '& operator=(NetworkVariant const& other)'
  - pcpp::IPNetwork::NetworkVariant::getType
  - '& getIPv4()'
  - '& getIPv4() const'
  - pcpp::IPNetwork::NetworkVariant::tryGetIPv4
  - pcpp::IPNetwork::NetworkVariant::tryGetIPv4
  - '& getIPv6()'
  - '& getIPv6() const'
  - pcpp::IPNetwork::NetworkVariant::tryGetIPv6
  - pcpp::IPNetwork::NetworkVariant::tryGetIPv6
  - pcpp::IPNetwork::NetworkVariant::throwIfNot
  - operator""_ipv4(const char* addrString, std::size_t size)
  - operator""_ipv6(const char* addrString, std::size_t size)
  - operator""_ipv4(const char* addrString, std::size_t size)
  - operator""_ipv6(const char* addrString, std::size_t size)
  - '& operator<<(std::ostream& oss, const pcpp::IPv4Address& ipv4Address)'
  - '& operator<<(std::ostream& oss, const pcpp::IPv6Address& ipv6Address)'
  - '& operator<<(std::ostream& oss, const pcpp::IPAddress& ipAddress)'
  - '& operator<<(std::ostream& oss, const pcpp::IPv4Network& network)'
  - '& operator<<(std::ostream& oss, const pcpp::IPv6Network& network)'
  - '& operator<<(std::ostream& oss, const pcpp::IPNetwork& network)'
  - pcpp::IPv4Address::IPv4Address
  - pcpp::IPv4Address::IPv4Address
  - pcpp::IPv4Address::IPv4Address
  - pcpp::IPv4Address::IPv4Address
  - pcpp::IPv4Address::toBytes
  - '& toByteArray() const'
  - operator==(const IPv4Address& rhs) const
  - operator<(const IPv4Address& rhs) const
  - operator!=(const IPv4Address& rhs) const
  - pcpp::IPv4Address::toInt
  - pcpp::IPv6Address::IPv6Address
  - pcpp::IPv6Address::IPv6Address
  - pcpp::IPv6Address::IPv6Address
  - pcpp::IPv6Address::toBytes
  - '& toByteArray() const'
  - operator==(const IPv6Address& rhs) const
  - operator<(const IPv6Address& rhs) const
  - operator!=(const IPv6Address& rhs) const
  - pcpp::IPv6Address::copyTo
  - pcpp::IPAddress::IPAddress
  - pcpp::IPAddress::IPAddress
  - pcpp::IPAddress::IPAddress
  - pcpp::IPAddress::getType
  - pcpp::IPAddress::toString
  - pcpp::IPAddress::isIPv4
  - pcpp::IPAddress::isIPv6
  - pcpp::IPAddress::isMulticast
  - '& getIPv4() const'
  - '& getIPv6() const'
  - pcpp::IPAddress::isZero
  - operator!=(const IPAddress& rhs) const
  - IPAddress::operator==(const IPAddress& rhs) const
  - IPAddress::operator<(const IPAddress& rhs) const
  - '& IPAddress::operator=(const IPv4Address& addr)'
  - '& IPAddress::operator=(const IPv6Address& addr)'
  - pcpp::IPv4Network::IPv4Network
  - pcpp::IPv4Network::getNetmask
  - pcpp::IPv4Network::getNetworkPrefix
  - pcpp::IPv6Network::IPv6Network
  - pcpp::IPv6Network::getNetmask
  - pcpp::IPv6Network::getNetworkPrefix
  - pcpp::IPNetwork::IPNetwork
  - pcpp::IPNetwork::IPNetwork
  - pcpp::IPNetwork::IPNetwork
  - pcpp::IPNetwork::IPNetwork
  - pcpp::IPNetwork::IPNetwork
  - '& operator=(const IPNetwork& other)'
  - '& operator=(const IPv4Network& other)'
  - '& operator=(const IPv6Network& other)'
  - pcpp::IPNetwork::getPrefixLen
  - pcpp::IPNetwork::getNetmask
  - pcpp::IPNetwork::getNetworkPrefix
  - pcpp::IPNetwork::getLowestAddress
  - pcpp::IPNetwork::getHighestAddress
  - pcpp::IPNetwork::getTotalAddressCount
  - pcpp::IPNetwork::isIPv4Network
  - pcpp::IPNetwork::isIPv6Network
  - pcpp::IPNetwork::includes
  - pcpp::IPNetwork::includes
  - pcpp::IPNetwork::toString
  - pcpp::IPNetwork::NetworkVariant::NetworkVariant
  - pcpp::IPNetwork::NetworkVariant::NetworkVariant
  - pcpp::IPNetwork::NetworkVariant::NetworkVariant
  - ~NetworkVariant()
  - '& operator=(IPv4Network const& other)'
  - '& operator=(IPv6Network const& other)'
  - '& operator=(NetworkVariant const& other)'
  - pcpp::IPNetwork::NetworkVariant::getType
  - '& getIPv4()'
  - '& getIPv4() const'
  - pcpp::IPNetwork::NetworkVariant::tryGetIPv4
  - pcpp::IPNetwork::NetworkVariant::tryGetIPv4
  - '& getIPv6()'
  - '& getIPv6() const'
  - pcpp::IPNetwork::NetworkVariant::tryGetIPv6
  - pcpp::IPNetwork::NetworkVariant::tryGetIPv6
  - pcpp::IPNetwork::NetworkVariant::throwIfNot
  - operator""_ipv4(const char* addrString, std::size_t size)
  - operator""_ipv6(const char* addrString, std::size_t size)
  - operator""_ipv4(const char* addrString, std::size_t size)
  - operator""_ipv6(const char* addrString, std::size_t size)
  - '& operator<<(std::ostream& oss, const pcpp::IPv4Address& ipv4Address)'
  - '& operator<<(std::ostream& oss, const pcpp::IPv6Address& ipv6Address)'
  - '& operator<<(std::ostream& oss, const pcpp::IPAddress& ipAddress)'
  - '& operator<<(std::ostream& oss, const pcpp::IPv4Network& network)'
  - '& operator<<(std::ostream& oss, const pcpp::IPv6Network& network)'
  - '& operator<<(std::ostream& oss, const pcpp::IPNetwork& network)'
  source_file: /src/PcapPlusPlus/Common++/header/IpAddress.h
  types:
    enum:
    - enumerators:
      - name: IPv4AddressType
      - name: IPv6AddressType
      item_type: enum
      name: AddressType
      pos:
        line_end: 326
        line_start: 320
        source_file: /src/PcapPlusPlus/Common++/header/IpAddress.h
    - enumerators:
      - name: IPv4
      - name: IPv6
      item_type: enum
      name: Type
      pos:
        line_end: 907
        line_start: 903
        source_file: /src/PcapPlusPlus/Common++/header/IpAddress.h
    - enumerators:
      - name: IPv4AddressType
      - name: IPv6AddressType
      item_type: enum
      name: AddressType
      pos:
        line_end: 326
        line_start: 320
        source_file: /src/PcapPlusPlus/Common++/header/IpAddress.h
    - enumerators:
      - name: IPv4
      - name: IPv6
      item_type: enum
      name: Type
      pos:
        line_end: 907
        line_start: 903
        source_file: /src/PcapPlusPlus/Common++/header/IpAddress.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CPP_VLA
  - KniDevice::KniThread::KniThread(KniThreadCleanupState s, threadMain tm, void*
    data)
  - KniDevice::KniThread::~KniThread()
  - KniDevice::KniThread::cancel()
  - pcpp::destroyKniDevice
  - pcpp::setKniDeviceLinkState
  - pcpp::createMempool
  - pcpp::destroyKniDevice
  - pcpp::setKniDeviceLinkState
  - pcpp::createMempool
  - pcpp::KniDevice::KniDevice
  - KniDevice::~KniDevice()
  - KniDevice::KniDeviceInfo::init(const KniDeviceConfiguration& conf)
  - pcpp::KniDevice::getLinkState
  - pcpp::KniDevice::getMacAddress
  - pcpp::KniDevice::getMtu
  - pcpp::KniDevice::getPromiscuous
  - pcpp::KniDevice::setLinkState
  - pcpp::KniDevice::setMacAddress
  - pcpp::KniDevice::setMtu
  - pcpp::KniDevice::setPromiscuous
  - pcpp::KniDevice::updateLinkState
  - pcpp::KniDevice::handleRequests
  - KniDevice::KniRequests::cleanup()
  - KniDevice::KniRequests::runRequests(void* devicePointer, std::atomic<bool>& stopThread)
  - pcpp::KniDevice::startRequestHandlerThread
  - pcpp::KniDevice::stopRequestHandlerThread
  - pcpp::KniDevice::receivePackets
  - pcpp::KniDevice::receivePackets
  - pcpp::KniDevice::receivePackets
  - pcpp::KniDevice::sendPackets
  - pcpp::KniDevice::sendPackets
  - pcpp::KniDevice::sendPackets
  - pcpp::KniDevice::sendPackets
  - pcpp::KniDevice::sendPacket
  - pcpp::KniDevice::sendPacket
  - pcpp::KniDevice::sendPacket
  - KniDevice::KniCapturing::runCapture(void* devicePointer, std::atomic<bool>& stopThread)
  - KniDevice::KniCapturing::cleanup()
  - pcpp::KniDevice::startCapture
  - pcpp::KniDevice::stopCapture
  - pcpp::KniDevice::startCaptureBlockingMode
  - pcpp::KniDevice::open
  - pcpp::KniDevice::close
  - KniDevice::KniThread::KniThread(KniThreadCleanupState s, threadMain tm, void*
    data)
  - KniDevice::KniThread::~KniThread()
  - KniDevice::KniThread::cancel()
  - pcpp::destroyKniDevice
  - pcpp::setKniDeviceLinkState
  - pcpp::createMempool
  - pcpp::destroyKniDevice
  - pcpp::setKniDeviceLinkState
  - pcpp::createMempool
  - pcpp::KniDevice::KniDevice
  - KniDevice::~KniDevice()
  - KniDevice::KniDeviceInfo::init(const KniDeviceConfiguration& conf)
  - pcpp::KniDevice::getLinkState
  - pcpp::KniDevice::getMacAddress
  - pcpp::KniDevice::getMtu
  - pcpp::KniDevice::getPromiscuous
  - pcpp::KniDevice::setLinkState
  - pcpp::KniDevice::setMacAddress
  - pcpp::KniDevice::setMtu
  - pcpp::KniDevice::setPromiscuous
  - pcpp::KniDevice::updateLinkState
  - pcpp::KniDevice::handleRequests
  - KniDevice::KniRequests::cleanup()
  - KniDevice::KniRequests::runRequests(void* devicePointer, std::atomic<bool>& stopThread)
  - pcpp::KniDevice::startRequestHandlerThread
  - pcpp::KniDevice::stopRequestHandlerThread
  - pcpp::KniDevice::receivePackets
  - pcpp::KniDevice::receivePackets
  - pcpp::KniDevice::receivePackets
  - pcpp::KniDevice::sendPackets
  - pcpp::KniDevice::sendPackets
  - pcpp::KniDevice::sendPackets
  - pcpp::KniDevice::sendPackets
  - pcpp::KniDevice::sendPacket
  - pcpp::KniDevice::sendPacket
  - pcpp::KniDevice::sendPacket
  - KniDevice::KniCapturing::runCapture(void* devicePointer, std::atomic<bool>& stopThread)
  - KniDevice::KniCapturing::cleanup()
  - pcpp::KniDevice::startCapture
  - pcpp::KniDevice::stopCapture
  - pcpp::KniDevice::startCaptureBlockingMode
  - pcpp::KniDevice::open
  - pcpp::KniDevice::close
  source_file: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
  types:
    enum:
    - enumerators:
      - name: JOINABLE
      - name: DETACHED
      - name: INVALID
      item_type: enum
      name: KniThreadCleanupState
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    - enumerators:
      - name: JOINABLE
      - name: DETACHED
      - name: INVALID
      item_type: enum
      name: KniThreadCleanupState
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
      type_or_value: PcapLogModuleKniDevice
    - item_type: preproc_def
      name: KNI_MEMPOOL_NAME_PREFIX
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
      type_or_value: '"kniMempool"'
    - item_type: preproc_def
      name: MEMPOOL_CACHE_SIZE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
      type_or_value: '256'
    - item_type: preproc_def
      name: MAX_BURST_SIZE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
      type_or_value: '64'
    structs:
    - fields:
      - name: cancel()
        type: void
      - name: m_Descriptor
        type: std::thread
      - name: m_CleanupState
        type: KniThreadCleanupState
      - name: m_StopThread
        type: std::atomic<bool>
      item_type: struct
      name: KniDevice::KniThread
      pos:
        line_end: 63
        line_start: 46
        source_file: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    - fields:
      - name: cancel()
        type: void
      - name: m_Descriptor
        type: std::thread
      - name: m_CleanupState
        type: KniThreadCleanupState
      - name: m_StopThread
        type: std::atomic<bool>
      item_type: struct
      name: KniDevice::KniThread
      pos:
        line_end: 63
        line_start: 46
        source_file: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
    typedefs:
    - item_type: typedef
      name: (*threadMain)(void*, std::atomic<bool>&)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
      type: void
    - item_type: typedef
      name: (*threadMain)(void*, std::atomic<bool>&)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/PcapPlusPlus/Pcap++/src/KniDevice.cpp
      type: void
    union: []
- function_names:
  - pcpp::syncPointerVectors
  - pcpp::syncPointerVectors
  - pcpp::PcapLiveDeviceList::PcapLiveDeviceList
  - pcpp::PcapLiveDeviceList::fetchAllLocalDevices
  - pcpp::PcapLiveDeviceList::fetchDnsServers
  - pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
  - pcpp::PcapLiveDeviceList::getDeviceByIp
  - pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
  - pcpp::PcapLiveDeviceList::getDeviceByIp
  - pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
  - pcpp::PcapLiveDeviceList::getDeviceByIp
  - pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
  - pcpp::PcapLiveDeviceList::getDeviceByIp
  - pcpp::PcapLiveDeviceList::getPcapLiveDeviceByName
  - pcpp::PcapLiveDeviceList::getDeviceByName
  - pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIpOrName
  - pcpp::PcapLiveDeviceList::getDeviceByIpOrName
  - pcpp::PcapLiveDeviceList::clone
  - pcpp::PcapLiveDeviceList::reset
  - pcpp::syncPointerVectors
  - pcpp::syncPointerVectors
  - pcpp::PcapLiveDeviceList::PcapLiveDeviceList
  - pcpp::PcapLiveDeviceList::fetchAllLocalDevices
  - pcpp::PcapLiveDeviceList::fetchDnsServers
  - pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
  - pcpp::PcapLiveDeviceList::getDeviceByIp
  - pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
  - pcpp::PcapLiveDeviceList::getDeviceByIp
  - pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
  - pcpp::PcapLiveDeviceList::getDeviceByIp
  - pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIp
  - pcpp::PcapLiveDeviceList::getDeviceByIp
  - pcpp::PcapLiveDeviceList::getPcapLiveDeviceByName
  - pcpp::PcapLiveDeviceList::getDeviceByName
  - pcpp::PcapLiveDeviceList::getPcapLiveDeviceByIpOrName
  - pcpp::PcapLiveDeviceList::getDeviceByIpOrName
  - pcpp::PcapLiveDeviceList::clone
  - pcpp::PcapLiveDeviceList::reset
  source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDeviceList.cpp
      type_or_value: PcapLogModuleLiveDevice
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::checkKniDriver
  - pcpp::KniDeviceList::KniDeviceList
  - KniDeviceList::~KniDeviceList()
  - '& KniDeviceList::getInstance()'
  - pcpp::KniDeviceList::createDevice
  - pcpp::KniDeviceList::destroyDevice
  - pcpp::KniDeviceList::getDeviceByPort
  - pcpp::KniDeviceList::getDeviceByName
  - pcpp::KniDeviceList::callbackVersion
  - pcpp::KniDeviceList::isCallbackSupported
  - pcpp::checkKniDriver
  - pcpp::KniDeviceList::KniDeviceList
  - KniDeviceList::~KniDeviceList()
  - '& KniDeviceList::getInstance()'
  - pcpp::KniDeviceList::createDevice
  - pcpp::KniDeviceList::destroyDevice
  - pcpp::KniDeviceList::getDeviceByPort
  - pcpp::KniDeviceList::getDeviceByName
  - pcpp::KniDeviceList::callbackVersion
  - pcpp::KniDeviceList::isCallbackSupported
  source_file: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
      type_or_value: PcapLogModuleKniDevice
    - item_type: preproc_def
      name: MAX_KNI_DEVICES
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PcapPlusPlus/Pcap++/src/KniDeviceList.cpp
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::openLinuxNicInformationSocket
  - pcpp::LinuxNicInformationSocket::LinuxNicInformationSocket
  - LinuxNicInformationSocket::~LinuxNicInformationSocket()
  - pcpp::LinuxNicInformationSocket::makeRequest
  - pcpp::openLinuxNicInformationSocket
  - pcpp::LinuxNicInformationSocket::LinuxNicInformationSocket
  - LinuxNicInformationSocket::~LinuxNicInformationSocket()
  - pcpp::LinuxNicInformationSocket::makeRequest
  source_file: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp
      type_or_value: UndefinedLogModule
    - item_type: preproc_def
      name: INVALID_SOCKET_VALUE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PcapPlusPlus/Pcap++/src/LinuxNicInformationSocket.cpp
      type_or_value: (-1)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/Pcap++/src/PcapUtils.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: operator()(pcap_t* ptr) const noexcept
        type: void
      item_type: struct
      name: PcapCloseDeleter
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapUtils.h
    - fields:
      - name: operator()(pcap_if_t* ptr) const noexcept
        type: void
      item_type: struct
      name: PcapFreeAllDevsDeleter
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapUtils.h
    - fields:
      - name: operator()(pcap_t* ptr) const noexcept
        type: void
      item_type: struct
      name: PcapCloseDeleter
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapUtils.h
    - fields:
      - name: operator()(pcap_if_t* ptr) const noexcept
        type: void
      item_type: struct
      name: PcapFreeAllDevsDeleter
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapUtils.h
    - fields:
      - name: operator()(pcap_t* ptr) const noexcept
        type: void
      item_type: struct
      name: PcapCloseDeleter
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapUtils.h
    - fields:
      - name: operator()(pcap_if_t* ptr) const noexcept
        type: void
      item_type: struct
      name: PcapFreeAllDevsDeleter
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapUtils.h
    - fields:
      - name: operator()(pcap_t* ptr) const noexcept
        type: void
      item_type: struct
      name: PcapCloseDeleter
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapUtils.h
    - fields:
      - name: operator()(pcap_if_t* ptr) const noexcept
        type: void
      item_type: struct
      name: PcapFreeAllDevsDeleter
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapUtils.h
    typedefs:
    - item_type: typedef
      name: pcap_t
      pos:
        line_end: 4
        line_start: 4
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapUtils.h
      type: pcap
    - item_type: typedef
      name: pcap_if_t
      pos:
        line_end: 6
        line_start: 6
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapUtils.h
      type: pcap_if
    union: []
- function_names:
  - operator()(pfring* ptr) const noexcept
  - pcpp::readPfRingVersion
  - operator()(pfring* ptr) const noexcept
  - pcpp::readPfRingVersion
  - pcpp::PfRingDeviceList::PfRingDeviceList
  - pcpp::PfRingDeviceList::getPfRingDeviceByName
  - pcpp::PfRingDeviceList::getDeviceByName
  - operator()(pfring* ptr) const noexcept
  - pcpp::readPfRingVersion
  - operator()(pfring* ptr) const noexcept
  - pcpp::readPfRingVersion
  - pcpp::PfRingDeviceList::PfRingDeviceList
  - pcpp::PfRingDeviceList::getPfRingDeviceByName
  - pcpp::PfRingDeviceList::getDeviceByName
  source_file: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
      type_or_value: PcapLogModulePfRingDevice
    structs:
    - fields: []
      item_type: struct
      name: PfRingCloseDeleter
      pos:
        line_end: 27
        line_start: 21
        source_file: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    - fields: []
      item_type: struct
      name: PfRingCloseDeleter
      pos:
        line_end: 27
        line_start: 21
        source_file: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    - fields: []
      item_type: struct
      name: PfRingCloseDeleter
      pos:
        line_end: 27
        line_start: 21
        source_file: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    - fields: []
      item_type: struct
      name: PfRingCloseDeleter
      pos:
        line_end: 27
        line_start: 21
        source_file: /src/PcapPlusPlus/Pcap++/src/PfRingDeviceList.cpp
    typedefs: []
    union: []
- function_names:
  - BpfProgramDeleter::operator()(bpf_program* ptr) const noexcept
  - BpfProgramDeleter::operator()(bpf_program* ptr) const noexcept
  - pcpp::BpfFilterWrapper::BpfFilterWrapper
  - '& BpfFilterWrapper::operator=(const BpfFilterWrapper& other)'
  - pcpp::BpfFilterWrapper::setFilter
  - pcpp::BpfFilterWrapper::matchPacketWithFilter
  - pcpp::BpfFilterWrapper::matchPacketWithFilter
  - pcpp::BpfFilterWrapper::matches
  - pcpp::BpfFilterWrapper::matches
  - pcpp::BpfFilterWrapper::compileFilter
  - pcpp::GeneralFilter::matchPacketWithFilter
  - pcpp::GeneralFilter::matches
  - pcpp::GeneralFilter::cacheFilter
  - pcpp::BPFStringFilter::parseToString
  - pcpp::BPFStringFilter::verifyFilter
  - pcpp::IFilterWithDirection::parseDirection
  - pcpp::IFilterWithOperator::parseOperator
  - pcpp::IPFilter::parseToString
  - pcpp::IPv4IDFilter::parseToString
  - pcpp::IPv4TotalLengthFilter::parseToString
  - pcpp::PortFilter::portToString
  - pcpp::PortFilter::PortFilter
  - pcpp::PortFilter::parseToString
  - pcpp::PortRangeFilter::parseToString
  - pcpp::MacAddressFilter::parseToString
  - pcpp::EtherTypeFilter::parseToString
  - pcpp::CompositeFilter::CompositeFilter
  - pcpp::CompositeFilter::removeFilter
  - pcpp::CompositeFilter::setFilters
  - pcpp::NotFilter::parseToString
  - pcpp::ProtoFilter::parseToString
  - pcpp::ArpFilter::parseToString
  - pcpp::VlanFilter::parseToString
  - pcpp::TcpFlagsFilter::parseToString
  - pcpp::TcpWindowSizeFilter::parseToString
  - pcpp::UdpLengthFilter::parseToString
  - BpfProgramDeleter::operator()(bpf_program* ptr) const noexcept
  - BpfProgramDeleter::operator()(bpf_program* ptr) const noexcept
  - pcpp::BpfFilterWrapper::BpfFilterWrapper
  - '& BpfFilterWrapper::operator=(const BpfFilterWrapper& other)'
  - pcpp::BpfFilterWrapper::setFilter
  - pcpp::BpfFilterWrapper::matchPacketWithFilter
  - pcpp::BpfFilterWrapper::matchPacketWithFilter
  - pcpp::BpfFilterWrapper::matches
  - pcpp::BpfFilterWrapper::matches
  - pcpp::BpfFilterWrapper::compileFilter
  - pcpp::GeneralFilter::matchPacketWithFilter
  - pcpp::GeneralFilter::matches
  - pcpp::GeneralFilter::cacheFilter
  - pcpp::BPFStringFilter::parseToString
  - pcpp::BPFStringFilter::verifyFilter
  - pcpp::IFilterWithDirection::parseDirection
  - pcpp::IFilterWithOperator::parseOperator
  - pcpp::IPFilter::parseToString
  - pcpp::IPv4IDFilter::parseToString
  - pcpp::IPv4TotalLengthFilter::parseToString
  - pcpp::PortFilter::portToString
  - pcpp::PortFilter::PortFilter
  - pcpp::PortFilter::parseToString
  - pcpp::PortRangeFilter::parseToString
  - pcpp::MacAddressFilter::parseToString
  - pcpp::EtherTypeFilter::parseToString
  - pcpp::CompositeFilter::CompositeFilter
  - pcpp::CompositeFilter::removeFilter
  - pcpp::CompositeFilter::setFilters
  - pcpp::NotFilter::parseToString
  - pcpp::ProtoFilter::parseToString
  - pcpp::ArpFilter::parseToString
  - pcpp::VlanFilter::parseToString
  - pcpp::TcpFlagsFilter::parseToString
  - pcpp::TcpWindowSizeFilter::parseToString
  - pcpp::UdpLengthFilter::parseToString
  source_file: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFilter.cpp
      type_or_value: PcapLogModuleLiveDevice
    structs: []
    typedefs: []
    union: []
- function_names:
  - MBufRawPacket::~MBufRawPacket()
  - pcpp::MBufRawPacket::init
  - pcpp::MBufRawPacket::init
  - pcpp::MBufRawPacket::init
  - pcpp::MBufRawPacket::initFromRawPacket
  - pcpp::MBufRawPacket::initFromRawPacket
  - pcpp::MBufRawPacket::initFromRawPacket
  - pcpp::MBufRawPacket::MBufRawPacket
  - '& MBufRawPacket::operator=(const MBufRawPacket& other)'
  - pcpp::MBufRawPacket::clone
  - pcpp::MBufRawPacket::doSetRawData
  - pcpp::MBufRawPacket::clear
  - pcpp::MBufRawPacket::appendData
  - pcpp::MBufRawPacket::insertData
  - pcpp::MBufRawPacket::removeData
  - pcpp::MBufRawPacket::reallocateData
  - pcpp::MBufRawPacket::setMBuf
  - MBufRawPacket::~MBufRawPacket()
  - pcpp::MBufRawPacket::init
  - pcpp::MBufRawPacket::init
  - pcpp::MBufRawPacket::init
  - pcpp::MBufRawPacket::initFromRawPacket
  - pcpp::MBufRawPacket::initFromRawPacket
  - pcpp::MBufRawPacket::initFromRawPacket
  - pcpp::MBufRawPacket::MBufRawPacket
  - '& MBufRawPacket::operator=(const MBufRawPacket& other)'
  - pcpp::MBufRawPacket::clone
  - pcpp::MBufRawPacket::doSetRawData
  - pcpp::MBufRawPacket::clear
  - pcpp::MBufRawPacket::appendData
  - pcpp::MBufRawPacket::insertData
  - pcpp::MBufRawPacket::removeData
  - pcpp::MBufRawPacket::reallocateData
  - pcpp::MBufRawPacket::setMBuf
  source_file: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/PcapPlusPlus/Pcap++/src/MBufRawPacket.cpp
      type_or_value: PcapLogModuleMBufRawPacket
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::getAllRemotePcapDevices
  - pcpp::getAllRemotePcapDevices
  - pcpp::PcapRemoteDeviceList::PcapRemoteDeviceList
  - pcpp::PcapRemoteDeviceList::getRemoteDeviceList
  - pcpp::PcapRemoteDeviceList::createRemoteDeviceList
  - pcpp::PcapRemoteDeviceList::getRemoteDeviceList
  - pcpp::PcapRemoteDeviceList::createRemoteDeviceList
  - pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
  - pcpp::PcapRemoteDeviceList::getDeviceByIP
  - pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
  - pcpp::PcapRemoteDeviceList::getDeviceByIP
  - pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
  - pcpp::PcapRemoteDeviceList::getDeviceByIP
  - pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
  - pcpp::PcapRemoteDeviceList::getDeviceByIP
  - pcpp::getAllRemotePcapDevices
  - pcpp::getAllRemotePcapDevices
  - pcpp::PcapRemoteDeviceList::PcapRemoteDeviceList
  - pcpp::PcapRemoteDeviceList::getRemoteDeviceList
  - pcpp::PcapRemoteDeviceList::createRemoteDeviceList
  - pcpp::PcapRemoteDeviceList::getRemoteDeviceList
  - pcpp::PcapRemoteDeviceList::createRemoteDeviceList
  - pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
  - pcpp::PcapRemoteDeviceList::getDeviceByIP
  - pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
  - pcpp::PcapRemoteDeviceList::getDeviceByIP
  - pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
  - pcpp::PcapRemoteDeviceList::getDeviceByIP
  - pcpp::PcapRemoteDeviceList::getRemoteDeviceByIP
  - pcpp::PcapRemoteDeviceList::getDeviceByIP
  source_file: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDeviceList.cpp
      type_or_value: PcapLogModuleRemoteDevice
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::internal::PcapHandle::PcapHandle
  - pcpp::internal::PcapHandle::PcapHandle
  - '& PcapHandle::operator=(PcapHandle&& other) noexcept'
  - '& PcapHandle::operator=(std::nullptr_t) noexcept'
  - PcapHandle::~PcapHandle()
  - pcpp::internal::PcapHandle::release
  - pcpp::internal::PcapHandle::reset
  - pcpp::internal::PcapHandle::getLastError
  - pcpp::internal::PcapHandle::setFilter
  - pcpp::internal::PcapHandle::clearFilter
  - pcpp::internal::PcapHandle::getStatistics
  - pcpp::internal::PcapHandle::PcapHandle
  - pcpp::internal::PcapHandle::PcapHandle
  - '& PcapHandle::operator=(PcapHandle&& other) noexcept'
  - '& PcapHandle::operator=(std::nullptr_t) noexcept'
  - PcapHandle::~PcapHandle()
  - pcpp::internal::PcapHandle::release
  - pcpp::internal::PcapHandle::reset
  - pcpp::internal::PcapHandle::getLastError
  - pcpp::internal::PcapHandle::setFilter
  - pcpp::internal::PcapHandle::clearFilter
  - pcpp::internal::PcapHandle::getStatistics
  - pcpp::directionTypeMap
  - pcpp::getPcapTimestampProvider
  - pcpp::getPcapPrecision
  - pcpp::isTimestampProviderSupportedByDevice
  - operator()(int* ptr) const noexcept
  - pcpp::setTimestampProvider
  - pcpp::setTimestampPrecision
  - PcapLiveDevice::DeviceInterfaceDetails::DeviceInterfaceDetails(pcap_if_t* pInterface)
  - pcpp::statsThreadMain
  - pcpp::onPacketArrivesNoop
  - pcpp::onPacketArrivesCallback
  - pcpp::onPacketArrivesCallbackWithCancellation
  - pcpp::onPacketArrivesAccumulator
  - pcpp::captureThreadMain
  - pcpp::captureThreadMainAccumulator
  - pcpp::statsThreadMain
  - pcpp::onPacketArrivesNoop
  - pcpp::onPacketArrivesCallback
  - pcpp::onPacketArrivesCallbackWithCancellation
  - pcpp::onPacketArrivesAccumulator
  - pcpp::captureThreadMain
  - pcpp::captureThreadMainAccumulator
  - pcpp::PcapLiveDevice::PcapLiveDevice
  - pcpp::PcapLiveDevice::doOpen
  - pcpp::PcapLiveDevice::open
  - pcpp::PcapLiveDevice::open
  - pcpp::PcapLiveDevice::close
  - pcpp::PcapLiveDevice::clone
  - pcpp::PcapLiveDevice::startCapture
  - pcpp::PcapLiveDevice::startCapture
  - pcpp::PcapLiveDevice::startCapture
  - pcpp::PcapLiveDevice::startCapture
  - pcpp::PcapLiveDevice::startCaptureBlockingMode
  - pcpp::PcapLiveDevice::stopCapture
  - pcpp::PcapLiveDevice::captureActive
  - pcpp::PcapLiveDevice::getStatistics
  - pcpp::PcapLiveDevice::matchPacketWithFilter
  - pcpp::PcapLiveDevice::doMtuCheck
  - pcpp::PcapLiveDevice::isPayloadWithinMtu
  - pcpp::PcapLiveDevice::isPayloadWithinMtu
  - pcpp::PcapLiveDevice::isPayloadWithinMtu
  - pcpp::PcapLiveDevice::isPayloadWithinMtu
  - pcpp::PcapLiveDevice::sendPacket
  - pcpp::PcapLiveDevice::sendPacket
  - pcpp::PcapLiveDevice::sendPacket
  - pcpp::PcapLiveDevice::sendPacket
  - pcpp::PcapLiveDevice::sendPacketUnchecked
  - pcpp::sendPacketsLoop
  - pcpp::sendPacketsLoop
  - pcpp::PcapLiveDevice::sendPackets
  - pcpp::PcapLiveDevice::sendPackets
  - pcpp::PcapLiveDevice::sendPackets
  - pcpp::PcapLiveDevice::setDeviceMtu
  - pcpp::PcapLiveDevice::setDeviceMacAddress
  - pcpp::PcapLiveDevice::setDefaultGateway
  - pcpp::PcapLiveDevice::getIPv4Address
  - pcpp::PcapLiveDevice::getIPv6Address
  - pcpp::PcapLiveDevice::getDefaultGateway
  - '& PcapLiveDevice::getDnsServers() const'
  - pcpp::PcapLiveDevice::getPcapLibVersionInfo
  - pcpp::PcapLiveDevice::isNflogDevice
  - pcpp::PcapLiveDevice::doUpdateFilter
  - PcapLiveDevice::~PcapLiveDevice()
  - pcpp::internal::PcapHandle::PcapHandle
  - pcpp::internal::PcapHandle::PcapHandle
  - '& PcapHandle::operator=(PcapHandle&& other) noexcept'
  - '& PcapHandle::operator=(std::nullptr_t) noexcept'
  - PcapHandle::~PcapHandle()
  - pcpp::internal::PcapHandle::release
  - pcpp::internal::PcapHandle::reset
  - pcpp::internal::PcapHandle::getLastError
  - pcpp::internal::PcapHandle::setFilter
  - pcpp::internal::PcapHandle::clearFilter
  - pcpp::internal::PcapHandle::getStatistics
  - pcpp::internal::PcapHandle::PcapHandle
  - pcpp::internal::PcapHandle::PcapHandle
  - '& PcapHandle::operator=(PcapHandle&& other) noexcept'
  - '& PcapHandle::operator=(std::nullptr_t) noexcept'
  - PcapHandle::~PcapHandle()
  - pcpp::internal::PcapHandle::release
  - pcpp::internal::PcapHandle::reset
  - pcpp::internal::PcapHandle::getLastError
  - pcpp::internal::PcapHandle::setFilter
  - pcpp::internal::PcapHandle::clearFilter
  - pcpp::internal::PcapHandle::getStatistics
  - pcpp::directionTypeMap
  - pcpp::getPcapTimestampProvider
  - pcpp::getPcapPrecision
  - pcpp::isTimestampProviderSupportedByDevice
  - operator()(int* ptr) const noexcept
  - pcpp::setTimestampProvider
  - pcpp::setTimestampPrecision
  - PcapLiveDevice::DeviceInterfaceDetails::DeviceInterfaceDetails(pcap_if_t* pInterface)
  - pcpp::statsThreadMain
  - pcpp::onPacketArrivesNoop
  - pcpp::onPacketArrivesCallback
  - pcpp::onPacketArrivesCallbackWithCancellation
  - pcpp::onPacketArrivesAccumulator
  - pcpp::captureThreadMain
  - pcpp::captureThreadMainAccumulator
  - pcpp::statsThreadMain
  - pcpp::onPacketArrivesNoop
  - pcpp::onPacketArrivesCallback
  - pcpp::onPacketArrivesCallbackWithCancellation
  - pcpp::onPacketArrivesAccumulator
  - pcpp::captureThreadMain
  - pcpp::captureThreadMainAccumulator
  - pcpp::PcapLiveDevice::PcapLiveDevice
  - pcpp::PcapLiveDevice::doOpen
  - pcpp::PcapLiveDevice::open
  - pcpp::PcapLiveDevice::open
  - pcpp::PcapLiveDevice::close
  - pcpp::PcapLiveDevice::clone
  - pcpp::PcapLiveDevice::startCapture
  - pcpp::PcapLiveDevice::startCapture
  - pcpp::PcapLiveDevice::startCapture
  - pcpp::PcapLiveDevice::startCapture
  - pcpp::PcapLiveDevice::startCaptureBlockingMode
  - pcpp::PcapLiveDevice::stopCapture
  - pcpp::PcapLiveDevice::captureActive
  - pcpp::PcapLiveDevice::getStatistics
  - pcpp::PcapLiveDevice::matchPacketWithFilter
  - pcpp::PcapLiveDevice::doMtuCheck
  - pcpp::PcapLiveDevice::isPayloadWithinMtu
  - pcpp::PcapLiveDevice::isPayloadWithinMtu
  - pcpp::PcapLiveDevice::isPayloadWithinMtu
  - pcpp::PcapLiveDevice::isPayloadWithinMtu
  - pcpp::PcapLiveDevice::sendPacket
  - pcpp::PcapLiveDevice::sendPacket
  - pcpp::PcapLiveDevice::sendPacket
  - pcpp::PcapLiveDevice::sendPacket
  - pcpp::PcapLiveDevice::sendPacketUnchecked
  - pcpp::sendPacketsLoop
  - pcpp::sendPacketsLoop
  - pcpp::PcapLiveDevice::sendPackets
  - pcpp::PcapLiveDevice::sendPackets
  - pcpp::PcapLiveDevice::sendPackets
  - pcpp::PcapLiveDevice::setDeviceMtu
  - pcpp::PcapLiveDevice::setDeviceMacAddress
  - pcpp::PcapLiveDevice::setDefaultGateway
  - pcpp::PcapLiveDevice::getIPv4Address
  - pcpp::PcapLiveDevice::getIPv6Address
  - pcpp::PcapLiveDevice::getDefaultGateway
  - '& PcapLiveDevice::getDnsServers() const'
  - pcpp::PcapLiveDevice::getPcapLibVersionInfo
  - pcpp::PcapLiveDevice::isNflogDevice
  - pcpp::PcapLiveDevice::doUpdateFilter
  - PcapLiveDevice::~PcapLiveDevice()
  source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
      type_or_value: PcapLogModuleLiveDevice
    - item_type: preproc_def
      name: BPF_MAJOR_VERSION
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
      type_or_value: '1'
    - item_type: preproc_def
      name: LIBPCAP_OPEN_LIVE_TIMEOUT
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
      type_or_value: '10'
    - item_type: preproc_def
      name: LIBPCAP_OPEN_LIVE_TIMEOUT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
      type_or_value: '1'
    - item_type: preproc_def
      name: LIBPCAP_OPEN_LIVE_TIMEOUT
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
      type_or_value: '-1'
    - item_type: preproc_def
      name: PCAP_TSTAMP_HOST_HIPREC_UNSYNCED
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
      type_or_value: '5'
    structs:
    - fields: []
      item_type: struct
      name: TimestampTypesDeleter
      pos:
        line_end: 267
        line_start: 261
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: cbOnStatsUpdate
        type: OnStatsUpdateCallback
      - name: '* cbOnStatsUpdateUserCookie'
        type: void
      - name: updateInterval
        type: std::chrono::milliseconds
      item_type: struct
      name: StatisticsUpdateContext
      pos:
        line_end: 361
        line_start: 356
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: '* device'
        type: PcapLiveDevice
      - name: callback
        type: OnPacketArrivesCallback
      - name: '* userCookie'
        type: void
      item_type: struct
      name: CaptureContext
      pos:
        line_end: 427
        line_start: 422
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: '* device'
        type: PcapLiveDevice
      - name: '* capturedPackets'
        type: RawPacketVector
      item_type: struct
      name: AccumulatorCaptureContext
      pos:
        line_end: 433
        line_start: 429
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: '* device'
        type: PcapLiveDevice
      - name: callback
        type: OnPacketArrivesStopBlocking
      - name: '* userCookie'
        type: void
      - name: requestStop
        type: bool
      item_type: struct
      name: CaptureContextWithCancellation
      pos:
        line_end: 441
        line_start: 435
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: cbOnStatsUpdate
        type: OnStatsUpdateCallback
      - name: '* cbOnStatsUpdateUserCookie'
        type: void
      - name: updateInterval
        type: std::chrono::milliseconds
      item_type: struct
      name: StatisticsUpdateContext
      pos:
        line_end: 361
        line_start: 356
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: '* device'
        type: PcapLiveDevice
      - name: callback
        type: OnPacketArrivesCallback
      - name: '* userCookie'
        type: void
      item_type: struct
      name: CaptureContext
      pos:
        line_end: 427
        line_start: 422
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: '* device'
        type: PcapLiveDevice
      - name: '* capturedPackets'
        type: RawPacketVector
      item_type: struct
      name: AccumulatorCaptureContext
      pos:
        line_end: 433
        line_start: 429
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: '* device'
        type: PcapLiveDevice
      - name: callback
        type: OnPacketArrivesStopBlocking
      - name: '* userCookie'
        type: void
      - name: requestStop
        type: bool
      item_type: struct
      name: CaptureContextWithCancellation
      pos:
        line_end: 441
        line_start: 435
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: header
        type: struct rt_msghdr
      - name: messageSpace[512]
        type: char
      item_type: struct
      name: BSDRoutingMessage
      pos:
        line_end: 1657
        line_start: 1653
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields: []
      item_type: struct
      name: TimestampTypesDeleter
      pos:
        line_end: 267
        line_start: 261
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: cbOnStatsUpdate
        type: OnStatsUpdateCallback
      - name: '* cbOnStatsUpdateUserCookie'
        type: void
      - name: updateInterval
        type: std::chrono::milliseconds
      item_type: struct
      name: StatisticsUpdateContext
      pos:
        line_end: 361
        line_start: 356
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: '* device'
        type: PcapLiveDevice
      - name: callback
        type: OnPacketArrivesCallback
      - name: '* userCookie'
        type: void
      item_type: struct
      name: CaptureContext
      pos:
        line_end: 427
        line_start: 422
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: '* device'
        type: PcapLiveDevice
      - name: '* capturedPackets'
        type: RawPacketVector
      item_type: struct
      name: AccumulatorCaptureContext
      pos:
        line_end: 433
        line_start: 429
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: '* device'
        type: PcapLiveDevice
      - name: callback
        type: OnPacketArrivesStopBlocking
      - name: '* userCookie'
        type: void
      - name: requestStop
        type: bool
      item_type: struct
      name: CaptureContextWithCancellation
      pos:
        line_end: 441
        line_start: 435
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: cbOnStatsUpdate
        type: OnStatsUpdateCallback
      - name: '* cbOnStatsUpdateUserCookie'
        type: void
      - name: updateInterval
        type: std::chrono::milliseconds
      item_type: struct
      name: StatisticsUpdateContext
      pos:
        line_end: 361
        line_start: 356
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: '* device'
        type: PcapLiveDevice
      - name: callback
        type: OnPacketArrivesCallback
      - name: '* userCookie'
        type: void
      item_type: struct
      name: CaptureContext
      pos:
        line_end: 427
        line_start: 422
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: '* device'
        type: PcapLiveDevice
      - name: '* capturedPackets'
        type: RawPacketVector
      item_type: struct
      name: AccumulatorCaptureContext
      pos:
        line_end: 433
        line_start: 429
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: '* device'
        type: PcapLiveDevice
      - name: callback
        type: OnPacketArrivesStopBlocking
      - name: '* userCookie'
        type: void
      - name: requestStop
        type: bool
      item_type: struct
      name: CaptureContextWithCancellation
      pos:
        line_end: 441
        line_start: 435
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    - fields:
      - name: header
        type: struct rt_msghdr
      - name: messageSpace[512]
        type: char
      item_type: struct
      name: BSDRoutingMessage
      pos:
        line_end: 1657
        line_start: 1653
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapLiveDevice.cpp
    typedefs: []
    union: []
- function_names:
  - pcpp::arpPacketReceived
  - pcpp::NetworkUtils::getMacAddress
  - pcpp::dnsResponseReceived
  - pcpp::NetworkUtils::getIPv4Address
  - pcpp::arpPacketReceived
  - pcpp::NetworkUtils::getMacAddress
  - pcpp::dnsResponseReceived
  - pcpp::NetworkUtils::getIPv4Address
  source_file: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
      type_or_value: PcapLogModuleNetworkUtils
    - item_type: preproc_def
      name: ETIMEDOUT
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
      type_or_value: '10060'
    - item_type: preproc_def
      name: DNS_PORT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
      type_or_value: '53'
    structs:
    - fields:
      - name: '& mutex'
        type: std::mutex
      - name: '& cond'
        type: std::condition_variable
      - name: ipAddr
        type: IPv4Address
      - name: start
        type: std::chrono::steady_clock::time_point
      - name: result
        type: MacAddress
      - name: arpResponseTime
        type: double
      item_type: struct
      name: ArpingReceivedData
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
    - fields:
      - name: '& mutex'
        type: std::mutex
      - name: '& cond'
        type: std::condition_variable
      - name: hostname
        type: std::string
      - name: transactionID
        type: uint16_t
      - name: start
        type: std::chrono::steady_clock::time_point
      - name: result
        type: IPv4Address
      - name: ttl
        type: uint32_t
      - name: dnsResponseTime
        type: double
      item_type: struct
      name: DNSReceivedData
      pos:
        line_end: 192
        line_start: 182
        source_file: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
    - fields:
      - name: '& mutex'
        type: std::mutex
      - name: '& cond'
        type: std::condition_variable
      - name: ipAddr
        type: IPv4Address
      - name: start
        type: std::chrono::steady_clock::time_point
      - name: result
        type: MacAddress
      - name: arpResponseTime
        type: double
      item_type: struct
      name: ArpingReceivedData
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
    - fields:
      - name: '& mutex'
        type: std::mutex
      - name: '& cond'
        type: std::condition_variable
      - name: hostname
        type: std::string
      - name: transactionID
        type: uint16_t
      - name: start
        type: std::chrono::steady_clock::time_point
      - name: result
        type: IPv4Address
      - name: ttl
        type: uint32_t
      - name: dnsResponseTime
        type: double
      item_type: struct
      name: DNSReceivedData
      pos:
        line_end: 192
        line_start: 182
        source_file: /src/PcapPlusPlus/Pcap++/src/NetworkUtils.cpp
    typedefs: []
    union: []
- function_names:
  - pcpp::WinSockInitializer::initialize
  - pcpp::SocketContainer
  - pcpp::SocketContainer
  - pcpp::RawSocketDevice::RawSocketDevice
  - RawSocketDevice::~RawSocketDevice()
  - pcpp::RawSocketDevice::receivePacket
  - pcpp::RawSocketDevice::receivePackets
  - pcpp::RawSocketDevice::sendPacket
  - pcpp::RawSocketDevice::sendPackets
  - pcpp::RawSocketDevice::open
  - pcpp::RawSocketDevice::close
  - pcpp::RawSocketDevice::getError
  - pcpp::WinSockInitializer::initialize
  - pcpp::SocketContainer
  - pcpp::SocketContainer
  - pcpp::RawSocketDevice::RawSocketDevice
  - RawSocketDevice::~RawSocketDevice()
  - pcpp::RawSocketDevice::receivePacket
  - pcpp::RawSocketDevice::receivePackets
  - pcpp::RawSocketDevice::sendPacket
  - pcpp::RawSocketDevice::sendPackets
  - pcpp::RawSocketDevice::open
  - pcpp::RawSocketDevice::close
  - pcpp::RawSocketDevice::getError
  source_file: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RAW_SOCKET_BUFFER_LEN
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
      type_or_value: '65536'
    - item_type: preproc_def
      name: SIO_RCVALL
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
      type_or_value: '0x98000001'
    - item_type: preproc_def
      name: RAW_SOCKET_BUFFER_LEN
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
      type_or_value: '65536'
    - item_type: preproc_def
      name: SIO_RCVALL
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
      type_or_value: '0x98000001'
    structs:
    - fields: []
      item_type: struct
      name: RawSocketDevice::SocketContainer
      pos:
        line_end: 75
        line_start: 59
        source_file: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    - fields: []
      item_type: struct
      name: RawSocketDevice::SocketContainer
      pos:
        line_end: 75
        line_start: 59
        source_file: /src/PcapPlusPlus/Pcap++/src/RawSocketDevice.cpp
    typedefs: []
    union: []
- function_names:
  - pcpp::internal::getAllLocalPcapDevices
  - pcpp::internal::getAllLocalPcapDevices
  - pcpp::internal::getAllLocalPcapDevices
  - pcpp::internal::getAllLocalPcapDevices
  source_file: /src/PcapPlusPlus/Pcap++/src/DeviceUtils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - IS_POWER_OF_TWO
  - "XdpDevice::XdpUmem::XdpUmem(uint16_t numFrames, uint16_t frameSize, uint32_t
    fillRingSize,\n\t                            uint32_t completionRingSize)"
  - XdpDevice::XdpUmem::~XdpUmem()
  - '* XdpDevice::XdpUmem::getDataPtr(uint64_t addr) const'
  - XdpDevice::XdpUmem::setData(uint64_t addr, const uint8_t* data, size_t dataLen)
  - XdpDevice::XdpUmem::allocateFrames(uint32_t count)
  - XdpDevice::XdpUmem::freeFrame(uint64_t addr)
  - pcpp::XdpDevice::XdpDevice
  - XdpDevice::~XdpDevice()
  - pcpp::XdpDevice::receivePackets
  - pcpp::XdpDevice::stopReceivePackets
  - pcpp::XdpDevice::sendPackets
  - pcpp::XdpDevice::sendPackets
  - pcpp::XdpDevice::sendPackets
  - pcpp::XdpDevice::populateFillRing
  - pcpp::XdpDevice::populateFillRing
  - pcpp::XdpDevice::checkCompletionRing
  - pcpp::XdpDevice::configureSocket
  - pcpp::XdpDevice::initUmem
  - pcpp::XdpDevice::populateConfigDefaults
  - pcpp::XdpDevice::open
  - pcpp::XdpDevice::open
  - pcpp::XdpDevice::close
  - pcpp::XdpDevice::getSocketStats
  - nanosec_gap
  - pcpp::XdpDevice::getStatistics
  - IS_POWER_OF_TWO
  - "XdpDevice::XdpUmem::XdpUmem(uint16_t numFrames, uint16_t frameSize, uint32_t
    fillRingSize,\n\t                            uint32_t completionRingSize)"
  - XdpDevice::XdpUmem::~XdpUmem()
  - '* XdpDevice::XdpUmem::getDataPtr(uint64_t addr) const'
  - XdpDevice::XdpUmem::setData(uint64_t addr, const uint8_t* data, size_t dataLen)
  - XdpDevice::XdpUmem::allocateFrames(uint32_t count)
  - XdpDevice::XdpUmem::freeFrame(uint64_t addr)
  - pcpp::XdpDevice::XdpDevice
  - XdpDevice::~XdpDevice()
  - pcpp::XdpDevice::receivePackets
  - pcpp::XdpDevice::stopReceivePackets
  - pcpp::XdpDevice::sendPackets
  - pcpp::XdpDevice::sendPackets
  - pcpp::XdpDevice::sendPackets
  - pcpp::XdpDevice::populateFillRing
  - pcpp::XdpDevice::populateFillRing
  - pcpp::XdpDevice::checkCompletionRing
  - pcpp::XdpDevice::configureSocket
  - pcpp::XdpDevice::initUmem
  - pcpp::XdpDevice::populateConfigDefaults
  - pcpp::XdpDevice::open
  - pcpp::XdpDevice::open
  - pcpp::XdpDevice::close
  - pcpp::XdpDevice::getSocketStats
  - nanosec_gap
  - pcpp::XdpDevice::getStatistics
  source_file: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
      type_or_value: PcapLogModuleXdpDevice
    - item_type: preproc_def
      name: DEFAULT_UMEM_NUM_FRAMES
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
      type_or_value: (XSK_RING_PROD__DEFAULT_NUM_DESCS * 2)
    - item_type: preproc_def
      name: DEFAULT_FILL_RING_SIZE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
      type_or_value: (XSK_RING_PROD__DEFAULT_NUM_DESCS * 2)
    - item_type: preproc_def
      name: DEFAULT_COMPLETION_RING_SIZE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
      type_or_value: XSK_RING_PROD__DEFAULT_NUM_DESCS
    - item_type: preproc_def
      name: DEFAULT_BATCH_SIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
      type_or_value: '64'
    - item_type: preproc_def
      name: DEFAULT_UMEM_NUM_FRAMES
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
      type_or_value: (XSK_RING_PROD__DEFAULT_NUM_DESCS * 2)
    - item_type: preproc_def
      name: DEFAULT_FILL_RING_SIZE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
      type_or_value: (XSK_RING_PROD__DEFAULT_NUM_DESCS * 2)
    - item_type: preproc_def
      name: DEFAULT_COMPLETION_RING_SIZE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
      type_or_value: XSK_RING_PROD__DEFAULT_NUM_DESCS
    - item_type: preproc_def
      name: DEFAULT_BATCH_SIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
      type_or_value: '64'
    structs:
    - fields:
      - name: fq
        type: struct xsk_ring_prod
      - name: cq
        type: struct xsk_ring_cons
      - name: '* umem'
        type: struct xsk_umem
      item_type: struct
      name: xsk_umem_info
      pos:
        line_end: 25
        line_start: 20
        source_file: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    - fields:
      - name: rx
        type: struct xsk_ring_cons
      - name: tx
        type: struct xsk_ring_prod
      - name: '* xsk'
        type: struct xsk_socket
      item_type: struct
      name: xsk_socket_info
      pos:
        line_end: 32
        line_start: 27
        source_file: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    - fields:
      - name: fq
        type: struct xsk_ring_prod
      - name: cq
        type: struct xsk_ring_cons
      - name: '* umem'
        type: struct xsk_umem
      item_type: struct
      name: xsk_umem_info
      pos:
        line_end: 25
        line_start: 20
        source_file: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    - fields:
      - name: rx
        type: struct xsk_ring_cons
      - name: tx
        type: struct xsk_ring_prod
      - name: '* xsk'
        type: struct xsk_socket
      item_type: struct
      name: xsk_socket_info
      pos:
        line_end: 32
        line_start: 27
        source_file: /src/PcapPlusPlus/Pcap++/src/XdpDevice.cpp
    typedefs: []
    union: []
- function_names:
  - pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
  - pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
  - '& operator=(const WinDivertOverlappedWrapper&)'
  - '& operator=(WinDivertOverlappedWrapper&&)'
  - pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
  - ~WinDivertOverlappedWrapper() override
  - pcpp::internal::WinDivertOverlappedWrapper::get
  - pcpp::internal::WinDivertOverlappedWrapper::wait
  - pcpp::internal::WinDivertOverlappedWrapper::reset
  - pcpp::internal::WinDivertOverlappedWrapper::getOverlappedResult
  - pcpp::internal::WinDivertHandle::WinDivertHandle
  - ~WinDivertHandle() override
  - pcpp::internal::WinDivertHandle::close
  - pcpp::internal::WinDivertHandle::recvEx
  - pcpp::internal::WinDivertHandle::recvExComplete
  - pcpp::internal::WinDivertHandle::sendEx
  - pcpp::internal::WinDivertHandle::createOverlapped
  - pcpp::internal::WinDivertHandle::getParam
  - pcpp::internal::WinDivertHandle::setParam
  - pcpp::internal::WinDivertDriver::open
  - pcpp::internal::WinDivertDriver::getNetworkInterfaces
  - pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
  - pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
  - '& operator=(const WinDivertOverlappedWrapper&)'
  - '& operator=(WinDivertOverlappedWrapper&&)'
  - pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
  - ~WinDivertOverlappedWrapper() override
  - pcpp::internal::WinDivertOverlappedWrapper::get
  - pcpp::internal::WinDivertOverlappedWrapper::wait
  - pcpp::internal::WinDivertOverlappedWrapper::reset
  - pcpp::internal::WinDivertOverlappedWrapper::getOverlappedResult
  - pcpp::internal::WinDivertHandle::WinDivertHandle
  - ~WinDivertHandle() override
  - pcpp::internal::WinDivertHandle::close
  - pcpp::internal::WinDivertHandle::recvEx
  - pcpp::internal::WinDivertHandle::recvExComplete
  - pcpp::internal::WinDivertHandle::sendEx
  - pcpp::internal::WinDivertHandle::createOverlapped
  - pcpp::internal::WinDivertHandle::getParam
  - pcpp::internal::WinDivertHandle::setParam
  - pcpp::internal::WinDivertDriver::open
  - pcpp::internal::WinDivertDriver::getNetworkInterfaces
  - pcpp::WinDivertDevice::WinDivertDevice
  - pcpp::WinDivertDevice::open
  - pcpp::WinDivertDevice::open
  - pcpp::WinDivertDevice::close
  - pcpp::WinDivertDevice::receivePackets
  - pcpp::WinDivertDevice::receivePackets
  - pcpp::WinDivertDevice::stopReceive
  - pcpp::WinDivertDevice::sendPackets
  - pcpp::WinDivertDevice::getPacketQueueParams
  - pcpp::WinDivertDevice::setPacketQueueParams
  - pcpp::WinDivertDevice::getVersion
  - pcpp::WinDivertDevice::getNetworkInterface
  - pcpp::WinDivertDevice::getNetworkInterfaces
  - pcpp::WinDivertDevice::receivePacketsInternal
  - pcpp::WinDivertDevice::getPacketInfo
  - pcpp::WinDivertDevice::setNetworkInterfaces
  - pcpp::WinDivertDevice::getErrorString
  - pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
  - pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
  - '& operator=(const WinDivertOverlappedWrapper&)'
  - '& operator=(WinDivertOverlappedWrapper&&)'
  - pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
  - ~WinDivertOverlappedWrapper() override
  - pcpp::internal::WinDivertOverlappedWrapper::get
  - pcpp::internal::WinDivertOverlappedWrapper::wait
  - pcpp::internal::WinDivertOverlappedWrapper::reset
  - pcpp::internal::WinDivertOverlappedWrapper::getOverlappedResult
  - pcpp::internal::WinDivertHandle::WinDivertHandle
  - ~WinDivertHandle() override
  - pcpp::internal::WinDivertHandle::close
  - pcpp::internal::WinDivertHandle::recvEx
  - pcpp::internal::WinDivertHandle::recvExComplete
  - pcpp::internal::WinDivertHandle::sendEx
  - pcpp::internal::WinDivertHandle::createOverlapped
  - pcpp::internal::WinDivertHandle::getParam
  - pcpp::internal::WinDivertHandle::setParam
  - pcpp::internal::WinDivertDriver::open
  - pcpp::internal::WinDivertDriver::getNetworkInterfaces
  - pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
  - pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
  - '& operator=(const WinDivertOverlappedWrapper&)'
  - '& operator=(WinDivertOverlappedWrapper&&)'
  - pcpp::internal::WinDivertOverlappedWrapper::WinDivertOverlappedWrapper
  - ~WinDivertOverlappedWrapper() override
  - pcpp::internal::WinDivertOverlappedWrapper::get
  - pcpp::internal::WinDivertOverlappedWrapper::wait
  - pcpp::internal::WinDivertOverlappedWrapper::reset
  - pcpp::internal::WinDivertOverlappedWrapper::getOverlappedResult
  - pcpp::internal::WinDivertHandle::WinDivertHandle
  - ~WinDivertHandle() override
  - pcpp::internal::WinDivertHandle::close
  - pcpp::internal::WinDivertHandle::recvEx
  - pcpp::internal::WinDivertHandle::recvExComplete
  - pcpp::internal::WinDivertHandle::sendEx
  - pcpp::internal::WinDivertHandle::createOverlapped
  - pcpp::internal::WinDivertHandle::getParam
  - pcpp::internal::WinDivertHandle::setParam
  - pcpp::internal::WinDivertDriver::open
  - pcpp::internal::WinDivertDriver::getNetworkInterfaces
  - pcpp::WinDivertDevice::WinDivertDevice
  - pcpp::WinDivertDevice::open
  - pcpp::WinDivertDevice::open
  - pcpp::WinDivertDevice::close
  - pcpp::WinDivertDevice::receivePackets
  - pcpp::WinDivertDevice::receivePackets
  - pcpp::WinDivertDevice::stopReceive
  - pcpp::WinDivertDevice::sendPackets
  - pcpp::WinDivertDevice::getPacketQueueParams
  - pcpp::WinDivertDevice::setPacketQueueParams
  - pcpp::WinDivertDevice::getVersion
  - pcpp::WinDivertDevice::getNetworkInterface
  - pcpp::WinDivertDevice::getNetworkInterfaces
  - pcpp::WinDivertDevice::receivePacketsInternal
  - pcpp::WinDivertDevice::getPacketInfo
  - pcpp::WinDivertDevice::setNetworkInterfaces
  - pcpp::WinDivertDevice::getErrorString
  source_file: /src/PcapPlusPlus/Pcap++/src/WinDivertDevice.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::PcapRemoteAuthentication::getPcapRmAuth
  - pcpp::PcapRemoteDevice::PcapRemoteDevice
  - pcpp::PcapRemoteDevice::open
  - pcpp::PcapRemoteDevice::getStatistics
  - pcpp::PcapRemoteDevice::getMtu
  - pcpp::PcapRemoteDevice::getMacAddress
  - pcpp::PcapRemoteDevice::clone
  - pcpp::PcapRemoteAuthentication::getPcapRmAuth
  - pcpp::PcapRemoteDevice::PcapRemoteDevice
  - pcpp::PcapRemoteDevice::open
  - pcpp::PcapRemoteDevice::getStatistics
  - pcpp::PcapRemoteDevice::getMtu
  - pcpp::PcapRemoteDevice::getMacAddress
  - pcpp::PcapRemoteDevice::clone
  source_file: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapRemoteDevice.cpp
      type_or_value: PcapLogModuleRemoteDevice
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::DpdkDeviceList::DpdkDeviceList
  - DpdkDeviceList::~DpdkDeviceList()
  - pcpp::DpdkDeviceList::initDpdk
  - pcpp::DpdkDeviceList::initDpdkDevices
  - pcpp::DpdkDeviceList::getDeviceByPort
  - pcpp::DpdkDeviceList::getDeviceByPciAddress
  - pcpp::DpdkDeviceList::verifyHugePagesAndDpdkDriver
  - pcpp::DpdkDeviceList::getDpdkMasterCore
  - pcpp::DpdkDeviceList::setDpdkLogLevel
  - pcpp::DpdkDeviceList::getDpdkLogLevel
  - pcpp::DpdkDeviceList::writeDpdkLogToFile
  - pcpp::DpdkDeviceList::dpdkWorkerThreadStart
  - pcpp::DpdkDeviceList::startDpdkWorkerThreads
  - pcpp::DpdkDeviceList::stopDpdkWorkerThreads
  - pcpp::DpdkDeviceList::DpdkDeviceList
  - DpdkDeviceList::~DpdkDeviceList()
  - pcpp::DpdkDeviceList::initDpdk
  - pcpp::DpdkDeviceList::initDpdkDevices
  - pcpp::DpdkDeviceList::getDeviceByPort
  - pcpp::DpdkDeviceList::getDeviceByPciAddress
  - pcpp::DpdkDeviceList::verifyHugePagesAndDpdkDriver
  - pcpp::DpdkDeviceList::getDpdkMasterCore
  - pcpp::DpdkDeviceList::setDpdkLogLevel
  - pcpp::DpdkDeviceList::getDpdkLogLevel
  - pcpp::DpdkDeviceList::writeDpdkLogToFile
  - pcpp::DpdkDeviceList::dpdkWorkerThreadStart
  - pcpp::DpdkDeviceList::startDpdkWorkerThreads
  - pcpp::DpdkDeviceList::stopDpdkWorkerThreads
  source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
      type_or_value: PcapLogModuleDpdkDevice
    - item_type: preproc_def
      name: GET_MASTER_CORE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
      type_or_value: rte_get_master_lcore
    - item_type: preproc_def
      name: MASTER_LCORE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
      type_or_value: '"--master-lcore"'
    - item_type: preproc_def
      name: GET_MASTER_CORE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
      type_or_value: rte_get_main_lcore
    - item_type: preproc_def
      name: MASTER_LCORE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDeviceList.cpp
      type_or_value: '"--main-lcore"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::getDeviceInfo
  - pcpp::DpdkDevice::DpdkDevice
  - DpdkDevice::~DpdkDevice()
  - pcpp::DpdkDevice::getCurrentCoreId
  - pcpp::DpdkDevice::setMtu
  - pcpp::DpdkDevice::openMultiQueues
  - pcpp::DpdkDevice::close
  - pcpp::DpdkDevice::configurePort
  - pcpp::DpdkDevice::initQueues
  - pcpp::DpdkDevice::initMemPool
  - pcpp::DpdkDevice::startDevice
  - pcpp::DpdkDevice::clearCoreConfiguration
  - pcpp::DpdkDevice::getCoresInUseCount
  - pcpp::DpdkDevice::setDeviceInfo
  - pcpp::DpdkDevice::isVirtual
  - pcpp::DpdkDevice::getLinkStatus
  - pcpp::DpdkDevice::initCoreConfigurationByCoreMask
  - pcpp::DpdkDevice::startCaptureSingleThread
  - pcpp::DpdkDevice::startCaptureMultiThreads
  - pcpp::DpdkDevice::stopCapture
  - pcpp::DpdkDevice::dpdkCaptureThreadMain
  - nanosec_gap
  - pcpp::DpdkDevice::getStatistics
  - pcpp::DpdkDevice::clearStatistics
  - pcpp::DpdkDevice::setFilter
  - pcpp::DpdkDevice::setFilter
  - pcpp::DpdkDevice::receivePackets
  - pcpp::DpdkDevice::receivePackets
  - pcpp::DpdkDevice::receivePackets
  - pcpp::DpdkDevice::flushTxBuffer
  - pcpp::getNextPacketFromMBufRawPacketArray
  - pcpp::getNextPacketFromMBufArray
  - pcpp::getNextPacketFromMBufRawPacketVec
  - pcpp::getNextPacketFromMBufRawPacket
  - pcpp::DpdkDevice::sendPacketsInner
  - pcpp::DpdkDevice::sendPackets
  - pcpp::DpdkDevice::sendPackets
  - pcpp::DpdkDevice::sendPackets
  - pcpp::DpdkDevice::sendPackets
  - pcpp::DpdkDevice::sendPacket
  - pcpp::DpdkDevice::sendPacket
  - pcpp::DpdkDevice::sendPacket
  - pcpp::DpdkDevice::getAmountOfFreeMbufs
  - pcpp::DpdkDevice::getAmountOfMbufsInUse
  - pcpp::DpdkDevice::convertRssHfToDpdkRssHf
  - pcpp::DpdkDevice::convertDpdkRssHfToRssHf
  - pcpp::DpdkDevice::isDeviceSupportRssHashFunction
  - pcpp::DpdkDevice::isDeviceSupportRssHashFunction
  - pcpp::DpdkDevice::getSupportedRssHashFunctions
  - pcpp::DpdkDevice::getConfiguredRssHashFunction
  - pcpp::DpdkDevice::rssHashFunctionMaskToString
  - DpdkDevice::QueueStatsCollector::init(uint16_t portId, uint16_t rxQueueCount,
    uint16_t txQueueCount)
  - "DpdkDevice::QueueStatsCollector::collect(DpdkDeviceStats& stats, const DpdkDeviceStats&
    prevStats,\n\t                                              double secsElapsed)
    const"
  - DpdkDevice::QueueStatsCollector::resolveStatId(const std::string& statName, uint64_t&
    idOut) const
  - DpdkDevice::QueueStatsCollector::resolveStatIds()
  - pcpp::getDeviceInfo
  - pcpp::DpdkDevice::DpdkDevice
  - DpdkDevice::~DpdkDevice()
  - pcpp::DpdkDevice::getCurrentCoreId
  - pcpp::DpdkDevice::setMtu
  - pcpp::DpdkDevice::openMultiQueues
  - pcpp::DpdkDevice::close
  - pcpp::DpdkDevice::configurePort
  - pcpp::DpdkDevice::initQueues
  - pcpp::DpdkDevice::initMemPool
  - pcpp::DpdkDevice::startDevice
  - pcpp::DpdkDevice::clearCoreConfiguration
  - pcpp::DpdkDevice::getCoresInUseCount
  - pcpp::DpdkDevice::setDeviceInfo
  - pcpp::DpdkDevice::isVirtual
  - pcpp::DpdkDevice::getLinkStatus
  - pcpp::DpdkDevice::initCoreConfigurationByCoreMask
  - pcpp::DpdkDevice::startCaptureSingleThread
  - pcpp::DpdkDevice::startCaptureMultiThreads
  - pcpp::DpdkDevice::stopCapture
  - pcpp::DpdkDevice::dpdkCaptureThreadMain
  - nanosec_gap
  - pcpp::DpdkDevice::getStatistics
  - pcpp::DpdkDevice::clearStatistics
  - pcpp::DpdkDevice::setFilter
  - pcpp::DpdkDevice::setFilter
  - pcpp::DpdkDevice::receivePackets
  - pcpp::DpdkDevice::receivePackets
  - pcpp::DpdkDevice::receivePackets
  - pcpp::DpdkDevice::flushTxBuffer
  - pcpp::getNextPacketFromMBufRawPacketArray
  - pcpp::getNextPacketFromMBufArray
  - pcpp::getNextPacketFromMBufRawPacketVec
  - pcpp::getNextPacketFromMBufRawPacket
  - pcpp::DpdkDevice::sendPacketsInner
  - pcpp::DpdkDevice::sendPackets
  - pcpp::DpdkDevice::sendPackets
  - pcpp::DpdkDevice::sendPackets
  - pcpp::DpdkDevice::sendPackets
  - pcpp::DpdkDevice::sendPacket
  - pcpp::DpdkDevice::sendPacket
  - pcpp::DpdkDevice::sendPacket
  - pcpp::DpdkDevice::getAmountOfFreeMbufs
  - pcpp::DpdkDevice::getAmountOfMbufsInUse
  - pcpp::DpdkDevice::convertRssHfToDpdkRssHf
  - pcpp::DpdkDevice::convertDpdkRssHfToRssHf
  - pcpp::DpdkDevice::isDeviceSupportRssHashFunction
  - pcpp::DpdkDevice::isDeviceSupportRssHashFunction
  - pcpp::DpdkDevice::getSupportedRssHashFunctions
  - pcpp::DpdkDevice::getConfiguredRssHashFunction
  - pcpp::DpdkDevice::rssHashFunctionMaskToString
  - DpdkDevice::QueueStatsCollector::init(uint16_t portId, uint16_t rxQueueCount,
    uint16_t txQueueCount)
  - "DpdkDevice::QueueStatsCollector::collect(DpdkDeviceStats& stats, const DpdkDeviceStats&
    prevStats,\n\t                                              double secsElapsed)
    const"
  - DpdkDevice::QueueStatsCollector::resolveStatId(const std::string& statName, uint64_t&
    idOut) const
  - DpdkDevice::QueueStatsCollector::resolveStatIds()
  source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: PcapLogModuleDpdkDevice
    - item_type: preproc_def
      name: MAX_BURST_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: '64'
    - item_type: preproc_def
      name: MEMPOOL_CACHE_SIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: '256'
    - item_type: preproc_def
      name: GET_MASTER_CORE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: rte_get_master_lcore
    - item_type: preproc_def
      name: GET_MASTER_CORE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: rte_get_main_lcore
    - item_type: preproc_def
      name: DPDK_CONFIG_HEADER_SPLIT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: 0  ///< Header Split disabled
    - item_type: preproc_def
      name: DPDK_CONFIG_SPLIT_HEADER_SIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: '0'
    - item_type: preproc_def
      name: DPDK_CONFIG_HW_IP_CHECKSUM
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: 0  ///< IP checksum offload disabled
    - item_type: preproc_def
      name: DPDK_CONFIG_HW_VLAN_FILTER
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: 0  ///< VLAN filtering disabled
    - item_type: preproc_def
      name: DPDK_CONFIG_JUMBO_FRAME
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: 0     ///< Jumbo Frame Support disabled
    - item_type: preproc_def
      name: DPDK_CONFIG_HW_STRIP_CRC
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: 0    ///< CRC stripped by hardware disabled
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_LINK_FULL_DUPLEX
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_LINK_FULL_DUPLEX
    - item_type: preproc_def
      name: DPDK_CONFIG_MQ_RSS
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS
    - item_type: preproc_def
      name: DPDK_CONFIG_MQ_NO_RSS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_MQ_RX_NONE
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_LINK_FULL_DUPLEX
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_LINK_FULL_DUPLEX
    - item_type: preproc_def
      name: DPDK_CONFIG_MQ_RSS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_MQ_RX_RSS
    - item_type: preproc_def
      name: DPDK_CONFIG_MQ_NO_RSS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_MQ_RX_NONE
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV4
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_IPV4
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_FRAG_IPV4
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_FRAG_IPV4
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_TCP
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV4_TCP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_UDP
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV4_UDP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_SCTP
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV4_SCTP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_OTHER
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV4_OTHER
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_IPV6
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_FRAG_IPV6
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_FRAG_IPV6
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_TCP
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV6_TCP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_UDP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV6_UDP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_SCTP
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV6_SCTP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_OTHER
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV6_OTHER
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_L2_PAYLOAD
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_L2_PAYLOAD
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6_EX
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_IPV6_EX
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6_TCP_EX
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_IPV6_TCP_EX
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6_UDP_EX
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_IPV6_UDP_EX
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_PORT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_PORT
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_VXLAN
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_VXLAN
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_GENEVE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_GENEVE
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NVGRE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NVGRE
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV4
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_IPV4
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_FRAG_IPV4
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_FRAG_IPV4
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_TCP
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV4_TCP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_UDP
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV4_UDP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_SCTP
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV4_SCTP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_OTHER
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV4_OTHER
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_IPV6
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_FRAG_IPV6
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_FRAG_IPV6
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_TCP
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV6_TCP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_UDP
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV6_UDP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_SCTP
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV6_SCTP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_OTHER
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV6_OTHER
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_L2_PAYLOAD
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_L2_PAYLOAD
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6_EX
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_IPV6_EX
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6_TCP_EX
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_IPV6_TCP_EX
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6_UDP_EX
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_IPV6_UDP_EX
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_PORT
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_PORT
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_VXLAN
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_VXLAN
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_GENEVE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_GENEVE
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NVGRE
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NVGRE
    - item_type: preproc_def
      name: PACKET_TRANSMISSION_THRESHOLD
      pos:
        line_end: 1086
        line_start: 1085
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: '0.8'
    - item_type: preproc_def
      name: DPDK_CONFIG_HEADER_SPLIT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: 0  ///< Header Split disabled
    - item_type: preproc_def
      name: DPDK_CONFIG_SPLIT_HEADER_SIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: '0'
    - item_type: preproc_def
      name: DPDK_CONFIG_HW_IP_CHECKSUM
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: 0  ///< IP checksum offload disabled
    - item_type: preproc_def
      name: DPDK_CONFIG_HW_VLAN_FILTER
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: 0  ///< VLAN filtering disabled
    - item_type: preproc_def
      name: DPDK_CONFIG_JUMBO_FRAME
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: 0     ///< Jumbo Frame Support disabled
    - item_type: preproc_def
      name: DPDK_CONFIG_HW_STRIP_CRC
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: 0    ///< CRC stripped by hardware disabled
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_LINK_FULL_DUPLEX
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_LINK_FULL_DUPLEX
    - item_type: preproc_def
      name: DPDK_CONFIG_MQ_RSS
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS
    - item_type: preproc_def
      name: DPDK_CONFIG_MQ_NO_RSS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_MQ_RX_NONE
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_LINK_FULL_DUPLEX
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_LINK_FULL_DUPLEX
    - item_type: preproc_def
      name: DPDK_CONFIG_MQ_RSS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_MQ_RX_RSS
    - item_type: preproc_def
      name: DPDK_CONFIG_MQ_NO_RSS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_MQ_RX_NONE
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV4
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_IPV4
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_FRAG_IPV4
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_FRAG_IPV4
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_TCP
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV4_TCP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_UDP
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV4_UDP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_SCTP
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV4_SCTP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_OTHER
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV4_OTHER
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_IPV6
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_FRAG_IPV6
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_FRAG_IPV6
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_TCP
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV6_TCP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_UDP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV6_UDP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_SCTP
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV6_SCTP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_OTHER
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NONFRAG_IPV6_OTHER
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_L2_PAYLOAD
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_L2_PAYLOAD
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6_EX
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_IPV6_EX
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6_TCP_EX
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_IPV6_TCP_EX
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6_UDP_EX
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_IPV6_UDP_EX
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_PORT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_PORT
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_VXLAN
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_VXLAN
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_GENEVE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_GENEVE
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NVGRE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: ETH_RSS_NVGRE
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV4
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_IPV4
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_FRAG_IPV4
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_FRAG_IPV4
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_TCP
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV4_TCP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_UDP
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV4_UDP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_SCTP
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV4_SCTP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV4_OTHER
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV4_OTHER
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_IPV6
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_FRAG_IPV6
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_FRAG_IPV6
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_TCP
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV6_TCP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_UDP
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV6_UDP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_SCTP
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV6_SCTP
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NONFRAG_IPV6_OTHER
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NONFRAG_IPV6_OTHER
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_L2_PAYLOAD
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_L2_PAYLOAD
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6_EX
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_IPV6_EX
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6_TCP_EX
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_IPV6_TCP_EX
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_IPV6_UDP_EX
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_IPV6_UDP_EX
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_PORT
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_PORT
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_VXLAN
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_VXLAN
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_GENEVE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_GENEVE
    - item_type: preproc_def
      name: DPDK_CONFIG_ETH_RSS_NVGRE
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: RTE_ETH_RSS_NVGRE
    - item_type: preproc_def
      name: PACKET_TRANSMISSION_THRESHOLD
      pos:
        line_end: 1086
        line_start: 1085
        source_file: /src/PcapPlusPlus/Pcap++/src/DpdkDevice.cpp
      type_or_value: '0.8'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::WinPcapLiveDevice::WinPcapLiveDevice
  - pcpp::WinPcapLiveDevice::sendPackets
  - operator()(pcap_send_queue* ptr) const noexcept
  - pcpp::WinPcapLiveDevice::setMinAmountOfDataToCopyFromKernelToApplication
  - pcpp::WinPcapLiveDevice::clone
  - pcpp::WinPcapLiveDevice::prepareCapture
  - pcpp::WinPcapLiveDevice::WinPcapLiveDevice
  - pcpp::WinPcapLiveDevice::sendPackets
  - operator()(pcap_send_queue* ptr) const noexcept
  - pcpp::WinPcapLiveDevice::setMinAmountOfDataToCopyFromKernelToApplication
  - pcpp::WinPcapLiveDevice::clone
  - pcpp::WinPcapLiveDevice::prepareCapture
  source_file: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
      type_or_value: PcapLogModuleWinPcapLiveDevice
    structs:
    - fields: []
      item_type: struct
      name: PcapSendQueueDeleter
      pos:
        line_end: 39
        line_start: 33
        source_file: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
    - fields: []
      item_type: struct
      name: PcapSendQueueDeleter
      pos:
        line_end: 39
        line_start: 33
        source_file: /src/PcapPlusPlus/Pcap++/src/WinPcapLiveDevice.cpp
    typedefs: []
    union: []
- function_names:
  - PcapCloseDeleter::operator()(pcap_t* ptr) const noexcept
  - PcapFreeAllDevsDeleter::operator()(pcap_if_t* ptr) const noexcept
  - PcapCloseDeleter::operator()(pcap_t* ptr) const noexcept
  - PcapFreeAllDevsDeleter::operator()(pcap_if_t* ptr) const noexcept
  - PcapCloseDeleter::operator()(pcap_t* ptr) const noexcept
  - PcapFreeAllDevsDeleter::operator()(pcap_if_t* ptr) const noexcept
  - PcapCloseDeleter::operator()(pcap_t* ptr) const noexcept
  - PcapFreeAllDevsDeleter::operator()(pcap_if_t* ptr) const noexcept
  source_file: /src/PcapPlusPlus/Pcap++/src/PcapUtils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::setThreadCoreAffinity
  - pcpp::setThreadCoreAffinity
  - pcpp::PfRingDevice::PfRingDevice
  - PfRingDevice::~PfRingDevice()
  - pcpp::PfRingDevice::open
  - pcpp::PfRingDevice::openSingleRxChannel
  - pcpp::PfRingDevice::openSingleRxChannel
  - pcpp::PfRingDevice::closeAllRxChannels
  - pcpp::PfRingDevice::setPfRingDeviceClock
  - pcpp::PfRingDevice::openMultiRxChannels
  - pcpp::PfRingDevice::openMultiRxChannels
  - pcpp::PfRingDevice::getTotalNumOfRxChannels
  - pcpp::PfRingDevice::getCurrentCoreId
  - pcpp::PfRingDevice::doUpdateFilter
  - pcpp::PfRingDevice::setFilterForAllChannels
  - pcpp::PfRingDevice::removeFilterForAllChannels
  - pcpp::PfRingDevice::isFilterCurrentlySet
  - pcpp::PfRingDevice::close
  - pcpp::PfRingDevice::initCoreConfigurationByCoreMask
  - pcpp::PfRingDevice::startCaptureMultiThread
  - pcpp::PfRingDevice::startCaptureSingleThread
  - pcpp::PfRingDevice::stopCapture
  - pcpp::PfRingDevice::captureThreadMain
  - pcpp::PfRingDevice::getThreadStatistics
  - pcpp::PfRingDevice::getCurrentThreadStatistics
  - pcpp::PfRingDevice::getStatistics
  - pcpp::PfRingDevice::clearCoreConfiguration
  - pcpp::PfRingDevice::getCoresInUseCount
  - pcpp::PfRingDevice::setPfRingDeviceAttributes
  - pcpp::PfRingDevice::sendData
  - pcpp::PfRingDevice::sendPacket
  - pcpp::PfRingDevice::sendPacket
  - pcpp::PfRingDevice::sendPacket
  - pcpp::PfRingDevice::sendPackets
  - pcpp::PfRingDevice::sendPackets
  - pcpp::PfRingDevice::sendPackets
  - PfRingDevice::CoreConfiguration::CoreConfiguration()
  - PfRingDevice::CoreConfiguration::clear()
  - PfRingDevice::StartupBlock::notifyStartup()
  - PfRingDevice::StartupBlock::waitForStartup()
  - pcpp::setThreadCoreAffinity
  - pcpp::setThreadCoreAffinity
  - pcpp::PfRingDevice::PfRingDevice
  - PfRingDevice::~PfRingDevice()
  - pcpp::PfRingDevice::open
  - pcpp::PfRingDevice::openSingleRxChannel
  - pcpp::PfRingDevice::openSingleRxChannel
  - pcpp::PfRingDevice::closeAllRxChannels
  - pcpp::PfRingDevice::setPfRingDeviceClock
  - pcpp::PfRingDevice::openMultiRxChannels
  - pcpp::PfRingDevice::openMultiRxChannels
  - pcpp::PfRingDevice::getTotalNumOfRxChannels
  - pcpp::PfRingDevice::getCurrentCoreId
  - pcpp::PfRingDevice::doUpdateFilter
  - pcpp::PfRingDevice::setFilterForAllChannels
  - pcpp::PfRingDevice::removeFilterForAllChannels
  - pcpp::PfRingDevice::isFilterCurrentlySet
  - pcpp::PfRingDevice::close
  - pcpp::PfRingDevice::initCoreConfigurationByCoreMask
  - pcpp::PfRingDevice::startCaptureMultiThread
  - pcpp::PfRingDevice::startCaptureSingleThread
  - pcpp::PfRingDevice::stopCapture
  - pcpp::PfRingDevice::captureThreadMain
  - pcpp::PfRingDevice::getThreadStatistics
  - pcpp::PfRingDevice::getCurrentThreadStatistics
  - pcpp::PfRingDevice::getStatistics
  - pcpp::PfRingDevice::clearCoreConfiguration
  - pcpp::PfRingDevice::getCoresInUseCount
  - pcpp::PfRingDevice::setPfRingDeviceAttributes
  - pcpp::PfRingDevice::sendData
  - pcpp::PfRingDevice::sendPacket
  - pcpp::PfRingDevice::sendPacket
  - pcpp::PfRingDevice::sendPacket
  - pcpp::PfRingDevice::sendPackets
  - pcpp::PfRingDevice::sendPackets
  - pcpp::PfRingDevice::sendPackets
  - PfRingDevice::CoreConfiguration::CoreConfiguration()
  - PfRingDevice::CoreConfiguration::clear()
  - PfRingDevice::StartupBlock::notifyStartup()
  - PfRingDevice::StartupBlock::waitForStartup()
  source_file: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
      type_or_value: PcapLogModulePfRingDevice
    - item_type: preproc_def
      name: DEFAULT_PF_RING_SNAPLEN
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PcapPlusPlus/Pcap++/src/PfRingDevice.cpp
      type_or_value: '1600'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::checkZstdSupport
  - pcpp::toLightPcapNgHandle
  - pcpp::toLightPcapNgT
  - pcpp::ARRAY_SIZE
  - pcpp::toLinkLayerType
  - pcpp::StreamPositionCheckpoint::StreamPositionCheckpoint
  - pcpp::StreamPositionCheckpoint::restore
  - ~StreamPositionCheckpoint()
  - pcpp::isStreamSeekable
  - pcpp::detectPcapMagic
  - pcpp::isPcapNgMagic
  - pcpp::isSnoopMagic
  - pcpp::isZstdArchiveMagic
  - pcpp::detectFileFormat
  - pcpp::getPcapPrecision
  - pcpp::toString
  - pcpp::checkZstdSupport
  - pcpp::toLightPcapNgHandle
  - pcpp::toLightPcapNgT
  - pcpp::ARRAY_SIZE
  - pcpp::toLinkLayerType
  - pcpp::StreamPositionCheckpoint::StreamPositionCheckpoint
  - pcpp::StreamPositionCheckpoint::restore
  - ~StreamPositionCheckpoint()
  - pcpp::isStreamSeekable
  - pcpp::detectPcapMagic
  - pcpp::isPcapNgMagic
  - pcpp::isSnoopMagic
  - pcpp::isZstdArchiveMagic
  - pcpp::detectFileFormat
  - pcpp::getPcapPrecision
  - pcpp::toString
  - pcpp::IFileDevice::IFileDevice
  - pcpp::IFileDevice::getFileName
  - pcpp::IFileDevice::getStatistics
  - pcpp::IFileDevice::resetStatisticCounters
  - pcpp::IFileDevice::doUpdateFilter
  - pcpp::IFileReaderDevice::IFileReaderDevice
  - pcpp::IFileReaderDevice::getReader
  - pcpp::IFileReaderDevice::createReader
  - pcpp::IFileReaderDevice::tryCreateReader
  - pcpp::IFileReaderDevice::getFileSize
  - pcpp::IFileReaderDevice::getNextPackets
  - pcpp::IFileWriterDevice::IFileWriterDevice
  - pcpp::swap16
  - pcpp::swap32
  - pcpp::readPcapHeader
  - pcpp::swap16
  - pcpp::swap32
  - pcpp::readPcapHeader
  - pcpp::PcapFileReaderDevice::open
  - pcpp::PcapFileReaderDevice::getNextPacket
  - pcpp::PcapFileReaderDevice::close
  - pcpp::PcapFileReaderDevice::readNextPacket
  - pcpp::PcapFileWriterDevice::PcapFileWriterDevice
  - pcpp::PcapFileWriterDevice::open
  - pcpp::PcapFileWriterDevice::open
  - pcpp::PcapFileWriterDevice::writePacket
  - pcpp::PcapFileWriterDevice::writePackets
  - pcpp::PcapFileWriterDevice::flush
  - pcpp::PcapFileWriterDevice::close
  - pcpp::PcapFileWriterDevice::writeHeader
  - pcpp::PcapNgFileReaderDevice::isZstdSupported
  - pcpp::PcapNgFileReaderDevice::PcapNgFileReaderDevice
  - pcpp::PcapNgFileReaderDevice::open
  - pcpp::PcapNgFileReaderDevice::getNextPacket
  - pcpp::PcapNgFileReaderDevice::getNextPacket
  - pcpp::PcapNgFileReaderDevice::getNextPacketInternal
  - pcpp::PcapNgFileReaderDevice::close
  - pcpp::PcapNgFileReaderDevice::getOS
  - pcpp::PcapNgFileReaderDevice::getHardware
  - pcpp::PcapNgFileReaderDevice::getCaptureApplication
  - pcpp::PcapNgFileReaderDevice::getCaptureFileComment
  - pcpp::PcapNgFileWriterDevice::isZstdSupported
  - pcpp::PcapNgFileWriterDevice::PcapNgFileWriterDevice
  - pcpp::PcapNgFileWriterDevice::writePacket
  - pcpp::PcapNgFileWriterDevice::writePacket
  - pcpp::PcapNgFileWriterDevice::writePackets
  - pcpp::PcapNgFileWriterDevice::open
  - pcpp::PcapNgFileWriterDevice::open
  - pcpp::PcapNgFileWriterDevice::open
  - pcpp::PcapNgFileWriterDevice::openWrite
  - pcpp::PcapNgFileWriterDevice::openAppend
  - pcpp::PcapNgFileWriterDevice::flush
  - pcpp::PcapNgFileWriterDevice::close
  - SnoopFileReaderDevice::~SnoopFileReaderDevice()
  - pcpp::SnoopFileReaderDevice::open
  - pcpp::SnoopFileReaderDevice::readNextPacket
  - pcpp::SnoopFileReaderDevice::getNextPacket
  - pcpp::SnoopFileReaderDevice::close
  - pcpp::checkZstdSupport
  - pcpp::toLightPcapNgHandle
  - pcpp::toLightPcapNgT
  - pcpp::ARRAY_SIZE
  - pcpp::toLinkLayerType
  - pcpp::StreamPositionCheckpoint::StreamPositionCheckpoint
  - pcpp::StreamPositionCheckpoint::restore
  - ~StreamPositionCheckpoint()
  - pcpp::isStreamSeekable
  - pcpp::detectPcapMagic
  - pcpp::isPcapNgMagic
  - pcpp::isSnoopMagic
  - pcpp::isZstdArchiveMagic
  - pcpp::detectFileFormat
  - pcpp::getPcapPrecision
  - pcpp::toString
  - pcpp::checkZstdSupport
  - pcpp::toLightPcapNgHandle
  - pcpp::toLightPcapNgT
  - pcpp::ARRAY_SIZE
  - pcpp::toLinkLayerType
  - pcpp::StreamPositionCheckpoint::StreamPositionCheckpoint
  - pcpp::StreamPositionCheckpoint::restore
  - ~StreamPositionCheckpoint()
  - pcpp::isStreamSeekable
  - pcpp::detectPcapMagic
  - pcpp::isPcapNgMagic
  - pcpp::isSnoopMagic
  - pcpp::isZstdArchiveMagic
  - pcpp::detectFileFormat
  - pcpp::getPcapPrecision
  - pcpp::toString
  - pcpp::IFileDevice::IFileDevice
  - pcpp::IFileDevice::getFileName
  - pcpp::IFileDevice::getStatistics
  - pcpp::IFileDevice::resetStatisticCounters
  - pcpp::IFileDevice::doUpdateFilter
  - pcpp::IFileReaderDevice::IFileReaderDevice
  - pcpp::IFileReaderDevice::getReader
  - pcpp::IFileReaderDevice::createReader
  - pcpp::IFileReaderDevice::tryCreateReader
  - pcpp::IFileReaderDevice::getFileSize
  - pcpp::IFileReaderDevice::getNextPackets
  - pcpp::IFileWriterDevice::IFileWriterDevice
  - pcpp::swap16
  - pcpp::swap32
  - pcpp::readPcapHeader
  - pcpp::swap16
  - pcpp::swap32
  - pcpp::readPcapHeader
  - pcpp::PcapFileReaderDevice::open
  - pcpp::PcapFileReaderDevice::getNextPacket
  - pcpp::PcapFileReaderDevice::close
  - pcpp::PcapFileReaderDevice::readNextPacket
  - pcpp::PcapFileWriterDevice::PcapFileWriterDevice
  - pcpp::PcapFileWriterDevice::open
  - pcpp::PcapFileWriterDevice::open
  - pcpp::PcapFileWriterDevice::writePacket
  - pcpp::PcapFileWriterDevice::writePackets
  - pcpp::PcapFileWriterDevice::flush
  - pcpp::PcapFileWriterDevice::close
  - pcpp::PcapFileWriterDevice::writeHeader
  - pcpp::PcapNgFileReaderDevice::isZstdSupported
  - pcpp::PcapNgFileReaderDevice::PcapNgFileReaderDevice
  - pcpp::PcapNgFileReaderDevice::open
  - pcpp::PcapNgFileReaderDevice::getNextPacket
  - pcpp::PcapNgFileReaderDevice::getNextPacket
  - pcpp::PcapNgFileReaderDevice::getNextPacketInternal
  - pcpp::PcapNgFileReaderDevice::close
  - pcpp::PcapNgFileReaderDevice::getOS
  - pcpp::PcapNgFileReaderDevice::getHardware
  - pcpp::PcapNgFileReaderDevice::getCaptureApplication
  - pcpp::PcapNgFileReaderDevice::getCaptureFileComment
  - pcpp::PcapNgFileWriterDevice::isZstdSupported
  - pcpp::PcapNgFileWriterDevice::PcapNgFileWriterDevice
  - pcpp::PcapNgFileWriterDevice::writePacket
  - pcpp::PcapNgFileWriterDevice::writePacket
  - pcpp::PcapNgFileWriterDevice::writePackets
  - pcpp::PcapNgFileWriterDevice::open
  - pcpp::PcapNgFileWriterDevice::open
  - pcpp::PcapNgFileWriterDevice::open
  - pcpp::PcapNgFileWriterDevice::openWrite
  - pcpp::PcapNgFileWriterDevice::openAppend
  - pcpp::PcapNgFileWriterDevice::flush
  - pcpp::PcapNgFileWriterDevice::close
  - SnoopFileReaderDevice::~SnoopFileReaderDevice()
  - pcpp::SnoopFileReaderDevice::open
  - pcpp::SnoopFileReaderDevice::readNextPacket
  - pcpp::SnoopFileReaderDevice::getNextPacket
  - pcpp::SnoopFileReaderDevice::close
  source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
  types:
    enum:
    - enumerators:
      - name: Unknown
      - name: PcapMod
      - name: Pcap
      - name: PcapNano
      - name: PcapNG
      - name: Snoop
      - name: ZstArchive
      item_type: enum
      name: FileFormat
      pos:
        line_end: 265
        line_start: 256
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - enumerators:
      - name: Unknown
      - name: Swapped
      - name: Native
      item_type: enum
      name: FileByteOrder
      pos:
        line_end: 273
        line_start: 268
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - enumerators:
      - name: Unknown
      - name: PcapMod
      - name: Pcap
      - name: PcapNano
      - name: PcapNG
      - name: Snoop
      - name: ZstArchive
      item_type: enum
      name: FileFormat
      pos:
        line_end: 265
        line_start: 256
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - enumerators:
      - name: Unknown
      - name: Swapped
      - name: Native
      item_type: enum
      name: FileByteOrder
      pos:
        line_end: 273
        line_start: 268
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - enumerators:
      - name: Ok
      - name: MalformedData
      - name: NoData
      - name: UnsupportedFormat
      item_type: enum
      name: PcapReadHeaderStatus
      pos:
        line_end: 654
        line_start: 648
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - enumerators:
      - name: Ok
      - name: MalformedData
      - name: NoData
      - name: UnsupportedFormat
      item_type: enum
      name: PcapReadHeaderStatus
      pos:
        line_end: 654
        line_start: 648
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - enumerators:
      - name: Unknown
      - name: PcapMod
      - name: Pcap
      - name: PcapNano
      - name: PcapNG
      - name: Snoop
      - name: ZstArchive
      item_type: enum
      name: FileFormat
      pos:
        line_end: 265
        line_start: 256
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - enumerators:
      - name: Unknown
      - name: Swapped
      - name: Native
      item_type: enum
      name: FileByteOrder
      pos:
        line_end: 273
        line_start: 268
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - enumerators:
      - name: Unknown
      - name: PcapMod
      - name: Pcap
      - name: PcapNano
      - name: PcapNG
      - name: Snoop
      - name: ZstArchive
      item_type: enum
      name: FileFormat
      pos:
        line_end: 265
        line_start: 256
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - enumerators:
      - name: Unknown
      - name: Swapped
      - name: Native
      item_type: enum
      name: FileByteOrder
      pos:
        line_end: 273
        line_start: 268
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - enumerators:
      - name: Ok
      - name: MalformedData
      - name: NoData
      - name: UnsupportedFormat
      item_type: enum
      name: PcapReadHeaderStatus
      pos:
        line_end: 654
        line_start: 648
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - enumerators:
      - name: Ok
      - name: MalformedData
      - name: NoData
      - name: UnsupportedFormat
      item_type: enum
      name: PcapReadHeaderStatus
      pos:
        line_end: 654
        line_start: 648
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 2
        line_start: 1
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
      type_or_value: PcapLogModuleFileDevice
    structs:
    - fields:
      - name: magic
        type: uint32_t
      - name: version_major
        type: uint16_t
      - name: version_minor
        type: uint16_t
      - name: thiszone
        type: int32_t
      - name: sigfigs
        type: uint32_t
      - name: snaplen
        type: uint32_t
      - name: linktype
        type: uint32_t
      item_type: struct
      name: pcap_file_header
      pos:
        line_end: 74
        line_start: 65
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - fields:
      - name: tv_sec
        type: uint32_t
      - name: tv_usec
        type: uint32_t
      - name: caplen
        type: uint32_t
      - name: len
        type: uint32_t
      item_type: struct
      name: packet_header
      pos:
        line_end: 84
        line_start: 78
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - fields:
      - name: magic
        type: uint32_t
      - name: version_major
        type: uint16_t
      - name: version_minor
        type: uint16_t
      - name: thiszone
        type: int32_t
      - name: sigfigs
        type: uint32_t
      - name: snaplen
        type: uint32_t
      - name: linktype
        type: uint32_t
      item_type: struct
      name: pcap_file_header
      pos:
        line_end: 74
        line_start: 65
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - fields:
      - name: tv_sec
        type: uint32_t
      - name: tv_usec
        type: uint32_t
      - name: caplen
        type: uint32_t
      - name: len
        type: uint32_t
      item_type: struct
      name: packet_header
      pos:
        line_end: 84
        line_start: 78
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - fields:
      - name: magic
        type: uint32_t
      - name: version_major
        type: uint16_t
      - name: version_minor
        type: uint16_t
      - name: thiszone
        type: int32_t
      - name: sigfigs
        type: uint32_t
      - name: snaplen
        type: uint32_t
      - name: linktype
        type: uint32_t
      item_type: struct
      name: pcap_file_header
      pos:
        line_end: 74
        line_start: 65
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - fields:
      - name: tv_sec
        type: uint32_t
      - name: tv_usec
        type: uint32_t
      - name: caplen
        type: uint32_t
      - name: len
        type: uint32_t
      item_type: struct
      name: packet_header
      pos:
        line_end: 84
        line_start: 78
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - fields:
      - name: magic
        type: uint32_t
      - name: version_major
        type: uint16_t
      - name: version_minor
        type: uint16_t
      - name: thiszone
        type: int32_t
      - name: sigfigs
        type: uint32_t
      - name: snaplen
        type: uint32_t
      - name: linktype
        type: uint32_t
      item_type: struct
      name: pcap_file_header
      pos:
        line_end: 74
        line_start: 65
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    - fields:
      - name: tv_sec
        type: uint32_t
      - name: tv_usec
        type: uint32_t
      - name: caplen
        type: uint32_t
      - name: len
        type: uint32_t
      item_type: struct
      name: packet_header
      pos:
        line_end: 84
        line_start: 78
        source_file: /src/PcapPlusPlus/Pcap++/src/PcapFileDevice.cpp
    typedefs: []
    union: []
- function_names:
  - pcpp::PcapRemoteDeviceList
  - pcpp::PcapRemoteDeviceList
  - '& operator=(const PcapRemoteDeviceList&)'
  - '& operator=(PcapRemoteDeviceList&&) noexcept'
  - pcpp::getRemoteMachineIpAddress
  - pcpp::getRemoteMachinePort
  - pcpp::PcapRemoteDeviceList
  - pcpp::PcapRemoteDeviceList
  - '& operator=(const PcapRemoteDeviceList&)'
  - '& operator=(PcapRemoteDeviceList&&) noexcept'
  - pcpp::getRemoteMachineIpAddress
  - pcpp::getRemoteMachinePort
  source_file: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDeviceList.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::KniDevice::KniDevice
  - '& operator=(const KniDevice&)'
  - pcpp::KniDevice::isInitialized
  - pcpp::KniDevice::getName
  - pcpp::KniDevice::getPort
  - pcpp::KniDevice::isOpened
  - pcpp::KniDevice::isRunning
  - pcpp::KniDevice::KniDevice
  - '& operator=(const KniDevice&)'
  - pcpp::KniDevice::isInitialized
  - pcpp::KniDevice::getName
  - pcpp::KniDevice::getPort
  - pcpp::KniDevice::isOpened
  - pcpp::KniDevice::isRunning
  source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
  types:
    enum:
    - enumerators:
      - name: LINK_NOT_SUPPORTED
        value: '-2'
      - name: LINK_DOWN
        value: '0'
      - name: LINK_ERROR
        value: '-1'
      - name: LINK_UP
        value: '1'
      item_type: enum
      name: KniLinkState
      pos:
        line_end: 131
        line_start: 121
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - enumerators:
      - name: INFO_CACHED
        value: '0'
      - name: INFO_RENEW
        value: '1'
      item_type: enum
      name: KniInfoState
      pos:
        line_end: 139
        line_start: 133
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - enumerators:
      - name: PROMISC_DISABLE
        value: '0'
      - name: PROMISC_ENABLE
        value: '1'
      item_type: enum
      name: KniPromiscuousMode
      pos:
        line_end: 147
        line_start: 141
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - enumerators:
      - name: LINK_NOT_SUPPORTED
        value: '-2'
      - name: LINK_DOWN
        value: '0'
      - name: LINK_ERROR
        value: '-1'
      - name: LINK_UP
        value: '1'
      item_type: enum
      name: KniLinkState
      pos:
        line_end: 131
        line_start: 121
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - enumerators:
      - name: INFO_CACHED
        value: '0'
      - name: INFO_RENEW
        value: '1'
      item_type: enum
      name: KniInfoState
      pos:
        line_end: 139
        line_start: 133
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - enumerators:
      - name: PROMISC_DISABLE
        value: '0'
      - name: PROMISC_ENABLE
        value: '1'
      item_type: enum
      name: KniPromiscuousMode
      pos:
        line_end: 147
        line_start: 141
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    preproc_defs: []
    structs:
    - fields:
      - name: (*change_mtu)(uint16_t port_id, unsigned int new_mtu)
        type: int
      - name: (*config_network_if)(uint16_t port_id, uint8_t if_up)
        type: int
      - name: (*config_mac_address)(uint16_t port_id, uint8_t mac_addr[])
        type: int
      - name: (*config_promiscusity)(uint16_t port_id, uint8_t to_on)
        type: int
      item_type: struct
      name: KniIoctlCallbacks
      pos:
        line_end: 178
        line_start: 158
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - fields:
      - name: (*change_mtu)(uint8_t port_id, unsigned int new_mtu)
        type: int
      - name: (*config_network_if)(uint8_t port_id, uint8_t if_up)
        type: int
      item_type: struct
      name: KniOldIoctlCallbacks
      pos:
        line_end: 193
        line_start: 185
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - fields:
      - name: name
        type: std::string
      - name: mac
        type: MacAddress
      - name: portId
        type: uint16_t
      - name: mtu
        type: uint16_t
      - name: bindKthread
        type: bool
      - name: kthreadCoreId
        type: uint32_t
      item_type: struct
      name: KniDeviceConfiguration
      pos:
        line_end: 229
        line_start: 199
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - fields:
      - name: soc
        type: LinuxNicInformationSocket
      - name: link
        type: KniLinkState
      - name: promisc
        type: KniPromiscuousMode
      - name: portId
        type: uint16_t
      - name: mtu
        type: uint16_t
      - name: mac
        type: MacAddress
      - name: name
        type: std::string
      - name: init(const KniDeviceConfiguration& conf)
        type: bool
      item_type: struct
      name: KniDeviceInfo
      pos:
        line_end: 547
        line_start: 536
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - fields:
      - name: callback
        type: OnKniPacketArriveCallback
      - name: '* userCookie'
        type: void
      - name: '* thread'
        type: KniThread
      - name: runCapture(void* devicePointer, std::atomic<bool>& stopThread)
        type: void
      - name: cleanup()
        type: void
      item_type: struct
      name: KniCapturing
      pos:
        line_end: 561
        line_start: 549
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - fields:
      - name: sleepS
        type: long
      - name: sleepNs
        type: long
      - name: '* thread'
        type: KniThread
      - name: runRequests(void* devicePointer, std::atomic<bool>& stopThread)
        type: void
      - name: cleanup()
        type: void
      item_type: struct
      name: KniRequests
      pos:
        line_end: 570
        line_start: 562
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - fields:
      - name: (*change_mtu)(uint16_t port_id, unsigned int new_mtu)
        type: int
      - name: (*config_network_if)(uint16_t port_id, uint8_t if_up)
        type: int
      - name: (*config_mac_address)(uint16_t port_id, uint8_t mac_addr[])
        type: int
      - name: (*config_promiscusity)(uint16_t port_id, uint8_t to_on)
        type: int
      item_type: struct
      name: KniIoctlCallbacks
      pos:
        line_end: 178
        line_start: 158
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - fields:
      - name: (*change_mtu)(uint8_t port_id, unsigned int new_mtu)
        type: int
      - name: (*config_network_if)(uint8_t port_id, uint8_t if_up)
        type: int
      item_type: struct
      name: KniOldIoctlCallbacks
      pos:
        line_end: 193
        line_start: 185
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - fields:
      - name: name
        type: std::string
      - name: mac
        type: MacAddress
      - name: portId
        type: uint16_t
      - name: mtu
        type: uint16_t
      - name: bindKthread
        type: bool
      - name: kthreadCoreId
        type: uint32_t
      item_type: struct
      name: KniDeviceConfiguration
      pos:
        line_end: 229
        line_start: 199
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - fields:
      - name: soc
        type: LinuxNicInformationSocket
      - name: link
        type: KniLinkState
      - name: promisc
        type: KniPromiscuousMode
      - name: portId
        type: uint16_t
      - name: mtu
        type: uint16_t
      - name: mac
        type: MacAddress
      - name: name
        type: std::string
      - name: init(const KniDeviceConfiguration& conf)
        type: bool
      item_type: struct
      name: KniDeviceInfo
      pos:
        line_end: 547
        line_start: 536
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - fields:
      - name: callback
        type: OnKniPacketArriveCallback
      - name: '* userCookie'
        type: void
      - name: '* thread'
        type: KniThread
      - name: runCapture(void* devicePointer, std::atomic<bool>& stopThread)
        type: void
      - name: cleanup()
        type: void
      item_type: struct
      name: KniCapturing
      pos:
        line_end: 561
        line_start: 549
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    - fields:
      - name: sleepS
        type: long
      - name: sleepNs
        type: long
      - name: '* thread'
        type: KniThread
      - name: runRequests(void* devicePointer, std::atomic<bool>& stopThread)
        type: void
      - name: cleanup()
        type: void
      item_type: struct
      name: KniRequests
      pos:
        line_end: 570
        line_start: 562
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDevice.h
    typedefs: []
    union: []
- function_names:
  - pcpp::PcapLiveDeviceList::PcapLiveDeviceList
  - pcpp::PcapLiveDeviceList::PcapLiveDeviceList
  - '& operator=(const PcapLiveDeviceList&)'
  - '& operator=(PcapLiveDeviceList&&) noexcept'
  - '& getInstance()'
  - '& getPcapLiveDevicesList() const'
  - '& getDnsServers() const'
  - pcpp::PcapLiveDeviceList::PcapLiveDeviceList
  - pcpp::PcapLiveDeviceList::PcapLiveDeviceList
  - '& operator=(const PcapLiveDeviceList&)'
  - '& operator=(PcapLiveDeviceList&&) noexcept'
  - '& getInstance()'
  - '& getPcapLiveDevicesList() const'
  - '& getDnsServers() const'
  source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDeviceList.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::WinPcapLiveDevice::WinPcapLiveDevice
  - pcpp::WinPcapLiveDevice::WinPcapLiveDevice
  - '& operator=(const WinPcapLiveDevice& other)'
  - pcpp::WinPcapLiveDevice::getDeviceType
  - pcpp::WinPcapLiveDevice::getMinAmountOfDataToCopyFromKernelToApplication
  - pcpp::WinPcapLiveDevice::WinPcapLiveDevice
  - pcpp::WinPcapLiveDevice::WinPcapLiveDevice
  - '& operator=(const WinPcapLiveDevice& other)'
  - pcpp::WinPcapLiveDevice::getDeviceType
  - pcpp::WinPcapLiveDevice::getMinAmountOfDataToCopyFromKernelToApplication
  source_file: /src/PcapPlusPlus/Pcap++/header/WinPcapLiveDevice.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::MBufRawPacket
  - pcpp::getMBuf
  - pcpp::getObjectType
  - pcpp::setFreeMbuf
  - pcpp::MBufRawPacket
  - pcpp::getMBuf
  - pcpp::getObjectType
  - pcpp::setFreeMbuf
  source_file: /src/PcapPlusPlus/Pcap++/header/MBufRawPacket.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MBUFRAWPACKET_OBJECT_TYPE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PcapPlusPlus/Pcap++/header/MBufRawPacket.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MBUFRAWPACKET_OBJECT_TYPE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PcapPlusPlus/Pcap++/header/MBufRawPacket.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~DpdkWorkerThread()
  - pcpp::DpdkDeviceList::isInitialized
  - '& getInstance()'
  - '& getDpdkDeviceList() const'
  - ~DpdkWorkerThread()
  - pcpp::DpdkDeviceList::isInitialized
  - '& getInstance()'
  - '& getDpdkDeviceList() const'
  source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDeviceList.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::PfRingDevice::getIsHwClockEnable
  - pcpp::PfRingDevice::getMacAddress
  - pcpp::PfRingDevice::getInterfaceIndex
  - pcpp::PfRingDevice::getMtu
  - pcpp::PfRingDevice::isHwClockEnabledForDevice
  - pcpp::PfRingDevice::getDeviceName
  - pcpp::PfRingDevice::getNumOfOpenedRxChannels
  - pcpp::PfRingDevice::isOpened
  - pcpp::PfRingDevice::getIsHwClockEnable
  - pcpp::PfRingDevice::getMacAddress
  - pcpp::PfRingDevice::getInterfaceIndex
  - pcpp::PfRingDevice::getMtu
  - pcpp::PfRingDevice::isHwClockEnabledForDevice
  - pcpp::PfRingDevice::getDeviceName
  - pcpp::PfRingDevice::getNumOfOpenedRxChannels
  - pcpp::PfRingDevice::isOpened
  source_file: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
  types:
    enum:
    - enumerators:
      - name: RoundRobin
      - name: PerFlow
      item_type: enum
      name: ChannelDistribution
      pos:
        line_end: 107
        line_start: 101
        source_file: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    - enumerators:
      - name: RoundRobin
      - name: PerFlow
      item_type: enum
      name: ChannelDistribution
      pos:
        line_end: 107
        line_start: 101
        source_file: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    preproc_defs: []
    structs:
    - fields:
      - name: RxThread
        type: std::thread
      - name: '* Channel'
        type: pfring
      - name: IsInUse
        type: bool
      - name: IsAffinitySet
        type: bool
      - name: clear()
        type: void
      item_type: struct
      name: CoreConfiguration
      pos:
        line_end: 47
        line_start: 38
        source_file: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    - fields:
      - name: recv
        type: uint64_t
      - name: drop
        type: uint64_t
      item_type: struct
      name: PfRingStats
      pos:
        line_end: 117
        line_start: 111
        source_file: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    - fields:
      - name: RxThread
        type: std::thread
      - name: '* Channel'
        type: pfring
      - name: IsInUse
        type: bool
      - name: IsAffinitySet
        type: bool
      - name: clear()
        type: void
      item_type: struct
      name: CoreConfiguration
      pos:
        line_end: 47
        line_start: 38
        source_file: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    - fields:
      - name: recv
        type: uint64_t
      - name: drop
        type: uint64_t
      item_type: struct
      name: PfRingStats
      pos:
        line_end: 117
        line_start: 111
        source_file: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
    typedefs:
    - item_type: typedef
      name: pfring
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
      type: __pfring
    - item_type: typedef
      name: "(*OnPfRingPacketsArriveCallback)(RawPacket* packets, uint32_t numOfPackets,
        uint8_t threadId,\n\t                                              PfRingDevice*
        device, void* userCookie)"
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
      type: void
    - item_type: typedef
      name: "(*OnPfRingPacketsArriveCallback)(RawPacket* packets, uint32_t numOfPackets,
        uint8_t threadId,\n\t                                              PfRingDevice*
        device, void* userCookie)"
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PcapPlusPlus/Pcap++/header/PfRingDevice.h
      type: void
    union: []
- function_names:
  - pcpp::PcapRemoteAuthentication
  - pcpp::PcapRemoteAuthentication
  - pcpp::PcapRemoteDevice::PcapRemoteDevice
  - pcpp::PcapRemoteDevice::PcapRemoteDevice
  - pcpp::PcapRemoteDevice::PcapRemoteDevice
  - '& operator=(const PcapRemoteDevice&)'
  - '& operator=(PcapRemoteDevice&&) noexcept'
  - ~PcapRemoteDevice() override
  - pcpp::PcapRemoteDevice::getRemoteMachineIpAddress
  - pcpp::PcapRemoteDevice::getRemoteMachinePort
  - pcpp::PcapRemoteDevice::getDeviceType
  - pcpp::PcapRemoteAuthentication
  - pcpp::PcapRemoteAuthentication
  - pcpp::PcapRemoteDevice::PcapRemoteDevice
  - pcpp::PcapRemoteDevice::PcapRemoteDevice
  - pcpp::PcapRemoteDevice::PcapRemoteDevice
  - '& operator=(const PcapRemoteDevice&)'
  - '& operator=(PcapRemoteDevice&&) noexcept'
  - ~PcapRemoteDevice() override
  - pcpp::PcapRemoteDevice::getRemoteMachineIpAddress
  - pcpp::PcapRemoteDevice::getRemoteMachinePort
  - pcpp::PcapRemoteDevice::getDeviceType
  source_file: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: userName
        type: std::string
      - name: password
        type: std::string
      - name: getPcapRmAuth() const
        type: pcap_rmtauth
      item_type: struct
      name: PcapRemoteAuthentication
      pos:
        line_end: 46
        line_start: 18
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    - fields:
      - name: userName
        type: std::string
      - name: password
        type: std::string
      - name: getPcapRmAuth() const
        type: pcap_rmtauth
      item_type: struct
      name: PcapRemoteAuthentication
      pos:
        line_end: 46
        line_start: 18
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapRemoteDevice.h
    typedefs: []
    union: []
- function_names:
  - ~IPcapStatisticsProvider()
  - pcpp::IPcapStatisticsProvider::getStatistics
  - ~IPcapStatisticsProvider()
  - pcpp::IPcapStatisticsProvider::getStatistics
  source_file: /src/PcapPlusPlus/Pcap++/header/PcapDevice.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: packetsRecv
        type: uint64_t
      - name: packetsDrop
        type: uint64_t
      - name: packetsDropByInterface
        type: uint64_t
      item_type: struct
      name: PcapStats
      pos:
        line_end: 20
        line_start: 12
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapDevice.h
    - fields:
      - name: packetsRecv
        type: uint64_t
      - name: packetsDrop
        type: uint64_t
      - name: packetsDropByInterface
        type: uint64_t
      item_type: struct
      name: PcapStats
      pos:
        line_end: 20
        line_start: 12
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapDevice.h
    typedefs: []
    union: []
- function_names:
  - pcpp::LinuxNicInformationSocket::LinuxNicInformationSocket
  - operator=(const LinuxNicInformationSocket&)
  - pcpp::LinuxNicInformationSocket::LinuxNicInformationSocket
  - operator=(const LinuxNicInformationSocket&)
  source_file: /src/PcapPlusPlus/Pcap++/header/LinuxNicInformationSocket.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: LinuxSocket
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/PcapPlusPlus/Pcap++/header/LinuxNicInformationSocket.h
      type: int
    - item_type: typedef
      name: IoctlType
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/PcapPlusPlus/Pcap++/header/LinuxNicInformationSocket.h
      type: unsigned long
    - item_type: typedef
      name: LinuxSocket
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/PcapPlusPlus/Pcap++/header/LinuxNicInformationSocket.h
      type: int
    - item_type: typedef
      name: IoctlType
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/PcapPlusPlus/Pcap++/header/LinuxNicInformationSocket.h
      type: unsigned long
    union: []
- function_names:
  - pcpp::PfRingDeviceList::PfRingDeviceList
  - pcpp::PfRingDeviceList::PfRingDeviceList
  - '& operator=(const PfRingDeviceList&)'
  - '& operator=(PfRingDeviceList&&) noexcept'
  - '& getInstance()'
  - '& getPfRingDevicesList() const'
  - pcpp::PfRingDeviceList::getPfRingVersion
  - pcpp::PfRingDeviceList::PfRingDeviceList
  - pcpp::PfRingDeviceList::PfRingDeviceList
  - '& operator=(const PfRingDeviceList&)'
  - '& operator=(PfRingDeviceList&&) noexcept'
  - '& getInstance()'
  - '& getPfRingDevicesList() const'
  - pcpp::PfRingDeviceList::getPfRingVersion
  source_file: /src/PcapPlusPlus/Pcap++/header/PfRingDeviceList.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~IOverlappedWrapper()
  - ~IWinDivertHandle()
  - ~IWinDivertDriver()
  - ~IOverlappedWrapper()
  - ~IWinDivertHandle()
  - ~IWinDivertDriver()
  - pcpp::WinDivertRawPacket::WinDivertRawPacket
  - ~WinDivertRawPacket() override
  - pcpp::WinDivertRawPacket::getInterfaceIndex
  - pcpp::WinDivertRawPacket::getWinDivertTimestamp
  - pcpp::WinDivertRawPacket::getImplType
  - pcpp::WinDivertDevice::toString
  - pcpp::WinDivertDevice::isOpened
  - pcpp::WinDivertDevice::ReceiveResultInternal
  - pcpp::WinDivertDevice::ReceiveResultInternal
  - ~IOverlappedWrapper()
  - ~IWinDivertHandle()
  - ~IWinDivertDriver()
  - ~IOverlappedWrapper()
  - ~IWinDivertHandle()
  - ~IWinDivertDriver()
  - pcpp::WinDivertRawPacket::WinDivertRawPacket
  - ~WinDivertRawPacket() override
  - pcpp::WinDivertRawPacket::getInterfaceIndex
  - pcpp::WinDivertRawPacket::getWinDivertTimestamp
  - pcpp::WinDivertRawPacket::getImplType
  - pcpp::WinDivertDevice::toString
  - pcpp::WinDivertDevice::isOpened
  - pcpp::WinDivertDevice::ReceiveResultInternal
  - pcpp::WinDivertDevice::ReceiveResultInternal
  source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
  types:
    enum:
    - enumerators:
      - name: Completed
      - name: Timeout
      - name: Failed
      item_type: enum
      name: Status
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: Success
      - name: Failed
      item_type: enum
      name: Status
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: QueueLength
        value: '0'
      - name: VersionMajor
        value: '3'
      - name: QueueSize
        value: '2'
      - name: QueueTime
        value: '1'
      - name: VersionMinor
        value: '4'
      item_type: enum
      name: WinDivertParam
      pos:
        line_end: 107
        line_start: 100
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: Completed
      - name: Timeout
      - name: Failed
      item_type: enum
      name: Status
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: Success
      - name: Failed
      item_type: enum
      name: Status
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: QueueLength
        value: '0'
      - name: VersionMajor
        value: '3'
      - name: QueueSize
        value: '2'
      - name: QueueTime
        value: '1'
      - name: VersionMinor
        value: '4'
      item_type: enum
      name: WinDivertParam
      pos:
        line_end: 107
        line_start: 100
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: Completed
      - name: Failed
      - name: Timeout
      item_type: enum
      name: Status
      pos:
        line_end: 276
        line_start: 271
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: Completed
      - name: Failed
      item_type: enum
      name: Status
      pos:
        line_end: 293
        line_start: 289
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: QueueLength
      - name: QueueTime
      - name: QueueSize
      item_type: enum
      name: QueueParam
      pos:
        line_end: 338
        line_start: 333
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: Completed
      - name: Timeout
      - name: Failed
      item_type: enum
      name: Status
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: Success
      - name: Failed
      item_type: enum
      name: Status
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: QueueLength
        value: '0'
      - name: VersionMajor
        value: '3'
      - name: QueueSize
        value: '2'
      - name: QueueTime
        value: '1'
      - name: VersionMinor
        value: '4'
      item_type: enum
      name: WinDivertParam
      pos:
        line_end: 107
        line_start: 100
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: Completed
      - name: Timeout
      - name: Failed
      item_type: enum
      name: Status
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: Success
      - name: Failed
      item_type: enum
      name: Status
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: QueueLength
        value: '0'
      - name: VersionMajor
        value: '3'
      - name: QueueSize
        value: '2'
      - name: QueueTime
        value: '1'
      - name: VersionMinor
        value: '4'
      item_type: enum
      name: WinDivertParam
      pos:
        line_end: 107
        line_start: 100
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: Completed
      - name: Failed
      - name: Timeout
      item_type: enum
      name: Status
      pos:
        line_end: 276
        line_start: 271
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: Completed
      - name: Failed
      item_type: enum
      name: Status
      pos:
        line_end: 293
        line_start: 289
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - enumerators:
      - name: QueueLength
      - name: QueueTime
      - name: QueueSize
      item_type: enum
      name: QueueParam
      pos:
        line_end: 338
        line_start: 333
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    preproc_defs: []
    structs:
    - fields:
      - name: status
        type: Status
      - name: errorCode
        type: uint32_t
      item_type: struct
      name: WaitResult
      pos:
        line_end: 50
        line_start: 37
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: status
        type: Status
      - name: packetLen
        type: uint32_t
      - name: errorCode
        type: uint32_t
      item_type: struct
      name: OverlappedResult
      pos:
        line_end: 69
        line_start: 56
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: isIPv6
        type: bool
      - name: interfaceIndex
        type: uint32_t
      - name: timestamp
        type: uint64_t
      item_type: struct
      name: WinDivertAddress
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: index
        type: uint32_t
      - name: name
        type: std::wstring
      - name: description
        type: std::wstring
      - name: isLoopback
        type: bool
      - name: isUp
        type: bool
      item_type: struct
      name: NetworkInterface
      pos:
        line_end: 182
        line_start: 175
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: status
        type: Status
      - name: errorCode
        type: uint32_t
      item_type: struct
      name: WaitResult
      pos:
        line_end: 50
        line_start: 37
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: status
        type: Status
      - name: packetLen
        type: uint32_t
      - name: errorCode
        type: uint32_t
      item_type: struct
      name: OverlappedResult
      pos:
        line_end: 69
        line_start: 56
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: isIPv6
        type: bool
      - name: interfaceIndex
        type: uint32_t
      - name: timestamp
        type: uint64_t
      item_type: struct
      name: WinDivertAddress
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: index
        type: uint32_t
      - name: name
        type: std::wstring
      - name: description
        type: std::wstring
      - name: isLoopback
        type: bool
      - name: isUp
        type: bool
      item_type: struct
      name: NetworkInterface
      pos:
        line_end: 182
        line_start: 175
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: status
        type: Status
      - name: error
        type: std::string
      - name: errorCode
        type: uint32_t
      item_type: struct
      name: ReceiveResult
      pos:
        line_end: 281
        line_start: 267
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: status
        type: Status
      - name: packetsSent
        type: size_t
      - name: error
        type: std::string
      - name: errorCode
        type: uint32_t
      item_type: struct
      name: SendResult
      pos:
        line_end: 299
        line_start: 285
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: major
        type: uint64_t
      - name: minor
        type: uint64_t
      item_type: struct
      name: WinDivertVersion
      pos:
        line_end: 313
        line_start: 303
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: index
        type: uint32_t
      - name: name
        type: std::wstring
      - name: description
        type: std::wstring
      - name: isLoopback
        type: bool
      - name: isUp
        type: bool
      item_type: struct
      name: NetworkInterface
      pos:
        line_end: 324
        line_start: 317
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: '* device'
        type: WinDivertDevice
      item_type: struct
      name: WinDivertReceiveCallbackContext
      pos:
        line_end: 349
        line_start: 346
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: capturedDataLength
        type: uint32_t
      - name: addresses
        type: std::vector<internal::WinDivertAddress>
      item_type: struct
      name: ReceiveResultInternal
      pos:
        line_end: 473
        line_start: 460
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: status
        type: Status
      - name: errorCode
        type: uint32_t
      item_type: struct
      name: WaitResult
      pos:
        line_end: 50
        line_start: 37
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: status
        type: Status
      - name: packetLen
        type: uint32_t
      - name: errorCode
        type: uint32_t
      item_type: struct
      name: OverlappedResult
      pos:
        line_end: 69
        line_start: 56
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: isIPv6
        type: bool
      - name: interfaceIndex
        type: uint32_t
      - name: timestamp
        type: uint64_t
      item_type: struct
      name: WinDivertAddress
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: index
        type: uint32_t
      - name: name
        type: std::wstring
      - name: description
        type: std::wstring
      - name: isLoopback
        type: bool
      - name: isUp
        type: bool
      item_type: struct
      name: NetworkInterface
      pos:
        line_end: 182
        line_start: 175
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: status
        type: Status
      - name: errorCode
        type: uint32_t
      item_type: struct
      name: WaitResult
      pos:
        line_end: 50
        line_start: 37
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: status
        type: Status
      - name: packetLen
        type: uint32_t
      - name: errorCode
        type: uint32_t
      item_type: struct
      name: OverlappedResult
      pos:
        line_end: 69
        line_start: 56
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: isIPv6
        type: bool
      - name: interfaceIndex
        type: uint32_t
      - name: timestamp
        type: uint64_t
      item_type: struct
      name: WinDivertAddress
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: index
        type: uint32_t
      - name: name
        type: std::wstring
      - name: description
        type: std::wstring
      - name: isLoopback
        type: bool
      - name: isUp
        type: bool
      item_type: struct
      name: NetworkInterface
      pos:
        line_end: 182
        line_start: 175
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: status
        type: Status
      - name: error
        type: std::string
      - name: errorCode
        type: uint32_t
      item_type: struct
      name: ReceiveResult
      pos:
        line_end: 281
        line_start: 267
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: status
        type: Status
      - name: packetsSent
        type: size_t
      - name: error
        type: std::string
      - name: errorCode
        type: uint32_t
      item_type: struct
      name: SendResult
      pos:
        line_end: 299
        line_start: 285
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: major
        type: uint64_t
      - name: minor
        type: uint64_t
      item_type: struct
      name: WinDivertVersion
      pos:
        line_end: 313
        line_start: 303
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: index
        type: uint32_t
      - name: name
        type: std::wstring
      - name: description
        type: std::wstring
      - name: isLoopback
        type: bool
      - name: isUp
        type: bool
      item_type: struct
      name: NetworkInterface
      pos:
        line_end: 324
        line_start: 317
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: '* device'
        type: WinDivertDevice
      item_type: struct
      name: WinDivertReceiveCallbackContext
      pos:
        line_end: 349
        line_start: 346
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    - fields:
      - name: capturedDataLength
        type: uint32_t
      - name: addresses
        type: std::vector<internal::WinDivertAddress>
      item_type: struct
      name: ReceiveResultInternal
      pos:
        line_end: 473
        line_start: 460
        source_file: /src/PcapPlusPlus/Pcap++/header/WinDivertDevice.h
    typedefs: []
    union: []
- function_names:
  - pcpp::BpfFilterWrapper
  - pcpp::BpfFilterWrapper
  - '& operator=(BpfFilterWrapper&&) noexcept'
  - pcpp::BpfFilterWrapper
  - pcpp::BpfFilterWrapper
  - '& operator=(BpfFilterWrapper&&) noexcept'
  - GeneralFilter
  - ~GeneralFilter()
  - invalidateCache
  - BPFStringFilter::BPFStringFilter
  - ~BPFStringFilter()
  - IFilterWithDirection::getDir
  - IFilterWithDirection::IFilterWithDirection
  - IFilterWithDirection::setDirection
  - IFilterWithOperator::getOperator
  - IFilterWithOperator::IFilterWithOperator
  - IFilterWithOperator::setOperator
  - IPFilter::IPFilter
  - IPFilter::IPFilter
  - IPFilter::IPFilter
  - IPFilter::IPFilter
  - IPFilter::IPFilter
  - IPFilter::IPFilter
  - IPFilter::IPFilter
  - IPFilter::setNetwork
  - IPFilter::setAddr
  - IPFilter::setAddr
  - IPFilter::setMask
  - IPFilter::clearMask
  - IPFilter::setLen
  - IPFilter::clearLen
  - IPv4IDFilter::IPv4IDFilter
  - IPv4IDFilter::setIpID
  - IPv4TotalLengthFilter::IPv4TotalLengthFilter
  - IPv4TotalLengthFilter::setTotalLength
  - PortFilter::setPort
  - PortRangeFilter::PortRangeFilter
  - PortRangeFilter::setFromPort
  - PortRangeFilter::setToPort
  - MacAddressFilter::MacAddressFilter
  - MacAddressFilter::setMacAddress
  - EtherTypeFilter::EtherTypeFilter
  - EtherTypeFilter::setEtherType
  - CompositeFilter::CompositeFilter
  - CompositeFilter::addFilter
  - CompositeFilter::clearAllFilters
  - internal::getCompositeLogicOpDelimiter
  - internal::getCompositeLogicOpDelimiter
  - internal::getCompositeLogicOpDelimiter
  - internal::getCompositeLogicOpDelimiter
  - CompositeLogicFilter::parseToString
  - NotFilter::NotFilter
  - NotFilter::setFilter
  - ProtoFilter::ProtoFilter
  - ProtoFilter::ProtoFilter
  - ProtoFilter::setProto
  - ProtoFilter::setProto
  - ArpFilter::ArpFilter
  - ArpFilter::setOpCode
  - VlanFilter::VlanFilter
  - VlanFilter::setVlanID
  - TcpFlagsFilter::TcpFlagsFilter
  - TcpFlagsFilter::setTcpFlagsBitMask
  - TcpWindowSizeFilter::TcpWindowSizeFilter
  - TcpWindowSizeFilter::setWindowSize
  - UdpLengthFilter::UdpLengthFilter
  - UdpLengthFilter::setLength
  source_file: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
  types:
    enum:
    - enumerators:
      - name: AND
      - name: OR
      item_type: enum
      name: CompositeLogicFilterOp
      pos:
        line_end: 675
        line_start: 669
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    - enumerators:
      - name: tcpFin
        value: '1'
      - name: tcpAck
        value: '16'
      - name: tcpSyn
        value: '2'
      - name: tcpRst
        value: '4'
      - name: tcpPush
        value: '8'
      - name: tcpUrg
        value: '32'
      item_type: enum
      name: TcpFlags
      pos:
        line_end: 891
        line_start: 877
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    - enumerators:
      - name: MatchAll
      - name: MatchOneAtLeast
      item_type: enum
      name: MatchOptions
      pos:
        line_end: 901
        line_start: 895
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    preproc_defs: []
    structs:
    - fields:
      - name: operator()(bpf_program* ptr) const noexcept
        type: void
      item_type: struct
      name: BpfProgramDeleter
      pos:
        line_end: 73
        line_start: 70
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    - fields:
      - name: operator()(bpf_program* ptr) const noexcept
        type: void
      item_type: struct
      name: BpfProgramDeleter
      pos:
        line_end: 73
        line_start: 70
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    - fields:
      - name: operator()(bpf_program* ptr) const noexcept
        type: void
      item_type: struct
      name: BpfProgramDeleter
      pos:
        line_end: 73
        line_start: 70
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    - fields:
      - name: operator()(bpf_program* ptr) const noexcept
        type: void
      item_type: struct
      name: BpfProgramDeleter
      pos:
        line_end: 73
        line_start: 70
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapFilter.h
    typedefs: []
    union: []
- function_names:
  - pcpp::IFileDevice::reportPacketProcessed
  - pcpp::IFileDevice::reportPacketDropped
  - ~IFileReaderDevice() override
  - pcpp::IFileDevice::reportPacketProcessed
  - pcpp::IFileDevice::reportPacketDropped
  - ~IFileReaderDevice() override
  - ~IFileWriterDevice() override
  - PcapFileReaderDevice
  - ~PcapFileReaderDevice() override
  - PcapFileReaderDevice
  - '& operator=(const PcapFileReaderDevice& other)'
  - getLinkLayerType
  - getTimestampPrecision
  - getSnapshotLength
  - isNanoSecondPrecisionSupported
  - isOpened
  - PcapFileWriterDevice
  - '& operator=(const PcapFileWriterDevice& other)'
  - getTimestampPrecision
  - isNanoSecondPrecisionSupported
  - getLinkLayerType
  - isOpened
  - ~PcapNgFileReaderDevice() override
  - PcapNgFileReaderDevice::PcapNgFileReaderDevice
  - '& operator=(const PcapNgFileReaderDevice& other)'
  - PcapNgFileReaderDevice::isOpened
  - ~PcapNgFileWriterDevice() override
  - PcapNgFileWriterDevice::PcapNgFileWriterDevice
  - '& operator=(const PcapNgFileWriterDevice& other)'
  - PcapNgFileWriterDevice::isOpened
  - SnoopFileReaderDevice::SnoopFileReaderDevice
  - SnoopFileReaderDevice::SnoopFileReaderDevice
  - '& operator=(const PcapFileReaderDevice& other)'
  - SnoopFileReaderDevice::getLinkLayerType
  - SnoopFileReaderDevice::isOpened
  source_file: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
  types:
    enum:
    - enumerators:
      - name: Unknown
        value: '-1'
      - name: Nanoseconds
        value: '1'
      - name: Microseconds
        value: '0'
      item_type: enum
      name: FileTimestampPrecision
      pos:
        line_end: 31
        line_start: 23
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    - enumerators:
      - name: Unknown
        value: '-1'
      - name: Nanoseconds
        value: '1'
      - name: Microseconds
        value: '0'
      item_type: enum
      name: FileTimestampPrecision
      pos:
        line_end: 31
        line_start: 23
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    preproc_defs: []
    structs:
    - fields:
      - name: os
        type: std::string
      - name: hardware
        type: std::string
      - name: captureApplication
        type: std::string
      - name: comment
        type: std::string
      item_type: struct
      name: PcapNgMetadata
      pos:
        line_end: 546
        line_start: 536
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    - fields:
      - name: identification_pattern
        type: uint64_t
      - name: version_number
        type: uint32_t
      - name: datalink_type
        type: uint32_t
      item_type: struct
      name: snoop_file_header_t
      pos:
        line_end: 565
        line_start: 560
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    - fields:
      - name: original_length
        type: uint32_t
      - name: included_length
        type: uint32_t
      - name: packet_record_length
        type: uint32_t
      - name: ndrops_cumulative
        type: uint32_t
      - name: time_sec
        type: uint32_t
      - name: time_usec
        type: uint32_t
      item_type: struct
      name: snoop_packet_header_t
      pos:
        line_end: 576
        line_start: 568
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapFileDevice.h
    typedefs: []
    union: []
- function_names:
  - pcpp::DpdkDevice::DpdkDeviceConfiguration
  - pcpp::DpdkDevice::getDeviceId
  - pcpp::DpdkDevice::getDeviceName
  - pcpp::DpdkDevice::getMacAddress
  - pcpp::DpdkDevice::getPMDName
  - pcpp::DpdkDevice::getPMDType
  - pcpp::DpdkDevice::getPciAddress
  - pcpp::DpdkDevice::getMtu
  - pcpp::DpdkDevice::getNumOfOpenedRxQueues
  - pcpp::DpdkDevice::getNumOfOpenedTxQueues
  - pcpp::DpdkDevice::getTotalNumOfRxQueues
  - pcpp::DpdkDevice::getTotalNumOfTxQueues
  - pcpp::DpdkDevice::open
  - pcpp::DpdkDevice::isOpened
  - pcpp::DpdkDevice::clear
  - pcpp::DpdkDevice::DpdkCoreConfiguration
  - pcpp::DpdkDevice::DpdkDeviceConfiguration
  - pcpp::DpdkDevice::getDeviceId
  - pcpp::DpdkDevice::getDeviceName
  - pcpp::DpdkDevice::getMacAddress
  - pcpp::DpdkDevice::getPMDName
  - pcpp::DpdkDevice::getPMDType
  - pcpp::DpdkDevice::getPciAddress
  - pcpp::DpdkDevice::getMtu
  - pcpp::DpdkDevice::getNumOfOpenedRxQueues
  - pcpp::DpdkDevice::getNumOfOpenedTxQueues
  - pcpp::DpdkDevice::getTotalNumOfRxQueues
  - pcpp::DpdkDevice::getTotalNumOfTxQueues
  - pcpp::DpdkDevice::open
  - pcpp::DpdkDevice::isOpened
  - pcpp::DpdkDevice::clear
  - pcpp::DpdkDevice::DpdkCoreConfiguration
  source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
  types:
    enum:
    - enumerators:
      - name: PMD_UNKNOWN
      - name: PMD_IGBVF
      - name: PMD_E1000EM
      - name: PMD_FM10K
      - name: PMD_I40EVF
      - name: PMD_VMXNET3
      - name: PMD_AF_PACKET
      - name: PMD_IXGBEVF
      - name: PMD_RING
      - name: PMD_NULL
      - name: PMD_IGB
      - name: PMD_BOND
      - name: PMD_ENIC
      - name: PMD_I40E
      - name: PMD_IXGBE
      - name: PMD_MLX4
      - name: PMD_VIRTIO
      - name: PMD_PCAP
      - name: PMD_XENVIRT
      item_type: enum
      name: DpdkPMDType
      pos:
        line_end: 117
        line_start: 76
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    - enumerators:
      - name: RSS_DEFAULT
        value: PCPP_RSS_HASH_MAGIC_NUMBER
      - name: RSS_NONE
        value: '0'
      - name: RSS_NONFRAG_IPV4_UDP
        value: '0x8'
      - name: RSS_FRAG_IPV4
        value: '0x2'
      - name: RSS_NONFRAG_IPV4_OTHER
        value: '0x20'
      - name: RSS_FRAG_IPV6
        value: '0x80'
      - name: RSS_NONFRAG_IPV6_OTHER
        value: '0x800'
      - name: RSS_IPV6_EX
        value: '0x2000'
      - name: RSS_VXLAN
        value: '0x20000'
      - name: RSS_IPV6_UDP_EX
        value: '0x8000'
      - name: RSS_NONFRAG_IPV6_UDP
        value: '0x200'
      - name: RSS_NVGRE
        value: '0x80000'
      - name: RSS_IPV4
        value: '0x1'
      - name: RSS_NONFRAG_IPV4_TCP
        value: '0x4'
      - name: RSS_NONFRAG_IPV4_SCTP
        value: '0x10'
      - name: RSS_IPV6
        value: '0x40'
      - name: RSS_NONFRAG_IPV6_TCP
        value: '0x100'
      - name: RSS_L2_PAYLOAD
        value: '0x1000'
      - name: RSS_PORT
        value: '0x10000'
      - name: RSS_IPV6_TCP_EX
        value: '0x4000'
      - name: RSS_NONFRAG_IPV6_SCTP
        value: '0x400'
      - name: RSS_GENEVE
        value: '0x40000'
      - name: RSS_ALL_SUPPORTED
        value: '-1'
      item_type: enum
      name: DpdkRssHashFunction
      pos:
        line_end: 222
        line_start: 174
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    - enumerators:
      - name: FULL_DUPLEX
      - name: HALF_DUPLEX
      item_type: enum
      name: LinkDuplex
      pos:
        line_end: 300
        line_start: 294
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    - enumerators:
      - name: PMD_UNKNOWN
      - name: PMD_IGBVF
      - name: PMD_E1000EM
      - name: PMD_FM10K
      - name: PMD_I40EVF
      - name: PMD_VMXNET3
      - name: PMD_AF_PACKET
      - name: PMD_IXGBEVF
      - name: PMD_RING
      - name: PMD_NULL
      - name: PMD_IGB
      - name: PMD_BOND
      - name: PMD_ENIC
      - name: PMD_I40E
      - name: PMD_IXGBE
      - name: PMD_MLX4
      - name: PMD_VIRTIO
      - name: PMD_PCAP
      - name: PMD_XENVIRT
      item_type: enum
      name: DpdkPMDType
      pos:
        line_end: 117
        line_start: 76
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    - enumerators:
      - name: RSS_DEFAULT
        value: PCPP_RSS_HASH_MAGIC_NUMBER
      - name: RSS_NONE
        value: '0'
      - name: RSS_NONFRAG_IPV4_UDP
        value: '0x8'
      - name: RSS_FRAG_IPV4
        value: '0x2'
      - name: RSS_NONFRAG_IPV4_OTHER
        value: '0x20'
      - name: RSS_FRAG_IPV6
        value: '0x80'
      - name: RSS_NONFRAG_IPV6_OTHER
        value: '0x800'
      - name: RSS_IPV6_EX
        value: '0x2000'
      - name: RSS_VXLAN
        value: '0x20000'
      - name: RSS_IPV6_UDP_EX
        value: '0x8000'
      - name: RSS_NONFRAG_IPV6_UDP
        value: '0x200'
      - name: RSS_NVGRE
        value: '0x80000'
      - name: RSS_IPV4
        value: '0x1'
      - name: RSS_NONFRAG_IPV4_TCP
        value: '0x4'
      - name: RSS_NONFRAG_IPV4_SCTP
        value: '0x10'
      - name: RSS_IPV6
        value: '0x40'
      - name: RSS_NONFRAG_IPV6_TCP
        value: '0x100'
      - name: RSS_L2_PAYLOAD
        value: '0x1000'
      - name: RSS_PORT
        value: '0x10000'
      - name: RSS_IPV6_TCP_EX
        value: '0x4000'
      - name: RSS_NONFRAG_IPV6_SCTP
        value: '0x400'
      - name: RSS_GENEVE
        value: '0x40000'
      - name: RSS_ALL_SUPPORTED
        value: '-1'
      item_type: enum
      name: DpdkRssHashFunction
      pos:
        line_end: 222
        line_start: 174
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    - enumerators:
      - name: FULL_DUPLEX
      - name: HALF_DUPLEX
      item_type: enum
      name: LinkDuplex
      pos:
        line_end: 300
        line_start: 294
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    preproc_defs:
    - item_type: preproc_def
      name: DPDK_MAX_RX_QUEUES
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
      type_or_value: '16'
    - item_type: preproc_def
      name: DPDK_MAX_TX_QUEUES
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PCPP_RSS_HASH_MAGIC_NUMBER
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
      type_or_value: '0x123456'
    - item_type: preproc_def
      name: DPDK_MAX_RX_QUEUES
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
      type_or_value: '16'
    - item_type: preproc_def
      name: DPDK_MAX_TX_QUEUES
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
      type_or_value: '16'
    - item_type: preproc_def
      name: PCPP_RSS_HASH_MAGIC_NUMBER
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
      type_or_value: '0x123456'
    structs:
    - fields:
      - name: receiveDescriptorsNumber
        type: uint16_t
      - name: transmitDescriptorsNumber
        type: uint16_t
      - name: flushTxBufferTimeout
        type: uint16_t
      - name: '* rssKey'
        type: uint8_t
      - name: rssKeyLength
        type: uint8_t
      - name: rssHashFunction
        type: uint64_t
      item_type: struct
      name: DpdkDeviceConfiguration
      pos:
        line_end: 287
        line_start: 227
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    - fields:
      - name: linkUp
        type: bool
      - name: linkSpeedMbps
        type: int
      - name: linkDuplex
        type: LinkDuplex
      item_type: struct
      name: LinkStatus
      pos:
        line_end: 308
        line_start: 291
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    - fields:
      - name: packets
        type: uint64_t
      - name: bytes
        type: uint64_t
      - name: packetsPerSec
        type: uint64_t
      - name: bytesPerSec
        type: uint64_t
      item_type: struct
      name: RxTxStats
      pos:
        line_end: 322
        line_start: 312
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    - fields:
      - name: devId
        type: uint8_t
      - name: timestamp
        type: timespec
      - name: rxStats[DPDK_MAX_RX_QUEUES]
        type: RxTxStats
      - name: txStats[DPDK_MAX_RX_QUEUES]
        type: RxTxStats
      - name: aggregatedRxStats
        type: RxTxStats
      - name: aggregatedTxStats
        type: RxTxStats
      - name: rxPacketsDroppedByHW
        type: uint64_t
      - name: rxErroneousPackets
        type: uint64_t
      - name: rxMbufAllocFailed
        type: uint64_t
      item_type: struct
      name: DpdkDeviceStats
      pos:
        line_end: 347
        line_start: 326
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    - fields:
      - name: RxQueueId
        type: int
      - name: IsCoreInUse
        type: bool
      item_type: struct
      name: DpdkCoreConfiguration
      pos:
        line_end: 752
        line_start: 739
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    - fields:
      - name: receiveDescriptorsNumber
        type: uint16_t
      - name: transmitDescriptorsNumber
        type: uint16_t
      - name: flushTxBufferTimeout
        type: uint16_t
      - name: '* rssKey'
        type: uint8_t
      - name: rssKeyLength
        type: uint8_t
      - name: rssHashFunction
        type: uint64_t
      item_type: struct
      name: DpdkDeviceConfiguration
      pos:
        line_end: 287
        line_start: 227
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    - fields:
      - name: linkUp
        type: bool
      - name: linkSpeedMbps
        type: int
      - name: linkDuplex
        type: LinkDuplex
      item_type: struct
      name: LinkStatus
      pos:
        line_end: 308
        line_start: 291
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    - fields:
      - name: packets
        type: uint64_t
      - name: bytes
        type: uint64_t
      - name: packetsPerSec
        type: uint64_t
      - name: bytesPerSec
        type: uint64_t
      item_type: struct
      name: RxTxStats
      pos:
        line_end: 322
        line_start: 312
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    - fields:
      - name: devId
        type: uint8_t
      - name: timestamp
        type: timespec
      - name: rxStats[DPDK_MAX_RX_QUEUES]
        type: RxTxStats
      - name: txStats[DPDK_MAX_RX_QUEUES]
        type: RxTxStats
      - name: aggregatedRxStats
        type: RxTxStats
      - name: aggregatedTxStats
        type: RxTxStats
      - name: rxPacketsDroppedByHW
        type: uint64_t
      - name: rxErroneousPackets
        type: uint64_t
      - name: rxMbufAllocFailed
        type: uint64_t
      item_type: struct
      name: DpdkDeviceStats
      pos:
        line_end: 347
        line_start: 326
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    - fields:
      - name: RxQueueId
        type: int
      - name: IsCoreInUse
        type: bool
      item_type: struct
      name: DpdkCoreConfiguration
      pos:
        line_end: 752
        line_start: 739
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
    typedefs:
    - item_type: typedef
      name: '* (*PacketIterator)(void* packetStorage, int index)'
      pos:
        line_end: 790
        line_start: 790
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
      type: rte_mbuf
    - item_type: typedef
      name: '* (*PacketIterator)(void* packetStorage, int index)'
      pos:
        line_end: 790
        line_start: 790
        source_file: /src/PcapPlusPlus/Pcap++/header/DpdkDevice.h
      type: rte_mbuf
    union: []
- function_names:
  - pcpp::internal::DeviceListBase::DeviceListBase
  - pcpp::internal::DeviceListBase::DeviceListBase
  - pcpp::internal::DeviceListBase::DeviceListBase
  - pcpp::internal::DeviceListBase::DeviceListBase
  - ~DeviceListBase()
  - '& operator=(DeviceListBase const&)'
  - '& operator=(DeviceListBase&&)'
  - pcpp::internal::DeviceListBase::begin
  - pcpp::internal::DeviceListBase::begin
  - pcpp::internal::DeviceListBase::cbegin
  - pcpp::internal::DeviceListBase::end
  - pcpp::internal::DeviceListBase::end
  - pcpp::internal::DeviceListBase::cend
  - pcpp::internal::DeviceListBase::empty
  - pcpp::internal::DeviceListBase::size
  - pcpp::internal::DeviceListBase::DeviceListBase
  - pcpp::internal::DeviceListBase::DeviceListBase
  - pcpp::internal::DeviceListBase::DeviceListBase
  - pcpp::internal::DeviceListBase::DeviceListBase
  - ~DeviceListBase()
  - '& operator=(DeviceListBase const&)'
  - '& operator=(DeviceListBase&&)'
  - pcpp::internal::DeviceListBase::begin
  - pcpp::internal::DeviceListBase::begin
  - pcpp::internal::DeviceListBase::cbegin
  - pcpp::internal::DeviceListBase::end
  - pcpp::internal::DeviceListBase::end
  - pcpp::internal::DeviceListBase::cend
  - pcpp::internal::DeviceListBase::empty
  - pcpp::internal::DeviceListBase::size
  - pcpp::internal::DeviceListBase::DeviceListBase
  - pcpp::internal::DeviceListBase::DeviceListBase
  - pcpp::internal::DeviceListBase::DeviceListBase
  - pcpp::internal::DeviceListBase::DeviceListBase
  - ~DeviceListBase()
  - '& operator=(DeviceListBase const&)'
  - '& operator=(DeviceListBase&&)'
  - pcpp::internal::DeviceListBase::begin
  - pcpp::internal::DeviceListBase::begin
  - pcpp::internal::DeviceListBase::cbegin
  - pcpp::internal::DeviceListBase::end
  - pcpp::internal::DeviceListBase::end
  - pcpp::internal::DeviceListBase::cend
  - pcpp::internal::DeviceListBase::empty
  - pcpp::internal::DeviceListBase::size
  - pcpp::internal::DeviceListBase::DeviceListBase
  - pcpp::internal::DeviceListBase::DeviceListBase
  - pcpp::internal::DeviceListBase::DeviceListBase
  - pcpp::internal::DeviceListBase::DeviceListBase
  - ~DeviceListBase()
  - '& operator=(DeviceListBase const&)'
  - '& operator=(DeviceListBase&&)'
  - pcpp::internal::DeviceListBase::begin
  - pcpp::internal::DeviceListBase::begin
  - pcpp::internal::DeviceListBase::cbegin
  - pcpp::internal::DeviceListBase::end
  - pcpp::internal::DeviceListBase::end
  - pcpp::internal::DeviceListBase::cend
  - pcpp::internal::DeviceListBase::empty
  - pcpp::internal::DeviceListBase::size
  source_file: /src/PcapPlusPlus/Pcap++/header/DeviceListBase.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::internal::PcapHandle::PcapHandle
  - pcpp::internal::PcapHandle::PcapHandle
  - '& operator=(const PcapHandle&)'
  - pcpp::internal::PcapHandle::isValid
  - pcpp::internal::PcapHandle::get
  - operator bool() const noexcept
  - operator==(std::nullptr_t) const noexcept
  - operator!=(std::nullptr_t) const noexcept
  - pcpp::internal::PcapHandle::PcapHandle
  - pcpp::internal::PcapHandle::PcapHandle
  - '& operator=(const PcapHandle&)'
  - pcpp::internal::PcapHandle::isValid
  - pcpp::internal::PcapHandle::get
  - operator bool() const noexcept
  - operator==(std::nullptr_t) const noexcept
  - operator!=(std::nullptr_t) const noexcept
  - pcpp::PcapLiveDevice
  - pcpp::DeviceConfiguration
  - pcpp::PcapLiveDevice
  - '& operator=(const PcapLiveDevice& other)'
  - pcpp::getDeviceType
  - pcpp::getName
  - pcpp::getDesc
  - pcpp::getLoopback
  - pcpp::getMtu
  - pcpp::getLinkType
  - pcpp::getIPAddresses
  - pcpp::getMacAddress
  - pcpp::sendPacket
  - pcpp::isOpened
  - pcpp::sendPacketUnchecked
  - pcpp::internal::PcapHandle::PcapHandle
  - pcpp::internal::PcapHandle::PcapHandle
  - '& operator=(const PcapHandle&)'
  - pcpp::internal::PcapHandle::isValid
  - pcpp::internal::PcapHandle::get
  - operator bool() const noexcept
  - operator==(std::nullptr_t) const noexcept
  - operator!=(std::nullptr_t) const noexcept
  - pcpp::internal::PcapHandle::PcapHandle
  - pcpp::internal::PcapHandle::PcapHandle
  - '& operator=(const PcapHandle&)'
  - pcpp::internal::PcapHandle::isValid
  - pcpp::internal::PcapHandle::get
  - operator bool() const noexcept
  - operator==(std::nullptr_t) const noexcept
  - operator!=(std::nullptr_t) const noexcept
  - pcpp::PcapLiveDevice
  - pcpp::DeviceConfiguration
  - pcpp::PcapLiveDevice
  - '& operator=(const PcapLiveDevice& other)'
  - pcpp::getDeviceType
  - pcpp::getName
  - pcpp::getDesc
  - pcpp::getLoopback
  - pcpp::getMtu
  - pcpp::getLinkType
  - pcpp::getIPAddresses
  - pcpp::getMacAddress
  - pcpp::sendPacket
  - pcpp::isOpened
  - pcpp::sendPacketUnchecked
  source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
  types:
    enum:
    - enumerators:
      - name: LibPcapDevice
      - name: RemoteDevice
      - name: WinPcapDevice
      item_type: enum
      name: LiveDeviceType
      pos:
        line_end: 222
        line_start: 214
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    - enumerators:
      - name: Normal
        value: '0'
      - name: Promiscuous
        value: '1'
      item_type: enum
      name: DeviceMode
      pos:
        line_end: 231
        line_start: 225
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    - enumerators:
      - name: PCPP_INOUT
        value: '0'
      - name: PCPP_IN
      - name: PCPP_OUT
      item_type: enum
      name: PcapDirection
      pos:
        line_end: 243
        line_start: 235
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    - enumerators:
      - name: Host
        value: '0'
      - name: Adapter
      - name: AdapterUnsynced
      - name: HostLowPrecision
      - name: HostHighPrecision
      - name: HostHighPrecisionUnsynced
      item_type: enum
      name: TimestampProvider
      pos:
        line_end: 261
        line_start: 247
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    - enumerators:
      - name: Microseconds
        value: '0'
      - name: Nanoseconds
      item_type: enum
      name: TimestampPrecision
      pos:
        line_end: 271
        line_start: 265
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    - enumerators:
      - name: LibPcapDevice
      - name: RemoteDevice
      - name: WinPcapDevice
      item_type: enum
      name: LiveDeviceType
      pos:
        line_end: 222
        line_start: 214
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    - enumerators:
      - name: Normal
        value: '0'
      - name: Promiscuous
        value: '1'
      item_type: enum
      name: DeviceMode
      pos:
        line_end: 231
        line_start: 225
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    - enumerators:
      - name: PCPP_INOUT
        value: '0'
      - name: PCPP_IN
      - name: PCPP_OUT
      item_type: enum
      name: PcapDirection
      pos:
        line_end: 243
        line_start: 235
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    - enumerators:
      - name: Host
        value: '0'
      - name: Adapter
      - name: AdapterUnsynced
      - name: HostLowPrecision
      - name: HostHighPrecision
      - name: HostHighPrecisionUnsynced
      item_type: enum
      name: TimestampProvider
      pos:
        line_end: 261
        line_start: 247
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    - enumerators:
      - name: Microseconds
        value: '0'
      - name: Nanoseconds
      item_type: enum
      name: TimestampPrecision
      pos:
        line_end: 271
        line_start: 265
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    preproc_defs: []
    structs:
    - fields:
      - name: name
        type: std::string
      - name: description
        type: std::string
      - name: addresses
        type: std::vector<IPAddress>
      - name: isLoopback
        type: bool
      item_type: struct
      name: DeviceInterfaceDetails
      pos:
        line_end: 173
        line_start: 162
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    - fields:
      - name: mode
        type: DeviceMode
      - name: packetBufferTimeoutMs
        type: int
      - name: packetBufferSize
        type: int
      - name: direction
        type: PcapDirection
      - name: snapshotLength
        type: int
      - name: nflogGroup
        type: unsigned int
      - name: usePoll
        type: bool
      - name: timestampProvider
        type: TimestampProvider
      - name: timestampPrecision
        type: TimestampPrecision
      item_type: struct
      name: DeviceConfiguration
      pos:
        line_end: 356
        line_start: 276
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    - fields:
      - name: name
        type: std::string
      - name: description
        type: std::string
      - name: addresses
        type: std::vector<IPAddress>
      - name: isLoopback
        type: bool
      item_type: struct
      name: DeviceInterfaceDetails
      pos:
        line_end: 173
        line_start: 162
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    - fields:
      - name: mode
        type: DeviceMode
      - name: packetBufferTimeoutMs
        type: int
      - name: packetBufferSize
        type: int
      - name: direction
        type: PcapDirection
      - name: snapshotLength
        type: int
      - name: nflogGroup
        type: unsigned int
      - name: usePoll
        type: bool
      - name: timestampProvider
        type: TimestampProvider
      - name: timestampPrecision
        type: TimestampPrecision
      item_type: struct
      name: DeviceConfiguration
      pos:
        line_end: 356
        line_start: 276
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
    typedefs:
    - item_type: typedef
      name: pcap_if_t
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
      type: pcap_if
    - item_type: typedef
      name: pcap_t
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/PcapPlusPlus/Pcap++/header/PcapLiveDevice.h
      type: pcap
    union: []
- function_names:
  - pcpp::RawSocketDevice::isOpened
  - pcpp::RawSocketDevice::isOpened
  source_file: /src/PcapPlusPlus/Pcap++/header/RawSocketDevice.h
  types:
    enum:
    - enumerators:
      - name: RecvSuccess
        value: '0'
      - name: RecvWouldBlock
        value: '2'
      - name: RecvError
        value: '3'
      - name: RecvTimeout
        value: '1'
      item_type: enum
      name: RecvPacketResult
      pos:
        line_end: 52
        line_start: 41
        source_file: /src/PcapPlusPlus/Pcap++/header/RawSocketDevice.h
    - enumerators:
      - name: Ethernet
        value: '0'
      - name: IPv4
        value: '1'
      - name: IPv6
        value: '2'
      item_type: enum
      name: SocketFamily
      pos:
        line_end: 140
        line_start: 135
        source_file: /src/PcapPlusPlus/Pcap++/header/RawSocketDevice.h
    - enumerators:
      - name: RecvSuccess
        value: '0'
      - name: RecvWouldBlock
        value: '2'
      - name: RecvError
        value: '3'
      - name: RecvTimeout
        value: '1'
      item_type: enum
      name: RecvPacketResult
      pos:
        line_end: 52
        line_start: 41
        source_file: /src/PcapPlusPlus/Pcap++/header/RawSocketDevice.h
    - enumerators:
      - name: Ethernet
        value: '0'
      - name: IPv4
        value: '1'
      - name: IPv6
        value: '2'
      item_type: enum
      name: SocketFamily
      pos:
        line_end: 140
        line_start: 135
        source_file: /src/PcapPlusPlus/Pcap++/header/RawSocketDevice.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::XdpDevice::XdpDeviceConfiguration
  - pcpp::XdpDevice::isOpened
  - pcpp::XdpDevice::getConfig
  - pcpp::XdpDevice::XdpUmem::getFrameSize
  - pcpp::XdpDevice::XdpUmem::getFrameCount
  - pcpp::XdpDevice::XdpUmem::getFreeFrameCount
  - pcpp::XdpDevice::XdpUmem::getInfo
  - pcpp::XdpDevice::XdpDeviceConfiguration
  - pcpp::XdpDevice::isOpened
  - pcpp::XdpDevice::getConfig
  - pcpp::XdpDevice::XdpUmem::getFrameSize
  - pcpp::XdpDevice::XdpUmem::getFrameCount
  - pcpp::XdpDevice::XdpUmem::getFreeFrameCount
  - pcpp::XdpDevice::XdpUmem::getInfo
  source_file: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
  types:
    enum:
    - enumerators:
      - name: SkbMode
        value: '1'
      - name: AutoMode
        value: '3'
      - name: DriverMode
        value: '2'
      item_type: enum
      name: AttachMode
      pos:
        line_end: 45
        line_start: 36
        source_file: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    - enumerators:
      - name: SkbMode
        value: '1'
      - name: AutoMode
        value: '3'
      - name: DriverMode
        value: '2'
      item_type: enum
      name: AttachMode
      pos:
        line_end: 45
        line_start: 36
        source_file: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    preproc_defs: []
    structs:
    - fields:
      - name: attachMode
        type: AttachMode
      - name: umemNumFrames
        type: uint16_t
      - name: umemFrameSize
        type: uint16_t
      - name: fillRingSize
        type: uint32_t
      - name: completionRingSize
        type: uint32_t
      - name: rxSize
        type: uint32_t
      - name: txSize
        type: uint32_t
      - name: rxTxBatchSize
        type: uint16_t
      item_type: struct
      name: XdpDeviceConfiguration
      pos:
        line_end: 103
        line_start: 32
        source_file: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    - fields:
      - name: timestamp
        type: timespec
      - name: rxPackets
        type: uint64_t
      - name: rxPacketsPerSec
        type: uint64_t
      - name: rxBytes
        type: uint64_t
      - name: rxBytesPerSec
        type: uint64_t
      - name: rxDroppedTotalPackets
        type: uint64_t
      - name: rxDroppedInvalidPackets
        type: uint64_t
      - name: rxDroppedRxRingFullPackets
        type: uint64_t
      - name: rxDroppedFillRingPackets
        type: uint64_t
      - name: rxPollTimeout
        type: uint64_t
      - name: txSentPackets
        type: uint64_t
      - name: txSentPacketsPerSec
        type: uint64_t
      - name: txSentBytes
        type: uint64_t
      - name: txSentBytesPerSec
        type: uint64_t
      - name: txCompletedPackets
        type: uint64_t
      - name: txCompletedPacketsPerSec
        type: uint64_t
      - name: txDroppedInvalidPackets
        type: uint64_t
      - name: rxRingId
        type: uint64_t
      - name: txRingId
        type: uint64_t
      - name: fqRingId
        type: uint64_t
      - name: cqRingId
        type: uint64_t
      - name: umemAllocatedFrames
        type: uint64_t
      - name: umemFreeFrames
        type: uint64_t
      item_type: struct
      name: XdpDeviceStats
      pos:
        line_end: 155
        line_start: 107
        source_file: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    - fields:
      - name: timestamp
        type: timespec
      - name: rxPackets
        type: uint64_t
      - name: rxBytes
        type: uint64_t
      - name: txSentPackets
        type: uint64_t
      - name: txSentBytes
        type: uint64_t
      - name: txCompletedPackets
        type: uint64_t
      item_type: struct
      name: XdpPrevDeviceStats
      pos:
        line_end: 292
        line_start: 284
        source_file: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    - fields:
      - name: attachMode
        type: AttachMode
      - name: umemNumFrames
        type: uint16_t
      - name: umemFrameSize
        type: uint16_t
      - name: fillRingSize
        type: uint32_t
      - name: completionRingSize
        type: uint32_t
      - name: rxSize
        type: uint32_t
      - name: txSize
        type: uint32_t
      - name: rxTxBatchSize
        type: uint16_t
      item_type: struct
      name: XdpDeviceConfiguration
      pos:
        line_end: 103
        line_start: 32
        source_file: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    - fields:
      - name: timestamp
        type: timespec
      - name: rxPackets
        type: uint64_t
      - name: rxPacketsPerSec
        type: uint64_t
      - name: rxBytes
        type: uint64_t
      - name: rxBytesPerSec
        type: uint64_t
      - name: rxDroppedTotalPackets
        type: uint64_t
      - name: rxDroppedInvalidPackets
        type: uint64_t
      - name: rxDroppedRxRingFullPackets
        type: uint64_t
      - name: rxDroppedFillRingPackets
        type: uint64_t
      - name: rxPollTimeout
        type: uint64_t
      - name: txSentPackets
        type: uint64_t
      - name: txSentPacketsPerSec
        type: uint64_t
      - name: txSentBytes
        type: uint64_t
      - name: txSentBytesPerSec
        type: uint64_t
      - name: txCompletedPackets
        type: uint64_t
      - name: txCompletedPacketsPerSec
        type: uint64_t
      - name: txDroppedInvalidPackets
        type: uint64_t
      - name: rxRingId
        type: uint64_t
      - name: txRingId
        type: uint64_t
      - name: fqRingId
        type: uint64_t
      - name: cqRingId
        type: uint64_t
      - name: umemAllocatedFrames
        type: uint64_t
      - name: umemFreeFrames
        type: uint64_t
      item_type: struct
      name: XdpDeviceStats
      pos:
        line_end: 155
        line_start: 107
        source_file: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    - fields:
      - name: timestamp
        type: timespec
      - name: rxPackets
        type: uint64_t
      - name: rxBytes
        type: uint64_t
      - name: txSentPackets
        type: uint64_t
      - name: txSentBytes
        type: uint64_t
      - name: txCompletedPackets
        type: uint64_t
      item_type: struct
      name: XdpPrevDeviceStats
      pos:
        line_end: 292
        line_start: 284
        source_file: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
    typedefs:
    - item_type: typedef
      name: (*OnPacketsArrive)(RawPacket packets[], uint32_t packetCount, XdpDevice*
        device, void* userCookie)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
      type: void
    - item_type: typedef
      name: (*OnPacketsArrive)(RawPacket packets[], uint32_t packetCount, XdpDevice*
        device, void* userCookie)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/PcapPlusPlus/Pcap++/header/XdpDevice.h
      type: void
    union: []
- function_names:
  - pcpp::KniDeviceList::isInitialized
  - pcpp::KniDeviceList::isInitialized
  source_file: /src/PcapPlusPlus/Pcap++/header/KniDeviceList.h
  types:
    enum:
    - enumerators:
      - name: CALLBACKS_NEW
        value: '0'
      - name: CALLBACKS_OLD
        value: '1'
      item_type: enum
      name: KniCallbackVersion
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDeviceList.h
    - enumerators:
      - name: CALLBACK_MTU
      - name: CALLBACK_PROMISC
      - name: CALLBACK_MAC
      - name: CALLBACK_LINK
      item_type: enum
      name: KniCallbackType
      pos:
        line_end: 56
        line_start: 45
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDeviceList.h
    - enumerators:
      - name: CALLBACKS_NEW
        value: '0'
      - name: CALLBACKS_OLD
        value: '1'
      item_type: enum
      name: KniCallbackVersion
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDeviceList.h
    - enumerators:
      - name: CALLBACK_MTU
      - name: CALLBACK_PROMISC
      - name: CALLBACK_MAC
      - name: CALLBACK_LINK
      item_type: enum
      name: KniCallbackType
      pos:
        line_end: 56
        line_start: 45
        source_file: /src/PcapPlusPlus/Pcap++/header/KniDeviceList.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& getInstance()'
  - pcpp::NetworkUtils::NetworkUtils
  - '& getInstance()'
  - pcpp::NetworkUtils::NetworkUtils
  source_file: /src/PcapPlusPlus/Pcap++/header/NetworkUtils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::IDevice::IDevice
  - ~IDevice()
  - pcpp::IFilterableDevice::IFilterableDevice
  - ~IFilterableDevice()
  - pcpp::IFilterableDevice::setFilter
  - pcpp::IFilterableDevice::setFilter
  - pcpp::IFilterableDevice::clearFilter
  - pcpp::IDevice::IDevice
  - ~IDevice()
  - pcpp::IFilterableDevice::IFilterableDevice
  - ~IFilterableDevice()
  - pcpp::IFilterableDevice::setFilter
  - pcpp::IFilterableDevice::setFilter
  - pcpp::IFilterableDevice::clearFilter
  source_file: /src/PcapPlusPlus/Pcap++/header/Device.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: resourceBuffer
        type: Resource
      - name: packet
        type: std::unique_ptr<pcpp::RawPacket>
      item_type: struct
      name: PacketAndBuffer
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.h
    - fields:
      - name: resourceBuffer
        type: Resource
      - name: packet
        type: std::unique_ptr<pcpp::RawPacket>
      item_type: struct
      name: PacketAndBuffer
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.h
    - fields:
      - name: resourceBuffer
        type: Resource
      - name: packet
        type: std::unique_ptr<pcpp::RawPacket>
      item_type: struct
      name: PacketAndBuffer
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.h
    - fields:
      - name: resourceBuffer
        type: Resource
      - name: packet
        type: std::unique_ptr<pcpp::RawPacket>
      item_type: struct
      name: PacketAndBuffer
      pos:
        line_end: 68
        line_start: 64
        source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.h
  types:
    enum:
    - enumerators:
      - name: HexData
      item_type: enum
      name: ResourceType
      pos:
        line_end: 16
        line_start: 13
        source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.h
    - enumerators:
      - name: HexData
      item_type: enum
      name: ResourceType
      pos:
        line_end: 16
        line_start: 13
        source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.h
    - enumerators:
      - name: HexData
      item_type: enum
      name: ResourceType
      pos:
        line_end: 16
        line_start: 13
        source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.h
    - enumerators:
      - name: HexData
      item_type: enum
      name: ResourceType
      pos:
        line_end: 16
        line_start: 13
        source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.h
    preproc_defs: []
    structs:
    - fields:
      - name: length
        type: size_t
      - name: data
        type: std::unique_ptr<uint8_t[]>
      item_type: struct
      name: Resource
      pos:
        line_end: 23
        line_start: 19
        source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.h
    - fields:
      - name: length
        type: size_t
      - name: data
        type: std::unique_ptr<uint8_t[]>
      item_type: struct
      name: Resource
      pos:
        line_end: 23
        line_start: 19
        source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.h
    - fields:
      - name: length
        type: size_t
      - name: data
        type: std::unique_ptr<uint8_t[]>
      item_type: struct
      name: Resource
      pos:
        line_end: 23
        line_start: 19
        source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.h
    - fields:
      - name: length
        type: size_t
      - name: data
        type: std::unique_ptr<uint8_t[]>
      item_type: struct
      name: Resource
      pos:
        line_end: 23
        line_start: 19
        source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.h
    typedefs: []
    union: []
- function_names:
  - pcpp_tests::utils::getOsPathSeparator
  - pcpp_tests::utils::getFileLength
  - pcpp_tests::utils::readHexResource
  - pcpp_tests::utils::getOsPathSeparator
  - pcpp_tests::utils::getFileLength
  - pcpp_tests::utils::readHexResource
  - pcpp_tests::utils::ResourceProvider::ResourceProvider
  - pcpp_tests::utils::ResourceProvider::loadResource
  - pcpp_tests::utils::ResourceProvider::loadResourceToVector
  - pcpp_tests::utils::ResourceProvider::saveResource
  - pcpp_tests::utils::getOsPathSeparator
  - pcpp_tests::utils::getFileLength
  - pcpp_tests::utils::readHexResource
  - pcpp_tests::utils::getOsPathSeparator
  - pcpp_tests::utils::getFileLength
  - pcpp_tests::utils::readHexResource
  - pcpp_tests::utils::ResourceProvider::ResourceProvider
  - pcpp_tests::utils::ResourceProvider::loadResource
  - pcpp_tests::utils::ResourceProvider::loadResourceToVector
  - pcpp_tests::utils::ResourceProvider::saveResource
  - pcpp_tests::setDefaultResourceProvider
  - pcpp_tests::getDefaultResourceProvider
  - pcpp_tests::loadHexResourceToVector
  - pcpp_tests::utils::getOsPathSeparator
  - pcpp_tests::utils::getFileLength
  - pcpp_tests::utils::readHexResource
  - pcpp_tests::utils::getOsPathSeparator
  - pcpp_tests::utils::getFileLength
  - pcpp_tests::utils::readHexResource
  - pcpp_tests::utils::ResourceProvider::ResourceProvider
  - pcpp_tests::utils::ResourceProvider::loadResource
  - pcpp_tests::utils::ResourceProvider::loadResourceToVector
  - pcpp_tests::utils::ResourceProvider::saveResource
  - pcpp_tests::utils::getOsPathSeparator
  - pcpp_tests::utils::getFileLength
  - pcpp_tests::utils::readHexResource
  - pcpp_tests::utils::getOsPathSeparator
  - pcpp_tests::utils::getFileLength
  - pcpp_tests::utils::readHexResource
  - pcpp_tests::utils::ResourceProvider::ResourceProvider
  - pcpp_tests::utils::ResourceProvider::loadResource
  - pcpp_tests::utils::ResourceProvider::loadResourceToVector
  - pcpp_tests::utils::ResourceProvider::saveResource
  - pcpp_tests::setDefaultResourceProvider
  - pcpp_tests::getDefaultResourceProvider
  - pcpp_tests::loadHexResourceToVector
  source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/Resources.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::createFromBuffer
  - pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
  - pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
  - pcpp_tests::utils::createPacketFromHexResource
  - pcpp_tests::utils::createPacketAndBufferFromHexResource
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::createFromBuffer
  - pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
  - pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
  - pcpp_tests::utils::createPacketFromHexResource
  - pcpp_tests::utils::createPacketAndBufferFromHexResource
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::createFromBuffer
  - pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
  - pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
  - pcpp_tests::utils::createPacketFromHexResource
  - pcpp_tests::utils::createPacketAndBufferFromHexResource
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::PacketFactory
  - pcpp_tests::utils::PacketFactory::createFromBuffer
  - pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
  - pcpp_tests::utils::PacketFactory::createFromBufferNonOwning
  - pcpp_tests::utils::createPacketFromHexResource
  - pcpp_tests::utils::createPacketAndBufferFromHexResource
  source_file: /src/PcapPlusPlus/Tests/PcppTestUtilities/PacketFactory.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/TestDefinition.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - printUsage
  - main
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp_tests::getFileLength
  - pcpp_tests::hexCharToDigit
  - pcpp_tests::hexPairToByte
  - pcpp_tests::hexCharToDigit
  - pcpp_tests::hexPairToByte
  - pcpp_tests::readFileIntoBuffer
  - pcpp_tests::readFileIntoBuffer
  - pcpp_tests::printBufferDifferences
  - pcpp_tests::testSetUp
  - pcpp_tests::savePacketToPcap
  - pcpp_tests::getFileLength
  - pcpp_tests::hexCharToDigit
  - pcpp_tests::hexPairToByte
  - pcpp_tests::hexCharToDigit
  - pcpp_tests::hexPairToByte
  - pcpp_tests::readFileIntoBuffer
  - pcpp_tests::readFileIntoBuffer
  - pcpp_tests::printBufferDifferences
  - pcpp_tests::testSetUp
  - pcpp_tests::savePacketToPcap
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SuppressLogs::SuppressLogs
  - ~SuppressLogs()
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Utils/TestUtils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VrrpTest.cpp
      type_or_value: PacketLogModuleVrrpLayer
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SmtpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/FtpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpV6Tests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GreTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpSdTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/VlanMplsTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SipSdpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/X509Tests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WireGuardTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/ModbusTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Sll2Tests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketUtilsTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IgmpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SllNullLoopbackTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PPPoETests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/S7CommTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - compareStringToFile
  - compareVectorToBinaryFile
  - compareStringToFile
  - compareVectorToBinaryFile
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CryptoKeyTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv6Tests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DnsTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DoIpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NflogTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PemTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSLTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Asn1Tests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SomeIpTeardown::SomeIpTeardown
  - ~SomeIpTeardown()
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SomeIpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/SSHTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/WakeOnLanTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/RadiusTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - ASSERT_MYSQL_MESSAGE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/MySqlTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPv4Tests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IcmpV6Tests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPSILON
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp
      type_or_value: 1e-6
    - item_type: preproc_def
      name: EPOCH_OFFSET
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/NtpTests.cpp
      type_or_value: 2208988800ULL
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - ASSERT_MESSAGE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PostgresTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TpktTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TelnetTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CotpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/StpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/IPSecTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/DhcpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/HttpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/GtpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/PacketTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LLCTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/LdapTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/BgpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/EthAndArpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/Base64Tests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/CiscoHdlcTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DISABLE_WARNING_DEPRECATED::PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Packet++Test/Tests/TcpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/TestDefinition.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - printUsage
  - main
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sendURLRequest
  - readPcapIntoPacketVec
  - getFileLength
  - readFileIntoBuffer
  - testSetUp
  - TempFile::TempFile
  - TempFile::~TempFile()
  - TempFile::generateRandomName
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/GlobalTestArgs.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ipToSendReceivePackets
        type: std::string
      - name: debugMode
        type: bool
      - name: remoteIp
        type: std::string
      - name: remotePort
        type: uint16_t
      - name: dpdkPort
        type: int
      - name: dpdkArgs
        type: std::vector<std::string>
      - name: kniIp
        type: std::string
      - name: xdpInterface
        type: std::string
      item_type: struct
      name: PcapTestArgs
      pos:
        line_end: 16
        line_start: 6
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/GlobalTestArgs.h
    typedefs: []
    union: []
- function_names:
  - DeviceTeardown::DeviceTeardown
  - ~DeviceTeardown()
  - DeviceTeardown::cancelTeardown
  - SuppressLogs::SuppressLogs
  - ~SuppressLogs()
  - intersectMaps
  - TempFile::TempFile
  - '& operator=(const TempFile&)'
  - '& operator<<(const T& data)'
  - '& operator<<(const std::vector<uint8_t>& data)'
  - '& operator<<(const std::array<uint8_t, N>& data)'
  - TempFile::getFileName
  - TempFile::close
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/TestUtils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXAMPLE_PCAP_WRITE_PATH
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/example_copy.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_PATH
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/example.pcap"'
    - item_type: preproc_def
      name: EXAMPLE2_PCAP_PATH
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/example2.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_IPV6_PATH
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/ICMPv6_echos.cap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_HTTP_REQUEST
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/4KHttpRequests.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_HTTP_RESPONSE
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/650HttpResponses.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_VLAN
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/VlanPackets.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_DNS
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/DnsPackets.pcap"'
    - item_type: preproc_def
      name: DPDK_PCAP_WRITE_PATH
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/DpdkPackets.pcap"'
    - item_type: preproc_def
      name: SLL_PCAP_WRITE_PATH
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/sll_copy.pcap"'
    - item_type: preproc_def
      name: SLL_PCAP_PATH
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/sll.pcap"'
    - item_type: preproc_def
      name: RAW_IP_PCAP_WRITE_PATH
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/raw_ip_copy.pcap"'
    - item_type: preproc_def
      name: RAW_IP_PCAP_PATH
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/raw_ip.pcap"'
    - item_type: preproc_def
      name: NULL_LOOPBACK_PCAP_PATH
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/null_loopback.pcap"'
    - item_type: preproc_def
      name: RAW_IP_PCAPNG_PATH
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/raw_ip.pcapng"'
    - item_type: preproc_def
      name: EXAMPLE_PCAPNG_PATH
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/many_interfaces-1.pcapng"'
    - item_type: preproc_def
      name: EXAMPLE2_PCAPNG_PATH
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/pcapng-example.pcapng"'
    - item_type: preproc_def
      name: EXAMPLE_PCAPNG_WRITE_PATH
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/many_interfaces_copy.pcapng"'
    - item_type: preproc_def
      name: EXAMPLE2_PCAPNG_WRITE_PATH
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/pcapng-example-write.pcapng"'
    - item_type: preproc_def
      name: EXAMPLE_PCAPNG_ZSTD_WRITE_PATH
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/many_interfaces_copy.pcapng.zstd"'
    - item_type: preproc_def
      name: EXAMPLE_PCAPNG_ZSTD_LEVELS_WRITE_PATH
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/many_interfaces_levels.pcapng.zstd"'
    - item_type: preproc_def
      name: EXAMPLE2_PCAPNG_ZSTD_WRITE_PATH
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/pcapng-example-write.pcapng.zstd"'
    - item_type: preproc_def
      name: EXAMPLE2_PCAPNG_ZST_WRITE_PATH
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/pcapng-example-write.pcapng.zst"'
    - item_type: preproc_def
      name: EXAMPLE_PCAPNG_INTERFACES_PATH
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/too_many_interfaces.pcapng"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_GRE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/GrePackets.cap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_IGMP
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/IgmpPackets.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_LINKTYPE_IPV6
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/linktype_ipv6.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_LINKTYPE_IPV4
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/linktype_ipv4.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_SOLARIS_SNOOP
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/solaris.snoop"'
    - item_type: preproc_def
      name: SLL2_PCAP_PATH
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/sll2.pcap"'
    - item_type: preproc_def
      name: SLL2_PCAP_WRITE_PATH
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/sll2_copy.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_MICRO_PATH
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/microsecs.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_MICRO_WRITE_PATH
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/microsecs_copy.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_MICRO_BIG_ENDIAN_PATH
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/microsecs_big_endian.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_DESTRUCTOR1_PATH
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/destructor1.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_DESTRUCTOR2_PATH
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/destructor2.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_NANO_PATH
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/nanosecs.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_NANO_WRITE_PATH
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/nanosecs_copy.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAP_NANO_BIG_ENDIAN_PATH
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/nanosecs_big_endian.pcap"'
    - item_type: preproc_def
      name: EXAMPLE_PCAPNG_NANO_PATH
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Common/PcapFileNamesDef.h
      type_or_value: '"PcapExamples/nanosecs.pcapng"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ipReassemblyOnFragmentsClean
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IPFragmentationTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - incSleep
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FilterTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FileReaderTeardown::FileReaderTeardown
  - ~FileReaderTeardown()
  - copyContents
  - writeContents
  - copyContents
  - writeContents
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - createPcapHeader
  - createPcapPacketHeader
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - createSnoopHeader
  - createSnoopPacketHeader
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
  types:
    enum:
    - enumerators:
      - name: Magic
      - name: MinorVersion
      - name: Snaplen
      - name: MajorVersion
      - name: LinkType
      item_type: enum
      name: PcapHeaderParam
      pos:
        line_end: 317
        line_start: 310
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    - enumerators:
      - name: TimestampSec
      - name: TimestampUsec
      - name: Caplen
      - name: Len
      item_type: enum
      name: PcapPacketHeaderParam
      pos:
        line_end: 393
        line_start: 387
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    - enumerators:
      - name: Magic
      - name: LinkType
      - name: Version
      item_type: enum
      name: SnoopHeaderParam
      pos:
        line_end: 2085
        line_start: 2080
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    - enumerators:
      - name: TimestampSec
      - name: Caplen
      - name: Wirelen
      - name: TimestampUsec
      - name: Pad
      item_type: enum
      name: SnoopPacketHeaderParam
      pos:
        line_end: 2132
        line_start: 2125
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    preproc_defs: []
    structs:
    - fields:
      - name: magic
        type: uint32_t
      - name: version_major
        type: uint16_t
      - name: version_minor
        type: uint16_t
      - name: thiszone
        type: int32_t
      - name: sigfigs
        type: uint32_t
      - name: snaplen
        type: uint32_t
      - name: linktype
        type: uint32_t
      item_type: struct
      name: pcap_file_header
      pos:
        line_end: 340
        line_start: 331
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    - fields:
      - name: tv_sec
        type: uint32_t
      - name: tv_usec
        type: uint32_t
      - name: caplen
        type: uint32_t
      - name: len
        type: uint32_t
      item_type: struct
      name: packet_header
      pos:
        line_end: 405
        line_start: 399
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    - fields:
      - name: identification_pattern
        type: uint64_t
      - name: version_number
        type: uint32_t
      - name: datalink_type
        type: uint32_t
      item_type: struct
      name: snoop_file_header
      pos:
        line_end: 2094
        line_start: 2089
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    - fields:
      - name: original_length
        type: uint32_t
      - name: included_length
        type: uint32_t
      - name: packet_record_length
        type: uint32_t
      - name: ndrops_cumulative
        type: uint32_t
      - name: time_sec
        type: uint32_t
      - name: time_usec
        type: uint32_t
      item_type: struct
      name: snoop_packet_header
      pos:
        line_end: 2144
        line_start: 2136
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/FileTests.cpp
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/SystemUtilsTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcpp::invokeDebugLog
  - pcpp::invokeWarnLog
  - pcpp::invokeErrorLog
  - pcpp::invokeDebugLog
  - pcpp::invokeWarnLog
  - pcpp::invokeErrorLog
  - LogPrinter::LogPrinter
  - LogPrinter::onLogMessage
  - LogPrinter::clean
  - LogPrinter::getLastLog
  - MultiThreadLogCounter::MultiThreadLogCounter
  - MultiThreadLogCounter::onLogMessage
  - getLFileName
  - getLowerCaseFileName
  - getMethodWithoutNamespace
  - ~LoggerCleaner()
  - printLogThread
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_MODULE
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
      type_or_value: PacketLogModuleArpLayer
    - item_type: preproc_def
      name: PCPP_TEST_EXPECTED_DEBUG_LOG_LINE
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
      type_or_value: '20'
    - item_type: preproc_def
      name: PCPP_TEST_EXPECTED_WARN_LOG_LINE
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
      type_or_value: '25'
    - item_type: preproc_def
      name: PCPP_TEST_EXPECTED_ERROR_LOG_LINE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
      type_or_value: '30'
    - item_type: preproc_def
      name: PCPP_TEST_EXPECTED_DEBUG_LOG_LINE
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
      type_or_value: '20'
    - item_type: preproc_def
      name: PCPP_TEST_EXPECTED_WARN_LOG_LINE
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
      type_or_value: '25'
    - item_type: preproc_def
      name: PCPP_TEST_EXPECTED_ERROR_LOG_LINE
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
      type_or_value: '30'
    - item_type: preproc_def
      name: SEPARATOR
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: SEPARATOR
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
      type_or_value: '''/'''
    structs:
    - fields:
      - name: logLevel
        type: int
      - name: message
        type: std::string
      - name: filename
        type: std::string
      - name: method
        type: std::string
      - name: line
        type: int
      item_type: struct
      name: LogInfo
      pos:
        line_end: 43
        line_start: 36
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    - fields:
      - name: logMessagesCount
        type: int
      item_type: struct
      name: ThreadLogCounter
      pos:
        line_end: 94
        line_start: 91
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LoggerTests.cpp
    typedefs: []
    union: []
- function_names:
  - XdpPacketData
  - assertConfig
  - getDeviceName
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: packetCount
        type: int
      - name: byteCount
        type: int
      - name: latestTimestamp
        type: uint64_t
      item_type: struct
      name: XdpPacketData
      pos:
        line_end: 21
        line_start: 13
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/XdpTests.cpp
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PacketParsingTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - change_mtu_new
  - change_mtu_old
  - config_network_if_new
  - config_network_if_old
  - config_mac_address
  - config_promiscusity
  - onPacketsCallbackSingleBurst
  - onPacketsMock
  - onPacketsCallback
  - setCallbacks
  - setKniDeviceIp
  - KniDeviceTeardown::KniDeviceTeardown
  - ~KniDeviceTeardown()
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KNI_TEST_NAME
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
      type_or_value: '"tkni"'
    structs:
    - fields:
      - name: cb_new
        type: pcpp::KniDevice::KniIoctlCallbacks
      - name: cb_old
        type: pcpp::KniDevice::KniOldIoctlCallbacks
      item_type: struct
      name: KniRequestsCallbacksMock
      pos:
        line_end: 73
        line_start: 16
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/KniTests.cpp
    typedefs: []
    union: []
- function_names:
  - DpdkPacketData
  - clear
  - incSleep
  - incSleepMultiThread
  - dpdkPacketsArrive
  - dpdkPacketsArriveMultiThread
  - DpdkTestWorkerThread::DpdkTestWorkerThread
  - DpdkTestWorkerThread::init
  - DpdkTestWorkerThread::run
  - DpdkTestWorkerThread::stop
  - DpdkTestWorkerThread::getCoreId
  - DpdkTestWorkerThread::getPacketCount
  - DpdkTestWorkerThread::threadRanAndStopped
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ThreadId
        type: uint8_t
      - name: PacketCount
        type: int
      - name: EthCount
        type: int
      - name: ArpCount
        type: int
      - name: Ip4Count
        type: int
      - name: Ip6Count
        type: int
      - name: TcpCount
        type: int
      - name: UdpCount
        type: int
      - name: HttpCount
        type: int
      - name: FlowKeys
        type: std::unordered_map<uint32_t, pcpp::RawPacketVector>
      item_type: struct
      name: DpdkPacketData
      pos:
        line_end: 53
        line_start: 22
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/DpdkTests.cpp
    typedefs: []
    union: []
- function_names:
  - TcpReassemblyStats
  - clear
  - clear
  - readFileIntoString
  - getPayloadLen
  - tcpReassemblyMsgReadyCallback
  - tcpReassemblyManuallyCloseConnMsgReadyCallback
  - tcpReassemblyConnectionStartCallback
  - tcpReassemblyConnectionEndCallback
  - tcpReassemblyTest
  - tcpReassemblyTestManuallyCloseConnOnMsgReady
  - tcpReassemblyAddRetransmissions
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: reassembledData
        type: std::string
      - name: numOfDataPackets
        type: int
      - name: curSide
        type: int8_t
      - name: numOfMessagesFromSide[2]
        type: int
      - name: connectionsStarted
        type: bool
      - name: connectionsEnded
        type: bool
      - name: connectionsEndedManually
        type: bool
      - name: totalMissingBytes
        type: size_t
      - name: connData
        type: pcpp::ConnectionData
      item_type: struct
      name: TcpReassemblyStats
      pos:
        line_end: 48
        line_start: 19
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    - fields:
      - name: stats
        type: Stats
      - name: flowKeysList
        type: FlowKeysList
      - name: timestamps
        type: std::vector<timeval>
      - name: '* tcpReassmbly'
        type: pcpp::TcpReassembly
      item_type: struct
      name: TcpReassemblyMultipleConnStats
      pos:
        line_end: 70
        line_start: 54
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/TcpReassemblyTests.cpp
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/RawSocketTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/IpMacTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - packetArrives
  - statsUpdate
  - packetArrivesBlockingModeTimeout
  - packetArrivesBlockingModeNoTimeout
  - packetArrivesBlockingModeStartCapture
  - packetArrivesBlockingModeStopCapture
  - packetArrivesBlockingModeNoTimeoutPacketCount
  - packetArrivesBlockingModeWithSnaplen
  - RpcapdServerInitializer::killProcessAndCloseHandles
  - RpcapdServerInitializer::RpcapdServerInitializer
  - RpcapdServerInitializer::RpcapdServerInitializer
  - RpcapdServerInitializer::RpcapdServerInitializer
  - '& operator=(const RpcapdServerInitializer&)'
  - '& operator=(RpcapdServerInitializer&& other) noexcept'
  - ~RpcapdServerInitializer()
  - RpcapdServerInitializer::getHandle
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/LiveDeviceTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/ObjectPoolTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PfRingPacketData
  - clear
  - pfRingPacketsArrive
  - pfRingPacketsArriveMultiThread
  - pfRingPacketsArriveSetFilter
  - incSleep
  - incSleepMultiThread
  - incSleepSetFilter
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ThreadId
        type: uint8_t
      - name: PacketCount
        type: int
      - name: EthCount
        type: int
      - name: IpCount
        type: int
      - name: TcpCount
        type: int
      - name: UdpCount
        type: int
      - name: FlowKeys
        type: std::unordered_map<uint32_t, pcpp::RawPacketVector>
      item_type: struct
      name: PfRingPacketData
      pos:
        line_end: 41
        line_start: 19
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    - fields:
      - name: Instruction
        type: int
      - name: Data
        type: std::string
      - name: PacketCount
        type: int
      item_type: struct
      name: SetFilterInstruction
      pos:
        line_end: 48
        line_start: 43
        source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/PfRingTests.cpp
    typedefs: []
    union: []
- function_names:
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  - PTF_TEST_CASE
  source_file: /src/PcapPlusPlus/Tests/Pcap++Test/Tests/WinDivertTests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkCommon.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PTF_RESULT_PASSED
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkCommon.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PTF_RESULT_FAILED
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkCommon.h
      type_or_value: '0'
    - item_type: preproc_def
      name: PTF_RESULT_SKIPPED
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkCommon.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: PTF_TESTNAME_WIDTH
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkCommon.h
      type_or_value: '45'
    structs: []
    typedefs: []
    union: []
- function_names:
  - _PTF_PRINT_TYPE_ACTUAL
  - _PTF_PRINT_TYPE_EXPECTED
  - hex_PTF_PRINT_TYPE_ACTUAL
  - hex_PTF_PRINT_TYPE_EXPECTED
  - enum_PTF_PRINT_TYPE_ACTUAL
  - enum_PTF_PRINT_TYPE_EXPECTED
  - ptr_PTF_PRINT_TYPE_ACTUAL
  - ptr_PTF_PRINT_TYPE_EXPECTED
  - enumclass_PTF_PRINT_TYPE_ACTUAL
  - enumclass_PTF_PRINT_TYPE_EXPECTED
  - BUFFER_PRINT
  - PTF_PRINT_ASSERTION
  - PTF_PRINT_COMPARE_ASSERTION
  - PTF_PRINT_COMPARE_ASSERTION_FAILED
  - PTF_PRINT_COMPARE_ASSERTION_NON_CRITICAL
  - PTF_TEST_CASE
  - PTF_INTERNAL_RUN
  - PTF_ASSERT_EQUAL
  - PTF_ASSERT_VECTORS_EQUAL
  - PTF_ASSERT_NOT_EQUAL
  - PTF_ASSERT_GREATER_THAN
  - PTF_ASSERT_GREATER_OR_EQUAL_THAN
  - PTF_ASSERT_LOWER_THAN
  - PTF_ASSERT_LOWER_OR_EQUAL_THAN
  - PTF_ASSERT_BUF_COMPARE_S
  - PTF_ASSERT_BUF_COMPARE
  - PTF_ASSERT_TRUE
  - PTF_ASSERT_FALSE
  - PTF_ASSERT_NOT_NULL
  - PTF_ASSERT_NULL
  - PTF_NON_CRITICAL_EQUAL
  - PTF_NON_CRITICAL_TRUE
  - PTF_PRINT_VERBOSE
  - PTF_SKIP_TEST
  source_file: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _PTF_MSVC_SUPPRESS_C26444
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
      type_or_value: '_Pragma("warning(suppress: 26444)");'
    - item_type: preproc_def
      name: PTF_IS_VERBOSE_MODE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
      type_or_value: printVerbose
    - item_type: preproc_def
      name: PTF_TEST_CASE_PASSED
      pos:
        line_end: 72
        line_start: 69
        source_file: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFramework.h
      type_or_value: "ptfResult = PTF_RESULT_PASSED;                                                                                     \\\n\treturn"
    structs: []
    typedefs: []
    union: []
- function_names:
  - __ptfSplitString
  - __ptfCheckTags
  - PTF_START_RUNNING_TESTS
  - PTF_RUN_TEST
  - PTF_SET_VERBOSE_MODE
  - PTF_SHOW_SKIPPED_TESTS
  source_file: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PTF_END_RUNNING_TESTS
      pos:
        line_end: 132
        line_start: 123
        source_file: /src/PcapPlusPlus/Tests/PcppTestFramework/PcppTestFrameworkRun.h
      type_or_value: "std::string message = (allTestsPassed ? \"ALL TESTS PASSED!!\"
        : \"NOT ALL TESTS PASSED!!\");                          \\\n\tstd::cout <<
        std::endl                                                                                             \\\n\t
        \         << message << std::endl                                                                                  \\\n\t
        \         << \"Test cases: \" << testsPassed + testsFailed + testsSkipped
        << \", \"                                    \\\n\t          << \"Passed:
        \" << testsPassed << \", \"                                                                     \\\n\t
        \         << \"Failed: \" << testsFailed << \", \"                                                                     \\\n\t
        \         << \"Skipped: \" << testsSkipped << std::endl;                                                             \\\n\treturn
        (allTestsPassed ? 0 : 1);"
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/PcapPlusPlus/Tests/Fuzzers/FuzzTarget.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - readParsedPacket
  source_file: /src/PcapPlusPlus/Tests/Fuzzers/ReadParsedPacket.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dumpDataToPcapFile
  source_file: /src/PcapPlusPlus/Tests/Fuzzers/DumpToFile.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/PcapPlusPlus/Tests/Fuzzers/FuzzWriter.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _vwarnx
  - warnx
  - gcd
  - permute_args
  - getopt
  - parse_long_options
  - IDENTICAL_INTERPRETATION
  - getopt_internal
  - getopt_long
  - getopt_long_only
  source_file: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: optreset
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
      type_or_value: __mingw_optreset
    - item_type: preproc_def
      name: PRINT_ERROR
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
      type_or_value: ((opterr) && (*options != ':'))
    - item_type: preproc_def
      name: FLAG_PERMUTE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: FLAG_ALLARGS
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: FLAG_LONGONLY
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
      type_or_value: "0x04\t"
    - item_type: preproc_def
      name: BADCH
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
      type_or_value: (int)'?'
    - item_type: preproc_def
      name: BADARG
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
      type_or_value: '((*options == '':'') ? (int)'':'' : (int)''?'')'
    - item_type: preproc_def
      name: INORDER
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
      type_or_value: (int)1
    - item_type: preproc_def
      name: __progname
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
      type_or_value: __argv[0]
    - item_type: preproc_def
      name: EMSG
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
      type_or_value: '""'
    - item_type: preproc_def
      name: optreset
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
      type_or_value: __mingw_optreset
    - item_type: preproc_def
      name: HAVE_DECL_GETOPT
      pos:
        line_end: 647
        line_start: 646
        source_file: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: has_arg
        type: int
      - name: '*flag'
        type: int
      - name: val
        type: int
      item_type: struct
      name: option
      pos:
        line_end: 274
        line_start: 268
        source_file: /src/PcapPlusPlus/3rdParty/Getopt-for-Visual-Studio/getopt.h
    typedefs: []
    union: []
- function_names:
  - light_get_option
  - light_get_option_code
  - light_get_next_option
  - light_get_option_data
  - light_get_option_length
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_option.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - __copy_option
  - __copy_block
  - __get_option_total_size
  - __get_option_size
  - __is_section_header
  - __validate_section
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_internal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - __parse_mem_inplace
  - light_no_copy_from_memory
  - light_pcapng_mem_release
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_cont.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - light_alloc_option
  - light_alloc_block
  - light_free_option
  - light_free_block
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_alloc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - light_section_feature_extraction
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_advanced.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - __create_file_info
  - int_pow
  - __append_interface_block_to_file_info
  - __is_open_for_write
  - light_pcapng_open_read
  - light_pcapng_open_write
  - light_pcapng_open_append
  - light_create_default_file_info
  - light_create_file_info
  - light_free_file_info
  - light_pcang_get_file_info
  - light_get_next_packet
  - light_write_packet
  - light_pcapng_close
  - light_pcapng_flush
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pcapng
        type: light_pcapng
      - name: '*file_info'
        type: light_pcapng_file_info
      - name: file
        type: light_file
      item_type: struct
      name: _light_pcapng_t
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng_ext.c
    typedefs: []
    union: []
- function_names:
  - max
  - get_zstd_compression_context
  - free_zstd_compression_context
  - get_zstd_decompression_context
  - free_zstd_decompression_context
  - is_zstd_compressed_file
  - read_zstd_compressed
  - write_zstd_compressed
  - close_zstd_compressed
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_zstd_compression.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_null_compression.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - __parse_options
  - parse_by_block_type
  - __parse_mem_copy
  - light_read_record
  - light_read_from_memory
  - __free_option
  - light_pcapng_release
  - __option_count
  - light_pcapng_to_string
  - light_pcapng_to_memory
  - light_pcapng_to_file_stream
  - light_pcapng_validate
  - light_get_block_count
  - light_get_block
  - light_pcapng_historgram
  - light_get_size
  - light_iterate
  - light_get_block_info
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_pcapng.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LIGHT_HTONS
  - LIGHT_NTOHS
  - LIGHT_HTONL
  - LIGHT_NTOHL
  - LIGHT_HTONS
  - LIGHT_NTOHS
  - LIGHT_HTONL
  - LIGHT_NTOHL
  - light_create_option
  - light_add_option
  - light_update_option
  - light_add_block
  - light_subcapture
  - __extract_ipv4_address
  - __extract_ipv6_address
  - __get_ip_address
  - __get_address
  - __create_flow
  - __find_flow
  - __append_address_information
  - light_ip_flow
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: source
        type: address_t
      - name: destination
        type: address_t
      item_type: struct
      name: _flow_address
      pos:
        line_end: 216
        line_start: 213
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    - fields:
      - name: version
        type: uint8_t
      - name: address
        type: flow_address_t
      - name: section
        type: light_pcapng
      - name: interface
        type: light_pcapng
      - name: last_block
        type: light_pcapng
      - name: '*next'
        type: struct _flow_information
      item_type: struct
      name: _flow_information
      pos:
        line_end: 225
        line_start: 218
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
    typedefs: []
    union:
    - fields:
      - name: ipv4
        type: "union {\n\tuint32_t raw;\n\tuint8_t bytes[4];\n\t}"
      - name: ipv6
        type: "union {\n\tuint64_t raw[2];\n\tuint16_t words[8];\n\t}"
      item_type: union
      name: address_t
      pos:
        line_end: 211
        line_start: 202
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_manipulate.c
- function_names:
  - max
  - min
  - light_open_decompression
  - light_open
  - light_open_compression
  - light_read
  - light_write
  - light_size
  - light_close
  - light_flush
  - light_eof
  - light_get_pos
  - light_set_pos
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_platform.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - light_read_from_path
  - light_pcapng_to_file
  - light_pcapng_to_compressed_file
  - light_open_stream
  - light_read_stream
  - light_close_stream
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_io.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - light_get_compression_context
  - light_free_compression_context
  - light_get_decompression_context
  - light_free_decompression_context
  - light_is_compressed_file
  - light_read_compressed
  - light_write_compressed
  - light_close_compressed
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/light_compression.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_interface
  - __handle_tcp
  - __handle_ipv4
  - extractor
  - main
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c
  types:
    enum:
    - enumerators:
      - name: FEATURE_PROTOCOL
        value: '0'
      - name: FEATURE_LENGTH
        value: '1'
      item_type: enum
      name: feature_description
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TMP_FILE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write.c
      type_or_value: '"/tmp/pcapng.tmp"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_split_count
  - test_split_trace
  - main
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_split.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - key_master
  - main
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_histogram.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_file
  - main
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_mem.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - compile_features
  - extract_features
  - cleanup
  - main
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_FEATURES
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c
      type_or_value: '64'
    structs: []
    typedefs:
    - item_type: typedef
      name: (*extractor_fn)(const light_pcapng)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_feature_advanced.c
      type: uint64_t
    union: []
- function_names:
  - copy_file
  - main
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_write_packets.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_flow.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - subcapture_predicate
  - main
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_subcapture.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/test_read_packets.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_pow
  - _f_data_transferred
  - _f_trace_duration
  - _f_avg_packet_interval
  - _f_address_relation
  - LIGHT_HTONS
  - LIGHT_NTOHS
  - __solve_port
  - __solve_protocol
  - __ip_level
  - _f_protocol
  - _f_packet_count
  - _f_application_port
  - _f_application_port_https
  - _f_application_port_http
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_impl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - zero_count
  - make_csv_entry
  - read_csv_file
  - rescale
  - scale_features
  - cluster_data
  - main
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features_cluster.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Cluster::Cluster
  - Cluster::add_member
  - Cluster::reset
  - Cluster::id
  - Cluster::get_size
  - '&get_center()'
  - Cluster::get_error
  - ~Cluster()
  - Galaxy::get_error
  - Galaxy::valid
  - ~Galaxy()
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: count
        type: int
      - name: addr1
        type: string
      - name: entries
        type: vector<double>
      - name: original_values
        type: vector<unsigned long long>
      item_type: struct
      name: csv_entry
      pos:
        line_end: 20
        line_start: 15
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.h
    typedefs: []
    union: []
- function_names:
  - Cluster::distance
  - Cluster::recompute_center
  - Galaxy::Galaxy
  - Galaxy::compute_clusters
  - Galaxy::print
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPSILON
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/cluster.cc
      type_or_value: '0.00000001'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: feature_type_t
      pos:
        line_end: 12
        line_start: 12
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/src/tests/features/features.h
      type: uint64_t
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng_ext.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'NULL'
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng_ext.h
      type_or_value: ((void *) 0)
    - item_type: preproc_def
      name: MAX_SUPPORTED_INTERFACE_BLOCKS
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng_ext.h
      type_or_value: '32'
    structs:
    - fields:
      - name: interface_id
        type: uint32_t
      - name: timestamp
        type: struct timespec
      - name: captured_length
        type: uint32_t
      - name: original_length
        type: uint32_t
      - name: data_link
        type: uint16_t
      - name: '* comment'
        type: char
      - name: comment_length
        type: uint16_t
      item_type: struct
      name: _light_packet_header
      pos:
        line_end: 58
        line_start: 50
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng_ext.h
    - fields:
      - name: major_version
        type: uint16_t
      - name: minor_version
        type: uint16_t
      - name: '*file_comment'
        type: char
      - name: file_comment_size
        type: size_t
      - name: '*hardware_desc'
        type: char
      - name: hardware_desc_size
        type: size_t
      - name: '*os_desc'
        type: char
      - name: os_desc_size
        type: size_t
      - name: '*user_app_desc'
        type: char
      - name: user_app_desc_size
        type: size_t
      - name: interface_block_count
        type: size_t
      - name: link_types[MAX_SUPPORTED_INTERFACE_BLOCKS]
        type: uint16_t
      - name: timestamp_ticks_per_second[MAX_SUPPORTED_INTERFACE_BLOCKS]
        type: uint64_t
      item_type: struct
      name: _light_pcapng_file_info
      pos:
        line_end: 75
        line_start: 60
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng_ext.h
    typedefs:
    - item_type: typedef
      name: light_pcapng_t
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng_ext.h
      type: _light_pcapng_t
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_types.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_internal.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*file'
        type: struct light_file_t
      - name: '*current_block'
        type: struct _light_pcapng
      - name: valid
        type: int
      item_type: struct
      name: _light_pcapng_stream
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_internal.h
    - fields:
      - name: block_type
        type: uint32_t
      - name: block_total_length
        type: uint32_t
      - name: '*block_body'
        type: uint32_t
      - name: '*options'
        type: struct _light_option
      - name: '*next_block'
        type: struct _light_pcapng
      item_type: struct
      name: _light_pcapng
      pos:
        line_end: 46
        line_start: 40
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_internal.h
    - fields:
      - name: custom_option_code
        type: uint16_t
      - name: option_length
        type: uint16_t
      - name: '*data'
        type: uint32_t
      - name: '*next_option'
        type: struct _light_option
      item_type: struct
      name: _light_option
      pos:
        line_end: 54
        line_start: 48
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_internal.h
    - fields:
      - name: '*mem'
        type: uint32_t
      - name: '**mem_blocks'
        type: uint32_t
      - name: mem_size
        type: size_t
      - name: block_count
        type: size_t
      - name: owner
        type: int
      item_type: struct
      name: _light_pcapng_mem
      pos:
        line_end: 62
        line_start: 56
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_internal.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_special.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'NULL'
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_special.h
      type_or_value: ((void *) 0)
    structs:
    - fields:
      - name: byteorder_magic
        type: uint32_t
      - name: major_version
        type: uint16_t
      - name: minor_version
        type: uint16_t
      - name: section_length
        type: uint64_t
      item_type: struct
      name: _light_section_header
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_special.h
    - fields:
      - name: link_type
        type: uint16_t
      - name: reserved
        type: uint16_t
      - name: snapshot_length
        type: uint32_t
      item_type: struct
      name: _light_interface_description_block
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_special.h
    - fields:
      - name: interface_id
        type: uint32_t
      - name: timestamp_high
        type: uint32_t
      - name: capture_packet_length
        type: uint32_t
      - name: original_capture_length
        type: uint32_t
      - name: packet_data[0]
        type: uint32_t
      item_type: struct
      name: _light_enhanced_packet_block
      pos:
        line_end: 56
        line_start: 50
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_special.h
    - fields:
      - name: original_packet_length
        type: uint32_t
      - name: packet_data[0]
        type: uint32_t
      item_type: struct
      name: _light_simple_packet_block
      pos:
        line_end: 61
        line_start: 58
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_special.h
    - fields:
      - name: data_length
        type: uint32_t
      - name: reserved0
        type: uint32_t
      - name: packet_data[0]
        type: uint32_t
      item_type: struct
      name: _light_custom_nonstandard_block
      pos:
        line_end: 67
        line_start: 63
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_special.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_compression_functions.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PADD32
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DPRINT_HERE
  - DPRINT_HERE
  - DCHECK_INT
  - DCHECK_ASSERT
  - DCHECK_ASSERT_EXP
  - DCHECK_NULLP
  - PCAPNG_WARNING
  - PCAPNG_ERROR
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: light_stop
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
      type_or_value: getchar()
    - item_type: preproc_def
      name: light_stop
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
      type_or_value: (void)0
    - item_type: preproc_def
      name: PCAPNG_ATTRIBUTE_SLOW
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
      type_or_value: __attribute__((warning ("slow for large traces")))
    - item_type: preproc_def
      name: PCAPNG_ATTRIBUTE_DEPRECATED
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
      type_or_value: __attribute__((warning ("deprecated function")))
    - item_type: preproc_def
      name: PCAPNG_ATTRIBUTE_UNTESTED
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
      type_or_value: __attribute__((warning ("unit test required")))
    - item_type: preproc_def
      name: PCAPNG_ATTRIBUTE_REFACTOR
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_debug.h
      type_or_value: __attribute__((warning ("should be refactored")))
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_file.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* file'
        type: FILE
      - name: compression_context
        type: light_compression
      - name: decompression_context
        type: light_decompression
      item_type: struct
      name: light_file_t
      pos:
        line_end: 38
        line_start: 32
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_file.h
    typedefs:
    - item_type: typedef
      name: '*light_compression'
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_file.h
      type: _compression_t
    - item_type: typedef
      name: '*light_decompression'
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_file.h
      type: _decompression_t
    - item_type: typedef
      name: '*light_file'
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_file.h
      type: light_file_t
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIGHT_SECTION_HEADER_BLOCK
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0x0A0D0D0A'
    - item_type: preproc_def
      name: LIGHT_INTERFACE_BLOCK
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: LIGHT_ENHANCED_PACKET_BLOCK
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0x00000006'
    - item_type: preproc_def
      name: LIGHT_SIMPLE_PACKET_BLOCK
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0x00000003'
    - item_type: preproc_def
      name: LIGHT_CUSTOM_DATA_BLOCK
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0xB16B00B5'
    - item_type: preproc_def
      name: LIGHT_UNKNOWN_DATA_BLOCK
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0xDEADBEEF'
    - item_type: preproc_def
      name: LIGHT_OPTION_IF_TSRESOL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0x0009'
    - item_type: preproc_def
      name: LIGHT_OPTION_COMMENT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: LIGHT_OPTION_SHB_HARDWARE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: LIGHT_OPTION_SHB_OS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0x0003'
    - item_type: preproc_def
      name: LIGHT_OPTION_SHB_USERAPPL
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: LIGHT_OPTION_IF_TSRESOL
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0x0009'
    - item_type: preproc_def
      name: LIGHT_CUSTOM_OPTION_ADDRESS_INFO
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0xADD4'
    - item_type: preproc_def
      name: LIGHT_CUSTOM_OPTION_FEATURE_U64
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0x0064'
    - item_type: preproc_def
      name: BYTE_ORDER_MAGIC
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0x1A2B3C4D'
    - item_type: preproc_def
      name: LIGHT_KEY_REJECTED
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0xFFFFFFFF'
    - item_type: preproc_def
      name: LIGHT_SUCCESS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LIGHT_INVALID_SECTION
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: LIGHT_OUT_OF_MEMORY
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '-2'
    - item_type: preproc_def
      name: LIGHT_INVALID_ARGUMENT
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '-3'
    - item_type: preproc_def
      name: LIGHT_NOT_FOUND
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '-4'
    - item_type: preproc_def
      name: LIGHT_BAD_STREAM
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '-5'
    - item_type: preproc_def
      name: LIGHT_FAILURE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type_or_value: '-6'
    structs:
    - fields:
      - name: key
        type: uint32_t
      - name: val
        type: uint32_t
      item_type: struct
      name: _light_pair
      pos:
        line_end: 76
        line_start: 73
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
    typedefs:
    - item_type: typedef
      name: '*light_pcapng_stream'
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type: _light_pcapng_stream
    - item_type: typedef
      name: '*light_pcapng'
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type: _light_pcapng
    - item_type: typedef
      name: '*light_option'
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type: _light_option
    - item_type: typedef
      name: '*light_pcapng_mem'
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_pcapng.h
      type: _light_pcapng_mem
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_platform.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INVALID_FILE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_platform.h
      type_or_value: 'NULL'
    structs: []
    typedefs:
    - item_type: typedef
      name: light_file_pos_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_platform.h
      type: long
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_compression.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_zstd_compression.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COMPRESSION_BUFFER_IN_MAX_SIZE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_zstd_compression.h
      type_or_value: '1700'
    structs:
    - fields:
      - name: '* buffer_in'
        type: uint32_t
      - name: '* buffer_out'
        type: uint32_t
      - name: buffer_in_max_size
        type: size_t
      - name: buffer_out_max_size
        type: size_t
      - name: compression_level
        type: int
      - name: '* cctx'
        type: ZSTD_CCtx
      item_type: struct
      name: zstd_compression_t
      pos:
        line_end: 47
        line_start: 39
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_zstd_compression.h
    - fields:
      - name: '* buffer_in'
        type: uint32_t
      - name: '* buffer_out'
        type: uint32_t
      - name: buffer_in_max_size
        type: size_t
      - name: buffer_out_max_size
        type: size_t
      - name: '* dctx'
        type: ZSTD_DCtx
      - name: outputReady
        type: int
      - name: output
        type: ZSTD_outBuffer
      - name: input
        type: ZSTD_inBuffer
      item_type: struct
      name: zstd_decompression_t
      pos:
        line_end: 59
        line_start: 49
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_zstd_compression.h
    typedefs:
    - item_type: typedef
      name: _compression_t
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_zstd_compression.h
      type: zstd_compression_t
    - item_type: typedef
      name: _decompression_t
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_zstd_compression.h
      type: zstd_decompression_t
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_null_compression.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: _compression_t
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_null_compression.h
      type: void
    - item_type: typedef
      name: _decompression_t
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/PcapPlusPlus/3rdParty/LightPcapNg/LightPcapNg/include/light_null_compression.h
      type: void
    union: []
- function_names:
  - be16toh
  - be32toh
  - be64toh
  - le64toh
  - le32toh
  - be16toh
  - be32toh
  - be64toh
  - le64toh
  - le32toh
  - htobe16
  - htole16
  - be16toh
  - le16toh
  - htobe32
  - htole32
  - be32toh
  - le32toh
  - htobe64
  - htole64
  - be64toh
  - le64toh
  - htobe16
  - htole16
  - be16toh
  - le16toh
  - htobe32
  - htole32
  - be32toh
  - le32toh
  - htobe64
  - htole64
  - be64toh
  - le64toh
  - htobe16
  - htole16
  - be16toh
  - le16toh
  - htobe32
  - htole32
  - be32toh
  - le32toh
  - htobe64
  - htole64
  - be64toh
  - le64toh
  - htobe16
  - htole16
  - be16toh
  - le16toh
  - htobe32
  - htole32
  - be32toh
  - le32toh
  - htobe64
  - htole64
  - be64toh
  - le64toh
  - be64toh
  - be32toh
  - be16toh
  - le16toh
  - le32toh
  - le64toh
  - be64toh
  - be32toh
  - be16toh
  - le16toh
  - le32toh
  - le64toh
  - htole16
  - htole64
  - be64toh
  - be32toh
  - be16toh
  - le16toh
  - le32toh
  - le64toh
  - be64toh
  - be32toh
  - be16toh
  - le16toh
  - le32toh
  - le64toh
  - be64toh
  - be32toh
  - be16toh
  - le16toh
  - le32toh
  - le64toh
  - be64toh
  - be32toh
  - be16toh
  - le32toh
  - le64toh
  - be32toh
  - be16toh
  - htobe64
  - htobe32
  - htobe16
  - htole32
  source_file: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __LITTLE_ENDIAN
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
      type_or_value: '1234'
    - item_type: preproc_def
      name: __BIG_ENDIAN
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
      type_or_value: '4321'
    - item_type: preproc_def
      name: __BYTE_ORDER
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
      type_or_value: __BIG_ENDIAN
    - item_type: preproc_def
      name: __BYTE_ORDER
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/PcapPlusPlus/3rdParty/EndianPortable/include/EndianPortable.h
      type_or_value: __LITTLE_ENDIAN
    structs: []
    typedefs: []
    union: []
- function_names:
  - NLOHMANN_JSON_ABI_TAGS_CONCAT_EX
  - NLOHMANN_JSON_ABI_TAGS_CONCAT
  - NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX
  - NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT
  - NLOHMANN_JSON_NAMESPACE_CONCAT_EX
  - NLOHMANN_JSON_NAMESPACE_CONCAT
  - namespace
  - NLOHMANN_JSON_NAMESPACE_BEGIN
  - nonesuch
  - ~nonesuch()
  - nonesuch
  - nonesuch
  - operator=(nonesuch const&)
  - operator=(nonesuch&&)
  - JSON_HEDLEY_STRINGIFY_EX
  - JSON_HEDLEY_STRINGIFY
  - JSON_HEDLEY_CONCAT_EX
  - JSON_HEDLEY_CONCAT
  - JSON_HEDLEY_CONCAT3_EX
  - JSON_HEDLEY_CONCAT3
  - JSON_HEDLEY_VERSION_ENCODE
  - JSON_HEDLEY_VERSION_DECODE_MAJOR
  - JSON_HEDLEY_VERSION_DECODE_MINOR
  - JSON_HEDLEY_VERSION_DECODE_REVISION
  - JSON_HEDLEY_GNUC_VERSION_CHECK
  - JSON_HEDLEY_GNUC_VERSION_CHECK
  - JSON_HEDLEY_MSVC_VERSION_CHECK
  - JSON_HEDLEY_MSVC_VERSION_CHECK
  - JSON_HEDLEY_MSVC_VERSION_CHECK
  - JSON_HEDLEY_MSVC_VERSION_CHECK
  - JSON_HEDLEY_INTEL_VERSION_CHECK
  - JSON_HEDLEY_INTEL_VERSION_CHECK
  - JSON_HEDLEY_INTEL_CL_VERSION_CHECK
  - JSON_HEDLEY_INTEL_CL_VERSION_CHECK
  - JSON_HEDLEY_PGI_VERSION_CHECK
  - JSON_HEDLEY_PGI_VERSION_CHECK
  - JSON_HEDLEY_SUNPRO_VERSION_CHECK
  - JSON_HEDLEY_SUNPRO_VERSION_CHECK
  - JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
  - JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
  - JSON_HEDLEY_ARM_VERSION_CHECK
  - JSON_HEDLEY_ARM_VERSION_CHECK
  - JSON_HEDLEY_IBM_VERSION_CHECK
  - JSON_HEDLEY_IBM_VERSION_CHECK
  - JSON_HEDLEY_TI_VERSION_CHECK
  - JSON_HEDLEY_TI_VERSION_CHECK
  - JSON_HEDLEY_TI_CL2000_VERSION_CHECK
  - JSON_HEDLEY_TI_CL2000_VERSION_CHECK
  - JSON_HEDLEY_TI_CL430_VERSION_CHECK
  - JSON_HEDLEY_TI_CL430_VERSION_CHECK
  - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK
  - JSON_HEDLEY_TI_ARMCL_VERSION_CHECK
  - JSON_HEDLEY_TI_CL6X_VERSION_CHECK
  - JSON_HEDLEY_TI_CL6X_VERSION_CHECK
  - JSON_HEDLEY_TI_CL7X_VERSION_CHECK
  - JSON_HEDLEY_TI_CL7X_VERSION_CHECK
  - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK
  - JSON_HEDLEY_TI_CLPRU_VERSION_CHECK
  - JSON_HEDLEY_CRAY_VERSION_CHECK
  - JSON_HEDLEY_CRAY_VERSION_CHECK
  - JSON_HEDLEY_IAR_VERSION_CHECK
  - JSON_HEDLEY_IAR_VERSION_CHECK
  - JSON_HEDLEY_TINYC_VERSION_CHECK
  - JSON_HEDLEY_TINYC_VERSION_CHECK
  - JSON_HEDLEY_DMC_VERSION_CHECK
  - JSON_HEDLEY_DMC_VERSION_CHECK
  - JSON_HEDLEY_COMPCERT_VERSION_CHECK
  - JSON_HEDLEY_COMPCERT_VERSION_CHECK
  - JSON_HEDLEY_PELLES_VERSION_CHECK
  - JSON_HEDLEY_PELLES_VERSION_CHECK
  - JSON_HEDLEY_MCST_LCC_VERSION_CHECK
  - JSON_HEDLEY_MCST_LCC_VERSION_CHECK
  - JSON_HEDLEY_GCC_VERSION_CHECK
  - JSON_HEDLEY_GCC_VERSION_CHECK
  - JSON_HEDLEY_HAS_ATTRIBUTE
  - JSON_HEDLEY_HAS_ATTRIBUTE
  - JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
  - JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
  - JSON_HEDLEY_GCC_HAS_ATTRIBUTE
  - JSON_HEDLEY_GCC_HAS_ATTRIBUTE
  - JSON_HEDLEY_HAS_CPP_ATTRIBUTE
  - JSON_HEDLEY_HAS_CPP_ATTRIBUTE
  - JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
  - JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
  - JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
  - JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
  - JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
  - JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
  - JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
  - JSON_HEDLEY_HAS_BUILTIN
  - JSON_HEDLEY_HAS_BUILTIN
  - JSON_HEDLEY_GNUC_HAS_BUILTIN
  - JSON_HEDLEY_GNUC_HAS_BUILTIN
  - JSON_HEDLEY_GCC_HAS_BUILTIN
  - JSON_HEDLEY_GCC_HAS_BUILTIN
  - JSON_HEDLEY_HAS_FEATURE
  - JSON_HEDLEY_HAS_FEATURE
  - JSON_HEDLEY_GNUC_HAS_FEATURE
  - JSON_HEDLEY_GNUC_HAS_FEATURE
  - JSON_HEDLEY_GCC_HAS_FEATURE
  - JSON_HEDLEY_GCC_HAS_FEATURE
  - JSON_HEDLEY_HAS_EXTENSION
  - JSON_HEDLEY_HAS_EXTENSION
  - JSON_HEDLEY_GNUC_HAS_EXTENSION
  - JSON_HEDLEY_GNUC_HAS_EXTENSION
  - JSON_HEDLEY_GCC_HAS_EXTENSION
  - JSON_HEDLEY_GCC_HAS_EXTENSION
  - JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
  - JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
  - JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
  - JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
  - JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
  - JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
  - JSON_HEDLEY_HAS_WARNING
  - JSON_HEDLEY_HAS_WARNING
  - JSON_HEDLEY_GNUC_HAS_WARNING
  - JSON_HEDLEY_GNUC_HAS_WARNING
  - JSON_HEDLEY_GCC_HAS_WARNING
  - JSON_HEDLEY_GCC_HAS_WARNING
  - JSON_HEDLEY_PRAGMA
  - JSON_HEDLEY_PRAGMA
  - JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
  - JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
  - JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
  - JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
  - JSON_HEDLEY_CONST_CAST
  - JSON_HEDLEY_CONST_CAST
  - JSON_HEDLEY_CONST_CAST
  - JSON_HEDLEY_REINTERPRET_CAST
  - JSON_HEDLEY_REINTERPRET_CAST
  - JSON_HEDLEY_STATIC_CAST
  - JSON_HEDLEY_STATIC_CAST
  - JSON_HEDLEY_CPP_CAST
  - JSON_HEDLEY_CPP_CAST
  - JSON_HEDLEY_CPP_CAST
  - JSON_HEDLEY_CPP_CAST
  - JSON_HEDLEY_DEPRECATED
  - JSON_HEDLEY_DEPRECATED_FOR
  - JSON_HEDLEY_DEPRECATED
  - JSON_HEDLEY_DEPRECATED_FOR
  - JSON_HEDLEY_DEPRECATED
  - JSON_HEDLEY_DEPRECATED_FOR
  - JSON_HEDLEY_DEPRECATED
  - JSON_HEDLEY_DEPRECATED_FOR
  - JSON_HEDLEY_DEPRECATED
  - JSON_HEDLEY_DEPRECATED_FOR
  - JSON_HEDLEY_DEPRECATED
  - JSON_HEDLEY_DEPRECATED_FOR
  - JSON_HEDLEY_UNAVAILABLE
  - JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
  - JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
  - JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
  - JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
  - JSON_HEDLEY_SENTINEL
  - JSON_HEDLEY_ASSUME
  - JSON_HEDLEY_ASSUME
  - JSON_HEDLEY_ASSUME
  - JSON_HEDLEY_ASSUME
  - JSON_HEDLEY_UNREACHABLE
  - JSON_HEDLEY_UNREACHABLE
  - JSON_HEDLEY_ASSUME
  - JSON_HEDLEY_ASSUME
  - JSON_HEDLEY_UNREACHABLE_RETURN
  - JSON_HEDLEY_UNREACHABLE_RETURN
  - JSON_HEDLEY_UNREACHABLE_RETURN
  - JSON_HEDLEY_UNREACHABLE
  - JSON_HEDLEY_NON_NULL
  - JSON_HEDLEY_PRINTF_FORMAT
  - JSON_HEDLEY_PRINTF_FORMAT
  - JSON_HEDLEY_PRINTF_FORMAT
  - JSON_HEDLEY_PRINTF_FORMAT
  - JSON_HEDLEY_UNPREDICTABLE
  - JSON_HEDLEY_PREDICT
  - JSON_HEDLEY_PREDICT_TRUE
  - JSON_HEDLEY_PREDICT_FALSE
  - JSON_HEDLEY_LIKELY
  - JSON_HEDLEY_UNLIKELY
  - JSON_HEDLEY_PREDICT
  - JSON_HEDLEY_PREDICT_TRUE
  - JSON_HEDLEY_PREDICT_FALSE
  - JSON_HEDLEY_LIKELY
  - JSON_HEDLEY_UNLIKELY
  - JSON_HEDLEY_PREDICT
  - JSON_HEDLEY_PREDICT_TRUE
  - JSON_HEDLEY_PREDICT_FALSE
  - JSON_HEDLEY_LIKELY
  - JSON_HEDLEY_UNLIKELY
  - JSON_HEDLEY_UNPREDICTABLE
  - JSON_HEDLEY_ARRAY_PARAM
  - JSON_HEDLEY_IS_CONSTANT
  - JSON_HEDLEY_IS_CONSTEXPR_
  - JSON_HEDLEY_IS_CONSTEXPR_
  - JSON_HEDLEY_IS_CONSTEXPR_
  - JSON_HEDLEY_IS_CONSTEXPR_
  - JSON_HEDLEY_IS_CONSTEXPR_
  - JSON_HEDLEY_IS_CONSTANT
  - JSON_HEDLEY_REQUIRE_CONSTEXPR
  - JSON_HEDLEY_IS_CONSTANT
  - JSON_HEDLEY_REQUIRE_CONSTEXPR
  - JSON_HEDLEY_STATIC_ASSERT
  - JSON_HEDLEY_STATIC_ASSERT
  - JSON_HEDLEY_MESSAGE
  - JSON_HEDLEY_MESSAGE
  - JSON_HEDLEY_MESSAGE
  - JSON_HEDLEY_MESSAGE
  - JSON_HEDLEY_MESSAGE
  - JSON_HEDLEY_WARNING
  - JSON_HEDLEY_WARNING
  - JSON_HEDLEY_WARNING
  - JSON_HEDLEY_WARNING
  - JSON_HEDLEY_REQUIRE
  - JSON_HEDLEY_REQUIRE_MSG
  - JSON_HEDLEY_REQUIRE
  - JSON_HEDLEY_REQUIRE_MSG
  - JSON_HEDLEY_FLAGS_CAST
  - JSON_HEDLEY_FLAGS_CAST
  - JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
  - JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
  - JSON_HEDLEY_CLANG_HAS_ATTRIBUTE
  - JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE
  - JSON_HEDLEY_CLANG_HAS_BUILTIN
  - JSON_HEDLEY_CLANG_HAS_FEATURE
  - JSON_HEDLEY_CLANG_HAS_EXTENSION
  - JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE
  - JSON_HEDLEY_CLANG_HAS_WARNING
  - JSON_THROW
  - JSON_CATCH
  - JSON_INTERNAL_CATCH
  - JSON_THROW
  - JSON_CATCH
  - JSON_INTERNAL_CATCH
  - JSON_ASSERT
  - NLOHMANN_JSON_SERIALIZE_ENUM
  - NLOHMANN_JSON_EXPAND
  - NLOHMANN_JSON_GET_MACRO
  - NLOHMANN_JSON_PASTE
  - NLOHMANN_JSON_PASTE2
  - NLOHMANN_JSON_PASTE3
  - NLOHMANN_JSON_PASTE4
  - NLOHMANN_JSON_PASTE5
  - NLOHMANN_JSON_PASTE6
  - NLOHMANN_JSON_PASTE7
  - NLOHMANN_JSON_PASTE8
  - NLOHMANN_JSON_PASTE9
  - NLOHMANN_JSON_PASTE10
  - NLOHMANN_JSON_PASTE11
  - NLOHMANN_JSON_PASTE12
  - NLOHMANN_JSON_PASTE13
  - NLOHMANN_JSON_PASTE14
  - NLOHMANN_JSON_PASTE15
  - NLOHMANN_JSON_PASTE16
  - NLOHMANN_JSON_PASTE17
  - NLOHMANN_JSON_PASTE18
  - NLOHMANN_JSON_PASTE19
  - NLOHMANN_JSON_PASTE20
  - NLOHMANN_JSON_PASTE21
  - NLOHMANN_JSON_PASTE22
  - NLOHMANN_JSON_PASTE23
  - NLOHMANN_JSON_PASTE24
  - NLOHMANN_JSON_PASTE25
  - NLOHMANN_JSON_PASTE26
  - NLOHMANN_JSON_PASTE27
  - NLOHMANN_JSON_PASTE28
  - NLOHMANN_JSON_PASTE29
  - NLOHMANN_JSON_PASTE30
  - NLOHMANN_JSON_PASTE31
  - NLOHMANN_JSON_PASTE32
  - NLOHMANN_JSON_PASTE33
  - NLOHMANN_JSON_PASTE34
  - NLOHMANN_JSON_PASTE35
  - NLOHMANN_JSON_PASTE36
  - NLOHMANN_JSON_PASTE37
  - NLOHMANN_JSON_PASTE38
  - NLOHMANN_JSON_PASTE39
  - NLOHMANN_JSON_PASTE40
  - NLOHMANN_JSON_PASTE41
  - NLOHMANN_JSON_PASTE42
  - NLOHMANN_JSON_PASTE43
  - NLOHMANN_JSON_PASTE44
  - NLOHMANN_JSON_PASTE45
  - NLOHMANN_JSON_PASTE46
  - NLOHMANN_JSON_PASTE47
  - NLOHMANN_JSON_PASTE48
  - NLOHMANN_JSON_PASTE49
  - NLOHMANN_JSON_PASTE50
  - NLOHMANN_JSON_PASTE51
  - NLOHMANN_JSON_PASTE52
  - NLOHMANN_JSON_PASTE53
  - NLOHMANN_JSON_PASTE54
  - NLOHMANN_JSON_PASTE55
  - NLOHMANN_JSON_PASTE56
  - NLOHMANN_JSON_PASTE57
  - NLOHMANN_JSON_PASTE58
  - NLOHMANN_JSON_PASTE59
  - NLOHMANN_JSON_PASTE60
  - NLOHMANN_JSON_PASTE61
  - NLOHMANN_JSON_PASTE62
  - NLOHMANN_JSON_PASTE63
  - NLOHMANN_JSON_PASTE64
  - NLOHMANN_JSON_TO
  - NLOHMANN_JSON_FROM
  - NLOHMANN_JSON_FROM_WITH_DEFAULT
  - NLOHMANN_DEFINE_TYPE_INTRUSIVE
  - NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT
  - NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE
  - NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE
  - NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE
  - NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT
  - NLOHMANN_CAN_CALL_STD_FUNC_IMPL
  - namespace
  - operator<(const value_t lhs, const value_t rhs) noexcept
  - operator<(const value_t lhs, const value_t rhs) noexcept
  - NLOHMANN_JSON_NAMESPACE_BEGIN
  - replace_substring
  - escape
  - unescape
  - namespace
  - operator size_t() const
  - namespace
  - size
  - make_array
  - detail
  - namespace
  - to_int_type
  - to_char_type
  - eof
  - to_int_type
  - to_char_type
  - eof
  - conditional_static_cast
  - conditional_static_cast
  - test
  - test
  - test
  - test
  - test
  - test
  - value_in_range_of
  - impl::is_c_string
  - impl::is_c_string
  - impl::is_transparent
  - impl::is_transparent
  - namespace
  - concat_length
  - concat_length
  - concat_length
  - concat_length
  - concat_into
  - concat_into
  - concat_into
  - concat_into
  - concat_into
  - concat
  - NLOHMANN_JSON_NAMESPACE_BEGIN
  - exception::what
  - "(3)\n    exception(int id_, const char* what_arg) : id(id_), m(what_arg)"
  - exception::name
  - exception::diagnostics
  - exception::diagnostics
  - parse_error::create
  - parse_error::create
  - parse_error::parse_error
  - parse_error::position_string
  - invalid_iterator::create
  - "(3)\n    invalid_iterator(int id_, const char* what_arg)\n        : exception(id_,
    what_arg)"
  - type_error::create
  - "(3)\n    type_error(int id_, const char* what_arg) : exception(id_, what_arg)"
  - out_of_range::create
  - "(3)\n    out_of_range(int id_, const char* what_arg) : exception(id_, what_arg)"
  - other_error::create
  - "(3)\n    other_error(int id_, const char* what_arg) : exception(id_, what_arg)"
  - NLOHMANN_JSON_NAMESPACE_BEGIN
  - namespace
  - namespace
  - namespace
  - from_json
  - get_arithmetic_value
  - from_json
  - from_json
  - from_json
  - from_json
  - from_json
  - from_json
  - from_json
  - from_json
  - from_json
  - from_json
  - from_json_array_impl
  - from_json_array_impl
  - from_json_array_impl
  - from_json_array_impl
  - from_json
  - from_json_inplace_array_impl
  - from_json
  - from_json
  - from_json
  - from_json
  - from_json_tuple_impl_base
  - from_json_tuple_impl
  - from_json_tuple_impl
  - from_json_tuple_impl
  - from_json_tuple_impl
  - from_json
  - from_json
  - from_json
  - from_json
  - "operator()(const BasicJsonType& j, T&& val) const\n    noexcept(noexcept(from_json(j,
    std::forward<T>(val))))\n    -> decltype(from_json(j, std::forward<T>(val)))"
  - namespace
  - int_to_string
  - iteration_proxy_value::iteration_proxy_value
  - iteration_proxy_value::iteration_proxy_value
  - iteration_proxy_value::iteration_proxy_value
  - '& operator=(iteration_proxy_value const&)'
  - iteration_proxy_value::iteration_proxy_value
  - "& operator=(iteration_proxy_value&&)\n    noexcept(std::is_nothrow_move_assignable<IteratorType>::value\n
    \            && std::is_nothrow_move_assignable<string_type>::value)"
  - ~iteration_proxy_value()
  - '& operator*() const'
  - '& operator++()'
  - operator++(int)&
  - operator==(const iteration_proxy_value& o) const
  - operator!=(const iteration_proxy_value& o) const
  - '& key() const'
  - iteration_proxy_value::value
  - iteration_proxy::iteration_proxy
  - iteration_proxy::iteration_proxy
  - iteration_proxy::iteration_proxy
  - '& operator=(iteration_proxy const&)'
  - iteration_proxy::iteration_proxy
  - '& operator=(iteration_proxy&&) noexcept'
  - ~iteration_proxy()
  - iteration_proxy::begin
  - iteration_proxy::end
  - get
  - get
  - namespace
  - namespace
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json_tuple_impl
  - to_json
  - to_json
  - "operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j, std::forward<T>(val))))\n
    \   -> decltype(to_json(j, std::forward<T>(val)), void())"
  - from_json
  - from_json
  - to_json
  - from_json
  - from_json
  - to_json
  - operator!=(const byte_container_with_subtype& rhs) const
  - set_subtype
  - subtype
  - has_subtype
  - clear_subtype
  - namespace
  - combine
  - hash
  - namespace
  - file_input_adapter
  - file_input_adapter
  - file_input_adapter
  - get_character
  - ~input_stream_adapter()
  - input_stream_adapter::input_stream_adapter
  - input_stream_adapter::input_stream_adapter
  - '& operator=(input_stream_adapter&)'
  - '& operator=(input_stream_adapter&&)'
  - input_stream_adapter::input_stream_adapter
  - input_stream_adapter::get_character
  - iterator_input_adapter::iterator_input_adapter
  - iterator_input_adapter::get_character
  - iterator_input_adapter::empty
  - fill_buffer
  - fill_buffer
  - wide_string_input_adapter::wide_string_input_adapter
  - wide_string_input_adapter::get_character
  - wide_string_input_adapter::fill_buffer
  - create
  - create
  - input_adapter
  - container_input_adapter_factory_impl::create
  - container_input_adapter_factory_impl::create
  - input_adapter
  - input_adapter
  - input_adapter
  - input_adapter
  - input_adapter
  - input_adapter
  - span_input_adapter::span_input_adapter
  - span_input_adapter::span_input_adapter
  - '&& get()'
  - json_sax_dom_parser
  - json_sax_dom_parser
  - json_sax_dom_parser
  - ~json_sax_dom_parser()
  - 'null'
  - boolean
  - number_integer
  - number_unsigned
  - number_float
  - string
  - binary
  - start_object
  - key
  - end_object
  - start_array
  - end_array
  - parse_error
  - is_errored
  - namespace
  - int_to_string
  - iteration_proxy_value::iteration_proxy_value
  - iteration_proxy_value::iteration_proxy_value
  - iteration_proxy_value::iteration_proxy_value
  - '& operator=(iteration_proxy_value const&)'
  - iteration_proxy_value::iteration_proxy_value
  - "& operator=(iteration_proxy_value&&)\n    noexcept(std::is_nothrow_move_assignable<IteratorType>::value\n
    \            && std::is_nothrow_move_assignable<string_type>::value)"
  - ~iteration_proxy_value()
  - '& operator*() const'
  - '& operator++()'
  - operator++(int)&
  - operator==(const iteration_proxy_value& o) const
  - operator!=(const iteration_proxy_value& o) const
  - '& key() const'
  - iteration_proxy_value::value
  - iteration_proxy::iteration_proxy
  - iteration_proxy::iteration_proxy
  - iteration_proxy::iteration_proxy
  - '& operator=(iteration_proxy const&)'
  - iteration_proxy::iteration_proxy
  - '& operator=(iteration_proxy&&) noexcept'
  - ~iteration_proxy()
  - iteration_proxy::begin
  - iteration_proxy::end
  - get
  - get
  - namespace
  - namespace
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - construct
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json
  - to_json_tuple_impl
  - to_json
  - to_json
  - "operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j, std::forward<T>(val))))\n
    \   -> decltype(to_json(j, std::forward<T>(val)), void())"
  - from_json
  - from_json
  - to_json
  - from_json
  - from_json
  - to_json
  - operator!=(const byte_container_with_subtype& rhs) const
  - set_subtype
  - subtype
  - has_subtype
  - clear_subtype
  - namespace
  - combine
  - hash
  - namespace
  - file_input_adapter
  - file_input_adapter
  - file_input_adapter
  - get_character
  - ~input_stream_adapter()
  - input_stream_adapter::input_stream_adapter
  - input_stream_adapter::input_stream_adapter
  - '& operator=(input_stream_adapter&)'
  - '& operator=(input_stream_adapter&&)'
  - input_stream_adapter::input_stream_adapter
  - input_stream_adapter::get_character
  - iterator_input_adapter::iterator_input_adapter
  - iterator_input_adapter::get_character
  - iterator_input_adapter::empty
  - fill_buffer
  - fill_buffer
  - wide_string_input_adapter::wide_string_input_adapter
  - wide_string_input_adapter::get_character
  - wide_string_input_adapter::fill_buffer
  - create
  - create
  - input_adapter
  - container_input_adapter_factory_impl::create
  - container_input_adapter_factory_impl::create
  - input_adapter
  - input_adapter
  - input_adapter
  - input_adapter
  - input_adapter
  - input_adapter
  - span_input_adapter::span_input_adapter
  - span_input_adapter::span_input_adapter
  - '&& get()'
  - json_sax_dom_parser
  - json_sax_dom_parser
  - json_sax_dom_parser
  - ~json_sax_dom_parser()
  - 'null'
  - boolean
  - number_integer
  - number_unsigned
  - number_float
  - string
  - binary
  - start_object
  - key
  - end_object
  - start_array
  - end_array
  - parse_error
  - is_errored
  - json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - json_sax_dom_callback_parser::json_sax_dom_callback_parser
  - '& operator=(const json_sax_dom_callback_parser&)'
  - '& operator=(json_sax_dom_callback_parser&&)'
  - ~json_sax_dom_callback_parser()
  - json_sax_dom_callback_parser::null
  - json_sax_dom_callback_parser::boolean
  - json_sax_dom_callback_parser::number_integer
  - json_sax_dom_callback_parser::number_unsigned
  - json_sax_dom_callback_parser::number_float
  - json_sax_dom_callback_parser::string
  - json_sax_dom_callback_parser::binary
  - json_sax_dom_callback_parser::start_object
  - json_sax_dom_callback_parser::key
  - json_sax_dom_callback_parser::end_object
  - json_sax_dom_callback_parser::start_array
  - json_sax_dom_callback_parser::end_array
  - json_sax_dom_callback_parser::parse_error
  - json_sax_dom_callback_parser::is_errored
  - json_sax_dom_callback_parser::handle_value
  - json_sax_acceptor::null
  - json_sax_acceptor::boolean
  - json_sax_acceptor::number_integer
  - json_sax_acceptor::number_unsigned
  - json_sax_acceptor::number_float
  - json_sax_acceptor::string
  - json_sax_acceptor::binary
  - json_sax_acceptor::start_object
  - json_sax_acceptor::key
  - json_sax_acceptor::end_object
  - json_sax_acceptor::start_array
  - json_sax_acceptor::end_array
  - json_sax_acceptor::parse_error
  - namespace
  - lexer_base::token_type_name
  - lexer::lexer
  - lexer::lexer
  - lexer::lexer
  - '& operator=(lexer&)'
  - '& operator=(lexer&&)'
  - ~lexer()
  - lexer::get_decimal_point
  - lexer::get_codepoint
  - lexer::next_byte_in_range
  - lexer::scan_string
  - lexer::scan_comment
  - lexer::strtof
  - lexer::strtof
  - lexer::strtof
  - lexer::scan_number
  - reset
  - get
  - unget
  - add
  - get_number_unsigned
  - get_number_float
  - get_string
  - get_position
  - get_token_string
  - get_error_message
  - skip_bom
  - skip_whitespace
  - scan
  - namespace
  - NLOHMANN_JSON_NAMESPACE_BEGIN
  - little_endianness
  - binary_reader::binary_reader
  - binary_reader::binary_reader
  - binary_reader::binary_reader
  - '& operator=(const binary_reader&)'
  - '& operator=(binary_reader&&)'
  - ~binary_reader()
  - "(3)\n    bool sax_parse(const input_format_t format,\n                   json_sax_t*
    sax_,\n                   const bool strict = true,\n                   const
    cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)"
  - binary_reader::parse_bson_internal
  - binary_reader::get_bson_cstr
  - binary_reader::get_bson_string
  - binary_reader::get_bson_binary
  - binary_reader::parse_bson_element_internal
  - binary_reader::parse_bson_element_list
  - binary_reader::parse_bson_array
  - binary_reader::parse_cbor_internal
  - binary_reader::get_cbor_string
  - binary_reader::get_cbor_binary
  - binary_reader::get_cbor_array
  - binary_reader::get_cbor_object
  - binary_reader::parse_msgpack_internal
  - binary_reader::get_msgpack_string
  - binary_reader::get_msgpack_binary
  - binary_reader::get_msgpack_array
  - binary_reader::get_msgpack_object
  - binary_reader::parse_ubjson_internal
  - binary_reader::get_ubjson_string
  - binary_reader::get_ubjson_ndarray_size
  - binary_reader::get_ubjson_size_value
  - binary_reader::get_ubjson_size_type
  - binary_reader::get_ubjson_value
  - binary_reader::get_ubjson_array
  - binary_reader::get_ubjson_object
  - binary_reader::get_ubjson_high_precision_number
  - binary_reader::get
  - binary_reader::get_ignore_noop
  - binary_reader::get_number
  - binary_reader::get_string
  - binary_reader::get_binary
  - "(3)\n    bool unexpect_eof(const input_format_t format, const char* context)
    const"
  - binary_reader::get_token_string
  - binary_reader::exception_message
  - namespace
  - parser::parser
  - parser::parse
  - parser::accept
  - "(2)\n    bool sax_parse(SAX* sax, const bool strict = true)"
  - parser::sax_parse_internal
  - parser::get_token
  - parser::exception_message
  - namespace
  - primitive_iterator_t::get_value
  - primitive_iterator_t::set_begin
  - primitive_iterator_t::set_end
  - primitive_iterator_t::is_begin
  - primitive_iterator_t::is_end
  - operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - operator+(difference_type n) noexcept
  - operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
  - '& operator++() noexcept'
  - operator++(int)& noexcept
  - '& operator--() noexcept'
  - operator--(int)& noexcept
  - '& operator+=(difference_type n) noexcept'
  - '& operator-=(difference_type n) noexcept'
  - NLOHMANN_JSON_NAMESPACE_BEGIN
  - namespace
  - set_end
  - iter_impl::iter_impl
  - ~iter_impl()
  - iter_impl::iter_impl
  - '& operator=(iter_impl&&) noexcept'
  - iter_impl::iter_impl
  - iter_impl::iter_impl
  - '& operator=(const iter_impl<const BasicJsonType>& other) noexcept'
  - iter_impl::iter_impl
  - '& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>&
    other) noexcept'
  - (m_object->m_data.m_type)
  - operator->() const
  - operator++(int)&
  - '& operator++()'
  - operator--(int)&
  - '& operator--()'
  - operator==(const IterImpl& other) const
  - operator!=(const IterImpl& other) const
  - operator<(const iter_impl& other) const
  - operator<=(const iter_impl& other) const
  - operator>(const iter_impl& other) const
  - operator>=(const iter_impl& other) const
  - '& operator+=(difference_type i)'
  - '& operator-=(difference_type i)'
  - operator+(difference_type i) const
  - operator+(difference_type i, const iter_impl& it)
  - operator-(difference_type i) const
  - operator-(const iter_impl& other) const
  - operator[](difference_type n) const
  - key
  - value
  - namespace
  - json_reverse_iterator::json_reverse_iterator
  - json_reverse_iterator::json_reverse_iterator
  - operator++(int)&
  - '& operator++()'
  - operator--(int)&
  - '& operator--()'
  - '& operator+=(difference_type i)'
  - operator+(difference_type i) const
  - operator-(difference_type i) const
  - operator-(const json_reverse_iterator& other) const
  - operator[](difference_type n) const
  - json_reverse_iterator::key
  - json_reverse_iterator::value
  - namespace
  - string_t_helper
  - string_t_helper
  - json_pointer
  - to_string
  - operator string_t() const
  - '& operator<<(std::ostream& o, const json_pointer& ptr)'
  - '& operator/=(const json_pointer& ptr)'
  - '& operator/=(string_t token)'
  - '& operator/=(std::size_t array_idx)'
  - "json_pointer operator/(const json_pointer& lhs,\n                                  const
    json_pointer& rhs)"
  - json_pointer operator/(const json_pointer& lhs, string_t token)
  - json_pointer operator/(const json_pointer& lhs, std::size_t array_idx)
  - parent_pointer
  - pop_back
  - back
  - push_back
  - push_back
  - empty
  - get_and_create
  - get_unchecked
  - get_checked
  - get_unchecked
  - get_checked
  - contains
  - split
  - convert
  - convert
  - operator==(const json_pointer<RefStringTypeRhs>& rhs) const noexcept
  - operator==(const string_t& rhs) const
  - operator<=>(const json_pointer<RefStringTypeRhs>& rhs) const noexcept
  - "operator==(const json_pointer<RefStringTypeLhs>& lhs,\n                       const
    json_pointer<RefStringTypeRhs>& rhs) noexcept"
  - "operator==(const json_pointer<RefStringTypeLhs>& lhs,\n                       const
    StringType& rhs)"
  - "operator==(const StringType& lhs,\n                       const json_pointer<RefStringTypeRhs>&
    rhs)"
  - "operator!=(const json_pointer<RefStringTypeLhs>& lhs,\n                       const
    json_pointer<RefStringTypeRhs>& rhs) noexcept"
  - "operator!=(const json_pointer<RefStringTypeLhs>& lhs,\n                       const
    StringType& rhs)"
  - "operator!=(const StringType& lhs,\n                       const json_pointer<RefStringTypeRhs>&
    rhs)"
  - "operator<(const json_pointer<RefStringTypeLhs>& lhs,\n                      const
    json_pointer<RefStringTypeRhs>& rhs) noexcept"
  - namespace
  - json_ref::json_ref
  - json_ref::json_ref
  - json_ref::json_ref
  - json_ref::json_ref
  - json_ref::json_ref
  - json_ref::json_ref
  - '& operator=(const json_ref&)'
  - '& operator=(json_ref&&)'
  - ~json_ref()
  - json_ref::moved_or_copied
  - '& operator*() const'
  - '* operator->() const'
  - namespace
  - ~output_adapter_protocol()
  - output_adapter_protocol
  - output_adapter_protocol
  - output_adapter_protocol
  - '& operator=(const output_adapter_protocol&)'
  - '& operator=(output_adapter_protocol&&) noexcept'
  - output_vector_adapter::output_vector_adapter
  - output_vector_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - output_stream_adapter::output_stream_adapter
  - output_stream_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - output_string_adapter::output_string_adapter
  - output_string_adapter::write_character
  - "(2)\n    void write_characters(const CharType* s, std::size_t length) override"
  - output_adapter::output_adapter
  - output_adapter::output_adapter
  - output_adapter::output_adapter
  - operator output_adapter_t<CharType>()
  - NLOHMANN_JSON_NAMESPACE_BEGIN
  - binary_writer::binary_writer
  - binary_writer::write_bson
  - binary_writer::write_cbor
  - binary_writer::write_msgpack
  - binary_writer::write_ubjson
  - binary_writer::calc_bson_entry_header_size
  - binary_writer::write_bson_entry_header
  - binary_writer::write_bson_boolean
  - binary_writer::write_bson_double
  - binary_writer::calc_bson_string_size
  - binary_writer::write_bson_string
  - binary_writer::write_bson_null
  - binary_writer::calc_bson_integer_size
  - binary_writer::write_bson_integer
  - binary_writer::calc_bson_unsigned_size
  - binary_writer::write_bson_unsigned
  - binary_writer::write_bson_object_entry
  - binary_writer::calc_bson_array_size
  - binary_writer::calc_bson_binary_size
  - binary_writer::write_bson_array
  - binary_writer::write_bson_binary
  - binary_writer::calc_bson_element_size
  - binary_writer::write_bson_element
  - binary_writer::calc_bson_object_size
  - binary_writer::write_bson_object
  - binary_writer::get_cbor_float_prefix
  - binary_writer::get_cbor_float_prefix
  - binary_writer::get_msgpack_float_prefix
  - binary_writer::get_msgpack_float_prefix
  - binary_writer::write_number_with_ubjson_prefix
  - binary_writer::write_number_with_ubjson_prefix
  - binary_writer::write_number_with_ubjson_prefix
  - binary_writer::ubjson_prefix
  - binary_writer::get_ubjson_float_prefix
  - binary_writer::get_ubjson_float_prefix
  - binary_writer::write_bjdata_ndarray
  - binary_writer::write_number
  - binary_writer::write_compact_float
  - binary_writer::to_char_type
  - binary_writer::to_char_type
  - binary_writer::to_char_type
  - binary_writer::to_char_type
  - namespace
  - dtoa_impl::reinterpret_bits
  - dtoa_impl::diyfp
  - dtoa_impl::sub
  - dtoa_impl::mul
  - dtoa_impl::normalize
  - dtoa_impl::normalize_to
  - dtoa_impl::compute_boundaries
  - dtoa_impl::get_cached_power_for_binary_exponent
  - dtoa_impl::find_largest_pow10
  - dtoa_impl::grisu2_round
  - dtoa_impl::grisu2_digit_gen
  - dtoa_impl::grisu2
  - '(1)

    void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - dtoa_impl::append_exponent
  - dtoa_impl::format_buffer
  - dtoa_impl::reinterpret_bits
  - dtoa_impl::diyfp
  - dtoa_impl::sub
  - dtoa_impl::mul
  - dtoa_impl::normalize
  - dtoa_impl::normalize_to
  - dtoa_impl::compute_boundaries
  - dtoa_impl::get_cached_power_for_binary_exponent
  - dtoa_impl::find_largest_pow10
  - dtoa_impl::grisu2_round
  - dtoa_impl::grisu2_digit_gen
  - dtoa_impl::grisu2
  - '(1)

    void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)'
  - dtoa_impl::append_exponent
  - dtoa_impl::format_buffer
  - NLOHMANN_JSON_NAMESPACE_BEGIN
  - serializer::serializer
  - serializer::serializer
  - '& operator=(const serializer&)'
  - serializer::serializer
  - '& operator=(serializer&&)'
  - ~serializer()
  - serializer::dump
  - serializer::switch
  - hex_bytes
  - is_negative_number
  - is_negative_number
  - dump_integer
  - dump_float
  - dump_float
  - dump_float
  - decode
  - remove_sign
  - remove_sign
  - ordered_map
  - ordered_map
  - ordered_map
  - ordered_map
  - emplace
  - emplace
  - '& operator[](const key_type& key)'
  - '& operator[](KeyType && key)'
  - '& operator[](const key_type& key) const'
  - '& operator[](KeyType && key) const'
  - at
  - at
  - at
  - at
  - erase
  - erase
  - erase
  - erase
  - count
  - count
  - find
  - find
  - find
  - insert
  - insert
  - insert
  - "NLOHMANN_BASIC_JSON_TPL_DECLARATION\nclass basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-special-member-functions)\n
    \   : public ::nlohmann::detail::json_base_class<CustomBaseClass>"
  - parser
  - get_allocator
  - meta
  - create
  - json_value
  - json_value
  - json_value
  - json_value
  - json_value
  - json_value
  - json_value
  - json_value
  - json_value
  - json_value
  - json_value
  - json_value
  - json_value
  - json_value
  - json_value
  - json_value
  - destroy
  - JSON_CATCH
  - set_parents
  - set_parents
  - set_parent
  - basic_json
  - basic_json
  - basic_json
  - basic_json
  - basic_json
  - binary
  - binary
  - binary
  - binary
  - array
  - object
  - basic_json
  - basic_json
  - basic_json
  - basic_json
  - basic_json
  - "& operator=(basic_json other) noexcept (\n        std::is_nothrow_move_constructible<value_t>::value&&\n
    \       std::is_nothrow_move_assignable<value_t>::value&&\n        std::is_nothrow_move_constructible<json_value>::value&&\n
    \       std::is_nothrow_move_assignable<json_value>::value&&\n        std::is_nothrow_move_assignable<json_base_class_t>::value\n
    \   )"
  - ~basic_json() noexcept
  - type
  - is_primitive
  - is_structured
  - is_null
  - is_boolean
  - is_number
  - is_number_integer
  - is_number_unsigned
  - is_number_float
  - is_object
  - is_array
  - is_string
  - is_binary
  - is_discarded
  - operator value_t() const noexcept
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_impl_ptr
  - get_ref_impl
  - get_ptr
  - noexcept
  - get_impl
  - get_impl
  - get_impl
  - get_impl
  - get
  - get_to
  - get_to
  - get_to
  - get_ref
  - get_ref
  - get_binary
  - get_binary
  - at
  - JSON_CATCH
  - at
  - JSON_CATCH
  - at
  - at
  - at
  - at
  - operator[](size_type idx)
  - operator[](size_type idx) const
  - operator[](typename object_t::key_type key)
  - operator[](const typename object_t::key_type& key) const
  - operator[](T* key)
  - operator[](T* key) const
  - operator[](KeyType && key)
  - operator[](KeyType && key) const
  - value
  - value
  - value
  - value
  - value
  - JSON_INTERNAL_CATCH
  - value
  - JSON_INTERNAL_CATCH
  - value
  - value
  - front
  - front
  - back
  - back
  - erase
  - erase
  - erase_internal
  - erase_internal
  - erase
  - erase
  - find
  - find
  - find
  - find
  - count
  - count
  - contains
  - contains
  - contains
  - contains
  - begin
  - begin
  - cbegin
  - end
  - end
  - cend
  - rbegin
  - rbegin
  - rend
  - rend
  - crbegin
  - crend
  - iterator_wrapper
  - iterator_wrapper
  - items
  - items
  - empty
  - size
  - max_size
  - clear
  - push_back
  - operator+=(basic_json&& val)
  - push_back
  - operator+=(const basic_json& val)
  - push_back
  - operator+=(const typename object_t::value_type& val)
  - push_back
  - operator+=(initializer_list_t init)
  - emplace_back
  - emplace
  - insert_iterator
  - insert
  - insert
  - insert
  - insert
  - insert
  - insert
  - update
  - update
  - swap
  - swap
  - swap
  - swap
  - swap
  - swap
  - swap
  - JSON_IMPLEMENT_OPERATOR
  - if
  - compares_unordered
  - operator==(const_reference rhs) const noexcept
  - operator==(ScalarType rhs) const noexcept
  - operator!=(const_reference rhs) const noexcept
  - operator<=>(const_reference rhs) const noexcept
  - operator<=>(ScalarType rhs) const noexcept
  - operator<=(const_reference rhs) const noexcept
  - operator<=(ScalarType rhs) const noexcept
  - operator>=(const_reference rhs) const noexcept
  - operator>=(ScalarType rhs) const noexcept
  - operator==(const_reference lhs, const_reference rhs) noexcept
  - operator==(const_reference lhs, ScalarType rhs) noexcept
  - operator==(ScalarType lhs, const_reference rhs) noexcept
  - operator!=(const_reference lhs, const_reference rhs) noexcept
  - operator!=(const_reference lhs, ScalarType rhs) noexcept
  - operator!=(ScalarType lhs, const_reference rhs) noexcept
  - operator<(const_reference lhs, ScalarType rhs) noexcept
  - operator<(ScalarType lhs, const_reference rhs) noexcept
  - operator<=(const_reference lhs, const_reference rhs) noexcept
  - operator<=(const_reference lhs, ScalarType rhs) noexcept
  - operator<=(ScalarType lhs, const_reference rhs) noexcept
  - operator>(const_reference lhs, const_reference rhs) noexcept
  - operator>(const_reference lhs, ScalarType rhs) noexcept
  - operator>(ScalarType lhs, const_reference rhs) noexcept
  - operator>=(const_reference lhs, const_reference rhs) noexcept
  - operator>=(const_reference lhs, ScalarType rhs) noexcept
  - operator>=(ScalarType lhs, const_reference rhs) noexcept
  - '& operator<<(std::ostream& o, const basic_json& j)'
  - parse
  - parse
  - parse
  - accept
  - accept
  - accept
  - sax_parse
  - sax_parse
  - sax_parse
  - type_name
  - data
  - data
  - data
  - data
  - data
  - '& operator=(data&&) noexcept'
  - '& operator=(const data&) noexcept'
  - ~data() noexcept
  - to_cbor
  - to_cbor
  - to_msgpack
  - to_msgpack
  - to_msgpack
  - to_ubjson
  - to_ubjson
  - to_ubjson
  - to_bjdata
  - to_bjdata
  - to_bjdata
  - to_bson
  - to_bson
  - to_bson
  - from_cbor
  - from_cbor
  - from_cbor
  - from_cbor
  - from_msgpack
  - from_msgpack
  - from_msgpack
  - from_msgpack
  - from_ubjson
  - from_ubjson
  - from_ubjson
  - from_ubjson
  - from_bjdata
  - from_bjdata
  - from_bson
  - from_bson
  - from_bson
  - from_bson
  - operator[](const json_pointer& ptr)
  - operator[](const ::nlohmann::json_pointer<BasicJsonType>& ptr)
  - operator[](const json_pointer& ptr) const
  - operator[](const ::nlohmann::json_pointer<BasicJsonType>& ptr) const
  - at
  - at
  - at
  - at
  - flatten
  - unflatten
  - patch_inplace
  - patch
  - diff
  - merge_patch
  - std::string to_string(const NLOHMANN_BASIC_JSON_TPL& j)
  - operator "" _json(const char* s, std::size_t n)
  - operator "" _json_pointer(const char* s, std::size_t n)
  - namespace
  - struct
  - operator()(const nlohmann::NLOHMANN_BASIC_JSON_TPL& j) const
  - "operator()(::nlohmann::detail::value_t lhs,\n                    ::nlohmann::detail::value_t
    rhs) const noexcept"
  - swap
  source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
  types:
    enum:
    - enumerators:
      - name: 'null'
      - name: array
      - name: string
      - name: boolean
      - name: object
      - name: number_integer
      - name: number_unsigned
      - name: number_float
      - name: binary
      - name: discarded
      item_type: enum
      name: value_t
      pos:
        line_end: 2883
        line_start: 2871
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - enumerators:
      - name: json
      - name: msgpack
      - name: cbor
      - name: ubjson
      - name: bson
      - name: bjdata
      item_type: enum
      name: input_format_t
      pos:
        line_end: 6175
        line_start: 6175
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - enumerators:
      - name: json
      - name: msgpack
      - name: cbor
      - name: ubjson
      - name: bson
      - name: bjdata
      item_type: enum
      name: input_format_t
      pos:
        line_end: 6175
        line_start: 6175
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - enumerators:
      - name: uninitialized
      - name: value_string
      - name: literal_true
      - name: literal_false
      - name: literal_null
      - name: value_unsigned
      - name: value_integer
      - name: value_float
      - name: begin_array
      - name: begin_object
      - name: end_array
      - name: name_separator
      - name: parse_error
      - name: end_object
      - name: literal_or_value
      - name: value_separator
      - name: end_of_input
      item_type: enum
      name: token_type
      pos:
        line_end: 7428
        line_start: 7409
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - enumerators:
      - name: error
      - name: ignore
      - name: store
      item_type: enum
      name: cbor_tag_handler_t
      pos:
        line_end: 9188
        line_start: 9183
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - enumerators:
      - name: object_start
      - name: object_end
      - name: array_start
      - name: array_end
      - name: key
      - name: value
      item_type: enum
      name: parse_event_t
      pos:
        line_end: 12215
        line_start: 12201
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - enumerators:
      - name: strict
      - name: ignore
      - name: replace
      item_type: enum
      name: error_handler_t
      pos:
        line_end: 18055
        line_start: 18050
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - enumerators:
      - name: add
      - name: replace
      - name: remove
      - name: copy
      - name: move
      - name: test
      - name: invalid
      item_type: enum
      name: patch_operations
      pos:
        line_end: 24004
        line_start: 24004
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    preproc_defs:
    - item_type: preproc_def
      name: NLOHMANN_JSON_VERSION_MAJOR
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: 3   // NOLINT(modernize-macro-to-enum)
    - item_type: preproc_def
      name: NLOHMANN_JSON_VERSION_MINOR
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: 11  // NOLINT(modernize-macro-to-enum)
    - item_type: preproc_def
      name: NLOHMANN_JSON_VERSION_PATCH
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: 3   // NOLINT(modernize-macro-to-enum)
    - item_type: preproc_def
      name: JSON_DIAGNOSTICS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '0'
    - item_type: preproc_def
      name: JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '0'
    - item_type: preproc_def
      name: NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _diag
    - item_type: preproc_def
      name: NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _ldvcmp
    - item_type: preproc_def
      name: NLOHMANN_JSON_NAMESPACE_NO_VERSION
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '0'
    - item_type: preproc_def
      name: NLOHMANN_JSON_ABI_TAGS
      pos:
        line_end: 104
        line_start: 100
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: "NLOHMANN_JSON_ABI_TAGS_CONCAT(                                   \\\n
        \           NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS,                       \\\n
        \           NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON)"
    - item_type: preproc_def
      name: NLOHMANN_JSON_NAMESPACE_VERSION
      pos:
        line_end: 118
        line_start: 114
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: "NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(NLOHMANN_JSON_VERSION_MAJOR,
        \\\n                                           NLOHMANN_JSON_VERSION_MINOR,
        \\\n                                           NLOHMANN_JSON_VERSION_PATCH)"
    - item_type: preproc_def
      name: NLOHMANN_JSON_NAMESPACE
      pos:
        line_end: 130
        line_start: 126
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: "nlohmann::NLOHMANN_JSON_NAMESPACE_CONCAT( \\\n            NLOHMANN_JSON_ABI_TAGS,
        \          \\\n            NLOHMANN_JSON_NAMESPACE_VERSION)"
    - item_type: preproc_def
      name: NLOHMANN_JSON_NAMESPACE_BEGIN
      pos:
        line_end: 140
        line_start: 133
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: "namespace nlohmann                               \\\n    {                                                \\\n
        \   inline namespace NLOHMANN_JSON_NAMESPACE_CONCAT( \\\n                NLOHMANN_JSON_ABI_TAGS,
        \             \\\n                NLOHMANN_JSON_NAMESPACE_VERSION)     \\\n
        \   {"
    - item_type: preproc_def
      name: JSON_HEDLEY_VERSION
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '15'
    - item_type: preproc_def
      name: JSON_HEDLEY_GNUC_VERSION
      pos:
        line_end: 394
        line_start: 393
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__)
    - item_type: preproc_def
      name: JSON_HEDLEY_GNUC_VERSION
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_MSVC_VERSION
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER
        % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100)
    - item_type: preproc_def
      name: JSON_HEDLEY_MSVC_VERSION
      pos:
        line_end: 414
        line_start: 413
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER
        % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10)
    - item_type: preproc_def
      name: JSON_HEDLEY_MSVC_VERSION
      pos:
        line_end: 416
        line_start: 415
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_INTEL_VERSION
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER
        % 100, __INTEL_COMPILER_UPDATE)
    - item_type: preproc_def
      name: JSON_HEDLEY_INTEL_VERSION
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER
        % 100, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_INTEL_CL_VERSION
      pos:
        line_end: 454
        line_start: 453
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER, __INTEL_COMPILER_UPDATE,
        0)
    - item_type: preproc_def
      name: JSON_HEDLEY_PGI_VERSION
      pos:
        line_end: 470
        line_start: 469
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__)
    - item_type: preproc_def
      name: JSON_HEDLEY_SUNPRO_VERSION
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10)
        + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C
        >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10)
    - item_type: preproc_def
      name: JSON_HEDLEY_SUNPRO_VERSION
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C
        >> 4) & 0xf, (__SUNPRO_C) & 0xf)
    - item_type: preproc_def
      name: JSON_HEDLEY_SUNPRO_VERSION
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10)
        + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC
        >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10)
    - item_type: preproc_def
      name: JSON_HEDLEY_SUNPRO_VERSION
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC
        >> 4) & 0xf, (__SUNPRO_CC) & 0xf)
    - item_type: preproc_def
      name: JSON_HEDLEY_EMSCRIPTEN_VERSION
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__,
        __EMSCRIPTEN_tiny__)
    - item_type: preproc_def
      name: JSON_HEDLEY_ARM_VERSION
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION
        % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100)
    - item_type: preproc_def
      name: JSON_HEDLEY_ARM_VERSION
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION
        % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100)
    - item_type: preproc_def
      name: JSON_HEDLEY_IBM_VERSION
      pos:
        line_end: 542
        line_start: 541
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__,
        __ibmxl_modification__)
    - item_type: preproc_def
      name: JSON_HEDLEY_IBM_VERSION
      pos:
        line_end: 544
        line_start: 543
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__
        >> 8) & 0xff)
    - item_type: preproc_def
      name: JSON_HEDLEY_IBM_VERSION
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_TI_VERSION
      pos:
        line_end: 569
        line_start: 568
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000,
        (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_TI_CL2000_VERSION
      pos:
        line_end: 586
        line_start: 585
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000,
        (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_TI_CL430_VERSION
      pos:
        line_end: 602
        line_start: 601
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000,
        (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_TI_ARMCL_VERSION
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000,
        (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_TI_CL6X_VERSION
      pos:
        line_end: 634
        line_start: 633
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000,
        (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_TI_CL7X_VERSION
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000,
        (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_TI_CLPRU_VERSION
      pos:
        line_end: 666
        line_start: 665
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000,
        (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_CRAY_VERSION
      pos:
        line_end: 683
        line_start: 682
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL)
    - item_type: preproc_def
      name: JSON_HEDLEY_CRAY_VERSION
      pos:
        line_end: 685
        line_start: 684
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_IAR_VERSION
      pos:
        line_end: 703
        line_start: 702
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000)
        % 1000), (__VER__ % 1000))
    - item_type: preproc_def
      name: JSON_HEDLEY_IAR_VERSION
      pos:
        line_end: 705
        line_start: 704
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__VER__ / 100, __VER__ % 100, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_TINYC_VERSION
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100)
        % 10, __TINYC__ % 100)
    - item_type: preproc_def
      name: JSON_HEDLEY_DMC_VERSION
      pos:
        line_end: 738
        line_start: 737
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf,
        __DMC__ & 0xf)
    - item_type: preproc_def
      name: JSON_HEDLEY_COMPCERT_VERSION
      pos:
        line_end: 754
        line_start: 753
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__
        / 100) % 100, __COMPCERT_VERSION__ % 100)
    - item_type: preproc_def
      name: JSON_HEDLEY_PELLES_VERSION
      pos:
        line_end: 770
        line_start: 769
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_MCST_LCC_VERSION
      pos:
        line_end: 786
        line_start: 785
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_VERSION_ENCODE(__LCC__ / 100, __LCC__ % 100, __LCC_MINOR__)
    - item_type: preproc_def
      name: JSON_HEDLEY_GCC_VERSION
      pos:
        line_end: 817
        line_start: 816
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_GNUC_VERSION
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_PUSH
      pos:
        line_end: 1073
        line_start: 1072
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("clang diagnostic push")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_POP
      pos:
        line_end: 1074
        line_start: 1073
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("clang diagnostic pop")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_PUSH
      pos:
        line_end: 1076
        line_start: 1075
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("warning(push)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_POP
      pos:
        line_end: 1077
        line_start: 1076
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("warning(pop)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_PUSH
      pos:
        line_end: 1079
        line_start: 1078
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("GCC diagnostic push")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_POP
      pos:
        line_end: 1080
        line_start: 1079
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("GCC diagnostic pop")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_PUSH
      pos:
        line_end: 1084
        line_start: 1083
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __pragma(warning(push))
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_POP
      pos:
        line_end: 1085
        line_start: 1084
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __pragma(warning(pop))
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_PUSH
      pos:
        line_end: 1087
        line_start: 1086
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("push")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_POP
      pos:
        line_end: 1088
        line_start: 1087
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("pop")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_PUSH
      pos:
        line_end: 1096
        line_start: 1095
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_push")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_POP
      pos:
        line_end: 1097
        line_start: 1096
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_pop")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_PUSH
      pos:
        line_end: 1099
        line_start: 1098
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("warning(push)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_POP
      pos:
        line_end: 1100
        line_start: 1099
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("warning(pop)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 1206
        line_start: 1205
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 1208
        line_start: 1207
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("warning(disable:1478 1786)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 1210
        line_start: 1209
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __pragma(warning(disable:1478 1786))
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 1212
        line_start: 1211
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress 1215,1216,1444,1445")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 1214
        line_start: 1213
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress 1215,1444")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 1216
        line_start: 1215
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 1218
        line_start: 1217
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __pragma(warning(disable:4996))
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 1220
        line_start: 1219
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress 1215,1444")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 1233
        line_start: 1232
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress 1291,1718")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 1235
        line_start: 1234
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 1237
        line_start: 1236
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("error_messages(off,symdeprecated,symdeprecated2)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 1239
        line_start: 1238
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress=Pe1444,Pe1215")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
      pos:
        line_end: 1241
        line_start: 1240
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("warn(disable:2241)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 1250
        line_start: 1249
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 1252
        line_start: 1251
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("warning(disable:161)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 1254
        line_start: 1253
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __pragma(warning(disable:161))
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 1256
        line_start: 1255
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress 1675")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 1258
        line_start: 1257
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 1260
        line_start: 1259
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __pragma(warning(disable:4068))
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 1266
        line_start: 1265
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress 163")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 1268
        line_start: 1267
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress 163")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 1270
        line_start: 1269
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress=Pe161")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
      pos:
        line_end: 1272
        line_start: 1271
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress 161")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1281
        line_start: 1280
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1283
        line_start: 1282
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1285
        line_start: 1284
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("warning(disable:1292)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1287
        line_start: 1286
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __pragma(warning(disable:1292))
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1289
        line_start: 1288
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __pragma(warning(disable:5030))
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1291
        line_start: 1290
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress 1097,1098")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1293
        line_start: 1292
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress 1097")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1295
        line_start: 1294
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("error_messages(off,attrskipunsup)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1300
        line_start: 1299
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress 1173")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1302
        line_start: 1301
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress=Pe1097")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
      pos:
        line_end: 1304
        line_start: 1303
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress 1097")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
      pos:
        line_end: 1313
        line_start: 1312
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("clang diagnostic ignored \"-Wcast-qual\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
      pos:
        line_end: 1315
        line_start: 1314
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("warning(disable:2203 2331)")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
      pos:
        line_end: 1317
        line_start: 1316
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("GCC diagnostic ignored \"-Wcast-qual\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION
      pos:
        line_end: 1326
        line_start: 1325
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("clang diagnostic ignored \"-Wunused-function\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION
      pos:
        line_end: 1328
        line_start: 1327
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("GCC diagnostic ignored \"-Wunused-function\"")
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION
      pos:
        line_end: 1330
        line_start: 1329
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __pragma(warning(disable:4505))
    - item_type: preproc_def
      name: JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION
      pos:
        line_end: 1332
        line_start: 1331
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("diag_suppress 3142")
    - item_type: preproc_def
      name: JSON_HEDLEY_WARN_UNUSED_RESULT
      pos:
        line_end: 1436
        line_start: 1435
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__warn_unused_result__))
    - item_type: preproc_def
      name: JSON_HEDLEY_WARN_UNUSED_RESULT
      pos:
        line_end: 1439
        line_start: 1438
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
    - item_type: preproc_def
      name: JSON_HEDLEY_WARN_UNUSED_RESULT
      pos:
        line_end: 1442
        line_start: 1441
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
    - item_type: preproc_def
      name: JSON_HEDLEY_WARN_UNUSED_RESULT
      pos:
        line_end: 1445
        line_start: 1444
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Check_return_
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1470
        line_start: 1469
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __noreturn
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1474
        line_start: 1473
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__noreturn__))
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1476
        line_start: 1475
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Noreturn
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1478
        line_start: 1477
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]])
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1497
        line_start: 1496
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__noreturn__))
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1499
        line_start: 1498
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("does_not_return")
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1503
        line_start: 1502
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __declspec(noreturn)
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1505
        line_start: 1504
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("FUNC_NEVER_RETURNS;")
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1507
        line_start: 1506
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute((noreturn))
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_RETURN
      pos:
        line_end: 1509
        line_start: 1508
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __declspec(noreturn)
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_ESCAPE
      pos:
        line_end: 1518
        line_start: 1517
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__noescape__))
    - item_type: preproc_def
      name: JSON_HEDLEY_CONSTEXPR
      pos:
        line_end: 1647
        line_start: 1646
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr)
    - item_type: preproc_def
      name: JSON_HEDLEY_MALLOC
      pos:
        line_end: 1742
        line_start: 1741
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__malloc__))
    - item_type: preproc_def
      name: JSON_HEDLEY_MALLOC
      pos:
        line_end: 1744
        line_start: 1743
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("returns_new_memory")
    - item_type: preproc_def
      name: JSON_HEDLEY_MALLOC
      pos:
        line_end: 1748
        line_start: 1747
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __declspec(restrict)
    - item_type: preproc_def
      name: JSON_HEDLEY_PURE
      pos:
        line_end: 1776
        line_start: 1775
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__pure__))
    - item_type: preproc_def
      name: JSON_HEDLEY_PURE
      pos:
        line_end: 1778
        line_start: 1777
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("does_not_write_global_data")
    - item_type: preproc_def
      name: JSON_HEDLEY_PURE
      pos:
        line_end: 1785
        line_start: 1784
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("FUNC_IS_PURE;")
    - item_type: preproc_def
      name: JSON_HEDLEY_CONST
      pos:
        line_end: 1813
        line_start: 1812
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__const__))
    - item_type: preproc_def
      name: JSON_HEDLEY_CONST
      pos:
        line_end: 1816
        line_start: 1815
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("no_side_effect")
    - item_type: preproc_def
      name: JSON_HEDLEY_CONST
      pos:
        line_end: 1818
        line_start: 1817
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_PURE
    - item_type: preproc_def
      name: JSON_HEDLEY_RESTRICT
      pos:
        line_end: 1825
        line_start: 1824
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: restrict
    - item_type: preproc_def
      name: JSON_HEDLEY_RESTRICT
      pos:
        line_end: 1842
        line_start: 1841
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __restrict
    - item_type: preproc_def
      name: JSON_HEDLEY_RESTRICT
      pos:
        line_end: 1844
        line_start: 1843
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Restrict
    - item_type: preproc_def
      name: JSON_HEDLEY_INLINE
      pos:
        line_end: 1855
        line_start: 1854
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: inline
    - item_type: preproc_def
      name: JSON_HEDLEY_INLINE
      pos:
        line_end: 1859
        line_start: 1858
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __inline__
    - item_type: preproc_def
      name: JSON_HEDLEY_INLINE
      pos:
        line_end: 1871
        line_start: 1870
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __inline
    - item_type: preproc_def
      name: JSON_HEDLEY_ALWAYS_INLINE
      pos:
        line_end: 1899
        line_start: 1898
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__always_inline__)) JSON_HEDLEY_INLINE
    - item_type: preproc_def
      name: JSON_HEDLEY_ALWAYS_INLINE
      pos:
        line_end: 1903
        line_start: 1902
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __forceinline
    - item_type: preproc_def
      name: JSON_HEDLEY_ALWAYS_INLINE
      pos:
        line_end: 1913
        line_start: 1912
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("FUNC_ALWAYS_INLINE;")
    - item_type: preproc_def
      name: JSON_HEDLEY_ALWAYS_INLINE
      pos:
        line_end: 1915
        line_start: 1914
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("inline=forced")
    - item_type: preproc_def
      name: JSON_HEDLEY_ALWAYS_INLINE
      pos:
        line_end: 1917
        line_start: 1916
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_INLINE
    - item_type: preproc_def
      name: JSON_HEDLEY_NEVER_INLINE
      pos:
        line_end: 1943
        line_start: 1942
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__noinline__))
    - item_type: preproc_def
      name: JSON_HEDLEY_NEVER_INLINE
      pos:
        line_end: 1947
        line_start: 1946
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __declspec(noinline)
    - item_type: preproc_def
      name: JSON_HEDLEY_NEVER_INLINE
      pos:
        line_end: 1949
        line_start: 1948
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("noinline")
    - item_type: preproc_def
      name: JSON_HEDLEY_NEVER_INLINE
      pos:
        line_end: 1951
        line_start: 1950
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("FUNC_CANNOT_INLINE;")
    - item_type: preproc_def
      name: JSON_HEDLEY_NEVER_INLINE
      pos:
        line_end: 1953
        line_start: 1952
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Pragma("inline=never")
    - item_type: preproc_def
      name: JSON_HEDLEY_NEVER_INLINE
      pos:
        line_end: 1955
        line_start: 1954
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute((noinline))
    - item_type: preproc_def
      name: JSON_HEDLEY_NEVER_INLINE
      pos:
        line_end: 1957
        line_start: 1956
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __declspec(noinline)
    - item_type: preproc_def
      name: JSON_HEDLEY_PUBLIC
      pos:
        line_end: 1973
        line_start: 1972
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: JSON_HEDLEY_IMPORT
      pos:
        line_end: 1974
        line_start: 1973
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: JSON_HEDLEY_PRIVATE
      pos:
        line_end: 1991
        line_start: 1990
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__visibility__("hidden")))
    - item_type: preproc_def
      name: JSON_HEDLEY_PUBLIC
      pos:
        line_end: 1992
        line_start: 1991
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__visibility__("default")))
    - item_type: preproc_def
      name: JSON_HEDLEY_IMPORT
      pos:
        line_end: 1997
        line_start: 1996
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: extern
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_THROW
      pos:
        line_end: 2008
        line_start: 2007
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__nothrow__))
    - item_type: preproc_def
      name: JSON_HEDLEY_NO_THROW
      pos:
        line_end: 2013
        line_start: 2012
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __declspec(nothrow)
    - item_type: preproc_def
      name: JSON_HEDLEY_FALL_THROUGH
      pos:
        line_end: 2025
        line_start: 2024
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__fallthrough__))
    - item_type: preproc_def
      name: JSON_HEDLEY_FALL_THROUGH
      pos:
        line_end: 2027
        line_start: 2026
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]])
    - item_type: preproc_def
      name: JSON_HEDLEY_FALL_THROUGH
      pos:
        line_end: 2029
        line_start: 2028
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]])
    - item_type: preproc_def
      name: JSON_HEDLEY_FALL_THROUGH
      pos:
        line_end: 2031
        line_start: 2030
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __fallthrough
    - item_type: preproc_def
      name: JSON_HEDLEY_RETURNS_NON_NULL
      pos:
        line_end: 2043
        line_start: 2042
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__returns_nonnull__))
    - item_type: preproc_def
      name: JSON_HEDLEY_RETURNS_NON_NULL
      pos:
        line_end: 2045
        line_start: 2044
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: _Ret_notnull_
    - item_type: preproc_def
      name: JSON_HEDLEY_BEGIN_C_DECLS
      pos:
        line_end: 2164
        line_start: 2163
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: extern "C" {
    - item_type: preproc_def
      name: JSON_HEDLEY_END_C_DECLS
      pos:
        line_end: 2165
        line_start: 2164
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '}'
    - item_type: preproc_def
      name: JSON_HEDLEY_C_DECL
      pos:
        line_end: 2166
        line_start: 2165
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: extern "C"
    - item_type: preproc_def
      name: JSON_HEDLEY_NULL
      pos:
        line_end: 2199
        line_start: 2198
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr)
    - item_type: preproc_def
      name: JSON_HEDLEY_NULL
      pos:
        line_end: 2201
        line_start: 2200
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: JSON_HEDLEY_NULL
      pos:
        line_end: 2203
        line_start: 2202
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_HEDLEY_STATIC_CAST(void*, 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_NULL
      pos:
        line_end: 2206
        line_start: 2205
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: JSON_HEDLEY_NULL
      pos:
        line_end: 2208
        line_start: 2207
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: ((void*) 0)
    - item_type: preproc_def
      name: JSON_HEDLEY_FLAGS
      pos:
        line_end: 2287
        line_start: 2286
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __attribute__((__flag_enum__))
    - item_type: preproc_def
      name: JSON_HEDLEY_EMPTY_BASES
      pos:
        line_end: 2312
        line_start: 2311
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: __declspec(empty_bases)
    - item_type: preproc_def
      name: JSON_HAS_FILESYSTEM
      pos:
        line_end: 2411
        line_start: 2410
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '1'
    - item_type: preproc_def
      name: JSON_HAS_EXPERIMENTAL_FILESYSTEM
      pos:
        line_end: 2413
        line_start: 2412
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '1'
    - item_type: preproc_def
      name: JSON_HAS_EXPERIMENTAL_FILESYSTEM
      pos:
        line_end: 2415
        line_start: 2414
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '1'
    - item_type: preproc_def
      name: JSON_HAS_FILESYSTEM
      pos:
        line_end: 2417
        line_start: 2416
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '1'
    - item_type: preproc_def
      name: JSON_HAS_EXPERIMENTAL_FILESYSTEM
      pos:
        line_end: 2419
        line_start: 2418
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '1'
    - item_type: preproc_def
      name: JSON_HAS_EXPERIMENTAL_FILESYSTEM
      pos:
        line_end: 2461
        line_start: 2460
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '0'
    - item_type: preproc_def
      name: JSON_HAS_FILESYSTEM
      pos:
        line_end: 2465
        line_start: 2464
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '0'
    - item_type: preproc_def
      name: JSON_HAS_THREE_WAY_COMPARISON
      pos:
        line_end: 2471
        line_start: 2470
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '1'
    - item_type: preproc_def
      name: JSON_HAS_THREE_WAY_COMPARISON
      pos:
        line_end: 2473
        line_start: 2472
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '0'
    - item_type: preproc_def
      name: JSON_HAS_RANGES
      pos:
        line_end: 2480
        line_start: 2479
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '0'
    - item_type: preproc_def
      name: JSON_HAS_RANGES
      pos:
        line_end: 2482
        line_start: 2481
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '1'
    - item_type: preproc_def
      name: JSON_HAS_RANGES
      pos:
        line_end: 2484
        line_start: 2483
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '0'
    - item_type: preproc_def
      name: JSON_HAS_STATIC_RTTI
      pos:
        line_end: 2490
        line_start: 2489
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '1'
    - item_type: preproc_def
      name: JSON_HAS_STATIC_RTTI
      pos:
        line_end: 2492
        line_start: 2491
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '0'
    - item_type: preproc_def
      name: JSON_INLINE_VARIABLE
      pos:
        line_end: 2497
        line_start: 2496
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: inline
    - item_type: preproc_def
      name: JSON_NO_UNIQUE_ADDRESS
      pos:
        line_end: 2503
        line_start: 2502
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '[[no_unique_address]]'
    - item_type: preproc_def
      name: JSON_TRY
      pos:
        line_end: 2518
        line_start: 2517
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: try
    - item_type: preproc_def
      name: JSON_TRY
      pos:
        line_end: 2524
        line_start: 2523
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: if(true)
    - item_type: preproc_def
      name: JSON_THROW
      pos:
        line_end: 2532
        line_start: 2531
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_THROW_USER
    - item_type: preproc_def
      name: JSON_TRY
      pos:
        line_end: 2536
        line_start: 2535
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_TRY_USER
    - item_type: preproc_def
      name: JSON_CATCH
      pos:
        line_end: 2540
        line_start: 2539
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_CATCH_USER
    - item_type: preproc_def
      name: JSON_INTERNAL_CATCH
      pos:
        line_end: 2542
        line_start: 2541
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_CATCH_USER
    - item_type: preproc_def
      name: JSON_INTERNAL_CATCH
      pos:
        line_end: 2546
        line_start: 2545
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: JSON_INTERNAL_CATCH_USER
    - item_type: preproc_def
      name: JSON_PRIVATE_UNLESS_TESTED
      pos:
        line_end: 2557
        line_start: 2556
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: public
    - item_type: preproc_def
      name: JSON_PRIVATE_UNLESS_TESTED
      pos:
        line_end: 2559
        line_start: 2558
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: private
    - item_type: preproc_def
      name: NLOHMANN_BASIC_JSON_TPL_DECLARATION
      pos:
        line_end: 2604
        line_start: 2595
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: "template<template<typename, typename, typename...> class ObjectType,
        \  \\\n             template<typename, typename...> class ArrayType,              \\\n
        \            class StringType, class BooleanType, class NumberIntegerType,
        \\\n             class NumberUnsignedType, class NumberFloatType,              \\\n
        \            template<typename> class AllocatorType,                       \\\n
        \            template<typename, typename = void> class JSONSerializer,     \\\n
        \            class BinaryType,                                             \\\n
        \            class CustomBaseClass>"
    - item_type: preproc_def
      name: NLOHMANN_BASIC_JSON_TPL
      pos:
        line_end: 2609
        line_start: 2605
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: "basic_json<ObjectType, ArrayType, StringType, BooleanType,             \\\n
        \   NumberIntegerType, NumberUnsignedType, NumberFloatType,                \\\n
        \   AllocatorType, JSONSerializer, BinaryType, CustomBaseClass>"
    - item_type: preproc_def
      name: JSON_USE_IMPLICIT_CONVERSIONS
      pos:
        line_end: 2819
        line_start: 2818
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '1'
    - item_type: preproc_def
      name: JSON_EXPLICIT
      pos:
        line_end: 2825
        line_start: 2824
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: explicit
    - item_type: preproc_def
      name: JSON_DISABLE_ENUM_SERIALIZATION
      pos:
        line_end: 2829
        line_start: 2828
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '0'
    - item_type: preproc_def
      name: JSON_USE_GLOBAL_UDLS
      pos:
        line_end: 2833
        line_start: 2832
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: '1'
    - item_type: preproc_def
      name: JSON_BINARY_READER_MAKE_BJD_OPTIMIZED_TYPE_MARKERS_
      pos:
        line_end: 12117
        line_start: 12115
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: make_array<char_int_type>('F', 'H', 'N', 'S', 'T', 'Z', '[',
        '{')
    - item_type: preproc_def
      name: JSON_BINARY_READER_MAKE_BJD_TYPES_MAP_
      pos:
        line_end: 12131
        line_start: 12118
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
      type_or_value: "make_array<bjd_type>(                      \\\n    bjd_type{'C',
        \"char\"},                     \\\n    bjd_type{'D', \"double\"},                   \\\n
        \   bjd_type{'I', \"int16\"},                    \\\n    bjd_type{'L', \"int64\"},
        \                   \\\n    bjd_type{'M', \"uint64\"},                   \\\n
        \   bjd_type{'U', \"uint8\"},                    \\\n    bjd_type{'d', \"single\"},
        \                  \\\n    bjd_type{'i', \"int8\"},                     \\\n
        \   bjd_type{'l', \"int32\"},                    \\\n    bjd_type{'m', \"uint32\"},
        \                  \\\n    bjd_type{'u', \"uint16\"})"
    structs:
    - fields: []
      item_type: struct
      name: make_void
      pos:
        line_end: 253
        line_start: 250
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: nonesuch
      pos:
        line_end: 273
        line_start: 265
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: detector
      pos:
        line_end: 283
        line_start: 279
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: detector<Default, void_t<Op<Args...>>, Op, Args...>
      pos:
        line_end: 290
        line_start: 286
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_detected_lazy
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: chars_read_total
        type: std::size_t
      - name: chars_read_current_line
        type: std::size_t
      - name: lines_read
        type: std::size_t
      item_type: struct
      name: position_t
      pos:
        line_end: 3048
        line_start: 3034
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: integer_sequence
      pos:
        line_end: 3128
        line_start: 3121
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: Extend<integer_sequence<T, Ints...>, SeqSize, 0>
      pos:
        line_end: 3149
        line_start: 3146
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: Extend<integer_sequence<T, Ints...>, SeqSize, 1>
      pos:
        line_end: 3155
        line_start: 3152
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: Gen
      pos:
        line_end: 3164
        line_start: 3160
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: Gen<T, 0>
      pos:
        line_end: 3170
        line_start: 3167
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: Extend<integer_sequence<T, Ints...>, SeqSize, 0>
      pos:
        line_end: 3149
        line_start: 3146
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: Extend<integer_sequence<T, Ints...>, SeqSize, 1>
      pos:
        line_end: 3155
        line_start: 3152
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: Gen
      pos:
        line_end: 3164
        line_start: 3160
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: Gen<T, 0>
      pos:
        line_end: 3170
        line_start: 3167
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: priority_tag
      pos:
        line_end: 3205
        line_start: 3205
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: priority_tag<0>
      pos:
        line_end: 3206
        line_start: 3206
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: JSON_INLINE_VARIABLE
      item_type: struct
      name: static_const
      pos:
        line_end: 3213
        line_start: 3210
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: iterator_types
      pos:
        line_end: 3271
        line_start: 3271
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: "iterator_types <\n    It,\n    void_t<typename It::difference_type, typename
        It::value_type, typename It::pointer,\n    typename It::reference, typename
        It::iterator_category >>"
      pos:
        line_end: 3284
        line_start: 3274
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits
      pos:
        line_end: 3291
        line_start: 3289
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits < T, enable_if_t < !std::is_pointer<T>::value >>
      pos:
        line_end: 3297
        line_start: 3294
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: iterator_traits<T*, enable_if_t<std::is_object<T>::value>>
      pos:
        line_end: 3307
        line_start: 3300
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_basic_json
      pos:
        line_end: 3462
        line_start: 3462
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_basic_json_context
      pos:
        line_end: 3475
        line_start: 3471
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_json_ref
      pos:
        line_end: 3485
        line_start: 3485
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_json_ref<json_ref<T>>
      pos:
        line_end: 3488
        line_start: 3488
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: has_from_json
      pos:
        line_end: 3526
        line_start: 3526
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: is_getable
      pos:
        line_end: 3536
        line_start: 3533
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: has_from_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value
        >>
      pos:
        line_end: 3546
        line_start: 3539
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: has_non_default_from_json
      pos:
        line_end: 3551
        line_start: 3551
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: has_non_default_from_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value
        >>
      pos:
        line_end: 3561
        line_start: 3554
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: has_to_json
      pos:
        line_end: 3566
        line_start: 3566
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value
        >>
      pos:
        line_end: 3576
        line_start: 3569
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: has_key_compare
      pos:
        line_end: 3582
        line_start: 3582
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: actual_object_comparator
      pos:
        line_end: 3592
        line_start: 3586
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: char_traits
      pos:
        line_end: 3604
        line_start: 3603
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: char_traits<unsigned char>
      pos:
        line_end: 3628
        line_start: 3608
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: char_traits<signed char>
      pos:
        line_end: 3652
        line_start: 3632
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: conjunction
      pos:
        line_end: 3659
        line_start: 3659
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: conjunction<B>
      pos:
        line_end: 3660
        line_start: 3660
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: conjunction<B, Bn...>
      pos:
        line_end: 3663
        line_start: 3662
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: negation
      pos:
        line_end: 3666
        line_start: 3666
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_default_constructible
      pos:
        line_end: 3672
        line_start: 3672
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_default_constructible<std::pair<T1, T2>>
      pos:
        line_end: 3676
        line_start: 3675
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_default_constructible<const std::pair<T1, T2>>
      pos:
        line_end: 3680
        line_start: 3679
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_default_constructible<std::tuple<Ts...>>
      pos:
        line_end: 3684
        line_start: 3683
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_default_constructible<const std::tuple<Ts...>>
      pos:
        line_end: 3688
        line_start: 3687
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible
      pos:
        line_end: 3691
        line_start: 3691
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible<std::pair<T1, T2>>
      pos:
        line_end: 3694
        line_start: 3694
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible<const std::pair<T1, T2>>
      pos:
        line_end: 3697
        line_start: 3697
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible<std::tuple<Ts...>>
      pos:
        line_end: 3700
        line_start: 3700
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible<const std::tuple<Ts...>>
      pos:
        line_end: 3703
        line_start: 3703
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_iterator_traits
      pos:
        line_end: 3706
        line_start: 3706
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: is_iterator_traits<iterator_traits<T>>
      pos:
        line_end: 3721
        line_start: 3709
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: is_iterator_begin
        type: auto
      - name: value
        type: bool
      item_type: struct
      name: is_range
      pos:
        line_end: 3740
        line_start: 3724
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_complete_type
      pos:
        line_end: 3753
        line_start: 3753
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_complete_type<T, decltype(void(sizeof(T)))>
      pos:
        line_end: 3756
        line_start: 3756
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_object_type_impl
      pos:
        line_end: 3760
        line_start: 3760
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_object_type_impl <\n    BasicJsonType, CompatibleObjectType,\n
        \   enable_if_t < is_detected<mapped_type_t, CompatibleObjectType>::value&&\n
        \   is_detected<key_type_t, CompatibleObjectType>::value >>"
      pos:
        line_end: 3776
        line_start: 3763
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_object_type
      pos:
        line_end: 3780
        line_start: 3779
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_object_type_impl
      pos:
        line_end: 3784
        line_start: 3784
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_constructible_object_type_impl <\n    BasicJsonType, ConstructibleObjectType,\n
        \   enable_if_t < is_detected<mapped_type_t, ConstructibleObjectType>::value&&\n
        \   is_detected<key_type_t, ConstructibleObjectType>::value >>"
      pos:
        line_end: 3808
        line_start: 3787
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_object_type
      pos:
        line_end: 3813
        line_start: 3811
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: is_compatible_string_type
      pos:
        line_end: 3820
        line_start: 3816
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: is_constructible_string_type
      pos:
        line_end: 3837
        line_start: 3823
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_array_type_impl
      pos:
        line_end: 3840
        line_start: 3840
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_array_type_impl <\n    BasicJsonType, CompatibleArrayType,\n
        \   enable_if_t <\n    is_detected<iterator_t, CompatibleArrayType>::value&&\n
        \   is_iterator_traits<iterator_traits<detected_t<iterator_t, CompatibleArrayType>>>::value&&\n//
        special case for types like std::filesystem::path whose iterator's value_type
        are themselves\n// c.f. https://github.com/nlohmann/json/pull/3073\n    !std::is_same<CompatibleArrayType,
        detected_t<range_value_t, CompatibleArrayType>>::value >>"
      pos:
        line_end: 3855
        line_start: 3843
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_array_type
      pos:
        line_end: 3859
        line_start: 3858
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_array_type_impl
      pos:
        line_end: 3862
        line_start: 3862
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: "is_constructible_array_type_impl <\n    BasicJsonType, ConstructibleArrayType,\n
        \   enable_if_t<std::is_same<ConstructibleArrayType,\n    typename BasicJsonType::value_type>::value
        >>"
      pos:
        line_end: 3869
        line_start: 3865
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_constructible_array_type_impl <\n    BasicJsonType, ConstructibleArrayType,\n
        \   enable_if_t < !std::is_same<ConstructibleArrayType,\n    typename BasicJsonType::value_type>::value&&\n
        \   !is_compatible_string_type<BasicJsonType, ConstructibleArrayType>::value&&\n
        \   is_default_constructible<ConstructibleArrayType>::value&&\n(std::is_move_assignable<ConstructibleArrayType>::value
        ||\n std::is_copy_assignable<ConstructibleArrayType>::value)&&\nis_detected<iterator_t,
        ConstructibleArrayType>::value&&\nis_iterator_traits<iterator_traits<detected_t<iterator_t,
        ConstructibleArrayType>>>::value&&\nis_detected<range_value_t, ConstructibleArrayType>::value&&\n//
        special case for types like std::filesystem::path whose iterator's value_type
        are themselves\n// c.f. https://github.com/nlohmann/json/pull/3073\n!std::is_same<ConstructibleArrayType,
        detected_t<range_value_t, ConstructibleArrayType>>::value&&\n        is_complete_type
        <\n        detected_t<range_value_t, ConstructibleArrayType >>::value >>"
      pos:
        line_end: 3899
        line_start: 3872
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_array_type
      pos:
        line_end: 3903
        line_start: 3902
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_integer_type_impl
      pos:
        line_end: 3907
        line_start: 3907
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: auto
      item_type: struct
      name: "is_compatible_integer_type_impl <\n    RealIntegerType, CompatibleNumberIntegerType,\n
        \   enable_if_t < std::is_integral<RealIntegerType>::value&&\n    std::is_integral<CompatibleNumberIntegerType>::value&&\n
        \   !std::is_same<bool, CompatibleNumberIntegerType>::value >>"
      pos:
        line_end: 3925
        line_start: 3910
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_integer_type
      pos:
        line_end: 3930
        line_start: 3928
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_type_impl
      pos:
        line_end: 3933
        line_start: 3933
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: "is_compatible_type_impl <\n    BasicJsonType, CompatibleType,\n    enable_if_t<is_complete_type<CompatibleType>::value
        >>"
      pos:
        line_end: 3942
        line_start: 3936
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_compatible_type
      pos:
        line_end: 3946
        line_start: 3945
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_tuple
      pos:
        line_end: 3949
        line_start: 3949
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_constructible_tuple<T1, std::tuple<Args...>>
      pos:
        line_end: 3952
        line_start: 3952
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_json_iterator_of
      pos:
        line_end: 3955
        line_start: 3955
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_json_iterator_of<BasicJsonType, typename BasicJsonType::iterator>
      pos:
        line_end: 3958
        line_start: 3958
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_json_iterator_of<BasicJsonType, typename BasicJsonType::const_iterator>
      pos:
        line_end: 3962
        line_start: 3961
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_specialization_of
      pos:
        line_end: 3966
        line_start: 3966
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_specialization_of<Primary, Primary<Args...>>
      pos:
        line_end: 3969
        line_start: 3969
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_comparable
      pos:
        line_end: 3976
        line_start: 3976
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: 'is_comparable<Compare, A, B, void_t<

        decltype(std::declval<Compare>()(std::declval<A>(), std::declval<B>())),

        decltype(std::declval<Compare>()(std::declval<B>(), std::declval<A>()))

        >>'
      pos:
        line_end: 3982
        line_start: 3979
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_ordered_map
      pos:
        line_end: 4045
        line_start: 4032
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: x[2]
        type: char
      item_type: struct
      name: two
      pos:
        line_end: 4039
        line_start: 4036
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: value_in_range_of_impl2<OfType, T, false, false>
      pos:
        line_end: 4092
        line_start: 4085
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: value_in_range_of_impl2<OfType, T, true, false>
      pos:
        line_end: 4102
        line_start: 4095
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: value_in_range_of_impl2<OfType, T, false, true>
      pos:
        line_end: 4112
        line_start: 4105
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: value_in_range_of_impl2<OfType, T, true, true>
      pos:
        line_end: 4123
        line_start: 4115
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: value_in_range_of_impl1<OfType, T, false>
      pos:
        line_end: 4137
        line_start: 4131
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: value_in_range_of_impl1<OfType, T, true>
      pos:
        line_end: 4146
        line_start: 4140
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_c_string
      pos:
        line_end: 4180
        line_start: 4180
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_transparent
      pos:
        line_end: 4202
        line_start: 4202
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: identity_tag
      pos:
        line_end: 4614
        line_start: 4614
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: from_json_fn
      pos:
        line_end: 5106
        line_start: 5097
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::boolean>
      pos:
        line_end: 5431
        line_start: 5421
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::string>
      pos:
        line_end: 5464
        line_start: 5434
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::binary>
      pos:
        line_end: 5486
        line_start: 5467
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_float>
      pos:
        line_end: 5499
        line_start: 5489
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_unsigned>
      pos:
        line_end: 5512
        line_start: 5502
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_integer>
      pos:
        line_end: 5525
        line_start: 5515
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::array>
      pos:
        line_end: 5595
        line_start: 5528
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::object>
      pos:
        line_end: 5633
        line_start: 5598
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: to_json_fn
      pos:
        line_end: 5806
        line_start: 5798
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: adl_serializer
      pos:
        line_end: 5862
        line_start: 5831
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: adl_serializer
      pos:
        line_end: 5862
        line_start: 5831
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: wide_string_input_helper<BaseInputAdapter, 4>
      pos:
        line_end: 6372
        line_start: 6317
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: wide_string_input_helper<BaseInputAdapter, 2>
      pos:
        line_end: 6434
        line_start: 6375
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: iterator_input_adapter_factory
      pos:
        line_end: 6492
        line_start: 6482
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_iterator_of_multibyte
      pos:
        line_end: 6502
        line_start: 6495
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: iterator_input_adapter_factory<IteratorType, enable_if_t<is_iterator_of_multibyte<IteratorType>::value>>
      pos:
        line_end: 6516
        line_start: 6505
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: container_input_adapter_factory
      pos:
        line_end: 6537
        line_start: 6537
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: "container_input_adapter_factory< ContainerType,\n       void_t<decltype(begin(std::declval<ContainerType>()),
        end(std::declval<ContainerType>()))>>"
      pos:
        line_end: 6549
        line_start: 6540
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: container_input_adapter_factory
      pos:
        line_end: 6537
        line_start: 6537
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: "container_input_adapter_factory< ContainerType,\n       void_t<decltype(begin(std::declval<ContainerType>()),
        end(std::declval<ContainerType>()))>>"
      pos:
        line_end: 6549
        line_start: 6540
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::boolean>
      pos:
        line_end: 5431
        line_start: 5421
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::string>
      pos:
        line_end: 5464
        line_start: 5434
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::binary>
      pos:
        line_end: 5486
        line_start: 5467
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_float>
      pos:
        line_end: 5499
        line_start: 5489
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_unsigned>
      pos:
        line_end: 5512
        line_start: 5502
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::number_integer>
      pos:
        line_end: 5525
        line_start: 5515
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::array>
      pos:
        line_end: 5595
        line_start: 5528
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: external_constructor<value_t::object>
      pos:
        line_end: 5633
        line_start: 5598
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: to_json_fn
      pos:
        line_end: 5806
        line_start: 5798
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: adl_serializer
      pos:
        line_end: 5862
        line_start: 5831
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: adl_serializer
      pos:
        line_end: 5862
        line_start: 5831
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: wide_string_input_helper<BaseInputAdapter, 4>
      pos:
        line_end: 6372
        line_start: 6317
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: wide_string_input_helper<BaseInputAdapter, 2>
      pos:
        line_end: 6434
        line_start: 6375
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: iterator_input_adapter_factory
      pos:
        line_end: 6492
        line_start: 6482
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_iterator_of_multibyte
      pos:
        line_end: 6502
        line_start: 6495
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: iterator_input_adapter_factory<IteratorType, enable_if_t<is_iterator_of_multibyte<IteratorType>::value>>
      pos:
        line_end: 6516
        line_start: 6505
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: container_input_adapter_factory
      pos:
        line_end: 6537
        line_start: 6537
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: "container_input_adapter_factory< ContainerType,\n       void_t<decltype(begin(std::declval<ContainerType>()),
        end(std::declval<ContainerType>()))>>"
      pos:
        line_end: 6549
        line_start: 6540
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: container_input_adapter_factory
      pos:
        line_end: 6537
        line_start: 6537
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: "container_input_adapter_factory< ContainerType,\n       void_t<decltype(begin(std::declval<ContainerType>()),
        end(std::declval<ContainerType>()))>>"
      pos:
        line_end: 6549
        line_start: 6540
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: value
        type: bool
      item_type: struct
      name: is_sax
      pos:
        line_end: 9112
        line_start: 9084
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: is_sax_static_asserts
      pos:
        line_end: 9166
        line_start: 9115
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: object_iterator
        type: typename BasicJsonType::object_t::iterator
      - name: array_iterator
        type: typename BasicJsonType::array_t::iterator
      - name: primitive_iterator
        type: primitive_iterator_t
      item_type: struct
      name: internal_iterator
      pos:
        line_end: 12855
        line_start: 12847
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: json_default_base
      pos:
        line_end: 13787
        line_start: 13787
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: write_character(CharType c)
        type: void
      - name: write_characters(const CharType* s, std::size_t length)
        type: void
      item_type: struct
      name: output_adapter_protocol
      pos:
        line_end: 14954
        line_start: 14943
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: kPrecision
        type: int
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      item_type: struct
      name: diyfp
      pos:
        line_end: 17079
        line_start: 16963
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: w
        type: diyfp
      - name: minus
        type: diyfp
      - name: plus
        type: diyfp
      item_type: struct
      name: boundaries
      pos:
        line_end: 17086
        line_start: 17081
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      - name: k
        type: int
      item_type: struct
      name: cached_power
      pos:
        line_end: 17225
        line_start: 17220
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: kPrecision
        type: int
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      item_type: struct
      name: diyfp
      pos:
        line_end: 17079
        line_start: 16963
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: w
        type: diyfp
      - name: minus
        type: diyfp
      - name: plus
        type: diyfp
      item_type: struct
      name: boundaries
      pos:
        line_end: 17086
        line_start: 17081
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: f
        type: std::uint64_t
      - name: e
        type: int
      - name: k
        type: int
      item_type: struct
      name: cached_power
      pos:
        line_end: 17225
        line_start: 17220
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields:
      - name: m_type
        type: value_t
      - name: m_value
        type: json_value
      item_type: struct
      name: data
      pos:
        line_end: 23519
        line_start: 23490
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    - fields: []
      item_type: struct
      name: less< ::nlohmann::detail::value_t>
      pos:
        line_end: 24528
        line_start: 24513
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
    typedefs: []
    union:
    - fields:
      - name: '* object'
        type: object_t
      - name: '* array'
        type: array_t
      - name: '* string'
        type: string_t
      - name: '* binary'
        type: binary_t
      - name: boolean
        type: boolean_t
      - name: number_integer
        type: number_integer_t
      - name: number_unsigned
        type: number_unsigned_t
      - name: number_float
        type: number_float_t
      item_type: union
      name: json_value
      pos:
        line_end: 19962
        line_start: 19724
        source_file: /src/PcapPlusPlus/3rdParty/json/include/json.hpp
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/hash-library/md5.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MD5::MD5
  - MD5::reset
  - f1
  - f2
  - f3
  - f4
  - rotate
  - swap
  - f1
  - f2
  - f3
  - f4
  - rotate
  - swap
  - MD5::processBlock
  - HASH_LIB_LITTLEENDIAN
  - HASH_LIB_LITTLEENDIAN
  - MD5::add
  - MD5::processBuffer
  - MD5::getHash
  - MD5::getHash
  - MD5::operator()(const void* data, size_t numBytes)
  - MD5::operator()(const std::string& text)
  source_file: /src/PcapPlusPlus/3rdParty/hash-library/md5.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MemPlumber::start
  - MemPlumber::stop
  - MemPlumber::stopAndFreeAllMemory
  - MemPlumber::memLeakCheck
  - MemPlumber::staticMemCheck
  - MEMPLUMBER_MAIN
  source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber-internals.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MEMPLUMBER_HASH
  - MemPlumberInternal::MemPlumberInternal
  - MemPlumberInternal::openFile
  - MemPlumberInternal::closeFile
  - MemPlumberInternal::isVerbose
  - '& getInstance()'
  - MemPlumberInternal::allocateMemory
  - MemPlumberInternal::freeMemory
  - MemPlumberInternal::programStarted
  - MemPlumberInternal::start
  - MemPlumberInternal::stop
  - MemPlumberInternal::checkLeaks
  - MemPlumberInternal::staticMemAllocation
  - MemPlumberInternal::freeAllMemory
  - getCaller
  - getCaller
  - '* operator new(std::size_t size, const char* file, int line)'
  - '* operator new[](std::size_t size, const char* file, int line)'
  - '* operator new[](size_t size)'
  - '* operator new(size_t size)'
  - '* operator new(size_t size, const std::nothrow_t&)'
  - '* operator new[](size_t size, const std::nothrow_t&)'
  - operator delete(void* pointer, const char* file, int line)
  - operator delete(void* pointer) throw()
  - operator delete(void* pointer, std::size_t size)
  - operator delete[](void* pointer)
  - operator delete[](void* pointer, std::size_t size)
  - operator delete[](void* pointer, const char* file, int line)
  - operator delete(void* pointer, const std::nothrow_t&) throw()
  - operator delete[](void* pointer, const std::nothrow_t&) throw()
  - __mem_leak_check
  - __static_mem_check
  - __start
  - __stop
  - __stop_and_free_all_mem
  - __program_started
  source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MEMPLUMBER_FILENAME_LEN
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
      type_or_value: '100'
    - item_type: preproc_def
      name: MEMPLUMBER_HASHTABLE_SIZE
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
      type_or_value: '16384'
    - item_type: preproc_def
      name: _NOEXCEPT
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
      type_or_value: noexcept
    structs:
    - fields:
      - name: '* next'
        type: new_ptr_list_t
      - name: file[MEMPLUMBER_FILENAME_LEN]
        type: char
      - name: line
        type: int
      - name: size
        type: size_t
      item_type: struct
      name: new_ptr_list_t
      pos:
        line_end: 35
        line_start: 30
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/memplumber.cpp
    typedefs: []
    union: []
- function_names:
  - app_main
  - main
  source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/static-example.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/basic-example.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Examples/dump-to-file-example.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TestClass2::TestClass2
  - ~TestClass2()
  - countLinesInFile
  - TEST_CASE
  - TEST_CASE
  - TEST_CASE
  - TEST_CASE
  - TEST_CASE
  - MAIN
  source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAIN
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp
      type_or_value: tests_main
    - item_type: preproc_def
      name: MAIN
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/basic-tests.cpp
      type_or_value: main
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_CASE
  - MAIN
  source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAIN
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp
      type_or_value: tests_main
    - item_type: preproc_def
      name: MAIN
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/inner-lib-tests.cpp
      type_or_value: main
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_CASE
  - TEST_ASSERT_EQUAL
  - RUN_TEST
  - SKIP_TEST
  - START_TEST_DUMP_TO_FILE
  - CHECK_MEM_LEAK
  source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: START_RUNNING_TESTS
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
      type_or_value: bool allTestsPassed = true
    - item_type: preproc_def
      name: END_RUNNING_TESTS
      pos:
        line_end: 37
        line_start: 26
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
      type_or_value: "if (allTestsPassed) \\\n    { \\\n        printf(\"ALL TESTS
        PASSED!!\\n\\n\\n\"); \\\n        return 0; \\\n    } \\\n    else \\\n    {
        \\\n        printf(\"NOT ALL TESTS PASSED!!\\n\\n\\n\"); \\\n        return
        1; \\\n    }"
    - item_type: preproc_def
      name: TEST_VERBOSE_INNER
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
      type_or_value: 'true'
    - item_type: preproc_def
      name: TEST_VERBOSE_INNER
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
      type_or_value: 'false'
    - item_type: preproc_def
      name: MEM_CHECK_VERBOSE_INNER
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
      type_or_value: 'true'
    - item_type: preproc_def
      name: MEM_CHECK_VERBOSE_INNER
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
      type_or_value: 'false'
    - item_type: preproc_def
      name: START_TEST
      pos:
        line_end: 56
        line_start: 52
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
      type_or_value: "size_t memLeakCount; \\\n    uint64_t memLeakSize; \\\n    MemPlumber::start(TEST_VERBOSE_INNER)"
    - item_type: preproc_def
      name: STOP_TEST
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-macros.h
      type_or_value: MemPlumber::stopAndFreeAllMemory()
    structs: []
    typedefs: []
    union: []
- function_names:
  - SimpleClass::SimpleClass
  - InheritedClass::InheritedClass
  - ~InheritedClass()
  - ClassWithMemAllocations::ClassWithMemAllocations
  - ~ClassWithMemAllocations()
  - ComplexClass::ComplexClass
  - ~ComplexClass()
  - TEST_CASE
  - TEST_CASE
  - MAIN
  source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUM_OF_OBJECTS
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
      type_or_value: '10000'
    - item_type: preproc_def
      name: MAIN
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
      type_or_value: tests_main
    - item_type: preproc_def
      name: MAIN
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
      type_or_value: main
    structs:
    - fields:
      - name: x
        type: int
      - name: y
        type: int
      item_type: struct
      name: SimpleStruct
      pos:
        line_end: 9
        line_start: 6
        source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/load-tests.cpp
    typedefs: []
    union: []
- function_names:
  - StaticVarsTestClass::StaticVarsTestClass
  - ~StaticVarsTestClass()
  - StaticVarsTestClass::getStaticVar
  - countLinesInFile
  - TEST_CASE
  - TEST_CASE
  - tests_main
  - main
  source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/static-var-tests.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-lib/test-lib.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LibInternalClass::LibInternalClass
  - ~LibInternalClass()
  - LibClass::LibClass
  - LibClass::~LibClass()
  - LibClass::doSomething
  - LibClass::getSizeOfInternalClass
  source_file: /src/PcapPlusPlus/3rdParty/MemPlumber/MemPlumber/Tests/test-lib/test-lib.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
